carea tridimensional Ă 7.pdf · y x z y x t c 0 t r (3.12) pe scurt: figura 3.4 transformarea de...

15
Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 38 CAPITOLUL 7 MIŞCAREA TRIDIMENSIONALĂ VĂZUTĂ PRIN CAMERA DE PERSPECTIVĂ În acest capitol vom analiza calibrarea şi proiecţia camerei, geometria vederii folosind 2 camere (epipolară), estimarea matricii fundamentale, reconstrucţia cu parametrii intrinseci cunoscuţi, reconstrucţia cu camera necalibrată, reconstrucţia caracteristicilor precum şi o metodă pentru suprafeţe plane. 3.1 MIŞCAREA TRIDIMENSIONALĂ, STRUCTURA ŞI SEGMENTAREA IMAGINII Mai întâi se estimează parametrii rigizi ai mişcării tridimensionale (trei vectori de translaţie, trei de rotaţie şi trei parametri de mărire) de la cel puţin două proiecţii bidimensionale ale unei scene tridimensionale în mişcare. Deoarece structura (cantitatea de informaţie a) obiectelor din scenă afectează imaginea proiectată, mişcarea tridimensională şi estimarea structurii sunt puternic interdependente. Pentru a estima structura obiectuala a scenei se pot folosi diferite metode: Aflarea structurii prin analiza mişcării (SFM – Structure from Motion): Informaţia referitoare la mişcare poate fi folosită pentru a estima structura tridimensională utilizând imaginile bidimensionale. Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 39 Alte metode pentru estimarea structurii sunt: structura rezultată din efectul de stereo, structura rezultată prin folosirea efectului de umbrire. În mişcarea individuală obiectele prezintă diferiţi parametrii de translaţie şi de rotaţie. În acest fel, estimarea mişcării tridimensionale şi segmentarea sunt la rândul lor puternic interdependente. 3.1.1 Estimarea mişcării tridimensionale Estimarea mişcării tridimensionale se poate realiza folosind o serie de metode specifice. Dintre acestea enumerăm: Metode care necesită corespondenţe punctuale: - bazate pe proiecţii ortografice (în care planul de proiecţie al unei proiecţii paralele este perpendicular pe direcţia de proiecţie, iar centrul de proiecţie se află la distanţă infinită faţă de planul de vizualizare); - bazate pe proiecţii de perspectivă (centrul de proiecţie se află la distanţă finită faţă de planul de vizualizare): metoda liniară a celor mai mici pătrate, metoda topologică şi metoda bazată pe aproximarea liniară a suprafeţei. Metode care nu necesită corespondenţe punctuale: - metode bazate pe studiul fluxul optic (metodele algebrice şi metodele de optimizare); - metode directe( metoda lui Huang folosind cadrul diferenţă). 3.1.2 Proiecţia legată de cameră Pentru transformarea spaţiului exterior tridimensional în spaţiul bidimensional al coordonatelor camerei se folosesc o serie de notaţii şi translaţii între coordonate. Un set de coordonate este cel al proiecţiei de perspectivă:

Upload: others

Post on 11-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 38

CAPITOLUL 7

MIŞCAREA TRIDIMENSIONALĂ

VĂZUTĂ PRIN CAMERA DE PERSPECTIVĂ

În acest capitol vom analiza calibrarea şi proiecţia camerei, geometria vederii

folosind 2 camere (epipolară), estimarea matricii fundamentale, reconstrucţia cu

parametrii intrinseci cunoscuţi, reconstrucţia cu camera necalibrată, reconstrucţia

caracteristicilor precum şi o metodă pentru suprafeţe plane.

3.1 MIŞCAREA TRIDIMENSIONALĂ, STRUCTURA ŞI SEGMENTAREA

IMAGINII

Mai întâi se estimează parametrii rigizi ai mişcării tridimensionale (trei

vectori de translaţie, trei de rotaţie şi trei parametri de mărire) de la cel puţin două

proiecţii bidimensionale ale unei scene tridimensionale în mişcare.

Deoarece structura (cantitatea de informaţie a) obiectelor din scenă afectează

imaginea proiectată, mişcarea tridimensională şi estimarea structurii sunt puternic

interdependente.

Pentru a estima structura obiectuala a scenei se pot folosi diferite metode:

Aflarea structurii prin analiza mişcării (SFM – Structure from Motion):

Informaţia referitoare la mişcare poate fi folosită pentru a estima structura

tridimensională utilizând imaginile bidimensionale.

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 39

Alte metode pentru estimarea structurii sunt: structura rezultată din efectul

