基于ScSGB-RCNN网络的输电线路航拍绝缘子目标检测

2024-04-17 09:16曾业战段志超郭彦东钟春良
电瓷避雷器 2024年1期
关键词:航拍绝缘子卷积

曾业战,段志超,郭彦东,钟春良

(湖南工业大学电气与信息工程学院,湖南 株洲 412007)

0 引言

绝缘子长期暴露在户外,且工作环境恶劣,易导致绝缘性能下降和安全事故。为保证电网的安全运行,需定期对绝缘子进行检测与维护。然而,由于输电线路途经地形复杂,早期的人工线路巡检难度大、成本高,人工攀爬巡检已不适用于输电线路的运行维护。近年来,随着无人机技术的快速发展,利用无人机对输电线路绝缘子进行航拍,继而采用人工智能技术对航拍所获图像进行目标检测的方法已逐渐成为主流[1],效率可达人工巡检的40倍,且安全可靠,满足电力系统“智能化”需求[2]。目前,航拍绝缘子目标检测方法主要分为图像处理、机器学习[5]、和深度学习等。与前两种方法相比,基于深度学习的输电线路航拍绝缘子目标检测方法具有精度高、速度快的优势[6]。

基于深度学习的输电线路航拍绝缘子目标检测可分为单阶段与双阶段检测算法。单阶段检测算法目前包括SSD、YOLO系列等,由于此类方法采用端到端的思想来预测所有类别信息的置信度,因此在检测速度上具有一定的优势,但是单阶段检测算法模型主干网络复杂度低,对于复杂的野外环境而言检测精度欠佳。双阶段检测算法主要包括RCNN[13]、Fast-RCNN[14]和Faster-RCNN等方法,相较于单阶段检测算法,此类算法模型参数量大、复杂度高,具有较高的检测精度,故而在精度检测要求高、速度检测要求低的航拍绝缘子检测任务中,双阶段检测算法比较适用,而在双阶段检测算法中Faster-RCNN的检测效果最好。针对进一步提高Faster-RCNN算法在航拍绝缘子目标检测任务中的性能,许多专家提出了一系列改进措施。

其中,赵等[18]在Faster-RCNN骨干网络中引入基于注意力机制的SENet网络,并对候选区域锚点比例和尺度进行调整,通过更新目标建议框的特征向量实现航拍绝缘子识别,但SENet并不能扩大卷积网络的感受野,因此对于绝缘子检测效果不佳;易等[19]在Faster-RCNN的基础上引入对手生成策略,根据航拍绝缘子目标的自身特性调整滑动窗口产生的候选区域比例,实现不同尺寸及输电线路遮挡绝缘子的检测,虽然精度有所提升,但是微调候选区域并不能有效解决Faster-RCNN收敛速度慢、运行速度低的问题;左等[20]提出了基于跨连接卷积神经网络的航拍绝缘子检测方法,该方法首先将ZF网络最后三层卷积层分别和全连接层连接,然后将感兴趣区域特征输入级联的Adaboost分类器,实现了对航拍绝缘子目标的检测,虽然该方法较简单,但ZF网络较目前主流的主干网络提取特征的能力差,因此对于精度的提升有限。胡等[21]提出一种改进Faster-RCNN的航拍绝缘子识别与提取方法,虽然通过引入Inceptionv2网络提高绝缘子检测精度,但该方法在卷积网络中采用的是BN[22]归一化函数,在小batch_size时BN稳定性差、模型收敛速度慢[23, 24],另外Inceptionv2网络增加了多个网络分支,使得计算成本大幅增加,降低了算法的运行速度。

针对上述算法存在的检测精度不够高,模型收敛慢、运行速度低的问题,本研究提出了一种改进Faster-RCNN网络的输电线路航拍绝缘子目标检测方法。首先,为增加卷积层感受野和输出特征的表达能力,设计了基于自校准模块[25]和ConvNeXt[26]网络的ScConvNeXt网络主干。然后,针对算法运行速度慢的问题,通过改进FPN[27]提出一种轻量化的特征金字塔结构SFPN,并融合ScConvNeXt网络的多尺度特征,生成更加丰富的特征图像,提高不同大小绝缘子检测的鲁棒性,同时减小模型计算量,提高算法运行速度。最后,对FRN[24]进行改进,采用GeLU[28]激活函数强化其非线性表达能力,加速模型收敛,并通过改进IoU[29]提出BIoU,进一步提高算法的精度和模型的收敛速度。综上,本研究提出的绝缘子检测算法精度优于现有主流的绝缘子检测算法,模型收敛速度显著提升,算法运行速度加快,通过采用本研究提出的输电线路航拍绝缘子目标检测方法,可更好地辅助检修人员完成检测任务,为输电线路航拍绝缘子目标检测提供技术参考。

