APP下载

融合多尺度特征的轻量级YOLOv7绝缘子缺陷检测算法

2023-12-29党宏社张选德

电瓷避雷器 2023年6期
关键词:绝缘子特征提取尺度

党宏社,许 勃,张选德

(陕西科技大学电气与控制工程学院,西安 710021)

0 引言

随着我国电力行业的发展输电网络的规模越来越大,其上分布的绝缘子数量也不断增加[1-3],而绝缘子长期暴露在自然环境下,容易受到烈日、冻雨以及雷暴等恶劣天气影响,出现自爆、裂缝等缺陷[4-6],是输电线路部件中最易损坏的组件之一[7],给电力系统稳定运行带来了极大的安全隐患[8-10]。因此通过对绝缘子定期巡检来保护输电线路安全运行十分重要[11]。传统的人工巡检方式,效率低且在山谷、江河等地段难以进行作业。随着无人机技术发展,使用无人机采集图像后检测的巡检方式降低了作业难度,而且速度更快、效率更高,现已成为输电线路巡检的主要手段[12-13]。

绝缘子缺陷检测方法主要有传统视觉方法以及深度学习方法[14]。传统视觉方法通过人工设计提取特征,然后依据这些特征训练分类器,但这种方法计算量大检测速度慢,且提取到的特征容易受到背景环境影响,鲁棒性较差[15]。深度学习的方法有效弥补了传统视觉方法的不足[16],同时深度学习方法中的各种目标检测算法速度和精度都更具优势[17-19]。基于深度学习的方法中张青华等[20]通过在SSD算法中引入FPN结构,对网络提取到的特征进行增强,提升了算法的检测精度,但FPN结构的引入使网络结构更加冗余,增加了参数量,导致检测速度降低。张欣[21]等针对小目标绝缘子缺陷提出一种改进的Cascade R-CNN算法,通过引入RoI Align方法以及将损失函数替换为Focal LOSS,提升了对小目标绝缘子缺陷的检测性,但该算法检测过程需要先生成候选区域,再对候选区域卷积检测绝缘子缺陷,检测速度较慢。宋智伟[22]等提出一种改进的YOLOv7检测算法,通过在主干网络引入GAM注意力机制以及在损失函数中引入Efficient IOU LOSS,提升了遮挡情况下的缺陷检测精度。李发光[23]等在CenterNet算法中引入注意力机制以及特征加强模块,使算法更多关注缺陷位置的特征信息,避免了背景环境的干扰,但特征增强模块以及注意力机制的引入增加了网络深度,导致小目标绝缘子缺陷的特征信息在卷积的过程中丢失,出现漏检的情况。王红君[24]等在YOLOv5s的基础上设计了GhostC3以及Ghost Conv,使用更加轻量的卷积方式提取特征,使得网络的检测速度更快,但该算法的检测精度有所下降。在电力设备的巡检过程中,准确、快速的检测是实现状态判定的前提和关键,仅提升检测的速度或精度不能满足实际应用的需要。因此现阶段绝缘子缺陷检测依然存在以下问题。1)现有的算法仅考虑检测精度或速度的提升,难以满足实际巡检的要求,因此需要对两者进行平衡以兼顾检测精度与速度。2)巡检过程中为了保证输电线路的安全,无人机需要在安全范围内对绝缘子拍摄,因此绝缘子缺陷属于小目标,而现有算法的网络层数过深,在卷积过程中会丢失缺陷的特征信息,导致出现漏检的情况。

为解决上述问题,本研究提出一种融合多尺度特征的轻量级YOLOv7绝缘子缺陷检测算法,通过将引入注意力机制的GhostNet作为主干网络以及将深度可分离卷积(Depthwise Convolution,DW)[25]引入头部网络对网络轻量化,提升检测速度,在颈部网络设计更加高效的Light-SPPCSPC提取绝缘子及缺陷的全局与局部特征,在特征金字塔部分将不同尺度的特征图融合,充分利用绝缘子缺陷的高、低层语义信息,解决网络多次卷积丢失特征信息的问题。

1 融合多尺度特征的轻量级YOLOv7绝缘子缺陷检测算法

1.1 算法总体流程

