基于改进YOLOv7-tiny算法的输电线路螺栓缺销检测

2023-09-13 03:57杨校李赵晓雨彭运猛廖明艳
关键词:销钉螺栓卷积

杨校李,高 林*,赵晓雨,彭运猛,廖明艳

(1.湖北民族大学 智能科学与工程学院,湖北 恩施 445000;2.恩施州生产力促进中心,湖北 恩施 445000)

随着中国经济的快速发展和国民生活对电力需求的不断增加,输电线路的安全性和稳定性显得尤为重要。输电线路通常分布在恶劣环境中,如野外和山区;由于长期暴露在户外,容易受到外界环境的影响,从而导致螺栓销钉紧固部件的松动或脱落。这种情况可能引起其他零部件失灵,从而产生安全隐患。因此,为了保障输电线路的安全运行,及时检测输电线路螺栓是否缺少销钉成为关键性的问题之一。输电线路螺栓缺销情况难以察觉,传统的螺栓缺销检测主要通过人工巡检方式进行,然而这种方式存在效率低、检测精度不高、有人员安全隐患等缺点。由于输电线路通常具有较长的线路和大量的螺栓,因此对于螺栓缺销检测方法的效率要求较高;检测方法需要能够快速、准确地检测大量的螺栓是否有缺销情况发生,以保证线路的安全性和稳定性。为此,现代化的输电线路巡检方式应运而生,其主要采用无人机、智能巡检机器人等设备,通过高分辨率机载摄像头实现对输电线路全面、准确地监测。如果机载摄像头能够搭配目标检测算法,就能快速、准确地发现和检测螺栓缺销的位置,从而极大提高电力巡检的效率和精度。野外环境中的输电线路通常容易受到多种因素干扰,如光照、风、尘埃等;这些因素都会导致图像质量下降,从而影响螺栓缺销检测的准确程度,因此,对目标检测算法的设计和优化提出了较高的要求。

基于深度学习的目标检测算法已经在许多领域得到了广泛应用。目标检测算法主要包括双阶段和单阶段2种,前者包括快速基于区域的卷积神经网络(fast region-based convolutional neural network,fast R-CNN)[1]、更快速R-CNN(Faster R-CNN)[2]、级联基于区域的卷积神经网络(cascade region-based convolutional neural network,Cascade R-CNN)[3]等算法;后者包括你只看一次(you only look once,YOLO)系列[4]、单步多框目标检测 (single shot multibox detector,SSD)[5]、视网膜网络(retina network,RetinaNet)[6]、中心点网络(center network,CenterNet)[7]等算法。在输电线路螺栓缺销检测方面,也有一些学者采用上述目标检测算法来实现。如李瑞生等[8]提出了改进版SSD算法进行输电线路销钉缺陷检测,该算法结合了残差网络和多级特征融合策略,采用了卷积拆分、权重量化和多尺度特征融合等技术,但该算法的检测精度和召回率不高。Li等[9]提出了新的改进SSD模型,该模型通过扩张卷积增加感受野,并利用卷积拆分技术减少运行时间;这种改进在提高精度和响应速度方面取得了成功,能满足实时应用需求,但平均精度仍有待提高。Zhang等[10]提出了基于Faster R-CNN算法的改进方法,使用深度残差网络作为预特征提取网络,并对无人机巡检图像中的小物体进行了优化;该方法在检测效果和泛化能力方面取得了良好结果,但未对模型进行轻量化处理。He等[11]提出了用于输电线路故障自动检测的销钉缺陷检测模型,采用高分辨率特征池化方法和空间注意力机制改善小目标的特征表达和分类精度;然而,在螺栓缺销的精度方面仍有改进空间。郭敬东[12]提出了基于改进版YOLOX模型的分级检测方法,可以高效、准确地检测传输线路环境及其组件中的异常,引入了自适应特征融合模块增强多尺度特征的融合能力,并设计了分层检测网络,可以在复杂的输电线路场景中精确地检测螺栓等小物体;然而,采用分级检测的方法会导致模型的计算量和复杂度进一步增加。Yue等[13]提出了基于3级级联架构和注意力机制的新型输电线路缺陷检测方法,有效解决了传统深度学习网络缺陷检测的样本稀缺、类别不平衡和缺陷规模小等问题,但实时性仍需进一步提升。