de stereo, structura rezultată prin folosirea efectului de umbrire.

În mişcarea individuală obiectele prezintă diferiţi parametrii de translaţie şi

de rotaţie. În acest fel, estimarea mişcării tridimensionale şi segmentarea sunt la

rândul lor puternic interdependente.

3.1.1 Estimarea mişcării tridimensionale

Estimarea mişcării tridimensionale se poate realiza folosind o serie de

metode specifice. Dintre acestea enumerăm:

Metode care necesită corespondenţe punctuale:

- bazate pe proiecţii ortografice (în care planul de proiecţie al unei proiecţii

paralele este perpendicular pe direcţia de proiecţie, iar centrul de proiecţie se

află la distanţă infinită faţă de planul de vizualizare);

- bazate pe proiecţii de perspectivă (centrul de proiecţie se află la distanţă

finită faţă de planul de vizualizare): metoda liniară a celor mai mici pătrate,

metoda topologică şi metoda bazată pe aproximarea liniară a suprafeţei.

Metode care nu necesită corespondenţe punctuale:

- metode bazate pe studiul fluxul optic (metodele algebrice şi metodele de

optimizare);

- metode directe( metoda lui Huang folosind cadrul diferenţă).

3.1.2 Proiecţia legată de cameră

Pentru transformarea spaţiului exterior tridimensional în spaţiul

bidimensional al coordonatelor camerei se folosesc o serie de notaţii şi translaţii

între coordonate.

Un set de coordonate este cel al proiecţiei de perspectivă:

Page 2: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 40

Figura 3.1 Planul imaginii folosind proiecţia de perspectivă

Acesta se poate scrie ca o proiecţie tridimensională într-un spaţiu

bidimensional (scalată printr-un factor de aspect):

(3.1)

1. Un alt set de coordonate este cel legat de imagine (corespunzător

parametrilor interni/intrinseci ai camerei):

Figura 3.2 Setul de coordonate legat de parametrii camerei

0uuxk cu −= (3.2)

vvxk cv −= 0 (3.3)

unde k reprezintă pixeli/lungime.

(3.4)

C este o matrice triunghiulară superioară numită matrice de calibrare a camerei.

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 41

(3.5)

uu fk=α (3.6)

vv fk−=α (3.7)

unde C realizează transformarea dintre un punct din imagine şi o linie în spaţiul

tridimensional Euclidian.

Avem de-a face cu 4 parametri:

• 2 parametri de scalare a imaginii pe axele x şi y , αu şi αv ;

• punctul principal (u0, v0), punctul unde axele optice intersectează planul

imaginii .

Factorul de aspect este αu/ αv .

Dacă C este cunoscut atunci se spune că este calibrată.

2. Ultimul set de coordonate de care avem nevoie este cel legat de mediul

exterior – parametrii universali.

Transformarea între parametrii camerei şi cei universali, considerând că

avem de-a face atât cu rotaţii cât şi cu translaţii se poate scrie:

Xc=R Xw+T(3.8)

(3.9)

Figura 3.3 Setul de coordonate legat de exterior

Page 3: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 42

Concatenând cele trei matrici rezultă:

(3.10)

aceasta definind o matrice 3x4, care reprezintă matricea de proiecţie din spaţiul 3D

Euclidian în imaginea dorită.

(3.11)

=

1

1

ω

ω

Z

Y

X

Z

Y

X

Tc

c

c

0

tR(3.12)

Pe scurt:

Figura 3.4 Transformarea de coordonate între parametrii camerei şi cei universali

dacă avem rotaţie şi translaţie

Din coordonatele universale se obţine pentru pixeli următorul sistem

matricial:

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 43

=

1

10100

0010

0001

1 ω

ω

ω

Z

Y

X

y

x

Ti

i

0

tRC (3.13)

Calibrarea camerei se realizează astfel:

Se rescrie relaţia de mai sus:

=

11 34333231

24232221

14131211

ω

ω

ω

Z

Y

X

pppp

pppp

pppp

y

x

i

i

(3.14)

Se calculează matricea P care realizează transformarea dintr-un set de

cunoscute în spaţiul 3D în coordonatele bidimensionale corespunzătoare imaginii.

Se descompune matricea P în C , R şi t prin factorizare QR; [ ]R/tCP =

3.1.3 Estimarea matricei P

1. Fiecare punct de corespondenţă între o imagine tridimensională şi o imagine

bidimensională generează două ecuaţii liniare având drept coeficienţi

elementele matricii P :

34333231

14131211

pZpYpXp

pZpYpXpx

jjj

jjjj +++

