基于深度学习算法的航拍巡检图像的绝缘子识别

2021-01-21 02:30严道森
关键词:绝缘子层级尺度

蒋 姗,孙 渊,严道森

(上海电机学院机械学院,上海 200120)

0 引言

高压线路输电距离长,沿线的自然环境多样,地理环境复杂,输电线路易在恶劣环境中受到损害. 如果监控不到位,发生故障无法及时处理,必将导致重大事故发生,严重威胁和影响电力系统的正常稳定运行,甚至造成系统大规模瘫痪的严重后果. 对输电线路进行定期巡视检查是保证电力系统稳定运行的重要前提. 绝缘子类型多、 数量大、 分布广, 是高压输电线路中重要的组成部分,在巡检过程中,输电线路上的绝缘子是重要的检测目标. 人工巡检效率低下、 危险系数高、 检测结果不稳定,难以满足日常监控巡检要求,应用无人机巡检在一定程度上提高了电力巡检的效率[1]. 但绝缘子的航拍图像在训练前期筛选十分繁琐,且受拍摄条件制约,使绝缘子在整幅图像中占比小,导致人工判别强度大、 效率低. 在电网智能巡检的大背景下,伴随着图像处理和深度学习的不断发展,利用深度学习技术对绝缘子进行自动定位和检测成为趋势.

针对绝缘子检测问题,目前国内外最常见的解决方法为传统特征提取和基于神经网络的深度学习方法. 传统特征处理使用HOG、 SURF等方法提取图像等特征,然后训练SVM、 Adaboost等特征分类器. Zhao等[2-3]提取图像的SURF特征以及基于相关系数的直觉模糊集,使用聚类算法识别绝缘子. Wu等[4]通过将绝缘子轮廓局部纹理分布的内外差异最大化建立了一种新的轮廓模型来提取绝缘子. 徐向军等[5]使用广义霍夫变换提取绝缘子盘片的轮廓特征. Zhai等[6]将玻璃和陶瓷独特的颜色特征与空间特征相结合,识别绝缘子位置. 但传统方法的检测精度十分依赖于特征提取方式,训练、 检测速度均很缓慢,复杂度高、 泛化性差,应用场景非常局限,无法很好地应用于背景复杂的绝缘子检测中.

2014年,Girshick[7]设计了R-CNN算法,使目标检测与识别技术取得了巨大突破,掀起了基于深度学习的目标检测与识别的热潮. 在其基础上发展的Fast R-CNN[8]、 Faster R-CNN[9]、 Mask R-CNN[10]、 YOLO[11]、 SSD[12]更是受到诸多研究者追捧. Miao等[13]采用SSD模型将特征提取方式由传统手动改变为自动提取. Tao等[14]基于CNN深度卷积网络提出了一种联级架构,在多种条件下实现了绝缘子的检测. Gao等[15]利用全卷积网络进行绝缘子定位,实现绝缘子端到端检测. 但因输电线路环境复杂,背景干扰大,导致绝缘子在图像中不突出,增加对绝缘子检测处理难度. 直接用现有算法检测航拍图像中的绝缘子部件不能获得满意的效果,必须结合绝缘子图像的特性,对其检测方法进行更深入的探索. 文献[16]深度剖析了目前常用的目标检测算法,检测速度与准确性的比较结果中显示,YOLO、 SSD等新型算法虽然速度较快,但检测精度无法满足对电网元器件的检测要求.

在权衡检测速度和检测准确度后,决定采用检测准确度更高的Faster R-CNN算法作为基础算法进行绝缘子图像的检测. Faster R-CNN算法[17]在特征提取过程中仅对图像中的高级卷积特征信息进行利用,速度快、 需要内存少. 虽然高层特征全局性信息丰富,但仅关注深层网络中最后一层的特征,会忽略浅层卷积特征的细节信息,这些浅层的细节信息可以提升检测的精度,对检测绝缘子这种小目标尤显重要[18]. 基于该事实,本研究提出一种改进Faster R-CNN算法,将其运用于绝缘子的自动识别与检测当中.

1 网络框架

1.1 Faster R-CNN网络