在输电线路螺栓缺销检测领域,诸多学者已经提出了多种改进算法,思路包括优化特征提取结构、轻量化处理模型、引入特征融合技术、应用注意力机制等;然而,最大的挑战仍是如何在保证螺栓缺销检测精度的同时拥有较高的检测速度。为此,提出改进YOLO第7微小版(YOLO version 7-tiny,YOLOv7-tiny)算法,通过收集输电线路大量真实的螺栓图像数据,使用改进YOLOv7-tiny网络进行训练和优化,从而实现对螺栓缺销的准确检测;同时,还研究在复杂环境下对数据进行预处理和特征提取的技术,以提高检测算法的鲁棒性和准确性。该算法采取的一系列优化措施包括对卷积的优化、IoU损失函数的选择、设置高效解耦头等,以期为输电线路螺栓缺销检测提供新的解决方案,并提高工作效率和检测的可靠性。

1 改进YOLOv7-tiny算法

近年来,YOLO系列算法在目标检测领域不断发展。从YOLOv3[14]、YOLOv4[15]到2021年推出的YOLOR[16]、YOLOX[17],再到2022年的飞桨YOLO高效(paddle-paddle YOLO efficient,PP-YOLOE)[18]和新的YOLOv7[19]算法,每个版本都在前一版的基础上进行了改进和优化。

其中,YOLOv7是单阶段目标检测模型,存在多个不同版本,包括YOLOv7-tiny、YOLOv7、YOLOv7-W6、YOLOv7-X、YOLOv7-E6和YOLOv7-D6等。这些模型采用复合缩放技术来增加整体架构的深度和宽度,以实现更高的性能和准确性。YOLOv7-tiny模型具有更小的模型尺寸和更快的推理速度,其适用于资源有限设备上的实时目标检测任务。虽然其检测性能略逊于YOLOv7,但YOLOv7-tiny在轻量级应用场景下仍能提供足够的精度和速度。YOLOv7-tiny模型的基本结构由以下部分组成:

1) 主干网络。包括卷积(conv)+批量归一化(batch normalization,BN)+带泄露修正线性单元(leaky rectified linear unit,LeakyReLU)(CBL)、增强型高效层聚合网络(efficient long-range aggregation network,ELAN)、最大池化(max pooling,MP)。

2) 颈部网络。采用空间金字塔池化(space pyramid pool,SPP)模块和YOLOv5的路径聚合特征金字塔网络(path aggregation feature pyramid network,PAFPN)架构。

3) 检测头。沿用YOLOR模型的IDetect检测头。

基于以往的研究成果,提出了改进的YOLOv7-tiny算法,其网络结构如图1所示(图中红色方框表示改进部分)。由图1可知,通过采用DSConv[20]替换原版YOLOv7-tiny网络中的3×3卷积组成了新的DSConv+BN+LeakyReLU (DSConv batch normalization LeakyReLU,DBL)模块;在检测头部分,设置为高效解耦头 (efficient decoupled head,EDeHead)[21],将分类和定位2个任务分开处理,提高模型的检测精度;最后,采用WIoU损失函数[22]替换原版YOLOv7-tiny的完整交并比(complete-IoU,CIoU)损失函数,以提高缺失销钉样本的权重,从而使模型更加关注重要的目标,减少正负样本不平衡带来的噪声干扰,提高模型的鲁棒性,进一步优化网络的性能。

图1 改进后的YOLOv7-tiny网络结构Fig.1 Improved YOLOv7-tiny network structure

1.1 分布移位卷积

在网络设计中,DSConv是可用于各种卷积神经网络推理和训练的即插即用替代品,具有2个主要优点:首先,DSConv可以提高标准卷积的存储效率和速度;其次,通过将网络中的3×3卷积替换为DSConv,可以在略微降低模型精度的情况下提高检测速度,并降低模型的运算量。以往的实验结果表明,将DSConv应用于神经网络中,可以有效降低计算复杂度,每秒10亿次的浮点运算数(giga floating-point operations per second,GFLOPs)可从13.2降低至5.6。因此,DSConv是有效的优化选择,其基本结构如图2所示。

图2 DSConv基本结构Fig.2 Basic structure of DSConv

