carea tridimensional Ă 7.pdf · y x z y x t c 0 t r (3.12) pe scurt: figura 3.4 transformarea de...
Post on 11-Jan-2020
1 Views
Preview:
TRANSCRIPT
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ă:
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
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
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.
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:
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)
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.
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.
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:
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.
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ţă:
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.
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.
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)
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)
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 .
top related