APP下载

基于先验知识的航拍绝缘子检测方法

2021-08-20宋万潼李冰锋费树岷

计算机工程 2021年8期
关键词:锚点航拍绝缘子

宋万潼,李冰锋,费树岷

(1.河南理工大学 电气工程与自动化学院,河南 焦作 454000;2.东南大学 自动化学院,南京 210096)

0 概述

架空输电线路作为电力能源输送的载体,由线路杆塔、导线、绝缘子、线路金具、拉线、杆塔基础、接地装置等构成。由于架空输电线路长期暴露在野外,其各个组成部分均易受自然环境侵袭。各装置材料属性及其安装位置的差异使其发生故障的频率和检修的难度不同。绝缘子通常由陶瓷、玻璃或复合材质制成且悬挂在空中,相对于架空输电线路中的其他金属件,绝缘子发生故障的频率和检修难度均加大。因此,在架空输电线路定期巡检过程中主要对绝缘子的运行状态进行检测。传统的绝缘子运行状态检测多采用人工巡检的方法,但其存在着人工成本高、检测效率低、危险性高等缺点。随着无人机、人工智能等领域的发展,基于航拍图像的绝缘子运行状态检测已成为输电线路运行管理中新的研究热点[1-2]。

基于航拍图像的绝缘子运行状态检测包括两个部分,即在航拍图像中精确定位绝缘子的位置和在其基础上进行绝缘子故障的判断和定位。从本质上两者都属于目标检测的范畴[3],且前者对后者有一定的借鉴意义。早期的绝缘子检测算法多采用人工提取特征与机器学习算法相结合。人工提取的特征包括纹理特征、结构化特征和形状特征。早期算法具有方法简单且计算负担小的优点,缺点是只能在特定场景下使用,其泛化能力相对较弱。例如,杨翠茹[4]提取绝缘子的纹理特征,利用K 均值聚类算法实现对绝缘子的定位。由于背景图像中河流、树木、田野等特征与绝缘子纹理较相似,因此该算法易受环境因素的干扰而影响其检测性能。赵振兵[5]等利用绝缘子串的形状特征,采用阈值分割和边缘检测的方法对绝缘子进行定位。该算法使用固定阈值对图像进行预分割,因此易受光照条件的影响,导致后续绝缘子边缘提取失败。实际航拍图像中绝缘子背景相对较复杂,早期的检测方法很难满足大多数实际工程需求。

随着计算机硬件性能和深度学习方法的提高,基于卷积神经网络的目标检测算法逐渐代替了传统的检测算法[6-8]。与早期基于经典机器学习理论的绝缘子检测算法相比,基于深度学习的绝缘子检测算法多采用卷积神经网络自动从大量数据中学习最优的目标特征,再采用全连接网络进行目标定位,从而在复杂的背景下获得较高的检测精度和较强的泛化能力。例如,LIU 等[9]利用标准的Faster R-CNN[10]模型对绝缘子进行检测,在复杂背景下获得了较高的检测精度。XU[11]等利用单次多重目标检测器(Single Shot Multibox Detector,SSD)算法对绝缘子进行检测[12],提高其在多尺度上绝缘子的检测精度。CHEN 等[13]结合本身数据集中目标绝缘子尺寸较小的特点,利用YOLO V3[14]算法对绝缘子进行检测获得显著的效果。上述基于深度学习的绝缘子检测算法大多是在通用检测模型基础上进行检测,其检测精度仍需进一步提高。

基于卷积神经网络的目标检测算法中,本文选择精度较优的Faster R-CNN 为基础算法对航拍图像中的绝缘子进行检测。Faster R-CNN 作为两阶段的目标检测算法,其检测过程分为特征提取、候选区域生成、目标类别的类别判断和位置回归。算法通过多层的卷积神经网络对输入图像进行特征提取;在得到特征图像的每个位置上放置9 个尺寸和长宽比不同的锚点框,并通过softmax 算法判断每个锚点框属于前景还是背景并对位置进行粗略估计。最终对前景的锚点框进行类别判断,通过回归算法进行检测框的精确位置计算。Faster R-CNN 算法检测精度较高的关键因素是利用卷积层通过简单的前景背景判断和粗略的位置计算生成高质量的候选框,同时两次类别判断和位置回归计算。但Faster R-CNN 算法作为通用的目标检测算法,并未包含绝缘子图像。

本文提出基于先验知识的航拍绝缘子改进算法。通过在Faster R-CNN 特征提取层中引入注意力机制以提高算法对绝缘子的表达能力。考虑到航拍过程中无人机平台与目标绝缘子的距离为固定,基于航拍图像中绝缘子尺度的先验知识,结合K 均值聚类算法改进锚点框的生成模式。在此基础上,将中心损失函数引入到交叉熵分类损失函数中,以提高绝缘子与背景特征的可区分性。

