基于YOLOv4模型的玻璃绝缘子自爆缺陷识别方法
2021-05-23郭谋发
周 宸 高 伟 郭谋发
(福州大学电气工程与自动化学院,福州 350108)
0 引言
随着智能电网的发展,电力系统自动化水平日渐提高,人们对电力系统日常运行的安全及稳定性提出了更高的要求。绝缘子作为电力系统的重要元件,应用广泛且数量庞大。绝缘子的工作环境通常位于层峦叠嶂的山路之间,工作环境恶劣,导致绝缘子故障频发,严重影响电力系统的安全及稳定[1]。
绝缘子缺陷辨识一直是国内外研究的热点,传统的检测方式为人工观测法[2]。该方法虽然精确度高,但在观测上存在工作量大、效率低等缺陷。此外,还有借助外加设备测量的方法,如红外图谱[3]和巡检机器人[4]等。借助外界设备可以有效减小检测过程中的安全隐患,但外加设备一般较为昂贵。由于无人机成本低、易操控,且具备数据采集简单、运行风险较低等特点,已在电力巡检工作中逐渐普及[5]。尽管无人机巡检可获得大量现场的图像信息,但采集到的图像仍是由人工进行处理,海量的图像数据带来了巨大的工作量;同时,由于工作人员自身专业水平不同、视觉疲劳等原因,检测过程中容易导致缺陷遗漏。
通过计算机自动辨识图像成为研究热门,常用的方法主要可以分为基于机器视觉与基于机器学习的方法。基于机器视觉的缺陷检测方法首先在原图中将待测目标与背景进行分割,分割后再根据人为设定的特征判断绝缘子是否存在缺陷[6]。基于机器视觉的缺陷检测方法实现较为简单,不需要复杂的训练过程,在特定的场景有较高的辨识准确率,但在使用过程中存在诸多局限性,如算法的准确率依赖分割算法的分割结果。由于绝缘子的工作环境复杂、现场条件恶劣,这会严重影响分割结果的准确性,且人工选定的缺陷判别特征缺乏鲁棒性,当拍摄条件发生改变,都有可能导致算法发生误判。在图像辨识领域,机器学习算法的应用十分广泛,通过机器学习训练的模型对无人机航拍的绝缘子图像进行检测及缺陷辨识已逐渐成为电力系统绝缘子缺陷辨识方法研究的热门方向[7]。机器学习算法训练出的模型能自适应地从海量的航拍图像中挖掘绝缘子的表层特征,对噪声干扰有很强的鲁棒性。模型的目标是既能准确地辨识出缺陷又能满足实时检测的要求,但事实上,检测速度与准确率很难同时提升。针对这个问题,本文提出基于改进YOLOv4的绝缘子缺陷检测模型,模型通过在训练过程中采用多阶段迁移学习及检测过程优化输入图像能有效提高网络检测准确率。
1 YOLOv4结构
YOLO(you only look once)模型是一种机器学习模型,通过单独的端到端网络,完成从原始图像的输入直接到物体位置和类别的输出。YOLOv4模型[8]由Alexey Bochkovskiy等于2020年提出,算法处理速度快,精确度较高,常用于多目标实时检测系统。文献[9]采用YOLOv4网络对视频数据集中的小汽车、卡车、自行车与行人进行多目标检测,算法检测速度能跟上视频播放速度且准确率高达99%。YOLOv4模型主要由主干特征提取网络、外加模块和特征处理层构成,检测流程如图1所示,具体如下所述。
图1 YOLOv4检测流程
1.1 主干特征提取网络
主干特征提取网络的作用是提取目标对象的特征。YOLOv4的主干特征提取网络为CSPDarkNet53,其中DarkNet53中卷积层的激活函数由LeakyReLU修改成了Mish,并将其残差块与CSPNet网络[10]结构结合,构成CSPResNet结构。以一个输入维度为(416, 416, 3)的图像为例,各模块输出维度如图1所示。图像每次经过残差块处理后,通道数变为原来的两倍,图像维度变为原图的1/2。为了加强网络对特征的提取能力,避免目标图像经过多次卷积后丢失特征,提取网络最后三层特征用于后续处理。维度分别为(13, 13, 1 024)、(26, 26, 512)和(52, 52,256)。
1.2 外加模块
外加模块对主干特征提取网络提取的特征进行额外的处理,输出更好的特征用于分类或者回归任务。YOLOv4主要的外加模块为SPPNet[11]与PANet[12]。对于前述例子,SPPNet通过四个大小不同的池化核对输入的图像进行最大池化,并将结果堆叠。PANet对低层特征进行上采样,特征图的维度翻倍,与上一层同维度特征进行堆叠。对高层特征下采样,特征图的维度减半,与下一层同维度特征进行堆叠,实现特征融合。经过外加模块后,输出特征的维度大小分别为(13, 13, 75)、(26, 26, 75)、(52, 52, 75)。
1.3 特征处理层
特征处理层主要的作用为对处理后的特征进行解码,得出预测结果。经过YOLOv4网络处理后,输出3个n×n×x维的张量进行预测。这里的x是由3×(1+4+y)计算得到。其中,3代表3个不同尺度的先验框;1代表先验框中预测物体的置信度;4代表先验框的调整策略,包括中心点x、y坐标调整策略和长宽调整策略,调整先验框中心点的位置及长宽;y代表数据集的类别个数。以输出张量维度为(13, 13,x)为例,首先将原图分为13×13的网格,每个网格生成3个先验框,分别预测每个框属于某类的置信度,接着将先验框的调整策略定义为长宽调整与中心点坐标的调整,调整后的输出结果即为预测框。
2 改进YOLOv4的绝缘子缺陷检测方法
2.1 训练策略
本文采用多阶段迁移学习[13]作为网络训练的迭代策略。迁移学习是将已经训练完成的模型用于另一个领域模型继续训练的方法。训练过程能发掘两个领域数据之间的内在联系,减少训练时间,提高模型辨识准确率。迁移学习示意图如图2所示。
图2 迁移学习示意图
首先,加载一个在ImageNet上训练完成、用于目标检测任务的YOLOv4模型作为预训练模型。其次,通过收集的绝缘子数据对预训练模型进行训练,根据绝缘子数据集大小选择冻结层数。训练集越小,需要训练的参数就越少,冻结层数越多。由于冻结的部分具备良好的特征提取能力,因此保留冻结层的权重作为训练层额外的特征提取器,为训练层输入更好的特征。最后,解冻所有层一起训练。此时,训练过程只需要较小的学习率对整个模型进行微调。
2.2 检测图像优化
大部分目标检测算法要求输入图片的长宽一样,本文输入图像的大小为(416, 416)。现场采集的绝缘子图像大小不一,在输入算法中进行处理时需要先改变图像的尺寸。直接修改图像大小容易导致输入图像失真,用失真的图像进行检测或者训练,会导致检测结果不准确。为解决该问题,本文对需要修改尺寸的图像加灰条处理,如图3所示。如需要将原图压缩为(416, 416),具体做法为:首先,对输入图像按原图的比例进行压缩,当其中一边压缩为416、另外一边的值小于416时停止压缩;然后,对长度小于416的边两侧等比例填充灰条,填充至416后停止填充;最后,将填充后的图像作为输入图像送入网络处理。
3 算例验证
3.1 实验介绍
原始数据集由4 000张无人机采集的高清绝缘子图像组成,数据集中大部分为玻璃绝缘子,也包括一小部分橡胶、陶瓷绝缘子。从结构上包含耐张型绝缘子、单绝缘子串、双绝缘子串和悬挂绝缘子串。图4为无人机采集的绝缘子现场图像,图4(a)为正常绝缘子图像,图4(b)为缺陷绝缘子图像。训练集由3 600张图片构成,包括正常绝缘子图像1 700张,缺陷绝缘子图像1 900张。缺陷图像包括60张现场缺陷图像和1 840张通过对缺陷数据进行旋转、翻转、缩放生成的缺陷图像,生成缺陷图像如图5所示。测试集由原始数据集中剩余的400张图像构成。训练集中所有的标签采用VOC2007格式。
图3 图像加灰条
图4 无人机采集的绝缘子现场图像
图5 生成缺陷图像
算法的评价指标包括精确度(precision, Pr)、召回率(recall, Re)、每类目标的平均精度(average precision, AP)、平均精度均值(mean average precision, mAP)。其中,精确度与召回率的计算公式分别为
式中:TP为正样本被正确识别为正样本的样本数;FP为负样本被错误识别为正样本的样本数;FN为正样本被错误识别为负样本的样本数。精确度用于衡量算法找出的正样本的准确性;召回率用于衡量算法找出数据集中样本的能力。
当预设交并比(intersection over union, IOU)值不同时,各类目标的精确度与召回率也会发生改变。当预设不同的IOU值时,精确度与召回率组成的曲线称为P-R(precision-reacll)曲线。AP定义为P-R曲线与坐标轴所围成的面积,AP值作为目标检测算法的评价指标,同时衡量了算法在检测某类目标时的精确度与召回率,AP值越大,算法对某类目标的检测效果越好。当求出所有类目标的AP值后,mAP的公式为
式中:n为分类的总数;APi为第i类的AP值。mAP值越大,表明算法整体检测效果越好。训练时的实验参数见表1。
表1 实验参数
3.2 改进策略实验
为了提高绝缘子缺陷辨识准确率,本文提出了改进YOLOv4模型,通过一些方法改善网络的整体性能,包括在训练过程采用多阶段迁移学习,检测过程通过优化输出层结构和图像加灰条实现对缺陷快速准确的辨识。本节评价了各种改进措施对网络整体性能的影响,不同措施对算法性能的提升见表2,其中,“√”表示施加了对应的措施。由表2可知,单独使用YOLOv4模型进行检测,算法的mAP值达到77.13%。对图像加灰条能够防止图像失真,相比于改进前,算法的mAP值提升了4.5%。倘若训练过程采用迁移学习作训练策略,由于多阶段迁移学习通过载入预训练权重进行训练,训练过程只需对模型未冻结部分进行微调。从表2可以看出,冻结不同层数对训练模型性能的提升不同。当冻结层数为25层时,训练的参数量最合适,对模型的整体性能提升最大,算法mAP值提升了7.8%。改进后的算法对复杂背景下的目标辨识准确率有显著提升。检测结果对比如图6所示,在气象环境不佳、杆塔和绝缘子背景深度融合等不利条件下,未改进的算法丧失了对玻璃绝缘子的检测能力,而改进后的算法却能有效地辨识与背景相融合的玻璃绝缘子,置信度达到82%。
表2 不同措施对算法性能的提升
图6 检测结果对比
3.3 检测结果
玻璃绝缘子串检测结果如图7所示,可以看出,所提方法能准确检测出图像中缺陷所在的位置,对于经过翻转、旋转、缩放等方式生成的图像也有较好的辨识效果。
图7 玻璃绝缘子串检测结果
算法对不同类型和结构的绝缘子检测结果如图8所示,由于检测目标的轮廓具有一致性并且将不同类型的绝缘子一起训练,故所提方法对不同类型和结构的绝缘子均具有较高的辨识准确度。考虑到实际中不同电压等级的绝缘子具有一定的差异性,为了进一步提高算法的泛化能力和辨识精度,后期可收集更多的不同类型和结构的绝缘子样本进行训练,使得方法在绝缘子目标检测中具备通用性和实用性。
图8 不同类型和结构的绝缘子检测结果
4 结论
本文提出了基于YOLOv4的绝缘子缺陷识别方法。相比于现有方法,YOLOv4模型具有速度更快、精度更高的特点。针对检测图像中出现图像修改尺寸后失真的问题,提出了对图像加灰条处理的方法,同时在训练过程中采用了多阶段迁移学习策略显著提高了模型整体的性能。实验结果表明,所提方法的缺陷检测mAP值达到89.54%,所提方法在实际应用中可以满足绝缘子缺陷检测的准确性要求。