Fattorizzazione della Matrice Essenziale

Nelle sezioni precedenti si è visto come, sfruttando almeno 5 corrispondenze tra punti omologhi tra due immagini, è possibile ottenere la matrice Essenziale che codifica la posa relativa tra le due camere. La matrice Essenziale può essere nuovamente fattorizzata in rotazione e traslazione. In questo modo è possibile ottenere i parametri relativi delle camere coinvolte e, attraverso questa informazione, riuscire ad eseguire una ricostruzione tridimensionale della scena osservata.

Come suggerito da Trivedi, dalla definizione di matrice essenziale (9.41) è facile mostrare che la matrice simmetrica $\mathbf{E} \mathbf{E}^{\top}$ è indipendente dal vettore rotazione:

\begin{displaymath}
\mathbf{E} \mathbf{E}^{\top} = [\mathbf{t}]_{\times} [\math...
...z \\
- t_z t_x & - t_z t_y & t^2_x + t^2_y \\
\end{bmatrix}\end{displaymath} (9.71)

Dalla matrice $\mathbf{E} \mathbf{E}^{\top}$ si può ricavare il vettore traslazione $\mathbf{t}$, ricordando sempre che tale vettore è conosciuto a meno di un fattore moltiplicativo (e pertanto di segno), con cui poi ricavare $\mathbf{R}$.

La matrice Essenziale può essere anche fattorizzata direttamente attraverso la Decomposizione a Valori Singolari. Sia $\mathbf{U}\mathbf{D}\mathbf{V}^{\top}$, dove $\mathbf{D}=\diag (1,1,0)$, la SVD di $\mathbf{E}$ (se così non fosse, è comunque possibile proiettare la matrice $\mathbf{E}$ nello spazio delle matrici Essenziali, come descritto in sezione 9.4.1). Attraverso questa decomposizione si possono estrarre i componenti generatori di $\mathbf{E}$:

\begin{displaymath}[\mathbf{t}]_{\times} = \mathbf{U} \left( \mathbf{R}^{\top}_z...
...\top} \vert \mathbf{U} \mathbf{R}_{z}^{\top} \mathbf{V}^{\top}
\end{displaymath} (9.72)

dove
\begin{displaymath}
\mathbf{R}^{\top}_z \mathbf{D} = \begin{bmatrix}
0 & 1 & 0...
...x}
0 & -1 & 0 \\
1 & 0 & 0 \\
0 & 0 & 1 \\
\end{bmatrix}\end{displaymath} (9.73)

con $\mathbf{R}_{z}$ rotazione intorno all'asse $z$ di un angolo di $\frac{\pi}{2}$. È da notare che $[\mathbf{t}]_{\times} \mathbf{t} = 0$ per ogni possibile $\mathbf{t}$. Si può dimostrare che questo è possibile solo quando $\mathbf{t} = \mathbf{U} (0,0,1)^\top = \mathbf{u}_3$, ultima colonna della matrice $\mathbf{U}$.

La matrice di rotazione $\mathbf{R}$ presenta così due possibili soluzioni ruotate di 180^ tra loro rispetto all'asse che congiunge i due pin-hole. Siccome il vettore $\mathbf{t}$ è conosciuto a meno di un fattore moltiplicativo e il vincolo $\vert\mathbf{t}\vert=1$ non permette di ricavare il segno della traslazione, esistono anche due ulteriori alternative per la fattorizzazione dovute a una ambiguità sul segno che può assumere $\mathbf{t}$. Esistono pertanto 4 differenti fattorizzazioni, tutte plausibili, di una matrice Essenziale e fra queste va scelta quella che proietta tutti i punti (o la maggior parte) frontalmente rispetto ad entrambe le camere.

Paolo medici
2025-03-12