1 基于先验知识Faster R-CNN 的改进算法

为提高从航拍图像中检测绝缘子的准确度,本文设计了两阶段的目标检测算法,其整体结构如图1 所示。检测过程分为特征提取、候选区域生成、目标物的类别判断和精确定位。其整体框架与Faster R-CNN 较相似,但与基于绝缘子的先验知识不同,本文对检测过程部分进行了改进。

图1 绝缘子检测算法框架Fig.1 Insulator detection algorithm framework

1.1 基于注意力机制的特征提取模块

基于卷积神经网络的目标检测算法在训练集充分且标注足够准确的情况下,特征提取网络性能在很大程度上影响后续目标的检出率。特征提取模块的作用是对航拍图像进行卷积操作以获得显著的绝缘子特征,同时抑制其他目标物的特征。绝缘子航拍图像如图2所示。

图2 绝缘子航拍图像Fig.2 Aerial images of insulator

在特征提取网络层引入卷积块注意力模块(Convolutional Block Attention Module,CBAM)[15],其网络结构原理如图3 所示。其中,F∈ℝC×H×W表示注意力机制的输入,其尺寸为H×W,通道数为C,经过通道注意力模块后,其输出为MC∈ℝC×1×1,表示学习得到C个通道的权重。

图3 CBAM 结构Fig.3 CBAM structure

将F∈ℝC×H×W和MC进行如式(1)所示的通道间点乘,得到F′∈ℝC×H×W,F′与F的尺寸和通道数完全相同,但不同于F,F′的各个通道会自适应被赋予不同的权重;其中,含有绝缘子特征的通道将会被赋予大的权重,反之亦然。

将通道注意力的输出F′输入空间注意力模块,其输出为MS∈ℝ1×H×W,表示尺寸为H×W平面上每个点的权重,最终将MS和F′进行空间上的点乘,如式(2)所示,得到F″。

相对于F′,F″对每个通道特征图的不同位置施加不同的权重,从而在空间上对绝缘子的部分进行特征增强。

注意力机制模块在通道和空间2 个维度上对输入的特征图重新分配权重,所以其输出可以选择性增强绝缘子特征表征能力,从而提高特征提取网络聚焦绝缘子的能力。

1.2 候选框生成模式改进

对输入图像进行特征提取后,在特征图的每个位置放置若干个锚点框,分别进行目标分类和定位。每个位置设定的锚点框尺寸和个数与检测对象的先验知识相关。与通用的多目标检测算法不同,本文检测目标只是单一的绝缘子,在进行航拍巡线时,无人机与绝缘子的距离相对较固定,所以航拍图像中绝缘子的尺寸仅与其自身实际大小相关。从悬挂角度分析,架空输电线路上绝缘子多为0°、90°和45°角3 个方向。

基于以上先验知识,为了能更好地提高检测性能,本文采用K 均值聚类方法学习最优的锚点框尺寸及个数,K 均值聚类算法的目标函数如式(3)所示:其中,Bi为训练样本中第i个绝缘子目标框的长和宽,Cj为第j类目标框的聚类中心,N和K分别为训练样本中绝缘子的个数和聚类中心的个数。di(Bi,Cj)表示Bi和Cj之间的相似性度量准则,常用的度量准则包括L1或L2范数,但是两者对目标的尺寸较敏感。采用如式(4)和式(5)所示,将Bi和Cj的交并比作为两者的相似性度量准则[16]。

根据式(4)定义的度量指标,通过迭代最小化式(3),不断减小每个聚类中心所有样本对应其中心之间的距离,最终得到K个锚点框尺寸信息。

1.3 基于中心损失正则项

采用交叉熵函数描述目标检测算法的分类损失。由于本文中的前景目标只有绝缘子一类,为提高绝缘子与背景特征间的可分性,在分类损失函数中增加一个正则项[17]。该正则项能提高目标和背景描述各自的聚类性能,如式(6)所示:

其中,xi∈ℝd表示进入分类层前关于第i个区域的描述子。当yi=1 时,对应xi表示绝缘子区域的描述子;当yi=0 时,对应xi表示背景区域的描述子表示第yi类特征中心,本文共包括绝缘子特征和背景特征的聚类中心。m为训练过程中每个批量数据的数量。

在训练过程中,通过最小化中心损失正则项,使绝缘子和背景描述子同时向各自的聚类中心靠拢,绝缘子和背景描述子内聚性增强的同时,则绝缘子和背景描述子的可区分性增强。在训练过程中,LC对xi的梯度,以及特征中心的更新表示如下:

在式(8)中,δ(yi=j)为狄拉克函数,表示当yi=j时等于1,否则为0。式(9)中,α为控制学习速率的超参数;t表示迭代次数。

