基于注意力机制的多尺度缺陷绝缘子检测算法

2022-08-22 13:39种法广田英杰
计算机仿真 2022年7期
关键词:绝缘子特征提取聚类

种法广,温 蜜,田英杰,张 凯

(1. 上海电力大学计算机科学与技术学院,上海 200090;2. 国网上海市电力公司,上海 200122)

1 引言

随着输电线路的不断建设以及电网技术的创新发展,基于机器人和无人机的智能电力巡检技术已经被广泛应用。电力绝缘子是对输电线路起到支撑与绝缘作用的重要电力部件,主要有陶瓷、玻璃和复合绝缘子三种类型,但其长期暴露在野外容易出现故障,一旦出现故障将会严重影响稳定的电能输送[1]。为保障电网稳定运行,对输电线路巡检中故障绝缘子的检测尤为重要,其中绝缘子缺陷则是常见的故障类别之一[2]。通常来说,绝缘子处于森林、房屋、河流和不同天气(如雨、雪、雾)等复杂场景,且出现的缺陷区域较小,给绝缘子缺陷检测带来一定挑战。

目前绝缘子缺陷检测的方法可分为人工巡检、基于机器学习的图像识别技术和基于深度学习的目标检测算法。人工巡检主要通过人工排查绝缘子明显、直观的故障,费时费力,且存在安全隐患。基于机器学习的图像识别技术如局部二值模式特征(Local Binary Pattern,LBP)[3],方向梯度直方图特征(Histogram of Oriented Gradient,HOG)[4]和Deformable Part Models (DPM)目标检测算法[5]等虽已取得一定的效果,但其主要使用单一特征(如颜色、纹理、形状等),同时依赖人工提取特征,工作量大,检测效率低。

近年来,一系列深度学习检测算法也相继提出[6],主要分为以Region Convolutional Neural Networks(R-CNN)[7],Fast R-CNN[8],Faster R-CNN[9]和Mask R-CNN[10]等算法为代表的二阶检测器和以You Only Look Once(YOLO)[11],Single Shot MultiBox Detector(SSD)[12]和YOLOv3[13]等算法为代表的一阶检测器。文献[14]通过搭建卷积神经网络(CNN)定位绝缘子,结合超像素分割等方法对绝缘子进行建模识别缺陷部位。文献[15]提出基于Faster R-CNN的方法提取绝缘子串的位置信息,根据绝缘子串的周期分布规律,分析是否存在缺陷。文献[16]采用多模型融合的思想,将性能差异较为明显的Mask RCNN、RetinaNet、YOLOv3 三个目标检测模型计算的预测框坐标与置信度值进行融合计算,实现绝缘子自爆故障检测。上述方法虽然取得了一定的检测效果,但对于复杂场景下的缺陷绝缘子识别仍然存在精度偏低、检测耗时等问题,且文中缺陷绝缘子数据量太少,阻碍故障绝缘子的进一步研究。

图2 SENet注意力机制模块[18]

基于上述问题,本文在YOLOv3算法的基础上提出一种基于注意力机制的多尺度绝缘子缺陷检测模型。主要贡献如下:①在特征提取网络Darknet53上融合空间注意力机制SENet结构,通过特征重标定策略学习更丰富的绝缘子缺陷特征,提升特征提取网络的性能;②将YOLOv3算法中的3检测尺度扩展为4个,提高模型对电力绝缘子缺陷的检测精度;③使用K-means++算法对缺陷绝缘子数据集中边界框的宽和高聚类,该算法获取初始聚类中心的随机性更小,能够优化锚点框。此外,通过数据增强技术扩充缺陷绝缘子数据集,以满足模型训练和检测需求。结果表明,提出的检测方法能够在复杂场景中有效识别绝缘子的缺陷位置。

2 理论基础

2.1 YOLOv3目标检测算法

2016年,Redmon等人提出的YOLO算法能够直接预测目标的类别和位置信息。经过不断改进,YOLOv3算法以高精度、实时性好的特点,被广泛应用于计算机视觉的不同方向,取得了良好的检测效果。

