Sunteți pe pagina 1din 5

Sisteme de vedere artificială Lucrarea de laborator nr.

05

LUCRAREA NR. 05

1. Scopul lucrării
În lucrarea de faţă se tratează metode de detecţie a muchiilor şi punctelor de interes.
Aceste metode se încadrează în categoria operaţiilor de preprocesare locală.

2. Breviar teoretic
Etapele de prelucrare a informaţiilor realizate de un Sistem de Vedere Artificială sunt:
• achiziţia şi formarea imaginilor
• preprocesarea imaginilor
o transformări ale nivelurilor de gri;
o transformări geometrice;
o preprocesări locale;
- netezirea;
- operatorii gradient;
o refacerea imaginii.
• segmentarea imaginilor
• descrierea
• recunoaşterea formelor
• interpretarea

Metodele de preprocesare locală pot fi împărţite după scopul lor în două categorii:
• netezire – au ca scop atenuarea zgomotelor (pixeli paraziţi), a fluctuaţiilor mici din
imagine; dezavantajul acestei metode constă în umbrirea muchiilor;
• operatorii gradient – au la bază derivatele locale ale funcţiei imagine; deorece
derivatele sunt mai mari atunci cand variaţiile imaginii sunt mai mari, aceste operaţii
accentuează zonele de trecere de la o nuanţă la alta. Pixelii paraziţi dintr-o imagine
conduc de asemenea la variaţii ale funcţiei imagine. De aceea, aplicarea acestor
operatori unor imagini afectate de zgomote va duce la creşterea nedorită a nivelului de
zgomot.

1
Sisteme de vedere artificială Lucrarea de laborator nr. 05

3. Preprocesarea locală – operatorii gradient


3.1. Noţiuni generale
Operatorii gradient intră în categoria metodelor de detectare a muchiilor. O muchie
este o proprietate ataşată fiecărui pixel din imagine şi este calculată pe o vecinătate a acestuia
(preprocesare locală). Muchia este caracterizată prin modul (magnitudine) şi direcţie: modulul
muchiei este modulul gradientului, iar direcţia muchiei este rotită cu 90°, ca în figura 1.
Muchie
φ
ψ
Gradient Negru

Figura 1. Direcţia gradientului şi direcţia muchiei

Direcţia gradientului reprezintă direcţia în care funcţia imagine prezintă o creştere


maximă, de exemplu de la negru ( f(i,j)=0 ) spre alb (f(i,j)=255 ). Liniile din figura 1
reprezintă linii de nivel, în care pixelii au aceeaşi valoare a funcţiei imagine (acelaşi nivel de
gri).
Muchiile sunt adesea folosite în analiza unei imagini pentru detectarea frontierelor
regiunilor. Luând în considerare că regiunile au o variaţie lentă a intensităţii imaginii,
frontiera regiunii va fi formată din pixelii în care funcţia intensitate are o variaţie abruptă (în
caz ideal, de tip treaptă). Câteva profiluri tipice pentru muchii sunt prezentate în figura 2.

f f f f
235 alb

x x x x

Treaptă Acoperiş Linie Zgomot

Figura 2. Profiluri tipice pentru muchii


Magnitudinea şi direcţia muchiei sunt calculate după relaţiile:
2 2
⎛ ∂g ⎞ ⎛ ∂g ⎞
grad g ( x, y ) = ⎜ ⎟ + ⎜⎜ ⎟⎟ (1)
⎝ ∂x ⎠ ⎝ ∂y ⎠
∂g ∂g
ψ = arg( , ). (2)
∂x ∂y

2
Sisteme de vedere artificială Lucrarea de laborator nr. 05
De multe ori, nu interesează direcţia gradientului, ci numai modulul acestuia. Pentru
acest calcul, poate fi folosit operatorul Laplacian, care prezintă aceleaşi proprietăţi pentru
toate direcţiile:
∂ 2 g ( x, y ) ∂ 2 g ( x, y )
∇ 2 ( x, y ) = + . (3)
∂x 2 ∂y 2
Ascuţirea imaginii (sharpening – eng.) are ca scop scoaterea în evidenţă a muchiilor.
Acest lucru se poate obţine folosind relaţia:
f (i, j ) = g (i, j ) − C ⋅ S (i, j ) , (4)
unde C este un coeficient pozitiv, iar S este o funcţie de variaţie a imaginii, obţinută cu un
operator gradient.
Operatorii gradient pot fi împărţiţi în mai multe categorii:
• operatori care aproximează derivata imaginii folosind diferenţe. Unii operatori
sunt invarianţi la rotaţii şi vor avea nevoie de o singură mască de convoluţie
(filtru);
• operatori bazaţi pe trecerea prin zero a derivatei a doua a imaginii (ex: Marr-
Hildreth, Canny);
• operatori bazaţi pe asemănări ale imaginii cu modele parametrice ale
muchiilor, necesitând un efort computaţional mai mare.

Operatorul Roberts
Este unul din primii operatori folosiţi şi foloseşte doar două măşti de convoluţie:
⎡1 0 ⎤ ⎡ 0 1⎤
h1 = ⎢ ⎥ h2 = ⎢ ⎥
⎣0 − 1⎦ ⎣ − 1 0⎦
Magnitudinea muchiei va fi deci:
g (i, j ) − g (i + 1, j + 1) + g (i, j + 1) − g (i + 1, j ) (5)

