Corrosion detection method for complex scenario substation equipment
-
摘要: 针对复杂场景下变电设备锈蚀检测中存在锈蚀形态差异大、尺度大小不一、特征显著性低等问题,提出了一种面向复杂场景的变电设备锈蚀检测方法。引入了频率通道注意力机制,通过更多的频率分量补充深层网络中的细节特征,优化模型对锈蚀特征的提取;在特征融合网络中使用多尺度特征增强模块重新构建C2f模块,使网络可以更好地捕获不同大小的锈蚀区域;引入附加检测头,缓解模型在特征融合过程中因卷积层下采样造成的锈蚀关键信息丢失的情况,从而提高变电设备锈蚀检测的精度。实验结果表明,改进以后的网络模型相较于原始的YOLOv8m模型,平均检测精度(mAP50)提升了5.1%,检测效果也优于其他主流目标检测模型,为变电设备锈蚀检测提供了新的参考方法。Abstract: To address the significant challenges posed by significant variations in corrosion morphology, varying scales, and low feature saliency in corrosion detection in substation equipment under complex scenarios, a corrosion detection method for complex scenario substation equipment is proposed. First, frequency channel attention networks are introduced, leveraging additional frequency components to complement the fine-grained features in deep networks, thus optimizing the extraction of corrosion-related features. Second, within the feature fusion network, the multi-scale module is employed to rebuild the C2f module, thereby allowing the network to better capture corrosion areas of different sizes. Finally, the additional detection head mitigates crucial corrosion-related information loss during feature fusion caused by downsampling, thereby enhancing corrosion detection accuracy. The relevant experimental results reveal a 5.1% improvement in the average detection accuracy (mAP50/%) compared with the results obtained by the original YOLOv8m model. Overall, this improved model outperforms other mainstream object detection models, thereby representing a novel approach for substation equipment corrosion detection.
-
变电站负责对电压进行转换并对电能进行分配,站内设备的运行状态直接关系到变电站甚至整个电网的安全稳定[1]。由于大多数变电设备由金属材料制成,且长期暴露在日晒雨淋的室外环境中工作,其表面或者部件连接处极易产生锈蚀,进而引发变电设备故障。常规的检测方式为工作人员定期对户外设备进行巡检,但存在检测效率低、检测结果易受主观因素影响的问题[2]。随着智能电网的建设以及人工智能技术的发展,基于深度学习与缺陷检测相结合的方法逐渐成为主流[3]。但是,对于电力设备外表面锈蚀缺陷检测这类问题,依然缺少有效的检测方法。
传统的检测方法如尺度不变特征变换(scale-invariant feature transform,SIFT)[4]、方向梯度直方图(histogram of oriented gradient,HOG)[5]等受复杂背景影响大,对于电力设备锈蚀缺陷形态差异显著且尺度变化较大的情况,往往仅基于特定特征实现检测,导致识别准确率不高,缺乏可扩展性,难以适用于真实的电力场景[6]。
近年来,基于深度学习的检测方法相较传统检测方法取得了更好的性能,并被应用到电力设备缺陷检测领域中。为了解决设备缺陷尺度变化大的问题,文献[7]通过增加一个小物体检测头来提高小物体的检测精度,同时采用CIoU(complete-IoU)[8]损失函数和K均值聚类得到边界框,提高检测精度,但是仅使用一个小物体检测头来解决缺陷多尺度问题过于局限。针对变电设备锈蚀图像质量存在显著差异的问题,文献[9]提出将注意力机制融入Faster R-CNN(faster region-based convolutional neural network)[10]模型,并考虑背景亮度和伽马变换的锈蚀检测方法,其能够自适应地规范化图像,有效识别复杂背景、光亮差异大和受噪声影响的情况下的锈蚀区域。虽然这种方法解决了图像质量参差的问题,但没有根据锈蚀特点进行针对性检测。针对电力设备外表面缺陷具有特征不明显、形态多变的问题,文献[11]提出一种基于域适应网络的变电设备渗漏油分割模型,通过引入域适应、纹理提取和辅助损失等方法实现了高精度的渗漏油分割,但需要大量的像素级标注训练样本。针对跨设备检测覆冰、锈蚀、污秽等表面缺陷问题,文献[12]提出了一种自适应感受野网络和基于真实纹理的电力设备表面缺陷数据合成方法,解决了不同电力设备尺度不一以及电力设备缺陷数据集较少且场景单一的问题。文献[13]通过改进YOLOv4[14]骨干网络,解决电力设备目标检测中定位困难的问题,同时采用焦点损失函数代替交叉熵损失函数,促进样本不平衡引起的目标检测精度低问题的解决。为了有效识别电力设备生锈区域,文献[15]在SSD (single shot multibox detector)[16]算法的基础上,添加注意力机制,同时使用ResNet[17]网络代替原有骨干网络。文献[18]将SE(squeeze-and-excitation)[19]模块嵌入深度残差网络,构建基于通道注意力的金属锈蚀检测网络,由学习到的通道注意力权重来突出不同锈蚀区域的重要特征,提高对不同锈蚀程度区域的检测精度。
上述文献虽然实现了多场景锈蚀检测,但锈蚀缺陷样本的特异性未被有效关注。由于锈蚀几乎不存在完全相同的两个样本,其特征难以提取,现有工作并未对这一问题进行深入研究。变电设备锈蚀检测的关键在于如何能更好地学习或提取到锈蚀缺陷共性描述特征。然而,变电场景环境复杂,锈蚀的形状、边缘等特征不明显,不同设备的尺寸、外观等又会令缺陷区域产生一定差异,且锈蚀区域的长宽比存在较大的随机性,这些因素导致缺陷区域的特征提取困难。
本文对上述问题进行了深入研究,针对锈蚀形态差异大、特征不明显的问题,考虑到不同设备表面缺陷在图像纹理分布上的共性及特殊性,通过在骨干网络和特征融合网络之间引入频率通道注意力机制(frequency channel attention networks,FcaNet)[20],以补充更多的频率信息,强化深层网络的锈蚀细节特征;针对锈蚀区域面积大小不统一的问题,在特征融合网络中使用多尺度特征增强模块(multi-scale module,MS-Module)重新构建C2f模块为MS-C2f(multi-scale C2f module),以获得更为丰富的层次信息,使网络可以更好地捕获不同大小的锈蚀区域;针对锈蚀关键信息易在深层网络丢失的问题,引入附加检测头(additional detection head,AD-Head),从主网络生成的特征映射中提取额外的特征,改善卷积层下采样导致的信息丢失的情况,获得更加完整的特征信息,同时通过损失函数实现浅层与深层特征图的信息交互,从而提升网络的特征表达能力。本文提出的面向复杂场景的变电设备锈蚀检测方法有效提升了变电设备锈蚀检测精度,可为电力设备智能运维提供新的研究方法。
1. 基于改进YOLOv8模型的变电设备锈蚀检测方法
YOLOv8模型主要由输入端(Input)、骨干网络(Backbone)、颈部网络(Neck)和预测输出网络(Head)组成。本文模型的实现过程如图1所示,变电设备锈蚀缺陷图像首先在输入端调整到合适尺寸,随后输入至骨干网络进行锈蚀特征的基本提取;然后在骨干网络和颈部网络之间使用FcaNet强化锈蚀的细节特征。随后的颈部网络部分采用特征金字塔网络(feature pyramid network,FPN)[21]和路径聚合网络(path aggregation network,PAN)[22],通过自顶向下与自下向顶的跨层连接使锈蚀特征更充分融合。在自下向顶的过程中,使用特征增强模块重构的MS-C2f模块,增大特征图感受野,使更多锈蚀缺陷信息进入有效感受野,提高大小有所差异的锈蚀区域的检测能力。最后,将融合后的特征图输入到预测输出网络中,使用解耦检测头以及在颈部网络添加的AD-Head共同进行损失计算和网络参数更新,实现深浅网络的信息交互,获取更加完整的锈蚀特征信息,指导模型更好地学习变电设备锈蚀缺陷特征。
1.1 频率通道注意力机制
传统通道注意力机制使用标量来表示通道,会造成大量的信息丢失,无法充分获取每个通道的多样性的信息。频率通道注意力机制将通道表示问题视为基于频率分析的压缩过程,通过引入了更多的频率分量,可以得到更加丰富的信息。虽然电力设备上的锈蚀区域形态多变且特征不明显,但是锈蚀区域与非锈区域的粗糙程度通常存在差别。随着网络的加深,特征图上丰富的细节信息会逐渐损失,进而导致模型对锈蚀识别能力降低。为增强优化模型对锈蚀特征的提取能力,本文引入了频率通道注意力机制FcaNet,引入更多的频率分量,以补充锈蚀细节特征,其结构如图2所示。
FcaNet将通道表示问题视为基于频率分析的压缩问题,从数学角度证明了全局平均池化(global average pooling,GAP)[23]是二维离散余弦变换(discrete cosine transform,DCT)的一个特例。离散余弦变换是离散傅里叶变换(DFT)的一种特殊形式,相比DFT变换具有更好的频域能量聚集度,2D DCT[24]可以表示为
$$ \begin{gathered} {\boldsymbol{f}}_{h,w}^{2{\rm D}} = \sum\limits_{i = 0}^{H - 1} {\sum\limits_{j = 0}^{W - 1} {{\boldsymbol{x}}_{i,j}^{2{\rm D}}{{B}}_{h,w}^{i,j}} } = \\ \sum\limits_{i = 0}^{H - 1} {\sum\limits_{j = 0}^{W - 1} {{\boldsymbol{x}}_{i,j}^{2{\rm D}}\cos \left( {\frac{{{\text{π}} h}}{H}\left( {i + \frac{1}{2}} \right)} \right)\cos \left( {\frac{{{\text{π}} w}}{W}\left( {j + \frac{1}{2}} \right)} \right)} } \\ \end{gathered} $$ (1) 式中:
$ {{\boldsymbol{f}}^{2{\rm D}}} \in {{\bf{R}}^{H \times W}} $ 代表二维离散余弦变化的频谱,输入特征图用${\boldsymbol{x}}^{2{\rm D}} \in {\bf{R}}^{H \times W} $ 表示,$ H $ 代表输入特征图的高,$ W $ 代表输入特征图的宽,$ B_{h,w}^{i,j} $ 表示对输入特征图进行2D DCT的基函数,$ h \in \left\{ {0,1,2, \cdots ,H - 1} \right\} $ ,$ w \in \left\{ {0,1,2, \cdots ,W - 1} \right\} $ 。GAP仅保留最低频率分量,而丢弃其他频率分量信息,导致频域信息利用不充分,不足以表征所有的特征信息。为融入更多的频率分量,将输入
$ {\boldsymbol{X}} $ 沿通道维度划分成$ n $ 个部分,用$ \left[ {{{\boldsymbol{X}}^0} \quad {{\boldsymbol{X}}^1} \quad \cdots \quad {{\boldsymbol{X}}^{n - 1}}} \right] $ 表示,其中$ {{\boldsymbol{X}}^i} \in {{\bf{R}}^{{C'} \times H \times W}} $ ,$ i \in \left\{ {0,1, \cdots ,n - 1} \right\} $ ,每个通道为$ {C'} = C/n $ ,$ C $ 应为$ n $ 的倍数。每个部分都分配一个对应的2D DCT频率分量,对应的2D DCT频率分量可表示为$$ \begin{gathered} {{\boldsymbol{F}}^i} = 2{\mathrm{D}}\;{\mathrm{DC}}{{\mathrm{T}}^{{u_i},{v_i}}}\left( {{{\boldsymbol{X}}^i}} \right) = \sum\limits_{h = 0}^{H - 1} {\sum\limits_{w = 0}^{W - 1} {{\boldsymbol{X}}_{:,h,w}^i} } B_{h,w}^{^{{u_i},{v_i}}} \end{gathered} $$ (2) 式中:
$ {{\boldsymbol{X}}^i} $ 表示输入特征图的第i个通道部分,$ i \in \left\{ {0,1, \cdots ,n - 1} \right\} $ ,$ \left[ {{u_i},{v_i}} \right] $ 是对应$ {{\boldsymbol{X}}^i} $ 的频率分量的二维索引,$ {{\boldsymbol{F}}^i} $ 表示$ {{\boldsymbol{X}}^i} $ 对应的2D DCT频率分量,每个频率分量$ {{\boldsymbol{F}}^i} \in {{\bf{R}}^{C'}} $ 变为$ {C'} $ 维的向量,$ {\boldsymbol{X}}_{:,h,w}^i $ 表示高宽为$ h $ 、$ w $ 输入特征图的第$ i $ 个通道部分。$ B_{h,w}^{^{{u_i},{v_i}}} $ 表示输入的第$ i $ 个通道部分的二维离散余弦变化基函数。整个注意力框架可以写成$$ {\boldsymbol{A}} = \sigma \left( {{{\mathrm{fc}}} \left( {{{\mathrm{cat}}} \left( {[{{\boldsymbol{F}}^0},{{\boldsymbol{F}}^1}, \cdots ,{{\boldsymbol{F}}^{n - 1}}]} \right)} \right)} \right) $$ (3) 式中:
$ {\boldsymbol{A}} $ 表示经过注意力调整后的输出特征图,$ \sigma $ (·)表示Sigmoid激活函数, cat(·)表示对$ n $ 个通道对应的频率分量进行拼接操作, fc(·)表示如全连接层或一维卷积的映射函数。1.2 多尺度特征增强模块
锈蚀会发生在设备的任何部位,有些范围较大,如设备表面、连接处,有的范围相对较小,如设备上的部件。由于锈蚀区域大小不统一,可能其在不同尺度的特征图上表现出的特征具有差异。本文在特征融合网络中引入多尺度特征增强模块(MS-module)重新构建C2f模块,得到MS-C2f(multi-scale C2f module,MS-C2f)模块,先采用自校准卷积(self-calibrated convolutions,SCConv)[25],更精确地定位锈蚀区域,再结合不同扩张率的并行卷积让网络充分利用不同尺度上的特征信息,从而更全面地捕获锈蚀缺陷特征,最终提高锈蚀缺陷的检测精度,具体结构如图3所示。
多尺度特征增强模块先采用自校准卷积,能够自适应地在每个空间位置构建远距离空间和通道的依赖关系,从而生成更显著的锈蚀特征,实现更精确和完整的锈蚀目标定位。其自校准卷积结构如图4所示。
首先将输入特征图X分成两部分
$ \left\{ {{{\boldsymbol{X}}_1},{{\boldsymbol{X}}_2}} \right\} $ ,将给定的一组卷积核$ \left( {C,C,{k_{\rm h}},{k_{\rm w}}} \right) $ 分成4部分,其中输入通道与输出通道相同,用$ C $ 表示,$ {k_{\rm h}} $ 、$ {k_{\rm w}} $ 分别表示空间高度和宽度。4个部分别负责不同的功能,记为$ \left\{ {{{\boldsymbol{K}}_1},{{\boldsymbol{K}}_2},{{\boldsymbol{K}}_3},{{\boldsymbol{K}}_4}} \right\} $ ,维度均为$ \left( {C/2,C/2,{k_{\rm h}},{k_{\rm w}}} \right) $ 。为高效收集每个空间位置的上下文信息,分别在原始尺度空间(输入共享相同的分辨率)和下采样后的具有较小分辨率的潜在空间(用于自校准)进行卷积特征变换。对于$ {{\boldsymbol{X}}_1} $ 通路进行自校准操作,$ {{\boldsymbol{X}}_2} $ 通路进行简单的卷积运算,$ {{\boldsymbol{Y}}_2} = {\mathcal{F}_1}\left( {{{\boldsymbol{X}}_2}} \right) = {{\boldsymbol{X}}_2} * {{\boldsymbol{K}}_1} $ 。$ {{\boldsymbol{X}}_1} $ 首先进行平均池化,然后再使用$ {{\boldsymbol{K}}_2} $ 进行特征变换,校准操作可表示为$$ {\boldsymbol{Y}}_1' = {\mathcal{F}_3}\left( {{{\boldsymbol{X}}_1}} \right) \cdot \sigma \left( {{{\boldsymbol{X}}_1} + {\text{Up}}\left( {{\mathcal{F}_2}\left( {{\text{AvgpPoor}}{{\text{l}}_r}\left( {{{\boldsymbol{X}}_1}} \right)} \right)} \right)} \right) $$ (4) 式中:
$ {\boldsymbol{Y}}_1' $ 表示校准后操作后的特征图;$ {\text{AvgpPoor}}{{\text{l}}_r} $ 表示池化核大小为$ r \times r $ 、步长为$ r $ 的平均池化操作;$ {\mathcal{F}_2}\left( {{\text{AvgpPoor}}{{\text{l}}_r}\left( {{{\boldsymbol{X}}_1}} \right)} \right) = {\text{AvgpPoor}}{{\text{l}}_r}\left( {{{\boldsymbol{X}}_1}} \right) * {{\boldsymbol{K}}_2} $ ;$ {\text{Up}}\left( \cdot \right) $ 表示双线性插值算子,用于将中间参考量从小比例空间映射到原始特征空间;‘$ \cdot $ ’表示逐元素乘运算;$ {\mathcal{F}_3}\left( {{{\boldsymbol{X}}_1}} \right) = {{\boldsymbol{X}}_1} * {{\boldsymbol{K}}_3} $ 。最终校准后的输出为$$ {{\boldsymbol{Y}}_1} = {\mathcal{F}_4}\left( {{\boldsymbol{Y}}_1'} \right) = {\boldsymbol{Y}}_1' * {{\boldsymbol{K}}_4} $$ (5) 最终SCConv的输出为
$$ {\boldsymbol{Y}} = {\mathrm{cat}}\left( {\left[ {{{\boldsymbol{Y}}_1},{{\boldsymbol{Y}}_2}} \right]} \right) $$ (6) 式中:
$ {{\boldsymbol{Y}}_1} $ 、$ {{\boldsymbol{Y}}_2} $ 表示$ {{\boldsymbol{X}}_1} $ 通路和$ {{\boldsymbol{X}}_2} $ 通路的最终输出,$ {\mathrm{cat}} $ (·)表示拼接操作。多尺度特征增强模块进一步采用多分支结构以扩展感受野,通过扩张率d为1、3、5的并行卷积提取多尺度特征信息,将得到的输出特征经过BN层处理后,再采用逐点卷积对不同尺度的特征进行整体压缩和聚合。最后,将输入特征与聚合后特征拼接,以构建更全面的特征表示:$$ {C_1}\left( {{\boldsymbol{Y}},d} \right) = {{\mathrm{D}}_d}{\mathrm{DConv}}\left( {\boldsymbol{Y}} \right) $$ (7) $$ C\left( {\boldsymbol{Y}} \right) = {\mathrm{PConv}}\left( {{\mathrm{BN}}\left( {{\Gamma _d}\left\{ {{C_1}\left( {{\boldsymbol{Y}},d} \right)} \right\}} \right)} \right) + {{{\boldsymbol{X}}}} $$ (8) 式中:
$ {{\mathrm{D}}}_{d}{\mathrm{DConv}}(\cdot) $ 表示大小为3×3、扩张率为d的扩张卷积,$ {C_1}\left( {{\boldsymbol{Y}},d} \right) $ 表示SCConv输出特征Y经过扩张率为d的扩张卷积的输出,$ C\left( {\boldsymbol{Y}} \right) $ 表示多尺度特征增强模块的最终输出,$ {\boldsymbol{X}} $ 表示输入特征图,$ {\mathrm{PConv}}(\cdot) $ 表示逐点卷积,$ {\Gamma }_{d}\{ \cdot \} $ 表示所有扩张卷积的级联运算。1.3 附加检测头
电力场景图像背景复杂,且锈蚀的显著度低,其关键信息易在特征融合的下采样过程中丢失,进而导致网络检测困难。为此,本文采取深度监督[26]方法,通过在深度神经网络的某些中间层增加辅助分类器作为一种网络分支,对主干网络进行监督,从而减少锈蚀特征信息丢失,提高对锈蚀缺陷的检测能力。在训练过程中,增加附加检测头(AD-Head)以提高模型识别能力,在推理时,去掉AD-Head不影响模型推理速度。该附加检测头结构如图5所示。
YOLOv8采用的是Task-Aligned Assigner[27]动态标签分配策略,该策略根据分类与回归分数的加权分数选择正样本。其计算公式为
$$ t = {s^\alpha } \times {u^\beta } $$ (9) 式中:
$ t $ 为加权分数,通过训练可以引导网络动态地关注于高质量的正样本。$ s $ 代表标注类别的分类分数;$ u $ 代表预测框与真实框(GTbox)的交并比IoU(intersection over union,IoU),即回归分数;$ \alpha $ 和$ \beta $ 为权重超参数。该方法使用主检测头的预测结果作为指导,生成从粗到细的层次标签,分别用于附加检测头和主检测头的学习。主检测头选择加权分数最高的top-k个(默认k=10)预测框作为正样本。附加检测头则通过放宽对正样本分配约束,纳入更多候选框作为正样本。YOLOv8类别损失采用的是交叉熵损失(binary cross-entropy loss,BCE Loss),用
$ {L_{{\mathrm{BCE}}}} $ 表示:$$ \begin{gathered} {L_{{\mathrm{BCE}}}} = - \left( {\left( {1 - {t_{{\mathrm{mb}}}}} \right)\log \left( {1 - {p_{{\mathrm{yc}}}}} \right) + {t_{{\mathrm{mb}}}}\log \left( {{p_{{\mathrm{yc}}}}} \right)} \right) \end{gathered} $$ (10) 式中:
$ {t_{{\mathrm{mb}}}} $ 为模型预测值,$ {p_{{\mathrm{yc}}}} $ 为正样本处的预测框与目标框的IoU。YOLOv8的边框回归损失采用的是DFL Loss[28]和CIoU Loss的组合,分别用LDFL和LCIoU表示:$$ \begin{gathered} {L_{{\mathrm{DFL}}}}\left( {{S_i},{S_{i + 1}}} \right) = - \left( {\left( {{y_{i + 1}} - y} \right)\log \left( {{S_i}} \right) + \left( {y - {y_i}} \right)\log \left( {{S_{i + 1}}} \right)} \right) \end{gathered} $$ (11) 式中:
$ {S_i} $ 、$ {S_{i + 1}} $ 为Softmax函数输出,$ {y_i} $ 和$ {y_{i + 1}} $ 表示最接近目标$ y $ 的周围区间值,$ {y_i} \leqslant y \leqslant {y_{i + 1}} $ 。$$ {L_{{\mathrm{CIoU}}}} = 1 - {I_{{\mathrm{oU}}}} + \frac{{{\rho ^2}\left( {b,{b^{\rm{gt}}}} \right)}}{{{c^2}}} + \alpha \nu $$ (12) $$ \upsilon = \frac{4}{{{{\text{π}} ^2}}}{\left( {\arctan \frac{{{\omega ^{\rm{gt}}}}}{{{\eta ^{\rm{gt}}}}} - \arctan \frac{\omega }{\eta }} \right)^2} $$ (13) $$ \alpha = \frac{\nu }{{1 - {I_{{\mathrm{oU}}}} + \nu }} $$ (14) 式中:
$ \alpha $ 是权重函数,$ \nu $ 用来度量长宽比的相似性,$ b $ 和$ {b^{\rm{gt}}} $ 分别代表预测框和真实框的中心点,$ \rho $ 代表两个中心点的欧氏距离,$ c $ 代表能同时包含预测框和真实框的最小闭包区域的对角线距离,$ {\omega ^{\rm{gt}}} $ 、$ {\eta^{\rm{gt}}} $ 分别表示真实框的宽和高,$ \omega $ 、$ \eta $ 分别代表预测框的宽和高。同理,代入AD-Head参数可以得到$ {L_{{\mathrm{BCE}} - {\mathrm{AD}}}} $ 、$ {L_{{\mathrm{DEL}} - {\mathrm{AD}}}} $ 、$ {L_{{\mathrm{CIoU}} - {\mathrm{AD}}}} $ 。Main-Lead Loss和AD-Head Loss最终按1∶0.25融合得到$ {L_{{\mathrm{BCE}} - {\mathrm{last}}}} $ 、$ {L_{{\mathrm{DEL}} - {\mathrm{last}}}} $ 、$ {L_{{\mathrm{CIoU}} - {\mathrm{last}}}} $ 。最终的损失函数为DFL、CIoU及CLS 3个损失函数的加权求和。2. 实验结果与分析
2.1 实验数据与环境
本文选取变电站锈蚀缺陷图像作为实验对象,由变电站实际巡检拍摄得到,共
1124 张图片,通过LabelImg标注工具进行标注。对标注完的数据按8∶2的比例随机划分为训练集和测试集,划分后的训练集和测试集图片数量分别为900张和224张。本文的实验环境如表1所示,模型参数设置:训练轮次(epoch)为200轮,批大小(batchsize)为16。表 1 实验环境Table 1 Experimental environment名称 型号 操作系统 Ubuntu16.04 CPU型号 i7-5930K GPU型号 1080Ti 深度学习框架 PyTorch1.9.0 编程语言 Python3.8 CUDA 10.2 2.2 评价指标
本文选取准确率P(Precision)、召回率R(Recall)和平均精度均值ImAP(mean average precision,mAP)作为模型评价指标。准确率又称为查准率,即正确预测为正的样本占全部预测为正的样本的比例。召回率又称查全率,即正确预测为正的样本占所有实际为正的样本的比例。mAP50表示IoU阈值在0.5时的平均检测精度。计算公式分别为
$$ P = \frac{{{N_{{\mathrm{TP}}}}}}{{{N_{{\mathrm{TP}}}} + {N_{{\mathrm{FP}}}}}} $$ (15) $$ R = \frac{{{N_{{\mathrm{TP}}}}}}{{{N_{{\mathrm{TP}}}} + {N_{{\mathrm{FN}}}}}} $$ (16) $$ {I_{{\mathrm{AP}}}} = \int_0^1 P \left( R \right){\text{d}}R $$ (17) $$ {I_{{\mathrm{mAP}}}} = \frac{1}{N}\sum\limits_{i = 1}^N {\int_0^1 {{P_i}} } \left( {{R_i}} \right){\text{d}}R $$ (18) 式中:
$ {N_{{\mathrm{TP}}}} $ 表示正确预测为锈蚀的样本数,$ {N_{{\mathrm{FP}}}} $ 表示错误预测为锈蚀的样本数,$ {N_{{\mathrm{FN}}}} $ 表示未被预测为锈蚀的样本数,$ N $ 为检测的类别数。在评价模型性能方面,选取模型参数量(Params)以及每秒帧数(FPS)分别作为模型大小和检测实时性的评价指标。
2.3 频率通道注意力模块位置分析
为研究FcaNet的位置与数量对锈蚀缺陷检测效果的影响,在保证模型其他结构参数相同的情况下进行了对比实验。模型1~5依次表示将FcaNet分别添加在Backbone倒数第2个C2f与Neck连接处,Backbone的SPPF后,Backbone倒数第2个C2f与Neck连接处以及SPPF后,Backbone倒数第2个、第3个C2f与Neck连接处以及SPPF后,Neck的最后两个C2f后,实验结果见表2。
表 2 频率通道注意力模块不同位置对模型检测性能的影响Table 2 Effects of different positions of the FcaNet module on model detection% 模型 添加位置 mAP50 1 Backbone倒数第2个C2f与Neck连接处 73.6 2 Backbone的SPPF后 73.8 3 Backbone倒数第2个C2f与Neck
连接处以及SPPF后74.6 4 Backbone倒数第2、3个C2f与
Neck连接处以及SPPF后73.0 5 Neck的最后两个C2f后 72.4 实验结果表明,与模型1相比,模型2取得了更高的检测精度,这是因为随着网络的加深,细节信息会逐渐损失,在越深层的网络补充锈蚀的细节信息,网络对锈蚀的识别能力越强。与其他模型相比,模型3提升的效果最显著,得益于补充的锈蚀细节特征在深层网络得到了更加精细的调整以及在Neck网络中得到了充分的融合,使得模型能够更好地关注与锈蚀相关的特征信息。模型4的检测精度低于模型1与模型2,因为在Backbone倒数第3个C2f与Neck连接处加入频率通道注意力机制,此时网络层数较浅,提取的无关信息较多,随着网络的加深,反而会对模型造成干扰。另外,与其他模型相比,模型4的检测效果最差,因为频率通道注意力机制添加的位置靠近网络输出,导致锈蚀的细节特征没有得到及时的补充与充分的融合。
2.4 多尺度模块效果分析
为探究多尺度模块对不同大小的锈蚀区域的检测效果,本研究使用多尺度特征增强模块重构C2f模块,将检测头前的C2f模块替换为重构的MS-C2f模块,并与YOLOv8m模型进行对比实验,其结果如表3示。采用
$ \rm{A{P_s}} $ 、$ \rm{A{P_m}} $ 和$ \rm{A{P_l}} $ 作为评估指标,分别表示像素面积小于$ 32 \times 32 $ 、$ 32 \times 32 $ ~$ 96 \times 96 $ 以及大于$ 96 \times 96 $ 目标的AP50∶95值。由结果可知,相较于原始的YOLOv8m模型,添加MS-C2f以后的YOLOv8m模型对不同大小的锈蚀区域的检测准确率有一定的提升,其中锈蚀小目标、中等目标以及大目标的检测精度分别提升了3.4%、1.8%和0.6%,证明了多尺度特征增强模块的有效性。表 3 多尺度特征增强模块的效果Table 3 Effect of multi-scale modules% 模型 $ \rm{A{P_s}} $ $ \rm{A{P_m}} $ $ \rm{A{P_l}} $ YOLOv8m 28.8 31.5 46.0 YOLOv8m+MS-C2f 32.2 33.3 46.6 2.5 消融实验
为了验证本文方法中所提出的频率通道注意力机制、多尺度特征增强模块以及附加检测头模块的有效性,设计了8组消融实验,如表4所示。
表 4 消融实验结果Table 4 Ablation experimental results模型 YOLOv8m FcaNet MS-C2f AD-Head P/% R/% mAP50/% 参数量/$ {10^6} $ 检测速度/(f/s) A √ 81.0 67.4 73.0 25.8 91.7 B √ √ 82.6 67.5 74.6 25.9 91.7 C √ √ 83.1 66.0 75.2 26.8 87.0 D √ √ 83.7 68.5 75.8 25.8 92.6 E √ √ √ 81.8 68.3 76.1 26.9 86.2 F √ √ √ 83.3 68.5 76.4 25.9 90.9 G √ √ √ 81.6 69.9 77.4 26.8 87.7 H √ √ √ √ 86.5 69.0 78.1 26.9 86.2 注:“√”表示添加此模块。 从表4中可以看出,在YOLOv8m模型中使用本文方法均能提高模型检测的准确率。其中模型A代表使用的基线模型,即YOLOv8m模型,其余实验均在基线模型上进行改进。模型B表示在模型A的基础上添加了FcaNet,FcaNet引入了更多的频率信息,补充了深层网络受轮廓变化影响较小的纹理等细节特征,优化了模型对锈蚀特征的提取,模型B的mAP50提升1.6%,证明了FcaNet的有效性。模型C在模型A的基础上引入利用多尺度特征增强模块重构的MS-C2f模块,SCConv可以更精确和完整地定位锈蚀目标,扩展卷积可以在卷积核大小不变的情况下扩大网络感受野,有利于捕获多尺度的上下文信息,使网络更全面地捕获锈蚀缺陷的特征,使模型的mAP50提升了2.2%,提高了模型对锈蚀的检测精度。模型D在模型A的基础上添加了AD-Head,缓解锈蚀特征易在下采样过程中丢失关键信息的情况,模型的mAP50提升了2.8%,证明了AD-Head的有效性。模型E、F、G表示将本文所提的3个模块分别两两组合加入,相较于模型B、C、D,即将所提模块单独添加的模型,网络的平均精度均有提高,证明了所提模块两两添加的有效性。模型H(本文方法)表示对YOLOv8m添加本文所有的改进措施,改进后的网络准确率提升了5.5%,召回率提升了1.6%,mAP50提升了5.1%。添加的3个模块使得网络在多个层级中进行了调整和计算,导致了参数量和检测时间的增加。改进后的模型虽增加了参数量和计算时间,但提高了模型的检测精度。综上所述,本文提出的3种改进方法对变电设备锈蚀图像检测存在优势。
2.6 检测结果可视化分析
为更进一步地展示本文方法对锈蚀检测效果的提升,对比分析了基线模型和改进模型(本文方法)的可视化预测结果,如图6所示。
由结果1和结果2分析可知,锈蚀的颜色一般呈红色或者红褐色,基线模型容易将颜色相近的其他区域误判为锈蚀,而改进模型通过添加FcaNet,引入更多的频率分量,学习到锈蚀更多的细节特征,从而提高了对锈蚀的识别能力。由结果3分析可知,锈蚀区域面积大小有所差异,基线模型对面积较小的锈蚀区域产生了漏检,而改进模型通过添加经过多尺度特征增强模块重构的MS-C2f模块,使更多锈蚀缺陷信息进入有效感受野,改善了对不同大小的锈蚀区域的识别情况。
由结果2和结果4分析可知,基线模型出现了漏检与检测框重叠的情况,改进后的模型通过添加AD-Head,与主检测头共同计算损失,实现深浅网络的信息交互,获取了更加完整的锈蚀特征信息,减少了漏检与检测框重合的情况。
综上所述,改进模型关注的锈蚀区域更加准确,减少了对锈蚀区域的误判、漏检以及检测框重叠的情况,验证了本文方法的可行性与有效性。
2.7 模型对比实验
为进一步验证本文方法的优越性,在变电设备锈蚀缺陷数据集上与目前先进的目标检测算法进行对比,对比模型分别是Faster R-CNN、YOLOv5m、YOLOv6m[29]、YOLOv7[30]、RT-DETR[31]以及YOLOv9c[32],各项测试指标如表5所示。由表5可知,本文方法的平均检测精度达到78.1%,mAP50:95达到48.2%,明显高于其他模型,在参数量方面仅次于YOLOv5m和YOLOv8m,浮点计算量方面仅次于YOLOv5m,本文方法检测速度优于YOLOv7、RT-DETR、YOLOv9c模型。
表 5 与先进检测算法性能对比Table 5 Performance comparison with advanced detect algorithms模型 Backbone mAP50/% mAP50∶95/% 参数量/$ {10^6} $ 浮点计算量/1012 检测速度/(f/s) Faster R-CNN Resnet50 40.5 17.0 137.1 370.2 11.9 YOLOv5m Darknet53 73.1 36.9 20.8 47.9 108.7 YOLOv6m EfficientRep 68.0 37.0 34.8 85.62 91.6 YOLOv7 E-ELAN 72.5 39.1 36.4 103.2 53.2 YOLOv8m CSPDarkNet 73.0 43.0 25.8 84.4 91.7 RT-DETR HGNetv2 62.4 31.7 65.4 222.5 28.5 YOLOv9c GELAN 71.2 41.9 50.7 236.6 36.0 本文方法 CSPDarkNet 78.1 48.2 26.9 79.5 86.2 图7为不同模型测试结果:由组①可以看出,YOLOv5m、YOLOv6m、YOLOv8m以及YOLOv9c都将下面的红色牌子误检为锈蚀,YOLOv7误将背景识别为锈蚀,RT-DETR出现了检测框重合的情况,本文方法没有出现误检且检测框更贴合目标;由组②可以看出,除YOLOv8m和本文方法外的其他模型都将其他区域误检为锈蚀,本文方法相较于YOLOv8m模型的检测精度更高。由此可以看出,本文算法对于锈蚀缺陷特征的捕捉更为准确,验证了本文方法的先进性。
3. 结束语
针对复杂场景下变电设备锈蚀缺陷在检测过程中形态差异大、长宽比随机、关键特征易丢失的问题,本文提出一种面向复杂场景的变电设备锈蚀检测方法。在YOLOv8m的特征提取网络与特征融合网络之间加入FcaNet,加强了模型对锈蚀细节特征的学习能力,提高了模型的判别能力,降低了误判的概率;在特征融合网络中添加基于多尺度特征增强模块重构的MS-C2f模块,提高了模型对不同大小锈蚀区域的识别能力;通过引入AD-Head从主网络生成的特征映射中提取额外的特征,改善卷积层下采样导致的信息丢失的情况,并与主检测头共同计算损失,实现深浅网络的信息交互,改善了漏检的情况。实验结果表明,本文提出的变电设备锈蚀检测方法的平均准确率达到78.1%,较基线模型提升了5.1%,有效地提升了对变电设备锈蚀缺陷的检测精度,同时检测效果也优于其他主流目标检测模型。虽然改进模型精度有所提升,但仍不能满足实际巡检的高精度要求,同时改进模型相较于原YOLOv8m模型参数量有所增加、检测速度有所下降,同样制约了模型在实际中的应用。未来研究将聚焦于进一步提高对变电设备锈蚀缺陷区域的检测精度,尽可能进行模型的轻量化,希望将所提出的网络应用到实际的缺陷检测场景中。
-
表 1 实验环境
Table 1 Experimental environment
名称 型号 操作系统 Ubuntu16.04 CPU型号 i7-5930K GPU型号 1080Ti 深度学习框架 PyTorch1.9.0 编程语言 Python3.8 CUDA 10.2 表 2 频率通道注意力模块不同位置对模型检测性能的影响
Table 2 Effects of different positions of the FcaNet module on model detection
% 模型 添加位置 mAP50 1 Backbone倒数第2个C2f与Neck连接处 73.6 2 Backbone的SPPF后 73.8 3 Backbone倒数第2个C2f与Neck
连接处以及SPPF后74.6 4 Backbone倒数第2、3个C2f与
Neck连接处以及SPPF后73.0 5 Neck的最后两个C2f后 72.4 表 3 多尺度特征增强模块的效果
Table 3 Effect of multi-scale modules
% 模型 $ \rm{A{P_s}} $ $ \rm{A{P_m}} $ $ \rm{A{P_l}} $ YOLOv8m 28.8 31.5 46.0 YOLOv8m+MS-C2f 32.2 33.3 46.6 表 4 消融实验结果
Table 4 Ablation experimental results
模型 YOLOv8m FcaNet MS-C2f AD-Head P/% R/% mAP50/% 参数量/$ {10^6} $ 检测速度/(f/s) A √ 81.0 67.4 73.0 25.8 91.7 B √ √ 82.6 67.5 74.6 25.9 91.7 C √ √ 83.1 66.0 75.2 26.8 87.0 D √ √ 83.7 68.5 75.8 25.8 92.6 E √ √ √ 81.8 68.3 76.1 26.9 86.2 F √ √ √ 83.3 68.5 76.4 25.9 90.9 G √ √ √ 81.6 69.9 77.4 26.8 87.7 H √ √ √ √ 86.5 69.0 78.1 26.9 86.2 注:“√”表示添加此模块。 表 5 与先进检测算法性能对比
Table 5 Performance comparison with advanced detect algorithms
模型 Backbone mAP50/% mAP50∶95/% 参数量/$ {10^6} $ 浮点计算量/1012 检测速度/(f/s) Faster R-CNN Resnet50 40.5 17.0 137.1 370.2 11.9 YOLOv5m Darknet53 73.1 36.9 20.8 47.9 108.7 YOLOv6m EfficientRep 68.0 37.0 34.8 85.62 91.6 YOLOv7 E-ELAN 72.5 39.1 36.4 103.2 53.2 YOLOv8m CSPDarkNet 73.0 43.0 25.8 84.4 91.7 RT-DETR HGNetv2 62.4 31.7 65.4 222.5 28.5 YOLOv9c GELAN 71.2 41.9 50.7 236.6 36.0 本文方法 CSPDarkNet 78.1 48.2 26.9 79.5 86.2 -
[1] 赵振兵, 冯烁, 赵文清, 等. 融合知识迁移和改进YOLOv6的变电设备热像检测方法[J]. 智能系统学报, 2023, 18(6): 1213−1222. doi: 10.11992/tis.202303030 ZHAO Zhenbing, FENG Shuo, ZHAO Wenqing, et al. Thermd image detection method for substation equipment by incorporating knowledge migration and improved YOLOv6[J]. CAAI transactions on intelligent systems, 2023, 18(6): 1213−1222. doi: 10.11992/tis.202303030 [2] 吴添权, 戴美胜, 杨刚, 等. 基于改进Mask-RCNN模型的电力设备锈蚀识别[J]. 电力信息与通信技术, 2021, 19(4): 25−30. WU Tianquan, DAI Meisheng, YANG Gang, et al. Corrosion detection of power equipment based on improved mask-RCNN model[J]. Electric power information and communication technology, 2021, 19(4): 25−30. [3] 王凌云, 李婷宜, 李阳, 等. 基于FEF-DeepLabV3+的电力金具锈蚀分割方法[J]. 电子测量与仪器学报, 2023, 37(7): 166−176. WANG Lingyun, LI Tingyi, LI Yang, et al. Segmentation method of power armor clamp corrosion based on FEF-DeepLabV3+[J]. Journal of electronic measurement and instrumentation, 2023, 37(7): 166−176. [4] LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International journal of computer vision, 2004, 60(2): 91−110. doi: 10.1023/B:VISI.0000029664.99615.94 [5] ZHU Qiang, YEH M C, CHENG K T, et al. Fast human detection using a cascade of histograms of oriented gradients[C]//2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2006: 1491−1498. [6] 刘传洋, 吴一全. 基于深度学习的输电线路视觉检测方法研究进展[J]. 中国电机工程学报, 2023, 43(19): 7423−7446. LIU Chuanyang, WU Yiquan. Research progress of vision detection methods based on deep learning for transmission lines[J]. Proceedings of the CSEE, 2023, 43(19): 7423−7446. [7] ZHANG Yu, LI Weixing, ZHOU Jian, et al. Substation equipment abnormity detection based on improved YOLOv5[C]//2022 41st Chinese Control Conference. Hefei: IEEE, 2022: 6654−6659. [8] ZHENG Zhaohui, WANG Ping, LIU Wei, et al. Distance-IoU loss: Faster and better learning for bounding box regression[C]//Proceedings of the AAAI Conference on Artificial Intelligence. New York: AAAI, 2020: 12993−13000. [9] XU Bo, DING Yuan. Research on the application of deep learning object detection in rust defect detection of power equipment[C]//2023 3rd International Conference on Electrical Engineering and Mechatronics Technology. Nanjing: IEEE, 2023: 770−775. [10] REN Shaoqing, HE Kaiming, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 39(6): 1137−1149. doi: 10.1109/TPAMI.2016.2577031 [11] 张迎晨, 王波, 马富齐, 等. 基于域适应网络的电力设备不规则外表面缺陷高精度检测方法[J]. 高电压技术, 2022, 48(11): 4516−4526. ZHANG Yingchen, WANG Bo, MA Fuqi, et al. High-precision detection method of irregular outer surface defects of power equipment based on domain adaptation network[J]. High voltage engineering, 2022, 48(11): 4516−4526. [12] 于豪, 蒋锦霞, 赖晓翰, 等. 基于自适应感受野的电力设备表面缺陷检测方法[J]. 系统仿真学报, 2023, 35(7): 1572−1580. YU Hao, JIANG Jinxia, LAI Xiaohan, et al. Surface defect detection of power equipment using adaptive receptive field network[J]. Journal of system simulation, 2023, 35(7): 1572−1580. [13] CHEN Xiaojiao, AN Zhenyu, HUANG Liansheng, et al. Surface defect detection of electric power equipment in substation based on improved YOLOV4 algorithm[C]//2020 10th International Conference on Power and Energy Systems. Chengdu: IEEE, 2020: 256−261. [14] BOCHKOVSKIY A, WANG C Y, LIAO H M. YOLOv4: optimal speed and accuracy of object detection[EB/OL]. (2020−04−23)[2024−01−01]. https://arxiv.org/abs/2004.10934v1. [15] DAI Yan, HAN Rui, LIU Li, et al. Research on substation equipment rust detection method based on improved SSD[C]//2021 International Conference on Advanced Electrical Equipment and Reliable Operation. Beijing: IEEE, 2021: 1−3. [16] LIU Wei, ANGUELOV D, ERHAN D, et al. SSD: single shot MultiBox detector[M]//Computer Vision-ECCV 2016. Cham: Springer International Publishing, 2016: 21−37. [17] HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770−778. [18] ZHANG Sheng, DENG Xinling, LU Yumin, et al. A channel attention based deep neural network for automatic metallic corrosion detection[J]. Journal of building engineering, 2021, 42: 103046. doi: 10.1016/j.jobe.2021.103046 [19] HU Jie, SHEN Li, SUN Gang. Squeeze-and-excitation networks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7132−7141. [20] QIN Zequn, ZHANG Pengyi, WU Fei, et al. FcaNet: frequency channel attention networks[C]//2021 IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 763−772. [21] LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 936−944. [22] LIU Shu, QI Lu, QIN Haifang, et al. Path aggregation network for instance segmentation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 8759−8768. [23] LIN Min, CHEN Qiang, YAN Shuicheng. Network in network[EB/OL]. (2014−03−04)[2024−01−01]. https://arxiv.org/abs/1312.4400v3. [24] AHMED N, NATARAJAN T, RAO K R. Discrete cosine transform[J]. IEEE transactions on computers, 1974, C-23(1): 90−93. doi: 10.1109/T-C.1974.223784 [25] LIU Jiangjiang, HOU Qibin, CHENG Mingming, et al. Improving convolutional networks with self-calibrated convolutions[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 10093−10102. [26] LEE C Y, XIE S, GALLAGHER P, et al. Deeply-supervised nets[C]//Artificial intelligence and statistics. San Diego: PMLR, 2015: 562−570. [27] FENG Chengjian, ZHONG Yujie, GAO Yu, et al. TOOD: task-aligned one-stage object detection[C]//2021 IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 3490−3499. [28] LI Xiang, WANG Wenhai, WU Lijun, et al. Generalized focal loss: Learning qualified and distributed bounding boxes for dense object detection[J]. Advances in neural information processing systems, 2020, 33: 21002−21012. [29] LI Chuyi, LI Lulu, JIANG Hongliang, et al. YOLOv6: A single-stage object detection framework for industrial applications[EB/OL]. (2022−09−07)[2024−01−01]. https://arxiv.org/abs/2209.02976. [30] WANG C Y, BOCHKOVSKIY A, LIAO H M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[EB/OL]. (2022−07−06)[2024−01−01]. https://arxiv.org/abs/2207.02696v1. [31] ZHAO Yian, LYU Wenyu, XU Shangliang, ZHAO Y, et al. Detrs beat yolos on real-time object detection[EB/OL]. (2023−07−06)[2024−01−01]. https://arxiv.org/abs/2304.08069. [32] WANG C Y, YEH I H, LIAO H M. YOLOv9: learning what you want to learn using programmable gradient information[EB/OL]. (2024−02−29)[2024−03−28]. https://arxiv.org/abs/2402.13616v2.