无人机视觉导航着陆标识检测与分割方法

2020-12-08 07:13韩家明杨忠陈聪张秋雁张驰赖尚祥李宏宸方千慧
应用科技 2020年4期
关键词:卷积阈值特征

韩家明,杨忠,陈聪,张秋雁,张驰,赖尚祥,李宏宸,方千慧

1.南京航空航天大学 自动化学院,江苏 南京 211106

2.贵州电网有限责任公司 电力科学研究院,贵州 贵阳 550002

随着无人机技术的迅速发展及其在诸多领域中广阔的应用前景[1−4],基于视觉导航的无人机自主着陆技术也得到了广泛的研究。其中,通过着陆标识的引导实现无人机的着陆已取得了诸多成果并得到了工程应用。文献[5]中通过渐近式图像搜索算法提取降落平台各级图案的轮廓信息,并利用航迹规划方法完成无人机在移动平台上的降落。文献[6]中通过支持向量机(support vector machine,SVM)训练离线分类器,准确识别着陆标识,并利用改进的中值流跟踪算法对着陆地标进行目标跟踪。随着卷积神经网络的迅速发展,基于深度学习的方法已逐渐融入到无人机视觉导航与自主着陆领域研究中。文献[7]中通过椭圆轮廓检测与卷积神经网络,快速预测出正确的无人机着陆标识边界,并实现无人机的自主着陆。本文设计了基于深度学习的实时目标检测算法,并通过图像分割算法获取无人机着陆标识轮廓信息,减少了环境因素干扰、降低了图像处理的运算量,对于无人机着陆效率的提升有着十分重要的意义。

1 着陆标识设计

着陆标识是基于视觉的无人机自动着陆的关键部分之一,着陆标识的选取直接影响到无人机着陆的效率与成功率。着陆标识的设计需考虑以下因素:

1)图案简单直观,便于视觉系统快速处理;

2)具备足够的特征,易于辨识,能和背景较好地区分开;

3)能够提供足够的无人机着陆所需的引导信息;

4)能够间接提供位置信息,便于无人机的位姿估计。

本文中采用了一种六边形着陆标识,由一个六边形、2 个直径较大的圆、一个直径较小的圆和一个等边三角形组成。着陆标识的主体颜色为红色,识别程度较强,受光照影响较小。着陆标识中有3 个直径不同的同心圆,便于后续算法在无人机不同的飞行高度更好地检测出着陆标识中的圆和圆心,防止轮廓信息的遗失。此外,为便于后续轮廓分割,每个部分之间用白色进行隔断[8],如图1(a)所示。为了验证本文中算法的鲁棒性,采用一种H 型无人机着陆标识[9],如图1(b)所示。

图1 本文中着陆标识

2 目标检测模型

本文选择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 所示。

图2 Tiny-YOLO 结构

图2 中虚线框内为Tiny-YOLO 的骨干网络,Conv 代表卷积层,maxpooling 代表最大池化层,Tiny-YOLO 通过在主干网络后接上一定数量的卷积层和预测层构成检测模块并对目标进行预测,预测信息包括目标的类别、置信度以及坐标信息。

YOLO 算法中使用由维度聚类得到的先验框,对边界框进行预测。YOLO 中损失函数包括坐标误差CoodERR、IoU(intersection over union)误差IoUErr 和分类误差ClassErr 3 部分,为

本文引入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 所示。

图3 特征块结构

图4 密集特征块结构

通过将密集特征块和特征块输出进行融合并进行自适应池化,从骨干网络中引出的第2、4、6、8、10 层卷积层作为PANet 的输入。嵌入的PANet结构如图5 所示。

在Tiny-YOLO 中嵌入PANet 结构,可以弥补Tiny-YOLO 网络骨干网络较浅、特征提取不够充分的问题。本文中构造的着陆标识检测网络Mark-YOLO 结构如图6 所示。

图5 本文中PANet 结构

图6 Mark-YOLO 网络结构

3.1.2 网络裁剪

