Sunteți pe pagina 1din 15

Capitolul 6

Segmentarea orientată pe contururi

6.1 Extragerea contururilor ı̂n domeniul spaţial:


tehnici derivative

Contururile (muchiile) sunt frontierele obiectelor din imagine şi sunt determinate de
adiacenţa regiunilor uniforme; pixelii de tip contur sunt deci caracterizaţi de schimbări im-
portante ale nivelelor de gri ı̂n vecinătatea lor spaţială (corespunzând ı̂n scenă modificării
valorilor proprietăţii fizice preluate de senzorul de imagine). Schimbarea valorilor imaginii
este evaluată prin două mărimi: diferenţa de valori şi mărimea suportului spaţial pe care
are loc tranziţia. Astfel, ceea ce este important pentru caracterizarea contururilor este
rata de variaţie a nivelelor de gri, deci derivata funcţiei imagine (figure 6.1 prezintă un
exemplu ilustrativ pentru importanţa derivatei ca trăsătură caracteristică a contururilor).

Figura 6.1: Importanţa derivatei ca trăsătură caracteristică a contururilor: jumătatea su-


perioară a imaginii prezintă separaţia netă dintre două regiuni uniforme, având diferenţa
de nivel de gri de 100; jumătatea inferioară a figurii prezintă o tranziţie lentă ı̂ntre aceleaşi
două regiuni uniforme, tranziţie ce nu poate fi asimilată unui contur.

123
6.1.1 Folosirea derivatei de ordinul unu

Să considerăm pentru ı̂nceput că imaginea este modelată printr-o funcţie de două vari-
abile (coordonatele spaţiale) cu variaţie continuă f (x, y) (imaginea digitală propriu-zisă
se obţine ı̂n mod evident prin eşantionarea funcţiei f ). Variaţiile de valoare a funcţiei
imagine pe o direcţie oarecare sunt măsurate de operatorul gradient. Pentru o direcţie
oarecare, dată de versorul ~r, de orientare θ faţă de orizontală, gradientul funcţiei imagine
f ı̂n punctul de coordonate (x, y) este dat de:
∂f (x, y) ∂f (x, y) ∂x ∂f (x, y) ∂y
f~r = = + = fx (x, y) cos θ + fy (x, y) sin θ (6.1)
∂~r ∂x ∂~r ∂y ∂~r
După cum se observă, calculul gradientului după orice direcţie ~r se poate reduce la cal-
culul derivatelor pe orizontală fx (x, y) şi verticală fy (x, y) ale funcţiei imagine ı̂n punctul
curent (x, y). Ceea ce interesează ı̂nsă cel mai mult din perspectiva identificării contu-
rurilor (şi deci a tranziţiilor abrupte ale funcţiei imagine) este mărimea (valoarea absolută,
magnitudinea, modulul) gradientului. Dintre toate orientările posibile ~r ce corespund
unei poziţii spaţiale date (x, y), există o unică direcţie pentru care gradientul va fi cel
mai important. Această valoare maximă a gradientului f~r este obţinută pentru o ori-
entare particulară θ0 , ce se poate calcula considerând gradientul din (6.1) ca o funcţie
de orientarea θ. Atunci, maximizarea gradientului revine la determinarea orientării θ ce
anulează derivata expresiei din (6.1):
µ ¶
∂ ∂f (x, y)
=0 (6.2)
∂θ ∂~r
Rezolvarea ecuaţiei (6.2) conduce imediat la −fx cos θ+fy sin θ = 0, şi deci la determinarea
direcţiei de variaţie maximă a funcţiei imagine ı̂n punctul curent (x, y):
fx (x, y)
θ0 (x, y) = arctan (6.3)
fy (x, y)
Pe direcţia astfel determinată, modulul gradientului va fi dat de:
µ ¶ q
∂f (x, y)
= fx2 (x, y) + fy2 (x, y). (6.4)
∂r max

Ecuaţiile (6.4) şi (6.3) constituie cele două elemente esenţiale pe baza cărora se pot iden-
tifica contururile din imagini: contururile sunt determinate de intensitatea de tranziţie şi
de orientare.

Operatorul de gradient

Extragerea punctelor de contur este imediată: este suficient a calcula pentru fiecare punct
al imaginii valoarea maximă a gradientului, ce va fi apoi comparată cu un prag fixat. Dacă
valoarea maximă a gradientului dintr-un punct este suficient de importantă şi depăşeşte
valoarea pragului, atunci punctul respectiv este declarat punct de contur. Toate metodele
bazate pe estimarea gradientului se ı̂ncadrează ı̂n această schemă. Ceea ce diferenţiază
metodele este modalitatea de calcul a variaţiei maxime a valorilor imaginii (nivelelor de
gri) ı̂ntr-un punct.

