于 洋,毕宏帅
(沈阳理工大学 自动化与电气工程学院,沈阳 110159)
目前,无人机主要的导航方式有INS(惯性导航)、INS/GPS组合导航、视觉导航[1]。惯性导航的定位误差随时间积累越来越大,无法满足自主着陆的精度要求。INS/GPS组合导航系统在无人机大部分的自主飞行任务中均能起到很好的作用,但一些特定的环境中,如在室内,无人机无法获得足够精确的GPS信号[2],影响导航效果。
基于视觉的无人机导航因不受外界电磁干扰,导航精度高[3],利用机载摄像机采集图像,用数字图像处理方法进行预处理,以特征提取等方式将地标特征点转换成对无人机的姿态估计,因此,将简单且具备显著特征的地标作为视觉导航的参照,是提高图像识别算法精准性的关键[4]。Lee S等[5]设计了一种外部圆形,内“H”的地标图案,并提出了一种识别国际标准直升机停机坪的视觉算法,通过地标图案的边缘分布函数,对其数学计算,可实现对着陆标志的识别,但并未对无人机进行姿态的估计。刘士清等[6]提出了一个包含四组平行线的平面着陆合作目标,通过机载相机获取含有合作目标的图片,估计出无人机与该目标的相对位姿信息,但会出现较多的错检和漏检情况。张广军等[7]设计了一个双圆特征图案,该地标最显著的特征是由两个圆形图案组合而成,且左侧地标图案为同心圆;基于该图案设计了一套特征点提取算法,仿真结果表明,该算法对于地标的检测提取具有很好的抗噪能力,且能满足对无人机姿态信息采集的实时性[8],但该方法只适用于远距离导航的情况。
根据以上研究,本文设计出一种同心圆环和正方形组合的合作地标,对其进行识别、计算,得到无人机的位姿参数;其特点是利用图像几何信息可以快速提取的优势,以满足无人机的实时性。
考虑到无人机对地标响应的快速性,地标的设计应满足以下条件:一是标志应能包含无人机定点自主降落所能够识别的信息,并提取地标特征解算出与降落标志的相对位置;二是标志不应太复杂,尽量避免复杂的模式识别和学习等过程,从而保证识别算法的实时性;三是标志要保证轮廓清晰,易于区别其他地面轮廓,保证不会出现误识别而发生不可预测的错误[9]。
基于上述要求,本文设计了新的着陆地标和与之相对应的识别算法。该标识中,以白色作为着陆背景,将该地标分解为两部分,其中R为外圆半径,r为内圆半径,a为空心正方形边长,b为实心正方形边长;实际值分别为:R=28cm,r=20cm,a=7cm,b=3.5cm,正方形黑边宽度为1.2cm,着陆地标如图1所示。
图1 着陆地标
当无人机高度足够高时,圆环部分用来做无人机的初始估计,随着无人机高度的下降,只有正方形部分被机载相机捕获。此时正方形的作用有两个,其一是在圆环检测后,对无人机质心与地标中心点位置的纠偏;其二是实现无人机在偏航方向角度的矫正。
在算法的实现上,目前通过大量训练样本学习方式较为流行,但这类方式会导致机载处理器承担大量计算的高负荷工作,对实时性有所影响。因此,本文根据所设计的地标提出了两阶段识别算法以克服上述问题。
基于第一节所设计的着陆地标,在经图像预处理后,识别过程一共分为两个阶段:第一阶段无人机在相对位置较高处对地标的定位和追踪,这阶段通过识别圆的特征信息实现;当无人机距地面较低时,第二阶段通过识别正方形的特征实现对无人机位置与偏航方向的调整。地标检测算法流程如图2所示。
图2 地面标识检测算法流程图
图像预处理可以减少噪声的影响并突出细节部分,能够更为准确地将地标前景和地面背景分离开来。首先灰度处理,其目的是减小机载处理器的计算量,保证响应的速度。首先将机载摄像头捕获到的彩色图像转为单通道的灰度图像,采用的方法是加权平均法,公式如式(1)所示[10]。
f(x,y)=0.229R(x,y)+0.587G(x,y)+
0.114B(x,y)
(1)
式中:x、y分别代表图像像素的横、纵坐标;f(x,y)为该点灰度值;R(x,y)、G(x,y)、B(x,y)各代表图像中红绿蓝分量的灰度值。然后进行图像滤波,作用是消除周围环境带来的细微影响,达到去除噪声的效果,方法采用的是平均值滤波。
(2)
式中:w(x,y)为滤波后图像的灰度值,采用的掩模是3×3的方块区域;i为9个方块区域中的第i个方块。最后的预处理操作将得到的灰度图像转换为二值图像,目的是能更好地将地标前景和地面背景分割开来,进而为下一步检测识别剔除不必要的干扰。图像二值化处理的方法是通过设定一个固定的阈值(threshold),并将图像中所有像素与该阈值逐一进行对比,当某一个像素点的灰度值大于这个阈值,则该像素点值取255,否则取0。
(3)
式中:pixel为单个像素点的灰度值;result为二值化处理后的结果;threshold为整个图像像素值的平均值。
2.2.1 地标圆形特征的识别
理论上,经上述预处理后得到仅包含地标前景的二值图像,但机载相机捕捉图片时有光照、地面裂纹等其他因素的影响,二值图像可能出现一些细小轮廓,需对其进行特征筛选以排除干扰。首先,利用圆的圆度特征进行筛选,公式为
(4)
式中:F为筛选后所保留区域的面积;max为各区域中心到所有轮廓像素的最大距离;C1为比例因子;C2为形状因子,规定圆的形状因子C2为1,如果是椭圆则C2小于1。由于拍摄角度等问题,图像可能会产生形变,所以s阈值设为0.85,当C2小于0.85时,此轮廓将会被剔除。上述圆形检测过程完成后,由于环境等其他因素的影响,可能待选轮廓中还存在干扰,需根据同心圆相关特征进一步判定。然后,根据候选轮廓到质心坐标,通过圆心间欧氏距离及其半径比对同心圆进行判定,欧氏距离的定义为[11]
(5)
式中j为当前轮廓。根据本文设计的地标中两圆的半径比为1.08,同心圆筛选判定条件为
(6)
式中:δRist代表相对半径阈值;δRadiusRatio代表欧氏距离的阈值。最后,计算地标与目标轮廓中心偏移量,分别得到x方向与y方向各需要移动的距离,通过与飞控通信将得到的位姿信息转换为操作指令,控制无人机实现第一阶段对地标的跟踪。
2.2.2 地标方形特征的识别与无人机偏航角计算
经上述第一阶段对地标的跟踪后,得到的位姿信息可能会出现误差较大的情况,需配合第二次方形识别进一步纠偏,方法是利用正方形轮廓的矩形度拟合矩形质心,进而解算无人机与着陆地标间的相对位姿关系。设矩形拟合因子N为
(7)
式中:S1是待检测区域的面积;Sext是该区域最小外接矩形的曲积。矩形拟合因子的值为0~1,对于矩形物体N取最大值1;对于圆形物体N取最小值0,利用这个特征可以把方形物体识别出来。由于飞行器拍摄角度等带来的误差问题,本文研究的正方形拟合因子的值限定在0.7~1。
通过对筛选后得到的区域进行拟合得到正方形质心的像素坐标。但此时不能获得无人机的偏航角,为解决该问题,推导了偏航角计算方法,示意图如图3所示。
图3 偏航角计算示意图
该地标以黑色实心部分的正方形作为参考,对角线为OB,与地标横坐标正方向的夹角为θ;坐标轴Ox与边长为a的正方形交点为A,两个端点坐标分别为A(u1,v1)和B(u2,v2)。在无人机降落过程,飞控发出指令将计算得到的无人机偏航角顺时针转至零,便可成功矫正无人机的偏航角度,其中偏航角φ计算公式为
(8)
为对本文提出的方案加以验证,利用TELLO无人机进行实机测试,在多组实验数据中选取其中一组实验数据用来分析误差。图4分别是无人机在不同高度下地标检测结果。
图4 不同高度检测结果
图4a和图4b为高度较高时对圆环检测,此时不计算无人机的偏航角。图4c和图4d为无人机降低到一定高度后,圆环已经在视野外,进行第二阶段的方形检测和偏航角计算。检测结果中不同阶段对地标的识别结果会用不同形状的框标出,两个“×”点分别是无人机当前坐标和地面标识的中心,通过计算得到两点分别在x轴和y轴两方向的偏差的估计值,并与真实值进行比较;同一高度下,x、y方向上估计值与真实值相对误差较大的值作为该高度下系统的相对误差。表1为不同高度下无人机对地标识别的检测时间、质心距地标中心的二维偏差以及无人机偏航角,表2为不同高度下无人机位姿的真实值及与表1估计值间的相对误差。
表1 不同高度下无人机位姿估计值与响应时间
表2 不同高度下无人机位姿真实值与相对误差
实验数据表明,该算法最大检测时间为110.964ms,远低于无人机执行一条控制指令所需要的时间350ms,所以满足系统的实时响应需求。此外,在高度为2m时出现该系统最大误差,为7.49%,满足无人机精准着陆位置误差在8%以下的要求。
提出了基于视觉的无人机着陆时的检测方法。首先设计了同心圆和正方形复合的合作地标,在地标实时检测中,对机载相机捕获的图像进行灰度化、均值滤波、二值化等预处理,然后利用两阶段位姿估计法实现无人机位姿姿态的获取,并与无人机的真实值进行对比。实验结果表明,算法能快速准确地检测到地面标识、求得无人机
与地标相对的位姿信息和不同高度下该方案求解出的无人机位姿估计的最大相对误差。误差在可接受的范围内,满足实际应用需求,验证了该方案的有效性。