APP下载

基于YOLOv5-nS 算法的绝缘子串销钉检测方法

2023-12-12杜景博姜勇

应用科技 2023年6期
关键词:销钉绝缘子尺度

杜景博,姜勇

1. 沈阳理工大学 自动化与电气工程学院,辽宁 沈阳 110158

2. 中国科学院 网络化控制系统重点实验室,辽宁 沈阳 110016

3. 中国科学院 沈阳自动化研究所,辽宁 沈阳 110016

4. 中国科学院 机器人与智能制造创新研究院,辽宁 沈阳 110169

绝缘子主要用于电气绝缘和机械支撑,是架设输电线路过程中的必要部件。绝缘子在长期运行过程中受高压场强、机械负荷、酸雨、雷击以及大气环境的影响,导致其电气性能与机械性能下降,以致其被击穿或破坏。对于这些劣化的绝缘子必须及时更换,若不及时处理则会引发一系列的突发事件,在经济上造成巨大的损失,严重时甚至会导致电力系统运行的停滞[1-2]。目前,变电站更换绝缘子的作业方式主要采用人工现场作业,这种作业方式危险性高、劳动强度大、效率低而且更换作业难以操作[3]。因此研发具有更换绝缘子功能的机器人成为了电力系统的实际迫切需求。在机器人进行更换作业时,机器人需要具备识别出绝缘子销钉位置的能力,因此在户外复杂光景环境中准确地识别绝缘子销钉位置是本文的研究重点。

近年来,深度学习技术已在图像检测和识别方面取得了突出成果,主要包含一步检测算法与两步检测算法2 类。一步检测典型算法主要有单次多边框检测(single shot multibox detector,SSD)[4]和YOLO 系列[5-7]等,该类算法将目标检测转换为先验框(Anchor)回归问题,能在满足实时性的同时保持较高检测精度;两步检测典型算法主要有基于区域的卷积神经网络(region-based convolution neural networks,R-CNN)[8]、Fast R-CNN[9]、Faster RCNN[10]等,该类算法第一阶段提出候选目标边界框,第二阶段采用感兴趣区域(region of interest,ROI)操作,从每个候选框中提取特征用于接下来的分类和边界框回归任务。

目标检测作为目前任务场景理解感知的重要组成部分,已经在实际工程中得到广泛应用,但是,基于深度学习的绝缘子销钉识别任务研究起步较晚,研究成果较少。李瑞生等[11]采用基于SSD 单阶段检测算法改进优化来检测输电线路中存在缺陷故障的销钉,并与传统检测方法进行对比实验,结果显示所提出的方法检测精度更高。郝帅等[12]在基于YOLOv3 网络算法模型中添加了性能突出的视觉注意力机制模型,并验证了该方法相比于其他目标检测算法模型如SSD、Faster R-CNN 等在全类别平均正确率(mean average precision,mAp)和帧率上都具有较好的性能表现。徐文静等[13]基于YOLOv5 网络算法模型针对绝缘子图片实现自动标注,该方法能够快速、有效地对绝缘子图进行自动标注,但如果目标处于相对复杂光照的背景条件下,图片中有效目标特征难以获取,且模型体积庞大、检测速度低。

本文为了降低模型复杂度、提高识别速度,基于ShuffleNetV2[14]所改进的nSNet 模块提出一种轻量型神经网络主干部分;为了更好地实现不同尺度下目标特征的高效融合,在Neck 中增加了特征融合层并对原有Neck 进行了轻量化操作;用Alpha-IoU[15]作为边框回归损失函数,以提升检验框检测的准确率;采用K-means 聚类算法对Anchor 尺寸重选取,以提高对绝缘子串销钉的检测精度和训练效率。

1 YOLOv5 算法原理

YOLOv5 是目前较为先进的单阶段目标检测算法,其Backbone 借鉴参考了CSPNet[16]思想,采用改进版的CSPNet 作为主干网络的主要结构,并在Neck 端进行多尺度融合,以提高预测精度[17]。同时,它采用Pytorch 框架使其网络规模比YOLOv4 更小。YOLOv5 网络结构如图1 所示。

