Documente Academic
Documente Profesional
Documente Cultură
Mihai CIUC
TEHNICI FUNDAMENTALE DE
PRELUCRAREA S
I ANALIZA
IMAGINILOR
Editura MatrixROM
2007
Cuprins
1 Introducere
1.1
1.2
1.3
1.4
Structura cartii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5
Prelucrarea imaginilor
13
2 Imbun
at
atirea imaginilor
2.1
17
2.1.2
2.2
Egalizarea de histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3
Specificarea de histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4
Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3 Operatii de vecin
atate
3.1
3.2
35
Filtrarea liniara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.1
3.1.2
Filtrarea neliniara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.1
Filtrul median . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.2
3.2.3
3.3
3.4
3.5
L-filtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Filtrarea adaptiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3.1
3.3.2
3.3.3
Filtrarea morfologica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.1
3.4.2
Deschiderea si nchiderea . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4.3
3.4.4
3.4.5
Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4 Transformate unitare
4.1
Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2
Cazul unidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3
Cazul bidimensional
4.4
4.5
4.6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.5.1
4.5.2
II
71
Analiza imaginilor
91
5 Segmentarea orientat
a pe regiuni
5.1
5.2
95
Cresterea regiunilor . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.1.2
5.3
5.2.1
5.2.2
Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6 Segmentarea orientat
a pe contururi
6.1
123
6.1.2
6.2
6.3
Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7 Caracterizarea texturilor
7.1
139
7.1.2
7.2
7.3
7.4
7.3.1
7.3.2
Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8.2
8.3
157
8.1.2
8.1.3
Skeletoane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
8.2.2
8.3.2
8.3.3
III
173
175
9.1
9.2
9.3
9.1.2
9.1.3
9.1.4
9.2.2
9.2.3
9.2.4
10 Compresia imaginilor
195
. . . . . . . . . . . . . . . . . . . . . 203
209
Capitolul 1
Introducere
Motto: Prelucrarea imaginilor detine posibilitatea de dezvoltare a masinii totale ce ar
putea realiza functiile vizuale ale tuturor fiintelor vii.(Anil K. Jain [33])
1.1
nconjurator; n toate cazurile, sistemul de achizitie este constituit din cateva componente
de baza: sistemul de focalizare, convertorul/ traductorul ce transforma marimea fizica
preluata n semnal electric si convertorul de semnal (sau blocul de easantionare si cuantizare) ce transformar semnalul electric n reprezentare digitala sau informatie cu caracter
discret.
1.2
marimea fizica de interes (de exemplu radiatia electromagnetica a obiectului studiat) pentru a forma imaginea trasaturilor de interes si convertorul, ce transforma marimea fizica
din planul imaginii ntr-un semnal electric. Sistemul de digitizare converteste semnalul
electric al senzorului ntr-o imagine digitala, realizand deci o dubla discretizare: atat a
suportului imaginii (esantionare), cat si a valorilor sale (cuantizare). Sistemul de calcul
realizeaza exploatarea efectiva a datelor digitale culese din scena si poate fi un calculator
de uz general sau dedicat, o placa specializata sau un procesor video sau de semnal.
Sistemul software specializat responsabil cu realizarea efectiva a unei sarcini concrete
(care practic da viata sistemului de calcul) poate fi descompus n mai multe module,
nu neaparat bine separate si nu neaparat prezente mpreuna: mbunatatirea, restaurarea,
compresia, segmentarea si analiza.
Blocul de mbunatatire a imaginilor are ca scop accentuarea anumitor trasaturi [ale
obiectelor continute n imagine] pentru usurarea unor sarcini ulterioare de analiza automata sau interpretare prin afisare. Asemenea metode pot fi utile la extragerea
trasaturilor caracteristice ale obiectelor, eliminarea zgomotelor suprapuse imaginii,
marirea confortului vizual. Acesti algoritmi nu maresc continutul informational al imaginii si sunt n general interactivi si puternic dependenti de aplicatie.
Restaurarea imaginilor se refera la eliminarea sau minimizarea efectelor unor perturbatii
si a unor degradari. Perturbatiile reprezinta n general zgomotele (modelate ca procese
aleatoare) ce se suprapun n cursul achizitiei imaginii (din cauza senzorului si a lantului
de transmisiune si captare); degradarile sunt cauzate de imperfectiunile si limitarile deterministe ale senzorului (efecte de apertura, timp de expunere, deficiente geometrice ale
sistemului de lentile, ...).
Compresia imaginilor se refera la reducerea volumului de date (numarului de biti) cu
care este reprezentata imaginea, printr-o transformare reversibila - imaginea trebuie sa
poata sa fie recuperata integral (sau cu diferente foarte mici, controlabile) din versiunea
sa comprimata.
Segmentarea este procesul de descompunere a unei imagini (sau scene) n elementele
(obiectele) sale constituente. Adeseori, segmentarea este strans legata de algoritmii de
analiza, al caror scop este de a realiza masuratori cantitative sau evaluari calitative asupra
unor anumite categorii de obiecte, prezente n imaginea data.
1.3
Aceasta este problema de acoperire a planului cu poligoane de forma regulata, avand aceeasi lungime
a laturii si avand varfuri comune. Acoperirile regulate (cu un acelasi, unic, tip de poligoane) se numesc
platonice si se pot obtine numai prin folosirea unor poligoane de baza de tip triunghi, patrat sau hexagon.
Acoperirile neregulate (compuse din poligoane de mai multe tipuri) se numesc aristotelice si prezint
ao
mai mare variabilitate.
1.4
Structura c
artii
Cartea este structurata pe trei parti ce grupeaza noua capitole, a caror sucesiune
urmareste structura logica (software) tipica a unui sistem de prelucrare si analiza a imaginilor.
Partea ntai a lucrarii trateaza principiile de baza ale prelucrarii imaginilor - prelucrarile
punctuale (de modificare a contrastului capitolul 2), prelucrarile de vecinatate, liniare
si neliniare (filtrarea de eliminare a zgomotului n domeniul spatial al imaginii capitolul
3) si prelucrarile integrale (filtrarea si reprezentarea imaginilor n domeniul frecventelor
capitolul 4).
Partea a doua a lucrarii descrie tehnicile de analiza a imaginilor: segmentare orientata pe
regiuni (capitolul 5), segmentare orientata pe contururi (capitolul6), descriere a texturilor
(capitolul 7) si descriere a formelor plane (capitolul 8).
Ultima parte a lucrarii (capitolele 9 si 10) trateaza modul de descriere si reprezentare a culorilor, precum si tehnici de baza de compresie a imaginilor (alb-negru sau color), regasite
n formate standard de fisiere imagine (BMP, JPG, GIF) atat din categoria tehnicilor de
compresie fara pierderi, cat si din categoria tehnicilor de compresie cu pierderi.
10
1.5
11
12
Partea I
Prelucrarea imaginilor
13
Prelucrarea imaginilor poate fi descrisa n mod simplificat ca o colectie de metode si algoritmi al caror scop este transformarea informatiei vizuale reprezentate n forma digitala
n imagini, prin modificarea aspectul perceptual, dar fara modificarea continutului sau
reprezentarii. Din punct de vedere functional, un bloc de prelucrare a imaginilor are ca
intrare o imagine si produce la iesire o imagine ce are aceleasi caracteristici vizuale ca si
imaginea de intrare (ceea ce poate fi numit n engleza un bloc de tip Image In, Image
Out).
Din punctul de vedere al metodelor utilizate, n functie de complexitatea operatiilor,
distingem mai multe tipuri de operatii de prelucrare:
operatii punctuale, prin care se realizeaza o corespondenta de tip unu la unu ntre
valoarea initiala a unui nivel de gri si noua valoare a acestuia, pentru fiecare pixel
al imaginii. Tot n aceasta categorie se pot include si operatiile de pseudocolorare,
care se refera la afisarea imaginii folosind o paleta de culoare modificata.
operatii locale (sau de vecinatate), prin care noua valoare a nivelului de gri ntr-un
pixel este obtinuta din valoarea initiala a pixelului repectiv si din valorile unor pixeli
vecini pixelului considerat;
operatii integrale, n care noua valoare a unui pixel este dependenta de valorile
tuturor pixelilor imaginii.
Din punctul de vedere al efectelor induse n imagine, operatiile de prelucrare pot realiza:
compensarea sau corectarea degradarilor de natura perceptuala subiectiva (mbunatatirea
prin operatii punctuale sau contrastarea bazata pe operatii de vecinatate), compensarea sau corectarea degradarilor de natura aleatoare (filtrarea de netezire, realizata prin
operatii de vecinatate) si compensarea sau corectarea degradarilor deterministe (restaurarea imaginilor, realizata prin operatii de tip integral).
Aceasta prima parte a lucrarii trateaza principiile de baza ale prelucrarii imaginilor: prelucrarile punctuale (de modificare a contrastului capitolul 2), prelucrarile de vecinatate,
liniare si neliniare (filtrarea de eliminare a zgomotului n domeniul spatial al imaginii
capitolul 3) si prelucrarile integrale (filtrarea si reprezentarea imaginilor n domeniul
frecventelor capitolul 4).
15
16
Capitolul 2
Imbun
at
atirea imaginilor
Imbunatatirea imaginilor este o sintagma generala ce se refera la o clasa larga de operatii
de prelucrare al caror scop este marirea vizibilitatii imaginii n anasamblul ei, sau a
componentelor (sau partilor) sale, n sensul perceptiei vizuale umane. Ca urmare, criteriile
de evaluare a calitatii unei imagini vor fi subiective (depinzand de utilizatorul imaginii)
si specifice aplicatiei din care provine imaginea. Se poate face analogia operatiilor de
mbunatatire a imaginilor cu reglajul tonalitatii muzicii ascultate [71]: astfel dupa cum n
cazul melodiilor, n functie de ascultator, se pot favoriza componentele nalte sau joase,
sau nici unele, si n cazul imaginilor se pot accentua sau inhiba anumite componente. In
principiu, mbunatatirea imaginilor se poate face fara a lua n considerare nici o informatie
asupra imaginii originale sau asupra procesului de degradare care a facut ca imaginea data
sa necesite o mbunatatire. Conform acestui punct de vedere chiar si o imagine originala
nedegradata poate fi mbunatatita, obtinand o imagine falsificata (n sensul diferentelor
fata de original), dar subiectiv preferabila (avand un contrast mai mare, muchii si frontiere
mai accentuate, regiuni uniforme mai netede).
Prin mbunatatire, unei imagini nu i se adauga nici o informatie noua fata de cea existenta
initial, continutul original fiind nsa prezentat diferit. Desi la o examinare superficiala
afirmatia este corecta, putem gasi macar doua obiectii (sau contraexemple) la aceasta
formulare:
din punctul de vedere al teoriei informatiei, informatia din imagine poate fi asimilata
entropiei procesului aleator ale carui realizari particulare sunt valorile de gri ale
pixelilor; entropia se modifica nsa la orice transformare ce afecteaza distributia
nivelelor de gri din imagine.
17
2.1
(2.1)
2.1.1
v
T (u2 ) T (u1 )
dT (u)
=
=
= T 0 (u).
u
u2 u 1
du
(2.2)
Modificarea liniar
a a contrastului
Tehnica de modificare liniara a contrastului cea mai des folosita este o transformare liniara
pe portiuni, data de:
T1 u, 0 u < T1
(u T1 ) , T1 u < T2
+ T
(2.3)
v=
2 T1
M 1
+ M 1T2 (u T2 ) , T2 u < M
In formula anterioara, parametrii de control sunt T1 , T2 , si ; acestia sunt grupati
cate doi, definind punctele (T1 , ) si (T2 , ). Aceste doua puncte de control, mpreuna
cu punctele fixe (0, 0) si (M 1, M 1) vor defini cele trei segmente de dreapta ce
apar n formula (2.3). Un exemplu de astfel de transforare este prezentat n figura 2.1
b). Rezultatul aplicarii unei asemenea operatii punctuale se obtine modificand valoarea
1
Exist
a operatii punctuale care nu sunt monotone [33]. Asa sunt reprezentarea planelor de bit (pentru
fiecare pixel al imaginii, fiecare bit al reprezentarii binare a nivelului de gri este considerat ca valoarea
unui pixel al unei imagini binare), transformarea de lipire clipping (care pastreaza nemodificate nivelele
de gri dintr-un anumit interval si le anuleaza pe celelalte - imaginea rezultata continand obiectele de
interes pe fond negru) si transformarea de taiere slicing (care transforma nivelele de gri dintr-un interval
fixat n alb si tot restul n negru, si deci nu este altceva decat un alt tip de binarizare).
2
Singura transformare punctuala monoton descrescatoare utilizata este negativarea imaginii [21], [33],
caracterizata de v = M 1 u.
18
(nivelul de gri) fiecarui pixel al imaginii initiale, u, conform (2.3), obtinand noul nivel de
gri v.
Pentru functia liniara pe portiuni este evident ca derivata va fi constanta pe aceleasi
intervale, avand valoarea egala cu panta segmentului de dreapta.
C=
, daca u [0; T1 ]
T1
,daca u [T1 ; T2 ]
T2 T1
M 1
, daca u [T2 ; M
L1T2
(2.4)
1]
Daca pe un interval aceasta panta este subunitara, atunci diferenta ntre nivelele alaturate
de gri se micsoreaza si deci contrastul scade; daca din contra, panta dreptei este supraunitara, diferenta dintre nivelele de gri alaturate se mareste si contrastul va creste.
v
250
200
150
100
50
0
0
50
100
150
T1
a)
200
250
u
T2
b)
C
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
c)
50
100
150
200
250
d)
2.1.2
Modificarea neliniar
a a contrastului
M 1
lg(1 + u)
lg M
(2.5)
Contrastul va varia neuniform de-a lungul scalei de gri, marindu-se la capatul inferior
(negru) si micsorandu-se la capatul superior (alb). In mod reciproc se poate defini expandarea domeniului, ca transformare inversa celei de compandare, si deci avand o alura
exponentiala:
u
v = T (u) = M M 1
(2.6)
Contrastul va varia neuniform de-a lungul scalei de gri, marindu-se la capatul superior
(alb) si micsorandu-se la capatul inferior (negru). Termenii de compandare si de expandare
au fost dati prin asemanare cu transformarile folosite n teoria codarii si cuantizarii (ce
intervin n metodele de cuantizare a semnalului vocal pentru telefonia digitala, cunoscute
sub numele de legea A n Europa si legea n America). Trebuie nsa subliniat ca n
prelucrarea imaginilor aceste transformari nu afecteaza domeniul de valori, care ramane
[0, M 1].
Alte transformari neliniare pot fi obtinute prin folosirea unor functii de tip putere; si
acestea au nivelele de gri extreme ca puncte fixe ((0, 0) si (M 1, M 1)). O prima
varianta este functia putere:
r
u
(2.7)
v = T (u) = (L 1)
L1
Dupa valorile parametrului-putere r se pot obtine doua comportari diferite: pentru r < 1
comportarea este de acelasi tip cu al functiei de compandare logaritmice, iar pentru r > 1
comportarea este de tipul functiei de expandare. Trebuie remarcat ca legile de variatie
ale contrastului vor fi nsa diferite.
Exista si o varianta a transformarii de tip putere la care se mai adauga un punct fix (T, T ),
functia devenind cu doua intervale de definitie:
r
T Tu , daca u [0; T ]
v = T (u) =
(2.8)
M 1u r
M 1 (M 1 T ) M
, daca u [T, M 1]
1T
20
250
200
150
100
50
0
0
50
100
150
200
a)
250
u
T2
T1
b)
v
250
200
150
100
50
0
0
50
100
150
200
T1
c)
250
T2
d)
v
250
200
150
100
50
0
0
50
100
150
T1=T2
e)
200
250
u
f)
21
v
250
200
150
100
50
0
0
50
100
150
200
250
u
a)
b)
v
250
200
150
100
50
0
0
50
100
150
200
250
u
c)
d)
v
250
200
150
100
50
0
0
50
100
150
200
250
u
e)
f)
2.2
Egalizarea de histogram
a
i = 0, 1, . . . , M 1,
(2.9)
unde Ni este numarul de pixeli din imagine ce au nivelul de gri i, L si C reprezinta numarul
de linii si de coloane ale imaginii, iar este functia indicator. Valorile histogramei imaginii
sunt probabilitatile de aparitie n imagine a diferitelor nivele de gri din intervalul posibil
de valori ([0, M 1]). Histograma imaginii este functia de densitate de probabilitate de
ordinul unu, determinata experimental, a variabilei aleatoare cu valori discrete nivel de
gri 3 . In figura 2.4 sunt prezentate histogramele unor imagini cu nivele de gri.
Histograma cumulativa este functia de repartitie a variabilei aleatoare ce reprezinta nivelul
de gri al pixelilor imaginii, si reprezinta deci probabilitatea ca un pixel din imagine sa
aiba nivelul de gri mai mic ca un prag fixat:
H(j) =
j
X
h(i), j = 0, 1, . . . , M 1.
(2.10)
i=1
Dupa cum se poate remarca si din exemplele prezentate n figura 2.4, majoritatea imaginilor prezinta o distributie neuniforma a nivelelor de gri n orice imagine exista nivele de gri
predominante si exista nivele de gri putin prezente sau absente. Operatiile de mbunatatire
a imaginilor (pentru mbunatatirea perceptiei vizuale) au ca scop redistribuirea nivelelor
de gri din imagine, astfel ncat acestea sa ocupe ntreaga gama de valori disponibile
[0, M 1]. Daca se impune conditia ca noua distributie a nivelelor de gri sa fie uniforma,
operatia ce realizeaza aceasta cerinta se numeste egalizare de histograma.
Scopul egalizarii de histograma este deci obtinerea unei distributii uniforme a nivelelor
de gri; imaginea rezultata va prezenta cea mai mare mbunatatire a contrastului, contrast distribuit regulat n ntreaga gama de valori posibile a nivelelor de gri. Din punct de
3
Dupa cum se arata si n [11], datorita discretizarii valorilor pixelilor din imagine, densitatea de probabilitate cautata este nula peste tot cu exceptia punctelor ce corespund valorilor cuantizate ale pixelilor,
{0, 1, . . . , M 1}. In aceste puncte, functia de densitate de probabilitate acumuleaza probabilitatile de
aparitie ale valorilor corespunzatoare, probabilitati ce trebuie estimate conform primei parti a ecuatiei
(2.9). In ipoteza ca valorile pixelilor dintr-o imagine sunt independente statistic, atunci respectivele
probabilitati pot fi estimate folosind valorile pixelilor din imagine, dupa modelul partii a doua a ecuatiei
(2.9).
23
a)
b)
h(i)
h(i)
0.05
0.02
0.045
0.018
0.04
0.016
0.035
0.014
0.03
0.012
0.025
0.01
0.02
0.008
0.015
0.006
0.01
0.004
0.005
0.002
0
0
50
100
150
200
250
0
0
c)
50
100
150
200
250
d)
Figura 2.4: Imagini cu 256 nivele de gri si histogramele lor. Abscisele i ale graficelor
reprezint
a nivelul de gri, iar ordonatele h(i) sunt probabilit
atile de aparitie a nivelelor de
gri i. Graficele au fost reprezentate presupun
and variatia continu
a a nivelelor de gri.
vedere matematic, egalizarea de histograma nseamna transformarea unei distributii oarecari (descrisa de histograma imaginii initiale) ntr-o distributie uniforma. Implementarea
egalizarii de histograma presupune deci determinarea acestei functii scalare de o variabila
(care modifica valorile nivelelor de gri).
Un rezultat clasic, usor de demonstrat, din domeniul variabilelor aleatoare este acela ca,
pentru orice variabila aleatoare (avand deci orice distributie) functia sa de repartitie o
transforma ntr-o variabila aleatoare distribuita uniform n intervalul [0, 1] [11], [67].
In ceea ce priveste functia de repartitie de ordinul unu al imaginii, aceasta este histograma
cumulativa a imaginii, definita n (2.10). Astfel, egalizarea de histograma se obtine
modificand valoarea fiecarui pixel din imagine printr-o functie ce se obtine rescaland
valorile histogramei cumulative a imaginii (2.10) din intervalul [0, 1] n toata gama de
nivele de gri a imaginii, [0, M 1]. Rezumand, putem scrie expresia functiei de realocare
a nivelelor de gri F (i) cu care se implementeaza operatia de egalizare de histograma ca:
H(i) H(0)
F (i) =
(M 1) ,
i = 0, 1, ...M 1.
(2.11)
1 H(0)
unde cu bc am notat operatorul de rotunjire la cel mai apropiat ntreg. Figura 2.6
24
a)
b)
h(i)
h(i)
0.015
0.03
0.025
0.01
0.02
0.015
0.005
0.01
0.0050
0
0
50
100
150
200
250
0.0
0
50
100
c)
150
200
250
150
200
250
d)
H(i)
H(i)
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0
50
100
150
200
250
0
0
e)
50
100
f)
Figura 2.5: Histogramele si histogramele cumulative ale unor imagini cu nivele de gri: a),
b) imagini cu nivele de gri; c), d) histogramele imaginilor din a) si b); e), f ) histogramele
cumulative ale imaginilor din a) si b). Abscisele i ale graficelor reprezint
a nivelul de gri.
Graficele au fost reprezentate presupun
and variatia continu
a a nivelelor de gri.
a)
b)
c)
d)
e)
f)
Figura 2.6: Imagini cu nivele de gri n forma originala (coloana din stanga) si rezultatul
egaliz
arii de histogram
a (coloana din dreapta).
Dupa cum se poate remarca din exemplele prezentate, egalizarea de histograma reuseste
mbunatatirea automata a constrastului global al imaginilor, indiferent de aparenta lor
vizuala initiala (si deci indiferent de natura degradarilor pe care imaginea originala le-a
suferit: subexpunere, supraexpunere sau chiar nici o degradare). In general, rezultatele
egalizarii de histograma sunt satisfacatoare pentru clase largi de imagini. Totusi, o analiza
mai atenta, poate pune n evidenta probleme ale acestei tehnici de mbunatatire, probleme
ce pot fi usor constatate prin inspectia figurilor 2.7 - 2.9. Este evident faptul ca histograma
26
a)
b)
h(i)
h(i)
0.04
0.04
0.035
0.035
0.03
0.03
0.025
0.025
0.02
0.02
0.015
0.015
0.01
0.01
0.005
0.005
0
0
50
100
150
200
250
0
0
c)
50
100
150
200
250
d)
a)
b)
h(i)
h(i)
0.1
0.1
0.09
0.09
0.08
0.08
0.07
0.07
0.06
0.06
0.05
0.05
0.04
0.04
0.03
0.03
0.02
0.02
0.01
0.01
0
0
50
100
150
200
250
0
0
c)
50
100
150
200
250
d)
nou nivel de gri, iar pe de alta parte, avand n vedere ca functia de transformare nu este
n general bijectiva (histograma cumulativa a unei imagini nu este de obicei bijectiva),
este de asteptat ca un acelasi nivel de gri din imaginea de iesire sa provina din nivele de
gri diferite (totusi similare, alaturate) din imaginea initiala. Aceste constatari explica, pe
de o parte, reducerea numarului de nivele de gri diferite din imagine, si, pe de alta parte,
ne-egalizarea perfecta a histogramei.
Folosirea unei transformari punctuale pentru transformarea nivelelor de gri va constitui
ntotdeauna limitarea esentiala n realizarea unei egalizari corespunzatoare a histogramei.
Solutiile propuse n mod uzual pentru compensarea acestor probleme se refera de obicei
la ajustarea bijectivitatii functiei de transformare (care este histograma cumulativa a
imaginii) prin modificarea histogramei imaginii. Aceasta se poate realiza n principal n
28
a)
b)
h(i)
h(i)
0.1
0.1
0.09
0.09
0.08
0.08
0.07
0.07
0.06
0.06
0.05
0.05
0.04
0.04
0.03
0.03
0.02
0.02
0.01
0.01
0
0
50
100
150
200
250
0
0
c)
50
100
150
200
250
d)
doua feluri.
O varianta de implementare este adaptarea tehnicii de egalizare a histogramei. Astfel,
suportul spatial al imaginii va fi descompus n zone n care egalizarea de histograma va
fi aplicata independent. Aceasta este echivalent cu adaptarea functiei de transformare
a nivelelor de gri, valoarea fiecarui pixel din imagine fiind modificata dupa o functie
dependenta de pozitia pixelului n imagine [47], [31]. La limita, functia de egalizare de
histograma poate fi determinata pentru fiecare pixel din imagine (evident, n functie de
valorile pixelilor selectati ntr-o vecinatate de forma si dimensiune impusa n jurul pixelului
respectiv) si va fi aplicata numai acelui pixel. Aceasta tehnica de adaptare a egalizarii de
histograma va produce o marire semnificativa (maxima) a constrastului n jurul fiecarui
pixel; de cele mai multe ori nsa, aceasta constituie un dezavantaj, dupa cum se poate
29
(2.12)
unde g1 (i, j) este valoarea initiala a pixelului iar gk (i, j), cu k > 1, sunt parametri
(trasaturi) calculate n vecinatati ale pixelului (i, j).
Pentru multimea de vectori g(i, j) putem defini relatia de ordonare lexicografica : doi
vectori verifica relatia de ordine g(i1 , j1 ) g(i2 , j2 ) daca si numai daca:
a)
b)
h(i)
h(i)
0.01
0.04
0.009
0.035
0.008
0.03
0.007
0.025
0.006
0.005
0.02
0.004
0.015
0.003
0.01
0.002
0.005
0.001
0
0
50
100
150
200
250
0
0
50
100
c)
150
200
250
150
200
250
d)
h(i)
0.02
0.018
0.016
0.014
0.012
0.01
0.008
0.006
0.004
0.002
0
0
e)
50
100
f)
31
nivele de gri cu atat mai mici cu cat acestia sunt situati mai la nceputul sirului ordonat
de pixeli. Mai precis, primii L C/M 1 pixeli din sirul ordonat vor capata nivelul de gri
0, urmatorii L C/M 1 pixeli din sirul ordonat vor capata nivelul de gri 1, urmatorii
L C/M 1 pixeli din sirul ordonat vor capata nivelul de gri 2, ..., ultimii L C/M 1
pixeli din sirul ordonat vor capata nivelul de gri M 1. Astfel, noul nivel de gri al unui
pixel nu mai depinde n mod explicit de nivelul sau de gri initial, ci de pozitia sa n sirul
ordonat de pixeli.
Alegerea aceluiasi numar de pixeli pentru alocarea fiecarui nivel de gri din intervalul
[0, M 1] n imaginea prelucrata garanteaza obtinerea unei histograme perfect uniforme.
Tehnica functioneaza cu atat mai bine cu cat numarul de trasaturi suplimentare alese
pentru caracterizarea fiecarui pixel este mai mare, astfel ncat sa fie cat mai putin probabil
ca mai multi pixeli sa fie descrisi de un acelasi vector de trasaturi. Aceasta tehnica a fost
introdusa n [13], [14].
2.3
Specificarea de histogram
a
Specificarea histogramei este o generalizare a tehnicii de egalizare de histograma. Histograma dorita pentru imaginea mbunatatita este precizata si poate avea orice forma
(nu numai uniforma, asa cum era cazul egalizarii). Problema este atunci de gasire a
functiei scalare care modifica nivelele de gri din imaginea initiala, astfel ncat histograma
(masurabila) din imaginea initiala sa fie transformata n histograma specificata.
In [21] si n [8] se remarca faptul ca aceasta problema poate fi rezolvata folosind egalizarea
de histograma. Fie T1 transformarea care egalizeaza histograma imaginii initiale f si T2
transformarea care egalizeaza histograma imaginii prelucrate dorite, g. Atunci putem
scrie T1 (f ) = T2 (g), de unde rezulta:
g = T21 (T1 (f ))
(2.14)
h(i)
0.04
0.035
0.03
0.025
0.02
0.015
0.01
0.005
0
0
50
100
a)
150
200
250
150
200
250
b)
h(i)
0.01
0.009
0.008
0.007
0.006
0.005
0.004
0.003
0.002
0.001
0
0
c)
50
100
d)
2.4
Concluzii
33
34
Capitolul 3
Operatii de vecin
atate
Operatiile de vecinatate sunt caracterizate prin aceea ca valoare unui pixel din imaginea
prelucrata rezulta din combinarea valorilor unui numar oarecare de pixeli din imaginea
initiala, situati n vecinatatea spatiala a pixelului curent prelucrat. Astfel, pentru un pixel
situat n pozitia (l, c) (deci pe linia l si pe coloana c a imaginii), valoarea g(l, c) rezultata
prin prelucrare este:
g(l, c) = T f V(l,c) .
(3.1)
Aceasta noua valoare rezulta prin folosirea functiei de combinare T a valorilor pixelilor
din imaginea originala f , pixeli selectati n jurul pixelului curent prelucrat (de coordonate
(l, c)) de vecinatatea V . Vecinatatea este o forma plana, deci o multime de puncte din
suportul spatial al imaginii, precizate prin coordonatele lor carteziene fata de o origine
oarecare, precizata, ce este asociata acestei multimi (originea vecinatatii nu este originea
sistemului de coordonate atasat imaginii). Asadar punctele din vecinatate sunt precizate
prin coordonate relative (deci n alt sistem de coordonate decat sistemul de coordonate
al imaginii) fata de propria origine a vecinatatii. In mod curent, vecinatatea mai este
denumita si fereastra de filtrare sau fereastra de prelucrare.
Operatiile de prelucrare de vecinatate (numite n mod uzual filtre) se clasifica dupa caracteristicile functiei de combinare T : operatii (sau filtre) liniare si respectiv operatii (sau
filtre) neliniare.
3.1
Filtrarea liniar
a
Vecinatatea V (deci multimea de puncte din plan definite de coordonatele (m, n) fata de
originea ce le este atasata), mpreuna cu multimea de ponderi wmn asociate punctelor
din vecinatate formeaza masca de filtrare (sau nucleul, sau functia pondere a filtrului).
Scalarii individuali wmn poarta numele de coeficienti ai filtrului.
35
0
0
0
ca 0 1/2 1/6 .
0 1/6 1/6
Din punctul de vedere al calculelor, formula de definitie (3.2) este suma produselor punct
cu punct dintre coeficientii wmn atasati punctelor vecinatatii reflectate si valorile pixelilor
din imaginea originala f din zona de imagine peste care a fost suprapusa vecinatatea.
Aceasta suma de produse se calculeaza pentru fiecare punct al imaginii, deplasand masca.
Deplasarea vecinatatii (ferestrei de filtrare) a condus la adoptarea denumirii de tehnica a
ferestrei glisante. Tehnica ferestrei glisante nseamna plasarea originii ferestrei de filtrare
(vecinatatii), pe rand, n fiecare pixel al imaginii si selectarea punctelor imaginii situate
n interiorul acesteia (ne putem imagina fereastra de filtrare ca fiind o apertura ntr-o
placa opaca; ntr-o anumita pozitie a acesteia valorile selectate din imagine sunt valorile
punctelor ce se vad prin apertura); pentru fiecare pozitie (l, c) a ferestrei glisante se
calculeaza noua valoare a pixelului, g(l, c), conform (3.2). Descrierea algoritmului nu
este nsa altceva decat descrierea (poate destul de plastica) a unei operatii de convolutie
bidimensionala, n care, prin conventie, masca de filtrare este considerata nucleul de
convolutie.
Din punctul de vedere al implementarii practice a filtrelor liniare trebuie luate n considerare doua aspecte: complexitatea de calcul a operatiei de filtrare liniara si problema
aparitiei efectelor de margine.
Pentru o imagine de dimensiune L C si o masca de filtrare avand K puncte (deci cu
Card(V ) = K), numarul de operatii necesare unei filtrari liniare este de LCK nmultiri si
LC(K 1) adunari, adica complexitatea de calcul este O[N 2 ], atat fata de dimensiunile
imaginii cat si fata de dimensiunile ferestrei
de filtrare (considerand ca fereastra de filtrare
compensarea acestor efecte de margine sunt disponibile doua solutii: n primul rand,
pentru pixelii n care apar aceste probleme de margine, noua valoare (rezultatul filtrarii
liniare) nu mai este evaluata, urmand ca n imaginea rezultat al prelucrarii acestia sa si
pastreze valoarea din imaginea initiala; aceasta varianta (desi cea mai simpla si rapida) are
un dezavantaj evident n cazul filtrarilor ce folosesc vecinatati de dimensiune importanta.
O a doua solutie este completarea suportului spatial al imaginii de prelucrat cu un numar
suficient de linii si coloane, astfel ca efectul de margine sa nu mai apara. Liniile si coloanele
nou adaugate sunt completate cu valori convenabile - de cele mai multe ori valori identice
cu cele ale liniilor/ coloanelor marginale din imaginea originala.
3.1.1
Filtrarea liniar
a de netezire
Netezirea unei imagini are ca scop reducerea variatiei nivelelor de gri din imagine si, implicit, cresterea uniformitatii. Aceasta nseamna ca regiunile din imagine vor capata un
caracter mai constant, apropiindu-se astfel de idealul unei regiuni n care toti pixelii ce o
compun au aceeasi valoare. Variatiile prezente n imagine pot fi considerate ca fiind de
doua tipuri: variatii reale, puternice ale intensitatii luminoase (corespunzand contururilor
obiectelor din imagine) si variatii relativ mici, parazite, datorate n principal zgomotului
suprapus imaginii si neuniformitatii intrinseci a obiectelor din scena. O filtrare de netezire
va reduce toate aceste categorii de variatii, avand ca efect secundar ncetosarea contururilor si pierderea detaliilor (efect numit bluring). Figura 3.1 prezinta efectul aplicarii
unui filtru liniar de netezire simplu (media aritmetica a valorilor selectate de fereastra de
filtrare) cu vecinatati de dimensiune diferita; se poate remarca cresterea uniformitatii (si
uniformizarii) imaginii odata cu cresterea dimensiunii ferestrei de filtrare.
Ponderile wmn care definesc un filtru liniar de netezire deriva dintr-o conditie simpla de
normare. Sa consideram cazul particular al unei regiuni absolut uniforme din imagine,
regiune n care toti pixelii au o aceeasi valoare J. Desigur, uniformitatea acestei regiuni
nu mai poate fi mbunatatita, dar operatia de filtrare de netezire trebuie sa nu modifice
valoarea constanta a pixelilor regiunii. Din exprimarea acestei conditii rezulta relatia de
normare a filtrelor liniare de netezire. Daca se particularizeaza formula de definitie a
filtrarii liniare (3.2) pentru cazul valorilor identice ale pixelilor selectati de fereastra de
filtrare (f (l m, c n) = J), vom obtine ca valoarea ce rezulta prin filtrare este:
X
X
g(l, c) =
wmn f (l m, c n) = J
wmn = J.
(m,n)V
adica:
(m,n)V
wmn = 1, cu wmn 0.
(3.3)
(m,n)V
Aceasta conditie (suma coeficientilor mastii de filtrare sa fie unitara) se numeste conditia
de normare a nucleelor de filtrare de netezire si defineste un astfel de nucleu.
Teoria proceselor aleatoare [11] arata ca, pentru o combinatie liniara de realizari particK
P
ulare ale unei variabile aleatoare ,
ai i = , varianta noii variabile aleatoare obtinute
i=1
este proportionala cu varianta variabilei aleatoare din care au provenit realizarile parK
P
a2i 2 . Deci, prin medierea a K realizari particulare ale unei variabile
ticulare: 2 =
i=1
37
a)
b)
c)
d)
e)
g)
Figura 3.1: a) Imagine originala; b) Rezultatul filtrarii imaginii din a) cu un filtru liniar
de netezire cu fereastr
a de filtrare (vecin
atate) de 55 pixeli (SNR=19.9 dB); c) Rezultatul
filtr
arii imaginii din a) cu un filtru liniar de netezire cu fereastr
a de filtrare (vecin
atate)
de 11 11 pixeli (SNR=16.6 dB); d) Imagine degradat
a cu zgomot alb, gaussian, aditiv
de medie 0 si dispersie 25 (SNR=15.7 dB); e) Rezultatul filtrarii imaginii din d) cu un
filtru liniar de netezire cu fereastr
a de filtrare (vecin
atate) de 5 5 pixeli (SNR=22.5 dB);
f ) Rezultatul filtrarii imaginii din d) cu un filtru liniar de netezire cu fereastr
a de filtrare
(vecin
atate) de 11 11 pixeli (SNR=19.7 dB).
aleatoare, varianta este redusa de K ori (ai =
2
1
).
K
2
wmn
= f2inal .
(3.4)
(m,n)W
(3.5)
L
C
1 XX
M AE =
|f (l, c) f0 (l, c)|
LC l=1 c=1
(3.6)
C
L P
P
SN R = 10 log
f 2 (l, c)
l=1 c=1
L P
C
P
dB
(3.7)
l=1 c=1
2
LC max f0 (l, c)
P SN R = 10 log
l,c
L P
C
P
dB
(3.8)
l=1 c=1
0
1/5
0
1/5
1/5
1/5
0
0
1/5 , 1/8
0
0
1/8
1/4
1/8
0
0.075
1/8 , 0.124
0.075
0
0.124
0.204
0.124
0.075
0.124 .
0.075
(3.9)
Un filtru de mediere ponderata des utilizat este filtrul gaussian de netezire, ale carui
ponderi variaza dupa o lege gaussiana de medie nula si dispersie impusa n domeniul
coordonatelor spatiale ale punctelor ce formeaza vecinatatea. Ecuatia (3.10) prezinta
forma generala a functiei ce genereaza ponderile unui filtru gaussian de netezire.
1
gmn
m2 + n2
, gmn = exp
wmn = P
(3.10)
gkl
2 2
2
(k,l)V
Ultima masca de filtrare prezentata n ecuatia (3.9) este o masca gaussiana cu dispersie
1.
39
3.1.2
Filtrarea liniar
a de accentuare
adica:
(m,n)V
wmn = 0
(3.11)
(m,n)V
Aceasta conditie (suma coeficientilor mastii de filtrare sa fie nula) se numeste conditia de
normare a nucleelor de filtrare de derivare si defineste un astfel de nucleu.
O experienta de perceptie vizuala subiectiva (benzile lui Mach) a pus n evidenta faptul
ca sistemul vizual uman are tendinta de a adanci profilul zonelor de tranzitie dintre
regiuni uniforme. Studiul fiziologiei sistemului vizual a demonstrat ca acesta se realizeaza
prin prelucrari de tip derivativ ce apar n diferitele etape pe care le parcurge informatia
vizuala; efectul global poate fi descris ca scaderea din semnalul original a unei derivate
secunde a acestuia, ponderata corespunzator (asa cum prezinta figura 3.2, pentru cazul
unidimensional - sectiunea unei frontiere ntre regiunile imaginii).
Implementarea unei derivate secunde pentru cazul discret va trebui sa ia n considerare
existenta a doua directii de derivare de baza si modul de definire a derivatei n cazul discret
(de exemplu prima derivata pe directia orizontala poate fi f 0 (m, n) = f (m, n+1)f (m, n)
sau f 0 (m, n) = f (m, n) f (m, n 1) sau f 0 (m, n) = f (m, n + 1) f (m, n 1)). Masti
obisnuite de implementare a unei derivate secunde bidirectionale (operator Laplacian)
sunt prezentate n ecuatia (3.12) [33], [68], [21]:
0 1/4 0
1/4 1/2 1/4
1/8 1/8 1/8
1/4 -1 1/4 , 1/2
-1
1/2 , 1/8 -1 1/8 .
0 1/4 0
1/4 1/2 1/4
1/8 1/8 1/8
(3.12)
Figura 3.3 prezinta folosirea tehnicii de mbunatatire a contrastului unei imagini prin
scaderea laplacianului.
40
a)
b)
c)
d)
Figura 3.2: a) Profil de tranzitie putin abrupt; b) Prima derivata a functiei din a), maximul acesteia este larg si nu permite identificarea precis
a a mijlocului tranzitiei; c) derivata
a doua a functiei din a) trece prin zero n centrul tranzitiei; d) functia originala din a)
(reprezentat
a cu linie punctata) din care s-a scazut o versiune scalat
a a derivatei a doua
c), obtin
and efectul de adancire a tranzitiei.
41
a)
b)
3.2
Filtrarea neliniar
a
Operatiile de filtrare studiate pana n prezent au fost caracterizate esential (din punct
de vedere matematic) de catre principiul liniaritatii (sau superpozitiei). O buna parte
a aplicatiilor curente de prelucrare a imaginilor probabil ca se pot rezolva suficient de
precis folosind doar operatii liniare. Limitarile operatiilor liniare de filtrare apar nsa n
momentul n care se considera zgomote ce nu au distributie normala, si, mai mult, nu mai
sunt aditive.
Exemplul cel mai simplu de astfel de zgomot este zgomotul impulsiv, caracterizat de impulsuri pozitive si negative de amplitudine maxim posibila (relativ la numarul de nivele de
cuantizare ale imaginii) care afecteaza prin nlocuire o parte din pixelii imaginii. Aceasta
nseamna ca imaginea va fi uniform acoperita de puncte foarte nchise (negre) si foarte
deschise (albe), rezultatul fiind ceea ce se numeste zgomot de tip sare si piper (vezi figura
3.4). Asemenea erori apar n portiunile de achizitie si transmisiune ale sistemului de prelucrarea si analiza imaginilor (din cauza erorilor n convertorul analog-digital, din cauza
erorilor de nregistrare pe mediile magnetice de stocare sau de pe canalul de transmisiune);
este posibil ca asemenea valori sa apara si ca urmare a unui zgomot aditiv caracterizat de
o distributie cu coada lunga - deci care asigura probabilitati nenule de aparitie a unor
valori mult diferite de medie. Aceste valori aberante (mult mai mari sau mai mici decat
valorile normale ale regiunii n care apar) sunt numite outlier : valori extreme sau erori
grosiere. Daca o asemena imagine ar fi filtrata liniar (cu un filtru de mediere sau poate
cu un filtru de reliefare) rezultatul ar fi o accentuare a punctelor de zgomot si o corupere
a punctelor cu valori corecte din jurul lor.
Zgomotul impulsiv nu este singurul model de degradare neliniara: exista zgomote dependente de valoarea imaginii din pixelul afectat, precum si compuneri neaditive ale zgomotului cu imaginea originala (multiplicativa, convolutiva) [33].
Este deci evident ca se impune considerarea si a altor metode de filtrare, care nu mai respecta principiul superpozitiei, si sunt deci neliniare. O clasa esentiala de astfel de metode
42
a)
b)
(3.13)
In mod evident statistica de ordinul 1, x(1) , este valoarea minima, iar statistica de ordinul
K, x(K) , este valoarea maxima.
Iesirea filtrului de ordine de ordin k este statistica de ordinul k, cu k [1; K]:
rankk {x1 , x2 , ..., xK } = x(k)
(3.14)
In acest fel, iesirea unui filtru de ordine este una dintre valorile selectate de fereastra de
filtrare, si deci nu se creaza la iesire valori noi (asa cum se ntampla la filtrarea liniara);
acesta este un avantaj atat n ceea ce priveste pastrarea valorilor originale din imagine,
cat si din punctul de vedere al simplificarii calculelor (nu mai sunt necesare operatii cu
numere reale, ce trebuie apoi rotunjite sau truncheate la numere naturale).
Filtrele de ordine nu sunt liniare din cauza operatiei de ordonare (ce nu respecta principiul
superpozitiei); n general putem scrie:
rankk {x1 +y1 , x2 +y2 , ..., xK +yK } 6= rankk {x1 , x2 , ..., xK }+rankk {y1 , y2 , ..., yK } (3.15)
Filtrele de ordine comuta nsa cu operatiile de modificare liniara a valorilor:
rankk {x1 + , x2 + , ..., xK + } = rankk {x1 , x2 , ..., xK } +
43
(3.16)
3.2.1
Filtrul median
Filtrul median este un filtru de ordine a carui iesire este statistica de ordine de ordin
central a setului de valori selectate de fereastra de filtrare.
(
x( K+1 ) daca K este impar
2
(3.17)
median{x1 , x2 , ..., xK } =
1
+ 12 x( K +1) daca K este par
x
2 (K )
2
Iesirea filtrului median este deci valoarea din centrul secventei ordonate; n cazul
secventelor (ferestrelor de filtrare) de dimensiune para, aceasta pozitie centrala nu exista, si atunci este definita ca media aritmetica a valorilor vecine centrului imaginar. In
practica, filtrul median se foloseste doar cu ferestre de filtrare de dimensiune impara, ceea
ce conduce la posibilitatea de a scrie:
median{x1 , x2 , ..., xK } = rank K+1 {x1 , x2 , ..., xK }
2
(3.18)
Aceasta nseamna ca daca fereastra de filtrare are 3 puncte, medianul este statistica de
ordinul 2, pentru o fereastra filtrare cu 9 puncte, medianul este statistica de ordinul 5,
iar pentru o fereastra de filtrare de 25 de puncte, medianul este statistica de ordinul 13.
Figura 3.5 prezinta rezultatul filtrarii cu un filtru median cu fereastra patrata de 3 3
puncte a imaginii degradate cu zgomot impulsiv din figura 3.4.
Efectele de filtrare a zgomotului impulsiv (de tip sare si piper) sunt evidente; valorile
punctelor de zgomot sunt 0 sau 255 si deci, dupa ordonare, se vor afla la capetele
sirului de valori; iesirea filtrului median, fiind statistica de ordin central, este situata
departe de valorile extreme. In imaginea filtrata median (figura 3.5) se observa totusi
existenta unor puncte albe si negre (puncte de zgomot) ce nu au putut fi eliminate prin
filtrare; spunem ca n acele pozitii filtrul a fost strapuns de impulsuri (care deci au ajuns
la iesirea filtrului). Probabilitatea de strapungere a unui filtru median este dependenta de
procentul de puncte de zgomot din imagine si de dimensiunea ferestrei de filtrare folosite.
Strapungerea filtrului median se produce atunci cand n fereastra de filtrare avem mai
mult de (K + 1)/2 impulsuri de zgomot de acelasi fel.
3.2.2
Filtrele de ordine de domeniu (filtre LUM Lower-Upper-Middle [26]) introduc o posibilitate de reglare a filtrelor de ordine si adaptare a acestora pentru cele doua operatii de
baza de prelucrare a imaginilor: netezirea si respectiv contrastarea.
44
a)
b)
Figura 3.5: Rezultatul filtrarii imaginii degradate cu zgomot impulsiv din figura 3.4 cu: a)
un filtru median cu fereastr
a de 3 3 pixeli; b) un filtru de ordine de rang 2 cu fereastr
a
de 3 3 pixeli.
Pentru un filtru LUM de netezire, valoarea nou calculata pentru fiecare pixel din imaginea
prelucrata g(l, c) = y este definita ca:
Pentru un filtru LUM de contrastare, valoarea nou calculata pentru fiecare pixel din
imaginea prelucrata g(l, c) = y este definita ca:
x(l) +x(Kk+1)
x(k) , daca x(l) < x <
2
x +x
y=
x(Kk+1) , daca (k) (Kk+1)
< x < x(Kk+1)
2
x , n rest
(3.20)
unde x este valoarea ce corespunde originii ferestrei de filtrare cu K pozitii (deci este
valoarea originala pixelului curent prelucrat, f (l, c) = x ), iar k este parametrul de reglaj
]; daca k = 0 filtrul de comporta
al filtrului. Valoarea k este un ntreg din intervalul [0; K+1
2
K+1
ca un filtru de reliefare extrema, iar daca k = 2 , filtrul este un filtru trece tot (y = x ).
Figura 3.6 prezinta rezultatele aplicarii filtrelor LUM de netezire si respectiv de constrastare.
3.2.3
L-filtre
L-filtrele [46] au fost introduse din dorinta de a oferi o mai mare flexibilitate operatiilor
de filtrare neliniara bazate pe ordonare; pasul firesc de dezvoltare a fost combinarea
45
a)
b)
Figura 3.6: a) Rezultatul filtrarii imaginii degradate cu zgomot impulsiv din figura 3.4 a)
cu un filtru LUM de netezire cu fereastr
a de 3 3 pixeli si factor de reglaj 3 (ntre filtrul
trece-tot si filtrul median); b) Rezultatul filtrarii imaginii far
a contrast din figura 3.3 a) cu
un filtru LUM de contrastare cu fereastr
a de 3 3 pixeli si factor de reglaj 1 (contrastarea
maxim
a).
tuturor statisticilor de ordine n valoarea de la iesirea filtrului. Iesirea unui L-filtru este o
combinatie liniara a statisticilor de ordine:
L({x1 , x2 , ..., xn }) =
K
X
wi x(i)
(3.21)
i=1
Este evident ca prin varierea coeficientilor wi se pot obtine diferite filtre, inclusiv filtrele
de ordine (un singur coeficient egal cu 1, iar restul coeficientilor nuli). Coeficientii celor
mai uzuale L-filtre sunt prezentati n tabelul 3.1
Filtru
Filtru de ordine de ordin k, rankk
k [1, K]
Filtru de mediere aritmetica
Filtru de mijloc
Filtru de cvasi-mijloc
k [1, K]
Medie -reglabila
(0, 1/2)
Coeficienti
ak = 1, ai = 0, i 6= k
ai = 1/n
a1 = aK = 0.5, ai = 0, i
/ {1, K}
ak = aK+1k = 0.5, ai = 0, i
/ {k, K + 1 k}
ai = 1/[2K 1], i [ K+1
K + 1; K+1
+ K]
2
2
K+1
ai = 0, i
/ [ K+1
K
+
1;
+
K]
2
2
Se poate demonstra cu usurinta ca, coeficientii L-filtrelor trebuie sa ndeplineasca aceleasi conditii de normare ca si coeficientii filtrelor liniare: sa aiba suma 1 pentru un filtru
de netezire (similar cu conditia (3.3)) si suma 0 pentru un filtru de reliefare (similar cu
conditia (3.11)). Toate filtrele prezentate n tabelul 3.1 sunt deci filtre de netezire, al
46
caror scop este marirea uniformitatii regiunilor imaginii prin eliminarea diferitelor zgomote suprapuse acesteia. Tabelul 3.2 prezinta filtrele cele mai potrivite pentru eliminarea
diferitelor tipuri de zgomote.
Tip zgomot
impulsiv (sare si piper)
gaussian
impulsiv + gaussian
uniform
Filtru
filtru de
filtru de
filtru de
filtru de
3.3
Filtrarea adaptiv
a
Termenul de adaptiv se refera la capacitatea filtrului de a-si ajusta comportarea (care este
determinata de caracteristicile sale de definitie) n functie de anumite cerinte ce definesc
conceptul de calitate a imaginii filtrate (de exemplu n sensul apropierii ei de imaginea
nedegradata din care provine). In mod uzual, la prelucrarea semnalelor unidimensionale,
masurile de calitate utilizate sunt eroarea patratica medie (sau raportul semnal/ zgomot).
Aceleasi masuri se pot folosi si n cazul imaginilor, acestora putandu-li-se adauga masuri
subiective de tipul confortului vizual al unui observator, pentru care imaginea data arata
bine, sau mai bine decat o alta.
Prin procesul de adaptare, n fiecare nou punct prelucrat structura filtrului este alta,
luand n considerare caracteristicile locale pixelului curent prelucrat. Atata timp cat (cel
putin teoretic) n fiecare punct al imaginii operatia este diferita (deoarece se face cu un
filtru diferit), filtrarea globala nu mai este liniara, chiar daca structura filtrului se bazeaza
n fiecare punct pe o combinatie liniara a valorilor selectate de fereastra de filtrare.
In cazul folosirii structurii de filtru liniar ca structura de baza a unui filtru adaptiv,
adaptarea nu poate urmari decat doua variante: modificarea formei ferestrei de filtrare 1 ,
sau modificarea coeficientilor unei ferestre de filtrare de forma fixata.
1
Dupa cum aratat si n sectiunea 3.1, la pagina 35, introducerea de coeficienti de ponderare nuli are
ca efect modifcarea forma ferestrei de filtrare, fara modificarea rezultatelor filtrarii. Din acest punct
de vedere am putea considera ca este suficienta considerarea cazului de adaptare doar a coeficientilor
filtrului.
47
a)
b)
c)
d)
e)
f)
Figura 3.7: Rezultatul filtrarii imaginii degradate cu zgomot mixt (impulsiv si gaussian)
din figura a) cu: b) un filtru median cu fereastr
a de 3 3 pixeli, c) un L-filtru de netezire
de tip -median cu fereastr
a de 3 3 pixeli si = 0.25. Rezultatul filtrarii imaginii
din a) cu L-filtre de tip derivativ: d) gradient morfologic (x(9) x(1) ); e) x(6) x(4) ; f )
4
8
P
P
x(i) x(i) . Reprezentarea valorilor este facut
a dupa o scar
a inversata: valorile mari
i=6
i=2
sunt reprezentate cu nuante nchise, valorile mici sunt reprezentate cu nuante deschise;
se observ
a c
a filtrele derivative marcheaz
a frontierele obiectelor din imagine.
48
3.3.1
Filtrarea de netezire este evaluata prin diferentele introduse fata de imaginea care se filtreaza; daca diferentele dintre imaginea filtrata si cea dinainte de filtrare sunt prea mari
este posibil ca filtrul de netezire sa fi ncetosat contururi din imagine. Presupunerea colaterala este ca zgomotul este mai slab decat contururile imaginii si ca variatiile datorate zgomotului sunt mai mici decat variatiile dintre valorile regiunilor alaturate. Implementarea
acestei categorii de filtre foloseste un comutator ntre mai multe valori posibile de dupa
filtrare, corespunzand unor praguri de acceptare a variatiilor.
Ideea de a accepta valoarea produsa de medierea valorilor selectate de fereastra filtrului
numai daca acesta valoare este suficient de apropiata de valoarea originala se poate aplica
si pentru filtrarea de netezire cu fereastra si coeficienti ficsi [21]. In acest caz rezultatul
netezirii ntr-un punct va fi acceptat doar daca diferenta fata de valoarea originala este
mai mica decat un prag impus:
P
wmn f (l m, c n) < T
wmn f (l m, c n), daca f (l, c)
g(l, c) =
(m,n)W
(m,n)W
(3.22)
Figura 3.8 prezinta rezultatul filtrarii unei imagini zgomotoase cu filtre ce si adapteaza
forma vecinatatii.
3.3.2
a)
b)
c)
d)
e)
f)
50
(3.23)
(3.24)
Ceea ce defineste filtrul adaptiv este coeficientul ; acesta este calculat local impunand
optimizarea unei masuri de calitate obiective - eroarea patratica medie dintre imaginea
originala f0 si rezultatul filtrarii g.
2
2 = (g f0 )2 = z + ( 1)(f0 f0 ) = 2 z 2 +2(1)zf0 2(1)zf0 +(1)2 (f0 f0 )2
2 = 2 z 2 + 2( 1)zf0 2( 1)zf0 + ( 1)2 (f0 f0 )2 = 2 z 2 +(1)2 (f0 f0 )2
2 = 2 z2 + ( 1)2 f20
(3.25)
Formula (3.25) arata ca eroarea patratica medie este suma ponderata dintre varianta
(puterea) zgomotului z2 si varianta imaginii originale f20 . Gasirea coeficientului optim
nseamna gasirea minimului lui 2 , deci anularea derivatei acestuia.
d2
= 2z2 + 2( 1)f20 = 0
d
=
f20
z2
=
1
f20 + z2
f2
g=
2
1 z2
f
!
f+
z2
f
f2
(3.26)
(3.27)
a)
b)
c)
d)
52
3.3.3
Filtrul bilateral a fost propus recent [61] ca un mod de a realiza o filtrare de netezire
adaptiva, ce pastreaza contururile din imagine si care grupeaza local valorile selectate
de fereastra de filtrare ntr-o combinatie liniara. Ponderile combinatiei liniare sunt nsa
calculate n fiecare pixel, pe baza unei duble ponderari gaussiene: n functie de pozitia
spatiala fiecarui pixel n fereastra de filtrare si n functie de similaritatea valorii fiecarui
pixel cu valoarea pixelului curent prelucrat (centrul ferestrei de filtrare). In cazul folosirii
unei ferestre de filtrare V de forma fixata, putem scrie urmatoarele:
X
g(l, c) =
wmn (l, c)f (l m, c n), cu wmn (l, c) R.
(3.28)
(m,n)V
(3.29)
(i,j)V
wpos,mn (l, c) =
m2 + n2
exp
2
2pos
2
;
pos
1
(f (l m, c n) f (l, c))2
exp
wval,mn (l, c) =
;
2
2val
val 2
(3.30)
(3.31)
Figura 3.10 prezinta rezultatul aplicarii filtrului bilateral, cu diferiti parametri, pentru
netezirea unei imagini degradate de zgomot alb, aditiv, gaussian. Se poate remarca faptul
ca imaginea este cu atat mai clara cu cat parametrii de dispersie a functiilor gaussiene
ce genereaza ponderile de similaritate a valorilor si de apropiere cu centrul ferestrei de
filtrare sunt mai mici. In acelasi timp, performanta filtrului bilateral este superioara
filtrului de mediere aritmetica realizat n aceeasi fereastra de filtrare, atat din punctul de
vedere a calitatii perceptuale a imaginii obtinute, cat si din punctul de vedere al raportului
semnal-zgomot.
Principiul pe care se bazeaza functionarea filtrului bilateral este de a folosi pentru calculul
noii valori a unui pixel doar acele valori din vecinatatea acestuia care au valori suficient
de apropiate cu valoarea sa (pastrarea valorilor apropiate fiind realizata prin coeficientii
de ponderare dati de (3.31)); astfel se evita medierea valorilor situate de o parte si alta a
contururilor.
3.4
Filtrarea morfologic
a
a)
b)
c)
d)
e)
f)
de gri, se poate nsa observa ca valoarea functiei imagine poate fi utilizata ca o a treia
coordonata: imaginile cu nivele de gri pot fi reprezentate prin multimi de puncte n R3
(respectiv Z3 ), mai precis, functiei f : D R2 R prin care definim o imagine cu
tonuri de gri i se asociaza n mod biunivoc umbra sau subgraful ei definit prin:
U (f ) = {(x1 , x2 , x3 ) R3 |(x1 , x2 ) D si x3 f (x1 , x2 )}
(3.32)
In cazul functiilor de o variabila subgraful (umbra) este o multime din R2 , dupa cum
este exemplificat si n figura 3.11. Este evident ca subgrafurile sunt multimi semideschise
spre . Dupa cum operatiilor de prelucrare a imaginilor reprezentate prin functii le
corespund operatori care transforma o functie n alta, operatiilor de prelucrare a imaginilor (semnalelor) reprezentate prin multimi le corespund operatori care transforma o
multime n alta. Acesti operatori sunt construiti plecand de la operatii simple cu multimi,
iar ca principiu, prelucrarea si analiza morfologica nlocuieste descompunerea functiei ce
reprezinta imaginea ntr-o suma de termeni n raport cu o baza (deci reprezentarea ca
element ntr-un spatiu vectorial) cu descompunerea multimii ce reprezinta imaginea n
raport cu o familie de multimi de forme mai simple, numite elemente structurante [55].
In cele ce urmeaza, pentru definirea conceptelor de baza ale morfologiei matematice, vom
3.4.1
(3.33)
bB S
(3.34)
bB S
(3.35)
(3.36a)
(3.36b)
Aceste proprietati de invarianta la translatie (translatia obiectului si translatia elementului structurant) pot avea mai multe interpretari. In primul rand, invarianta la translatie
asigura faptul ca forma rezultata prin dilatarea sau erodarea unei multimi este aceeasi,
indiferent de pozitia multimii prelucrate. In al doilea rand, relatiile enuntate asigura
suficienta considerarii doar a elementelor structurante ce contin originea; un element structurant ce nu contine originea poate fi obtinut prin translatie dintr-un element structurant
ce contine originea; multimea (forma) rezultata n urma prelucrarii va trebui translatata
n sens opus elementului structurant, dupa cum este exemplificat si n figura 3.15.
In acelasi grup de proprietati de invarianta a operatiilor morfologice se ncadreaza si
invarianta la scalare (omotetie). Daca este parametrul nenul de scalare, atunci:
1
1
1
1
(A B) = A B si (A B) = A B.
(3.37)
Relatiile de invarianta la scalare afirma ca rezultatul unei transformari morfologice aplicate unei versiuni scalate a formei A este identic cu aceeasi scalare aplicata rezultatului
transformarii morfologice a formei A prin acelasi element structurant scalat invers.
58
(3.38)
Monotonia fata de elementul structurant folosit este diferita: dilatarea este crescatoare,
iar erodarea este descrescatoare; daca B1 B2 , atunci:
A B1 A B2 si A B2 A B1 .
(3.39)
(3.40)
bB S {0n }
(3.42)
bB S {0n }
59
(3.44)
(3.45)
Erodarea nu este nici comutativa (sau pseudocomutativa) si nici asociativa. Mai mult,
asociativitatea erodarii se scrie ca:
(A B) C = A (B C)
(3.46)
Proprietatile de asociativitate ale dilatarii si erodarii pot fi interpretate si ca o descompunere a elementului structurant; daca un element structurant poate fi considerat ca
descompus prin dilatare ca X = B C, atunci operatia morfologica efectuata prin elementul structurant respectiv este echivalenta cu operatiile morfologice prin partile
descompunerii elementului structurant, efectuate succesiv, adica:
A X = (A B) C S si A X = (A B) C.
(3.47)
diferite de acesta din punctul de vedere al formei) - aplicatiile ce ar putea folosi o asemenea
comportare sunt separarea obiectelor dupa forma si dimensiune si eliminarea zgomotului suprapus scenei. Prin dilatare se pot grupa ntr-o singura entitate obiecte apropiate
si se pot umple golurile nglobate n obiecte. O consecinta foarte importanta a acestei
comportari este aceea ca dilatarea si erodarea nu sunt operatii inversabile (nu admit o
transformare inversa). Cu atat mai mult, dilatarea nu este inversa erodarii si erodarea nu
este inversa dilatarii.
(A B) B 6= A si (A B) B 6= A
(3.48)
(3.49)
(3.50)
(3.51)
(3.52)
3.4.2
(3.53)
(3.54)
Deschiderea si nchiderea
Dupa cum s-a aratat, erodarea si dilatarea nu sunt transformari inverse una alteia (deci
alternarea lor va produce un rezultat diferit de multimea originala ce a fost prelucrata).
Aceasta observatie conduce la ideea utilizarii unor iterari ale operatiilor morfologice de
baza, obtinand astfel operatii mai complexe, ale caror proprietati le fac mai adecvate
utilizarii n scopuri practice.
Deschiderea morfologica a multimii A prin elementul structurant B se defineste ca erodarea multimii cu elementul structurant respectiv, urmata de dilatarea cu elementul structurant simetrizat:
A B = (A B) B S .
(3.55)
Inchiderea morfologica a multimii A prin elementul structurant B se defineste ca dilatarea
multimii cu elementul structurant respectiv, urmata de erodarea cu elementul structurant
simetrizat:
A B = (A B) B S .
(3.56)
Proprietatea de baza a deschiderii si nchiderii morfologice este aceea ca sunt transformari
duale una alteia (proprietate ce deriva din dualitatea blocurilor constituente de baza,
dilatarea si erodarea). Aceasta proprietate permite interpretarea rezultatelor unei operatii
si deducerea proprietatilor acesteia pe baza caracteristicilor dualei sale.
(A B)C = AC B si (A B)C = AC B
(3.57)
In mod evident, rezultatul unei deschideri sau al unei nchideri este diferit de multimea
ce a fost prelucrata. Relatia dintre rezultatul prelucrarii si multimea initiala este data de
proprietatile de extensivitate ale transformarilor. Deschiderea morfologica este antiextensiva:
AB A
A B = (A B) B S =
(A B)t =
tB
Ab )t =
tB bB S
S T
Ab+t
tB bB S
T
bB S
Ab+t = A (
bB S
Ab+t ) A
bB S ,b6=t
(A B)t =
tB
Ab )t =
tB bB S
T S
Ab+t
tB bB S
Ab+t . Dar:
bB S
bB S ,b6=t
(3.60)
(3.61)
At B = (A B)t si At B = (A B)t
1
(A
B) = A 1 B si 1 (A B) = A 1 B
Daca A1 A2 : A1 B A2 B si A1 B A2 B.
Daca B1 B2 : A B2 A B1 si A B1 A B2
In ceea ce priveste proprietatile legate de comportarea fata de translatie a operatorilor
de deschidere si nchidere, merita subliniat faptul ca proprietatea este identica cu cea
a erodarii si dilatarii doar la translatia multimii prelucrate (rezultatul unei deschideri
sau nchideri a unei multimi este acelasi, indiferent de pozitia spatiala a multimii). In
cazul translatarii elementului structurant, rezultatul operatiei este acelasi, invariant la
translatie (ca rezultat a iterarii erodarii si dilatarii cu elemente structurante simetrice).
Pentru realizarea efectiva a operatiilor de deschidere si nchidere este importanta exprimarea acestora ca operatii la nivelul elementelor multimilor ce se prelucreaza (si nu ca o
iterare de operatii morfologice de baza).
Deschiderea poate fi exprimata ca multimea elementelor structurante translatate ce sunt
incluse n multimea de prelucrat:
S
AB =
Bx
Bx A
Inchiderea poate fi exprimata ca multimea punctelor pentru care toate elementele structurante translatate ce le contin au puncte comune cu multimea de prelucrat:
T
AB =
Bx
Bx A6=
Bx A6=
Pe baza acestor exprimari se pot deduce si efectele practice ale deschiderii si nchiderii
asupra formelor (multimilor). Prin deschidere, formele mai mici ca elementul structurant folosit vor fi eliminate, se largesc golurile nglobate n obiecte, contururile sunt
netezite prin tesirea convexitatilor iar obiectele unite prin istmuri sunt separate. Datorita proprietatii de dualitate, nchiderea va avea aceleasi efecte asupra fundalului (complementarei obiectelor) pe care le are deschiderea asupra multimilor. Inchiderea umple
golurile nglobate n obiecte (daca aceste gauri sunt mai mici decat elementul structurant
folosit), netezeste contururile formelor prin umplerea concavitatilor si uneste obiectele
foarte apropiate (umple stramtorile).
Efectele operatiilor de deschidere si nchidere pot fi considerate ca analoge efectelor unei
filtrari de netezire a formelor si eliminare a zgomotului (zgomot interpretat ca obiecte si
65
3.4.3
Transformarea Hit or Miss (numita si transformare n totul sau nimic) a fost introdusa n
[55] ca baza a definirii operatiilor morfologice, n cadrul formalizarii algebrice a morfologiei
matematice. Transformarea Hit or Miss se poate defini pe baza operatiilor de dilatare si
erodare ca:
A ~ B = (A B1 ) (A B2 )
(3.62)
cu B1 si B2 formand o partitie a elementului structurant B: B = B1 B2 si B1 B2 =
Expresia de definitie poate fi rescrisa ca:
A ~ B = (A B1) (A B2) = (A B1 ) (A B2 )C = (A B1 ) (AC B2 ) =
= {x|(B1 )x A} {x|(B2 )x AC }
Rezultatul aplicarii acestei transformari este identificarea elementelor a caror vecinatate
este identica cu configuratia elementului structurant B. Astfel, transformarea Hit or
Miss reprezinta poate cea mai primara si evidenta exemplificare a conceptului de studiu
al formei, nefiind altceva decat o potrivire de masti (pattern matching), asa cum este
exemplificat n figura 3.19.
depaseste cadrul morfologiei binare [55]. Astfel se pot cita asa numitele cazuri: cazul
petrografic (provenit din analiza hidrocarburilor si a mineralelor), n care p componente
mpart exact spatiul (fara a lasa locuri libere) si cazul geografic, n care p componente nu
ocupa ntreg spatiul si se pot ntrepatrunde (cazul zonelor de padure cu diferite specii de
copaci).
3.4.4
Morfologie matematic
a discret
a
Pana acum, operatiile prezentate s-au referit la cadrul continuu (Euclidian). In practica,
imaginile cu care se lucreaza sunt digitale - esantionate (sau discretizate, digitalizate), si
deci nu mai au un suport continuu. Suportul discret este dat de reteaua de esantionare
(grila, raster), iar elementele elementare ale imaginii (puncte) vor fi descrise prin coordonate ntregi. In aceste conditii structura de spatiu vectorial este pastrata, deci operatiile
ansambliste de baza (reuniune, intersectie, translatie), prin care se definesc operatiile morfologice, nu se modifica. Aceasta nseamna ca operatiile morfologice au aceleasi definitii,
efecte si proprietati ca si n cazul continuu. O exceptie notabila este proprietatea de
scalare, care nu mai este adevarata: operatorul de scalare nu este discretizabil.
Vom relua notiunea de operator digitizabil, asa cum este prezentat n [54]. Daca < este
rasterul pe care sunt definite imaginile digitale, atunci, pentru orice multime compacta
X, digitizarea sa este multimea:
D(X) = X <
Reciproc, daca X < este o multime digitala, acesteia i se poate asocia o multime
continua, numita prelungire, P (X), care, pentru cazul plan, este reuniunea tuturor triunghiurilor elementare a caror trei varfuri sunt n X, a tuturor segmentelor elementare a
caror extremitati sunt n X si a tuturor punctelor din X.
O transformare se zice digitizabila daca verifica relatia:
X <, D((P (X))) = (X)
In acest sens, dilatarea, erodarea, deschiderea si nchiderea sunt digitizabile. Scalarea nu
este nsa digitizabila, nici macar pentru factori de scala ntregi.
3.4.5
Pana n acest moment s-au prezentat operatiile morfologice clasice, adica aplicate asupra
unor seturi (multimi). Acestea prezinta limitarea implicita n aplicarea numai asupra unei
categorii particulare de imagini, si anume acelea a caror structura poate fi usor si imediat
asociata unor multimi, adica imaginile binare. Pentru extinderea operatiilor morfologice la
functii se vor construi transformari ce permit trecerea de la o reprezentare de tip functie la
o reprezentare de tip multime; o asemenea transformare a fost deja definita n introducere
ca umbra a unei multimi (3.32). Vom extinde acesta definitie la cazul general al unor
multimi de puncte din spatiul n-dimensional.
67
(3.64)
(3.65)
Ca si n cazul morfologiei pe multimi, g se numeste element structurant (functie structuranta). Se numeste element structurant flat, elementul structurant pentru care g(y) =
0, y Supp(g). Aceste elemente structurante de tip flat sunt echivalente cu cele folosite
n morfologia clasica pe multimi.
Forma echivalenta a definitiilor erodarii si dilatarii (folosite n mod efectiv n practica)
este, pentru x Supp(f ) :
f g =
min
ySupp(g)
{f (x y) g(y)} , f g =
68
max {f (x y) + g(y)}
ySupp(g)
(3.66)
Daca se utilizeaza elemente structurante plate (deci caracterizate doar de forma suportului, si nu si de valori asociate acestora), cele doua relatii de definitie devin identice cu
filtrarile de ordine de rang minim si respectiv maxim:
f g =
3.5
min
ySupp(g)
{f (x y)} , f g =
max {f (x y)}
ySupp(g)
(3.67)
Concluzii
Tehnicile de prelucrare a imaginilor bazate pe operatori de vecinatate au la baza combinarea (liniara sau neliniara) mai multor valori extrase din imagine din jurul pozitiei curent
prelucrate. Astfel, n fapt, se creaza o populatie statistica ce permite estimarea valorii
corecte din pozitia curent prelucrata, reducand efectul perturbatiilor de natura aleatoare
(zgomot) ce au afectat imaginea.
Fiecarui tip de perturbatie (distributie a valorilor de zgomot, interactiune a acestora cu
imaginea) i va corespunde un mod optimal de filtare. Nu exista filtre universale, care sa
se comporte la fel de bine n prezenta mai multor tipuri de zgomot.
Adaptarea filtrelor permite luarea n considerare si a caracteristicilor locale ale imaginii
(detalii, conturi) ce se doresc pastrate. Deducerea parametrilor caracteristici ai filtrului
este facuta n fiecare pixel al imaginii prelucrate, pe baza optimizarii unei masuri de
calitate a imaginii rezultat.
69
a)
b)
c)
d)
e)
f)
70
Capitolul 4
Transformate unitare
4.1
Introducere
4.2
Cazul unidimensional
T
u = u(0) u(1) u(N 1) . Se defineste transformata lui u ca fiind vectorul
T
coloana v = v(0) v(1) v(N 1)
obtinut ca:
v = Au.
(4.2)
N
1
X
a(k, n)u(n), k = 0, 1, . . . , N 1.
n=0
71
(4.3)
Transformata inversa, care permite recuperarea vectorului original u din cel transformat
v se scrie, tinand cont de (4.1):
u = AT v,
(4.4)
sau, element cu element:
u(n) =
N
1
X
a (k, n)v(k), n = 0, 1, . . . , N 1.
(4.5)
k=0
AT = a0 a1 aN 1 ,
(4.6)
unde ak sunt vectorii coloana:
a (k, 0)
a (k, 1)
..
.
ak =
(4.7)
a (k, N 1)
Cu aceste notatii, relatiile care dau transformata directa (4.3), respectiv pe cea inversa (4.4), pot fi scrise sub forma:
v(k) = aT
k u = hak , ui k = 0, 1, . . . , N 1,
(4.8)
respectiv:
u=
N
1
X
v(k)ak ,
(4.9)
k=0
unde cu hw1 , w2 i a fost notat produsul scalar ntre vectorii coloana w1 , w2 CN 1 , definit
ca:
N
1
X
T
hw1 , w2 i = w1 w2 =
w1 (i)w2 (i).
(4.10)
i=0
Calculul lui u din relatia (4.9) se interpreteaza ca o descompunere a acestuia ntr-o alta
baza a lui CN , si anume cea formata din coloanele matricii AT : {a0 , a1 , . . . , aN 1 }.
Coeficientii dezvoltarii lui u n aceasta baza sunt chiar componentele v(k) ale vectorului
transformat v. Conform (4.8), acestia se obtin prin produs scalar ntre vectorul dezvoltat
u si axa ak , care nu reprezinta altceva decat proiectia lui u pe ak .
In plus, noua baza n care se reprezinta semnalul este ortonormala, fapt asigurat de
conditia (4.1) de unitaritate impusa matricii A. Intr-adevar, (4.1) se poate rescrie ca:
AAT = IN ,
ceea ce, scris explicit n functie de vectorii ak , devine:
aT
0
aT
1
.. a0 a1 aN 1 =
.
T
aN 1
72
(4.11)
0 0
1 0
.. . . .. .
. .
.
0 0 1
1
0
..
.
(4.12)
aT
i aj
= hai , aj i =
1 daca i = j
,
0 n rest
(4.13)
ceea ce este echivalent cu a spune ca baza {ak }k=0,...,N 1 pe care se descompune vectorul
original u este ortonormala, ntrucat fiecare doi vectori din set sunt perpendiculari, iar
norma fiecaruia este unu!
Pentru fixarea notiunilor, sa consideram un exemplu pentru care avem o reprezentare geometrica, respectiv N = 2. Fie vectorul u = [5, 2]T din figura 4.1. Cele doua componente
ale vectorului u reprezinta
coeficientii dezvoltarii vectorului n baza canonica ex = [1, 0]T , ey = [0, 1]T aleasa din oficiu pentru
reprezentarea oricarui vector din R2 . Cu alte cuvinte, u = [5, 2]T este echivalent cu:
u = 5ex + 2ey ,
cu
hex , ui = 5
hey , ui = 2
u
2
ey
ey
ex
5
ex
Insa {ex , ey } nu este singura baza a lui R2 . Sa consideram, spre exemplu, baza e0x , e0y obtinuta printr-o
rotatie a bazei canonice cu un unghi astfel ales ncat versorul e0x sa devina coliniar cu vectorul considerat
u. Un calcul geometric simplu ne conduce la:
"
e0x
5
29
2
29
"
, e0y
he0x , ui = 29
0
ey , u = 0
73
229
5
29
#
.
29e0x
0e0y
e0x
e0y
29
0
"
5
29
2
29
{z
29
5
29
AT
#
}|
29
.
0
{z }
v
Deci, vectorul transformat v = [ 29, 0]T este noua reprezentare a lui u n baza considerata.
4.3
Cazul bidimensional
N
1 N
1
X
X
k, l = 0, 1, . . . N 1.
(4.14)
m=0 n=0
Prin analogie cu relatia (4.9), transformata inversa, prin care se recupereaza imaginea originala din cea transformata, este data de combinatia liniara a matricilor Akl cu coeficientii
scalari v(k, l):
U=
N
1 N
1
X
X
v(k, l)Akl .
(4.15)
k=0 l=0
1
Unicul motiv al notarii, aparent nenecesare, sub forma conjugata a elementelor matricilor Akl este
pastrarea n proportie de 100% a compatibilitatii cu relatiile ce caracterizeaza cazul unidimensional.
74
N
1 N
1
X
X
m, n = 0, 1, . . . , N 1.
(4.16)
k=0 l=0
In plus, pentru ca transformata sa fie unitara, este necesar ca noua baza de reprezentare
a imaginii, formata din cele N 2 matrici Akl , sa fie ortonormata, cu alte cuvinte, trebuie
sa existe relatia :
N
1 N
1
X
X
1 daca i = k si j = l
,
(4.17)
hAkl , Aij i =
akl (m, n)aij (m, n) =
0 n rest
m=0 n=0
k, l, m, n = 0, 1, . . . , N 1.
(4.18)
Se poate arata direct ca, pentru ca ortonormalitatea bazei formate din matricile Akl sa
fie respectata si n cazul separabil, este necesar si suficient ca matricea A sa fie ea nsasi
unitara.
Introducand constrangerea (4.18) n definitiile unei transformate unitare oarecare (4.14)
si (4.16), obtinem relatiile de calcul ale unei transformate separabile directe:
v(k, l) =
N
1 N
1
X
X
k, l = 0, 1, . . . , N 1,
(4.19)
m, n = 0, 1, . . . , N 1,
(4.20)
m=0 n=0
respectiv inverse:
u(m, n) =
1
N
1 N
X
X
k=0 l=0
(4.21)
U = AT VA .
(4.22)
respectiv
Sa facem n continuare urmatoarea observatie importanta, care justifica apelativul de
separabil atasat acestui tip de transformata: folosind relatia conform careia, pentru doua
matrici oarecare avem (AB)T = BT AT , putem rescrie relatia (4.21) sub forma
T
V = A (AU)T ,
(4.23)
75
U = u0 u1 uN 1 .
(4.24)
Cu aceasta notatie, putem scrie coloanele matricii AU sub forma:
(4.25)
Cu alte cuvinte, putem afirma, aducandu-ne aminte de (4.2), ca fiecare coloana a matricii
AU rezultata dupa pasul 1 reprezinta transformata unidimensionala a coloanei
respective a matricii U.
Apoi, n pasul 2, matricea AU este transpusa, ceea ce face ca liniile sa devina coloane si
viceversa. Conform celor de mai sus, nmultirea din nou la stanga cu matricea A din
pasul 3 corespunde aplicarii nca o data a transformatei unitare unidimensionale definite
de A coloanelor lui (AU)T , adica liniilor lui AU. Transpunerea din pasul 4 face ca liniile
sa redevina linii si coloanele, coloane.
In rezumat, putem afirma ca o transformata unitara bidimensionala separabila se reduce
la aplicarea transformatei unitare unidimensionale respective, mai ntai pe fiecare coloana
a imaginii, iar apoi, pe fiecare linie.
O ultima observatie generala referitoare la transformatele bidimensionale este legata de
cazul n care suportul imaginii originale nu este patrat, cum s-a considerat pana n prezent.
In cazul n care dimensiunile imaginii originale U sunt M N , cu M 6= N , este nevoie
de doua matrici unitare, AM CM M , respectiv, AN CN N , cu ajutorul carora se
calculeaza imaginea transformata V CM N conform cu:
V = AM UATN ,
(4.26)
U = AT
M VAN .
(4.27)
4.4
Propriet
ati ale transformatelor unitare
Una dintre cele mai importante aplicatii ale transformatelor este compresia de date, care
este posibila datorita proprietatii transformatelor utilizate n practica de a compacta energia ntr-un numar redus de coeficienti n spatiul transformatei. Sa precizam pentru
76
(4.28)
IN
4.5
2j(km + ln)
u(m, n) exp
v(k, l) =
,
N
m=0 n=0
1
N
1 N
X
X
k, l = 0, 1, . . . , N 1.
(4.29)
m, n = 0, 1, . . . , N 1.
(4.30)
N 1 N 1
1 XX
2j(km + ln)
u(m, n) = 2
,
v(k, l) exp
N k=0 l=0
N
Din cauza factorului de scalare N12 ce apare numai n transformarea inversa, definitia
transformatei Fourier discrete de mai sus nu se potriveste perfect cu cadrul general al
2
77
N 1 N 1
1 XX
2j(km + ln)
v(k, l) =
u(m, n) exp
, k, l = 0, 1, . . . , N 1, (4.31)
N m=0 n=0
N
respectiv
N 1 N 1
1 XX
2j(km + ln)
u(m, n) =
v(k, l) exp
,
N k=0 l=0
N
m, n = 0, 1, . . . , N 1,
(4.32)
2jkn
1
f (k, n) = exp
.
N
N
(4.33)
(4.34)
(4.35)
Evident, diferenta ntre cele doua definitii ale transformatei Fourier discrete (cea neunitara
si cea unitara) este strict cantitativa, la nivel de factor de scalare. In continuare, vom
considera cazul unitar, neuitand nsa ca absolut toate concluziile pe care le tragem sunt
valabile si pentru transformata Fourier neunitara.
4.5.1
2l
(imagine) ca o suma de cosinusoide spatiale de tip f (m, n) = cos N m + N n cu k, l Z.
Forma unei astfel de functii plane seamana cu o tabla ondulata, dupa cum este ilustrat
n figura 4.2.
Rezulta, deci, ca descompunerea Fourier ne da o scriere a imaginilor noastre, care sunt
niste functii bidimensionale,
ca o sum
2k
a (suprapunere) de astfel de table ondulate dupa
2l
toate frecventele spatiale N , N posibile (n figura 4.3 sunt prezentate cateva dintre
aceste functii de baza). Din (4.32), rezulta ca valoarea complexa v(k, l) contine toate
informatiile referitoare la ponderea cosinusoidei respective. Astfel, modulul |v(k, l)| ne da
v(k,l)
reprezinta faza (adica deplasarea spatial
a)
amplitudinea cosinusoidei, n timp ce faza |v(k,l)|
cosinusoidei.
4.5.2
Propriet
atile transformatei Fourier discrete
1.5
0.5
0.5
1.5
50
100
150
200
(a)
1.5
0.5
0.5
0.5
0.5
50
100
150
200
250
300
350
400
450
500
(b)
1.5
1.5
250
300
350
400
450
1.5
500
(c)
100
200
300
400
500
(d)
trul Fourier localizate simetric fata de punctul din mijloc 2 , 2 sunt complex conjugate.
Aceasta poate fi exprimat matematic ca:
v(N k, N l) = v (k, l),
k, l = 0, 1, . . . , N 1.
(4.36)
Demonstratia afirmatiei de mai sus se face calculand v(N k, N l) din (4.31) si folosind
79
k=3;l=3
k=3;l=2
k=3;l=1
k=3;l=0
k=3;l=1
k=3;l=2
k=3;l=3
k=2;l=3
k=2;l=2
k=2;l=1
k=2;l=0
k=2;l=1
k=2;l=2
k=2;l=3
k=1;l=3
k=1;l=2
k=1;l=1
k=1;l=0
k=1;l=1
k=1;l=2
k=1;l=3
k=0;l=3
k=0;l=2
k=0;l=1
k=0;l=0
k=0;l=1
k=0;l=2
k=0;l=3
k=1;l=3
k=1;l=2
k=1;l=1
k=1;l=0
k=1;l=1
k=1;l=2
k=1;l=3
k=2;l=3
k=2;l=2
k=2;l=1
k=2;l=0
k=2;l=1
k=2;l=2
k=2;l=3
k=3;l=3
k=3;l=2
k=3;l=1
k=3;l=0
k=3;l=1
k=3;l=2
k=3;l=3
Periodizare n frecvent
a
Conform (4.31), transformata Fourier discreta a unei imagini de dimensiune N N este si
ea de dimensiune N N , adica este definita numai pentru k, l = 0, 1, . . . , N 1. Daca ne
punem problema extinderii spectrului Fourier discret n afara domeniului {0, . . . , N 1}
{0, . . . , N 1}, cu alte cuvinte, daca vrem sa calculam valoarea n orice punct (k, l) Z2
a spectrului Fourier care corespunde imaginii noastre originale, atunci aceasta trebuie
80
facuta prin periodizare cu perioada N pe fiecare directie, adica este valabila relatia:
v(k + N, l + N ) = v(k, l),
k, l Z.
(4.37)
Demonstratia relatiei de mai sus se face simplu, calculand v(k + N, l + N ) din (4.31) si
folosind faptul ca exp(2jk) = 1, k Z.
O consecinta directa a acestei proprietati este urmatoarea: daca reprezentam spectrul
Fourier al unei imagini obtinut conform (4.31), vom avea frecventa (0, 0) n coltul din
stanga sus al matricii (vezi patratul delimitat de linia punctata din Figura 4.4).
0
0
N1
N1
(4.38)
(a)
(b)
(c)
Figura 4.5: (a) Imagine cu nivele de gri. (b) Amplitudinea spectrului Fourier bidimensional original al imaginii (a). (c) Amplitudinea spectrului Fourier bidimensional al imaginii (a) dupa rearanjarea frecventelor cu frecventa (0, 0) la miloc.
Se impune din capul locului observatia ca aceasta periodizare a imaginii nu este o
abstractizare nenecesara, ci este o realitate: pur si simplu, din perspectiva spectrului
V, imaginea noastra extinsa n Z2 se obtine prin periodizarea la infinit a imaginii originale
definite n {0, . . . , N 1} {0, . . . , N 1}. Evident, daca ne uitam numai n interiorul
intervalului {0, . . . , N 1} {0, . . . , N 1}, atunci cele doua imagini cea originala si
cea extinsa coincid.
Consecinta directa cea mai deranjanta a acestei situatii poate fi explicata prin exemplul
urmator. Sa consideram imaginea unei cosinusoide spatiale din figura 4.6.a. Spectrul
imaginii respective, prezentat n figura 4.6.b, difera destul de mult de asteptarile noastre3 prezentand, pe langa cele doua maxime pronuntate la care ne asteptam, numeroase
componente parazite.
Prezenta acestor componente poate fi explicata exact prin faptul ca spectrul a fost calculat
3
Stim ca spectrul unui semnal continuu cosinusoidal pur de frecventa 0 este format din doua impulsuri
Dirac, pe frecventele 0 si 0 . Prin extindere directa, ne asteptam ca spectrul unui semnal cosinusoidal
bidimensional de frecvente (x , y ) sa fie si el format din doua impulsuri Dirac pe frecventele (x , y ),
respectiv (x , y ).
82
(a)
(b)
situati pe oricare din marginile imaginii, si, deci, reducerea frontierelor false din semnalul
periodizat. Evident, efectul negativ este pierderea de informatie implicata de ferestruire
(practic, se scade ponderea informatiei continute pe marginile imaginii n detrimentul celei
din centru). In figura 4.8 sunt prezentate cosinusoida din figura 4.6.a dupa ferestruire,
precum si spectrul sau. Comparand spectrele din 4.6.b si 4.8.b, se poate observa efectul
ferestruirii, de reducere a componentelor parazite.
(a)
(b)
Figura 4.8: (a) Imaginea din figura 4.6 dupa ferestruire cu o fereastra Hamming bidimensionala si amplitudinea spectrului ei.
Proprietatea convolutiei
Proprietatea convolutiei transformatei Fourier afirma ca o convolutie ntre doua semnale n domeniul original (temporal sau spatial) este echivalenta cu produsul punctual
(frecventa cu frecventa) al spectrelor Fourier ale celor doua semnale. Aceasta proprietate
este esentiala pentru notorietatea de care se bucura transformata Fourier, ntrucat are
aplicatie directa la studiul sistemelor liniare, invariante n timp, a caror iesire este data
de convolutia ntre semnalul de intrare si o functie proprie a sistemului (numita functie
pondere).
In cazul semnalelor bidimensionale cu suport discret, se defineste convolutia ntre semnalele f1 si f2 ca:
l, c Z.
(4.39)
m= n=
Prin compararea definitiei (4.39) cu ecuatia (3.2), ce descrie actiunea unui filtru liniar
asupra unei imagini, se observa ca filtrarea liniara a unei imagini nu este altceva decat o
convolutie bidimensionala ntre imaginea originala si masca de filtrare (ambele prelungite
n Z2 prin adaugare de zerouri).
84
n) =
(unde V este vecinatatea de dimensiuni
0
n rest
M1 M2 specifica nucleului de filtrare respectiv).
Se calculeaza transformatele Fourier discrete bidimensionale n N N puncte ale
(k, l), conform cu (4.31).
celor doua imagini, F (k, l) si W
Se calculeaza produsul punctual al celor doua spectre Fourier:
l) = F (k, l)W
(k, l),
G(k,
k, l = 0, 1, . . . , N 1.
(4.40)
l) n N N puncte,
Se calculeaza g(m, n), transformata Fourier inversa a lui G(k,
dupa (4.32).
Atunci, n primele (N1 + M1 1) (N2 + M2 1) puncte, semnalul rezultat g(m, n)
coincide cu rezultatul convolutiei spatiale g(m, n) = f (m, n) ? ?w(m, n):
g(m, n) = g(m, n),
(a)
(b)
(c)
Figura 4.9: Echivalentul spatial al unei filtrari liniare trecejos n planul Fourier prin bordarea nucleului cu zerouri pana la dimensiunea imaginii (gresit!): (a) Imaginea originala
periodizata, (b) Nucleul de filtrare bordat si periodizat (c) Rezultatul convolutiei spatiale
dintre imaginile (a) si (b).
Situatia este ilustrata n figurile 4.9 si 4.10. In figura 4.9 este prezentat cazul n care se
bordeaza numai nucleul (imaginea de dimensiuni mai mici) pana la dimensiunea imaginii
mai mari, si se face produsul spectrelor Fourier ale imaginii (nebordate) si al nucleului
bordat la aceasta dimensiune. Se observa interferenta ntre valorile situate pe laturile
extreme (susjos, stangadreapta), care nu are echivalent n convolutia curata efectuata
n domeniul spatial.
In figura 4.10 este prezentat cazul (corect) n care se bordeaza atat imaginea, cat si nucleul.
Prin introducerea bordurii de zerouri imaginii, interferenta descrisa mai sus nu mai are
loc, si, deci, rezultatul corespunde ntru totul unei convolutii spatiale reale.
Importanta proprietatii convolutiei este atat de natura teoretica, cat si practica. Din
punct de vedere teoretic, este interesant a analiza nucleele de convolutie din punctul de
4
Adica fiecare imagine sa fie bordata cu cel putin atatea linii si coloane de zerouri cate linii si coloane
are cealalta imagine!
86
Figura 4.10: Rezultatul implementarii unei filtrari liniare trecejos n planul Fourier prin
bordarea corespunzatoare atat a imaginii cat si a nucleului.
vedere al distributiei lor spectrale. Astfel putem distinge, ca si n cazul semnalelor, nuclee
trecejos (de netezire) care elimina (atenueaza) componentele pe frecvente nalte, precum
si nuclee trecesus (de tip laplacian) care, dimpotriva, elimina componentele de frecventa
joasa. In figura 4.11 sunt prezentate amplitudinile spectrelor a doua nuclee de filtrare: un
nucleu de mediere 3 3, cu un comportament frecvential de tip trecejos, respectiv un
nucleu laplacian, de tip trecesus.
(a)
(b)
Figura 4.11: Amplitudinile spectrelor Fourier (calculate n 256 256 puncte), ale unui
nucleu de mediere 3 3 (a), respectiv ale unui nucleu laplacian (b)
Cu titlu informativ, implementarea n frecventa a convolutiei ntre o imagine 256 256 si un nucleu
28 28 este de aproximativ doua ori mai rapida decat implementarea n timp.
87
4.6
1
N
2
cos (2n+1)k
N
2N
daca k = 0
daca k 6= 0
(4.42)
Intrucat elementele matricii C sunt reale, rezulta ca transformata cosinus discreta a unei
imagini U de dimensiune N N poate fi scrisa matricial ca:
V = CUCT ,
(4.43)
(4.44)
N 1 N 1
(2m + 1)k
(2n + 1)l
(k)(l) X X
v(k, l) =
u(m, n) cos
cos
, k, l = 0, 1, . . . , N 1,
N
2N
2N
m=0 n=0
(4.45)
respectiv,
N
1 N
1
X
X
(k)(l)
(2m + 1)k
(2n + 1)l
u(m, n) =
v(k, l) cos
cos
, m, n = 0, 1, . . . , N 1,
N
2N
2N
k=0 l=0
(4.46)
1
dac
a
k
=
0
unde (k) =
.
2 daca k 6= 0
Se poate demonstra (vezi [33]) ca transformata cosinus discreta poate fi si ea implementata
printr-un algoritm rapid, de complexitate O{N 2 log N } (de altfel, se poate demonstra
ca valorile transformatei cosinus discrete a unei imagini pot fi calculati pornind de la
coeficientii transformatei Fourier discrete a imaginii respective). De asemenea, se poate
demonstra [33, 11] ca matricea C din (4.42) este foarte apropiata de matricea transformarii
optimale KarhunenLo`eve pentru semnale Markov de ordinul unu puternic corelate.
O alta proprietate extrem importanta a transformatei cosinus discrete, care justifica din
alt unghi de vedere performantele excelente ale acesteia de compactare a energiei, este
faptul ca extensia imaginii n afara domeniului {0, . . . , N 1} {0, . . . , N 1}, conform
relatiei (4.46), nu se face prin periodizare (ca n cazul transformatei Fourier) ci prin
oglindire, atat pe axa stanga-dreapta, cat si susjos. In figura 4.12 este ilustrat modul
n care se face extinderea imaginii n Z2 .
Extinderea prin oglindire face ca spectrul TCD sa corespunda unui semnal cu mai putine
tranzitii bruste, ntrucat sunt eliminate falsele tranzitii dreaptastanga, respectiv jos
sus aferente unei extinderi prin periodizare (a se compara, spre exemplu, imaginile din
figurile 4.12.(b) si 4.9.(a)). Prin urmare, ne asteptam ca numarul componentelor importante din domeniul transformatei sa fie mai redus decat la o transformata care implica o
88
(a)
(b)
Figura 4.12: Extinderea n Z2 a unei imagini vazuta prin prisma spectrului sau calculat
cu transformata cosinus discreta: (a) Imagine originala. (b) Imagine extinsa.
extensie prin periodizare. In figura 4.6 este prezentat spectrul de amplitudini n planul
transformatei cosinus discrete al imaginii din figura 4.12.(a): se poate observa numarul
extrem de crescut de componente de valoare redusa, componente a caror eliminare ar
implica pierderi minimale pentru imaginea reconstruita.
Toate aceste proprietati fac ca transformata cosinus discreta sa fie folosita n standardul
de compresie de imagini JPEG. Mai multe detalii despre acest subiect vor fi prezentate
n capitolul 10.
89
4.6.1
Transformata sinus discreta este data de matricea unitara S = {s(k, n)}k,n=0,...,N 1 , avand
elementele date de:
r
(k + 1)(n + 1)
2
s(k, n) =
sin
.
(4.47)
N +1
N +1
Avand n vedere ca matrices S este atat reala cat si simetrica, rezulta ca transformata
sinus discreta a imaginii U se scrie:
V = SUS,
(4.48)
(4.49)
90
Partea II
Analiza imaginilor
91
93
94
Capitolul 5
Segmentarea orientat
a pe regiuni
Segmentarea se refera la descompunerea unei scene (imagini) n partile sale constituente
(componente, elemente) [33], [68], [8] sau extragerea din scena a componentei de interes
pentru aplicatie. Segmentarea este n general o problema ambigua, atata timp cat exista
mai multe solutii corecte de segmentare ale aceleiasi imagini (cu exceptia unor aplicatii
specifice din domenii precis delimitate, precum defectoscopia sau recunoasterea optica
a caracterelor tiparite OCR (Optical Character Recognition)). Din punct de vedere
matematic putem exprima segmentarea unei imagini f ca o partitionare a suportului
spatial al acesteia ntr-un ansamblu de K multimi fi disjuncte, nevide, ce satisfac individual un anume criteriu de definitie {, criteriu ce nu mai este respectat de orice pereche
de multimi (fi , fj ):
f=
fi
K
[
fi , fi 6= , i
(5.1a)
i=1
fj = , i 6= j
{ (fi ) = ADEVARAT,
i
[
{ fi fj = FALS, i 6= j
(5.1b)
(5.1c)
(5.1d)
1 X i2
K
1000N
ni
i=1
2 !
K
1 X
N b(ni ))
i2
+
.
Q=
K
1000N
log
n
n
i
i
i=1
Q=
(5.2)
(5.3)
In expresiile de mai sus, N este numarul de pixeli din imagine, K este numarul de regiuni
obtinute prin segmentare, i2 este varianta nivelelor de gri a celor ni pixeli din regiunea
fi , iar N b(ni ) este numarul de regiuni ce au acelasi numar de pixeli, ni .
Principala distinctie ntre diferitele tehnici de segmentare orientata pe regiuni se refera
la domeniul primar de cautare (adica domeniul n care se ncearca separarea pixelilor din
imagine dupa tipurile de obiecte cautate): domeniul spatial si domeniul valorilor.
Segmentarea n domeniul spatial foloseste initial (n mod fundamental) informatia de
pozitie a pixelilor. Obiectele (regiunile) identificate prin segmentare sunt fundamental
conexe, ndeplinirea criteriului de definitie actionand ca un criteriu de limitare. Cresterea
regiunilor si etichetarea imaginilor binare sunt asemenea metode de segmentare. In cazul
etichetarii imaginilor binare, uniformitatea valorilor este evidenta pentru orice componenta, mai trebuind a fi asigurata conexitatea.
Segmentarea n domeniul (spatiul) valorilor foloseste numai informatia de valoare a pixelilor, fara a considera si distributia spatiala a acestor valori. Ca rezultat al acestei
partitionari bazate numai pe valoare, multimile-obiect identificate nu sunt conexe (ceea
ce poate fi exprimat prin aceea ca, la nivelul multimilor identificate prin segmentare,
criteriul de definitie { nu include ipoteza de conexitate). Intotdeauna este necesar ca
segmentarea n domeniul valorilor sa fie urmata de o etichetare a imaginilor binare ce
corespund regiunilor de interes.
5.1
pixel al imaginii are patru vecini (ce formeaza ceea ce se numeste vecinatatea imediata a
punctului). Vecinatatea imediata a punctului de coordonate (l, c) este multimea V4 (l, c) =
{(l 1, c), (l + 1, c), (l, c 1), (l, c + 1)} si este reprezentata n figura 5.1 a). Pentru o
conexitate de tip V8 fiecare pixel al imaginii are opt vecini (ce formeaza ceea ce se numeste
vecinatatea extinsa a punctului).
S Vecinatatea extinsa a punctului de coordonate (l, c) este
multimea V8 (l, c) = V4 (l, c) {(l 1, c 1), (l + 1, c 1), (l 1, c + 1), (l + 1, c + 1)} si
este reprezentata n figura 5.1 b). Un drum ntre doua puncte ale imaginii este o secventa
a)
b)
5.1.1
Cresterea regiunilor
Principiul pe care se bazeaza cresterea regiunilor este simplu: se aleg n imagine puncte
reprezentative pentru fiecare obiect individual si/sau categorie de obiecte, n jurul carora
are loc un proces de aglomerare a pixelilor vecini, ce au aceleasi proprietati (n particular
acelasi nivel de gri sau aceeasi culoare). In urma acestui proces de aglomerare (adaugare de
puncte) se obtin zone (regiuni) de pixeli cu aceleasi caracteristici, deci obiecte individuale.
Procesul se opreste n momentul n care toate punctele imaginii au fost alocate cate unei
regiuni. Evident, metoda astfel descrisa pe scurt, are doua etape esentiale: alegerea
punctelor de start (puncte initiale), numite germeni sau seminte, si cresterea propriu-zisa
a regiunilor [68], [8].
Alegerea germenilor
Este evident ca numarul final de regiuni rezultate este egal cu numarul de germeni initiali.
In principiu, este de dorit ca fiecare obiect individual aflat n imagine sa fie marcat de cate
un germene unic. Daca n interiorul unui aceluiasi obiect se gasesc mai multi germeni,
pentru fiecare dintre ei va fi crescuta o regiune, ceea ce face ca obiectul initial sa fie mpartit
artificial prin segmentare n mai multe regiuni. Partial, acest neajuns se poate corecta
printr-o etapa ce urmeaza cresterii regiunilor, si anume fuziunea regiunilor adiacente ce
au proprietati asemanatoare. Daca n interiorul unui obiect nu este ales nici un germene,
obiectul respectiv va fi nglobat de regiunile ce cresc pornind de la germeni din vecinatatea
sa spatiala; astfel, respectivul obiect nu apare ca o regiune distincta si este pierdut,
rezultand o eroare grava de segmentare.
97
5
3
1
6
2
Cresterea propriu-zis
a
Pornind de la germenii alesi, regiunile sunt obtinute printr-un proces de crestere aproape
simultana, nceputa de la acestia, pana cand toti pixelii imaginii sunt repartizati unei
regiuni. Cvasi-simultaneitatea cresterii poate fi realizata cu un algoritm serial, prin alocarea pixelilor ce sunt adiacenti (vecini) zonelor deja segmentate. Aceasta alocare trebuie
sa tina seama de criteriul ca regiunile crescute sa fie uniforme: nivelul de gri al pixelului
ce se adauga nu trebuie sa difere cu mai mult de un prag prestabilit fata de nivelul de gri
al germenului regiunii la care se aloca. In acelasi timp, la o singura trecere, numarul de
puncte ce se adauga unei regiuni nu poate depasi un numar prestabilit (conditie ce ncearca
sa asigure cresterea relativ uniforma si izotropa a tuturor regiunilor). Daca adaugarea de
noi pixeli se blocheaza (criteriul de uniformitate nu mai este respectat), diferenta maxim
admisa pentru nivelul de gri poate fi crescuta n etape, pana la alocarea tuturor pixelilor
imaginii.
Alegerea pragului (a diferentei maxim admise de nivele de gri) dintre pixelii ce se adauga
unei regiuni si germene este o problema ce nu are o solutie universala: diferenta maxim
admisa poate varia de la o imagine la alta, si chiar ar putea fi diferita de la o regiune la
alta a aceleiasi imagini. Rezultatul cresterii regiunilor depinde n mod esential de alegerea
corespunzatoare a acestui parametru, dupa cum arata si exemplul din figura 5.3.
Avantajele pe care le are tehnica de crestere a regiunilor sunt acelea ca nu mai este necesara nici o informatie privind continutul imaginii, regiunile crescute sunt conexe, nu exista puncte neetichetate (nealocate vreunei regiuni) si pozitia frontierelor dintre diferitele
regiuni corespunde pozitiei frontierelor percepute subiectiv n imagine. Figura 5.3 prezinta
un exemplu de segmentare a unui obiect dintr-o imagine prin cresterea regiunilor.
99
5.1.2
Imaginile binare sunt definite de doar doua valori posibile pe care le pot lua punctele
acestora: 0 si 1. In mod conventional se considera ca valoarea 1 corespunde punctelorobiect (puncte de interes) din imagine, n timp ce valoarea 0 defineste punctele fundalului
(sau fondului imaginii). Etichetarea imaginilor binare are ca obiectiv identificarea si
separarea obiectelor individuale din imagine, deci marcarea tuturor punctelor ce apartin
unui anumit obiect cu o eticheta unica, diferita de etichetele celorlalte obiecte prezente.
Fiecare obiect individual este o componenta conexa distincta.
Etichetarea secvential
a iterativ
a
Etichetarea secventiala iterativa [12] este cea mai simpla metoda de etichetare. Aceasta
metoda se compune din mai multe perechi de baleiaje succesive ale imaginii, care se ncheie
n momentul stabilirii etichetelor definitive ale obiectelor. Fiecare pereche de baleiaje se
compune dintr-un baleiaj direct (n ordinea normala de parcurgere a unei imagini, deci pe
linii, de la stanga la dreapta si de sus n jos) si un baleiaj invers (pornind din coltul din
dreapta jos al imaginii, o parcurgere pe linii de la dreapta la stanga si de jos n sus). La
fiecare trecere prin imagine (baleiaj), pentru punctele de tip obiect, se executa o aceeasi
structura algoritmica simpla: daca punctul curent are predecesori (n ordinea de baleiaj
curenta) deja etichetati, atunci punctul curent capata o eticheta identica cu eticheta
minima 1 a predecesorilor sai; daca nu are predecesori deja etichetati, atunci i se atribuie
o noua eticheta (daca baleiajul curent este primul baleiaj direct executat) sau eticheta sa
ramane neschimbata (daca baleiajul curent nu este primul baleiaj executat). Etichetele noi
se obtin prin incrementarea cu 1 a etichetei maxime existente. Prima eticheta are valoarea
1. Algoritmul se ncheie atunci cand dupa o pereche de baleiaje (direct si invers), etichetele
nu se mai modifica. Un pseudocod ce implementeaza algoritmul descris este prezentat n
tabelul 5.1.
Predecesorii unui punct sunt pixelii imaginii, din vecinatatea extinsa sau imediata a
punctului considerat, ce au fost deja parcursi (vizitati) n baleiajul curent. Astfel, pentru baleiajul direct, predecesorii punctului de coordonate (l, c), n conexitate
V4 sunt (vezi figura 5.4 a)) AntV4 (l, c) = {(l 1, c), (l, c 1)}, iar n conexitate V8
sunt AntV8 (l, c) = {(l 1, c 1), (l 1, c), (l 1, c + 1), (l, c 1)}. Pentru baleiajul invers, predecesorii punctului de coordonate (l, c), n conexitate V4 sunt AntV4 (l, c) =
{(l + 1, c), (l, c + 1)}, iar n conexitate V8 sunt (vezi figura 5.4 b)) AntV8 (l, c) =
{(l + 1, c + 1), (l + 1, c), (l + 1, c 1), (l, c + 1)}.
Numarul de iteratii necesar pentru etichetarea unei imagini este variabil si depinde de
continutul acesteia. In cazul n care toate obiectele din imagine sunt convexe, o singura pereche de baleiaje este suficienta pentru a eticheta corespunzator imaginea. Daca
1
Acesta presupune faptul ca etichetele sunt numerice, cel putin pentru executia algoritmului. Etichete
oarecari (siruri de simboluri) se pot obtine transformand, printr-un tabel de corespondenta, etichetele
numerice din imaginea deja etichetata.
100
a)
b)
Dupa primul baleiaj al imaginii, tabelul de corespondenta este actualizat astfel ncat
fiecarui indice sa i corespunda eticheta finala a obiectului; etichetele atribuite obiectelor
nu vor fi neaparat n ordine. Pseudocodul corespunzator acestei prelucrari este dat n
tabelul 5.3. Finalul algoritmului (deci dupa actualizarea tabelului de corespondente) construieste imaginea de etichete finala prin nlocuirea n imaginea intermediara de etichete
a fiecarei valori j cu T (j).
pentru j de la 1 la jmax
k=j
c
at timp T (k) 6= k execut
a
k = T (k)
T (j) = k
Tabela 5.3: Pseudocodul corespunz
ator actualizarii tabelei de corespondente ntre etichete.
5.2
5.2.1
Segmentarea pe histogram
a
Cel mai simplu si evident parametru de caracterizare este chiar nivelul de gri al pixelilor, ce
corespunde n scena unei proprietati fizice ce este preluata de senzorul de imagine. In acest
caz, histograma imaginii reflecta distributia n scena a proprietatii fizice nregistrate. Daca
nivelul de gri (respectiv proprietatea fizica pe care acesta o reprezinta) caracterizeaza n
mod suficient obiectele din scena, histograma imaginii va prezenta o structura de moduri
dominante intervale disjuncte de nivele de gri ce apar cu probabilitate mai mare. Fiecare
asemenea mod (maxim al histogramei) va reprezenta o anumita categorie de obiecte si
vom numi clasa intervalul de nivele de gri alocat unui anume tip de obiect (vezi figura
5.5). Dupa cum am aratat si n sectiunea 2.2, histograma unei imagini cu M nivele de gri
este data de:
L1 C1
Ni
1 XX
(f (l, c) i))
h(i) =
=
LC
L C l=0 c=0
i = 0, 1, . . . , M 1,
(5.4)
0.03
0.025
0.02
0.015
0.01
0.0050
0.0
0
50
100
150
200
250
imaginii originale f dupa setul de praguri {Tk } produce imaginea etichetata g, descrisa
de:
g(l, c) = Ek
(5.5)
g(l, c) =
(5.6)
0.01
0.005
0
0
50
100
150
200
250
Una din cerintele de baza n majoritatea aplicatiilor de analiza a imaginilor este ca aceste
aplicatii sa necesite o interventie umana minima, deci sa lucreze n mod automat. Se
pune, deci, problema alegerii automate a pragului (sau pragurilor) de segmentare Tk , pe
baza analizei automate a histogramei imaginii si a eventualelor cunostinte a priori asupra
continutului imaginii.
104
Metoda Bhattacharya
Metoda Bhattacharya este o metoda automata de segmentare pe histograma, ce nu necesita precizarea numarului de clase de obiecte din imagine (si implicit a numarului de
praguri de segmentare cautate), ce se bazeaza pe descompunerea histogramei n moduri
individuale normale (gaussiene) [12], [66]. Se presupune deci ca histograma imaginii poate
fi exprimata ca o mixtura (suma ponderata) de functii de densitate de probabilitate de tip
normal, fiecare dintre acestea corespunzand unui mod al histogramei. Se considera deci
ca histograma h a imaginii este compusa prin superpozitia aditiva a K moduri gaussiene
N (k , k ), adica:
h(i) =
K
X
wk N (k , k )(i), i = 0, ..., M 1, cu
k=1
K
X
wk = 1.
(5.7)
k=1
d
d
1
(x k )2
x
k
ln N (k , k )(x) =
ln p
exp
= 2 + 2 = mk x + nk . (5.8)
2
2
dx
dx
2k
k k
2k
Prin examinarea expresiei (5.8) se observa ca derivata logaritmului distributiei normale
este o dreapta de panta negativa, din ai carei parametri se pot deduce media si varianta
distributiei prin (5.9):
s
1
nk
k =
si k =
.
(5.9)
|mk |
|mk |
Daca se presupune ca distributiile normale individuale ce compun histograma sunt suficient de bine separate pentru ca sa existe, pentru fiecare componenta, o regiune suficient
de mare n care influenta tuturor celorlalte componente sa fie neglijabila, acelasi principiu
de identificare poate fi aplicat pentru ntreaga histograma [5]. Pentru aplicarea metodei
Bhattacharya la segmentarea pe histograma a imaginilor, se va studia comportamentul
derivatei logaritmului histogramei, adica a functiei discriminant z(i):
z(i) = ln
h(i)
, i = 1, ..., M 1.
h(i 1)
(5.10)
Pentru functia astfel construita, se determina intervalele pe care acesta este descrescatoare
(vezi Figura 5.7); limitele superioare ale acestor intervale sunt pragurile Tk de segmentare
105
h(i)
hG(i)
0.03
0.03
0.025
0.025
0.02
0.02
0.015
0.015
0.01
0.01
0.0050
0.0050
0.0
0
50
100
150
200
250
0.0
0
50
100
a)
200
250
150
200
250
b)
z(i)
zG(i)
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0.1
0.1
0.2
0.2
0.3
0.3
0.4
0.4
0.5
0.5
0.6
0.6
150
50
100
150
200
250
c)
50
100
d)
h(i)
0.015
0.01
0.005
0
0
50
100
a)
150
200
250
200
250
b)
z(i)
0.2
0.15
0.1
0.05
0
0.05
0.1
0.15
0.2
0
c)
50
100
150
d)
Figura 5.8: Aplicarea metodei Bhattacharyya pentru segmentarea unei imagini cu histogram
a bimodal
a: a) imaginea originala; b) histograma imaginii de segmentat (histograma este mixtura h = 0.25N (100, 25) + 0.75N (180, 25)); c) imaginea binarizata
folosind pragul T = 132 obtinut prin aplicarea metodei Bhattacharya; d) functia discriminant z.
Metoda Otsu
Metoda Otsu de determinare automata a pragurilor de segmentare este legata de utilizarea principiului de cuantizare optimala a nivelelor de gri, cuantizare ce va asigura (ca
si n cazul metodei Bhattacharya, prezentate n paragraful anterior) determinarea unor
intervale de nivele de gri n care modurile histogramei imaginii sa fie nguste si care, n
consecinta, sa induca o variabilitate mica a valorilor initiale fata de media fiecarui mod
determinat (medie ce este folosita ca valoare de cuantizare). Pragurile de segmentare
determinate de metoda Otsu sunt chiar capetele intervalelor de cuantizare optimala a
nivelelor de gri din imagine cu un numar de cuante egal cu numarul de clase de segmentare.
Dupa cum se stie (se poate revedea de exemplu capitolul 11 din [11]), cuantizarea unei
multimi de valori implica nlocuirea valorilor respective cu cea mai apropiata valoare dintro multime finita de valori (multimea valorilor cuantizate). Operatia de cuantizare este
o aproximare a valorilor initiale prin valorile cuantizate, mai exact, aproximarea tuturor
valorilor cuprinse ntr-un interval (xi , xi+1 ] cu o valoare cuantizata yi . In cuantizarea
107
h(i)
h(i)
0.03
h(i)
0.12
0.30
0.10
0.25
0.08
0.20
0.06
0.15
0.04
0.10
0.02
0.05
0.025
0.02
0.015
0.01
0.0050
0.0
0
50
100
150
200
250
0.0
0
50
100
150
200
250
0.0
0
50
100
150
200
250
Figura 5.9: Exemplu de cuantizare a nivelelor de gri prin metoda Bhattacharya: pe randul
de sus sunt prezentate imaginea originala cu 212 nivele de gri diferite (stanga) si variantele cuantizate cu 39 de nivele de gri diferite (mijloc, RSZ = 41, 18dB) si respectiv
10 nivele de gri diferite (dreapta, RSZ = 23, 11dB); pe randul de jos sunt prezen cazul re-cuantiz
tate histogramele corespunz
atoare fiec
arei imagini. In
arii uniforme a
nivelelor de gri la 39, respectiv 10, raportul semnal zgomot al imaginiilor rezultate ar
fi RSZ = 33, 26dB, respectiv RSZ = 21, 25dB; re-cuantizarea bazat
a pe metoda Bhattacharya este deci mult mai eficienta.
x
K Zi+1
X
x |{xi xi+1 }
i=1 x
i
x
K Zi+1
X
w (z)dz
i=1 x
i
{z
xi+1
Z
w (x)dx =
x |{xi xi+1 }
w (x)
xR
i+1
xi
xi
P (xi xi+1 )
w (z)dz
{z
}
(5.11)
w|{xi xi+1 }
{z
dx.
2
|{x
i xi+1 }
K
X
2
=
P (xi xi+1 )|{x
i xi+1 }
i=1
K
X
Pi i2 .
i=1
(5.12)
not
(5.13)
Pi = P (xi xi+1 )
i = |{xi xi+1 }
In cazul binarizarii, problema (care fusese initial formulata doar ca alegere a pragului de
segmentare T care separa modurile histogramei ce corespund celor doua tipuri de obiecte
din imagine) poate fi reformulata n sensul cuantizarii: dorim cuantizarea optimala a valorilor pixelilor imaginii cu K = 2 nivele, ceea ce revine la determinarea pragului T astfel
ncat prin mpartirea gamei de nivele de gri disponibile [0, M 1] n doua subintervale,
[0, T ] si [T, M 1], si prin aproximarea fiecarui pixel dintr-un subinterval cu media acestuia, eroarea patratica medie sa fie minima. Astfel, conform (5.11), pragul T cu care
facem binarizarea trebuie sa minimizeze expresia:
= P0 02 + P1 12 ,
(5.14)
T 1
X
h(i),
i=0
M
1
X
(5.15a)
h(i) = 1 P0 ,
(5.15b)
i=T
,
0 = T 1
T 1
P
P
h(i)
h(i)
i=0
i=0
2
M
1
M
1
P 2
P
i h(i)
ih(i)
i=T
i=T
2
1 = M 1
M 1
.
P
P
h(i)
h(i)
i=T
i=T
109
(5.16a)
(5.16b)
Dupa cum s-a aratat [11], pragul cautat T este media aritmetica a mediilor statistice ale
valorilor de cuantizat din cele doua intervale de cuantizare alese (notate cu 0 si 1 );
tinand seama ca nivele de gri din imagine sunt (deja) valori discrete, expresia pragului T
se poate scrie ca:
TP
M
1
1
P
ih(i)
ih(i)
1
i=0
i=T
T = T 1
+ M
.
1
P
2 P
h(i)
h(i)
i=0
i=T
| {z } | {z }
0
(5.17)
Aceasta ecuatie nu se poate rezolva analitic. Putem gasi totusi valoarea T cautata, care
minimizeaza pe (5.14) calculand valorile unei forme modificate ale functiei (5.14) pentru
toate valorile posibile ale lui T {0, 1, . . . , M 1}. Pentru aceasta, (5.14) se poate rescrie
ca:
M
1
X
=
i2 h(i) P0 20 + P1 21 .
(5.18)
i=0
(5.19)
(5.20)
M
1
X
i2 h(i) P0 P1 (1 0 )2 .
(5.21)
i=0
pragul T . Binarizarea se poate formula ntr-un cadru specific proceselor de decizie, considerand ca pentru fiecare pixel al imaginii se ia decizia D0 (respectiv se decide ca pixelul
apartine unui obiect O0 ) daca nivelul sau de gri este mai mic decat pragul T , sau decizia
D1 (pixelul apartine unui obiect O1 ) daca nivelul de gri al pixelului este mai mare decat
pragul T . Dupa cum se poate remarca, observatia pe baza careia luam decizia este un
scalar, si anume nivelul de gri al pixelului respectiv.
Criteriul ce se urmareste optimizat este minimizarea probabilitatii de clasificare eronata
a punctelor din imagine. Presupunand cunoscute functiile de densitate de probabilitate a
nivelelor de gri ce descriu fiecare dintre cele doua tipuri de componente din imagine, p0 (i)
si p1 (i) si probabilitatile lor de aparitie n imagine, P0 si P1 , putem exprima probabilitatea
de clasificare eronata ca:
Z+
ZT
(T ) = P0 P (D1 |O0 ) + P1 P (D0 |O1 ) = P0
p0 (x)dx + P1
p1 (x)dx.
(5.22)
In mod evident se presupune ca cele doua tipuri de obiecte ocupa complet imaginea
(P0 + P1 = 1). Histograma imaginii (adica distributia nivelelor de gri la nivelul ntregii
imagini) este evident mixtura distributiilor individuale ale celor doua tipuri de obiecte si
se poate scrie ca:
h(i) = P0 p0 (i) + P1 p1 (i),
i = 0, 1, . . . , M 1.
(5.23)
0.01
h(i)
p1(i)
0.005
p0(i)
0
0
50
a)
100
150
200
250
b)
(5.24)
(5.25)
p1 (T )
P0
=
.
p0 (T )
P1
(5.26)
Forma (5.26) se poate compara cu forma clasica finala a criteriului de decizie Bayes (se
poate urmari de exemplu prezentarea din [11]); constatam astfel ca ne aflam ntr-un cadru
de alegere simetrica a costurilor de decizie (ambele erori de decizie au acelasi cost, ambele
decizii corecte au acelasi cost), astfel ncat pragul testului Bayes este dat de raportul
probabilitatilor a priori de aparitie a celor doua tipuri de obiecte.
Presupunerea ca distributia nivelelor de gri a diferitelor tipuri de obiecte este de tip normal
(gaussian) este relativ des ntalnita. In aceste conditii, distributiile p0 (x) si p1 (x) sunt
distributii normale, N (0 , 0 ) si N (1 , 1 ), iar ecuatia (5.26) devine:
(T 1 )2
1
exp
2
21
P
1 2
= 0
(5.27)
2
1
P1
exp (T 20 )
20
0 2
Prin logaritmare, se obtine o ecuatie de gradul doi prin a carei rezolvare se determina
pragul necunoscut T :
1
0 1
0 21
1
P0 1
2
T
2 2T
2 +
2 2 ln
= 0.
(5.28)
2
2
2
0
1
0 1
0
1
P1 0
Pentru cazul particular 0 = 1 = , ecuatia (5.28) devine o ecuatie de gradul unu, a
carei solutie este:
0 + 1
2
P0
T =
ln
(5.29)
2
0 1 P 1
In cazul imaginii reprezentate n figura 5.10 a), parametrii statistici sunt 0 = 100, 1 =
180, 0 = 1 = = 25, P0 = 0.25; pragul optim de segmentare, calculat conform (5.29)
este T = 131. Rezultatul segmentarii cu prag optim este reprezentat n figura 5.11.
Metoda de segmentare cu prag optim se poate extinde si pentru imagini ce contin mai
mult de doua tipuri de obiecte; n acest caz este nsa necesara o presupunere suplimentara
de localizare a modurilor, astfel ncat sa se poata considera ca influenta fiecarui mod este
limitata la intervale nesuprapuse de nivele de gri si deci eroarea de clasificare a pixelilor
imaginii se va referi doar la perechi de moduri vecine.
Segmentarea pe histograma ponderat
a
Metodele de segmentare pe histograma pot fi rafinate prin luarea n considerare la determinarea pragurilor de segmentare nu numai a proprietatilor globale (ale ntregii imagini),
asa cum este histograma (5.4), ci si a unor marimi caracteristice fiecarui pixel, determinate
de vecinatatea acestuia. Altfel spus, pragurile de segmentare, care n mod clasic se aleg
112
a)
b)
(5.30)
1
1 + |(l, c)|k
(5.31)
sunt mai bine puse n evidenta). Laplacianul local se poate evalua cu una dintre mastile
(nucleele) de convolutie clasice, precum cele din (6.24).
In [68] se propune un mod de segmentare alternativa, folosind maximele unei histograme
ponderate. In acest caz este necesar ca functia de ponderare w() sa transforme minimele
histogramei normale n maxime ale histogramei ponderate. Daca se foloseste n continuare laplacianul ca proprietate locala si o functie de ponderare proportionala cu acesta,
de exemplu (5.32), histograma ponderata va lua n calcul doar pixelii din imagine a caror
vecinatate prezinta variatii puternice ale nivelelor de gri, n timp ce pixelii aflati n interiorul unor regiuni omogene nu vor avea nici o contributie. Histograma ponderata astfel
construita va prezenta maxime pe nivelele de gri ce corespund zonelor de tranzitie ntre
modurile histogramei normale.
w (p(l, c)) = |(l, c)|
(5.32)
j
X
h(i), j = 0, 1, . . . , M 1.
(5.33)
i=1
(5.34)
In cazul n care obiectele de interes au un nivel de gri mai mare decat nivelul de gri al
fundalului (si deci sunt definite de modul situat la capatul superior al histogramei), relatia
de definitie a pragului (5.34) se va modifica n:
H(T )=1
e P
114
(5.35)
0.03
hw1(i)
0.025
0.02
0.015
0.01
0.005
0
0
50
100
a)
150
200
250
150
200
250
c)
h(i)
0.015
0.01
hw2(i)
0.009
0.008
0.007
0.01
0.006
0.005
0.004
0.005
0.003
0.002
0.001
0
0
50
100
150
200
250
0
0
50
100
b)
d)
Figura 5.12: Marirea separatiei dintre moduri prin folosirea histogramelor ponderate: a)
imagine originala; b) histograma imaginii din a); c) histograma ponderat
a cu inversul
a ponlaplacianului (adancirea separatiei dintre moduri), conform (5.31); d) histogram
derat
a cu patratul laplacianului (maxime pe separatiile dintre moduri), conform (5.32).
Histograma originala este h = 0.25N (100, 25) + 0.75N (180, 25). Pe ambele histograme
ponderate pragul de segmentare T =140
e
poate fi determinat foarte usor.
Metoda de segmentare pe histograma cumulativa se poate extinde si n cazul segmentarii
unor imagini ce contin mai multe tipuri de obiecte, cu conditia cunoasterii probabilitatilor
de aparitie a pixelilor corespunzatori fiecarui tip de obiecte. Trebuie remarcat ca metoda
nu necesita cunoasterea tipului de distributie ce caracterizeaza nivelul de gri al fiecarui
tip de obiect.
5.2.2
Tehnicile de segmentare pe histograma prezentate n sectiunea anterioara se bazeaza implicit pe presupunerea ca nivelul de gri (valoarea pixelului) este o caracteristica suficient
de discriminativa pentru separarea tipurilor de obiecte din imagine. Desi adevarata n cele
mai multe cazuri, aceasta presupunere devine n mod evident eronata pentru o imagine
de tipul celei din figura 5.12 a), n care atat obiectul, cat si fundalul, contin pixeli avand
115
h(i)
0.015
H(i)
0.75
0.01
0.5
0.005
P=
0.25
0
0
50
100
150
200
250
0
0
50
100
150
200
250
Clustering net
Metodele de clustering iterativ distribuie obiectele (vectorii) ntr-un numar predefinit de
clase, repetand testarea unor conditii pentru fiecare obiect al multimii; n functie de
116
250
200
150
100
50
0
0
50
100
150
a)
b)
c)
d)
e)
f)
200
250
J=
C
X
j=1
Jj =
C X
X
kxi j k =
j=1 xi j
C X
N
X
j=1 i=1
117
uij kxi j k2
(5.36)
1, daca xi j
(5.37)
uij =
0, daca xi
/ j
Determinarea centrelor claselor se poate face simplu, prin anularea derivatei functiei criteriu J n raport cu j :
N
X
J
=2
uij (j xi ) = 0
(5.38)
j
i=1
de unde rezulta ca centrele claselor sunt mediile vectorilor ce apartin acestora:
N
P
j =
uij xi
i=1
N
P
(5.39)
uij
i=1
Determinarea coeficientilor de apartenenta uij este nsa o problema de optimizare combinatoriala, care nu poate fi rezolvata analitic. Pentru rezolvarea acestei probleme sunt
necesare metode iterative. Metoda imediata urmareste sa determine, pentru fiecare vector al setului, daca acesta poate fi mutat dintr-o clasa n alta, astfel ca suma variantelor
claselor sa scada. Dupa fiecare asemenea mutare, este necesara actualizarea mediilor
claselor ntre care s-a facut schimbul. Iteratiile se repeta pana cand nici un vector nu mai
poate fi mutat. Algoritmul este descris de urmatoarele etape:
1. se alege o partitie aleatoare a setului de obiecte (vectori)
2. pentru fiecare vector xi din set, daca nu este unic n clasa sa j , se calculeaza costul
mutarii n alta clasa, k , k 6= j; acest cost este
nk
nj
ck =
kxi k k2
kxi j k2
(5.40)
nk + 1
nj 1
3. vectorul xi este mutat n clasa pentru care costul ck este minim; se recalculeaza
mediile claselor implicate n schimbare (j si k )
4. daca cel putin un vector a fost mutat ntre doua clase, algoritmul se reia de la pasul
2.
Principalul dezavantaj al acestei abordari este faptul ca mediile claselor sunt recalculate
dupa fiecare schimbare ce implica fiecare vector al multimii considerate, ceea ce are ca
efect un volum mare de calcule. O simplificare a metodei provine din observatia intuitiva
ca este normal ca un obiect sa fie alocat (sa apartina) clasei de care este cel mai apropiat
(n sensul distantei la media acesteia). Folosind acesta observatie, realocarea se poate
face pentru toate obiectele considerate fara a fi nevoie de recalcularea mediilor claselor
pentru fiecare obiect; recalcularea mediilor se va face dupa fiecare parcurgere completa a
multimii de obiecte de partitionat. Acest algoritm este numit Basic ISODATA (de la
Iterative Self Organizing Data Analysis Technique - tehnica iterativa cu auto-organizare
de analiza a datelor, aparut prin 1965), cunoscut si sub numele de k-means sau C-means
cele k (sau C) medii). Algoritmul este descris de urmatoarele etape:
118
(5.41)
C X
N
X
2
um
ij kxj i k .
(5.42)
i=1 j=1
uij = 1, j = 1, . . . , N.
(5.43)
i=1
K X
N
X
2
um
ij kxj i k
i=1 j=1
N
X
K
X
j=1
!
uij 1 .
(5.44)
i=1
(5.45)
J
= mum1
(xj s )2 t = 0.
st
ust
(5.46)
i =
j=1
um
ij xj
N
P
j=1
(5.47)
um
ij
Ecuatia (5.46) conduce la exprimarea gradelor de apartenenta ust a vectorilor la clase ca:
ust =
t
m(xt s )2
120
1
m1
(5.48)
t
m
1
m1
K
P
i=1
1
1
(xt i )2
.
1
m1
(5.49)
uij =
1
(xt i )2
K
P
s=1
1
m1
1
(xt s )2
.
1
m1
(5.50)
imagine n care fiecarui pixel i este atasat gradul de apartenenta la una dintre cele K
clase ale partitiei. Imaginea clasei corespunzatoare se obtine printr-o etapa suplimentara
numita de defuzificare a partitiei create prin clustering: fiecare vector xj se considera ca
facand parte din regiunea ce corespunde clasei la care are gradul de apartenenta maxim.
5.3
Concluzii
Segmentarea (si etichetarea imaginilor binare) sunt componente esentiale ale oricarui sistem de analiza a imaginilor. Calitatea segmentarii este determinanta pentru performanta
ntregului sistem.
Metodele prezentate n acest capitol sunt cu adevarat fundamentale, regasindu-se n forme
modificate n orice tehnica de segmentare alternativa.
Se mai pot avea n vedere probleme ce nu au fost discutate, precum compensarea zgomotului ca parte a algoritmilor de segmentare, post-filtrarea imaginilor segmentate (de
etichete), ncorporarea constrangerilor spatiale n algoritmii de segmentare n spatiul caracteristicilor.
122
Capitolul 6
Segmentarea orientat
a pe contururi
6.1
123
6.1.1
Sa consideram pentru nceput ca imaginea este modelata printr-o functie de doua variabile (coordonatele spatiale) cu variatie continua f (x, y) (imaginea digitala propriu-zisa
se obtine n mod evident prin esantionarea functiei f ). Variatiile de valoare a functiei
imagine pe o directie oarecare sunt masurate de operatorul gradient. Pentru o directie
oarecare, data de versorul ~r, de orientare fata de orizontala, gradientul functiei imagine
f n punctul de coordonate (x, y) este dat de:
f~r =
f (x, y)
f (x, y) x f (x, y) y
=
+
= fx (x, y) cos + fy (x, y) sin
~r
x ~r
y ~r
(6.1)
Dupa cum se observa, calculul gradientului dupa orice directie ~r se poate reduce la calculul derivatelor pe orizontala fx (x, y) si verticala fy (x, y) ale functiei imagine n punctul
curent (x, y). Ceea ce intereseaza nsa cel mai mult din perspectiva identificarii contururilor (si deci a tranzitiilor abrupte ale functiei imagine) este marimea (valoarea absoluta,
magnitudinea, modulul) gradientului. Dintre toate orientarile posibile ~r ce corespund
unei pozitii spatiale date (x, y), exista o unica directie pentru care gradientul va fi cel
mai important. Aceasta valoare maxima a gradientului f~r este obtinuta pentru o orientare particulara 0 , ce se poate calcula considerand gradientul din (6.1) ca o functie
de orientarea . Atunci, maximizarea gradientului revine la determinarea orientarii ce
anuleaza derivata expresiei din (6.1):
f (x, y)
=0
(6.2)
~r
Rezolvarea ecuatiei (6.2) conduce imediat la fx cos +fy sin = 0, si deci la determinarea
directiei de variatie maxima a functiei imagine n punctul curent (x, y):
0 (x, y) = arctan
fx (x, y)
fy (x, y)
q
f (x, y)
= fx2 (x, y) + fy2 (x, y).
r
max
(6.3)
(6.4)
Ecuatiile (6.4) si (6.3) constituie cele doua elemente esentiale pe baza carora se pot identifica contururile din imagini: contururile sunt determinate de intensitatea de tranzitie si
de orientare.
Operatorul de gradient
Extragerea punctelor de contur este imediata: este suficient a calcula pentru fiecare punct
al imaginii valoarea maxima a gradientului, ce va fi apoi comparata cu un prag fixat. Daca
valoarea maxima a gradientului dintr-un punct este suficient de importanta si depaseste
valoarea pragului, atunci punctul respectiv este declarat punct de contur. Toate metodele
bazate pe estimarea gradientului se ncadreaza n aceasta schema. Ceea ce diferentiaza
metodele este modalitatea de calcul a variatiei maxime a valorilor imaginii (nivelelor de
gri) ntr-un punct.
124
(6.5)
(6.6)
(6.7)
Toate expresiile date de (6.5), (6.6), (6.7) sunt combinatii liniare ale valorilor unor pixeli
din imagine, situati n vecinatatea pixelului curent din pozitia (l, c), deci toate aceste
operatii se pot realiza prin filtrari liniare cu masti alese corespunzator: (6.8) pentru (6.5),
(6.9) pentru (6.6), (6.10) pentru (6.7):
1
Wx = 1 1 , Wy =
(6.8)
1
Wx =
Wx =
-1
, Wy =
1
-1
1 , Wy = 0
1
(6.9)
(6.10)
Este interesant de remarcat faptul ca descompunerea gradientului f~r de directie ~r oarecare (din (6.1)) se poate face dupa oricare doua directii ortogonale de referinta, nu numai
orizontala si verticala [12]. Considerand ca aceste directii de referinta ar fi diagonalele
principale ale sistemului de coordonate (deci directii orientate la /4 si 3/4 fata de orizontala), vor trebui determinate forme discrete pentru derivarea imaginii dupa diagonale.
Asemenea derivate sunt realizate de mastile de filtrare Roberts:
0 1
1
0
W/4 =
, W3/4 =
(6.11)
1 0
0 1
De asemenea, se remarca faptul ca toate mastile de filtrare liniara prezentate, ce implementeaza operatii derivative, verifica conditia de normare a filtrelor liniare derivative, si
anume, suma coeficientilor de ponderare din masca sa fie nula (3.11).
Schema de implementare a operatiei de extragere a punctelor de contur din imagini prin
calculul gradientului dupa doua directii ortogonale este prezentata n figura 6.2. Se observa existenta a trei rezultate de interes: harta de intensitati de tranzitie g(l, c), care este
o imagine ce contine, pentru fiecare pixel, valoarea maxima a gradientului pentru pozitia
respectiva, harta de contururi e(l, c) care este o imagine binara n care punctele marcate
125
fx
f
Wx
Wy
(fx2+fy2)1/2
g
fy
atan(fy/fx)
comparator
Figura 6.2: Schema bloc a extractorului de contururi bazat pe metoda de calcul a gradientului prin doua derivate dupa directii ortogonale.
(punctele-obiect) corespund pozitiei punctelor de contur (puncte al caror gradient maxim
depaseste pragul fixat) si harta de orientari 0 (l, c) care este o imagine ce contine, pentru
fiecare pixel, orientarea gradientului de modul maxim n punctul respectiv, si este folosita
n general la prelucrarea suplimentara a contururilor (conectarea contururilor, extragerea
directionala a contururilor). O simplificare uzuala practicata 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 mastilor derivative simple, ce
implementeaza direct operatia de derivare directionala discreta, este sensibilitatea importanta la zgomot. In urma derivarii dupa oricare dintre mastile (6.5)-(6.7), un zgomot
alb aditiv este amplificat de doua ori. O metoda evidenta de compensare a acestei probleme este realizarea unei operatii de reducere a zgomotului (netezire) naintea derivarii,
urmarind simultan pastrarea profilurilor abrupte de tranzitie (si deci introducerea unor
efecte minime de ncetosare). Pentru ca profilul tranzitiei pe directia ~r sa nu fie afectat, filtrarea de netezire va trebui deci aplicata pe directia perpendiculara lui ~r. Atunci,
derivarea orizontala va trebui precedata de o filtrare de netezire cu o masca verticala,
iar derivarea verticala va trebui precedata de o filtrare de netezire cu o masca orizontala. Operatiile de filtrare liniara fiind realizate prin convolutii, sunt asociative, deci este
posibila determinarea unei masti unice de filtrare, care sa grupeze efectele de netezire si
derivare dupa cele doua directii perpendiculare. Considerand o netezire de tip mediere
central ponderata cu coeficientul c R+ si operatiile de derivare descrise de mastile din
(6.10), obtinem mastile echivalente de filtrare:
1 0 1
1
1
1
c 1 0 1 =
Wx =
(6.12a)
c 0 c
c+2
c+2
1
1 0 1
1
1
c
1
1
1
1 c 1 0 =
Wy =
(6.12b)
0
0
0
c+2
c+2
1
1 c 1
Prin particularizari convenabile ale coeficientului de ponderare c folosit la filtrarea de
126
a)
b)
c)
d)
Figura 6.3: Folosirea operatorului gradient cu masti Sobel (6.13c) pentru extragerea contururilor conform schemei din figura 6.2: a) imagine originala; b) harta de intensitati
de tranzitie g (conventia de afisare este de a reprezenta intensitatile maxime cu tonuri
de negru); c) harta binara de contururi orizontale extrase prin praguirea hartii de intensit
ati de tranzitie orizontale; d) harta binara de contururi extrase prin praguirea hartii de
intensit
ati de tranzitie din b).
netezire se pot obtine 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 remarca faptul
ca constanta de ponderare globala a mastii de filtare este neesentiala, ntrucat conditia
de normare ce trebuie ndeplinita este cea pentru filtre de contrastare (derivare) (3.11):
suma coeficientilor mastii sa fie nula.
1 0 1
1
1
1
Wx = 1 0 1 , Wy = 0
(6.13a)
0
0 ;
1 0 1
1 1 1
1
0
1
2
1
1
Wx = 2 0 2 , W y = 0
(6.13b)
0
0 ;
1
0
1
1 2 1
1 0 1
1
2
1
Wx = 2 0 2 , Wy = 0
(6.13c)
0
0 .
1 0 1
1 2 1
Limitele de variatie ale parametrului c din forma generala a unei masti de derivare cu
127
netezire (6.12) pot fi determinate cu usurinta din verificarea conditiei de reducere a puterii
de zgomot aditiv suprapus semnalului de imagine, dupa modelul de calcul prezentat n
(3.4). Astfel, rezulta cu usurinta ca pentru oricare dintre mastile de derivare cu netezire
din (6.12) puterea zgomotului este redusa de (c + 2)2 /2(c2 + 2) ori. Pentru ca aceasta sa
reprezinte cu adevarat o reducere este necesar ca c [0, 4]. De asemenea se poate verifica
ca cea mai eficienta reducere a zgomotului (de 1.5 ori) apare pentru c = 1.
Operatorul compas
Informatia de orientare este n general folosita n etape ce urmeaza extragerii punctelor de
contur; unghiurile determinate dupa (6.3) ofera un unghi exact al directiei conturului n
punctul curent, calculat cu un efort semnificativ de calcul (mpartire si calcul de arctangenta). In practica, aceasta informatie este prea precisa: pe grila patrata de esantionare
nu se pot reprezenta cu usurinta drepte continue dupa orice directie, n schimb exista
cateva directii favorizate si usor de utilizat (verticala, orizontala, cele doua diagonale). In
acest caz se poate calcula modulul gradientului dupa aceste cateva directii importante,
si apoi se poate alege directia dupa care acest modul este maxim. Acesta este principul
operatorilor compas.
Un operator compas calculeaza derivate ale imaginii dupa un set de N directii (N >
2). Gradientul maxim al functiei imagine din fiecare punct este determinat ca maximul
valorilor derivatelor directionale, iar pentru decizia ulterioara se selecteaza doar informatia
corespunzatoare directiei pe care derivata a fost maxima. Daca N = 2 si cele doua directii
sunt ortogonale, schema de prelucrare obtinuta este similara cu cea a unui extractor de
contururi bazat pe gradient n care estimarea gradientului maxim se face printr-o metrica
de tip L (max). Schema bloc generala a unui operator compas este prezentata n figura
6.4; fiecare dintre mastile Wk realizeaza calculul unei derivate, pe directia k .
f0
W0
W1
max{fk}
g
comparator
f1
argmax{fk}
0
W7
f7
Figura 6.4: Schema bloc a extractorului de contururi bazat pe metoda de calcul a gradientului prin derivate dupa 8 directii.
128
Operatorul compas uzual are N = 8 masti de filtrare, fiecare dintre ele realizand o derivare
dupa o directie multiplu de /4; sunt astfel acoperite directiile principale (verticala, orizontala, cele doua diagonale), fiecare dintre ele n cele doua sensuri. Cele N = 8 masti
folosite provin dintr-o unica masca de baza (ce implementeaza de obicei o derivare orizontala) prin rotiri succesive ale acesteia cu unghiuri ce corespund diferentelor de directie
a derivatelor folosite. Pentru operatorul compas uzual cu N = 8, mastile de derivare
folosite sunt 3 x 3, si mastile corespunzatoare directiilor succesive difera printr-o rotatie
de /4. Aceasta rotatie de /4 este echivalenta cu o deplasare circulara a valorilor de pe
marginea mastii, exemplificata 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 initiala ce corespunde directiei orizontale poate fi oricare dintre mastile de derivare
cu netezire pe orizontala Wx prezentate anterior, ca de exemplu Prewitt (6.13a) sau Sobel
(6.13c). Exista nsa si masti speciale, precum mastile Kirsch; cele 8 masti folosite de
operatorul compas Kirsch (indexate dupa numele orientarilor punctelor cardinale corespunzatoare) 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 5
3 5
5
3 3 3
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
(6.15)
WS =
3 0 3 , WSE =
5
0 3 .
3 3 3
3 3 3
Se poate remarca cu usurinta ca exista o legatura ntre precizia unghiulara a operatorului compas (deci diferenta dintre directiile alaturate dupa care se calculeaza derivatele
directionale) si dimensiunea mastilor de filtrare folosite; pentru o masca patrata de dimensiune D D, precizia unghiulara este de /2(D 1) si numarul de masti utilizate de
operatorul compas este de N = 4(D 1).
Operatorul optimal de extragere a contururilor
Problema detectiei contururilor dintr-o imagine pe baza praguirii unei harti de intensitati
de tranzitie obtinuta prin filtrarea liniara a imaginii de analizat poate fi exprimata ca o
problema de proiectare a unui filtru (liniar) al carui raspuns sa marcheze cu maxime bine
definite pozitiile tranzitiilor din semnalul de imagine de intrare. Filtrul dorit va fi optimal
n sensul de a oferi cea mai buna performanta medie de detectie a contururilor (pentru orice
pozitie si intensitate a tranzitiei ce defineste conturul si orice putere a zgomotului suprapus
acestuia), performanta reprezentata de o serie de caracteristici ce masoara capacitatea de
detectie a contururilor fara raspunsuri false, buna localizare a contururilor detectate si
probabilitatea de detectie falsa cauzata de zgomotul suprapus semnalului util. Aceasta
abordare a fost propusa de Canny n [7], pornind de la cazul simplificat al unui semnal
129
Z
f (t)h(xt)dt = U0
Z
u0 (t)h(xt)dt+
n(t)h(xt)dt. (6.17)
Cum tranzitia apare pentru x = 0, functia pondere a filtrului h(x) trebuie determinata
astfel ncat raspunsul filtrului la x = 0, g(0), sa fie maxim si sa respecte constrangerile
enuntate (buna detectie, buna localizare, evitare a maximelor multiple). In functie de
tipul de filtru ce se doreste (cu raspuns finit la impuls FIR, sau cu raspuns infinit
la impuls IIR), sunt posibile doua abordari: Canny si Deriche. In cele ce urmeaza
vom prezenta abordarea Canny, de sinteza a unui filtru FIR, cu suport finit, pe care
l vom presupune limitat la intervalul [M, M ] (ceea ce nseamna ca h(x) = 0 pentru
x (, M ) (M, +)).
Cum filtrul dorit este un filtru de tip derivativ (ntrucat trebuie sa masoare variatiile din
semnal), constrangerea (3.11) de normare a coeficientilor trebuie sa fie ndeplinita, deci:
ZM
h(x)dx = 0.
M
In cazul n care filtrul dorit este discret, constrangerea de mai sus devine:
M
X
h(k) = 0.
k=M
Proprietatea de bun
a detectie
Detectia tranzitiei este exprimata prin radicalul raportului semnal/ zgomot n pozitia
reala a tranzitiei (adica raportul dintre raspunsul filtrului n pozitia reala, corecta, a
tranzitiei si radicalul puterii de zgomot de la iesirea filtrului). T
inand cont ca filtrul este
discret, tranzitia este de tip treapta unitate si apare n pozitia x = 0, detectia definita
anterior poate fi exprimata ca:
M
P
U0
h(k)
U0
k=0
s
.
DET =
=
N0
M
P
N0
h2 (k)
(6.18)
k=M
Filtrul optim presupune maximizarea detectiei, deci maximizarea expresiei din (6.18).
Rezulta conditia ca:
M
X
h2 (k) = 1.
(6.19)
k=M
130
Proprietatea de bun
a localizare
Localizarea este definita ca eroarea patratica medie de aproximare a pozitiei reale a
tranzitiei (x = 0) cu cel mai apropiat maxim (x ) din raspunsul filtrului la un semnal de
intrare f (x) afectat de zgomot.
s
M
P
h2 (k)
p
k=M
N0
N0
LOC = E [x2 ] =
=
.
(6.20)
0
U0
|h (0)|
U0
Filtrul optim presupune minimizarea localizarii (6.20).
Se poate remarca de asemenea ca produsul detectie-localizare nu mai depinde nici de
amplitudinea tranzitiei, nici de puterea de zgomot (DET LOC = ). Se poate de
asemenea demonstra ca acest produs este invariant la o schimbare de scala. Canny [7] a
aratat prin tehnici de optimizare numerica ca filtrul optim este caracterizat de = 1.12.
Proprietatea de evitare a maximelor multiple
Conditia de evitare a maximelor multiple datorate zgomotului impune ca numarul de
maxime locale detectate ca raspuns la un unic contur sa fie limitat, ceea ce poate fi
exprimat printr-o densitate redusa a trecerilor prin zero a raspunsului filtrului datorat
numai zgomotului, sau o distanta suficient de mare de separatie ntre maximele succesive
din raspunsul filtrului. Se poate demonstra [7] ca distanta maxima dintre doua maxime
succesive datorate unui zgomot de tip gaussian suprapus semnalului util va fi data de:
v
u M
u P 02
u
h (k)
u
k=M
u
xmax = u M
.
(6.21)
2 t P 2
h (k)
k=M
Conditia practica impusa de Canny este ca distanta dintre maximele succesive ale
raspunsului filtrului sa fie o fractiune K < 1 din suportul nucleului filtrului M (xmax
KM ).
Filtrul Canny
Filtrul FIR derivativ usor de implementat, caracterizat de un produs detectie-localizare
cat mai apropiat de valoarea optima de 1.12 este, conform [7], derivata de gaussiana
(operatorul DOG), obtinut n conditiile n care distanta dintre doua maxime succesive
ale raspunsului filtrului este mai mare decat 0.5M . Acest criteriu de evitare a maximelor
multiple (6.21) stabileste si parametrul de proiectare al filtrului: dispersia gaussienei de
baza din care provine filtrul optim. Cu cat dispersia creste, cu atat detectia DET (6.18)
va fi mai buna si localizarea LOC (6.20) va deveni mai putin precisa.
Daca nucleul gaussian de baza este N (0, )(x), operatorul DOG va fi:
d
x2
x
x2
1
d
N (0, )(x) =
exp 2 =
exp 2 .
dx
dx 2 2
2
2
2 2
Aspecte de implementare ale filtrului Canny
131
(6.22)
Filtrul Canny bidimensional este implementat pe baza schemei simple de gradient din
figura 6.2, folosind ca masti de derivare pe verticala si orizontala operatori DOG obtinuti
dintr-un nucleu gaussian bidimensional. Fata de schema prezentata mai apar nsa doua
modificari: eliminarea valorilor non-maxime din harta de intensitati de tranzitie pe
directia normalei la contur si praguirea cu histerezis a hartii de intensitati de tranzitie.
Procedura de eliminarea a valorilor non-maxime din harta de intensitati de tranzitie se
aplica punctelor de contur selectate pe baza praguirii prin histerezis si urmareste obtinerea
unor contururi subtiri. Un contur gros este format din puncte alaturate, caracterizate de
valori suficient de importante ale intensitatii de tranzitie; numai un singur punct nsa
si anume punctul situat n centrul conturului va fi caracterizat de valoarea maxima a
intensitatii de tranzitie. Procedura de eliminare se bazeaza pe verificarea pentru fiecare
punct potential de contur a maximalitatii valorii sale de intensitate de tranzitiei n raport
cu valorile de intensitate de tranzitie n punctele ce i sunt vecine, de-a lungul directiei
perpendiculare pe contur. Daca punctul verificat nu are o valoare maxima a intensitatii
de tranzitie, este eliminat din harta binara de contururi. Principiul de verificare este
exemplificat n figura 6.5.
Q2
contur
Q1
normala la contur
Figura 6.5: Eliminarea non-maximelor din harta de intensitati de tranzitie n cadrul implement
arii filtrarii Canny: reprezinta pozitiile pixelilor n harta de intensitati de tranzitie,
P este punctul curent verificat a carui intensitate de tranzitie este comparat
a cu intensit
atile de tranzitie din punctele Q1 si Q2 (marcate cu ), situate la intersectia normalei la
conturul ce trece prin P cu liniile de imagine vecine punctului P . Valorile intensitatilor
de tranzitie din punctele Q1 si Q2 (ce pot sa nu aiba coordonate ntregi) se obtin prin
interpolare din valorile intensitatilor de tranzitie cunoscute pentru punctele apropiate de
coordonate ntregi.
Praguirea cu histerezis se aplica n locul operatiei simple de comparare cu prag pentru
extragerea punctelor din imagine a caror gradient este sufient de mare pentru a putea
reprezenta un punct de contur. Praguirea cu histerezis nseamna folosirea a doua praguri
pentru extragerea punctelor de contur: un prag de valoare mare cu care se selecteaza pixelii
132
6.1.2
Extragerea punctelor de contur pe baza primei derivate (si deci a gradientului, indiferent
de modul de estimare a acestuia) este potrivita n cazul tranzitiilor relativ abrupte a
nivelelor de gri, deci pentru frontiere bine conturate. Cu cat regiunea de tranzitie devine
mai larga (si deci panta profilului de tranzitie mai slaba) centrul acestei tranzitii, detectat
prin maximul gradientului, devine mai greu de determinat cu precizie. Astfel, contururile
detectate vor groase, fiind formate din mai multi pixeli, si nu neaparat situate pe centrul
regiunii de tranzitie. Gasirea centrului tranzitiei poate fi realizata prin folosirea derivatelor
de ordinul doi a functiei imagine, grupate n operatorul laplacian:
2 f =
2 f (x, y) 2 f (x, y)
+
.
x2
y 2
1 1 1
0 1 0
1 2 1
W = 2 4 2 , W = 1 8 1 , W = 1 4 1
1 2 1
1 1 1
0 1 0
(6.23)
(6.24)
.
Operatorul laplacian nu permite detectarea directiilor de tranzitie, deoarece informatia
de orientare a tranzitiei este pierduta. Determinarea punctelor de contur ca puncte de
extrem ale laplacianului (maxime si minime, sau maxime ale valorii absolute a laplacianului) produce muchii duble n harta de contururi, deoarece aceste puncte de extrem sunt
situate de o parte si de alta a regiunii de tranzitie, marcand limitele acesteia. Mijlocul
tranzitiei este marcat de trecerea (tranzitia) prin zero a laplacianului: pe acest comportament al laplacianului se bazeaza modelul de detector zero-crossing introdus de Marr
si Hildreth. De altfel, acest tip de comportament a mai fost discutat n contextul definirii
filtrelor liniare de accentuare. Se poate urmari deci din perspectiva extragerii punctelor
de contur exemplul prezentat n figura 3.2: graficul din figura 3.2 a) prezinta o tranzitie
(unidimensionala) lenta. Derivata ntai (prezentata n figura 3.2 b)) prezinta un maxim
larg pe centrul tranzitiei, dar derivata a doua (prezentata n figura 3.2 c)) trece prin zero
exact n punctul ce corespunde centrului tranzitiei. In cazul tranzitiilor cu suport bidimensional (deci pentru extragerea practica a contururilor din imagini), problema esentiala
este identificarea trecerilor prin zero ale laplacianului. In mod uzual se considera ca laplacianul trece prin zero ntr-un punct din imagine daca n vecinatatea imediata a acestui
punct, exista doua valori medii de semne diferite ale laplacianului calculate pe cuadrante
de cate 4 pixeli. Astfel, daca ne referim la o vecinatate de 3 3 pixeli, centrata pe pixelul
curent prelucrat, cu valorile notate conform mastii 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. Existenta
trecerii prin zero este definita de existenta unui minim negativ si a unui maxim pozitiv
printre cele patru valori medii. Suplimentar, n practica se foloseste si constrangerea ca
diferenta dintre valoarea maxima si cea minima sa fie semnificativa.
133
a)
b)
K
m2 + n2
N (m, n) =
exp
.
(6.25)
2 2
2 2
Derivatele secunde ale acestuia sunt:
2 N (m, n)
m
K
m2 + n2
=
exp
1 ,
m2
2 4
2 2
2
2
2 N (m, n)
K
m2 + n2
n
=
exp
1 .
n2
2 4
2 2
2
(6.26)
(6.27)
Rezulta deci ca pentru operatorul LOG, coeficientii nucleului de filtrare sunt dati de
ecuatia:
2
m + n2
m2 + n2
h(m, n) = K
2 exp
(6.28)
2
2 2
Scalarul K din (6.25) este determinat din conditia de normalizare a coeficientilor mastii
de filtrare liniara. Parametrul 2 controleaza gradul de netezire al operatorului (deci
gradul de reducere al zgomotului suprapus imaginii) si implicit, importanta contururilor
extrase. O varianta separabila a acestui operator (deci care combina filtrari numai pe linii
si numai pe coloane) a fost propusa de Huertas si Medioni [12]:
h = h1 (m)hn (y) + h2 (m)h1 (n)
unde cele doua nuclee liniare h1 si h2 sunt date de:
r
r
K
m2
K
n2
m2
h1 (m) =
exp 2
1 2 exp 2 , h2 (n) =
2
2
2
2
(6.29)
(6.30)
Forma separabila a operatorului LOG pune n evidenta n mod clar operatiile de derivata
secunda unidirectionala a unei gaussiene (h1 ) si de netezire pe directia ortogonala derivarii,
134
dupa un nucleu gaussian (h2 ). Avantajul formei separabile este posibilitatea implementarii
cu un numar redus de operatii.
Derivata secunda unidimensionala a nucleului gaussian poate fi pusa de asemenea si sub
forma unei diferente de gaussiene cu dispersii diferite [12], [50]:
2 G (x)
= G (x) G+d (x)
x2
(6.31)
6.2
a)
b)
6.3
Concluzii
a)
b)
c)
d)
e)
f)
Figura 6.8: Extragerea contururilor n domeniul spectral pentru imaginea originala din
figura 6.3 a): a) modulul spectrului Fourier al imaginii (reprezentare la scar
a logaritmic
a); b) modulul spectrului Fourier din a) obtinut n urma filtrarii cu un filtru trece-sus
ideal c) imaginea reconstruit
a din spectrul Fourier din figura b), reprezentat
a cu scara
uzual
a de 256 nivele de gri (n imagine exista valori pozitive si negative, ntruc
at eliminarea componentei continue prin filtrarea FTS ideal
a face ca valoarea medie a valorilor
imaginii sa fie nula); d) modulul valorilor din imaginea din figura c), reprezentat cu 256
nivele de gri (se observa ca aceast
a imagine are caracteristicile unei harti de intensitati de
tranzitie); e) reprezentarea modulului functiei de transfer a unui nucleu de derivare Sobel
pe vertical
a; f ) reprezentarea modulului functiei de transfer a unui nucleu de laplacian.
136
a functiei (semnalului) imagine, calculata prin derivate de ordinul unu si doi. Folosirea
acestor metode nu garanteaza obtinerea unor contururi nchise ale obiectelor din imagini
si nici a unor contururi cu grosimea de un pixel (nici macar n cazul utilizarii filtrarii
optimale Canny), astfel ncat este n general necesara o etapa suplimentara de analiza si
prelucrare a hartii binare de contururi [33].
De asemenea, prezenta zgomotului constituie ntotdeauna un factor perturbator, favorizand abordarile de derivare cu netezire.
137
138
Capitolul 7
Caracterizarea texturilor
Termenul de textura este legat de perceptia (vizuala si tactila) a unui material (cel mai
adesea de tip tesatura). Intr-un cadru mai larg, putem considera textura ca o proprietate
a obiectelor sau materialelor, ce caracterizeaza structura lor fizica din punctul de vedere
al dimensiunii, formei, orientarii, aranjamentului si proportiei partilor constituente ale
acesteia [15]. Aceasta caracteristica se refera la configuratia structurala a unei largi categorii de obiecte si materiale: materiale textile urzite sau tesute, aliaje, roci, sol, piele
si tesuturi organice, vegetatie, aglomerari de granule. Textura este descrisa n termeni
lingvistici prin cuvinte ca rugozitate, contrast, finete, regularitate, etc., termeni a caror
exprimare matematica nu este clara [12]. Dificultatea de a defini textura conduce uneori
chiar la pseudo-definitii recursive, ca n [41] 1 . Cateva exemple de texturi (naturale si
artificiale) sunt prezentate n figura 7.1; colectii de texturi sunt disponibile fie n albume,
precum clasica colectie Brodatz , fie n arhive electronice, precum baza de texturi Vistex
[1].
Dupa cum se remarca si din imaginile prezentate n figura 7.1, o textura nu poate fi definita
nici ca o regiune uniforma (din punctul de vedere al valorilor pixelilor ce o compun) si nici
doar prin prezenta frontierelor. La o scara data, orice textura are acelasi aspect, indiferent
de alegerea subregiunii de analiza. Aceste observatii conduc la necesitatea caracterizarii
texturilor prin alte marimi decat simpla valoare a pixelilor sau variatia locala (n sens
derivativ) a acestor valori. Vom considera ca textura poate fi definita prin uniformitatea
(spatiala) a unor caracteristici specifice, calculate de cele mai multe ori pe baza unor
considerente statistice. Corespunzand diferitelor teorii privitoare la perceptia vizuala a
texturii, au fost propuse doua modele principale de descriere a texturilor:
- abordarea determinista, ce se refera la repetarea spatiala a unui motiv de baza, pe
diferite directii. Acesta abordare corespunde unei viziuni macroscopice, ntalnita de altfel
n cazul tesaturilor, fragmentelor de piele de reptila si a modelelor de tip mozaic (mozaicul
de pe pardoseala, parchetul). Elementul repetitiv de baza porta numele de texon sau texel
(element de textura texture element, prin similaritate cu denumirea de pixel picture
element).
- abordarea probabilista (statistica), ce se refera la caracterizarea atributelor anarhice si
omogene n acelasi timp, care nu tin nici de un element de baza localizabil (motiv), nici
1
Textura este acel obiect pentru care algoritmii de extragere a texturilor dau rezultate concludente.
139
a)
b)
c)
d)
e)
f)
Un proces aleator se cheama ergodic daca mediile sale statistice sunt egale cu mediile sale temporale;
pentru o definire mai completa a conceptelor de stationaritate si ergodicitate se poate consulta [11]
140
7.1
7.1.1
Functia de densitate de ordinul unu asociata valorilor din regiunea R este chiar histograma
nivelelor de gri din regiune si masoara probabilitatea de aparitie n interiorul regiunii considerate a diferitelor nivele de gri posibile (2.9). Dupa cum s-a aratat n sectiunea 2.2,
histograma h caracterizeaza continutul regiunii din punctul de vedere al proportiei de
amestec a diferitelor valori ale nivelelor de gri si deci poate fi folosita pentru identificarea
texturilor. De asemenea, se pot folosi pentru caracterizare momente statistice necentrate,
centrate (se poate urmari n [11] o prezentare mai detaliata a semnificatiei momentelor
statistice ale unei variabile aleatoare) sau absolute, calculate pe baza histogramei h.
(k)
m
M
(k)
M
X
1 X
k
=
f (x) =
ik h(i);
Nreg xR
i=0
(7.1)
M
X
1 X
k
=
(f (x) m1 ) =
(i m1 )k h(i);
Nreg xR
i=0
(7.2)
c(k) =
M
M
X
1 X
|f (x) m1 |k =
|i m1 |k h(i), k impar.
Nreg xR
i=0
(7.3)
7.1.2
Functiile de densitate de probabilitate de ordin superior (doi si mai mare decat doi) iau
n considerare informatia de pozitie spatiala a diferitelor valori posibile, prin impunerea
unei legaturi de plasament spatial al setului de pixeli a carui probabilitate de aparitie este
masurata n regiunea R.
141
h(i)
0.01
0.005
0
0
50
a)
100
150
200
250
b)
Figura 7.2: Insuficienta histogramei (densitate de probabilitate de ordinul unu) pentru discriminarea texturilor: a) mozaic format din doua texturi: n partea superioar
a imaginii
este o imagine a unei tes
aturi (textura din 7.1 a)), n partea inferioar
a a imaginii este
un fragment dintr-un ornament de plafon (castelul Versailles, Franta), b) histogramele
texturilor din figura a): pentru partea de sus a imaginii (linie punctata) si, respectiv,
pentru partea de jos a imaginii (linie continu
a) diferentele dintre cele doua histograme
sunt minimale (10%), desi texturile pentru care au fost calculate sunt foarte diferite.
Matricea de coocurent
a
Matricea de coocurenta [25], [12], [33] este functia de densitate de probabilitate de ordinul
doi corespunzatoare valorilor din regiunea studiata, avand ca elemente probabilitatile de
aparitie n regiunea considerata a unor perechi de valori de nivele de gri. Pentru regiunea
R a texturii studiate si pentru un vector de translatie spatiala t dat (ce defineste separatia
spatiala dintre cele doua elemente ale perechii de pixeli a caror probabilitate de aparitie se
masoara), componentele matricii de coocurenta se definesc pentru toate perechile posibile
de nivele de gri (a, b), ca (7.4):
Mt (a, b) = Card {(x, x + t) R R | f (x) = a si f (x + t) = b} /Card {(x, x + t) R R} .
(7.4)
Deci Mt (a, b) este probabilitatea de aparitie n regiunea R a perechii de pixeli separati de
vectorul de translatie t, care au respectiv valorile nivelelor de gri a si b. Se remarca faptul
ca matricea de coocurenta astfel definita verifica conditia de normare a unei densitati de
probabilitate de ordinul doi:
XX
Mt (a, b) = 1.
(7.5)
a
0
0
0
0
0
0
0
0
0
3
72
4
72
0
0
0
a)
0 0
0 0
5
0
72
16
72
8
72
1
72
0
c)
8
72
6
72
4
72
2
72
0
0
0
1
72
5
72
3
72
1
72
0
0
0
0
3
4
4
4
4
4
3
3
0
0
0
0
0
0
0
1
72
2
72
2
72
3
4
4
4
5
5
4
4
0
0
0
0
0
0
0
4
4
4
4
5
5
5
5
4
4
4
4
4
5
6
6
0
0
b)
0 0
0 0
2
0
70
6
70
3
70
0
0
0
25
70
3
70
5
5
4
4
4
5
6
7
7
6
6
5
5
5
6
7
4
70
12
70
2
70
0
0 0
d)
7
7
6
6
6
5
5
6
0
0
0
0
4
70
4
70
2
70
5
5
5
5
5
4
4
4
4
4
4
4
4
3
3
3
0
0
0
0
0
2
70
1
70
M (a, b) = 0.25 M(0,1) (a, b) + M1,0 (a, b) + M(1,0) (a, b) + M(0,1) (a, b) .
(7.6)
Distinctia ntre texturi diferite poate fi facuta n primul rand prin inspectia (examinarea
de ansamblu) a matricii de coocurenta, printr-o vizualizare tridimensionala a matricii (de
exemplu, pentru o zona R uniforma, matricea de coocurenta are o singura componenta
nenula, indiferent de vectorul de translatie ales). Pentru o comparatie numerica au fost
definiti [25] mai multi indici de natura statistica (omogenitate, uniformitate, entropie,
contrast, etc.) ce caracterizeaza distributia componentelor matricii de coocurenta.
Parametrul de uniformitate (sau energie) [25] (numit omogenitate n [12]) este definit ca:
XX
U=
Mt2 (a, b).
(7.7)
a
(7.8)
Entropia este mare daca o aceeasi pereche de pixeli apare de multe ori si este mica daca
toate perechile de nivele de gri sunt uniform si slab reprezentate. Entropia H este deci
un indicator al dezordinii ce caracterizeaza textura.
Parametrul de corelatie este definit ca o covariatie statistica normalizata:
B=
1 XX
(a a )(b b )Mt (a, b)
a b a b
(7.9)
XX
a
(7.10)
b)
a
b
Acest parametru are o actiune inversa contrastului C din (7.10), ntrucat sunt favorizate
contributiile valorilor apropiate de diagonala principala a matricii de coocurenta. Aceasta
nseamna ca parametrul O va avea valori mari pentru texturile ce prezinta o variatie mica
a nivelelor de gri n sensul translatiei t. Acest parametru este asemanator cu ceea ce este
definit n [12] sub numele de uniformitate (7.12) sau directivitate (7.13) (parametri ce au
valori cu atat mai importante cu cat un acelasi nivel de gri apare de mai multe ori pe
144
4
4
4
4
3
3
3
3
3
4
4
4
4
4
3
3
3
4
4
4
5
5
4
4
4
4
4
4
5
5
5
5
4
4
4
4
4
5
6
6
5
5
4
4
4
5
6
7
7
6
6
5
5
5
6
7
7
7
6
6
6
5
5
6
5
5
5
5
5
4
4
4
4
4
4
4
4
3
3
3
0
0
5
13
12
5
1
a)
0
0
3
2
1
1
2
0 0 0 0
0 0 0 0
0 0 0 0
0 0 1 2
0 0 0 1
1 0 0 0
0 0 0 0
b)
0
0
2
0
2
3
3
0
0
1
1
3
2
1
0
0
1
3
1
1
0
c)
0
0
1
2
1
0
0
0
0
0
3
1
0
0
Figura 7.4: Exemplu de calcul a matricii de izosegmente pentru regiunea de textura prezentat
a n figura 7.3 b): a) valorile din regiunea texturat
a; b) matricea de izosegmente orizontale; c) matricea de izosegmente verticale.
directia de translatie):
U2 =
(7.12)
Mt (a, a).
(7.13)
D=
X
a
Matricea de izosegmente
Un izosegment de nivele de gri [19] (numit uneori si plaja sau runlength) este o multime
liniara, de lungime maxima, formata din pixeli consecutivi ce au acelasi nivel de gri,
orientata pe o anumita directie. Lungimea unui izosegment este numarul de pixeli ce
formeaza respectiva multime. Pentru o orientare (directie) fixata , se poate determina
o matrice de izosegmente, ale carei elemente M (a, b) reprezinta numarul de izosegmente
de lungime b data, formate din pixeli de un nivel de gri a dat si orientate pe directia .
Matricea rezultata are M linii (egal cu numarul de nivele de gri din imagine) si un numar
de coloane N , egal cu lungimea maxima a izosegmentelor pe directia considerata. Figura
7.4 prezinta un exemplu de calcul a matricilor de izosegmente.
La nivel global, caracteristicile regiunii R sunt numarul de izosegmente prezente n
regiune, Niz , si numarul de pixeli din regiune, Nreg .
Niz =
Nreg =
n
M
1 X
X
a=0 b=1
n
M
1 X
X
M (a, b);
(7.14)
bM (a, b).
(7.15)
a=0 b=1
M (a, b)
.
Niz
145
(7.16)
Aspectul matricii de izosegmente este caracteristic unui anumit tip de textura; ca si pentru
matricea de coocurenta se pot defini diferite marimi caracteristice. Descriptorii de baza
ai matricii de izosegmente au fost definiti n [19] si sunt prezentati n ecuatiile (7.17):
RF 1 proportia izosegmentelor scurte, RF 2 proportia izosegmentelor lungi, RF 3
heterogenitatea (non-uniformitatea) valorilor, RF 4 heterogenitatea (non-uniformitatea)
lungimilor, RF 5 proportia izosegmentelor.
M 1 n
1 XX
M (a, b)
RF 1 =
;
Niz a=0 b=1
b2
M 1 n
1 XX
RF 2 =
b2 M (a, b);
Niz a=0 b=1
n
!2
M 1
1 X X
RF 3 =
M (a, b) ;
Niz a=0 b=1
M 1
!2
n
X
1 X
RF 4 =
M (a, b) ;
Niz b=1 a=0
RF 5 =
Niz
.
Nreg
(7.17a)
(7.17b)
(7.17c)
(7.17d)
(7.17e)
M 1 n
1 XX
M (a, b)
LGRE =
;
Niz a=0 b=1
a2
M 1 n
1 XX
HGRE =
a2 M (a, b).
Niz a=0 b=1
(7.18a)
(7.18b)
De altfel, principiul dupa care au fost introdusi parametrii RF1, RF2, LGRE si HGRE
este ponderarea numarului de izosegmente de o anumita valoare si lungime, M (a, b),
printr-un factor ce depinde direct (respectiv invers) proportional de patratul masurii de
interes (lungime a izosegmentului sau valoare a izosegmentului).
O noua extensie a multimii de parametri este propusa de [17], prin ponderarea atat
a lungimilor izosegmentelor cat si a valorilor izosegmentelor. Cei patru noi parametri
146
(7.19a)
M 1 n
1 XX
b2
LRLGE =
M (a, b);
Niz a=0 b=1 a2
(7.19b)
M 1 n
1 XX
SRHGE =
b2 a2 M (a, b);
Niz a=0 b=1
(7.19c)
M 1 n
1 XX
1
SRSGE =
M (a, b).
2
Niz a=0 b=1 a b2
(7.19d)
Semnificatia acestor parametri este de proportie a izosegmentelor lungi, cu valoare importanta LRHGE (Large Run, High Gray-level Run Emphasis), proportie a izosegmentelor
lungi cu valoare mica LRLGE (Large Run, Low Gray-level Run Emphasis), proportie
a izosegmentelor scurte cu valori importante SRHGE (Small Run High Gray-level Run
Emphasis) si proportie a izosegmentelor scurte cu valori mici, SRLGE (Small Run Low
Gray-level Run Emphasis).
Corelograma
Corelograma, definita n [30], [29], este o alta masura a aranjamentului spatial a valorilor
pixelilor dintr-o regiune. Corelograma masoara probabilitatile de aparitie a diferitelor
perechi de valori de nivele de gri (a, b) pentru toate perechile de pixeli din regiunea R ce
sunt situati la o distanta d impusa.
Cd (a, b) = Card {(x1 , x2 ) R R | dist(x1 , x2 ) = d, f (x1 ) = a si f (x2 ) = b} /
(7.20)
Card {(x1 , x2 ) R R | dist(x1 , x2 ) = d} .
Evident, corelograma depinde n mod fundamental de alegerea metricii dupa care se calculeaza distanta. Dimensiunea corelogramei este aceeasi cu a matricei de coocurenta;
corelograma este o matrice patrata cu numar de linii egal cu numarul de nivele de cuantizare a nivelelor de gri din imagine. In practica, corelograma este calculata pentru un set
de mai multe distante.
Autocorelograma este un caz particular al corelogramei, n care se masoara probabilitatea
de aparitie a perechilor de pixeli de aceeasi valoare, separati de o distanta d impusa. Autocorelograma este un vector, al carui numar de elemente este numarul de nivele de
cuantizare a nivelelor de gri din imagine:
Cd (a) = Card {(x1 , x2 ) R R | dist(x1 , x2 ) = d, f (x1 ) = a si f (x2 ) = a} /
Card {(x1 , x2 ) R R | dist(x1 , x2 ) = d} .
7.2
(7.21)
niul spatial al imaginilor ntr-un alt domeniu, echivalent, numit domeniu al frecventelor
spatiale (sau domeniu spectral), dupa cum s-a discutat si n capitolul ??. Caracteristicile
de variatie a valorilor n domeniul spatial se regasesc, ntr-o forma modificata (depinzand
de tipul transformarii unitare utilizate) n domeniul spectral. De exemplu, daca este sa
ne referim numai la spectrul rezultat n urma aplicari transformatei Fourier, frecventele
(spatiale) nalte pot fi folosite pentru detectia contururilor, frecventele ce concentreaza
energie corespund unor structuri periodice n domeniul spatial, iar aranjarea liniara a unor
maxime energetice poate sa indice o anumita directie predominanta dupa care sunt orientate componente din imagine [64], [33]. Astfel se structureaza zone de interes n domeniul
spectral, n care este posibila identificarea unor caracteristici de variatie spatiala a valorilor din textura prin masurarea energiei spectrale corespunzatoare. Zonele de interes
din spectru sunt extrase cu ajutorul unor seturi de masti (aperturi) definite convenabil.
Dar aceasta operatie nu este nsa altceva decat filtrarea liniara a texturii dupa un set de
filtre liniare a caror functie de transfer corespunde mastilor de frecventa dorite, ceea ce
nseamna ca descrierea unei texturi n domeniul spectral se realizeaza echivalent prin filtrarea acesteia cu un banc de filtre liniare si masurarea unei energii a raspunsului acestora
[49].
Mastile de baza folosite pentru masurarea caracteristicilor energetice ce definesc textura
sunt de doua feluri (reprezentate n figura 7.5) [33]: masti inelare simetrice, de tip trece
banda, a caror parametri de definitie sunt largimea inelului (benzii de trecere) si raza
inelului (pozitionarea frecventei centrale de trecere), masti ce masoara concentratia de
energie pe diferite zone ale spectrului si masti orientate, de forma unor sectoare circulare,
ai caror parametri de definitie sunt orientarea si largimea sectorului circular, masti ce
masoara caracteristicile de orientare din textura si identifica directiile predominante. In
mod clasic, texturile se caracterizeaza prin folosirea a 7 masti inelare si 4 masti de tip
sector (setul complet de masti este reprezentat n [49]).
a)
b)
c)
d)
Figura 7.5: M
asti de caracterizare a texturilor n domeniul spectral: a), b) masti de tip
inel avand diferite raze (frecvente centrale ale benzii de trecere); c) d) masti de tip sector,
av
and orientarile 0 si /4. Profilul sectiunii mastilor este gaussian.
Ideea de a masura atat repartitia unghiulara cat si cea de frecventa a energiei texturii se
regaseste si n metoda de caracterizare a texturilor prin filtrare cu un banc de filtre Gabor
[49], inclusa si ca unul dintre descriptorii texturali n standardul MPEG-7 [2], Filtrul
Gabor este un filtru trece banda, a carui functie de transfer este de tip gaussian; functia
sa pondere este tot o gaussiana, modulata cu o componenta cosinusoidala ce corespunde
148
k2
l2
+
x2 y2
(7.22)
Modificarea frecventei centrale f0 face ca filtrul sa selecteze din spectrul texturii o zona
corespunzatoare unor frecvente mai joase (f0 mic) sau mai ridicate (f0 mare), ceea ce
corespunde evaluarii n textura a unor trasaturi mai grosiere, respectiv detalii mai fine,
ceea ce este echivalent cu analiza unor versiuni scalate ale texturii considerate. Toate
filtrele Gabor ce sunt definite cu o aceeasi frecventa centrala f0 analizeaza informatia din
textura la o aceeasi scala.
a)
b)
c)
7.3
Modelarea texturilor
Termenul de model [27] se foloseste pentru orice ipoteza ce se poate aplica pentru a
explica sau a descrie legile ascunse (necunoscute) ce se presupune ca guverneaza sau
constrang generarea unor date de interes. Aceasta nseamna ca se presupune adevarat si
cunoscut un sistem de ecuatii (dependente de parametri) ce caracterizeaza desfasurarea
fenomenului fizic studiat si se ncearca gasirea unui set de parametri particulari care duc la
aproximarea optima a datelor reale prin cele generate de ecuatiile sistemului. Parametrii
astfel determinati vor constitui un mod de reprezentare comprimat si aproximativ al
desfasurarii fenomenului fizic studiat, putand fi utilizati fie pentru generarea unei forme
aproximative a acestuia, fie pentru compararea sa cu alte procese caracterizate ntr-un
149
7.3.1
Modele statistice
Folosirea modelelor statistice (stochastice) provine din ideea fundamentala a lui Yule,
potrivit careia o serie de timp (deci valorile unei realizari particulare ale unui proces
aleator de timp discret) cu observatii puternic corelate poate fi generata aplicand unui
filtru liniar o serie de esantioane statistic independente (ce provin, de cele mai multe ori,
dintr-un proces de zgomot alb, gaussian) [27]. In domeniul suportului valorilor procesului
aleator relatia dintre intrarea si iesirea filtrului liniar se poate exprima n modul cel mai
general prin aceea ca iesirea la un moment dat este suma dintre o combinatie liniara
a valorii curente si a unor valori anterioare ale intrarii (procesului de zgomot alb) si o
combinatie liniara a valorilor anterioare ale iesirii. In functie de alegerea combinatiilor
liniare, sunt posibile trei tipuri de modele [27], [11]: autoregresiv (AR), medie glisanta
(MA) si combinat (ARMA). Ordinul modelului este determinat de numarul de termeni
utilizati n cele doua combinatii liniare de valori anterioare de la intrare (Nin ) si respectiv
iesire (Nout ).
In cele ce urmeaza ne vom interesa n mod particular de modelele autoregresive (AR),
pentru care Nin = 0 (deci nu se folosesc valori anterioare ale intrarii) si Nout 1 (deci
se foloseste cel putin o valoare anterioara de la iesire). Daca notam cu y(n) valorile de
la iesirea filtrului liniar (modelului) si cu (n) valorile procesului de zgomot alb de la
intrarea modelului, ecuatia ce descrie modelul AR de ordin Nout = K este:
y(n) = (n) +
K
X
wi y(n i) cu wi R.
(7.23)
i=1
Se observa deci ca valoarea curenta a iesirii modelului, y(n) depinde de o combinatie liniara
de valori ale iesirii modelului, adica y este regresat peste el nsusi (autoregresat), de unde
si numele modelului. Ecuatia (7.23) de definitie a modelului AR poate fi nsa interpretata
si prin posibilitatea de a realiza o descriere compacta (dar aproximativa) a desfasurarii
valorilor y(n) pe baza doar a coeficientilor wi . Aceasta interpretare a modelului statistic
descris de ecuatia (7.23) este numita analiza.
Pentru analiza AR a unui semnal dat (pentru care valorile y(n) sunt cunoscute), din
ecuatia (7.23) trebuie calculate cele K necunoscute wi . O varianta posibila de rezolvare
este folosirea ecuatiilor Yule-Walker (a caror prezentare detaliata poate fi regasita n [27]
sau [11]). Ecuatiile Yule-Walker se bazeaza pe utilizarea valorilor functiei de autocorelatie
a semnalului y, Ry (k), care se presupun posibil de masurat (evaluat experimental). Mai
150
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x x x x
TRECUT
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x
x x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
VIITOR
x x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x x
x
x
x
x
x
x
x
x
x
x
x
x
Figura 7.7: Ordonarea pixelilor dintr-o regiune prin baleiajul uzual: pixelii predecesori
(trecutul semnalului de imagine) si pixelii urm
atori (viitorul semnalului de imagine)
unui pixel oarecare.
precis, avem:
Ry (k) +
Ry (0) +
K
X
i=1
K
X
wi Ry (k i) = 0, cu k = 1 . . . M
(7.24a)
wi Ry (i) = 2 .
(7.24b)
i=1
Pentru texturi, ca si pentru imagini n general, corelatia existenta ntre valorile pixelilor
nvecinati este semnificativa, ceea ce justifica ideea de a utiliza un model Ar pentru
caracterizare. Diferenta esentiala fata de cele discutate anterior provine din faptul ca
semnalul de imagine este un semnal bidimensional si aplicarea imediata a relatiilor (7.24)
nu este posibila. Exista, desigur, posibilitatea de a rescrie ecuatiile modelului AR si
ecuatiile Yule-Walker pentru cazul unui semnal cu suport bidimensional dar, cel mai
simplu (din punctul de vedere al implementarii) este de a transforma (local) semnalul
de imagine ntr-un semnal unidimensional. Aceasta transformare este echivalenta cu a
introduce o ordonare a valorilor din imagine, pentru fiecare pozitie (pixel) definindu-se
un trecut si un viitor (aceste nume fiind asociate prin analogie cu suportul temporal
al semnalului unidimensional), adica pozitiile din suportul spatial al imaginii ce sunt
considerate anterioare, si respectiv ulterioare pozitiei curente. De fapt, aceasta ordonare
nu face altceva decat sa precizeze modul de baleiere a regiunii R din imagine n care se
face analiza; daca baleierea este uzuala (pe linii de la stanga la dreapta si de sus n jos),
structura de pixeli predecesori si respectiv de pixeli urmatori ai unui pixel este prezentata
n figura 7.7.
7.3.2
Modele fractale
Notiunea de multime fractala (si conceptul asociat de geometrie fractala) ofera cadrul matematic pentru studiul a numeroase forme complexe si neregulate ce apar n natura. Mandelbrot [37] a demonstrat ca multe suprafete fractale sunt generalizari ale miscarii browniene (si deci procese statistice) si deci rezulta ca un caz limita al proceselor ce modifica
151
forma local, n mod aleator. Pentland [45] a aratat apoi ca majoritatea suprafetelor
naturale sunt fractali spatiali izotropi si ca imaginile vizuale de intensitate ale acestor
suprafete sunt de asemenea fractali. Rezulta astfel posibilitatea de a caracteriza o textura
prin atributele sale de geometrie fractala [45], [12].
Caracteristica fundamentala a unui fractal (considerat ca o multime marginita din spatiul
n-dimensional Rn ) este autosimilaritatea. O multime A se numeste autosimilara daca
poate fi reprezentata prin reuniunea a N copii ale ei nsasi, distincte (eventual suprapuse)
si scalate omogen cu un factor r . Dimensiunea fractala a multimii A (numita uneori
si dimensiune de similaritate), D, este definita de raportul logaritmilor numarului de
submultimi si a factorului de scala:
D=
log N
sau, echivalent, N rD = 1.
log r
(7.25)
In cazul unei imagini cu nivele de gri, multimea A va fi o multime n spatiul tridimensional (doua
coordonate spatiale si a treia coordonata nivelul de gri), formata din puncte de coordonate discrete.
152
a)
b)
Figura 7.8: Exemple de construire a unor fractali n plan: a) curba Koch (N = 4, r = 1/3,
D = 1.262); b) Triunghiul Sierpinski (N = 3, r = 1/2, D = 1.585).
numarare a cutiilor).
log N (L) = D log r = D log Kmax D log K.
(7.26)
Calculand valoarea N (K) pentru mai multe valori ale lui K, dimensiunea fractala cautata
D poate fi determinata ca panta aproximarii liniare optimale a lui log K n functie de
log N (K). Modul cel mai simplu de a estima D este deci de a diviza spatiul n-dimensional
ntr-o retea de hiper-paralelipipede de dimensiune maxima K si de a determina numarul
de asemenea hiper-paralelipipede nevide (care contin deci puncte din multimea A).
Varianta de algoritm prezentata anterior este extrem de simpla si de la ea se poate dezvolta
o varianta de algoritm mai precis. Sa notam cu PK (i) probabilitatea de a avea i puncte din
multimea A ntr-un hiper-paralelipiped de dimensiune maxima K, centrat ntr-un punct
oarecare al spatiului. Pentru o dimensiune K fixata, probabilitatile PK (i) corespund unui
153
K
X
PK (i) = 1.
(7.27)
i=1
Daca ntreaga multime A (care n cazul texturilor corespunde ntregii imagini cu nivele
de gri avand N pixeli) este acoperita cu hiper-paralelipipede de dimensiune maxima
K, atunci numarul de hiper-paralelipipede ce contin n interior cate i puncte este N/i.
Numarul mediu de hiper-paralelipipede necesare pentru acoperirea imaginii va fi atunci:
3
N (K) =
K
X
N
i=1
PK (i) = N
K
X
1
i=1
PK (i)
= K D
(7.28)
estimeaz
a D din panta aproximarii liniare a lui log N (K) n functie de log K
Tabela 7.1: Pseudocodul corespunzator algoritmului de determinare a dimensiunii fractale
a unei texturi cu nivele de gri prin metoda cutiilor.
PK (i).
2
=
, cu
(7.29)
K
X
iPK (i),
i=1
3
K
X
i2 PK (i) 2 .
i=1
(7.30)
In practica, estimarea dimensiunii fractale pe baza ecuatiei (7.30) este simpla: spectrul
Fourier de energie al regiunii R considerate este reprezentat n coordonate polare (f, )
si este masurata variatia energiei medii (mediata dupa un numar suficient de mare de
directii convenabil alese) cu frecventa f . Panta dreptei de aproximare a logaritmului
energiei dupa logaritmul frecventei polare este un estimat al dublului valorii coeficientului
Hurst.
log E
log f
a)
b)
Figura 7.9: a) Spectrul de energie Fourier al texturii reprezentate n figura 7.1 a); b)
reprezentarea la scar
a dublu logaritmic
a a energiei n functie de frecventa polar
a (linie
continu
a) si dreapta de aproximarea a acesteia (linie ntrerupt
a). Coeficientul Hurst este
H = 1.465, iar dimensiunea fractal
a este D = 2.535.
155
7.4
Concluzii
156
Capitolul 8
Caracterizarea formelor si
contururilor plane
In mod general termenul de forma se refera la aspectul (sau nfatisarea, conturul, silueta)
unei figuri, n care nu se tine seama de dimensiunea ei [15]. Forma desemneaza structura
interna si externa a unui continut sau modul de organizare a elementelor din care se
compune un obiect. In analiza imaginilor ntelegem prin forma plana o multime de puncte
(pixeli) din suportul spatial al imaginii, reprezentand o singura componenta conexa (ceea
ce presupune n mod implicit binarizarea imaginii initiale si etichetarea acesteia). Functia
caracteristica a multimii binare ce este forma este chiar functia imagine: valoarea oricarui
punct al formei este 1, valoarea celorlalte puncte din suportul spatial al imaginii este 0.
Forma poate fi vazuta deci ca o functie binara de doua variabile (ce sunt coordonatele
spatiale), cu suport compact si conex f (x, y) : A R2 (sau Z2 ) {0, 1}.
Problema ce se doreste rezolvata este descrierea (sau caracterizarea) unei forme, adica
asocierea unei multimi de valori care sa o identifice si individualizeze (deci sa permita
deosebirea ei de alte forme). Multimea de valori cu care se realizeaza caracterizarea unei
forme se numeste multime a parametrilor de forma, sau, din perspectiva domeniului de recunoastere a formelor, trasaturi. Un parametru este o marime ale carei valori permit sa se
deosebeasca ntre ele elementele unei multimi [15] (n cazul nostru este vorba de multimea
formelor plane) si este o marime proprie caracteristica formei. Forme asemanatoare sunt
caracterizate de parametri de forma de valori apropiate; formele diferite prezinta diferente
mari ntre parametrii de forma asociati. Parametrii de forma compun un fel de fisa de
identitate a formei respective, pe baza careia aceasta forma poate fi recunoscuta n mod
unic.
Parametrii de forma (setul de numere prin care se doreste identificarea acesteia) sunt
definiti (dedusi) astfel ncat sa se asigure respectarea principiilor de invarianta la transformari geometrice afine uzuale (translatie, scalare, rotatie) si toleranta la zgomot (mici
variatii ale formei). Aceasta nseamna ca parametrii ce sunt asociati unei forme trebuie
sa nu se modifice, chiar daca forma este deplasata n plan, rotita, si schimba dimensiunea
sau este afectata de zgomot (puncte lipsa sau adaugate formei). In general, parametrii de
forma sunt scalari sau functii, dar sunt posibile si caracterizari ale formei prin simplificari
ale structurii acesteia.
157
Principiul dupa care vom realiza prezentarea si clasificarea diferitilor parametri de forma
este complexitatea (sau dimensionalitatea) acestora. Vom distinge astfel, n ordine descrescatoare a complexitatii, forme simplificate, functii (reale, de o variabila) si parametri
scalari.
8.1
8.1.1
Simplificarea formelor
Anvelopa convex
a
Pentru o forma plana A, anvelopa convexa (convex hull ) CH(A) este cea mai mica forma
plana convexa ce include forma data: A CH(A), cu CH(A) multime convexa. Putem
deci spune ca anvelopa convexa este forma cea mai asemanatoare formei initiale A, n care
concavitatile conturului initial au fost eliminate (sau umplute, pentru a folosi un cuvant
mai apropiat fenomenului). Anvelopa convexa a oricarei forme discrete este un poligon ale
carui varfuri sunt o parte dintre punctele situate pe frontiera formei. Metodele clasice de
determinare a acestor puncte sunt cunoscute sub numele de marsul Jarvis (Jarvis march)
si respectiv baleierea Graham (Graham scan) [43].
Pentru un set oarecare de puncte (care nu compun neaparat o forma plana, n sensul
definitiei), metodele amintite se bazeaza pe gasirea urmatorului punct de pe anvelopa
convexa ordonand toate punctele ramase n multime (dupa eliminarea punctelor ce au fost
deja plasate pe anvelopa convexa) dupa unghiurile pe care le fac segmentele de dreapta
ce le unesc cu punctul curent de pe anvelopa convexa. Unghiurile sunt calculate fata
de directia dreptei determinate de ultimele doua puncte de pe anvelopa convexa deja
determinata; urmatorul punct de pe anvelopa convexa va avea un unghi minim fata de
directia de referinta. Algoritmul este initializat ntr-un punct extrem al multimii, ce
apartine cu siguranta anvelopei sale convexe, de exemplu un punct pentru care una dintre
coordonatele de linie sau coloana are o valoare extrema (minima sau maxima); de obicei
algoritmul se initializeaza n primul punct al multimii ce este ntalnit prin baleiajul uzual
(de la stanga la dreapta si de sus n jos al imaginii). In cazul unei forme plane, multimea
de puncte pentru care se calculeaza anvelopa convexa se poate reduce doar la punctele
situate pe conturul formei.
O metoda aproximativa de construire a anvelopei convexe se bazeaza pe folosirea
operatiilor de morfologie matematica (deci operatii orientate pe forma), mai precis pe
utilizarea nchiderii morfologice (3.56). Dupa cum s-a aratat si n sectiunea 3.4, nchiderea
morfologica are proprietatea de a umple concavitatile de pe conturul multimii de prelucrat
(forma A initiala, n cazul nostru), daca aceste concavitati sunt mai mici decat elementul
structurant folosit. Este evident atunci ca prin cresterea dimensiunii elementului structurant folosit pentru nchidere se va asigura, la un moment dat, umplerea (deci eliminarea)
tuturor concavitatilor si obtinerea unei forme convexe, forma ce este o aproximare a anvelopei convexe a multimii A initiale. Elementul structurant folosit este un disc de raza
n, B(n). Putem scrie atunci ca:
CH(A) = lim (A B(n)) .
n
(8.1)
a)
b)
c)
Figura 8.1: Conturul anvelopei convexe a unor forme, suprapus peste formele originale.
a)
b)
c)
Figura 8.2: Exemplu de calcul aproximativ a anvelopei convexe a unei forme prin
nchidere: a) forma originala si contrul anvelopei convexe corecte; b) nchiderea morfologic
a a formei originale cu un element structurant disc dupa 17 iteratii; c) stabilizarea
nchiderii morfologice a formei originale cu un element structurant disc dupa 51 iteratii
anvelopa convex
a nu este corect calculat
a desi o parte din concavit
atile formei au fost
eliminate.
8.1.2
Aproximarea poligonal
a
C
B
dC
A
Figura 8.3: Exemplu de aproximare poligonal
a a unei curbe.
a)
b)
c)
d)
8.1.3
Skeletoane
(8.2)
Bx (r) Bx0 (r ) A
r = r0
x = x0
(8.3)
O forma poate avea mai multe discuri maximale, de dimensiuni diferite. Skeletonul unei
forme este multimea centrelor discurilor maximale ale acelei formei. Ca exemple simple,
skeletonul unui disc este centrul sau, skeletonul unui patrat este reuniunea diagonalelor
sale.
Skeletonul morfologic
Calculul skeletonului unei forme reprezentate n spatiul discret se poate face prin formula
Lantuejoul [54]; skeletonul formei A, SK(A), este format din reuniunea unui numar finit de
multimi de puncte (corespunzand centrelor discurilor maximale cu o aceeasi dimensiune),
numite seturi skeleton:
N[
max
SK(A) =
Sn (A)
(8.4)
n=0
(8.5)
Ordinul Nmax corespunde momentului n care toate seturile skeleton succesive devin nule,
moment marcat de A Nmax B = ; elementul structurant nB fiind iterarea de n ori a
elementului structurant B, nB = B ... B (de n ori). Elementul structurant folosit
este n general un disc unitar (deci element structurant V4 sau V8 ). Figura 8.5 prezinta
skeletonul morfologic extras dupa formula (8.4) pentru cateva forme binare.
Skeletonul este invariant la translatie, nu este conex (chiar daca forma A este conexa),
nu este comutativ cu operatia de reuniune a formelor. Transformarea skeleton este idempotenta (SK(SK(A)) = SK(A)) si antiextensiva (SK(A) A). Seturile skeleton sunt
disjuncte doua cate doua (Si (A) Sj (A) = , i 6= j).
161
a)
b)
c)
Figura 8.5: Exemplu de skeleton a unor forme: a) patrat, (reprezentat n figura 8.9 a))
calculat cu element structurant V4 ; b) frunza de tei (reprezentat
a n figura 8.1 b)) calculat
cu element structurant V8 ; c) frunza de stejar (reprezentat
a n figura 8.9 c)) calculat cu
element structurant V4 .
Reconstructia formei din skeleton se face dupa formula
A=
N[
max
(8.6)
n=0
Se pot realiza si reconstructii partiale (aproximari ale multimii A) prin neglijarea seturilor
skeleton ce reprezinta detaliile (acestea sunt seturile skeleton de ordin mic); aproximarea
de ordin k a formei nseamna deci ignorarea primelor k seturi skeleton din reconstructie:
fk =
A
N[
max
(8.7)
n=k
Folosirea skeletonului morfologic pentru recunoasterea fomelor este restrictionata de puternica sa sensibilitate la zgomote (o mica schimbare a formei duce la o modificare semnificativa a skeletonului1 ), si de variatia la rotatia si scalarea obiectelor (pentru reprezentari
n spatiul discret). In acelasi timp, folosirea elementului structurant de tip disc unitar
aduce o puternica dependenta de metrica folosita n definirea sa (sa nu uitam ca ntr-un
spatiu discret, metrica Euclidiana nu este cea mai favorabila) si produce elemente structurante patrate (V8 ) sau n cruce (V4 ), ce pot fi cu greu interpretate ca discuri. Acestea
au condus la folosirea unei clase de elemente structurante care sa nu provina din notiunea
de metrica - elementele structurante generalizate [69].
1
Exemplul clasic este de a considera un disc fara centru; n acest caz skeletonul este o coroana circulara
situata la jumatatea razei.
162
a)
b)
c)
d)
(8.8)
B0 = 0 n
In general se folosesc seturi generatoare avand o anumita periodicitate T (Gi+kT =
Gi , i, k Z). De exemplu, figura 8.7 prezinta constructia setului de elemente structurante generalizate rezultat dintr-un set generator cu perioada 1 (deci compus dintr-o
singura multime), E1 = {(1, 1), (1, 0), (0, 1), (0, 0)}.
0, daca x
/A
D(x) =
(8.9)
n, daca (Bn1 )x A si (Bn )x * A
163
8.2
8.2.1
Semnatura unei forme este o functie scalara de o variabila, asociata unei forme plane
ce este definita de distanta de la un punct de referinta fixat x0 (n general centrul de
greutate al formei) la fiecare punct de pe conturul (frontiera) formei. Aceasta distanta este
exprimata (sau masurata) n functie de unghiul la centru realizat de punctul curent de pe
contur cu axa orizontala de referinta, dx0 () sau n functie de abscisa curbilinie (lungimea
conturului cuprins ntre punctul curent si punctul n care axa de referinta intersecteaza
conturul), dx0 (). Semnatura formei este o reprezentare reversibila (cunoscand semnatura
se poate reconstrui conturul obiectului). Figura 8.9 prezinta semnaturile unor forme plane.
Este posibil ca, pentru formele concave, semnatura n functie de unghiul la centru sa nu
poata fi calculata, deoarece, pentru anumite unghiuri , intersectia dreptei de directie
cu conturul sa fie formata din mai multe puncte. Aceasta problema nu apare n cazul
semnaturii n functie de abscisa curbilinie. Ca o restrictie generala, n cazul folosirii
semnaturii bazate pe unghi, trebuie ca punctul de referinta x0 sa apartina nucleului
formei. Nucleul formei K, Ker(K) este definit prin:
Ker(K) = {x|y K, [xy] K}
(8.11)
Se poate remarca similitudinea cu definitia skeletonului, n care s-au nlocuit notiunile: centru al
discului cu origine a elementului structurant, disc cu element structurant generalizat, raza a discului cu
indice (ordin) al elementului structurant generalizat.
164
d()/dmax
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0.1
0.2
0.3
0.4
a)
0.5
0.6
0.7
0.8
0.9
0.7
0.8
0.9
b)
d()/dmax
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.1
0.2
0.3
0.4
c)
0.5
0.6
d)
Figura 8.9: Exemple de semnaturi ale unor forme: a), b) semnatura unui patrat ca functie
de unghiul la centru; punctul de referint
a este centrul de greutate, axa de referint
a este
orizontala; c), d) semnatura unei forme oarecari (frunza) n functie de abscisa curbilinie;
punctul de referinta este centrul de greutate, axa de referint
a este orizontala .
Pentru compararea semnaturilor provenind de la forme diferite, suportul functiei
semnatura (calculata n functie de abscisa curbilinie) precum si domeniul de valori trebuie normalizate (aceasta nseamna ca suportul functiei semnatura se normalizeaza la 2
n cazul semnaturii calculate dupa unghiul la centru sau la perimetrul formei n cazul
semnaturii calculate dupa abscisa curbilinie iar domeniul de valori se normalizeaza la valoarea maxima a distantei de punctele de contur la punctul de referinta ales). In acest
fel, functia semnatura va avea atat domeniul, cat si codomeniul intervalul [0, 1].
Folosind semnatura formei, se pot defini parametri de forma scalari de tip geometric. Un
raport de simetrie poate fi definit ca:
dx ()
xK [0;] dx ( + )
(8.12)
Se observa ca nu s-a facut nici o presupunere privind convexitatea formei K, dar unicitatea
165
(8.13)
8.2.2
Curbe granulometrice
Curbele granulometrice asociate unei forme plane sunt functii de o variabila reala, bazate
pe masurarea prin arie a rezultatelor unor transfomari morfologice convenabil alese aplicate formei. Variabila reala care indexeaza curba granulometrica (deci functia ce va caracteriza forma) este legata de dimensiunea elementului structurant folosit n transformarea
morfologica folosita. Constructia unei curbe granulometrice are mai multe etape: generarea granulometriei asociate formei, masurarea prin arie a elementelor granulometriei si
normalizarea rezultatelor.
Granulometria asociata unei forme A este secventa de multimi (A ())R+ , n care A ()
este rezultatul prelucrarii formei A cu transformarea morfologica aleasa de element structurant de dimensiune . Transformarea morfologica se alege astfel ncat sa fie ndeplinite
urmatoarele conditii: transformarea sa fie crescatoare fata de multimea prelucrata (adica,
pentru un parametru R+ fixat si doua forme plane A1 , A2 , daca A1 A2 atunci
A1 () A2 ()), antiextensiva (adica, pentru un parametru R+ fixat, A () A)
si sa verifice relatia , R+ , A () () = A () () = A (max(, )). Ultima conditie
implica idempotenta transformarii morfologice (care se obtine pentru = ).
Cea mai simpla transformare morfologica ce respecta conditiile de a fi crescatoare, antiextensiva si cel putin idempotenta este deschiderea (3.55), ceea ce duce la definirea granulometriei ca:
A () = A B = (A B) B S .
(8.14)
De obicei elementul structurant folosit B este un disc unitar (deci, n implementare discreta, un element structurant V4 sau V8 ).
Normalizarea valorilor ariilor elementelor ce formeaza granulometria se face la aria celei
mai mari nchideri morfologice a formei plane A, adica la aria lui lim (A nB). Atunci
n
functia curba granulometrica asociata formei plane A este definita ca A : R+ [0, 1]:
A () =
Aria(A ())
166
(8.15)
Dupa cum rezulta din definitia curbei granolometrice (8.15), aceasta este invarianta la
translatie si rotatie (prin proprietatile transformailor morfologice de nchidere si deschidere), si invarianta la scalare (prin normarea la aria celei mai mari nchideri), este
descrescatoare, iar valoarea n origine este indicele de concavitate a formei (8.19) (n
conditiile n care anvelopa convexa a formei poate fi aproximata prin nchiderea maxima
a acesteia, dupa cum s-a discutat si n sectiunea 8.1.1, (8.1)). Figura 8.10 prezinta curbele
granulometrice prin deschidere a trei forme simple (un patrat si doua tipuri de frunze);
dupa cum se poate remarca cu usurinta, aspectul acestor curbe este foarte particular,
modul de descrestere fiind specific fiecarei forme plane.
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Figura 8.10: Exemple de curbe granulometrice ale unor forme: un patrat (reprezentat si
n figura 8.9 a)) linie continu
a, o frunza de stejar (reprezentat
a si n figura 8.9 c))
linie punctat
a si o frunza de tei linie cu simboluri x.
Din graficele reprezentate n figura 8.10 se poate remarca ca suportul curbelor granulometrice asociate formelor luate ca exemplu a fost si el normalizat la intervalul [0, 1].
Aceasta normalizare se realizeaza prin re-esantionarea curbei granulometrice initiale, cu
un numar impus de esantioane si normarea intervalului de variatie a parametrului la
valoarea sa maxima.
8.3
8.3.1
Parametri de form
a scalari
Parametri geometrici (rapoarte de aspect)
Aceasta categorie de parametri se bazeaza pe masurarea unor atribute geometrice simple: aria sau suprafata S, perimetrul P , numarul de gauri, numarul lui Euler (diferenta
dintre numarul de regiuni conexe si numarul de gauri), dimensiunile maxime ale formei
pe directie orizontala sau verticala, dimensiunile cercurilor nscrise si circumscrise formei.
Este evident ca aria, perimetrul si dimensiunile maxime si ale cercurilor nu sunt parametri
167
invarianti la scalare, dar, pe baza lor se pot construi scalari care sa aiba aceste proprietati
de invarianta. Rapoartele sunt astfel definite ncat valorile lor sa fie restranse la intervalul
[0, 1].
Raportul de compacitate (numit uneori si factor de forma) este definit ca raportul dintre
patratul perimetrului si suprafata formei:
=
4S
.
P2
(8.16)
Pentru o forma circulara raportul este unitar; cu cat numarul este mai apropiat de
aceasta valoare, cu atat mai mult forma seamana cu un disc (patratul are un raport de
compacitate = 0.785).
Excentricitatea sau circularitatea formei (masura n care forma data se deosebeste de disc)
este definita a raport al razelor cercurilor circumscrise (R) si nscrise (r) formei:
c=
r
R
(8.17)
Acest raport este evident unitar n cazul discului; pentru patrat valoarea sa este de c =
0.707. Caracteristici similare sunt masurate si de rapoartele de simetrie si circularitate
definite pe baza semnaturii formei n (8.13) si (8.13).
Raportul de alungire este definit de raportul dimensiunilor maxime ale formei dupa
directiile verticala (Dv ) si orizontala (Dh ). Raportul de alungire astfel definit este dependent de orientarea formei, nefiind invariant la rotatia plana.
c = min{
Dv Dh
,
}.
Dh Dv
(8.18)
0.826
1.000
1.000
1.000
0.716
frunza stejar
(figura 8.9 c))
0.161
0.506
0.541
0.009
0.108
frunza tei
(figura 8.1 b))
0.642
0.961
0.929
0.695
0.794
biscuit
(figura 5.6)
0.603
0.957
1.000
0.952
0.917
8.3.2
(8.20)
Scalarul mpq (momentul de ordin p, q sau p + q) este proiectia functiei f (x, y) pe polinoamele xp si y q ale bazei complete de polinoame. Teorema reprezentarii cu momente
afirma ca multimea infinita de momente mpq determina n mod unic f (x, y) si reciproc.
In cazul imaginilor binare, coordonatele sunt discrete si functia este o functie caracteristica; formula momentelor (8.20) devine
X X
mpq =
xp y q
(8.21)
f (x,y)6=0
Cum caracterizarea unei forme printr-o serie infinita de numere (asa cum cere teorema
reprezentarii cu momente) nu este posibila, n practica se folosesc serii de momente
truncheate pana la un ordin maxim fixat N (p + q 6 N ). Acestea nsa caracterizeaza
o alta functie, g(x, y), o aproximare a lui f (x, y). Aceasta aproximare este data de o
combinatie liniara a polinoamelor bazei, ponderate cu scalarii necunoascuti gpq :
X X
g(x, y) =
gpq xp y q
(8.22)
p+q6N
Gasirea acestor scalari se face prin egalarea momentelor cunoscute ale lui f (x, y) cu momentele lui g(x, y) data de expresia (8.22). Rezolvand sistemul de ecuatii cuplate ce se
formeaza, se pot obtine relatiile cautate; calculul trebuie nsa refacut, din cauza cuplarii
ecuatiilor, ori de cate ori se doreste trecerea la o aproximare mai buna a formei f , marind
valoarea lui N . Aceasta cuplare provine din cauza folosirii unei baze neortogonale (asa
cum este familia de polinoame xp y q ) pentru calculul momentelor; problema a fost rezolvata
prin folosirea proiectiilor pe baza de polinoame Legendre.
Trebuie nsa remarcat ca folosirea momentelor statistice pentru caracterizarea unei forme
nu asigura ndeplinirea a nici unuia dintre principiile de invarianta cautate; de aceea au
fost introduse momente statistice invariante. Momentele statistice invariante la translatie
sunt momentele statistice centrate:
X X
pq =
(x x)p (y y)q
(8.23)
f (x,y)6=0
pq
p+q
, = 1+
00
2
(8.24)
Invariantii la translatie, scalare si rotatie ai unei forme, obtinuti n conditiile folosirii unor
momente statistice de ordin cel mult 3 (N = 3), sunt n numar de 7 si sunt exprimati de:
1 = 20 + 02
(8.25)
2
2 = (20 02 )2 + 411
(8.26)
169
(8.27)
(8.28)
(8.29)
(8.30)
(8.31)
Initial (mijlocul anilor 60) acesti invarianti au fost folositi pentru recunoasterea caracterelor mari de tipar, cu rezultate modeste. Eficienta lor consta nsa n modul rapid de
calcul si posibilitatea de a le utiliza cu succes pentru recunoasterea formelor geometrice
convexe.
Folosind momentele invariante, se mai pot deduce alte atribute: excentricitatea suprafetei
(8.32), care masoara gradul de uniformitate al distributiei punctelor formei n jurul centrului de greutate si orientarea suprafetei, caracterizata de unghiul fata de orizontala al
axei fata de care momentul inertie al formei este minim (8.33).
2
00
(8.32)
1
211
arctan
2
20 02
(8.33)
=
=
8.3.3
Frontiera unui obiect, odata ce a fost determinata, poate fi vazuta ca o pereche de semnale
unidimensionale x(t) si y(t) n functie de abscisa curbilinie pe contur t. Astfel, frontiera
respectiva poate fi reprezentata folosind tehnici uzuale pentru semnale unidimensionale.
Pentru un contur discret, se poate defini semnalul complex:
u(n) = x(n) + jy(n),
n = 0, 1, ..., N 1
care, pentru un contur nchis, este un semnal periodic de perioada N . Semnalul u(n)
poate fi caracterizat prin transformata sa Fourier discreta a(k), definita ca:
2jkn
a(k) =
u(n) exp
N
n=0
N
1
X
Coeficientii complecsi a(k) se numesc descriptorii Fourier ai frontierei considerate. Descriptorii Fourier ai unui contur prezinta anumite proprietati de invarianta la operatii
geometrice de baza (scalare, rotatie, translatie) care i fac sa fie extrem de atractivi pentru
recunoasterea de forme. In cele ce urmeaza sunt prezentate cateva dintre proprietatile cele
mai importante ale descriptorilor Fourier, ale caror demonstratii sunt lasate ca exercitiu.
170
Translatie
Fie u(n) semnalul complex asociat unei frontiere, si fie a(k) descriptorii Fourier ai acesteia.
Fie u(n) semnalul asociat frontierei obiectului translatat cu (x0 , y0 ). Putem scrie u(n) =
u(n) + u0 , cu u0 = x0 + jy0 . Atunci, descriptorii Fourier ai obiectului translatat a
(k) se
obtin n functie de cei ai obiectului original astfel:
a
(k) = a(k) + u0 (k).
Cu alte cuvinte, efectul unei translatii asupra descriptorilor Fourier ai unui obiect este
modificarea coeficientului de curent continuu.
Scalare
Fie u(n) semnalul asociat frontierei obiectului scalat cu parametrul : u(n) = u(n).
Atunci,
a
(k) = a(k).
Altfel spus, o scalare a obiectului conduce la o scalare a descriptorilor sai Fourier.
Rotatie
Fie u(n) semnalul asociat frontierei obiectului rotit cu unghiul 0 : u(n) = u(n) exp(j0 ).
Descriptorii Fourier ai obiectului rotit devin:
a
(k) = a(k) exp(j0 ).
O rotatie a obiectului induce, deci, o deviatie constanta n faza descriptorilor sai Fourier.
Schimbarea originii
In cazul n care se schimba originea obiectului, semnalul care i va descrie frontiera va fi
u(n) = u(n n0 ) cu n0 constant, iar descriptorii sai Fourier pot fi scrisi:
2jno k
a
(k) = a(k) exp
,
N
deci o schimbare a originii conduce la o modulatie indusa n faza descriptorilor sai Fourier.
171
172
Partea III
Reprezentarea si prelucrarea
imaginilor color
173
Capitolul 9
Descrierea culorilor si modele de
prelucrare a imaginilor color
Aceast capitol ncearca realizarea unui studiu asupra culorii. In prima parte (paragraful
9.1) vom discuta despre notiunile fundamentale din colorimetrie. Vom defini principiul
tricromaticitatii, conform caruia orice culoare monocromatica poate fi sintetizata prin
amestecul aditiv a trei stimuli independenti de culoare, principiu bazat pe caracteristicile
ochiului uman, care contine trei tipuri de receptori de culoare (conuri). Apoi, vom discuta
despre chestiuni legate de potrivirea, reproducerea si perceptia culorilor. In finalul partii
ntai, vom aborda chestiuni legate de perceptie a culorilor la un alt nivel al caii vizuale.
Astfel, vom discuta despre teoria culorilor opuse, care sta la baza dezvoltarii spatiilor
perceptuale de reprezentare a culorii.
9.1
Fundamentele colorimetriei
Inainte de Newton, natura luminii si a culorilor era destul de putin nteleasa. Experimentele clasice ale lui Newton, bazate pe trecerea luminii solare printr-o prisma de cristal,
au condus la formarea ideilor privind dependenta culorii de compozitia spectrala a luminii.
Desi aceste experimente au constituit bazele fizice pentru descrierea culorilor, ele erau nca
departe de a fundamenta un sistem colorimetric.
Pentru a putea dezvolta sisteme de masurare si specificare a culorilor au fost nsa necesare
si studii privind natura mecanismului de percepere a culorilor de catre ochiul uman. De
abia n a doua jumatate a secolului XIX, Young [70], Grassmann [22] si Maxwell [39] au
descoperit faptul ca orice culoare poate fi exprimata matematic n functie de trei variabile
independente. Grassmann a dedus experimental legile potrivirii culorilor, iar Maxwell a
demonstrat ca orice amestec aditiv de culori poate fi echivalat cu un amestec n proportii
specifice a trei stimuli primari (principiul de tricromaticitate). Teoria tricromaticitatii a
adus astfel puternice dovezi indirecte n sprijinul teoriei ca ochiul uman are trei feluri de
receptori color (fapt confirmat mai tarziu de studiile de anatomie si fiziologie).
In ochiul uman, orice imagine se formeaza pe baza luminii focalizate pe retina de lentila
oculara. Cele trei tipuri de conuri reponsabile pentru formarea senzatiei de culoare sunt
175
Zmax
s()f ()d
cs =
(9.1)
min
Zmax
m()f ()d
cm =
(9.2)
min
Zmax
cl =
l()f ()d
(9.3)
min
Marimile s(), m() si l() ce intervin n relatiile (9.1)(9.3) si care sunt ilustrate n
figura 9.1, reprezinta sensibilitatile spectrale ale conurilor n intervalul de lungimi de
unda cuprinse ntre min si max ; n afara acestui interval sensibilitatile sunt nule. In
general, n aer (si n vid), regiunea vizibila a spectrului electromagnetic este considerata
a fi cuprinsa ntre min = 360 nm si max = 830 nm [56] (sau min = 380 nm si max = 780
nm, dupa [33]).
Din punct de vedere matematic, expresiile (9.1)(9.3) corespund produsului scalar definit
peste spatiul Hilbert al functiilor de patrat integrabil n intervalul [min ; max ], adica
2 ([min ; max ]). Aceasta nseamna ca mecanismul de raspuns al conurilor este echivalent
proiectiei spectrului luminii incidente pe spatiul generat de functiile de sensibilitate spectrala ale conurilor din retina, si (). Acest spatiu este numit subspatiul vizual uman, sau
HVSS (Human Visual SubSpace).
Fundamentul colorimetriei consta n considerarea celor trei raspunsuri ci ca o specificare
a senzatiei de culoare (sau ca o ecuatie de reprezentare a culorilor).
In practica, marimile spectrale ce intervin n (9.1)(9.3) se nlocuiesc cu versiuni
esantionate la un interval de esantionare de 10 nm (absolut suficient pentru marea majoritate a aplicatiilor [56]). In acest caz se va obtine suma ca aproximare numerica a
integralei. Daca sunt folosite N esantioane (uniform distribuite n ntregul spectru vizibil
[min ; max ]) relatiile (9.1)(9.3) se pot rescrie compact ca:
c = ST f
(9.4)
unde c = [cs , cm , cl ]T si S este o matrice ale carei coloane contin versiunile esantionate ale
sensibilitatilor spectrale.
Pentru observatorii umani normali, sensibilitatile spectrale ale conurilor sunt liniar independente (desi prezinta suprapuneri semnificative) si, n plus, prezinta diferente mici de
la un observator la altul (diferente ce se datoreaza n principal diferentelor de transmisivitate spectrala a lentilei oculare si a mediului optic din fata retinei). Daca se defineste
176
0.9
l ()
0.8
m()
0.7
s()
0.6
0.5
0.4
0.3
0.2
0.1
0
350
400
450
500
550
600
650
700
750
800
850
9.1.1
Potrivirea culorilor
(9.7)
(9.8)
Deci, pentru orice spectru vizibil, exista o combinatie Pa(f ) a culorilor primare care se
potriveste colorimetric cu f ; acesta este principiul tricromaticitatii (9.8).
Din punct de vedere matematic este posibil ca vectorul de ponderi ale culorilor primare
a(f ) sa aiba componente negative (de fapt, pentru orice set de culori fizice primare, exista
culori vizibile pentru care apare o asemenea comportare). Deoarece nu pot fi produse
fizic intensitati negative ale culorilor primare, spectrul Pa(f ) nu este direct realizabil n
acest caz cu culorile primare date. Realizarea fizica a ecuatiei de tricromaticitate (9.8)
este totusi posibila prin rearanjarea termenilor din ecuatie, scazand culorile primare ce au
ponderi negative din culoarea necunoscuta de spectru f (ceea ce corespunde din punctul de
vedere al implementarii cu adunarea la spectrul f a culorilor primare n cauza, ponderate
pozitiv).
9.1.2
Reproducerea culorilor
(9.9)
(9.11)
(9.12)
unde A este matricea corespunzatoare reprezentarii spectrelor monocromatice dupa culorile primare alese P. Componentele de pe coloana k a matricii A corespund ponderii
relative a culorii primare pk necesare pentru a reproduce pe ei . Din (9.12) putem exprima:
A = S(PT S)1
(9.13)
Atunci culoarea unui spectru vizibil se poate exprima si n functie de valorile tristimulus
AT f n loc de ST f . De asemenea, rezulta ca pentru cazul a doua spectre f si g culorile se
potrivesc doar daca
AT f = AT g
(9.14)
Un calcul detaliat al coeficientilor de potrivire n cazul modelarii continue a etaloanelor
spectrale monocromatice este prezentat n [33].
Aceasta ecuatie de potrivire si
reprezentare a culorilor (9.14) are o aplicabilitate mai usoara, deoarece necesita calculul matricii de potrivire a culorilor monocromatice A, care se determina (experimental)
mai usor decat matricea de sensibilitate a conurilor S.
9.1.3
Perceptia culorilor
Dupa cum a fost impus de ecuatiile de potrivire a culorilor (9.5) sau (9.14), spectrele
de N esantioane f si g se potivesc colorimetric daca ST f = ST g, respectiv AT f = AT g.
Deoarece matricile S si A sunt matrici N 3, cu N > 3, este clar ca exista mai multe
spectre care apar unui observator ca o singura culoare. Aceste spectre distincte, dar cu
aparenta colorimetrica identica, se spune ca formeaza o potrivire metamerica (distincta
fata de potrivirea spectrala).
Metamerismul poate fi vazut si ca o problema, dar si ca o simplificare a aplicatiilor. Este
nsa evident ca realizarea unei potriviri metamerice pentru un model de iluminare dat este
insuficienta pentru ca potrivirea sa se pastreze si n alte conditii de iluminare; exemplul
uzual este potrivirea culorii unor stofe ntr-o anumita lumina (cea din magazin), potrivire
ce dispare imediat dupa modificarea conditiilor de iluminare (lumina naturala de exterior).
9.1.4
Conform teoriei tricromaticitatii, daca doua spectre de lumina produc aceleasi raspunsuri
ale conurilor, atunci ele au aceeasi culoare. Ce se ntampla, nsa, daca doua culori produc
raspunsuri diferite. Evident, ele arata, diferit, dar cat de diferit? O alta ntrebare este:
ce culoare au spectrele respective? Culorile reale sunt atribute ca rosu, verde, albastru
etc., si nu vectori [cs , cm , cl ]T ale absorbtiilor conurilor. Pentru a putea raspunde acestor
ntrebari, avem nevoie de o alta abordare a teoriei culorilor decat cea data de teoria
tricromaticitatii.
Teoria culorilor opuse a fost creata de Hering n 1920 [28] si este bazata pe observatia
ca anumite culori sunt mai similare decat altele. Daca unui om i s-ar cere sa aranjeze
niste esantioane colorate astfel ncat culorile apropiate sa fie alaturate, rezultatul final ar
fi aproape ntotdeauna un cerc. Hering a observat ca respectivele culori pot fi aranjate
astfel ncat toate culorile dintr-o jumatate de cerc sa contina rosu, iar celelalte, din cealalta
jumatate, sa contina verde. De asemenea, n mod independent de prima aranjare, culorile
pot fi aranjate astfel ncat jumatate de cerc sa contina galben, iar cealalta sa contina
albastru (vezi figura 9.2).
Aceasta aranjare a culorilor pune n evidenta doua fenomene. Primul este ca orice culoare
poate fi descrisa ca rosiatica sau verzuie, dar niciodata si rosiatica si verzuie: rezulta
179
Rosu
Galben
Alb
Albastru
Verde
Figura 9.2: Cercul culorilor opuse: semicercul superior contine culorile rosii, cel inferior
culorile verzi; semicercul din stanga contine culorile galbene, cel din dreapta culorile
albastre.
ca rosu si verde sunt doua senzatii de culoare exclusive. In mod similar, albastrul si
galbenul sunt si ele culori exclusive: niciodata o culoare nu va fi descrisa ca fiind n
acelasi timp albastruie si galbuie. Al doilea fenomen este ca nu mai exista nici o alta
pereche de culori exclusive n afara de rosuverde si galbenalbastru. Astfel, descrierea
unei culori pe de-o parte ca rosiatica sau verzuie, iar pe de alta parte ca galbuie sau
albastruie este completa.
Teoria culorilor opuse sustine ca senzatia de culoare este organizata de-a lungul a doua
axe. Prima axa codeaza cantitatea de rosu sau verde din culoarea respectiva, iar cea
de-a doua, perpendiculara pe prima, codeaza cantitatea de galben sau albastru continuta
n culoare. Senzatia completa de culoare este data de coordonatele culorii respective pe
cele doua axe. Uneori, se adauga si o a treia axa, ce descrie componenta acromatica de
luminanta.
Teoria culorilor opuse este validata de numeroase experimente. Daca fixam insistent cu
privirea un anumit obiect, dupa care privim nspre un perete alb, vom vedea o post
imagine a obiectului respectiv. Daca obiectul este rosu aprins, postimaginea va fi verde
si vice-versa. Daca obiectul este galben aprins, postimaginea va fi albastra si vice-versa.
Imperecherea stricta a culorilor obiectului si a postimaginii sale vine n sprijinul ideii
ca rosul si verdele sunt asociate (n acest caz, fiind opuse) la fel cum sunt si galbenul
si albastrul. Asocierea rosu/verde si galben/albastru este de asemenea demonstrata de
urmatorul experiment: o linie subtire, gri (fara culoare) pe un fond rosu apare verzuie, n
timp ce pe un fond albastru apare galbuie.
Tricromaticitatea si teoria proceselor opuse descriu senzatia de culoare n diverse puncte
de pe calea vizuala, ntre ochi si creier. Tricromaticitatea este un model al retinei. Teoria
culorilor opuse este un model al unui mecanism central din creier.
180
9.2
Sisteme colorimetrice
Dupa cum am aratat anterior, culoarea oricarui spectru vizibil poate fi specificata pe baza
valorilor tristimulus AT f , unde A este o matrice ale carei coloane sunt functii de potrivire
a culorilor. Pentru ca diferitele masuratori sa fie consecvente, a trebuit definit un set
standard de asemenea functii de potrivire a culorilor, fata de care sa se calculeze valorile
tristimulus.
Prima standardizare a terminologiei si masuratorilor colorimetrice a fost realizata de CIE
(Commission Internationale de lEclairage) n 1931; aceasta standardizare continua sa
stea la baza colorimetriei moderne. Recomandarea CIE 1931 defineste observatorul colorimetric standard prin doua seturi echivalente de functii de potrivire a culorilor.
9.2.1
Primul sistem propus este sistemul RGB (Red Green Blue) n care functiile de potrivire
a culorilor R(), G(), B() sunt asociate cu culori primare monocromatice de lungimi
de unda de 700 nm, 546.1 nm si 435.8 nm si ale caror intensitati radiante sunt astfel alese
ncat valorile tristimulus asociate unui spectru de energie constanta (lumina alba) sa fie
egale. In figura 9.3 sunt prezentate cele trei curbe R(), G() si B().
3.5
r ()
v ()
2.5
b ()
2
1.5
0.5
0.5
400
450
500
550
600
650
700
la RGB la XY Z (9.15) a fost astfel aleasa ncat toate valorile tristimulus rezultante sa
fie pozitive, la toate lungimile de unda. Curbele X(), Y () si Z() sunt prezentate n
figura 9.4.
X
0.49 0.31 0.02
R
Y = 0.177 0.813 0.011 G
(9.15)
Z
0
0.01 0.99
B
2.5
x()
y()
z()
1.5
0.5
0
350
400
450
500
550
600
650
700
750
800
850
Functia de eficienta luminoasa este sensibilitatea relativa a ochiului la energia de pe fiecare lungime
de unda. In mod curent este numita luminanta.
182
(9.16)
9.2.2
Aplicatiile practice ale colorimetriei au condus nsa la utilizarea de facto a altor surse
primare decat cele standardizate de CIE. In acest caz, valorile pentru functiile de potrivire
a culorilor sunt diferite de cele standard, iar legatura dintre ele este data de o transformare
liniara a functiilor de sensibilitate spectrala a conurilor din retina umana:
BT = (AT Q)1 AT
(9.21)
Una dintre aceste aplicatii practice a fost televiziunea color. Aparitia acesteia a condus
(cel putin n etapa initiala) la utilizarea a doua noi sisteme de reprezentare: pe de o parte
sistemul de culori primare legat de afisarea imaginilor color pe ecranele televizoarelor
(culori primare legate de caracteristicile de electroluminiscenta ale triadelor de luminofori
din tuburile cinescop) si pe de alta parte sistemul de reprezentare a culorilor folosit n
transmisia de televiziune. Sistemele de culori folosite la afisare au fost, cel putin la
nceput, de o mare diversitate, dictata de fiecare dintre fabricantii de tuburi cinescop,
ce foloseau tipuri diferite de fosfor. Variabilitatea de reprezentare pe ecrane diferite a
unei aceleiasi culori transmise a dus la standizarea tipurilor de fosfor (norma C) de catre
SMPTE (Society of Motion Picture and Television Engineers) [56]; norma de reprezentare
rezultata este asa numitul sistem NTSC al receptorului [33]:
0.842
0.156
0.091
Rr
R
Gr = 0.129 1.319 0.203 G
(9.22)
Br
0.008 0.069 0.897
B
183
Spatiile de reprezentare a culorilor utilizate pentru transmisia de televiziune au fost standardizate rapid, la ora actuala existand doua sisteme fundamentale: NTSC si PAL. Transformarile de la spatiul primar RGB la spatiile de transmisiune sunt descrise de ecuatiile
(9.23) [33] pentru NTSC si respectiv (9.24) [20] pentru PAL:
Y
0.3 0.59
0.11
R
I = 0.6 0.28 0.32 G
(9.23)
Q
0.21 0.52 0.31
B
Y
0.3
0.59
0.11
R
U = 0.148 0.291 0.483 G
(9.24)
V
0.526 0.518 0.096
B
Alegerea acestor transformari, prin care orice culoare este reprezentata printr-o componenta de luminanta (Y ) si doua componente de crominanta, s-a realizat prin impunerea
unor constrangeri: folosirea canalelor de transmisiune monocrome si compatibilitatea cu
receptoarele alb-negru (ceea ce a dus la alegerea luminantei ca una dintre componentele
de culoare) si determinarea unor componente de crominanta a caror largime de banda
sa fie relativ mica. Aceste caracteristici sunt exploatate de majoritatea sistemelor de codare si compresie, n care prima operatie efectuata este subesantionarea componentelor
de crominanta (I si Q, respectiv U si V ) [9], [34], [33].
In aceeasi categorie putem include si spatiul de culoare al lui Ohta [42], ale carui componente I1 I2 I3 sunt date de:
1 1 1
I1
R
3
3
3
I2 = 1 0 1 G
(9.25)
2
2
1
1
1
I3
4 2 4
B
Componenta I1 contine informatia de luminanta, n timp ce componentele I2 si I3
reprezinta informatia cromatica. Coeficientii transformarii (9.25) au fost dedusi astfel
ncat componentele de culoare din spatiul rezultat sa fie decorelate, n acest sens folosinduse un set important de imagini ca multime reprezentativa. Astfel, matricea transformarii
(9.25) reprezinta o buna aproximare a matricii transformarii KarhunenLo`eve, transformarea optimala ce decoreleaza complet componentele.
Un alt spatiu de reprezentare a culorilor de tip luminantacrominanta este spatiul
PhotoY CC dezvoltat de compania Kodak [44] si folosit pentru stocarea imaginilor pe
FotoCD-uri. Spatiul PhotoY CC si are radacinile n televiziunea color, si permite o compresie eficienta a imaginii. Valorile PhotoY CC sunt rezultatul unei transformari n trei
pasi din valorile originale RGB, si anume:
1. corectie gamma.
2. transformare liniara;
3. cuantizare a componentelor Y CC pe 8 biti.
Corectia gamma este necesara datorita caracteristicii neliniare a dispozitivelor de afisare
(n conditiile n care dispozitivele de achizitie scannerele au un comportament aproximativ liniar) si consta n aplicarea fiecareia din componentele primare RGB (normalizate
184
daca x 0, 018
1, 099x0,45 0, 099
4, 5x
daca 0, 018 < x < 0, 018
x0 =
0,45
1, 099|x|
+ 0, 099 daca x 0, 018
Apoi, componentele de culoare corectate gamma sunt transformate liniar dupa:
0
0
Y
0, 299
0, 587
0, 114
R
C10 = 0, 299 0, 587 0, 886 G0
C20
0, 701 0, 587 0, 114
B0
(9.26)
(9.27)
In final, noile componente de culoare sunt cuantizate liniar pe 8 biti, rezultand, astfel,
valorile finale Y CC:
Y
C1
C2
255 0
Y
1, 402
= 111, 40C10 + 156
= 135, 64C20 + 137
=
(9.28)
(9.29)
(9.30)
Y
1
0
1
Rdisplay
Gdisplay = 1 0, 194 0, 509 C10
1
1
0
C20
Bdisplay
9.2.3
(9.31)
(9.32)
(9.33)
(9.34)
H=
arccos 0.5[(RG)(RB)]
2
daca B > G
360 arccos
daca G B
(RG) +(RB)(GB)
0.5[(RG)(RB)]
(RG)2 +(RB)(GB)
(9.35)
unde H este exprimat n grade. Demonstratia relatiei (9.35) este data n [21]. Kender
[35] propune o versiune de calcul aproximativ al nuantei ce permite o implementare mai
rapida, reducand numarul de nmultiri necesare si evitand extragerea radacinii patrate:
nedefinit
3(GR)
3 + arctan G+R2B
H=
3(BG)
+
arctan
G+B2R
5 + arctan 3(RB)
3
B+R2G
daca R = G = B
daca min(R, G, B) = B
daca min(R, G, B) = R
(9.36)
daca min(R, G, B) = G
Modul de calcul al componentelor HSI propus de Bajon et al. [3], prezentate n relatia
(9.37), permite obtinerea unor rezultate usor diferite de cele clasice, dar care sunt extrem
de rapide, datorita simplificarii matematice (nu mai e nevoie de functii trigonometrice).
nedefinit
GB
H=
3(G+R2B)
BR
3(G+B2R)
RG
3(B+R2G)
daca
daca
daca
daca
R=G=B
min(R, G, B) = B
min(R, G, B) = R
min(R, G, B) = G
(9.37)
(9.38)
(9.39)
mai exista cateva variante de calcul, al caror scop este scaderea instabilitatii acesteia n
jurul punctului de negru absolut (0, 0, 0):
(
R,Imax G,Imax B)
Imax 3 min(Imax3(R+G+B)
daca I Imax
3
S=
(9.40)
Imax
Imax 3 min(R,G,B)
dac
a
I
>
R+G+B
3
unde Imax reprezinta valoarea maxim posibila a componentei de luminanta.
Cat despre componenta de intensitate I, cel mai des folosite relatii sunt:
R+G+B
3
I = R+G+B
I =
(9.41)
(9.42)
V
Alb
Galben
Verde
Turcoaz
Rosu
Galben
Verde
Alb
Turcoaz
Albastru
Rosu
Albastru
Violet
Violet
Negru
Negru
(a)
(b)
= max(r, g, b)
(
0
S =
max(r,g,b)min(r,g,b)
max(r,g,b)
187
(9.43)
daca r = g = b = 0
n rest
(9.44)
max(r, g, b) + min(r, g, b)
2
0
daca r = g = b
max(r,g,b)min(r,g,b)
daca L 0, 5
S =
max(r,g,b)+min(r,g,b)
L =
(9.45)
(9.46)
9.2.4
Toate modelele de reprezentare descrise pana n acest punct au fost introduse ca metode
de specificare a culorilor conform unor valori tristimulus (ce reprezinta n mod unic un
punct n spatiul tridimensional al culorilor). Manipularea (prelucrarea) culorilor implica
nsa si necesitatea determinarii unor grade de asemanare ntre culori, bazate pe pozitiile
lor relative din spatiul tridimensional de reprezentare, si deci, implicit, pe distanta. Dar,
n mod natural, distanta dintre culori este determinata de termenii legati de perceptia
acestora.
188
4X
X + 15Y + 3Z
(9.47)
v=
6Y
X + 15Y + 3Z
(9.48)
U
0 0
X
3
V = 0 1 0 Y
W
21 32 12
Z
(9.49)
Insa nici acest spatiu nu ofera o proportionalitate directa ntre diferenta perceptuala
a culorilor si distanta euclidiana ntre tripletele corespunzatoare de valori tristimulus.
Primul spatiu de culoare ce respecta aceasta cerinta a fost propus de CIE n 1960 ca spatiu
de cromaticitate uniforma modificat (UCS modificat), sau U V W (9.50). Originea
acestui spatiu a fost translatata n punctul corespunzator culorii albe de referinta, de
189
W = 116V 3 17
(9.50)
V = 13W (v v0 )
(9.51)
U = 13W (u u0 )
(9.52)
In prezent, diferenta ntre culori este masurata dupa propunerile CIE 1976, care definesc
doua noi spatii de culoare, Luv si Lab. Ambele spatii folosesc aceeasi scara de luminanta
L, dependenta de luminanta perceputa (valoarea tristimulus Y ) printr-o transformare
aproape identica cu cea introdusa n (9.50):
Y
L = 116f
16
(9.53)
Y0
1
t 3 , daca t > 0.00886
(9.54)
f (t) =
16
, n rest
7.787t + 116
Scarile de crominanta corespunzatoare celor doua sisteme sunt date de (9.55) si (9.56)
pentru Luv, respectiv de (9.57) si (9.58) pentru Lab:
u = 13L(u u0 )
v = 13L(v v0 )
X
Y
= 500 f
f
X
Y
0
0
Z
Y
f
= 200 f
Y0
Z0
(9.55)
(9.56)
(9.57)
(9.58)
Spatiile Lab si Luv permit de asemenea reprezentarea unei culori n forma perceptuala
(conform figurii 9.6) prin schimbarea coordonatelor carteziene n coordonate polare n
spatiul componentelor de culoare. Saturatia si nuanta culorii (n spatiul Lab) sunt date
de:
b
1
Hab = tan
(9.59)
a
p
Cab =
(9.60)
a 2 + b 2
In mod echivalent se pot calcula aceleasi marimi si n spatiul Luv. Distanta ntre doua
culori poate fi calculata fie ca distanta euclidiana nte vectorii Lab asociati:
p
(9.61)
Eab = L2 + a 2 + b 2
fie, n coordonate polare, ca:
q
Eab =
2
2
L2 + Cab
+ Hab
190
(9.62)
L
Alb
Galben(+)
b*
Cab
Verde()
Hab
Rosu(+)
a*
Albastru()
Negru
p
Hab = p 2 (Cab1 Cab2 a1 b2 a1 b2 )
iar
p=
1 daca
a1 b2 > a2 b1
.
1
n rest
(9.63)
(9.64)
O diferenta abia perceptibila JND corespunde unei distante euclidiene n spatiul Lab
de aproximativ 2.3 [56]. Coordonatele de cromaticitate a si b corespund continutului
culorii n gama rosu-verde si respectiv galben-albastru (realizand n acest fel o reprezentare
colorimetrica analoaga celei din sistemul vizual uman [23], [38]).
9.3
Pentru prelucrarea imaginilor color sunt folosite n mod uzual doua modele: modelele
de prelucrare bazate pe extensia directa a tehnicilor scalare (de la imagini cu nivele de
gri) si modelele de prelucrare bazate pe considerarea simultana a tuturor componentelor
de culoare (tehnici vectoriale). Tehnicile de prelucrare vectoriale dau de cele mai multe
rezultate de calitate superioara, dar sunt de o complexitate crescuta. Tehnicile bazate pe
extensia directa a tehnicilor scalare sunt rapide si, aplicate corespunzator, pot produce
rezultate corespunzatoare. Putem distinge urmatoarele modele de prelucrare:
prelucrarea marginala (RGB), mai putin aplicata n ale sisteme de reprezentare a
culorilor, n care fiecare componenta de culoare este prelucrata identic si independent.
transformare liniara fixa a reprezentarii RGB n reprezentare luminanta
crominante; prelucrarea luminantei (mai rar si a crominantelor); se revine la RGB
191
193
194
Capitolul 10
Compresia imaginilor
Termenul de compresie a imaginilor (uneori numit si codare a imaginilor) se refera la o
clasa larga de tehnici si metode al caror scop este reprezentarea unui imagini date cu
un numar cat mai mic de biti (mai mic decat numarul de biti al reprezentarii initiale).
Necesitatea reducerii cantitatii de informatie necesara reprezentarii este evidenta daca
consideram cazul memorarii imaginilor radiografice (4000 x 2500 pixeli, cu 4096 nivele
de gri, deci 14,3 MB) sau al transmisiei de televizune alb-negru (625 x 625 pixeli cu 256
nivele de gri, de 50 de ori pe secunda, deci un flux de 18.6 MB/ secunda) [33]. Procesul de
recompunere a imaginii initiale din reprezentarea restransa se numeste decompresie sau
decodare; este evident ca prin decodare trebuie sa se obtina o imagine cat mai apropiata de
imaginea orginala. Exista doua categorii fundamentale de tehnici de compresie (codare):
codarea fara pierderi (n care imaginea decodata este identica cu imaginea initiala) si codarea cu pierderi, n care se admit mici diferente fata de original. Calitatea unui procedeu
de compresie (pentru o imagine data) se masoara prin factorul de calitate (raportul semnal
zgomot (3.7) dintre imaginea originala f si imaginea decodata g ) si factorul (raportul) de
compresie. Factorul de compresie C este raportul dintre cantitatea de informatie necesara
reprezentarii imaginii initiale si cantitatea de informatie necesara reprezentarii imaginii
codate; evident compresia are loc daca factorul de compresie este supraunitar (C > 1).
Uneori, factorului de compresie i se asociaza (sau este nlocuit de) rata de compresie:
cantitatea de informatie necesara reprezentarii comprimate a fiecarui pixel al imaginii;
rata de compresie se masoara n biti per pixel (bpp).
O alta clasificare posibila a tehnicilor de compresie se poate face dupa tipul imaginii
careia i se aplica: vom face astfel distinctia ntre compresia imaginilor binare si compresia
imaginilor cu nivele de gri si respectiv color. Se impune totusi o observatie: metodele
de codare ce se vor prezenta n cadrul tehnicilor speifice imaginilor binare pot fi folosite
pentru compresia oricarei succesiuni de valori binare, indiferent de semnificatia acestora
(ceea ce nseamna ca ar putea fi folosite si pentru compresia imaginilor cu nivele de gri
sau color) si sunt metode de compresie fara pierderi.
195
10.1
Tehnici de compresie f
ar
a pierderi
Putem considera ca singura categorie de imagini binare de interes sunt imaginile n albnegru (sau monocrome); valorile punctelor acestora sunt fie 0 (reprezentand fundalul de
culoare alba), fie 1 (reprezentand punctele de interes, de culoare neagra)1 . Cele doua clase
de metode de codare pe care le avem n vedere sunt codarea entropica (metoda de codare
Huffman) si metodele de codare on-line (pe flux de biti); deosebirea dintre aceste metode
(la un nivel al implementarii) este ca pentru codarea entropica este necesara parcurgerea
si stocarea intermediara a ntregii imagini.
10.1.1
Codarea entropic
a (Huffman)
Codarea entropica (Huffman) este metoda optimala de codare a unei surse de informatie.
Codarea sursei de informatie S ale carei mesaje sunt {s1 , s2 , ..., sN }, de probabilitati
{p(s1 ), p(s2 ), ..., p(sN )} prin alfabetul X cu D simboluri nseamna a asocia fiecarui mesaj
si al sursei primare de informatie un sir de simboluri din alfabetul codului. Lungimea
medie a cuvintelor de cod este data de raportul dintre entropia sursei primare si entropia
alfabetului codului:
H(S)
l=
(10.1)
H(X)
Se doreste obtinerea unei lungimi medii minime a cuvintelor de cod, si deci, echivalent, marirea entropiei alfabetului codului; la limita, lungimea media minima posibila de
obtinut este:
H(S)
lmin =
(10.2)
log D
Procedeul practic prin care se realizeaza alocarea simbolurilor din alfabetul codului astfel
ncat entropia acestuia sa fie maximizata (metoda Huffman) se bazeaza pe reducerea
iterativa a numarului de simboluri ale sursei de codat si construirea unei surse restranse.
La fiecare etapa cele D simboluri cele mai putin probabile ale sursei de informatie sunt
reunite ntr-un nou simbol; procedeul de restrangere continua pana cand se obtine o
sursa redusa cu exact D simboluri. Apoi, pentru fiecare reunire de simboluri, fiecare
mesaj individual va primi codul cuvantului reunit ca prefix, urmat de cate un simbol din
alfabetul codului. Vom considera urmatorul exemplu.
O sursa S genereaz
a 6 simboluri, de probabilit
ati descrise de vectorul P =
[0.3; 0.25; 0.2; 0.1; 0.1; 0.05]. Sursa este codat
a optimal, simbol cu simbol, cu cuvinte
de cod generate cu simboluri dintr-un alfabet ternar. Sa se calculeze cuvintele de cod,
arborele de codare si eficienta cod
arii.
Codarea optimala a unei surse se realizeaza conform algoritmului Huffman. Se stie ca
num
N Darul de simboluri ale sursei ce se codeaza trebuie sa ndeplineasca o anume relatie
N ; n acest caz, N = 6, D = 3 si deci
D1
63
3
N D
=
=
/N
D1
31
2
1
Deci conventia de reprezentare prin culori este modificata fata de conventia generala utilizata 0 nu
mai este negru, ci alb.
196
7
X
p(si ) log p(si ) = (0.3 log 0.3 + 0.25 log 0.25 + 0.2 log 0.2 + 2 0.1 log 0.1)
i=1
H(S)
2.366
=
= 1.493 bit
log D
log 3
p(si )
s1
s2
s3
0.3
0.25
0.2
s4
s5
s6
s7
0.1
0.1
0.05
0
Cod
Sursa
p(rji ) Cod
restransa
r11
r12
r13
r14
r15
0.3
0.25
0.2
0.15
0.1
Sursa
restransa
r21
r22
r23
p(rji ) Cod
0.45
0.3
0.25
0
1
2
00
01
02
010
011
012
Tabela 10.1: Codare Huffman
Cuvintele de cod sunt grupate n tabelul 10.2; pe baza lor putem calcula lungimea medie
a cuvintelor de cod:
l=
7
X
i=1
In cazul imaginilor (sau al sirurilor binare) mesajele sursei primare sunt formate din
grupuri de cate B biti succesivi (astfel, sursa primara are 2B mesaje, ale caror probabilitati
de aparitie sunt specifice imaginii considerate). Cu cat B este mai mare, cu atat mai
mare va fi eficienta codarii. Tabelul de codare (echivalenta ntre mesajele sursei primare
si sirurile de simboluri de cod) este specific fiecarei imagini si trebuie sa nsoteasca codul.
Codarea clasica este binara (D = 2, X = {0, 1}).
197
Sursa
primara
s1
s2
s3
s4
s5
s6
s7
p(si ) Cod
0.3
0.25
0.2
0.1
0.1
0.05
0
1
2
00
02
010
011
012
Lungime
1
1
2
2
3
3
3
10.1.2
un cod masca, make-up code) si restul mpartirii lungimii secventei la 64, cu un cod terminator. In plus, exista un cod special de sfarsit de linie (EOL). Tabelele de codare sunt
standardizate (se pot gasi de exemplu n [33, pp. 544-545]). Pe langa transmisia de fax,
codarea RLE mai este utilizata n diferite formate de fisiere imagine (BMP, PCX, TGA).
Codarea WBS
Prima etapa a codarii WBS (White Block Skipping) presupune mpartirea sirului binar
n grupe de cate D simboluri succesive. Principiul codarii este simplu: un bloc nul
este nlocuit cu un singur simbol de 0, un bloc nenul este prefixat de un simbol de 1
si copiat. Conform acestei codari (cu grupe de D = 3 simboluri), sirul de valori binare
0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0 este mpartit n grupele (0, 0, 0), (0, 1, 0), (0, 0, 1), (1, 1, 0),
(0, 0, 0) si codat ca (0), (1, 0, 1, 0), (1, 0, 0, 1), (1, 1, 1, 0), (0), transformandu-se n sirul
0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0.
Daca sirul dat binar de n grupe de simboluri contine n0 grupe nule, n urma compresiei
mai raman (n n0 )(D + 1) + n0 simboluri si factorul de compresie este atunci:
C=
nD
(n n0 )(D + 1) + n0
(10.3)
n0
1
>
n
D
(10.4)
adica proportia de grupe nule din sir trebuie sa fie mai mare decat inversul numarului de
simboluri dintr-o grupa.
Pentru o larga categorie de imagini, lungimea blocului de codare D = 10 poate fi folosita
cu rezultate bune [33]. O mbunatatire a performantei se poate obtine daca se introduce
o adaptare a codarii, prin detectia liniilor albe (reprezentate doar cu valori 0) si codarea
unei linii ntregi cu un singur 0 (desigur ca n acest caz la codurile tuturor blocurilor
se mai adauga un prefix de valoare 1). O alta varianta a metodei exploateaza structura
bidimensionala a imaginii, codand blocuri patrate din imagine (deci imaginea nu mai este
vectorizata).
Codarea Ziv-Lempel
Codarea Ziv-Lempel nu are ca origine ideea explicita de a mari entropia alfabetului codului (precum codarea Huffman) ci se bazeaza pe tehnica dictionar LUT (folosita si la
reprezentarea imaginilor indexate): cuvintele de cod asociate unor siruri de simboluri
ale sursei de intrare sunt indicii (numerele de ordine) pozitiilor la care se gasesc respectivele siruri de simboluri n dictionarul codului (tabela de codare). Tabela de codare
(dictionarul) este creata pe masura parcurgerii sirului de simboluri de intrare, si, pentru
decodare, tabela se creaza din cuvintele de cod deja transmise (ceea ce nseamna ca nu
este necesara memorarea sau transmiterea explicita a tabelului de codare2 ).
2
Aceast
a caracteristica este probabil unica codului Ziv-Lempel; pentru toate celelalte aplicari ale
tehnicii LUT, tabela de codare este transmisa sau memorata mpreuna cu cuvintele de cod sau se pre-
199
Dictionarul initial are doua cuvinte: cuvantul 0, avand indicele 0 si cuvantul 1, avand
indicele 1. Din sirul de intrare (presupus binar) se extrage cate un bit si se verifica daca
sirul de biti deja extras se regaseste sau nu n dictionar. Daca sirul se regaseste n dictionar,
se mai adauga un bit din sirul de intrare. Daca sirul nu se regaseste n dictionar, atunci
sirul este trecut n dictionar, n sirul codat se scrie codul (indicele) prefixului sirului nou
adaugat (deci pozitia la care se gaseste n dictionar cuvantul la care adaugand ultimul
bit al sirului de intrare se obtine un cuvant nou) si ultimul bit din sir devine primul bit
al urmatorului sir de intrare. Procedeul continua pana cand sirul de intrare nu mai are
simboluri necodate. Daca, naintea terminarii simbolurilor din sirul de codat, tabela de
codare (cu numar fixat de intrari) se umple, exista doua variante de continuare: fie restul
sirului de intrare se codeaza conform tabelei de codare existente prin cautarea celor mai
lungi cuvinte de cod, fie tabela de codare este golita si se continua cu procedeul initial.
Sa consideram sirul de intrare 1, 0, 0, 0, 0, 1, 0, 1, 1, 1; dictionarul cuvintelor de cod
contine cuvantul 0 (cu indice 0) si cuvantul 1 cu indice 1. Simbolul curent este 1 (pe
prima pozitie a sirului de intrare) si formeaza sirul de biti extras; acest sir se regaseste n
dictionar (cu indicele 1) si atunci se mai extrage un bit din sir; sirul de biti extrasi devine
10. Cuvantul 10 nu exista n dictionar, si atunci: n sirul de iesire se scrie indicele celui
mai lung cuvant din dictionar la care adaugand un bit obtinem noul cuvant (noul cuvant
este 10, cuvantul prefix este 1, iar indicele scris la iesire este 1), n dictionar se adauga
cuvantul 10 (care va avea indicele 2), iar noua pozitie curenta din sirul de intrare este
ultimul bit al sirului deja extras, deci pozitia 2, bitul 0. Simbolul curent este 0; acest sir
se regaseste n dictionar (cu indicele 0) si atunci se mai extrage un bit din sir; sirul de
biti extrasi devine 00. Cuvantul 00 nu exista n dictionar, si atunci: n sirul de iesire se
scrie indicele prefixului noului cuvant (deci 0), n dictionar se adauga cuvantul 00 (care va
avea indicele 2), iar noua pozitie curenta din sirul de intrare este ultimul bit al sirului deja
extras, deci pozitia 3, bitul 0. Simbolul curent este 0; acest sir se regaseste n dictionar
(cu indicele 0) si atunci se mai extrage un bit din sir; sirul de biti extrasi devine 00. Sirul
00 se regaseste n dictionar (indicele 3) si atunci se mai extrage un bit din sir; sirul de
biti extrasi devine 000. Cuvantul 000 nu exista n dictionar, si atunci: n sirul de iesire se
scrie indicele prefixului noului cuvant (deci 3), n dictionar se adauga cuvantul 000 (care
va avea indicele 4), iar noua pozitie curenta din sirul de intrare este ultimul bit al sirului
deja extras, deci pozitia 5, bitul 0. Procedeul continua n mod analog.
Pentru decodare, fiecare nou cuvant de cod implica scrierea unei noi intrari n tabelul
de codare (dictionar) n care sirul de simboluri este format din prefix (sirul de simboluri
care se gaseste n dictionar la intrarea precizata de cuvantul de cod) si o terminatie de 1
bit, a carei valoare rezulta la primirea cuvantului de cod urmator (sa nu uitam ca sirurile
succesive de simboluri ce se codeaza au n comun ultimul, respectiv primul bit).
Metoda Ziv-Lempel a pus bazele unei clase mai largi de metode de compresie, incluzand
printre altele si varianta LZW (Lempel-Ziv-Walsh) folosita de utilitarul de compresie ZIP.
supune existenta unei tabele de codare implicite, cunoscute (ca de exemplu tabela de culoare cu nivele
de gri).
200
10.2
Cea mai imediata metoda de codare a unei imagini cu nivele de gri este aceea de a o
considera ca pe un sir de biti si de aplica metodele de codare pentru imagini binare: fie
pentru fiecare plan de bit al reprezentarii binare a nivelor de gri, fie pentru succesiunea
de biti a reprezentarilor nivelelor de gri. Asemenea abordari produc codari fara pierderi a
imaginilor si nu produc ntotdeauna rezultate spectaculoase. O mult mai mare amploare
a capatat clasa de metode de compresie cu pierderi controlabile.
10.2.1
Codarea predictiv
a
Codarea predictiva se bazeaza pe existenta unei importante corelatii spatiale ntre valorile
pixelilor unei imagini (deci valorile pixelilor vecini sunt asemanatoare). Aceasta corelatie
poate implica, de exemplu, ca valoarea unui pixel poate fi aproximata cu o combinatie
a valorilor unora dintre vecinii sai. Daca se stabileste o ordine de parcurgere a pixelilor
ce formeaza imaginea (deci daca se stabileste o ordine de baleiere a imaginii) si pentru
aproximarea valorii pixelului curent se folosesc pixeli vecini spatial lui, parcursi anterior,
spunem ca prezicem valoarea pixelului curent. Predictia se realizeaza printr-o functie care,
cunoscuta la nivelul ntregii imagini permite determinarea unei variante aproximative
a imaginii date cunoscand doar un numar mic de pixeli de start. Pentru a avea o
codare cat mai precisa, se folosesc si erorile dintre valorile prezise si cele reale; codarea
asociata imaginii initiale va contine deci functia de predictie, valorile de start si erorile
de aproximare ale fiecarui punct. Daca predictorul este determinat n mod corect, atunci
eroarea de predictie e(n) este mica si reprezentarea ei necesita mult mai putini biti decat
reprezentarea valorii originale u(n). Schema de codare cu predictie este reprezentata n
figura 10.1.
e(n)
intarziere
codor
canal de
comunicatie
u(n)
predictor cu
intarziere
up(n)
(10.5)
(10.6)
201
Procesul de decodare este reprezentat schematic n figura 10.2. Eroarea de predictie eq (n)
(cuantizata) este adunata la valoarea aproximativa u0p (n), determinata cu acelasi predictor
pred din valorile u0 (n) deja calculate.
eq(n)
canal de
comunicatie
u(n)
+
decodor
predictor cu
intarziere
up(n)
1
(u(m 1, n) + u(m, n 1))
2
1
(u(m 1, n) + u(m, n 1) + u(m 1, n 1) + u(m 1, n + 1))
4
(10.7)
(10.8)
10.2.2
Principiul compresiei cu transformate a imaginilor se bazeaza pe proprietatile de compactare a energiei si decorelare a componentelor spectrale pe care le prezinta majoritatea
transformarilor integrale unitare (discutate n capitolul 4). Atata vreme cat cea mai mare
parte a energiei este distribuita n cateva componente spectrale (de joasa frecventa), toate
celelalte pot fi ignorate; astfel memoria necesara reprezentarii este mult mai mica. Este
evident ca o asemenea metoda de compresie este cu pierderi.
Aplicarea practica a compresiei cu transformate trebuie sa aiba n vedere trei aspecte:
alegerea transformatei, stabilirea frecventei limita de la care ncepe ignorarea valorilor si,
n fine, cuantizarea componentelor spectrale pastrate.
Transformarea optimala trebuie sa decoreleze complet componentele spectrale (asigurand
astfel si compactarea maxima a energiei si cea mai buna eroare de aproximare prin
trunchierea frecventelor nalte). Decorelarea completa este dependenta de proprietatile
statistice ale imaginii (matrice de covariatie) deci, teoretic, pentru fiecare imagine n
parte, trebuie gasita transformarea optimala. Aceasta transformare este transformata
Karhunen-Loeve: transformare integrala unitara a carei matrice de transformare are pe
202
coloane vectorii proprii normati ai matricii de covariatie a imaginii. Cum aceasta transformare este evident unica pentru o clasa de imagini, n practica se ncearca gasirea unei
aproximatii. In conditiile n care majoritatea imaginilor naturale pot fi aproximate printrun model Markov puternic corelat (exprimand dependenta puternica a valorii pixelilor de
valorile vecinilor lor imediati), transformata cosinus s-a dovedit o foarte buna alegere.
Cuantizarea componentelor spectrale poate integra si selectia componentelor celor mai
importante: componentele de frecventa joasa sunt cuantizate cu o precizie mai mare, iar
componentele de frecventa nalta sunt cuantizate grosier (echivalent chiar cu eliminarea
acestora). Numarul de nivele de cuantizare si distributia acestora (diferentele dintre
nivelele vecine) este adaptate statisticii semnalului (cuantizarea optima este cuantizarea
LloydMax [33], [57]).
Exemplul cel mai des folosit de compresie cu transformate este standardul de compresie
JPEG (fisiere imagine cu extensia .jpg). Imaginea este divizata n blocuri de 8 x 8 pixeli,
care nu se suprapun. Fiecarui bloc i se aplica o transformata cosinus bidimensionala,
iar cei 64 de coeficienti ai transformarii sunt copiati ntr-un vector prin baleierea pe diagonala a blocului de 8 x 8 pixeli. Coeficientii sunt cuantizati n conformitate cu un
numar prestabilit de nivele de cuantizare (stabilit prin standard, si proportional cu factorul de calitate dorit pentru imaginea refacuta). Coeficientii corespunzand frecventelor
nule (valorile medii ale blocurilor) sunt codate predictiv printr-o tehnica de tip DPCM
(Differential Pulse Code Modulation). Valorile celorlalti coeficienti sunt codati entropic
(Huffman). Factorii de compresie ce rezulta sunt cuprinsi n mod tipic ntre 10 si 100.
Aspectul de compresie cu pierderi (diferentele fata de imaginea originala) se manifesta
prin efectul de blocking: sublinierea frontierelor de separatie a blocurilor de baza (efect
observabil si n figura 10.3).
a)
b)
10.2.3
Un arbore cuaternar (numit n engleza quadtree) este un arbore n care fiecare nod neterminal are exact patru descendenti.
203
a)
b)
c)
d)
Figura 10.4: Compresia cu arbori cuaternari a unor imagini cu nivele de gri folosind
un prag de uniformitate de a) 50 (4705 noduri terminale, SNR=21.6 dB), b) 130 (2005
noduri terminale, SNR=19.9 dB), c) 10 (1212 noduri terminale, SNR=28 dB), d) 30
(6069 noduri terminale, SNR=27 dB).)
aceleiasi structuri. Pentru baleiajul imaginilor s-au retinut doua astfel de curbe: curba
Peano-Hilbert (numita si curba Peano n U, dupa forma celulei sale de baza) (vezi figura
10.2.3 a)) si curba Morton (sau curba Peano n Z) (vezi figura 10.2.3 b)).
Dispunand de o astfel de ordine de baleiere este evident ca daca se parcurge imaginea n
acesta ordine, zonele patrate uniforme (cu pixelii de aceeasi valoare) sunt detectate ntr-o
singura trecere si astfel arborele cuaternar poate fi creat direct prin nodurile sale terminale.
Pentru o implementare eficienta este nsa necesara si deducerea rapida a indicelui pe curba
de baleiere a pixelilor, pornind de la coordonatele lor n imagine. Doar curba Peano n
Z are o asemenea relatie rapida de calcul, prin ntreteserea bitilor ce dau coordonatele
n imagine a punctului. Cuvantul binar ce exprima indicele pe curba a oricarui punct
este format din bitii din coordonata verticala, ce vor ocupa pozitiile de ordin par si din
bitii din coordonata orizontala ce vor ocupa pozitiile de ordin impar (pastrandu-si aceeasi
ordine de rang).
10.2.4
Cuantizarea vectorial
a
1 14
0
0
15
12
3
2 13
4
8
11
6 9
10
1 4
a)
8
2
12
13
11 14
15
3
10
b)
pb
nb
(10.9)
Pentru cazul imaginilor, vectorii de intrare se aleg ca blocuri patrate, nesuprapuse ntre
ele, din imagine. Dimensiuni uzuale ale acestor blocuri sunt 4 x 4 si 8 x 8 (rezultand deci
vectori de intrare cu 16, respectiv 64 de componente). Daca consideram cazul imaginilor
cu nivele de gri uzuale, reprezentate cu 256 nivele de gri (b = 8) si dimensiuni ale tabelei
3
Acest mod de calcul al raportului de compresie nu tine seama de necesitatea transmiterii sau
memorarii si a tabelului de codare, de dimensiune npb biti.
206
Figura 10.6: Tabel de cuantizare cu 8 blocuri de 10 10 pixeli sintetizat din imaginea din
figura 10.7 a).
de codare n = 256 (256 vectori de aproximare), atunci raportul de compresie este de 16,
respectiv 64.
Construirea tabelei de codare (determinarea vectorilor de aproximare) se realizeaza n
mod clasic prin algoritmi de clustering.
207
a)
b)
c)
d)
e)
f)
Figura 10.7: a), b) Imaginii originale cu nivele de gri (8bpp); c), d) Imaginile obtinute
prin compresia vectorial
a a imaginilor din a) si b) dupa tabelul de codare format din 8
blocuri de 10 10 pixeli, sintetizat din imaginea din a); compresia este de 800/3; e),
f ) Imaginile obtinute prin compresia vectorial
a a imaginilor din a) si b) dupa tabelul de
codare format din 8 blocuri de 4 4 pixeli, sintetizat din imaginea din a); compresia este
de 128/3;
208
Bibliografie
[1] Vistex Texture Database. MIT, http://www.media.mit.edu/vismod.
[2] ISO/IEC 15938-1. Multimedia Content Description Interface part I: Systems,
2002.
[3] J. Bajon, M. Cattoen, si L. Liang. Identification of multicoloured objects using a
vision module. In Proc. of the 6th RoViSeC, pp. 2130, 1985.
[4] V. Barnett. The Ordering of Multivariate Data.
139(3):318354, 1976.
[32] N. Jacobson si W. Bender. Strategies for selecting a fixed palette of colors. Proc.
SPIE: Human Vision, Visual Processing and Digital Display, 1077:333342, 1989.
[33] A.K. Jain. Fundamentals of Digital Image Processing. Prentice Hall Intl., Englewood
Cliffs NJ, 1989.
[34] L. Karam si C. Podilchuk. Chroma Coding for Video at Very Low Bit Rates.
In Proc. of IEEE Conference on Image Processing ICIP 95, vol. 1, pp. 562565,
Washington D.C., USA, 23-26 Oct. 1995.
[35] J. R. Kender. Saturation, hue, and normalized color; calculation, digitalization
effects, and use. Technical report, Carnegie-Mellon University, 1976.
[36] J. Lin si Y. H. Yang. Multiresolution Color Image Segmentation. IEEE Tran. on
PAMI, 16(7):689700, 1994.
[37] B. B. Mandelbrot. The Fractal Geometry of Nature. Freeman Publ., San Francisco
CA, 1983.
[38] E. Martinez-Urlegas. Spatiotemporal Multiplexing of Chromatic and Achromatic
Information in Human Vision. Proc. SPIE: Human Vision and Electronic Imaging:
Models, Methods and Applications, 1249:178198, 1990.
[39] J. C. Maxwell. On the theory of three primary colors, pp. 445450. Science Papers
1. Cambridge University Press, 1890.
[40] R. Nevatia. A Color Edge Detector and its Use in Scene Segmentation. IEEE
Trans. on Syst., Man and Cyb., 7(11):820826, Nov. 1977.
[41] M. Nixon si A. Aguado. Feature Extraction and Image Processing. Newnes, Oxford,
UK, 2002.
[42] Y. Ohta, T. Kanade, si T. Sakai. Color information for region segmentation.
Computer Graphics and Image Processing, 13:222241, 1980.
[43] J. ORourke. Computational Geometry in C. Cambridge University Press, Cambridge, 1995.
[44] H. Palus. Representation of colour images in different colour spaces. In S. J.
Sangwine si R. E. N. Horne, editors, The Colour image processing handbook, pp.
6790, London, UK, 1998. Chapman and Hall.
[45] A. Pentland. Fractal-based Description of Natural Scenes. IEEE Trans. on Pattern
Analysis and Machine Intelligence, 6(6):661674, 1984.
[46] I. Pitas si A. N. Venetsanopoulos. Nonlinear Digital Filters - Principles and Applications. Kluwer Academic Publ., Norwell MA, 1990.
[47] S. M. Pizer, E. P. Amburn, J. D. Austin, R. Cromartie, A. Geselowitz, T. Greer, B. ter
Haar Romeny, B. Zimmerman, si K. Zuiderveld. Adaptive Histogram Equaliztion
and its variations. Computer Vision, Graphics and Image Processing, 39:355368,
1987.
211
[48] C. A. Poynton. A guided tour of color space. In New Foundations for Video Technology: Proc. of the SMPTE Advanced Television and Electronic Imaging Conference,
pp. 167180, San Francisco, USA, Feb. 1995.
[49] T. Randen si J. H. Husoy. Filtering for texture classification: a comparative study.
IEEE Trans. on Pattern Analysis and Machine Intelligence, 21(4):291310, Apr.
1999.
[50] R. M. Rangayyan. Biomedical Image Analysis. CRC Press, Boca Raton, FL, 2005.
[51] G. S. Robinson.
Sept./Oct. 1977.
213