由图2可知,DSConv 是使用量化和分布位移来模拟卷积行为的方法;其中,⊙表示哈达玛算子(Hadamard operator)。该方法由2个部分组成:可变量化内核(variable quantized kernel,VQK)和分布位移。VQK仅保存位长可变的整数值,这是DSConv量化分量的一部分,可以使乘法速度更快,存储效率更高;分布位移目的是移动VQK的分布,以模拟原始卷积核的分布,“位移”是指缩放和偏置操作,用2个张量来实现:内核分布移位器(kernel distribution shifter,KDS)和通道分布移位器(channel distribution shifter,CDS),前者移动VQK每个块中的分布,后者移动每个通道中的分布。通过DSConv,卷积核可以减少到原始大小的一部分,从而实现更快、更节省内存的计算。

1.2 高效解耦头

传统的目标检测算法通常采用融合处理方式,将目标分类和位置回归任务合并到同一个网络中处理;但是,这种联合处理方式可能会导致分类和回归任务相互干扰,从而影响检测精度。为此,采用高效解耦头的设计,将分类和回归任务分别交给不同的头部网络进行处理;这种方法使得网络更加专注于单一的任务,从而提升检测精度。高效解耦头结构如图3所示。

图3 高效解耦头结构Fig.3 Efficient decoupled head structure

由图3可知,首先对输入的特征图进行1×1卷积操作,以调整通道数;然后,将特征图输入2个平行分支中,每个分支都包含1个3×3大小的卷积层,用于提取特征;最后,通过1次1×1卷积操作,得到3个输出结果:分类输出用于确定螺栓目标的类别(正常或缺销);回归输出用于确定目标边界框的位置和大小;目标输出用于确定检测到的螺栓是否为前景目标,即是否包含螺栓。高效解耦头将目标的分类和定位2个任务分离开来,分别由不同的头部网络进行处理;相比于传统的融合处理方式,该方法能够提升检测精度,并且能够使网络更加高效。

1.3 WIoU损失函数

传统YOLOv7-tiny算法采用CIoU损失函数作为边界框的损失函数。由于训练数据集中不可避免地存在低质量样本,这些样本往往会导致模型的泛化能力下降,特别是当存在几何因素(例如距离和纵横比)时,该问题尤为突出;为此,使用WIoU损失函数替代CIoU损失函数。实验测试了2个版本的WIoU函数(WIoUv1和WIoUv2),经过多次实验,最终选择了WIoUv2版本作为替代版本。

首先,在IoU损失函数的基础上结合了距离注意力机制,得到了具有2层注意力机制的WIoUv1;其中,第1层注意力用于计算样本之间的距离,第2层注意力则用于惩罚低质量样本,则有

LWIOUv1=RWIoULIoU,

(1)

其中,LWIOUv1为WIoUv1函数,LIoU为IoU损失函数,RWIoU为WIoU的惩罚项,由下式计算:

(2)

其中,x和y是锚框左上角的坐标,xgt和ygt是目标框左上角的坐标,Wg和Hg表示最小边界框的宽和高;同时,为了消除RWIoU阻碍收敛的影响,将Wg和Hg从计算图中分离(上标*表示此操作)。

WIoUv1函数有效地消除了阻碍收敛的影响,且没有引入新的指标(如纵横比)。RWIoU∈[1,e),提高了正常质量先验框的LIoU;LIoU∈[0,1],降低了高质量先验框的RWIoU,并强调了先验框和目标框重叠时中心点之间的距离。

接着,为了有效降低简单样本对损失值的贡献,使得算法能够聚焦于困难样本,获得分类性能的提升,在WIoUv1的基础上提出了WIoUv2,即

(3)

2 实验结果及分析

2.1 实验数据

实验收集了1138张输电线路螺栓缺销图像组成数据集。输电线路螺栓缺销情况如图4所示。由图4可知,该数据集包含2个类别的目标对象:正常销钉和缺失销钉。为确保数据集的质量,对数据图像进行了清晰度、样本均衡性等方面的筛选,并采用人工标注的方式对螺栓销钉进行矩形框标注。另外,为保证标注的准确性和一致性,逐一检查和修正每张图像的标注结果。经过面积统计分析发现,这2个类别的目标对象在原始图像中的平均面积占比分别为0.012和0.015。相关研究结果表明[23],当目标在原图中占比小于0.1时,通常认为该目标属于小目标,在目标检测中难以被准确识别。因此,在训练目标检测模型时,需要特别关注小目标的识别和定位能力,采用合适的模型和数据增强策略来提高模型的性能和泛化能力。

(a) 正常销钉 (b)缺失销钉图4 输电线路螺栓缺销Fig.4 Transmission line bolt missing pin

