黎荣华,汪 双,张 华
西南科技大学 信息工程学院,四川 绵阳 621010
由无人机与地面无人车组成的空地协同机器人具有视野广、载荷重等优势,被广泛应用于应急救援、环境探测等领域[1]。目标定位是无人机协同飞行、精准降落等自主控制技术的基础。为了节省空间以在地面机器人上搭载更多传感器,无人机起降平台的面积通常极为有限,这就对目标定位的精度和实时性有较高要求。但由于无人机载重量有限,通常选择搭载重量较轻但性能有限的嵌入式处理器进行实时数据处理。在嵌入式处理器低性能的限制下,兼顾目标定位的精度与实时性,是实现空地协同机器人中无人机自主控制的关键和难点。
视觉目标跟踪技术是无人机与地面无人车之间相对定位的关键。视觉目标跟踪方法主要分为三类:基于生成式模型的目标跟踪方法、相关滤波类目标跟踪方法和深度学习类目标跟踪方法。早期目标跟踪算法主要基于生成式模型,先建立目标特征模型,再依据目标模型匹配目标,进而实现目标跟踪。但由于缺乏目标模型更新机制,目标外观模型变化时,生成式模型算法鲁棒性不佳。Wang等[2]提出一种改进Meanshift算法以适应目标尺度变化,但仅使用了颜色特征,导致目标与背景颜色相似时跟踪效果易受影响。Zhang等[3]提出了一种基于卡尔曼滤波和Camshift多特征融合算法的跟踪算法,解决了目标被短暂遮挡导致的跟踪失败问题,但不能实现长期跟踪。Palafox等[4]、孙雨婷等[5]提出基于霍夫变换的标记识别方法实现了长期目标跟踪,但算法帧率较低且跟踪效果易受环境影响。陈菲雨等[6]在TLD框架下增加检测自矫正环节,保证了长时间跟踪的准确度,但由于实时性不够高,只能通过将图像无线传输回地面PC端进行处理,从而易受无线网络状况影响。近年来,随着相关滤波和深度学习方法被引入目标跟踪领域,目标跟踪的性能得到显著提升。Henriques等[7]提出的核相关滤波(kernelized correlation filters,KCF)算法显著提升了目标跟踪方法的实时性,但目标尺度变化、被遮挡或短暂消失导致跟踪漂移甚至失败的问题仍未被解决。林淑彬等[8]在相关滤波的基础上,利用历史视图信息,通过像差抑制响应图变换,解决在相机运动、尺度变化等无人机场景下跟踪产生漂移的问题,然而在处理完全遮挡方面的性能相对较弱。Huang等[9]提出了一种抑制检测过程中出现畸变的新方法,在KCF的基础上,通过对检测阶段生成的响应图的变化率进行限制,从而提高跟踪目标的准确性,但仍未解决目标被遮挡或消失导致跟踪失败的问题。严飞等[10]提出一种基于FPGA的自适应跟踪算法,具有较高的实时性和跟踪精度,但跟踪之前先要获取第一帧的目标位置,才能将目标模板保存用于后续跟踪,缺乏自主性。Karakostas等[11]、刘芳等[12]提升了跟踪算法在目标发生遮挡时的鲁棒性,但都存在实时性较差的问题。钟莎等[13]解决了运动模糊、目标小、目标抖动等问题,但沿用的目标检测算法的损失函数,对于目标的框选不是特别精确。YOLO(you only look once)系列(YOLO[14]、YOLOv2[15]、YOLOv3[16]、YOLOv4[17])算法虽然在精度和速度上有了明显提升,但在机载计算机上实时性仍不高。
在空地协同应用场景下,为了兼顾目标定位的精度和实时性,解决无人机对地面无人车的实时精准定位问题,提出一种新型定位标记及标记检测方法,将定位标记部署于地面无人车上,通过检测标记位置和方向,进而实现对地面无人车的识别与定位。该方法根据标记简单易识别的特点,基于标记颜色和轮廓几何特征,结合颜色分割和轮廓提取对图像进行预处理,缩小目标识别范围,并依据标记几何性质,快速识别目标,从而保证方法具有较高的实时性。同时,该方法舍弃通用目标跟踪方法的模型更新机制,牺牲抗遮挡性能和通用性,而避免因模型更新机制引入跟踪漂移,以此获取更高的定位精度,从而更适用于空地协同无人机自主控制场景。
首先,结合双边滤波、颜色分割和轮廓提取等预处理方法,提取图形中轮廓特征;然后,利用目标检测算法从提取的轮廓特征中识别目标轮廓,并计算目标在图像平面中像素坐标和方向;最后,基于针孔相机成像模型,估计目标在无人机机体坐标系下的位置和姿态,流程如图1所示。
图1 方法流程图Fig.1 Flow chart of method
为满足无人机协同飞行目标定位需要,定位标记应满足以下要求:(1)标记能够提供位置和偏航角信息;(2)标记颜色特征明显,以便和背景信息进行区分;(3)简单易识别,以保证机载计算机能够实时性处理。
本文设计的红色双圆形定位标记如图2所示。标记为红色,易与背景信息进行区分。标记采用易识别的圆形图案设计,能够保证实时性处理。将标记中大圆圆心作为标记位置,两圆圆心连线作为偏航角参考线,可以提供位置和偏航角信息。与现有H型、矩形和三角形标记使用角点特征相比,此标记使用圆形轮廓特征,识别计算量小,在机载计算机上处理能达到更好的实时性。
图2 定位标记Fig.2 Positioning mark
1.2.1 预处理
无人机图像中背景信息通常较为复杂,若直接对图像进行边缘检测,会提取到过多与目标无关的轮廓特征,而对目标轮廓识别产生干扰,且增加识别运算量。利用定位标记颜色特征较为明显的特点,在Suzuki-Abe轮廓提取算法前引入颜色分割,只对图像中与标记颜色相同的区域进行轮廓提取,可以减少提取到的轮廓特征数量,进而缩小识别范围,提高识别成功率和实时性。
相机大多直接输出RGB图像,而RGB颜色模型受光照影响较大,不利于颜色分割。考虑到HSV颜色模型受光照影响较小,故先将图像从RGB颜色模型转换成HSV颜色模型再进行颜色分割,可以减小光照对颜色分割的影响。改进前后轮廓提取效果如图3所示。可以看出,引入颜色分割后提取到的轮廓数量明显减少,有利于减少误识别和提高实时性。
图3 轮廓提取效果对比Fig.3 Comparison of contours extraction effect
1.2.2 轮廓识别与定位
Hough变换常被用于圆形轮廓识别,但经过实际测试,在无人机处于倾斜姿态时,圆形标记在图像中会形变为椭圆形,导致识别出的圆心位置不准确。针对此问题,提出一种圆形轮廓检测方法,先利用圆的几何性质识别圆形轮廓,再结合轮廓重心求解法计算圆心。
(1)圆形轮廓识别
由于圆具有周长的平方L2与面积S的比值为4π这一几何性质,故通过计算轮廓周长平方和面积的比值,就可以判断其形状是否为圆,运算量相较于Hough变换更小,从而可以达到更高的实时性。
(2)圆心求解
由于圆形轮廓重心就是圆心,故利用轮廓几何矩重心求解法得到圆心像素坐标,计算公式如下:
式中,f(x,y)为图像在像素坐标(x,y)处的灰度值,m10、m01为轮廓一阶矩,m00为轮廓零阶矩。
两种方法检测效果如图4所示。结果表明,在无人机姿态变化引起标记在图像中发生形变的情况下,利用几何矩计算目标重心,可以获取更高的定位精度。同时,统计两种方法对一百帧图像的检测耗时,得到所提方法每帧图像平均检测耗时约为0.5 ms,优于Hough变换的5 ms。
图4 检测效果对比Fig.4 Comparison of detection effect
将标记大圆圆心像素坐标作为目标位置,向量P1P2与U轴正向夹角θ′作为目标方向,示意图如图5所示。
图5 标记位置和方向Fig.5 Location and direction of mark
求解大圆圆心像素坐标得到目标位置P1(u,v),同理可得小圆圆心位置P2(u′,v′),最后由两圆圆心几何关系即可得到目标方向θ′。
1.2.3 位姿估计
位姿估计是根据检测到像素坐标系下目标的像素坐标P1(u,v)和方向角θ′,估计机体坐标系下目标点三维坐标P(x,y,z)和偏航角θ。假设固定安装相机时已将相机坐标系与无人机机体坐标系对齐,则近似将相机坐标系作为机体坐标系。根据针孔相机成像模型,相机坐标系下目标三维坐标与像素坐标系下目标像素坐标间关系如下:
式中,K为相机内参矩阵,由相机标定得到,P为相机坐标系下目标三维位置矢量,z为目标深度信息,由双目相机直接给出。求解此矩阵方程即可得到机体坐标系下目标三维坐标。同时,由成像模型几何关系可知,目标机体坐标系下偏航角θ与像素坐标系下方向角θ′相等。
为验证所提方法有效性,搭建了如图6所示空地协同机器人实验平台和动作捕捉系统实验场地。动作捕捉系统能实时定位场地中物体,定位精度可达到亚毫米级,可近似作为理论真值,用于分析本文方法定位精度。
图6 实验平台和场地Fig.6 Testsite and platform
本文主要从方法鲁棒性、实时性、精度和有效性进行验证,实验硬件及环境配置如表1所示。
表1 硬件及环境配置Table 1 Hardware and environment configuration
为验证所提方法鲁棒性,根据无人机实际飞行特点,在高度变化、姿态变化、光照变化、背景复杂和图像模糊五种场景下进行目标检测实验,目标检测效果如图7所示。
图7 目标检测效果Fig.7 Target detection effect
实验结果显示,所提方法在无人机常见飞行场景下鲁棒性较好。
为准确分析所提方法定位精度,将均方根误差(root mean square error,RMSE)作为精度评价指标,并选取核相关滤波算法与本文方法进行对比实验。
式中,x为估计值,x*为对应真值,n为数据量。实验中无人机保持悬停,高度为1.5 m,控制地面无人车按一定轨迹移动,两种方法定位数据如图8所示。由于目标z轴位置由双目相机直接给出,故只对算法x轴、y轴和偏航角定位数据进行分析。
图8 定位数据对比Fig.8 Comparison of location data
实验结果表明,在核相关滤波方法初始化目标时,无人机的轻微晃动会导致难以手动准确框选目标,从而在初始帧引入误差。而且,核相关滤波方法定位精度会随时间延长而下降。经过计算,本文方法x轴和y轴位置数据均方根误差分别是3.9 mm和3.6 mm,优于核相关滤波方法的13.3 mm和14.3 mm。由于核相关滤波方法不能识别目标方向,因此仅将本文方法偏航角数据与真值对比,均方根误差为1.5°。
为了分析所提方法实时性,将处理每帧图像的平均耗时tˉ作为衡量方法实时性的指标。
实验统计了一段时间内两种方法处理每帧图像的耗时,随机选取其中30帧结果如图9所示。经过计算,本文方法平均耗时约为12 ms,优于核相关滤波方法的56 ms。
图9 耗时对比Fig.9 Comparison of time comsuming
为进一步验证在无人机自主跟踪地面无人车场景下方法的有效性,与无人机控制相结合,基于搭建的空地机器人实验平台和动作捕捉系统实验场地,进行了无人机跟踪飞行实验。由于室内实验场地高度限制,为保证机器人安全,故设置无人机与无人车相对高度1.5 m。利用动作捕捉系统记录下无人机与无人车的二维平面轨迹,如图10所示。对比无人机与无人车轨迹可知,无人机能够稳定跟踪地面无人车飞行。因此,本文所提相对定位方法能够有效应用于无人机自主控制中对地面无人车的识别定位。
图10 平面轨迹对比Fig.10 Comparison of plane trajectory
针对空地协同机器人中无人机对地面无人车的实时精准定位问题,提出了一种新型定位标记及标记检测方法。该方法首先根据标记颜色特征,在轮廓提取前引入颜色分割,排除背景干扰以减少误识别,并缩小识别范围以保证较高的实时性;然后,提出一种基于轮廓几何特征和几何矩理论的圆形轮廓快速识别定位方法,兼顾了目标定位的精度和实时性。实验结果表明,所提方法满足无人机对地面无人车的实时精准定位要求,为实际工程应用提供了有力的理论依据和数据支撑,具备显著的工程意义。虽然本文方法在定位精度和实时性上有一定的示范效果,但后续还会针对目标发生遮挡导致识别定位失败问题进行深入研究,以期达到更为鲁棒的识别定位效果。