Trasformazioni 2D e Image Stitching
[Slide](C:\UNI\Magistrale\visione\08_Trasformazioni 2D e image stitching.pdf)
Indice
Coordinate Omogenee
Definizione
Le coordinate omogenee aggiungono una coordinata extra ai punti 2D, permettendo di rappresentare tutte le trasformazioni geometriche (inclusa la traslazione) come moltiplicazioni matriciali.
Un punto nel piano dell’immagine (piano ) corrisponde al raggio nello spazio proiettivo. Tutti i punti sul raggio sono equivalenti (rappresentano lo stesso punto nell’immagine):
Conversione da coordinate omogenee a coordinate cartesiane:
Le coordinate omogenee sono invarianti per cambiamenti di scala: moltiplicare tutti e tre i valori per una costante non cambia il punto rappresentato.
Image Reprojection
Definizione
L’image reprojection è il processo di proiettare un punto da un piano immagine a un altro. Due immagini acquisite dalla stessa camera in posizioni diverse sono legate da una trasformazione 2D — non serve conoscere la struttura 3D della scena.
Intuizione: dato un punto nel piano P1 e il punto di osservazione (camera), si individua il raggio che li congiunge. Quel raggio interseca P2 in un punto ben definito, indipendentemente dalla posizione 3D dell’oggetto nel mondo.
Il mapping tra le due immagini può quindi essere rappresentato come una trasformazione 2D (warping).
Applicazione all’image stitching: si proiettano le immagini acquisite da diverse angolazioni su un unico piano di riferimento (per FoV limitati) o su un cilindro che viene poi “srotolato” (per panoramiche a 360°).
Gerarchia delle Trasformazioni 2D
Le trasformazioni 2D formano una gerarchia: ogni trasformazione più generale include come caso speciale quelle più vincolate.
Traslazione ⊂ Euclidea ⊂ Similarità ⊂ Affine ⊂ Proiettiva
Traslazione
Sposta il punto di .
Preserva: lunghezze, aree, angoli, orientazioni, linee parallele. DOF: 2 (i due parametri di traslazione).
Cambiamento di Scala
Scala il punto di un fattore in e in .
Preserva: rapporto tra lunghezze/aree, angoli, orientazioni, linee parallele.
Trasformazione Euclidea (Rigid Body)
Combina rotazione di angolo e traslazione. La forma dell’oggetto rimane invariata.
Preserva: lunghezze, aree, angoli, linee. DOF: 3 (, , ).
Trasformazione di Similarità
Aggiunge un fattore di scala uniforme alla trasformazione euclidea.
Preserva: angoli, rapporto tra lunghezze, linee parallele. DOF: 4 (, , , ).
Trasformazione Affine
Caso generale con matrice arbitraria. Comprende rotazione, scala, shear e traslazione.
Preserva: rapporto tra aree, linee parallele, rapporto tra segmenti collineari. DOF: 6 (i sei parametri ).
Trasformazione Proiettiva (Omografia)
La trasformazione più generale — include tutte le precedenti. Opera in coordinate omogenee con una matrice completa.
Poiché in generale, le coordinate finali si ottengono dividendo per :
Preserva: solo le linee rette (le rette rimangono rette, ma non parallele). DOF: 8 (la matrice ha 9 elementi ma è definita a meno di un fattore di scala, quindi 8 gradi di libertà).
Tabella riepilogativa:
| Trasformazione | Matrice | DOF | Preserva |
|---|---|---|---|
| Traslazione | 2 | Lunghezze, aree, angoli, orientazioni | |
| Euclidea | 3 | Lunghezze, aree, angoli | |
| Similarità | 4 | Angoli, rapporti di lunghezza | |
| Affine | 6 | Parallelismo, rapporti di area | |
| Proiettiva | 8 | Solo linee rette |
Image Stitching
Definizione
L’image stitching è il processo di comporre più immagini parziali di una scena in un’unica immagine panoramica. Si basa sulla stima dell’omografia tra coppie di immagini e sull’applicazione del warping.
Pipeline:
- Trova le corrispondenze tra le immagini (tramite keypoint: SIFT, SURF, ORB + RANSAC)
- Stima l’omografia da almeno 4 coppie di punti
- Applica il warping per proiettare le immagini su un piano comune
- Blending per rendere invisibili le transizioni (normalizzazione delle intensità)
Stima dell’Omografia
Per determinare l’omografia che lega due immagini si utilizzano almeno 4 coppie di punti corrispondenti :
Ogni coppia di punti fornisce 2 equazioni, e poiché ha 8 DOF servono almeno 4 coppie. Con più coppie (tipico in presenza di rumore) si usa la SVD o i minimi quadrati per stimare in modo robusto.
In pratica le corrispondenze vengono trovate automaticamente tramite feature matching e le corrispondenze errate vengono eliminate con RANSAC.
L’immagine panoramica si ottiene allineando progressivamente le immagini due a due. Un passo finale di normalizzazione (blending) riduce le differenze di illuminazione alle giunture.
Image Warping
L’image warping applica la trasformazione (es. omografia) a tutti i pixel dell’immagine sorgente per produrre l’immagine trasformata.
Mapping diretto (dall’immagine originale a quella nuova): presenta tre problemi pratici:
- Le coordinate dei nuovi pixel non sono necessariamente intere (approssimazione)
- Alcuni pixel vengono mappati fuori dalla nuova immagine
- Alcuni pixel della nuova immagine rimangono vuoti (buchi)
Mapping Inverso e Interpolazione
Soluzione: mapping inverso
Per ogni pixel della nuova immagine, si applica la trasformazione inversa per trovare il punto corrispondente nell’immagine originale.
Per una trasformazione affine, la funzione inversa è:
Il punto è in coordinate continue (floating point). Tre casi possibili:
- Fuori dall’immagine originale: si assegna un valore di default (es. nero)
- Coincide esattamente con un pixel: si copia direttamente l’intensità
- Tra quattro pixel: si interpola
Interpolazione bilineare (Lagrange): il valore del nuovo pixel si calcola come media pesata dei 4 pixel vicini :
dove i pesi sono proporzionali all’area del rettangolo diagonalmente opposto:
I pixel più vicini a ricevono peso maggiore.