三維重建之DLT method

1 基本概念

我們的目標是,首先在真實世界中選取特定的點,測量其座標(這個是人爲可以測量得到的),然後觀察它在圖像中的座標,估計相機的內、外參數,利用相機的內外參數,就可以計算真實世界中任意點的座標。

2 引言

我們使用攝像機對物體進行拍攝時,本質上是將object space中的點OO映射到film plane中的圖像點II'上,具體關係如圖1a所示;而數字化的又是將圖上的點再次映射到projection planeII上,具體關係如圖1b所示。
在這裏插入圖片描述
但是通常情況下,爲了簡單起見,人們一般都是將object spaceprojection plane相對應,也就是object space中的OO點直接映射到projection plane中的II上。
在這裏插入圖片描述
在上圖中,可以明顯的看到,object space中的座標系XYZXYZ-system 和 image-plane中的UVUV-system,NNproject center,在上圖中,點II和點OO存在映射關係,假設I,N,OI,N,O,這三個點之間的關係滿足colinear(共線性),這也是DLT method成立的基礎。

3. 具體算法

3.1 2D DLT method

3.1.1 算法思想

假設project center(N)在object-space中的位置座標爲[xo,yo,zo][x_o,y_o,z_o],那麼,O,NO,N之間向量表示爲:A=[xxo,yyo,zzo]\vec{A}=[x-x_o,y-y_o,z-z_o]
在這裏插入圖片描述
由於在image plane上面只有UVUV兩個座標系,這個時候我們再加一個軸WW作爲第三個軸,構成立體結構,那麼,在image plane空間中WW方向上的座標永遠爲0,那麼座標可以表示爲:
在這裏插入圖片描述
對於新點PP,記爲principal point,那麼,NPNP平行於軸WW,垂直於面image plane,又稱爲principal axisNPNP的距離稱爲principal distance,長度爲dd,假設PP的座標爲[uo,vo,0][u_o, v_o, 0],而NN的座標爲[uo,vo,d][u_o, v_o, d],那麼B\vec{B}可表示爲[uuo,vvo,d][u-u_o,v-v_o, -d]

由於O,I,NO, I, N是共線的,那麼向量A\vec{A}B\vec{B}之間的關係爲
B=cA \vec{B}=c\vec{A}
上式中,cc是一個比例因子,爲了方便計算,可將A\vec{A}image-plane進行表示,假設image planeobject plane之間的變換矩陣爲:
在這裏插入圖片描述
在上式中,A(I)\vec{A}^{(I)}代表在image-plane中的A\vec{A}(也就是IP\vec{IP}),A(O)\vec{A}^{(O)}代表在object-plane中的A\vec{A}TI/O\vec{T}_{I/O}代表從object-planeimage-object空間的變換矩陣。於是向量B\vec{B}與向量NO\vec{NO}之間就有關係式:
在這裏插入圖片描述
或者可以表示爲:
在這裏插入圖片描述
根據公式4的第三個分量,可以計算出比例因子cc爲:
在這裏插入圖片描述
於是前兩個分量可以表示爲:
在這裏插入圖片描述
注意一點:u,v,uo,vou,v,u_o,v_o代表的是真實生活中照片上的距離單位可能是cm,而映射到digitization system中可能使用不同的長度單位,如像素,因此,必須再乘除比例因子:λ\lambda
在這裏插入圖片描述
這裏的λu\lambda_uλv\lambda_v是兩個方向的比例,一般來說不會一樣。現在,整理x,y,zx,y,z的表達式,
在這裏插入圖片描述
其中,
在這裏插入圖片描述
在這裏插入圖片描述
係數L1L_1L11L_{11}代表了object planeimage-plane的映射關係。

3.1.2 求解參數

由於是在2D圖像中(比如俯拍),真實世界的zz軸總是爲0,那麼,u,vu,v的表達式可以表示成(係數與公式8不是一個東西)
在這裏插入圖片描述
根據公式31,設置至少nn個座標點n4n\geq4,和至少mm個相機m1m\geq1,變換矩陣可以得到:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章