图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]提出,对于两个非共面曲线,它的姿态可以对有六个二次多项式组成的非线性系统进行求解得到;当两个空间曲线共面时,可以得到物体姿态的闭式解。
图3 曲线的透视投影
圆和椭圆是曲线的一种。文献[11]提出一种对圆特征进行定位,如图4所示,属于代数方法。在文献[12]中,提出一种新的使用圆特征进行定位的方法,属于几何方法。
图4 圆的透视投影
5 结论
基于模型的单目视觉定位方法研究是计算机视觉领域的一个重要问题。可以应用在多方面,包括机器人自主导航、陆地和空间移动机器人定位、视觉伺服、摄像机校正、目标跟踪、视觉监测、物体识别、零部件装配等。
本文根据基于模型的单目视觉定位方法所使用的定位特征类型把定位方法进行了分类,并且详细介绍了各种特征定位方法的研究现状。
对于基于点特征的定位方法,很多研究者进行了深入广泛的研究,目前的研究成果已经比较成熟。对于基于直线特征和基于高级几何特征的定位方法,目前的研究不是很多。在定位精度和实时性方面还很难满足实际工程应用的需要,在方法上有待于进一步改进和完善。在实际工程应用中,探讨并研究基于直线特征和基于高级几何特征的高精度、实时性好的定位算法具有一定的研究价值。