124
Pentru determinarea variaţiei maxime a imaginii este deci necesară determinarea
derivatelor pe direcţiile orizontală şi verticală. Realizarea derivatelor parţiale după aceste
direcţii implică trecerea ı̂n discret a derivatelor fx (x, y) şi fy (x, y) (incluzând şi modifi-
carea notaţiilor coordonatelor, l fiind versiunea discretă a lui x şi c fiind versiunea discretă
a lui y):
∂f (x, y) ∆f (l, c)
fx (x, y) = =
∂x ∆l
∂f (x, y) ∆f (l, c)
fy (x, y) = =
∂y ∆c
Aceste derivate parţiale discrete pot avea mai multe implementări:

fx = f (l, c) − f (l + 1, c) , fy = f (l, c) − f (l, c + 1); (6.5)


fx = f (l − 1, c) − f (l, c) , fy = f (l, c − 1) − f (l, c); (6.6)
fx = f (l − 1, c) − f (l + 1, c) , fy = f (l, c − 1) − f (l, c + 1). (6.7)

Toate expresiile date de (6.5), (6.6), (6.7) sunt combinaţii liniare ale valorilor unor pixeli
din imagine, situaţi ı̂n vecinătatea pixelului curent din poziţia (l, c), deci toate aceste
operaţii se pot realiza prin filtrări liniare cu măşti alese corespunzător: (6.8) pentru (6.5),
(6.9) pentru (6.6), (6.10) pentru (6.7):
µ ¶
¡ ¢ 1
Wx = 1 −1 , Wy = (6.8)
−1

µ ¶
¡ ¢ 1
Wx = 1 -1 , Wy = (6.9)
-1
 
¡ ¢ 1
Wx = 1 0 −1 , Wy =  0  (6.10)
−1
Este interesant de remarcat faptul că descompunerea gradientului f~r de direcţie ~r oare-
care (din (6.1)) se poate face după oricare două direcţii ortogonale de referinţă, nu numai
orizontala şi verticala [12]. Considerând că aceste direcţii de referinţă ar fi diagonalele
principale ale sistemului de coordonate (deci direcţii orientate la π/4 şi 3π/4 faţă de ori-
zontală), vor trebui determinate forme discrete pentru derivarea imaginii după diagonale.
Asemenea derivate sunt realizate de măştile de filtrare Roberts:
µ ¶ µ ¶
0 1 1 0
Wπ/4 = , W3π/4 = (6.11)
−1 0 0 −1

De asemenea, se remarcă faptul că toate măştile de filtrare liniară prezentate, ce imple-
mentează operaţii derivative, verifică condiţia de normare a filtrelor liniare derivative, şi
anume, suma coeficienţilor de ponderare din mască să fie nulă (3.11).
Schema de implementare a operaţiei de extragere a punctelor de contur din imagini prin
calculul gradientului după două direcţii ortogonale este prezentată ı̂n figura 6.2. Se ob-
servă existenţa a trei rezultate de interes: harta de intensităţi de tranziţie g(l, c), care este
o imagine ce conţine, pentru fiecare pixel, valoarea maximă a gradientului pentru poziţia
respectivă, harta de contururi e(l, c) care este o imagine binară ı̂n care punctele marcate

125
fx (fx2+fy2)1/2
Wx
f g comparator e

Wy atan(fy/fx)
fy
θ0

Figura 6.2: Schema bloc a extractorului de contururi bazat pe metoda de calcul a gradien-
tului prin două derivate după direcţii ortogonale.

(punctele-obiect) corespund poziţiei punctelor de contur (puncte al căror gradient maxim


depăşeşte pragul fixat) şi harta de orientări θ0 (l, c) care este o imagine ce conţine, pentru
fiecare pixel, orientarea gradientului de modul maxim ı̂n punctul respectiv, şi este folosită
ı̂n general la prelucrarea suplimentară a contururilor (conectarea contururilor, extragerea
direcţională a contururilor). O simplificare uzuală practicată este ı̂nlocuirea normei L2
din calculul modulului maxim al gradientului (6.4) cu norma L1, ceea ce conduce la
aproximarea: µ ¶
∂f (x, y)
≈ |fx (x, y)| + |fy (x, y)|
∂r max

Unul dintre principalele dezavantaje legate de folosirea măştilor derivative simple, ce


