引言
机器视觉的基本任务之一是从摄像机获取图像信息并计算三维空间中物体的几何信息,以由此重建和识别物体。而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机参数。在大多数条件下,这些参数必须通过实验与计算才能得到,这个过程被称为摄像机定标(或称为标定)。标定过程就是确定摄像机的几何和光学参数,以及摄像机相对于世界坐标系的方位。由于标定精度的大小,直接影响着计算机视觉(机器视觉)的精度。因此,只有做好了摄像机标定工作,后续工作才能正常展开,可以说,提高标定精度也是当前科研工作的重要方面。
1、摄像机透视投影模型
摄像机通过成像透镜将三维场景投影到摄像机二维像平面上,这个投影可用成像变换(即摄像机成像模型)来描述。摄像机成像模型分为线形模型和非线性模型。针孔成像模型就属于线形摄像机模型,本文就讨论在这种模型下,某空间点与其图像投影点在各种坐标系下的变换关系。图1所示为三个不同层次的坐标系在针孔成像模型下的关系。其中(Xw,Yw,Zw)为世界坐标系,(x,y,z)为摄像机坐标系,XfQfYf为以像素为单位的图像坐标系,XOY为以毫米为单位的图像坐标系。
图像中某点在以毫米为单位的图像坐标系中的坐标与其在以像素为单位的图像坐标系中的坐标的变换关系如下:
空间某点在世界坐标系中的坐标与其在摄像机坐标系中的坐标变换关系如下:
其中,为3×3正交单位矩;t为三维平移向量;M2为4×4矩阵。
由于针孔成像模型有如下关系:
所以,将(1),(2)代入上式的齐次坐标和矩阵表示可得:
其中,M1为摄像机内参数,M2为摄像机外参数。确定某一摄像机参数称为摄像机定标。
2、标定分类
总的来说,摄像机标定可以分为传统的摄像机标定方法和摄像机自标定方法两大类。传统摄像机标定的基本方法是在一定的摄像机模型下,通过对特定标定参照物进行图像处理,并利用一系列数学变换公式计算及优化,来求取摄像机模型内部参数和外部参数。然而,该方法在场景未知和摄像机任意运动的一般情况下,其标定很难实现。20世纪90年代初,Faugeras,Luong,Maybank等人首次提出了摄像机自标定方法。这种自标定法利用摄像机本身参数之间的约束关系来标定,而与场景和摄像机的运动无关,所以更为灵活。
3、传统摄像机标定方法
传统的摄像机标定方法按照标定参照物与算法思路可以分成若干类,如基于3D立体靶标的摄像机标定、基于2D平面靶标的摄像机标定、以及基于径向约束的摄像机标定等。
3.1、基于3D立体靶标的摄像机标定
基于3D立体靶标进行摄像机标定是将一个3D立体靶标放置在摄像机前,靶标上每一个小方块的顶点均可作为特征点。每个特征点相对于世界坐标系的位置在制作时应精确测定。摄像机获得靶标上特征点的图像后,由于表现三维空间坐标系与二维图像坐标系关系的方程是摄像机内部参数和外部参数的非线性方程,如果忽略摄像机镜头的非线性畸变并把透视变换矩阵中的元素作为未知数,来给定一组三维控制点和对应的图像点,那么,就可以利用直接线性变换法来求解透视变换矩阵中的各个元素。所以,由靶标上特征点的世界坐标和图像坐标,即可计算出摄像机的内外参数。
3.2、基于2D平面靶标的摄像机标定
该方法又称为张正友标定法,这是一种适合应用的新型灵活方法。该方法要求摄像机在两个以上不同的方位拍摄一个平面靶标,摄像机和2D平面靶标都可以自由移动,且内部参数始终不变,假定2D平面靶标在世界坐标系中的Z=0,那么,通过线性模型分析就可计算出摄像机参数的优化解,然后用基干最大似然法进行非线性求精。在这个过程中得出考虑镜头畸变的目标函数后就可以求出所需的摄像机内、外部参数。这种标定方法既具有较好的鲁棒性,又不需昂贵的精制标定块,很有实用性。但是,张正友方法在进行线性内外参数估计时,由于假定模板图像上的直线经透视投影后仍然为直线,进而进行图像处理,这样,实际上会引入误差,所以,嘎方法在广角镜畸变比较大的情况误差较大。
3.3、基于径向约束的摄像机标定
Tsai(1986)给出了一种基于径向约束的两步法标定方法,该方法的核心是先利用RAC(径向一致约束)条件用最小二乘法解超定线性方程,以求出除tτ(摄像机光轴方向的平移)外的其他像机外参数,然后再在摄像机有和无透镜畸变等两种情况下求解摄像机的其他参数。Tsai方法的精度比较高,适用于精密测量,但它对设备的要求也很高,不适用于简单的标定。这种方法的精度是以设备的精度和复杂度为代价的。
4、摄像机自标定方法
不依赖于标定参照物,仅利用摄像机在运动过程中周围环境图像与图像之间的对应关系来对摄像机进行的标定的方法称为摄像机自标定方法。目前已有的自标定技术大致可以分为基于主动视觉的摄像机自标定技术、直接求解Kruppa方程的摄像机自标定方法、分层逐步标定法、基于二次曲面的自标定方法等几种。
4.1、基于主动视觉的自标定法
所谓主动视觉系统,是指摄像机被固定在一个可以精确控制的平台上,且平台的参数可以从计算机精确读出,只需控制摄像机作特殊的运动来获得多幅图像,然后利用图像和已知的摄像机运动参数来确定摄像机的内外参数。其代表性的方法是马颂德提出的基于两组三正交运动的线性方法,后来杨长江,李华等人提出了改进的方案,即分别是基于4组平面正交以及5组平面正交运动并利用图像中的极点信息来线性标定摄像机参数。此种自标定方法算法简单,可以获得线性解,不足之处在于必须有可以精确控制的摄像机运动平台。
4.2、基于Kruppa方程的自标定方法
Faugeras,Luong,Maybank等提出的自标定方法是直接基于求解Kruppa方程的一种方法,该方法利用绝对二次曲线像和极线变换的概念推导出Kruppa方程。基于Kxuppa方程的自标定方法不需要对图像序列做射影重建,而是对两图像之间建立方程,这个方法在某些很难将所有图像统一到一致的射影框架场合会比分层逐步标定法更具优势,但代价是无法保证无穷远平面在所有图像对确定的射影空间里的一致性,当图像序列较长时,基于Kruppa方程的自标定方法可能不稳定。且其鲁棒性依赖于给定的初值。
4.3、分层逐步标定法
近年来,分层逐步标定法已成为自标定研究中的热点,并在实际应用中逐渐取代了直接求解Kruppa方程的方法。分层逐步标定法首先要求对图像序列做射影重建,再通过绝对二次曲线(面)施加约束,最后定出仿射参数(即无穷远平面方程)和摄像机内参数。分层逐步标定法的特点是在射影标定的基础上,以某一幅图像为基准做射影对齐,从而将未知数数量缩减,再通过非线性优化算法同时解出所有未知数。不足之处在于非线性优化算法的初值只能通过预估得到,而不能保证其收敛性。由于射影重建时,都是以某参考图像为基准,所以,参考图像的选取不同,标定的结果也不同相。
4.4、基于二次曲面的自标定方法
Triggs是最早将绝对二次曲面的概念引入自标定的研究中来的,这种自标定方法与基于Kruppa方程的方法在本质上是相同的,它们都利用绝对二次曲线在欧氏变换下的不变性。但在输入多幅图像并能得到一致射影重建的情况下,基于二次曲面的自标定方法会更好一些,其根源在于二次曲面包含了无穷远平面和绝对二次曲线的所有信息,且基于二次曲面的自标定方法又是在对所有图像做射影重建的基础上计算二次曲面的,因此,该方法保证了无穷远平面对所有图像的一致性。
5、结束语
本文对基于机器视觉的摄像机标定理论与各种方法进行了研究。传统的摄像机标定需要标定参照物。为了提高计算精度,还需确定非线性畸变校正参数。而新的比较符合摄像机成像物理模型且又便于分析计算的实用模型是条另辟蹊径的发展方向。摄像机自标定相对于传统方法有更好的灵活性和实用性,通过十多年的不懈努力,理论上的问题已基本解决,目前研究的重点是如何提高标定算法的鲁棒性以及如何很好地用这些理论来解决实际视觉问题。为了提高鲁棒性,建议更多的使用分层逐步自标定方法,并应对自标定的结果进行线性优化