Rimozione rumore sotto vincoli epipolari

Come si è visto in sezione 9.3.1, triangolare punti affetti da rumore porta a rette non incidenti la cui intersezione non minimizza il residuo in coordinate immagine (per esempio sotto la metrica della distanza euclidea). Abbiamo anche visto che la miglior stima dei punti non affetti da rumore minimizza la quantità di equazione 9.67 sotto il vincolo epipolare 9.68. Finora però, data la conoscenza della matrice Essenziale/Fondamentale, questa minimizzazione ha richiesto il punto tridimensionale come variabile ausiliaria e una tecnica (iterativa) di ottimizzazione inizializzata per esempio sfruttando la triangolazione con rette sghembe dei punti affetti da rumore.

Esiste una tecnica globale non lineare che permette di ottenere la triangolazione ottima (la stima dei punti immagine) attraverso un metodo polinomiale (HS97) che richiede di trovare le radici di un polinomio di 6^ grado. Come più chiaramente discusso in (Lin10), la triangolazione ottima può essere vista come il seguente problema di minimizzazione:

\begin{displaymath}
\min \left( \delta \mathbf{m}_2^{\top} \delta \mathbf{m}_2 + \delta \mathbf{m}_1^{\top} \delta \mathbf{m}_1 \right)
\end{displaymath} (9.79)

soggetto al vincolo epipolare
\begin{displaymath}
\hat{\mathbf{m}}_2^{\top} \mathbf{E} \hat{\mathbf{m}}_1 = (...
...f{E} (\mathbf{m}_1 - \mathbf{S}^\top \delta \mathbf{m}_1 ) = 0
\end{displaymath} (9.80)

avendo definito $\delta \mathbf{m}_1 = \mathbf{S} (\mathbf{m}_1 - \hat{\mathbf{m}}_1)$ e $\delta \mathbf{m}_2 = \mathbf{S} (\mathbf{m}_2 - \hat{\mathbf{m}}_2)$ dove
\begin{displaymath}
\mathbf{S} = \begin{bmatrix}
1 & 0 & 0 \\
0 & 1 & 0
\end{bmatrix}\end{displaymath} (9.81)

serve ad estrarre le sole componenti non omogenee dal vettore. Come visto in precedenza i punti $\left( \hat{\mathbf{m}}_1, \hat{\mathbf{m}}_2 \right)$ sono la stima dei punti non affetti da rumore mentre $\left( \mathbf{m}_1, \mathbf{m}_2 \right)$ sono i punti osservati.

Questo problema di minimizzazione vincolata si può risolvere attraverso l'ausilio dei moltiplicatori di Lagrange:

\begin{displaymath}
\mathcal{L}(\delta \mathbf{m}_1, \delta \mathbf{m}_2, \lamb...
...athbf{E} (\mathbf{m}_1 - \mathbf{S}^\top \delta \mathbf{m}_1 )
\end{displaymath} (9.82)

Il gradiente della Lagrangiana si annulla in
\begin{displaymath}
\begin{array}{l}
\hat{\mathbf{m}}_2^{\top} \mathbf{E} \hat{\...
...{E} \hat{ \mathbf{m} }_1 = \lambda \mathbf{n}_2 \\
\end{array}\end{displaymath} (9.83)

da cui si ottengono 5 vincoli in 5 incognite (le coordinate differenziali e $\lambda$). Tali vincoli si possono parametrizzare in funzione di una variabile ausiliaria dalla quale ottenere la famosa equazione di grado 6. Tale approccio è esattamente il medesimo sia se si usano punti immagine e la matrice Fondamentale che punti camera con la matrice Essenziale.

Sempre in (Lin10) vengono proposte anche tecniche sub-ottime, iterative, dal basso costo computazionale, dove ad ogni iterazione il vincolo epipolare viene comunque soddisfatto.

Ottenuti i punti immagine non affetti da rumore, con qualsiasi tecnica di triangolazione (rette sghembe di sezione 1.5.6 o la DLT di sezione 9.3.1) è possibile ricavare il punto tridimensionale. Una formulazione alternativa (KK95), dati due punti omologhi espressi in coordinate camera $\hat{\mathbf{m}}'$ e $\hat{\mathbf{m}}$ il punto tridimensionale formato dall'intersezione dei raggi ottici è

\begin{displaymath}
\mathbf{x} = \frac{ \left( \mathbf{t} \times \mathbf{R} \hat...
...bf{m}}' \right) \cdot \mathbf{z} }{ \Vert \mathbf{z} \Vert^2 }
\end{displaymath} (9.84)

dove $\mathbf{z} = \hat{\mathbf{m}} \times \mathbf{R} \hat{\mathbf{m}}'$.

Paolo medici
2025-03-12