implementează direct operaţia de derivare direcţională discretă, este sensibilitatea impor-
tantă la zgomot. În urma derivării după oricare dintre măştile (6.5)-(6.7), un zgomot
alb aditiv este amplificat de două ori. O metodă evidentă de compensare a acestei pro-
bleme este realizarea unei operaţii de reducere a zgomotului (netezire) ı̂naintea derivării,
urmărind simultan păstrarea profilurilor abrupte de tranziţie (şi deci introducerea unor
efecte minime de ı̂nceţoşare). Pentru ca profilul tranziţiei pe direcţia ~r să nu fie afec-
tat, filtrarea de netezire va trebui deci aplicată pe direcţia perpendiculară lui ~r. Atunci,
derivarea orizontală va trebui precedată de o filtrare de netezire cu o mască verticală,
iar derivarea verticală va trebui precedată de o filtrare de netezire cu o mască orizon-
tală. Operaţiile de filtrare liniară fiind realizate prin convoluţii, sunt asociative, deci este
posibilă determinarea unei măşti unice de filtrare, care să grupeze efectele de netezire şi
derivare după cele două direcţii perpendiculare. Considerând o netezire de tip mediere
central ponderată cu coeficientul c ∈ R+ şi operaţiile de derivare descrise de măştile din
(6.10), obţinem măştile echivalente de filtrare:
   
1 ¡ ¢ 1 0 −1
1  1 
Wx = c  ∗ 1 0 −1 = c 0 −c  (6.12a)
c+2 c+2
1 1 0 −1
   
¡ ¢ 1 1 c 1
1 1 
Wy = 1 c 1 ∗ 0 = 0 0 0  (6.12b)
c+2 c+2
−1 −1 −c −1

Prin particularizări convenabile ale coeficientului de ponderare c folosit la filtrarea de

126
a) b)

c) d)

Figura 6.3: Folosirea operatorului gradient cu măşti Sobel (6.13c) pentru extragerea con-
tururilor conform schemei din figura 6.2: a) imagine originală; b) harta de intensităţi
de tranziţie g (convenţia de afişare este de a reprezenta intensităţile maxime cu tonuri
de negru); c) harta binară de contururi orizontale extrase prin prăguirea hărţii de inten-
sităţi de tranziţie orizontale; d) harta binară de contururi extrase prin prăguirea hărţii de
intensităţi de tranziţie din b).

netezire se pot obţine diferite √ familii clasice de operatori de derivare cu netezire: Prewitt
(c = 1, (6.13a)), Izotrop (c = 2, (6.13b)), Sobel (c = 2, (6.13c)) [33]. Se remarcă faptul
că constanta de ponderare globală a măştii de filtare este neesenţială, ı̂ntrucât condiţia
de normare ce trebuie ı̂ndeplinită este cea pentru filtre de contrastare (derivare) (3.11):
suma coeficienţilor măştii să fie nulă.
   
1 0 −1 1 1 1
Wx =  1 0 −1  , Wy =  0 0 0 ; (6.13a)
1 0 −1 −1 −1 −1
   √ 
√1 0 −1
√ 1 2 1
Wx =  2 0 − 2  , W y =  0 0
√ 0 ; (6.13b)
1 0 −1 −1 − 2 −1
   
1 0 −1 1 2 1
Wx =  2 0 −2  , Wy =  0 0 0 . (6.13c)
1 0 −1 −1 −2 −1

Limitele de variaţie ale parametrului c din forma generală a unei măşti de derivare cu

127
netezire (6.12) pot fi determinate cu uşurinţă din verificarea condiţiei de reducere a puterii
de zgomot aditiv suprapus semnalului de imagine, după modelul de calcul prezentat ı̂n
(3.4). Astfel, rezultă cu uşurinţă că pentru oricare dintre măştile de derivare cu netezire
din (6.12) puterea zgomotului este redusă de (c + 2)2 /2(c2 + 2) ori. Pentru ca aceasta să
reprezinte cu adevărat o reducere este necesar ca c ∈ [0, 4]. De asemenea se poate verifica
că cea mai eficientă reducere a zgomotului (de 1.5 ori) apare pentru c = 1.

Operatorul compas

Informaţia de orientare este ı̂n general folosită ı̂n etape ce urmează extragerii punctelor de
contur; unghiurile determinate după (6.3) oferă un unghi “exact” al direcţiei conturului ı̂n
punctul curent, calculat cu un efort semnificativ de calcul (ı̂mpărţire şi calcul de arctan-
gentă). În practică, această informaţie este prea precisă: pe grila pătrată de eşantionare
nu se pot reprezenta cu uşurinţă drepte continue după orice direcţie, ı̂n schimb există
câteva direcţii favorizate şi uşor de utilizat (verticală, orizontală, cele două diagonale). În
acest caz se poate calcula modulul gradientului după aceste câteva direcţii importante,
şi apoi se poate alege direcţia după care acest modul este maxim. Acesta este principul
operatorilor compas.
Un operator compas calculează derivate ale imaginii după un set de N direcţii (N >
2). Gradientul maxim al funcţiei imagine din fiecare punct este determinat ca maximul
valorilor derivatelor direcţionale, iar pentru decizia ulterioară se selectează doar informaţia
corespunzătoare direcţiei pe care derivata a fost maximă. Dacă N = 2 şi cele două direcţii
sunt ortogonale, schema de prelucrare obţinută este similară cu cea a unui extractor de
contururi bazat pe gradient ı̂n care estimarea gradientului maxim se face printr-o metrică
de tip L∞ (max). Schema bloc generală a unui operator compas este prezentată ı̂n figura
6.4; fiecare dintre măştile Wk realizează calculul unei derivate, pe direcţia θk .