Operatorul necesită puţine calcule, dar are ca dezavantaj, sensibilitatea crescută la


zgomot datorită faptului ca foloseşte puţini pixeli pentru aproximarea gradientului.

Operatorul Laplacian este foarte folosit pentru aproximarea celei de-a doua derivate,
ceea ce ne oferă doar modulul gradientului. Acesta este aproximat cu o sumă de convoluţie
folosind o mască de dimensiune 3x3. Pentru o vecinătate de 4 pixeli, respectiv 8 pixeli,
măştile sunt:

3
Sisteme de vedere artificială Lucrarea de laborator nr. 05

⎡0 1 0 ⎤ ⎡1 1 1⎤
h = ⎢1 − 4 1⎥ h = ⎢⎢1 − 8 1⎥⎥
⎢ ⎥
⎢⎣0 1 0⎥⎦ ⎢⎣1 1 1⎥⎦

Ca dezavantaj, este de menţionat un efect dublu al acestui operator în cazul unor anumite
muchii.

3.2. Funcţii Matlab utile în preprocesări locale:


¾ detectarea muchiilor - edge – detectează muchiile folosind diverşi operatori cunoscuţi;
¾ filtrarea imaginii - imfilter – modifică dimensiunile imaginii folosind o metodă de
interpolare cunoscută;
¾ operaţia de convoluţie – conv2 – realizează o convoluţie bidimensională ;
¾ adăugare de zgomot – imnoise – adaugă zgomot de diferite tipuri unei imagini
intensitate ;

4. Detectarea punctelor de interes

Detectarea traiectoriei de mişcare a unui obiect în timp se poate realiza identificând


anumite trăsături ale obiectului ce corespund în două imagini achiziţionate la timpii t1 si t1 + τ.
Aceste trăsături trebuiesc determinate astfel încât ele să poate fi urmărite şi detectate în
ambele imagini. Din multitudinea de algoritmi dedicati detectiei trasaturilor tip punct doar trei
algoritmi au fost propuşi pentru a fi analizaţi şi implementaţi: Interest Point Operator,
operatorul Smith şi operatorul Harris. Alegerea celor trei operatori a fost facute deoarece,
Interest Point Operator foloseşte în cadrul procesului de căutare al colţurilor variaţia
intensităţii pixelilor de-a lungul a patru axe (orizontală, verticală şi cele două diagonale),
Operatorul Smith foloseşte un criteriu geometric pentru detecţia punctelor de interes, iar
Operatorul Harris se bazează pe calculul cu prima derivată si folosirea funcţiei de auto-
corelaţie; astfel se va face analiza a trei operatori ce au la bază principii de funcţionare total
diferite.

Interest Point Operator


Operatorul calculează variaţia de intensitate a imaginii, vi, de-a lungul a patru direcţii:
verticală, orizontală şi cele două diagonale pe o mască centrată in pixelul P(i,j).

4
Sisteme de vedere artificială Lucrarea de laborator nr. 05

f(x-1,y-1) f(x,y-1) f(x+1,y-1)

i=1
f(x-1,y) f(x,y) f(x+1,y)

f(x-1,y+1) f(x,y+1) f(x+1,y+1)


i=3 i=4

y i=2
Fig. 3. Masca 3x3 centrată în P(x,y). f-valoarea intensităţii în pixelul respectiv.

Variaţiile vi , i = 1,4 , sunt determinate cu ajutorul formulelor:

v 1 ( x , y ) = max ( f (x + 1, y ) − f (x , y ) , f (x − 1, y ) − f (x , y ) )
v2 ( x , y ) = max ( f ( x , y − 1) − f ( x , y ) , f ( x , y + 1 ) − f ( x , y ) )
(6)
v3 ( x , y ) = max ( f ( x − 1, y + 1) − f ( x , y ) , f ( x + 1, y − 1) − f ( x , y ) )
v4 ( x , y ) = max ( f ( x + 1, y + 1) − f ( x , y ) , f ( x − 1, y − 1) − f ( x , y ) ) .

Având cele patru variaţii, se determină minimul dintre acestea. Dacă valoarea găsită
depăşeşte un anumit prag:
min vi (x, y ) ≥ α . (7)
i

atunci punctul P este considerat punct de interes (colţ), unde α este un prag stabilit in funcţie
de zgomotul prezent in imagine.
Acest operator garantează găsirea unor pixeli care au o variaţie importantă pe toate
direcţiile din V8. Este util deoarece pixelii care au variaţii pe toate direcţiile aparţin colţurilor
obiectului, punând astfel în evidenţă forma obiectului.
Operatorul poate fi extins pentru vecinătăţi mai mari asigurând în aceste fel o mai
bună precizie pentru imaginile afectate de zgomot, dar creşte considerabil efortul
computaţional cât şi numărul de puncte determinate; acest lucru nu este de dorit în multe
cazuri deoarece creşterea efortului computaţional afectează cerinţele de lucru în timp real

5. Exerciţii
1. Să se implementeze algoritmii de detecţie a muchiilor descrişi în referat şi să se
analizeze performanţelor acestora
2. Să se implementeze algoritmul Interest Point Operator