基于YOLOv5的绝缘子目标检测算法
2023-06-25孟帅
摘 要:绝缘子是架空输电线路中的一种特殊构件,电力巡检工作中对绝缘子的状态进行及时检测与维护是极为重要的任务。针对绝缘子检测背景复杂,难以提取有效信息的问题,提出了一种基于YOLOv5的绝缘子目标检测算法。在模型中加入CBAM注意力机制改变YOLOv5的网络结构,增强对目标有效特征的提取,确定绝缘子的位置。实验结果表明,使用改进的YOLOv5算法进行绝缘子目标检测平均精度可达到98.7%,提高了模型的检测精度,对后续绝缘子缺陷检测具有一定参考价值。
关键词:绝缘子;目标检测;YOLOv5算法;CBAM注意力
中图分类号:TP18 文献标识码:A 文章编号:2096-4706(2023)08-0107-04
Abstract: Insulator is a kind of special component in overhead transmission line. It is very important to detect and maintain insulator condition in time during power inspection. Aiming at the problem that the background of insulator detection is complicated and it is difficult to extract effective information, an insulator target detection algorithm based on YOLOv5 is proposed. CBAM attention mechanism is added to the model to change the network structure of YOLOv5, enhance the extraction of effective features of the target and determine the location of the insulator. The experimental results show that the average accuracy of insulator target detection using the improved YOLOv5 algorithm can reach 98.7%, which improves the detection accuracy of the model and has certain reference value for the subsequent insulator defect detection.
Keywords: insulator: target detection; YOLOv5 algorithm; CBAM attention
0 引 言
绝缘子主要作为输配电线路和发电站设备间的外绝缘部分,为输电线路提供了绝缘和支撑的功能,并广泛应用于智能电网中,对电力工业的发展起到了很大影响。由于绝缘子常年裸露在户外,在物理作用和化学作用的影响下,极易产生污秽、覆盖、裂纹、爆破等缺陷,因此,需要人们定期巡检来检测绝缘子的状态,进行及时维护,确保架空输电线路的稳定运行[1]。传统的人工巡检仍是中国目前主要的巡查方法,工作者通过自身经验在现场对设备进行观察、判断并记录。但我国地形地貌复杂、天气多变,因此采用这种方式存在人力资源浪费、工作者安全存在隐患、检测效率低、受个人主观判断影响以及检测成本高等问题[2,3]。
随着无人机航拍技术的发展,电力系统开始使用无人机航拍现场绝缘子,进行图像采集,然后由工作者对海量图片进行绝缘子缺陷判断,但这种方法仍然存在效率低、工作量大等不足[4]。近年来深度学习领域目标识别算法被广泛应用,将无人机航拍图像通过计算机视觉算法进行处理是大势所趋,已逐渐成为智能电网系统的一种重要巡检方式[5,6]。
深度学习目标检测算法主要包括两种,分别为二阶段检测算法和一阶段检测算法。二阶段检测算法包括两个步骤,先将候选区域进行提取,再将提取的区域分类并测定边框,必须通过多次检测和分类流程,过程复杂烦琐,因此这类算法精度相对较高但检测速度较慢。二阶段检测算法主要包含R-CNN[7]、Fast R-CNN[8]、Faster R-CNN[9]等。虢韬等[10]基于二階段检测算法模型对绝缘子进行目标识别和缺陷检测,其中绝缘子目标识别精度为95%。一阶段检测算法即一种基于回归的检测方法,不需要提取候选区域,直接进行目标的分类和边界框的生成,从图片获得预测结果,过程步骤简单,因此这类算法检测精度相对较低一些,但是有检测速度快的优势。一阶段检测算法主要包括SSD[11]、YOLOv4[12]、YOLOv5等。YOLOv4算法的提出解决了一阶段算法检测精度不够的问题,算法对YOLOv3算法进行了改进,无论是检测精度还是检测速度方面均有了质的提升,但YOLOv4算法在一些图像处理任务中仍不能达到最佳检测效果。王书坤等[13]改进YOLOv5模型对绝缘子进行缺陷检测,提升了检测速度,最终检测精度达到95.5%。上述算法均取得了不错的检测效果,但是无人机巡检航拍绝缘子要按照一定拍摄比例不得破坏设备,存在一定的安全距离,采集的图片背景环境复杂,包含输电线、塔架、农田、道路等,因此无法直接精准的识别绝缘子缺陷,实现高精度的缺陷检测仍需要更加精准的绝缘子识别,确定绝缘子的位置。
针对以上问题,本文基于YOLOv5算法的思想提出一种改进的检测算法,于复杂背景中检测绝缘子,提高绝缘子检测精度,为后续绝缘子缺陷检测做好基础。
1 YOLOv5检测算法
官方发布的本文YOLOv5网络共包括四个版本,分别为YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x。YOLOv5四个版本的区别在于网络的深度和宽度各不相同,分别由depth_multiple和width_multiple两个参数进行控制,各版本两参数区别如表1所示。由表1可以看出,YOLOv5s模型深度和宽度是最小的,其余各版本的深度和宽度均在此基础上逐渐增加,模型结构逐渐复杂,检测速度自然也会变慢,故本文选择YOLOv5s为基础网络。
YOLOv5的结构和YOLOv4相似,包括输入端、Backbone、Neck、Prediction四个部分,图1为YOLOv5s的网络结构。
YOLOv5输入端部分,可以自适应的在每次训练时计算出针对出本次训练集锚框的一个最佳值。Backbone部分包括Focus结构和CSP结构。Focus结构完成分割步骤,图2为分割原理图,每个图像分割变成四个特征图像。四个版本的每个CSP的深度都不相同,CSP结构包括CSP1_X和CSP2_X两种结构,分别应用在Backbone部分和Neck部分,这也是与YOLOv4不同的地方,YOLOv4的Neck部分没有应用CSP结构,只用在了Backbone部分。Neck部分采用FPN与PAN结合的结构,FPN是一种自上向下的特征金字塔,PAN是一种自下向上的特征金字塔。高层的语义特征丰富位置特征粗糙,FPN传递高语义信息而不传递位置信息,整个金字塔得到增强且基本不增加网络的计算量。低层的语义信息简单但位置特征比较准确,将PAN增补在FPN的后面,传递低层的高定位特征,两种特征金字塔综合增强融合效果。若只使用FPN结构或PAN结构,特征融合效果不佳,无法达到理想的融合效果,因此将二者相结合,提升特征融合能力。
2 改进YOLOv5检测算法
注意力机制是一种模仿人脑神经网络运作的机制,根据关注对象的重要性程度有选择的进行关注,更改关注权重参数的大小。在模型的训练过程中,赋予注意对象更高的权重系数,干扰信息更少的权重系数,则训练过程更多的关注在有用信息上,减少了无用信息的干扰,提高对目标对象的特征提取能力。在模型网络中添加注意力机制,可以提高模型的特征提取能力,提高目标的检测效果,进而提高模型的整体检测准确度,因此注意力机制常见于各大检测任务中。
CBAM模块是一种简明且高效的注意力机制,包括空间注意力和通道注意力两部分[14]。图3为CBAM注意力机制模块结构图。CBAM注意力机制可以放在不同的检测网络中,改善网络的检测性能。
从图3中可以看出,通道注意力在前,空间注意力在后。输入特征图之后,先通过通道注意力,基于特征图的高、宽进行全局最大池化和全局平均池化得到两个特征图,然后再分别经过一个两层的神经网络得到通道的注意力权重,然后通过Sigmoid函数归一,得到最终的通道注意力权重,最后通过乘法操作将通道加权到原始输入特征图上,完成通道注意力对原始特征的重新标定,即图3中的重标定特征图1。公式为:
将通道注意力输出的重标定特征图1作为空间注意力的输入特征图,同样基于特征图的高、宽进行全局最大池化和全局平均池化得到两个特征图,然后将两个特征图做通道拼接,之后再经过7×7的卷积降低维度,最后经过Sigmoid激活函数处理得空间注意力权重,将特征图与通道注意力输出的特征图进行合并,完成通道和空间两个维度上对特征图的重标定,即图3中的重标定特征图2。公式为:
通过CBAM模块后,得到一个具有通道和空间两个维度权重的特征图,提升了各个特征在通道和空间上的联系,更有利于提取目标的有效特征。将CBAM注意力机制添加在Backbone网络中,修改后的Backbone网络结构如图4所示,对有效的通道特征上赋予更高的权重,更多的关注重要信息,提高Backbone网络对特征的提取能力,提高检测精度。
3 实验与分析
3.1 数据集处理
本文实验数据来自中国电力线路绝缘子数据集(CPLD),从中选取600张绝缘子图像作为本实验的数据集,数据集示例如图5所示。使用YOLOv5对数据集进行训练,需要对图像进行voc格式标注。本文所有图像均使用数据集标注工具labelimg进行标注,详细标注过程:启用终端命令窗口,进入相应的配置环境,输入labelimg命令,即可使用labelimg标注工具,点击打开目录选择数据集图像所在文件夹,点击改变存放目录选择标注后的保存路径,然后对绝缘子目标进行矩形框选,标注名称为insulator,完成框选后点击保存会自动生成一个与图像对应的txt文件,文件中包含标签类别、框选区域的左上及右下横纵坐标,完成所有图像的标注,为目标识别做好准备工作。数据集标注示例如图6所示。将数据集分为训练集、验证集和测试集,分别为400张、150张和50张,并将数据图像和标签文件一一对应放置。通过上述工作,完成数据集处理部分。
3.2 训练环境和模型评价指标
所有实验均在云服务器上进行,显卡为RTX 2080Ti,CPU为3核E5系列,操作环境为Ubuntu,深度学习框架为PyTorch 1.7,加速器为CUDA 11,编程语言为Python。
本文算法改进效果的评定指标为准确率P、召回率R和平均精度(mAP),公式为:
式中:TP为本质为正例且被测定为正例的个数;FP为本质为负例但被测定为正例的个数;FN为本质为正例但被测定为负例的个数;N为总类别数;mAP为基于0.5阈值时计算出的平均精度。
3.3 训练结果分析
整個目标检测模型共训练了200次,所得的改进算法效果良好,图7为改进算法得出的P-R曲线。原始YOLOv5算法与改进的YOLOv5算法平均精度和召回率比较结果如表2所示,改进后算法的平均精度为98.7%,召回率为96%,分别提升了0.4%和0.3%。
图8为原YOLOv5算法与本文改进的YOLOv5算法在测试集上的检测效果比较,实验图像为从测试集中随机抽取的1张图像。从图8可以看出,改进后的算法提高了特征的提取能力,算法所能识别物体的置信度更高,验证了算法的可行性。
4 结 论
本文提出一种基于YOLOv5的绝缘子目标检测算法,将CBAM注意力机制添加到YOLOv5网络中,增强对特征的提取能力,最终达到了98.7%的绝缘子目标识别精度,识别效果明显。在下一步的工作中,将主要优化网络模型,缩短目标检测所用时间。
参考文献:
[1] 刘开培,李博强,秦亮,等.深度学习目标检测算法在架空输电线路绝缘子缺陷检测中的应用研究综述[J/OL].高电压技术,2022:1-12[2022-10-18].https://kns.cnki.net/kcms2/article/abstract?v=3uoqIhG8C45S0n9fL2suRadTyEVl2pW9UrhTDCdPD669CjSZCpCUE6pHp1GuwjspiP4q1o1HjO73oUfdBjupmAdw3gM3ew7g&uniplatform=NZKPT.
[2] 黄山,吴振升,任志刚,等.电力智能巡检机器人研究综述 [J].电测与仪表,2020,57(2):26-38.
[3] 方立.面向电力巡检机器人的仪表示数识别 [D].杭州:浙江大学,2017.
[4] 吕志宁.输电线路常见故障分析与检测方法综述 [J].自动化与仪器仪表,2020(1):161-164+168.
[5] 缪希仁,刘志颖,鄢齐晨.无人机输电线路智能巡检技术综述 [J].福州大学学报:自然科学版,2020,48(2):198-209.
[6] 黄郑,王永强,王红星,等.基于云雾边异构协同的无人机智慧巡检系统 [J].中国电力,2020,53(4):161-168.
[7] GIRSHICK R,DONAHUE J,DARRELL T,et al. Region-Based Convolutional Networks for Accurate Object Detection and Segmentation [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2016,38(1):142-158.
[8] GIRSHICK R. Fast R-CNN [C]//2015 IEEE International Conference on Computer Vision(ICCV).Santiago:IEEE,2015:1440-1448.
[9] REN S Q,HE K M,GIRSHICK R,et al. Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks [J/OL].arXiv:1506.01497 [cs.CV].[2022-10-18].http://aps.arxiv.org/abs/1506.01497v2.
[10] 虢韜,杨恒,时磊,等.基于Faster RCNN的绝缘子自爆缺陷识别 [J].电瓷避雷器,2019(3):183-189.
[11] LIU W,ANGUELOV D,ERHAN D,et al. SSD:Single Shot MultiBox Detector [J].arXiv:1512.02325 [cs.CV].[2022-10-19].https://arxiv.org/abs/1512.02325.
[12] Bochkovskiy A,Wang C Y,Liao H y m. YOLOv4: Optimal Speed and Accuracy of Object Detection [J/OL].arXiv:2004.10934 [cs.CV].[2022-10-17].https://arxiv.org/abs/2004.10934.
[13] 王书坤,高林,伏德粟,等.改进的轻量型YOLOv5绝缘子缺陷检测算法研究 [J].湖北民族大学学报:自然科学版,2021,39(4):456-461.
[14] WOO S,PARK J,LEE J Y,et al. CBAM:Convolutional block attention module [EB/OL].[2022-10-17].https://arxiv.org/pdf/1807.06521.pdf.
作者简介:孟帅(1999—),女,汉族,河北三河人,硕士研究生在读,研究方向:人工智能。