f0
W0 max{fk}
g comparator e

f W1
f1
argmax{fk}
θ0

W7
f7

Figura 6.4: Schema bloc a extractorului de contururi bazat pe metoda de calcul a gradien-
tului prin derivate după 8 direcţii.

128
Operatorul compas uzual are N = 8 măşti de filtrare, fiecare dintre ele realizând o derivare
după o direcţie multiplu de π/4; sunt astfel acoperite direcţiile principale (verticală, ori-
zontală, cele două diagonale), fiecare dintre ele ı̂n cele două sensuri. Cele N = 8 măşti
folosite provin dintr-o unică mască de bază (ce implementează de obicei o derivare ori-
zontală) prin rotiri succesive ale acesteia cu unghiuri ce corespund diferenţelor de direcţie
a derivatelor folosite. Pentru operatorul compas uzual cu N = 8, măştile de derivare
folosite sunt 3 x 3, şi măştile corespunzătoare direcţiilor succesive diferă printr-o rotaţie
de π/4. Această rotaţie de π/4 este echivalentă cu o deplasare circulară a valorilor de pe
marginea măştii, exemplificată ı̂n :
   
a b c b c d
W0 =  h i d  ; Wπ/4 =  a i e  (6.14)
g f e h g f
Masca iniţială ce corespunde direcţiei orizontale poate fi oricare dintre măştile de derivare
cu netezire pe orizontală Wx prezentate anterior, ca de exemplu Prewitt (6.13a) sau Sobel
(6.13c). Există ı̂nsă şi măşti speciale, precum măştile Kirsch; cele 8 măşti folosite de
operatorul compas Kirsch (indexate după numele orientărilor punctelor cardinale cores-
punzătoare) sunt:
     
5 −3 −3 −3 −3 −3 −3 −3 −3
WE =  5 0 −3  , WN E =  5 0 −3  , WN =  −3 0 −3  ,
5 −3 −3 5 5 −3 5 5 5
     
−3 −3 −3 −3 −3 5 −3 5 5
WN V =  −3 0 5  , WV =  −3 0 5  , WSV =  −3 0 5 ,
−3 5 5 −3 −3 5 −3 −3 −3
   
5 5 5 5 5 −3
WS =  −3 0 −3 , WSE =   5 0 −3  . (6.15)
−3 −3 −3 −3 −3 −3
Se poate remarca cu uşurinţă că există o legătură ı̂ntre precizia unghiulară a operatoru-
lui compas (deci diferenţa dintre direcţiile alăturate după care se calculează derivatele
direcţionale) şi dimensiunea măştilor de filtrare folosite; pentru o mască pătrată de di-
mensiune D × D, precizia unghiulară este de π/2(D − 1) şi numărul de măşti utilizate de
operatorul compas este de N = 4(D − 1).

Operatorul optimal de extragere a contururilor

Problema detecţiei contururilor dintr-o imagine pe baza prăguirii unei hărţi de intensităţi
de tranziţie obţinută prin filtrarea liniară a imaginii de analizat poate fi exprimată ca o
problemă de proiectare a unui filtru (liniar) al cărui răspuns să marcheze cu maxime bine
definite poziţiile tranziţiilor din semnalul de imagine de intrare. Filtrul dorit va fi optimal
ı̂n sensul de a oferi cea mai bună performanţă medie de detecţie a contururilor (pentru orice
poziţie şi intensitate a tranziţiei ce defineşte conturul şi orice putere a zgomotului suprapus
acestuia), performanţă reprezentată de o serie de caracteristici ce măsoară capacitatea de
detecţie a contururilor fără răspunsuri false, buna localizare a contururilor detectate şi
probabilitatea de detecţie falsă cauzată de zgomotul suprapus semnalului util. Această
abordare a fost propusă de Canny ı̂n [7], pornind de la cazul simplificat al unui semnal

