基于YOLOv3剪枝网络和深度学习去雾模型的长输管线巡检方法与流程

文档序号:21643664发布日期:2020-07-29 02:56阅读:648来源:国知局
基于YOLOv3剪枝网络和深度学习去雾模型的长输管线巡检方法与流程

本发明属于一种基于深度学习的图像处理技术,具体涉及基于yolov3剪枝网络和深度学习去雾模型的长输管线巡检方法。



背景技术:

管道运输作为我国继公路、铁路、海运、空运之后的又一大运输方式,在国家经济建设中发挥着重要作用。长输管线在传输过程中不可避免的会跨越复杂的自然地理环境,经常因气候和自然灾害的影响导致管道不同程度损坏进而发生管道泄漏事故,严重情况甚至威胁人民生命财产安全。因此对长输管线快速高效的故障检测是管道巡检工作的重要程序之一。从近年各单位的研究、应用情况来看,长输管线无人机巡检作业仍然存在以下突出问题:

(1)天气和地理位置原因导致获取图像质量差

雾霾恶劣天气会导致图像质量严重下降、弱化图像特征提取、对后续无人机航拍目标检测精度造成不良影响,被观测物体的反射光在到达相机或监控设备前产生衰减,导致无人机获取的户外图像质量低下,最终造成任务目标判别效率低、识别准确率大打折扣。

(2)人工成本高且效率低

无人机在巡检过程中拍摄的大量图像视频资料,当前还需要工作人员用肉眼去判断长输管线状态是否正常,有没有发生故障。这种缺乏智能化辅助手段检测方式,不只是费时费力效率低,并且人工检测随着工作人员的精力的下降还有可能出现漏检、误检等情况。

(3)检测实时性差

无人机巡检采集的大量图像数据的分析多属于后台进行离线处理,无法进行在线初步诊断,实时性很差,导致对故障处理时间拖长,并不能有效地保证长输管线线路的安全运输。

(4)深度学习模型移动设备部署受限制

深度学习网络模型由于其巨大的计算量、计算复杂度或是大量的网络参数冗余,因平台计算资源和存储空间有限,在一些场景和移动设备上的部署受到了限制,因此在无人机嵌入式模块中部署深度学习模型成为时下亟待解决的问题。



技术实现要素:

本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种深度学习去雾算法与yolov3通道剪枝算法相结合的网络长输管线巡检方法,在保证采集图像清晰的情况下,并且可以对预定巡检任务进行实时准确的在线检测。

本发明解决其技术问题所采用的技术方案为:基于yolov3剪枝网络和深度学习去雾模型的长输管线巡检方法,其特征在于:包括如下步骤:

步骤一:构建并训练aod-net去雾网络模型;

步骤二:设计yolov3主干网络及损失函数;

步骤三:通过无人机巡检方式对目标区域进行图像数据采集并进行训练;

步骤四:通过基于bn层缩放因子γ剪枝方法对yolov3模型压缩和加速推算;

步骤五:将aod-net及yolov3联合模型部署到无人机嵌入式模块进行目标任务检测;

步骤六:将无人机长输管线巡检任务检测结果实时回传至后台系统。

所述步骤一具体步骤如下:

2.1)对经典大气光散射模型做式子变换生成去雾目标公式和k估计模块;

2.2)构建从i(x)到k(x)映射的cnn网络,设定5个卷积层,通过concat操作进行张量拼接生成多尺度特征,cnn网络的连接层concat1连接第一层和第二层卷积层(conv1和conv2)输出特征,连接层concat2连接第二层和第三层卷积层(conv2和conv3)输出特征,连接层concat3连接第一、二、三、四层卷积层(conv1、conv2、conv3、conv4)输出特征,激活函数选择relu,损失函数采用简单均方误差函数mse,将此cnn网络模块称为aod-net模型的k估计模块;

2.3)根据步骤2.1)中大气光散射模型创建合成有雾图像,设置不同的大气光值a均匀选择所有图像的rgb通道,设定不同大气光散射系数值,取出上述生成的合成有雾图像不少于10000做训练集,不少于2000张做为测试集,在middlebury立体数据集中取出不少于600张合成图像作为测试集,并用自然有雾的图像来对模型进行评估;

2.4)输入图像数据训练k估计模块;

2.5)通过训练生成的k(x)获得去雾清晰图像。

所述步骤二具体步骤如下:

3.1)yolov3主干网络设计;

