2.1 线性摄像机模型
摄像机模型表现了物体在世界坐标系中的坐标与其在图像坐标系中的坐标之间的关系,即给出了物点(空间点)和像点之间的投影关系。
线性模型又称为针孔模型,在这类模型中,认为3D空间中的任意一点在图像坐标系上所成的像是通过小孔成像原理形成的。
2.1.1 完整成像模型
《2D计算机视觉:原理、算法及应用》讨论了一般成像模型,在实际应用中,完整的成像模型还要考虑两个因素:①摄像机坐标系不仅与世界坐标系是分开的,其与图像坐标系也是分开的;②成像的最终目标是用于计算机加工,所以需要建立世界坐标系与计算机图像坐标系的联系。由于计算机中使用的图像坐标单位是存储器中离散像素的个数,所以需要对像平面上的坐标进行取整转换。也有人认为,图像坐标系包括图像物理坐标系和图像像素坐标系两部分,前者对应像平面上的坐标,而后者对应计算机中的坐标。
考虑上文讨论的两个因素,一个完整的成像过程共涉及4个不重合坐标系之间的3步转换,如图2-1所示。
图2-1 线性摄像机模型下从3D世界坐标系到计算机图像坐标系转换示意
(1)从世界坐标系XYZ到摄像机坐标系xyz的转换Z1,可表示为
其中,R和T分别为3×3旋转矩阵(实际上是两个坐标系的三组对应坐标轴轴间夹角的函数)和1×3平移矩阵:
(2)从摄像机坐标系xyz到像平面坐标系x′y′的转换Z2,可表示为
(3)从像平面坐标系x′y′到计算机图像坐标系MN的转换Z3,可表示为
其中,M和N分别为计算机存储器中像素的总行数和总列数(计算机坐标);Om和On分别为计算机存储器中心像素所在的行数和列数;Sx为沿x方向(扫描线方向)两相邻传感器中心间的距离,Sy为沿y方向两相邻传感器中心间的距离;Lx为x方向传感器元素的个数;Mx为计算机在一行内的采样数(像素个数);μ为一个取决于摄像机的不确定性图像尺度因子。根据传感器的工作原理,在逐行扫描时,图像获取硬件和摄像机扫描硬件间的时间差或摄像机扫描本身在时间上的不精确性会引入某些不确定性因素。这些不确定性因素可通过引入不确定性图像尺度因子μ来描述,建立受不确定性图像尺度因子影响的像平面坐标系x′y′与计算机图像坐标系MN之间的联系。
2.1.2 基本标定程序
根据在《2D计算机视觉:原理、算法及应用》中讨论的一般成像模型,如果对空间点的齐次坐标Wh进行一系列变换(PRTWh),就可把世界坐标系与摄像机坐标系重合起来。这里,P是成像投影变换矩阵,R是摄像机旋转矩阵,T是摄像机平移矩阵。令A=PRT,A中的元素包括摄像机平移、旋转和投影参数,则有图像坐标的齐次表达:Ch=AWh。如果在齐次表达中令k=1(k是齐次坐标表达中不为零的常数),可得到
根据齐次坐标的定义,笛卡儿形式的摄像机坐标(像平面坐标,x与x′、y与y′分别重合,统一用x、y表示)为
将式(2-9)和式(2-10)代入式(2-8)并展开矩阵积得到
其中,Ch3的展开式因与z相关而略去。
将Ch4代入式(2-11)和式(2-12),可得到共有12个未知量的两个方程:
由此可见,一个标定程序应该包括:①获得M≥6个具有已知世界坐标(Xi,Yi,Zi),i=1,2,…,M的空间点(在实际应用中,常取25个以上的点,再借助最小二乘法拟合来减小误差);②用摄像机在给定位置拍摄这些点以得到它们对应的像平面坐标(xi,yi),i=1,2,…,M;③把这些坐标代入式(2-14)和式(2-15),解出未知系数。
为实现上述标定程序,需要获得具有对应关系的空间点和像点。为精确地确定这些点,需要使用标定物(也称为标定靶,即标准参照物),其上有固定的标记点(参考点)图案。最常用的2D标定物上有一系列规则排列的正方形图案(类似国际象棋棋盘),这些正方形的顶点(十字线交点)可作为标定的参考点。如果采用共平面参考点标定算法,则标定物对应一个平面;如果采用非共平面参考点标定算法,则标定物一般对应两个正交的平面。
2.1.3 内、外参数
摄像机标定涉及的标定参数可分成外参数(在摄像机外部)和内参数(在摄像机内部)两类。
1.外参数
图2-1中的第1步转换是从3D世界坐标系变换到中心位于摄像机光学中心的3D摄像机坐标系,其变换参数称为外参数,也称为摄像机姿态参数。旋转矩阵R一共有9个元素,但实际上只有3个自由度,可借助刚体转动的3个欧拉角来表示。欧拉角示意如图2-2所示(这里视线逆X轴),其中XY平面和xy平面的交线AB称为节线,AB和x轴间的夹角θ是第1个欧拉角,称为自转角(也称为偏转角),是绕z轴旋转的角;AB和X轴间的夹角ψ是第2个欧拉角,称为进动角(也称为倾斜角),是绕Z轴旋转的角;Z轴和z轴间的夹角ϕ是第3个欧拉角,称为章动角(也称为俯仰角),是绕节线旋转的角。
图2-2 欧拉角示意
利用欧拉角可将旋转矩阵表示成θ、ϕ、ψ的函数:
可见,旋转矩阵有3个自由度。另外,平移矩阵也有3个自由度(3个方向的平移系数)。这样摄像机共有6个独立的外参数,即R中的3个欧拉角θ、ϕ、ψ和T中的3个元素Tx、Ty、Tz。
2.内参数
图2-1中的后2步转换是从3D摄像机坐标系变换到2D计算机图像坐标系,其变换参数称为内参数,也称为摄像机内部参数。一共有4个内参数:焦距λ、不确定性图像尺度因子μ、像平面原点的计算机图像坐标Om和On。
区分外参数和内参数的主要意义是,当用一个摄像机在不同位置和方向获取多幅图像时,各幅图像所对应的摄像机外参数可能是不同的,但内参数不会变化,所以移动摄像机后只需重新标定外参数而不必再标定内参数。
❑ 例2-1 摄像机标定中的内、外参数
摄像机标定就是要将摄像机坐标系与世界坐标系对齐。从这个观点出发,另一种描述摄像机标定中内、外参数的方式如下。
将一个完整的摄像机标定变换矩阵C分解为内参数矩阵Ci和外参数矩阵Ce的乘积:
C i在通用情况下是一个4×4的矩阵,但一般可简化成一个3×3的矩阵:
其中,Sx和Sy分别是沿x轴和y轴的缩放系数;Px和Py分别是沿x轴和y轴的偏斜系数(源自实际摄像机光轴的非严格正交性,反映在图像上就是像素的行和列之间不是严格的90°);Tx和Ty分别是沿x轴和y轴的平移系数(将摄像机的投影中心移到合适的位置);λ是镜头的焦距。
C e的通用形式也是一个4×4的矩阵,可写成
其中,R1、R2、R3分别是3×3旋转矩阵(只有3个自由度)的3个行矢量;T是3D平移矩阵(列矢量);0是一个1×3的矢量。
由上可见,矩阵Ci有7个内参数,而矩阵Ce有6个外参数,但两个矩阵都有旋转参数,所以可将内参数矩阵的旋转参数归入外参数矩阵。因为旋转是缩放和偏斜的组合,将旋转从内参数矩阵中除去后,Px和Py就相同了(Px=Py=P)。在考虑线性摄像机模型时,P=0。所以内参数矩阵中只有5个参数,即λ、Sx、Sy、Tx、Ty。这样一来,两个矩阵共有11个需要标定的参数,可根据基本标定程序来进行标定。在特殊情况下,如果摄像机很精确,则Sx=Sy=S=1,此时内参数只有3个。进一步,如果将摄像机对齐,则Tx=Ty=0。这样就只剩1个内参数λ。