In questo capitolo viene affrontato il problema di descrivere il processo attraverso il quale la luce incidente sugli oggetti viene impressa su un sensore digitale. Tale concetto è fondamentale nell'elaborazione delle immagini, in quanto fornisce la relazione che lega i punti di un'immagine con la loro posizione nel mondo; ovvero, permette di determinare la zona del mondo associata a un pixel dell'immagine o, viceversa, di individuare l'area dell'immagine che raccoglie una determinata regione in coordinate mondo.
Il modello proiettivo universalmente accettato, detto della Pin-Hole Camera, è basato su semplici rapporti geometrici9.1.
In figura 9.1 è mostrato uno schema molto semplificato di come avviene la formazione dell'immagine sul sensore.
Il punto osservato
, espresso in coordinate camera, viene proiettato sul piano del sensore.
Tutti questi raggi passano per uno stesso punto: il centro di proiezione (pin-hole).
|
Analizzando la figura 9.1, si osserva come i rapporti tra i triangoli simili generati dai raggi ottici descrivano l'equazione che permette di proiettare un generico punto
, espresso in coordinate camera (uno dei sistemi di riferimento in cui si può operare), sul piano del sensore:
È da precisare che le coordinate
, espresse in coordinate camera, in questo libro seguono la regola della mano sinistra (molto usata in computer graphics), contrapposta alla regola della mano destra (più usata in applicazioni robotiche), scelta invece per esprimere le coordinate mondo.
La coordinata
rappresenta quindi la profondità del punto lungo l'asse ottico della camera.
Definendo
L'equazione (9.1) può quindi essere espressa anche come
| (9.3) |
Le coordinate normalizzate costituiscono dunque uno spazio intermedio tra la geometria tridimensionale della scena e le coordinate discrete dell'immagine. Molti algoritmi di visione artificiale, come la stima della posa, la triangolazione e la geometria epipolare, assumono che i punti immagine siano espressi in questo sistema di riferimento.
Le coordinate sensore
non sono ancora le coordinate dell'immagine digitale, bensì coordinate “intermedie”, espresse nelle unità fisiche del sensore.
È quindi necessario applicare un'ulteriore trasformazione per ottenere le coordinate immagine:
e
sono fattori di conversione tra le unità del sistema di riferimento del sensore, tipicamente espresse in unità metriche, e quelle dell'immagine, espresse in pixel.
Nel caso di pixel quadrati, i due fattori di conversione coincidono.
In mancanza di informazioni (reperibili dai vari datasheet) su ,
e
, c'è la tendenza ad accorpare queste variabili in due nuovi parametri chiamati
e
, ovvero le lunghezze focali efficaci misurate in pixel, ottenibili empiricamente dalle immagini, come si vedrà nella sezione sulla calibrazione.
Queste variabili sono definite come
Utilizzando le coordinate immagine normalizzate, la trasformazione in coordinate pixel diventa quindi
Nel caso in cui il principal point coincida approssimativamente con il centro dell'immagine, e
possono inoltre essere messi in relazione con la semiampiezza del campo visivo:
| (9.7) |
Quando il sensore ha pixel quadrati, e
tendono ad assumere lo stesso valore.
A causa della divisione per , l'equazione (9.1) non è direttamente rappresentabile mediante una trasformazione lineare in coordinate cartesiane.
Tuttavia, risulta possibile modificare tale scrittura introducendo un fattore di scala
, in modo da rappresentare la proiezione mediante un sistema lineare in coordinate omogenee.
Per fare ciò verrà sfruttata la teoria presentata nella sezione 1.5 riguardante le coordinate omogenee.
La trasformazione tra coordinate immagine normalizzate e coordinate pixel può essere rappresentata mediante la matrice dei parametri intrinseci
Nel caso in cui , si ha quindi
| (9.9) |
Ricordando che
Per questo motivo viene normalmente sottinteso e si utilizzano le coordinate omogenee: per ottenere il punto in coordinate non omogenee è infatti sufficiente dividere le prime due coordinate per la terza.
L'utilizzo delle coordinate omogenee permette quindi di rendere implicita la divisione per la coordinata
.
La matrice dipende esclusivamente dai parametri interni della camera ed è pertanto detta matrice dei parametri intrinseci.
Essa è una matrice triangolare superiore definita, nel caso generale, da cinque parametri.
Con i moderni sensori digitali è normalmente possibile porre lo skew factor , che tiene conto del fatto che l'angolo tra gli assi del sensore possa non essere esattamente di
, uguale a zero.
Ponendo , l'inversa della matrice (9.8) si può scrivere come
L'inversa della matrice intrinseca permette, in particolare, di trasformare un punto immagine nelle corrispondenti coordinate immagine normalizzate:
| (9.12) |
La conoscenza di questi parametri (si veda la sezione 9.5 riguardante la calibrazione) determina quindi la possibilità di trasformare un punto da coordinate camera a coordinate immagine o, viceversa, di generare la retta in coordinate camera sottesa a un punto immagine.
In particolare, il vettore
| (9.13) |
Con questa modellazione, tuttavia, non si è tenuto conto dei contributi dovuti alla distorsione della lente. Il modello della pin-hole camera è infatti valido solamente se le coordinate immagine utilizzate si riferiscono a immagini prive di distorsione.