Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria...

47
http:// imagelab.ing.unimo. it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia, Italia a.a. 2007-2008 Geometria 3D, modello e calibrazione di una telecamera, stereo vision

Transcript of Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria...

Page 1: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Visione Artificiale

Ing. Roberto Vezzani

Dipartimento di Ingegneria dell’Informazione

Università di Modena e Reggio Emilia, Italia

a.a. 2007-2008

Geometria 3D, modello e calibrazione di una telecamera, stereo vision

Page 2: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Calibrazione della telecamera: a cosa serve?

Obiettivo: poter calcolare misure o relazioni spaziali a partire dalle immagini acquisite da una macchina fotografica o da una telecamera.

?

Page 3: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Applicazioni (con una telecamera):

Misurare le dimensioni reali (lunghezza, larghezza, …) di oggetto o di particolari meccanici mediante una telecamera installata su una catena di montaggio

Misurare con una telecamera installata nei pressi si una autostrada la velocità delle automobili che vi transitano

Ricostruire la traiettoria seguita da una persona che si sta muovendo all’interno di una stanza

Diametro 20mm

134 Km/h

Page 4: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Applicazioni (con due telecamere):

Ricostruzioni 3D Distanza degli oggetti dalla telecamera (Robot mobili – calcolo del tempo di collisione)

Page 5: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

RICHIAMI DI GEOMETRIA

Page 6: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Coordinate 3D – Traslazione

Sia dato un sistema di riferimento tridimensionale ed un punto P1 di un oggetto, le cui coordinate rispetto al sistema di riferimento sono (X1,Y1,Z1).

Una traslazione dx,dy,dz porta il punto P1 in un punto P2 di coordinate

Purtroppo non esiste una matrice T tale per cui P2=T · P1

Coordinate Omogenee: P1 = [ X1 Y1 Z1 1]T

P2 = [ X2 Y2 Z2 1]T

In coordinate omogenee esiste una matrice di trasformazione T che rappresenta la traslazione:

2 1

2 1

2 1

X X dx

Y Y dy

Z Z dz

2 1 1

2 1 1

2 1 1

1 0 0

0 1 0

0 0 1

1 0 0 0 1 1 1

X dx X X

Y dy Y YT

Z dz Z Z

Page 7: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Scala

Analogamente possiamo definire la matrice che rappresenta una variazione di scala di un oggetto

Matrici di trasformazione inverse: per ogni trasformazione definita mediante una matrice T è possibile ottenere la trasformazione inversa invertendo la matrice stessa: T-1

Traslazione:

Scala:

2 1 1

2 1 1

2 1 1

0 0 0

0 0 0

0 0 0

1 0 0 0 1 1 1

x

y

z

X S X X

Y S Y YS

Z S Z Z

1 0 0

0 1 010 0 1

0 0 0 1

dx

dyT

dz

1

1

1

0 0 0

0 0 010 0 0

0 0 0 1

x

y

z

S

S

S

S

Page 8: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Rotazione

Consideriamo ora una rotazione di un punto attorno all’asse Z. Il punto P1= (X1,Y1,Z1) viene portato in P2:

La matrice di trasformazione corrispondente è:

Analogamente si possono ottenere le matrici di rotazione lungo gli altri due assi

cos sin 0 0

sin cos 0 0( )

0 0 1 0

0 0 0 1

ZR

cos 0 sin 0

0 1 0 0( )

sin 0 cos 0

0 0 0 1

YR

1 0 0 0

0 cos sin 0( )

0 sin cos 0

0 0 0 1

XR

2 1 1

2 1 1

2 1

cos sin

sin cos

X X Y

Y X Y

Z Z

Page 9: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Trasformazioni composte

E’ possibile ottenere trasformazioni composte mediante il prodotto di trasformazioni elementari Tc = T4 · T3 · T2 · T1

ATTENZIONE all’ordine delle trasformazioni Vengono applicate a partire da quella più a destra P2 = Tc · P1 = T4 · T3 · T2 · T1· P1 = T4 ·( T3 ·( T2 ·( T1· P1)))