区域建议网络(region proposal network,RPN)是Faster R-CNN算法中最具有意义的一部分,它的运用使Faster R-CNN算法成为了第一个真正意义上的端到端的深度学习检测算法[19]. 如图1所示,代替selective search,RPN网络使用Anchor机制来生成候选框,首先在特征图上以每个位置点为中心生成3种尺度,3种长宽比共9个不同大小的参考框,然后采用大小为3 × 3的窗口在特征图上滑动做卷积操作,当滑窗滑到每个位置上的候选区域时,会对其进行预测. 因RPN的最后一个卷积层有512个卷积核,故每个滑窗生成的特征向量为512维[20]. 接着这些特征向量被输入两个大小为1 × 1的平行全连接层,分别为分类层和回归层. 分类层的输出为置信度,用于判别该区域为背景还是检测目标; 回归层的输出为坐标偏移量,用于对参考框的边界坐标进行微调.

RPN并非像传统的图像金字塔将图像多尺度缩放再提取每个尺度下的图像特征,而是采用特征图上的位置点在原图尺度上铺设参考框,在减少计算量的同时能够更加准确地设置参考框.

1.2 改进的Faster R-CNN网络

Faster R-CNN利用候选区域网络RPN提取图像特征,但RPN仅利用图像的最后一层特征. 虽然能够快速定位较大目标,但对于在图像中目标尺寸变化剧烈、 分布位置不确定、 占比小的绝缘子而言,对其检测更需要语义信息稀疏,能提供细节特征的浅层信息. 为解决使用Faster R-CNN网络底层特征无法利用的问题,更好地检测监控图像中的绝缘子,将FPN金字塔结构引入Faster R-CNN网络特征提取过程,使其与候选区域网络RPN融合,改进原有RPN; 然后采用双线性插值法替换原RoI Pooling操作,修正二次取整量化的偏差,使检测框的坐标更加精准.

1.2.1FPN特征金字塔网络

特征金字塔网络(feature pyramid networks,FPN)由三个部分构成, 如图2所示. 第一部分为自下而上的普通卷积神经网络前馈过程提取特征图; 第二个部分自上而下将第一部分所得特征图中语义信息更强的高层特征图进行上采样,加强高层特征,使相邻各层的特征图大小相同; 第三部分采用横向连接方式将前两步的特征图结合. 通过这三个部分,将高层和低层特征结合,令每个尺度下的特征都拥有丰富的语义信息.

图2 FPN结构图Fig.2 FPN structure

1.2.2FPN和FasterR-CNN的融合

将FPN融入Faster R-CNN检测框架中,整体框图和算法流程如图3所示.

图3 RPN算法流程图Fig.3 RPN algorithm flowchart

算法流程为:

1) 自下向上. 把原始图像输入ResNet提取深层特征图. 由于ResNet-50的网络层数太浅,无法提取深层次的语义信息,故选取ResNet-101提取目标特征. 将ResNet输出相同尺寸特征的若干层作为同一阶段,由浅至深划分为conv1至conv5. 由于conv1输出的特征图分辨率太高,内存占用量大,因此将conv1层舍弃,只使用conv2至conv5. 在各阶段的语义信息最强的是每一阶段的最后一层,故将每阶段的最后一层作为输出,为避免反向传播梯度消失问题,将其经过ReLu非线性函数激活后作为每一阶段的参考特征图{C2, C3, C4, C5}.

2) 自上向下. 首先用1 × 1的卷积核将不同层次的特征图更改为相同通道数256,由于相邻层级特征图的尺寸为2倍,自上而下将较深层特征图上采样放大至原长宽的2倍,再与下一层级的特征图加法迭代. 得到{P2, P3, P4, P5},形成FPN特征金字塔,实现底层语义信息的增强.

不同于原始Faster R-CNN仅使用conv4一个层级来提取感兴趣区域,本研究将FPN的4个层级融合,得到的低层级特征图不仅具有高语义特征,还兼具高分辨率的特性. 值得一提的是,本算法虽将整个FPN的4个层级全部用于提取RoI,但检测多尺度目标、 小尺寸目标的能力仍远高于采用单一尺度共享特征图的Faster R-CNN,且其所占的内存空间却没有因此增加很多,复杂程度几乎与其相等.