129
treaptă unidimensional degradat cu zgomot alb, gaussian, aditiv. Aşadar, semnalul de
intrare f (x) este compus dintr-o treaptă ideală u0 (x) de amplitudine U0 şi zgomotul n(x),
de medie nulă şi putere N02 :
f (x) = U0 u0 (x) + n(x). (6.16)
Filtrul căutat are funcţia pondere h(x), iar semnalul de la ieşirea filtrului (răspunsul
filtrului) este dat de:
Z∞ Z∞ Z∞
g(x) = f (x)∗h(x) = f (t)h(x−t)dt = U0 u0 (t)h(x−t)dt+ n(t)h(x−t)dt. (6.17)
−∞ −∞ −∞

Cum tranziţia apare pentru x = 0, funcţia pondere a filtrului h(x) trebuie determinată
astfel ı̂ncât răspunsul filtrului la x = 0, g(0), să fie maxim şi să respecte constrângerile
enunţate (bună detecţie, bună localizare, evitare a maximelor multiple). În funcţie de
tipul de filtru ce se doreşte (cu răspuns finit la impuls – FIR, sau cu răspuns infinit
la impuls – IIR), sunt posibile două abordări: Canny şi Deriche. În cele ce urmează
vom prezenta abordarea Canny, de sinteză a unui filtru FIR, cu suport finit, pe care
ı̂l vom presupune limitat la intervalul [−M, M ] (ceea ce ı̂nseamnă că h(x) = 0 pentru
x ∈ (−∞, −M ) ∪ (M, +∞)).
Cum filtrul dorit este un filtru de tip derivativ (ı̂ntrucât trebuie să măsoare variaţiile din
semnal), constrângerea (3.11) de normare a coeficienţilor trebuie să fie ı̂ndeplinită, deci:
ZM
h(x)dx = 0.
−M

În cazul ı̂n care filtrul dorit este discret, constrângerea de mai sus devine:
M
X
h(k) = 0.
k=−M

Proprietatea de bună detecţie


Detecţia tranziţiei este exprimată prin radicalul raportului semnal/ zgomot ı̂n poziţia
reală a tranziţiei (adică raportul dintre răspunsul filtrului ı̂n poziţia reală, corectă, a
tranziţiei şi radicalul puterii de zgomot de la ieşirea filtrului). Ţinând cont că filtrul este
discret, tranziţia este de tip treaptă unitate şi apare ı̂n poziţia x = 0, detecţia definită
anterior poate fi exprimată ca:
PM
U0 h(k)
k=0 U0
DET = s = Σ. (6.18)
P
M N0
N0 h2 (k)
k=−M

Filtrul optim presupune maximizarea detecţiei, deci maximizarea expresiei Σ din (6.18).
Rezultă condiţia ca:
XM
h2 (k) = 1. (6.19)
k=−M

130
Proprietatea de bună localizare
Localizarea este definită ca eroarea pătratică medie de aproximare a poziţiei reale a
tranziţiei (x = 0) cu cel mai apropiat maxim (x∗ ) din răspunsul filtrului la un semnal de
intrare f (x) afectat de zgomot.
s
PM
h2 (k)
p N0 k=−M N0
LOC = E [x∗2 ] = 0
= Λ. (6.20)
U0 |h (0)| U0
Filtrul optim presupune minimizarea localizării (6.20).
Se poate remarca de asemenea că produsul detecţie-localizare nu mai depinde nici de
amplitudinea tranziţiei, nici de puterea de zgomot (DET ∗ LOC = ΣΛ). Se poate de
asemenea demonstra că acest produs este invariant la o schimbare de scală. Canny [7] a
arătat prin tehnici de optimizare numerică că filtrul optim este caracterizat de ΣΛ = 1.12.
Proprietatea de evitare a maximelor multiple
Condiţia de evitare a maximelor multiple datorate zgomotului impune ca numărul de
maxime locale detectate ca răspuns la un unic contur să fie limitat, ceea ce poate fi
exprimat printr-o densitate redusă a trecerilor prin zero a răspunsului filtrului datorat
numai zgomotului, sau o distanţă suficient de mare de separaţie ı̂ntre maximele succesive
din răspunsul filtrului. Se poate demonstra [7] că distanţa maximă dintre două maxime
succesive datorate unui zgomot de tip gaussian suprapus semnalului util va fi dată de:
v
u M
u P 02
u h (k)
πuu k=−M
xmax = u M . (6.21)
2 t P ”2
h (k)
k=−M