引入中心损失正则项后的分类损失函数如式(10)所示:

其中,LS为交叉熵损失函数;LC为中心损失函数;λ为协调因子。

2 实验结果与分析

本文提出的网络结构如图4 所示。其中,特征提取网络以VGG16 为基准,并去除最后一个池化层后的卷积层;在VGG16 的第3、4、5 个结构块(block)中分别引入注意力机制模块。其主要作用是:一方面卷积层底层输出一般为输入图像的浅层特征表示,不具备表征待检测目标特征的能力;另一方面综合考虑计算负担的问题。本文的区域候选网络和Faster R-CNN 的区域候选网络完全相同,但本文采用先验知识优化的锚点框获取方式。

图4 Faster R-CNN 改进算法网络结构Fig.4 Faster R-CNN improved algorithm network structure

2.1 实验环境与数据集

本文使用PyTorch 框架进行实验,并采用GPU 进行加速运算,实验环境中Windows10系统,PyTorch 框架、Python 语言,CPU 为Intel Core i7-8700k,GPU 为GTX 1080 Ti,RAM 为32 GB。设计数据集共包括1 500 张图像,在输电线路巡检时由无人机在真实场景下拍摄获得,其中900 张由国家电网某公司提供,另外600 张来自于文献[18]。随机选择数据集中750 张用于训练,余下的750 张用于测试。使用LabelImg①工具对数据集进行标注。

2.2 评价指标

目标检测性能通过计算测试集上的平均准确率(Average Precision,AP)和所有类别的平均准确率均值(Mean Average Precision,MAP)进行衡量。本文前景目标只有绝缘子一类,只需要计算AP 值即可。AP 值越高,表示检测性能越好。AP 的计算过程如下:

1)设定IOU 的阈值(本文IOU 设定为0.7),当检测框与真实框的IOU≥0.7 时,表示绝缘子被正确检测;当检测框与真实框的IOU<0.7 时,表示非绝缘子被检测为绝缘子。

2)用TP表示绝缘子被正确检测的数目;FP表示非绝缘子被检测为绝缘子的数目;FN表示漏检的数目;(TP+FP)表示检测框的数目;(TP+FN)表示真实框的数目。根据式(11)和式(12)分别计算出精确率(P)和召回率(R)。

3)根据预测框的分类置信度,对其进行降序排列得到所有检测框的精确率和召回率。以召回率为横坐标,精确率为纵坐标作P-R 曲线。AP 值即曲线与横坐标包围的面积。

2.3 模型训练

本文使用随机梯度下降法,对网络采用端对端的方式进行训练。其中batcn_size 设置为1,动量设置为0.9,权值衰减系数为5-4。训练共进行了14 个轮次(epoch),其中前9 个轮次学习率设置为10-4,后5 个轮次学习率为10-5。

在模型初始化中,对共享的卷积层在ImageNet[19]数据集上训练的VGG16 模型参数进行初始化,而RPN特有的卷积层以及网络中的全连接层则以0 均值、标准差为0.01 的高斯分布随机初始化。对RPN 网络在特征图每个位置共设定6 个锚点框,其宽高尺寸分别为(31,467)、(46,617)、(101,365)、(117,265)、(272,56)、(785,166)。中心损失正则项的协调因子λ和超参数α分别设置为0.04、0.5。

2.4 目标检测结果分析

在上述设定条件的目标检测结果如图5 所示。可以看出,在不同背景条件下,本文提出的方法可以准确地检测绝缘子目标。

图5 本文方法检测结果Fig.5 Detection results of the proposed method

Faster R-CNN、SSD 和YOLO V3 这3 种算法并不是原始的检测算法,而是Faster R-CNN、SSD、YOLO 的方法。本文方法是制作一个更大的数据集(包括训练集和测试集),将所有参与比较的网络在本文提供的训练集上重新进行训练和测试。

图6 为本文方法与Faster R-CNN、SSD、YOLO目标检测算法的P-R 曲线对比。可以看出,本文曲线与横坐标包围的面积明显大于其他3 种曲线与横坐标包围的面积,说明本文方法的检测精度优于其他3 种方法。

图6 不同方法P-R 曲线Fig.6 P-R curves of different methods

表1是本文方法与Faster R-CNN、SSD、YOLO。可以看出,目标检测算法的AP 值对比,本文方法检测AP 值明显高于其他3 种方法。SSD 与YOLO V3 算法为了提高网络的多尺度检测能力,设置了多尺度的锚点框,因此这2 种算法的检测精度偏低。本文的目标绝缘子多尺度特征并不明显,影响其检测性能。

表1 本文方法与其他深度方法的AP 值Table 1 AP values of the proposed method and other depth methods