+++= (3.15)

34333231

24232221

pZpYpXp

pZpYpXpy

jjj

jjjj +++

+++= (3.16)

2. Aceste ecuaţii pot fi rescrise astfel:

0p=

−−−−−−−−

yyZyYyXZYX

xxZxYxXZYX

10000

00001(3.17)

3. Grupând aceste ecuaţii pentru 6≥n corespondenţe se obţin simultan n2

ecuaţii cu doisprezece necunoscute de forma 0Ap = , în care A este o

matrice cu n2 linii şi cu doisprezece coloane.

Page 4: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 44

4. O soluţie liniară care minimizează Ap , cu condiţia ca 1=p , se poate

obţine ca fiind vectorul propriu cu cea mai mică valoare proprie a lui AAT ,

sau echivalent ca fiind vectorul corespunzător celei mai mici valori singulare

a lui A .

5. Această soluţie liniară este apoi utilizată ca punct de plecare pentru o

minimizare neliniară a diferenţei dintre punctele găsite şi cele reale:

(3.18)

Exemplu - Calibrarea obiectului

Figura 3.5 Calibrarea obiectului prin determinarea exactă a marginilor

Se determină poziţiile exacte ale marginilor astfel:

1. Se extrag şi se leagă colţurile utilizând Canny;

2. Se potrivesc liniile cu colţurile utilizând regresia ortogonală;

3. Se intersectează liniile.

În final, eroarea dintre punctele măsurate şi cele calculate este cam de 0.02 pixeli.

3.1.4 Estimarea lui C , R şi t

Prima submatrice cu trei linii şi trei coloane a lui P, CRM = , reprezintă

produsul dintre o matrice triunghiulară superioară şi matricea de rotaţie [ ]R/tCP = .

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 45

1. Se calculează M din CR folosind descompunerea matricială QR.

Descompunerea QR

Se defineşte o matrice:

H=I-tvvT (3.19)

unde

v=x+||x||2e1 (3.20)

t=2/vTv (3.21)

Înmulţind această matrice cu un vector x rezultă:

Hx=re1 (3.22)

HTH=HHT=I (3.23)

Exemplu:

Dându-se o matrice A:

=

64636261

54535251

44434241

34333231

24232221

14131211

aaaa

aaaa

aaaa

aaaa

aaaa

aaaa

A (3.24)

Se găseşte H1 astfel încât pentru:

=

61

51

41

31

21

11

1

a

a

a

a

a

a

x (3.25)

să rezulte:

Page 5: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 46

=

0

0

0

0

0

s1

11 xH T (3.26)

Rezultă:

11111 vvtIH T −= (3.27)

+

=

61

51

41

31

21

2111

1

a

a

a

a

a

||||a x

v (3.28)

Putem scrie:

==

646362

545352

444342

343332

242322

1413121

111

bbb0

bbb0

bbb0

bbb0

bbb0

bbbs

HAHHA T (3.29)

Am făcut zerouri pe prima coloană. Coeficienţii b indică care dintre

elementele matricii A s-au schimbat prin înmulţirea cu H1T. Continuăm formarea de

zerouri în partea inferioară a matricii A.

Următorul pas este calculul matricii H2 astfel încât:

=

62

52

42

32

22

12

2

b

b

b

b

b

b

x (3.30)

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 47

Obţinem:

=

0

0

0

0

s

b

2

12

22 xH T (3.31)

Rezultă:

+

=

62

52

42

32

2222

1

b

b

b

b

||||b

0

x

v (3.32)

unde ||x2||2 este norma a 2-a a lui x2, primul element b3=0 şi H2T=I-t2v2v2

T.

Putem scrie acum:

==

6463

5453

4443

3433

24232

1413121

21T1

T221

cc00

cc00

cc00

cc00

ccs0

bbbs

AHHHH HHA (3.33)

Am făcut astfel zerouri în a 2-a coloană. Termenii c indică elementele din

matricea A care au fost schimbate în urma înmulţirii cu H2T.

Analog se calculează pentru următoarele coloane, în final obţinându-se:

==

0000

0000

s000

ds00

ccs0

bbbs

HHAHHHHHHHH4

343

24232

1413121

4321T1

T2

T3

T44321 HHA (3.34)

Page 6: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 48

2. Apoi se calculează coeficienţii de translaţie:

[ ]Tppp 3424141−= Ct (3.35)

Această procedură are ca rezultat o matrice de calibrare de forma:

=

100

0

tan

0

0

yfk

xfk

y

x θC (3.36)

în care θ este unghiul dintre axele imaginii.

