1 引言
视觉是人类认识世界的最重要的手段之一,人类获取的信息百分之八十以上都是通过视觉得到的。随着计算机技术、传感器技术的发展,使用摄像机与计算机模拟并实现部分生物视觉成为可能,并已在许多方面得到成功应用。同时,如何利用信号处理和计算机技术对图像信息进行处理、分析、理解、识别,并最终做出正确的决策成为一个新的研究领域,由此形成一门新兴的学科,即计算机视觉。
可以获得三维信息的视觉方法有许多,典型的有双目或多目立体视觉,基于模型的单目视觉等。其中后一种方法是指仅利用一台摄像机完成定位工作。因其仅需一台视觉传感器,所以该方法的优点是结构简单、相机标定也简单,同时还避免了立体视觉中的视场小,立体匹配困难的不足。其前提条件是必须已知物体的几何模型。在计算机视觉研究领域,如何在单目视觉的条件下,完成位置与姿态的求解已成为一个重要的研究方向。
基于模型的单目视觉定位可以应用在多方面,包括机器人自主导航、陆地和空间移动机器人定位、视觉伺服、摄像机校正、目标跟踪、视觉监测、物体识别、零部件装配、摄影测量等。
基于模型的单目视觉定位问题所应用的几何特征可分为点、直线与高级几何特征等几类。相对来说,目前对基于点特征的单目视觉定位方法研究较多。直线特征具有抗遮挡能力强、图像处理简单的优点,所以有一部分学者致力于基于直线特征单目视觉定位方法的研究。而基于高级几何特征的单目视觉定位方法目前研究的还比较少。
本文根据基于模型的单目视觉定位方法所使用的定位特征类型把单目视觉定位方法分为基于点特征的定位方法,基于直线特征的定位方法,基于高级几何特征的定位方法,全面介绍了各种特征定位方法的研究现状。目的是方便读者了解各种特征定位方法的研究现状,为未来的研究打下理论基础。
2 点特征定位
点特征定位又称为PNP问题[1],它是计算机视觉、摄影测量学乃至数学领域的一个经典问题。PNP问题是在1981年首先由Fischler和Bolles[2]提出的,即给定N个控制点的相对空间位置以及给定控制点与光心连线所形成的夹角,求出各个控制点到光心的距离,如图1所示。该问题主要被用来确定摄像机与目标物体之间的相对距离和姿态。
经典的问题从本质上来说是非线性的,而且具有多解性。目前对PNP问题的研究主要包括两个方面:设计运算速度快、稳定的算法,来寻找PNP问题的所有解或部分解。对多解现象的研究。即找出在什么条件下有1个、2个、3个或者4个解。
PNP问题的研究集中在对P3P问题、P4P问题、P5P问题的研究上。这是因为如果仅使用两个特征点即P2P问题有无限组解,其物理意义是仅有两个点不能确定两点在摄像机坐标系下的位置。而特征点的个数应该大于五,PNP问题变成了经典的DLT问题,是可以线性求解的。目前,人们对P3P、P4P 问题已研究的比较清楚,并有如下结论:P3P 问题最多有4个解,且解的上限可以达到,对于P4P问题,当4个控制点共面时,问题有唯一解,当4个控制点不共面时,问题最多可能有5个解,且解的上限可以达到。对于P5P问题,当5个控制点中任意3点不共线时,则P5P问题最多可能有两个解,且解的上限可以达到。
3 直线特征定位
当前,基于模型单目视觉定位的模型特征分为点、直线与高级几何特征等几类。相对来说,目前对于基于点特征的单目视觉定位方法研究较多,对于基于直线特征的单目视觉定位方法的研究还比较少。在某些特定的环境中,采用直线特征进行定位比采用点特征进行定位具有一定的优势。直线特征的优势表现在以下几方面:首先,自然环境的图像包含很多的直线特征。其次,在图像上直线特征比点特征的提取精度更高。最后,直线特征抗遮挡能力比较强。同时相对于更高级的几何特征,直线特征也具有优势,具体表现在以下几方面:首先,在周围自然环境的图像中,直线比其他的高级几何特征更常见,同时也更容易提取。其次,直线的数学表达式更简单,处理起来效率更高。因此综合来看,在某些方面采用直线特征进行视觉定位具有其它特征所不具有的一些优势,在实现高精度、实时自主定位方面有着广泛的应用前景。
对于空间恢复,至少需要非共线的三个特征点来获得唯一解。如果使用直线,则需要三条直线,三条直线不同时平行且不和光心共面。目前,理论上研究最多的是利用三线定位的问题,即Perspective Projection of Three Lines,以下简称P3L问题,如图2所示。
对于P3L问题,大部分学者是通过图像直线和摄像机光心构成的投影平面的法向量和物体直线垂直来建立数学模型。这种方法要求确定物体位姿的三条直线不同时平行且不和光心共面,进而建立由三条直线构成的三个非线性方程。Horaud等 [3],Dhome等[4],Chen [5],Liu等[6]都是使用的这种方法。其数学模型可以描述如下:假设摄像机坐标系和物体坐标系之间的旋转矩阵为,已知空间直线在物体坐标系下的方向向量为,经过旋转变换到摄像机坐标系下的方向向量为:。由数学模型得到关于旋转矩阵的关系式为:。因此只要通过三条直线的投影方程,就能通过解方程组求得到矩阵的三个参量,即可以求得矩阵。这种方法有效地解决了使用直线特征如何进行视觉定位的问题,其中的不足之处是非线性方程组比较复杂,定位误差偏大。
基于直线特征进行单目视觉定位,大部分的研究集中在对定位数学模型的求解问题上。目前,求解的方法主要有两种,一种是闭式解,一种是数值解。对于闭式解方法,Dhome[4]和Chen[5]由空间任意三条线通过建立特殊的模型坐标系推导出一个八次多项式,这个八次多项式可以由闭式解的方法来确定物体的位姿。Radu Horaud[3]对于非共面的三条直线得到一个四次多项式,最后可以由迭代的方法也可以由闭式解的方法确定物体的位姿。闭式解方法的优点是实时性好,适合应用在实时系统中,缺点是存在多解问题,定位误差偏大。许多学者提出来各种不同的迭代方法来解决闭式解的多解问题,也就是数值解方法。
对于数值解方法,Yuan[7]建议把R参数从T参数中分离出来,集中计算R参数。R旋转矩阵是通过正交矩阵来表示,解是通过六个二次多项式的公共根来表示,这个公共根通过牛顿迭代梯度法得到,然而作者注意到在使用牛顿迭代梯度法时会出现局部最优解,只有给迭代方法合适的初值才能得到全局最小值。Lowe等[8]使用牛顿迭代法估计物体相对于摄像机的方向和位置参数,以模型投影和图像之间距离的平方和作为误差函数,然后对误差函数计算最小值。和Yuan的方法一样,Lowe等[8]注意到牛顿迭代法的一些问题,并且在以后的文章中他研究了怎样处理初值和稳定性问题,提供好的初值,算法的稳定性是可以保证的。Liu等[6]使用交替迭代方法来求解视觉参数。一条直线的对应可以由两个点的对应来确定,作者注意到,使用线特征对应,旋转参数很容易从位置参数中分离出来,一旦旋转参数确定下来了,对平移参数的求解是线性问题,旋转参数用欧拉角来表示。作者把误差函数线性化,他们注意到当三个角度都比三十度小的时候,该方法效果好。数值解方法的优点是定位精度较高。其缺点是在优化过程中容易出现局部极小值,并不能保证解的唯一性;计算量偏大,迭代时间较长,不适合应用在实时系统中。综合来看,现有的直线特征单目视觉定位算法在定位精度和实时性上很难满足实际工程应用的需要,有待进一步的提高,因此,探讨并研究定位精度高、实时性好的直线特征单目视觉定位算法非常有必要。
4 高级几何特征定位
高级几何特征包括圆,椭圆,二次曲线等。对于基于模型的单目视觉定位问题,很多学者作了这方面的研究工作。通常,他们使用点或直线的投影作为基元,由三个图像点或三条图像直线以及在物体坐标下点或直线之间的相对位置关系,确定模型的姿态。有时,基于模型单目视觉定位问题的模型采用曲线表面的物体,所以使用曲线进行曲线表面物体的定位成为另外一个积极研究的方向。
使用曲线定位的好处是:首先,自然界许多物体的表面上有曲线特征;其次,曲线包含三维物体的全局位姿信息;最后,对曲线的表示是对称矩阵,因此数学处理起来很方便。在很多情况下,我们可以获得闭式解,从而避免了非线性搜索。对比于其它两种特征,不足的地方是自然界中还是点特征和直线特征更普遍存在,具有广泛的适用性。
对于曲线表面的物体,一些学者提出了使用曲线进行定位的方法,如图3所示。当用曲线进行姿态估计时,一定要对复杂的非线性系统进行求解。Forsyth等[9]对于共面曲线提出一种定位方法,这种方法是对两个四次多项式进行求解。Ma Songde[10]提出,对于两个非共面曲线,它的姿态可以对有六个二次多项式组成的非线性系统进行求解得到;当两个空间曲线共面时,可以得到物体姿态的闭式解。
圆和椭圆是曲线的一种。文献[11]提出一种对圆特征进行定位,如图4所示,属于代数方法。在文献[12]中,提出一种新的使用圆特征进行定位的方法,属于几何方法。
图4 圆的透视投影
5 结论
基于模型的单目视觉定位方法研究是计算机视觉领域的一个重要问题。可以应用在多方面,包括机器人自主导航、陆地和空间移动机器人定位、视觉伺服、摄像机校正、目标跟踪、视觉监测、物体识别、零部件装配等。
本文根据基于模型的单目视觉定位方法所使用的定位特征类型把定位方法进行了分类,并且详细介绍了各种特征定位方法的研究现状。
对于基于点特征的定位方法,很多研究者进行了深入广泛的研究,目前的研究成果已经比较成熟。对于基于直线特征和基于高级几何特征的定位方法,目前的研究不是很多。在定位精度和实时性方面还很难满足实际工程应用的需要,在方法上有待于进一步改进和完善。在实际工程应用中,探讨并研究基于直线特征和基于高级几何特征的高精度、实时性好的定位算法具有一定的研究价值。