张 静 燕正亮 张 增 王利伟 闫皓炜
(天津航天中为数据系统科技有限公司 天津 300450)
我国的输电线路分布范围广,走廊地理环境复杂,给线路的日常人工巡检带来了极大的困难。无人机巡检以其可远程操控、无接触式设备成像、无需停电作业等优点成了目前的主流巡检作业方式之一。在巡检作业时,无人机需要沿两基杆塔走廊中的导线进行飞行,导线是有弧垂的,作业人员需要频繁调整吊舱及无人机使得导线保持在视野中央,容易产生视觉疲劳,影响作业的准确性及作业效率。导线跟踪技术能够基于无人机巡检实时视频影像对导线进行快速提取和跟踪,反馈导线的中心点位置,指导吊舱进行姿态的自动调整,使得导线保持在视野中央,减少人工工作量,提高作业的准确率及效率。导线一般呈现为贯穿图像的直线及曲线簇,通常以矩形框作为描述的目标跟踪技术难以应用于导线的自动跟踪。同时,为克服链路传输时延的影响,导线跟踪需要运行在机载嵌入式平台上,保证算法的准确性及高效性。在导线提取方面,Ratio、Canny等边缘检测算子,Radon变换、Hough变换等线段提取方式为最常用的方法。文献[1]首先采用Ratio算子从遥感影像上提取电力线像素点,然后采用分段Radon变换提取并连接各分段电力线,再利用类似卡尔曼滤波技术跟踪连接电力线的断裂部分。文献[2]使用抗噪声的梯度图像与最大类间方差算法对输电线路像素点进行提取;然后在Hough空间用K-means算法对所检测到的直线段进行筛选;最后根据上一帧视频图像所检测到的直线段信息使用 Kalman滤波器进行跟踪检测。该类方法的普遍问题是,在背景单一的场景中效果较好,而在线状边缘非常丰富的场景中效果较差。近年来,深度卷积神经网络在目标检测、语义分割等各机器视觉领域均有突出的表现。文献[3]也将该技术应用于了导线的检测中,其中基于语义分割的输电导线检测的模型,像素准确率达到0.72,基于RRPN的输电导线检测模型,检测框的面积交并比达到0.76。但该文献采用的HED网络、RRPN网络均以VGG16网络作为基础,计算量大,无法用于无人机机载端。
本文基于MobileNetv2[4]网络进行输电线路的导线边缘检测,同时参考DeepLab[5]引入ASPP模块融合不同尺度的上下文信息,通过多语义水平特征联合的解码网络对每个像素点属于导线边缘的概率进行预测,得到导线边缘检测的结果。然后根据导线的语义知识通过线段拟合、连接筛选等步骤完成导线的判定,解算出导线中心点。实验表明本文的算法具有较高的跟踪准确率,且在机载嵌入式平台上运行速度较快,可有效应用于无人机巡检的导线自动跟踪,辅助吊舱姿态调整。
本文以MobileNetv2作为基础网络,同时采用ASPP模块融合不同尺度的上下文信息,通过多语义水平特征联合的解码网络对每个像素点属于导线边缘的概率进行预测,在loss函数引入均衡设计,解决大量非导线像素与较少导线像素点带来的样本极不均衡问题。
MobileNet为谷歌开发的轻量级深度卷积神经网络,专注于嵌入式移动设备。其中深度可分离卷积极大地减少了计算量,保证了本文算法的高效性。MobileNetv2在MobileNet的基础上增加了Inverted Residuals和Linear Bottlenecks。本文在原始MobileNetv2的基础上进一步减少通道数为1/4,以便在嵌入式机载平台上具有更高的运行效率。本文的基础网络结构全景图如图1(a)所示,其中t为扩张倍数,c为输出通道数,s为stride。bottleneck为网络的最基本单元,如图1(b)所示,bottleneck首先采用1×1卷积扩张通道数,扩张为输入通道的t倍,然后进行通道可分离卷积,最后采用逐点卷积将通道数还原。且当stride为1时,使用shortcut连接方式,即将输入叠加到输出。
图1 基础网络结构图
其中,最后四个bottleneck的可分离卷积采用空洞卷积,dilation rate为2,以便增大感受野,提升导线边缘检测的准确率。本文分别从第6个、第13和最后一个bottleneck输出特征图feature1、feature2、feature3。
本文的ASPP操作如图2所示,以feature3作为输入(input),分别采用rate为6、12、24的空洞卷积对input进行卷积操作,同时对input进行全局平均池化(Ave Pool)并上采样到相同尺寸,将此四路输出进行联合后经过1×1卷积操作降低通道数,作为ASPP模块的输出ASPP_output。
图2 ASPP 结构
本文的输出采用简单的卷积解码网络。对feature1和feature2分别进行一次卷积操作,并重采样到相同大小,同时将ASPP_output进行上采样到相同输出尺寸。最后将三路联合后经过三次卷积操作,得到单通输出,并进行如式(1)所示的sigmoid激活,将输出进行归一化,得到每个像素属于导线的概率。
(1)
在巡检图像中,导线像素总和远远小于非导线像素,为解决不平衡问题,引入类平衡权重,损失函数Loss如下:
(2)
式中:Y-和Y+分别表示非导线边缘和导线边缘,α和β是导线边缘与非导线边缘的平衡系数。
α=λ·|Y+|/(|Y+|+|Y-|)
(3)
β=λ·|Y-|/(|Y+|+|Y-|)
(4)
(5)
(6)
对满足近似性、连续性、共线性的两条线段进行连接。两线段之间的近似性描述如图3所示,线段1的长度为L1,线段2的长度为L2,线段1与线段2之间的距离为L,如满足式(7),则认为两线段符合近似性。
图3 近似性描述
L≤2×min(L1,L2)
(7)
若两条线段的角度如满足式(7),则认为两线段符合连续性。
|θ1-θ2|≤θthreshold
(8)
共线性是指两线段是否共同属于一个线段。采用一条线段端点到另一线段的垂直距离来描述,即图4中的dist,若满足式(9)则认为两线段共线,其中line1_width、line2_width为两线段的宽度,k为常数。
图4 共线性描述
dist≤k·max(line1_width,line2_width)
(9)
选取角度在(-π/4,π/4)的线段构成线段集M1;对M1按照角度进行聚类,得到NA个线段类{M1,1,M1,2,…,M1,NA};对M1,i中的线段按照距离进行聚类,得到ND个线段类{M1,i,1,M1,i,2,…,M1,i,ND};在M1,i,j中求取最长的线段,若最长的线段大于阈值LT,则认为类M1,i,j中的线段属于导线。
为了提升机载端导线跟踪的处理速度,而导线的中心点提取关注图像中心,因此本文在处理时,采用如图5所示的区域截取方式,保持高度方向与原图像一致,宽度方向在中心点附近截取原始图像区域的3/5,其中原始图像区域为R0,截取的图像区域为R1,对R1中的图像进行导线边缘检测、导线判定、中心点提取等处理。
图5 导线跟踪区域截取
本文对树林、红土地、大棚、道路等多种背景的导线视频段进行跟踪实验。当边缘检测网络输出的概率大于0.8时,认为当前像素为导线边缘点。导线边缘检测、导线判定、导线中心点提取的结果如图6所示。同时,本文进行了Canny边缘检测算子与本文边缘检测算法的对比实验,如图6(d)所示,本文算法提取的边缘清晰,能够较准确地区分大棚等其他线状边缘与导线边缘,受导线尺度影响较小。Canny算子导线提取边缘时,导线容易淹没在线状背景中,且在导线直径方向像素数较少时,无法提取。
图6 实验结果及对比图
本文对46段无人机及有人机沿线飞行视频进行了准确率测试,每一秒对视频帧的导线中心点的真值进行标记作为控制点。算法输出导线中心点为(centerX,centerY),真值为(groundTruthX,groundTruthY),若abs(centerY-groundTruthY)<20,则认为该控制点连续25帧(视频帧率为25帧/s),导线跟踪输出结果正确,正确跟踪的帧数与视频总帧数的比例为导线跟踪的准确率。本文对基于Canny算子的导线边缘检测方法进行了准确率对比试验,结果如表1所示,其中基于语义知识的导线判定采用相同的处理方法。本文方法的准确率为78.5%,比基于Canny算子的算法准确率高13.3百分点。
表1 准确率对比表(%)
同时在PC端和机载嵌入式端进行了算法处理速度对比实验,结果如表2所示。
表2 处理速度对比表
在PC端,单帧导线跟踪处理时间平均为35 ms,机载嵌入式平台的处理速度为110 ms,基本满足无人机巡检的要求。
本文提出基于MobileNetv2网络的导线边缘预测方法,结合基于语义知识的导线判定,实现机载嵌入式平台上输电线路的导线自动跟踪。该方法比传统基于Canny等边缘检测的导线跟踪方法在准确率上有较大提升,且在机载端处理速度可以达到9帧/s,满足无人机巡检对导线跟踪的实时性要求。