My Thesis

1,774 views

Published on

description of the camera calibration, epipolar geometry, trifocal geometry, multifocal geometry

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,774
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

My Thesis

  1. 1. Studio e applicazione di tecniche di visione arti- ficiale per la stima della posizione della camera MASSIMO FERRARA
  2. 2. Indice Indice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1 introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Concetti base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 La gerarchia delle Geometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Geometria proiettiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.1 introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.2 Spazio Proiettivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.2.1 La base proiettiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.2.2 Trasformazioni proiettive . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.2.3 Lo spazio P2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.2.4 Lo spazio P3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.3 Coniche e quadriche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3.4 Conica assoluta e quadrica duale assolute . . . . . . . . . . . . . . . . 20 2.4 Sommario delle gerarchie delle geometrie rivisitate . . . . . . . . . . . . . . 22 2.4.1 Geometria proiettiva in P3 . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.2 Geometria proiettiva orientata . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.3 Geometria affine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.4 Geometria euclidea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.4.5 Sommario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3 Modello camera e viste multiple ....................... 27 3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 Modello della camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.1 Parametri intrinseci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2.2 Parametri estrinseci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.3 Modello completo della matrice di proiezione prospettica . . . . . . . 33 3.2.4 Distorsione radiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3 Calibrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.1 Stima della matrice di proiezione prospettica . . . . . . . . . . . . . . 35 3.4 Geometrie stereo e a viste multiple . . . . . . . . . . . . . . . . . . . . . . . . 37 3.4.1 Collineazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.4.2 Geometria epipolare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4.3 Geometria epipolare riveduta . . . . . . . . . . . . . . . . . . . . . . . . 40 3.4.4 Ricostruzione del moto della struttura . . . . . . . . . . . . . . . . . . 42 3.4.5 Estrazione dei punti salienti . . . . . . . . . . . . . . . . . . . . . . . . . 43 3
  3. 3. 4 Indice 3.4.6 Corrispondenza dei punti salienti . . . . . . . . . . . . . . . . . . . . . 45 3.4.7 Stratificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.4.7.1 Ricostruzione da proiettiva ad euclidea . . . . . . . . . . . . . . . 48 3.4.8 Autocalibrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.9 Tensore trifocale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.4.9.1 Vettori controvarianti . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.4.9.2 Vettori covarianti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.4.9.3 Speciali tensori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.4.9.4 Matrice fondamentale versus tensore bifocale . . . . . . . . . . . 55 3.4.9.5 Geometria Trifocale . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.4.9.6 Estrazione della matrice fondamentale . . . . . . . . . . . . . . . 59 4 Stime sulle viste Multiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.1 introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2 Stime della matrice fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2.1 Stime lineari della matrice fondamentale . . . . . . . . . . . . . . . . . 62 4.2.2 Stime non lineari della matrice fondamentale . . . . . . . . . . . . . . 63 4.2.3 Robustezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.3 Stime del tensore trifocale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.3.1 Stime lineari del tensore trifocale . . . . . . . . . . . . . . . . . . . . . . 67 4.3.2 Stime non lineari del tensore trifocale . . . . . . . . . . . . . . . . . . . 68 4.3.3 Robustezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5 Applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.1 .............................................. 71
  4. 4. Capitolo 1 introduzione Nel ventesimo secolo un grande interesse dalla comunità scientifica ha avuto lo studio e le applicazioni di tecniche geometriche ed algoritmiche nel campo della visione artificiale. Le motivazioni ovviamente sono state da ricercare nei più sva- riati campi, ad esempio quello medico, quello industriale ed non ultimo quello dell’intrattenimento, tanto per citarne alcuni. Più recentemente, visto la larga dif- fusione di personal computer dalle crescenti capacità elaborative, l’interesse si è focalizzato sulla ricostruzione di modelli 3D provenenti da immagini acquisite tra- mite video camere. Lavori da ritenersi in tal senso pioneristici sono stati ad esempio [LH81], [TH84]. Da allora tanto si è fatto sia dal punto di vista teorico, ricordiamo ad esempio [Fau93], [HT03], ma pure dal punto punto di vista pratico ed in tal senso software risultati apprezzabili, alcuni dei quali anche di carattere commerciale, sono [pbESI], [pbR]. Come è possibile immaginare, la stima della geometria della scena e del movimento della camera, comunemente chiamati assieme structure from motion, è soggetta a svariate problematiche; comune- mente per esempio, vi sono errori di valutazione delle rotazioni e delle traslazioni, da attribuire al movimento della camera se questa ultima poggia su meccanismi moventi, nonchè quelle inerenti alla calibrazione dei paramtretri intrinseci della camera come la lunghezza focale. Oggi non considerare quest’ultimo aspetto ha dato notevole stimolo per un settore di ricerca piuttosto attivo denominato unca- librated structure from motion. La ricostruzione che deriva da una sequanza non calibrata di immagini si basa solamente sulla teoria delle trasformazioni proit- tive, che nel caso di due sole immagini fisse provenienti da due camere come in [Fau92] e [Har92], può considerarsi come una condizione necessaria di conoscenza per questa disciplina. Malgrado ciò le trasformazioni proiettive sono affette da svantaggi, ad esempio non si ha pieno significato nella misurazione degli angoli e delle distanza, per cui bisogna passare da una ricostruzione proiettiva ad una rico- struzione metrica. La stima di queste trasformazioni proiettive da immagini pone quindi il problema della self-calibration che riguarda sia i parametri intrinseci della camera che la trasformazione dalla ricostruzione proiettiva nella ricostru- zione affine per determinare la posizione del piano a infinito. Primi lavori su tali problematiche sono stati i lavori [MF92] dove si dimostra come sia possibile da una camera in movimanto liberamente, osservando la scena sconosciuta, estrarre i parametri intrinseci. Poi altri hanno proprosto miglioramenti come in [Har94a], [FLM92], [HA96] e [Tri96] introducendo concetti come absolute quadric. Si può sicuramente dire e non per ultimo come importanza, che l’approccio della auto- calibrazione da una sequenza non calibrata di immagini, risulta molto sensibile al 5
  5. 5. 6 introduzione rumore, e da nella fase del processo di ricostruzione degli errori non trascurabili tanto che tutti gli autori degli articoli [HA97], [HA98], [PKG98] e [PKG99] a testimonianza delle difficoltà riscontrate, mettono delle limitazioni sulla variabilità dei parametri intrinseci e del moviento della camera. La stima della posizione della camera giacchè in buona sostanza può essere visto come un pro- blema “inverso” di ricostruzione 3D, presenta le stesse problematiche suddette.
  6. 6. Capitolo 2 Concetti base B iso g n a p e rò t en ere p rese nte ch e u n a rg o m ento m a tem a t ico n o n p u ò m a i e ssere co n sid e ra to e sa u rito fi n o a q u a n d o n o n è d iventa to intu itiva m e nte ev id e nte e ch e p ro c ed e re a n a litic a m e nte sig n ifi ca co m p ie re u n p a sso im p o rta ntissim o m a so lo u n p rim o p a sso . Fe lix K L E IN 2.1 Introduzione In questo capitolo daremo alcuni concetti base su cui si fondano i problemi di ricostruzione di un oggetto del mondo reale attraverso concetti di geometria pro- iettiva. Metteremo in risalto le principali differenze con il modo usuale di rappre- sentazione nella geometria euclidea. Tali differenze risultano bene evidenti se si considera ad esempio la rappresentazione di un cubo per il quale in vista prospet- tica, stessi angoli e misure di lati possono apparire decisamente differenti: Figura 2.1. : Esempio di effetto prostettico 2.2 La gerarchia delle Geometrie Un famoso programma detto di Erlangen proposto da F. Klein 1872 propone lo studio di tutte le geometrie come spazi di punti e dei gruppi di trasformazioni che su essi non cambiano la struttura di spazio. Le proprietà invarianti del gruppo di 7
  7. 7. 8 Concetti base trasformazione sono i teoremi e una geometria può essere descritta completamente da un insieme di assiomi fondamentali come definizioni di punto, di linea, di parallelismo, ecc... che danno la struttura di spazio. Alternativamente è possibile caratterizzare la geometria per mezzo di un insieme di trasformazioni che non cambiano la struttura di spazio. La classificazione cosidetta “naturale” della geo- metria poichè provieniente dalla visione del mondo quotidiano segue il seguente schema: Proiettiva ⊃ Proiettiva orientataAffine ⊃ Metrica ⊃ Euclidea In altre parole ogni geometria alla sinistra di quella euclidea “estende” (ecco il significato del simbolo inclusione) quella alla sua destra intendendo con ciò che via via, ogni geometria diventa sempre più numerosa di trasformazioni e meno nume- rosa di invarianti. Riportiamo la seguente tabella: Figura 2.2. tratta da [S.Birchfield] 2.3 Geometria proiettiva 2.3.1 introduzione Le origini di questa geometria sono da ricercare nelle regole della prospettiva, che artisti del rinascimento come Brunelleschi, L.B. Alberti, Piero della Francesca e altri studiarono scientificamente e utilizzarono in modo sistematico.
  8. 8. 2.3 Geometria proiettiva 9 Figura 2.3. La città ideale Piero Della Francesca Tale regole sono basate sull’idea di “punti di fuga”, sui quali i contorni degli oggetti, sembrano tendere da un punto di vista di una osservazione. Semplice- mente potremmo formalizzare la geometria proiettiva con “gli assiomi di inci- denza” che risultano essere quindi una delle due possibili costruzione. Per tale costruzione considerando ad esempio S un piano proiettivo su un campo K (vedi più avanti per le definizioni) deve accadere: I. Per due punti distinti di S passa una e una sola retta. II. Due rette in S si incontrano in almeno un punto. III. In S ci sono tre punti non allineati. IV. Ogni retta in S contiene almeno tre punti. Trasciando i dettagli che ci porterebbero un pò lontani dalla costruzione clas- sica degli spazi proiettivi e delle applicazioni su essi di algebra lineare, possiamo vedere le seguenti figure che ripercorrono alcuni dei significati su esposti: Figura 2.4. In figura tratta da [Cornalba97] P è un punto di proiezione (o sorgente luminosa), A1 piano diapositiva; si nota che ϕ(Q) non è definito per tutti i Q e precisa- mente non è definito per i Q che appartengono alla intersezione di A1 col piano per P parallelo ad A2 quest’ultimo detto piano di proiezione.
  9. 9. 10 Concetti base Figura 2.5. In figura tratta da [Cornalba97] due rette incidenti vengono mappate in due linee parallele Figura 2.6. In figura tratta da [Cornalba97] altri casi particolari: a sinistra il piano di proiezione risulta ortogonale al piano diapositiva, mentre a destra il piano diapositiva risulta dietro il punto di proiezione. 2.3.2 Spazio Proiettivo Daremo adesso, succintamente, alcune più moderne formalizzazioni astratte, cer- cando di mantenere il livello delle esposizioni il più semplice è chiaro possibile, al fine di giustificare l’usuale simbologia nelle successive applicazioni. Definizione 2.1. Se V è uno spazio vettoriale di dimensione (n+1) su un campo K, denotiamo con PG(V) l’insieme dei sottospazi 1-dimensionali di V che chiame- remo punti di PG(V). Definizione 2.2. Se W è un sottospazio vettoriale di V di dimensione (h+1) con 0 ≤ h ≤ n, denotiamo con [W] il sottoinsieme di PG(V) costituito dai sottospazi 1- dimensionali di V contenuti in W, poniamo cioè [W] PG(W); un insieme di questo tipo prende il nome di sottospazio proiettivo, o semplicemente sottospazio di PG(V) di dimensione h. Per convenzione, assumiamo che il vuoto sia un sotto- spazio di PG(V) di dimensione -1. I sottospazi di PG(V) di dimensione 0 sono i punti di PG(V); quelli di dimensione 1, 2, (n-1) prendono rispettivamente il nome di rette, piani, iperpiani. Definizione 2.3. Denotata con S j la famiglia di tutti i sottospazi proiettivi di PG(V) di dimensione j con j ∈ J = {-1, 0, 1, 2,..,n } la coppia
  10. 10. 2.3 Geometria proiettiva 11 ((PG(V ), {S j } j ∈J ) prende il nome di spazio proiettivo associato a V o anche spazio proiettivo sul campo K. Tale spazio, con abuso di notazione, sarà denotato semplicemente con P PG(V). L’intero n=dim(P) = dim(V ) − 1 si chiama dimensione di P. Nota 2.4. Dalla Definizione 2.1 segue che i sottospazi {λv: λ ∈ K } di dimensione 1 generati da V sono solo quelli dati ∀v ∈ V {0}, per tale motivo il punto 0dim(V )×1 non è contenuto nello spazio proiettivo P, che del resto, per come è stato definito nella Definizione 2.3, non è uno spazio vettoriale. Definizione 2.5. Lo spazio proiettivo associato allo spazio vettoriale K n+1 si chiama spazio proiettivo numerico di dimensione n su K e con abuso di notazione si denota Pn PG(n,K). Nota 2.6. Ogni sottospazio proiettivo di dimensione h di P può essere conside- rato spazio proiettivo di dimensione h sul campo K. Se v è un vettore non nullo di V , il simbolo < v > = {λv: λ ∈ K } denoterà il sottospazio vettoriale generato da v e denoteremo semplicemente con [v] il corrispondente punto [ < v > ] di P. Due punti [v], [w] saranno uguali, se e solo se ∃λ ∈ K {0}: w = λv. Definizione 2.7. Diciamo che m punti {P1, P2, , Pm } = {[v 1], [v 2], , [v m]} di P sono (linearmente) dipendenti o indipendenti se tali risultano i vettori v 1, v 2, , v m. Notiamo che tale definizione è ben posta in quanto la dipendenza o indipen- denza lineare di P1, P2, , Pm non dipende dalla scelta di v j nel sottospazio < v j > . Diciamo inoltre che un punto P = [v] dipende (linearmente) da P1, P2, , Pm se il vettore v dipende da v 1, v 2, , v m. Un insieme X di punti di P si chiama gene- ratore se risulta < X > = P. Un generatore formato da punti indipendenti si chiama base. Nota 2.8. E’ immediato rendersi conto che un insieme di punti indipendenti {P1, P2, , Pm } = {[v 1], [v 2], , [v m]} è una base se, e soltanto se, v 1, v 2, , v m è una base di V e di conseguenza risulta m = n + 1. Nota 2.9. Due basi v 0, v 1, , v n e w 0, w 1, , w n dello spazio vettoriale V indivi- duano una stessa base di P se, e soltanto se, ogni v i è proporzionale ad un w j . Definizione 2.10. Una (n+2)-pla R = (A0, A1, , An , A) di punti di P a (n + 1) a (n + 1) indipendenti prende il nome di riferimento proiettivo di P. I punti A0, A1, , An si chiamano punti fondamentali e A punto unità del riferimento. Un sottospazio h dimensionale di P contenente (h+1) punti di R diversi da A si chiama sottospazio fondamentale del riferimento R. Definizione 2.11. Se B = (e0, e1, , en) è una base di V, si ha che
  11. 11. 12 Concetti base n R(B)= E0 = [e0], E1 = [e1], , En = [en], E = [ ej] j=0 è un riferimento proiettivo di P, detto associato a B, e ogni riferimento R si ottiene in questo modo. Fissato dunque il riferimento proiettivo R=R(B), ad ogni punto n P = [v = x je j ] j=0 resta associata la (n+1)-pla (x0,x1, , xn) ∈ K n+1 0 delle componenti di v nella base B. Gli elementi di tale (n+1)-pla si chiamano coordinate proiettive o omogenee di P nel riferimento R e sono definiti a meno di un fattore comune non nullo di proporzionalità in quanto dipendono dalla scelta di un vettore non nullo nel sottospazio vettoriale < v > di V. Resta così definita anche la funzione biuni- voca, detta coordinazione (Marshall Hall 1943): γR: PG(V ) → PG(n, K) γR(P ) = [(x0, x1, , xn)]=[x0: x1: , , : xn ] (dove i puntini “:” indicano che bisogna tenere conto dei loro rapporti) con la quale si possono identificare i punti P G(V ) con quelli dello spazio pro- iettivo numerico PG(n, K). Quando fissiamo un riferimento proiettivo in P, semplicemente possiamo scri- vere per un punto P ∈ P: P = (x0, x1, , xn) intendendo che le x0,x1, , xn sono le coordinate proiettive del punto P . Ovvia- mente, per i punti fondamentali del riferimento valgono pure le seguenti relazioni: E0 = (1, 0, 0, , 0, 1) E1 = (0, 1, 0, , 0, 1) En = (0, 0, 1, , 0, 1) E = (1, 1, 1, , 1, 1) Nota 2.12. Possiamo fin qui riassumere dicendo equivalentemente che lo spazio proiettivo Pn può essere visto come l’insieme quoziente K n+1 0 ∼ . La funzione π: K n+1 0 → Pn che porta ogni elemento di K n+1 0 nella sua classe di equi- valenza, chiamata proiezione sul quoziente, ci permette di definire i sottospazi proiettivi. Definizione 2.13. Se W è un sottospazio vettoriale di uno spazio vettoriale V, allora la codimensione di W rispetto a V è: CodimVW = dim V − dim W
  12. 12. 2.3 Geometria proiettiva 13 Passando al quoziente, dalle equazioni di un sottospazio vettoriale W, otte- niamo le equazioni del suo proiettivizzato; in particolare quindi un sottospazio pro- iettivo PG(W ) di dimensione k in PG(n,K) sarà descritto da un numero di equa- zioni pari alla sua codimensione. Nota 2.14. Ricordiamo che ogni sottospazio vettoriale W di dimensione (h + 1) di V, rispetto ad una base ordinata B = (ei), si rappresenta mediante un sistema di k = (n − h) equazioni omogenee indipendenti del tipo:   a10x0 + a11x1 + + a1nxn = 0  a20x0 + a21x1 + + a2nxn = 0    ak0x0 + ak1x1 + + aknxn = 0  Notiamo che il sottospazio fondamentale di dimensione h contenente i punti fondamentali del riferimento Ei0, Ei1, ..., Eih e rappresentato dal sistema: {x j = 0 : j i0, i1, , ih } Nota 2.15. (immersione standard) Per ogni i, il luogo di equazione xi = 0 è un iperpiano e lo indichiamo con Hi in Pn; se indichiamo con X = Pn H0 il comple- mentare di H0 e con A l’iperpiano affine di equazione x0 = 1, sappiamo associare una corrispondenza biunivoca: j: A → Pn H0 x j(1, y1, , yn) → [1: y1: : yn] : yi = x i con i = 1, , n. 0 che identifica A a X. Viceversa se [x0: x1: : xn] ∈ X ossia x0 0, il punto di A ad esso corrispondente risulta: j −1: Pn H0 → A x xn j −1([x0: x1: : xn]) → (1, x1 , 0 , x0 ) Diremo i punti (y1, y2, , yn) coordinate affini, naturalmente, rispetto alle scelte fatte del punto [x0: x1: : xn] ∈ Pn o del punto ad esso corrispondente in P. Tale costruzione, permette di legare la geometria affine alla geometria proiettiva. In generale, identificando A con An = An(K), considerando Hi e introducendo le cosiddette carte affini Ui = Pn Hi possimo definire biunivocamente: ji: An → Ui ji(y0, , yi−1, yi+1, , yn) → [y0: : yi−1: 1: yi+1: : yn] ji−1: Ui → An ji−1([x0: x1: : xn]) → (y0, , yi−1, yi+1, , yn)
  13. 13. 14 Concetti base dove tacitamente abbiamo utilizzato una applicazione biettiva che lega (y0, , yi−1, yi+1, , yn) ∈ An → (y0, , yi−1, 1, yi+1, , yn) ∈ A La ji è detta applicazione di passaggio a coordinate omogenee mentre ji−1 applicazione di passaggio a coordinate non omogenee, entrambe rispetto a xi. I punti di Hi sono detti impropri i punti di Ui sono detti invece propri, sempre rispetto a xi. ′ ′ Nota 2.16. Date B = (ei) e B = (ei ) due basi ordinate di V esse individuano lo stesso riferimento proiettivo di P se, e soltanto se, sono basi proporzionali, cioe se ′ esiste λ 0 tale che ei = λei, per ogni i = 0, 1, , n. Definizione 2.17. Un automorfismo di V è una trasformazione lineare e biuni- voca di V, cioè una permutazione L sugli elementi di V tale che L(αx + βy) = αL(x) + βL(y), per ogni α, β ∈ K e per ogni x, y ∈ V. Gli automorfismi di V for- mano un gruppo che si denota con GL(V ) e si chiama gruppo generale lineare. Definizione 2.18. Dato V uno spazio vettoriale non vuoto su un anello di divi- sione K. una funzione f di V su se stessa è chiamata semilineare se esiste un automorfismo γ di K tale che: f (x + y) = f (x) + f (y) ed f (xa) = f (x)a γ per ogni x,y ∈ V ed a ∈ K. Definizione 2.19. Siano V , V ′ due spazi vettoriali su K di dimensione maggiore di due. Una biiezione f fra i punti di PG(V) e quelli di PG(V’) prende il nome di collineazione se f, insieme alla sua inversa, trasforma rette in rette. Nel caso V e V ′ hanno dimensione due, una collineazione fra PG(V) e PG(V ′ ) è una fun- zione del tipo P = [v] → P ′ = [T (v)], dove T è una funzione semilineare fra V e V ′. Definizione 2.20. Le collineazioni di PG(V) in se stesso formano un gruppo, il gruppo delle collineazioni di PG(V), che si denota con P ΓL(V ). Lo studio delle proprietà di PG(V) invarianti rispetto a tale gruppo prende il nome di geometria d’incidenza di PG(V). Definizione 2.21. Se L è un automorfismo di V, possiamo considerare la permu- ′ tazione σL sui punti di PG(V) denita da σL: P = [v] → P = [L(v)]. Una permuta- zione di questo tipo prende il nome di proiettività. Le proiettività di PG(V) for- mano un gruppo che si denota con PGL(V) e si chiama gruppo (lineare generale) proiettivo. Lo studio delle proprietà di PG(V) invarianti rispetto a tale gruppo si chiama geometria proiettiva. Esempio 2.22. Per chiarire alcune definizione precedenti riportiamo il seguente, e non l’unico, possibile schema:
  14. 14. 2.3 Geometria proiettiva 15 LA K n+1 0 →K n+1 0 ↓π ↓π σL Pn → Pn dove LA è una biezione indotta da A ∈ Mn+1(K): det(A) 0 e che ∀x ∈ Rn+1 0 , ∀t ∈ K soddisfa le relazioni: LA(t x) = tLA(x) ed inoltre LA(x) 0 π è una funzione proiezione sull’insieme quoziente K n+1 0 . Dopo avere introdotto alcune definizioni essenziali vediamo le implicazioni che da esse ne derivano. Da ora in avanti possiamo considerare un punto x ∈ Pn e lo possiamo rappresentare come un vettore ad (n + 1)-componenti (confronta Nota 2.15): x ∈ Pn → x = [x0, x1, x2, , xn]⊤: xi ∈ R, x0 ∈ R{0} con i = 1, 2, , n. Legando cosi i risultati dell’algebra lineare definiti su K n+1{0} possiamo ope- rare su Pn, ma avendo cura di non dimenticare ciò che nella notazione vettoriale, i significati su esposti dalle definizioni precedenti, risultano celati. Ricordiamo adesso un notevole risultato che caratterizza la geometria proiettiva detto prin- cipio di dualità, “le cui radici, molto antiche, possono essere ricercate addirittura in Apollonio [T.Bagni]” , e che riassumiamo semplificando per comodità, per i nostri scopi, con il seguente teorema duale: Teorema 2.23. (Dualità del punto e dell’iperpiano) Per ogni teorema nello spazio proiettivo che include punti e iperpiani esiste un teorema duale. Il teorema duale è dedotto scambiando il ruolo del punto e del l’iperpiano (vedasi [Fau93] per maggiori dettagli). Definizione 2.24. Un iperpiano π di Pn si può definire attraverso la relazione d’incidenza con un punto x di Pn: π ⊤x = 0 oppure dualmente x⊤π = 0 Queste due ultime equazioni ci dicono che il punto x giace sull’iperpiano π o vice versa che l’iperpiano π intercetta il punto x. Da ora in avanti possiamo con- siderare il campo K = R in modo che lo spazio proiettivo Pn sia l’estenzione dello spazio Euclideo Rn per mezzo di punti su un iperpiano π ∞ detto a infinito i quali punti ideali sono del tipo: [x1, x2, , xn , 0]⊤: x1, x2, , xn ∈ R con ∃xi 0 i = 1, 2, ,n (2.1) Applicando la Definizione 2.24 per un punto dell’insieme in (2.1) abbiamo che:
  15. 15. 16 Concetti base π ⊤ x = 0 → π ∞ = [0, 0, ∞ , 0, 1]⊤ Risulta inoltre importante la proprità che riguarda due punti equivalenti di Pn: ∀x, y ∈ Pn equivalenti esiste un λ ∈ R{0} → λx = y → y ≃ x (confronta Nota 2.6) Nel caso consideriamo un singolo punto dello spazio x ∈ P abbiamo sempre nella rappresentazione vettoriale: λx = x → x ≃ x con λ ∈ R{0}. (2.2) Il simbolo “ ≃ ” mette in evidenza che la conoscenza di un punto avviene diciamo pure a meno di un fattore di scala. 2.3.2.1 La base proiettiva Anche nella geometria proiettiva, come detto sopra in altri termini, è possibile caratterizzare un qualsiasi punto come una opportuna combinazione lineare di una arbitraria base proiettiva. Sempre nel caso si abbia un generico x = [x0, x1, , xn] ∈ Pn la base standard proiettiva rappresentata nella notazione vettoriale, risulta avere (n + 2) componenti ei = [0, , 1, , 0] con i = 0, 1, , n ed en+1 = [1, , 1], ma ciononostante tale punto nella notazione vettoriale x può essere descritto dalla seguente combinazione lineare: n x= xiei i=0 che si presenta come una forma canonica, inoltre ogni base proiettiva x0, x1, , xn+1 può essere trasformata univocamente attraverso una opportuna tra- sformazione lineare nella base canonica: ei ≃ T xi dova T e una opportuna matrice di trasformazione (vedi [Fau93] per maggiori dettagli). 2.3.2.2 Trasformazioni proiettive Ci sono due due tipi di trasformazioni nello spazio proiettivo. La prima classe di trasformazioni detta affine caratterizzata dal fatto che non cambia tutti i punti che stanno sull’iperpiano ad infinito. In generale una trasformazione affine può essere vista come una trasformazione lineare invertibile proveniente dallo spazio euclideo Rn con An×n ∈ M (R) e che resta nello spazio euclideo Rn attraverso n×n una traslazione tn×1 ∈ M (R). Se consideriamo due punti di Pn possiamo scri- n×1 vere la trasformazione affine come segue:
  16. 16. 2.3 Geometria proiettiva 17 An×n tn×1 x2 = x1 = T Ax1 con x1, x2 ∈ Pn. 01×n 1 Un sottogruppo delle trasformazioni affini che scalano ortogonalmente la matrice An×n vengono dette trasformazioni di similitudine. La seconda classe di trasformazioni dette proiettive invece cambia la posizione dell’iperpiano a infinito. Tale tipo di trasformazione può essere considerata la generalizzazione della tra- sformazione affine, inoltre muove come si dice i punti dell’iperpiano ad infinito nello spazio euclideo Rn. Una trasformazione cosifatta, lineare, che mappa punti collineari in punti collineari è detta “collineazione o omografia” ed è definita per Pn nella seguente maniera: ′ x ≃ T P x dove T P ∈ M (R): det(T P ) (n+1)×(n+1) 0. Per le trasformazioni proiettive in generale Pm → Pn definite da T P ∈ M (R) dove la matrice non è evidentemente invertibile, vale sempre la rela- (m+1)×(n+1) ′ zione x ≃ T P x che può essere applicata linearmente. 2.3.2.3 Lo spazio P 2 Ogni punto dello spazio x ∈ P2 può essere visto tramite vettore x ≃ x, y, p]⊤ ∈ R3 03×1 in definitiva risulta essere un insieme di linee in R3 che provengono dall’origine. Ciascuno di queste linee può essere descritta pure per mezzo di un punto di R2, assieme all’origine. Per lo spazio P2 un punto rappresentato da x ≃ x, y, 1]⊤ su un piano risulta uguale a tutti i punti che stanno sulla linea raggio di proiezione che lega lo stesso all’origine y ≃ p x, y, 1]⊤. In tale contesto l’iperpiano ad infinito diventa la retta ad infinito l∞ = [0, 0, 1]⊤ e possiamo scrivere la seguente relazione P2 = R2 ∪ l∞. Utilizzando il Teorema 2.23 di dualità, una linea può essere rappresentata dalla seguente formula l ⋍ [l1, l2, l3]⊤ che consiste nell’insieme dei punti tali che l⊤x = 0, inoltre tale equazione può essere scritta ovviamente anche come x⊤l = 0. Risulta inoltre che per due punti x1, x2 di P2 passa una retta quindi ricordando l’equazione di una generica retta abbiamo: 0 = ax + by + cw ⇒ [a, b, c]x⊤ = 0 con x ∈ x1, x2 La soluzione di quest’ultima equazione può essere vista come lo spazio nullo di una matrice Al: x⊤ 1 All = l=02×1 x⊤ 2 Teorema 2.25. Il punto intersezione x di due rette l1, l2 è dato dal prodotto vet- tore tra le stesse: x = l1 × l2
  17. 17. 18 Concetti base Teorema 2.26. Due rette l1, l2 sono parallele se la loro unica intersezione e su l ∞: l⊤ x = 0 ∞ Alcune importanti proprietà delle traformazioni affini in P2 possono essere elencate nelle seguenti: • due rette parallele sono mappate in due rette parallele • il rapporto tra lunghezze si mantiene costante • il rapporto tra due aree è invariante [HZ03] 2.3.2.4 Lo spazio P 3 Anche lo spazio proiettivo P3 lo possiamo rivedere come l’estensione dello spazio Euclideo R3 per mezzo questa volta del piano π ∞: P3 = R3 ∪ π ∞. Il Teorema 2.22 duale è definito tra il punto e il piano inoltre P3 ha più proprietà che P2. Se ricor- diamo l’equazione di un piano in R3 e la riadattiamo in coordinate omogenee otte- niamo: π1X + π2Y + π3Z + π4W = 0 ⇒ [π1, π2, π3, π4]X con X ∈ P3 (2.3) ¯ che in forma normale di Hesse considerando X = [X/W , Y /W , Z/W ] ∈ R3, diventa: ¯ [π1, π2, π3]X + π4 = 0 ∀X ∈ P3 dove possiamo vedere nπ = [π1, π2, π3] come il vettore normale al piano ed π inoltre possiamo definire dπ = n 4 la distanza del piano dall’origine. Si deduce π 2 che se si verifica n∞ = [0, 0, 0] allora la distanza che indichiamo con d∞ diventa infinita, come ci si aspetta che sia. Anche in tale contesto un piano calcolato da tre punti X 1, X 2, X 3 ∈ P3 può essere visto come lo spazio nullo di una matrice Aπ [HZ03]:   X⊤ 1 Aππ = X ⊤ [π1, π2, π3, π4] = 03×1   2 X⊤ 3 Teorema 2.27. Due piani sono paralleli se e solo se la loro unica retta d’interse- zione è sul piano a infinito π ∞
  18. 18. 2.3 Geometria proiettiva 19 Teorema 2.28. Una retta ed un piano sono paralleli se è solo se il loro unico punto di intersezione è sul piano a infinito π ∞ 2.3.3 Coniche e quadriche Nello spazio P2 la rappresentazione delle coniche risulta molto agevole infatti se consideriamo una conica C rappresentata in R2 da un polinomio di secondo grado: ax2 + bxy + cy 2 + dx + ey + f = 0 ∀[x, y]⊤ ∈ C possiamo scrivere in coordinate omogenee: x y ⊤ ax2 + bxy + cy 2 + dxw + eyw + fw2 = 0 ∀ , ∈C w w o equivalentemente se C è la matrice che rappresenta la conica C in P2:   b d  a 2 2   b e    ⊤ [x, y, w]C[x, y, w]⊤ = [x, y, w] c [x, y, w]⊤ ∀[x, y, w] ∈ C (2.4)  2 2    d e  f 2 2 dalla (2.4) che viene detta “punto conico” applicando il Teorema 2.23 (duale) possiamo definire la conica duale “retta conica”: l ⊤C ∗ l = 0 (2.5) Le matrici C e C ∗ in (2.4) e (2.5) definiscono le coniche attraverso “mapping” di punti o rette. Figura 2.7. tratta da [cs-236607] In effetti per stabilire che nello spazio euclideo C ∗ rappresenti una conica esiste il teorema seguente che riportiamo:
  19. 19. 20 Concetti base Teorema 2.29. La retta tangente l ad una conica C in un punto, in forma matri- ciale è data da: l=Cx Con il teorema 2.29 (la cui dimostrazione la si può vedere in [J.M.Frahm05]) si determina inoltre che C ∗ = C −⊤ = C −1. Per calcolare una conica quindi possiamo farlo attraverso punti o rette inoltre se consideriamo una trasformazione proiettiva tale che x2 = H x1 possiamo verificare le seguenti relazioni: x⊤C 2x2 = x⊤C 1x1 ⇔ x⊤H ⊤ C 2Hx1 = x1 C 1x1 → C 2 = H −⊤ C 1H −1 2 1 1 ⊤ (2.6) oppure C ∗ = H ⊤ C ∗H 2 1 Nello spazio P3, data una quadrica e procedendo come abbiamo fatto per la (2.4), otteniamo: aX 2 + bY 2 + cZ 2 + d XY + eXZ + fYZ + gWX + hWZ + iWZ + kW 2 = 0 da cui:   d e g a   2 2 2    d f h   b  X ⊤Q X = X ⊤  2 2 2 X = 0  con X ∈ P3  e f i  c  2 2 2      g h i  k 2 2 2 La (2.5) adesso diventa la quadrica duale: π ⊤ Q∗π = 0 (2.7) dove chiaramente π è un piano, (per approfondimenti vedasi [ZH03]) mentre la (2.6) diventa: Q2 = H −⊤ Q1H −1 oppure dualmente Q∗ = H ⊤ Q∗H 2 1 (2.8) 2.3.4 Conica assoluta e quadrica duale assolute Per conica assoluta (AC) il cui simbolo è Ω∞ si intende un punto conico che sta sul piano a infinito π ∞ definito quindi dalle equazioni:
  20. 20. 2.3 Geometria proiettiva 21 X2 + Y 2 + Z2 = 0 (2.9) W =0 notiamo che la (2.9) rappresenta un insieme di punti immaginari su π ∞ quindi sono numeri complessi. Possiamo scrivere semplificando che per X = [X , Y , Z , 0]⊤ ∈ π ∞ la relazione che definisce una conica assoluta risulta: XΩ∞X ⊤ = XI 3×3 X ⊤ = 0 Teorema 2.30. la conica assoluta è fissata dentro una trasformazione proiettiva se solo se la trasformazione è di similitudine H −⊤Ω∞H −1 = Ω∞ la dimostrazione del teorema risulta una consequanza della (2.6) nell’ambito −⊤ −1 delle trasformazioni affini per cui se A3×3I 3×3A3×3 = I 3×3 allora deve necessaria- mente A essere una matrice ortogonale. L’importanza quindi della (AC) sta nel fatto che tramite essa sarà possibile passare alla geometria metrica e ciò può essere visualizzato nella seguente figura: Figura 2.8. tratta da [JunLiu05] Un semplice metodo che possiamo trarre è quello di prolungare le linee lati del parallelepipedo fino ad incontrare il piano a infinito. Se le intersezioni d1 e d2 sono due punti coniugati della conica d1Ω∞d2 = 0, le linee sono perpendicolari. Adesso possiamo passare alla duale della conica assoluta; come abbiamo visto la conica assoluta è rappresentata da due equazione, quindi risulta conveniente definire le due, dualmente, attraverso la seguente relazione:
  21. 21. 22 Concetti base   1000  0100  Q∗ ∞ Ω∗ = ∞   0010  0000 Figura 2.9. tratta da [MVG2] detta appunto quadrica duale assoluta. Come facilmente oramai si può intuire possiamo scrivere per una trasformazione proiettiva: I 3×3 0 HQ∗ H ⊤ = H ∞ H ⊤ = (Q∗ )P ∞ 0 0 e se H è una trasformazione di similitudine vale l’analogo al Teorema 2.30: Teorema 2.31. Una quadrica duale assoluta è fissata dentro una trasformazione proiettiva se solo se è di similitudine HQ∗ H ⊤ = Q∗ ∞ ∞ Alcune proprietà della Ω∞ possiamo riassumerle nelle seguenti: • qualsiasi circonferenza incontra Ω∞ in due punti • qualsiasi sfera incontra π ∞ in Ω∞ 2.4 Sommario delle gerarchie delle geometrie rivisi- tate In visione artificiale è indispensabile utilizzare le coordinate omogenee che otte- niamo per il nostro uso attraverso il legame con la geometria affine. (confronta Nota 2.15) Con questo legame assieme alla sequenza di legami con le altre geome- trie si arriva alla ricostruzione metrica - Euclidea:
  22. 22. 2.4 Sommario delle gerarchie delle geometrie rivisitate 23 Proiettiva ⊃ Proiettiva orientata ⊃ Affine ⊃ Metrica ⊃ Euclidea 2.4.1 Geometria proiettiva in P3 Una trasformazione in P3 può essere rappresentata in coordinate omogenee attra- verso una matrice 4 × 4:   p11 p12 p13 p14  p p p p  T P ≃ 21 22 23 24   p31 p32 p33 p34  p41 p42 p43 p44 definita a meno di un fattore non zero di scala, e non è necessariamente inver- tibile. Consequentemente i gradi di libertà sono 15. Risulta importante notare che se la notazione omogenea può esprimere una trasformazione lineare necessaria- mente deve essere una trasformazione proiettiva. Per quanto riguarda il tipo di trasformazione definibili e degli invarianti possiamo rifarci alla Fig 2.2. 2.4.2 Geometria proiettiva orientata Si tratta di un specializzazione proposta da [Stolfi91] ove in pratica lo spazio pro- iettivo orientato On è definito come per Pn tranne che per la relazione di equiva- lenza: ∀x ∈ On , λ ∈ R, λ > 0 ⇒ λx = x Tale definizione permette di distinguere se un punto è difronte o dietro il punto di proiezione (vedi Fig 2.5 destra) o meglio dietro la camera come vedremo più avanti. 2.4.3 Geometria affine La geometria affine può essere considerata come stare tra la geometria priettiva e la geometria euclidea; noi considereremo lo spazio affine come uno spazio proiet- tivo ma con i punti ad infinito identificati. Le trasformazioni affini quindi possono essere rappresentati attraverso la matrice 4 × 4:   a11 a12 a13 a14  a a a a  T A ≃ 21 22 23 24   a31 a32 a33 a34  0 0 0 λ
  23. 23. 24 Concetti base avendo come evidente 12 gradi di libertà. 2.4.4 Geometria euclidea Possiamo considerare partendo dalla geometria affine, una specializzazione attra- verso la matrice 4 × 4:   λr11 λr12 λr13 t14  λr λr λr t  T M ≃ 21 22 23 24   λr31 λr32 λr33 t34  0 0 0 1 dove la matrice R = [rij] con i, j = 1, 2, , 3 risulta ortonormale tale che R ⊤R = R R⊤ = I con det(R) = 1 mentre λ al solito è un fattore di scala; otte- niamo cosi la geometria metrica o delle similitudini con 7 gradi di libertà; da qui il passo alla geometria euclidea è breve come si può intuire:   r11 r12 r13 t14  r r r t  T E ≃ 21 22 23 24   r31 r32 r33 t34  0 0 0 1 con 6 gradi di libertà. 2.4.5 Sommario Figura 2.10. tratta da [S.Birchfield]
  24. 24. 2.4 Sommario delle gerarchie delle geometrie rivisitate 25 Figura 2.11. tratta da [T.Oram01]
  25. 25. Capitolo 3 Modello camera e viste multiple L e id ee m a tem a t ich e h a n n o o rig in e a live llo e m p irico ... M a u n a vo lta ch e esse so n o sta te co n c ep ite in q u esto m o d o , l’a rg o m e nt o c o m in cia a v ive re d i v ita p ro p ria e v ie n e p a ra g o n a to c o n m a g g io re fa c ilità a q u a lc o - sa d i c re a tivo , g ove rn a to q u a si d el tu tto d a m o tiva z io n i este tich e [...] M e ntre si d iff o n d e , o d o p o nu m e ro si in cro ci « a stra tti» , la d isc ip lin a m a t em a tica risch ia la d e g e n e ra z io n e [...] q u a lo ra si ra g g iu n g a ta le sta - d io , l’u n ico rim e d io m i se m b ra esse re il rito rn o riv iv ifi ca nte a lla fo nte : u n a nu ova intro d u z io n e d i id ee p iù o m e n o d ire tta m e nte e m p irich e . J o h n Vo n N e u m a n n (1 9 4 7 , e d . 1 9 6 1 , p .9 ) 3.1 Introduzione Il modello della camera più semplice a cui di solito si fa riferimento in tutti i testi di visione artificiale è quello riportato sotto: Figura 3.1. tratta da [Fusiello05] tale modello è detto “pinhole” letteralmente tradotto a foro di spillo o più modernamente in apparecchio a foro stenopeico, ma in buona sostanza risale al principio della camera oscura rinascimentale. In tale ambito possiamo distinguere tra i diversi sistemi di coordinate: • sistema di coordinate mondo usato per le misurazioni solitamente nello spazio tridimensionale del mondo reale • sistema di coordinate camera usato per descrivere la scena in dipendenza della posizione ed orientazione della camera nello spazio tridimensionale • sistema di coordinate piano immagine camera usato per descrivere il punto immagine della scena proiezione nel piano immagine nello spazio bidimen- sionale. Una schematizzazione unidimenzionale con un modello geometrico semplificato è descritto in figura: 27
  26. 26. 28 Modello camera e viste multiple Figura 3.2. tratta da [J.M.Frahm05] Nella figura di cui sopra risultano del tutto equivalente, dal punto di vista geo- metrico, utilizzare l’ipotesi (a) che rispecchia il caso in cui l’immagine si forma dietro il centro di proiezione oppure utilizzare l’ipotesi (b) che rappresenta l’ipo- tesi in cui l’immagine si forma davanti il centro di proiezione. Nel ricavare le equazioni di cui sotto supporremo il caso (b) tranne avviso contrario: X x=f Z (3.1) Y y=f Z 3.2 Modello della camera Definizione 3.1. Una camera canonica è una camera per la quale le coordinate mondo coincidono con le coordinate della camera, mentre il piano immagine è posto a Z=1 e la lunghezza focale è tale che f=1. Figura 3.3. tratta da [J.M.Frahm05] Le equazioni che possiamo dare utilizzando la precedente definizione risultano adesso abbastanza semplici. Considerando infatti un punto x = [x, y]⊤ del piano ¯ ¯ immagine corrispondente ad una proiezione di uno punto della scena 3D X = [X , Y , Z] difronte la camera Z > 1 abbiamo: ⊤
  27. 27. 3.2 Modello della camera 29   X x Z x= ¯ = Y  y Z che in coordinate omogenee diventa:       X ∗T x∗s 1000   y ∗ s = 0 1 0 0  Y ∗ T     Z ∗T  s 0010 T dove s e T sono dei fattori di scala non zero ed arbitrari utilizzati per conver- tire la notazione metrica in notazione omogenea. Possiamo definire la matrice di proiezione prospettica che codifica in questo caso semplificato l’essenza della tra- sformazione, così spesso si dice:   1000 ˜ P  0 1 0 0 = [I |0] (3.2) 0010 Nel caso generale in cui la posizione della camera è, attraverso una trasforma- ¯ zione di similitudine R = [rij] con i, j = 1, 2, , 3 e C = [Cx C y Cz]⊤, in una posi- zione che non risulta canonica con lunghezza focale f 1 segue quanto riportato in figura: Figura 3.4. tratta da [J.M.Frahm05] in accordo con l’ortonormalità della matrice di rotazione R risulta che R−1 = R⊤ e le equazioni (3.1) diventano:   r (X − C ) + r (X − C ) + r (X − C ) x f r1 1 (X − Cx) + r2 1 (X − Cy) + r3 1 (X − Cz) 31 x 23 y 33 z x= ¯ = r (X − C ) + r (X − C ) + r (X − C )  y f r1 2 (X − Cx) + r2 2 (X − Cy) + r3 2 (X − Cz) 31 x 23 y 33 z
  28. 28. 30 Modello camera e viste multiple 3.2.1 Parametri intrinseci A questo punto dobbiano considerare un ulteriore problema; le video camere digi- tali sono realizzata attraverso dei sensori di acquisizione che possiamo schemati- zare, senza entrare nel dettaglio fisico, con delle griglie che rappresentano i pixel; queste griglie quindi possono presentare delle distorsioni e non accentramenti con il centro ottico; in generale tali deformazioni sono rappresentabile tramite una deformazione proiettiva: Figura 3.5. tratta da [ISPRS96] Nel seguito, semplificando, la trasformazione fra le coordinate del piano imma- gine e le coordinate pixel, la rivedremo come una trasformazione affine del piano immagine: Figura 3.6. tratta da [T.Oram01] Introducendo le coordinate (u0,v0) del punto principale intersezione dell’asse ottico asse Z con il piano immagine, ku (kv) l’inverso della dimensione efficace dei pixel lungo la direzione u (v), ed θ = 900 − α angolo fra l’asse u e l’asse v, nella sua forma più generale, la matrice che descrive la trasformazione suddetta risulta [Fusiello05]: (qui l’autore riporta le ipotesi (a) in Figura 3.2)   − fku fkucotθ u0 K = 0 − fkv/sinθ v0  0 0 1
  29. 29. 3.2 Modello della camera 31 Spesso accade di riscrivere la matrice K nella seguente maniera:   αu γ u0 K = 0 rαu v0  (3.3) 0 0 1 dove chiaramemte si fanno delle posizioni: αu = − fku , αv = − fkv , γ = fkucotθ (detto skew) e sinθ < 1 ⇒ α < 0 e si definisce l’aspect ratio con il seguente rapporto: αv r= αu 3.2.2 Parametri estrinseci ¯ Esiste anche una trasformazione affine fra un punto X = [X , Y , Z]⊤ ∈ R3 e il ¯ punto nel sistema di coordinate camera X c = [Xc , Yc , Zc]⊤ ∈ R3 che si può riassu- mere con: ¯ ¯ ¯ X c = R⊤(X − C ) che in coordinate omogenee possiamo riscrivere, considerando X c , X ∈ P3, come segue: ¯ R ⊤ − R ⊤C Xc = X (3.4) 03×1 1 Visto il grado di libertà nella scelta del sistema di riferimento avremmo potuto considerare la trasformazione inversa seguente (scambiando il ruolo di X c e X si passa dalla (3.5) alla (3.4) e viceversa): R C¯ Xc = X (3.5) 03×1 1 In generale possiamo legare un centro di proiezione su un piano immagine a [0 0 f] attraverso    1000 100 0  010 0  0100     T p = T parT per =    0000  001 0     1 0001 00 f 1
  30. 30. 32 Modello camera e viste multiple dove T per è una matrice detta di trasformazione prospettica, mentre T par è una matrice di proiezione parallela. La T per modifica lo spazio di proiezione cosicchè tutti i raggi di proiezione sono paralleli, muove il centro ottico della camera dall’origine del sistema di coordinate sul piano ad infinito. Ciò si può dedurre dal fatto che il centro ottico è l’intersezione di tutti i raggi di proiezioni e quindi in accordo con il Teorema 2.25 se tutti i raggi sono paralleli si incontrano sul piano a infinito. Figura 3.7. in figura tratta da [GiannitrapaniFusiello], si mette in evidenza l’effetto della trasformazione prospettica a destra e l’effetto della proiezione parallelo-ortogonale a sinistra. Adesso applicando T p al punto X c otteniamo: ¯ R ⊤ − R ⊤C Xi = T p X 03×1 1 il punto X i ∈ P3 è sul piano immagine, se la posizione della camera è canonica Z=1 allora possiamo scrivere: ¯ xi = [R⊤| − R⊤C ]X dove xi ∈ P2 è il punto proiettivo sul piano immagine. Se consideriamo la tra- sformazione fra coordiate piano immagine e coordinate pixel otteniamo: ¯ x = K[R⊤| − R⊤C ]X
  31. 31. 3.2 Modello della camera 33 3.2.3 Modello completo della matrice di proiezione prospet- tica La matrice di proiezione prospettica nella sua formulazione completa “affine” si ottiene combinando le equazioni (3.2), (3.3) e (3.4):           X X x αu γ u0 1000 ¯ R ⊤ − R ⊤C  Y   Y   y = 0 αv v0  0 1 0 0    Z = P     (3.6) 03×1 1 Z  1 0 0 1 0010 1 1 che nella versione a blocchi risulta: ¯ P ≃ K[R⊤| − R⊤C ] dove la reintroduzione del simbolo “ ≃ ” ci ricorda che P è definita a meno di un fattore di scala nello spazio proiettivo. Una ulteriore forma della matrice di proie- zione prospettica P , in cui si mescolano i parametri intrinseci ai parametri estrin- seci, mette in evidenza come le incognite risultano 12 (nota [Cx C y Cz ]⊤ = [t1, t1, t1]⊤ e si fa uso della (3.5)):   αu ⊤ αu αur ⊤ − 1 r 2 + u 0r ⊤ 3 αut1 − t2 + u0t3  tanθ tanθ  P = αv ⊤ αv (3.7) r + v0r ⊤   t2 + v0t3 sinθ 2 3   sinθ  ⊤ r3 t3 di queste 12 incognite ne risultano indipendente solo 3+3+5=11 per via del fattore di scala. 3.2.4 Distorsione radiale Un approfondimento del modello della telecamere prevede l’introduzione di un modello non lineare che tiene conto della distorsione radiale delle lenti soprattutto per ottiche a focali corte. Possiamo pensare di modellare la distorsione tra le coordinate pixel ideali non distorte (u, v) e quelle distorte (u v come segue: ˆ, ˆ) 2 u = (u − u0)(1 + k1rd) + u0 ˆ 2 (3.8) v = (v − v0)(1 + k1rd) + v0 ˆ
  32. 32. 34 Modello camera e viste multiple (u − u0) 2 (v − v0) 2 2 dove rd = au + av e le (u0, v0) sono le coordinate del centro dell’immagine. In effetti la (3.8) risulta una approssimazione degli effetti non lineari come evidenziato in molti testi; non conosciamo la funzione che lega punti distrorti e punti ideali. Detto ciò risulta evidente come da Figura 3.8, il bisogno di conoscere l’incognita k1 (il cui caso ideale lineare risulta k1 = 0): Figura 3.8. tratta da [J.M.Frahm05] dove si mette in evidenza l’effetto della distor- sione a sinistra per il caso in cui k1 > 0 a destra per il caso cui k1 < 0. se ammettiamo adesso di conoscere u0, v0, au e av la (3.8) la riscriviamo nella seguente maniera:     2 2  (u − u ) (u − u0) (v − v0)    0 + k1 = u − u0 ˆ    au av  2 2  (3.9)  (v − v0) (u − u0) (v − v0)   + k1 = v − v0 ˆ      au av Il sistema (3.9) conoscendo i punti ideali, ci permette di determinare k1 anche con un solo punto, ma nella pratica si hanno più punti, per cui in effetti risulta un sistema sovradimensionato. L’obiezione che sorge riguarda la conoscienza dei punti ideali del modello della camera pinhole, praticamente sconosciuti fintan- tochè non si conosca l’effetto della distorsione radiale. Per ovviare a tale inconve- niente si usa una prima approssimazione imperfetta dei parametri intrinseci ed estrinseci per stimare la distorsione radiale, e poi si affina la soluzione sino alla (u − u ) convergenza voluta attraverso metodi iterativi. Ponendo adesso x = au 0 e y = (v − v0) av riscriviamo la (3.9) in forma vettoriale: x + k1x3 + k1x2 y − x = 0 ˆ → F (t) = 0 y + k1 y 3 + k1xy 2 − x = 0 ˆ dove t = [x, y] 0 = [0, 0] ed F una opportuna funzione vettoriale; a questo punto possiamo usare il metodo di Newton per cercare la convergenza voluta. (per maggiori dettagli vedasi [Fusiello05] pag. 164)
  33. 33. 3.3 Calibrazione 35 3.3 Calibrazione Con il termine calibrazione si intende: “misurare con accuratezza i parametri intrinseci ed estrinseci de modello della telecamera” [Fusiello05]. A tale scopo si sfrutta la conoscienza delle proiezioni di alcuni punti 3D di coordinate note detti punti salienti di calibrazione e si ricavano i parametri intrinseci ed estrinseci. Gli oggetti che solitamente si usano per tale pratica sono come quelli di figura sotto: Figura 3.9. a sinistra nella figura tratta da [TR98-71] si sfruttano le posizioni note di punti salienti angoli dei quadratini su un piano; a destra nella figura tratta da [CVPR99] si ha in più l’informazione derivante dagli angoli del parallepipedo. 3.3.1 Stima della matrice di proiezione prospettica Risulta evidente, l’interesse nel conoscere la matrice di proiezione prospettica per la quale in letteratura di solito si riportano dei metodi di stima. Questi si divi- dono in lineari e non lineari. I metodi lineari hanno il pregio di essere veloci, ma meno precisi poichè minimizzano un errore algebrico che non ha significato geome- trico. Mentre i metodi non lineari come si può intuire, a fronte di una complica- zione formale risultano migliori. In ogni modo procediamo sempre nello scrivere la matrice P come segue:   q⊤ 1 q14 P = q⊤ q24  (3.10)   2 q⊤ 3 q34 dove q i sono vettori di tre elemnti; considerando adesso due insiemi di punti u i = [ui , ui , 1] e w i = [w1, w2, w3, 1] sappiamo vedi la (3.6) che u i ≃ Pw i o nella ˜ 1 2 ˜ i i i ˜ ˜ forma equivalente considerando w i = [w1, w2, w3]: i i i     ui 1 q ⊤w i + q14 1 (3.11)   ⊤ ui = q 2 w i + q14     2 k q ⊤w i + q34 3
  34. 34. 36 Modello camera e viste multiple Per confronto della (3.11) con la (3.7) si ottiene k = r ⊤wi + t3 che rappresenta 3 la distanza di w i da piano focale. In coordinate cartesiame inoltre possiamo scri- vere il sistema seguente:   i q ⊤w i + q14  u1 = 1  q ⊤w i + q34  3  i q ⊤w i + q14 u = 2  2  q ⊤w i + q34 3 tale sistema ci suggerisce che in teoria 6 punti sono sufficienti per la determi- nazione di P anche se nella pratica sono disponibili molti più punti. Inoltre giacchè q ⊤w i + q34 0 possiamo riscrivere nella seguente forma: 3 (q 1 − ui q 3)⊤w i + q14 − ui q34 = 0 1 1 → Lq = 0 (q 2 − ui q 3)⊤w i + q24 − ui q34 = 0 2 2 dove possiamo vedere come la matrice L sia dipendente dai punti di calibra- zione, che per N punti ha dimensione 2N × 12, ma è di rango 11 per via del fat- tore di scala, e come il vettore q = [q 1 , q14, q ⊤, q24, q ⊤, q34]⊤ abbia 12 elementi dai ⊤ 2 3 quali si può risalire all’informazione dei parametri. Nella notazione omogenea riscriviamo infatti:   q1 q14     01×4 − ui (wi)⊤ 3 ˜ ui (w i)⊤ 2 ˜    q2   ui (w i)⊤ 3 ˜ 01×4 − ui (w i)⊤ 1 ˜ = 03×1    q24    − ui (w i)⊤ 2 ˜ ui (w i)⊤ 1 ˜ 01×4   q3   q34 dove per uniformità di scrittura poniamo u3 = k. (confronta [J.M.Frahm05] pag. i 131) Il primo metodo chiamato Linear-Eigen abbisogna di un ulteriore vincolo, ovviamente al fine evitare la soluzione banale q = 0, in modo che il problema possa essere visto come un problema di ottimo vincolato: min Lq con vincolo q 3 = 1 risolvibile tramite i moltiplicatori di Lagranage. Il secondo metodo lineare detto Linear-Least-Squares si ottiene invece ponendo al posto di q 3 = 1 il vin- colo q34 = 1, ciò ci permette di cercare la soluzione nella forma:
  35. 35. 3.4 Geometrie stereo e a viste multiple 37 ˆ w ⊤ 1 0 0 − ui w ⊤ i 1 i ui 1 Lq= [q ⊤, q14, q ⊤, q24, q ⊤]⊤ = 1 2 3 = mi 0 0 w ⊤ 1 − ui w ⊤ i 2 i ui 2 e tramite pseudoinversa di Moore-Penrose si ottiene q = L +mi = ˆ ˆ⊤ ˆ ˆ ⊤ (L L )−1L mi, inoltre bisogna sempre normalizzare tramite q 3 = 1 per poter mettere la P nella forma (3.7). Il metodo non lineare che si considera pur notando che il suo utilizzo complica i calcoli, consiste nel minimizzare la seguente quantità: n 2 2 q ⊤w i + q14 1 q ⊤wi + q14 2 E= ui − 1 + ui − 2 i=1 q ⊤w i + q34 3 q ⊤wi + q34 3 tale quantita rappresenta la distanza sulla retina tra i punti mi e la riproie- zione dei punti w i. 3.4 Geometrie stereo e a viste multiple Dopo avere introdotto i metodi di stima per la matrice di proiezione prospettica per una generica vista vediamo come sia possibile legarne due (caso stereo) o più (caso multiplo) che si riferiscano a due o più viste. L’interesse per tale argomento e un’aspetto centrale della ricostruzione e quindi anche della stima della posizione della camera, e giacchè è possibile pensare le due o più viste come acquisite da una sola camera in movimento, la struttura dal moto (structure from motion) vedremo sarà il passo successivo dell’analisi che si può condurre. 3.4.1 Collineazione Ricordiamo brevemente che una collineazione o omografia nello spazio 2D può essere vista per i nostri scopi (confronta Definizione 2.19) come una trasforma- zione lineare non singolare del piano proiettivo in se. Se consideriamo quattro cor- rispondenze di punti questi bastano a definire una collineazione: Figura 3.10. tratta da [Fusiello05]
  36. 36. 38 Modello camera e viste multiple La tavola che racchiude le proprietà delle collineazioni può essere riassunta dalla seguente figura: Figura 3.11. tratta da [Fusiello05] 3.4.2 Geometria epipolare Comè in [ZH03], un classica definizione della geometria epipolare è la seguente: “The epipolar geometry is the intrinsic projective geometry between two views. It is independent of scene structure, and only depends on the cameras internal para- meters and relative pose.” In Figura 3.12 vediamo i centri ottici C e C ′ delle due camere, un punto X dello spazio R3, le proiezioni dello stesso nei due piani imma- gini, una linea detta baseline che unisce i centri ottici, due punti intersezione della baseline sui piani immagini detti epipoli ed infine la linea epipolare per x ′ (ma si considera anche la linea epipolare per x ed e) ed infine il piano epipolare π: Figura 3.12. tratta da [ZH03] dove X? ci indicano come tutti i punti sulla retta hanno come proiezione x La relazione che lega un punto x proiezione di X sulla prima telecamera, ad x proiezione sempre di X sulla seconda telecamera, possiamo vederla come una ′ omografia del piano π: x ′ = H πx
  37. 37. 3.4 Geometrie stereo e a viste multiple 39 Figura 3.13. tratta da [CVPR99] Le relazioni che adesso possiamo trarre sono piuttosto semplici, ricordando infatti che tramite Teorema 2.23 (duale) applicato al Teorema 2.24 otteniamo:   ′ ′ 0 − ez e y l ′ = e ′ × x ′ = [e ′]×x ′ = ez 0 − ex x ′ = [e ′]×H πx = Fx ′ ′  (3.12)  ′ ′ − e y ex 0 dove F = [e ′]×H π definita nella (3.12) è detta matrice fondamentale. Algebri- camente possiamo ricavare F dalle matrici di proiezioni prospettiche P e P ′ para- metrizzando il raggio vettore che lega il centro con il punto X ∈ R3 come segue: P3 ∋ X(λ) = P +x + λC dove C è un vettore definito da P C=0. Se λ = 0 otteniamo P +x, mentre se λ = ∞ ottemiamo C; questi due punti sono espressi attraverso P ′ ottenendo: l ′ = (P ′ C) × (P ′P +x) = [e ′]×H πx ⇒ H π = P ′P + quest’ultima implicazione esplicita l’omografia in funzione delle due matrici di proiezione prospettica. Risulta chiaramente da F = [e ′]×P ′P + come la matrice fondamentale racchiude tutta l’informazione a cui si è interessati. Proposizione 3.2. Per ogni corrispondenza di due punti che stanno su due piani immagine valgono le seguenti implicazioni: x ′ ↔ x ⇔ x ′⊤l = x ′⊤Fx = 0 ⇔ l⊤x = x ′⊤Fx = 0
  38. 38. 40 Modello camera e viste multiple La Proposizione 3.2 potrebbe essere presa come la definizione della matrice fondamentale. La determinazione della F può essere effettuata attraverso l’ago- ritmo degli otto punti anche se si dimostra ne bastano 7, numero che rappresenta anche il grado di libertà della F , questo metodo criticato da molti può dare risul- tati soddisfacenti come messo in evidenza da Hartley in un noto articolo “In defence of the 8-point algorithm” , in [Fusiello05] pag. 95 viene presentato il metodo per evitare il mal condizionamento delle matrici, detto standardizzazione. L’importanza nel calcolare F sta nel fatto è possibile farlo anche se le calibrazioni delle matrici P e P ′ non siamo disponibile, direttamente attraverso le immagini. Storicamente venne introdatta per prima la matrice essenziale E da Louguet-Hig- gins. Tale matrice si riferisce alle versioni normalizzate delle matrici di proiezioni prospettiche. In tal caso normalizzato possiamo scrivere genericamente per P : x = PX K −1 ˆ ˆ x = K −1x = K −1P X = P X P = K[R|t] ˆ P = [R|t] avendo adesso due matrici di proiezione prospettica normalizzate della seguente forma: P = [I |0] P ′ = [R|t] dopo alcuni passaggi otteniamo la matrice essenziale: F = [P ′ C]×P ′P + = = R[R⊤t]× = [t]×R E Proposizione 3.3. La matrice essenziale E può essere calcolata direttamente come x ′⊤Ex=0 oppure come E = K ′−1F K Il vantaggio di avere introdotto E sta nel fatto che per essa vale la fattorizza- zione SR (vedasi [HZ03] pag 258) Teorema 3.4. Una matrice E ∈ M 3×3(R) si fattorizza come E = SR con S matrice antisimmetrica e R matrice di rotazione se e solo se ha due autovalori singolari uguali e uno uquale a zero Per la dimostrazione del teorema 3.4 si veda [Fusiello05] pag. 93 3.4.3 Geometria epipolare riveduta Date due telecamere di cui una posizionata con coordinate di riferimento mondo coincidenti con quelle della camera stessa possiamo scrivere: P = K[I |0] (3.13) P ′ = K ′[R|t] (3.14)
  39. 39. 3.4 Geometrie stereo e a viste multiple 41 ⊤ le (3.13) e la (3.14) applicate al punto w = [x, y, z, 1] danno le due proiezioni ˜ m = [x, y, 1] e m ′ = [x ′, y ′, 1] sui due piani immagine : km=Pw ˜ (3.15) k ′ m ′ = P ′w ˜ (3.16) dalla (3.14) e dalla (3.16) possiamo scrivere la seguente relazione:     x 0   x  y  0  k ′m ′ = K ′[R|t]w = K ′[R|t] + ˜ = K ′R y + K ′t   z  0  z 0 1   x poichè dalla (3.13) e dalla (3.15) abbiamo k K m = [I |0]w = −1 ˜  y  otte- z niamo: k ′m ′ = kK ′RK −1m + K ′t (3.17) Se t = 0 si ottiene il caso di moto puramente rotazionle della camera e quindi la (3.17), usando la sequente definizione H ∞ = K ′ R K −1 detta omografia del piano a infinito, la riscriviamo così: k′ ′ m = H ∞m → m ′ ≃ H ∞m k ˜ π ¯ Se invece w appartiene al piano π con coordinate cartesiane del tipo n⊤X = ⊤ ¯ nπ [x, y, z] = dπ siamo nel caso di una scena planare. Scegliendo quindi w = [X , ˜ ⊤ nπ ¯ dπ X ], dalla (3.14) e dalla (3.16) otteniamo: n⊤ ′ π ¯ k ′m ′ = K′ R + Kt X dπ ricordandoci come fatto sopra che dalla (3.13) e dalla (3.15) abbiamo ¯ k K −1 m = [I |0]w = X in conseguenza si ottiene: ˜ k′ ′ n⊤ −1 π n⊤ m = K ′ R K −1 + K ′t K m = H ∞ + K ′t π K −1 m = H πm k dπ dπ
  40. 40. 42 Modello camera e viste multiple dove resta definita la trasformazione indotta dal piano π tra le due viste H π = n⊤ H ∞ + K ′t dπ K −1. Se accade che il moto non è rotazionale e la scena non è pla- π nare, caso che diciamo parallasse, dalla (3.16) sostituendo come opportuno, otte- niamo [Fusiello05]: k′ ′ a m = H πm + K ′t k dπk dove a = dπ − n⊤kK −1 m rappresenta la distanza ortogonale del punto 3D w π ˜ dal piano π: Figura 3.14. tratta da [Fusiello05] 3.4.4 Ricostruzione del moto della struttura Nel caso in cui la struttura della scena sono i parametri del piano ricordandoci la relazione di H π che riscriviamo come segue: n⊤ Hπ = K ′ R + t π K −1 dπ possiamo ricavare vista l’arbitrarietà del fattore di scala: K ′−1H πK = dπR + tn⊤ π Notiamo quindi come la conoscienza di H π avendo noti i parametri intrinseci, ci dià la conoscienza di R, t, n⊤, dπ. Si può usare una fattorizzazione SVD di π ˆ H π = K ′−1H πK = U ΛV ⊤ ottenendo:
  41. 41. 3.4 Geometrie stereo e a viste multiple 43 d Λ= s U ⊤ RV + (U ⊤t)(V ⊤nπ)⊤ = dπR ′ + t ′n ′⊤ ′ π s dove risulta s = det(U )det(V ) in modo che R ′ sia una rotazione. Se i parametri intrinseci sono ignoti, ma costanti con K = K ′, caso che nel seguito delle applicazioni supporremo, possiamo calcolarli attraverso: H ∞KK ⊤H ⊤ = KK ⊤ ∞ I metodi per conoscere H ∞ possiamo riassumerli nei seguenti: • conoscendo al minimo 3 punti di fuga • approssimandola con un piano abbastanza lontano • facendo ruotare la telecamera 3.4.5 Estrazione dei punti salienti Per l’estrazione dei punti salienti da mettere in relazione fra le viste esistono vari metodi e può essere considerato un argomento a sè. Nel seguito possiano conside- rare l’estrazione suddetta come l’applicazione di un operatore conbined edge corner detector, il metodo discusso è quello classico di Harris Stephens. Avendo un punto x = (u, v) su una immagine I e una finestra d in una certa zona W cen- trata su x, se fecciamo traslare d ∈ W di una quantità h possiamo considerare la quantità: Eh = [I(x + d) − I(x + d + h)]2 (3.18) d∈W che rappresenta una autocorrelazione SSD (Sum of Squares Differances). La relazione (3.18) sviluppata secondo Taylor e troncata diventa: Eh = [∇I(x + d)h]2 = h⊤∇I(x + d)∇I(x + d)⊤h d∈W d∈W   2 Iu w(d) IuIvw(d) ⊤ ⊤ ⊤  h ∇I(x + d)∇I(x + d) h = h   d d h 2 d∈W Iu Ivw(d) Iv w(d)  d d
  42. 42. 44 Modello camera e viste multiple 2 d 1 − dove ∇I(x + d) = [Iu Iv]⊤e w(d) = √ e 2σ 2 . Quest’ultima scelta della fun- σ 2π zione w( · ) come gaussiana si fa per rendere più simmetrico e regolare l’opera- tore. Se prendiamo h = 1 per noti teoremi matematici sappiamo che: λmin < Eh < λmax dove λmin e λmax sono il minimo ed il massimo autovalore del pseudohessiano:   2 Iu w(d) IuIvw(d) ˆ ˆ   C = C (u, v) = d d  2  Iu Ivw(d) Iv w(d)  d d Classifichiamo i seguenti casi di interesse: • se λmin ≈ 0 e λmax ≈ 0 non si ha nessuna struttura • se λmin ≈ 0 e λmax ≫ 0 si ha un edge nella direzione λmin • se λmin ≫ 0 e λmax ≫ 0 si ha un corner ˆ Il metodo di Harris Stephens in particolare non calcola gli autovalori di C per ˆ determinare λmin e λmax, si dimostra infatti, che per una traccia grande della C si ˆ ha un edge, mentre per un determinante grande della sempre di C si ha un edge o un corner. Quindi un segnale di una presenza di corner può essere rappresentata da un comfronto con una certa soglia della funzione: ˆ ˆ R(u, v) = det(C ) − k · trace2(C ) con k = 0.04 (valore proposto dagli autori). Figura 3.15. tratta da [Fusiello05] a sinistra immagine di prova a destra applicazione dell’operatore di Harris e Stephens.
  43. 43. 3.4 Geometrie stereo e a viste multiple 45 3.4.6 Corrispondenza dei punti salienti Qualsiasi calcolo delle corrispondenze da una coppia stereo di immagini presup- pone che queste ultime non siano troppo differenti, per cui risulta utile avere nell’analisi vincoli di somiglianza, vincoli epipolari, vincoli di continuità e vincoli di ordinamento monotono (per maggiori dettagli [Fusiello05]). Detto ciò, per legare i punti salienti esistono varie tecniche classificate in area-based e feature- based a secondo che si impieghino piccole finestre su cui calcolare corrispondenze nelle coppie di immagini, oppure si cerchino delle feature come edge, corner, o altre non meglio definite entità non necessariamente geometriche, ma stabili su cambiamenti di punti di vista; su queste entità avvolte chiamati blobs si calcolano delle mappe di profondità. Rifacendoci ai metodi area-based si può impiegare, opportunamente adattata, la SSD (per confronti e nuovi metodi vedasi [Mechatro- nics]). Supponendo la scena osservata composta da una superfice Lambetiana per cui l’intensità dipende dall’angolo d’incidenza del raggio di luce e non dall’angolo dell’osservatore, possiamo pensare di rettificare le immagini provenienti dalle tele- camere considerando quindi due nuove telecamere come in figura: Figura 3.16. tratta da [TruccoVerriFusiello00] Le equazioni delle due matrici di proiezione prospettica visto che le rotazioni sono R1 = R2 diventano: P 1 = K R ⊤| − R ⊤ C 1 ; P 2 = K R ⊤| − R ⊤ C 2
  44. 44. 46 Modello camera e viste multiple la scelta della R⊤ = r 1,r 2,r 3 determina gli assi del riferimento della camera X,Y e Y espressi in coordinate mondo e che si possono calcolare come segue: (C1 − C2) 1. X r 1 = (C1 − C2) 2. Y ⊥ X e Y ⊥ k con k versore tale che r 2 = k × r 1 3. Z ⊥ X e Z ⊥ Y tale che r 3 = r 1 × r 2 Tale metodo proposto in [TruccoVerriFusiello00], la cui implementazione in codice risulta molto compatta, fallisce quando l’asse ottico e parallelo alla base- line, inoltre per configurazioni con multi-baseline, per più di due viste, potrebbe essere particolarmente ardua una sua implementazione, come riportato in [Xin- Hong03]. Cionostante il risultato di una possibile applicazione dell’algoritmo di rettificazione e illustrato in figura: (a) (a’) Figura 3.17. tratte da [Fusiello05], in (a) immagini originali, in (a’) immagini rettifi- cate

×