3.11)借鉴深度残差网络跳层连接结构设计yolov3,为了降低池化带来的梯度负面影响,卷积层的下采样操作均通过设定stride参数实现。在除最后三层用于预测的卷积层之外,其余卷积层后均接batchnormalization(简称bn)操作,并在bn层之后引入leakyrelu函数做为激活函数,借鉴特征金字塔网络模型结构,通过upsample操作对网络中的特征进行融合,最终输出可以对检测目标跨不少于3个尺度进行预测;

3.12)用k-means++算法在coco数据集上根据所述输出检测尺度进行边界框聚类,聚类生成的簇数为检测尺度数3~4倍,以确定预设anchorbox大小,分别对应输出特征尺寸大小;

3.13)在网络前向推断中由公式:

bx=σ(tx)+cx

by=σ(ty)+cy

进行目标边框的预测,最终得到预测边框在输出映射特征的相对中心坐标值bx、by,和中心坐标到边框宽和高的距离大小bw与bh,其中cx和cy是网络输出映射特征的gridcell左上角坐标,pw和ph是预设的anchorbox映射到输出特征中的宽和高,tx和ty是预测的坐标偏移值,tw和th是尺度缩放倍数;

3.2)设计yolov3损失函数;

3.21)设计目标置信度损失函数;

3.22)设计目标类别损失函数;

3.23)设计目标定位损失函数;

3.24)通过平衡系数得到最终的总损失函数;

所述步骤三具体步骤如下:

4.1)对采集到的目标图像样本进行预处理,建立长输管线巡检任务目标数据库;

4.2)用labelimg软件对图像中的检测对象进行以框的形式手动标注,生成xml文件,xml文件中包含labelimg手动标注的目标框的对应坐标值信息,以及每个框对应的标签信息;

4.4)将标注好的图像数据输入模型进行训练;

所述步骤四具体步骤如下:

5.1)采用基于bn层缩放因子γ的通道式(channel-level)剪枝的方式对模型进行压缩;

5.2)将训练好的yolov3网络模型进行稀疏化训练,稀疏率设定为0.001,最终得到其稀疏化模型权重参数;

5.3)将bn层的缩放因子γ与卷积层通道缩放因子相结合,引入缩放因子和稀疏化惩罚项,构造剪枝目标损失函数如下:

上式x和y是训练输入和目标值,w是网络中可训练参数,第一项是yolov3网络模型的训练损失函数,γ是平衡因子项,g(γ)是在缩放因子γ上的惩罚函数,通过上述目标函数对稀疏化后的yolov3模型对应的缩放因子γ较小的映射输出通道进行剪枝;

5.4)为了恢复剪枝后模型的准确度,将剪枝后的模型再度训练以对其进行fine-tune从而可以达到或超过原始模型检测精度,重复步骤5.2)、5.3)和5.4)数次,最终得到一个几乎不失去精度的低权重参数量、运行占用存储空间小、所需计算资源少的紧凑轻量型深度学习网络。

本发明的有益效果是:

(1)本发明针对长输管线在雾霾恶劣天气场景设计一种图像去雾网络模型,将该模型应用于无人机航拍获取清晰图像以提高后续目标检测任务精度;

(2)本发明构建一种适应无人机长输管线巡检场景的yolov3深度学习目标检测网络结构,通过图像增强的方法建立长输管线巡检任务图像数据库,提高效率,减少人工成本;

(3)针对无人机检测实时性设计一种基于深度网络bn层缩放因子的模型通道剪枝方法,生成轻量型推算加速yolov3网络模型,实现对管线巡检目标端到端快速检测,提高检测的实时性。

附图说明

图1为一种深度学习去雾模型和yolov3通道剪枝网络长输管线巡检方法框图;

图2为aod-net的k估计深度学习模块网络结构图;

图3为aod-net网络模型去雾整体流程框图;

图4为yolov3网络架构图;

图5为yolov3骨干网络bn层γ因子通道剪枝过程图;

图6为yolov3网络压缩阶段性训练方案图;

具体实施方式

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳的实施例,对依据本发明申请的具体实施方式、结构、特征及其功效,详细说明如下。

实施例一

如图1所示,本发明是一种基于深度学习去雾算法和yolov3通道剪枝网络的长输管线巡检方法,由aod-net模型对雾天场景无人机航拍图像进行去雾处理获得高质量清晰图像,送入yolov3通道剪枝后计算加速的压缩模型,有利于提在提高检测精度的同时做到实时检测,具体实施步骤如下:

s1:构建并训练aod-net去雾网络模型用于图像去雾除霾,如图3所示;

s101:对经典大气光散射模型做式子变换,大气光散射物理模型为:

i(x)=j(x)t(x)+a(1-t(x))

其中,i(x)表示雾霾图像,j(x)是场景辐射,即为待恢复的清晰图像,a代表大气光值,t(x)为传输矩阵,其中t(x)为:

t(x)=e-βd(x)

β是大气光散射系数,d(x)是物体和相机的间距,即为图像深度。

现有方法是用经验估计参数a以及通过i(x)来估计传输矩阵t(x),两个参数分开求得的,无法直接最小化图像重建误差。本发明将参数a和t(x)合并为一个式子,直接最小化像素域重建误差,变换后的公式为:

j(x)=k(x)i(x)-k(x)+b

其中k(x)为:

s102:构建从i(x)到k(x)估计映射的cnn网络,网络结构卷积层数设定为5个,通过张量拼接生成多尺度特征,cnn网络的concat1连接层连接第一层和第二层卷积层(conv1和conv2)输出特征,同样的concat2连接层连接第二层和第三层卷积层(conv2和conv3)输出特征,concat3连接层连接第一、二、三、四层卷积层(conv1、conv2、conv3、conv4)输出特征,损失函数采用简单均方误差函数mse,激活函数选择relu,函数将此cnn网络模块称为aod-net模型的k估计模块,如图2所示;

s103:通过步骤s101中大气光散射模型创建合成有雾图像,采用nyu2深度数据库的深度元数据的地面实况图像,设置不同的大气光值,a取值范围区间为0.5~2.0之间,这里选择区间为[0.5,1.0]并且均匀的选择每个图像rgb通道,大气光散射系数值设定为β∈{0.4,0.6,0.8,1.0,1.2,1.4,1.6},随机并且不重复取出不少于10000张图像做训练集,不少于2000张做测试集,在middlebury立体数据集中取出不少于600张合成图像作为测试集,用自然有雾的图像来对模型进行评估;

s104:输入图像数据训练k估计深度学习模块;

s105:将训练生成的k(x)输入步骤s101中变换后的模型:

j(x)=k(x)i(x)-k(x)+b

获得去雾清晰图像;

s2:yolov3主干网络设计,如图4所示;

s201:在深度学习的研究中,理论上随着网络的加深,模型最终得到的效果就越好,准确率越高,但实验结果表明,网络层数的增加会导致网络出现退化问题,使得网络收敛变得更慢、识别准确度降低。为解决这个问题并减轻训练难度,yolov3主干网络借鉴深度残差网络跳层连接结构,网络层数设定均为卷积层。为了降低池化带来的梯度负面影响,卷积层的下采样操作均通过设定卷积函数中的stride参数进行实现,stride值大小设置为2。大量实验表明,在深度学习模型网络内部存在internalcovariateshift问题,由此为了在网络训练中使得每一层神经网络的输入保持相同分布,在除最后三层用于预测的卷积层之外,其余卷积层后均进行batchnormalization(简称bn)操作,作为正则化、加速网络收敛以及避免过拟合的方法,并在每个bn层后引入leakyrelu函数做为激活函数,共同构成网络最小组件。由于检测目标随拍摄视角和远近不同而大小不一,为加强算法对小目标的检测精度,因此yolov3借鉴特征金字塔网络fpn(featurepyramidnetwork)模型结构,通过upsample操作对特征进行融合,根据无人机现场实际航拍情况最终输出可以对检测目标跨不少于3个尺度地进行预测,本发明方法中尺寸为13×13的输出特征感受野最大,可以检测大目标,52×52的输出特征感受野最小,可以检测小目标;

s202:用k-means++算法在coco数据集上根据步骤s201所述输出检测尺度进行边界框聚类,聚类生成簇数为步骤s201检测尺度数3~4倍,这里设为9个簇,即确定预设先验框(anchorbox)大小,分别对应于输出特征的尺寸大小;

s203:在网络前向推断中通过公式:

bx=σ(tx)+cx

by=σ(ty)+cy

进行目标边框的预测,最终得到预测边框在输出映射特征的相对中心坐标值bx、by,和中心坐标到边框宽和高的距离大小bw与bh,其中cx和cy是网络输出映射特征的gridcell左上角坐标,pw和ph是预设的anchorbox映射到输出特征中的宽和高,tx和ty是预测的坐标偏移值,tw和th是尺度缩放倍数;

s3:设计yolov3损失函数;

