APP下载

改进YOLOv3的绝缘子自爆缺陷检测方法

2022-12-06谭守标

小型微型计算机系统 2022年12期
关键词:绝缘子特征提取注意力

王 凯,许 敏,孙 翔,许 全,谭守标

(安徽大学 电子信息工程学院,合肥 230000)

1 引 言

绝缘子作为输电线路的重要组成部分,具有良好的电流绝缘和机械保护支撑作用[1].其长期暴露在自然环境恶劣的野外工作环境,从而很容易出现自爆、污秽等缺陷[2],直接影响了架空输电线路的安全和稳定性,甚至给社会造成巨大的经济损失[3].因此,为了确保电力系统的稳定运行,绝缘子的定期检查、维护是十分重要的.

传统的绝缘子缺陷检测主要依靠人工借助检测工具实地勘察、直升机载人巡检、再到后来通过传统检测算法分析无人机采集的输电线路图像.但是,我国的电力基础设施大多具有规模大、覆盖范围广、输电线路间结构复杂多变等特点,这些巡检方式在效率、安全性、成本、准确度等方面都存在明显的缺陷.近年来,随着深度学习的飞跃发展,图像分类、目标检测和语义分割等深度学习技术在计算机视觉中取得了巨大的进步,并且在实际工程中得到了广泛的应用[4].基于此,国内各电网公司相继开始将互联网、人工智能和电力系统相结合,以图像采集设备无人机为介质,将深度学习技术[5]应用到绝缘子缺陷检测.深度学习通过自主学习的训练方式,加上各个层级之间的互相联系,显著地提升了网络的特征提取能力,并且非线性表达能力也非常丰富.解决了传统方法在效率、成本、准确度等方面的不足,并对输电线路所处的复杂自然环境有很好的适应能力.

无人机航拍图像视野大,角度多变,导致航拍的绝缘子图像具有缺陷区域面积较小、背景复杂、干扰目标多等特点.基于上述无人机航拍绝缘子图像的特点,目前已经有了一系列基于深度学习的绝缘子缺陷检测算法研究.Liao等人[6]使用结合了深度残差网络Resnet101的Faster R-CNN算法对绝缘子缺陷进行检测,与传统的检测算法相比,显著提升了绝缘子缺陷的检测精度,但是该算法计算量较大,无法满足绝缘子缺陷检测的实时性需求.Yao等人[7]将YOLOv3应用于绝缘子缺陷检测,使用GIoU损失函数代替了原始损失函数的IoU损失,在不增加模型尺寸的情况下,相比较原YOLOv3算法提高了绝缘子的检测精度,但是漏检现象比较严重.Ling等人[8]采用级联的策略,首先通过Faster R-CNN检测出绝缘子的位置,然后再使用U-net分割识别缺陷目标,但是当绝缘子重叠时,该算法的绝缘子缺陷检测性能会显著降低.Wu等人[9]通过改进YOLOv3,设计了一种基于目标区域(ROI)的绝缘子缺陷定位方法.

基于上述分析可知,由于航拍图像中绝缘子缺陷区域面积小且背景复杂等特点,导致目标检测算法的绝缘子缺陷检测精度差.针对上述问题,并考虑到实际工程应用中绝缘子缺陷检测实时性的需求,本章选取当前最流行的单阶段检测算法YOLOv3进行研究,提出了基于YOLOv3改进的绝缘子缺陷检测算法GC-SPP-YOLOv3.实验表明,该方法相比较原始YOLOv3检测精度提升了3.43%,并且检测速度几乎没有损耗,依然可以满足绝缘子缺陷检测的实时性的需求.

2 基于YOLOv3改进的绝缘子缺陷检测算法

绝缘子缺陷检测具有缺陷目标较小、分辨率低、特征信息少、特征表达能力较弱等难点,针对上述问题,本文以提高绝缘子缺陷特征的表达能力为出发点进行一系列探索工作,主要改进如下:

1)借鉴Ghost Module[10]的思想,提出新的特征提取网络G-Darknet53,在保证检测精度不变的情况下,降低了模型在特征提取阶段的计算量,检测速度得到显著提升;

2)在G-Darknet53中引入双重注意力机制CBAM[11],优化骨干网络的特征表达能力,丰富特征图中绝缘子缺陷特征信息;

3)在YOLOv3的3个Detection head前面分别引入了空间金字塔模块,结合全局和局部的多尺度特征信息来丰富绝缘子缺陷目标的表征层次,改进算法GC-SPP-YOLOv3的网络结构如图1所示.

图1 GC-SPP-YOLOv3算法的网络结构

2.1 特征提取网络G-Darknet53

