2022年2月27日 星期日

簡介 Trifocal Tensor(二)

本篇文章接續前文介紹 trifocal tensor 的性質。

Epipolar lines

前文提過 Point-line-line correspondence 的式子為:\[l'^T(\sum x^iT_i)l''=0\],但如果 l' 或 l'' 為 x 對應的 epipolar line 的話則產生以下式子: \[ l'^T(\sum x^iT_i)=\mathbf{0}^T \\ (\sum x^iT_i) l'' = \boldsymbol{0} \]因此只要有第一個 view 上的點 x 以及 trifocal tensors \(T_i\) 就能算出這兩條對應的 epipolar lines;也因此利用 epipolar lines 的交點便能算出在第二個 view 與第三個 view 上的 epipole \(\mathbf{e'}\) 與 \(\mathbf{e''}\):

  • \(T_i\) 的 left null vectors 的交點為 \(\mathbf{e'}\)
  • \(T_i\) 的 right null vectors 的交點為 \(\mathbf{e''}\)

Fundamental matrices

在給定 trifocal tensor 之後,我們可以算出第一個 view 與第二個 view 的 homography: \[ \mathbf{x'} = [T_1, T_2, T_3]l'' \mathbf{x} \]兩邊加上第二個 view 的 epipole 外積可得 epipolar line: \[ l' = [e']_{\times}\mathbf{x'} = [e']_{\times}[T_1, T_2, T_3]l'' \mathbf{x} \]其中的 \( [e']_{\times}[T_1, T_2, T_3]l''\) 即為 fundamental matrix。為了預防 degenerate case,我們用第三個 view 的 epipole \(\mathbf{e''}\) 代替 \(l''\),結果即為可用 trifocal tensor 算出 fundamental matrix: \[ F_{21}=[e']_{\times}[T_1, T_2, T_3]e'' \\ F_{31}=[e'']_{\times}[T_1, T_2, T_3]e' \]

Camera matrices

利用 trifocal tensor 算出 epipole 後,也可以直接算出 camera matrices: \[ P'=[[T_1, T_2, T_3]e'' | e'] \\ P'' = [(e''e''^T-I)[T_1^T, T_2^T, T_3^T]e' | e''] \]詳細的證明可參考 Multiple View Geometry 書中的 15.1.5。

沒有留言:

張貼留言