2. 贵州电网有限责任公司 电力科学研究院,贵州 贵阳 550002
2. Electric Power Research Institute , Guizhou Power Grid Co., Ltd., Guiyang 550002, China
随着无人机技术的迅速发展及其在诸多领域中广阔的应用前景[1-4],基于视觉导航的无人机自主着陆技术也得到了广泛的研究。其中,通过着陆标识的引导实现无人机的着陆已取得了诸多成果并得到了工程应用。文献[5]中通过渐近式图像搜索算法提取降落平台各级图案的轮廓信息,并利用航迹规划方法完成无人机在移动平台上的降落。文献[6]中通过支持向量机(support vector machine, SVM)训练离线分类器,准确识别着陆标识,并利用改进的中值流跟踪算法对着陆地标进行目标跟踪。随着卷积神经网络的迅速发展,基于深度学习的方法已逐渐融入到无人机视觉导航与自主着陆领域研究中。文献[7]中通过椭圆轮廓检测与卷积神经网络,快速预测出正确的无人机着陆标识边界,并实现无人机的自主着陆。本文设计了基于深度学习的实时目标检测算法,并通过图像分割算法获取无人机着陆标识轮廓信息,减少了环境因素干扰、降低了图像处理的运算量,对于无人机着陆效率的提升有着十分重要的意义。
1 着陆标识设计着陆标识是基于视觉的无人机自动着陆的关键部分之一,着陆标识的选取直接影响到无人机着陆的效率与成功率。着陆标识的设计需考虑以下因素:
1)图案简单直观,便于视觉系统快速处理;
2)具备足够的特征,易于辨识,能和背景较好地区分开;
3)能够提供足够的无人机着陆所需的引导信息;
4)能够间接提供位置信息,便于无人机的位姿估计。
本文中采用了一种六边形着陆标识,由一个六边形、2个直径较大的圆、一个直径较小的圆和一个等边三角形组成。着陆标识的主体颜色为红色,识别程度较强,受光照影响较小。着陆标识中有3个直径不同的同心圆,便于后续算法在无人机不同的飞行高度更好地检测出着陆标识中的圆和圆心,防止轮廓信息的遗失。此外,为便于后续轮廓分割,每个部分之间用白色进行隔断[8],如图1(a)所示。为了验证本文中算法的鲁棒性,采用一种H型无人机着陆标识[9],如图1(b)所示。
Download:
|
|
本文选择YOLO系列算法[10]中的Tiny-YOLO网络并进行优化,Tiny-YOLO拥有更少的卷积层、更快的检测速度以及不错的检测精度,可以满足无人机着陆时视觉导航的实时性要求。
Tiny-YOLO主干网络中有7个3×3卷积层,激活函数为Leaky ReLU,并通过批标准化(batch normalization, BN)层进行批归一化处理;6个最大池化层,前5个为步长为2的最大池化层,最后一个为步长为1的最大池化层。网络输入尺寸为416×416个像素,在经过5个步长为2的最大池化层和1个步长为1的最大池化层后,最终得到的特征图大小为13×13像素。网络结构如图2所示。
Download:
|
|
图2中虚线框内为Tiny-YOLO的骨干网络,Conv代表卷积层,maxpooling代表最大池化层,Tiny-YOLO通过在主干网络后接上一定数量的卷积层和预测层构成检测模块并对目标进行预测,预测信息包括目标的类别、置信度以及坐标信息。
YOLO算法中使用由维度聚类得到的先验框,对边界框进行预测。YOLO中损失函数包括坐标误差CoodERR、IoU(intersection over union)误差IoUErr和分类误差ClassErr 3部分,为
${\rm{Loss}} = \sum\limits_{i = 0}^{{s^2}} {{\rm{CoodErr}} + {\rm{IoUErr}} + {\rm{ClassErr}}} $ |
本文引入GIoU[11](generalized intersection over union)损失代替YOLO中的IoU损失,保留了IoU对尺度变化不敏感的优点,同时考虑预测框与真实框之间的重叠区域和非重叠区域,更好地反映二者的重合度,提升网络的精确度。在训练过程中,引入mixup数据增强方法[12]构造新的样本数据,通过数据增广的方法进一步提升网络的精确度。
3 目标检测算法优化与分割算法 3.1 目标检测算法优化 3.1.1 自下而上的特征增强本文在Tiny-YOLO中嵌入PANet[13](path aggregation network)结构,融合了浅层的特征与高层次的语义特征对特征进行复用。PANet中,骨干网络产生特征图通过卷积层减小尺寸;再与下采样的特征图通过侧向连接进行相加操作;最后通过一个卷积层生成新的特征图。其中,每个候选区域的特征网络为新生成的特征图上池化而生成。
通过网络中具有较大的感受野和丰富的上下文信息的高层次特征与具有高定位精度的低层次特征融合,选择有效信息并进行预测,对不同尺寸目标检测的鲁棒性更好,进一步提升网络模型的检测精度。
为了充分利用骨干网络中提取的浅层特征,本文中采用了特征块(feature block)结构对特征进一步提取,如图3所示。通过借鉴MatrixNet[14]的思想,设计了密集特征块(dense feature block)结构,如图4所示。
Download:
|
|
Download:
|
|
通过将密集特征块和特征块输出进行融合并进行自适应池化,从骨干网络中引出的第2、4、6、8、10层卷积层作为PANet的输入。嵌入的PANet结构如图5所示。
Download:
|
|
在Tiny-YOLO中嵌入PANet结构,可以弥补Tiny-YOLO网络骨干网络较浅、特征提取不够充分的问题。本文中构造的着陆标识检测网络Mark-YOLO结构如图6所示。
Download:
|
|
在无人机等计算资源受限的平台上部署深度学习网络模型时,需要减少模型所需资源消耗。本文对卷积层的通道进行裁剪,获取高效的目标检测模型。
网络中每个卷积层后面都有一个BN层,加速网络收敛并提高网络的泛化能力。BN层使用小批量(mini-batch)处理静态化卷积特征,BN的计算方法为
$y = \gamma \frac{{x - \bar x}}{{\sqrt {{\sigma ^2} + \varepsilon } }} + \beta $ |
式中:
在网络模型按通道进行稀疏训练过程中,为将重要通道与不重要通道区分开,通过L1正则化来进行通道稀疏性训练,获得按通道的稀疏性;采用BN层中的比例因子
由于网络检测性能对通道裁剪较为敏感,因此,完成神经网络的通道裁剪后,需要对裁剪的模型执行微调操作,使裁剪后的模型从暂时的性能下降中恢复。一般采用增量裁剪的策略,逐步对网络进行裁剪,增量裁剪策略可以防止过度裁剪,避免过度裁剪可能导致的无法恢复的网络性能的大幅下降,最后获取最优的网络结构与权重[15]。网络裁剪的整体流程如图7所示。
Download:
|
|
为减少无人机拍摄图像处理的运算量,首先通过加权平均法对图像进行灰度化处理。加权平均法使用不同的权值对R、G、B 3个颜色分量进行加权平均,得到灰度图像。加权平均法为
$ \begin{array}{l} {\rm{Gray}}(x,y) = 0.299{{R}}(x,y) + 0.578{{G}}(x,y) + \\ 0.114{{B}}(x,y) \end{array}$ |
式中:
其次,通过阈值分割对灰度图像进行处理。阈值分割使图像中仅存在2个灰度级,保留有用的前景目标区域,去除无用的背景信息,同时经过处理后的图像数据量更少。本文使用Otsu法[16]对图像进行阈值分割,通过对图像进行直方图分析,得出差别最大的2组像素集合,并依据此时的图像中目标和背景的类间方差确定阈值对图像进行分割。
3.2.2 着陆标识轮廓提取着陆标识轮廓提取分为边缘检测与轮廓拟合2部分。
Canny边缘检测算法[17]具有低错误率、定位精度良好、边缘点响应单一的优点。利用Canny算法对图像进行边缘检测可以分为4个步骤:1)采用高斯滤波器对图像进行平滑处理,滤除图像的噪声;2)采用Sobel算法计算图像中每个像素点的梯度强度和方向;3)采用NMS(non maximum suppression)算法,消除边缘检测带来的杂散响应;4) 采用双阈值检测确定真实和潜在的边缘,即一个高阈值和一个低阈值的双阈值法来区分边缘像素。
轮廓拟合中,本文采用Hough变换对着陆标识中的直线和圆进行检测。Hough变换检测直线方法中,为避免直线斜率不存在时产生的参数问题,将用斜率k和截距b表示的直线方程式映射到参数空间中:
$y = kx + b$ |
$r = {x_0}\cos \theta + {y_0}\sin \theta $ |
通过这种映射关系可以将每一条直线与一对参数
Hough变换圆检测与直线检测思想相似。平面坐标系中的圆由圆心的横、纵坐标a、b,圆的半径r 3个位置参数确定:
${(x - a)^2} + {(y - b)^2} = {r^2}$ |
平面直角坐标系中圆上任意一点(xi, yi)映射到参数空间中对应一个通过ai、bi、ri 这3个参数确定的圆,圆心为ri。由于圆的半径未知,坐标(xi, yi)映射到参数坐标系中为圆锥体。平面坐标系中同一个圆上的点映射到三维参数坐标系中的各圆锥体,会有共同的交点,交点的坐标为圆的位置参数ai、bi、ri的值[19]。通过对参数空间中的圆锥体上各点进行权值统计,并求取权值峰值点,即可确定平面直角坐标系中的圆。
4 实验结果与分析 4.1 目标检测结果与分析本文在开源的深度学习框架Darknet上搭建与训练Mark-YOLO模型。训练中采用了图像随机调整曝光、饱和度、色调等方法对数据进行随机扩充。此外,在训练时,每迭代10次改变模型的输入尺寸,使模型对于不同尺寸的图像具有更好的检测效果。为加快模型的收敛速度与检测准确率,本文中采用迁移学习的方式对模型进行训练,使用在ImageNet上进行预训练的分类模型权重。
本文分别在PASCAL VOC数据集以及无人机着陆标识数据集上进行训练与验证。其中无人机着陆标识数据集由3部分组成,分别为无人机在室内场景、室外场景拍摄的图像以及人工进行数据扩充得到的图像。数据集中包括H型地标与六边形地标2类,训练集共包含2262张图片,测试集共包含618张图片。
本文参考文献[20]中聚类方法进行边界框聚类分析,考虑到Mark-YOLO中在3种尺度上进行跨尺度预测,选取了9个候选框,分属3个检测尺度。
分别在数据集上训练了YOLOv2-tiny、YOLOv3-tiny、YOLOv3-tiny-3l与本文中提出的Mark-YOLO网络,并将训练完成的网络权重在测试集上进行测试。统计4种网络在PASCAL VOC数据集上的mAP(mean average precision)如表1所示。
统计4种网络在无人机着陆地标数据集上测试结果如表2所示。
统计4种网络的BFLOPs(billion floating-point operations per second)和权重大小如表3所示。
由表1~3中结果可得,在PASCAL VOC数据集与无人机着陆标识数据集上,本文中Mark-YOLO均取得了最高的mAP值。通过自下而上的特征增强方法更加充分地利用了网络的浅层特征,同时损失函数优化以及训练过程中数据优化方法的加入使得网络模型的精度获得了提升。
网络裁剪过程中,首先在Darknet框架中进行训练,选取最优的网络模型权重;再在pytorch框架中进行100个epoch的稀疏训练,稀疏训练系数为0.0001;稀疏训练完成后在pytorch框架中进行模型的剪枝操作,选取总裁剪比例分别为0.5、0.6、0.7、0.75、0.8、0.85对Mark-YOLO网络进行裁剪,剪枝完成后在Darknet框架中进行网络的微调,补偿裁剪过程中的精度损失,获取最优的网络模型。裁剪后的网络在无人机着陆地标数据集上测试结果如表4所示。
统计模型的BFLOPs和权重大小如表5所示。
由表4、5中结果可知,裁剪后网络模型的精度有少量的下降,但网络的参数量大幅降低,权重也大幅减小。裁剪率超过0.75后,网络模型的权重大小下降已经不再明显,但网络模型的mAP出现了较大的下降,说明裁剪率超过0.75的网络模型已不能很好地表征数据,因此,本文中采用裁剪率为0.75的模型作为裁剪结果。
裁剪后的模型BFLOPs为0.933,相对于Mark-YOLO网络下降了89.0%;网络模型权重大小为2.49 MB,相对于Mark-YOLO网络下降了94.6%。最终得到的网络结构如图8所示。原骨干网络中的卷积层通道数量得到了有效的裁剪,减少了网络的参数量和计算量,对于深度模型向无人机平台的移植具有重要的意义。
Download:
|
|
本文中的无人机着陆标识分割算法分为着陆标识检测阶段与标识分割阶段。算法整体的流程如下:
1)将无人机拍摄的图像输入目标检测模型中,获取着陆标识的类别和预测框;
2)输出着陆标识预测框的坐标,将其设定为ROI(region of interest)区域;
3)在ROI区域内进行灰度化处理,并利用Ostu算法对ROI区域内进行分割,去除背景干扰;
4)利用Canny边缘检测算法与Hough变换提取图像的边缘,确定着陆标识中的直线与圆轮廓。
本文对无人机飞行情况下着陆标识的分割效果进行验证,在无人机不同飞行高度采集包含着陆标识的图像,飞行高度分别约为3、5、7、10 m,分别对应近距离、中距离与远距离。其中,检测出的直线轮廓用黄色标出,检测出的圆轮廓使用蓝色标出,圆心用黑色标出。
由图9~12中的无人机着陆标识分割结果可得,无人机飞行高度约为3 m时,着陆标识属于较大目标;随着无人机高度的变化,无人机着陆标识在图中的大小也发生变化,高度约为10 m时,着陆标识在图中占据了很小的比例,属于较难识别的小目标。对于不同高度下的无人机着陆标识,本文中提出的算法都可以很好地检测到降落标识,取得很好的分割结果,提取出降落标识的图案轮廓,有效地避免了环境因素带来的干扰。
Download:
|
|
Download:
|
|
Download:
|
|
Download:
|
|
本文基于YOLO目标检测算法,设计了无人机视觉导航着陆标识的检测与分割算法。
1)对目标检测算法进行了优化,并针对无人机平台硬件计算能力较弱的问题,对网络模型进行通道裁剪,减少网络模型的参数量,同时保证网络较高的准确率。
2)通过目标检测算法获取包含着陆标识的ROI区域,并在ROI区域内进行灰度化处理、Ostu阈值分割、边缘提取,利用Hough变换检测着陆标识中的直线与圆,得到无人机着陆标识的轮廓信息。
本文通过引入实时的目标检测算法,可以有效地避免复杂环境的干扰,减少后续图像分割过程的计算量,对于搭载高分辨率图像传感器的无人机实现视觉导航着陆具有重要研究意义与工程实践价值。
[1] | 王东. 山地果园植保无人机自适应导航关键技术研究[D]. 咸阳: 西北农林科技大学, 2019. (0) |
[2] | 丁为杰. 无人机自主电力巡线关键技术研究[D]. 济南: 山东大学, 2019. (0) |
[3] | 黄莹, 尹文龙. 多旋翼无人机在救援领域的应用与发展[J]. 中国应急救援, 2019(5): 31-34. DOI:10.3969/j.issn.1673-5579.2019.05.007 (0) |
[4] | 杨红琳. 无人机影像获取及其面向对象的土地利用分类应用[D]. 淮南: 安徽理工大学, 2019. (0) |
[5] | FALANGA D, ZANCHETTIN A, SIMOVIC A, et al. Vision-based autonomous quadrotor landing on a moving platform[C]//2017 IEEE International Symposium on Safety, Security and Rescue Robotics (SSRR). Shanghai, China, 2017: 200–207. (0) |
[6] | 李靖, 马晓东, 陈怀民, 等. 无人机视觉导航着陆地标实时检测跟踪方法[J]. 西北工业大学学报, 2018, 36(2): 294-301. DOI:10.3969/j.issn.1000-2758.2018.02.014 (0) |
[7] | JIN R, OWAIS H M, LIN D, et al. Ellipse proposal and convolutional neural network discriminant for autonomous landing marker detection[J]. Journal of field robotics, 2019, 36(1): 6-16. DOI:10.1002/rob.21814 (0) |
[8] | 刘全波, 侯永宏. 基于视觉的无人机自动着陆定位算法[J]. 电子产品世界, 2016, 23(7): 48-51. (0) |
[9] | S SARIPALLI, J F MONTGOMERY, G S SUKHATME. Visually guided landing of an unmanned aerial vehicle[J]. Transactions on robotics and automation, 2003, 19(3): 371-380. DOI:10.1109/TRA.2003.810239 (0) |
[10] | REDMON J, FARHADI A. YOLOv3: an incremental improvement[J]. arXiv: computer vision and pattern recognition, 2018. (0) |
[11] | REZATOFIGHI H, TSOI N, GWAK J Y, et al. Generalized intersection over union: A metric and a loss for bounding box regression[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Long Beach, USA, 2019: 658–666. (0) |
[12] | ZHANG Z, HE T, ZHANG H, et al. Bag of freebies for training object detection neural networks.[J]. arXiv: computer vision and pattern recognition, 2019. (0) |
[13] | LIU Shu, QI Lu, QIN Haifang, et al. Path aggregation network for instance segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA, 2018: 8759–8768. (0) |
[14] | RASHWAN A, KALRA A, POUPART P, et al. Matrix nets: a new deep architecture for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. California, USA, 2019. (0) |
[15] | ZHANG P, ZHONG Y, LI X, et al. SlimYOLOv3: narrower, faster and better for real-Time UAV applications[J]. arXiv: computer vision and pattern recognition, 2019. (0) |
[16] | NOBUYUKI OTSU. A threshold selection method from gray-level histograms[J]. IEEE transactions on systems man and cybernetics, 2007, 9(1): 62-66. (0) |
[17] | CANNY J. A computational approach to edge detection[J]. IEEE transactions on pattern analysis and machine intelligence, 1986, 8(6): 679-698. (0) |
[18] | 张秋雁, 杨忠, 陈聪, 等. 一种复杂环境下的电力线检测方法[J]. 应用科技, 2019, 46(5): 51-56. (0) |
[19] | 刘全波. 基于视觉的无人机自动着陆定位算法[D]. 天津: 天津大学, 2016. (0) |
[20] | REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. Honolulu, USA, 2017: 7263–7271.. (0) |