本文為讀了 An Invitation to 3-D Vision 書中 Chapter 8 的筆記。前文為:多視角電腦視覺筆記(一) 。
Multiple-view Factorization of Point Features
本段介紹一個概念性的演算法:分別固定 motion(相機的旋轉與平移)與 structure(每個點的深度),利用迭代法來算出結果。
Motion Estimation from Known Structure
從前文的結果中我們知道 multi-view matrix \(M_p\) 的 rank 為 1。因此可以寫成以下形式: \[ \begin{bmatrix} \widehat{\mathbf{x}_2^j}R_2\mathbf{x}_1^j\\ \widehat{\mathbf{x}_3^j}R_3\mathbf{x}_1^j\\ \vdots\\ \widehat{\mathbf{x}_m^j}R_m\mathbf{x}_1^j \end{bmatrix} + \alpha^j \begin{bmatrix} \widehat{\mathbf{x}_2^j}T_2\\ \widehat{\mathbf{x}_3^j}T_3\\ \vdots\\ \widehat{\mathbf{x}_m^j}T_m \end{bmatrix} = \mathbf{0}_{3(m-1)\times 1} \]而這個等式與以下式子等價:\[ \lambda_i^j\mathbf{x}_i^j=\lambda_1^jR_i\mathbf{x}_1^j+T_i \\ \widehat{\mathbf{x}_i^j}R_i\mathbf{x}_1^j+\widehat{\mathbf{x}_i^j}T_i/\lambda_1^j=0 \]也就是說這裡的 \(\alpha^j=1/\lambda_1^j\) 即為深度的倒數。
在已知 structure,也就是已知 \(\lambda_1^j\) 或 \(\alpha^j\) 的情況下,我們可以把上式轉換成以下形式,並解出 \(R_i\) 以及 \(T_i\):
\[
P_i
\begin{bmatrix}
R_i^s\\
T_i^s
\end{bmatrix}
\doteq
\begin{bmatrix}
{\mathbf{x}_1^1}^T\otimes \widehat{\mathbf{x}_i^1} & \alpha^1\widehat{\mathbf{x}_i^1}\\
{\mathbf{x}_1^2}^T\otimes \widehat{\mathbf{x}_i^2} & \alpha^1\widehat{\mathbf{x}_i^2} \\
\vdots & \vdots\\
{\mathbf{x}_1^n}^T\otimes \widehat{\mathbf{x}_i^n} & \alpha^1\widehat{\mathbf{x}_i^n}
\end{bmatrix}_{3n \times 12}
\begin{bmatrix}
R_i^s\\
T_i^s
\end{bmatrix}_{12 \times 1}
=\mathbf{0}_{3n \times 1}
\]
Structure Estimation from Known Motion
在已知 motion,也就是相機的旋轉與平移的情況下,我們能夠解出 structure,也就是深度: \[ \alpha^j=-\frac {\sum_{i=2}^m(\widehat{\mathbf{x}_i^j}T_i)^T\widehat{\mathbf{x}_i^j}R_i\mathbf{x}_1^j} {\sum_{i=2}^m \left \| \widehat{\mathbf{x}_i^j}T_i \right \|^2} \]因此這個迭代演算法的概念就是輪流解 motion 與 structure,直到收斂為止。而對於初始條件來說,我們可以用八點演算法用前兩張圖來解一開始的深度。要注意的是這個演算法只是一個概念,無法處理有噪音或不確定性的真實資料。
Multi-view Matrix of a Line
前面介紹了對於一個點的 multi-view matrix \(M_p\),而這一段要介紹的是對應線段的 multi-view matrix。
利用一樣的技巧,multi-view matrix \(M_l\) 的定義為: \[ M_l\doteq \begin{bmatrix} \mathbf{l}_2^TR_2\widehat{\mathbf{l}_1} & \mathbf{l}_2^TT_2\\ \mathbf{l}_3^TR_3\widehat{\mathbf{l}_1} &\mathbf{l}_3^TT_3\\ \vdots & \vdots\\ \mathbf{l}_m^TR_m\widehat{\mathbf{l}_1} &\mathbf{l}_3m^TT_m \end{bmatrix}_{(m-1) \times 4} \\ rank(M_l)=rank(W_l)-1\leq 1 \]
最後列出一些 multi-view matrix 的性質:
- Trilinear constraint:\(\mathbf{l}_j^TT_j\mathbf{l}_i^TR_i\widehat{\mathbf{l_1}} - \mathbf{l}_i^TT_i\mathbf{l}_j^TR_j\widehat{\mathbf{l_1}} =0\)。
- Uniqueness of the preimage 的定理,可用於檢查特徵的配對過程中是否產生沒配對好的點或是 degenerate 的情形。
- \(rank(M_l)=2\):沒有線的對應關係,也沒有 preimage。
- \(rank(M_l)=1\):存在唯一的 preimage。
- \(rank(M_l)=0\):degenerate,preimage 不為唯一。
沒有留言:
張貼留言