一种基于YOLOv3的管道第三方破坏智能识别方法

文档序号:28966143发布日期:2022-02-19 14:23阅读:169来源:国知局
一种基于YOLOv3的管道第三方破坏智能识别方法
一种基于yolov3的管道第三方破坏智能识别方法
技术领域
1.本发明属于深度学习图像智能检测领域,尤其涉及一种基于yolov3的管道第三方破坏智能识别方法。


背景技术:

2.预计到2025年,全国管网规模将达到24万公里,未来10年,我国将会迎来管道事业的高峰。伴随着管道敷设里程加长、范围扩大,管道安全问题也受到了广泛地关注。导致管道失效的因素有很多,而长期以来第三方破坏是最为关注的。因为受到道路建设、市政建设、违章开挖、野蛮施工、违章占压、人为打孔盗气(油)、自然环境影响等诸多因素的共同作用下,使得管道第三方破坏具有随机性强、不以预测和难以检测的特点。因此,如何利用现有技术手段,针对管道第三方破坏提出一种行之有效检测方法具有重大意义。
3.随着计算机技术的发展,目标检测被广泛应用于人脸识别、车辆检测、损伤检测等各个领域,特别是随着深度卷积神经网络在图像识别领域的深入研究,以yolo算法为代表的的实时目标检测模型在工业智能化方面具备实际应用经验。yolov3是通过其主干特征提取网络darknet-53进行特征提取,其优势在于主干边完成卷积、激活函数、标准化处理,还融入了最早出现在resnet50中的残差网络,其意义在于使得模型更容易收敛和训练,为模型更新提供了便利条件。但针对管道第三方破坏识别,其难度在于识别场景复杂多样,一个模型无法有效将检测对象与多种背景有效区分开来,可能造成漏检和误检。因此加入了注意力机制,即给输入不同部分分配不同的权重,就能将检测对象重点突出出来,这个概念已被应用于视觉识别和分类领域。在管道第三方破坏智能识别问题中,关注的是有被遮挡的挖掘机和驾驶挖掘机的人。


技术实现要素:

4.发明目的:本发明的目的是为解决在管道运行过程中由于无法实时检测数据,由第三方破坏导致的管道失效,并基于yolov3算法提出一种管道第三方破坏智能识别方法。具体包括以下步骤:
5.步骤1、对埋地管道第三方破坏进行分析,确定目标检测对象;
6.步骤2、对步骤1所确定的目标检测对象,收集图像数据,并进行数据增强,得到样本数据集;对样本数据集进行分类,分为训练集、验证集、测试集;
7.步骤3、构建管道第三方破坏检测模型;
8.步骤4、将训练集输入步骤3构建的模型中,训练结束后得到权重参数;
9.步骤5、测试步骤3构建模型的性能,得到查全率recall、查准率precision;
10.步骤6、对管道进行风险预警;
11.步骤7、实时检测并更新管道第三方破坏检测模型。
12.步骤1包括:
13.查阅国内外管道第三方破坏相关文献,列举出最具代表性的产生原因,尤其在施
工过程中对管道造成损伤的几率大大增加了,因此本发明将目标检测对象确定为挖掘机、卡车、汽车、人这四个典型对象。
14.步骤2包括:
15.步骤2.1、对步骤1确定的四种目标检测对象收集图像数据,为简便数据集的制作,以coco数据集为基础,其本身数据集内就包含了大量的人、汽车、卡车等图像数据,只要再添加从网络上搜集到的挖掘机相关图像数据进行数据集的扩充即可。为模拟实际施工环境下挖掘机的工作状态,搜集不同型号的挖掘机图像数据,以及工作状态下不同视角、不同形态的图像,除了静态图片外还可以对视频进行逐帧截图,更好反映挖掘机的工作姿态。并且为了能更加真实还原现场采集情况,可通过改变图像明暗以及增加噪声的手段,以此获取照明不良条件下以及天气情况不佳时的图像数据,最终得到初始样本数据集;
16.步骤2.2、对步骤2.1得到的初始样本数据集进行扩充数据集,使用平移、旋转、翻转、对比增强的方式,最终得到样本数据集;
17.步骤2.3、对步骤2.2得到的样本数据集进行标注,框选出图像中需要识别的检测目标,并给目标命名为excavator、truck、car、person四种类别,excavator、truck、car、person四种类别分别对应挖掘机、卡车、汽车、人;
18.每张图像都对应生成各自与图像样本相同命名的.xml文件,.xml文件中包括图像名称、图像存储位置、图像尺寸大小、图像通道数、框选待检测目标名称、矩形框左上角点的横坐标、纵坐标以及矩形框右下角点的横坐标、纵坐标;
19.步骤2.4、对.xml文件进行归一化处理,按照voc2007标准数据集的格式并以txt文档的形式进行保存,将样本数据集按照比例划分训练集和测试集,再将训练集按照比例划分用于训练和验证。
20.步骤3包括:
21.步骤3.1、管道第三方破坏检测模型是由5个残差单元进行堆叠构成的,而其中每个残差单元包含两个分支:主干分支和注意力分支;
22.所述主干分支用于对图像进行特征提取,生成与原始图像尺寸相同的特征图;
23.所述注意力分支代替原有残差边,通过下采样层,提取高层特征并增大模型的感受野,下采样通过池化完成,再通过与下采样层层数相同的上采样层,将特征图的尺寸放大为与原始图像尺寸相同的特征图,上采样通过双线性插值完成,最终生成注意力掩码;
24.步骤3.2、将原始图像x(这里是对特征提取方法进行简述,训练时输入的是训练集,测试时输入的是测试集,预测时输入的则是目标检测数据)输入残差单元,主干分支输出提取到的特征图为t(x),注意力分支输出注意力掩码m(x);
25.步骤3.3、在残差单元中加入恒等映射,则残差单元输出的特征图h(x)如下式:
26.h(x)=(1+m(x))*t(x)
27.式中,m(x)的取值范围为[0,1],当m(x)近似于0时,h(x)将近似于原始特征图t(x),主干分支输出提取到的特征图t(x)与注意力分支输出注意力掩码m(x)进行融合时,主干分支输出提取到的特征图t(x)与注意力分支输出注意力掩码m(x)进行对应像素点的之间相乘,将注意力分支输出注意力掩码m(x)的权重分配到主干分支输出提取到的特征图t(x)上。
[0028]
步骤4包括:
[0029]
步骤4.1、使用k-means聚类算法重新设置样本数据集的聚类中心anchor box,在所有的矩形框中,随机挑选n个聚类中心;
[0030]
步骤4.2、采用n个anchor box与所有真实目标边框的面积交并比iou作为评价指标,计算真实目标边框与n个anchor box的距离d(i,j),将矩形框分类到距离d(i,j)最小的anchor box中;
[0031]
面积交并比iou的表达式如下式:
[0032][0033]
式中,表示预测框与真实目标边框的面积交并比,area表示真实框和预测框所围成的面积,box
pred
表示预测框,box
truth
表示真实目标边框;
[0034]
真实目标边框与聚类中心anchor box的距离d(i,j)的表达式如下式:
[0035]
d(i,j)==1-iou(i,j)
[0036]
式中,iou(i,j)为anchor box与真实目标边框的面积交并比;
[0037]
步骤4.3、所有矩形框经过遍历,完成分类之后,计算每个聚类中心中所有矩形框宽和高的中值,将矩形框宽和高的中值作为聚类中心anchor box的新尺寸;
[0038]
步骤4.4、重复步骤4.2、步骤4.3,直到损失函数值达到提前终止训练的条件或达到最大迭代次数后停止训练,得到最终训练模型,损失函数loss(object)如下所示:
[0039][0040]
其中,object表示目标检测对象,上述损失函数中,原损失函数中的定位损失,包括预测框中心点损失和边框损失,替换为定位损失giou损失(包括了预测框中心点损失和边框损失),置信度损失和类别损失不变;λ
noobj
为不包含识别目标时的置信度误差系数,s*s为将输入图像划分的网格数量,b为每个网格预测的目标边框数量,表示第j个候选框所在的第i个网格负责检测该对象(该对象指候选框内检测到的所要识别的对象,挖掘机、卡车、汽车、人中的一种),wi表示的是第i个网格的宽,hi表示的是第i个网格的高,表示第j个候选框所在的第i个网格不负责检测该对象,ci和分别表示第i个网格中存在待检测目标的预测置信度和真实置信度,pi和分别表示第i个网格中目标识别属于一个类别的预测概率值和真实概率值,c表示目标检测对象挖掘机、卡车、汽车、人中的一种。
[0041]
步骤5包括:
[0042]
将测试集输入训练好的管道第三方破坏检测模型,测试模型性能,得到查全率recall、查准率precision,查全率recall表示在所有的真实目标中被模型检测出的真实目
标所占比例,查准率precision表示模型检测出的目标中的真实目标所占比例;查全率recall、查准率precision的计算公式分别如下式所示:
[0043][0044][0045]
式中,tp表示将正样本正确分类为正样本的样本数,fn表示将正样本错误分类为负样本的样本数,fp表示将负样本错误分类为正样本的样本数,正样本为属于目标类别的样本框,负样本为不属于目标类别的样本框。
[0046]
步骤6包括:
[0047]
步骤6.1、通过有限元分析软件,确定危险管段的失效损伤模式,进行弱点定位;
[0048]
步骤6.2、根据现场管段实际情况,排布传感器,将采集到的数据与图像资料整合在现场数据采集模块中,上传至云平台并加以分析,将分析结果显示在总控制台上,对危险管道实时进行风险预警。
[0049]
步骤7具体包括:
[0050]
步骤7.1、云平台有一个初始的管道第三方破坏检测模型,根据各管段实际情况的不同,以及实时上传的图像信息,针对每一个重点管段进行模型更新,具体表现为将管道现场监测得到的图像数据进行收集,上传检测到挖掘机等危险源的图像至云平台,将获取的新图像自动生成.xml文件,并添加进原有训练集中,等待云平台的定期完成训练,更新并优化检测模型;
[0051]
步骤7.2、云平台存储有各管段的基本信息(包括管道所在位置、设计压力、使用压力、管道材质、在役期间检测维修情况、投入使用年限等),结合上传得到的管道实时检测数据,对管道进行第三方破坏的智能检测。
[0052]
有益效果:本发明建立了一种基于yolov3的管道第三方智能识别方法,该方法基于yolov3目标检测算法引入了attention注意力机制,能够实时、快速识别管道第三方破坏形式,还能通过监测过程中的图像数据不断自主优化检测模型,大大提高了对应管段第三方破坏行为的识别速度与精度,结合传统监测手段可实现管道的远程监测与风险预警,对智慧管道的建设具有重大意义。
附图说明
[0053]
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0054]
图1为本发明所述管道第三方破坏检测模型建立与更新流程图;
[0055]
图2为本发明所述管道第三方破坏成因及后果分析示意图;
[0056]
图3为本发明yolov3主干特征提取网络darknet53整体结构示意图;
[0057]
图4为本发明所引入的注意力模块(cbam)结构示意图;
[0058]
图5为本发明的测试结果示意图;
[0059]
图6为本发明的一个实例管道第三方破坏识别结果示意图。
具体实施方式
[0060]
下面结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0061]
实施例1
[0062]
基于yolov3的管道第三方破坏智能识别方法,其流程图如图1所示,包括以下步骤:
[0063]
步骤1、对埋地管道第三方破坏进行分析,确定目标检测对象;
[0064]
步骤2、数据收集及预处理:
[0065]
对步骤1所确定的检测对象进行数据收集,并进行数据增强;
[0066]
对增强后的数据进行人工标注得到样本数据集;
[0067]
对样本数据集进行分类,分为训练集、验证集、测试集;
[0068]
步骤3、构建管道第三方破坏检测模型:
[0069]
在yolov3主干特征提取网络darknet-53的残差连接中加入attention机制,使得具有注意力的权重加权到输出特征图;
[0070]
步骤4、训练:
[0071]
将步骤2建立的训练集输入步骤3构建的模型中,训练结束后得到权重参数;
[0072]
步骤5、测试:
[0073]
加载步骤4得到的权重参数,在测试集上测试步骤3构建模型的性能,得到查全率recall、查准率precision;
[0074]
步骤6、现场数据采集模块及云平台部署:
[0075]
基于深度学习的管道第三方破坏智能检测系统包括云平台、数据采集模块及多源数据传感器,云平台向下连接数据采集模块,数据采集模块向下分别连接多源数据传感器;
[0076]
实时检测实际工况下管道周边情况,通过现场的数据采集模块收集由多源数据传感器采集到的数据,并将这些数据上传至云平台加以分析,对管道进行风险预警;
[0077]
步骤7、实时检测并更新训练:
[0078]
实时检测实际工况下管道周边情况,通过现场的数据采集模块收集由多源数据传感器采集到的数据,将异常数据和图像上传至云平台,更新云平台中的样本数据集;
[0079]
在云平台中,利用更新后的样本数据集,周期性的对管道第三方破坏检测模型进行训练,更新管道第三方破坏检测模型的权重参数,并将更新后的模型下发至对应的管道检测现场的控制平台。
[0080]
步骤1内容:
[0081]
分析国内外管道在第三方破坏产生的原因,如图2所示,主要是由于施工破坏和人为恶意损坏造成的,所以将检测对象确定为挖掘机、卡车、汽车、人这四个目标;
[0082]
步骤2包括:
[0083]
步骤2.1、对步骤1确定的四种检测对象收集图像数据,来源主要分为网络搜集、自行拍摄和合作企业提供的静态图像资料,以及管道现场实际施工时影像资料,通过对视频进行分帧处理,提取每一帧的图像,得到挖掘机在工作状态下较为完整的行为动作,整合所获取的图像资料,选取不同光照、不同地区、不同天气环境下数据,得到初始样本数据集;
[0084]
步骤2.2、对步骤2.1得到的初始样本数据集进行处理操作,扩充数据集,使用但不
限于平移、旋转、翻转、对比增强等数据增强方式,最终得到样本数据集;
[0085]
步骤2.3、利用labelimg标注软件对步骤2.2得到的最终样本数据集进行人工标注,人工框选出图像中需要识别的检测目标,并给目标命名为excavator、truck、car、person四种类别(分别对应挖掘机、卡车、汽车、人),每张图像都对应生成各自与图像样本同命名的.xml文件,.xml文件中包括图像名称、图像存储位置、图像尺寸大小、图像通道数、框选待检测目标名称、矩形框左上角点的横纵坐标以及矩形框右下角点的横纵坐标;
[0086]
步骤2.4、对.xml文件进行归一化处理,按照voc2007标准数据集的格式并以txt文档的形式进行保存,然后利用voc_annotation.py程序将样本数据集按照8∶2的比例划分训练集和测试集,再将训练集按照8∶2的比例用于训练和验证。
[0087]
步骤3包括:
[0088]
步骤3.1、所述的管道第三方破坏检测模型是在yolov3中融入了注意力模块,包含两个分支:主干分支和注意力分支;
[0089]
主干分支:yolov3所使用的主干特征提取网络为darknet53,如图3所示,输入的是batch_size(图片尺寸)为416
×
416
×
3(416分别是图片的高和宽,3为图片的通道数,即每个像素点由rgb三种颜色来描述它)的图片,经过一系列的卷积过程,称之为下采样的过程,在这一过程中图片的高和宽不断被压缩,通道数得到不断扩张。由此得到图片的特征层,以此来表示图片的特征。经过对输入图片的特征提取后,取出三个batch_size分别为52
×
52
×
256、26
×
26
×
512、13
×
13
×
1024的特征层,对13
×
13
×
1024的特征层进行5次卷积(conv2d block)的操作得到13
×
13
×
512的特征层,再进行两次卷积(conv2d 3
×
3+conv2d 1
×
1)得到特征层13
×
13
×
75(以voc数据集为例,共有监测目标20个类)最终用于回归预测和分类预测。再将13
×
13
×
512的特征层进行卷积和上采样(conv2d+upsampling2d)得到宽高扩张后的特征层,再将结果与26
×
26
×
512的特征层进行堆叠(concat),这就是构建特征金字塔的过程,这样可进行多尺度特征融合,提取出更有效的特征。按照相同的步骤可以得到另外两个所需要的特征层26
×
26
×
75、52
×
52
×
75。其最大特征就是使用了残差单元(residual block),其效果可以减少参数,使其更容易优化。
[0090]
注意力分支:引入一种轻量化的注意力模块(cbam),如图4所示,卷积块的注意力模块(convolutional block attention moudule)主要包含两个独立的子模块,分别是通道注意力模块channel attention module(cam)和空间注意力模块spatial attention module(sam),将输入层特征(input feature)分别进行通道与空间上的注意力集中得到更加精细的特征(refined feature),这一模块可以添加到所有常规的卷积层中,具体实现过程为:
[0091]
首先通过下采样层,提取高层特征并增大模型的感受野,下采样通过池化完成,再通过与下采样层层数相同的上采样层,将特征图的尺寸放大为与原始图像尺寸相同的特征图,上采样通过双线性插值完成,最终生成注意力掩码。
[0092]
步骤3.2、将原始图像x输入残差单元,主干分支输出提取到的特征图t(x),注意力分支输出注意力掩码m(x),t(x)通过自己的m(x)学习针对其特征的注意力,m(x)相当于t(x)的软权重;
[0093]
步骤3.3、在残差单元中加入恒等映射,则残差单元输出的特征图h(x)如下式:
[0094]
h(x)=(1+m(x))*t(x)
[0095]
式中,m(x)的取值范围为[0,1],当m(x)近似于0时,h(x)将近似于原始特征图t(x),主干分支输出提取到的特征图t(x)与注意力分支输出注意力掩码m(x)进行融合时,主干分支输出提取到的特征图t(x)与注意力分支输出注意力掩码m(x)进行对应像素点的之间相乘,将注意力分支输出注意力掩码m(x)的权重分配到主干分支输出提取到的特征图t(x)上。
[0096]
步骤4包括:
[0097]
步骤4.1、使用k-means聚类算法重新设置样本数据集的anchor box,在所有的矩形框中,随机挑选n个聚类中心,n取9;
[0098]
步骤4.2、采用n个anchor box与所有真实目标边框的面积交并比iou作为评价指标,计算真实目标边框与n个anchor box的距离d(i,j),将该矩形框分类到距离d(i,j)最小的anchor box中;
[0099]
面积交并比iou的表达式如下式:
[0100][0101]
式中,表示预测框与真实目标边框的面积交并比,box
pred
表示预测框,box
truth
表示真实目标边框;
[0102]
真实目标边框与聚类中心anchor box的距离d(i,j)的表达式如下式:
[0103]
d(i,j)==1-iou(i,j)
[0104]
式中,iou(i,j)为anchor box与真实目标边框的面积交并比;
[0105]
步骤4.3、所有矩形框经过遍历,完成分类之后,计算每个聚类中心中所有矩形框宽和高的中值,将该矩形框宽和高的中值作为该聚类中心anchor box的新尺寸;
[0106]
步骤4.4、重复步骤4.2、步骤4.3,直到loss值达到提前终止训练的条件或达到最大迭代次数后停止训练,得到最终训练模型;
[0107]
所述损失函数loss如下所示:
[0108][0109]
其中,object表示目标检测对象,上述损失函数中,原损失函数中的定位损失,包括预测框中心点损失和边框损失,替换为定位损失giou损失(包括了预测框中心点损失和边框损失),置信度损失和类别损失不变;λ
noobj
为不包含识别目标时的置信度误差系数,s*s为将输入图像划分的网格数量,b为每个网格预测的目标边框数量,表示第j个候选框所在的第i个网格负责检测该对象(该对象指候选框内检测到的所要识别的对象,挖掘机、
卡车、汽车、人中的一种),wi表示的是第i个网格的宽,hi表示的是第i个网格的高,表示第j个候选框所在的第i个网格不负责检测该对象,ci和分别表示第i个网格中存在待检测目标的预测置信度和真实置信度,pi和分别表示第i个网格中目标识别属于一个类别的预测概率值和真实概率值,c表示目标检测对象挖掘机、卡车、汽车、人中的一种。
[0110]
步骤5内容:
[0111]
将测试集输入训练好的管道第三方破坏检测模型,测试模型性能,得到查全率recall、查准率precision,查全率recall表示在所有的真实目标中被模型检测出的真实目标所占比例,查准率precision表示模型检测出的目标中的真实目标所占比例;查全率recall、查准率precision的计算公式分别如下式所示:
[0112][0113][0114]
式中,tp表示将正样本正确分类为正样本的样本数,fn表示将正样本错误分类为负样本的样本数,fp表示将负样本错误分类为正样本的样本数,正样本为属于该目标类别的样本框,负样本为不属于该目标类别的样本框。根据recall与precision得到模型在每个类别上分别的平均精度ap值(average precision)之后将每个类别的ap值求均值,得到map值,如图5所示。average precision是针对每一个检测目标(挖掘机、人、卡车、汽车)的平均检测精度值。map就是将所有检测目标的检测精度值再求平均,得到整个检测模型的检测精度值。
[0115]
测试结果如图6所示,其中挖掘机(excavator)识别的概率为85%,两辆卡车(truck)识别概率分别为71%和50%。
[0116]
步骤6包括:
[0117]
步骤6.1、根据管道高程图重点关注管道低结点、弯头、三通等易于发生积液、冲刷、减薄的危险管段,通过有限元分析软件,从应力、腐蚀、结构等多方面确定危险管段的失效损伤模式,进行弱点定位;
[0118]
步骤6.2、根据现场管段实际情况,排布多种类型的传感器,将采集到的数据与图像资料整合在现场数据采集模块中,通过5g网络上传至云平台并加以分析,将分析结果显示在总控制台上,对危险管道实时进行风险预警;
[0119]
步骤7包括:
[0120]
步骤7.1、云平台有一个初始的管道第三方破坏检测模型,根据各管段实际情况的不同,检测对象不限于挖掘机、汽车、卡车、人,并且根据实时上传的图像信息,针对每一个重点管段进行模型更新,提高其检测可靠性;
[0121]
步骤7.2、云平台存储有各管段的基本信息(包括管道所在位置、设计压力、使用压力、管道材质、在役期间检测维修情况、投入使用年限等),结合上传得到的管道实时检测数据,可以对管道进行第三方破坏的智能检测,并起到风险预警的效果。
[0122]
本发明提供了一种基于yolov3的管道第三方破坏智能识别方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1