Matematicamente, infatti, si può dimostrare facilmente in quanto il prodotto tra matrici, non è commutativo. In genere A · B ≠ B · A

Page 10: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

Visione monoculare(Singola telecamera)

Page 11: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Modello Pinhole della telecamera

Il concetto si basa sulla riflessione/emissione di luce da parte dell’oggetto che passa attraverso un forellino di un’ipotetica “camera

oscura” e si proietta sul piano immagine.

Page 12: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Angolo di Acquisizione e Zoom

A parità di sensore di acquisizione (ad es. CCD), diminuendo la lunghezza focale sul sensore viene proiettato un angolo più ampio

della scena osservata

Page 13: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Modello Pinhole della telecamera

• E’ il modello di telecamera più diffuso• Costituito da

• piano immagine (o retina) • punto O detto centro ottico (o centro di proiezione)

• Punto o detto centro immagine

• Oo: distanza focale

• Asse Z: detto anche asse ottico

• Trasforma prospetticamente un punto P=(X,Y,Z) nello spazio 3-D in un punto p=(x,y) sul piano in cui si forma l’immagine

O

oP

p

XY

Z

x

yf

Page 14: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Varianti del modello

Piano immagine reale Piano immagine virtuale

Page 15: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Proiezione Prospettica Planare

Le equazioni che definiscono la trasformazione prospettica si ottengono sfruttando la similitudine di triangoli:

C

C

Z

Xfx

C

C

Z

Yfy

L’equazione è non lineare e non mantiene né le distanze fra i punti né gli angoli tra le linee

Page 16: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Problema: posso calcolare l’altezza della barra?

Da specifiche tecniche della telecamera

Dall’immagine

Da informazioni note a priori

Non posso calcolare l’altezza reale della barra. Devo misurare la distanza focale in pixel mediante la CALIBRAZIONE della telecamera.

Page 17: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Calibrazione: metodo “manuale”

Posso calcolare la distanza focale in pixel. Tale distanza è anche data dalla distanza focale in mm divisa per la dimensione in mm di un pixel.

Problema: visto che i pixel non sono quadrati le distanze focali calcolate lungo l’asse x e lungo l’asse y possono essere differenti.

Data la discretizzazione dell’immagine, è meglio calcolare più misure di distanze focali e valutare la distanza effettiva con metodi statistici (es. media).

La scacchiera è particolarmente comoda nelle tecniche automatiche di calibrazione.

Page 18: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Matrice di proiezione prospettica

Note la/e distanza/e focale/i della telecamera, preso un punto PC nello spazio di cui conosco le coordinate (XC,YC,ZC) rispetto al sistema di riferimento della telecamera, posso determinare in quale pixel p dell’immagine mi verrà visualizzato.

Per comodità vorrei trovare una matrice M tale che p= M · PC

Per fare ciò devo utilizzare le coordinate omogenee.

0 0 0

0 0 0

1 0 0 1 01

x

y

Xx f

Yy f

Z

Che in forma compatta diventa: CPMp~~

M è detta matrice di proiezione prospettica o MPP.

Page 19: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Sistema di riferimento del mondo