图1 YOLOv5 模型结构

输入部分主要完成图像预处理。将输入图像尺寸转换为网络的输入大小、数据增强以及自适应锚框计算工作。

Backbone 部分主要完成提取图像的特征信息。在该部分中,Focus 模块将图片进行切分、连接再卷积,相当于下采样操作,目的在于保留图像的全部信息;CBS 模块由卷积操作Conv 层、归一化操作、BN 层以及SiLU 激活函数组成;CSP1_X结构中X 代表CSP 结构中使用的残差组件,每个残差组件都使用了2 个CBS 结构,目的在于减小模型大小的同时保证精度不会下降;SPP 模块通过使用内核为1×1、9×9 以及13×13 来进行最大池化,满足最终输入一致。

Neck 部分主要完成多尺度的特征融合,采用FPN+PAN 的结构。

输出部分主要完成输出检测到的目标信息。

2 YOLOv5-nS 算法设计

在本节介绍了YOLOv5-nS 模型Backbone 的设计思想和策略,提出了Neck 的增强优化策略,描述了对于边界框回归损失函数的改进方式,对于Anchor 尺度重选取策略进行了描述。YOLOv5-nS结构如图2 所示。

图2 YOLOv5-nS 结构

2.1 Backbone 网络设计策略

现阶段在移动设备上ShuffleNetV2 网络结构比其他网络更可靠。针对本文任务,为了进一步提高YOLOv5 模型的性能,我们遵循PPLCNet[18]的一些方法来增强ShuffleNetV2 网络结构并构建新的骨干网络,即nSNet(new ShuffleNetV2)。图3详细描述了nSNet 的nS Block 结构。

图3 nS Block 结构

Channel shuffle 为ShuffleNetV2 网络结构提供了信道间的信息交换,但会导致融合特征的丢失。为了解决这个问题,在步长为2 的结构块中,增加了深度可分离卷积和点卷积用来整合不同信道间的信息。此外,还采用了卷积核为5×5 的深度可分离卷积结构扩展接受野,这种结构以增加少量参数带来了精度的提高。

GhostNet[19]的作者提出了一种新的Ghost 模块,可以用更少的参数生成更多的特征图,以提高网络的学习能力。在步长设置为1 的区块中添加Ghost 模块,以进一步增强nSNet 的性能。

深度可分离卷积[20]由2 种不同的卷积操作组成:第一步先进行逐通道卷积,对输入层的每个通道独立进行卷积运算,省略了通道域中的卷积,大大降低了计算量,但是没有融合通道间信息;第二步再进行逐点卷积运算操作,将上一步的特征图在其通道间进行加权线性组合,生成新的特征图。深度可分离卷积的参数的数量约是常规普通卷积的1/3,可以降低原网络的计算量和参数个数。其简要结构原理如图4 所示。

2.2 Neck 端改进策略

YOLOv5 模型以FPN+PAN 结构对Backbone提取的多尺度特征图进行融合。由于这种融合方式将特征图变换成相同尺寸后进行级联,无法充分利用不同尺度间的特征,造成网络模型的检测精度受到限制。为了提高网络模型对于多尺度特征图的融合性能,在YOLOv5 的Neck 中增加了一层特征融合,使网络模型在多尺度特征融合过程中获得更多的有效信息,对于目标物体的检测更加准确;同时,增加了网络模型的感受野层次结构,使网络模型的多尺度特征融合更加充分。

此外,文中对Neck 端还进行了轻量化的改进,将Neck 端原有的3 个残差结构降为1 个残差结构;对原有将Neck 端的卷积通道数进行了降维,使其算法模型加轻量化。

2.3 边界框回归损失函数改进

YOLOv5 的损失函数L的定义为

式中:lobj为置信度损失,lcls为分类概率损失,lbox为真实框和预测框的位置损失。

YOLOv5 网络模型中真实框和预测框的位置损失函数采用CIoU Loss 损失函数实现:

式中: ρ为计算预测目标框中心点b与真实目标框中心点bgt这2 个中心点之间的欧氏距离;c是可以框住预测目标框和真实目标框最小长方形的对角线的长度;RIoU为预测目标框与真实目标框的交集与并集之比; β为权衡长宽比例造成的损失和IoU 部分造成的损失的平衡因子:

其中v为预测框和真实框长宽比归一化值:

式中:h、hgt分别为预测目标框和真实目标框的高度,w、wgt分别为预测目标框和真实目标框的宽度。

本文任务中,数据集小并且需要高精确度的目标定位,因此采用性能更优的Alpha-IoU 来计算真实框和预测框的位置损失。Alpha-IoU 是基于IoU Loss 采取幂变换提出了一个新的损失函数,通过调节参数α,使探测器更灵活地实现不同水平的边界框回归精度,对含有噪声的小数据集上鲁棒性更强。Alpha-IoU 损失函数为

2.4 Anchor 尺度重选取策略

在大多数应用场景下的目标检测任务中,对于初始Anchor 大小的选取非常重要,Anchor 大小是否合适将直接影响目标物体检测的结果,同时还会影响训练速度。 YOLOv5 模型算法对COCO 数据集设计生成不同大小的9 种Anchor,有3 种不同尺度,且每种尺度对应3 种不同大小的比例。针对本文任务,被检测目标的真实框尺寸较小且变化幅度小。在训练之前采用Kmeans 聚类算法对Anchor 尺度进行重选取,提高对绝缘子串销钉的检测精度和训练效率。Kmeans 聚类算法采用欧氏距离聚类得到n个Anchors,再使用遗传算法随机对Anchor 的长宽进行变异,变异后效果更好的保留,否则跳过。通过以上操作完成Anchor 的重新选取,先验框尺度如表1 所示。

表1 先验框尺度

3 实验

3.1 数据集以及实验环境

由于目前没有变电站悬式绝缘子的公开数据集,因此数据集为自行搭建,采集绝缘子图像进行筛选、标注等处理后,一共1 400 张图像,其中划分训练集1 000 张,验证集200 张,测试集200 张。

实验采用的操作系统为Windows10,GPU 型号为NVIDIA GeForce GTX 1050 Ti,显存大小为4 GB,内存大小为8 GB,CPU 型号为Intel(R) Core(TM)i5-10400F CPU @ 2.90 GHz,模型基于Pytorch1.7.1实现。

3.2 实验过程

3.2.1 nSNet 与ShuffleNetV2 性能对比实验

基于YOLOv5s 网络模型,在绝缘子销钉的小型数据集上比较了nSNet 模块构建的主干网络与ShuffleNetV2 模块构建主干网络的性能,参数为主干网络参数个数,评价指标mAP@0.5 是实际框与预测框交并比等于0.5 时的目标检测准确率,mAP@0.5:0.95 是指实际框与预测框交并比从0.5 开始,以0.05 间隔直到0.95 的平均目标检测准确度,实验结果如表2 所示。

表2 nSNet 与ShuffleNetV2 性能对比

表2表明,ShuffleNetV2 构建的Backbone 虽然结构更加简单、更加轻量化,但实验证明nSNet 模块构建的 Backbone 性能更优, 其mAP@0.5:0.95 比ShuffleNetV2 模块构建的主干网络高19.2%,mAP@0.5 高7.2%。

此外文中还比较了卷积核分别为为3×3、5×5 的深度可分离卷积的nSNet 模块构建的主干网络的性能,参数为主干网络参数个数,实验结果如表3 所示。

表3 nSNet 模块与卷积核为3×3 与5×5 性能对比

表3 表明,大尺寸卷积核比小尺寸卷积核在参数个数小范围增加下,其构建的nSNet 性能更优。

3.2.2 消融实验

在绝缘子销钉的小型数据集上进行了消融实验,其结果如表4 所示。

表4 YOLOv5-nS 的消融实验

