算法论文:一种改进的Faster R-CNN对无人机巡检图像锁紧销缺陷检测方法
来源:未知 2020-12-07 08:00
据统计,截止到2020年,中国输电线路总里程将从2014年的115万千米增加至159万千米以上,以进一步加强全国范围内的供电质量。为了确保输电线路正常运行,输电线路巡视工作显得尤为重
算法论文:一种改进的Faster R-CNN对无人机巡检图像锁紧销缺陷检测方法
0 引言
据统计,截止到2020年,中国输电线路总里程将从2014年的115万千米增加至159万千米以上,以进一步加强全国范围内的供电质量。为了确保输电线路正常运行,输电线路巡视工作显得尤为重要。我国某些地区由于地形原因,人工巡检会造成巡视周期长、难度大等问题,且易受巡视人员的技术及天气、地形等客观因素影响。随着无人机技术的快速发展,可利用无人机对输电线路进行巡检,同时可以克服人工巡检带来的难题[1-3],而计算机视觉技术的发展,让更多的智能识别及缺陷诊断算法广泛应用于电力系统基础设施。本文主要研究输电线路中关键设备上的锁紧销缺陷诊断,即锁紧销丢失、脱出及未张开三种问题。
目前对输电线路中设备的缺陷检测算法分为两类:不使用深度学习的传统算法和基于深度学习的检测算法[4]。传统图像处理方法中,巡检图像的故障检测任务包含图像特征提取、目标定位、故障分类等步骤[5-7],特征提取使用精巧的人工设计算子。樊绍胜等人采用基于改进的Hough变换方法识别输电线路螺栓[8]。赵振兵等人采用基于Hough检测和C-V模型的方法实现对航拍绝缘子的图像分割[9]。彭业昌等人提出一种基于激光测量的输电线路覆冰监测方案[10]。Cheng X等人采用改进的边缘检测算法实现对电力系统结冰状态的检测[11]。Wang W等人提出了一种融合绝缘子形状、颜色和纹理的新型绝缘子识别方法[12],该算法可有效识别绝缘子片缺陷。Zhai Y等人提出了一种采用颜色测定法的缺陷定位解决方案[13],利用自适应形态学方法对绝缘子进行分段,并对缺陷部位进行定位识别。Zuo D等人提出了三种图像分割的改进方法以实现对绝缘子的检测[14-16]。Yan S等研究学者利用传统图像处理方法分别完成对间隔棒故障、覆冰、导线故障的检测[17-19]。上述基于传统图像处理方法的缺陷检测都取得较好的效果,然而这些方法都很依赖特征工程,容易受背景影响且运算周期长,效率低,因此难以投入实际应用[20]。
深度学习论文是一种结合低级特征形成更加抽象的高级表示(属性、类别或特征)以此来发现数据分布特征的机器学习方法[21]。较于传统图像处理方法,深度学习具有时间复杂度低、特征鲁棒性好、泛化能力强等优点。汤踊等人通过调整CNN卷积核大小等方法改进Faster R-CNN进行输电线路部件识别和缺陷检测[22]。Chang L等人采用SSD结合双目视觉距离检测的方法实现对输电线路受电弓偏移量的检测[23]。Wang B等人采用改进的SSD方法实现对输电线路中异物的检测[24]。Yuan J等研究学者提出了三种改进的Faster R-CNN深度学习目标方法实现对绝缘子的故障检测[25-29]。
输电线路关键部件上的锁紧销缺损会导致关键部件松动及脱落,严重影响线路的正常运行。因为锁紧销目标小,导致基于无人机巡检图像的人工查缺效率低,易缺漏。针对上述问题,本文基于Faster R-CNN框架,提出了一种改进的锁紧销缺陷检测方法。采用ResNeXt101作为特征提取网络,并增加DCNv2,FPN和OHEM三种改进模块进行优化。实验结果表明,本文所提方法能更好的识别和定位锁紧销缺陷。
1锁紧销缺陷检测方法
目标检测一直是计算机视觉领域最具挑战性的任务之一。2012年,AlexNet卷积神经网络(Convolutional Neural Networks, CNN)在ImageNet大规模视觉识别挑战(ImageNet Large Scale Visual Recognition Challenge , ILSVRC)竞赛中取得了显著成绩[30]。2014年,Ross Girshick等人利用AlexNet提取特征,首次将CNN应用于目标检测领域。此后基于深度学习的目标检测算法主要分为两类:第一类是Faster R-CNN、Cascade R-CNN和Grid R-CNN为代表的两阶段目标检测算法,第二类算法是以YOLO、RetinaNet为代表的单阶段目标检测算法。两阶段的算法步骤是首先生成区域建议
框,然后对候选区域提取的特征进行分类和定位。单阶段算法直接从特征提取网络中预测目标的分类和位置。本文从两类不同的算法中选取四种进行对比试验,选取精度最高的特征提取网络ResNeXt-101及算法Faster-RCNN,并对其进行改进。
1.1特征提取网络
基于深度学习的目标检测利用CNN来提取图像中不同通道不同颜色的语义特征, 本文用到的CNN有ResNet-50、ResNet-101、ResNeXt-101三种。ResNet的优点主要在于提出了残差网络学习的思想,通过将输入的数据直接与输出数据拼接在一起,从一定程度上避免了网络的梯度爆炸与消失问题,并且简化了学习过程与难度。而ResNeXt是ResNet的改进模型,其借鉴GoogLeNet[31]的是Inception模块提出了一种基数概念,并且在此概念上提出聚合转换结构, ResNeXt用一种平行堆叠相同拓扑结构的blocks代替原来ResNet的三层卷积block,这样做可以在不增加网络参数复杂度的情况下提高准确率,且减少了超参数的数量。ResNet和ResNeXt采用的基数都是32。ResNet和ResNeXt的简单结构如图1所示。
图1 (a)ResNet (b)ResNeXt
1.2 Faster R-CNN锁紧销检测算法
Faster R-CNN从RCNN[32]、SPP-net[33]、Fast-RCNN[34]演化而来,在速度和精度上都有很大的提升,Faster R-CNN检测原理如图2所示。
图2. Faster R-CNN 检测流程
其检测流程主要分为四步:
1) 锁紧销航拍图片经过第一部分的特征提取网络得到一系列的特征图(Feature Maps), RPN(Region Proposal Network)网络和Fast R-CNN网络共享这些特征图。
2) 第一步得到的特征图作为RPN网络的输入,生成一系列的区域建议框,代替传统图像处理的选择性搜索算法(Selective Search)[35]来预测生成提议区域。
3) 得到一系列区域建议框之后,把这些区域建议框对应的语义特征通过区域池化层(ROI Pooling)映射输出相同大小的特征信息,然后将这些特征信息输入到最后的全连接层。
4) 全连接层的输出通过分类函数Softmax以及bbox的边框回归函数获得精确的类别预测以及目标定位,最后通过非极大值抑制(Non-Maximum Suppression,NMS)算法[36]剔除相近位置、相同类别的预测目标,得到最后的锁紧销预测框。
1.2.1 RPN
RPN的结构如图3所示,它可以使用神经网络自主学习生成候选框。在特征提取网络输出的特征图上进行滑窗来生成区域建议框, 滑动窗口在原始图像上的映射被称为anchor,通过设置多种面积尺寸不同的anchor,能够得到期望的目标建议框。每个anchor映射到256-D低维特征,然后被输入到分类层和边界框回归层,从而进行下一步的分类回归运算。RPN是全卷积网络[37],可以采用端到端的方式进行训练,先生成质量较高的区域建议框,然后输入到分类回归网络进行检测。RPN和分类回归网络共用最前面的特征提取网络,原有网络和RPN一起训练,可以明显地降低网络参数量和训练所用的时间。
图3 RPN结构
1.2.2 损失函数和边界框回归
Faster R-CNN算法中,RPN通常采用端到端的方式进行训练,采用误差的反向传播和随机梯度下降算法,每张图像训练过程中的损失函数为:
(1)
其中,
表示每个批次中anchor的索引,
是anchor中没有目标的概率。当有目标时,
;反之
。
表示预测边界框的4个参数,
是与含有目标的anchor对应的真实边界框的坐标参数。
这一项意味着含有目标的anchor才有回归损失。
表示分类层的输出,
表示回归层的输出,使用
和
及权重
进行归一化。公式(1)中包含分类损失和回归损失两部分,其中分类的损失函数为:
(2)
回归的损失函数为:
其中,参数
为smooth函数,可表示如下:
(4)
对于边界框的回归运算,采用的方式如下:
(5)
其中,
代表边界框的中心坐标;
为边界框的宽,
为边界框的高;
为预测的边界框,
是anchor边界框,
是真实边界框(
同理)
1.3 对Faster R-CNN方法的改进方法
基于Faster R-CNN框架,考虑锁紧销目标小、尺度大小不一的特点,尝试在卷积特征网络中增加DC v2、FPN模块来提升对小目标的识别、考虑锁紧销正常与缺陷样本失衡,及特征差异不明显、使用OHEM来提升网络模型鲁棒性。
1.3.1可变形卷积DCN v2
输电线路航拍图像中的锁紧销大小比例不一,而且旋转角度多变,对于这种目标,传统的卷积神经网络不能很好的对其进行检测,DCN方法将传统卷积核变成了可变形卷积结构,对感受野上的每一个点都加上一个偏移量offset,经过可变形卷积后的感受野不再是正方形,而是变得和目标的实际形状相匹配,这样无论目标怎么形变,卷积的感受野始终覆盖在目标形状周围。而DCN v2[38]使用了更多的可变形卷积,使得卷 积层不仅能自学习offset,而且还能学习每个采样点的权重,通过分配这些学习到的权重给经过offset修正后的区域,能够实现更准确的特征提取,从而有效提高训练效果。
1.3.2 特征金字塔FPN
图像经过CNN操作会生成一系列的特征图,目标检测算法一般选取CNN的最后一层进行目标预测,如图3(a)所示。但是像锁紧销这样的小目标检测,经过多层卷积和池化,目标信息有可能丢失,而FPN[39]是将低层特征高分辨率和高层特征的高语义信息相融合,如图3(b)所示,通过自上而下的路径和横向连接,构建了一个更深、融合更多层信息的特征金字塔,低层信息获得锁紧销的准确定位,高层信息特征具有鲁棒性,这样做可有效提高锁紧销的检测精度。
图4 (a)单一特征图 (b)FPN
1.3.3在线难例挖掘OHEM
在模型训练中,会产生数以万计的候选区域,而且大部分的区域都是背景,负样本与目标区域数量之比过大,数据不平衡导致正样本类别在模型中学习迭代次数较少,不利于网络训练进行分类和定位,OHEM方法[40]提出大部分背景区域和容易检测识别的区域在预测类别精度上都会表现得相对较高,因此其损失也会相对较小,可以在训练的时候将损失较小的权重设为0,而损失较大的也就是正样本区域会得到进一步的训练,从而提高模型训练效果。
2 改进算法的模型训练及评估
接下来将讲述数据集制作,模型训练及评估三个方面的内容。改进算法研究流程如图4所示。
图5 改进算法的研究流程图
2.1数据集
实验将锁紧销缺陷分为锁紧销丢失(lack)、锁紧销未打开(unopened)、锁紧销脱出(unplugged)三类,从无人机巡检图像中筛查带有缺陷的图片7500张,每类2500张,筛查出的巡检图片电压包括35kV、110kV、220kV、500kV 四种,图像分辨率为4288*2848,时令覆盖四季。锁紧销的三种缺陷类型如图5所示。
表1数据集分配情况
数据集 |
训练集 |
测试集 |
总和 |
锁紧销丢失 |
2000 |
500 |
2500 |
锁紧销脱出 |
2000 |
500 |
2500 |
锁紧销未打开 |
2000 |
500 |
2500 |
总和 |
6000 |
1500 |
7500 |
2.2 模型训练
模型训练机器是i9-9900K CPU、GTX 1080Ti GPU,深度学习框架是PyTorch。采用ImageNet预训练模型对网络进行权重初始化,模型训练的迭代次数均为20000,Batch Size为2,学习率为0.005,权重衰减率为0.0005,优化方法采用批量梯度下降(Batch Gradient Descent,SGD)。
2.3 模型评估
在图像分类指标中,准确率和召回率是衡量算法性能的基本指标,然而对于目标检测问题准确率和召回率会受到置信度值的影响。而且两者如果单独使用并不能准确的对效果进行评估,因此采用平均精度 (Average Precision,AP),也就是不同召回率下的准确率均值,作为算法的评价指标,并采用平均类别精度(mean Average Precision,mAP),作为不同类别下的均值作为算法的综合评价指标。同时为了更全面的判断模型性能,使用每秒处理图片的帧数 (Frames Per Second,FPS)来评价算法的实时性能。
3 实验仿真及分析
实验仿真有如下两部分组成:
1)分别对比了Faster R-CNN与Cascade R-CNN、Grid R-CNN、RetinaNet等模型在ResNet-50,ResNet-101及ResNeXt-101不同特征提取网络下的锁紧销缺陷检测效果,比较其在交并比 (Intersection over Union,IoU) 设定为0.5情况下的mAP以及FPS。
2)以Faster R-CNN结合ResNext-101为基础,研究逐步使用DCN v2、FPN、OHEM改进方法下的锁紧销缺陷检测效果,首先比较其在不同IoU值下的mAP,然后比较在设定IoU为0.5情况下各个类别的AP值。
3.1 Faster R-CNN与其他算法对比分析
Faster R-CNN与Cascade R-CNN、Grid R-CNN、RetinaNet等模型在ResNet-50,ResNet-101、ResNeXt-101特征提取网络下,IoU阈值为0.5的mAP(本文记为mAP@0.5)以及FPS如图6所示。图中r50对应ResNet-50,r101对应ResNet-101,x101对应ResNext-101,可以看出在同一模型下,随着r50到r101到x101的变化,FPS在不断降低,而mAP@0.5在不断增高。总体来看,Faster R-CNN x101、Cascade R-CNN x101、Grid R-CNN x101和Faster R-CNN r101 mAP@0.5值相对表现很高,而FPS也相对较低,RetinaNet r50、RetinaNet r101和Grid R-CNN r50 FPS值相对表现很高,而mAP也相对较低。在实际检测过程中,mAP值越高,意味检测精度越高,识别的越准确,但是所有模型的mAP值都没有突破90%,因此这里选取mAP表现最高的Faster R-CNN x101作为原始检测模型,下一步对其进行改进以提升其mAP值。
图7 不同模型下的检测效果
3.2改进方法对比分析
在Faster R-CNN x101算法中逐步加入DCN v2、FPN、OHEM改进后不同IoU值下的mAP如图7所示。图中原始方法、方法1、方法2、方法3分别对应Faster x101, 原始方法+DCNv2,原始方法+DCNv2+FPN,原始方法+DCNv2+FPN+OHEM。在IoU阈值小于0.4时,原始方法和方法1 mAP相当,方法2和方法3 mAP相当,但是前两种mAP都比后两种方法低,在IoU阈值大于0.4时,方法3的mAP最高,故可初步判断方法3的检测效果最好。
图8 不同IoU的三种改进方法的mAP对比
为了验证改进算法的有效性,对比了在IoU为0.5的情况下,原始方法、方法1、方法2及方法3四种算法下,锁紧销丢失、锁紧销脱出及锁紧销未打开三种缺陷的AP值和mAP值。从表2中,可以看出方法1方法相比原始方法方法,AP值和mAP值提高的不是很多。方法2较方法3和原始方法而言,AP值和mAP值都有了明显的提升。方法3与前面三种方法对比可以看出,此方法AP值和mAP值皆最高。因此,我们的改进方法是有效的,能在一定程度上提高锁紧销缺陷检测的精度。通过加载训练好的方法3模型,锁紧销缺陷的实际检测结果如图8所示:
表2基于Faster R-CNN的改进方法锁紧销缺陷的AP值
锁紧销类型 |
AP@0.5 |
|||
原始方法 |
方法1 |
方法2 |
方法3 |
|
锁紧销丢失 |
0.870 |
0.875 |
0.950 |
0.958 |
锁紧销脱出 |
0.841 |
0.848 |
0.876 |
0.879 |
锁紧销未打开 |
0.936 |
0.942 |
0.947 |
0.956 |
mAP |
0.882 |
0.888 |
0.925 |
0.931 |
4 结论
针对输电线中锁紧销缺陷危急程度高,人工查缺效率低,易遗漏的问题,基于无人机图像和Faster R-CNN理论,该文提出了一种改进的锁紧销缺陷检测方法。所提算法基于Faster R-CNN基本框架,采用ResNeXt101作为特征提取网络,并利用DCNv2,FPN和OHEM三种改进方法进行优化。仿真结果表明,与Cascade R-CNN,Grid R-CNN,RetinaNet等目标检测算法相比,所提算法的mAP为0.931,故可显著提高锁紧销缺陷检测的精度。今后的工作中,我们会致力于研究CNN等深度学习知识,来进一步提高锁紧销缺陷检测的精度。