L’obiettivo finale è stabilire un legame tra le coordinate di PW nel sistema di riferimento (Ow, Xw, Yw, Zw), chiamato riferimento del mondo, e quelle di p in un sistema definito sul piano immagine. Come passaggio intermedio sfruttiamo il sistema di riferimento della telecamera (Oc, Xc, Yc, Zc).

)( TPRP wc

T

T

T

R

R

R

rrr

rrr

rrr

R

3

2

1

333231

232221

131211 )( cw OOT

R e T sono chiamati parametri estrinseci della telecamera. Una volta ottenuti i punti nel sistema di riferimento della telecamera bisogna trasformare le coordinate in coordinate immagine, utilizzando il modello pinhole.

Page 20: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Coordinate immagine

Per passare più agevolmente dalle coordinate nel sistema di riferimento della telecamera alle coordinate immagini, scriviamo:

xxim soxx )( yyim soyy )(

dove (ox, oy) sono le coordinate del punto principale o in pixel e (sx, sy) sono le dim. del pixel lungo x e lungo y. Le nuove coordinate (xim, yim) sono dette

coordinate normalizzate o coordinate immagine.

Per passare dalle coordinate della telecamera alle coordinate immagine bisogna conoscere i parametri intrinseci della telecamera: f,ox, oy, sx e sy.

Per sostituzione si ottengono le equazioni:

)(

)()(

3

1

TPR

TPRfsox

wT

wT

xxim

)(

)()(

3

2

TPR

TPRfsoy

wT

wT

yyim

Page 21: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Forma matriciale

Definendo:

100

0int yy

xx

osf

ocsf

M

TRrrr

TRrrr

TRrrr

MT

T

T

ext

3333231

2232221

1131211

Possiamo esprimere Pw in

coordinate omogenee:

1

int

3

2

1

w

w

w

ext Z

Y

X

MM

x

x

x

Per passare dalle coordinate omogenee alle coordinate immagine:

3

1

x

xxim

3

2

x

xyim

Page 22: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Metodo di calibrazione generale

Un metodo pratico per la calibrazione è quello di usare un pattern noto e misurabile, come una scacchiera.

zwwwc

ywwwc

xwwwc

TZrYrXrZ

TZrYrXrY

TZrYrXrX

333231

232221

131211

T

Z

Y

X

R

Z

Y

X

w

w

w

c

c

c

c c

im x im y

x c y c

X Yf fx o y o

s Z s Z f, sx e sy non sono

indipendenti

Dalla calibrazione possiamo determinare:

• R (matrice 3x3 di rotazione, 3 gradi di libertà), T (vettore 3x1 di traslazione)

• fx=f/sx (focale espressa in nr. di pixel orizzontale)

• =sx/sy (aspect ratio)

• (ox,oy) (coordinate del centro immagine)

Page 23: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Autocalibrazione

Nel caso più generale si possono voler calcolare 11 parametri, 5 intrinseci e 6 estrinseci Posso utilizzare il toolbox Matlab di Zhengyou Zhang, che necessita in ingresso di 3 o più

viste differenti di una scacchiera a celle quadrate di dimensione nota.

http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/links.html

Page 24: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Deviazioni dal modello pin-hole

Page 25: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Modello a lenti sottili

Ipotesi del modello:

1. i raggi paralleli all'asse ottico incidenti sulla lente vengono rifratti in modo da passare per un punto dell'asse ottico chiamato fuoco F.

2. i raggi che passano per il centro C della lente sono inalterati.

Per mettere a fuoco oggetti a distanze diverse, le lenti dell'occhio cambiano forma (focale), mentre le lenti delle telecamere traslano nella direzione Z.

A. Fusiello. Visione Computazionale: appunti delle lezioni, 2005. http://profs.sci.univr.it/~fusiello/teaching/visione/appunti.pdf

Page 26: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Distorsioni delle lenti

Immagine originale distorta Distorsione rimossa

Page 27: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Esempi di distorsioni

Distorsione radiale

Distorsione tangenziale asse

x Distorsione tangenziale asse

y

Page 28: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Correzione distorsione lenti - Modello plumb-bob

Distorsioni radiali Distorsioni tangenziali

Modello plumb-bob [D.C.Brown, 1971]

21,kk

21, pp

))2(2()(

))2(2()(20

21002

42

2100

20

22001

42

2100

yrpyxprkrkyyy

xrpyxprkrkxxx

Page 29: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

Rimozione prospettica e omografie

Page 30: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Rimozione prospettica e omografia

Un punto dello spazio 3D viene sempre proiettato su uno ed un solo punto del piano immagine. Ovvero, dato un punto nello spazio e conoscendo i parametri intrinseci ed estrinseci della telecamera, posso determinare se il punto è inquadrato e dove compare nell’immagine

Un punto dell’immagine, invece, può corrispondere ad uno qualunque dei punti della retta che passa dal centro ottico e dal punto stesso.

O

A’( )x ,yAA

A (X ,Y ,Z )A A A

I

x

y

X

Y

Z

C

O

A’( )x ,yAA

A (X ,Y ,Z )A A A

I

x

y

X

Y

Z

C

Page 31: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Rimozione prospettica

Se ho almeno un vincolo sulle coordinate del mondo reale di un punto P, posso determinare con esattezza la sua posizione a partire dalle coordinate immagine.

O

I

x

y C

(pavimento; Y=0)

P(X ,Y ,Z )P P P=0

O

I

x

y C

(parete; Z=c)

P(X ,Y ,Z =c)P P P

Omografia orizzontale

Page 32: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Omografia orizzontale – Rettificazione dell’immagine

Ipotesi: i punti dell’immagine fanno tutti parte del piano Y=0 (pavimento / strada)

Page 33: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Matrice di trasformazione omografica

L’omografia (o collineazione) è formalmente definita come una “trasformazione lineare non singolare del piano proiettivo in se stesso”

Praticamente: preso un piano e due differenti proiezioni bidimensionali dello stesso, la trasformazione omografica lega le coordinate dei punti nei due sistemi di riferimento.

La matrice di omografia è definita a meno di un fattore di scala (8 gradi di libertà) Può essere determinata dalla corrispondenza di 4 punti

1 13 3

2 2

1 2 33 3

4 5 6

7 8

'

'

1 1

1

x

x

x x

x H x

h h h

H h h h

h h

Page 34: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Trasformazioni 2D - Trasformazione Euclidea

Trasformazioni euclidee: vengono algebricamente rappresentate mediante una matrice sparsa non singolare 3x3 avente tre gradi di libertà (una rotazione e due traslazioni). Preservano le lunghezze e le aree, gli angoli.

1,1 1,2

2,1 2,2

0 0 1

x

y

r r t

E r r t

cos sin

sin cosR

Page 35: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Trasformazioni 2D - Trasformazione di Similitudine

Trasformazioni di similitudine: vengono algebricamente rappresentate mediante una matrice sparsa non singolare 3x3 avente 4 gradi di libertà (una rotazione, una scala e due traslazioni). Preservano i rapporti tra le lunghezze e le aree, gli angoli.

1,1 1,2

2,1 2,2

0 0 1

x

y

sr sr t

S sr sr t

Page 36: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Trasformazioni 2D - Trasformazione Affine

Trasformazioni affini: vengono algebricamente rappresentate mediante una matrice sparsa non singolare 3x3 avente 6 gradi di libertà. Preservano il parallelismo, i rapporti tra lunghezze di linee parallele, le combinazioni lineari di vettori e le linee all’infinito.

1,1 1,2

2,1 2,2

0 0 1

x

y

a a t

A a a t

Page 37: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Trasformazioni 2D - Trasformazione Proiettiva

Trasformazioni proiettive o omografiche: vengono algebricamente rappresentate mediante una matrice sparsa non singolare 3x3 avente 8 gradi di libertà. Preservano la collinearità e la cross-ratio.

1,1 1,2 1,3

2,1 2,2 2,3

3,1 3,2 1

h h h

H h h h

h h

Page 38: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

Visione stereoscopica(Due telecamere)

Page 39: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

La visione stereoscopica

Con la visione stereoscopica è possibile ottenere la posizione di un punto nello spazio tridimensionale a partire dalle coordinate immagine acquisite da due telecamere distinte.

Non ho più bisogno di vincoli aggiuntivi sulle coordinate (cfr: omografia nel caso monoculare) Il problema principale da affrontare nel campo della visione stereoscopica è la risoluzione delle

corrispondenze: per ogni punto di interesse individuato su di una immagine devo trovare il punto corrispondente sull’altra immagine

Page 40: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Visione stereoscopica – caso semplificato

'

'

f v

z y

f v

z b y

d v v

b fz

d

Page 41: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Visione stereoscopica: calcolo delle corrispondenze

1) (funzione di correlazione)

2) (somma dei quadrati delle differenze (SSD))