图7 是本文方法与Faster R-CNN 的损失值曲线对比。可以看出,2 种方法都能较快速收敛。本文方法设置了更符合本文数据集尺寸以及数量的锚点框,并增加了中心损失正则化,因此在收敛速度上略优于Faster R-CNN 算法。

图7 不同方法训练损失值曲线Fig.7 Training loss curves of different methods

在本文的实验环境下,对2 种方法进行训练与测试时间的对比如表2 所示。在经过完整的14 个迭代次数训练后,本文方法所需的时间比Faster R-CNN算法少4.68 min。在测试时间上,本文方法处理一张图片所需的时间与Faster R-CNN 算法仅相差0.01 s。本文方法在提高检测精度的同时,并没有过多增加计算量,且属于两阶段目标检测算法,在速度上不与其他一阶段算法进行比较。

表2 不同方法的训练与测试时间Table 2 Training and testing time of different methods

2.5 消融实验对比分析

本文各模块的消融实验对比如表3 所示,聚类中心K设置为6。从表3 可以看出,Faster R-CNN 算法在本文数据集上检测的AP 值为89.7%,注意力机制的使用提高AP 值1.7 个百分点,融入先验知识后的候选框生成模式提高3.3 个百分点,中心损失正则化的使用提高2.4 个百分点。其中,由注意力机制导致的性能提升最少,而由K 均值聚类能有效提高性能。

表3 各模块的消融实验对比Table 3 Comparison of each module ablation experiments

2.5.1 注意力机制分析

为定性分析注意力模块对整个网络的影响,采用热力图(Grad-CAM[20])方式对注意力机制的特征提取结果进行可视化输出,如图8 所示红色区域表示特征提取的强响应;蓝色区域表示特征提取的弱响应(彩色效果见《计算机工程》官网HTML 版)。相对于VGG16,VGG16+CBAM 可以产生更强输出,侧面说明注意力机制能更好地学习绝缘子特征并聚焦该特征。但如图8(b)中的第3 幅图,当航拍图像中包括较多铁塔部分时,注意力机制虽然在一定程度上提高了对绝缘子区域的响应值,但是绝缘子的周边区域也同样得到了增强。在一定程度影响后续绝缘子的检出率。为进一步提升注意力机制作用,除了现有的对于绝缘子区域增强措施外,还需要增加对周边区域的抑制措施。

图8 热力图可视化结果Fig.8 Thermal map visualization results

2.5.2 K 均值聚类分析

不同于经典的目标检测算法,本文通过使用K 均值聚类算法设定锚点框的宽高尺寸信息。将训练集中所有真实框的宽高值作为K 均值聚类算法的输入;通过式(3)所示的目标函数,不断减小每个聚类中心所有样本对应其中心的距离,最终得到聚类中心即本文需设定的锚点框宽高尺寸。影响K 均值聚类性能的关键因素是聚类中心的个数。如图9(a)所示,随着聚类中心个数K的增加,Faster R-CNN 改进算法的检测精度逐步提高,在聚类中心等于6 时获得最高值,随着聚类中心数目的增加,算法的检测精度呈现下降的趋势。

这可能是因为本文的检测目标只是单一绝缘子整体尺寸相差不大,绝缘子多为0°,90°和45°角3个方向。无人机航拍时在架空输电线路的一侧飞行,在航拍图像中靠近无人机一侧的绝缘子尺寸较大,而远离无人机一测的绝缘子尺寸较小。绝缘子在航拍图像中的大小就是3个方向和2个尺度,共6种情况。图9(b)为K=6时的聚类可视化结果,不同形状的点表示不同的类簇,五角形状的点为聚类的中心。

图9 聚类检测结果Fig.9 Clustering detection results

3 结束语

本文提出一种基于先验知识的航拍绝缘子检测算法,并在绝缘子航拍图像数据集上对绝缘子进行测试。在Faster R-CNN 基础算法引入注意力模块提取航拍图像中绝缘子的特征信息,基于航拍图像中绝缘子尺度的先验知识,结合K 均值聚类算法改进目标候选框的生成模式。在此基础上,通过在训练中引入中心损失正则项,增强目标绝缘子特征和背景特征的可区分性。实验结果表明,Faster R-CNN改进算法检测AP 值达到93.7%,优于Faster R-CNN算法。后续将在进一步提升本文算法检测精度的同时,对绝缘子的故障进行诊断。

猜你喜欢

锚点航拍绝缘子
航拍下的苗圃与农场
基于NR覆盖的NSA锚点优选策略研究
5G手机无法在室分NSA站点驻留案例分析
5G NSA锚点的选择策略
5G NSA组网下锚点站的选择策略优化
难忘的航拍
《航拍中国》美得让人想哭
陕西画报航拍
1000kV耐张绝缘子串单片绝缘子的带电更换技术
500kV绝缘子串含零值绝缘子时的电晕放电分析