基于改进YOLOv5s网络的绝缘子缺陷检测
Insulator defect detection based on improved YOLOv5s network
收稿日期: 2023-10-30
基金资助: |
|
Received: 2023-10-30
Fund supported: | 浙江省属高校基本科研业务费专项资金(2020YW29). |
作者简介 About authors
李运堂(1976—),男,教授,博士,从事无人机电力巡检研究.orcid.org/0000-0003-0924-8187.E-mail:
针对现有目标检测算法在复杂背景下绝缘子缺陷检测中容易出现漏检、误检和检测效率低等问题,改进YOLOv5s网络以提高绝缘子缺陷检测精度和速度. 采用K-means++聚类分析绝缘子数据集,确定网络预设锚框尺寸;利用Hard-Swish激活函数替换主干网络第3、5、7层卷积模块的SiLU激活函数,并添加卷积注意力机制(CBAM),提高网络泛化能力;在主干网络与颈部网络间的跳跃链接添加CBAM,增强图像特征提取能力;利用交叉卷积替换颈部网络特征融合模块的残差结构,减少网络参数,提高检测速度. 实验结果表明:基于改进YOLOv5s网络的绝缘子缺陷检测精度和速度分别为88.6%和69.4帧/s,优于Faster R-CNN、YOLOv3、YOLOv4、常规YOLOv5s等主流网络,满足绝缘子缺陷检测要求.
关键词:
The YOLOv5s network was improved aiming at the problem of missed detection, false detection and low efficiency of existing object detection algorithms for insulator defects in complex backgrounds. K-means++ clustering was used to analyze the insulator dataset to determine the anchor box size preset by the network. The SiLU activation function of convolution module in the third, fifth, and seventh layers of the backbone network was replaced by Hard-Swish activation function, and the convolutional block attention mechanism (CBAM) was added to improve the network generalization ability. CBAMs were added to the skip links between backbone network and neck network to enhance the ability of image feature extraction. Moreover, the residual structure of feature fusion module of the neck network was replaced by the cross convolution to reduce the network parameters and improve the detection speed. The experimental results demonstrated that the detection accuracy and speed for the insulator defect by the improved YOLOv5s network were 88.6% and 69.4 frames per second, respectively, which were better than those of the popular networks such as Faster R-CNN, YOLOv3, YOLOv4 and regular YOLOv5s. The improved YOLOv5s network meets the requirements of insulator defect detection.
Keywords:
本文引用格式
李运堂, 张坤, 李恒杰, 朱文凯, 金杰, 章聪, 王冰清, OPPONGFrancis.
LI Yuntang, ZHANG Kun, LI Hengjie, ZHU Wenkai, JIN Jie, ZHANG Cong, WANG Bingqing, OPPONG Francis.
绝缘子缺陷视觉检测大多采用基于深度学习的目标检测方法,通过卷积神经网络学习缺陷特征,利用回归分析识别和定位缺陷. 其中,以YOLO (you only look once)系列为代表的单阶段目标检测网络具有检测精度高和训练速度快的优点,在绝缘子缺陷检测领域应用较多,但基于COCO数据集的预测锚框尺寸与绝缘子缺陷大小不匹配,训练过程中容易出现难以收敛的情况. Feng等[3]采用K-means聚类分析绝缘子数据集获得最佳锚框尺寸,解决预设锚框尺寸与绝缘子缺陷大小不匹配问题,增强YOLOv5网络泛化能力. 马进等[4]利用K-means++聚类确定YOLOv4初始锚框尺寸,提高绝缘子缺陷定位精度.
现有研究在绝缘子缺陷检测领域取得了一定成果,但绝缘子缺陷形态多样,并且相对于绝缘子图像而言,像素占比小,背景复杂时容易漏检、误检. 本研究改进YOLOv5s网络,提高复杂背景下绝缘子多类别缺陷检测精度. 针对绝缘子缺陷特征复杂多样,训练网络收敛较慢的问题,采用K-means++聚类得到最优预测锚框尺寸,提高YOLOv5s网络的泛化能力,加快网络训练收敛速度;针对复杂背景下绝缘子缺陷容易漏检的问题,主干网络采用Hard-Swish激活函数并引入CBAM注意力机制,提高绝缘子缺陷检测精度;针对绝缘子缺陷尺寸较小,定位不精准的问题,颈部网络引入交叉卷积,加强网络对绝缘子缺陷轮廓信息的关注度,提高网络定位精度.
1. 改进YOLOv5s网络
1.1. 常规YOLOv5s网络结构
图 1
主干网络由CBS、C3和SPPF (spatial pyramid pooling-fast)模块构成. CBS包括卷积层(Conv)、批量归一化(batch normalization, BN)和SiLU激活函数. C3由2个分支构成,一分支经过CBS和多个残差结构(BottleNeck),另一分支直接进行CBS卷积操作,最后将两分支堆叠和CBS卷积.
如图2所示,在SPPF模块中,先通过CBS卷积,再经过5×5卷积核连续3次最大池化下采样,将经过CBS卷积处理和每次池化操作所得的特征图堆叠,最后通过CBS卷积融合多尺度特征.
图 2
颈部网络采用特征金字塔网络(feature pyramid network, FPN)与路径聚合网络(path aggregation network, PAN)相结合的结构. FPN自顶向下上采样,使底层特征图包含更多像素信息;PAN自底向上下采样,使顶层特征图包含丰富语义信息. 多层次多尺度反复提取绝缘子关键特征,融合底层特征高分辨率和顶层特征丰富语义信息.
头部网络通过二维卷积将输出通道调整为检测类别和定位回归的张量维度,最终由头部网络YOLO Head1、YOLO Head2和YOLO Head3模块进行回归预测,每个预测模块分别输出3种不同尺寸的预测锚框,共9种锚框,常规YOLOv5s网络锚框尺寸如表1所示.
表 1 常规YOLOv5s网络锚框尺寸
Tab.1
特征图 | 尺寸 | 锚框尺寸 |
1 | 64×64 | (10,13),(16,30),(33,23) |
2 | 32×32 | (30,61),(62,45),(59,119) |
3 | 16×16 | (116,90),(156,198),(373,326) |
1.2. 改进YOLOv5s网络
常规YOLOv5s网络预设锚框基于COCO数据集训练,与绝缘子数据集标注框差异大,为了提高网络定位精度,须重新定义锚框尺寸. 同时,常规YOLOv5s网络提取绝缘子缺陷特征能力不足[13],在背景复杂时容易出现漏检、误检. 因此,须改进YOLOv5s网络,提高绝缘子多类别缺陷检测精度.
1.2.1. 基于K-means++聚类的预测锚框
K-means为迭代求解的聚类方法,须人为确定初始质心,难以获得全局最优解. K-means++[14]通过随机填充初始质心,避免初始质心过密,迭代求取预测锚框尺寸. 具体步骤如下.
1)在数据集中随机选取一个样本作为初始质心.
2)计算每个样本被选为质心的概率,并通过轮盘法选出下一个质心.
式中:P(t)表示样本被选为质心的概率,G(t)表示样本与质心的最短距离,t表示单个样本的标注框尺寸,T表示绝缘子数据集的标注框尺寸集合.
3)重复步骤2),直至得到k个质心为止.
4)计算每个样本与每个质心的距离,将所有样本划分到离它最近质心所对应的簇中.
5)更新簇的质心. 每个簇的质心更新为该簇所有样本的均值.
6)重复步骤4)、5),直至质心不变或达到指定迭代次数为止.
图 3
表 2 K-means++聚类锚框尺寸
Tab.2
特征图 | 尺寸 | 锚框尺寸 |
1 | 64×64 | (45,43),(116,30),(70,82) |
2 | 32×32 | (131,128),(283,60),(82,391) |
3 | 16×16 | (407,102),(465,202),(266,442) |
1.2.2. Hard-Swish激活函数
绝缘子在图像中像素占比少,容易受复杂背景影响导致误检. 为了增强绝缘子缺陷特征学习能力,采用Hard-Swish激活函数[15]替换主干网络卷积模块的SiLU激活函数.
如图4所示,SiLU激活函数在输入变量为负时,梯度更新较慢,训练时间成本高. Hard-Swish激活函数具有平滑和非单调特点,使网络具有更丰富的表达能力,增强网络的稳定性,且相比SiLU激活函数运算更快,能加快网络训练速度.
图 4
图 4 SiLU与Hard-Swish激活函数曲线
Fig.4 Curves of SiLU and Hard-Swish activation function
对比主干网络不同层采用Hard-Swish激活函数的检测效果,确定改进方法,实验结果如表3所示. 表中,mAP为多类别平均精度,FPS为检测速度. 可以看出,主干网络第1层卷积模块采用Hard-Swish激活函数会导致网络检测精度下降,第3、5、7层卷积模块采用Hard-Swish激活函数能够提高网络检测精度和检测速度,表明Hard-Swish激活函数在网络深层表达能力更强且运算速率更快.
表 3 Hard-Swish激活函数实验结果
Tab.3
方法 | 层1 | 层3 | 层5 | 层7 | mAP/% | FPS/(帧·s−1) |
HS0 | — | — | — | — | 86.1 | 64.1 |
HS1 | √ | — | — | — | 85.7 | 64.1 |
HS2 | — | √ | — | — | 86.2 | 64.2 |
HS3 | — | √ | √ | — | 86.4 | 64.4 |
HS4 | — | √ | √ | √ | 86.6 | 64.5 |
1.2.3. 卷积注意力机制
由于绝缘子缺陷尺寸小,网络层次加深易导致缺陷特征丢失,造成漏检. 引入CBAM,加强网络对绝缘子缺陷特征的关注度,提高网络检测精度.
如图5所示,CBAM沿着2个独立的维度(通道和空间)依次求取权值,再将输入特征图依次与通道注意力权值和空间注意力权值相乘.
图 5
通道注意力权值计算过程如图6所示,输入特征图通过最大池化和平均池化,压缩特征图尺寸,得到2个一维矢量信息,再经过共享全连接层,将2个一维矢量逐元素相加并采用Sigmoid函数将通道注意力权值矩阵中的元素转换到0~1.0.
图 6
式中:Mc表示通道注意力权值矩阵,MLP表示共享全连接层,MP (F)、AP (F)分别表示对输入特征图做最大池化运算和平均池化运算,F表示输入特征图,σ表示Sigmoid函数.
空间注意力权值计算过程如图7所示,输入特征图沿通道轴方向做最大池化和平均池化,得到2个二维矩阵,再经卷积层将2个二维矩阵融合并采用Sigmoid函数将空间注意力权值矩阵中的元素转换到0~1.0.
图 7
式中:Ms表示空间注意力权值矩阵,ƒ7×7表示卷积核为7×7的卷积,Fc表示通道注意力处理后的特征图.
为了验证引入不同注意力机制对绝缘子缺陷检测结果的影响,在相同实验环境下,对比常规YOLOv5s和分别引入三元组注意力机制(triplet attention, TA)、挤压与激励注意力机制(squeeze and excitation, SE)和CBAM注意力机制的实验结果,如表4所示. 表中,M表示模型参数量. 可以看出,TA、SE和CBAM注意力机制有助于提高网络检测精度,相对于常规YOLOv5s网络,mAP分别提高0.3、0.8、1.2个百分点. 但添加注意力机制导致网络参数增加,检测速度下降.
表 4 多种注意力机制对模型性能影响的实验结果
Tab.4
网络 | M | mAP/% | FPS/(帧·s−1) |
常规YOLOv5s | 86.1 | 64.1 | |
TA | 86.4 | 63.7 | |
SE | 86.9 | 63.3 | |
CBAM | 87.3 | 62.5 |
如图8所示对比了常规YOLOv5s网络和分别引入3种注意力机制的热力图.可以看出,常规YOLOv5s网络在检测绝缘子缺陷时,受背景干扰较大;引入TA未能有效消除背景干扰;SE增强了网络抗干扰能力,但对缺陷特征的关注减弱;相比TA和SE,CBAM显著增强缺陷特征关注度并降低背景干扰.
图 8
1.2.4. 基于交叉卷积的C3X模块
绝缘子缺陷尺寸小且形态多样,常规YOLOv5s存在提取绝缘子缺陷轮廓信息能力不足的问题,利用交叉卷积替代特征融合模块的残差结构得到轻量化C3X模块,能增强网络对绝缘子缺陷轮廓信息的关注度,交叉卷积结构如图9所示.其中,Conv1和Conv2分别为1×3和3×1的卷积核,在卷积时对输入图像进行填充,确保输入和输出特征图大小一致. 交叉卷积利用非对称卷积核Conv1和Conv2依次提取特征图水平和垂直方向的梯度信息,并与原特征图进行融合. 与感受野相同的普通卷积相比,交叉卷积具有参数少、像素信息保存更完整的优点.
图 9
1.2.5. 改进YOLOv5s网络结构
改进YOLOv5s网络结构如图10所示. 首先将主干网络第3、5、7层卷积模块的SiLU激活函数替换为Hard-Swish激活函数并添加CBAM,提高网络特征学习能力和特征表达能力;在主干网络与颈部网络间的跳跃链接添加CBAM,提高网络特征提取能力,减少误检和漏检;最后将颈部网络特征融合模块替换为轻量化C3X模块,提高检测速度.
图 10
改进YOLOv5s网络不同层特征图的输出结果如图11所示,可直观显示改进网络绝缘子缺陷检测过程. 可以看出,改进网络经过不断堆叠融合绝缘子缺陷特征后,能够准确定位绝缘子破损区域.
图 11
图 11 不同层特征图可视化结果
Fig.11 Visualization results of feature maps at different layers
2. 实验数据与网络训练
2.1. 实验环境
实验环境配置:深度学习框架Pytorch-GPU V1.7.0,深度神经网络加速库CUDNN8.3.2;GPU运算平台CUDA11.7,显卡Nvidia GeForce RTX
2.2. 数据集搭建
通过网络公开数据集获取绝缘子图像,分别为中国输电线路绝缘子数据集(
图 12
为了提高网络的泛化能力,增强数据集. 首先,将162张绝缘子图像作为测试集. 其次,对余下数据集分别采用先增强后划分和先划分后增强扩充数据集,对比分析2种方法的训练效果.
数据增强利用随机翻转、添加噪声、平均像素和图片缩放等操作,将数据集扩充至
表 5 数据集增强实验结果
Tab.5
方法 | 网络 | mAP/% | |
验证集 | 测试集 | ||
先增强后划分 | Faster R-CNN | 85.9 | 84.2 |
YOLOv3 | 91.8 | 86.1 | |
YOLOv4 | 92.2 | 86.4 | |
常规YOLOv5s | 93.5 | 85.9 | |
先划分后增强 | Faster R-CNN | 84.5 | 84.4 |
YOLOv3 | 86.3 | 86.3 | |
YOLOv4 | 86.7 | 86.5 | |
常规YOLOv5s | 86.2 | 86.1 |
2.3. 网络评价指标
采用精准率P、召回率R、平均精度AP、多类别平均精度mAP和检测速度. FPS等评价指标[20]检验网络性能.
式中:TP为正样本被正确识别的数量,FP为负样本被识别为正样本的数量.
式中:FN为正样本被识别为负样本的数量.
式中:AP指由坐标轴和精准率曲线所包围区域的面积,反映网络单个类别检测性能.
式中:mAP反映网络整体检测性能,N为检测类别总数.
2.4. 网络训练
图 13
图 13 改进YOLOv5s评价指标变化曲线
Fig.13 Evaluation metrics change curves for improved YOLOv5s
图 14
2.5. 消融对比实验
消融对比实验结果如表6所示. 其中,方法1是在常规YOLOv5s的基础上,采用K-means++聚类锚框尺寸;方法2是在方法1的基础上,将主干网络第3、5、7层卷积模块的SiLU激活函数替换为Hard-Swish激活函数并添加CBAM;方法3是在方法2的基础上,在主干网络与颈部网络间的跳跃链接添加CBAM;方法4是在方法3的基础上,利用交叉卷积替代颈部网络特征融合模块的残差结构,为最终的改进YOLOv5s网络.可以看出,方法1相比常规YOLOv5s整体检测精度提高0.3个百分点,表明采用K-means++聚类锚框尺寸可以提高网络定位精度;方法2相比方法1在绝缘子破损和闪络缺陷上的检测精度分别提高1.3、2.1个百分点,表明主干网络第3、5、7层卷积模块采用Hard-Swish激活函数并嵌入CBAM,可以增强网络特征表达能力和特征提取能力;方法3相比方法2整体检测精度提高1.0个百分点,但检测速率下降,表明在主干网络与颈部网络间的跳跃链接添加CBAM可以提高网络对绝缘子缺陷特征的关注度,但参数增多,检测耗时变长;方法4相比方法3在绝缘子破损缺陷上的检测精度提高0.8个百分点,且整体检测速度提高8.3帧/s,表明采用交叉卷积替代颈部网络特征融合模块的残差结构,能够增强网络对绝缘子缺陷轮廓信息的关注度,并且减少模型参数,提高检测速度. 最终,改进YOLOv5s精准率和召回率分别为90.2%和83.4%,检测精度和速度分别为88.6%和69.4帧/s.
表 6 消融对比实验结果
Tab.6
网络 | P/% | R/% | AP/% | mAP/% | FPS/ (帧·s−1) | |||
正常 绝缘子 | 缺陷 绝缘子 | 破损 缺陷 | 闪络 缺陷 | |||||
常规 YOLOv5s | 88.1 | 81.2 | 95.9 | 94.7 | 87.1 | 66.7 | 86.1 | 64.1 |
方法 1 | 88.3 | 81.6 | 96.2 | 95.0 | 87.3 | 67.1 | 86.4 | 64.1 |
方法 2 | 89.4 | 82.5 | 96.3 | 95.1 | 88.6 | 69.2 | 87.3 | 62.5 |
方法3 | 89.8 | 83.1 | 96.7 | 95.7 | 90.4 | 70.4 | 88.3 | 61.1 |
方法 4 | 90.2 | 83.4 | 96.9 | 95.8 | 91.2 | 70.5 | 88.6 | 69.4 |
3. 实验结果与性能分析
3.1. 对比实验结果
图 15
图 15 不同网络检测结果对比
Fig.15 Comparison results of different network detection results
3.2. 网络性能分析
表 7 不同网络对比实验结果
Tab.7
网络 | S/MB | P/% | R/% | mAP/% | FPS/(帧·s−1) |
Faster R-CNN | 130.4 | 78.6 | 83.2 | 84.4 | 4.8 |
Faster R-Transformer | 105.6 | 83.3 | 83.9 | 86.4 | 7.2 |
YOLOv3 | 59.1 | 85.5 | 81.6 | 86.3 | 23 |
YOLOv3-SimAM | 68.2 | 87.9 | 82.2 | 87.1 | 18.9 |
YOLOv4 | 61.4 | 87.3 | 80.4 | 86.5 | 20.1 |
YOLOv4-GhostNet | 35.9 | 87.5 | 82.6 | 87.4 | 26.7 |
常规YOLOv5s | 13.4 | 88.1 | 81.2 | 86.1 | 64.1 |
YOLOv5-TR | 13.6 | 88.5 | 80.5 | 86.9 | 63.5 |
改进YOLOv5s | 12.7 | 90.2 | 83.4 | 88.6 | 69.4 |
Faster R-CNN作为双阶段网络结构,检测精度低,且参数多、检测速度慢;Faster R-Transformer召回率较高,漏检少,但精准率较低,容易误检;YOLOv3与YOLOv3-SimAM存在检测速度较慢的问题;YOLOv4召回率较低,容易出现漏检;YOLOv4-GhostNet召回率较高,但检测速度较慢;YOLOv5-TR精准率较高,但召回率较低,容易出现漏检. 与其他网络相比,改进YOLOv5s网络检测效果最优,检测精度和检测速度分别为88.6%和69.4帧/s.
3.3. GUI检测界面
为了便于对拍摄视频和图片的在线检测,基于QT搭建了GUI图形化检测界面,并对无人机航拍图像进行检测,检测界面如图16所示.
图 16
4. 结 语
针对现有目标检测方法复杂背景下绝缘子缺陷容易漏检、误检的问题,改进YOLOv5s网络. 利用K-means++聚类得到最佳锚框尺寸,提高绝缘子缺陷定位精度;采用Hard-Swish函数作为主干网络第3、5、7层卷积模块激活函数并添加CBAM,增强网络学习绝缘子缺陷特征的能力;将CBAM嵌入主干网络与颈部网络间的跳跃链接,提高绝缘子缺陷特征关注度,减少误检;利用交叉卷积替代颈部网络特征融合模块的残差结构,提取特征图梯度信息,减少漏检并提高检测速度. 不同网络对比实验结果表明,改进YOLOv5s网络精准率和召回率分别为90.2%和83.4%,复杂背景下绝缘子缺陷误检和漏检少,并且检测精度和速度分别为88.6%和69.4帧/s,能够实现绝缘子缺陷的快速高精度检测.
本研究提升了绝缘子缺陷的检测精度和速度,但在绝缘子闪络缺陷上的检测精度仍须改进. 未来工作将重点提高闪络缺陷的识别率,并将优化后的网络部署到嵌入式设备上进行性能测试.
参考文献
Insulator visual non-conformity detection in overhead power distribution lines using deep learning
[J].DOI:10.1016/j.compeleceng.2019.08.001 [本文引用: 1]
A deep learning approach for insulator instance segmentation and defect detection
[J].DOI:10.1007/s00521-021-06792-z [本文引用: 1]
应用于绝缘子缺陷检测的轻量化YOLOv4研究
[J].
Research on lightweight YOLOv4 applied to insulator defect detection
[J].
基于改进YOLOv5s绝缘子缺陷检测技术研究
[J].
Research on defection technology based on improved YOLOv5s insulator
[J].
Novel feature fusion module-based detector for small insulator defect detection
[J].DOI:10.1109/JSEN.2021.3073422 [本文引用: 1]
基于轻量化改进型YOLOv5s的可见光绝缘子缺陷检测算法
[J].
Defect detection algorithm based on lightweight and improved YOLOv5s for visible light insulators
[J].
High-accuracy insulator defect detection for overhead transmission lines based on improved YOLOv5
[J].
基于轻量化YOLOv4的复杂场景绝缘子缺陷检测算法
[J].
Insulator defect detection algorithm for complex scenes based on lightweight YOLOv4
[J].
Insulator defect detection algorithm based on improved YOLOv5
[J].DOI:10.54097/fcis.v3i2.7168 [本文引用: 1]
Fast detection of defective insulator based on improved YOLOv5s
[J].
基于层次多任务深度学习的绝缘子自爆缺陷检测
[J].
Insulator self-explosion defect detection based on hierarchical multi-task deep learning
[J].
A light defect detection algorithm of power insulators from aerial images for power inspection
[J].DOI:10.1007/s00521-022-07437-5 [本文引用: 1]
基于多尺度特征融合的绝缘子缺陷检测
[J].
Insulator defect detection based on multi-scale feature fusion
[J].
An insulator self-blast detection method based on YOLOv4 with Aerial Images
[J].
基于YOLOv5s的无人机密集小目标检测算法
[J].
UAV dense small target detection algorithm based on YOLOv5s
[J].
Faster R-Transformer: an efficient method for insulator detection in complex aerial environments
[J].DOI:10.1016/j.measurement.2022.111238 [本文引用: 1]
/
〈 |
|
〉 |
