Programul de studii: Matematic a si Informatic a Aplicat a n Inginerie [613254]
UNIVERSITATEA POLITEHNICA DIN BUCURES TI
FACULTATEA DE S TIINT E APLICATE
Programul de studii: Matematic a si Informatic a Aplicat a ^ n Inginerie
PROIECT DE DIPLOM A
^INDRUM ATOR S TIINT IFIC, ABSOLVENT: [anonimizat] sti
2017
UNIVERSITATEA POLITEHNICA DIN BUCURES TI
FACULTATEA DE S TIINT E APLICATE
Programul de studii: Matematic a si Informatic a Aplicat a ^ n Inginerie
Aprobat Decan,
Prof. Univ. Dr. Emil PETRESCU
PROIECT DE DIPLOM A
Reconstruct ia 3D a obiectelor
din multiple imagini
^INDRUM ATOR S TIINT IFIC, ABSOLVENT: [anonimizat] sti
2017
1 Introducere
Reconstruct ia 3D din imagini multiple reprezint a crearea unui model tridimensional dintr-un
set de imagini. Ideea principal a a acestei probleme este c^ a stigarea informat iei de ad^ ancime
ce se pierde atunci c^ and se realizeaz a o imagine. Imaginile sunt proiect ii ale scenelor 3D
^ ntr-un plan 2D. Astfel, obiectul sau scena pe care dorim s a ^ l reconstruim ^ n 3D va fo-
tograat din mai multe puncte de vedere. Pentru ecare dou a poze consecutive se va realiza
o triangulare pentru a determina pozit ia punctelor 3D. Cheia procesului este reprezentat a de
relat iile dintre punctele de vedere multiple, care transmit informat ii corespunz^ and seturilor
de puncte, ce trebuie s a cont in a o structur a spat ial a si c a acea structur a are leg atur a cu
pozit iile si calibrarea camerei [26].
Scopul unui algoritm de reconstruct ie 3D din multiple imagini poate descris ca: "ind
dat un set de fotograi ale unui obiect sau peisaj, el trebuie s a estimeze cea mai potrivit a
form a 3D care explic a acele fotograi, sub presupunerea c a materialele sunt cunoscute,
punctele de vedere si condit iile de iluminat" [17].
1.1 Important a si actualitatea temei abordate ^ n lucrare
Reconstruirea geometriei 3D din fotograi este o problem a clasic a a domeniului Computer
Vision care a fost abordat a de c atre cercet atori de mai bine de 30 de ani. Aplicat iile variaz a
de la map ari 3D si navigat ie la shopping online, 3D printing, fotograe computat ional a,
jocuri video sau prezervarea tezaurului cultural. Numai recent, ^ ns a, aceste tehnici au ajuns
la un nivel de maturitate sucient pentru a ie si din stadiul de experiment si s a e utilizate
^ n mediul industrial, astfel oferind acuratet e si scalabilitate.
Reconstruct ia 3D a obiectelor este o tehnologie folosit a ^ n domenii stiint ice, precum
Design-ul Geometric Asistat pe Calculator (CAGD), Grac a pe Calculator, Animat ie pe
Calculator, Imagistica Medical a, S tiint e Computat ionale, Realitate Virtual a, Digital Media,
etc. Un exemplu ar reprezentarea 3D a informat iilor despre leziuni ale pacient ilor, pe
calculator, astfel oferind o nou a abordare corect a si precis a ^ n diagnosticare, un proces de o
important a vital a ^ n medicin a [27].
Reconstruct ia 3D din imagini multiple este folosit a din ce ^ n ce mai des de c atre:
industria de Divertisment (Televiziune, Cinematograe, Jocuri) ^ n implementarea unor
tehnologii precum: "realitate augmentat a" si recontruct ie digital a a obiectelor.
industria Navigat iei (Cartograe, GPS) pentru realizarea de h art i virtuale (GoogleEarthTM)
sau asocierea unei interfet e grace sistemelor GPS.
1.2 Motivat ia alegerii temei
Tema stereo reconstruct iei digitale reprezint a un subiect de interes deoarece este o metod a
alternativ a ecient a de reducere a timpului de lucru ^ n vederea cre arii de elemente pentru
simul ari video. Aceast a lucrare poate considerat a ca ind o etap a introductiv a esent ial a
realiz arii unei unelte de simulare planetar a. Unealta va folosit a^ n simularea video a evolut iei
de populat ii at^ at umane c^ at si celei animale ^ n funct ie de mediul ^ nconjur ator.
3
Aceast a abordare are avantaje artistice, din moment ce:
putem realiza reconstruct ii veridice ale tuturor obiectelor sau viet at ilor ce vor supuse
procesului;
putem prelua texturile din imaginile folosite ^ n procesul de reconstruct ie.
Acest lucru ^ nseamn a c a timpul investit ^ n design sau num arul de persoane necesare pen-
tru a naliza produsul va sc adea vertiginos, al aturi de costuri.
2 Not iuni teoretice ale algoritmilor de reconstruct ie 3D
2.1 Preimagine si coimagine pentru puncte de vedere multiple
2.1.1 Preimaginea pentru puncte de vedere multiple
O preimagine a unui punct reprezin a multimea de puncte care duc de la punctul 3D observat
spre punctul de observat ie folosit [2].
^In cazul pozit iilor multiple, preimaginea unui punct sau a unei drepte este setul (cel mai
mare) de puncte 3D care ridic a acela si num ar de imagini multiple ale punctului sau dreptei [ ?].
De exemplu, oricare dou a imagini i1 sii2ale drepteiL, pre-imaginea acestor dou a imagini
este intersect ia planurilor P1 siP2, adic a exact dreapta 3D L=P1\P2.
^In general, pre-imaginea imaginilor multiple ale unui punct sau drepte pot denite de
intersect ia :
preimaginea (X1;;Xm) =preimaginea (X1)\\preimaginea (Xm);
preimaginea (a1;;am) =preimaginea (a1)\\preimaginea (am):
Denit ia de mai sus ne permite s a cre am preimagini pentru orice set puncte sau drepte
din imagine. Preimaginea unor multiple imagini cu puncte sau drepte, de exemplu, poate
ori un o multime goal u a, un punct, o dreapt a sau un plan, depinz^ and doar de faptul dac ele
vin sau nu de pe aceea si dreapt a ^ n spat iu [1].
2.2 Preimaginea si co-imaginea punctelor si dreptelor
Pentru o camer a ce este deplasat a ^ n intervalul de timp t, ex(t) coordonata unui punct X
din 3D ^ n coordonate omogene:
(t)x(t) =K(t)u0g(t)X;
unde(t) reprezint a ad^ ancimea punctului, K(t) reprezint a parametrii intrinseci, u0este
proiect ia generic a, si
g(t) =R(t)T(t)
0 1
2SE(3);
4
ce reprezint a mi scarea rigid a a obiectului la timpul t, iar SE(3) reprezint a spat iul rotat iilor
si translat iilor [5].
S a consider am o dreapta 3D ^ n coordonate omogene:
L=fXjX=X0+V;2RgR4;
unde X0= [X0;Y0;Z0;1]>2R4sunt coordonatele bazei si V= [V1;V2;V3;0]>2R4este un
vector nenul care indic a direct ia dreptei [4] .
T in^ and cont de imaginea la momentul t,pre-imaginea dreptei Lformeaz a un plan Pcu
normala a(t), unde P= dima. Vectorula(t) este ortogonal pe dreapt a pentru toate punctele
salex:
a(t)>x(t) =a(t)>K(t)u0g(t)X= 0:
Presupunem c a ne este dat un set de mimagini pentru momentele t1;;tmunde
i=(ti);xi=x(tj); a i=a(ti);ui=K(ti)u0g(ti):
Folosindu-ne de aceste notat ii, putem lega ai-a imagine a unui punct pde coordonatele
Xdin 3D:
ixi=uiX;
siai-a co-imagine a dreptei Lde coordonatele ( X0;V):
a>
iuiX0=a>
iuiV= 0:
2.3 De la preimagine la restrict iile de rang
Ecuat iile de mai sus cont in parametrii 3D ai punctelor si dreptelor ca necunoscute. Ceea ce
dorim este s a elimin am necunoscutele pentru a putea obt ine leg aturi ^ ntre proiect iile 2D si
parametrii camerei.
Exist a diferite metode de eliminare a parametrilor 3D care duc la diferite tipuri de
restrict ii care au fost studiate ^ n materia grac a pe calculator.
O eliminare sistematic a a acestora va duce la un set de condit ii complete [1].
2.3.1 Caracteristicile punctului
Consider am imaginile unui punct X3D. v azut din mai multe puncte de observare:
X!
0
BBB@x10 0
0x2 0
…………
0 0xm1
CCCA0
BBB@1
2
…
m1
CCCA=0
BBB@u1
u2
…
um1
CCCAXuX;
care are forma
5
X!
=uX;
unde!
2Rmeste scala de ad^ ancime a vectorului , siu2R3mmeste matricea de proiect ie
din puncte de vedere multiple asociat a cu matricea imaginii X2R3mm[5].
,
Este de stiut faptul c a ^ n afar a de coordonatele din 2D cont inute de matricea X, orice alt
element din ecuat ie reprezint a o necunoscut a. Obiectivul nostru este s a decupl am ecuat ia de
mai sus ^ n restrict ii care s a ne permit a s a obt inem, prima dat a, mi sc arile camerei ui si apoi
structura scenei i si coordonatele Xdin 2D [1].
Fiecare coloan a a lui Xse a
a^ ntr-un spat iu patru-dimensional dimensionat dup a coloanele
matriciiu. Pentru a avea o solut ie pentru ecuat ia anterioar a, coloanele lui X siutrebuie
astfel s a e liniar dependente. Cu alte cuvinte, matricea:
Np(u;X) =0
BBB@u1x10 0
u20x2 0
……………
um0 0xm1
CCCA2R3m(m+4)
trebuie s a e supradiagonal a nul a. Pentru m2 (adic a 3mm+ 4), rangul maximal
ar trebui s a e m+ 4. Dependent a liniar a a coloanelor trebuie s a e deci rangul restrict iei:
rang(Np)m+ 3:
De fapt, vectorul u(X>; !
>)>2Rm+4se a
a ^ n zona nul a, notat ca Npu= 0 [5].
Pentru o formulare mai compact a a restrict iei rangului de mai sus introducem matricea
X?0
BBB@bx10 0
0bx2 0
…………
0 0cxm1
CCCA2R3m3m;
care are proprietatea de a asasina pe X:
X?X= 0;
putem pre^ nmult i ecuat ia pentru a obt ine
X?uX= 0:
Astfel vectorul Xse a
a ^ n spat iul nul al matricei
WpX?u=0
BBB@bx1u1
bx1u1
…
cxmum1
CCCA2R3m4:
Pentru a avea o solut ie unic a, trebuie ca
6
rang(Wp)3:
Dac a toate imaginile xisunt dintr-un singur punct Xdin 3D, atunci matricea Wpar
trebui s a aib a numai un spat iu nul unidimensional [1]. Fiind date mimagini xi2R3ale
punctuluip^ n funct ie de cele mframe-uri ale camerei ui, trebuie s a avem condit ia de rang
rang(Wp) = rang(Np) m3:
2.3.2 Caracteristicile dreptei
Putem deriva restrict ia de rang similar si pentru drepte [5]. Precum am v azut anterior,
pentru co-imaginile ai; i= 1;;mpentru o drepta Lcu baza X0 si direct iaVavem:
a>
iuiX0=a>
iuiV= 0:
Astfel matricea
Wi0
BBB@a>
1u1
a>
1u2
…
a>
1um1
CCCA2Rm4
trebuie s a satisfac a rangul restrict iei
rang(Wi)2;
din moment ce spat iul nul al lui Wicont ine cei doi vectori X0 siV.
2.4 Interpretarea geometric a
2.4.1 Restrict iile rangului: interpretare geometric a
^In cazul unui punct X, aveam ecuat ia
WpX= 0;cuWp=0
BBB@bx1u1
bx1u1
…
cxmum1
CCCA2Rm4:
Din moment ce toate matricele bxiau rangul 2, num arul de linii independente ^ n Wpeste
cel mult 2m. Aceste r^ anduri denesc un set de 2 mplane. Din moment ce WpX= 0, punctul
Xse a
a la intersect ia tuturor planelor. Pentru ca toate cele 2 mplane s a aib a o intersect ie
unic a, avem nevoie de rang (Wp) = 3 [23].
7
2.5 Matricerea punctelor de vedere multiple
2.5.1 Matricea punctelor de vedere multiple ale unui punct
Vom prespune c a avem mimagini, prima din ele ind ^ n coordonate 3D. Apoi avem matricele
de proiect ie ale formei
u= [I;0];u= [R2;T2];;u= [Rm;Tm]2R34;
care modeleaz a proiect ia unui punct Xdin imaginile individuale.
^In general pentru camerele necalibrate (adic a Ki6=I),Rinu va o matrice rotat ie or-
togonal a ci mai degrab a o matrice inversabil a arbitrar a [4].
Din nou, denim matricea Wp
Wp=0
BBB@bx1u1
bx1u1
…
cxmum1
CCCA2Rm4:
Asta ^ nseamn a c a rang( Wp)3 dac a si numai dac a submatricea
Mp=0
BBB@bx2R2bx1bx2T2
bx3R3bx1bx3T3
……
bx2Rmbx1cxmTm1
CCCA2R3(m 1)2
are rang( Mp)1.
Matricea
Mp=0
BBB@bx2R2bx1bx2T2
bx3R3bx1bx3T3
……
bx2Rmbx1cxmTm1
CCCA2R3(m 1)2
se nume ste matricea puctelor de vedere multiple asociat a unui punct p. Ea este compus a
din a at^ at imaginea x1din primul punct de vedere, c^ at si co-imaginea bxidin restul punctelor
de vedere [1].
Pe scurt:
Pentru imaginile multiple ale unui punct pmatriceleNp,Wp siMpsatisfac
rang(Mp) = rang( Wp) 2= rang( Np) (m+2)1
Vom verica informat ia geometric a cont inut a de matricea punctelor de vedere multiple
8
Mp=0
BBB@bx2R2bx1bx2T2
bx3R3bx1bx3T3
……
bx2Rmbx1cxmTm1
CCCA2R3(m 1)2:
Rangul restrict iei rang( Mp)1ne spune c a cele dou a coloane sunt liniar dependente [1].
De fapt, avem
1bxiRix1+bxiTi= 0; i= 2;;m;
din care rezult a
Mp1
1
= 0:
De aceea coecientul ce captureaz a liniar dependent a este pur si simplu distant a1a
punctuluipde la primul centru al camerei. Cu alte cuvinte, matricea punctelor de vedere
multiple captureaz a exact informatia despre punctul pcare lipse ste dintr-o singur a imagine,
dar codat a ^ n imagini multiple [4].
2.6 Leg atura cu restrict iile epipolare
Pentru matricea punctelor de vedere multiple,
Mp0
BBB@bx2R2bx1bx2T2
bx3R3bx1bx3T3
……
bx2Rmbx1cxmTm1
CCCA2R3(m 1)2;
s a aib a rang( Mp) = 1, este necesar ca perechile de vectori bxiTi sibxiRibx1s a e liniar
dependente pentru tot i i= 2;;m[23]. Astfel vom obt ine restrict iile epipolare
x>
ibTiRix1= 0
pentru primele i imagini.
Vom presupune c a vectorii bxiTi sibxiRibx1sunt liniar independent i, adic a exist a un scalar
, astfel ^ ncat
bxiTi=
bxiRibx1:
Din moment ce bxiTibxiTieste proport ional a normalei planului generat de bxi siTi,
sibxiRibx1este proport ional a normalei planului generat de bxi siRibx1, liniar dependent a este
echivalent a cu not iunea c a vectoriibxi; Ti siRibx1sunt coplanari [1].
Acest lucru, din nou, este echivalent cu armat ia c a vectorul xieste ortogonal pe normala
de pe planul generat de vectorii Ti siRix1, adic a
x>
i(TiRix1) =x>
ibTiRix1= 0:
9
2.6.1 Analiza restrict iilor punctelor de vedere multiple
Pentru oricare vectori nenuli bi;ci2R3;i= 1;2;;n;matricea
0
BBB@b1c1
b2c2
……
bncn1
CCCA2R3n2
nu are un rang maximal dac a si numai dac a bic>
j cib>
j= 0 pentru toate i;j= 1;;n.
Aplic^ and restrict ia de rang pe Mpobt inem:
bxiRix1(bxjTj)>
