颜 丽,邓芳明
(1.萍乡学院 信息与计算机工程学院,江西 萍乡 337055;2.华东交通大学 电气与自动化工程学院 ,江西 南昌 330013)
输电线路是电网运行的主要组成部分之一,也是输电系统的终端设施,保障其正常运行是电网安全运营的前提[1]。我国输电线路大多敷设于外界复杂环境中,易受自然或人为因素影响而产生故障,严重影响配电网的安全运营及正常供电。而绝缘子和金具等作为输电线路上的关键部件,一旦出现故障将直接影响供电的连续性,严重危害电网的运营安全[2-3]。因此,如何采取有效的手段对输电线路零部件进行监测检测具有重大的意义。传统的配电线路上零部件的检测主要依靠人工作业,这种方式不仅费时费力、效率低下,而且容易对线路零部件结构造成一定的破坏[4]。随着无损检测技术的飞速发展,人工巡检逐渐转变为基于图像处理的非接触检测方式,标志着我国输电线路关键设备缺陷检测逐步走向智能化阶段[5]。
基于深度学习的图像处理技术由于其精确、高效等优点,被广泛应用于输电线路设备的缺陷检测中[6]。文献[7]利用不同的深度卷积神经网络(Convolutional Neural Network,CNN)提取了接触网开口销钉图像的多种特征,同时构建多个线性分类器通过综合决策实现了开口销钉的缺陷检测。文献[8]利用CNN对输电线路绝缘子破损和锈蚀故障进行精准分类。Titov等[9]采用深度学习YOLO算法检测出电力线路不同设备的缺陷。文献[10]提出了一种以目标检测Faster R-CNN+FPN为框架的网络模型对架空线路防震锤、均压环等部件缺陷进行分类。文献[11-13]通过SSD CNN准确定位检测出输电线路绝缘子缺陷位置。文献[14]采用一种层级识别模型对线路杆塔小金具缺陷进行识别。Wei 等[15]提出了一种部分监督卷积神经网络,用于从输电线路的现场检查图像中自动定位故障。以上大多数目标检测框架如Faster R-CNN,SSD等对于缺陷形态明显、尺寸较大的部件具有良好的效果,但是对于小型设备的细微故障(裂纹、磨损等)模型的检测精度大幅下降。因此传统的深度学习模型具有极大的局限性,难以适应输电线路设备缺陷检测任务的要求[16]。
由于输电线路设备众多,采集到的图像数据通常包含大量噪声,导致检测模型产生定位偏差,检测精度大幅下降。近年来,基于卡尔曼滤波的方法被广泛应用于各种研究中,能够对检测结果进行修正,获得研究对象的估计值或修正值[17]。文献[18]构建了一种新的联合扩展卡尔曼滤波的滑膜观测器算法,在有效消除噪声影响的同时对建模误差也具有较强的鲁棒性。Liu等[19]通过卡尔曼滤波器实现了悬链线几何参数的修正,该方法能够有效地提高模型的检测精度。上述研究通过修正方法有效地提高了检测结果的准确性,但是我国输电线路设备数据集通常不对外开放,即使是有限的图像数据集也极为不平衡,检测模型容易产生过拟合风险。
综上所述,本文提出了一种面向复杂环境下输电线路关键设备缺陷检测方案。首先,针对于小样本环境本文采取数据增强的方式进行样本扩充。其次,提出了一种改进的Faster R-CNN框架,采用MobileNet[20]、柔性非极大值抑制(soft Nonmaximum Suppression,soft-NMS)算法[21]和上下文感知感兴趣区域(Context-Aware Region of Interest,CARoI)池化层[22]分别替换初始框架中的VGG-16基准网络、NMS算法及RoI池化层,实现了小尺度输电线路零部件的缺陷识别。最后,针对图像中的复杂噪声环境,通过卡尔曼滤波对检测结果进行修正,有效提高了本文模型的检测精度以及鲁棒性。
为解决目前输电线路中细微零部件缺陷检测难度高及环境复杂等问题,本文在原始的Faster R-CNN模型上对其网络架构进行了一定的优化,并结合图像样本增强及定位结果二次修正方案得到最终的输电线路设备缺陷检测系统。系统整体框架如图1所示。
图1 输电线路关键部件缺陷检测系统框图Fig.1 Block diagram of defect detection system for key components of transmission lines
整个检测系统分为模型训练、模型测试及模型检测结果修正3部分。将采集的输电线路关键部件图片通过图像增强方法获得足够的训练样本,按一定的比例划分为训练集、验证集及测试集。训练集和验证集样本用于训练并检验输电线路零部件缺陷检测模型,其中,模型通过改进传统目标检测网络结构得到,以适应小型零部件缺陷检测。将训练好的优化模型载入缺陷检测系统,同时从测试集样本上选择需要检测的输电线路零部件图像输入至此系统以获得初步检测结果。根据模型的缺陷定位效果,采用二次修正方案对缺陷预测位置进行优化调整,进一步提升模型的定位精度及泛化性能,满足输电线路关键部件缺陷检测需求。
改进模型的总体框架如图2所示。为了区别于原始的Faster R-CNN,图中红框突出显示了改进网络的优化模块。首先,在原始Faster R-CNN框架中,采用MobileNet替代VGG-16来构建基础卷积层以降低网络计算量。然后,在区域生成网络(Region Proposal Network,RPN)中,采用soft-NMS算法解决目标部件遮挡问题。最后,通过CARoI池化层取代初始RoI池化层,以维护小型缺陷部件的原始结构。下面主要从3个模块详细介绍该优化框架。
图2 改进模型的整体框架Fig.2 Overall framework of the improved model
原始Faster R-CNN框架使用VGG-16作为基础网络[23]。但是实验证明几乎所有模型大约80%的时间都花费在基础网络上,因此使用更快的基准网络可以大大提高整个框架的速度。MobileNet架构作为一种高效的网络,它将卷积分解为3×3深度卷积和1×1点态卷积,有效地降低了计算成本和参数的数量。表1所示为MobileNet和VGG-16在ImageNet上的比较。可以看出,MobileNet的精度接近VGG-16,但是比VGG-16小32倍,计算参数少27倍。因此本文以MobileNet架构替代原始Faster R-CNN框架中的VGG-16作为基础网络。MobileNet引入了2个参数,可以调整以适应资源与精度的权衡,包括宽度乘数器和分辨率乘数器。宽度乘数器能够精简网络,而分辨率乘数器改变了图像的输入尺寸,从而减少了每一层的内部表示。由于本文只使用了MobileNet架构中的卷积层,因此不必固定输入图像的大小。
表1 MobileNet与VGG-16在ImageNet上的比较结果Tab.1 Results comparison of MobileNet and VGG-16 on ImageNet
深度可分离的卷积由2层组成:深度卷积和点态卷积。深度卷积用于对每个输入通道应用单个滤波器;点态卷积作为一个简单的1×1卷积,用于创建深度层输出的线性组合。MobileNet架构对这2层都使用了批处理规范和ReLU非线性。计算成本的降低与输出特征映射通道的数量和核大小的平方成正比。
RPN首先从基础网络生成的卷积特征图生成一组锚框。锚位于滑动窗的中心,与比例和高宽比相关。对于召回和处理速度之间的权衡,在本文中,128,256和512三个锚框尺寸及1∶1,1∶2和2∶1三个锚框高宽比用于每个锚,在每个滑动位置产生9个锚。对于尺寸为14×14的卷积特征图,总共有1 764个锚点。
然后,RPN获取所有锚盒,为每个锚输出2个不同的结果。第1个是客观得分,意味着锚是目标的概率。第2个是边界框回归来调整锚点以更好地适合目标。由于锚点通常会重叠,因此同一目标将不可避免地产生多个冗余包围盒。采用NMS非极大值抑制可以消除多余的窗口,找到最佳检测位置。在大多数先进的对象检测中,包括Faster R-CNN,NMS算法被用于删除冗余的候选框[24]。传统的NMS将所有与其Intersection over Union (IoU)值超过预定义阈值的框直接删除。但由于实际检测环境复杂,NMS算法的阈值难以确定,可能意外地去除积极候选框。为了解决这一问题,本文采用了soft-NMS算法。在soft-NMS的作用下,一个成功候选框的邻近框并没有被完全压制。相反,它们会根据邻近窗口更新的客观得分而被抑制,这些得分是根据邻近框的重叠水平和获胜候选框计算出来的。
在大多数2阶段的目标检测算法中,如Fast R-CNN,Faster R-CNN等,使用RoI池化层将建议框尺寸调整到固定的大小[25],其原理如图3所示。RoI池化层使用最大池化将任何有效感兴趣区域内的特征转换为一个具有固定的h×w空间范围的小特征图。RoI最大池化工作方式是将h×w的建议框划分为一个近似(h/H)×(w/W)尺寸的H×W子窗口网格,然后将每个子窗口中的值最大池化到相应的输出网格单元中。如果提案小于H×W,则通过添加复制值以填充新空间,将其扩大到H×W。RoI池化避免了重复计算这些体积层,所以可以显著加快训练和测试速度。然而,在小建议框中添加复制值是不合适的,特别是对于小型目标,因为它可能会破坏微小缺陷目标的原始结构。此外,为小建议框添加复制值会导致正向传播中的不准确表示,以及在训练过程中反向传播错误的积累。因此,检测小尺寸缺陷目标的性能将会降低。为了在不破坏微小缺陷目标原始结构的情况下调整建议框的尺寸,并提高该方法在细微故障检测上的性能,本文使用CARoI池化。CARoI池化层原理如图4所示。在CARoI池化过程中,如果建议框的尺寸大于输出特征图的固定大小,则使用最大池将建议框的尺寸缩小到固定大小,如果建议框的尺寸小于输出特征图的固定大小,则采用反卷积操作将建议框的尺寸扩大到固定大小,计算如下:
图3 RoI池化原理Fig.3 RoI pooling principle
图4 CARoI池化原理Fig.4 CARoI pooling principle
yk=Fk⊕hk,
(1)
式中,yk表示具有固定大小的输出特征图;Fk表示输入建议框;hk是反卷积操作的核,核的大小等于输出特征映射的大小与输入提案的大小的比值。此外,当建议框的宽度大于输出特征图的固定宽度,且高度小于输出特征图的固定高度时,采用式(1)中的反卷积运算来扩大建议框的高度,通过最大池化来减小建议框的宽度。使用CARoI池化层,建议框的大小已经被调整为固定的大小,同时仍然可以提取来自小建议框的鉴别特征。
采用优化的Faster R-CNN模型对输电线路零部件进行检测后,可以获得缺陷定位结果。在此基础上,对结果进行二次修正能够进一步提升检测效果。在统计与控制理论中,卡尔曼滤波作为一种递推预测滤波算法,应用广泛且功能强大:它提供了一种高效可计算的方法来估计信号的过去和当前状态,甚至能估计将来的状态,并能够对现场采集的数据进行实时的更新和处理,比基于单个测量估计更加准确,即使无法得知模型的确切性质[26]。因此,本文采用卡尔曼滤波对模型的检测结果进行修正。卡尔曼滤波器利用线性系统状态方程,可以看作状态变量在由观测生成的线性空间上的射影。其原理公式如下:
(2)
卡尔曼滤波主要通过建模、时间更新和测量更新以及迭代3个步骤来实现。其中,建模如下:
xk=Axk-1+Buk+wk-1,
(3)
式中,uk表示控制信号,其值为0;wk-1为噪音函数;xk为信号;A,B为矩阵系数;k表示状态下标。
观测量如下:
Zk=Hxk+Vk,
(4)
式中,Zk代表状态k下的测量值;Vk为噪音函数,通常服从高斯分布;H为系数矩阵。
时间更新和测量更新主要包含5个方程,时间更新阶段的2个方程如下:
(5)
(6)
测量更新阶段的3个方程如下:
(7)
(8)
(9)
本文的软件及硬件环境如表2所示。实验基于深度学习开源框架Tensorflow和Keras,采用Python语言进行编程。
表2 实验环境Tab.2 Experimental environment
在实际应用场景下,由于采集条件的限制,输电线路零部件缺陷检测中面临着采集完备有缺陷样本困难以及检测精度低的问题,而深度学习算法又需要大量的数据集作为支撑。针对故障样本数量不足的状况,为训练性能良好的缺陷检测模型,本文采用一种图像增强方法。图像增强的目的是为了提升模型对缺陷图像的敏感性,获得足够的样本以供模型深度训练,有效降低过拟合风险,从而提高缺陷检测模型的泛化能力。图像增强方法对采集到的原始图像进行变亮、加噪、平移和仿射等扩展处理。增强结果如图5所示。
(a) 原图
(b) 亮化
(c) 加噪
(d) 平移
(e) 仿射图5 图像增强结果Fig.5 Image enhancement results
为了测试本文所提算法的检测效果,将现有的样本通过上述图像增强后进行数据标注,然后将其按8∶1∶1的比例随机划分为训练集、测试集和验证集。为加速模型训练和减少过拟合风险,在训练过程中冻结预训练模型中的每一批归一化层的权重,并将RPN和分类器轮流训练。采用Adam算法[27]来优化边界框回归的损失函数,损失函数中平衡参数λ设置为0.5,RPN和分类器的初始学习率设置为0.002,动量值设置为0.8,批次大小Batch_Size设为32。在迭代总数达到80%时将学习率调为0.000 2,共训练迭代2 000次。
为测试训练好的模型的检测效果,本文通过P(Precision),R(Recall),mAP(mean Average Precision),IoU和T来评价其各方面性能。P和R的计算如式(10)和式(11)所示,式中,TP(True Positive)为正确样本被识别为正样本的数量;FP(False Positive)为负样本被错误识别为正样本的数量;FN为正样本被错误识别为负样本的数量。平均精度AP(Average Precision)是Precision-Recall(P-R)曲线所围成的面积,AP值表示单个类别的识别准确率,计算如式(12)所示。mAP表示所有类别总体识别准确率,与AP值之间的关系如式(13)所示。IoU的计算如式(14)所示,式中,S交为预测框和实际框之间的重叠区域,S并为预测框和实际框所占有的总区域。T为网络模型检测一张图片所需时间,用来评价算法的检测速度。
(10)
(11)
(12)
(13)
(14)
本实验采用提出的改进算法对输电线路几种关键部件进行初步检测,并在此基础上对检测结果进行卡尔曼滤波修正。图6所示为具有代表性的不同类型部件的缺陷检测结果,其中,左侧为经过改进模型的初步检测结果,右侧为通过卡尔曼滤波修正后的缺陷定位结果。根据检测结果可以明显看出,针对尺寸较大部件的缺陷,改进的模型均能有效地定位与识别,但对于部分细微部件的缺陷检测精度有所下降。经过卡尔曼滤波后,对于细微部件的缺陷检测也能达到与大尺寸缺陷相当的精度。综合分析以上实验结果,本文设计的改进算法结合卡尔曼滤波修正对于输电线路关键部件的缺陷图像检测效果良好。
(a) 绝缘子缺陷初步(左)检测及修正后(右)检测结果
(b) 线夹子缺陷初步(左)检测及修正后(右)检测结果
(c) 金具缺陷初步(左)检测及修正后(右)检测结果图6 具有代表性的输电线路不同部件缺陷检测结果Fig.6 Representative defect detection results of different components of transmission lines
为了进一步验证本文所提方法的优越性,在相同的数据集上分别与YOLO,SSD,MS-CNN,原始Faster R-CNN及改进Faster R-CNN进行对比实验。实验中,使用mAP,IOU及检测速度来评价各方法的性能,不同方法的检测结果对比如表3所示。由表3可以看出,本文所提出的改进Faster R-CNN模型+卡尔曼滤波与原始Faster R-CNN及改进Faster R-CNN相比,精度分别提高了11.05%和4.94%。在检测效率方面,该方法处理一张图像需要0.12 s,相比于其他单阶段的检测算法速度略慢,而原始的Faster R-CNN框架需要2 s,MobileNet架构显著提高了该方法的处理速度。在所有比较方面都没有具有主导性能的绝对赢家,MS-CNN检测精度较高,然而其检测时间较长。YOLO模型检测单张图片仅需0.04 s,但对比于其他方法精度较低。综合分析表中6种方法在相同测试样本下的对比结果,本文提出的改进Faster R-CNN+卡尔曼滤波综合性能最佳,在缺陷检测效果方面具有显著优势,能够满足输电线路缺陷检测需求。
表3 不同检测方法的性能比较Tab.3 Performance comparison of different detection methods
本文对输电线路设备缺陷检测问题进行深入研究,提出了一种基于深度卷积神经网络和卡尔曼滤波的故障检测方法。为了提高在大规模变化、目标遮挡等复杂环境中的检测精度和模型鲁棒性,本文首先采用轻量级MobileNet构建Faster R-CNN框架的骨干网络,提高了模型检测速度;其次,在RPN网络后采用soft-NMS算法,解决冗余候选框的问题;最后,在不忽略重要上下文信息的前提下使用CARoI池化调整候选框到指定大小。此外,本文还提出一种卡尔曼滤波修正方案以进一步提升模型检测精度。在同一数据集上将该方法与其他检测算法进行评估比较,实验结果表明,该方法在处理速度上略逊色于单阶段检测算法,但在检测精度方面取得了良好的效果,综合性能最佳。此外,该框架可以很容易地扩展和应用于其他环境背景下的缺陷识别,具有一定的参考价值。