1 算法描述

本研究以Faster-RCNN(如图1所示)为基本框架,设计了ScSGB-RCNN(ScConvNeXt+SFPN+ GRN+BIoU+Faster-RCNN)网络进行输电线路航拍绝缘子目标检测,改进后的检测流程图如图2所示:首先,为提高卷积网络的感受野和注意力,采用ScNet和ConvNeXt设计了ScConvNeXt构建绝缘子特征提取网络,在FPN网络的基础上优化冗余结构生成SFPN网络,基于ScConvNeXt和SFPN网络,融合多尺度特征信息生成预测特征层;然后,运用RPN网络获取预测特征矩阵,在此基础上采用RoI pooling和全连接网络得到待预测结果;最后,利用改进后的BIoU参与损失计算,得到最终的输电路线航拍绝缘子图片目标检测结果。

图1 Faster-RCNN网络的基本框架Fig.1 The basic framework of Faster-RCNN network

图2 基于ScSGB-RCNN网络的绝缘子检测流程Fig.2 Insulator detection process based on ScSGB-RCNN network

1.1 设计主干网络

1.1.1 改进ConvNeXt网络

针对由于卷积核感受野不够大导致特征输出信息不够丰富的问题,本研究采用自校准卷积模块和ConvNeXt网络,设计了ScConvNeXt主干网络,如图3所示,以进一步提高检测精度。ScConvNeXt网络的卷积层ScConv主要分为3步:分解、融合、拼接,其步骤如下:

图3 ScConv网络结构Fig.3 ScConv network structure

1)分解:基于 GRN归一化(详见本研究1.1.2小节)和7×7分组卷积对X进行分解,得到X1和X2,并对X2进行GRN归一化、1×1卷积运算得到得到Y2。

2)融合:首先,将X1进行GRN归一化、1×1卷积和全局平均池化运算,输出Xout1:

(1)

式中,H和W为X1的高和宽,*和F分别为1×1卷积和GRN归一化运算。然后,为丰富输出特征和扩大卷积层感受野,将Xout1的GRN归一化、1×1卷积和上采样运算结果,与X1的恒映射结果进行融合,得到Xout2,如式(2)、(3)所示:

X1=Identity(X1)

(2)

Xout2=Interpolate([F(Xout1)]*,4)+X1

(3)

式中,Identity为恒等映射运算,Interpolate为最邻近插值运算。

最后,将Xout2的Sigmoid运算值与X1的GRN归一化、1×1卷积结果进行乘法运算得到Iout,经GRN归一化、1×1卷积后输出Y1。

Iout=Sigmoid(Xout2)·[F(X1)]*

(4)

Y1=Iout*

(5)

3)拼接:将Y1与Y2进行拼接,得到融合结果Y。继而输出给SFPN网络,进一步融合特征。

经过上述分解、融合和拼接处理后,航拍绝缘子图片属于不同层的特征信息进行了充分融合,扩大了卷积核感受野,算法检测精度和收敛速度都得到了提升。

1.1.2 改进归一化函数

传统卷积神经网络常采用BN进行归一化,虽然可以提升训练速度,防止过拟合,但采用小batch_size训练时,BN的性能将下降。针对这一问题,本研究参考FRN进行改进(改进后的归一化函数命名为GRN),方法为采用GeLU替换TLU层中的ReLU,使得输出的特征非线性性能更加平滑,以提高检测精度,同时提升模型的收敛速度。GRN主要包含两部分:归一化DRN层和阈值线性单元TLU层,如图4所示,步骤如下。

图4 GRN结构Fig.4 ScConv network structure

1)构建DRN层

首先,对形状为(B,C,H,W)的特征图X计算均方差σFRN2:

(6)

式中,H、W为X的高和宽,N=H×W,xi∈X,i∈[0,N]。由于DRN的计算过程不涉及batch_size大小,因此,与BN相比,检测精度更为稳定。

然后,为加快模型训练速度,对X进行归一化处理:

(7)

(8)

2)构建TLU层

考虑到DRN归一化后X的数据会有一部分偏移零点,影响算法精度。为解决该问题,采用阈值化的GeLU加上τ作为激活函数TLU:

TLU=max(yi,τ)=GeLU(yi-τ)+τ

(9)

式中,γ、β、τ(阈值)为可学习的参数。

1.2 改进特征金字塔

