Stima alla Massima Verosimiglianza

Quando si usa la decomposizione SVD per irrobustirne i vincoli, la matrice Fondamentale (o Essenziale) che si ottiene soddisfa pienamente i requisiti per essere Fondamentale (o Essenziale) ma tuttavia è solo una matrice più simile sotto una particolare norma (in questo caso Frobenius) a quella ottenuta dal sistema lineare. Neanche questa soluzione pertanto è ottima perchxE9 non tiene comunque conto di come avviene la propagazione dell'errore dai punti in ingresso all'interno della trasformazione: è di fatto ancora una soluzione algebrica e non geometrica.

Una prima tecnica, che minimizza l'errore geometrico, consiste nel sfruttare la distanza tra i punti e le rette epipolari generate attraverso la matrice Fondamentale (epipolar distance).

Anche solo intuitivamente, la distanza tra un punto $\mathbf {p}_2$ e la retta epipolare $\mathbf{F}\mathbf{p}_1$ può essere usata come metrica per stimare l'errore geometrico:

\begin{displaymath}
d \left( \mathbf{p}_{2}, \mathbf{F} \mathbf{p}_{1} \right) ...
...right)_1^{2} + \left( \mathbf{F}\mathbf{p}_1 \right)_2^{2} } }
\end{displaymath} (9.63)

dove con $(.)_i$ è indicata la componente i-esima del vettore (si veda la sezione 1.5.3 per l'equazione della distanza punto-retta). Più la distanza è bassa, più la matrice $\mathbf{F}$ è a tutti gli effetti la matrice che mette in relazione i punti omologhi.

Siccome è possibile calcolare sia per la prima immagine che per la seconda questo errore, è corretto minimizzare entrambi i contributi insieme. Attraverso questa metrica è possibile definire una funzione costo che minimizzi l'errore in maniera simmetrica (symmetric transfer error) tra le due immagini:

\begin{displaymath}
\min_\mathbf{F} \sum_i \left( d \left( \mathbf{p}_{1,i} , \...
...}_{2,i} , \mathbf{F}^{\top} \mathbf{p}_{1,i} \right)^2 \right)
\end{displaymath} (9.64)

Anche in questo caso si può cercare una soluzione a 8 incognite ma, per cercare una soluzione robusta, risulta necessario vincolare $\mathbf{F}$ ad essere di rango 2.

Alternativamente al Symmetric Transfer Error in letteratura viene spesso usata l'approssimazione al primo grado della distanza tra i punti e la funzione (Sampson-error, sezione 3.3.7). È possibile definire così una distanza approssimata tra i punti immagine omologhi $\left( \mathbf{p}_{1}, \mathbf{p}_{2} \right)$ e la varietà $\hat{\mathbf{p}_{2}}^{\top}\mathbf{F} \hat{\mathbf{p}_{1} }=0$ attraverso la metrica

\begin{displaymath}
r\left( \mathbf{p}_{1}, \mathbf{p}_{2}, \mathbf{F} \right) ...
... \mathbf{p}_2)_1^2 + (\mathbf{F}^{\top} \mathbf{p}_2)_2^2 } }
\end{displaymath} (9.65)

dove con $(.)_i$ è indicata nuovamente la componente i-esima del vettore. Attraverso questa metrica approssimata, mantenendo sempre il vincolo aggiuntivo $\det \mathbf{F} = 0$, è possibile minimizzare
\begin{displaymath}
\min_{\mathbf{F}} \sum_{i=1}^{n} r\left( \mathbf{p}_{1,i}, \mathbf{p}_{2,i}, \mathbf{F} \right)^{2}
\end{displaymath} (9.66)

Sia il Symmetric Transfer Error che la distanza di Sampson, metriche comunque migliori della stima algebrica, non sono lo stimatore ottimo. La stima di massima verosimiglianza Maximum Likelihood Estimation per la matrice Fondamentale si otterrebbe infatti usando una funzione costo del tipo