针对绝缘子缺陷部分面积较小、背景环境复杂等特点设计了融合多尺度特征的轻量级YOLOv7绝缘子缺陷检测算法,算法检测整体流程见图1。首先对输入图像进行预处理,通过Resize将输入图像固定为640×640的统一尺寸,之后图像进入图2所示的算法网络中输出20×20,40×40,80×80的3个特征张量对先验框进行调整,因调整后的绝缘子及缺陷会有较多重复的预测框,因此需要非极大值抑制选出置信度水平最高的预测框保留。原始YOLOv7算法网络的主干网络使用了大量的普通卷积,导致网络参数量庞大,且检测速度较低,影响检测效率,因此本研究使用引入CA[26]注意力机制的GhostNet作为主干网络,减少特征提取的时间。在颈部网络中所提算法继承了原始YOLOv7的ELAN-H、MP2模块,ELAN-H模块通过控制最短和最长的梯度路径,对输入图像不断地进行特征提取和融合,使网络能学习到更多的特征,增强了鲁棒性。原始YOLOv7中使用创新性的MP2模块对特征图进行下采样,MP2过渡模块结合了两种常见过渡模块的优点,减少了计算量,降低了后续的检测成本,因此保留了MP2以及ELAN-H模块。受SPPF的启发在颈部网络设计了高效的Light-SPPCSPC结构,使用串行方式提取特征,并在特征提取过程中进行特征融合,保证了感受野的大小,提升了检测速度。针对现有算法网络层数过深导致特征信息丢失的问题,在颈部网络的特征金字塔部分将低层的细节特征引入高层特征中融合,避免了小目标缺陷特征信息丢失的问题,并使网络学习到的特征更加丰富,最后原始YOLOv7的头部网络使用参数量较多的RepConv获得预测结果,不利于缺陷的快速定位,因此引入深度可分离卷积将其代替,提升检测效率。算法的主干网络、颈部网络(Light-SPPCSPC+多尺度特征融合)以及头部网络的具体结构及原理在1.2、1.3、1.4节中依次介绍。

图1 绝缘子缺陷检测算法总体流程

图2 绝缘子缺陷检测算法网络结构

1.2 CA-GhostNet主干网络

为了提升网络的检测速度,使用轻量型的GhostNet替换YOLOv7的主干网络,同时为了在特征提取的过程中,能够更好地关注绝缘子缺陷部分的特征信息,避免复杂背景环境的干扰,引入CA注意力机制[26],给缺陷部分的特征信息更高的权重,增强缺陷位置的特征表达。CA注意力机制在主干网络中的位置如表1中所示。GhostNet最大的特点就是使用计算量更低的Ghost Module卷积构成GhostNet Bottlenecks结构来提取特征,GhostNet Bottlenecks结构如图3所示。

表1 CA-GhostNet整体网络结构

图3 GhostNet Bottlenecks结构

1.3 Light-SPPCSPC特征提取模块

航拍得到的绝缘子图像中,绝缘子与缺陷部分尺寸差距较大,网络难以充分提取两者的位置以及细节信息,且YOLOv7中的特征提取模块SPPCSPC使用并行的方式提取特征,增加了计算开销,不利于特征的快速提取。因此设计了一种新的特征提取模块Light-SPPCSPC替代原本的SPPCSPC。图4为Light-SPPCSPC结构。

图4 Light-SPPCSPC结构

该模块的特征挖掘过程如下:

1)对主干网络输入的特征图采用两个1×1卷积以及一个深度可分离卷积进行特征提取得到特征图,并将特征图送入串联的池化操作部分。

2)串联的池化部分中第一部分是3个串联的池化层(Maxpooling,MP)[27],依次对输入特征图进行特征提取,第二部分为一个残差边,将第1)步所得的特征图与第二次池化后的特征图进行特征融合然后送入第3个池化层中进行特征提取,最后将3个池化层的输出与1)的特征图融合。

3)将2)得到的特征图经过一个1×1卷积和深度可分离卷积提取特征之后与大残差边经过1×1卷积之后的特征图进行融合,并再经过一次1×1卷积之后得到最后的输出。

Light-SPPCSPC中使用串行方式提取特征与SPPCSPC并行提取特征的方式感受野完全相同,而串行方式检测速度更快、计算开销更小。串联池化部分的特征融合,保证了在绝缘子和缺陷尺寸差距较大时,能充分地对两者的特征进行表达,增强绝缘子串以及绝缘子缺陷位置特征的表达能力。最后深度可分离卷积的引入减少了参数量。

教材是教学的载体,是学生获得知识的重要来源.长期以来,多数中小学数学教师尤其是农村数学教师在使用教材时照本宣科,认为只要将书本上的知识教给学生就足够了,并没有根据学情的实际及教学条件的变化而灵活变通.本文所讨论的“制作一个尽可能大的无盖长方体形盒子”课题学习问题的三种解法中,近似逼近法是现行初中多版教材解决该问题的方法,而不等式法和极值法分别是高中数学和高等数学教材中涉及到的解法,国培研讨过程中发现的问题说明了农村初中数学教师太拘泥于教材中的知识,忽视了不同学段之间数学教材中知识内部的联系,这在很大程度上降低了教师使用数学教材的成效.