在传统的卷积操作中,为了让模型对输入的图片有透彻的理解,一般会通过大量卷积计算生成丰富冗余的特征图.特征图的冗余成为那些优秀的目标检测算法的一个特性.将ResNet50生成的特征图进一步处理得到图2[10],其中相似的特征图使用相同颜色的框标注.

图2 特征图可视化

如图2所示,特征图中存在大量的冗余相似特征图,这些冗余特征图为常见的检测算法带来了较好的检测效果,但是过多的卷积操作会导致大量的计算量.因此,如何在保持检测性能不变的情况下,减少卷积操作的计算量成为重要的研究点.针对上述问题,Han等人[10]提出了一个全新的Ghost Module,Ghost Module的主要思想分为两步:首先通过少量卷积获得输入图片的基础特征;然后基于上述基础特征,通过一系列简单的线性操作(Cheap Operations)生成丰富冗余的特征图,与普通卷积相比,所需要的参数量显著降低.

对于传统卷积获取冗余特征,假设输入数据为X,通道数为c,则通过传统卷积获取n个特征图的计算过程如式(1)所示,其中f为卷积核权重,b表示偏置项.

Y=X*f+b

(1)

而对于GhostModule,通过通道数为c的基础特征获取n通道特征图的计算过程如式(2)、式(3)所示.

Y′=X*f′+b

(2)

(3)

图3 G-Darknet53结构

2.2 双重注意力模块

注意力机制的思想主要是由人类视觉感知系统的工作原理启发而来,当需要关注视野中各种各样物体中的某一个时,视觉感知系统会通过复杂的视觉工作机制将感兴趣的物体聚焦,而对于周围不感兴趣的物体,就将其模糊或者淡化[12].Yu等人[13]将注意力机制的概念引入自然语言处理领域,并取得了巨大进步,基于此,随后在计算机视觉领域掀起了注意力机制的研究热潮,当今目标检测中常用的注意力机制有主要有CBAM和SENet[14]等.

由于无人机、直升机获取的输电线路图像具有视野大、目标小、场景复杂等特点,导致图像中缺陷特征信息少,为了提升网络的特征表达能力,以丰富特征图中的绝缘子缺陷特征信息,因此考虑在上述提出的特征提取网络G-Darknet53中引用双重注意力机制模块CBAM,CBAM的结构如图4所示.

图4 CBAM结构图

相比较SENet只关注特征通道的相关性,CBAM通过通道注意力机制和空间注意力机制结合的方式来提升模型的特征提取能力.在对提取的特征进行筛选加权的过程中,通道注意力机制着重关注“目标是什么”,使用平均池化和最大池化对特征图进行处理以降维,然后由多层感知机为每个通道的权重重新进行分配.其公式如式(4)所示,其中,σ代表激活函数.W0,W1为共享感知机的两层参数.

(4)

空间注意力机制着重关注的信息部分则是“目标在哪里”,首先采用最大池化和平均池化操作将通道数为C的特征图压缩至1,从而充分学习空间注意力的特征.其计算公式如式(5)所示,其中f7×7表示7×7大小的卷积核操作.

(5)

通过上述两种方式结合的方式来侧重提取有用的特征信息,而对于无用或普通信息则进行弱化,具体表现为在训练学习的过程中对特征图的权重重新赋值[14],注意力模型的注意点就是权重较高的特征图.从而更加高效地利用特征提取网络所提取的特征信息,以提升模型检测性能.本文将每个残差分支都插入一个CBAM模块,如图5所示,以提升网络的特征表达能力,本文将这个特征提取网络称为GC-Darknet53.

图5 Residual Block集成CBAM的结构

2.3 空间金字塔模块

YOLOv3通过借鉴特征金字塔FPN[15]的思想,引入了多尺度检测策略.通过融合3个不同尺寸的特征图对不同大小的目标进行检测,提升了YOLOv3在小目标检测方面的效果.但是YOLOv3的多尺度策略在对物体进行检测时,仅侧重于融合网络不同卷积层的全局特征,而忽略了同一卷积层在不同尺度上的局部区域特征的融合.因此,本节引入一个空间金字塔池化结构SPP模块[16],根据绝缘子数据集的特点,在YOLOv3的3个Detection head前的第5和第6个卷积层之间分别添加一个SPP模块,改进的SPP模块的结构如图6所示,使用k={1×1,5×5,9×9,13×13}的最大池化方式对特征图进行处理,再把各个尺寸的特征图与原特征图进行Concat操作.基于此设计,以池化和融合的方式充分利用同一卷积层的不同尺度的局部区域特征信息,结合全局和局部的多尺度特征信息来丰富绝缘子缺陷目标的表征层次,以提升绝缘子缺陷检测精度.

图6 空间金字塔模块结构

3 实验结果与分析

本实验所用的操作系统是64位Ubuntu18.04,深度学习框架采用的是Pytorch.具体实验环境配置如表1所示.

