我们的目标是,首先在真实世界中选取特定的点,测量其坐标(这个是人为可以测量得到的),然后观察它在图像中的坐标,估计相机的内、外参数,利用相机的内外参数,就可以计算真实世界中任意点的坐标。
我们使用摄像机对物体进行拍摄时,本质上是将object space中的点 O O O映射到film plane中的图像点 I ′ I' I′上,具体关系如图1a所示;而数字化的又是将图上的点再次映射到projection plane I I I上,具体关系如图1b所示。
但是通常情况下,为了简单起见,人们一般都是将object space与projection plane相对应,也就是object space中的 O O O点直接映射到projection plane中的 I I I上。
在上图中,可以明显的看到,object space中的坐标系 X Y Z XYZ XYZ-system 和 image-plane中的 U V UV UV-system, N N N是project center,在上图中,点 I I I和点 O O O存在映射关系,假设点 I , N , O I,N,O I,N,O,这三个点之间的关系满足colinear(共线性),这也是DLT method成立的基础。
假设project center(N)在object-space中的位置坐标为 [ x o , y o , z o ] [x_o,y_o,z_o] [xo,yo,zo],那么, O , N O,N O,N之间向量表示为: A ⃗ = [ x − x o , y − y o , z − z o ] \vec{A}=[x-x_o,y-y_o,z-z_o] A=[x−xo,y−yo,z−zo]
由于在image plane上面只有 U V UV UV两个坐标系,这个时候我们再加一个轴 W W W作为第三个轴,构成立体结构,那么,在image plane空间中, W W W方向上的坐标永远为0,那么坐标可以表示为:
对于新点 P P P,记为principal point,那么, N P NP NP平行于轴 W W W,垂直于面image plane,又称为principal axis, N P NP NP的距离称为principal distance,长度为 d d d,假设 P P P的坐标为 [ u o , v o , 0 ] [u_o, v_o, 0] [uo,vo,0],而 N N N的坐标为 [ u o , v o , d ] [u_o, v_o, d] [uo,vo,d],那么 B ⃗ \vec{B} B可表示为 [ u − u o , v − v o , − d ] [u-u_o,v-v_o, -d] [u−uo,v−vo,−d]。
由于 O , I , N O, I, N O,I,N是共线的,那么向量 A ⃗ \vec{A} A和 B ⃗ \vec{B} B之间的关系为
B ⃗ = c A ⃗ \vec{B}=c\vec{A} B=cA
上式中, c c c是一个比例因子,为了方便计算,可将 A ⃗ \vec{A} A用image-plane进行表示,假设image plane与object plane之间的变换矩阵为:
在上式中, A ⃗ ( I ) \vec{A}^{(I)} A(I)代表在image-plane中的 A ⃗ \vec{A} A(也就是 I P ⃗ \vec{IP} IP), A ⃗ ( O ) \vec{A}^{(O)} A(O)代表在object-plane中的 A ⃗ \vec{A} A, T ⃗ I / O \vec{T}_{I/O} TI/O代表从object-plane到image-object空间的变换矩阵。于是向量 B ⃗ \vec{B} B与向量 N O ⃗ \vec{NO} NO之间就有关系式:
或者可以表示为:
根据公式4的第三个分量,可以计算出比例因子 c c c为:
于是前两个分量可以表示为:
注意一点: u , v , u o , v o u,v,u_o,v_o u,v,uo,vo代表的是真实生活中照片上的距离单位可能是cm,而映射到digitization system中可能使用不同的长度单位,如像素,因此,必须再乘除比例因子: λ \lambda λ
这里的 λ u \lambda_u λu和 λ v \lambda_v λv是两个方向的比例,一般来说不会一样。现在,整理 x , y , z x,y,z x,y,z的表达式,
其中,
系数 L 1 L_1 L1到 L 11 L_{11} L11代表了object plane和image-plane的映射关系。
由于是在2D图像中(比如俯拍),真实世界的 z z z轴总是为0,那么, u , v u,v u,v的表达式可以表示成(系数与公式8不是一个东西)
根据公式31,设置至少 n n n个坐标点 n ≥ 4 n\geq4 n≥4,和至少 m m m个相机 m ≥ 1 m\geq1 m≥1,变换矩阵可以得到: