杨传凯, 孔志战, 谢倩楠, 杜建超
(1. 国网陕西省电力公司电力科学研究院,陕西 西安 710100;2. 国网陕西省电力公司,陕西 西安 710048;3. 西安电子科技大学通信工程学院,陕西 西安 710071)
输电导线是重要的电力设备,需要进行定期巡检,保障其安全运行。随着技术的发展,无人机巡检成为新兴的研究热点,其目标是大幅提高工作效率,实现缺陷的自动检测和识别[1]。在无人机巡检过程中,导线识别是一项重要内容,可以为无人机提供导航和避障依据。此外,对导线舞动、工程车侵入电力区域等异常检测,导线识别都是必要的基础工作。
一些研究采用传统的数字图像处理方法来实现导线检测。传统的方法利用导线的灰度值、边缘轮廓[2]等浅层特征对图像像素进行处理,并结合Hough变换[3]等提取导线。但往往由于户外图像背景复杂,树枝、栅栏、建筑物边缘的轮廓和灰度值与导线相似,对导线检测结果产生干扰,使得检测结果变差,难以广泛应用。近年来,以深度卷积神经网络(deep convolutional neural networks,DCNN)为代表的人工智能方法快速发展,在图像分类[4]和识别[5]等方面取得很多成果。DCNN可以自动提取特征,适应复杂多变的场景,已用于许多电力设备的识别与故障检测,如杆塔[6]、绝缘子[7]等。由于图像中导线细长的特点,基于DCNN的导线检测算法相当于对导线进行语义分割,实现像素级别的分类。目前,语义分割算法被用于许多图像处理领域,如遥感图像分割[8],裂缝识别[9],烟雾区域分割[10]等方面。因语义分割网络能够挖掘更深层次的目标特征,已有学者将其应用于导线检测中,并取得了良好的效果[11]。最新的语义分割网络DeepLab系列[12]网络结合DCNN和概率图模型DenseCRFs,取得了比DCNN更好的检测精度。随后,谷歌公司采用解码器进一步改进DeepLab v3,并在空间金字塔池化结构[13]和解码器部分引入深度可分离卷积[14]降低网络的计算复杂度,获得目前效果最好的语义分割网络DeepLab v3+网络[15]。
为解决传统数字图像处理技术在导线检测中准确率低的问题,文中基于DeepLab v3+网络设计一种输电导线自动识别方法,与其他方法相比具有更优的识别效果和更高的准确率,并且能够应用于输电线路巡检领域,促进巡检的智能化发展。
采用DeepLab v3+网络初步识别输电导线,其结构见图1。在编码器部分,先将图像送入Xception[14]网络提取导线特征,然后通过多孔空间金字塔池化(atrous spatial pyramid pooling,ASPP)结构获取导线的多尺度特征。在解码器部分,先将编码器输出的多尺度特征进行4倍的上采样操作,然后融合相同分辨率的浅层特征,最后通过上采样操作恢复到与原图相同的尺寸,得到导线的分割结果。
图1 DeepLab v3+网络结构Fig.1 Structure of DeepLab v3+ network
1.1.1 编码器
编码器采用Xception网络进行特征提取。由于池化层会造成细节和位置信息丢失,Xception网络删减池化层引入空洞卷积,在不改变特征图尺寸的情况下,自由感受视野,汇聚高层语义信息。同时,Xception网络引入通道可分离卷积[14],将通道信息和空间信息去耦合,减少网络训练过程中的参数量,降低网络的计算复杂度。
1.1.2 ASPP结构
DeepLab v3网络的ASPP结构包括4个并行的不同空洞率的空洞卷积层,能结合不同尺度的特征,获得物体的多尺度信息。由于空洞卷积会随着空洞率的增加而退化,不能获取远距离信息,因此DeepLab v3+网络的ASPP结构在其基础上进行改进,引入全局图像池化,增加图像级的特征。
1.1.3 解码器
DeepLab v3+网络引入1个解码器,逐步恢复特征提取过程中丢失的细节和位置信息。具体实现步骤为:首先将编码器输出的特征图进行4倍上采样,然后与特征提取网络中具有相同空间分辨率的低层特征融合,最后再进行4倍上采样,恢复到与原图大小相同的尺寸。在特征提取网络中,特征图的通道数较多,因此在特征融合前,要采用1×1的卷积对低层特征进行通道数变换。
DeepLab v3+网络通过训练数据集,提取并学习输电导线图像特征,不断调整网络的权重参数,实现端到端像素级的分类。文中使用包含2 533张512×512大小的导线图像和对应标签图像的数据集训练网络,导出可用于导线检测的PB模型,并基于TensorFlow框架调用PB模型初步分割导线,结果如图2所示。可以看出,采用DeepLab v3+网络能够实现导线的初步分割,但分割结果有断裂和伪导线的问题,需要对分割结果作进一步的精细化处理。
图2 DeepLab v3+分割结果Fig.2 Segmentation results of DeepLab v3+
在初步分割结果图中,首先采用改进的最小点对法对断裂导线进行连接,再采用长度阈值法去除伪导线,获得完整的导线识别结果。
常用的断点连接方法有:最小点对法和膨胀细化法[16]。由于膨胀的次数与断点之间的距离有关,因此当断点之间距离较远时不能采用膨胀细化法。最小点对法容易出现导线错误连接的情况,导致不在同一条导线上的断点连接到一起,并且当断点之间距离较远或相邻导线之间距离较近时,这种情况发生的可能性更大。
针对最小点对法容易出现错误连接的问题,文中提出一种基于改进的最小点对法的断点连接算法,在进行断点匹配时增加共线约束条件,图3为断点连接的具体过程。改进的连接算法主要分为4个步骤。
(1) 骨架化。采用文献[17]中的算法对导线进行骨架化,获得单像素的导线骨架,结果如图3(b)所示。
(2) 断点搜索。通过步骤(1)获得单像素的骨架图,对骨架图中的每一个像素点,判断是否为断点。判断准则:如果该像素点为前景像素,且该像素的八邻域有且只有1个前景像素,则认为该像素点为断点。
(3) 断点匹配。如图4所示,对于骨架图中的每一个断点B,搜索与之匹配断点C,判断是否满足以下匹配准则:
(a) 最小距离准则。B为当前断点,其所在线段的另一个端点为A(也是断点),同理C和D是断点,也是另一条线段上的2个端点。假设两断点之间的距离阈值为D1,计算断点B和C之间的欧式距离dBC。若dBC (b) 共向准则。取骨架图中方向差异最小的2条导线之间的夹角作为阈值Θ,分别计算线段AB及CD与x轴的夹角θAB和θCD,若|θAB-θCD|<Θ,则满足共向准则,继续判断是否满足共线准则。 (c) 共线准则。点到直线距离的阈值D2为导线宽度的2倍,分别计算断点C和D到直线AB的欧式距离dC和dD,若同时满足dC (4) 断点连接。由于输电线路图像中导线基本呈现直线状态,且导线断裂部分不影响导线总体状态,因此可以采用直线连接步骤(3)匹配到的2个断点,断点连接结果如图3(c)所示。 图3 断点连接过程Fig.3 Connected process of breakpoint 图4 断点连接准则Fig.4 Connected criterion of breakpoint 经DeepLab v3+分割后的输电导线图像中存在少量的伪导线,采用长度阈值法去除图中长度较短的伪导线,图5为伪导线去除过程。通过八方向搜索法统计导线像素的数量并作为导线长度,如图6所示,具体实现步骤如下: 图5 伪导线去除过程Fig.5 Removal process of pseudo lines 图6 八方向搜索Fig.6 Search in eight directions (1) 线段长度初始化为0; (2) 确定线段的起始像素,其八邻域内有且只有一个前景像素(灰度值为0); (3) 在当前像素的八邻域内搜索下一个前景像素,若搜索到,线段长度加1,并更新到下一个前景像素,同时将当前像素标记为128,防止重复搜索; (4) 重复步骤(3)直至当前像素的八邻域内没有前景像素,到达导线终点; 式中dij和分别为节点间距离的理论真实值和实际测量值。同时定义N个未知节点定位误差平均值与节点通信半径R的比值作为相对定位误差,即 (5) 判断该导线的长度是否小于阈值,若小于,则认为是伪导线,在检测结果中去除,否则保留。 去除伪导线后的结果如图5(b)所示,该方法能较好地去除伪导线,保留真正的导线。 获得导线检测结果后,还需分离出每条导线。基于优化处理后的导线骨架图,采用八方向搜索法进行分离,分离后对导线编号,结果如图7所示。具体实现步骤如下: 图7 导线编号Fig.7 Lines numbering (1) 导线编号n初始化为0; (2) 搜索优化后骨架图中所有断点(此处指导线的端点),加入端点集S中; (3) 取出S中的第一个端点记为A1,采用八方向搜索法搜索其所在导线的另一个端点,记为A2,导线编号n加1,并在原图中标注导线号码; (4) 将端点A1和A2从S中去除,更新端点集S; (5) 重复步骤(3)和步骤(4),直至端点集S为空。 实验使用采集到的78张1 280×720的导线图像建立数据集。导线标签图共有2个类别,即导线和背景。导线标注为黑色(灰度值为0),背景标注为白色(灰度值255)。为提高网络的训练效果,采用旋转、镜像和裁剪等方式扩充图像,扩充后数据集包含2 533张大小为512×512像素的导线图像。 网络的训练参数设置:初始学习率为0.000 1,最大训练次数为50 000次,计算损失函数时背景与导线的权重比为1∶20,权重衰减系数为0.000 04,特征提取网络为Xception65,ASPP结构中空洞卷积的空洞率分别为6,12,18。 为验证文中所提方法的性能,实验中将FCN-8s[18]和FCN-8s+网络模型用来对比。FCN-8s采用VGG16提取目标特征,由于在特征提取过程中经过了5个池化层,因此特征图的分辨率依次降为原图的1/2,1/4,1/8,1/16,1/32。通过上采样操作,融合第3个和第4个池化层的特征,可得较好的分割精度。FCN-8s+通过上采样操作将VGG16的输出特征与前4个池化层的特征依次融合,分割结果更精细,更具连续性,但同时存在更多伪导线。 图8为导线初步识别的实验结果,可以看出,FCN-8s分割结果中导线大量断裂,几乎不能检测出连续的导线,丢失了导线的语义信息,并存在错误分割、漏检和伪导线。FCN-8s+能检测出部分导线,虽然与FCN-8s相比导线断裂减少且连续性提升很大,但由于融合了更底层的特征,使得伪导线更多。而DeepLab v3+网络的检测结果中,导线分割最完整,像素分类的准确性最高,最大程度上保留了导线的语义信息,且伪导线非常少。 图8 网络检测结果对比Fig.8 Comparison of network detection results 采用改进的最小点对法和长度阈值法进行精细化处理,并统计13张1 280×720的输电图像中导线的识别结果,如表1所示。 表1 实验结果评价Table 1 Evaluation of experimental results 由于FCN-8s模型初步识别结果较差,因此在精细化提取实验中仅对比了FCN-8s+和文中方法。由表1可知,文中所提方法经过精细化处理可以准确且完整地识别出导线,正确率可达93%以上,而FCN-8s+仅为65%。图9为2种方法导线提取结果的效果图,对于较细的导线,FCN-8s+方法存在漏检及提取不完整的现象,文中方法则提取更加完整,正确率高。 图9 导线提取结果对比Fig.9 Comparison of transmission lines extraction results 最后,对文中方法识别出的导线进行提取,分离出图像所包含的每条导线和总的导线条数,其结果如图9(d)所示。 文中基于语义分割DeepLab v3+网络,提出了一种输电图像中导线的自动检测算法。由于DeepLab v3+网络能够对导线实现像素级分割,并且对位置和细节信息敏感,在初步的识别结果中保留了导线较多的细节信息。针对分割结果中存在的导线断裂和伪导线等情况,进一步采用改进的最小点对法和长度阈值法进行精细化处理,恢复初步识别结果中导线断裂的部分,并去除伪导线,最终获得了较好的导线提取和分离结果。实验结果表明该算法检测准确率高,能够满足输电线路巡检任务对导线检测的要求。此外,将该算法部署到无人机搭载的嵌入式设备中,可以提高巡检的智能化程度,实现自主巡检。 本文得到国网陕西省电力公司科技项目(5226KY18002J)资助,谨此致谢!2.2 去除伪导线
3 导线编号
4 实验结果
4.1 实验环境
4.2 结果与分析
5 结论