表1 实验环境

3.1 实验数据集

本文以某电网子公司提供的无人机巡检输电线路数据集作为本文绝缘子缺陷检测研究所用数据集.原始输电线路数据集共包括8780张图片,主要包括绝缘子、防震锤、塔号牌、散断股、鸟巢、大金具等类别.本文主要对输电线路上的绝缘子部件自爆缺陷的检测方法进行研究,通过数据清洗、数据分类等操作筛选出绝缘子自爆缺陷样本.此外,本文还对开源绝缘子数据集[17]中的自爆缺陷样本进行挑选并加入到本文数据集中,最终图片总数为1044张,为了方便后文讨论,将合并的数据集命名为CPLIFD(Chinese Power Line Insulator Fault Dataset).数据集中的绝缘子缺陷样本图像如图7所示.

图7 绝缘子缺陷样本

由于通过无人机巡检拍摄的图像具有视野大、目标小等特点,数据集中大部分图像中的绝缘子缺陷部位皆为小尺寸目标,此外,由于输电线路大都分布在野外无人的环境,无人机巡检拍摄图片的背景复杂多样,复杂的背景涵盖输电塔、田野、树林、山丘、民房等等.进而导致无人机巡检图像中的目标可能出现模糊、遮挡等问题,甚至同一目标在不同图像中形状、尺度不一.因此,当前对输电线路中小目标部件缺陷的实时、精准检测是一个非常棘手的任务.

3.2 评价指标

目标检测领域对模型检测性能评价有特定的指标,普遍使用的评价标准有精确率(Precision)和召回率(Recall).Precision又称查准率,它的含义是在被识别为正类别的所有样本中,现实情况下也为正类别的比例.Recall又称查全率,它的含义是在现实情况下为正例的全部样本中,模型对其识别结果仍为正例样本的比例.它们的计算公式如式(6)、式(7)所示:

(6)

(7)

式(6)、式(7)中的TP(TruePosition)、TN(TrueNegative)、FP(FalsePosition)、FN(FalseNegative)分别代表的含义如下:

TP:将真正的正类样本预测为正类样本的个数,即预测正确的预测框中与其对应真实边界框的IoU值大于0.5的个数;

TN:将真正的负类样本预测为负类样本的个数;

FP:将真正的负类样本预测为正类样本的个数,即误检的边界框中个数;

FN:将真正的正类样本预测为负类样本的数量,即实际漏检个数.

精确率和召回率是互斥存在的.比如采用增加置信度阈值的方式将精确率提高,但是这样会过滤了之前一些正确预测的边界框,漏检数量增加,从而降低了召回率.为了避免上述两者间的局限性,研究者提出了精确率-召回率曲线(PR曲线)的概念,可以得到不同召回率所对应的精确率.进而衍生了平均精度AP(Average Precision)的概念,代表在0-1范围内不同查全率对应查准率的平均值,一般将其作为算法对一个类别的检测性能指标,AP的计算公式为:

(8)

为了对算法在全部类别上的检测性能进行验证,又出现了平均精度均值mAP(Mean Average Precision).若类别个数为N,则mAP的计算公式为:

(9)

本文在验证上述所提出的绝缘子缺陷检测算法的检测性能所用到的评估指标主要包括:精确率(Precision)、召回率(Recall)、AP、mAP等.

3.3 训练细节

本文所研究的目标检测算法为基于数据驱动的有监督学习,需要大量的数据来训练模型.而CPLIFD数据集中的绝缘子缺陷目标个数并不充裕.因此,对数据集进行角度旋转、翻转、裁剪拼接等数据增强操作,最终得到的数据集共包括4020张图片,并将按照大约7∶2∶1划分数据集,划分后得到训练集2814张、验证集804张、测试集402张.

将上述针对YOLOv3的一系列算法改进分别在CPLIFD数据集上进行实验.由于YOLOv3会将输入图像的大小resize为640×640,因此,首先将CPLIFD数据集中的图像的宽和高同样以640为基准,进行缩放,从而加快网络的训练速度.训练时采用的预训练模型为官方ImageNet数据集[18]上的模型,具体训练参数设置如表2所示.

表2 网络训练时的超参数设置

3.4 实验结果与分析