3) (funzione di correl. normalizzata)

Il problema di associazione dei punti viene fatto cercando per ciascun punto Pl dell’immagine di sinistra nel suo intorno corrispondente nell’immagine di destra

il punto che massimizza (minimizza) una certa funzione (metrica di affinità)

Possibili metriche C(u,v), con u e v luminosità del punto nell’immagine di sinistra e di destra, sono:

uvvuC ),(2)(),( vuvuC

vu NN

vvuuvuC

))((),(

2 2( , ) ( , ) ( , ) ( , )W W W W W W W W

l r u l v ri W j W i W j W i W j W i W j W

u I i l v I i l N I i j N I i j

Page 42: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Corrispondenze di features

Esistono tecniche più efficaci per il calcolo delle corrispondenze. Il problema principale è dovuto al fatto che gli oggetti sono catturati da punti di vista

differenti e con dispositivi diversi. Lo stesso oggetto risulta avere di norma forma e colore diverso.

Si ricorre ad algoritmi di estrazione di features forti e a descrittori “invarianti” Esempio: SIFT (Scale Invariant Feature Transform) I descrittori SIFT sono invarianti a Rotazioni Cambianti di scala Leggeri cambiamenti di luminosità

(http://www.cs.ubc.ca/~lowe/keypoints/)

Page 43: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Luci strutturate

Per facilitare il calcolo delle corrispondenze si possono utilizzare luci strutturare che creano pattern visuali sugli oggetti.

Page 44: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Geometria epipolare

Ipotesi: due telecamere di cui sono noti i parametri intrinseci è nota la posizione di una telecamera rispetto l’altra

Problema: Dato un punto P su di una immagine, dove devo cercare il punto

corrispondente nella seconda immagine?Soluzione: La geometria epipolare ci assicura che il punto può essere cercato su di una

retta, detta retta epipolare.

http://profs.sci.univr.it/~fusiello/teaching/visione/EpipolarApplet/index.html

Page 45: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Geometria epipolare

Nel caso più generale possibile si parla di geometria epipolare. Siano:

Pl=[Xl , Yl , Zl] e Pr=[Xr , Yr , Zr] coordinate di P nei due sistemi-telecamera

pl=[xl , yl , zl] e pr=[xr , yr , zr] coordinate di P sui piani immagine l e r

el e er sono detti epipoli

(Ol, P, Or) è detto piano epipolare

le intersezioni di tale piano con l e r sono dette linee epipolari

Page 46: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Matrice Fondamentale F

La geometria epipolare non dipende dalla struttura della scena, ma solamente dalle matrici di proiezione delle due telecamere e dalla posizione reciproca delle stesse

Tale relazione può essere condensata in una matrice particolare, detta matrice fondamentale F, che presenta le seguenti caratteristiche:

Una retta epipolare sull’immagine è descritta dall’equazione ax+by+c=0. Rappresentando i coefficienti dell’i-esima retta in forma matriciale:

li=[ai bi ci]T

La matrice fondamentale F mette in relazione ogni punto pi di una immagine con la corrispondente retta epipolare sull’altra immagine:

Dato che il punto p’i corrispondente a pi giace sulla retta epipolare l’i:

3 3F R

'i il F p

' ' 0 ' 0Ti i i ip l p F p

Page 47: Http://imagelab.ing.unimo.it Visione Artificiale Ing. Roberto Vezzani Dipartimento di Ingegneria dell’Informazione Università di Modena e Reggio Emilia,

http://imagelab.ing.unimo.it

Matrice Essenziale E

Analoga relazione può essere ottenuta tra le coordinate di punti reali espresse nei sistemi di riferimento delle due telecamere. La matrice che rappresenta tale relazione è detta Matrice Essenziale e dipende solo dalla posizione reciproca delle due telecamere (ma non dai parametri intrinseci delle telecamere)

La matrice essenziale, come la matrice fondamentale ha 7 gradi di libertà e può quindi essere determinata tramite un sistema lineare di n equazioni, con n 7:

Posso calcolare la matrice essenziale se conosco le corrispondenze di almeno 7 punti (non in configurazione degenerante)

Con la matrice essenziale posso usare la geometria epipolare SENZA conoscere i parametri intrinseci ed estrinseci delle telecamere

1' EMMF T

niEPP il

Tir ,...,10)(

M e M’ sono le MPP