基于改进CenterNet的电力设备红外图像识别
2023-09-06蒋志哲张宇华
蒋志哲, 张宇华
(上海电力大学 电气工程学院, 上海 200090)
变电站电力设备是电网的重要组成部分,实时监控电力设备的状态对于保证电力系统安全稳定运行具有重要意义。红外热成像技术可以获取设备的温度信息,已广泛用于监测变电设备的运行状态[1]。面对海量的巡检图像数据,目前主要依靠专业人员对电力设备的红外图像进行分析和识别,但这种方式不仅效率低下且容易发生误判[2]。因此,如何快速而准确地定位和识别红外图像中的电力设备具有十分重要的研究意义。
传统的检测方法往往通过提取纹理、温度分布等特征来进行目标检测。文献[3]通过提取高压绝缘套管的特殊纹理特征,并基于聚类算法完成目标的分析识别。文献[4]通过提取绝缘子的绝对温度、纹理和相对温差率作为特征集,完成劣化绝缘子的状态识别。虽然这些方法可以完成识别任务,但检测速度较慢,精度也易受环境影响,不适用于具有复杂环境的变电站场景。
近年来,深度学习在图像识别领域发展迅速,与机器学习相比,其检测速度更快、精度更高,逐渐取代了传统的检测算法。目前,基于深度学习的目标检测根据是否设置锚框分为有锚框算法和无锚框算法。其中,有锚框算法又分为二阶段算法和一阶段算法。二阶段算法需要先生成候选框,再完成目标分类和定位。这种方法一般精度很高,但速度相对较慢,经典模型有快速区域卷积神经网络(Fast-Region Convolutional Neural Network,Fast-RCNN)[5]和更快速区域卷积神经网络(Faster-Region Convolutional Neural Network,Faster-RCNN)[6]等。文献[7]在Faster-RCNN网络模型的输出部分引入精炼阶段,增加目标特征的分类和回归细化,实现了精确分类及坐标定位。一阶段算法不用生成候选框,直接进行分类和定位操作,相比二阶段算法具有更快的检测速度,其代表算法有单步多阶目标检测(Single Shot multibox Detector,SSD)[8]、实时快速(You Only Look Once,YOLO)目标检测系列模型。文献[9]针对红外图像尺度差异性大的问题,在YOLOv4[10]模型的基础上引入多尺度卷积模块,相比原始算法检测精度提高了约2.62%。无锚框算法将目标作为一个点,可以兼顾识别的速度和精度。该类算法包括CenterNet[11]、FCOS(Fully Convolutional One-Stage Object)目标检测[12]等。文献[13]提出了一种基于CenterNet的安全帽检测算法,改进了模型的损失函数以提高检测精度,并通过实验证明了该方法的有效性。上述方法虽然在一定程度上提高了检测效果,但在变电站复杂环境下,目标具有的特征较少,难以提取到足够的特征信息,且受到背景等无关信息的影响会导致目标特征不明显,检测精度也会下降。
针对变电站复杂背景影响下传统目标算法检测精度较低的问题,本文提出了一种基于改进结构的CenterNet电力设备红外图像识别算法。使用比原特征提取能力更强的ResNeXt50[14]网络作为模型的主干网络,在不改变模型参数量的同时拓宽了网络,使其能够提取到多维特征信息,从而增强模型的检测能力;在预测层加入压缩和激励(Squeeze-and-Excitation,SE)[15]注意力模块(以下简称“SE模块”),使模型更加关注重要信息,削弱了背景信息的干扰,进一步提高检测的精度。
1 CenterNet模型
1.1 网络结构
CenterNet是一种无锚检测算法,不需要预先设置锚点参数,同时放弃非极大抑制操作[16],在检测精度和速度方面要优于其他基于锚点的检测算法。CenterNet的网络结构如图1所示。其中主干网络以ResNet50为例,主要包括主干网络、上采样网络和预测层3个部分。首先,输入分辨率为512×512的红外图像,通过主干网络ResNet50提取图像特征,并经过多次下采样操作得到16×16×2 048的初始特征图;然后,在上采样网络进行3次反卷积,得到128×128×64的高分辨率特征图;最后,将从上采样网络得到的特征图进行3次不同卷积,分别用来预测热力图、预测框尺寸以及中心点偏移,通过三者的预测结果即可输出检测框。
图1 CenterNet网络结构
1.2 损失函数
在模型训练前,使用高斯核将所有目标的现实中心点映射到热力图上,形成热力图标签。其公式为
(1)
x、y——热力图中点的横、纵坐标;
σp——目标自适应标准差[17]。
CenterNet模型训练的损失函数由中心点预测损失Lk、目标中心的偏移损失Loff和目标尺寸损失Lsize组成,每个损失函数都有其相应的权重。
中心点预测损失Lk是焦点损失函数[18]的改进版本。其公式为
(2)
式中:N——中心点的总数量;
α、β——中心点损失的超参数。
在预测阶段,CenterNet将对输入图像进行下采样,图像分辨将从512×512压缩到128×128,这会导致映射到低分辨率图像的中心点坐标出现偏移,所以模型使用平均绝对值误差来训练目标中心的偏移损失Loff,具体公式为
(3)
式中:p——中心点坐标;
R——下采样倍数;
与目标中心偏移损失类似,目标尺寸损失Lsize仍使用平均绝对值误差来训练。其公式为
(4)
Sk——第k个目标的实际尺寸。
模型的总损失函数Ldet为上述3种损失函数的加权和,表示为
Ldet=Lk+λsizeLsize+λoffLoff
(5)
式中:λsize、λoff——权重参数,分别取0.1和1。
2 改进的CenterNet模型
虽然原始的CenterNet模型已具备较为出色的检测能力,但面对变电站的复杂环境,检测精度仍略有不足,因此本文将CenterNet作为基础模型,提出了一种改进CenterNet的电力设备红外图像识别模型。其网络结构如图2所示。
图2 改进的CenterNet模型网络结构
在主干网络部分,本文使用相比ResNet50具有更强特征提取能力的ResNeXt50网络,使模型能够从分辨率较低的电力设备红外图像中提取更多特征,从而提高检测的精度。在预测层中,本文添加了能够判断特征的SE模块,使模型能够更加关注图像中的重要目标,减弱了背景环境等无用信息的影响。
2.1 主干网络
变电站电力设备种类繁多且红外图像清晰度差,许多图像中包含的目标特征信息较少,导致检测精度下降。本文使用ResNeXt50网络代替原始CenterNet模型中的ResNet50网络。它能够在几乎不改变模型参数量的前提下,通过增加网络宽度来提取更加丰富的目标特征,进而提高模型的检测准确度。
ResNet50和ResNeXt50的区块结构如图3所示。
图3 ResNet50和ResNeXt50的区块结构
首先,ResNeXt50网络通过分组卷积[19]将输入特征分为32组来拓宽网络;然后,对分组特征使用1×1卷积来降低通道维数;同时,对所有分组使用3×3卷积转换上下文语义数据,并再次使用1×1卷积来提高分组通道维数;最后,融合每个分组的输出特征和原始输入特征,得到整个区块的最终输出特征。ResNeXt50网络通过一种平行堆叠相同拓扑结构的区块代替ResNet50的3层卷积区块,在参数量变化很小的情况下提高了网络的特征提取能力,更加适合复杂环境下的电力设备红外图像识别。
2.2 SE模块
变电站环境复杂,拍摄到的红外图像往往包含着许多无用的背景信息。在CenterNet原始模型中,默认检测目标和背景等不同通道的特征是同等重要的,就导致主要目标电力设备的特征信息不明显,检测精度有所下降。因此,本文在模型中加入SE模块,提高对电力设备关键目标的关注度,抑制背景等无关信息的干扰,保证了模型检测的鲁棒性。
SE模块能够在不打乱模型结构的基础上直接添加。本文选择在预测层前加入此模块来提高网络性能,功能主要由压缩和激励两步来实现。具体操作过程如图4所示。
图4 SE注意力机制模块的操作过程
(1) 压缩 将维度为W×H×C的输出特征P输入到SE模块,通过全局平均池化操作获得每个特征通道的全局压缩特征量。然后,利用全局感受野获得特征映射的全局信息的特征向量1×1×C,其操作公式为
(6)
式中:z——平均池化层输出的特征图;
Fsq(·)——平均池化操作;
u——输入特征图;
i、j——特征图的坐标变量。
(2) 激励 通过两个全连接层获得每个特征通道对应的0到1的新权值,激励操作可以减少输入向量的通道数量,从而减少计算量。其公式为
s=Fex(u)=σ[W1δ(W2,u)]
(7)
式中:s——不同通道调整后的权重向量;
Fex(·)——激励操作;
σ——Sigmoid激活函数;
W1、W2——全连接层的权重;
δ——Relu激活函数。
最终,将输入的原始特征不同通道之间的激活值乘以原始特征图,生成已完成权重分配的特征图U作为SE模块的输出,最终实现引导网络关注关键通道的功能。输出特征的计算公式为
U=Fscale(u,s)=s·u
(8)
式中:Fscale(·)——特征图赋权操作。
3 实验结果
实验网络开发框架为Pytorch,计算机语言为Python3.9,WINDOWS操作系统,GPU型号为NVIDIA GeForce RTX 2080Ti,内存为16 GB。检测算法的流程如图5所示。
图5 检测算法流程
3.1 数据集
本文所采用数据集来自某国网公司提供的红外巡检图像,其中包括电流互感器、电压互感器、断路器、避雷器4种电气设备。为了避免由于数据数量不足而导致模型训练的过度拟合,本文通过翻转、旋转和改变数据的对比度来扩展数据集,同时增加数据集的多样性。扩展后的样本数量达到2 035张,并借助labelimg工具对数据集进行了标记。
3.2 评价指标
为了评估检测模型的性能,本文使用检测领域常用的均值平均精度(mean Average Precision,mAP)和每秒处理帧数(Frames Per Second,FPS)作为评价指标,具体公式为
(9)
(10)
(11)
(12)
(13)
式中:Pr——精确率;
TP——预测正确的正样本;
FP——预测错误的负样本;
Re——召回率;
FN——未检测出来的目标数;
A——平均精度;
Am——均值平均精度;
m——检测的种类;
FPS——每秒处理帧数;
t——处理单张图片的时间。
3.3 模型训练
所提模型的损失曲线如图6所示。
图6 所提模型的损失曲线
从图6可以看出,模型训练过程中未出现过拟合现象,并且在训练集和验证集都具有良好的下降速度并最终收敛。训练集损失值最终降至0.7左右,验证集最终降至1.0左右。损失值整体下降速度可以满足训练要求。
3.4 实验结果对比
为了验证改进算法的可行性和有效性,将本文所提方法与原始CenterNet模型的不同主干网络检测性能进行比较,结果如表1所示。
表1 不同主干网络检测性能对比结果
由表1可知,使用ResNeXt50作为主干网络的模型可以有效提高模型的特征提取能力,其mAP值达到92.8%,相比其他原始主干网络提升了1%~3%;检测速度为38张/s,快于以Hourglass和Dla34为主干网络的模型,与ResNet50接近。添加SE模块后,模型的mAP值由92.8%提升到93.7%,说明添加SE模块能够增强模型对重要目标特征的关注、提高模型的检测精度;检测速度为37张/s,与添加前变化不大。综上,本文提出的改进算法模型可以在兼顾速度的同时提高检测精度,适用于具有复杂场景的变电站电力设备红外检测。
同时,本文将改进的CenterNet算法与许多主流目标检测算法在速度和识别精度上进行了比较,包括Fast-RCNN、YOLOv3、YOLOv5和SSD算法,实验均采用相同的数据集进行训练和测试。不同模型性能对比结果如表2所示。
表2 不同模型性能对比
由表2可知:本文所提模型的检测速度为37张/s,超过大多数模型,与YOLOv5接近;模型的mAP值达到93.7%,对比其他模型提升了2%~5%。应用改进模型的部分红外图像检测结果如图7所示。
图7 应用改进模型的部分红外图像检测结果
由图7可以看出,电力设备在变电站复杂的背景环境下均能被准确地定位与识别。
4 结 语
本文针对变电站复杂背景下传统算法检测精度较低的问题,提出了一种改进的CenterNet电力设备红外图像识别模型。通过使用特征提取能力更强的ResNeXt50代替ResNet50,能够在不增加模型参数的同时从分辨率较低的红外图像中提取更多目标特征,提高检测精度;通过在预测层加入SE模块,增强了对关键目标的关注,同时抑制背景环境等无用信息的干扰,保证了检测的鲁棒性。通过设置相关实验对模型进行验证,结果表明,所提算法具有较高的检测精度,优于当前主流检测算法,mAP值为93.7%,能够实现变电站复杂背景下的精准检测。