李伟性,郑武略,王 宁,赵航航
(1.中国南方电网超高压输电公司 广州局,广州 510000;2.中国南方电网超高压输电公司 信通中心,广州 510000)
随着智能电网和电力系统自动化的发展,计算机视觉技术越来越多地应用于电力设备的智能检测和在线监测。目标设备的识别和定位成为检测技术的关键。输电线路的基本部件包括:塔架、电线、绝缘子、防震锤和均衡环等。据国家电力公司统计,因为绝缘子断裂引起的事故目前已成为电力系统故障率的第一位[1]。
目前在输电线路部件的故障诊断领域,目标如何精确定位成为了学者们研究的热门问题[2],以最常研究的绝缘子的目标定位问题为例,绝缘子目前主要有陶瓷绝缘子、复合绝缘子和玻璃绝缘子3个大类别,分别使用点特征[3],纹理特征[4],形态特征[5]和多特征组合[6]检测方法。但是,每种方法都有其局限性。使用特征点的方法需要高图像清晰度,使之难以大规模使用。使用纹理特征的方法主要用于检测复合绝缘子,其易受背景噪声的影响,其它类型绝缘子则无良好效果。
随着计算机硬件性能和相关算法的提高,深度学习技术[7]逐渐取代了经典的机器学习方法。在图像目标识别和检测、语音识别、自然语言处理和自动驾驶领域已经实现了显著的效果。其中,在目标检测领域,包括日常物体检测[8]、人脸检测[9]、文本检测[10]等。基于深度学习的方法远远超过传统方法。深度学习算法通过收集大量训练数据来学习更强大的模型,并使用巧妙的训练技术来提高算法的准确性。在现实生活场景中,由于照明、拍摄距离、拍摄角度等的差异,相同类型的目标在图像中表现形式是千差万别的。因此,当使用机器学习来执行目标检测时,需要大量的训练样本,其可以覆盖不同的角度,不同的比例和不同的照明情况。
目前的各种研究可以发现,传统的轮廓提取、图像匹配方法不适用于复杂背景下的电力小部件检测。在2016年刘伟博士提出了基于SSD[11]的目标检测的方法,该方法具有检测速度快、识别精度高等优点,SSD在公开数据集VOC上的检测精度已经高于其他开源的深度学习方法。
因此,本文在上述研究的基础上,结合SSD算法对输电线路上的绝缘子和绝缘子缺陷进行检测,并参考了绝缘子和其缺陷的位置关系进行关联计算,提高了绝缘体缺陷检测的精度,增强了整个网络的鲁棒性。
有缺陷的输电线路绝缘子的图像数据的数量相对较少,并且还需要手动标记分类标签。为了解决因数据量少会导致模型泛化能力弱的问题,本文进行了两方面的处理。首先,利用数据增强的方法,包括:图像平移、旋转、缩放和颜色变换;其次,用公共数据集预先训练模型,获得初步模型,并使用输电线路图像数据调整模型。算法流程主要分为3个阶段:样本构建阶段、模型训练阶段和目标检测阶段。
1)样本构造阶段。对输电线路原始图像中绝缘子和缺陷绝缘子2类目标进行标记,根据标注结果,生成2类目标的样本。
2)模型训练阶段。首先定义神经网络模型,将SSD中VGGNet使用ResNet-101神经网络进行替换。使用ResNet-101进行模型的预训练后,可以使自制数据集在训练模型过程中快速收敛。
3)目标检测阶段。对于任意图像,经过训练好的模型检测后得出图像中的绝缘子和缺陷的位置,并计算二者的重叠区域,得出缺陷的位置。
输电线路图像库的原始数据是由南方电网公司在日常输电线路小部件巡检过程中获得的。其中1200多张图片中包含缺陷的绝缘子,每张图片中均包含绝缘子。在经过数据增广后,得到12000余张图片,其中2400多张包含缺陷绝缘子。由于拍摄期间的背景、光线变化、拍摄角度、距离和焦距,不同图像中各种物体的颜色、角度和比例会有所差异。
目前,工业界和学术界出现的目标检测算法主要分为3大类:1)传统的目标检测算法,Cascade + HOG/DPM +Haar/SVM;2)将候选区域与深度学习分类相结合,提取候选区域,并通过深度学习方法对相应区域进行分类。如 RCNN、SPP- Net、Fast R- CNN、Faster R- CNN等;3)基于深度学习的回归方法,如SSD、YOLO系列算法等。本文选择的SSD算法是基于深度学习的回归方法,SSD算法主要有以下优点:
◇ SSD是一个单次的目标检测识别方法,与YOLO类似,只需要处理图片一次就可以做到多目标的检测识别,准确度比YOLO更高。
◇ 利用不同尺度的深度网络特征图预测每个位置上的目标,保证了在检测和识别的精度上可以和基于区域建议的方法相比。
◇ 即使图像为低分辨率图像,SSD算法依然可以实现高精度检测和识别。
SSD 框架如图1所示,使用全卷积层的 VGGNet作为主干网络直接作用于feature map预测多目标类别和包围框。为权衡检测的准确性和实时性,SSD采用单点多框的检测方法,而不是 Faster R-CNN中使用的候选区域方法。即使对于分辨率输入相对较低的图像,也具有良好的检测效果。
为突破网络在深层网络精度退化和网络深度上的限制,HE[12]等人提出了一种深度残差模型,该模型使用多层网络拟合残差映射来解决退化问题。设H(X)表示目标最优解映射,并将另一个映射F(X)利用堆栈的非线性层拟合,如图2所示,可用公式(1)表示:
此时,原始的最佳解映射H(X)与F(X)+X是等价的,即图2所示的前馈网络中的快速连接实现。快速连接的方式可以用公式(2)表示,公式(2)中,X代表模块的输入向量,Y代表模块的输出向量。Wi表示权重图层参数,在出现输入和输出尺寸一致的情况时,则需要线性投影Ws以匹配维度。
图1 SSD框架Fig.1 SSD Framework
图3 基于ResNet-101的改进SSD检测框架Fig.3 Improved ResNet-101 based SSD detection framework
图2 残差学习模块Fig.2 Residual learning module
SSD是基于VGGNet为基础网络进行检测的,本文在保留原有的目标检测基础网络上,特征提取网络换成了ResNet-101,如图3所示,它在一定程度上加深了网络的整体结构,增强了网络提取特征的能力。
网络训练时的损失函数还是依据SSD的结构由两部分组成,第一部分是回归位置的损失,一部分是分类损失,总的损失函数可以表示为式(3):
其中,N是真实框与标记框匹配的数量,N为权重因子,一般默认设置为1;c为每一类的置信度;l和g分别为默认框和真实框的参数,包括中心位置坐标和宽高。为了分类置信度损失,使用多类别Softmax损失,用来回归bounding boxes的中心位置以及宽高。
本文将样本集分为训练样本与测试样本,训练图片12000余张,测试图片1200张。检测输电线路中的绝缘子和绝缘子缺陷。检测在型号为GTX1080的GPU上进行,使用的深度学习框架是Caffe,批处理大小设置为8。训练过程中判断正负样本的IOU阈值为0.5。经过10万次的模型训练迭代,并经过日志分析选择最好的模型,并在测试集上进行测试。
查准率 P(%)表示经深度学习预测的检测框中检测正确的比例,召回率R(%)表示预测框正确框在所有标注框中的比例,可以表示为:
式中,TP为检测到的相关数量,FP表示检测到不相关数量,FN表示未检测到不相关数量。AP(average precision)是PR曲线在查准率基础上对召回率的积分,mAP(mean average precision)表示多类物体的平均AP值,代表了测量网络对目标物体的敏感度。mAP值越高,代表卷积神经网络具有越高的识别精确度。
表1 不同网络模型的检测精度Table 1 Detection accuracy of different network models
表1是本文将SSD中原始的VGGNet网络替换为残差模块ResNet-101网络后得到的对比结果。通过表1可以看出,ResNet-101+SSD模型对绝缘子和绝缘子缺陷检测的平均精度均有提升。
实验中发现缺陷绝缘子误检率偏高,且误检部分很多不在绝缘子上,比如在杆塔和图片背景上,根据缺陷部分和绝缘子的物理关系可以计算二者的IOU,实现优化缺陷部分的检测。设绝缘子面积为area(insulator),缺陷绝缘子面积为area(insulatord),二者的重叠区域比例为式(6):
如果IOU>0.9,则认为检测出的此缺陷绝缘子位置有效。引入重叠区域的计算后,检测准确率结果展示为表2。
对比了SSD下VGGNet和Resnet卷积神经网络对目标检测的正确率,可以得出在本文应用的缺陷绝缘子检测的场景中,Resnet比VGGNet准确率更高。同时引入了绝缘子和缺陷绝缘子部位的位置关系,提高了缺陷位置检测的稳定性。
本文研究了针对实际航拍图像中对于多尺度目标的检测方法,针对绝缘子缺陷的检测,基于SSD算法的基础上进行了以下两方面的实验研究:
1)在原始SSD算法的基础上,使用ResNet代替了VGGNet。
2)在检测出绝缘子和绝缘子缺陷位置,通过计算二者的重叠区域,优化了缺陷绝缘子检测的准确率。
针对实际巡检图像的应用研究表明,将特征提取网络由VGGNet替换成ResNet后,精度能提升4.77%,这也说明网络深度的增加对于特征的提取效果非常明显;并且引入绝缘子和缺陷部位位置关系的计算,降低了缺陷绝缘子检测误检率,提高了检测的准确性。
表2 IOU对精度的影响Table 2 Impact of IOU on accuracy