L'idea base della Direct Linear Transformation proposta da Abdel-Aziz e Karara (AAK71) permette di calcolare direttamente i coefficienti delle matrici (9.57), (9.60) o della matrice (9.25) disinteressandosi completamente dei parametri e dalla struttura del modello della trasformazione prospettica. In tale articolo viene anche presentato un approccio per risolvere problemi sovradimensionati attraverso la tecnica della Pseudoinversa.
Dato il sistema (9.25) è necessario ricavare i 12 parametri della matrice proiettiva per avere una calibrazione del sistema implicita ovvero dove non si conoscono i parametri (da 9 a 11 a seconda del modello) interni che han generato gli elementi della matrice stessa. Tale rappresentazione della camera pin-hole è ovviamente ideale (senza non-linearità dal modello).
La funzione prospettica scritta in forma implicita è
Essendo un sistema omogeneo, la sua soluzione sarà il sottospazio nullo di
, kernel della matrice dei coefficienti. Per questo motivo la matrice
è conosciuta a meno di un fattore moltiplicativo e ne consegue che ha solo 11 parametri liberi (sono anche di meno considerando che una telecamera moderna ha solo 3-4 parametri intrinseci e i 6 estrinseci).
Avendo rigirato il sistema la propagazione del rumore sui punti non è più lineare e questa soluzione non soddisfa la massima verosimiglianza.
La matrice
ottenuta attraverso questo procedimento, anche se nasconde la struttura interna del sensore, permette di proiettare un punto da coordinate mondo a coordinate immagine e da un punto in coordinate immagine ricavare la retta che sottende tale punto nel mondo.
Il risultato è generalmente instabile usando solo 6 punti e perciò la stima viene normalmente effettuata processando più punti del minimo e si sfruttano tecniche come la pseudoinversa per determinare una soluzione che minimizzi il residuo algebrico del sistema.
Il problema è uguale a quello visto in precedenza, la soluzione omogenea esiste e l'equazione risolutiva omogenea (9.54) si generalizza in
Questa formulazione è utile quando il modello proiettivo non segue il modello pin-hole ma è sempre possibile ricavare le coordinate “camera” dei raggi ottici sottesi al pixel e pertanto disponibili in formato omogeneo.
Solitamente per ridurre il numero di elementi della matrice si può aggiungere il vincolo che tutti i punti coinvolti nel processo di calibrazione appartengano a un piano particolare (per esempio al terreno).
Ciò significa porre la condizione
, che implica l'eliminazione di una colonna (relativa all'asse
) della matrice
che si riduce alla dimensione
, diventa invertibile e si può definire omografica (vedi sezione 1.11).
Definiamo pertanto la matrice
(cfr. con (9.36)) come
Come nel caso precedente è possibile trasformare la relazione non lineare (9.57) in modo da ottenere dei vincoli lineari:
La soluzione viene ottenuta imponendo implicitamente una normalizzazione della forma
e selezionando il vettore singolare associato al minimo valore singolare della matrice.
Un altro metodo più semplice ed intuivo consiste nel porre come vincolo aggiuntivo : in questo modo, invece che risolvere un sistema omogeneo, si può risolvere un problema lineare tradizionale.
Il sistema (9.57) si può anche in questo caso riarrangiare in modo da ottenere dei vincoli lineari nella forma:
L'avere imposto tuttavia implica che il punto
non può essere una singolarità dell'immagine (es. linea dell'orizzonte), e in generale
non è una scelta ottima dal punto di vista della precisione della soluzione come già discusso in precedenza.
È importante notare che la soluzione dipende dalla normalizzazione scelta. Una scelta comune consiste nell'imporre una norma costante, per esempio
, ottenendo così una rappresentazione univoca della soluzione.
Questi sistemi, quando sovradimensionati, possono essere risolti usando il metodo della pseudoinversa 1.1.
In entrambi i casi sono richiesti almeno 4 punti per ottenere un'omografia e ogni punto in più permette di ridurre l'influenza del rumore di misura. Nel caso della formulazione non omogenea (9.59), il sistema sovradimensionato può essere risolto ai minimi quadrati mediante pseudoinversa, come discusso nella sezione 1.1. Nel caso della formulazione omogenea (9.58), invece, la soluzione si ottiene ricercando il vettore del kernel associato al minimo valore singolare della matrice dei vincoli mediante, per esempio, decomposizione SVD.
L'omografia può essere espressa come funzione dei parametri intrinseci e dei parametri estrinseci della camera. È interessante osservare che questa rappresentazione utilizza complessivamente 9–10 parametri, mentre una matrice omografica possiede solamente 8 gradi di libertà essendo definita a meno di un fattore di scala. Ne consegue che i parametri intrinseci ed estrinseci non possono variare indipendentemente, ma devono soddisfare i vincoli imposti dalla struttura geometrica del modello camera. La separazione dei parametri intrinseci dai parametri estrinseci suggerisce di estrarre tali parametri in maniera indipendente in modo da irrobustire la calibrazione. Dopotutto i parametri intrinseci possono essere ricavati con un certo grado di precisione offline e valgono per tutti i possibili posizionamenti della camera (si veda poi 9.5.4).
Definiamo la matrice
(cfr. con (9.37)) come
La matrice è definita a meno di un fattore di scala, mentre
permette di definire la scala in quanto presenta ancora due colonne ortonormali.
La conoscenza delle due colonne della matrice di rotazione permette di ricavare la terza e perciò tale calibrazione diventa valida per punti anche fuori dal piano
.
Come è stato fatto in precedenza, un sistema non-lineare in 3 equazioni omogenee, quando opportunamente riarrangiato, fornisce due vincoli lineari:
| (9.62) |
Le equazioni (9.54) e (9.58) si possono ricavare anche da considerazioni puramente geometriche in quanto i vettori immagine e camera devono essere paralleli (il fattore è puramente moltiplicativo e sul vettore al massimo incide una trasformazione affine):
| (9.63) |
Paolo medici