在无人机等计算资源受限的平台上部署深度学习网络模型时,需要减少模型所需资源消耗。本文对卷积层的通道进行裁剪,获取高效的目标检测模型。

网络中每个卷积层后面都有一个BN 层,加速网络收敛并提高网络的泛化能力。BN 层使用小批量(mini-batch)处理静态化卷积特征,BN 的计算方法为

在网络模型按通道进行稀疏训练过程中,为将重要通道与不重要通道区分开,通过L1 正则化来进行通道稀疏性训练,获得按通道的稀疏性;采用BN 层中的比例因子 γ作为通道重要性的指标,为每个通道分配一个比例因子,比例因子的绝对值与通道重要性成正比,裁剪过程中通过每个通道的比例因子决定裁剪与否。稀疏性训练后,引入全局阈值来确定是否裁剪特征通道,控制裁剪率。同时引入局部安全阈值,防止卷积层通道被过度裁剪,维持网络结构的完整性。如果特征通道的缩放比例小于全局阈值和本地安全阈值中的最小值,则对特征通道进行裁剪。

由于网络检测性能对通道裁剪较为敏感,因此,完成神经网络的通道裁剪后,需要对裁剪的模型执行微调操作,使裁剪后的模型从暂时的性能下降中恢复。一般采用增量裁剪的策略,逐步对网络进行裁剪,增量裁剪策略可以防止过度裁剪,避免过度裁剪可能导致的无法恢复的网络性能的大幅下降,最后获取最优的网络结构与权重[15]。网络裁剪的整体流程如图7 所示。

图7 网络裁剪流程

3.2 着陆标识分割

3.2.1 灰度化与阈值分割

为减少无人机拍摄图像处理的运算量,首先通过加权平均法对图像进行灰度化处理。加权平均法使用不同的权值对R、G、B 3 个颜色分量进行加权平均,得到灰度图像。加权平均法为

Gray(x,y)=0.299R(x,y)+0.578G(x,y)+0.114B(x,y)

式中:Gray(x,y)为得到的灰度图像;R、G、B分别为3 个颜色通道的像素分布函数。

其次,通过阈值分割对灰度图像进行处理。阈值分割使图像中仅存在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表示的直线方程式映射到参数空间中:

通过这种映射关系可以将每一条直线与一对参数(r,θ)相关联。经过Hough 变换后,平面直角坐标系下直线的位置参数斜率k和截距b可由极坐标系下一对参数(ri,θi)唯一确定。Hough 变换后,参数空间上中各正弦曲线都会交于同一点(rj,θj)。通过对参数空间中各正弦曲线经过的每一点进行权值统计,并求取权值峰值点,即可确定平面直角坐标系中的直线[18]。

Hough 变换圆检测与直线检测思想相似。平面坐标系中的圆由圆心的横、纵坐标a、b,圆的半径r3 个位置参数确定:

