Sunteți pe pagina 1din 14

Lucrarea nr.

Studiu comparativ privind registraţia


norilor de puncte LST utilizând
transformarea conformă 3D
A. TEMA LUCRĂRII

Pentru verificarea modului de calcul a parametrilor transformării conforme 3D prin


metoda celor mai mici pătrate, cu scopul aducerii în corespondenţă a doi nori de puncte laser
scaner terestru (LST), definiţi în sistemul de coordonate local, propriu scanerului, se cere să
realizeze procesul de registraţie şi în mod automat, utilizând softul „Cloud Compare”, pe
baza aceloraşi puncte comune ca şi cele folosite în calcul.
Se va efectua un studiu comparativ, atât asupra parametrilor transformării, cât şi
asupra coordonatelor a trei puncte, cunoscute iniţial în sistemul de coordonate al norului din
dreapta şi transformate apoi în sistemul de coordonate al norului din stânga.

B. DATELE PROBLEMEI
1. Coordonatele celor 5 puncte comune, în sistemul de coordonate al norului de
puncte din stânga (tabelul 3.1).

Tabelul 3.1 Coordonatele celor 5 puncte comune în sistemul de coordonate alnorului de


puncte din stânga

2. Coordonatele celor 5 puncte comune, în sistemul de coordonate


al norului de puncte din dreapta (tabelul 3.2).

Tabelul 3.2 Coordonatele celor 5 puncte comune în sistemul de coordonate alnorului de


puncte din dreapta

3. Valorile celor 7 parametri ai transformării conforme 3D, obţinute prin


metoda celor mai mici pătrate (tabelul 3.4).
Tabelul 3.4 Parametrii transformării conforme 3D, obţinuţi prinmetoda
celor mai mici pătrate

4. Reprezentarea grafică a norilor de puncte LST în sistemul de coordonate al


norului din stânga şi marcarea celor 5 puncte comune (figura3.1).

Figura 3.1 −Reprezentareagrafică a norilor de puncte LSTîn sistemul


decoordonate al norului din stânga şi marcarea celor 5 puncte comune

C. CUPRINSUL LUCRĂRII
3.1. Registraţia norilor de puncte LST în softul „CloudCompare”, pe baza a
5 puncte comune.
3.2. Studiu comparativ privind registraţia norilor de puncte LST realizată
prin calcul şi cea realizată automat în softul „CloudCompare”.
3.3 Registraţia norilor de puncte LST în softul „CloudCompare”.

D. REZOLVAREA PROBLEMEI

3.1 Registraţia norilor de puncte LST în softul „CloudCompare”,pe baza a


5puncte comune

Există patru metode diferite implementate în softul „CloudCompare”


pentru a aduce în coincidenţă doi nori de puncte şi în această etapă, se va alege
metoda „Align (point pairs picking)”, din meniul Tools-Registration(figura3.2),
care aduce în coincidenţă doi nori de puncte pe baza unor puncte comune.
Pentru ca această funcţie să fie activă, trebuie selectaţi anterior cei doi
nori de puncte, cu tasta „ctrl” apăsată.

Figura 3.2 –Selectarea metodei de registraţie a celor doi nori depuncte LST

Pe ecran apare în mod automat fereastra „Chose role”, în care au fost


asociaţi, în mod automat de către soft, cei doi nori de puncte rolurilor „de
referinţă” (Reference), respectiv „de aliniat” (Aligned), în funcţie de ordinea în
care au fost selectaţi (primul nor selectat va fi considerat „de referinţă”). Dacă
ordinea predefinită de program nu este şi cea dorită de utilizator, atunci se apasă
butonul „Swap”, pentru a inversa rolurile (figura 3.3).
Figura 3.3 –Asocierea rolurilor „de referinţă” (Reference), respectiv
„dealiniat” (Aligned) celor doi nori de puncte

Se apasă apoi butonul „OK” şi apare o fereastră împărţită în două secţiuni,


corespunzătoare celor două roluri („de referinţă” şi „de aliniat”). Softul oferă
posibilitatea fie de a puncta direct în spaţiul ecranului pentru a alege punctele,
sau de a le introduce manual, prin coordonatele X, Y şi Z, accesând iconiţa
(funcţia ”Add Aligned Point”). În această etapă va fi aleasă cea din urmă
opţiune, deoarece, nu există certitudinea că operatorul va puncta exact în acelaşi
loc, ca şi momentul când au fost colectate datele pentru etapa de calcul (figura
3.4).
Figura 3.4 –Introducerea manuală a coordonatelor celor 5 puncte
comune,atât în sistemul de coordonate de referinţă, cât şi în sistemul
arbitrar

De fiecare dată când se selectează sau se introduce un punct manual, în


tabel apare o nouă linie (fie în fereastra Aligned sau Reference) şi de asemenea
punctul este marcat cu o sferă în modul de vizualizare 3D şi numerorat.
Numerotarea începe cu “A” pentru punctele din norul ce urmează a fi aliniat şi
cu “R”, pentru punctele din norul de referinţă. Din momentul în care au fost
selectate cel puţin 3 puncte comune (trebuie ales acelaşi număr de puncte în
fiecare nor), “CloudCompare” va calcula şi afişa eroarea medie pătratică (RMS-
Root Mean Square) introdusăde fiecare pereche de puncte în parte(figura 3.5).

Figura 3.5 –Marcarea celor 5 puncte comune în cadrul celor 2 nori de puncte
şi calculul erorilor medii pătratice introduse de fiecare pereche de puncte
în parte

Prin apăsarea butonului “align” se poate obţine un rezultat preliminar al


procesului de registraţie (figura 3.6).
(a)
(b)

Figura 3.6 –(a)Norii de puncte LST, aduşi în coincidenţă, în urma


efectuăriiprocesului de registraţie pe baza punctelor comune, (b) detaliu

Se vor putea observa în dreptul fiecărui punct erorile obţinute pentru


fiecare pereche de puncte. Astfel, se pot şterge punctele care au introdus erori
mari, cu butonul „X‟ din dreptul fiecărui punct, sau se pot reselecta în cadrul
norilor de puncte. De asemenea, se pot adăuga noi puncte, chiar şi după ce a fost
apăsat butonul “align”, pentru a introduce mai multe constrângeri şi pentru a
obţine rezultate mai bune.
Prin utilizarea acestei metode de registraţie, se poate de asemenea
determina, valoarea cea mai probabilă a factorului de scară dintre cei doi nori de
puncte, prin marcarea căsuţei “adjust scale factor”. Această etapă poate fi foarte
folositoare, dacă cei doi nori de puncte au factori de scară diferiţi şi nu este
cunoscut factorul de scară dintre ei, fiind utilizată în acest proiect. Dacă în
schimb, factorul de scară dintre cei doi nori este cunoscut, atunci se poate
introduce, utilizând funcţia Multiply/Scale din meniul Edit.
Se poate valida sau anula registraţia, cu ajutorul butonului verde,
respectiv roşu „X”. Dacă procesul de registraţie este validat, “CloudCompare”
va afişa un raport (aceleaşi informaţii sunt afişate şi în “Console”, dar cu un
număr mult mai mare de zecimale) (figura 3.7).

(a)

(b)
Figura 3.7 –(a) Raportul cu privire la procesul de registraţie realizat pe
bazapunctelor comune (abaterea standard, matricea de transformare şi
factorul de scară), (b) matricea de transformare afişată în „Console”

În timpul acestui proces, se poate ascunde, fie norul de puncte de


referinţă (reference), sau cel ce urmează a fi aliniat cu cel de referinţă (aligned),
prin bifarea căsuţelor corespunzătoare. Se pot de asemenea, efectua operaţii de
rotire sau translare a punctului de vedere, zoom in sau zoom out, mărire a
dimensiunii punctelor, etc.
3.2. Studiu comparativ privind registraţia norilor de puncte LST realizată
princalcul şi cea realizată automat în softul „CloudCompare”.

Aşa cum s-a putut observa la punctul 3.1, matricea de transformare


conţine şi factorul de scară. Aşadar, pentru a obţine matricea de transformare
fără factorul de scară, trebuie să împărţim fiecare element al matricii de rotaţie,
conţinută în matricea de transformare, la factorul de scară.
Matricea de transformare este compusă din matricea de rotaţie (3×3) şi
vectorul translaţiilor (un vector 3D). Ea poate fi scrisă ca o matrice de forma
4×4, în care matricea de rotaţie se regăseşte în partea de sus a primelor 3
coloane, vectorul translaţiilor în partea de sus a coloanei 4, iar linia de jos, va fi
mereu formată din elemente “0” şi un “1”.
Forma generală a matricii de transformare este dată de relaţia (3.1):

[ ]
r 11 r 12 r 13 T x
r r r Ty
M transformare = 21 22 23 (3.1)
r 31 r 32 r 33 T z
0 0 0 1

În urma efectuării procesului de registraţie în softul “Cloudcompare”, pe


baza celor 5 puncte comune, s-a obţinut matricea de transformare de forma
(3.2), ce conţine şi factorul de scară:

[ ]
0,347 0,923 0,002 −19,723
−0,924 0,348 0,107 22,866
M transformare = (3.2)
0,009 −0,005 −0.986 −3,841
0 0 0 1

Se menţionează faptul că, matricea (3.2) a fost copiată din “Console”,


deoarece aici este afişată cu mai multe zecimale.
Matricea de transformare fară factorul de scară este de următoarea
formă:

[ ]
0,34771456 0.92286473 0.0021083973 −19.72339439758
−0.92283592 0.34767303 0.10778523 22.86601830
M transformare =0.92286473 (3.3)
0.00947338 −0.00585366 0.99990797 −3.84168386
0 0 0 1

Pentru a extrage parametrii unghiulari ai transformării conforme 3D, se


folosesc următoarele relaţii:
ω=tan
−1
( )
−r 23
r 33
(3.4 a)

−1
φ=sin ( r 13)(3.4 b)

k =tan
−1
( )
−r 12
r 11
(3.4 c )

În ecuaţiile (3.4) se impune folosirea unei funcţii tangentă inversă,


care să returneze valori în intervalul -1800-1800, de exemplu „atan2” din
EXCEL, cu numărătorii şi numitorii indicaţi, împreună cu semnele lor,
pentru a obţine cadranul corect. Trebuie specificat faptul că funcţia „atan2”
din EXCEL, are argumentele inversate.
Valorile parametrilor transformării conforme 3D, precum şi
diferenţele dintre valorile acestora obţinute prin calcul şi cele obţinuţe pe
baza matricii de transformare rezultată în softul “CloudCompare”, sunt
trecute în tabelul 3.5

Tabelul 3.5 Parametrii transformării conforme 3D, obţinuţiprin


calcul,respectiv pe baza matricii de transformare rezultată în softul
“CloudCompare” şi diferenţele dintre valorile acestora
Valoare obtinuta Valoare obtinuta in
Parametru Diferente
prin calcul "Cloud Compare"

λ 1.006105573 0.997535 0.0085706


ῳ 0.068841448 0.0651076 0.0037338
ϕ -0.264598135 -0.259555333 -0.0050428
k 6.425526961 6.422363718 0.0031632
Tx 375.9589039 375.98562622 -0.0267223
Ty 349.4170826 349.39352417 0.0235584
Tz 46.08821381 46.00712585 0.0810880

În continuare, se vor compara coordonatele celor 3 puncte, măsurate


în sistemul de coordonate al norului din dreapta şi transformate în sistemul
norului din stânga, folosind parametrii transformării conforme 3D rezultaţi
prin calcul, cu cele obţinute în mod automat în softul “CloudCompare”.
Pentru realizarea acestui pas, mai întâi au fost măsurate coordonatele
celor 3 puncte, folosind funcţia “Point picking” din meniul “Tools”,
coordonatele fiind trecute în tabelul 3.6

3.3 Registraţia norilor de puncte LST în softul „CloudCompare”,


utilizândparametrii transformării conforme 3D obţinuţi prin calcul şi
verificarea coordonatelor celor 3 puncte, măsurate în sistemul de coordonate
al norului din dreapta şi transformate în sistemul norului din stânga.
Softul “CloudCompare”, oferă posibilitatea efectuării unor operaţii de
transformare a norilor de puncte LST , cum ar fi: translaţie, rotaţie şi scalare,
prin mai multe metode:
 introducerea manuală a valorilor unghiurilor de rotaţie, a translaţilor
sau a factorilor de scară,
 introducerea matricii de transformare (translaţie şi/sau rotaţie).

Trebuie menţionat faptul că cele trei transformări, de translaţie, rotaţie şi


scalare, nu pot fi efectuate simultan, cu excepţia rotaţiei şi translaţiei.
Dacă se doreşte efectuarea transformării de schimbare a factorului de
scară, atunci sunt introduse manual valorile factorului de scară (λ)/factorilor de
scară (λx, λy, λz), utilizând funcţia “Multiply/Scale”, din meniul “Edit”,
selectându-se mai întâi entitatea pentru care se aplică transformarea.
Dacă se doreşte efectuarea transformării de translaţie şi/sau rotaţie,
atunci se utilizează funcţia “Apply transformation”, din meniul “Edit”.
Pentru a aplica aceste transformări, trebuie selectate mai întâi una sau
mai multe entităţi, cum ar fi: nori de puncte, suprafeţe de tip “mesh”, primitive,
etc., utilizatorul având mai multe opţiuni:
 introducerea matricii de transformare (translaţie şi/sau rotaţie),
folosind opţiunea “Matrix 4×4”,
 o combinaţie între rotaţia unei axe (“Rotation axis”), un unghi de
rotaţie (“Rotation angle (degrees)”) şi un vector de translaţie
(“Translation”),folosind opţiunea “Axis, Angle”,
 o combinaţie între unghiurile euleriene (“Angles”) şi un vector de
translaţie (“Translation”), folosind opţiunea “Euler angles”.

Dacă se doreşte aplicarea transformării inverse, atunci se bifează


căsuţa din dreptul mesajului “ Apply inverse transformation”.
Introducerea matricii de transformare se poate face prin următoarele
metode:
- introducerea directă a valorilor matricii de transformare,
- importarea lor dintr-un fişier *.txt, folosind opţiunea “ASCII file”
(fiecare rând al matricii pe o singură linie, adică 4 valori separate prin
spaţiu),
- copierea din clipboard, folosind opţiunea “clipboard”. De exemplu,
cele mai multe dintre metodele de registraţie implementate în
“CloudCompare”, vor afişa matricea de transformare în
“Console”.Utilizatorul poate să o copie (CRT+C) şi să o aducă apoi
în spaţiul corespunzător (CTRL+V), pentru a aplica aceeaşi
transformare unei alte entităţi.

Pentru a efectua registraţia norilor de puncte LST în softul


„CloudCompare”, utilizând parametrii transformării conforme 3D obţinuţi
princalcul, se va forma mai întâi matricea de transformare, pe baza matricii de
rotaţie şi a vectorului de translaţie:

1.000647664070 -0.114310778677 -0.004376295488 375.647796630859

0.114313304424 1.000656843185 0.000334107026 350.635131835938 (3.5)

0.004310095217 -0.000828654447 1.007155656815 45.229446411133

0.000000000000 0.000000000000 0.000000000000 1.000000000000


Se va selecta apoi norul de puncte din dreapta (cucuteni-SW2) şi se va
accesa funcţia “Apply transformation” din meniul “Edit”. Se introduce matricea
de transformare dată de relaţia (3.5), prin una din metodele descrise mai sus şi se
apasă butonul “OK”, pentru aplicarea transformării entităţii selectate şi anume,
norului de puncte din dreapta (figura 3.9).

Figura 3.9 – Introducereamatricei de transformare, formatăpebazamatricei


derotaţieşi a vectorului de translaţierezultaţiprincalcul

Se va aplica acum norului de puncte din dreapta factorul de scară rezultat


prin calcul şi anume λ= 1.000675, utilizând funcţia “Multiply/Scale”, din meniul
“Edit”. Având în vedere că este o transformare conformă 3D, factorul de scară
este uniform, fiind introdusă aceeaşi valoare în toate 3 câmpuri (fx, fy şi fz)
(figura 3.10). De asemenea, se va bifa căsuţa din dreptul mesajului“Keep
inplace” şi se va apăsa butonul “OK”.Softul “CloudCompare”, va
multiplicacoordonatele punctelor norului din dreapta, cu valoarea specificată.
Figura 3.10 – Introducereafactorului de scarărezultatprincalcul

În urma aplicării matricii de transformare şi a factorului de scară, cei doi


nori LST sunt aduşi în coincidenţă, iar în continuare, se vor compara
coordonatele celor 3 puncte, măsurate în sistemul de coordonate al norului din
dreapta şi transformate în sistemul norului din stânga, folosind parametrii
transformării conforme 3D rezultaţi prin calcul, cu cele obţinute în softul
“CloudCompare”, în urma aplicării celor 3 transformări: rotaţie şi
translaţie(prin introducerea matricii de transformare) şi scalare (prin
introducerea factorului de scară).

Din tabelul 3.9 se poateobservacădiferenţeleîntrecoordonatelecelor


treipunctesunt de ordinulmilimetrilor. Însă, pentruaobţinerezultatemai
precise, se va forma din noumatricea de transformare, pebazamatricei de
rotaţieîn care va fi integratfactorul de scarăşi a vectorului de translaţie:

[ ]
0,384175 0,923260 −0,000327 −22,933675
−0,92326 0,384175 0,000856 22,430803
M transformare = (3.6)
0,000916 −0,000027 1,000000 −6,159805
0 0 0 1

Se vaefectua o nouăregistraţie a norilor de puncte LST


însoftul„CloudCompare”, utilizândmatricea de transformarece are factorul de
scară
integrat(figura 3.12).
Figura 3.12 – Introducerea matricei de transformare, formată pe baza matricei
De rotaţie în care a fost integrat factorul de scară şi a vectorului de translaţie
rezultaţi prin calcul

S-ar putea să vă placă și