\begin{displaymath}
\min_\mathbf{F} \sum_i \Vert \mathbf{p}_{1,i} - \hat{\mathb...
...rt^2 + \Vert \mathbf{p}_{2,i} - \hat{\mathbf{p}}_{2,i} \Vert^2
\end{displaymath} (9.67)

avendo indicato con $\hat{\mathbf{p}}_{1,i}$ e $\hat{\mathbf{p}}_{2,i}$ i punti esatti e con $\mathbf{p}_{1,i}$, $\mathbf{p}_{2,i}$ i corrispondenti punti misurati affetti da rumore gaussiano bianco a media nulla. La funzione costo (9.67) va minimizzata sotto il vincolo
\begin{displaymath}
\hat{\mathbf{p}}^{\top}_{2,i} \mathbf{ F } \hat{\mathbf{p}}_{1,i} = 0
\end{displaymath} (9.68)

e con i vincoli aggiuntivi dovuti alla natura di $\mathbf{F}$. In questo caso i punti esatti $\hat{\mathbf{p}}_{1,i}$ e $\hat{\mathbf{p}}_{2,i}$ diventano parte del problema (variabili ausiliarie, subsidiary variables). Tuttavia, introdurre i punti $\hat{\mathbf{p}}_{1,i}$ e $\hat{\mathbf{p}}_{2,i}$ come incognite, rende il problema non risolvibile, in quanto sarebbero presenti sempre più incognite che vincoli.

Per risolvere questo problema bisogna unire il problema del calcolo della matrice Essenziale o Fondamentale con quello della ricostruzione tridimensionale e porre come variabile ausiliaria direttamente la coordinata tridimensionale del punto osservato $\hat{\mathbf{x}}_{i}$.

La matrice Essenziale può essere ottenuta data la conoscenza dei parametri intrinseci dei due sensori. In questo caso infatti è possibile sfruttare il sistema non lineare che proietta la variabile ausiliaria $\hat{\mathbf{x}}_{i}$ sulle rispettive due osservazioni sui due rispettivi sensori:

\begin{displaymath}
\begin{array}{l}
\hat{\mathbf{p}}_{1,i} \equiv \mathbf{K}_...
...f{R} \hat{\mathbf{x}}_{i} + \mathbf{t} \right) \\
\end{array}\end{displaymath} (9.69)

dove la matrice $\mathbf{R}$ può essere espressa tramite una parametrizzazione a 3 variabili (si veda la sezione A) mentre il vettore $\mathbf{t}$ deve venire rappresentato tramite una parametrizzazione a 2 (la scala rimane infatti sempre un fattore sconosciuto). Inserendo i vincoli (9.69) nell'equazione (9.67), l'obiettivo di ricavare la matrice Essenziale viene trasformato in quello di ricavare direttamente i parametri relativi tra i due sensori. Se infine richiesta, ottenuta la posa relativa tra i sensori, è possibile ottenere la matrice Essenziale applicando direttamente la definizione (9.41).

Quando i parametri intrinseci non sono disponibili, nel caso della stima della matrice Fondamentale, non è possibile effettuare una vera ricostruzione tridimensionale della scena proprio per la mancanza di questi parametri. È possibile sfruttare tuttavia delle proiezioni prospettiche fittizie ponendo $\mathbf{K}_1=\mathbf{I}$ e ottenendo dei vincoli del tipo:

\begin{displaymath}
\begin{array}{l}
\hat{\mathbf{p}}_{1,i} \equiv \hat{\mathb...
...}_{2,i} \equiv \mathbf{P} \hat{\mathbf{x}}_{i} \\
\end{array}\end{displaymath} (9.70)

usando direttamente la variabile ausiliaria $\hat{\mathbf{x}}_{i}$, coordinata che verrà pertanto conosciuta a meno di una trasformazione affine $\mathbf{K}_1^{-1}$ ovvero i parametri intrinseci della camera 1.

Inserendo i vincoli (9.70) nell'equazione (9.67) anche questa volta l'obiettivo di ricavare la matrice Fondamentale viene trasformato in quello di ricavare i parametri della matrice proiettiva $\mathbf{P}$. Attraverso la matrice camera $\mathbf{P}=\left[ \mathbf{R}' \vert \mathbf{t}' \right]$, matrice camera fittizia, è infine possibile ricavare $\mathbf{F}$ applicando direttamente la definizione (9.41) dove tuttavia la matrice $\mathbf{R}'$ non è una matrice di rotazione.

La stima a massima Verosimiglianza della matrice Fondamentale, corretta dal punto di vista probabilistico, richiede comunque una gran quantità di risorse: oltre alle 12 incognite globali necessarie per stimare $\mathbf{P}$ (rispetto alle 5 della matrice Essenziale) per ogni coppia di punti da minimizzare vengono inserite nel problema 3 ulteriori incognite.

Infine, come avvertenza finale, per la stima ottima delle matrici in presenza di eventuali outlier nella scena sono ampiamente sfruttate tecniche come RANSAC (sezione 3.12).

Paolo medici
2025-03-12