平面直角坐标系中圆上任意一点(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 类,训练集共包含2 262 张图片,测试集共包含618 张图片。

本文参考文献[20]中聚类方法进行边界框聚类分析,考虑到Mark-YOLO 中在3 种尺度上进行跨尺度预测,选取了9 个候选框,分属3 个检测尺度。

分别在数据集上训练了YOLOv2-tiny、YOLOv3-tiny、YOLOv3-tiny-3l 与本文中提出的Mark-YOLO网络,并将训练完成的网络权重在测试集上进行测试。统计4 种网络在PASCAL VOC 数据集上的mAP(mean average precision)如表1 所示。

表1 PASCAL VOC 数据集测试结果 %

统计4 种网络在无人机着陆地标数据集上测试结果如表2 所示。

表2 无人机着陆标识数据集测试结果 %

统计4 种网络的BFLOPs(billion floating-point operations per second)和权重大小如表3所示。

表3 网络的BFLOPs 和权重大小

由表1~3 中结果可得,在PASCAL VOC 数据集与无人机着陆标识数据集上,本文中Mark-YOLO均取得了最高的mAP 值。通过自下而上的特征增强方法更加充分地利用了网络的浅层特征,同时损失函数优化以及训练过程中数据优化方法的加入使得网络模型的精度获得了提升。

网络裁剪过程中,首先在Darknet 框架中进行训练,选取最优的网络模型权重;再在pytorch 框架中进行100 个epoch 的稀疏训练,稀疏训练系数为0.000 1;稀疏训练完成后在pytorch 框架中进行模型的剪枝操作,选取总裁剪比例分别为0.5、0.6、0.7、0.75、0.8、0.85 对Mark-YOLO 网络进行裁剪,剪枝完成后在Darknet 框架中进行网络的微调,补偿裁剪过程中的精度损失,获取最优的网络模型。裁剪后的网络在无人机着陆地标数据集上测试结果如表4 所示。

表4 网络裁剪后测试结果 %

统计模型的BFLOPs 和权重大小如表5 所示。

表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 所示。原骨干网络中的卷积层通道数量得到了有效的裁剪,减少了网络的参数量和计算量,对于深度模型向无人机平台的移植具有重要的意义。

图8 裁剪后网络结构

4.2 地标分割结果与分析

本文中的无人机着陆标识分割算法分为着陆标识检测阶段与标识分割阶段。算法整体的流程如下:

1)将无人机拍摄的图像输入目标检测模型中,获取着陆标识的类别和预测框;

2)输出着陆标识预测框的坐标,将其设定为ROI(region of interest)区域;

3)在ROI 区域内进行灰度化处理,并利用Ostu 算法对ROI 区域内进行分割,去除背景干扰;

4)利用Canny 边缘检测算法与Hough 变换提取图像的边缘,确定着陆标识中的直线与圆轮廓。

本文对无人机飞行情况下着陆标识的分割效果进行验证,在无人机不同飞行高度采集包含着陆标识的图像,飞行高度分别约为3、5、7、10 m,分别对应近距离、中距离与远距离。其中,检测出的直线轮廓用黄色标出,检测出的圆轮廓使用蓝色标出,圆心用黑色标出。

由图9~12 中的无人机着陆标识分割结果可得,无人机飞行高度约为3 m 时,着陆标识属于较大目标;随着无人机高度的变化,无人机着陆标识在图中的大小也发生变化,高度约为10 m 时,着陆标识在图中占据了很小的比例,属于较难识别的小目标。对于不同高度下的无人机着陆标识,本文中提出的算法都可以很好地检测到降落标识,取得很好的分割结果,提取出降落标识的图案轮廓,有效地避免了环境因素带来的干扰。

图9 高度约为3 m 分割结果

图10 高度约为5 m 分割结果

图11 高度约为7 m 分割结果

图12 高度约为10 m 分割结果

5 结论

本文基于YOLO 目标检测算法,设计了无人机视觉导航着陆标识的检测与分割算法。

1)对目标检测算法进行了优化,并针对无人机平台硬件计算能力较弱的问题,对网络模型进行通道裁剪,减少网络模型的参数量,同时保证网络较高的准确率。

2)通过目标检测算法获取包含着陆标识的ROI 区域,并在ROI 区域内进行灰度化处理、Ostu阈值分割、边缘提取,利用Hough 变换检测着陆标识中的直线与圆,得到无人机着陆标识的轮廓信息。

本文通过引入实时的目标检测算法,可以有效地避免复杂环境的干扰,减少后续图像分割过程的计算量,对于搭载高分辨率图像传感器的无人机实现视觉导航着陆具有重要研究意义与工程实践价值。

猜你喜欢
卷积阈值特征
根据方程特征选解法
离散型随机变量的分布列与数字特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
小波阈值去噪在深小孔钻削声发射信号处理中的应用
从滤波器理解卷积
不忠诚的四个特征
基于CS-TWR的动态阈值贪婪算法成像研究
基于自适应阈值和连通域的隧道裂缝提取
基于傅里叶域卷积表示的目标跟踪算法