1.4 多尺度特征融合及头部网络轻量化

在颈部网络特征提取时,需要对输入的特征图进行大量的卷积,而绝缘子缺陷位置在图像中一般比较小,多次卷积之后容易丢失缺陷位置的细节信息,导致漏检、定位不准确的情况。因此本研究提出一种多尺度特征融合的特征金字塔网络结构,加强缺陷位置的特征表达。多尺度特征融合网络结构如图5所示。

图5 多尺度特征融合结构

该结构的特征挖掘过程如下:

1)主干网络输出的3个特征图作为特征金字塔的输入,输入的特征图在特征金字塔的上采样部分经过反复的卷积与融合。

2)在特征金字塔的下采样部分进行多尺度特征融合,将Feature map1(F map1)和上采样部分输入第一个ELAN-H的特征图以及原本的输出P3进行融合,将融合之后的特征图送入1×1卷积中得到最后的输出P3。

3)将Feature map2(F map2)与第一个ELAN-H的输出以及原本的输出P4进行特征融合送入1×1卷积中得到最后的输出P4。

4)将经过Light-SPPCSPC的特征图与原本的输出P5进行特征融合送入1×1卷积中得到最后的输出P5。

在特征金字塔中,低尺度的特征图分辨率较高,细节信息较多。而随着网络上升高尺度特征图的分辨率不断降低,其中包含的高级语义信息越来越多,细节信息越来越少[28],缺陷部分的细节信息发生了不可逆的丢失。因此本研究在特征金字塔部分将低尺度高分辨率的特征图与高尺度低分辨率的特征图进行融合,增强绝缘子缺陷部分的细节特征表达,避免因多次卷积,丢失特征信息而出现漏检的情况。同时在每次多尺度特征融合后添加了一个1×1的卷积层来减少网络的参数,1×1卷积的使用有效降低了网络的参数[29],避免了网络的冗余。

YOLOv7的头部预测网络使用RepConv结构[30]进行预测,但该结构较为复杂,为了使网络能够进一步的轻量化,使用参数量更少、结构更加简单的深度可分离卷积代替RepConv结构,对输出的特征图进行预测。

2 实验结果与分析

2.1 实验配置与评价指标

实验所用主机软硬件环境如表2所示:

表2 主机软硬件环境

为了全面客观评价算法性能,选取平均精度均值mAP(Mean Average Precision)、检测速度FPS(Frame Per Second,帧·秒-1)、参数量以及FLOPs(衡量算法/模型的复杂度)4种指标衡量模型的检测性能,计算公式如下所示。

(1)

(2)

(3)

(4)

(5)

Confidence=Pr(object)*class_probability

(6)

式(1)和式(2)中的TP为正样本被正确认识的数量,FP为负样本被误识别为正样本的数量,FN为漏报的正样本的数量,式(3)中AP为Precision-Recall曲线围成图形的面积,式(4)中c(classes)为总的种类数量,即绝缘子和缺陷两类,mAP为绝缘子和缺陷两者的平均AP值,mAP越高,则模型的性能越好。式(5)中frameNum为处理的总帧数,elapsedTime为所用时间。式(6)中Pr(object)表示边界框中是否存在一个物体的概率,class_probability表示该物体实例属于某个特定类别的概率,置信度越高则说明模型对该类物体的检测越准确,漏检的可能性越低。

2.2 数据集构建

本研究数据集来源于两部分,第一部分是GitHub上开源的CPLID数据集共848张其中缺陷绝缘子248张,第二部分是百度飞桨包含600张缺陷绝缘子。为了增强模型的泛化能力,防止过拟合情况出现,通过加入噪声、旋转、以及镜像等方法对数据集进行了扩充最终得到4 733张图片,其中缺陷绝缘子数量为2 233张。并以8∶1∶1将数据集分为训练集、验证集和测试集。本研究绝缘子数据集部分图片见图6,其中包含瓷质绝缘子、玻璃绝缘子两种,同时包含田野、湖泊、森林等多种复杂背景环境。

图6 绝缘子数据集部分图像

2.3 网络训练

网络训练分为两个阶段,第一阶段采用迁移学习的方式[31]进行训练,即使用在通用数据集上得到的预训练权重,初始化网络参数。第二阶段在本研究自建的绝缘子数据集上继续训练,对网络参数进行微调。实验过程中的参数设置如下:总的训练epoch为100,其中Freeze_Epoch为50,batch_size设置为2,初始学习率为0.001,衰减系数为0.000 5,训练过程中使用sgd对学习率进行优化。网络训练过程中的损失以及mAP值见图7、8,网络经过不断的迭代最终损失趋于稳定,mAP也逐渐稳定,模型达到收敛。

