基本概念
對極幾何(Epipolar Geometry)是Structure from Motion問題中,在兩個相機位置產生的兩幅圖像的之間存在的一種特殊幾何關系,是sfm問題中2D-2D求解兩幀間相機姿態的基本模型。
基本模型
其中c0、c1為兩個相機中心,p為空間中一點,p在c0、c1對應像平面上的投影分別為x0、x1。c0、c1連線與像平面的交點e0、e1稱為極點(Epipoles),l0、l1稱為極線(Epipolar Lines),c0、c1、p三點組成的平面稱為極平面(Epipolar Plane)。
對極約束(Epipolar Constraint)
對極幾何中最重要的一條公式是對極約束(Epipolar Constraint),下面讓我們來推導出這個約束條件。
根據針孔相機模型,相機成像平面一點的像素坐標p和該點在世界坐標系下的3D坐標P有$p=KP$的關系,如果用齊次坐標表示則有:
$$dp=KP$$
其中d是空間點深度(為了將p的齊次項變為1),K是相機內參數矩陣,p和P都是齊次坐標。
於是如果以第一個相機的坐標系為參照,對於兩個相機則有:$$d_0p_0=KP,d_1p_1=K(RP+t)$$
其中R為旋轉矩陣(Rotation),t為平移向量(Translation)。令$x = K^{-1}p$,去掉內參K歸一化成:
$$d_0x_0=P, d_1x_1=RP+t$$
由這兩式得:$$d_1x_1 = R(d_0x_0)+t$$
兩邊同時叉乘t消去加號后面單獨的t項:$$t \times d_1x_1 = t \times Rd_0x_0+t \times t$$
進而:
$$t \times d_1x_1 = t \times Rd_0x_0$$
再在兩遍同時左乘一個x1:
$$x_1^T (t \times d_1x_1) =x_1^T t \times Rd_0x_0$$
由於等號左邊x1乘上了一個和自身垂直的向量,所以等於0,故:
$$x_1^T t \times Rx_0=0$$
該等式稱為對極約束(Epipolar Constraint)。
對極約束的幾何意義:x1、t、Rx0三者混合積為0,表示這三個向量共面,即上圖中三角形的三邊共面。
令$E =t \times R$,得到對極約束的新形式:
$$x_1^TEx_0=0$$
E稱為本質矩陣(Esential Matrix),由外參數R和t決定。
本質矩陣的幾何意義:$x_1^Tl_1=0$,即x1在直線 $l_1=Ex_0$上,表示E將x0投影到另一幀圖像中的直線l1上。
使用方法
有了對極幾何的模型,2D-2D的相機姿態可以通過如下過程求解:
①通過多組對應點(Correspondence)進行幀間匹配,求出本質矩陣E。
②通過對E進行分解求出外參數R和t,即相機姿態。
具體過程參見另一篇博文——相機姿態估計(Pose Estimation) 中2D-2D情形。