Triangolazione

Figura 9.2: Esempio di triangolazione. Con la conoscenza della calibrazione delle camere, il punto mondo $\mathbf {x}$ può essere ricavato dall'osservazione della sua proiezione su almeno due immagini ( $\mathbf {p_1}, \mathbf {p_2}, \ldots $). Tuttavia a causa del rumore le rette risultanti non passano per il punto $\mathbf {x}$ e possono non intersecarsi tra loro. La soluzione alla massima verosimiglianza richiede di minimizzare la somma al quadrato degli errori tra il punto osservato $\mathbf {p}_i$ e il punto predetto $\hat{\mathbf{p}}_i$.
Image fig_triangulate

Osservando la figura 9.2 è facile intuire che la soluzione del problema della triangolazione è il punto di incontro delle rette epipolari generate dalle due immagini. Tale problema può essere facilmente esteso al caso di $n$ camere dove la posa relativa tra di loro è conosciuta. In mancanza della conoscenza della posa assoluta questa potrebbe essere ottenuta direttamente dalle immagini stesse usando tecniche come la matrice Essenziale (sezione 9.4).

A causa delle imprecisioni di individuazione dei punti omologhi (un discorso a parte si potrebbe fare per gli errori di calibrazione) le rette formate dai raggi ottici sono in genere sghembe. In tal caso è necessario ricavare la soluzione più vicina sotto qualche funzione di costo: la soluzione ai minimi quadrati è possibile sempre con $n \geq 2$, sia con tecniche come la Forward Intersections o la Direct Linear Transfer DLT.

Ogni raggio ottico sotteso al pixel immagine $(u_i,v_i)$, con $i=1, \ldots, n$ la vista i-esima, deve soddisfare l'equazione (9.7). Il punto di intersezione (Forward Intersections) di tutti questi raggi è la soluzione di un sistema lineare, potenzialmente sovradimensionato, con $3+n$ incognite in $3n$ equazioni:

\begin{displaymath}
\left\{
\begin{array}{rl}
\mathbf{x}&= \lambda_1 \mathbf{v}_...
...x}&= \lambda_n \mathbf{v}_n + \mathbf{t}_n
\end{array}\right.
\end{displaymath} (9.11)

dove con $\mathbf{v}_i = \mathbf{R}^{-1}_i \mathbf{K}^{-1}_i \begin{pmatrix}u_i &v_i&1 \end{pmatrix}^{\top}$ si è indicata la direttrice del raggio ottico in coordinate mondo. Le incognite sono il punto mondo da stimare $\mathbf {x}$ e le distanze lungo l'asse ottico $\lambda_i$.

La soluzione in forma chiusa, limitata al caso di sole due rette, è disponibile in sezione 1.5.8. Questa tecnica si può applicare al caso di una camera allineata con gli assi e la seconda posizionata relativamente alla prima in accordo con la relazione (9.3).

Sfruttando le proprietà del prodotto vettoriale, si può arrivare alla stessa espressione usando le matrici di proiezione prospettica e i punti immagine, espressi sotto forma di coordinate omogenee:

\begin{displaymath}
\left\{
\begin{array}{l}
\left[ \mathbf{p}_{1} \right]_{\tim...
...right]_{\times} \mathbf{P}_n \mathbf{x} = 0
\end{array}\right.
\end{displaymath} (9.12)

con $[\cdot]_{\times}$ il prodotto vettoriale scritto in forma matriciale. Ognuno di questi vincoli fornisce tre equazioni ma solo 2 sono tra loro linearmente indipendenti.Tutti questi vincoli possono essere infine riarrangiati in forma di sistema omogeneo nella forma
\begin{displaymath}
\mathbf{A}\mathbf{x}=0
\end{displaymath} (9.13)

dove $\mathbf{A}$ è una matrice $2n \times 4$ con $n$ il numero di viste nelle quali il punto $\mathbf {x}$ è osservato. La soluzione del sistema omogeneo (9.13) si può ottenere con la decomposizione a valori singolari. Tale approccio è chiamato Direct Linear Transform (DLT) per similitudine con la tecnica di calibrazione.

La minimizzazione in coordinate mondo tuttavia non è ottima dal punto di vista della minimizzazione del rumore. In mancanza di ulteriori informazioni sulla struttura della scena osservata, la stima ottima (Maximum Likelihood Estimation) è sempre quella che minimizza l'errore in coordinate immagine (reprojection) ma richiede un maggiore peso computazione e utilizzo di tecniche non lineari, in quanto la funzione di costo da minimizzare è

\begin{displaymath}
\argmin_\mathbf{x} \sum_{i=1}^{n} \Vert \mathbf{p}_i - \hat{\mathbf{p}}_i \Vert^2
\end{displaymath} (9.14)

con $\hat{\mathbf{p}}_i \equiv \mathbf{P}_i \mathbf{x}$ dove $\mathbf{P}_i$ è la matrice di proiezione dell'immagine i-esima (figura 9.2).

È un problema non-lineare non-convesso: sono presenti potenzialmente vari minimi locali e la soluzione lineare deve essere usata come punto di inizio della minimizzazione.

Una ulteriore classe di tecniche, che sfruttano l'informazione ricavata dai vincoli epipolari e attraverso questa permettono di stimare la posizione dei punti non affetti da rumore senza dover ricavare il punto tridimensionale, è mostrato in sezione 9.4.4.

Paolo medici
2025-03-12