YOLOv3延续了上一代算法锚点框的生成方法,使用K-means算法对图像标签进行维度聚类,预测框坐标信息如图1所示。YOLOv3首先将原始图片缩放至416×416大小送入卷积神经网络进行特征提取。然后分别在13×13、26×26、52×52的特征图上实现3个尺度检测。图1中,bw和bh为边界框宽高,pw和ph为锚点框预测结果的宽和高。σ是sigmoid函数,tx、ty、tw、th为网络预测目标中心的坐标、宽和高,cx、cy为当前网格左上角坐标。

图1 预测框坐标信息示意图

在特征提取阶段,YOLOv3使用Darknet53网络提取目标信息,引入多个ResNet 残差网络模块增加网络深度提升网络性能。在目标检测阶段,YOLOv3采用特征金字塔和残差网络相结合的思想,实现多尺度特征融合。YOLOv3共有3个检测尺度,通过预测最后3个下采样层中的特征图进行目标检测。在第1个检测尺度中,以32倍的下采样13×13特征图检测大目标。第2个检测尺度将26×26特征图以16倍进行采样检测中型目标。在第3个检测尺度中,以8倍的下采样52×52特征图检测小目标。最后将预测的边界框经过非极大值抑制(Non-Maximum Suppression,NMS)[17]输出得分较高的预测框,实现目标识别任务。

2.2 SENet注意力机制网络

SENet(Squeeze-and-Excitation Networks)[18]是2017年提出的一种简单而有效的注意力机制网络,它可以学习包含全局信息的特征,通过选择重要的特征并抑制非重要的特征实现特征重标定。该网络结构由压缩(Squeeze)、激励(Excitation)和重标定(Reweight)三部分构成。SENet注意力机制模块如图2所示,图中从左至右英文字母的含义分别是:X表示输入,U表示中间变换,H、W、C代表网络的宽、高和层数,Ftr和Fsq代表压缩操作,Fex代表激励操作。

首先是特征U经过压缩(Squeeze)操作,该操作沿着空间维度将C个W×H二维特征压缩成长度为C的1×1实数列,表示特征响应的全局分布,使得邻近的输入层也可以获得全局的感受野。其次是激励(Excitation)操作,采用门限机制的形式通过W(每个特征通道间的相关性)生成每个特征通道的权重集合。然后特征映射U被重新加权以生成SENet的输出,将其直接输入到随后的卷积层中。最后是特征重标定(Reweight)操作,主要将Excitation输出的权重表示为特征选取后每个通道的重要程度,通过乘法逐通道加权到先前的特征上,完成通道维度的特征重标定。

3 基于SE-YOLOv3的多尺度检测模型

YOLOv3在检测精度和速度上取得了较好的平衡,但由于其仅使用3个尺度的特征,使得对浅层信息的利用并不充分,许多小目标区域信息容易丢失,不利于缺陷绝缘子地检测。为了提高缺陷绝缘子的检测精度,提出SE-YOLOv3多尺度检测模型如图3所示。该模型由以下模块组成:①SE-Darknet53特征提取网络设计:将通道注意力机制SENet模块与Darknet53网络融合组成新的特征提取网络SE-Darknet53,实现对特征权重的重新标定。②多尺度检测网络改进:通过4个检测尺度学习缺陷绝缘子更深层次的位置信息,提升模型对小目标的检测精度。③锚点框维度聚类优化:使用K-means++算法重新对绝缘子数据标签进行维度聚类分析,获取更为理想的先验框。

图3 改进的YOLOv3多尺度检测模型

3.1 SE-Darknet53特征提取网络设计