Condiţia practică impusă de Canny este ca distanţa dintre maximele succesive ale
răspunsului filtrului să fie o fracţiune K < 1 din suportul nucleului filtrului M (xmax ≥
KM ).
Filtrul Canny
Filtrul FIR derivativ uşor de implementat, caracterizat de un produs detecţie-localizare
cât mai apropiat de valoarea optimă de 1.12 este, conform [7], derivata de gaussiană
(operatorul DOG), obţinut ı̂n condiţiile ı̂n care distanţa dintre două maxime succesive
ale răspunsului filtrului este mai mare decât 0.5M . Acest criteriu de evitare a maximelor
multiple (6.21) stabileşte şi parametrul de proiectare al filtrului: dispersia gaussienei de
bază din care provine filtrul optim. Cu cât dispersia creşte, cu atât detecţia DET (6.18)
va fi mai bună şi localizarea LOC (6.20) va deveni mai puţin precisă.
Dacă nucleul gaussian de bază este N (0, σ)(x), operatorul DOG va fi:
µ ¶ µ ¶
d d 1 x2 x x2
N (0, σ)(x) = √ exp − 2 = − √ exp − 2 . (6.22)
dx dx 2πσ 2 2σ σ 2πσ 2 2σ

Aspecte de implementare ale filtrului Canny

131
Filtrul Canny bidimensional este implementat pe baza schemei simple de gradient din
figura 6.2, folosind ca măşti de derivare pe verticală şi orizontală operatori DOG obţinuţi
dintr-un nucleu gaussian bidimensional. Faţă de schema prezentată mai apar ı̂nsă două
modificări: eliminarea valorilor non-maxime din harta de intensităţi de tranziţie pe
direcţia normalei la contur şi prăguirea cu histerezis a hărţii de intensităţi de tranziţie.
Procedura de eliminarea a valorilor non-maxime din harta de intensităţi de tranziţie se
aplică punctelor de contur selectate pe baza prăguirii prin histerezis şi urmăreşte obţinerea
unor contururi subţiri. Un contur gros este format din puncte alăturate, caracterizate de
valori suficient de importante ale intensităţii de tranziţie; numai un singur punct ı̂nsă –
şi anume punctul situat ı̂n centrul conturului – va fi caracterizat de valoarea maximă a
intensităţii de tranziţie. Procedura de eliminare se bazează pe verificarea pentru fiecare
punct potenţial de contur a maximalităţii valorii sale de intensitate de tranziţiei ı̂n raport
cu valorile de intensitate de tranziţie ı̂n punctele ce ı̂i sunt vecine, de-a lungul direcţiei
perpendiculare pe contur. Dacă punctul verificat nu are o valoare maximă a intensităţii
de tranziţie, este eliminat din harta binară de contururi. Principiul de verificare este
exemplificat ı̂n figura 6.5.

Q2
• • °• •
contur
• •
°•
P

• • •° •
Q1

• • • •
normala la contur
Figura 6.5: Eliminarea non-maximelor din harta de intensităţi de tranziţie ı̂n cadrul imple-
mentării filtrării Canny: • reprezintă poziţiile pixelilor ı̂n harta de intensităţi de tranziţie,
P este punctul curent verificat a cărui intensitate de tranziţie este comparată cu inten-
sităţile de tranziţie din punctele Q1 şi Q2 (marcate cu ◦), situate la intersecţia normalei la
conturul ce trece prin P cu liniile de imagine vecine punctului P . Valorile intensităţilor
de tranziţie din punctele Q1 şi Q2 (ce pot să nu aibă coordonate ı̂ntregi) se obţin prin
interpolare din valorile intensităţilor de tranziţie cunoscute pentru punctele apropiate de
coordonate ı̂ntregi.

Prăguirea cu histerezis se aplică ı̂n locul operaţiei simple de comparare cu prag pentru
extragerea punctelor din imagine a căror gradient este sufient de mare pentru a putea
reprezenta un punct de contur. Prăguirea cu histerezis ı̂nseamnă folosirea a două praguri
pentru extragerea punctelor de contur: un prag de valoare mare cu care se selectează pixelii

132
caracterizaţi de valori maxime ı̂n harta de intensităţi de tranziţie şi un prag de valoare mai
mică, cu care se selectează (ı̂ntr-o manieră recursivă) punctele din vecinătatea spaţială a
punctelor de contur deja selectate (prin aplicarea anterioară a ambelor praguri).

6.1.2 Folosirea derivatei de ordinul doi

Extragerea punctelor de contur pe baza primei derivate (şi deci a gradientului, indiferent
de modul de estimare a acestuia) este potrivită ı̂n cazul tranziţiilor relativ abrupte a
nivelelor de gri, deci pentru frontiere bine conturate. Cu cât regiunea de tranziţie devine
mai largă (şi deci panta profilului de tranziţie mai slabă) centrul acestei tranziţii, detectat
prin maximul gradientului, devine mai greu de determinat cu precizie. Astfel, contururile
detectate vor groase, fiind formate din mai multi pixeli, şi nu neapărat situate pe centrul
regiunii de tranziţie. Găsirea centrului tranziţiei poate fi realizată prin folosirea derivatelor
de ordinul doi a funcţiei imagine, grupate ı̂n operatorul laplacian:

∂ 2 f (x, y) ∂ 2 f (x, y)
∇2 f = + . (6.23)
∂x2 ∂y 2
Principalele măşti utilizate pentru calculul laplacianului sunt:
     
1 −2 1 −1 −1 −1 0 −1 0
W =  −2 4 −2  , W =  −1 8 −1  , W =  −1 4 −1  (6.24)
1 −2 1 −1 −1 −1 0 −1 0
.
Operatorul laplacian nu permite detectarea direcţiilor de tranziţie, deoarece informaţia
de orientare a tranziţiei este pierdută. Determinarea punctelor de contur ca puncte de
extrem ale laplacianului (maxime şi minime, sau maxime ale valorii absolute a laplacia-
nului) produce muchii duble ı̂n harta de contururi, deoarece aceste puncte de extrem sunt
situate de o parte şi de alta a regiunii de tranziţie, marcând limitele acesteia. Mijlocul
tranziţiei este marcat de trecerea (tranziţia) prin zero a laplacianului: pe acest compor-
tament al laplacianului se bazează modelul de detector “zero-crossing” introdus de Marr
şi Hildreth. De altfel, acest tip de comportament a mai fost discutat ı̂n contextul definirii
filtrelor liniare de accentuare. Se poate urmări deci din perspectiva extragerii punctelor
de contur exemplul prezentat ı̂n figura 3.2: graficul din figura 3.2 a) prezintă o tranziţie
(unidimensională) lentă. Derivata ı̂ntâi (prezentată ı̂n figura 3.2 b)) prezintă un maxim
larg pe centrul tranziţiei, dar derivata a doua (prezentată ı̂n figura 3.2 c)) trece prin zero
exact ı̂n punctul ce corespunde centrului tranziţiei. În cazul tranziţiilor cu suport bidi-
mensional (deci pentru extragerea practică a contururilor din imagini), problema esenţială
este identificarea trecerilor prin zero ale laplacianului. În mod uzual se consideră că lapla-
cianul trece prin zero ı̂ntr-un punct din imagine dacă ı̂n vecinătatea imediată a acestui
punct, există două valori medii de semne diferite ale laplacianului calculate pe cuadrante
de câte 4 pixeli. Astfel, dacă ne referim la o vecinătate de 3 × 3 pixeli, centrată pe pixelul
curent prelucrat, cu valorile notate conform măştii W0 din (6.14), valorile medii din cele 4
cuadrante vor fi (a+b+h+i)/4, (b+c+i+d)/4, (i+d+f +e)/4, (h+i+g+f )/4. Existenţa
trecerii prin zero este definită de existenţa unui minim negativ şi a unui maxim pozitiv
printre cele patru valori medii. Suplimentar, ı̂n practică se foloseşte şi constrângerea ca
diferenţa dintre valoarea maximă şi cea minimă să fie semnificativă.

133
a) b)

Figura 6.6: Extragerea contururilor din imaginea originală prezentată ı̂n figura 6.3 a)
prin: a) prăguirea valorii absolute a laplacianului; b) aplicarea operatorului zero-crossing.

Sensibilitatea la zgomot a laplacianului este mai mare decât a operatorilor de gradient,


ceea ce a dus la introducerea unor operatori de derivată secundă, combinaţi cu netezire.
Unul dintre aceşti operatori este LOG, laplacian de gaussiană. Să considerăm un nucleu
de netezire gaussian separabil dat de:
µ ¶
K m2 + n2
N (m, n) = exp − . (6.25)
2πσ 2 2σ 2

Derivatele secunde ale acestuia sunt:


µ ¶µ 2 ¶
∂ 2 N (m, n) K m2 + n2 m
= exp − −1 , (6.26)
∂m2 2πσ 4 2σ 2 σ2
µ ¶µ 2 ¶
∂ 2 N (m, n) K m2 + n2 n
= exp − −1 . (6.27)
∂n2 2πσ 4 2σ 2 σ2

Rezultă deci că pentru operatorul LOG, coeficienţii nucleului de filtrare sunt daţi de
ecuaţia: µ 2 ¶ µ ¶
m + n2 m2 + n2
h(m, n) = K − 2 exp − (6.28)
σ2 2σ 2
Scalarul K din (6.25) este determinat din condiţia de normalizare a coeficienţilor măştii
de filtrare liniară. Parametrul σ 2 controlează gradul de netezire al operatorului (deci
gradul de reducere al zgomotului suprapus imaginii) şi implicit, importanţa contururilor
extrase. O variantă separabilă a acestui operator (deci care combină filtrări numai pe linii
şi numai pe coloane) a fost propusă de Huertas şi Medioni [12]:

h = h1 (m)hn (y) + h2 (m)h1 (n) (6.29)

unde cele două nuclee liniare h1 şi h2 sunt date de:


r µ ¶ µ ¶ r µ ¶
K m2 m2 K n2
h1 (m) = 1 − 2 exp − 2 , h2 (n) = exp − 2 (6.30)
2 σ 2σ 2 2σ

Forma separabilă a operatorului LOG pune ı̂n evidenţă ı̂n mod clar operaţiile de derivată
secundă unidirecţională a unei gaussiene (h1 ) şi de netezire pe direcţia ortogonală derivării,

134
după un nucleu gaussian (h2 ). Avantajul formei separabile este posibilitatea implementării
cu un număr redus de operaţii.
Derivata secundă unidimensională a nucleului gaussian poate fi pusă de asemenea şi sub
forma unei diferenţe de gaussiene cu dispersii diferite [12], [50]:
∂ 2 Gσ (x)
= Gσ (x) − Gσ+dσ (x) (6.31)
∂x2
.

6.2 Extragerea contururilor ı̂n domeniul spectral

Este bine cunoscut faptul că reprezentarea spectrală a imaginilor (ı̂n domeniul transformat
de frecvenţe spaţiale, folosind transformata Fourier) este o reprezentare echivalentă ce
poartă aceeaşi informaţie ca şi ı̂n domeniul spaţial. Informaţia de contur, care corespunde
unor variaţii importante ale semnalului de imagine, va trebui deci să se regăsească ı̂n zona
frecvenţelor ı̂nalte. Extragerea contururilor ı̂n domeniul de frecvenţă se va realiza deci
prin aplicarea unor filtre de tip trece-sus sau trece-bandă (acestea din urmă prezentând
avantajul de a reduce zgomotul de ı̂naltă frecvenţă suprapus imaginii). Figura 6.8 prezintă
un exemplu de extragere a hărţii de intensităţi de tranziţie prin filtrare ı̂n domeniul
spectral. Trebuie de asemenea remarcat că informaţia de contur este reprezentată ı̂n mod
esenţial de către componenta de fază din spectrul Fourier al imaginii. Intensităţile de
tranziţie asociate contururilor pot fi extrase din spectrul de fază chiar ı̂n lipsa oricărei
informaţii de modul (valoare absolută), după cum este prezentat ı̂n figura 6.7.

a) b)
Figura 6.7: Extragerea contururilor ı̂n domeniul spectral folosind componenta de fază
pentru imaginea originală din figura 6.3 a): a) componenta de fază a spectrului Fourier;
b) imaginea de intensităţi de tranziţie obţinută prin transformarea Fourier inversă aplicată
numai componentei de fază.

6.3 Concluzii

Tehnicile de extragere a contururilor prezentate ı̂n acest capitol sunt metode fundamentale
de marcare ı̂n imagini a punctelor de frontieră, bazate pe folosirea informaţiei de variaţie

135
a) b)

c) d)

e) f)
Figura 6.8: Extragerea contururilor ı̂n domeniul spectral pentru imaginea originală din
figura 6.3 a): a) modulul spectrului Fourier al imaginii (reprezentare la scară logarit-
mică); b) modulul spectrului Fourier din a) obţinut ı̂n urma filtrării cu un filtru trece-sus
ideal c) imaginea reconstruită din spectrul Fourier din figura b), reprezentată cu scara
uzuală de 256 nivele de gri (ı̂n imagine există valori pozitive şi negative, ı̂ntrucât elim-
inarea componentei continue prin filtrarea FTS ideală face ca valoarea medie a valorilor
imaginii să fie nulă); d) modulul valorilor din imaginea din figura c), reprezentat cu 256
nivele de gri (se observă că această imagine are caracteristicile unei hărţi de intensităţi de
tranziţie); e) reprezentarea modulului funcţiei de transfer a unui nucleu de derivare Sobel
pe verticală; f ) reprezentarea modulului funcţiei de transfer a unui nucleu de laplacian.

136
a funcţiei (semnalului) imagine, calculată prin derivate de ordinul unu şi doi. Folosirea
acestor metode nu garantează obţinerea unor contururi ı̂nchise ale obiectelor din imagini
şi nici a unor contururi cu grosimea de un pixel (nici măcar ı̂n cazul utilizării filtrării
optimale Canny), astfel ı̂ncât este ı̂n general necesară o etapă suplimentară de analiză şi
prelucrare a hărţii binare de contururi [33].
De asemenea, prezenţa zgomotului constituie ı̂ntotdeauna un factor perturbator, fa-
vorizând abordările de derivare cu netezire.

137

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