计算机系统应用  2020, Vol. 29 Issue (2): 257-261   PDF    
Android平台下的无人机输电线路施工车辆巡检
高弋淞1, 陈蔚卓1, 王吉1, 黄煜博1, 杨易1, 王利伟2     
1. 海南电网有限责任公司 海口供电局, 海口 570102;
2. 天津航天中为数据系统科技有限公司 天津市智能遥感信息处理技术企业重点实验室, 天津 300450
摘要:无人机巡检成为输电线路巡检的重要方式. 然而, 目前的无人机巡检, 由于受到前端设备性能的影响, 大多基于后期的图像处理, 无法达到实时检测的要求. 针对无人机巡检中输电线路施工车辆的安全隐患, 提出了一个基于Android平台, 使用神经网络实时检测施工车辆的方法. 通过收集无人机获取的输电线路施工车辆的数据, 使用数据增广的方法, 并将构建的SSD-MobileNet算法模型集成到Android平台, 实现施工车辆的实时目标检测.
关键词: 无人机巡检    施工车辆检测    Android平台    数据增广    SSD-MobileNet    
Detection of Transmission Lines Construction Vehicles for UAV Based on Android
GAO Yi-Song1, CHEN Wei-Zhuo1, WANG Ji1, HUANG Yu-Bo1, YANG Yi1, WANG Li-Wei2     
1. Haikou Power Supply Bureau, Hainan Power Grid Co. Ltd., Haikou 570102, China;
2. Tianjin Key Laboratory of Intelligent Information Processing in Remote Sensing, Tianjin Zhongwei Aerospace Data System Technology Co. Ltd., Tianjin 300450, China
Abstract: Unmanned Aerial Vehicle (UAV) inspection has become an important way of transmission line inspection. However, most UAV inspections are based on post-processing and cannot achieve real-time detection, which is mainly limited by the performance of the front-end equipment. A real-time detection method is proposed to detect construction vehicles under the transmission lines by UAV based on Android using neural network. Real-time object detection of the construction vehicle is realized by collecting the data of construction vehicles obtained by UAV, using data enhancement methods, and integrating SSD-MobileNet algorithm model into the Android platform.
Key words: UAV inspection     construction vehicle detection     Android platform     data enhancement     SSD-MobileNet    

现代社会对电力的日益依赖增加了有效监测和维护电力线的重要性. 电力部门通常会定期或不定期的对输电线路进行安全巡检, 以便及时发现输电线路中存在的缺陷, 并及时排除安全隐患. 其中输电线路周围的施工车辆是一个重要的安全隐患. 因为施工车辆可能会破坏输电线路, 严重威胁电网的完全运行以及施工人员的人身安全, 从而带来极大的经济损失或人员伤亡.

随着无人机技术的成熟发展和生产成本的降低, 越来越多的电力公司开始开展无人机输电线路巡检[1,2]. 采用无人机线路巡检对环境适应性强, 巡线速度快, 应急反应迅速, 能够降低劳动强度的同时大大降低成本, 并且能够使许多工作在完全带电的环境下迅速完成, 确保用电安全. 但是由于输电线路周围施工车辆出现频率相对较低、资料较难收集等因素, 利用无人机对施工车辆检测的研究较少. 再加上无人机在获取目标的过程中, 通常距离目标较远, 导致施工车辆的目标较小, 且角度和距离不固定, 同时一些复杂的背景信息例如河流、房屋等可能会被拍入, 因此增加了对施工车辆的检测难度.

对于施工车辆识别的研究, 文献[3]采用Hough变换直线检测的方法提取包含施工车辆的区域. 文献[4]通过对视频进行背景建模和运动检测, 检测目标物体. 文献[5]采用背景差分的方法获取目标的位置. 然而, 这些方法都是通过静止的固定相机采集图像或者视频, 其视角比较固定, 获取的施工车辆的大小、角度、背景等都较为确定, 其应用受到一定的限制. 文献[6]针对无人机收集的图像, 根据施工车辆的颜色、直线特征缩小图像识别的区域范围, 然后结合方向梯度直方图特征与支持向量机检测施工车辆. 然而, 该方法涉及的特征层次较浅, 并且无法满足实时检测的需求.

