Le coordinate omogenee (sezione 1.5) permettono di rappresentare uno spettro molto ampio di trasformazioni unificando sotto lo stesso formalismo trasformazioni lineari e affini, come rotazioni, traslazioni e cambi di scala, e trasformazioni prospettiche.
Una trasformazione omografica è una corrispondenza biunivoca tra due piani proiettivi che preserva le relazioni di incidenza tra punti e rette.
Dati due piani distinti e
si dice che essi sono riferiti a una
trasformazione omografica
(homographic transformation) quando esiste una corrispondenza biunivoca
tra i punti dei due piani che preserva le relazioni di incidenza tra punti e
rette. In particolare, ad ogni punto di
corrisponde un solo punto di
e ad ogni retta di
corrisponde una sola retta di
.
Sia il piano osservato da due viste differenti.
Nello spazio
l'omografia (la trasformazione omografica) è
rappresentata da equazioni del tipo:
Per la sua particolare forma tale trasformazione è descrivibile attraverso una
trasformazione lineare usando le coordinate omogenee (sezione 1.5):
Viene definita matrice omografica
la matrice che
converte punti omogenei
appartenenti alla proiezione del piano
nell'immagine
in punti
omogenei nell'immagine
con
la relazione
Essendo una relazione tra grandezze omogenee il sistema è definito a meno di un
fattore moltiplicativo: qualunque multiplo non nullo dei parametri della matrice
omografica definisce la medesima trasformazione, poiché le coordinate omogenee
sono definite a loro volta a meno di un fattore di scala.
Come conseguenza di ciò i gradi di libertà del problema non sono 9, ma 8, in
quanto è sempre possibile fissare un vincolo aggiuntivo sugli elementi della
matrice. Esempi di vincoli usati spesso sono o
.
È da notare che
non è generalmente un vincolo ottimale dal punto di
vista computazionale in quanto l'ordine di grandezza che assume
può essere
molto diverso da quello degli altri elementi della matrice stessa e, nel caso
in cui
, tale normalizzazione non è possibile.
Il vincolo alternativo
non privilegia invece un
particolare elemento della matrice ed è particolarmente naturale quando i
parametri vengono ricavati mediante fattorizzazioni come la SVD.
Infatti indicando con
il vettore dei parametri dell'omografia, ogni corrispondenza punto-punto fornisce dei vincoli sui coefficienti di
. Come verrà mostrato in dettaglio nella sezione 9.5.1, tali vincoli possono essere raccolti in un sistema lineare omogeneo della forma
.
Poiché la soluzione nulla non è significativa, è necessario imporre un vincolo di normalizzazione, per esempio appunto
, riconducendosi esattamente al problema dei sistemi lineari omogenei discusso nella sezione 1.1.
In presenza di rumore la soluzione viene ottenuta selezionando il vettore singolare destro associato al minimo valore singolare della matrice
.
|
|
Le applicazioni che coinvolgono trasformazioni omografiche sono molteplici. Verranno in dettaglio affrontate nel capitolo 9 della camera pin-hole, ma in sintesi tali trasformazioni permettono la rimozione della prospettiva da piani in immagine, la proiezione di piani in prospettiva e di associare i punti di piani osservati da punti di vista differenti. Un modo per ottenere delle trasformazioni prospettiche è mettere in relazione punti tra i piani che si vogliono trasformare e determinare in questo modo i parametri della matrice omografica (1.111) anche in maniera sovradimensionata, per esempio attraverso il metodo dei minimi quadrati. Un modo per ricavare i coefficienti sarà mostrato nell'equazione (9.58). Va ricordato che tale trasformazione, che lega punti di piani tra due viste prospettiche, vale solo e solamente per i punti del piano considerato: l'omografia mette in relazione punti di un piano tra loro, ma solo quelli. Qualsiasi punto non appartenente al piano verrà riproiettato in una posizione errata.
Poiché una trasformazione omografica è rappresentata da una matrice non
singolare, essa è invertibile e l'inversa è una trasformazione omografica
anch'essa:
| (1.115) |
Una possibile forma per l'inversa dell'omografia (1.111) è
È da segnalare che quando l'omografia non introduce una componente prospettica,
cioè quando
, la trasformazione omografica si riduce ad una
trasformazione affine (affine transformation) rappresentata dalle
classiche equazioni