受噪声、遮挡等因素影响,输电线路航拍绝缘子小目标的有效检测面临诸多挑战,而原Faster-RCNN采用的是FPN作为特征融合网络,网络结构如图5(a)所示,P2融合了P3~P5的特征信息,P3融合了P4~P5的特征信息,P4融合了P5的特征信息,这样一方面会造成计算量过大,算法运行速度慢的问题,另一方面会造成中间信息丢失的问题。针对以上问题,根据BiFPN简化PAN的思想,在充分利用ScConvNeXt网络stage1~stage4的输出信息的前提下,提出一种轻量化的特征金字塔SFPN。SFPN的网络结构见图5(b)。

图5(a) 特征金字塔(FPN)结构Fig.5 (a)Feature pyramid (FPN) structure

如图5(b)所示,在FPN原基础上一方面减少信息相加过程,另一方面通过平均池化和插值处理将特征信息统一到P4的尺寸,计算量减少了66.9M,算法运行速度提升了8.7帧/秒。同时,因为将四个层面的特征信息进行了融合,并通过上采样和下采样操作将所有层的特征信息输入给了P2-P6,保证了特征信息不会丢失,提升了多尺度航拍绝缘子检测精度,因此本研究选择SFPN进行特征融合。

1.3 改进损失函数

IoU是目标检测中常用的计算指标,可以反映真实框与预测框的重叠情况,如图6(a)所示,IoU定义如下:

图6 IoU与BIoU示意图Fig.6 Schematic diagram of IoU and BIoU

(10)

式中A为手动标定框区域,B为预测框区域,C为A和B的交集区域。

与IoU相比,由于CIoU[30]考虑了手动标定框与预测框之间的距离、重叠率以及长宽比,可准确描述它们之间的交并、位置和形状关系,受CIoU启发,本研究设计了BIoU,因为BIoU能使航拍绝缘子算法精度更高,所以本研究选择BIoU参与损失计算。如图6(b)所示,定义如下:

(11)

式中b,bgt分别为预测框与手动标定框的中心点,e为外包预测框与手动标定框最小矩形的对角线距离,ρ为b与bgt两个中心点之间的欧氏距离,υ为长宽比,α为权重参数,定义如下:

(12)

(13)

(14)

式中(xi,yi)和(xj,yj)分别为手动标定框与预测框的左上与右下角坐标;w和h表示预测框的宽和高,wgt和hgt表示手动标定框的宽和高。

为准确定位绝缘子,本研究基于BIoU构建损失函数LBIoU:

LBIoU=1-BIoU

(15)

2 实验结果与分析

2.1 实验数据及平台

本研究数据集为中国电力线绝缘子数据集[1],该数据集有864张输电线路航拍绝缘子图片,尺寸大小为1 152×864,通过翻转、平移、旋转和加噪算法将图片数量扩充到5 000,选择其中4 250张图片作为训练集,剩余750张作为测试集。

模型训练采用动量随机梯度下降法进行优化,其中动量系数为0.9,batch_size为4,初始化学习率为0.001,每100次迭代的衰减系数为0.1。为了更好地定位绝缘子目标,本研究将锚框大小设置为32×32、64×64、128×128、256×256,512×512,锚框比例设置为1∶4、1∶2、1∶1、2∶1、4∶1。本研究在Intel i5-12600 CPU,Nvidia GTX 3060 GPU,Python3.9,Pytorch1.12,Ubuntu22.04 开发环境下进行测试。

2.2 Loss函数与mAP曲线分析

为证实本研究算法的优越性,图7给出了本研究ScSGB- RCNN算法和Faster-RCNN算法的训练曲线。如图7所示,迭代100次后,ScSGB-RCNN的Loss值收敛于0.02,低于Faster-RCNN的0.35;当迭代次数等于200时,本研究算法的mAP值达到90.5%,明显高于Faster-RCNN的68.1%,且ScSGB-RCNN算法在迭代次数为20时基本收敛,而Faster-RCNN算法在100次时Loss曲线才趋于平缓,可知ScSGB-RCNN相较于Faster-RCNN模型收敛速度提升4倍。从算法精度和模型收敛速度角度而言本研究所算法均有提升。

图7 Loss曲线和mAP曲线Fig.7 Loss curve and mAP curve

2.3 归一化函数与交并比选择对比实验

在选择GRN和BIoU作为归一化函数之前,本研究进行了相关的对比实验,一方面,对比了采用BN[22]、GN[31]、FRN[24]以及GRN等归一化函数的检测效果;另一方面,对构成边界框损失函数的IoU[29]、GIoU[30]、DIoU[30]及BIoU交并比进行了对比实验。具体数据如表1和表2所示。

表1 归一化函数对比实验结果Table 1 Comparative experimental results of normalization function

表2 交并比对比实验结果Table2 Comparative experimental results of IoU