为提升所提算法的泛化能力和鲁棒性,采用Imgaug图像增强库进行数据增强。该增强库支持图像、热图、关键点、边界框和多边形的增强技术,包括了模糊、颜色、算数、卷积、翻转、几何、对比、天气8个主要部分。

另外,采用Mosaic数据增强对训练集进行处理,将4张图像随机裁剪成4个矩形并组合成1个大矩形,同时采用水平翻转和90°旋转扩展数据集的视角范围。再通过对图像增加或降低25%的亮度来进行调整,增加数据集的多样性,以适应各种光线环境下的输入。

数据增强后生成2438张包含标签的图像数据,将该数据集中的图像按照8∶1∶1的比例随机划分为训练集、验证集、测试集,特别考虑2类螺栓目标的数量分布,以确保每个集合中的样本数量和类别比例能代表整个数据集的特征。

2.2 实验环境及参数

实验所使用的目标检测系统是基于Python环境实现的,计算机配置为NVIDIA GeForce RTX 3090 GPU(24GB)和Intel Core i7-11900K CPU,具有64GB DDR4内存,运行Windows 10操作系统。此外,实验使用了PyTorch 1.11.0深度学习框架,CUDA版本为11.2。

模型的训练轮数设为300轮,输入图像的大小为640像素×640像素。批量大小设置为128以适应显存。在训练的初始阶段,采用预热学习率策略对学习率进行预热,以加快收敛;预热学习率会逐渐升高,直至达到初始学习率为止;初始学习率设置为0.01,可以根据数据集的特性进行调整。为了防止过拟合,对模型的权重进行L2正则化,即权重衰减设置为0.005。在优化器方面,采用了带有随机梯度下降动量的梯度下降法,动量参数设置为0.937,以加速优化过程并减少振荡。

2.3 消融实验

针对研究中的目标检测任务,采用检测速度、平均精度(average precision,AP)、平均精度均值(mean average precision,mAP)作为评估指标;其中,对正常螺栓平均精度(average precision of normal bolts,APN)和螺栓缺销平均精度(average precision of bolt missing pin,APM)进行单独评估,整体性能指标采用mAP0.5(IoU阈值为0.5)来衡量。为验证改进YOLOv7-tiny算法的有效性,进行了一系列消融实验,结果如表1所示。

表1 消融实验结果Tab.1 Results of ablation experiment

由表1可知,改进YOLOv7-tiny模型能在不同程度上改进原版网络,如使用DSConv替换3×3卷积(YOLOv7-tiny+DSConv模型),网络的mAP0.5只有87.6%,但检测速度增长到178帧/s,有效提升了网络的检测速度。通过设置高效解耦检测头来改进网络结构(YOLOv7-tiny+EDeHead模型),虽然mAP0.5增长到89.5%,但检测速度降低到135帧/s。分别用WIoU损失函数的2个版本代替了原来的CIoU损失函数(YOLOv7-tiny+WIoUv1和YOLOv7-tiny+WIoUv2模型),对比发现,WIoUv2损失函数对于提高螺栓缺销的检测精度效果更好,mAP0.5增长到89.8%,这是因为WIoUv2构建了距离注意力和交叉熵的单调聚焦机制;其中,距离注意力有效降低了低质量样本对损失值的贡献,使模型具有更好的泛化能力,而交叉熵的单调聚焦机制能够让网络更关注缺销样本,获得分类性能提升。在引入DSConv和EDeHead时(YOLOv7-tiny+DSConv+EDeHead模型),检测速度降低到143帧/s,mAP0.5增长到90.2%;在引入DSConv和WIoU损失函数时(YOLOv7-tiny+DSConv+WIoUv2模型),检测速度增长到176帧/s,mAP0.5为89.6%;验证了DSConv、EDeHead、WIoU损失函数对于网络模型的性能提升都有不同程度的贡献。将文中提及的3种改进方法结合起来得到的改进YOLOv7-tiny算法,在检测速度降低到143帧/s情况下,mAP0.5增长到90.6%,表明改进后的网络拥有较强的特征提取能力和检测速度。总的来说,该算法为提高目标检测网络在特定环境中应用的性能提供了有效的解决方案,在检测速度和精度之间取得了良好的平衡。

