基于改进CenterNet的绝缘子缺陷检测模型
2023-11-07黄明忠石洋洋赵立杰
黄明忠, 石洋洋, 赵立杰
(沈阳化工大学 信息工程学院, 辽宁 沈阳 110000)
绝缘子是电力系统常见设备,起固定线路、设备和进行电气绝缘的作用。由于绝缘子数量多,且长期暴露在外、受阳光直射以及极端天气的影响,易老化,导致其失去绝缘性能,对电力系统稳定运行产生危害[1]。因此对绝缘子进行巡检、及时发现和修复损坏的绝缘子,对于保障电网长期稳定运行有着十分重要的意义。输电线路巡检采用人工巡检、直升机巡检和无人机巡检。人工巡检虽环境适应力强,但效率低、从业人员工作量大且高空作业较危险。直升机巡检虽然可以提高检测效率,但成本较高,不便于大规模普及。随着技术的飞速发展,现在输电线路巡检主要采用无人机巡检,增强目标检测模型对无人机巡检所拍摄的图像的自动定位与识别,是提高无人机巡检准确率和效率的重要环节。因此提升目标检测模型对绝缘子及其缺陷的检测能力就显得十分重要[2]。
近些年国内外学者对绝缘子缺陷检测进行了大量研究,早期人们通过滑动窗口提取候选框,再用图像处理技术提取候选框的特征,最后利用提取到的特征训练特征分类器。商俊平等[3]对绝缘子特征使用OUTS算法提取特征,再利用Adaboosts算法定位绝缘子,最后根据相邻绝缘子片的欧式距离识别绝缘子自破裂缺陷位置。柯洪昌等[4]对Hough变换进行改进并应用于绝缘子检测,让其也能检测到复杂背景中的绝缘子串。周封等[5]首先利用颜色空间和图像之间的关系对图片进行分类,然后使用自适应滤波和自适应对比度增强图像,最后提出一种边缘优化方法,在保留目标边缘特征的同时有效地去除背景信息,能够较好地提取目标特征。黄新波等[6]针对复合绝缘子表面凹凸不平又受光照影响产生的阴影与暗斑导致绝缘子不能准确分割的问题,提出了一种改进的复合绝缘子特征提取方法,该方法融合改进色差法,能较好地提取复合绝缘子特征。上述传统检测方法主要针对简单背景下的绝缘子检测,检测精度不高且鲁棒性差。随着计算机硬件性能的不断提升以及深度学习技术的快速发展,基于深度神经网络的绝缘子缺陷检测模型逐渐取代了传统检测方法成为了主流。周自强等[7]提出了一种Faster R-CNN[8]模型结合多尺度特征融合方法,实现了绝缘子目标的精确识别。阎光伟等[9]为克服锈蚀绝缘子缺陷目标漏检,提出了一种改进的SSD[10]绝缘子缺陷检测模型,此模型结合平衡特征方法,提高了缺陷目标的检测率。刘悦等[11]提出了一种改进的YOLOv4[12]目标检测模型,此模型融合了改进的分水岭算法,实现了绝缘子及其缺陷识别。上述基于深度神经网络目标检测模型与传统检测方法相比,虽然精度大幅提高,但检测精度仍然偏低,且多数模型执行速度偏低。此外上述目标检测模型都为有锚框检测模型,这些检测模型在一张图片上提取很多锚框,而图片上的目标相对较少,容易造成正负样本不均衡。无锚框的CenterNet[13]模型相较于以上模型,将目标的中心点作为关键点进行检测,无需依赖设计复杂的锚框,也无需复杂的后处理,模型执行效率较高。
本文在CenterNet目标检测模型的基础上,提出了一种改进CenterNet的绝缘子缺陷目标检测模型。该模型以CenterNet目标检测模型为基础,对其编码器和解码器进行了改进设计,其中编码器采用ResNet50[14]作为骨干网络,在保证骨干网络特征提取能力的同时又能兼顾推理速度,在骨干网络的残差块中加入CBAM[15]模块,增强骨干网络特征提取能力,并在编码器的末尾添加SPP[16]模块,增强骨干网络提取多尺度特征的能力;对其解码器重新设计,将解码器中的转置卷积替换为CARAFE[17]上采样,减少因连续上采样导致的特征丢失,在解码器的尾部加入CoordConv[18]卷积,减少标准卷积空间不变性造成的影响。最后将模型中的标准卷积层替换成DO-Conv[19]卷积,在不增加计算量的前提下提升模型的性能,加快模型训练的收敛速度。
1 CenterNet模型
CenterNet是借鉴了人体关键点检测的思想提出的一种无锚框算法,整个模型结构如图1所示。CenterNet模型由编码器、解码器和检测头3部分组成。编码器支持ResNet18、ResNet101、Hourglass104和DLANet_34四种骨干网络。将一个分辨率为512×512×3的输入图片经过编码器的特征提取得到一个16×16×2 048的高语义信息的特征图。将得到的特征图作为解码器的输入,使用转置卷积进行3次上采样操作,得到一个128×128×64的特征图。最后检测头将得到的高分辨率特征图分别经过3组卷积操作,每组卷积由一个3×3卷积和一个1×1卷积组成,这3组卷积分别进行热力图预测、中心点偏移预测和物体的宽高预测。
图1 CenterNet模型结构Fig.1 Model structure of CenterNet
使用Focal Loss作为热力图损失Lk,公式为
(1)
式中:N为图像中关键点的数量;超参数α和β分别取2和4。
使用L1损失函数作为目标中心点偏移损失Loff,公式为
(2)
目标框的尺寸损失Lsize同样使用L1损失函数,公式为
(3)
整个模型的损失函数Ldet是上述3种损失之和,定义为
Ldet=Lk+λsizeLsize+λoffLoff。
(4)
式中,λsize和λoff是权重系数,分别取0.1和1.0。
2 基于改进CenterNet的绝缘子缺陷检测模型
改进 CenterNet模型的结构如图2所示。该模型在CenterNet的框架结构基础上,对其编码器和解码器进行了改进设计,最后使用DO-Conv卷积替换模型中的标准卷积。
2.1 改进编码器
CentetNet模型的ResNet18属于轻量化骨干网络,网络层数较少,难以提取到高语义信息的特征图,而ResNet101等其他几种骨干网络虽然可以提取到高语义信息的特征图,但参数量多、模型体积大、推理速度慢。因此改进CenterNet模型的编码器使用ResNet50作为骨干网络,该骨干网络在保证特征提取能力的前提下,参数量、模型体积和推理速度适中。为进一步提高其特征提取能力,在ResNet50骨干网络的基础上加入CBAM模块和SPP模块。
2.1.1 嵌入CBAM模块的残差块
为了提升编码器提取特征的能力,在Resnet50中的残差块中加入CBAM注意力机制,具体结构如图2中Conv_block和Identity_block所示。CBAM包含2个独立的子模块,通道注意力模块和空间注意力模块,其结构如图3所示。CBAM通过聚焦特征图的局部信息,它在通道注意力模块和空间注意力模块对特征图的信息进行重新分配,让计算资源向重点关注的目标区域倾斜,从而在增强感兴趣的前景信息的同时又能抑制无用的背景信息。
图3 CBAM功能示意Fig.3 Functional diagram of CBAM
通道注意力模块首先将输入的特征图通过并行的全局平均池化和全局平均池化对特征图降维实现聚合特征图的空间信息,然后通过多层感知机为每个通道重新分配权重,最后通过Sigmoid激活函数得到通道注意力机制的结果,其公式见式(5)。空间注意力模块首先通过并行最大池化和平均池化将C×W×H的特征图得到2个1×C×H的特征图,然后对2个特征图进行拼接再通过1个7×7的卷积将其变为1通道的特征图,最后经过Sigmoid激活函数得到空间注意力的结果,其公式见式(6)。
ResNet50的残差块有2种,分别是Conv_block和Identity_block。在2种结构的第3个卷积的BN层后加入CBAM,让CBAM通过在特征中学习得到权重分布,后将计算资源按权重分布进行分配,以此改变原有特征分布,增强提取绝缘子缺陷特征的能力并抑制无用信息和噪音,从而强化对于绝缘子及其的特征提取能力。
2.1.2 编码器融合SPP模块
绝缘子目标尺度跨度大,骨干网络不仅需要提取视野较小的高语义特征,还需要兼顾视野较大的高语义特征。为了增强骨干网络提取多尺度特征的能力,需要增大骨干网络的感受野。传统特征提取网络增大感受野的方式是增大卷积核。增大卷积核会引入更多的参数量,从而导致运算量增大、推理速度变慢和模型体积增大。SPP模块具有多尺度特征融合功能从而增大感受野,因此在编码器尾部加入SPP模块,如图2编码器部分所示。SPP模块结构如图4所示,由3个最大池化层组成,这3个最大池化层的卷积核大小由上到下分别是5、7和13,步长都为1。加入SPP模块时,原编码器尾部特征图通过1×1卷积降维成16×16×512的特征图作为SPP模块的输入,实现增大感受野并增强捕捉多尺度绝缘子及其缺陷特征的能力。
图4 SPP模块结构Fig.4 Structure of SPP module
2.2 改进解码器
CenterNet模型解码器中上采样操作使用了转置卷积,使用转置卷积连续上采样会导致部分细节特征丢失。为避免丢失细节特征,提高解码器特征还原能力,重新设计了解码器,如图3所示解码器部分。首先,在解码器头部加入一个标准卷积将特征图的通道数由2 048降维成1 024。然后,将转置卷积替换成CARAFE,CARAFE增大其感受野,还能根据输入特征进行上采样,并在每个转置卷积后面加入一个标准卷积,每个卷积只改变特征图的通道数,不改变特征图的尺寸。最后,在解码器的尾部加入CoordConv坐标卷积,减少标准卷积空间不变性造成的影响。
2.2.1 CRAFE模块
图5 CARAFE功能示意Fig.5 Schematic diagram of CARAFE function
2.2.2 解码器融合CoordConv卷积
在解码器的最后添加CoordConv坐标卷积,减少空间特征的损失,其结构如图6所示。在CoordConv坐标卷积中,在输入的特征图中加入了2个通道,第1个通道中元素值表示元素所在行坐标,第2个通道元素值表示元素所在列坐标,这2个通道矩阵结果分别如图6虚线框中所示。将这2个通道通过拼接操作与输入特征图进行拼接,再通过1个卷积改变特征图尺寸。通过添加空间信息,记录像素位置,增强绝缘子的空间特征信息,减少标准卷积空间不变性造成的影响。
2.3 DO-Conv在模型中的应用
用DO-Conv替换模型全部的标准卷积,其功能示意如图7所示。DO-Conv首先通过深度卷积操作将转置的卷积核DT与卷积核W之间做运算,之后产生一个新的组合卷积核W′,即W′=DT∘W。再通过标准卷积操作将组合卷积核与输入特征区块P之间作运算,得到输出特征O,即O=W′P。因此,DO-Conv的输出可表示为:O=(DT∘W)P。在图7中M与N分别是特征图区块的空间维度。P指一次滑动窗口的那一小片区域。O指本次卷积操作的输出。DT是深层卷积转置后的卷积核,W是标准卷积核。Cin与Cout分别表示输入通道数和输出通道数。
图7 DO-Conv卷积功能示意Fig.7 Schematic diagram of DO-Conv convolution function
Do-Conv使用多层复合线性操作,其优势是便于模型训练、提高模型性能、加快训练速度。在训练完成之后可以折叠为紧凑的单层形式,在推理阶段仅使用单层计算,从而在保证性能优于标准卷积的前提下计算量还与标准卷积相当。
3 实验与结果分析
3.1 数据集
实验采用的基础数据集是中国电力线绝缘子数据集,此数据集中共有848张图像,其中248张为缺陷绝缘子图像,600张为正常绝缘子图像。在该数据集中部分缺陷绝缘子图像是通过数据增强产生的,具体做法是从部分缺陷绝缘子原图中分割出缺陷绝缘子,将其拼接到不同的背景图片下,完成缺陷绝缘子图像的制作。正常绝缘子图像则是无人机近距离拍摄的原图。由于该绝缘子数据集图片数量较少,因此在该数据集的基础上又添加了第八届泰迪杯数据挖掘挑战赛比赛所用的40张绝缘子图像和笔者收集的一些绝缘子图像。对这些图像采用数据增强的方法通过对所有图像进行平移、cutout、亮度、噪声等随机操作来丰富数据集。最终将本实验使用的绝缘子数据集扩充到3 700张图像,并按6∶2∶2的比例划分为训练集、验证集和测试集。数据集中部分绝缘子图片如图8所示。
图8 绝缘子数据集图片示例Fig.8 An example of an insulator dataset
3.2 实验环境
实验使用了一台配置Intel Core i9-9900K CPU和NVIDIA GeForce RTX 2080Ti显卡的计算机,在64位Windows10下使用Python作为编程语言,基于Pytorch框架设计完成了改进CenterNet绝缘子缺陷检测模型。实验训练轮数为300轮,小批尺寸设置为8,优化器使用Adam,初始学习率设置为0.000 5,学习率更新方式为余弦下降。训练过程损失曲线如图9所示。
图9 训练过程损失曲线Fig.9 Loss curve of training process
3.3 评价指标
本文采用6个评价指标评估模型的性能,分别是精确度P、召回率R、平均精度AP、均值平均精度mAP、每秒传输帧数FPS和模型大小S。其中精确度P公式为
(7)
式中:TP为真阳性;FP为假阳性。
召回率R公式为
(8)
式中:TP为真阳性;FN为假阴性。
平均精度AP公式为
(9)
均值平均精度mAP为
(10)
式中,n为目标类别数。
3.4 消融实验
基于CenterNet的改进策略在绝缘子数据集上进行训练,实验结果如表1所示,其中实验1是CenterNet模型(使用ResNet50骨干网络)的结果,实验2、3、4分别是在CenterNet模型中依次增加使用新编码器、新解码器和DO-Conv卷积的结果。由表1可知,实验1中CenterNet模型的mAP为94.24%。在CenterNet模型中加入所有改进的实验4的mAP为97.16%,相较于CenterNet模型提高了2.92%,模型大小减少了8 MB,召回率也显著提高,减少了漏检率。实验2与实验1相比mAP提高了2.08%,表明在编码器中加入CBAM和SPP后提高了编码器对多尺度目标的特征提取能力。实验3与实验2相比,mAP提高了0.53%,模型大小减少了24 MB,说明CARAFE上采样可以很好地解决棋盘效应,并且减少模型体积。实验4与实验3相比,mAP提高了0.31%,说明相较于传统卷积,DO-Conv能有效增强模型的性能。
表1 改进 CenterNet 模型消融实验结果Table 1 Ablation results of the modified CenterNet model
对改进CenterNet模型编码器、解码器和检测头输出的特征图进行可视化,如图10所示。各输出特征图选取单一通道进行展示,图10(a)为检测图像,图10(b)是编码器输出的特征图,图10(c)是解码器输出的特征图,图10(d)~图10(f)分别是检测头输出的3个特征图。从上述图中可以看出绝缘子的形状和位置。
图10 CenterNet特征图结果Fig.10 Center feature map results
3.5 不同模型比较
为了验证模型的检测性能,将改进CenterNet模型与SSD、RetinaNet、Faster RCNN、YOLOv3、YOLOv4、YOLOv5、CenterNet进行了对比实验,对比结果如表2所示。
表2 不同模型检测结果Table 2 Test results of different models
从表2可以看出改进CenterNet模型的mAP比CenterNet高出2.92%,模型大小减少了8 MB。改进CenterNet模型比单阶段检测模型SSD、RetinaNet、YOLOv3、YOLOv4、YOLOv5s相比mAP分别高10.37%、6.62%、10.12%、2.39%、0.36%,与2阶段检测模型Faster RCNN相比mAP高16.32%。改进CenterNet模型无论是完整绝缘子还是缺陷绝缘子的AP50指标在所有模型中是最高的,并且模型的尺寸也只比SSD和YOLOv5s大。改进CenterNet模型的FPS达到了43帧·s-1,高于SSD、RetinaNet、Faster RCNN和YOLOv3,低于CenterNet、YOLOv4、YOLOv5s,但精度都优于上述模型且能满足实时性检测需求。综上,改进CenterNet模型与其他模型相比具有一定的优势。
CenterNet模型与改进CenterNet模型在绝缘子数据集部分图片上的检测结果如图11所示,共8组图,每组第1行是CenterNet模型检测结果,第2行是改进CenterNet模型的检测结果。图11(a)组图像中绝缘子尺寸基本相同,2种模型都检测到目标,但改进CenterNet模型检测出的绝缘子置信度都高于CenterNet模型。图11(b)组图像中因视距问题造成绝缘子尺寸相差较大,改进CenterNet模型检测的绝缘子置信度同样高于CenterNet模型。图11(c)组图像中绝缘子密集分布,CenterNet模型对于小尺寸绝缘子存在漏检情况,改进CenterNet模型不仅将绝缘子全部检测出来,置信度也比CenterNet模型高。图11(d)组图像同样是绝缘子密集分布, CenterNet模型存在大范围漏检情况, 而改进CenterNet模型将绝缘子全部检测出来。 图11(e)组图像中部分绝缘子被塔杆遮挡, CenterNet模型对于受塔杆遮挡的目标存在漏检情况, 改进CenterNet模型则可将遮挡目标检测出来。 图11(f)组图像中部分绝缘子被塔杆遮挡且被遮挡的绝缘子成像不全, CenterNet模型对于受塔杆遮挡且成像不全的目标漏检, 改进CenterNet模型则将其检测出来。 图11(g)组图像中部分绝缘子受塔杆遮挡非常严重, CenterNet模型对于受塔杆遮挡存在十分严重的目标漏检, 改进CenterNet模型则可将其检测出来。 图11(h)组图像中部分绝缘子成像不全, 成像不全的绝缘子在图像中仅仅露出一点, 改进CenterNet模型将其检测出来, 而CenterNet模型则没有。 综上, 改进CenterNet模型相比CenterNet模型, 对于密集目标、遮挡的目标、成像不全的目标和尺寸变化较大的目标检测效果好, 同时模型检测精度高。
图11 CenterNet模型与改进CenterNet模型检测结果对比Fig.11 Example of CenterNet model and improved CenterNet model inspection results
4 结 论
针对无人机巡检绝缘子图片检测精度不高、执行效率较低等问题,考虑到绝缘子目标尺度多样、绝缘子缺陷目标小、图像背景复杂等情况,提出了一种改进CenterNet的绝缘子缺陷检测模型,改进设计了编码器和解码器。在编码器中加入CBAM模块和SPP模块以提高特征提取能力。在解码器使用CARAFE上采样替换转置卷积以减小特征丢失,并加入坐标卷积以减小标准卷积空间不变性造成的影响。最后将模型中的标准卷积层替换成DO-Conv卷积以进一步提升模型的性能。实验对比结果表明本文所提方法的有效性。虽然改进CenterNet模型能有效提高绝缘子和缺陷的检测精度,但需要更高算力、检测时间和空间,因此,下一步研究主要为能够部署在边缘设备的改进CenterNet轻量化模型。