Primul scanner este un sistem complex, pe mai multe axe, cu un senzor de tip plan de
lumina (light-section). Un astfel de senzor contine un laser liniar si o camera numerica
pentru imgini cu nivele de gri. Dispozitivul de masurarea permite trei deplasari liniare si
independente si o rotatie. Norul de puncte 3D rezultat este procesat pentru detectarea si
cuantificarea masuratorilor geometrice cum ar fi dimensiunile, razele si deviatiile de la
geometria impusa. Datorita mobilitatii sistemului, acesta poate fi folosit la scanarea unor
tipuri diferite de obiecte.
Principiul de masurare este triangularea optica bazata pe planul de lumina (light section).
Sistemul acopera un volum de masurare de ordinul LxNxM mm3, unde L, M si N sunt de
ordinul sutelor de mm. Un echipament derivat poate avea doi senzori, unul dintre senzori
capteaza partile superioare ale suprafetei, iar celalalt partile inferioare ale acesteia. Altfel
este nevoie de un sistem foarte precis de reorientare a piesei pentru o noua scanare.
Bazandu-se pe sistemul de locomotie de mare precizie, obiectul este trecut prin fata
senzorului pana cand intreaga sa suprafata a fost scanata. Pentru un bun proces de
achizitie a datelor, toate componentele sunt montate pe o suprafata de mare greutate, de
exemplu de granit, pentru compensarea in medii industriale a vibratiilor de la surse
externe. Unitatea care functioneaza ca sursa de lumina genereaza planuri de lumina care
dupa reflexia la impactul cu suprafata obiectului sunt „vazute” de senzor, camera video.
In fiecare moment de timp, sunt evaluate pozitiile axelor mobile si folosite pentru a
construi succesiv norul de puncte 3D. La o singura scanare senzorul masoara punctele 3D
corespunzatoare unei linii de intersectie dintre planul de lumina si obiect. Eroarea de
masurare, dependenta de naturea suprafetei, pentru un astfel de sistem este de ordinul
zecilor de μm.
Cel de-al doilea scaner este un dispozitiv flexibil materializat sub forma unui brat
articulat care pozitioneaza elementul terminal intr-o pozitie dorita si masurabila. In
elemntul terminal ar putea (si exista astfel de variante) fi plasata o sonda de masurare
tactila (prin contact): coordonatele din momentul atingerii obiectului sunt coordonatele
punctului masurat. Chiar daca tehnicile tactile asigura o buna precizie, esantionarea prin
puncte a suprafetelor mari dureaza foarte mult timp. Inlocul dispozitivului de contact se
poate monta un senzor optic. Se ajunge la un dispozitiv de scanare compus, de exemplu,
dintr-un brat de masurare de mare precizie cu 6 grade de libertate (7 axe) si un senzor
optic 3D.
Senzorul optic este alcatuit din o camera de mare viteza si un proiector liniar laser (line
projecting laser). Intersectiile dintre planele laser proiectate pe suprafata obiectului sunt
niste curbe care sunt achizitionate cu o periodicitate in timp prestabilita. Prin utilizarea
unui senzor CMOS si a unui sistem hardware integrat de procesare a imaginii, pot fi
calculate sute de contururi intr-o secunda, fiecare presupunand mii de coordonate
bidimensionale (coordonate imagine). Pozitiile pixelului in imagine sunt deja calculate la
nivelul camerei de catre un procesor local specializat si sunt transmise catre calculator
sub forma unei liste de date 2D. Acest procedeu reduce cantitatea de date ce trebuie
transmise cu pana la 95% in comparatie cu procedura standard, in care trebuie transmisa
intreaga imagine. Intervalul de masurare este ales pentru scanarea lungimii unei linii de
ordinul zecilor de milimetrilor intr-un interval cu o denivelare tot de ordinul zecilor de
milimetrilor. Pozitia si orientarea sunt date foarte precis de catre sistemul cinematic
flexibil al bratului de masurare. Senzorul este integrat in sonda de explorare a bratului si
poate fi mutat intr-o semisfera cu raza de aproximativ 1 m (depinde de la aparat la aparat,
de exemplu pentru scanarea unui automobil este nevoie de o raza mai mare), care in final
poate conduce la o eroare a masuratorilor de aproximativ 100 μm.
Principial problema clibrarii unei camere de luat vederi care urmeaza sa fie folosita ca un
aparat de masura este sintetizata mai jos.
P
Planul f
imaginii C
P'
Formarea imaginii
x x'
P'
z
O f O'
y y'
In cea mai simpla aproximare camera este o lentila sferica cu centrul optic in C si cu
distanta pana la planul imaginii f. P' este proiectia punctului P, din spatiu, in planul
Problema se poate pune in doua moduri: sa se gaseasca coordonatele proiectiei P' daca se
cunosc cele ale punctului real P, si invers, sa se gaseasca locul geometric al punctelor P
daca se cunosc coordonatele proiectiei P'.
x f
x ' z
yf
y'
z
z ' f
Se observa ca transformarea perspectiva directa este simpla, dar neliniara. Pentru a obtine
o reprezentare liniara, apelam la coordonatele omogene; se introduce un coeficient de
scara w intr-un spatiu 4D. Daca v = (x, y, z)t in 3D atunci in coordonate omogene v' =
(wx, wy, wz, w)t. Pentru un punct din 3D nu exista o singura reprezentare in coordonate
omogene. Daca consideram, spre exemplu, raportul intre z si f ca parametru atunci avem:
z 1
si w
f
wx x ' 1 0 0 0 x
x ' 1 0 0 0 y ' 0 1 0 0 y
y' 0 1 0 0 wy 1
wz si 0 0 0 z
z' 0 0 1 0 f
w 1 0 0 0 1 1
z
x'
z' O
y' y
x
Raportarea la un sistem de coordonate global
x ' 1 0 0 0 1 0 0 Tx
y ' 0 1 0 0 0 1 0 Ty
1
0 0 0 0 0 1 Tz
f
1 0 0 0 1 0 0 0 1
P A p A t R z R y R x P
Calculam invers P(P') si trebuie sa gasim transformata perspectiva inversa si deci locul
geometric din spatiu, o dreapta pe care se gasesc punctele P care se proiecteaza toate in
P'. Daca ar interveni o a doua camera de luat vederi, atunci la intersectia celor doua locuri
geometrice s-ar putea localiza punctul P in spatiu, cunoscand proiectiile lui in cele doua
imagini si parametrii camerelor de luat vederi.
O etapa preliminara in aplicatiile de vedere artificiala este tocmai determinarea localizarii
camerei (sau camerelor) de luat vederi, a parametrilor din transformarile perspective
Din relatiile:
x x
y y
C1 sau
z
1 1
x
y x
C y
z unde
1
c11x+c12y+c13z+c14+c210+c220+c230+c240-x'c31x-x'c32y-x'c33z-x'c34= x'
c110+c120+c130+c140+c21x+c22y+c23z+c24-y'c31x-y'c32y-y'c33z-y'c34= y'
T 1 1 2 2 3 3 4 4 5 5 6 6
V =[x' y' x' y' x' y' x' y' x' y' x' y' ]
x1 y1 z1 1 0 . . x 1 x 1 x 1 y1 x 1z1
0 0 0 0 x1 . . y1 x 1 y1 y1 y1z1
x 2 y2 z2 1 0 . . x2 x 2 . .
. . . . . . . . . .
. . . . . . . . . .
U
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
0 0 0 0 x6 y6 z6 y 6 x 6 y 6 y 6 y 6 z 2
T -1 T
Atunci: C = (U U) U V
S-a considerat ca se fac 6 corespondente intre puncte din scena reala si puncte din
imagine. Se poate aprecia ca este util sa se ia in considerare mai mult de 6 corespondente,
pentru ca prin supradeterminarea sistemului sa se poata creste precizia de determinare a
modelului camerei de luat vederi. Desi simpla la o prima apreciere, determinarea cu
precizie a coordonatelor pentru cele sase puncte din scena reala este dificila in practica.
Determinarea cu precizie de 1 mm a coordonatelor x, y, z ale unuia din varfurile unei
corp poliedral, de dimensiuni de ordinul centimetrilor asezat pe o masa, fata de un sistem
de coordonate atasat unuia din colturile mesei, nu este in practica o problema simpla. Se
introduc erori semnificative prin aproximarea directiilor paralele si perpendiculare. Nici
determinarea coordonatelor in planul imaginii nu este lipsita de probleme. Semnalam
numai fie si problema determinarii centrului imaginii, care nu este aproape niciodata
chiar in centrul imaginii. Centrul imaginii este punctul in care axa lentilei inteapa
dreptunghiul senzorial in care se formeaza imaginea. Daca am schimba focalizarea
obiectivului, atunci centrul imaginii ar fi singurul punct din imagine care ramane pe loc.
Diverse metode de calibrare propun diferite modalitati de alegere a multimii de puncte,
minim 6, de calibrare. Spre exemplu o solutie este trasarea unei grile rectangulare de
calibrare cu determinarea coordonatelor punctelor de intersectie din grila.
Фobj = Фobj ({xobj, yobj ,z obj; c, ξ, a1, ….., an}; {x0, y0, z0; ω, φ, k })
Din cauza abaterii lentilelor si eventual a cunoasterii imperfecte a altor parametri, razele
care pleaca de la indicatorii de pe placa (marcaje) pana la pixeli care le corespund
acestora pe senzorul camerei nu se intersecteaza intr-un punct comun – ceea ce ar
corespunde modelului de camera video punctuala (pin hole). Din aceasta cauza, trebuie
aplicata o procedura de ajustare. Principiul matematic fundamental al acestei proceduri
este ajustarea iterativa (in bucla) care estimeaza punctul de intersectie printr-o
minimizare a abaterii medii patratice.
Pim
Pobj
Desi pozitia exacta a originii laserului nu este necesara pentru triangularea in sine,
aceasta locatie este folositoare pentru sortarea punctelor de pe contururile 3D in functie
de unghiul lor de proiectie. Din cauza lentilelor cilindrice, care proiecteaza fascicului
laser ca o linie, pozitia originii sursei de lumina este necunoscuta. Din acest motuiv se
aplica inca un pas suplimentar de calibrare care se bazeaza pe utilizarea unei piese 3D in
trepte. Acest obiect este scanat pe o directie verticala pentru a produce segmente de linie
luminoase aflate in plane de adancime diferita.
Originea laserului este obtinuta prin scanarea unui obiect in trepte. Prin intersectarea
razelor de proiectie corespunzatoare punctelor de capat ale segmentelor rezultate este
localizata originea reala a laserului.
Dupa ce s-au calibrat camerele de luat vederi si s-a determinat orientarea spatiala a
planului laserului, pentru fiecare pozitie a unui pixel 2D din imagine se pot determina
prin triangulare coordonatele 3D corespunzatoare. Astfel, pentru generarea unui nor de
puncte 3D obiectul trebuie iluminat de catre planul de lumina, iar contururile curbe
rezultate trebuie extrase pentru a identifica multimea pixelilor 2D corespunzatori din
imagine. Pentru a reduce interferentele prin conditii de iluminare nefavorabile, in unele
situatii, se poate face scanarea intr-un mediu fara alte surse de lumina, unde numai
lumina reflectata a laserului este vizibila. In acest scop este aplicata o prelucrare
inlantuita a imaginii pentru extrage conturul din fundal.
Axa mediana sau scheletul unui obiect plan continuu este definita ca o multime de puncte
ce sunt echidistante in raport cu cel putin doua puncte aflate pe marginea obiectului. In
spatiul discret, aceasta definitie nu poate fi direct aplicata deoarece discretizarea produce
in general structuri cu suprafata neuniforma care ar putea duce la un schelet (skeleton)
irelevant pentru o aplicatie de masurare chiar daca pentru o identificare de obiecte ar
putea fi suficienta. De exemplu, nu exista o axa mediana discreta unica daca grosimea
a) Extragerea conturului iluminat laser din fundal; Imaginea de intrare (prima) este
binarizata (numai are nivele de gri ci numai alb si negru) prin aplicarea unui prag fix
(nivelele de gri mai mici, mai inchise, decat pragul sunt facute negre, iar cele mai mari
decat pragul, mai deschise, sunt facute albe) si subtiata. b) Functia de variatie a nivelului
de gri perpendicular pe contur (profil). Varful profilului este la mijloc intre punctele de
inflexiune
Pentru obtinerea pozitiilor centrale ale intregului contur este aplicat urmatorul algoritm:
- calculul imaginii binare I’ din imaginea de intrare I cu pragul t (pentru eficienta t=50,
unde 0 este negru si 255 este alb);
- calcularea punctelor axei mediane;
- aplicarea analizei profilului;
- extragerea conturului cu precizie de subpixel.
Din experienta este cunoscut faptul ca valoarea contrastului imaginii este foarte
importanta pentru detectia maximului intensitatii: acest maxim exista intotdeauna, dar pe
noi ne intereseaza sa fie cu adevarat un punct foarte luminos, chiar o valoare de saturare a
senzorului (peste alb!). Acest deziderat este atins prin ajustarea fie a intensitatii laserului,
fie a timpul de expunere al camerei (shutter speed). O dimesiune a calitatii imaginii este
data de catre contrast, definit ca fiind variatia din jurul valorii medii Imediu . Pentru aceasta
aplicatie, se face aproximarea contrastului ca fiind diferenta Imax - Imediu . In mod evident,
cu cat este mai mare contrstul, cu atat conturul de interes se diferentiaza mai bine de
fundal. Un alt criteriu de apreciere a contrastului este panta punctelor de inflexiune. Cu
cat este mai mare contrastul si cu cat mai subtire conturul, cu atat panta este mai abrupta.
In timpul procesului de achizitie, mai multe surse determina aparitia erorilor in datele
scanate. In continuare sunt trecute in revista cele mai importante astfel de surse.
Dupa cum se poate deduce din mai multe exemple de scanari, majoritatea valorilor care
nu se incadreaza in intervalul valorilor asteptate precum si alte valori eronate sunt cauzate
de reflectiile nedorite. In aceste cazuri, fasciculul laser de mare putere este oglindit de
suprafete reflectorizante, cum ar fi metalul sau sticla. In final, prea multa lumina loveste
senzorul camerei si apar efectele denumite de hiperluminozitate (blooming). Senzorul
este saturat (ii este depasita valoarea maxima de iesire pe care o poate furniza). In plus,
efectul de iluminare se extinde si la zone adiacente zonei care ar fi trebuit sa apara ca
luminoasa.
Efecte optice care afecteaza achizitia date lor 2D. Speckle: determina aparitia unor
contururi create de insiruirea unor pete stralucitoare respectiv intunecate; Blooming:
determina latirea conturului in anumite zone prin saturarea senzorului; Outliers:
determina deplasarea nefireasca a anumitor puncte de contur in imagine astfel incat zone
care erau vecine si conectate in realitate isi pierd aceste proprietati in imagine.
Atunci cand sistemele de scanare sunt utilizate in mediile industriale, anumite influente
atmosferice (cum ar fi praf, interferente electromagnetice sau electrostatice, vibratii) pot
afecta calitatea imaginii obtinute de catre camera. In acest fel influenta zgomotului de
inalta frecventa conduce la aparitia contururilor false (aliasing).
frecvenţa de apariţie
nivel de gri
m
0 (negru) 2 -1 (alb)
Dacă histograma este plată, relativ uniformă, putem trage concluzia că s-a realizat o bună
utilizare a nivelelor de gri disponibile, şi deci este de aşteptat o bună observabilitate a
detaliilor din imagine. O histogramă cu un maxim într-o extremitate a intervalului de
nivele de gri şi o lipsă a nivelelor de gri din extremitatea opusă a intervalului va semnala
un contrast slab şi deci în consecinţă o pierdere a detaliilor din imagine în zonele
predominant albe sau negre din imagine. O similară lipsă de contrast poate fi semnalată şi
în cazul unei distribuţii relativ uniforme pe întreaga scară de nivele de gri, dar cu un vârf
proeminent într-o extremitate.
nivel de gri
0 prag 2m-1
Histogramă bimodală
Appendix B
Subtiere (Skeleton)
Din mai multe motive care depind de modul în care s-a făcut achiziţia imaginii şi de
prelucrările ulterioare, (deci condiţiile de iluminare, rezoluţie, acumulare de zgomote,
alegerea pragurilor pe histogramă sau pentru extractoarele de contur) se poate întâmpla ca
imaginea binară (alb - negru), obţinută din imaginea iniţială cu nivele de gri, să conţina
contururi mai groase decât este util (pixeli mai mulţi decât unul pe grosime). Devine
necesar pentru unele aplicaţii să subţiem conturul, păstrând proprietăţile legate de forma
obiectului. Se cunosc mai mulţi algoritmi de subţiere, dar majoritatea se bazează pe
algoritmul principial dezvoltat de Sherman care poate fi ilustrat în organigrama
următoare. Pixelul central este eliminat cu condiţia să nu erodeze sfârşitul unui contur
neînchis, sau să nu creeze o discontinuitate în contur, a cărui lăţime este de doar un pixel.
Poziţionează fereastra, de 8-
vecinătate, pe un pixel de
pe muchie
Numărul total de DA
pixeli din
fereastră este 2 ?
NU
Este pixelul
central din fereastră DA Schimbă pixelul central
singurul pixel negru din negru în alb
care conectează mai eliminându-l de pe contur
mult de 2 pixeli
negri?
NU
Figura 5.5Exemple
Exemple de
de ”schelete”
schelete
g1 f1 h1 f h
i
i 1i
g ( x ) f ( x ) h( x ) f ( ) h( x ) d
Dacă semnalele sunt simetrice în raport cu originea x = 0 şi finite de dimensiune 2m+1,
iar răspunsul impulsional al filtrului este finit şi are 2k+1 elemente atunci:
inf( m ,l k ) 1 k
g1 fi h1i
sup( m ,l k )
Mai mult dacă m >> k g1 f h
i 1k
i 1i
Dacă considerăm acum un semnal f(x,y), deci facem trecerea la 2D, care corespunde unei
imagini presupuse pătrate şi digitizate cu N = 2m+1 linii şi tot atâtea coloane, atunci
funcţia h(x,y) este o fereastră de dimensiunea 2k+1. Folosind indicii l şi l' pentru linii şi
coloane, produsul g ll ' va fi o imagine pătrată de dimensiune 2(m-k)+1 linii şi coloane.
l k l k
gl f
i nk j lk
ij hl i ,l j
Pentru k << m această formulă este adevarată peste tot, în afară de marginile imaginii.
Calculele scad proporţional cu k. Se observă analogia între convoluţia pentru filtrare şi
plimbarea unei ferestre pe imagine. Dacă avem k=1, atunci fereastra are dimensiunea de
3x3, caz în care pentru imaginile uzuale, de exemplu de 512x512 pixeli, se obţin
performanţe, timpi de calcul, mai bune decât cele pentru filtrarea în domeniul frecvenţă,
de exemplu.
+m
+k
-k +k
imagine
-k
-m 0 +m
mască
Masca poate fi asimilată, ca formă, cu o matrice |M| cu care trebuie parcursă o porţiune |I|
din imagine, centrată pe pixelul curent. Se defineşte această variantă de produs matriceal
prin:
3 3
I M gij mij
i 1 j 1
Dacă valorile gij şi mij ale lui I, respectiv M sunt aşezate vectorial în I respectiv M
atunci:
Ps I M g1 m1 g2 m2 ........ g9 m9
În general ponderile din măşti au valori întregi ceea ce conduce la necesitatea introducerii
unui factor de scară global cu scopul de a păstra noile valori în aceeaşi plajă ca şi valorile
iniţiale şi deci să permită afişarea rezultatelor.
3 3
I M f s gij mij
i 1 j 1
Lucrând pe imagini numerice, integrarea care este asociată cu filtrarea trece – jos este o
mediere, sau mai simplu o sumare. Măştile asociate acestui tip de filtrare au numai
ponderi pozitive. În cazul cel mai general, filtrarea trece - jos care trebuie să preceadă
1 2 1 7 7 7 0 1 0
1 1 1
M 1 2 4 2 M2 7 8 7 M 3 1 1 1
16 64 4
1 2 1 7 7 7 0 1 0
Lucrând pe imagini numerice, filtrarea trece – sus care este asociată cu operaţia de
derivare se realizează numai prin diferenţe între nivelele de gri. Măştile asociate au şi
ponderi pozitive şi ponderi negative. Derivarea imaginii rămâne în esenţă o operaţie de
accentuare a detaliilor dintr-o imagine numerică.
Gradientul este asociat cu derivata de ordinul intai. Daca derivata are modulul mare
atunci acolo are loc o schimbre in nivelul de gri al imaginii. Prin compararea gradientului
cu un prag se pot detecta contururi. Exemple de masti de tip gradient :
0 0 0 1 1 1 1 2 1 1 0 1
1 1 0 1 2 1 0 0 0 2 0 2
0 0 0 1 1 1 1 2 1 1 0 1
Operatorul Laplace este asociat derivatei de ordinul doi. In punctele de pe contur derivata
de ordinul doi trecece prin zero, se anuleaza. Laplaceanul poate fi scris sub formă de
diferite măşti, dintre care se pot exemplifica cu următoarele:
0 1 0 1 2 1 1 0 1 1 1 1
1 4 1 2 4 2 0 4 0 1 8 1
0 1 0 1 2 1 1 0 1 1 1 1