Matrice Essenziale e matrice Fondamentale

Nel 1981, Christopher Longuet-Higgins (Lon81) osserva per primo che un generico punto espresso in coordinate mondo, i rispettivi punti in coordinate camera e i pin-hole devono essere tra loro coplanari. La derivazione geometrica delle relazioni che intercorrono tra i punti viene tralasciata ma viene presentata direttamente quella analitica.

È stato più volte ripetuto che un punto su un'immagine sottende una retta nel mondo, e la retta nel mondo proiettata su un'altra immagine, acquisita da una camera posta in un punto di vista differente, rappresenta la retta epipolare dove giace l'omologo del punto della prima immagine. Tale equazione, che lega punti di un'immagine con rette nell'altra, può essere espressa attraverso una forma matriciale.

Per seguire il ragionamento di Higgins, la matrice dei parametri intrinseci verrà sottintesa e le coordinate usate saranno quelle camera normalizzate.

Senza perdere generalità, si consideri pertanto un sistema costituito da due camere, la prima posizionata e orientata rispetto alla seconda con matrice di proiezione $\mathbf{P}_1=[\mathbf{R}\vert\mathbf{t}]$ mentre la seconda è posta nell'origine del sistema di riferimento allineata con gli assi ovvero con matrice di proiezione $\mathbf{P}_2=[\mathbf{I}\vert\mathbf{0}]$: si può giungere al medesimo risultato partendo da due generiche camere calibrate, arbitrariamente orientate e posizionate rispetto ad un sistema terzo, attraverso le relazioni $\mathbf{R} = \prescript{2}{}{\mathbf{R}}_{1} = \mathbf{R}^{-1}_{2} \mathbf{R}_{1}$ e $\mathbf{t}$, ovvero posizione della camera 1 rispetto al sistema 2.

Un generico punto $\mathbf{x} \in \mathbb{R}^3$ ha come coordinate $\mathbf{x}_1$ e $\mathbf{x}_2$ nei due diversi sistemi di riferimento e viene proiettato sui sensori 1 e 2 nei punti, espressi in coordinate camera, $\mathbf{m}_1$ e $\mathbf{m}_2$ rispettivamente.

Il punto immagine $\mathbf{m}_2$ individua un raggio ottico nello spazio tridimensionale passante per il centro di proiezione della seconda camera. Poiché tale centro è stato posto nell'origine del sistema di riferimento, il raggio può essere parametrizzato come

\begin{displaymath}
\mathbf{x}_2 = \lambda_2 \mathbf{m}_2, \qquad \lambda_2 > 0.
\end{displaymath} (10.38)

Un generico punto $\mathbf{x}_1 = \lambda_1 \mathbf{m}_1$ espresso in coordinate del sensore 1 e osservato da quel sensore può venire proiettato in coordinate del sensore 2 in accordo con l'equazione

\begin{displaymath}
\mathbf{x}_2 = \prescript{2}{}{ \mathbf{R}_1 } \mathbf{x}_1 + \mathbf{t}
\end{displaymath} (10.39)

L'equazione della retta epipolare, retta in coordinate camera nel secondo sensore e luogo dei punti dove deve giacere $\mathbf{m}_2$, associata al punto $\mathbf{m}_1$ (osservato e pertanto espresso in coordinate camera del primo sensore), risulta essere

\begin{displaymath}
\lambda_2 \mathbf{m}_2 = \lambda_1 \prescript{2}{}{ \mathbf{R}_1 } \mathbf{m}_1 + \mathbf{t}
\end{displaymath} (10.40)

Il luogo dei punti omogenei $\mathbf{m}_2$ si ottiene facendo variare il parametro $\lambda_1$ e questa retta in $\mathbb{R}^3$ risulta essere una retta anche in $\mathbb{R}^2$. Se due punti sono effettivamente omologhi, il sistema è risolvibile ed è possibile ricavare i parametri $\lambda_1$ e $\lambda_2$ (questo è un esempio di ricostruzione tridimensionale tramite triangolazione come si è visto in sezione 10.3.1).

Esiste tuttavia una relazione che mette in relazione i punti delle due camere cancellando i parametri $\lambda$ ma soprattutto permette di fare il ragionamento inverso ovvero quello di ricavare la posa relativa tra le due camere $\left( \mathbf{R}, \mathbf{t} \right)$ dato un elenco di punti omologhi.

Se si moltiplicano entrambi i lati dell'equazione (10.40), prima vettorialmente per $\mathbf{t}$, poi scalarmente per $\mathbf{m}^{\top}_{2}$, si ottiene infatti