消融实验结果显示,本文提出的Backbone 结构可以有效降低网络算法模型大小,大大减小了特征提取的参数量,但是精度较原始算法模型有一定幅度的下降;通过增加特征融合层、提高感受野的层次结构,在参数量小幅度上升的情况下mAP@0.5:0.95 提高了6%;采用K-means 聚类算法对Anchor 尺度重新选取、改进边界框回归损失函数,二者对于算法模型的检测精度均有一个较小的提升。

3.2.3 YOLOv5-nS 先进性验证

为了验证本文YOLOv5-nS 改进算法的先进性,我们与目前先进的相关目标检测算法在自建数据集上进行了模型算法对比。本文对比的模型有两阶段目标检测模型Faster-RCNN、单阶段目标检测模型SSD 以及YOLOv3-SPP,其实验结果如表5 所示。

表5 YOLOv5-nS 与其他算法对比

由表5 可以看出,本文改进算法YOLOv5-nS 与其他检测算法相比,在mAP@0.5:0.95 与mAP@0.5 上取得了最优的识别效果;与SSD 算法相比,mAP@0.5 提高了12%、mAP@0.5:0.95 提高了12.2%;在每张图片检测速度方面,YOLOv5-nS 比SSD 快了0.016 s,算法模型相对更小。

3.2.4 实验结果分析

对本文所提出的改进算法与原算法模型进行比对,其结果如表6 所示。

表6 YOLOv5-nS 与YOLOv5s 性能比对

由表6 可以看出, 在mAP@0.5:0.95 下降1.8%的情况下,YOLOv5-nS 比YOLOv5s 的参数少了89.7%,模型大小减小了87.5%,帧率提升了7 f/s。虽然YOLOv5-nS 的mAP@0.5:0.95 有所下降,但是满足绝缘子串销钉的检测任务需求,且检测速度更快,算法模型更加轻量化。

为了进一步验证YOLOv5-nS 在户外复杂光照场景下对多姿态绝缘子销钉的检测的适用性,选取了数据集中非训练集的部分数据进行检测,结果如图5 和图6 所示。

图5 光照不充足场景下绝缘子销钉检测结果

图6 强光场景下绝缘子销钉检测结果

由图5 与图6 可以看出,YOLOv5-nS 可以有效地检测出不同光照场景下的多姿态绝缘子销钉,不易受到复杂光照与姿态的影响,具有良好的鲁棒性。

4 结论

针对复杂光照场景中多姿态绝缘子销钉检测检测困难和检测速度慢的问题,本文基于YOLOv5 提出了一种适应性强、更加轻量化的YOLOv5-nS 算法模型。

1) 基于nSNet 模块所提出的一种新的Backbone 网络结构,可以有效减少网络特征提取部分的参数,使其算法模型更加轻量化。

2)在特征融合部分,通过增加特征融合层的方式提高算法模型的感受野层次结构,使算法模型在多尺度特征融合过程中获得更多的有效信息,对于目标物体的检测更加准确。

3)采用K-means 聚类算法对Anchor 尺度重选取与改进边界框回归损失函数可以进一步提升算法模型的检测精度与训练效率。

虽然实验结果证明了本文方法的有效性,可以准确并快速地检测出不同光照场景下的多姿态绝缘子销钉,为变电站绝缘子更换机器人在单片绝缘子更换中提供有效地视觉信息,但其仍然有很大的改进空间。采用轻量级网络结构是轻量化算法模型的有效方式之一,但是如何保证检在测精度不变甚至提升的条件下进一步降低计算量和参数量需要进一步研究。

猜你喜欢

销钉绝缘子尺度
纵连板式轨道-销钉体系动力响应及参数影响分析
更正
财产的五大尺度和五重应对
锅炉膜式壁管屏销钉自动焊工艺及系统开发
宇宙的尺度
1000kV耐张绝缘子串单片绝缘子的带电更换技术
9
500kV绝缘子串含零值绝缘子时的电晕放电分析
绝缘子的常见故障及排除方法
输电线路污闪及绝缘子选用探讨