由表1可知,采用GRN归一化函数的航拍绝缘子检测算法精度最高,且损失值最小,表明由此可知,应当选择GRN作为本研究的归一化函数。同理,由表2可知,在四种交并比中BIoU的性能表现最佳,应当选择BIoU参与损失计算。

2.4 检测结果与分析

为直观展示本研究算法的优越性,图8给出了不同算法的绝缘子检测结果。其中第一列为Faster-RCNN的检测结果,第二列和第三列分别为YOLOv5和ScSGB- RCNN的检测结果。从图中可以看出,基于ScSGB-RCNN的绝缘子预测置信度明显高于Faster-RCNN和YOLOv5的置信度。此外,当绝缘子目标较小或者被遮挡时,Faster-RCNN和YOLOv5算法出现漏检情况,如图8中白色箭头区域所示。其中Faster-RCNN和YOLOv5的检测结果第一、第二和第四幅图中有较小绝缘子目标,第三图中的绝缘子目标被杆塔遮挡,均出现漏检情况。而由于ScConvNeXt和SFPN特征金字塔网络的引入,本研究方法可以有效检测不同尺度和被遮挡的绝缘子,证明了本研究算法的有效性。

图8 不同算法的绝缘子检测结果Fig.8 Insulator detection results of different algorithms

为进一步量化不同算法的比较结果,本研究基于平均准确率(mean Average Precision,mAP)和每秒帧数FPS(Frames Per Second, FPS)进行评价。

表3给出了不同算法绝缘子检测结果。从表中可看出,一方面本研究ScSGB- RCNN算法的平均准确率达到了90.5%,优于Faster-RCNN(68.1%)、YOLOv3(76.7%)、SSD(80.3)、YOLOv5(84.5%)、YOLOv7(86.7)算法。另一方面通过对FPN进行改进,有效将原算法的FPS提高了8.7帧/秒,从而进一步证实了本研究算法的优越性。

表3 不同算法检测结果Table 3 Detection results of different algorithms

为直观展示ScConvNeXt网络在特征提取能力上的优越性,图9给出了基于ResNet和ScConvNeXt网络(其他网络参数相同)的热力图可视化结果,其中,第一列为航拍绝缘子图片,第二列和第三列分别为基于ResNet和ScConvN-eXt网络的热力图[32]。如图9所示,与ResNet相比,基于ScConvNeXt主干网络热力图中的白色区域更加集中在绝缘子所在区域,且面积更大,表明本研究算法引入的ScConvNeXt不仅能增加卷积网络的感受野,而且可有效提升卷积网络对绝缘子特征层的注意力,继而提升绝缘子检测的精度,从而为后续的绝缘子定位打下良好基础。

图9 绝缘子检测热力图Fig.9 Thermal map of insulator detection

2.5 消融实验

表4给出了本研究算法的消融实验数据,如表4所示,一方面,本研究算法引入ScConvNeXt、SFPN、GRN和BIoU确保绝缘子检测精度提高了22.4%的mAP值,其中,以ScConvNeXt网络的贡献最多,提升mAP值8.8%;另一方面,通过优化FPN提出SFPN结构,使得模型的参数量减少66.9×106,从而进一步证实了本研究算法的有效性。

表4 消融实验数据Table 4 Ablation experiment data

3 结语

本研究提出了一种基于ScSGB-RCNN网络的输电线路航拍绝缘子检测算法,该方法通过采用基于自校准卷积的ScConvNeXt网络,有效提高卷积层感受野和绝缘子注意力;为检测多尺度目标,改进FPN结构,有效减少了参数量,提升了算法运行速度;为加速模型训练,将FRN归一化函数的ReLU改成GeLU,并提出了GRN,模型收敛速度提升显著。另外,综合考虑手动标定框与预测框之间的距离、重叠率以及长宽比,基于IoU改进成BIoU并构建Loss函数,进一步提高检测精度。实验结果表明,本研究所提算法能有效检测小尺度和被遮挡的绝缘子目标,检测精度达到了90.5%,模型收敛速度提升4倍,算法运行速度达到了28.7帧/秒,由此可见,本研究所提方法对输电线路航拍绝缘子目标检测任务而言,具有实际的工程应用价值。

猜你喜欢
航拍绝缘子卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
航拍下的苗圃与农场
从滤波器理解卷积
难忘的航拍
基于傅里叶域卷积表示的目标跟踪算法
《航拍中国》美得让人想哭
陕西画报航拍
1000kV耐张绝缘子串单片绝缘子的带电更换技术
500kV绝缘子串含零值绝缘子时的电晕放电分析
绝缘子的常见故障及排除方法