依次使用上述改进策略组合在CPLIFD数据集上进行训练,实验结果如表3所示.由表3可知,在使用原始YOLOv3算法的实验1中defect的mAP为86.37%.在原始YOLOv3算法的基础上添加了所有的改进策略之后(实验4),mAP为89.80%,绝缘子缺陷检测精度相比原始YOLOv3算法提高了3.43%,检测速度几乎一致,仍满足实际工程中绝缘子缺陷检测的实时性需求,由此证明了本章改进策略的有效性.实验3中引入集成了特征提取网络G-Darknet53和双重注意力机制CBAM模块的GC-Darknet53,mAP相比较未使用任何改进策略的实验1提高了2.02%,因此得出本章提出的特征提取网络GC-Darknet是改善绝缘子缺陷检测精度的重要因素,并且检测速度方面也有很大的优势.实验4通过改进的空间金字塔模块充分利用同一卷积层的多尺度局部特征信息,以丰富特征图信息,相比于仅针对特征提取网络改进的实验3的mAP提升了1.49%,肯定了本文引入的空间金字塔模块在提升绝缘子缺陷检测精度方面的作用.

表3 不同策略组合在CPLIFD数据集上的效果

表3中的实验2使用了全新的特征提取网络G-Darknet53,在获取相同特征图的情况下,与普通卷积相比,计算复杂度显著降低.如表4所示,相比较实验1,模型的参数量显著减少,前向推理时间和NMS过滤时间降低,模型的FPS提高了18 f/s,证明了G-Darknet53在检测速度提升方面的有效性.并且检测精度方面也略有改善,mAP提升了0.35%.

表4 G-Darknet53在CPLIFD数据集上的检测效果

表3中的实验3在G-Darknet53的基础上,引入了双重注意力机制CBAM,得到了新的特征提取网络GC- Darknet53.为了进一步证明该改进策略的有效性,本文提出了下述改进:在G-Darknet53的基础上,在3个预测分支的前面添加一个CBAM模块;在G-Darknet53的基础上,在每个残差分支上添加一个通道注意力SENet模块;将上述注意力机制改进策略分别在CPLIFD数据集上进行训练,实验结果如表5所示.由表5可知,GC-Darknet53中注意力机制的改进策略在检测精度方面的表现最好,其他两种注意力机制改进策略的检测精度相比GC-Darknet53分别降低了1.69%和1.29%,基于上述实验分析,肯定了GC-Darknet53在提升绝缘子缺陷检测精度方面的优越性.

表5 不同注意力模块改进策略的对比效果

上述4个实验仅能证明本章的改进策略相对于原始YOLOv3算法有效果,但是其是否能达到先进水准尚需证明.

因此,将本章改进方法GC-SPP-YOLOv3与目前主流的目标检测方法[21-23]在一致的数据处理的前提下,在CPLIFD数据集上进行一系列的对比实验,具体结果如表6所示.

表6 不同目标检测算法的检测效果

由表6可知,在上述未添加任何改进的目标检测算法中,Faster R-CNN的绝缘子缺陷检测精度最高,mAP达到了87.1%,但是其检测速度相比于SSD、YOLO系列算法有明显劣势,因此很难应用于实际的绝缘子缺陷检测工程中.与此同时,GC-SPP-YOLOv3在CPLIFD数据集上的mAP相对于Faster R-CNN提升了2.7%,并且在检测速度上有显著的优势.另外一方面,虽然GC-SPP-YOLOv3的检测速度相对于YOLOv2有劣势,但是mAP提升了10.5%.基于上述一系列实验对比与分析,可以得出本文提出的改进算法GC-SPP-YOLOv3在检测精度和检测速度方面均有显著优势,能够满足实际工程中绝缘子缺陷检测的需求,其在CPLIFD数据集上的检测效果如图8所示.

图8 GC-SPP-YOLOv3的检测效果图

4 结 论

针对绝缘子缺陷目标小、导致缺陷特征少、检测精度差等特点,本文以提高绝缘子缺陷特征的表达能力为出发点进行一系列探索工作,提出了基于YOLOv3的改进算法GC-SPP-YOLOv3.首先在Darknet53的基础上结合了Ghost Module和双重注意力提出了新的特征提取网络GC-Darknet53,在提升了检测速度的同时,并优化了特征表示.其次在特征提取网络后面引入了一个基于SPP-Net改进的空间金字塔模块,进行多重感受野融合,丰富绝缘子缺陷目标的表征的层次.大量的实验证明了本文方法在有效地提升了绝缘子缺陷检测的精度的同时,并且检测速度方面也有很大优势,可以同时满足绝缘子缺陷检测在检测精度和检测速度方面的需求,对推动电力系统的自动化、智能化具有十分重要的现实意义.

猜你喜欢

绝缘子特征提取注意力
基于Mask RCNN的绝缘子自爆缺陷检测
让注意力“飞”回来
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于Daubechies(dbN)的飞行器音频特征提取
浅析输电线路绝缘子防污闪技术
“扬眼”APP:让注意力“变现”
Bagging RCSP脑电特征提取算法
A Beautiful Way Of Looking At Things
电力送电线路绝缘子性能及运行情况分析
红外检测劣化绝缘子的仿真试验