
分享:基于YOLOv5的管道环焊缝缺陷目标检测算法分析
随着经济的发展,全球对于天然气、石油等能源的需求与日俱增。管道输送是与铁路、公路、水运和航空并列的五大运输方式之一,具有一次性投资少、运输成本低、安全性高、利于环保等独特优势,在经济发展及能源安全中有着举足轻重的地位[1-2]。2021年底,中国大陆已建成的油气长输管道里程累计达到150 000 km,其中天然气管道里程约89 000 km,原油管道里程约31 000 km,成品油管道里程约30 000 km[3]。
随着管网运输体系的不断发展,老龄期长时间服役的管道会出现腐蚀、材料失效、外部干扰等问题,进而造成泄漏、爆炸以及人员伤亡等重大事故[4-7]。因此,对管道实施完整性管理[8-9],精准评估油气管道运行风险,是降低事故发生率的有效手段[10]。漏磁内检测技术是一种高效的无损检测方法,具有无需耦合剂,对环境要求低,自动化程度高,缺陷识别能力强等优点,从而成为应用最广泛的油气管道检测技术[11-13]。
近年来,国内已发生数起长输管道环焊缝开裂事故,造成了严重的经济损失和社会影响。环焊缝开裂已成为影响长输管道服役安全的主要风险因素。目前的各种检测技术手段可获取海量的管道环焊缝缺陷数据,以漏磁内检测数据为例,其对于环焊缝异常信号的判读主要依赖人工,检测结果易受到检测人员的主观影响,并且人工判读需要花费大量的精力和时间,容易造成人员疲劳进而导致漏检或误检[14-16]。随着大数据分析技术、人工智能和深度学习的发展,通过机器学习的方式建立模型并对批量数据进行训练,可以实现对漏磁内检测数据的批量处理和自动识别[17-19]。国内外学者开展了将目标检测方法应用于漏磁内检测方面的研究。FENG等[20]使用卷积神经网络对漏磁图像进行分类,有效识别有害性和无害性缺陷,显著提高了检测精度。YANG等[21]通过优化卷积核的方法,提升了管道焊缝漏磁图像的分类准确性,增强了模型的鲁棒性。CHEN等[22]提出了级联深度学习方法,实现了高效的管道缺陷检测,减少了漏检率和误检率。XU等[23]通过引入注意力模块的神经网络方法,进一步提高了环焊缝缺陷识别的精度和效率,该方法能够自动聚焦图像中的重要区域,显著减少漏检率和误检率。上述研究成果均不同程度地提高了漏磁内检测信号的后期人工判读效率和准确性,对于提升数据分析质量、保障管道安全运行具有重要的工程意义。
文章将YOLOv5目标检测算法应用于漏磁内检测环焊缝异常缺陷数据处理,对数据集使用图像增强算法并添加小目标检测层改进深度学习网络结构,以获得更好的检测效果,最终应用于实际检测线路的漏磁信号识别,实现了管道环焊缝异常缺陷识别准确率的有效提升。
1. 管道漏磁内检测技术
1.1 漏磁内检测原理
作为漏磁内检测的励磁源,永磁铁产生磁感线,磁感线经衔铁、管道等传播形成闭合回路。当被测管道被磁化至饱和或近饱和时,若管道存在缺陷,缺陷处的磁导率会非常小,磁阻增大,磁感线就会溢出管道,被传感器接收形成漏磁信号,依据漏磁信号可实现对缺陷的分析[24],具体原理如图1所示[25-27]。
1.2 管道漏磁内检测图像
管道漏磁内检测设备通过管道后,位于检测设备上的磁敏原件输出电压信号,对其进行数据处理后绘制出漏磁信号曲线,曲线的数目与检测设备的磁敏原件通道数相互对应,漏磁信号曲线经过后期数据处理可形成对比图、伪彩图、伪彩增强图等管道漏磁内检测图像。伪彩图是基于信号的原始灰度图进行色彩映射转换而成的;伪彩增强图是在伪彩图的基础上,将图片中大面积的绿色通道无信号特征图进行色彩转换得到的。某实际管道环焊缝缺陷漏磁信号径向分量的对比图、伪彩图、伪彩增强图如图2所示。仿真模拟计算得到的环焊缝缺陷漏磁信号径向分量云图如图3所示。
由图2可知,管道环焊缝异常(图中“girthWelder”标识处)时,焊缝缺陷处的漏磁信号图像呈现中心色彩异常,对于对比图,缺陷处信号颜色较浅,灰度较小;对于伪彩图,缺陷处信号颜色比正常处红色信号更浅;伪彩增强图焊缝处的漏磁信号图像与伪彩图的相似,焊缝外漏磁信号不明显区域的色彩映射与对比图的相似。通过上述3种图像的对比可知,焊缝缺陷处的漏磁信号与正常焊缝处的漏磁信号存在较大差异,该差异为使用计算机进行图像判别漏磁信号差异的基础。由图3可知,无缺陷环焊缝漏磁信号呈现先增后减的分布趋势,图像上体现为先红后蓝的色彩分布特征;缺陷处环焊缝漏磁信号呈局部先减薄后增厚的趋势,图像上体现为先蓝后红的色彩分布特征。
2. 基于YOLOv5的管道环焊缝缺陷信号图像识别算法
2.1 YOLOv5基本原理
JOCHER提出的一阶段(One-Stage)目标检测网络YOLOv5是一种基于回归思想的多目标检测算法,相较于之前的YOLO版本,v5在框架非常小的同时保证了足够的检测精度和速度,在部署到手机等智能设备上具有巨大优势。YOLOv5主要由输入端、Backbone、Neck和Prediction 4个部分组成,其网络结构示意如图4所示[28]。主干网络首先通过CBS模块对图像进行初步特征提取,然后依次经过C3模块(具有残差瓶颈结构),进一步提取并优化图像特征。随后通过SPPF模块进行空间金字塔池化快速操作,有效扩大感受野并捕获不同尺度空间特征。接下来,特征进入颈部(Neck)模块,该模块通过Upsample上采样和Concat拼接操作实现不同尺度特征融合,并利用CBS和C3模块进一步精炼和优化融合后的特征表示,以提高不同尺度特征的表达能力。最后,这些融合后的特征送入头部(Head)模块,分别经过Conv卷积层处理,得到三个尺度(80×80、40×40、20×20)的输出特征图,分别用于检测小、中、大尺度的目标,实现对不同大小目标的高效检测和定位。
输入端主要由Mosaic数据增强、自适应锚框计算和自适应图片缩放组成[29],如图5所示。Mosaic数据增强将4张图片进行拼接,每一张图片都有其对应的框,拼接后就获得一张新的图片,同时也获得了这张图片对应的框,达到数据增强的目的。在YOLO算法中,针对不同的数据集,都会有初始设定长宽的锚框(Anchor),网络在初始锚框的基础上输出预测框,进而和真实框进行比对,计算两者差距,再反向更新,迭代网络参数。自适应锚框计算读取训练集中所有图片的宽、高以及检测框的宽、高,将读取的坐标修正为绝对坐标并使用Kmeans算法对训练集中所有的检测框进行聚类,通过遗传算法对得到的锚框进行变异,如果变异后效果好则将其保留,否则跳过,最终得到最优锚框。自适应图片缩放目的在于对原始图像自适应添加最少的黑边,提高推理速度,减少计算量。自适应图片缩放计算的比例是缩放尺寸与原始图像的尺寸的较小缩放系数。
主干网络主要采用Focus结构和CSP结构,Focus结构采用切片操作把高分辨率的图片拆分成多个低分辨率的图片或特征图,即隔列采样并拼接,使得卷积核的数目大大增加,极大地提高了图像特征的提取能力。CSP结构大大增加了主干网络的残差结构,可以增加层与层之间反向传播的梯度值,从而避免网络加深带来的梯度消失问题,最终提取到更细粒度的特征并且不用担心网络退化。颈部主要借鉴了应用于图像分割领域的PANet网络,但作者将其拆分应用到YOLO中,进一步提高了特征提取的能力。
2.2 基于环焊缝缺陷图像的YOLOv5算法改进
2.2.1 环焊缝缺陷漏磁信号图像数据增强
Mosaic作为YOLOv5模型的输入端数据增强算法,能随机读取4张图片进行训练,丰富了数据集也极大地增强了网络的鲁棒性[30]。环焊缝缺陷漏磁信号图像的3种图像都是通过原始的漏磁信号曲线变换得来的,由于采取的方式不同,不同大小、不同形式缺陷的图像效果也不同。对比图能较好地展示深度较深的环焊缝缺陷,但对于缺陷的周向长度(缺陷宽度)显示并不友好;伪彩图能较好地区分周向长度的变化;伪彩增强图结合了对比图和伪彩图的部分优点,同时,对于操作人员较为友好。
依据漏磁信号3种图像的特点,数据混合增强可以集中3种图像的优点,文章将对比图、伪彩图、伪彩增强图3种图像数据进行混合增强,既保证了模型输入各种形式图像的同时,也增强了模型的图像数据量。
2.2.2 算法改进
通过YOLOv5的网络结构可知,在颈部(Neck)部分除了使用FPN结构对特征进行融合外,还使用到了PAN结构。FPN层自顶向下传达强语义特征,而特征金字塔则自底向上传达强定位特征,从不同的主干层对不同的检测层进行参数聚合。模型可同时进行下采样(Subsampling)和上采样(Upsampling),以将信息传递融合,提高特征提取的能力,得到进行预测的特征图。
原始模型具有3个检测层,分别为80像素×80像素,40像素×40像素,20像素×20像素,分别对应最后的特征图大小。特征图中,最大的特征图负责检测小目标,对应到原始的640像素×640像素漏磁图像上,每格特征图的感受野是640/80即8×8大小,因此若检测目标的长或宽像素低于8像素,对于小型目标的检测就不准确。环焊缝漏磁信号图像中有诸多极小的缺陷图像,有的宽度像素值甚至达到了4个像素,在实际检测时,测试集效果会更差,采用原始的检测模型已经很难达到检测的要求。文章针对实际环焊缝缺陷图像的缺陷特点,对YOLOv5进行了改进。
对检测层而言,增加了一层160像素×160像素检测层,对应最终的小目标检测,每格的特征图感受野是640/160即4×4大小。同时,在模型的头部(Head)部分,为小目标增加特征提取层,以获取更大的特征图进行小目标检测,模型改进前后的图像特征上下采样示意如图6所示。
3. 测试及结果分析
3.1 环焊缝缺陷图像数据集
文章选取的数据集为某线路成品油管道实际漏磁内检测数据,调整检测系统的输出图像大小,确保输出大小为640(长像素)×640(宽像素),生成的环焊缝缺陷图像共计对比图1 032张,伪彩图1 032张,伪彩增强图1 032张,图片具有RGB 3个颜色通道。对管道环焊缝缺陷信号图像进行人工缺陷标签制作,采用VOC2007数据集结构,将管道环焊缝缺陷命名为girthWelderr。对于数据集而言,每张图都包含了至少一个管道环焊缝缺陷;对于每张图而言,每张图中都包含管道环焊缝缺陷图像及正常环焊缝图像。对标签制作完成的图像数据集进行数据转换,将xml文件转化为txt文件,并依据转化完成后的txt文件和图像数据集进行训练集、验证集、测试集划分。按照训练集∶验证集∶测试集=70∶15∶15的划分比例进行划分,最终得到训练集单一类型图像688张,验证集172张,测试集172张。
3.2 模型训练与分析
对环焊缝缺陷图像数据集进行了500轮[次数(Epochs)]的训练,每次训练的batch-size设为8。硬件参数方面,CPU型号为Intel(R) Xeon(R) Gold 6130 CPU @ 2.10GHz(双路处理器),内存为256 GB,核心计算资源GPU型号为NVIDIA Quadro P5000,显存16GB;软件参数方面,Python为3.9.13,PyTorch为1.12.1,Cudatoolkit为11.3.1。操作环境采用Windows10,Python编辑器采用Pycharm 2022.3.3。
图像目标检测领域中,重要的模型性能评价指标包括精确率(Precision);召回率(Recall);IoU阈值大于0.5的平均精度(mAP@0.5,即mAP);从0.5到0.95,步长为0.05的不同IoU阈值的平均精度(mAP@0.5:0.95)。损失包括GIoU损失函数均值,推测为目标检测的损失函数均值,验证集的GIoU损失函数均值,验证集目标检测的损失函数均值。
3.2.1 图像数据增强分析
分别针对对比图、伪彩图、伪彩增强图以及3种图像数据混合增强后的数据进行模型训练及验证,模型的训练验证结果如图7所示,主要绘制了Precision,Recall,mAP@0.5,mAP@0.5∶0.95共计4个指标的性能图。由图7可知,在通过数据混合增强后,核心指标mAP@0.5呈现明显的稳定上升趋势,并在100轮后趋于稳定,且稳定后的参数远高于对比图、伪彩图、伪彩增强图单种图像的mAP@0.5,表明数据混合增强后,模型精度有了明显改善。从精确率及召回率曲线中也可以看出,图像数据混合增强对于不同阈值上的平均精度均有很好的表现。
各图像性能指标如表1所示,可知,对比图、伪彩图、伪彩增强图3种图像的最佳性能指标都相差不大,但3种图像的平均性能均值与图像数据混合增强后的指标都有着不小的差异,图片数据在混合增强以后各指标都有了显著提升,mAP@0.5提升了近30%,其余参数也均有不同程度的性能提升。
模型 | mAP@0.5 | 精确率 | 召回率 | mAP@0.5∶0.95 |
---|---|---|---|---|
对比图 | 70.68 | 90.53 | 71.3 | 29.22 |
伪彩图 | 70.96 | 88.27 | 73.18 | 31.07 |
伪彩增强图 | 72.47 | 86.73 | 72.18 | 29.59 |
3种图像均值 | 71.37 | 88.51 | 72.22 | 29.96 |
图像数据混合增强 | 93.64 | 99.45 | 92.87 | 73.24 |
混合前后性能提升 | 31.20 | 12.36 | 28.59 | 144.46 |
3.2.2 算法改进对比分析
利用增加小目标检测层后的改进算法分别对对比图、伪彩图、伪彩增强图3种图像进行模型训练和验证,模型的训练验证结果如图8所示,主要绘制了损失函数均值、目标检测损失函数均值、验证集损失函数均值、验证集目标检测损失函数均值共计4个指标的性能图。由图8可知,对于损失函数均值以及验证集损失函数均值而言,模型改进前后的曲线下降趋势和曲线数值相差不大,表明模型在使用GIoU Loss(广义交并比损失)作为bounding box(边界框)的损失时,Box推测为GIoU损失函数均值的差异并不明显。但通过目标检测损失函数均值以及验证集目标检测损失函数均值可以看出,模型在改进以后,目标检测损失函数的损失都有一定程度的下降,尤其对于验证集目标检测损失函数均值而言,采用改进后的模型在大幅度降低损失的同时也改善了模型过拟合的现象,表明增加小目标检测层后的模型具有更好的效果。
模型目标检测损失函数均值如表2所示,可知,相较于改进前的模型,改进后的模型具有更低的损失,对比图、伪彩图、伪彩增强图3种模型改进前后的损失差别都不大,通过误差分析,可以看出,相较于改进前,目标检测损失函数均值最小值和最终值分别下降了62.714 8%和63.539 9%,验证集目标检测损失函数均值最小值和最终值分别下降了74.423 2%和78.870 1%。损失函数均值的下降表明模型具有更好的目标检测准确性,在对图像中的物体进行检测时效果更好。
模型 | 目标检测损失函数均值 | 验证集目标检测损失函数均值 | ||
---|---|---|---|---|
最小值 | 最终值 | 最小值 | 最终值 | |
对比图 | 0.408 0 | 0.422 3 | 0.975 0 | 1.527 0 |
伪彩图 | 0.375 0 | 0.439 5 | 0.994 0 | 1.621 0 |
伪彩增强图 | 0.381 0 | 0.382 3 | 1.065 0 | 1.826 0 |
三种图像改进前均值 | 0.388 0 | 0.414 7 | 1.011 3 | 1.658 0 |
对比图改进 | 0.141 0 | 0.141 4 | 0.268 0 | 0.361 5 |
伪彩图改进 | 0.149 0 | 0.157 5 | 0.242 0 | 0.302 2 |
伪彩增强图改进 | 0.144 0 | 0.154 7 | 0.266 0 | 0.387 3 |
三种图像改进后均值 | 0.144 7 | 0.151 2 | 0.258 7 | 0.350 3 |
改进前后损失降低 | -62.714 8 | -63.539 9 | -74.423 2 | -78.870 1 |
改进后图像性能指标如表3所示,可以看出,模型在改进以后,对比图、伪彩图、伪彩增强图的mAP@0.5,精确率,召回率指标都有了小幅降低,mAP@0.5∶0.95有小幅度上升,改进后整体模型的性能指标与改进前相差不大。
模型 | mAP@0.5 | 精确率 | 召回率 | mAP@0.5∶0.95 |
---|---|---|---|---|
对比图改进 | 71.28 | 92.89 | 69.75 | 30.06 |
伪彩图改进 | 68.11 | 84.91 | 72.36 | 30.73 |
伪彩增强图改进 | 68.82 | 85.81 | 73.09 | 31.04 |
三种图像改进后均值 | 69.40 | 87.87 | 71.73 | 30.61 |
三种图像改进前均值 | 71.37 | 88.51 | 72.22 | 29.96 |
改进前后性能差异 | -2.76 | -0.72 | -0.67 | 2.17 |
可见,增加小目标检测层后,可以在保证模型的常规性能指标基本稳定的情况下,大幅降低模型的目标检测损失函数均值,对于环焊缝漏磁信号图像中的缺陷目标检测效果有了一定程度的改善。
3.3 环焊缝缺陷图像测试集识别率分析
对环焊缝缺陷图像而言,实际检测应用时,能正确识别出漏磁信号图像中的环焊缝异常缺陷的位置和大小等信息是至关重要的。笔者对环焊缝缺陷图像测试集进行最终的实际管道环焊缝异常图像识别,以获得缺陷的识别准确率,结果如表4所示。
模型 | 测试总量 | 未检出量 | 误检出量 | 少检出量 | 检出量 | 识别率/% |
---|---|---|---|---|---|---|
对比图 | 172 | 36 | 11 | 4 | 121 | 70.35 |
伪彩图 | 172 | 43 | 10 | 10 | 109 | 63.37 |
伪彩增强图 | 172 | 43 | 7 | 4 | 118 | 68.60 |
图像数据混合增强 | 172 | 58 | 5 | 2 | 107 | 62.21 |
对比图改进 | 172 | 27 | 4 | 4 | 140 | 81.40 |
伪彩图改进 | 172 | 37 | 10 | 8 | 117 | 68.02 |
伪彩增强图改进 | 172 | 33 | 10 | 6 | 123 | 71.51 |
当选取原始单一图像模型进行检测时,选取对比图模型测试,共有51张图片出现误检、未检出、少检等情况,有121张图准确识别缺陷;选取伪彩图模型测试,有63张图片出现误检、未检出、少检等情况,有109张图准确识别缺陷;选取伪彩增强图模型测试,有54张图片出现误检、未检出、少检等情况,有118张图准确识别缺陷。
当选取改进后的单一图像模型进行检测时,选取对比图模型测试,共有32张图片出现误检、未检出、少检等情况,有140张图准确识别缺陷;选取伪彩图模型测试,有55张图片出现误检、未检出、少检等情况,有117张图准确识别缺陷;选取伪彩增强图模型测试,有49张图片出现误检、未检出、少检等情况,有123张图成功识别准确到缺陷。
当选取图片数据增强模型测试时,有65组图片出现误检、未检出、少检等情况,这3组图片中,每一组对比图、伪彩图、伪彩增强图出现的检测错误一致,并未出现三种图检测结果不一致的情况;有107组图片成功识别准确到缺陷。
由表4可知,模型在改进后,缺陷的识别准确率有了显著提升,尤其对于对比图而言,相较于原始的对比图模型,对比图改进模型识别准确率提高了11.05%,其他图像也有一定的提升。对于图片数据增强模型而言,相较于单一的图像检测模型,识别率虽不显著提升,但增强模型的相关性能指标均有非常明显的上升,说明模型的波动有了显著降低,同时模型的稳定性有了显著增强。
4. 结论
文章基于漏磁检测技术以及YOLOv5基本原理,采用PyTorch框架,利用YOLOv5算法对管道环焊缝漏磁信号缺陷图像进行了自动识别,并对算法进行了部分改进,分析了算法改进前后的差异以及对于识别准确率(识别率)的影响,得到以下结论。
(1)模型在图像数据混合增强以后,各指标都有了显著提升,mAP@0.5提升了近30%,其余参数也有了不同程度的性能提升。
(2)模型在增加小目标检测层改进后,模型的常规性能指标基本稳定,同时模型的目标检测损失函数均值有了大幅度的降低,一定程度改善了图像中缺陷的目标检测效果。
(3)模型在增加小目标检测层改进后,图像中的缺陷识别率有了显著提升,对比图提升最为显著,达到11.05%。
通过使用该自动识别算法,可以实现对管道环焊缝缺陷漏磁内检测数据的批量处理和自动识别,大大减少数据判读人员的工作量、提高工作效率,降低人工判读的主观性和人员水平差异带来的漏判、误判等不利影响;同时,该方法可随着获取环焊缝缺陷漏磁内检测异常信号样本量的增加进行持续改进,不断地提升缺陷信号识别的准确性和可靠性。
文章来源——材料与测试网