Android 平台下的无人机输电线路施工车辆巡检①
2020-03-23高弋淞陈蔚卓黄煜博王利伟
高弋淞, 陈蔚卓, 王 吉, 黄煜博, 杨 易, 王利伟
1(海南电网有限责任公司 海口供电局, 海口 570102)
2(天津航天中为数据系统科技有限公司 天津市智能遥感信息处理技术企业重点实验室, 天津 300450)
现代社会对电力的日益依赖增加了有效监测和维护电力线的重要性.电力部门通常会定期或不定期的对输电线路进行安全巡检, 以便及时发现输电线路中存在的缺陷, 并及时排除安全隐患.其中输电线路周围的施工车辆是一个重要的安全隐患.因为施工车辆可能会破坏输电线路, 严重威胁电网的完全运行以及施工人员的人身安全, 从而带来极大的经济损失或人员伤亡.
随着无人机技术的成熟发展和生产成本的降低,越来越多的电力公司开始开展无人机输电线路巡检[1,2].采用无人机线路巡检对环境适应性强, 巡线速度快, 应急反应迅速, 能够降低劳动强度的同时大大降低成本, 并且能够使许多工作在完全带电的环境下迅速完成, 确保用电安全.但是由于输电线路周围施工车辆出现频率相对较低、资料较难收集等因素, 利用无人机对施工车辆检测的研究较少.再加上无人机在获取目标的过程中, 通常距离目标较远, 导致施工车辆的目标较小, 且角度和距离不固定, 同时一些复杂的背景信息例如河流、房屋等可能会被拍入, 因此增加了对施工车辆的检测难度.
对于施工车辆识别的研究, 文献[3]采用Hough 变换直线检测的方法提取包含施工车辆的区域.文献[4]通过对视频进行背景建模和运动检测, 检测目标物体.文献[5]采用背景差分的方法获取目标的位置.然而, 这些方法都是通过静止的固定相机采集图像或者视频,其视角比较固定, 获取的施工车辆的大小、角度、背景等都较为确定, 其应用受到一定的限制.文献[6]针对无人机收集的图像, 根据施工车辆的颜色、直线特征缩小图像识别的区域范围, 然后结合方向梯度直方图特征与支持向量机检测施工车辆.然而, 该方法涉及的特征层次较浅, 并且无法满足实时检测的需求.
本文针对无人机获取的输电线路施工车辆, 提出了一个基于Android 平台的施工车辆目标检测系统.首先针对无人机获取的数据采用数据增广的方法, 增加样本的多样性和数量, 然后使用压缩和量化的SSD_MobileNet 模型完成对施工车辆的训练, 接下来将训练好的模型集成到Android 平台, 最终实现在Andorid 端对施工车辆的实时检测功能.
1 施工车辆目标检测
基于Android 平台的施工车辆目标检测框架如图1所示.施工车辆目标检测分为服务器端和Android 端,其中服务端完成对施工车辆数据的训练, 其过程分为数据增广、模型量化训练、模型保存和模型转换.Android 端集成服务器端训练的模型, 完成对目标施工车辆的实时检测.
图1 目标检测框架
1.1 数据增广
无人机获取的输电线路施工车辆的样本数量比较有限, 通常采用数据增广的方法, 增加施工车辆的数据量, 同时也可以降低模型对某种属性的依赖, 提高模型的泛化能力[7].常用的数据增广的方法有平移、缩放、水平变换等, 然而这些方法使得图像的变化通常比较小.无人机在线路巡检过程中, 处于不同的环境下, 所获取的施工车辆图像的背景差异很大, 并受到不同噪声的干扰, 这为施工车辆的检测带来了很大的困难.本文通过赋予两张图像不同的权重, 使不同的样本相互叠加, 产生更多的样本.而新的数据的背景更加复杂,并且图像的噪声也随之增加, 多样性更加丰富.叠加方法如式(1)所示.
其中, imgnew为叠加后的图像; i mg1和 img2分别为数据集中的两张图像; α 和 β为两张图像的权重参数.
1.2 目标检测神经网络结构
本文使用的目标检测神经网络结构为SSDMobileNet, 其结构如图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 所示, 其中将 α 和 β的值分别设置为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 神经网络, 提高对小目标施工车辆的检测效果.