本文针对无人机获取的输电线路施工车辆, 提出了一个基于Android平台的施工车辆目标检测系统. 首先针对无人机获取的数据采用数据增广的方法, 增加样本的多样性和数量, 然后使用压缩和量化的SSD_MobileNet模型完成对施工车辆的训练, 接下来将训练好的模型集成到Android平台, 最终实现在Andorid端对施工车辆的实时检测功能.

1 施工车辆目标检测

基于Android平台的施工车辆目标检测框架如图1所示. 施工车辆目标检测分为服务器端和Android端, 其中服务端完成对施工车辆数据的训练, 其过程分为数据增广、模型量化训练、模型保存和模型转换. Android端集成服务器端训练的模型, 完成对目标施工车辆的实时检测.

图 1 目标检测框架

1.1 数据增广

无人机获取的输电线路施工车辆的样本数量比较有限, 通常采用数据增广的方法, 增加施工车辆的数据量, 同时也可以降低模型对某种属性的依赖, 提高模型的泛化能力[7]. 常用的数据增广的方法有平移、缩放、水平变换等, 然而这些方法使得图像的变化通常比较小. 无人机在线路巡检过程中, 处于不同的环境下, 所获取的施工车辆图像的背景差异很大, 并受到不同噪声的干扰, 这为施工车辆的检测带来了很大的困难. 本文通过赋予两张图像不同的权重, 使不同的样本相互叠加, 产生更多的样本. 而新的数据的背景更加复杂, 并且图像的噪声也随之增加, 多样性更加丰富. 叠加方法如式(1)所示.

$im{g_{\rm{new}}} = \alpha \cdot {{im}}{{{g}}_{{1}}} + \beta \cdot im{g_2}$ (1)

其中, $im{g_{\rm{new}}}$ 为叠加后的图像; $im{g_1}$ $im{g_2}$ 分别为数据集中的两张图像; $\alpha $ $\;\beta $ 为两张图像的权重参数.

1.2 目标检测神经网络结构

本文使用的目标检测神经网络结构为SSD-MobileNet, 其结构如图2所示. 模型的特征提取网络部分使用MobileNet[8]网络结构, 在原来网络的基础上去掉最后的全局平均池化、全连接层和Softmax层; 然后使用SSD[9]算法模型结构, 对MobileNet提取的特征层从6个不同尺度进行深层次的特征提取, 并从6个不同尺度信息中检测目标的位置, 这样可以更好的预测目标的位置及分类, 最后使用非极大值抑制法(Non-Maximum Supperssion, NMS)对重复的结果进行过滤, 得到最终的检测结果.

1.2.1 MobileNet模型结构

MobileNet[8]采用可分离卷积(depthwise separable)为其主要组成结构. 可分离卷积由3×3深度卷积(depthwise convolution)和1×1追点卷积(Pointwise convolution)组成. 相比传统的3×3卷积, 可分离卷积能够在性能不变的前提下, 参数量和计算量都相对降低.

1.2.2 SSD模型结构

SSD[9]是端到端的直接预测目标的类型和位置的单阶段目标检测网络, 没有使用全连接层, 因此模型参数有所减少. 它集合Faster-RCNN算法的anchors机制以及YOLO算法的回归思想, 使得算法可以提取不同纵横比图像的特征, 并降低训练的参数量, 从而保证准确率的同时, 提高算法的实时性.

1.2.3 模型压缩

为了提高模型识别速率, 达到目标实时性检测的要求, 需要对模型进行适当的压缩, 减少神经网络的参数. 本文通过设置压缩比, 较少特征提取网络每一层的特征数量, 从而较小网路的参数和计算量.