DarkNet53使用ResNet模块加深网络深度提高了特征提取能力,但是缺陷绝缘子目标小、背景复杂,直接使用Darknet53提取缺陷绝缘子特征会影响检测精度。SENet能够很方便地嵌入到ResNet中,得到一个SE-ResNet模块,能够显著提高特征提取网络的性能,进一步提升检测精度。如图4所示,SE-ResNet模块首先使用全局池化层(Global pooling)获取全局的感受野,然后将两个全连接层(FC)结合ReLU激活函数可以更好地拟合拟合通道间复杂的相关性。首先通过第一个全连接层将特征维度参数降到输入的1/r(r=16),然后使用ReLU激活函数和下一个全连接层将参数升维到之前的维度。之后使用Sigmoid激活函数输出1×1×C的序列,获得0~1之间归一化的权重。最后通过Scale操作将归一化后的权重加权到每个通道的特征上,输出更新后的通道。

图4 原残差模块(左)与注意力残差模块(右)[18]

因此,本文在原始特征提取网络Darknet53的基础上改进,引入SENet注意力机制模块设计了SE-Darknet53特征提取网络结构如图5所示。

图5 SE-Darknet53特征提取网络示意图

3.2 多尺度检测网络改进

YOLOv3使用三种比例尺度来检测不同大小的目标,并使用8倍下采样的特征图来检测小的目标。考虑到输入的电力绝缘子图像中缺陷区域较小,YOLOv3对小目标的检测效果不是很理想。为了从小目标中获取更多细粒度的特征,本文探索使用原始网络中4倍下采样的特征图。

在图3中,原始YOLOv3中的3个检测尺度被扩展为4个检测尺度,并添加上采样大小为104×104的特征图,图中虚线框即为增加的第4个检测尺度。在执行多尺度检测时,在第79层之后经过3次卷积操作得到第1个检测尺度为13×13的32倍下采样特征图。然后将第79层上采样的结果与第61层进行特征融合,得到第2个检测尺度为26×26的16倍下采样特征图,即第91层。接着为了得到细粒度信息,将第91层进行上采样与第36层进行特征融合,得到第3个检测尺度为52×52的8倍下采样特征图,即第103层。最后为了获取更细粒度信息,将第103层进行上采样与第11层进行特征融合,得到第4个检测尺度为104×104的4倍下采样特征图。因此,改进后的YOLOv3具有更好检测不同尺度目标的性能。

3.3 锚点框维度聚类优化

YOLOv3算法使用K-means对数据集中的bounding box聚类以获取合适锚点,锚点框的选取会直接影响目标检测的效果。由于绝缘子缺陷区域较小且背景复杂,因此需要对缺陷绝缘子数据集的标签重新聚类获取新的锚点。但传统的K-means聚类方法采用欧氏距离函数,这导致较大的bounding box通常比较小的bounding box的误差更大,影响聚类结果。考虑到交并比(Intersection over Union,IOU)与bounding box尺寸无关,将 IOU 加入到距离函数中能够更好地平衡模型复杂度和召回率之间的关系,实现对绝缘子缺陷有效的预测,距离函数定义如下

d(box,centroid)=1-IOU(box,centroid)

(1)

式中,box表示实际的边界框信息,centroid表示聚类中心,IOU表示预测框与真实框的交并比。

K-means聚类算法对初始聚类中心敏感且需要手动设定,这会直接影响聚类结果。因此,本文针对实际场景中缺陷绝缘子的位置特点,采用随机性更小的K-means++算法获取新的锚点,从而能够高效的检测出缺陷绝缘子。在缺陷绝缘子数据集上使用两种不同聚类方法得到的平均交并比(Average IOU)与聚类中心K的对比曲线如图6所示。可以看出,相比于K-means算法,K-means++算法具有更高的Average IOU。随着K的增加,当K=12时,Average IOU趋于稳定。因此,本文最终选取12个锚框,并将其分配到4个检测尺度应用于模型训练。

图6 平均交并比与聚类中心曲线

4 实验分析

4.1 实验数据集

本文以CPLID数据集[19]为基础,通过图像旋转、翻转、放缩和随机裁剪等数据增强方式重新构建缺陷绝缘子数据集,包括雨、雪、雾等多天气因素的图片,共计2448张。在数据预处理阶段,使用开源工具LabelImg对绝缘子数据根据VOC2007数据集格式标注绝缘子缺陷位置,并按照8:2的比例随机划分训练集和测试集。