消融实验的可视化检测效果如图5所示。由图5可知,原版YOLOv7-tiny模型存在置信度偏低的问题,YOLOv7-EDeHead和YOLOv7-WIoUv2模型在对复杂环境背景下的销钉检测中都存在不同程度的漏检和误检;而改进YOLOv7-tiny模型对正常销钉和缺失销钉的检测精度和置信度优于其他算法,减少了误检和漏检,对不同电力环境下螺栓销缺的锈蚀和遮挡情况也具有一定的检测能力。

(a) YOLOv7-tiny (b) YOLOv7-EDeHead (c) YOLOv7-WIoUv2 (d) 改进YOLOv7-tiny图5 消融实验可视化检测效果Fig.5 Ablation test visualization detection effect

2.4 对比实验

为了验证所提模型的有效性,将其与另外9种类型的目标检测模型作对比,包括Faster R-CNN、SSD、YOLOv3、YOLOv4-csp、YOLOX-s、YOLOR-csp、YOLOv5s、YOLOv7和YOLOv8s,实验结果如表2所示。

表2 对比实验结果Tab.2 Comparison test result

由表2可知,改进YOLOv7-tiny模型在APN、APM、mAP0.5指标方面表现都较为出色,优于Faster R-CNN、SSD、YOLOv3、YOLOv4-csp、YOLOX-s、YOLOR-csp和YOLOv5s目标检测模型;另外,与YOLOv7目标检测模型相比,改进YOLOv7-tiny模型的APN由93.1%降低到92.2%,但APM、mAP0.5、检测速度都有所增加;与YOLOv8s目标检测模型相比,改进YOLOv7-tiny模型的检测速度由151帧/s降低到143帧/s,但APN、APM、mAP0.5也都有所增加。由此可知,改进YOLOv7-tiny模型在检测的精度和速度之间取得了良好的平衡,可以在实际应用中表现出较好的性能。

对比实验的可视化检测效果如图6所示。由图6可知,YOLOv3、YOLOR-csp、YOLOv5s目标检测算法对正常销钉和缺陷销钉检测置信度较低,改进YOLOv7-tiny模型在复杂环境下的检测精度和置信度有所提升;另外,YOLOv3、YOLOR-csp、YOLOv5s目标检测算法存在误检和漏检问题,改进YOLOv7-tiny模型在复杂的电力环境下特征提取能力更加出色,能够更准确地定位和识别螺栓缺销缺陷,提高检测精度,从而改善漏检和误检问题。综合来看,改进YOLOv7-tiny模型在检测螺栓缺销方面表现得更加精确,所提优化策略不仅提高了模型性能,还增强了鲁棒性和可靠性;这些结果为进一步探索和改进目标检测领域的相关技术提供了有力支持。

(a) YOLOv3 (b) YOLOR-csp (c) YOLOv5s (d) 改进YOLOv7-tiny图6 对比实验可视化检测效果Fig.6 Comparison test visualization detection effect

3 结论

提出了改进YOLOv7-tiny模型,用于检测输电线路的螺栓缺销;该模型结合了分布移位卷积、高效解耦头、WIoU损失函数,实现了精度和速度的平衡,对复杂电力背景下的缺失销钉检测具有较高的识别能力。实验结果表明,改进YOLOv7-tiny模型在测试集上的平均精度均值为90.6%,对正常销钉检测的平均精度为92.2%,对缺失销钉检测的平均精度为89.0%,检测速度达到了143帧/s。

尽管该模型在实时性方面取得了一定进展,但在某些复杂场景下的应用仍存在性能上的瓶颈;因此,可以考虑进一步优化推理过程,如结合硬件加速器、网络剪枝和量化等技术,以提高检测速度和效率,使模型适用于更广泛的应用场景。此外,还可以研究该模型对输电线路中其他异常情况的检测,如杆塔倾斜和线路破损,并通过引入新的网络架构和算法,进一步提升输电线路的可靠性和安全性。

猜你喜欢
销钉螺栓卷积
纵连板式轨道-销钉体系动力响应及参数影响分析
M16吊耳螺栓断裂失效分析
更正
基于3D-Winograd的快速卷积算法设计及FPGA实现
预紧力衰减对摩擦型高强螺栓群承载力的影响
从滤波器理解卷积
螺栓紧固杂谈
锅炉膜式壁管屏销钉自动焊工艺及系统开发
基于傅里叶域卷积表示的目标跟踪算法
一种基于卷积神经网络的性别识别方法