无人机位姿测量的点特征视觉方法*
2019-04-20李旺灵孙永荣
吴 雷,黄 斌,李旺灵,孙永荣
(南京航空航天大学 导航研究中心·南京·211106)
0 引 言
无人飞行器具有成本低、体积小、质量小、机动性强等独到优势,因而在军事、农业和工业领域有着广阔的应用前景[1]。无人机在执行任务时需要感知自身的位姿参数及周围的环境信息。其常用的导航方式(如GPS和惯导技术)因使用环境和成本等原因,难以满足无人机在复杂环境下对高精度实时定位的需求。基于视觉技术的位姿测量方法因结构简单、非接触、成本低、近距精度高等优点,在无人机定位领域得到了广泛的应用[2-3]。现有的基于机器视觉技术的无人机位姿测量方法,多通过对无人机本身进行识别和定位而实现其功能,其精度与可靠性都不能令人满意,而利用人工标记点进行识别的方法,存在着特征点布局及标定等问题。
为了满足各种场景下的高精度、高速率的无人机位姿测量的要求,本文提出了一种以人工标志信号灯为特征点的单目视觉测量方案[4],利用由多场景确定的点位置测量方法[5]预先确定标记点在无人机机体系下的三维空间位置,随后用相机实时采集特征点的成像图片,并提取它们的亚像素坐标[6],最后将点的二维和三维坐标进行匹配,利用EpnP算法[7]求解无人机的位置和姿态。
1 特征点空间位置求解
1.1 摄像机模型
常用的摄像机成像模型包括3种:小孔成像模型、正交投影模型、拟透视投影模型。其中,获得应用最多的是小孔成像模型,其也被称为针孔相机模型。针孔成像模型涉及到图1中4个坐标系之间的转换,现具体说明如下:
(4)像素坐标系:它的位置与像平面坐标系一致,以像素为单位。不同于以上三者,其以物理长度为单位。它的原点位于图像的左上角,u轴与像平面坐标的X轴平行,v轴与像平面坐标系的Y轴平行,其坐标系关系如图1所示。
图1 坐标系关系Fig.1 Relationship of coordinate systems
通过对上述坐标系进行一系列的坐标转换,最终可以得到世界坐标与像素坐标之间的转换关系,即针孔成像模型。
(1)
1.2 特征点三维位置的测量方法
在进行无人机位姿测量时,首先需要获得特征点在无人机机体系中的三维空间位置,而在实际应用中,特征点的分布往往不规则,即使预先确定了位置,在安装时也会出现误差。如何精确地确定多个特征点的三维坐标,是无人机位姿测量的基础。本文采用了一种基于视觉技术的由多场景确定的空间点位置测量方法,其核心思想在于首先利用标定模板标定出各个场景的位姿参数,然后利用各个场景下的二维图像坐标与场景参数,求解特征点的三维空间位置。
本文使用的标定模板是棋盘格标定板,将棋盘标定板的横轴、纵轴分别作为X轴、Y轴,Z轴垂直于棋盘平面,并以此建立棋盘坐标系。由此,标定板上每一个棋盘角点的三维坐标已知,再由相机采集的场景图片提取棋盘角点的图像坐标,通过坐标之间的对应关系可以解算出该场景的位姿参数。在此基础上,再从每个场景的图像中利用手动标记的方法给出待测量的特征点的图像坐标,结合对应的场景位姿参数,根据相机模型便可以解算出特征点的三维空间位置,最后利用LM迭代算法使得重投影误差实现最小化,从而提高位置求解的精度。如图2所示,将棋盘格标定板与无人机置于同一场景下,棋盘格用于求解当前的场景信息,蓝色的十字是由手动选取的特征点的图像位置。经实验测量,手动选点的方式可以满足应用精度需求。图2(b)是由该方法获得的特征点在棋盘坐标系下的三维坐标,通过对比可知,该方法的三维标定误差小于2mm。
(a) 特征点三维标定场景图(a) Scene of calibration
(b) 特征点三维标定结果图(b) Result of calibration图2 特征点的三维标定Fig.2 Three-dimensional calibration of the feature points
2 特征点图像坐标求解
2.1 特征点识别与跟踪
本文采用多个红色的LED灯作为标记点。通电之后,LED灯会呈现出圆形的红色光斑,且亮度较高,与环境及无人机本身的对比度较大,易于被检测和识别。本文对于特征点的识别也正是基于颜色、亮度和形状这3个特征。
在图像处理中,颜色通常由3个独立的属性来描述,由此构成颜色空间。按照构成原理,颜色空间可分为2大类:基色颜色空间和色、亮分离颜色空间。前者的典型代表是RGB颜色空间,后者的典型代表是HSV空间。HSV空间将亮度从色彩中分离出来,从而可以更好地感知图像中的颜色和亮度信息,继而方便从图像中提取感兴趣的区域。工业相机采集的图片一般为RGB格式,先将图片从RGB空间转换到HSV空间,红色的范围为0~10和156~180 两个区间,然后以此为阈值对图片进行分割,提取出其中的红色区域。在实际应用中,可根据实际情况对参数进行微调。
考虑到在实际应用场景中可能出现其他红色物体,进而影响特征点的识别,因而需要加入更多的约束条件。由于LED灯的亮度较高,可以将其作为1项判断指标,对亮度通道进行筛选。如果对亮度分量采用阈值分割的方法,阈值的选择会对检测效果影响较大,难以满足亮度变化范围较大的场景的需求。本文使用了一种调整相机曝光率的方法来对亮度特征进行筛选,使得检测效果对曝光率的选取不敏感。在实验中,发现了1个合适的曝光率,其可以兼容亮度大范围变化的环境。图3为相机在低曝光率下采集的特征点的图片,特征点的亮度特征使其与背景实现了分割。进一步地,本文以目标的圆形形状作为第3层筛选条件,从而提高了识别的可靠性,即先对上述提取出的区域进行轮廓检测,然后以区域的长宽比、周长面积比为指标,剔除不满足条件的区域。
上文通过特征点的颜色、亮度及形状3个特征对目标进行识别,为了提高提取特征点的速度,本文在识别环节之后加入了跟踪环节。由于无人机的运动是连续的,而且工业相机的帧率较高,因而在相邻帧之间,无人机的运动幅度不大。基于这一点,可以由上一帧检测出的目标位置预测下一帧的目标位置,从而减小跟踪的候选区域,缩短算法的处理时间。为了提高预测的可靠性,预测框要大于检测框。当开始处理下一帧时,先要缩小预测框。本文采用的方法是在RGB空间做差。在帧与帧之间,目标的RGB三通道像素值都可被视作固定不变,所以在跟踪环节中,只需要将预测框中的三通道像素值与上一帧中目标的三通道像素值做差,即可对目标进行分割,这样可以实现预测框的最小化,最后在这个最小化的预测框中执行上述检测算法。跟踪环节即充分利用上一帧的先验信息,将下一帧的检测范围最小化,使得目标识别的速度大大提升。
图3 相机在低曝光率下采集的特征点图像Fig.3 Feature points image at low exposure rate
2.2 特征点坐标提取
本文采用的LED标记点在图像中呈现为圆形小区域,其中心坐标即可被视作特征点的二维图像坐标。如何提取目标中心点,是视觉测量中的一个重要问题。对此,研究人员已经提出了多种方法,方法主要可以分为基于区域的方法和基于边缘的方法2种。本文采用的是基于区域的重心法。通过求取区域的矩特征获得其重心坐标,并将重心坐标作为圆形区域的中心。
矩是描述图像特征的算子,矩技术被广泛应用于图像检索和识别、图像匹配等领域。常见的矩描述子有几何矩、正交矩等。使用几何矩可以方便地求取区域的重心
(2)
图4 特征点提取效果图Fig.4 Effect drawing of feature points extracted
3 无人机位姿参数求解
目标物体的位姿测量即是求解摄像机坐标系与物体空间坐标系的转换关系,一般可分为2种情况,一种是物体空间坐标系的原点和方向固定,当物体运动时,求解物体在固定的空间坐标系下的位姿参数;另一种是空间坐标系随物体一起运动,此时物体位姿解算即为求解摄像机坐标系与物体空间坐标系的位姿关系。针对无人机的位姿测量,一般采用的是第2种形式,即将物体空间坐标系与无人机机体坐标系固连,测量无人机相对于摄像机的平移和旋转关系。针对平移关系的描述,通常采用3×1的平移向量,而针对旋转关系,通常采用3×3的旋转矩阵来描述。
n点透视问题简称为PNP(Perspective-N-Points)问题,主要研究在给定相机内参数和一系列2D-3D对应点时,如何求解目标物体的位置和姿态信息。当特征点的个数和布局不同时,PNP问题的求解算法和解算精度都不同。经典的PNP算法包括P3P、DLS、NPL、EpnP等,其中EpnP算法的使用最为广泛,当前针对PNP问题的研究也大都建立在EpnP的基础上。本文使用的位姿参数求解算法也是EpnP算法。
EpnP算法用非迭代方式求解PNP问题,它的计算复杂度与特征点的个数n线性相关,所以该算法的速度超过了大多数算法,其精度也只比部分迭代算法略低,而远高于其他非迭代算法。EpnP的核心思想在于将n个3D点表示为4个虚拟控制点的加权和。如图5所示,空间中任意3D点的坐标均可以用4个不共面的3D点坐标的权重表示。PNP问题可以简化为估计这些控制点在相机参考系下的坐标。这些坐标可以表示为1个12×12的矩阵的特征向量的加权和,通过求解少量二次方程,算出权重系数,即可求解控制点的坐标。
图5 EpnP算法的原理示意图Fig.5 Principle of EpnP Algorithm
在求解目标位姿参数时,EpnP算法需要相机内参数及3个以上的2D-3D特征点对,其中相机的内参数使用张正友相机标定法求得,特征点的三维世界坐标可通过第1节的多场景下点的标定方法求解,特征点的二维图像坐标可由第2节的图像检测与跟踪算法获得,然后将二维坐标与三维坐标进行匹配,以确定它们之间的对应关系,最后基于EpnP算法精确而快速地测出目标无人机的位置、姿态信息。
4 实验结果与分析
在实验中,以六旋翼无人机的一侧安装的6个红色的LED灯作为标记点,其空间布局如图2(b)所示。采用Point Grey公司的CMLN系列工业相机,对上文提出的算法进行实验测试,如图6所示。本文从稳定性、速度和精度3个方面测试了算法性能,算法的稳定性用正确识别的帧数占总帧数的比率来衡量。在实验中,正确识别率达到了98%以上。针对单帧图片的处理时间,可以作为衡量算法速度的指标。本文算法对单帧图片的处理时间可分为2类,检测状态下的平均处理时间为5ms,跟踪状态下的平均处理时间为2ms,说明该算法的实时性较好。
图6 安装LED灯的旋翼机实验装置图Fig.6 Experimental device with LED lights in UAV
位姿解算算法的另一项重要指标是其解算精度。高精度的位姿参数是无人机完成复杂任务的基础,因而在实验中,需重点对位姿解算误差进行测试和分析。本文从位置解算误差和姿态解算误差2个方面分别进行了讨论。针对位置误差的测量,本文采用的实验装置是高精度的三轴移动平台。在实验中,将相机固定在平台的移动支架上,而将无人机保持静止,通过电机精确地控制相机在横向、纵向、前向3个方向上的移动,对比相机移动距离与视觉算法解算的距离变化值,即可得到算法的解算误差。对于姿态误差的测量,本文采用的是三轴转台。在实验中,将旋翼机安装在转台上,保持相机静止,控制转台,改变机体的航向、俯仰、横滚三个角度,并将其与解算的变化值进行对比,以测量姿态解算的误差。
如图7所示,本文算法在空间坐标系的三个轴向上的位置解算误差均小于2%,且在深度方向上的误差相比横向和纵向的误差均略大;本文算法在机体坐标系上的姿态解算误差约为8%。大多数应用场合,对于位置信息的准确度需求较高,而对姿态的精度需求略低,因而本文算法可以满足多数场合对无人机定位的需求。
图7 位姿解算误差图Fig.7 Error of position solution
5 结 论
本文提出了一种基于特征点的无人机位姿单目视觉测量方法,采用多场景下点的三维位置标定方法解决了特征点的三维位置求解问题。通过应用该方法,特征点标记不需要精确地安装至特定位置,而可以在安装之后进行标定求解,大大地降低了特征点安装的难度;利用特征标记的亮度、颜色和形状特征提取特征点成像区域,用跟踪算法提高特征点提取速度,通过重心法获得特征点的二维亚像素坐标,最后用EpnP算法求解目标的位置和姿态参数。实验结果表明,该方法的稳定性和运行速度较高,位置解算误差小于2%,姿态解算误差约为8%,可以满足一般场景对无人机定位精度的需求。