Cambio di punto di vista

L'equazione generica che mette in relazione i punti immagine tra due punti di vista generici si può scrivere come

\begin{displaymath}
\begin{bmatrix}
u_2  v_2  1
\end{bmatrix} \equiv
\mathb...
...n{bmatrix}
u_1  v_1  1
\end{bmatrix} + \mathbf{t} \right)
\end{displaymath} (8.34)

dove $\mathbf{t} = \mathbf{t}_1 - \mathbf{t}_2$ è il vettore che congiunge i due pin-hole e $\mathbf{R}$ è l'orientazione relativa tra le due viste come indicato in sezione1.9. Trattazione più accurata viene lasciata nel capitolo 9 sulla stereoscopia.

In genere non è possibile trasformare una vista generata da una camera nella vista generata da un altra. Ciò risulta possibile solo se si vuole rimappare correttamente solamente i punti di un determinato piano o quando le camere condividono lo stesso pin-hole.

Il secondo caso lo vedremo nella prossima sezione. Nel primo caso è possibile rimappare i punti da una visuale a quelli di un'altra sfruttando la combinazione di una Perspective Mapping seguita da una Inverse Perspective Mapping e sfruttando l'ipotesi che la scena osservata sia composta solamente da un piano (per esempio il suolo). I punti immagine vengono proiettati in coordinate mondo su una camera 1 e riproiettati di nuovo in coordinate immagine su una seconda camera 2 con parametri intrinseci ed estrinseci differenti. Siccome si riproietta sempre un piano, anche la composizione di questa trasformazione è ancora una omografia:

\begin{displaymath}
\mathbf{H} = \mathbf{H}_{2} \cdot \mathbf{H}^{-1}_{1}
\end{displaymath} (8.35)

le trasformazioni omografiche infatti si combinano con la semplice moltiplicazione tra matrici. Espandendo l'equazione (8.35) con (8.30) si ottiene:
\begin{displaymath}
\mathbf{H} = \mathbf{K}_2 \cdot {\mathbf{R}_{Z}}_{2} \cdot {\mathbf{R}_{Z}}^{-1}_{1} \cdot \mathbf{K}^{-1}_{1}
\end{displaymath} (8.36)

Dal punto di vista teorico il fatto di dover forzare un piano $z$ costante incide solamente se il vettore traslazione cambia. Nel caso in cui il vettore di traslazione venga modificato tra le due viste ed esistano punti non appartenenti al piano indicato avviene una rimappatura errata tra le due viste (la trasformazione omografica non è più rispettata). La trasformazione (8.35) può servire per individuare anche ostacoli verticali all'interno di tecniche come il Ground Plane Stereo e il Motion Stereo.

Questa matrice omografica si può generalizzare conoscendo gli elementi della trasformazione delle due viste $(\mathbf{R}, \mathbf{t})$ e l'equazione del piano $(\mathbf{n}, d)$, dove $\hat{\mathbf{n}}$ è la normale al piano e $d$ è la distanza tra la prima camera con il piano stesso. In questo caso infatti, un punto $\mathbf{x}_1$ della prima vista appartenente al piano soddisfa l'equazione

\begin{displaymath}
\hat{\mathbf{n}}^{\top} \mathbf{x}_1 = d
\end{displaymath} (8.37)

e questo punto è in relazione con il medesimo punto, visto però dalla seconda camera in accordo con l'equazione
\begin{displaymath}
\mathbf{x}_2 = \mathbf{R} \mathbf{x}_1 + \mathbf{t}
\end{displaymath} (8.38)

Unendo queste due equazioni si ottiene il vincolo omografico
\begin{displaymath}
\mathbf{H} = \mathbf{K}_2 \left( \mathbf{R} + \frac{1}{d} \mathbf{t} \hat{\mathbf{n}}^{\top} \right) \mathbf{K}^{-1}_{1}
\end{displaymath} (8.39)

Una omografia può essere sempre decomposta in $\left[ \mathbf{R}, \frac{1}{d} \mathbf{t}, \hat{\mathbf{n}} \right]$ (esistono 4 decomposizioni possibili e va scelta quella che soddisfa i punti in ingresso).

Paolo medici
2025-03-12