图7 损失值变化曲线

图8 mAP变化曲线

2.4 结果与分析

2.4.1 消融实验

由表3消融实验结果可知,将YOLOv7的主干网络替换为CA-GhostNet后FPS提升了18.58%,参数量下降24.3%,FLOPs下降56.1%。因为相比于YOLOv7的主干网络,CA-GhostNet网络结构更加轻量,参数量更少,在mAP下降1.89%的情况下,网络的速度、参数以及FLOPs都在性能上有了提升。

表3 消融实验结果

使用Light-SPPCSPC特征提取模块后,FPS提升6.5%,参数量下降13%,FLOPs下降6.3%,mAP上升0.08%。该效果源于Light-SPPCSPC增强了特征的表达能力,加快了检测的速度。

将头部预测网络中的残差结构替换为深度可分离卷积后,参数量下降25%,FLOPs下降25.8%,FPS提升3.5%。相比于残差结构,深度可分离卷积的结构更加简单,参数量也更少,在网络推理的过程中可以减少计算开销。

在特征金字塔部分进行多尺度特征融合后,mAP提升1.14%,因为多尺度特征融合对绝缘子缺陷部分特征进行了增强,避免了特征信息的丢失,所以mAP有所提升。

相比与YOLOv7使用4种改进策略后,网络FPS提升26%,参数量下降47.4%,FLOPs下降66.9%,在精度略微下降的基础上提升了网络的检测速度,实现了检测速度与检测精度的平衡,同时减少了漏检情况出现,表明本研究提出的4种改进策略合理。

2.4.2 不同检测网络性能对比实验

表4为文中算法与目前主流算法的对比实验,相比于单阶段中基于Anchor-free的FCOS,文中算法参数量减少38.5%,FPS提升32.9%,FLOPs降低78.3%。与YOLO系列的YOLOv5以及YOLOvX相比文中算法在参数量方面分别下降57.9%、63.5%,FPS分别提升26%、29.42%,FLOPs下降分别69.9%、77.4%。相比于单阶段的经典算法SSD本研究算法参数量减少24.8%,FPS降低19.07%,FLOPs降低43.9%。相比于Resnet-FasterRcnn本算法参数量减少85.6%,在主机的检测速度提升3倍左右,mAP提升12%,FLOPs减少90.49%。

表4 不同目标检测网络对比实验

综上所述,SSD算法检测速度最快,但其检测精度相对较低。在检测精度方面本研究算法与FCOS、YOLOv5、YOLOvX检测精度基本相近,但检测速度具有一定优势。网络的参数量以及FLOPs本研究算法均为最优。因此综合来看本研究算法实现了检测速度和精度的平衡,优于目前主流算法,在保证绝缘子缺陷检测低漏检率的同时提高了检测速度。

各算法检测的直观效果展示如图9所示,检测框上的数值代表算法检测的置信度水平,图9(a)中FCOS检测算法的3张直观效果图检测得到的置信度平均值为0.84,图9(b)中SSD算法检测得到的置信度平均值为0.61,图9(c)中YOLOv7算法检测置信度平均值为0.81,文中算法的检测置信度平均值为0.88,相比于目前主流算法检测置信度更高,表明本研究对绝缘子缺陷的检测性能更好,泛化能力更强,降低了绝缘子缺陷漏检的可能。

图9 不同算法检测效果

3 结语

本研究提出一种融合多尺度特征的轻量级YOLOv7绝缘子缺陷检测算法。实验结果表明,所提算法检测速度达到34.27帧·秒-1,检测精度达到97.06%,网络参数量为19.77 M,FLOPs为35.20 G。与SSD、YOLOv7、FCOS、FasterRcnn等算法相比,实现了检测精度与速度的平衡。在算法直观检测效果图中,所提算法能够准确检测出绝缘子缺陷且检测置信度较高,增强了泛化能力,降低了绝缘子缺陷漏检的可能。

猜你喜欢

绝缘子特征提取尺度
财产的五大尺度和五重应对
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
宇宙的尺度
1000kV耐张绝缘子串单片绝缘子的带电更换技术
基于MED和循环域解调的多故障特征提取
9
500kV绝缘子串含零值绝缘子时的电晕放电分析
绝缘子的常见故障及排除方法
输电线路污闪及绝缘子选用探讨