Triangolazione

Figura 10.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 10.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 relativa questa potrebbe essere ottenuta, a meno di un fattore di scala, direttamente dalle immagini stesse usando tecniche come la matrice Essenziale (sezione 10.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 Transform 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 (10.9). Il punto di intersezione (Forward Intersections) di tutti questi raggi è la soluzione di un sistema lineare, potenzialmente sovradeterminato, 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} (10.13)

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 il vettore direttore del raggio ottico in coordinate mondo. Le incognite sono il punto mondo da stimare $\mathbf {x}$ e i parametri di profondità $\lambda_i$ lungo i rispettivi raggi ottici.

La soluzione in forma chiusa, limitata al caso di sole due rette, è disponibile in sezione 1.6.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 (10.5).

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} (10.14)

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} (10.15)

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 (10.15) 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 costo computazionale e l'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} (10.16)

con $\hat{\mathbf{p}}_i \equiv \mathbf{P}_i \mathbf{x}$ dove $\mathbf{P}_i$ è la matrice di proiezione dell'immagine i-esima (figura 10.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.

Un approccio alternativo consiste nello stimare la posa relativa tra due camere mediante la matrice Essenziale. Una volta nota tale posa, i punti tridimensionali osservati possono essere ricostruiti tramite triangolazione, come mostrato in sezione 10.4.4.

Paolo medici
2026-10-06