2022年6月9日 星期四

投影幾何、Absolute Conic、與圖片的消失點、消失線

本文為 Multiple View Geometry 第八章 More Single View Geometry 的筆記,介紹了投影相機 Projective Camera 的特性、 absolute conic、image of the absolute conic 的觀念、與消失點跟消失線。

投影相機 Projective Camera 的特性

相機矩陣 P 為 3*4 的矩陣,會將三維世界中的點 \(\mathbf{X}\) 轉換至二維圖片上的點 上 \(\mathbf{x}\),也就是 \(\mathbf{x} = P\mathbf{X}\)。我們可以自己決定世界坐標系的定義,因此在世界坐標系中 \(Z=0\) 平面上的點經由 P 轉換後,P 的第三個 column 將會毫無作用,也就是說 P 會變成一個 3*3 的矩陣(homography)矩陣。此平面與二維圖片的平面的關係可用一個 homography 矩陣描述。

固定相機中心的特性

當兩個相機矩陣 P 與 P' 的相機中心相同時,其關係式為 \(P' = (K'R')(KR)^{-1}P\),也就是說這兩個相機投影後的二維圖片點的關係式為: \[ \mathbf{x}=P'\mathbf{X}=(K'R')(KR)^{-1}P\mathbf{X}=(K'R')(KR)^{-1}\mathbf{x} \]而這兩個點的關係一樣也是能用 homography 矩陣 \((K'R')(KR)^{-1}\) 來描述。

利用此特性我們可以推出在移動圖片平面、轉動相機之後的相機矩陣,也可以用來合成不同的視角或是把圖片用 planar panoramic mosaicing 接起來。

相機的 intrinsics calibration 與 absolute conic

這一段的目的是介紹如何利用 absolute conic 的觀念,在只用一張圖片即可求出相機 intrinsics 的方法。

解釋 absolute conic 與 image of the absolute conic

Absolute conic 是一個位於無限平面上的 conic。首先來複習一下無限平面(plane at infinity):當兩個平面平行時,他們的相交線即在無限平面上;當有一條直線與一條線或一個平面平行時,此交點也在無限平面上。無限平面的三維表示法為 \((0, 0, 0, 1)^T\);其包含了所有的 points at infinity \((x_1, x_2, x_3, 0)^T \)。

Absolute conic 必須滿足兩個條件: \[ X_1^2+X_2^2+X_3^2=0 \\ X_4=0 \]定義此 conic 的式子可以寫成:\((X_1, X_2, X_3)I(X_1, X_2, X_3)^T=0\),因此此 conic 在無限平面上對應的矩陣即為 I。

接下來我們要推導的是無限平面上的點 \((x_1, x_2, x_3, 0)^T \) 與相機矩陣 P 的關係: \[ \mathbf{x}=P\mathbf{X}_{\infty}=KR[I|-\mathbf{C}]\begin{bmatrix} \mathbf{d}\\ 0 \end{bmatrix} =KR\mathbf{d} \]上式的物理意義為 KR 矩陣為一個 homography 矩陣,用來對應無限平面與二維圖片平面。

接下來要用一個已知的結果:當 homography 矩陣為 H 時,conic 矩陣 C 的對應關係式為 \(C' = H^{-T}CH^{-1}\),因此當 absolute conic 在無限平面上為 I 時,其對應在二維圖片上的 image of the absolute conic 即為 \((KK^T)^{-1}\)。

Image of the absolute conic \(\omega\) 的性質

  • \(\omega\) 只與相機的 intrinsics 矩陣 K 有關,與相機的平移旋轉無關。
  • 兩束三維世界中的光在二維圖片上會呈現以下關係:\[ cos\ \theta = \frac{\mathbf{x_1}^T \mathbf{\omega} \mathbf{x_2}} {\sqrt{\mathbf{x_1}^T \mathbf{\omega} \mathbf{x_1}} \sqrt{\mathbf{x_2}^T \mathbf{\omega} \mathbf{x_2}} } \]
  • 如果這兩束光垂直的話,上式會得到 0,因此我們可以用此性質來得到一個 constraint。

簡單的相機 intrinsics calibration 設備

calibration device

想像一下上圖在三維世界為三個正方形,上面兩個是立起來的,下面的是橫躺著的。我們對於三個正方形分別計算 homography 矩陣,讓他們的頂點對應到 \((0,0), (0,1), (1, 0), (1,1)\) 四個角。

接下來,我們計算對應的 circular points,也就是計算 \(H(1, \pm i, 0)^T\) 得到 \(\mathbf{h}_1 \pm i\mathbf{h}_2\)。由於這兩束光垂直,我們可以用上面介紹過的性質得到: \[ \mathbf{h}_1^T \mathbf{\omega} \mathbf{h}_2 = 0 \\ \mathbf{h}_1^T \mathbf{\omega} \mathbf{h}_1^T = \mathbf{h}_2^T \mathbf{\omega} \mathbf{h}_2 \]一個 homography 矩陣得到兩個式子,因此三個正方形對應的三組 homography 矩陣可以提供六個式子,即可求得 \(\omega\)。

最後只要用 Cholesky 分解 \(\omega\) 後即可得到 intrinsics 矩陣 K。

消失點與消失線

計算消失點與消失線

當給定相機矩陣 P 時,我們可以用任何的 points at infinity 計算二維圖片中的消失點位置,例如要計算 X 軸的消失點就計算 \(P(1, 0, 0, 0)^T\) 即可。在同一個平面上的軸對應的消失點會在同一條消失線上,而地板平面對應的消失線即稱為水平線(horizon)。

消失線的應用:估計高度

在投影幾何的框架中具有 cross ratio 不變性,因此我們可以用此性質來估計一張二維圖片中相對高度的比例。這個應用所需要的輸入為圖片的消失線、垂直此對應平面的消失點、以及想要計算的物體的位置。參考資料 [1, 2] 中有一些圖片例子。

利用 image of the absolute conic 計算相機 intrinsics 的一般式

最後來總結一下這一張的內容,並且給出 image of the absolute conic 用來計算相機矩陣的一般式(上面的例子為一個特殊情況)。

我們知道 image of the absolute conic 有五個自由度,因此我們需要五個 constraints 來解出 \(\omega\),進而用 Cholesky 分解算出相機 intrinsics 矩陣 K。以下為可以用的 constraints:

  • 垂直的消失點:\(\mathbf{v}_1^T \mathbf{\omega} \mathbf{v}_2 = 0\)
  • 垂直的消失點與消失線:\([\mathbf{l}]_{\times}\mathbf{\omega} \mathbf{v} = 0\),此關係提供兩個 constraints
  • 已知的 homography(即為上面的簡單 intrinsics calibration 設備例子):可提供兩個式子
  • Zero skew:\(\omega_{12}=\omega_{21}=0\),可提供一個 constraint
  • Square pixel:\(\omega_{12}=\omega_{21}=0, \omega_{11} = \omega_{22}\),此關係提供兩個 constraints

只要能利用上面任何關係湊滿五個 constraints 即可求出 intrinsics 矩陣了。

沒有留言:

張貼留言