在FPN的每个层级上密集滑动一个同样设计的网络头来检测可能的感兴趣位置,由文献[21]知, 若FPN每层级使用不同的RPN网络会降低网络泛化性,而FPN不同层的特征图是多尺度的,故将FPN所有层级的锚点都用于一个头部,在保证精度的同时简化网络,使网络头部在所有FPN层级上共享参数. 但共享参数会使训练样本激增,导致建议框冗余. 为解决该问题,本研究在FPN每层特征图中加入非极大值抑制,限定特定层级的单尺度建议框重叠,再将置信度分数降序排列,将排名靠前的建议框作为RoI的输入,规避因建议框冗余令训练速度变慢的问题.

原Faster R-CNN网络使用RoI pooling提取特征,其输入为单尺度特征图,但加入FPN后会得到多尺度的特征图,这时需要使RoI根据输入特征图的尺度选择相应的金字塔层级Pk,具体的分配方式如下.

(1)

其中:w、h分别为RoI的宽和高; 224为预训练图像大小; 设k0=5,为映射到的RoI的目标水平. 若RoI的尺寸变小为224的二分之一,则将会被映射到更精细的级别,此时k=4.

1.2.3改进的RoIPooling

RoI Pooling层可以提高检测准确率,加快训练、 测试速度,但其在生成候选框和确定对应网格位置时会进行两次取整量化操作. 第一步在原始RoI Pooling层对框选的两个采样点进行取整,使产生的采样点对齐标准的坐标点,而后续的池化操作要再次进行取整. 由于经过CNN得出的特征图比原图像缩小了16倍,所以在对应过程中需要使用x/16进行计算,极易出现小数. 两步取整操作造成的特征图上的坐标点偏差对应原图上的像素偏差足有16倍,像素偏移将导致图像和特征图不匹配,令特征图上的RoI和原图无法对应,对后层的回归定位产生影响.

为避免两次取整量化对浮点数舍入操作,引入双线性差值对对齐方式改进,将RoI对应的特征图某一区域均分成2 × 2区域块,再将各区域块四等分,将每个小网格中心作为采样点. 如图4所示,顶点a、b、c、d和均分的2 × 2区域中的16个采样点坐标均不是整数. 双线性差值评估在确定采样点后直接映射到特征图上,对每个的采样点在x、y两个方向上进行评估,完成差值后进行最大池化操作,如此类推得出最终的特征图. 整个操作不对具体的坐标数值进行操作,坐标计算过程中保留小数,规避RoI两次取整操作的离散量化误差,使最终检测框位置更加准确.

图4 通过双线性插值的改进RoI Pooling Fig.4 Improved RoI Pooling through bilinear interpolation

2 模型评价

为训练RPN网络,将重叠交并比IoU正负阈值设定为0.7和0.3. 置信度高于0.7为正样本,低于0.3为负样本,介于0.3和0.7之间的不参与训练. 设置损失函数指导训练,如下式所示:

(2)

(3)

以下函数表达式说明边框回归是根据坐标的比例值来判断回归是否完成,而不是适用各个坐标的具体数值,

(4)

其中:x、xa、x*为预测框、 锚定框、 真实框的坐标值;x、y为框的中心点坐标;w、h为框的长宽.

Lcls采用了对数损失,Lreg采用smoothL1损失,如下式所示.

(5)

3 实验结果及分析

3.1 数据集及实验环境

结合Github上国家电网的公开数据[22]和3个华中地区变电厂的监控截图图像作为实验数据,去除重合率达到70%以上的和少量不包含电器元件的图像后,最终选择3 267幅图像. 以7∶2∶1的比例将其分为训练集、 测试集和验证集. 实验采用TensorFlow深度学习平台; 网络学习率为0.001,迭代次数为4万次,IoU正负阈值设定为0.7和0.3.

3.2 检测结果对比分析