s301:为预测目标矩形框内存在目标的概率,目标置信度损失采用的是二值交叉熵损失函数,设计目标置信度损失函数如下:

其中预测值ci通过sigmoid函数得到

s302:目标类别损失函数同样采用二值交叉熵,设计目标类别损失函数如下:

其中表示网络预测目标边界框i内存在第j类目标的sigmoid概率,是由预测值cij通过sigmoid函数得出;

s303:目标定位损失函数lloc(l,g)采用真实偏差值与预测偏差值差的平方和,如下:

其中:

以上式子中表示预测矩形框坐标偏移量(因为网络预测的是偏移量,不是直接预测坐标),表示与之匹配的groundtruth与默认框之间的坐标偏移量,(bx、by、bw、bh)为预测的目标矩形框参数,(cx、cy、pw、ph)为默认矩形框参数,(gx、gy、gw、gh)为与之匹配的真实目标矩形框参数;

s304:将上述损失函数通过与平衡系数求积再相加得到最终的总损失函数:

l(o,o,c,c,l,g)=λconflconf(o,c)+λclalcla(o,c)+λloclloc(l,g);

s4:通过无人机巡检方式对目标区域进行图像数据采集,采集时需要无人机从不同的角度、不同光照、不同天气以及不同的地方进行,采集目标包括输油管道泄漏区域、第三方施工活动(公路铁路新建扩建、机械挖掘挖沙、爆破活动及定向钻等人工作业场景)和地质灾害(山体滑坡、地面沉降以及冲刷)以及里程桩、转角桩、标志桩等;

s401:对采集到的目标图像样本进行预处理,通过图像翻转、旋转、拉伸、裁剪以及图像明暗度变化来对数据集增广,建立长输管线巡检任务目标数据库;

s402:用labelimg软件对图像中的检测对象进行以框的形式手动标注,生成xml文件,xml文件中包含labelimg手动标注的目标框的对应坐标值信息,以及每个框对应的标签信息;

s5:将步骤s402标注好的图像数据输入模型进行正常训练,根据各自服务器计算资源配置情况将learning_rate设置在0.0001~0.001之间,这里设定为0.001,momentum值设置在0.8~0.9之间,本发明设定为0.9,batch值设置为20~28之间,本发明设定为64,迭代次数设定为不少于40000次;

s6:对步骤s5训练好的yolov3网络模型进行网络压缩,如图5、6所示;

s601:网络在细粒度的稀疏化(weight-level)上有较高的灵活性,压缩效果较好,但通常需要在特殊定制的软硬件加速器才能完成计算推理,粗粒度的稀疏化(layer-level)不需要特殊的软硬件加速器即可完成计算,但缺乏灵活性。由此本发明在灵活性和实现可行性之间做一个平衡,采用基于bn层缩放因子γ的通道式(channel-level)剪枝的方式对模型进行压缩;

s602:将步骤s5训练好的yolov3网络模型进行稀疏化训练,稀疏率设定为0.001,最终得到一个稀疏化模型权重参数;

s603:将bn层的缩放因子γ与卷积层通道缩放因子相结合,引入缩放因子和稀疏化惩罚项,构造剪枝目标函数如下:

上式x和y是训练输入和目标值,w是网络中可训练参数,第一项是yolov3网络模型的训练损失函数,λ是平衡因子项,g(γ)是在缩放因子γ上的惩罚函数。

通过上述目标函数对稀疏化后的yolov3模型对应的缩放因子γ较小的映射输出通道进行剪枝,剪枝率设定为0.8到0.9之间,剪枝策略剪掉某一通道的同时减去与此通道的输入和输出连接关系,通过对比多次实验的结果以获得较窄的剪枝网络模型。

s604:为了恢复剪枝后模型的准确度,将剪枝后的模型再度训练以对其进行fine-tune从而可以达到或超过原始模型精度,重复步骤s602、s603和s604数次,最终得到一个几乎不失去精度的低权重参数量、运行占用存储空间小、所需计算资源少的紧凑轻量型深度学习网络;

s7:将步骤s1训练好的aod-net去雾模型与上述通道剪枝完成的yolov3进行管道嵌入联合,进而生成去雾型加速轻量级yolov3长输管线巡检模型,能够在雾霾恶劣天气条件下提高任务目标实时检测识别率;

s8:将步骤s7生成的目标检测模型部署到无人机上的嵌入式模块,直接在前端将任务目标识别结果传输给后台系统,能够有效提高无人机巡检效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1