\begin{displaymath}
\lambda_2 \mathbf{m}^{\top}_{2} \left( \mathbf{t} \times \ma...
...thbf{m}^{\top}_{2} \left( \mathbf{t} \times \mathbf{t} \right)
\end{displaymath} (10.41)

Su tale relazione è possibile applicare le proprietà del prodotto vettoriale $\mathbf{t} \times \mathbf{t}=\textbf{0}$ e scalare $\mathbf{m}_2 \cdot \left( \mathbf{t} \times \mathbf{m}_2 \right)=0$.

Questo passaggio ha un preciso significato geometrico. La relazione ottenuta esprime il fatto che il vettore $\mathbf{t}$, il raggio ottico associato a $\mathbf{m}_2$ e il raggio ottico associato a $\prescript{2}{}{\mathbf{R}_1}\mathbf{m}_1$ appartengono al medesimo piano epipolare. In altre parole, i due centri di proiezione e il punto tridimensionale osservato sono coplanari. L'ipotesi di rigidità permette inoltre di mettere in relazione le coordinate del medesimo punto nei due sistemi di riferimento attraverso la trasformazione $(\mathbf{R}, \mathbf{t})$.

Attraverso questa formula, è possibile esprimere le relazioni che intercorrono tra i punti omologhi $\mathbf{m}_1$ e $\mathbf{m}_2$, rappresentati sotto forma di coordinate camera omogenee, in una forma molto compatta

\begin{displaymath}
\mathbf{m}^{\top}_{2} \left( \mathbf{t} \times \mathbf{ R } \mathbf{m}_1 \right) = 0
\end{displaymath} (10.42)

Indicando infine con $[\mathbf{t}]_{\times}$, matrice antisimmetrica, il prodotto vettoriale in forma matriciale (sezione 1.8), è possibile raccogliere i diversi contributi sotto forma di matrice
\begin{displaymath}
\mathbf{E} = [\mathbf{t}]_{\times} \mathbf{R} = \mathbf{R} \left[ \mathbf{R}^{\top} \mathbf{t} \right]_{\times}
\end{displaymath} (10.43)

dove $\mathbf{R}=\prescript{2}{}{\mathbf{R}_1}$ e $\mathbf{t}$ hanno il significato introdotto in equazione (10.39): $\mathbf{R}$ trasforma coordinate espresse nel sistema della camera 1 nel sistema della camera 2, mentre $\mathbf{t}$ rappresenta la posizione del centro ottico della camera 1 espressa nel sistema della camera 2. Si può definire in questo modo una relazione lineare che lega i punti camera delle due viste
\begin{displaymath}
\mathbf{m}^{\top}_{2} \mathbf{ E } \mathbf{m}_1 = 0
\end{displaymath} (10.44)

La matrice $\mathbf{E}$ è definita Matrice Essenziale (Essential Matrix) e codifica la posa relativa tra le due camere a meno di un fattore di scala sulla traslazione.

Bisogna infine prestare attenzione alle convenzioni adottate, poiché in letteratura non esiste un'unica scelta per l'ordine dei punti nelle relazioni epipolari. Nel caso della relazione

\begin{displaymath}\mathbf{m}_2^{\top}\mathbf{E}\mathbf{m}_1 = 0, \end{displaymath}

la matrice $\mathbf{E}=[\mathbf{t}]_{\times}\mathbf{R}$ è costruita utilizzando la rotazione $\mathbf{R}$ e la traslazione $\mathbf{t}$ che trasformano coordinate espresse nel sistema della camera 1 nel sistema della camera 2.

La matrice $\mathbf{E}$, mettendo in relazioni punti omogenei, è anch'essa omogenea e pertanto definita a meno di un fattore moltiplicativo.

La matrice Essenziale ha le seguenti proprietà:

La matrice Essenziale crea delle relazioni in coordinate camera e pertanto, per poterla utilizzare da un punto di vista pratico, è necessario avere a disposizione punti espressi in questo particolare sistema di riferimento, ovvero è necessario conoscere i parametri intrinseci delle camere coinvolte.

L'equazione

\begin{displaymath}
\mathbf{m}^{\top}_{2} \left( \mathbf{ E } \mathbf{m}_1 \right) = 0
\end{displaymath} (10.45)

può essere interpretata come l'equazione del piano epipolare, ovvero il piano individuato dai due centri di proiezione e dal punto tridimensionale osservato.

È tuttavia possibile introdurre una ulteriore relazione tra i punti delle immagini che non richiede la conoscenza esplicita dei parametri intrinseci delle camere.

Se si applica la definizione di coordinate camera omogenee $\mathbf{p} = \mathbf{K} \mathbf{m}$ nella relazione (10.44) si ottiene

\begin{displaymath}
\mathbf{p}^{\top}_2 \mathbf{K}^{-\top}_{2} \mathbf{E} \mathb...
...{1} \mathbf{p}_1 = \mathbf{p}^{\top}_2 \mathbf{F} \mathbf{p}_1
\end{displaymath} (10.46)

da cui
\begin{displaymath}
\mathbf{F} = \mathbf{K}^{-\top}_{2} \mathbf{E} \mathbf{K}^{-1}_{1}
\end{displaymath} (10.47)

La matrice Fondamentale (Fundamental matrix) è definita (Faugeras e Hartley, 1992) come:

\begin{displaymath}
\mathbf{p}^{\top}_{2} \mathbf{ F } \mathbf{p}_1 = 0
\end{displaymath} (10.48)

dove $\mathbf {p}_1$ e $\mathbf {p}_2$ sono coordinate, sempre omogenee, dei punti omologhi rispettivamente sulla prima e sulla seconda immagine.

Se due punti sulle due immagini della coppia stereoscopica rappresentano lo stesso punto nel mondo, l'equazione (10.48) deve essere soddisfatta.

La matrice fondamentale permette di restringere l'intervallo di ricerca di corrispondenze tra le due immagini in quanto, per il dualismo punto-retta, dalla relazione (10.48) si può esplicitare il luogo dei punti nella seconda immagine dove cercare i punti della prima. Infatti l'equazione di una linea dove i punti $\mathbf {p}_2$ ed $\mathbf {p}_1$ devono vivere è descritta da

\begin{displaymath}
\begin{array}{l}
\mathbf{l}_2 = \mathbf{F} \mathbf{p}_1 \\
\mathbf{l}_1 = \mathbf{F}^{\top} \mathbf{p}_2 \\
\end{array}\end{displaymath} (10.49)

dove $\mathbf{l}_1$ ed $\mathbf{l}_2$ sono i parametri della retta epipolare, appartenente alla prima e seconda immagine rispettivamente, scritta in forma implicita.

La relazione che intercorre tra la matrice Fondamentale e la matrice Essenziale risulta essere, equazione (10.46),

\begin{displaymath}
\mathbf{E} = \mathbf{K}^{\top}_{2} \mathbf{F} \mathbf{K}_{1}
\end{displaymath} (10.50)

o viceversa
\begin{displaymath}
\mathbf{F} = \mathbf{K}^{-\top}_{2} \mathbf{E} \mathbf{K}^{...
...\top}_{2} [\mathbf{t}]_{\times} \mathbf{R} \mathbf{K}^{-1}_{1}
\end{displaymath} (10.51)

La matrice Essenziale dipende esclusivamente dalla posa relativa tra le camere, mentre la matrice Fondamentale dipende sia dai parametri intrinseci sia dalla posa relativa.

La matrice Essenziale introduce vincoli uguali a quelli della matrice Fondamentale ma, anche se introdotta storicamente prima della matrice Fondamentale, ne è un caso particolare perché esprime le relazioni rispetto a coordinate camera.

$\mathbf{F}$ è una matrice $3 \times 3$ di rango 2 e per essere determinata bastano 7 punti, in quanto i gradi di libertà risultano essere appunto solamente 7 (un fattore moltiplicativo e il determinante nullo riducono la dimensione del problema). La relazione che lega la matrice Fondamentale ai 7 gradi di libertà è una relazione non lineare10.1. Con (almeno) 8 punti si riesce invece ad ottenere una stima lineare della matrice, come descritto nella sezione successiva.

La matrice Fondamentale ha le seguenti proprietà:

Figura 10.3: La matrice Fondamentale permette di individuare le rette epipolari, immagine destra, su cui vivono i punti omologhi dei punti dell'immagine sinistra.
Image fig_fundamental

Le matrici Fondamentale ed Essenziale possono essere usate per restringere il campo di ricerca dei punti omologhi tra due immagini e/o filtrare via eventuali outlier (ad esempio in RANSAC). La matrice Essenziale, se decomposta, permette di ricavare la posa relativa tra le due camere10.2 e in quanto tale dare un'idea, approssimata, del movimento che ha subito una camera che si sposta nel mondo (motion stereo) o della posa relativa di due camere in una coppia stereoscopica (Auto-Calibrazione relativi).

L'uso della matrice Essenziale permette di ricavare la posa relativa tra due viste. Non è però possibile conoscere la lunghezza della baseline che unisce i due pin-hole, ma solo la sua direzione. Tuttavia, avendo a disposizione la matrice Essenziale, è sempre possibile eseguire una ricostruzione tridimensionale della scena osservata a meno di un fattore moltiplicativo: i rapporti tra le distanze sono conosciuti, ma non il loro valore assoluto. Questo permette però, quando si osserva la medesima scena da più di due viste differenti, una ricostruzione tridimensionale coerente, dove per tutte le viste il fattore moltiplicativo sconosciuto rimane sempre lo stesso, permettendo perciò di fondere tutte le singole ricostruzioni in un'unica ricostruzione conosciuta a meno del medesimo fattore di scala.



Footnotes

... lineare10.1
Il vincolo $\det(\mathbf F)=0$ introduce una relazione cubica non lineare tra gli elementi della matrice.
... camere10.2
Come si vedrà poi in seguito si ottengono in verità 4 configurazioni e la traslazione conosciuta a meno di un fattore moltiplicativo


Subsections
Paolo medici
2026-10-06