SlideShare ist ein Scribd-Unternehmen logo
1 von 75
Downloaden Sie, um offline zu lesen
Studio e applicazione di
tecniche di visione arti-
ficiale per la stima della
 posizione della camera

        MASSIMO FERRARA
My Thesis
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
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
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
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.
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
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.
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.
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
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
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
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)
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:
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:
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:
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
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 π ∞
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:
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:
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:
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:
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 λ
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]
2.4 Sommario delle gerarchie delle geometrie rivisitate     25




                        Figura 2.11. tratta da [T.Oram01]
My Thesis
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
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:
      ⊤
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
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
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
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
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
                             ˆ
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)
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
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:
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]
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
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
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)
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π
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:
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
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.
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
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
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis
My Thesis

Weitere ähnliche Inhalte

Was ist angesagt?

Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...Francesco De Giorgi
 
Sistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettraleSistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettraleGiovanni Schettino
 
mastertesi
mastertesimastertesi
mastertesiReply
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMDavide Ciambelli
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxCe.Se.N.A. Security
 
Tesi_laurea_in Fisca_Marco_Tannino_2010
Tesi_laurea_in Fisca_Marco_Tannino_2010Tesi_laurea_in Fisca_Marco_Tannino_2010
Tesi_laurea_in Fisca_Marco_Tannino_2010Marco Tannino
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Myrteza Kertusha
 
Il Linux OpenSound System
Il Linux OpenSound SystemIl Linux OpenSound System
Il Linux OpenSound SystemAntonioTringali
 
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Antonio Sanfelice
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Alberto Scotto
 
Apprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov ModelApprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov ModelFausto Intilla
 
Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)Fulvio Corno
 
Tesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaTesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaSergio Taddia
 
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisLearning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisGuido Colangiuli
 

Was ist angesagt? (20)

Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
 
Sistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettraleSistema di acquisizione in banda multispettrale
Sistema di acquisizione in banda multispettrale
 
mastertesi
mastertesimastertesi
mastertesi
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
 
Teoria probabilità 4
Teoria probabilità 4Teoria probabilità 4
Teoria probabilità 4
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linux
 
Tesi_laurea_in Fisca_Marco_Tannino_2010
Tesi_laurea_in Fisca_Marco_Tannino_2010Tesi_laurea_in Fisca_Marco_Tannino_2010
Tesi_laurea_in Fisca_Marco_Tannino_2010
 
CM - elaborato BELTRAMI DI MARCO
CM - elaborato BELTRAMI DI MARCOCM - elaborato BELTRAMI DI MARCO
CM - elaborato BELTRAMI DI MARCO
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
 
a4_centrata
a4_centrataa4_centrata
a4_centrata
 
Il Linux OpenSound System
Il Linux OpenSound SystemIl Linux OpenSound System
Il Linux OpenSound System
 
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
 
PSA - Azzurra Orlando
PSA - Azzurra OrlandoPSA - Azzurra Orlando
PSA - Azzurra Orlando
 
Apprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov ModelApprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov Model
 
7335 7345 sm
7335 7345 sm7335 7345 sm
7335 7345 sm
 
Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)Esercizi di programmazione in C (v. 2.01)
Esercizi di programmazione in C (v. 2.01)
 
Tesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaTesi Laurea Sergio Taddia
Tesi Laurea Sergio Taddia
 
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisLearning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
 
Costruzioni metalliche - Di Re
Costruzioni metalliche - Di ReCostruzioni metalliche - Di Re
Costruzioni metalliche - Di Re
 

Ähnlich wie My Thesis

Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Gerardo Di Iorio
 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Daniele Ciriello
 
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...GabrieleGandossi
 
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...Pasquale Naclerio
 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaStefano Bussolon
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigantedox82
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleLuigi De Russis
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...michael_mozzon
 
Il mio libro - My book (intro)
Il mio libro - My book (intro)Il mio libro - My book (intro)
Il mio libro - My book (intro)pls3d
 
tesi_dottorato_marco_tannino_2015
tesi_dottorato_marco_tannino_2015tesi_dottorato_marco_tannino_2015
tesi_dottorato_marco_tannino_2015Marco Tannino
 
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARYMARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARYvantasso
 
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...danielenicassio
 
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...Andrea Cavicchini
 

Ähnlich wie My Thesis (17)

Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)
 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
 
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
 
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo Macchina
 
Tesi
TesiTesi
Tesi
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigante
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
 
Il mio libro - My book (intro)
Il mio libro - My book (intro)Il mio libro - My book (intro)
Il mio libro - My book (intro)
 
tesi_dottorato_marco_tannino_2015
tesi_dottorato_marco_tannino_2015tesi_dottorato_marco_tannino_2015
tesi_dottorato_marco_tannino_2015
 
Aqfa probabilita
Aqfa   probabilitaAqfa   probabilita
Aqfa probabilita
 
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARYMARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
MARKETING ED ECOMMERCE NELL’EDITORIA: IL CASO TRADING LIBRARY
 
Monitoraggio di rete con nagios
Monitoraggio di rete con nagiosMonitoraggio di rete con nagios
Monitoraggio di rete con nagios
 
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
Progetto e Realizzazione di un Software per la Rilevazione Automatica di Codi...
 
Tesi Nicola Pretto
Tesi Nicola PrettoTesi Nicola Pretto
Tesi Nicola Pretto
 
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
 

My Thesis

  • 1. Studio e applicazione di tecniche di visione arti- ficiale per la stima della posizione della camera MASSIMO FERRARA
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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.
  • 7. 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
  • 8. 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.
  • 9. 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.
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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)
  • 14. 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:
  • 15. 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:
  • 16. 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:
  • 17. 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
  • 18. 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 π ∞
  • 19. 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:
  • 20. 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:
  • 21. 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:
  • 22. 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:
  • 23. 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 λ
  • 24. 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]
  • 25. 2.4 Sommario delle gerarchie delle geometrie rivisitate 25 Figura 2.11. tratta da [T.Oram01]
  • 27. 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
  • 28. 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: ⊤
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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 ˆ
  • 34. 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)
  • 35. 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
  • 36. 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:
  • 37. 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]
  • 38. 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
  • 39. 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
  • 40. 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)
  • 41. 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π
  • 42. 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:
  • 43. 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
  • 44. 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.
  • 45. 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
  • 46. 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