图 2 SSD-MobileNet模型结构

1.2.4 模型量化

本文采用训练时量化方法, 其相比于训练后量化, 能够得到更高的精度[10]. 在训练时, 利用Tensorflow[11]的量化库, 在训练和预测时通过在模型图中自动插入模拟量化操作来实现. 并采用逐通道量化方法, 将模型的权重和激活输出做8 bit量化, 这样不仅可以将模型的尺寸降低4倍, 而精度损失很小.

1.3 网络训练及参数设置

服务器端采用英伟达的TITAN XP显卡, 使用Tensorflow[11]神经网络框架, 图像输入大小为500×500, 网络训练采用Xavier初始化权重, 一次迭代20张(batchsize)图片, 共100 000次迭代(steps), 网络采用随机梯度下降法(SGD)优化神经网络, 初始化学习率(base learning rate)设置为0.002, 学习率下降方式采用warm up[12].

1.4 Android平台的设计

Android平台通过调用tensorflow lite接口, 加载服务器端训练好的SSD_MobileNet模型. 当无人机在飞行过程中, 将获取的图像信息传输给Android端设备. 图像通过SSD_MobileNet模型计算出所对应的目标的位置. Android端实时显示无人机获取的目标图像, 并显示施工车辆目标检测的位置.

2 实验结果与分析 2.1 施工车辆数据采集

为了获得丰富的无人机视角下的施工车辆数据, 使用无人机采集了树木、红土地、房屋等不同背景下输电线路周围的包含吊车、挖掘机等多种施工车辆. 从巡检的视频中, 共采集了157张输电线路周围的施工车辆图像, 每张图像包含的施工车辆数目不一定. 本文采用随机划分方法划分训练集和测试集, 其中训练集包含105张图像, 测试集包含张52张图像. 使用LabelImage工具箱, 用矩形标注框对数据进行手工标记, 然后保存为XML文件数据, 并与图片一一对应.

2.2 数据增广效果

两个不同背景下的施工车辆按照式(1)叠加后生成的图像如图3所示, 其中将 $\alpha $ $\beta $ 的值分别设置为0.8和0.2. 从图3中可以看出, 通过叠加后的图像的背景比原始图像中的背景更加复杂, 图像相比变得模糊, 图像中的噪声也有所增加. 图4所示为原始图像叠加不同的背景生产的图像, 通过对比可以看出, 不同的图像叠加后产生的新图像之间的噪声是不同的, 图像的多样性增加了.

图 3 数据增广

本文将图像的模型的压缩比设置为0.3, 使用相同的网络和参数分别训练原始数据和增广后的数据, 其结果如表1所示. 通过对比可以看到, 通过数据增广后训练的模型, 在相同的测试集上测试的精确率和召回率都有所提升, 从而验证了本文提出来的数据增广方法对于施工车辆的检测是有效的.

图 4 不同背景的图像增广效果图

表 1 原始数据和数据增广后的数据效果对比(%)

2.3 不同压缩比模型对结果的影响

将SSD-MobileNet网络的压缩值设置为0.7、0.5和0.3, 分别进行10万次迭代, 然后在不同Android设备上测试帧率, 结果如表2所示. 从表中可以看出, 不同Android设备处理图像的时间有所不同, 这与设备的性能有关, 在骁龙845设备上运行的速度要更快一些, 在骁龙710设备上运行的速度相比较慢一些. 当压缩比为0.5和0.3时, 能够达到帧率10 帧/s以上, 基本上能够满足目标实时检测的需求.

表 2 不同Android设备下的施工车辆识别帧率(帧/s)