原网络和改进网络对绝缘子的检测结果如图5和图6所示. 在绝缘子背景复杂、 互相遮挡的情况下,改进算法依然能对绝缘子进行高精度检测.

图5 Faster R-CNN算法检测结果Fig.5 Detection results of Faster R-CNN algorithm

图6 本算法检测结果Fig.6 Detection results of the algorithm presented in this paper

从图5(a)可看出, 原算法可检测图像中央占比较大的绝缘子,但无法识别占比小的绝缘子. 而通过对绝缘子标记框在整体图像中占比统计发现,图像中占比仅为1%的绝缘子数量占总数量的三分之一,如果漏检将会造成绝缘子检测准确率严重下降. 而在图6(a)中,改进算法可以对图中占比不同的绝缘子完成检测,即使是右下角尺寸较小的绝缘子也能够进行准确识别. 通过图5(b)和图6(b)的对比也能够展现这种在绝缘子检测目标尺度剧烈变化,在图像中占比不同的情况下,改进网络的检测效果要远优于Faster R-CNN.

表1 相同数量候选区域下改进RPN与原RPN对比

改进算法与原算法相比在多个方面都得到了提升. 针对绝缘子检测目标在图像中尺寸变化幅度大、 目标重叠遮挡情况,通过融合FPN网络增加对小目标物体的敏感度,并改进了最大池化层,缓解了重叠绝缘子目标检测框被误删的情况. 如表1所示, 在提供相同数量的候选框的条件下,与FPN融合的改进RPN在控制时间复杂度的同时提高精度,提供的候选区域质量更高.

表2表明,在常规尺寸的绝缘子检测中传统的Faster R-CNN网络的平均检测准确率可以达到一定精度,检测速度较快,但其无法正确检测图片中小尺寸的绝缘子检测. 而通过与其他网络进行检测实验可以发现,对于小目标的检测均存在精度过低的问题,即使是检测精度最高的SSD网络,对较小绝缘子目标的检测精度也只能达到54.32%. 将FPN与Faster R-CNN融合后,对比原网络虽然增加了少许的检测时间,但大幅提升了小尺寸绝缘子的检测精度,极大地减少了绝缘子的漏检问题,为绝缘子故障检测提供了理论基础.

表2 不同网络结构的检测结果对比

图7为改进前后的P-R模型曲线. 从图中可见,改进后的检测模型曲线更加平滑,且更加靠近右上角,与两组标轴的积分面积即平均精度AP值更大,提高了近28%.

图7 重叠绝缘子示意图Fig.7 Comparison of P-R curves before and after algorithm improvement

4 结语

基于Faster R-CNN网络,提出一种将FPN融合Faster R-CNN的绝缘子检测算法,避免了人工检测绝缘子的束缚,将浅层和深层特征相结合,提取多尺度特征,丰富了语义信息,在控制时间复杂度的同时提升了对尺寸变化大的绝缘子的检测精度,获得了较满意的检测效果. 采用一种基于双线性插值的对齐池化方式避免了RoI Pooling中两次池化操作带来的位置偏移,提高了检测框的坐标精度. 利用soft-NMS算法替代NMS规避因目标重叠遮挡而误删重叠检测框的情况,减少了图像中小尺寸绝缘子的漏检情况,使最后得出的绝缘子检测框更为精确. 但绝缘子一般成对出现,不同拍摄角度会出现不同程度的对象遮挡,再加上输电网络背景复杂,互相遮挡的绝缘子目标还存在一定程度上的漏检问题,下一步, 将在此基础上对检测框进行调整,进一步让不同场景下的绝缘子器件得到更好的检测识别.

猜你喜欢
绝缘子层级尺度
基于Mask RCNN的绝缘子自爆缺陷检测
军工企业不同层级知识管理研究实践
财产的五大尺度和五重应对
基于军事力量层级划分的军力对比评估
职务职级并行后,科员可以努力到哪个层级
浅析输电线路绝缘子防污闪技术
宇宙的尺度
考虑悬垂绝缘子串偏斜的张力放线计算研究
任务期内多层级不完全修复件的可用度评估
1000kV特高压输电线路失效绝缘子判断的仿真计算