4.2 实验环境及参数设置

本文实验基于Pytorch 、Python3.7 和 Cuda10.1搭建深度学习框架,训练过程中使用YOLOv3官方提供的权重作为网络训练初始化参数,实验运行环境、相关软硬件配置以及部分模型参数如表1所示。

表1 实验环境配置

4.3 评价指标

为了验证提出模型的有效性,本文选取的评价指标为准确率 (Precision,P),召回率 (Recall,R),平均准确率(Average Precision,AP),F1值和每张图片的检测时间(Time,T),具体公式如下

(2)

(3)

(4)

式中,TP表示成功检测出的绝缘子缺陷数量,FP表示没有缺陷却识别为缺陷绝缘子的数量,FN表示有缺陷却没有识别为缺陷绝缘子的数量,平均准确率AP表示准确率对召回率的积分。通常使用P和R两个指标来衡量模型的好坏,但是同时要权衡这两个量,影响决策速度。可以使用F1来表示准确率和召回率的调和均值

(5)

4.4 实验结果分析

结合4.3节给出的相关评价指标,主要对比了经典的深度学习目标检测算法,如Faster R-CNN、SSD、Tiny-YOLOv3(简化版YOLOv3)、YOLOv3和本文提出模型SE-YOLOv3的检测性能,最终得出改进前后算法的P-R曲线如图7所示。实验证明本文提出的SE-YOLOv3算法与原始YOLOv3算法相比,Precision、Recall和AP均表现出良好的性能。

图7 不同算法的P-R曲线对比

不同检测算法的实验结果如表2所示,可以看出,Faster R-CNN作为二阶检测器,对于缺陷绝缘子的检测较为耗时。虽然Tiny-YOLOv3对每张缺陷绝缘子图片的检测时间是最短的,但精度远低于其它检测模型。本文提出的模型对缺陷绝缘子检测的P、R、F1和AP明显好于其它模型。由于改进的算法增加了网络层数,导致检测时间比原算法增加了一倍,但仍然远低于Faster R-CNN检测模型,能够满足缺陷绝缘子实时检测的需求。

表2 不同检测方法性能对比

为了进一步验证提出模型的检测性能,本文使用改进前和改进后的模型分别对不同天气环境下的缺陷绝缘子进行检测,输出结果如表3所示。可以看出,原算法在特殊天气条件下检测准确率不高且存在漏检情况,而SE-YOLOv3算法的检测结果明显优于YOLOv3算法,实现了复杂天气环境下的缺陷绝缘子检测。

5 结论

本文提出的基于注意力机制的多尺度缺陷绝缘子检测模型,能够解决绝缘子缺陷位置小、复杂环境中检测精度不高等问题。通过融合通道注意力机制SENet结构,扩大网络的感知范围提升检测性能;将原始网络的3个尺度更改为4个增强了缺陷绝缘子小尺度目标的检测能力;利用K-means++聚类算法,减少随机初始化锚框对检测精度的影响。实验结果表明,所提模型能够有效的识别出电力绝缘子的缺陷位置。本文的主要研究工作是绝缘子掉片的缺陷检测,但在现实场景中存在多种绝缘子缺陷类型,下一步工作是在确保绝缘子缺陷检测精度与实时性的基础上,研究如何有效区分绝缘子缺陷类型。

猜你喜欢
绝缘子特征提取聚类
同步定位与建图特征提取和匹配算法研究
基于Mask RCNN的绝缘子自爆缺陷检测
基于数据降维与聚类的车联网数据分析应用
基于模糊聚类和支持向量回归的成绩预测
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
500kV输电线路玻璃绝缘子劣化对V串绝缘子电场分布影响仿真分析
基于密度的自适应搜索增量聚类法
广西某500kV线路绝缘子选型
绝缘子特征及防污秽闪络措施