3.1.5 Estimarea pozei

Rotaţiile şi translaţiile relative ale obiectului faţă de cameră sunt cunoscut ca

formând poza obiectului.

Problemă: Se dă o imagine a unui obiect cu o structură euclidiană cunoscută

(având o anumita formă), urmând să se determine poziţia relativă a obiectului faţă

de cameră.

Soluţii:

1. Se foloseşte o cameră necalibrată şi se dau 6≥n corespondenţe punctuale

între spaţiile tridimensional şi bidimensional:

Se estimează P folosind procedura de calibrare şi atunci se găsesc R şi t

în mod unic.

2. Se foloseşte o cameră calibrată şi se dau 3=n corespondenţe punctuale între

spaţiile tridimensional şi bidimensional:

Trei corespondenţe determină şase grade de libertate, trei pentru R şi trei

pentru t . Metoda este neliniară, având în general patru soluţii.

3.2 GEOMETRIA VEDERII FOLOSIND 2 PERSPECTIVE

Se presupun 2 cazuri de captură a imaginii tridimensionale:

• Stereo: Două imagini achiziţionate simultan în acelaşi moment de timp.

• Mişcare: Două imagini achiziţionate secvenţial folosind aceeaşi cameră.

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 49

Se pun următoarele probleme:

1. Refacerea structurii tridimensionale. Aceasta se refera la refacerea poziţiei

tridimensionale a tuturor punctelor care apar în cele două imagini.

2. Refacerea mişcării tridimensionale. Trebuie realizat calculul rotaţiei şi

translaţiei camerei între cele două perspective.

3. Corespondenţa. Reprezintă potrivirea aceluiaşi punct tridimensional în

ambele imagini .

3.2.1 Structura cu o pereche stereo

Figura 3.6 Structura geometrică folosind o pereche stereo

Se aleg coordonatele universale ale sistemului astfel încât să coincidă cu

sistemul de coordonate al primei camere. Atunci [ ]I/0CP = şi [ ]R/tCP '' = .

În imaginile stereo C , 'C , R şi t sunt în general cunoscute.

3.2.2 Structura extrasă din imaginea în mişcare

Pentru a obţine structura folosind imaginea în mişcare se estimează

parametrii mişcării rigide tridimensionale şi respectiv parametrii camerei folosindu-

se cel puţin două proiecţii bidimensionale.

În cazul mişcării 'CC = .

Estimarea mişcării tridimensionale şi estimarea structurii sunt

interdependente deoarece adâncimea obiectului în scenă afectează proiecţia

mişcării.

Page 7: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 50

Estimarea mişcării tridimensionale şi segmentarea acesteia sunt de asemenea

interdependente deoarece obiecte diferite aflate în mişcare au parametrii de

translaţie şi de rotaţie diferiţi.

Figura 3.7 Estimarea mişcării tridimensionale folosind două proiecţii

bidimensionale

3.3 GEOMETRIA EPIPOLARĂ

Figura 3.9 Vedere prin două perspective – geometria epipolară

Un punct situat într-o imagine se reflectă în spaţiul 3D, şi apoi formează o

linie numită linie epipolară în planul celeilalte imagini.

Epipolul este imaginea intr-o cameră al centului optic al celeilalte camere.

Acesta este punctul de intersecţie dintre linia de bază (linia care uneşte centrele

optice) şi planul imaginii.

Toate liniile epipolare se intersectează în epipol.

Planul epipolar este definit de un punct tridimensional P şi de doi epipoli.

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 51

Exemple de geometrie epipolară:

1. Camere convergente:

Figura 3.10 Camere convergente

Figura 3.11 Imagini luate cu 2 camere convergente.

Page 8: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 52

2. Camere aproape paralele:

Figura 3.12 Imagini luate cu camere aproape paralele

Reprezentarea algebrică a geometriei epipolare o reprezintă matricea

fundamentală. Pentru a înţelege expresiile corespunzătoare acestei matrici voi face

mai întâi o prezentare a unor relaţii şi noţiuni care se vor folosi mai departe:

• punctul: un punct x este reprezentat prin 3 vectori omogeni:

(3.37)

unde x=x1/x3 , y= x2/x3 şi (x,y) sunt coordonatele planului neomogen. Este

semnificativ doar raportul coordonatelor omogene.

• linia: o linie este reprezentată prin 3 vectori omogeni:

(3.38)

pentru linie l1x+ l2y+ l3=0. Din nou, doar raportul coordonatelor omogene ale liniei

sunt semnificative.

• punct pe linie: Se notează :

sau sau (3.39)

• două puncte definesc o linie:

(3.40)

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 53

(3.41)

• două linii definesc un punct:

(3.42)

(3.43)

• notaţia matricială pentru produsul de vectori : Produsul a 2 vectori v×x poate

fi reprezentat ca o înmulţire de matrici:

(3.44)

unde

(3.45)

[v]× este o matrice nesimetrică 3×3 de rangul 2.

(3.46)

3.3.1 Matricea esenţială

Figura 3.13 Relaţiile dintre cele două plane după o rotaţie şi o translaţie

Condiţia de coplanaritate spune ca razele din centrele drept şi stâng al

proiecţiei să se întâlnească, aşa ca pentru α şi β avem:

Page 9: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 54

αl=t+ βr(3.47)

unde l este raza din stânga, iar r’ cea din dreapta, r’=Rr, unde R este orientarea

(rotaţia care aliniază sistemul de coordonate din dreapta cu cel din stânga).

Condiţia de coplanaritate se poate scrie:

0))(( =×⋅ Rrtl (3.48)

Avem două sisteme de coordonate corespunzătoare camerelor, legate între

ele printr-o rotaţie R şi o translaţie T:

(3.49)

În cazul sistemului nostru expresia de coplanaritate a vectorilor OX, O’X şi

OO’ se poate scrie:

(3.50)

Notăm:

(3.51)

ceea ce ne oferă o relaţie intre punctele imaginii în sistemul de coordonate al

camerei:

(3.52)

Aceasta mai poate fi scrisă:

(3.53)

unde

(3.54)

este matricea esenţială. Aceasta este reprezentarea algebrică a geometriei epipolare

atunci când se cunoaşte matricea de calibrare.

Utilizând matricile de calibrare pentru a lega punctele imaginii de punctele

sistemului de coordonate al camerei rezultă:

(3.55)

aceasta definind matricea fundamentală F:

(3.56)

unde

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 55

(3.57)

3.3.2 Matricea fundamentală

Dacă x şi x’ sunt punctele corespunzătoare imaginilor, atunci putem scrie:

(3.58)

(3.59)

unde F este matricea fundamentală de ordin 2.

Figura 3.14

Proprietăţi:

• Liniile epipolare:

l’=Fx este linia epipolară corespunzătoare punctului x, ceea ce înseamnă că

x’Tl’=0. l=FTx’ este linia epipolară corespunzătoare punctului x’, ceea ce

însemnă ca lTx=0.

• Epipolii:

(3.60)

(3.61)

• F are 7 puncte de libertate. Într-adevăr matricea are 9 elemente, dar doar

raportul lor este semnificativ, ceea ce determină doar 8 puncte de libertate. În

plus, elementele satisfac constrângerea det F=0, ceea ce reduce numărul de

grade de libertate la 7.

Page 10: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 56

• F depinde doar de direcţia în care se face translatarea (nu şi de cât de mare

este aceasta).

Recapitulând:

• Matricea fundamentală este reprezentarea algebrică a geometriei epipolare.

Dacă x şi 'x sunt puncte de corespondenţă a imaginii, atunci:

0' =FxxT

(3.

6

2

)

• Matricea fundamentală poate fi calculată din matricele de calibrare C şi 'C

ale celor două camere împreună, cu mişcările R , t între punctele de vedere,

[ ] 1' −×

−= RCtCF T , în care avem:

[ ]

−−

−=×

0

0

0

xy

xz

yz

tt

tt

tt

t (3.63)

sau prin şapte ori mai multe corespondenţe punctuale ale imaginii.

3.3.3 Derivata matricii fundamentale

Figura 3.15

Punctul x se proiectează în:

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 57

( )

+

=

01

0 1xCX λλ (3.64)

Pentru a găsi linia epipolară se aleg două puncte pe dreaptă şi se calculează

imaginea lor pe celălalt plan. Aleg 2 puncte extreme, unul la λ=0 şi altul la λ=∞.

Proiecţiile corespunzătoare vor fi:

[ ] ''0 1

0etCR/tCx '' ==

= (3.65)

[ ] xRCCxC

R/tCx '' 11

'

0−

∞ =

= (3.66)

Linia epipolară în celălalt plan al imaginii este dată de:

( ) ( ) [ ] xRCtCxRCCtCxx1 '' 1'1''0

' −×

−−∞ =×=×= T (3.67)

Întrucât 'x se află pe '1 , avem:

[ ]( ) 01'''' == −×

− xRCtCx1x TTT (3.68)

care defineşte matricea fundamentală.

Matricea esenţială: Reamintim că pentru o cameră calibrată, coordonatele

imaginii sunt legate de coordonatele camerei prin:

cCxx = , '''cxCx = (3.69)

iar matricea esenţială este definită de relaţia:

0' =c

T

c Exx (3.70)

în care avem:

[ ] RtE ×= , 1' −−

= ECCFT (3.71)

3.3.4 Caz special: Translaţia pură a camerei

Dacă avem 'CC = şi IR = , atunci vom avea:

[ ] [ ] [ ] [ ] [ ]×××−

×−−

×−

===== eeCtCtCRCtCF '11' TT (3.72)

F are numai două grade de libertate corespunzătoare poziţiei epipolului.

Toate punctele se mută în faţă:

Page 11: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 58

- linia epipolară corespunzătoare lor este desenată în aceeaşi imagine

(translaţia camerei se face numai în planul yx − ); spre exemplu, dacă

translaţia camerei se face în paralel cu axa X , atunci liniile epipolare sunt

corespunzătoare rastrelor

- liniile radiante din epipol (translaţia camerei se face pe direcţia Z ). În acest

caz epipolul este numit focar de expansiune.

3.3.5 Mişcarea paralax

Presupunem că avem două puncte tridimensionale P şi Q proiectate în acelaşi

punct P în prima imagine, dar în două puncte diferite p’ şi q’ în a doua imagine.

Figura 3.16 Mişcarea paralax

'' qpd −= este numit vectorul mişcării paralax.

Linia epipolară este dată de ''' qpl ×= . Două sau mai multe astfel de perechi

de puncte determină epipolul.

3.3.6 Estimarea matricei fundamentale

Fiecare corespondenţă punctuală 'xx ↔ defineşte o constrângere în F de

forma:

[ ] 0

1

1

987

654

321'' =

y

x

fff

fff

fff

yx (3.73)

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 59

Pentru n astfel de corespondenţe punctuale, aceste constrângeri pot fi

rearanjate în forma:

0

1

1

9

8

7

6

5

4

3

2

1

''''''

11'11

'11

'1

'11

'11

'1

=

=

f

f

f

f

f

f

f

f

f

yxyyyxyxyxxx

yxyyyxyxyxxx

nnnnnnnnnnnn

Af (3.74)

Dimensiunea spaţiului zero al lui A este unu. Din această cauză, F poate fi

unic determinată până la un factor de scală.

3.3.7 Soluţia celor mai mici pătrate

• Soluţia liniară: Pentru 8≥n matricea A este o matrice de dimensiuni 9×n ,

o soluţie liniară care minimizează Af cu condiţia ca 1=f se poate obţine ca fiind

vectorul propriu cu cea mai mică valoare proprie a matricei AAT , sau în mod

echivalent ca fiind vectorul corespunzător celei mai mici valori singulare a matricei

A . Acest calcul este în general slab condiţionat.

• Precondiţionare:

- Se aplică o transformare afină tuturor punctelor din imagine

ii Hxx =~ , '''~ii xHx = (3.75)

- Se calculează matricea fundamentală F~

din măsurătorile precondiţionate.

Atunci

HFHF~'T= (3.76)

• Soluţii neliniare: Soluţia liniară poate fi folosită ca un punct de plecare

pentru o optimizare neliniară; spre exemplu, minimizând pătratul

perpendicularei distanţei între punctele din liniile epipolare respective.

Page 12: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 60

3.3.8 Estimarea mişcării şi a structurii

1. Dându-se matricele de calibrare 'CC = şi matricea fundamentală, se

calculează matricea esenţială:

[ ] RtFCCE ×== T (3.77)

2. Se descompune Ek pentru a obţine R şi t folosind forma specială:

[ ] [ ]321321 rtrtrteeeE ×××== (3.78)

în care ie şi ir , 3,...,1=i sunt vectorii coloană ai matricelor respective.

3. Odată obţinuţi parametrii mişcării, se găseşte parametrul de adâncime Z

pentru fiecare punct cu relaţia:

( ) ( )( ) ( )

( )Zryrxrryrxry

ryrxrryrxrx

tyt

txt

++−++++−++

=

−−

232221333231'

131211333231'

3'

2

3'

1 (3.79)

3.3.9 Proiecţia de perspectivă a modelului de dispunere tridimensional

Din modelul de dispunere tridimensional avem:

+++

+++

=++++++

=

3

333232131

3

113212111

3333232131

1313212111'1

XT

rxrxr

XT

rxrxr

TXrXrXr

TXrXrXrfx (3.80)

+++

+++

=++++++

=

3

333232131

3

223222121

3333232131

2323222121'2

XT

rxrxr

XT

rxrxr

TXrXrXr

TXrXrXrfx (3.81)

care prin alegerea lui 1=f şi exprimând în termeni de coordonate plane ale

imaginii, aceste expresii sunt valabile pentru o suprafaţă care se mişcă arbitrar în

spaţiul tridimensional, în timp ce adâncimea fiecărui punct 3X rămâne un

parametru liber.

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 61

Putem elimina 3X din aceste două ecuaţii şi să obţinem astfel o singură

ecuaţie:

( ) ( ) ( )[ ]( ) ( ) ( )[ ]1321211133232131

'13

'22

2322212133232131'23

'11

rxrxrrxrxrxTxT

rxrxrrxrxrxTxT

++−++−=

=++−++−(3.82)

3.3.10 Descompunerea matricei esenţiale

Fiecare coloană a matricei E este ortogonală la vectorul translaţiei t .

Atunci versorul t situat de-a lungul lui t poate fi obţinut din relaţia:

jiji

ji ≠×

×±=

ee

eet (3.83)

Folosind identităţile:

( ) ( ) ( )( ) ( ) ( )CBABCACBA

ACBBCACBA

⋅−⋅=××⋅−⋅=××

(3.84)

se obţin:

( )32

21ˆˆ rttee ⋅=× k (3.85)

( )12

32ˆˆ rttee ⋅=× k (3.86)

( )22

13ˆˆ rttee ⋅=× k (3.87)

în care:

tt ˆk= , ( )3322112

2

1eeeeee ⋅+⋅+⋅=k (3.88)

Se pot determina atât t cât şi k până la nivelul unui factor de semn, în acest

fel având patru soluţii posibile pentru translaţia vectorului t .

Dacă cunoaştem valorile produselor vectoriale şi scalare ale unui vector

necunoscut cu un vector cunoscut, putem determina direct proiecţia ortogonală a

vectorului necunoscut în funcţie de cel cunoscut.

Page 13: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 62

Figura 3.17

( ) ( ) TrTTrTr ˆˆˆˆ111 ××+⋅= (3.89)

În acest fel vom avea:

( )322111ˆ1ˆ1ˆ eeTrTerT ×⋅=⋅=×

kk(3.90)

Înlocuind aceste produse vectoriale şi scalare în expresia proiecţiei se obţin:

( ) ( )TeTeeTr ˆ1ˆˆ113221 ×+

×⋅=

kk(3.91)

( ) ( )TeTeeTr ˆ1ˆˆ121322 ×+

×⋅=

kk(3.92)

( ) ( )TeTeeTr ˆ1ˆˆ132123 ×+

×⋅=

kk(3.93)

În final, putem determina soluţia adevărată din cele patru soluţii posibile cu

ajutorul unui singur punct de corespondenţă.

O factorizare alternativă a matricei E bazată pe SVD:

Descompunerea cu o valoare singulară (SVD) a matricei E :

TUSVE = (3.94)

în care U şi V sunt matrici ortogonale, iar S este o matrice diagonală cu

elementele diagonale pozitive şi descrescătoare, va da ambele seturi de parametrii

de translaţie şi de rotaţie.

Propoziţia 1:

( )VT luiacoloanaultima±=ˆ (3.95)

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 63

Propoziţia 2:

T

p

k

k

VUR

−=

00

00

00

(3.96)

în care

( ) ( ) 1detdet ±=⋅= VUp (3.97)

pentru 1±=k . Semnele sunt determinate de 3X şi '3X şi pot fi amândouă pozitive.

3.3.11 Găsirea axei de rotaţie şi a unghiului solid

Cosinusurile direcţionale ale axei de rotaţie şi ale unghiului de rotaţie pentru

această axă pot fi determinate din matricea de rotaţie:

∆Ω+= cos21Rtrace (3.98)

−−

−∆Ω=−

0

0

0

sin2

12

13

23

nn

nn

nnTRR (3.99)

Proiecţia de perspectivă a vitezei în planul tridimensional este dată de:

3

31

3

123

311311 X

Xx

X

Xf

X

XXXXfxv −=

−== (3.100)

3

32

3

223

322322 X

Xx

X

Xf

X

XXXXfxv −=

−== (3.101)

Înlocuind modelul vitezei în plan tridimensional pentru 1X , 2X , 3X şi

exprimând în termeni de coordonate plane ale imaginii se obţin:

21

221

1231

3

32

3

11 x

fxx

fxx

X

V

X

Vfv

Ω+

Ω−Ω−−

Ω+= (3.102)

22

121

22

3

3131

3

22 x

fxx

fx

X

Vx

X

Vfv

Ω−

Ω+−Ω+

Ω−= (3.103)

Page 14: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 64

Trebuie notat că vitezele de perspectivă din planul imaginii depind pe 3X de

coordonatele obiectului. Este posibil să se elimine dependenţa de 3X din aceste

expresii prin considerarea unui model de suprafaţă.

3.3 CAZUL SUPRAFEŢELOR TRIDIMENSIONALE PLANARE

Fie ca punctele să descrie o suprafaţă :

1321 =++ cXqXpx (3.104)

în care [ ]Tcqp=g reprezintă normala la suprafaţă.

Figura 3.18

Acum, rescriind modelul dispunerii tridimensionale ca fiind:

[ ]

+

=

3

2

1

3

2

1

'3

'2

'1

X

X

X

cqp

X

X

X

X

X

X

TR (3.105)

=

3

2

1

987

654

321

'3

'2

'1

X

X

X

aaa

aaa

aaa

X

X

X

(3.106)

în care:

[ ]cqpTRA += (3.107)

În urma unei transformări de perspectivă, se obţin:

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 65

12817

32211'1 ++

++=

xaxa

axaxax (3.108)

12817

62514'2 ++

++=

xaxa

axaxax (3.109)

în care normalizăm 19 =a datorită binecunoscutei ambiguităţi a scalei.

3.3.1 Estimarea parametrilor A

Datorită înmulţirilor încrucişate din fiecare ecuaţie, putem scrie următoarele

două ecuaţii pentru fiecare corespondenţă punctuală dată:

−−

=

−−−−

'2

'1

8

7

6

5

4

3

2

1

'22

'2121

'12

'1121

1000

0001

x

x

a

a

a

a

a

a

a

a

xxxxxx

xxxxxx(3.110)

Dându-se cel puţin patru corespondenţe punctuale într-un singur plan se

poate determina un set de ecuaţii liniare care să se rezolve cu cei opt parametrii.

Rangul matricei coeficienţilor este opt dacă şi numai dacă din cele patru

puncte observate nu există trei care să fie coliniare în trei dimensiuni.

3.3.2 Determinarea parametrilor mişcării tridimensionale şi ai structurii

Parametrii mişcării tridimensionale şi ai structurii pot fi obţinuţi prin

factorizarea matricei A folosind SVD.

Se extinde matricea A :

TVUA

=

3

2

1

00

00

00

λλ

λ(3.111)

Page 15: CAREA TRIDIMENSIONAL Ă 7.pdf · Y X Z Y X T c 0 t R (3.12) Pe scurt: Figura 3.4 Transformarea de coor donate între parametrii camerei ş i cei universali dac ă avem rota ţ ie

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 66

în care U şi V sunt matrici ortogonale 33× şi 0321 ≥≥≥ λλλ .

Există trei cazuri:

Cazul 1) Valorile singulare sunt distincte, cu 321 λλλ >> . Atunci există două

soluţii pentru parametrii mişcării:

T

ss

VUR

−=

αβ

βα

0

010

0

(3.112)

−+−= 3

2

31 uuT α

λλβ sk (3.113)

[ ] ( )31

1vvg +== δ

kcqp T (3.114)

în care:

2

1

23

22

22

21

−−

±=λλλλδ (3.115)

( )22

231

1 δλδλλα

++

=s

(3.116)

−=

2

11

λλα

δβ (3.117)

( ) ( )VU detdet=s (3.118)

iar k este un factor de scală arbitrar (pozitiv sau negativ).Ambiguitatea semnului este rezolvată prin impunerea condiţiei pentru toate

punctele 01

3

>X

.

Cazul 2) Dacă factorul de multiplicare a valorilor singulare este doi, spre exemplu,

321 λλλ ≠= , atunci soluţia pentru parametrii mişcării este unică:

Ts 331

3

1

1vuAR

−−=

λλ

λ(3.119)

Capitolul 7 Mişcarea tridimensională văzută prin camera de perspectivă 67

−= sk

1

3

λλ

T (3.120)

[ ] 3

1vg

kcqp T == (3.121)

( ) ( )VU detdet=s (3.122)

iar k este un factor de scală arbitrar.

Cazul 3) Dacă factorul de multiplicare a valorilor singulare este trei, spre exemplu,

321 λλλ == , atunci mişcarea este o simplă rotaţie în jurul unei axe care trece prin

origine şi R este unic determinat de:

AR

=

1

1

λ(3.123)

În orice caz, este imposibilă determinarea lui T şi g .