本文测试了不同压缩比对识别施工车辆召回率和精准率的影响, 结果如表3所示. 当压缩比为0.7时精确度最高, 当压缩比为0.3时, 召回率的最高. 当压缩比越大, 网络每一层的特征层数越多, 学习特征的能力越强, 考虑到在Android端速度的影响, 当压缩比为0.7时, 不能够满足实时性的要求. 当压缩比为0.5时的效果比压缩比0.3的效果要差一些, 可能的原因是数据量比较小, 较大的模型无法很好的学习目标的特征. 通过对比不同的压缩比的速度、精确率和召回率. 最终选择当压缩比为0.3时的网络模型.

表 3 不同压缩比下的精确率和召回率的对比(%)

2.4 施工车辆目标检测结果分析

图5所示为无人机获取的图像检测出的施工车辆, 使用SSD-MobileNet网络模型, 从无人机的视角能够正确检测出一些目标较大的、与背景有差异的施工车辆的位置. 如图6所示矩形框为无法正确检测出施工车辆的位置, 图6(a)中的施工车辆距离无人机较远, 施工车辆在图像中很小, 当图像压缩至分辨率500×500时, 施工车辆在图像中占的像素更小, 导致神经网络无法有效提取目标的特征, 使得无法检测出施工车辆的位置. 如图6(b)所示, 施工车辆的颜色与背景非常的相似, 再加上目标很小, 使得神经网络将施工车辆误判为背景, 同样导致施工车辆的漏检.

图 5 施工车辆检测结果

图 6 施工车辆漏检图

3 结论与展望

本文提出了一个基于Android平台的实时检测输电线路施工车辆的方法. 使用SSD-MobileNet网络模型, 通过数据增广处理, 提高了施工车辆检测的性能,并将模型集成到Android设备, 实现对施工车辆的实时检测. 通过对比实验, 最终确定SSD-MobileNet模型的压缩比为0.3时, 在Android设备端能够达到实时检测施工车辆的要求. 但目前仍存在车辆漏检问题, 对于一些与背景非常相似和小目标的施工车辆的检测效果较差, 在以后的工作中, 需要通过优化SSD-MobileNet神经网络, 提高对小目标施工车辆的检测效果.

参考文献
[1]
Deng C, Wang SW, Huang Z, et al. Unmanned aerial vehicles for power line inspection: A cooperative way in platforms and communications. Journal of Communications, 2014, 9(9): 687-692. DOI:10.12720/jcm.9.9.687-692
[2]
Toth J, Gilpin-Jackson A. Smart view for a smart grid — Unmanned Aerial Vehicles for transmission lines. 2010 1st International Conference on Applied Robotics for the Power Industry. Montreal, QC, Canada. 2010. 1–6.
[3]
张全发, 蒲宝明, 李天然, 等. 基于HOG特征和机器学习的工程车辆检测. 计算机系统应用, 2013, 22(7): 104-107. DOI:10.3969/j.issn.1003-3254.2013.07.023
[4]
杜金桥. 输电线路防外力破坏预警系统设计与研究[硕士学位论文]. 北京: 华北电力大学, 2015.
[5]
张琪. 工程车辆特征识别方法的研究[硕士学位论文]. 哈尔滨: 哈尔滨工业大学, 2006.
[6]
武金婷, 赵晓光, 袁德才. 无人机巡检输电走廊施工车辆识别方法研究. 控制工程, 2019, 26(2): 246-250.
[7]
Engstrom L, Tsipras D, Schmidt L, et al. A rotation and a translation suffice: Fooling CNNs with simple transformations. arXiv preprint arXiv: 1712.02779, 2017.
[8]
Howard AG, Zhu ML, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv: 1704.04861, 2017.
[9]
Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector. European Conference on Computer Vision. Amsterdan, The Netherlands. 2016. 21–37.
[10]
Krishnamoorthi R. Quantizing deep convolutional networks for efficient inference: A whitepaper. arXiv preprint arXiv: 1806.08342, 2018.
[11]
Abadi M, Agarwal A, Barham P, et al. TensorFlow: Large-scale machine learning on heterogeneous distributed systems. arXiv preprint arXiv: 1603.04467, 2016.
[12]
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA. 2016. 770–778.