2021年12月6日 星期一

多視角電腦視覺筆記(二)

本文為讀了 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 不為唯一。

沒有留言:

張貼留言