popa - prelucrarea numerica a imaginilor (2006).pdf

160
1 Mircea Virgil Popa Ştefan Demeter Romana Oancea Alina Hangan Prelucrarea numerică a imaginilor Aplicatii ale reţelelor neuronale în prelucrarea imaginilor

Upload: mariana-rusu

Post on 07-Feb-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Popa - Prelucrarea numerica a imaginilor (2006).pdf

1

Mircea Virgil Popa Ştefan Demeter Romana Oancea Alina Hangan

Prelucrarea numerică a imaginilor

Aplicatii ale reţelelor neuronale în prelucrarea imaginilor

Page 2: Popa - Prelucrarea numerica a imaginilor (2006).pdf

2

Cuprins I. PRELUCRAREA NUMERICĂ A IMAGINILOR ................................................................ 5 1. Imagini digitale ....................................................................................................................... 6

1.1 Reprezentarea imaginilor digitale ......................................................................................... 6 1.2 Imaginea digitală – semnal bidimensional............................................................................ 8

2. Achiziţia şi conversia analog – numerică a imaginilor ......................................................... 11 2.1 Achiziţia imaginilor ............................................................................................................ 11 2.2 Conversia analog – numerică a imaginilor ......................................................................... 12

3. Memorarea şi compresia imaginilor ..................................................................................... 14 3.1 Stocarea imaginilor ............................................................................................................. 14

3.1.1 Stocarea imaginilor în memorie................................................................................... 14 3.1.2 Stocarea imaginilor în fişiere ....................................................................................... 15

3.2 Compresia imaginilor.......................................................................................................... 17 4. Restaurarea imaginilor .......................................................................................................... 18

4.1 Modele ale imaginii observate ............................................................................................ 19 4.2.Estimarea degradării ........................................................................................................... 20 4.3. Restaurarea adaptivă a imaginilor...................................................................................... 21 4.4. Restaurarea imaginilor pe baza funcţiei de vizibilitate a zgomotului................................ 22 4.5. Metode de reducere a zgomotului...................................................................................... 23

4.5.1. Modele de zgomot....................................................................................................... 23 4.5.2. Tipuri de filtre utilizate pentru reducerea zgomotului ................................................ 25 1. Filtre de mediere aritmetică .............................................................................................. 25 2.Filtre de ordine ................................................................................................................... 26 3.Filtrul binar ........................................................................................................................ 29 4. Alte tipuri de filtre............................................................................................................. 29 4.5.3 Concluzii privind utilizarea diferitelor tipuri de filtre ................................................. 31

5. Operaţii de îmbunătăţire a imaginilor în domeniul spaţial ................................................... 31 5.1.Operaţii punctuale ............................................................................................................... 33

5.1.1. Modificarea de contrast............................................................................................... 33 5.1.2. Limitarea şi binarizarea imaginilor ............................................................................. 34 5.1.3. Inversarea (negativarea ) imaginilor ........................................................................... 35

5.2. Operaţii de tip fereastră...................................................................................................... 35 5.2.1. Extragerea unui bit ...................................................................................................... 36 5.2.2. Compresia de contrast................................................................................................. 36 5.2.3. Scăderea imaginilor .................................................................................................... 36 5.2.4 Modelarea imaginilor prin histograme......................................................................... 36

5.3. Operaţii spaţiale ................................................................................................................. 39 5.3.1. Filtrarea spaţială .......................................................................................................... 39 5.3.2. Inversarea de contrast şi scalare statistică................................................................... 45 5.3.3. Mărimea şi interpolarea imaginilor (zooming) ........................................................... 45

5.4 Pseudocolorarea imaginilor................................................................................................. 46 5.5 Îmbunătăţirea imaginilor color............................................................................................ 48

6. Operaţii de îmbunătăţire a imaginilor în domeniul transformat ........................................... 50 6.1. Principalele transformări folosite în prelucrarea de imagini.............................................. 50

6.1.1. Transformarea Fourier ................................................................................................ 51 6.1.2. Transformarea Cosinus ............................................................................................... 52 6.1.3. Transformarea Sinus ................................................................................................... 53 6.1.4. Transformarea Hartley ................................................................................................ 53 6.1.5. Transformarea Hadamard ........................................................................................... 53 6.1.6. Transformarea Walsh.................................................................................................. 54

Page 3: Popa - Prelucrarea numerica a imaginilor (2006).pdf

3

6.1.7. Transformarea Slant ....................................................................................................54 6.1.8. Transformarea Haar.....................................................................................................55 6.1.9. Transformarea Karhunen-Love ...................................................................................55 6.1.10. Transformarea wavelet ..............................................................................................56

6.2. Filtrare în domeniul frecvenţă ............................................................................................57 6.2.1.Filtrul trece jos .............................................................................................................57 6.2.2. Filtrul trece sus ............................................................................................................60 6.2.3. Filtrul homomorfic ......................................................................................................61 6.2.4. Operaţii de transformare..............................................................................................63

7. Segmentarea imaginilor.........................................................................................................65 7.1. Segmentarea orientată pe regiuni .......................................................................................65

7.1.1. Segmentarea bazată pe histogramă .............................................................................65 7.1.2. Tehnici de fixare a pragului (thresholding).................................................................66 7.1.3. Determinarea automată a pragurilor: metoda Bhattacharya........................................67 7.1.4. Segmentarea cu prag optim.........................................................................................68 7.1.5. Creşterea şi fuziunea regiunilor...................................................................................69

7.2. Segmentarea orientată pe contururi....................................................................................71 7.2.1. Metode derivative........................................................................................................71 7.2.2. Metoda filtrelor trece-sus ............................................................................................74 7.2.3. Extragerea conturului din imagini binarizate ..............................................................74

8. Analiza de imagine................................................................................................................75 8.1 Măsurarea imaginilor ..........................................................................................................75

8.1.1 Măsurarea strălucirii.....................................................................................................75 8.1.2 Determinarea locaţiei ...................................................................................................76 8.1.3 Orientarea .....................................................................................................................78

8.2 Extragerea caracteristicilor imaginilor ................................................................................80 8.2.1 Caracteristici de formă .................................................................................................80 8.2.2 Caracteristici de tip transformare .................................................................................88 8.2.2.1 Transformata Fourier – procesarea în domeniul frecvenţelor ...................................89 8.2.2.2 Descriptorii Fourier (DF) ..........................................................................................90

8.3 Identificarea trăsăturilor ......................................................................................................92 8.4 Extragerea trăsăturilor .........................................................................................................94

8.4.1 Organizarea şi vizualizarea trăsăturilor........................................................................94 8.4.2 Selecţia trăsăturilor.......................................................................................................94 8.4.3 Clasificarea...................................................................................................................94

8.5 Recunoaşterea formelor.......................................................................................................95 8.5.1 Metode de recunoaştere cu decizie teoretică ...............................................................95 8.5.2 Recunoaşterea obiectelor folosind „shape-from-shading”...........................................97 8.5.3 Aplicaţii ale folosirii culorilor în recunoaşterea formelor............................................98 2.5.3.1 Potrivirea culorilor ....................................................................................................98 8.5.3.2 Localizarea culorilor .................................................................................................99 8.5.3.3 Potrivirea culorilor după şablon ..............................................................................100

9. Concluzii .............................................................................................................................101 10. Bibliografie......................................................................................................................102 II. UTILIZAREA REŢELELOR NEURONALE ÎN PRELUCRAREA IMAGINILOR .......104 1. Introducere ..........................................................................................................................105

1.1 Inteligenţa artificială ...................................................................................................105 1.2 Specificul calculului neuronal.....................................................................................105 1.3 Structura unei reţele neuronale....................................................................................106

2. Reţele neuronale supervizate utilizate pentru refacerea imaginilor degradate....................109 2.1 Distorsiunile imaginilor...............................................................................................109 2.2 Perceptronul multistrat ................................................................................................109

Page 4: Popa - Prelucrarea numerica a imaginilor (2006).pdf

4

2.3 Algoritmul backpropagation ....................................................................................... 110 2.4 Metode de accelerare a vitezei de convergenţă........................................................... 112

2. 4.1. Metoda momentului ................................................................................................. 112 2.4.2. Rata de învăţare variabilă.......................................................................................... 113 2.4.3. Evitarea minimelor locale ......................................................................................... 113 2.4.4. Ruperea simetriei şi iniţializarea ponderilor ............................................................. 114

2.5 Reţele neuronale artificiale recurente. Reţele Hopfield .............................................. 115 2.6 Reţele cu funcţii de transfer radiale ............................................................................ 116

2.6.1. Funcţii radiale şi problema interpolării ..................................................................... 116 2.6.2. Arhitectura reţelelor RBF.......................................................................................... 116 2.6.3. Instruirea reţelelor neuronale radiale ........................................................................ 117 2.6.4. Determinarea separată a parametrilor ....................................................................... 118

3. Reţele neuronale nesupervizate utilizate pentru refacerea imaginilor degradate................ 121 4. Aplicaţii ale reţelelor neuronale.......................................................................................... 127

4.1 Aplicaţii ale reţelelor feedforward pentru eliminarea zgomotelor.............................. 127 4.2 Aplicaţii ale reţelelor neuronale Elman pentru eliminarea zgomotelor ...................... 143 4.3 Aplicaţii ale reţelelor neuronale Hopfield pentru eliminarea zgomotelor .................. 156 4.4 Aplicaţii ale reţelelor RBF pentru eliminarea zgomotelor.......................................... 157

5. Concluzii ............................................................................................................................. 159 6. Bibliografie ......................................................................................................................... 160

Page 5: Popa - Prelucrarea numerica a imaginilor (2006).pdf

5

I. PRELUCRAREA NUMERICĂ A IMAGINILOR

Page 6: Popa - Prelucrarea numerica a imaginilor (2006).pdf

6

1. Imagini digitale

De obicei, cuvântul „imagine” se referă la reproducerea sau reprezentarea realităţii înconjurătoare. O importanţă deosebită o are mecanismul fizic prin intermediul căruia se realizează reproducerea sau reprezentarea. Prin „imagine” se poate înţelege şi reprezentarea plastică (desen, schiţă, schemă, fotografie) a lumii înconjurătoare, dar din punctul de vedere al televiziunii, imaginea reprezintă distribuţia valorilor unei anumite mărimi, care să redea cu o anumită fidelitate caracteristicile spaţiale şi de radiaţie ale obiectelor.

1.1 Reprezentarea imaginilor digitale La început, imaginile sunt semnale, dar nu funcţii temporale, ci funcţii definite pe un domeniu

spaţial. Orice imagine este o structură bidimensională (tablou, matrice) de date. Un element al imagini se numeşte pixel (cuvânt preluat din engleza, unde provine de la picture element). Aceste date pot fi numere naturale, reale sau complexe, reprezentate însă pe un număr finit de biţi. . După tipul datelor din acesta structură bidimensională, imaginile prelucrate pot fi împărţite în mai multe categorii:

• imagini scalare, în care fiecare componentă este un scalar (un unic număr); ca exemple de astfel de imagini se pot da imaginile monocrome (în care punctele au doar două valori posibile, ce corespund unui conţinut binar al imaginii, în general alb-negru) şi imaginile cu nivele de gri (de tipul imaginii de luminanţă de pe ecranele televizoarelor alb-negru).

• imagini vectoriale, în care fiecare componentă este un vector de numere; cazul particular cel mai de interes este acela al imaginilor color, în care vectorul are trei elemente (ce corespund celor trei constituente de bază ale oricărei culori); în general, pentru imaginile multicomponentă, vectorul asociat fiecărui punct din imagine are mai multe elemente (caz ce corespunde imaginilor preluate în mai multe benzi de frecvenţă, aşa cum sunt imaginile de teledetecţie ale sateliţilor, imaginile de termodetecţie în benzile de infraroşu,...). Tot în categoria imaginilor vectoriale intră însă şi imaginile stereo (o pereche de imagini ale aceleiaşi scene, luate din unghiuri diferite) şi secvenţele de imagini.

După natura lor, imaginile pot fi clasificate ca imagini abstracte, imagini non-vizibile şi imagini vizibile. Imaginile abstracte sau modelele sunt de fapt funcţii matematice, continue sau discrete, de doua variabile. Imaginile non-vizibile, care, evident, nu pot fi percepute în mod direct de ochiul uman, sunt de fapt achiziţii ale unor câmpuri bidimensionale de parametri fizici (presiune, temperatură, densitate, ...). În fine, imaginile ce pot fi percepute în mod direct de către ochiul uman (deci imaginile vizibile) sunt la rândul lor imagini optice, generate ca distribuţii de intensitate luminoasă (aşa ca hologramele, imaginile de interferenţă şi difracţie) sau imagini propriu-zise (de luminanţă - în sensul curent al termenului, ce se referă la fotografii, desene, picturi, schiţe, scheme şi altele din aceeaşi categorie).

O altă împărţire a imaginilor scalare se poate face după semnificaţia ce se dă valorii numerice a pixelilor. Vom distinge astfel imagini de intensitate şi imagini indexate. O imagine de intensitate este o imagine în care valoarea fiecărui pixel este o măsură directă a intensităţii luminoase sau a mărimii fizice preluate de senzor, ca de exemplu în imaginile cu nivele de gri. Pixelii unei imagini de intensitate pot avea orice fel de valori: reale sau naturale (depinzând dacă imaginea este sau nu cuantizată).

O imagine indexată este acea imagine în care valoarea fiecărui pixel este un indice prin care se regăseşte informaţia de culoare asociată pixelului respectiv. Deci, pentru afişarea sau reprezentarea unei imagini indexate este necesară o informaţie suplimentară, de asociere între indici şi culori. Această asociere se face prin intermediul tabelei de culoare. Tabela de culoare este o matrice în care fiecare linie conţine descrierea unei culori (deci cele trei componente ce definesc

Page 7: Popa - Prelucrarea numerica a imaginilor (2006).pdf

7

culoarea - în mod tipic intensităţile relative de roşu, verde şi albastru ce compun culoarea dată printr-un amestec aditiv). Deci tabela de culoare are trei coloane; numărul de linii al tabelei de culoare este egal cu numărul de culori din imaginea reprezentată şi este în mod tipic o putere a lui doi (16, 256, ...). Indicele (valoarea pixelului) va fi numărul de ordine al liniei din tabela de culoare pe care se găseşte descrierea culorii. Este evident că valorile pixelilor unei imagini indexate nu pot fi decât numere naturale (deoarece sunt indici într-o matrice).

Fiecare pixel ce aparţine unei imagini, care este reţinută într-un calculator, are o anumită valoare ce descrie strălucirea pixelului şi/sau ce culoare ar trebui să aibă. În funcţie de valorile pe care le au pixelii putem diferenţia mai multe tipuri de imagini, dintre acestea amintim imaginile binare, imaginile gri şi imaginile color.

Imagini binare Imaginile binare sunt imaginile ale căror pixeli au doar două valori de intensitate posibile.

Sunt de obicei reprezentate în alb şi negru. Numeric, cele două valori sunt 0 pentru negru şi 1 sau 255 pentru alb.

Acestea se obţin cel mai des prin prăguirea imaginilor color sau a imaginilor în gri, şi se folosesc pentru a separa un obiect de fundal.

Imagini gri O imagine pe o scară gri (cu nivele de gri) este o simplă imagine în care singurele culori

folosite sunt umbre de gri. Motivul pentru care s-a realizat diferenţierea acestor imagini de alte categorii de imagini color este acela că, trebuie să fie reţinută mai puţină informaţie pentru fiecare pixel din imaginea originală. De fapt, o culoare gri este acea culoare în care componentele de culoare roşie, verde şi albastră au aceeaşi intensitate în spaţiul RGB aşa că, este nevoie să se specifice o singură valoare a intensităţii pentru fiecare pixel, în opoziţie cu cele trei intensităţi necesare a fi specificate pentru fiecare pixel dintr-o imagine color.

Adesea, scala de gri este reprezentată ca fiind un întreg pe 8 biţi, dând 256 de umbre posibile ale griului, de la negru la alb. Dacă nivelele sunt uniform despărţite, atunci diferenţa dintre două nivele de gri succesive este semnificativ mai bună decât cea realizată de ochiul uman.

Imaginile gri sunt foarte comune, în mare parte poate pentru că instrumentele de reprezentare şi captură hardware a imaginii pot suporta, în cele mai multe cazuri, numai imagini pe 8 biţi. Oricum imaginile gri sunt mai mult decât suficiente pentru multe aplicaţii, aşa că, nu este nevoie să se folosească imagini mult mai grele şi complicate pentru procesare, cum sunt imaginile color.

Imagini color Este posibil să se creeze (aproape) toate culorile vizibile prin combinarea a trei culori primare

roşu, verde şi albastru. Aceasta se întâmplă datorită faptului că ochiul uman are doar trei receptori de culoare diferiţi, fiecare dintre ei fiind sensibil la una dintre aceste culori. Diferitele combinaţii realizate pentru stimularea acestor receptori au arătat că ochiul uman distinge aproximativ 350000 de culori. O imagine color RGB este o imagine multi-spectrală cu câte o bandă pentru fiecare culoare primară, aceasta determinând producerea unei infinităţi de combinaţii a celor trei culori, pentru fiecare pixel.

O imagine RGB cere ca pentru fiecare pixel să fie specificată intensitatea a trei componente de culoare (roşie, verde şi albastră). De obicei fiecare componentă de intensitate este stocată pe 8 biţi întregi, aşa că fiecare pixel necesită 24 de biţi pentru a se putea specifica complet şi exact culoarea. Aceste imagini sunt cunoscute ca fiind imagini color pe 24 de biţi (24-bit color images).

Folosirea a 24 de biţi pentru a reţine informaţia color permite reprezentarea a 224=16777216 de culori, şi acest lucru este suficient pentru a acoperi foarte bine întregul spectru de percepţie a culorilor de către om. Sunt însă multe dezavantaje în folosirea imaginilor color pe 24 de biţi. Poate cel mai important este faptul că aceste imagini cer de trei ori mai multă memorie, mai mult spaţiu pe disc şi timpul de procesare este mult mai mare. De exemplu, o imagine pe 24 biţi de 512X512 necesită pentru memorare 750 Kb în formă necomprimată.

Page 8: Popa - Prelucrarea numerica a imaginilor (2006).pdf

8

Din cauza acestor dezavantaje, multe imagini folosesc o hartă de colorare pe 8 biţi pentru a restricţiona numărul de culori la 256. Folosind această metodă este necesar să stochezi un singur index pe 8 biţi pentru fiecare pixel, nu pe 24 biţi. Formatul imaginilor pe 8 biţi conţine 2 părţi: o hartă de colorare care descrie ce culori sunt prezente în imagine şi un şir cu valorile indecşilor pentru fiecare pixel din imagine.

Când o imagine pe 24 biţi este transformată într-o imagine pe 8 biţi este necesar să se elimine unele culori, având loc un proces numit cuantizare. Acest lucru duce la unele degradări calitative ale imaginii, dar, în practică, efectele observate pot fi foarte mici şi, oricum, aceste degradări sunt inevitabile dacă perifericul folosit (ecran sau imprimantă) este capabil să folosească numai 256 de culori.

Imagini multi-spectrale Imaginile multi-spectrale pot conţine chiar şi mai mult de trei componente pentru fiecare pixel

şi, prin extindere, acestea sunt reţinute într-un vector pentru fiecare valoare a unui pixel, sau în planuri separate de culori.

O imagine multi-spectrală este o colecţie de mai multe imagini monocrome a aceleiaşi scheme, fiecare dintre ele fiind luată cu un diferit senzor. Fiecare imagine este considerată a fi o bandă. O binecunoscută imagine multi-spectrală (sau imagine bandă) este imaginea color RGB, care conţine o imagine roşie, una verde şi una albastră. Fiecare dintre aceste imagini este luată cu ajutorul unui senzor sensibil la o anumită lungime de undă. În procesarea imaginilor, imaginile multi-spectrale sunt cel mai des folosite pentru aplicaţiile de teledetecţie. Sateliţii de obicei iau câteva imagini din banda de frecvenţă în spectru vizual şi non-vizual. De exemplu, Landsat 5 produce 7 imagini bandă cu lungimea de undă cuprinsă între 450 şi 1250 nm.

1.2 Imaginea digitală – semnal bidimensional Imaginea formată în planul focal al unui sistem optic cu lentile poate fi descrisă prin funcţii

depinzând de coordonatele în plan (carteziene, polare) şi de timp. În cele ce urmează se presupune că imaginile sunt staţionare pe durata achiziţiei. Cu această ipoteză se defineşte funcţia nivel de gri G ca fiind legea ce asociază unui punct (x,y) din domeniul de definiţie D (de regulă interiorul unui dreptunghi D din planul ℜ2) un număr corespunzător strălucirii (luminanţei) din acel punct:

G:D→ℜ. (1.1) Valoarea G(x,y) se numeşte nivel de gri în punctul (x,y). Dacă se dispune de un senzor vizual,

atunci se poate considera că G asociază punctului un număr care corespunde tensiunii la ieşirea senzorului, când el detectează strălucirea din punctul respectiv.

Semnalul provenit de la senzorul vizual poate fi eşantionat spaţial (în plan) şi cuantizat (în nivel). În acest fel se obţine imaginea numerică caracterizată prin funcţia G (având semnificaţia de mai sus): G : M1 →M2 sau G : M1 →ℜ.Unde s-a notat: M1 ⊂ N, M2⊂N, în care N reprezintă mulţimea numerelor naturale, iar M1=0,1,...,n1-1 şi M2=0,1,...,n2-1. Perechea de numere (n1,n2)= n1xn2 se numeşte dimensiunea imaginii.

Datorită dezvoltării puternice a tehnicilor numerice de calcul un interes deosebit îl prezintă imaginile numerice. Dacă se notează cu ∆x şi ∆y paşii de eşantionare spaţială (pe orizontală respectiv pe verticală), atunci n1∆x=a şi n2∆y=b, unde constantele a şi b reprezintă laturile dreptunghiului D din relaţia (1.1).

Un element de imagine (pixel) este un triplet: Ei,j,G=i,j,G(i,j), i∈M1, j∈M2. (1.2) O imagine numerică este o mulţime finită de elemente de imagine i∈M1, j∈M2, mulţimile

M1 şi M2 fiind definite mai sus. Imaginea numerică se poate caracteriza prin matricea de dimensiune n1xn2:

Page 9: Popa - Prelucrarea numerica a imaginilor (2006).pdf

9

−−−

−−

=

)1,1(.....)0,1(...............

)1,1()1,1()0,1()1,0()1,0()0,0(

][

211

2

2

nnGnG

nGGGnGGG

G . (1.3)

Originea imaginii se ia colţul din stânga sus. Atunci când se doreşte aplicarea unor tehnici

monodimensionale de prelucrare sau de transmitere a semnalelor, matricea G poate fi transformată în vector prin aranjarea în stivă a coloanelor sale (analog se poate proceda pentru aranjare în stivă a liniilor) prin aşezare în ordine una după alta. În general, pentru prelucrarea imaginilor în vederea analizei şi interpretării se utilizează tehnici specifice bidimensionale, iar pentru transmiterea imaginilor se utilizează tehnici monodimensionale.

La o privire generală există multe similitudini între procesarea semnalelor bidimensionale (2D) şi a celor unidimensionale. În cazul semnalelor 1D vorbim despre filtrare, transformare Fourier, transformare Fourier Discretă, transformare Fourier rapidă. Când vorbim despre procesarea semnalelor 2D ne gândim la aceleaşi operaţiuni, doar că se realizează pe două direcţii. Deci, conceptele generale folosite în 2D pot fi văzute în multe cazuri ca extensii directe ale rezultatelor din procesarea semnalelor 1D.

La o privire mai atentă apar unele deosebiri astfel: - cantitatea datelor manipulate în cazul semnalelor 2D este mult mai mare decât în cazul

semnalelor 1D. De aceea în acest caz contează foarte mult eficienţa de calcul a algoritmilor de procesare ca şi noile realizări în tehnica hard.

-o a doua diferenţă rezidă din faptul că procedeele matematice de calcul sunt mai puţin dezvoltate pentru procesarea semnalelor 2D decât pentru cele 1D. De exemplu, multe sisteme 1D sunt descrise cu ajutorul ecuaţiilor diferenţiale, în timp ce multe sisteme 2D pot fi descrise prin ecuaţii diferenţiale parţiale despre care se cunoaşte mai puţin.

Pentru ca funcţia imagine f(x,y) să poată fi prelucrată cu ajutorul calculatorului, trebuie să fie digitizată atât în spaţiu cât şi în amplitudine. Digitizarea în domeniul coordonatelor spaţiale (x,y) este numită eşantionarea imaginii, iar digitizarea amplitudinii se numeşte cuantizarea nivelului de gri.

Să presupunem că o imagine continuă f(x,y) este aproximată printr-o reţea rectangulară de dimensiune NXN, eşantioane dispuse la distanţe egale unele de altele aşa cum se arată în ecuaţia de mai jos, în care fiecare element din tabloul 2D este o mărime discretă:

f x y

f f f Nf f f N

f N f N f N N

( , )

( , ) ( , ).... ( , )( , ) ( , )..... ( , )

.

.( , ) ( , ).... ( , )

=

−−

− − − −

0 0 0 1 0 11 0 11 1 1

1 0 11 1 1

(1.4)

Membrul drept al ecuaţiei de mai sus reprezintă o imagine digitală în care fiecare element al tabloului este denumit element de imagine sau pixel.

Procesul de digitizare de mai sus necesită luarea unei decizii privind mărimea lui N, ca şi asupra numărului de nivele discrete de gri alocate fiecărui pixel. De obicei, se iau aceste cantităţi ca puteri întregi ale lui doi, lucru care aduce unele simplificări în operaţiunea de procesare digitală a imaginii: N=2n, iar G=2m, unde cu G am notat nivelul de gri. Dacă se dispune de un senzor vizual, atunci se poate considera că G asociază punctului un număr care corespunde tensiunii obţinute la ieşirea senzorului, când el măsoară strălucirea din punctul respectiv.

Dacă notăm cu b numărul biţilor necesari pentru a memora o imagine digitală, în funcţie de mărimea imaginii (N) şi numărul nivelelor de gri (G) rezultă: b=N*N*m (biţi).

Page 10: Popa - Prelucrarea numerica a imaginilor (2006).pdf

10

Apare în acest moment ca firească întrebarea referitoare la cât de mulţi pixeli şi cât de multe nivele de gri trebuie să se folosească în procesul de digitizare a unei imagini. Rezoluţia unei imagini, adică gradul de sesizare a detaliilor acesteia depinde puternic de N şi m. Cu cât N şi m sunt mai mari, cu atât imaginea digitală va aproxima mai bine originalul. Dar, din păcate, se observă că necesarul de memorie şi în consecinţă şi timpul de procesare cresc rapid cu creşterea lui N şi m.

Este interesant de analizat efectul pe care îl au asupra calităţii imaginii modificările lui N şi m. Este însă greu să definim o imagine “bună” deoarece cerinţele de calitate diferă în funcţie de aplicaţia avută în vedere. În funcţie de N imaginile se pot clasifica în 3 categorii:

a) Imagini cu rezoluţie scăzută Acestea sunt imagini de 256x256. Este rezoluţia spaţială minimă care furnizează imagini de

o calitate acceptabilă. Se folosesc pentru prelucrarea imaginilor preluate în infraroşu, tomografii, radiografii, imagini pentru testarea unor algoritmi.

b) Imagini cu rezoluţie medie Acestea sunt imagini de 512x512 pixeli, comparabile cu calitatea imaginilor de televiziune.

Se folosesc în activităţi de supraveghere, recunoaştere a ţintelor, etc. c) Imagini de mare rezoluţie În această categorie putem aminti imaginile furnizate de sateliţi pentru cercetarea resurselor

sau alte scopuri, eşantionate la 3000x4000 pixeli, imaginile sintetizate pe calculator pentru film cinematografic de 35mm sau 70 mm eşantionate la 8000x8000 pixeli.

Dacă numărul punctelor de eşantionare se micşorează, atunci la refacerea imaginii analogice din imaginea digitală, pentru a fi afişată pe ecran, apare un efect perturbator de tip “tablă de şah”. Numărul de eşantioane şi de nivele de gri necesar pentru a realiza o reproducere corespunzătoare a unei imagini depinde de tipul imaginii, adică de conţinutul acesteia în detalii. De exemplu, un portret este mai sărac în detalii decât o imagine care reprezintă tribunele unui stadion. Dacă numărul nivelelor de gri scade sub 64, apare un fenomen supărător de “contururi false”, fenomen mult mai accentuat pe măsură ce numărul nivelelor de gri scade.

Fie două imagini cu acelaşi număr de pixeli, una cu detalii multe, iar alta cu detalii puţine. Pentru aceiaşi calitate a imaginilor numărul nivelelor de gri în imaginea cu detalii mai multe poate fi mai mic decât în imaginea cu detalii mai puţine. Acest lucru se datorează faptului că ochiul este mai puţin sensibil în aprecierea nuanţelor de gri în zonele cu modificări abrupte ale nivelului de gri. Din această cauză efectul de “contur fals” este întâlnit mai frecvent în imaginile cu detalii puţine.

În unele cazuri, mai ales în prelucrarea optică a imaginilor, este convenabil ca imaginea să fie reprezentată în alt domeniu decât cel iniţial (spaţial) şi anume într-un domeniu obţinut prin transformare ortogonală bidimensională de tip sinusoidal (Fourier).

Fie D=R2 si G:R2->R funcţia nivel de gri. Presupunând că sunt îndeplinite condiţiile:

1. G x y dxdy( , ) < ∞−∞

−∞

∫∫ ; (1.5)

2. G are un număr finit de discontinuităţi şi un număr finit de maxime şi minime în orice dreptunghi finit, se defineşte Transformata Fourier,

∫ ∫∞

∞−

∞−

+−=ℑ=℘ dxdyvyuxjyxGyxGvu )](2exp[),(41),(),( ππ

(1.6)

∫ ∫∞

∞−

∞−

+℘= dudvvyuxjvuyxG )](2exp[),(),( π (1.7)

Coordonatele x şi y se numesc coordonate spaţiale. Pentru u şi v constante, considerând funcţiile cos 2π(ux+vy), sin2π(ux+vy), în planul (x,y) se obţin drepte echidistante, paralele, pe care funcţiile respective iau valori constante.

Pentru calculul Transformatei Fourier discrete bidimensionale se procedează în modul următor:

a) Liniile matricei iniţiale se înlocuiesc cu transformatele Fourier discrete ale lor (monodimensionale).

Page 11: Popa - Prelucrarea numerica a imaginilor (2006).pdf

11

b) În noua matrice se înlocuiesc coloanele cu transformatele Fourier discrete ale lor. Matricea rezultată este Transformata Fourier Discretă a matricei iniţiale.

În reprezentarea Fourier a imaginilor, matricea [G] este înlocuită cu matricea [℘], de aceeaşi dimensiune, care, în anumite condiţii, poate oferi facilităţi de calcul sau de transmisie.

2. Achiziţia şi conversia analog – numerică a imaginilor

2.1 Achiziţia imaginilor Indiferent de domeniul de aplicaţie, utilizarea calculatoarelor impune un format numeric

pentru informaţia prelucrată. Vederea artificială respectă această regulă şi lucrează cu imagini numerice. Pentru a obţine imaginea numerică (digital image) este nevoie de două elemente: senzorul şi convertorul (digitizer). Senzorul este un element fizic care percepe o radiaţie electromagnetică într-o anumită bandă de frecvenţă (ultraviolete, infraroşu, vizibilă, raze X). Ieşirea senzorului este o mărime electrică, în general o tensiune, proporţională cu energia radiaţiei electromagnetice primită de senzor. În funcţie de aplicaţie, banda de frecvenţă şi senzorul aferent sunt diferite. Convertorul este un dispozitiv electronic care primeşte mărimea electrică furnizată de senzor şi o transformă într-un format numeric. Pentru aplicaţiile de vedere artificială, cel mai frecvent, senzorii sunt identificaţi cu numele generic de camere de luat vederi. Datorită acestui lucru prima etapă în procesul de prelucrare a imaginilor îl constituie achiziţia.

Cele mai cunoscute camere de luat vederi au fost, în ordinea apariţiei şi utilizării istorice, camerele vidicon şi camerele matriceale (solid state). Lumina este focalizată pe suprafaţa senzorului prin intermediul unui sistem de lentile la nivelul căruia are loc o transformare optică care depinde de natura şi caracteristicile lentilei, respectiv ale luminii şi sursei de lumină. O condiţie pentru obţinerea unei imagini ideale este ca planul de focalizare să coincidă cu planul senzorului. Funcţionarea camerelor video cu vidicon se bazează pe principiul fotoconductibilităţii: o imagine focalizată pe suprafaţa tubului produce un relief de conductibilităţi proporţional cu distribuţia de străluciri din imaginea optică. Un fascicul de electroni focalizat pe suprafaţa posterioară a ţintei fotosensibile a tubului explorează punct cu punct această suprafaţă şi prin neutralizarea sarcinilor electrice, creează o diferenţă de potenţial care produce pe un electrod colector un curent proporţional cu relieful de străluciri de pe faţa anterioară a ţintei. Imaginea digitală este obţinută prin eşantionarea şi cuantizarea acestui semnal.

Camerele matriceale sunt formate din elemente fotosensibile, senzori individuali. Fiecare element fotosensibil poate fi privit ca o capacitate individuală care acumulează o sarcină mai mare sau mai mică în funcţie de intensitatea luminoasă primită. Citirea sarcinilor nu se poate face în acelaşi timp pentru toate elementele (este evident că nu putem avea practic, din punct de vedere tehnologic, un circuit electronic cu sute de mii sau milioane de pini) şi ca urmare un proces de baleiere rămâne necesar. Aici, baleierea este de fapt un transfer al sarcinilor către dispozitivul care face efectiv citirea. Rezultatul va fi tot o mărime electrică variabilă în timp u(t).

Dispozitivele videocaptoare integrate sunt compuse din elemente semiconductoare discrete, numite fotocapacităţi MOS, care dau la ieşire un potenţial proporţional cu intensitatea luminii incidente. Există două tipuri de asemenea dispozitive: liniare şi matriciale. Un senzor liniar constă dintr-un şir de asemenea fotocapacităţi semiconductoare şi poate produce o imagine bidimensională prin mişcarea relativă între scenă şi detector.

Un senzor matricial este compus dintr-o matrice de fotocapacităţi MOS şi poate capta o imagine într-un mod similar unui tub videocaptor. Tehnologia utilizată în dispozitivele

Page 12: Popa - Prelucrarea numerica a imaginilor (2006).pdf

12

videocaptoare integrate se bazează pe circuitele cu transfer de sarcină (CCD –„charge coupled devices”). Senzorii CCD captează lumina în mici fotocelule şi şi-au primit numele de la modul în care sarcinile sunt citite după expunere. Pentru aceasta, mai întâi sarcinile din prima linie sunt transferate într-un registru de citire. De acolo, semnalele sunt preluate de un amplificator şi ulterior de un convertor analog – numeric. După ce o linie a fost citită, sarcinile ei din registrul de citire sunt şterse. Următoarea linie va fi transferată în registrul de citire, iar toate liniile sunt transferate cu o linie mai jos. Sarcinile din fiecare linie sunt cuplate astfel încât la fiecare transfer din linia curentă în linia următoarea are loc şi un transfer din linia precedentă în linia curentă. În acest mod se poate citi o linie întreagă la un moment dat.

2.2 Conversia analog – numerică a imaginilor Pentru a putea fi utilizată de către dispozitivele de calcul, informaţia analogică despre

imagine, obţinută la ieşirea senzorului vizual, trebuie convertită într-o reprezentare numerică. Presupunând imaginea staţionară pe durata achiziţiei, ea comportă două aspecte principale:

a) Suprafaţa imaginii să fie eşantionată (spaţial) în n1,n2 puncte (n1 linii si n2 coloane); aceasta este automat realizată, prin construcţie, în cazul senzorilor vizuali CCD;

b) Semnalul electric ce reprezintă iluminarea în punctul imaginii(i,j), să fie cuantificat cu un număr de biţi reprezentând 2k nivele de gri.

Pentru digitizare, imaginea se eşantionează cu ajutorul unei reţele discrete, iar fiecare eşantion (sau pixel) este cuantizat folosind un număr finit de biţi. Pentru afişare, imaginea digitală se converteşte din nou în forma analogică.

O metodă simplă de eşantionare este explorarea (scanarea) imaginii, linie după linie, şi eşantionarea fiecărei linii. De exemplu, camera video cu tub vidicon sau având un dispozitiv videocaptor de tip CCD, face o asemenea scanare a imaginii chiar în procesul de captare. Alte tipuri de imagini, cum ar fi filmele sau paginile tipărite, se scanează în mod analog, cu ajutorul unor echipamente numite scanere.

Eşantionarea poate fi uşor înţeleasă dacă se ştie că transformata Fourier a unei funcţii eşantionate este duplicatul scalat, respectiv periodic, al transformatei Fourier a funcţiei originale. Pentru a demonstra aceasta, se va considera o imagine eşantionată ideal, care se reprezintă ca un tablou bidimensional de funcţii Dirac delta, situate pe o reţea dreptunghiulară cu pasul ∆x,∆y definită de:

g x y x y x m x y n ypnm

( , ; , ) ( , )∆ ∆ ∆ ∆= − −=−∞

=−∞

∑∑ δ (2.1)

Imaginea eşantionată este definită prin următoarea ecuaţie:

f f x y g x y x y f m x n y x m x y n ys pm n

= = − −=−∞

∑∑( , ) ( , ; , ) ( , ) ( , ),

∆ ∆ ∆ ∆ ∆ ∆δ (2.2)

Din proprietatea de unicitate a transformatei Fourier se ştie că, dacă spectrul imaginii originale se poate reface folosind spectrul imaginii eşantionate, atunci vom putea obţine şi imaginea interpolată pe baza imaginii eşantionate. Dacă frecvenţele de eşantionare pe cele două axe, x şi y, sunt de două ori mai mari decât lărgimea de bandă, respectiv dacă: ξxs>2ξx0 , ξys>2ξy0 ,sau dacă intervalele de eşantionare sunt mai mici decât jumătate din 1/l (1/lărgimea de bandă) corespunzătoare, ∆x<1/2ξx0, ∆y<1/2ξy0 atunci F(ξ1,ξ2) poate fi refăcută printr-o filtrare trece jos cu caracteristica de frecvenţă:

H xs ys( , ) ( ),

,ξ ξ ξ ξ1 2

1

0=

(2.3)

pentru (ξ1ξ2)∈ℜ, unde ℜ este orice regiune.

Page 13: Popa - Prelucrarea numerica a imaginilor (2006).pdf

13

Sunt trei factori care limitează rezoluţia efectivă a imaginii şi fidelitate imaginilor numerice: - Frecvenţa de eşantionare a senzorului. - Lăţimea de bandă a semnalului video. - Frecvenţa de eşantionare a convertorului analog-numeric. Pentru a se afla cât de mică trebuie sa fie zona de eşantionare pentru a se putea lucra cu

varianta discretizată a imaginii, cu imaginea numerică în loc de imaginea continuă, analogică se apelează la teorema lui Shannon. Teorema de eşantionare a lui Shannon stipulează, în esenţă, că dacă un semnal de bandă limitată B [Hz] trebuie eşantionat, atunci frecvenţa utilizată în acest proces trebuie să fie mai mare sau egală cu dublul frecvenţei de tăiere.

Pasul ulterior eşantionării, în digitizarea imaginilor, este cuantizarea, codificarea numerică a valorii funcţiei de gri, pentru fiecare pixel . Un cuantizor face corespondenţa dintre o variabilă continuă u şi o variabilă discretă u’ care ia valori dintr-un set finit de numere r1,...,rL. Această alocare se face în general cu o funcţie scară şi regula este următoarea: se defineşte tk ; k=1,...,L+1 un set de tranziţii crescătoare sau nivele de decizie, unde t1 si tL+1 sunt valoarea minimă şi, respectiv, maximă a lui u. Dacă u este în intervalul [tk , tk+1), atunci i se alocă nivelul rk, al k-lea nivel de reconstrucţie. Cel mai simplu şi mai uzual cuantizor este cel uniform.

Considerăm ieşirea unui senzor de imagine cu valori între 0.0 si 10.0. Dacă eşantioanele sunt cuantizate uniform cu 256 de nivele, atunci nivelele de tranziţie şi de reconstrucţie sunt:

t kk =

−1 0 12 5 6( ) , k=1,...,257 (2.4)

2565

+= kk tr , k=1,...,256 (2.5)

Intervalul q=tk-tk-1=rk-rk-1 este constant pentru diferite valori ale lui k şi este numit interval de cuantizare. Trebuie reţinut faptul că operaţia de cuantizare este ireversibilă deoarece, pentru o valoare dată de ieşire, nu se poate determina în mod unic valoarea de la intrare. Datorită acestui lucru, un cuantizor introduce distorsiuni, pe care orice metodă de proiectare trebuie să încerce să le minimizeze.

Modalitatea generală de realizare a cuantizării este prezentată în continuare.Se consideră ),(),( yjxiji ∆∆= un punct din imaginea eşantionată, g=G(i,j) şi gC=G(i,j) valoarea cuantizată a lui

G(i,j). Considerând că t1 ≤g≤tLm unde t1 şi tm sunt limitele inferioară respectiv superioară ale domeniului de variaţie a valorii G(i,j), atunci problema cuantizării are drept scop determinarea unor niveluri de decizie dj şi a unor niveluri de reconstrucţie rj, astfel încât dacă dj≤g≤dj+1, atunci eşantionul cuantizat să ia valoarea rj .

Nivelurile de decizie şi de reconstrucţie sunt alese astfel încât să se minimizeze eroarea medie pătratică de cuantizare (între g şi gC):

dggpggggMmt

tCCC )()()(

1

222 ∫ −=−=ε (2.6)

Rezultă: ∑ ∫−

=

−=

+1

0

21

)()(J

j

d

djC

j

j

dggprgε (2.7)

J fiind numărul total de niveluri de decizie. Dacă densitatea de probabilitate p(g) este constantă pe fiecare interval de cuantizare (dj,dj-1), p(g)=pj atunci eroarea de cuantizare devine:

[ ]331

1

0

2 )()(31

jjjj

J

jjC rdrdp −−−= +

=∑ε (2.8)

În acest caz nivelul de reconstrucţie rj se determină din condiţia :

Page 14: Popa - Prelucrarea numerica a imaginilor (2006).pdf

14

02

=∂∂

j

C

, obţinându-se : rj=0,5(dj+1+dj) (2.9)

şi eroarea numerică:

3

1

1

0

2 )(121

jj

J

jjC ddp −= +

=∑ε (2.10)

În cazul în care numărul de nivele de cuantizare nu este suficient, devine vizibil un fenomen numit conturare. Atunci când un grup de pixeli vecini sunt cuantizaţi la aceeaşi valoare, se vor forma regiuni având un nivel de gri constant şi ale căror graniţe sunt numite contururi.

Pentru majoritatea imaginilor în care pixelii reprezintă funcţia luminanţă, cuantizarea uniformă necesită aproximativ 256 nivele de gri, respectiv 8 biţi. Efectele de conturare devin vizibile la 6 biţi/pixel sau sub această valoare. Un cuantizor care minimizează eroarea medie pătratică, adaptat la histograma unei imagini date, poate lucra şi cu numai 5 sau 6 biţi/pixel, fără apariţia fenomenului de conturare. Atunci însă când histogramele imaginilor variază foarte mult, cuantizorul optimal este foarte rar folosit. În locul acestuia se utilizează frecvent cuantizorul uniform cu 8 biţi/pixel.

Pentru evaluarea erorilor de cuantizare, ochiul pare a fi foarte sensibil la conturare şi la erorile care afectează structura locală. Deci, o metodă de cuantizare vizuală ar trebui să încerce să menţină conturarea datorată cuantizării sub nivelul de vizibilitate, pe întreg domeniul nivelelor de gri care se afişează.

3. Memorarea şi compresia imaginilor

După ce fotografia a fost captată, aceasta este stocată într-un format digital universal care permite să fie transferată pe calculator, imprimantă sau alt dispozitiv periferic. Există mai multe formate de memorare a imaginii dintre care putem aminti: TIFF, EPS, BMP, JPG, PNG, GIF, etc.

3.1 Stocarea imaginilor

Se poate considera că există două moduri de stocare a imaginilor: stocarea în memoria de lucru a unităţii de prelucrare a imaginii de lucru (care este o stocare de scurtă durată - doar pe durata prelucrării efective) şi stocarea de lungă durată a imaginilor, în fişiere, pe suporturi externe de memorie (benzi, discuri, etc.). Diferenţa esenţiala între cele doua tipuri de stocare este aceea ca în memorie imaginea va fi reprezentată complet, în forma necomprimată, pentru a permite accesul rapid direct la informaţia fiecărui pixel. . Pentru stocarea imaginii este necesar ca aceşti octeţi să conţină informaţia aferentă pixelilor precum şi informaţie despre tipul imaginii: dimensiunile acesteia, dacă este sau nu indexată, dacă are sau nu o tabelă de culoare ataşată, daca este sau nu comprimată şi după ce metodă. Anumite structuri de fişiere au fost impuse de-a lungul timpului de firme producătoare de software sau de organisme de standardizare, căpătând denumirea de formate de imagini.

3.1.1 Stocarea imaginilor în memorie

În limbajele C şi C++ stocarea imaginilor se face prin intermediul unor variabile ce implementează structuri de date bidimensionale. Ceea ce este deosebit este modul de declarare a acestora: declararea statica nu este convenabilă din cauza dimensiunilor în general mari ale imaginilor, şi deci este necesară o declarare dinamică. Particularitatea este data de memorarea separată a fiecărei linii (sau coloane) a matricii într-un vector alocat dinamic, şi gruparea adreselor

Page 15: Popa - Prelucrarea numerica a imaginilor (2006).pdf

15

de început a acestora într-un vector de pointeri, la care se va reţine adresa de început (deci un alt pointer).

Spre deosebire de C, limbajul Matlab aduce mari simplificări. Există un singur tip de date, reprezentate pe 8 octeţi (caracteristică ce se schimbă începând cu versiunea 5.0, ce admite valori reale, întregi sau caracter, declarate explicit). Orice variabila Matlab este creată în momentul folosirii sale în membrul stâng al unei expresii (deci nu este necesară declararea prealabilă folosirii); orice variabilă este o matrice (scalarul este o matrice de o linie şi o coloana). Funcţiile returnează matrici, iar acest lucru permite ca memorarea şi accesul la imaginile memorate să se realizeze mult mai uşor.

3.1.2 Stocarea imaginilor în fişiere

Un fişier este entitatea logică de organizare a informaţiei înscrise pe mediile magnetice de stocare şi se compune dintr-un şir de octeţi. Pentru stocarea imaginii este necesar ca aceşti octeţi să conţină informaţia aferentă pixelilor precum şi informaţie despre tipul imaginii: dimensiunile acesteia, dacă este sau nu indexată, dacă are sau nu o tabelă de culoare ataşată, dacă este sau nu comprimată şi după ce metodă. Anumite structuri de fişiere au fost impuse de-a lungul timpului de firme producătoare de software sau de organisme de standardizare, căpătând denumirea de formate de imagini. Formatele de imagini s-au făcut cunoscute mai ales după extensia standard a fişierelor ce conţin imaginile stocate după formatul respectiv: BMP, TIF, GIF, PCX, JPG ... . În continuare vor fi prezentate câteva caracteristici ale acestor tipuri de fişiere, iar o atenţie deosebită va fi acordată formatului Windows Bitmap -BMP al firmei Microsoft, care este unul dintre cele mai larg recunoscute formate de fişiere.

Un fişier BMP are trei componente consecutive: un antet de fişier (BITMAPFILEHEADER), o structura de informaţie a imaginii (BITMAPINFO) şi codarea pixelilor. Antetul de fişier (BITMAPFILEHEADER) conţine informaţii asupra tipului, dimensiunii şi reprezentării fişierului Bitmap independent de dispozitiv (DIB - Device Independent Bitmap); semnificaţiile componentelor sunt date în tabelul 3.1.

Câmp Descriere bfType Specifică tipul de fişier; trebuie să conţină caracterele BM bfSize Specifică lungimea fişierului în DWORD BfReserved1 Câmp rezervat, valoare 0 BfReserved2 Câmp rezervat, valoare 0 bfOffBits Specifică deplasamentul în octeţi de la sfârşitul structurii

BITMAPFILEHEADER până la zona din fişier ce conţine pixelii codaţi

Tabel 3.1: Descrierea câmpurilor structurii BITMAPFILEHEADER

Structura de informaţie a imaginii (BITMAPINFO) conţine informaţii asupra dimensiunilor şi

culorilor unui DIB, şi este alcătuită din două componente: antetul structurii de informaţii (BITMAPINFOHEADER), a cărui componente sunt descrise în tabelul3.2 şi tabelul de culoare, format din structuri RGBQUAD.

Câmp Descriere BiSize Numărul de octeţi ai structurii BITMAPINFOHEADER BiWidth Lăţimea imaginii, în pixeli BiHeight Înălţimea imaginii, în pixeli BiPlanes Numărul de plane de culoare ale dispozitivului de afişaj (1)

Page 16: Popa - Prelucrarea numerica a imaginilor (2006).pdf

16

BiBitCount Numărul de biţi cu care se codează un pixel; poate fi 1, 4, 8 sau 24

BiCompression Tipul de compresie utilizată: BI_RGB fără compresie, BI_RLE8 sau

BI_RLE4 pentru compresie de tip RLE cu cuvinte de respectiv 8 sau 4 biţi

BiSizeImage Dimensiunea imaginii în octeţi BiXPelsPerMeter Rezoluţia pe orizontala a dispozitivului ţinta (în pixeli pe metru) BiYPelsPerMeter Rezoluţia pe verticală a dispozitivului ţinta (în pixeli pe metru)

BiClrUsed Numărul de culori utilizate în imagine; dacă este 0, imaginea foloseşte toate culorile disponibile ale paletei

BiClrImportant Numărul de culori considerate importante; daca este 0, toate culorile sunt luate în considerare

Tabel 3.2: Descrierea câmpurilor structurii BITMAPINFOHEADER

Structura RGBQUAD descrie o culoare prin componentele sale de roşu, verde şi albastru, şi

un câmp rezervat având valoarea 0. Codarea pixelilor se face după câteva reguli. Fiecare pixel va fi codat pe biBitCount biţi; dacă

biBitCount este 1, 4 sau 8, imaginea va fi indexată şi fişierul conţine tabela de culoare asociată imaginii. Codurile pixelilor se grupează pe octeţi (deci pentru o codare de 4 biţi per pixel, fiecare octet de cod va corespunde la doi pixeli alăturaţi). Daca biBitCount este 24, pentru fiecare pixel se asociază direct trei octeţi, ce reprezintă componentele de roşu, verde şi albastru ale culorii respective; această imagine se numeşte True Color şi nu mai are un tabel de culoare asociat. Denumirea de True Color (culoare adevărată) provine din faptul că numărul total de culori ce se pot astfel reprezenta (224) depăşeşte limita sensibilităţii umane de discernere a culorilor. Imaginile în 16 şi 256 culori pot fi comprimate prin codare. În tonuri de gri se obţin 256 de nivele. În tabelul de mai jos este prezentat numărul de culori posibile de redat pe ecranul unui monitor.

Culori Biţi/Pixel Formula de Calcul Numărul de culori

Alb-negru 1 21 2 Ecran Windows 4 24 16 Scala de gri 8 28 256 256 de culori 8 28 256 „High color” 16 216 Peste 65000 „True color” 24 224 Peste 16 milioane

Tabel 3.3: Numărul de culori afişate pe ecran Codarea se face independent pe fiecare linie orizontală a imaginii. Codurile (indexurile)

tuturor pixelilor unei linii sunt concatenate; şirul rezultat trebuie să fie multiplu de 32 de biţi (sau de 4 octeţi, sau să conţină un număr întreg de DWORD's). Dacă această constrângere nu este respectată, linia respectivă se completează cu numărul necesar de biţi (care, în mod evident, nu vor fi utilizaţi la citirea imaginii din fişier). Codarea imaginii începe cu ultima linie, şi pentru fiecare linie baleiajul este normal (de la stânga la dreapta).

Formatul TIFF (Tag Image File Format .TIF) a fost iniţial proiectat de Aldus Corporation,

pentru a salva imaginile create cu scannere sau cu unele programe de editare. Acest format a fost folosit destul de mult. TIFF suportă până la 24 de biţi de culoare.

Page 17: Popa - Prelucrarea numerica a imaginilor (2006).pdf

17

Formatul EPS (Encapsulated PostScript .EPS) a fost propus de Adobe pentru imprimantele PostScript. Fişierele se compun din două părţi: prima, în format text, transmite imprimantei informaţii asupra felului cum va apărea imaginea la ieşire, iar a doua parte este de tip PICT.

Formatul JPEG (Joint Photografic Experts Group .JPG) este cel mai folosit format pentru a

afişa imagini fotografice pe Web. JPEG are două caracteristici distincte: * foloseşte o schemă de compresie cu pierdere a cărei valoare se poate modifica, conducând

la variaţia dimensiunii fişierului (se pot obţine fişiere mici dar cu calităţi slabe) * suportă 24 de biţi pentru a defini culoarea unui pixel (spre deosebire de formatul apropiat

GIF la care sunt disponibili doar 8 biţi). Nu este recomandată salvarea imaginilor originale în acest format dacă se intenţionează

procesarea acestora deoarece de fiecare dată când se deschide şi se salvează imaginea aceasta este compresată. Ca urmare, după un anumit număr de salvări, imaginea se va degrada din ce în ce mai mult. De aceea, se recomandă ca imaginea original să fie salvată în format BMP sau TIFF cu număr maxim de biţi.

Formatul PNG (Portable Network .PNG) a fost produs pentru a înlocui formatul GIF în

Microsoft Internet Explorer şi Netscape Navigator. PNG, spre deosebire de GIF, este un format fără pierderi. PNG are până la 254 niveluri de transparenţă (GIF suportă numai unul),un control al strălucirii imaginii şi până la 48 de biţi pentru specificarea culorii pixelilor.

Formatul GIF (Graphics Interchange Format .GIF) este larg utilizat pe Web şi mai puţin în

tehnica fotografică. Formatul poate memora până la 256 culori pentru un pixel stocate într-o paletă de culori. Pe Web se pot folosi două versiuni: GIF 86a şi GIF 89a. Ambele imagini folosesc memorarea imaginii printr-o explorare întreţesută (imaginea este explorată de patru ori în loc de o singură dată). În mod normal, când imaginea se distribuie la un utilizator, se transmite informaţia referitoare la culoarea pixelilor linie cu linie. La formatul GIF se transmite întreaga imagine, dar cu o rezoluţie slabă, permiţând utilizatorului să-şi facă o idee asupra conţinutului fişierului ce urmează a se transmite. În continuare se transmit informaţiile referitoare la celelalte trei explorări, imaginea se umple şi se ajunge la rezoluţia completă.

Cu toate că pe ecran o imagine salvată cu extensia GIF pare bună (dar limitată la 256 de culori), dacă se pune alături de o imagine salvată cu extensia JPEG sau altele, se poate observa o diferenţă netă. Formatul GIF este recomandat pentru desene animate, grafice, scheme logice sau text, unde există un număr limitat de culori şi frontieră distinctă între două regiuni colorate. Imaginile GIF se pot compresa fără pierderi. Compresia depinde de cât de frecvent se schimbă culoarea la doi pixeli de pe o linie (pixelii de pe aceiaşi linie care au aceiaşi culoare sunt înregistraţi ca un singur bloc). Ca urmare, o imagine cu benzi orizontale va fi mai mult comprimată decât una cu benzi verticale, fotografiile cu suprafeţe identic colorate (de exemplu: cerul, zăpada, norii) vor fi puternic comprimate.

3.2 Compresia imaginilor Termenul de compresie a imaginilor (uneori numit şi codare a imaginilor) se referă la o clasă

largă de tehnici şi metode al căror scop este reprezentarea unei imagini date cu un număr cât mai mic de biţi (mai mic decât numărul de biţi al reprezentării iniţiale). Necesitatea reducerii cantităţii de informaţie necesară reprezentării este evidentă daca consideram cazul transmisiei de televiziune 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). Procesul de recompunere a imaginii iniţiale din reprezentarea restrânsă se numeşte decompresie sau decodare; este evident ca prin decodare trebuie să se obţină o imagine cât mai apropiata de imaginea originală. Există doua categorii fundamentale de tehnici de compresie (codare): codarea fără pierderi (in care imaginea decodata este identica cu imaginea iniţială) şi codarea cu pierderi, în care se admit mici diferenţe fată de original. Calitatea unui procedeu de

Page 18: Popa - Prelucrarea numerica a imaginilor (2006).pdf

18

compresie (pentru o imagine data) se măsoară prin factorul de calitate (raportul semnal zgomot dintre imaginea originală f şi imaginea decodată g) şi factorul (raportul) de compresie. Factorul de compresie C este raportul dintre cantitatea de informaţie necesară reprezentării imaginii iniţiale şi cantitatea de informaţie necesară reprezentării imaginii codate; evident compresia are loc dacă factorul de compresie este supraunitar (C>1). Uneori, factorului de compresie i se asociază (sau este înlocuit de) rata de compresie: cantitatea de informaţie necesară reprezentării comprimate a fiecărui pixel al imaginii; rata de compresie se măsoară în biţi per pixel (bpp).

O altă clasificare posibilă a tehnicilor de compresie se poate face după tipul imaginii căreia i se aplică: vom face astfel distincţia între compresia imaginilor binare şi compresia imaginilor cu nivele de gri. Se impune totuşi o observaţie: metodele de codare ce se vor prezenta în cadrul tehnicilor specifice imaginilor binare pot fi folosite pentru compresia oricărei succesiuni de valori binare, indiferent de semnificaţia acestora (ceea ce înseamnă că ar putea fi folosite şi pentru compresia imaginilor cu nivele de gri) şi sunt metode de compresie fără pierderi.

4. Restaurarea imaginilor

La ieşirea blocului de achiziţie a imaginilor, rezultatul poate fi o imagine distorsionată ce se datorează imperfecţiunii detectorului, iluminării neadecvate sau neuniforme sau unui unghi de vedere nedorit. Este important să se înţeleagă că acestea sunt corecţii ce se aplică după ce imaginea a fost digitizată şi stocată şi astfel devine imposibilă redarea celor mai bune care s-ar fi putut obţine prin optimizarea procesului de achiziţie a imaginilor.

Desigur, achiziţia unei imagini de o calitate optimă este uneori imposibilă. Deoarece camera poate colecta un număr redus de fotoni într-un interval scurt de timp sau înainte ca scena să se schimbe, zgomotul prezent în imagine nu poate fi mediat prin adăugarea de fotoni sau cadre video şi astfel sunt necesare alte metode de reducere a zgomotului. Dacă sursa de iluminare nu poate fi controlată astfel încât să fie centrată perfect şi perpendiculară pe suprafaţă (de exemplu Soarele) sau dacă suprafaţa este curbă şi nu plană, imaginea va avea o iluminare neuniformă care trebuie corectată. Dacă poziţia camerei nu poate fi ajustată (de exemplu în cazul sateliţilor) sau dacă suprafaţa prezintă neregularităţi atunci părţi ale scenei vor fi îngustate iar de acest lucru trebuie să se ţină cont atunci când se fac comparaţii sau se măsoară diferite distanţe.

În zilele noastre este posibilă implementarea de astfel de corecţii cu ajutorul calculatoarelor cu performanţe moderate în timpi de ordinul a câtorva secunde.Restaurarea (refacerea) imaginii se referă la înlăturarea sau minimizarea degradărilor cunoscute într-o imagine. Degradarea se poate datora zgomotului, proastei focalizări a camerei, mişcării relative obiect-cameră, turbulenţelor aleatoare ale atmosferei, etc. Scopul restaurării este de a minimiza, prin filtrare, efectele degradării. Filtrele utilizate pentru restaurarea imaginilor depind de cunoaşterea cauzei ce determină degradarea, precum şi de criteriile de filtrare. Succesul operaţiei de restaurare depinde în mod esenţial de potrivirea între modelul presupus al degradării şi modul real în care imaginea a fost degradată Un criteriu frecvent utilizat este eroarea pătratică medie. Restaurarea imaginii diferă de îmbunătăţirea imaginii prin aceea că, pentru cel de-al doilea proces, scopul este de a extrage sau accentua anumite trăsături şi nu de a corecta erorile ce apar la captarea imaginii. În figura următoare este prezentat un sistem de restaurare a imaginii:

Sistem de captare

a imaginii

u(x,y) Conversie A/D

Filtrare

Conversie D/A

Redarea imaginii

u(m,n

Fig. 4.1 Sistem de restaurare a imaginilor

Page 19: Popa - Prelucrarea numerica a imaginilor (2006).pdf

19

Filtrele utilizate pentru restaurarea imaginilor depind de cunoaşterea cauzei ce determină degradarea, precum şi de criteriile de filtrare. Succesul operaţiei de restaurare depinde în mod esenţial de potrivirea între modelul presupus al degradării şi modul real în care imaginea a fost degradată Un criteriu frecvent utilizat este eroarea pătratică medie. Restaurarea imaginii diferă de îmbunătăţirea imaginii prin aceea că, pentru cel de-al doilea proces, scopul este de a extrage sau accentua anumite trăsături şi nu de a corecta erorile ce apar la captarea imaginii.

Obiectivul procesului de restaurare a imaginilor este acela ca dintr-o imagine degradată să se elimine sau să se reducă factorul de degradare, dar pentru a se putea realiza o refacere eficientă a imaginilor trebuie simulate pentru început toate posibilităţile de degradare. Schema unui astfel de sistem este dată în figura următoare:

Putem considera f(n1,n2) ca fiind imaginea originală digitizată, g(n1,n2) ca fiind imaginea

digitală degradată şi p(n1,n2) ca fiind imaginea digitală prelucrată. Obiectivul refacerii imaginilor este de a obţine o valoare p(n1,n2) cât mai apropiată de f(n1,n2).

Trebuie să se ţină însă seama că degradarea nu are loc întotdeauna înaintea blocului de refacere (de exemplu zgomotul aditiv din display). În acest caz trebuie anticipată viitoarea degradare care poate să apară după lanţul de refacere şi apoi să fie prelucrată imaginea în mod corespunzător. Uneori, diferite tipuri de degradări (estomparea – “blurring”, din digitizor sau display, de exemplu) pot fi modelate ca blocuri de degradare aplicate înaintea blocului de refacere.

4.1 Modele ale imaginii observate Un sistem tipic de captare a imaginii constă dintr-un sistem de formare a imaginii, un detector

şi un înregistrator. De exemplu, un sistem electrooptic de tipul camerei de televiziune conţine un sistem optic care focalizează imaginea pe un dispozitiv fotoelectronic. Imaginea este apoi scanată pentru transmisie sau înregistrare. Similar, un aparat fotografic obişnuit utilizează lentile pentru a forma o imagine care este detectată şi înregistrată pe un film fotosensibil.

Modelul matematic pentru un astfel de sistem poate fi exprimat prin ecuaţiile:

( ) ( )[ ] ( )yx,yx,wgyx,v η+=

(4.1) ( ) '''''' dydxy,xu)y,xy,h(x,y)w(x, ∫ ∫+∞

∞−

= (4.2)

( ) ( )( )[ ] ( ) ( )yx,y.xy.xwgfyx, 21 ηηη += (4.3)

Digitizor ideal

Degradare Refacere imagine

Display ideal

f(n1,n2) g(n1,n2) p(n1,n2f(x,y) f ’(x,y)

Domeniul discret

Fig 4.2 Sistem de refacere (toate degradările sunt cunoscute)

Sistem liniar h(x,y,x’,y’)

Neliniaritate punctuală g(.) +

f(.) X +

η1(x,y) η2(x,y)

u(x,y) w(x,y) v(x,y)

η(x,y)

Page 20: Popa - Prelucrarea numerica a imaginilor (2006).pdf

20

unde u(x,y) reprezintă obiectul (imaginea originală) şi v(x,y) este imaginea observată. Procesul de formare a imaginii poate fi modelat printr-un sistem liniar (ca în figura de mai

sus), unde h(x,y,x',y') este răspunsul la impuls. Funcţiile f şi g sunt în general neliniare şi reprezintă caracteristicile mecanismului de detecţie

şi înregistrare, iar η(x, y) reprezintă zgomotul aditiv, care are o componentă imagine f[g(w)]η1, şi o componentă aleatoare η2.

Modele pentru imaginea formată Pentru sistemele coerente, limitarea datorată difracţiei are efectul unui filtru trece-jos ideal.

Pentru cele necoerente, aceasta înseamnă limitare de bandă şi un răspuns în frecvenţă obţinut prin convoluţia unei funcţii coerente de transfer cu ea însăşi.

Degradările datorate distorsiunilor de fază ale funcţiei de transfer coerente CTF ("coherent trunsfer function") sunt numite aberaţii şi se manifestă ca distorsiuni în banda de trecere a funcţiei de transfer optice. Neclaritatea poate să apară atunci când există o mişcare relativă între obiect şi cameră, pe durata expunerii. Tulburările atmosferice sunt datorate variaţiei aleatoare a indicelui de refracţie a mediului dintre obiect şi sistemul de captare a imaginii.

Imaginea înceţoşată (neclară) poate să apară, de asemenea, în imaginile achiziţionate prin scanare, caz în care pixelii sunt integraţi de apertura scanerului. Asemenea imagini se obţin, de exemplu la radar sau la echipamentele de redare clasice. În cazul achiziţiei de imagine cu camere CCD, interacţiunea dintre elementele vecine ale reţelei de captare duce, şi ea, la " înceţoşarea" imaginii.

Răspunsul detectorului de imagine şi a dispozitivului de înregistrare sunt în general neliniare. De exemplu, răspunsul filmelor fotografice, scanerelor şi dispozitivelor de redare poate fi scris sub forma:

g=awβ (4.4) unde a şi β sunt constante dependente de dispozitiv, iar w este variabila de intrare. Pentru filmele fotografice, un model mai utilizat este:

d=γlog10w-d0 (4.5) unde γ se numeşte factor de contrast al peliculei, w este intensitatea luminii incidente, iar d este densitatea optică a suportului. Pentru un dispozitiv fotoelectronic, w reprezintă intensitatea luminii incidente iar g reprezintă de fapt curentul de fascicul. Valoarea exponentului β este, în general, pozitivă şi aproximativ egală cu 0,75.

4.2.Estimarea degradării Fiecare algoritm de refacere este astfel conceput, încât să exploateze caracteristica semnalului

şi cea a degradării, exactitatea informaţiei despre degradare fiind esenţială pentru aplicarea cu succes a unui algoritm de refacere a imaginilor. Există două metode pentru obţinerea informaţiei asupra degradării imaginii.

Prima metodă se bazează pe culegerea informaţiei despre degradarea din imagine. Dacă se pot identifica regiunile din imagine unde intensitatea este aproximativ uniformă (de exemplu "cerul"),

Fig. 4.3 Sistem de captare a imaginii

Page 21: Popa - Prelucrarea numerica a imaginilor (2006).pdf

21

este posibilă estimarea puterii spectrale sau estimarea funcţiei de probabilitate a zgomotului aleator în regiunea cu fond uniform. Un alt exemplu poate fi dat presupunând o imagine estompată şi o regiune din imaginea iniţială, putându-se estima funcţia de estompare ("blurring") b(n1,n2). Considerând imaginea originală f(n1,n2), în particular o regiune din imaginea originală, şi imaginea alterată g(n1,n2), respectiv aceeaşi regiune alterată, atunci se poate scrie:

( ) ( ) ( )212121 ,,, nnbnnfnng ×= (4.6)

Presupunând cunoscute f(n1,n2), g(n1,n2) se poate determina b(n1,n2). Dacă f(n1,n2) este impulsul unitate δ(n1,n2), atunci b(n1,n2) este dată de g(n1,n2) (de exemplu, o stea pe un cer nocturn).

Cea de a două metodă pentru obţinerea informaţiei despre alterare constă în studierea mecanismului care a cauzat degradarea. De exemplu, se va considera o imagine analogică f(x,y), estompată datorită unei mişcări plane a sistemului de captare în timpul expunerii. Presupunând că nu există o altă degradare în sistemul de captare, se poate exprima degradarea imaginii g(x,y) ca fiind:

dttyytxxfT

yxg

T

Tt

∫−=

−−=2

2

00 ))()((1),( (4.7)

unde x0(t), y0(t) reprezintă translaţia pe orizontală, respectiv pe verticală a punctului f(x,y) relativ la sistemul de captare, în intervalul t, iar T este durata de expunere.

4.3. Restaurarea adaptivă a imaginilor În cazul real al unei imagini, caracteristicile diferă considerabil de la o regiune la alta. De

exemplu, cerul are o intensitate de gri aproximativ constantă, în timp ce copacii au variaţii mari de intensitate. Totodată, gradul de degradare poate varia de la o regiune la alta. Din aceste motive este utilă implementarea unui algoritm adaptiv de refacere a imaginilor. Ideea adaptării nu este folosită numai în cazul refacerii imaginilor, ci şi în alte aplicaţii, cum ar fi intensificarea imaginilor. Două dintre aceste metode de prelucrare adaptivă sunt:

• Metoda "pixel cu pixel" Constă în adaptarea procesului la fiecare pixel. Astfel, pentru fiecare pixel din imagine,

metoda este determinată pe baza caracteristicilor locale ale imaginii, pe baza gradului de degradare şi pe baza oricărei alte informaţii relevante, care pot fi culese din regiunile învecinate pixelului curent. Deoarece fiecare pixel este prelucrat în mod diferit, această metodă are un înalt grad de adaptare şi nu este afectată de discontinuităţile artificiale ce apar în procesul de prelucrare.

• Metoda "bloc cu bloc" Practic, imaginea este împărţită în blocuri (regiuni sau subimagini) şi fiecare bloc este

prelucrat separat, după care este combinat cu celelalte. Mărimea tipică a unui bloc este între 8x8 şi 32x32 pixeli. Pentru fiecare bloc se alege o operaţie spaţială, în funcţie de caracteristicile de bază ale blocului, în funcţie de degradare sau de orice altă informaţie referitoare la regiunea discutată. Deoarece prelucrarea aplicată unui bloc este o operaţie spaţială, este nevoie de o anumită flexibilitate în implementarea acesteia. De exemplu, un FTJ ar putea fi implementat fie în domeniul spaţial, fie în domeniul frecvenţă. În plus, această metodă este mult mai simplă, în comparaţie cu metoda de prelucrare pixel cu pixel, datorită faptului că se foloseşte un singur tip de prelucrare pentru întregul bloc de pixeli. Datorită însă faptului că tipul prelucrării se schimbă brusc de la un bloc la altul, pot apărea discontinuităţi artificiale la trecerile dintr-o regiune în alta. Acest efect poartă denumirea de efectul de împărţire în blocuri ("blocking"). În multe aplicaţii, cum ar fi cele de refacere a imaginilor, la un nivel mare al raportului semnal-zgomot acest efect poate să nu fie

Page 22: Popa - Prelucrarea numerica a imaginilor (2006).pdf

22

supărător şi de aceea poate să nici nu fie luat în considerare. În alte aplicaţii, ca spre exemplu codarea prin transformare la rate mici de transmisie, efectul poate fi mult mai supărător.

Efectul blocking poate fi redus printr-o filtrare trece jos aplicată numai regiunilor de frontieră. De asemenea, efectul blocking se poate diminua prin suprapunerea parţială a blocurilor. În acest caz, pentru a obţine un bloc se aplică o fereastră wi,j (n1,n2) peste g(n1,n2). Fereastra aleasă trebuie să satisfacă două condiţii. Prima este ca ∑∑ =

i j

1n2)(n1, wij , pentru toţi pixelii de interes condiţie

care garantează că prin simpla adunare a blocurilor componente se obţine imaginea iniţială. A doua condiţie cere ca wi,j (n1,n2) să fie o funcţie descrescătoare spre zero în apropierea marginilor ferestrei, ceea ce duce la diminuarea eventualelor discontinuităţi care apar la frontierele dintre blocuri.

Una dintre metodele de determinare a ferestrei bidimensionale care să satisfacă ambele condiţii este folosirea a două ferestre unidimensionale, care satisfac relaţia:

wi,j (n1,n2)=wi(n1)wj(n2) (4.8)

În figura de mai sus este prezentat un proces de prelucrare adaptivă. Prelucrarea ce trebuie

folosită la fiecare pixel/bloc de pixeli, aceasta este adaptată în funcţie de caracteristicile imaginii, de gradul de degradare şi de orice altă informaţie relevantă. Obţinerea acestor informaţii se poate face în două moduri: fie pe baza presupunerii că sunt disponibile informaţii asupra problemelor care pot apărea (de exemplu, se poate cunoaşte tipul imaginii sau se poate determina gradul degradării folosind informaţiile care sunt deţinute despre sursele de degradare), fie extrăgând informaţiile din imaginea care trebuie prelucrată.

4.4. Restaurarea imaginilor pe baza funcţiei de vizibilitate a zgomotului Se poate dezvolta un sistem de refacere a imaginilor bazat pe gradul de vizibilitate al

zgomotului. Pentru aceasta se va folosi funcţia de vizibilitate a zgomotului. Vizibilitatea zgomotului depinde de tipul zgomotului şi de tipul semnalului la care este adunat. Acelaşi nivel al zgomotului alb, respectiv al zgomotului colorat, generează efecte diferite pentru un observator uman, iar regiunile cu multe detalii tind să mascheze zgomotul mai mult decât regiunile cu detalii puţine.

Una dintre metodele de definire a funcţiei de vizibilitate a zgomotului presupune zgomotul ca fiind alb (poate fi aplicată şi pentru alte tipuri de zgomote). Totodată se notează cu M(n1,n2) informaţiile referitoare la detaliile imaginii originale f(n1,n2). Funcţia M(n1,n2) se numeşte mască.

Caracteristici locale

Prelucrări Imaginea

alterată g(n1,n2)

Informaţii Despre imagine

Imaginea Prelucrată p(n1,n2)

Fig. 4.4. Sistem adaptiv de prelucrare a imaginilor

Page 23: Popa - Prelucrarea numerica a imaginilor (2006).pdf

23

Funcţia de vizibilitate a zgomotului, V(M), este astfel definită încât să reprezinte vizibilitatea relativă pentru un nivel dat al zgomotului, la nivelul M al măştii. Deci, presupunând un zgomot cu varianţa σ1

2 la M=M1, acesta poate fi apreciat de un observator uman ca un zgomot cu varianţa σ22

la M=M2, astfel ca: σ1

2V(M1)= σ22V(M2) (4.9)

Măsurarea funcţiei de vizibilitate a zgomotului se poate face astfel: presupunând că se adună zgomotul cu variaţia σ1

2 la o regiune din imagine cu un nivel al măştii M1. Se poate solicita observatorului uman să compare vizibilitatea zgomotului din regiunea curentă cu o vizibilitate dintr-o altă regiune a imaginii, unde M=M2 iar nivelul zgomotului este σ2

2. Se modifică nivelul σ2, astfel încât zgomotul din cele două regiuni să fie egal vizibil şi se notează valoarea obţinută. Cunoscând σ1

2 şi σ22 se poate determina V(M2) /V(M1). V(M) depinde numai de M, prin urmare

funcţia mască M(n1,n2) este aleasă astfel încât să se obţină acelaşi nivel al zgomotului pentru toate regiunile din imagine care au acelaşi M.

Zgomotul adăugat unei imagini are în general un spectru de frecvenţe mai mare decât componentele imaginii normale din cauza decorelării spaţiale a componentelor sale. Printr-o filtrare trece jos în domeniul spaţial sau în domeniul frecvenţelor spatiale se poate suprima o mare parte a sa. Nu există deosebiri între rezultatele obţinute prin filtrarea în domeniul spaţial şi filtrarea în domeniul Fourier, alegerea fiind dată de considerente de implementare. Totuşi procesarea în domeniul Fourier, spre deosebire de convoluţie ne permite o privire cantitativă şi intuitivă în natura de zgomot, utilă în proiectarea filtrelor de suprimare a zgomotului în domeniul spaţial. Fundamentul tehnicilor în domeniul frecvenţelor spaţiale îl constituie teorema de convoluţie.

Fie g(x,y) o imagine rezultată prin convoluţia imaginii f(x,y) şi un operator invariant la deplasare h(x,y), adică: g(x,y)=h(x,y)*f(x,y). Conform teoremei de convoluţie ştim că în domeniul frecvenţelor avem relaţia: G(u,v)=H(u,v)F(u,v), unde G,H,F sunt transformatele Fourier ale funcţiilor spaţiale g,h si respectiv f. Transformata H(u,v) este numită funcţie de transfer a procesului. În aplicaţiile tipice de îmbunătăţire a imaginilor este dată funcţia imagine f(x,y), iar scopul după calcularea transformatei Fourier F(u,v) este de a selecta H(u,v) astfel încât imaginea dorită dată de g x y H u v F u v( , ) ( , ) ( , )= ℑ−1 să îndeplinească anumite condiţii. De exemplu, accentuarea muchiilor din f(x,y), se poate face folosind o funcţie H(u,v) care să favorizeze componentele de înaltă frecvenţă din F(u,v). Teorema de convoluţie impune ca H(u,v) şi h(x,y) să fie de aceleaşi dimensiuni, dacă H(u,v) este de mărime 256x256 la fel trebuie să fie şi h(x,y) pentru a obţine acelaşi rezultat prin filtrarea în domeniul spaţial ca în cazul filtrării în domeniul frecvenţă. Convoluţia cu măşti de asemenea dimensiune se realizează mult mai eficient în domeniul frecvenţă.

Pentru o anumită imagine s-a observat că refacerea depinde puţin de aproximarea folosită pentru spectrul de putere al zgomotului şi al imaginii ideale, dar depinde foarte mult de forma exactă a funcţiei de transfer H(u,v) a sistemului degradant. Din fericire aceasta este o proprietate a sistemului de achiziţie a imaginii şi poate fi calculată cu acurateţe.

4.5. Metode de reducere a zgomotului

4.5.1. Modele de zgomot Cel mai întâlnit tip de zgomot este cel gaussian datorat capacităţii limitate de numărare a

detectorului ce apare din cauza numărului mic de particule incidente (fotoni sau electroni). Zgomotul din imagine se poate datora de asemenea instabilităţii sursei de lumină sau a detectorului pe timpul procesului de scanare sau digitizare a imaginii. Modelul acestui tip de zgomot este diferit de cel al zgomotului gaussian datorat capacităţii de numărare (“counting statistics”) dar apare tot ca o variaţia a strălucirii în regiunile uniforme.

• Zgomotul Gaussian are următoarea funcţie de densitate a probabilităţii:

Page 24: Popa - Prelucrarea numerica a imaginilor (2006).pdf

24

Error! Objects cannot be created from editing field codes. (4.10)

Distribuţia Gaussiană are proprietatea că estimarea valorii mediane a unei variabile aleatoare Gaussiene staţionare se realizează cel mai bine folosind medierea aritmetică liniară. Acest lucru face ca zgomotul Gaussian să aducă cele mai multe probleme filtrelor neliniare de restaurare a imaginilor, în sensul că îmbunătăţirea pe care o aduc aceste filtre faţă de cele liniare este cea mai mică în cazul zgomotului Gaussian. Pentru a aduce îmbunătăţiri rezultatelor obţinute de filtrele liniare, filtrele neliniare pot exploata doar distribuţiile ne-Gaussiene ale semnalelor.

• Zgomotul Laplacian (numit de asemenea bi-exponenţial) are următoarea funcţie de densitate a probabilităţii:

Error! Objects cannot be created from editing field codes. (4.12)

Faţă de medierea aritmetică liniară, filtrele neliniare pot oferi o aproximare mai exactă a valorii mediane a unei variabile aleatoare Laplaciane .

• Zgomotul uniform nu este foarte întâlnit în imaginile reale dar oferă o comparaţie folositoare cu zgomotul Gaussian. Făcând această comparaţie, medierea aritmetică liniară realizează o aproximare slabă a valorii mediane a unei distribuţii uniforme. Din acest lucru rezultă faptul că filtrele neliniare elimină mai bine zgomotul uniform în comparaţie cu cel Gaussian. Funcţia de densitate a probabilităţii pentru acest tip de zgomot este:

Error! Objects cannot be created from editing field codes. (4.13)

Pentru sistemele foto-electronice, zgomotul ce apare în curentul de fascicul este modelat adesea ca:

( ) ( ) ( ) ( )yxyxyxgyx ,,,, 21 ηηη += (4.14)

unde g este răspunsul detectorului de imagine iar η1 şi η2 sunt câmpuri de zgomot aleator, alb, gaussian, independente mutual şi cu valoare medie nulă.

Termenul dependent de semnal, η1(x,y) apare pentru că procesul de detecţie şi înregistrare implică emisie aleatoare de electroni, având o distribuţie Poisson cu valoarea medie egală cu g. Termenul η2(x,y) reprezintă zgomotul termic de bandă largă şi poate fi modelat ca zgomot gaussian alb.

Un tip diferit de zgomot care apare în imaginile degradate este numit "speckle noise", în traducere liberă "zgomot pătat" (bălţat). Pentru imagini cu rezoluţie slabă, acesta este multiplicativ şi apare atunci când neuniformitatea suprafeţei obiectului este de dimensiunea lungimii de undă a radiaţiei incidente. El poate fi modelat ca:

( ) ( ) ( ) ( )yx,yx,syx,uyx,v η+= (4.15)

unde s(x,y), intensitatea zgomotului "bălţat", este de fapt un zgomot alb cu o distribuţie aleatoare exponenţială, respectiv:

( )

0,

0≥

= 2

rest în

,-exp1p 2

s

ξσξ

σξ (4.16)

Presupunând că o imagine deţine cea mai bună calitate ce poate fi obţinută practic, vor fi prezentate în continuare câteva modalităţi de înlăturare a zgomotelor ce se pot efectua pentru a îmbunătăţi posibilitatea vizualizării şi separării trăsăturilor (detaliilor) prezente în imagine. Presupunerile făcute pentru toate aceste metode sunt că pixelii prezenţi în imagine sunt mult mai mici decât cele mai însemnate detalii şi că pentru majoritatea pixelilor cei mai mulţi vecini ai lor fac

Page 25: Popa - Prelucrarea numerica a imaginilor (2006).pdf

25

parte din aceeaşi structură. Pe baza acestor presupuneri se pot aplica diferite metode de mediere sau comparaţie.

4.5.2. Tipuri de filtre utilizate pentru reducerea zgomotului

1. Filtre de mediere aritmetică Cea mai simplă formă de mediere spaţială cuprinde următorii paşi: - însumarea valorilor strălucirii pixelilor din fiecare regiune mică a imaginii; - împărţirea acestei sume la numărul pixelilor din imagine; - folosirea valorilor obţinute pentru a construi o nouă imagine. În cazul zgomotului aleator prezent în imagine datorat caracteristicii de numărare a unui

număr redus de fotoni se obţine o îmbunătăţire a calităţii imaginii şi a raportului semnal/zgomot (signal-to-noise ratio). Totuşi, rezoluţia laterală a imaginii este afectată serios iar detaliile mici din imagine nu se mai pot discerne separat.

Cel mai întâlnit mod de a pune în practică această metodă de mediere a vecinătăţii este de a înlocui fiecare pixel cu media sa şi a vecinilor lui. Acest lucru poate fi descris ca o operaţie de tip nucleu (“kernel operation”) deoarece implementarea ei poate fi generalizată suma fiecărei valori a pixelilor din regiune înmulţite cu un set de coeficienţi întregi (ce semnifică însemnătatea, ponderea fiecărui pixel):

∑+

−=

+

−=++

= m

mji

m

mji

,ji,

,jyi,xji,

*yx,

W

PWP (4.17)

Această formulă prezintă calculul efectuat asupra unui pătrat de dimensiune 2m+1 (impară). Este posibilă de asemenea, dar nu foarte des întâlnită, utilizarea unor regiuni care nu sunt pătratice. Aranjarea coeficienţilor W pentru o mediere simplă conţine valori de 1, iar astfel se poate înţelege că aceşti coeficienţi vor fi înmulţiţi cu valorile pixelilor ce înconjoară pixelul central iar totalul normat prin împărţirea la suma coeficienţilor. Valoarea obţinută va fi scrisă în locul pixelului central pentru a forma o nouă imagine.

Deoarece spaţiul pentru stocare nu este niciodată nelimitat putem memora noua imagine obţinută în locul celei originale. Totuşi, pentru a efectua calculul în continuare avem nevoie de valorile originale ale pixelilor şi nu de cele ce au fost calculate deja. Această problemă se rezolvă prin menţinerea unei copii a câtorva linii pe timpul desfăşurării procesului.

Operaţiile pe vecinătăţi, incluzând şi multiplicarea nucleului, sunt de obicei aplicate simetric în jurul fiecărui pixel. Acest lucru creează o problemă pentru pixelii din zona de margine a imaginii. Pentru a rezolva această problemă se folosesc diverse aproximări cum ar fi:

• crearea de nuclee speciale asimetrice, sau • crearea de reguli de-a lungul liniilor sau în colţuri presupunând că :

- marginile imaginii sunt oglinzi şi astfel fiecare linie de pixeli din interiorul imaginii este dublată dincolo de aceasta, sau că

- marginile imaginii se unesc astfel încât marginea de jos cu cea de sus şi cea din stânga cu cea din dreapta să fie continue.

• prelucrarea imaginii este restrânsă la acele porţiuni unde nu apar probleme cu marginile (această aproximare lasă linii cu pixeli neutilizaţi de-a lungul marginilor imaginii egale cu jumătate din dimensiunea vecinătăţii).

Page 26: Popa - Prelucrarea numerica a imaginilor (2006).pdf

26

Nici una din aceste aproximări nu sunt perfecte şi, în general, majoritatea operaţiilor de prelucrare a imaginilor sacrifică câţiva pixeli situaţi la marginile imaginii.

Reducerea zgomotului este mai mare atunci când se foloseşte o vecinătate mai largă, dar aceasta este însoţită de o înceţoşare semnificativă a marginilor trăsăturilor (detaliilor) prezente în imagine. Acest efect de înceţoşare se poate reduce folosind valori ale coeficienţilor diferite de 1. De exemplu valorile pentru o matrice 3X3 pot fi [ 1 2 1;2 4 2; 1 2 1], iar aceasta prezintă alte caracteristici mult mai atractive: - în primul rând coeficientul 4 situat în mijloc face ca pixelul central să domine operaţia de mediere

reducând astfel efectul de înceţoşare (“blurring”) - valorile de 2 pentru cei patru vecini alăturaţi ortogonali şi valorile de 1 pentru cei patru vecini

alăturaţi diagonali ne arată că de fapt cei patru pixeli diagonali sunt foarte îndepărtaţi de centrul vecinătăţii.

Filtrul Gaussian Din analize a rezultat faptul că una dintre cele mai folositoare forme ale nucleului este cea

gaussiană. Aceasta este un set de valori întregi care aproximează profilul unei funcţii gaussiene de-a lungul oricărui rând, coloană sau diagonală ce trece prin centrul vecinătăţii.

Această formă este caracterizată de o deviaţie standard exprimată în termeni ce ţin de dimensiunile pixelilor. Mărimea unui astfel de nucleu este destul de mare astfel încât, adăugând un alt rând de termeni, aceştia să introducă valori neglijabile. În continuare vor fi prezentate câteva astfel de nuclee, iar pentru fiecare dintre aceştia este calculată şi deviaţia standard:

3x3=[1 4 1 ;4 12 4 ;1 4 1] , σ=0,391; 5x5=[1 2 3 2 1 ;2 7 11 7 2 ; 3 11 17 11 3 ;2 7 11 7 2 ; 1 2 3 2 1], σ=0,625; 9x9=[0 0 1 1 1 1 1 0 0 ;0 1 2 3 3 3 2 1 0 ;1 2 3 6 7 6 3 2 1 ;1 3 6 9 11 9 6 3 1 ;1 3 7 11 12 11 7

3 1 ;1 3 6 9 11 9 6 3 1 ;1 2 3 6 7 6 3 2 1 ;0 1 2 3 3 3 2 1 0 ;0 0 1 1 1 1 1 0 0], σ=1,0. Pentru a se aproxima cât mai bine curba analitică netedă a lui Gauss trebuie alese valori

întregi, cel puţin pentru nuclee (vecinătăţi) mari. Totuşi, totalul coeficienţilor trebuie păstrat cât mai mic pentru a facilita calculele aritmetice ale calculatorului.

Desigur, mărimea nucleului creşte odată cu deviaţia standard. Aplicarea repetată a unui nucleu mic sau aplicarea secvenţială a două sau mai multe nuclee este echivalentă cu o singură aplicare a unui nucleu mai mare (aplicând coeficienţii unui singur nucleu asupra altor coeficienţi ai altui nucleu ca şi cum aceştia ar fi valori ale unor pixeli şi făcând însumarea şi adăugarea acestora generăm un nou nucleu de dimensiuni mai mari). De reţinut este faptul că şi atunci când se folosesc nuclee de dimensiuni mai mari cuantizarea coeficienţilor utilizând valori întregi produce anumite distorsiuni.

Acest tip de mediere poate reduce zgomotul vizibil din imagine dar de asemenea înceţoşează marginile, deplasează zonele marginale ale detaliilor şi reduce contrastul. Poate introduce, de asemenea, un artificiu numit adesea pseudorezoluţie (sau aliasing) prin care două structuri separate ale imaginii fiind mediate împreună se creează o legătură aparentă între acestea.

2.Filtre de ordine Utilizarea nucleelor pentru a media pixelii dintr-o vecinătate este o operaţie de convoluţie ce

are un echivalent direct în domeniul frecvenţelor. Este o operaţie liniară prin care nu se pierde nici o informaţie din imaginea originală. Sunt şi alte tipuri de operaţii de prelucrare ce se pot efectua în domeniul spaţial, cu ajutorul vecinătăţilor şi care oferă de asemenea reducerea zgomotelor.

Cea mai larg utilizată dintre aceste metode se bazează pe ordonarea pixelilor dintr-o vecinătate în funcţie de strălucirea lor. Apoi, de exemplu, valoarea mediană din această listă ordonată poate fi folosită drept valoare a strălucirii pixelului central. Ca şi în cazul operaţiilor ce

Page 27: Popa - Prelucrarea numerica a imaginilor (2006).pdf

27

utilizează nuclee această valoare mediană este folosită pentru a crea o nouă imagine şi se folosesc numai valorile originale ale pixelilor în ordonarea vecinătăţii din jurul fiecărui pixel.

Filtrul median Tehnica medierii vecinilor are drept defect principal crearea efectului de estompare (“flou”) la

marginile obiectelor sau în punctele cu mare gradient de intensitate. Acest efect secundar este puternic diminuat prin tehnica filtrării mediene, care înlocuieşte nivelul de gri al fiecărui pixel printr-o combinaţie a nivelelor de gri ale pixelilor vecini. Considerând o fereastră din imagine conţinând N = 2p+1 pixeli, N impar, mai întâi se ordonează valorile gi ale nivelelor de gri astfel încât la sfârşit să se obţină g1≤g2≤…≤gN. Apoi printr-o operaţie liniară asupra acestei secvenţe ordonate, se efectuează următoarea sumă:

i

N

ii gcg ∑

=

=1

' (4.18)

care reprezintă noua valoarea care va fi afectată pixelului central, unde ci sunt coeficienţi constanţi de ponderare. Filtrul median standard se obţine dacă se alege cp+1=1, iar toţi ceilalţi coeficienţi nuli. Se poate înţelege intuitiv că filtrul median forţează pixelii de intensitate luminoasă mare, în raport cu cei din vecinătatea lor, să fie neteziţi, adică să ia valori apropiate de ale acestota. Acest filtru este un filtru trece – jos care elimină zgomotul de tip ninsoare, dar care antrenează o uşoară pierdere de rezoluţie.

Filtrul median elimină foarte bine tipurile de zgomote sigure (cunoscute), de exemplu zgomotul împuşcat ( “shot noise” ) în care unii pixeli sunt afectaţi sau lipsesc din imagine. Dacă un pixel este schimbat accidental la o valoare extremă el va fi eliminat din imagine şi înlocuit cu o valoare rezonabilă, valoarea mediană din vecinătate. Un filtru median este capabil să elimine zgomotul şi să înlocuiască pixelii afectaţi (necorespunzători) cu valori rezonabile având în acelaşi timp o distorsiune şi o degradare minimă a imaginii.

Aplicaţii ale filtrului median se pot folosi de asemenea pentru reducerea diferitelor tipuri de zgomot aleator.

Fig. 4.5 Modele de vecinătăţi folosite în filtrarea mediană

a) cei mai apropiaţi 4 vecini aflaţi în cruce; b) vecinătate pătratică de 3x3 ce conţine nouă pixeli; c) regiune octogonală de 5x5 cu 21 de pixeli; d) vecinătate pătratică de 5x5 cu 25 pixeli; e) regiune octogonală de 7x7 ce conţine 37 pixeli. Efortul cerut calculatorului creşte repede odată cu creşterea numărului de valori ce trebuie

sortate chiar şi atunci când se folosesc metode speciale care păstrează separat părţi din setul de

Page 28: Popa - Prelucrarea numerica a imaginilor (2006).pdf

28

valori ordonate astfel încât atunci când vecinătatea se mişcă de-a lungul imaginii să fie necesare doar câteva comparaţii suplimentare ale pixelilor.

Există două avantaje principale ale filtrului median în comparaţie cu filtrul de mediere aritmetică (cu multiplicare prin coeficienţi):

- în primul rând această metodă nu introduce valori ale strălucirii deoarece valorile avute la dispoziţie sunt doar acele valori prezente în vecinătate şi nu o medie a acelor valori;

- în al doilea rând filtrul median nu schimbă valorile zonelor de margine aşa cum filtrul de mediere aritmetică o poate face în funcţie de mărimea relativă a valorilor prezente în imagine.

Aceste valori fac ca filtrul median să fie preferat atât pentru examinarea vizuală cât şi pentru diferitele măsurători efectuate pe imagini.

Degradarea minimă a marginilor în urma filtrării mediane fac posibilă aplicarea repetată a acestei metode. Prin aplicarea repetată a acestui filtru detaliile fine prezente în imagine se şterg iar zone largi din imagine capătă aceeaşi valoare a strălucirii. Totuşi, nu are loc o deplasare a marginilor; acestea rămân la locul lor şi sunt bine definite.

Filtrul median trunchiat Valoarea cea mai convenabilă care trebuie obţinută la ieşirea unui filtru este slab definită în

cazul vecinătăţilor de dimensiuni mici. Această valoare se poate obţine cu aproximaţie folosind un filtru median trunchiat. De exemplu prin ordonarea valorilor de strălucire ale unei vecinătăţi ce se află în apropierea unei margini (dar nu se suprapune peste aceasta ) se va obţine o distribuţie asimetrică. În acest caz valoarea care trebuie obţinută la ieşirea filtrului coincide cu punctul ce are cea mai înaltă valoare a strălucirii. Aplicând un filtru median convenţional nu se va obţine această valoare datorită distribuţiei asimetrice. Tehnica filtrului median trunchiat constă în descărcarea câtorva valori din vecinătate astfel încât valoarea mediană a pixelilor rămaşi să se apropie de valoarea dorită.

De exemplu pentru o vecinătate de 3x3 prin aplicarea unui filtru median trunchiat se elimină două dintre valorile cele mai diferite de valoarea medie, după care se ordonează cele şapte valori rămase şi se extrage valoarea lor mediană. Prin aplicarea acestui filtru se obţin margini mai stridente şi o imagine în care contrastul este ridicat.

Aplicând acest filtru asupra unei vecinătăţi ce are o distribuţie simetrică a valorilor nu vom întâmpina dificultăţi deoarece valorile sunt descărcate de la ambele capete iar valoarea mediană nu se schimbă (ea deja coincide cu valoarea cea mai probabilă).

Filtrul median hibrid O altă modificare adusă filtrului median este folosită pentru a înlătura tendinţa acestuia de a

şterge liniile ce sunt mai înguste decât jumătate din lărgimea vecinătăţii şi de a rotunji colţurile. Aşa numitul filtru hibrid sau filtrul ce păstrează marginile este o operaţie de ordonare ce

cuprinde trei paşi. Pixelii din vecinătate sunt ordonaţi în două grupuri diferite. Valorile mediane ale vecinilor situaţi la 450 ce formează un „x” şi a celor situaţi la 900 ce formează un „+” (amândouă grupuri incluzând pixelii central) sunt comparate cu valoarea pixelului central iar valoarea mediană a acestui set format din trei pixeli este salvată ca valoare a pixelului.

Fig. 4.6. Diagrama pixelilor dintr-o vecinătate de 5x5 ce prezintă grupurile folosite de filtrul median hibrid

Page 29: Popa - Prelucrarea numerica a imaginilor (2006).pdf

29

Această metodă conservă liniile şi colţurile care sunt şterse şi rotunjite de filtrul median convenţional. Dacă şi acest filtru hibrid este aplicat de mai multe ori el poate reduce de asemenea formarea unei imagini cu un contrast ridicat (“posterization”). Deoarece detaliile liniilor şi colţurilor sunt conservate mai bine de filtrul median hibrid faţă de filtrul media convenţional formele regiunilor nu sunt netezite la fel de mult, cu toate că valorile strălucirii sunt mai stridente şi contrastul este mai mare (“sharpened and posterized” ).

Faptul că filtrul median hibrid implică trei operaţii de ordonare, prima dată în interiorul celor două grupuri de pixeli şi apoi pentru a compara acele valori mediane obţinute cu valoarea pixelului central, nu sunt introduse penalităţi mari asupra vitezei de efectuare a calculelor. Fiecare operaţie de ordonare se face pentru un număr de valori mai mic decât în cazul vecinătăţilor pătrate sau octogonale de aceeaşi mărime. De exemplu vecinătatea cu o lărgime de 5 pixeli conţine 25 de pixeli dacă este pătrată sau 21 dacă are o formă octogonală care trebuie ordonaţi în metoda clasică. În metoda hibridă, fiecare din cele două grupuri conţin doar 9 pixeli iar comparaţia finală implică doar 3 valori. Deci metoda hibridă este cel puţin la fel de rapidă ca cea convenţională.

Filtre extreme Există şi alte metode ce pot produce acest efect. Una dintre acestea, ce ţine de metoda

mediană, este filtrul extrem („extremum filter”) care înlocuieşte fiecare pixel cu valoarea maximă din vecinătate sau cu cea minimă, în funcţie de apropierea acesteia de valoare medie. Acest filtru nu conservă marginile şi nu poate schimba zonele de margine.

3.Filtrul binar

Un caz important, care apare în sistemele de vedere artificială este acela în care imaginea foloseşte pentru fiecare pixel F(i,j) un singur bit (imagine binarizată). Pentru eliminarea zgomotului de tip „sare şi piper” ( „1” între „0”- uri şi „0” între „1”- uri ) se pot folosi filtre locale bazate pe funcţii logice. Astfel dacă notăm fereastra :

F( i-1 , j-1 ) F( i-1 , j ) F( i-1 , j+1 ) a1 a2 a3 F( i , j-1 ) F( i , j ) F( i , j+1 ) = b1 b2 b3 (4.19) F( i+1 , j-1 ) F( i+1 , j ) F( i+1 , j+1 ) c1 c2 c3 Şi punctul central b2 este înlocuit cu b2

’, având expresia: ( )[ ] ( )321313212321313212

'2 cccbbaaabcccbbaaabb UUUUUUUUIIIIIIIIU= (4.20) Un filtru de acest tip permite eliminarea unui punct negru singular sau a unui punct alb

singular. Orice altă configuraţie de puncte albe sau negre din vecinătate lasă neschimbat punctul central.

1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 1 1 sau 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0

4. Alte tipuri de filtre

Filtrul olimpic O modificare adusă simplei medieri aritmetice a valorilor dintr-o vecinătate care încearcă să

achiziţioneze şi câteva dintre avantajele unui filtru median este aşa numitul filtru olimpic. Denumirea filtrului provine de la modul de stabilire a scorului în unele întreceri ce se desfăşoară în cadrul Jocurilor Olimpice, în care cel mai mare şi cel mai mic scor nu sunt luate în calcul iar celorlalte li se face o medie aritmetică. Acelaşi lucru se face şi cu valorilor pixelilor dintr-o vecinătate. Neluând în considerare valorile extreme zgomotul împuşcat (“shot noise”) este eliminat. Apoi media celorlalte valori ale pixelilor este folosită ca o nouă valoare de strălucire.

FB FB

Page 30: Popa - Prelucrarea numerica a imaginilor (2006).pdf

30

Această metodă este în general inferioară celorlalte metode discutate anterior şi nu este folosită foarte des deoarece prezintă următoarele dezavantaje:

- înceţoşarea imaginii ; - nu este uşor de adaptat la valorile ce ţin cont de poziţia pixelilor din imagine ; - necesită atât o mediere aritmetică a valorilor strălucirii pixelilor din vecinătate cât şi o

ordonare a acestora. Filtre adaptive Există şi alte combinaţii de operaţii mai complexe ce se folosesc pentru anumite tipuri

specifice de imagini. De exemplu în imaginile ce conţin zgomot pătat (“speckle noise”) ce variază într-un mod cunoscut odată cu strălucirea imaginii, pentru a elimina zgomotul strălucirea fiecărui pixel este comparată cu media aritmetică a valorilor din vecinătate. Dacă această valoare a strălucirii depăşeşte media vecinătăţii cu o valoare calculată din această medie şi o valoare standard atunci ea este înlocuită cu o valoare mai apropiată de cea medie.

Utilizând coeficienţi determinaţi experimental această metodă oferă o îmbunătăţire a raportului semnal/zgomot în comparaţie cu un filtru median simplu. Acesta este un exemplu al unei metode aleatoare bazată pe cunoaşterea caracteristicilor semnalului şi zgomotului pentru o situaţie particulară. În general, orice metodă de filtrare care alege dintre câţiva algoritmi sau care îşi modifică algoritmul în funcţie de conţinutul actual al imaginii sau vecinătăţii este denumită filtru adaptiv.

Filtrul “Top Hat / Rolling Ball” O altă metodă folosită pentru identificarea şi eliminarea zgomotului din imagini este tehnica

„Top Hat” sau „Rolling Ball”. Considerând valorile strălucirii pixelilor ca o ridicare a suprafeţei imaginii, atunci un filtru „Top Hat” este alcătuit dintr-un disc plat ce este aşezat pe această suprafaţă şi o coroană centrală de diametru mai mic.

Acest filtru este centrat pe fiecare pixel din imagine. Orice pixel care iese din coroană este

considerat zgomot şi este înlocuit. Valoarea cu care se face înlocuirea poate fi ori valoarea mediană ori valoarea medie a pixelilor acoperiţi de disc.

Dacă se inversează sensul valorilor strălucirii şi pixelii cei mai întunecaţi sunt ţinta filtrului atunci acesta este denumit filtru „Rollig Ball”. Acesta este simbolizat de o sferă ce se rostogoleşte pe suprafaţă şi care nu va putea atinge partea de jos a „gropilor” ce reprezintă pixelul întunecat de zgomot.

Filtrul de ordonare este aplicat de două ori asupra imaginii, folosind vecinătăţi diferite (corespunzător diametrului discului şi a coroanei ). Imaginile rezultate sunt extrase (scăzute), iar imaginea ce rămâne este prăguită ( “tresholded” ) pentru a selecta pixelii ce prezintă o diferenţă mai mare decât înălţimea coroanei. Acei pixeli care depăşesc această valoare pot fi înlocuiţi cu valoarea dorită. În afară de înlocuirea punctelor extreme considerate zgomote, această operaţie mai poate fi folosită pentru a găsi acele puncte care sunt mai mici decât coroana pălăriei şi mai strălucitoare, sau mai întunecate, decât restul vecinătăţii. În acest caz, punctele care nu pătrund în coroană sunt suprimate şi celelalte păstrate.

Fig. 4.7. Vedere tridimensională a filtrului “Top-Hat”

Page 31: Popa - Prelucrarea numerica a imaginilor (2006).pdf

31

4.5.3 Concluzii privind utilizarea diferitelor tipuri de filtre

Alegerea diferitelor tipuri de filtre utilizate în eliminarea (rejecţia) zgomotului prezent în imagini se face ţinând seama de caracteristicile imaginii şi de modelul de zgomot prezent în aceasta. Fiecare filtru prezintă avantaje şi dezavantaje, elimină mai bine sau mai puţin bine diferite tipuri de zgomote.

Medierea aritmetică poate reduce zgomotul vizibil din imagine dar, de asemenea, duce la înceţoşarea marginilor, neclaritatea contururilor, deplasarea zonelor marginale ale detaliilor şi reducerea contrastului. Poate introduce, de asemenea, „pseudo-rezoluţia”, fenomen prin care între două structuri separate din imagine, fiind mediate împreună, se creează o legătură aparentă.

Prin aplicarea unui filtru de mediere aritmetică se obţine o îmbunătăţire a calităţii imaginii şi a raportului semnal/zgomot în cazul zgomotului aleatoriu. Reducerea zgomotului este mai mare atunci când se foloseşte o vecinătate mai largă dar aceasta este însoţită de o înceţoşare semnificativă a marginilor trăsăturilor (detaliilor) prezente în imagine (acest efect secundar se reduce folosind coeficienţi care să mărească însemnătatea pixelului central). În fiecare caz este necesar să se găsească dimensiunea optimă a ferestrei care să elimine zgomotul fără a pierde detalii importante sau contururi. De regulă dimensiunea ferestrei este 3x3.

Prin aplicarea unui filtru median se elimină foarte bine tipurile de zgomote sigure, cunoscute (de exemplu zgomotul “împuşcat” în care unii pixeli sunt afectaţi sau lipsesc din imagine) creând o distorsiune şi o degradare minimă a imaginii.

Filtrul median prezintă două avantaje semnificative faţă de medierea aritmetică: - nu introduce valori noi de strălucire deoarece valorile avute la dispoziţie sunt doar acele

valori prezente în imagine şi nu o medie a lor; - nu schimbă poziţia zonelor din imagine. Filtrul median este preferat atât pentru măsurători cât şi pentru examinarea vizuală a imaginii.

Efortul calculatorului (timpul necesar efectuării calculelor) creşte rapid odată cu creşterea numărului de valori ce trebuie sortate.

Acest tip de filtru are tendinţa de a şterge liniile ce sunt mai înguste decât jumătate din lăţimea vecinătăţii şi de a rotunji colţurile. Din acest motiv a apărut o îmbunătăţire a acestui filtru median numit filtru median hibrid. Filtrul median hibrid conservă liniile şi colţurile care sunt şterse şi rotunjite de filtrul median convenţional însă acesta nu netezeşte la fel de mult zonele din imagine. Mărirea contrastului şi reducerea numărului nivelelor de gri, astfel încât imaginea să devină uniformă şi marginile mai evidente, sunt efecte colaterale ale filtrării mediene.

5. Operaţii de îmbunătăţire a imaginilor în domeniul spaţial Prin prelucrarea imaginii se urmăreşte transformarea ei într-o altă imagine îmbunătăţită sau

extragerea unor informaţii referitoare la colţuri, contururi, compoziţie, care să conducă utilizatorul la o interpretare potrivit scopului propus. Metodele de îmbunătăţire nu măresc conţinutul de informaţie, dar măresc gama dinamică a caracteristicilor alese pentru a putea fi mai uşor analizate de om sau maşină.

Pentru simplificarea calculelor se porneşte de la ipoteza că pe durata prelucrării imaginea este staţionară. Datorită reprezentării bidimensionale prelucrarea imaginii se face prin metode specifice, în domeniu spaţial sau în domeniul frecvenţă. Lucrul în domeniul spaţial presupune efectuarea de calcule direct asupra valorii pixelilor, iar în domeniul frecvenţă se apelează în special la transformata Fourier.

Din punct de vedere al efortului de calcul care trebuie depus, în prelucrarea imaginilor este nevoie de calculatoare performante, deoarece volumul de date este foarte mare, iar durata de

Page 32: Popa - Prelucrarea numerica a imaginilor (2006).pdf

32

prelucrare este limitată de cerinţele aplicaţiilor. Corespunzător complexităţii, succesiunii şi scopului propus prelucrarea imaginii poate avea trei etape:

• prelucrarea de nivel scăzut (sau prelucrarea primară); • prelucrarea de nivel mediu; • prelucrarea de nivel înalt.

Prelucrarea primară are drept scop prelucrarea imaginii într-o altă imagine, îmbunătăţită, prin reducerea zgomotului, întărirea contrastului sau evidenţierea contururilor obiectelor.

Prelucrarea de nivel mediu are drept scop condensarea informaţiei conţinute în imagine prin codificare sau prin selectarea unor informaţii de interes(extragerea trăsăturilor).

Prelucrarea de nivel înalt se referă la interpretarea informaţiei din imagine, în special prin recunoaşterea unor obiecte din scena analizată.

Prelucrarea primară se realizează prin operaţii efectuate asupra unei imagini sau mai multor imagini, iar rezultatul operaţiei este tot o imagine de aceiaşi dimensiune ca prima. Dificultatea constă în cuantificarea criteriilor de îmbunătăţire şi în alegerea acestora, iar datorită acestui lucru există o mulţime de tehnici empirice, majoritatea interactive, pe baza cărora se determină modalitatea de îmbunătăţire a imaginii. Se poate realiza o clasificare a acestor operaţii în funcţie de mai multe criterii, astfel:

* După numărul de operanzi implicaţi, operaţiile pot fi cu un operand (translaţia imaginii, modificarea contrastului) sau cu mai mulţi operanzi (adunarea/scăderea a două imagini).

* După zona de operare, operaţiile pot fi:

a) operaţii punctuale, pentru care valoarea funcţiei nivel de gri obţinută ca rezultat, într-un punct (i,j) depinde de valoarea funcţiei nivel de gri corespunzătoare operandului în acelaşi punct (fig. 5.1). Principalele tipuri de operaţii punctuale sunt legate de transformări de intensitate: accentuarea de contrast, limitarea şi binarizarea, inversarea, etc.

Fig. 5.1 Operaţii punctuale

b) operaţii de tip fereastră, pentru care valoarea funcţiei nivel de gri obţinută ca rezultat într-un punct (i,j), depinde de valorile funcţiilor nivel de gri corespunzătoare operandului dintr-o vecinătate Vij a punctului considerat (fig. 5.2). Principalele tipuri de operaţii de tip fereastră sunt: compresia de imagini, adunarea/scăderea imaginilor, modelarea prin histograme, etc.

Fig. 5.2 Operaţii de tip fereastră

c) operaţii spaţiale pentru care valoarea funcţiei nivel de gri obţinută ca rezultat, într-un punct (i,j), depinde de toate valorile funcţiei nivel de gri corespunzătoare operandului (fig. 5.3).

Page 33: Popa - Prelucrarea numerica a imaginilor (2006).pdf

33

Principalele tipuri de operaţii spaţiale: filtrare spaţială, inversare de contrast, mărirea şi interpolarea imaginilor, etc.

Fig. 3.3 Operaţii spaţiale

d) operaţii geometrice, pentru care valoarea funcţiei nivel de gri obţinută ca rezultat într-un punct (m,n), depinde de valoarea funcţiei nivel de gri corespunzătoare operandului în alt punct, (i,j) (fig.5.4).

Fig. 5.4 Operaţii geometrice

e) pseudocolorarea şi colorarea falsă, sunt operaţii care se referă la imagini color. Ele sunt tehnici de îmbunătăţire a vizibilităţii anumitor componente ale imaginii sau a imaginii în ansamblul ei, prin modificarea paletei de culoare cu care este afişată imaginea. Punctul de plecare în aceste analize îl constituie faptul că ochiul uman poate distinge cu uşurinţă câteva mii de culori, dar numai câteva zeci de nuanţe de gri (de aceea numărul maxim de nuanţe de gri este 256).

În cazul dispozitivelor de prelucrare primară a imaginilor atât mărimea de intrare cât şi mărimea de ieşire reprezintă imagini. Calitatea prelucrării imaginii este apreciată prin intermediul a două caracteristici importante: fidelitatea şi inteligibilitatea.

Fidelitatea imaginii prelucrate caracterizează cât de mult o imagine prelucrată coincide cu o anumită imagine standard dată, în timp ce inteligibilitatea imaginii prelucrate denotă ce informaţie utilă poate fi extrasă din acea imagine.

Deoarece în aprecierea inteligibilităţii imaginii sunt implicaţi mulţi factori subiectivi, aceasta este foarte greu de formalizat. În schimb, fidelitatea poate fi caracterizată prin mai multe moduri: abaterea maximă absolută, suma erorilor absolute, eroarea medie pătratică de pixel şi eroarea pătratică medie de nivel.

5.1.Operaţii punctuale Operaţiile punctuale sunt aşa numitele operaţii cu „memorie zero” la care un anumit nivel de

gri ],[ Lou∈ trece în alt nivel de gri ],[ Lov∈ , în conformitate cu o funcţie v=f(n). Acestea reprezintă cele mai simple metode de îmbunătăţire a imaginii deoarece se operează asupra intensităţii unui singur punct.

5.1.1. Modificarea de contrast

Page 34: Popa - Prelucrarea numerica a imaginilor (2006).pdf

34

Modificarea de contrast este necesară mai ales în cazul imaginilor cu contrast mic, un efect destul de des întâlnit în imaginile fotografice sau electronice. Contrastul imaginii poate fi mărit prin rescalarea amplitudinii fiecărui pixel. Funcţia matematică utilizată este:

=≤≤+−=≤≤+−

=≤≤=

γβ

α

tgpLubvbuptgnbuavbun

tgmaumuv

b

a

,,)(,,)(

,0, (5.1)

Parametrii a şi b se obţin în urma examinării histogramei, iar m, n şi p determină gradul de accentuare a contrastului, după cum se vede în figura 5.5:

Fig.5.5 Accentuarea de contrast

• m<1, pentru regiuni întunecate şi a=L/3; • n>1 pentru regiunea medie de gri şi b=2L/3; • p<1, pentru regiunile luminoase.

Fig. 5.6 Exemplu de accentuare de contrast

În figura 5.6 se poate vedea rezultatul accentuării de contrast. În stânga este imaginea

originală, iar în dreapta imaginea îmbunătaţită prin accentuarea contrastului.

5.1.2. Limitarea şi binarizarea imaginilor Limitarea este un caz particular de accentuare în care m=p=0 şi datorită acestui lucru ecuaţia

5.1 devine :

≤≤≤≤

≤≤=

LubLbuanu

aunf

,,

0,0)( . (5.2)

Page 35: Popa - Prelucrarea numerica a imaginilor (2006).pdf

35

Fig. 5.7 Limitarea imaginilor

Metoda se foloseşte mai ales la atenuarea zgomotului, când se ştie că acesta se găseşte în

intervalul [a,b].(fig. 5.7). Binarizarea reprezintă un caz particular al limitării, atunci când a=b=t, rezultând o imagine

de ieşire binară. De exemplu, o pagină tipărită nu dă prin scanare o imagine binară, (datorită zgomotului senzorului şi variaţiilor de iluminare) dar prin aplicarea acestei metode se realizează binarizarea ei.

Fig. 5.8 Efectul binarizării imaginilor

5.1.3. Inversarea (negativarea ) imaginilor Operaţia de inversare sau negativare a imaginilor este folosită în redarea imaginilor medicale,

sau la realizarea de imagini negative digitale. Tansformarea se face conform relaţiei: v=L-u (5.3) Relaţia dintre cele două imagini este prezentată în figura 3.9

Fig.5.9 Negativare de imagini

5.2. Operaţii de tip fereastră

Page 36: Popa - Prelucrarea numerica a imaginilor (2006).pdf

36

Dacă se foloseşte una din relaţiile ≤≤

=restin 0,

bua L,v sau

≤≤

=restin u,

bua L,v (5.4)

se obţin reprezentări de tip fereastră. Acestea sunt utile atunci când diferite caracteristici ale imaginii sunt conţinute în regiuni cu niveluri de gri diferite.

5.2.1. Extragerea unui bit Presupunem că fiecare pixel din imagine este cuantizat cu B biţi. Se doreşte extragerea bitului

de rang n. Funcţia corespunzătoare imaginii digitale se poate scrie sub forma: BB

BB kkkku ++++= −−− 2...22 1

22

11 (5.5)

Iar imaginea de ieşire va fi:

=

=restin 0,

1k daca L,v n (5.6)

Prelucrarea este folositoare pentru determinarea biţilor nesemnificativi din punct de vedere vizual dintr-o imagine. În general, se poate spune că doar primii 6 biţi au semnificaţie din punct de vedere vizual, contribuţia celorlalţi fiind legată mai mult de redarea detaliilor fine din imagine, fără să ofere informaţii asupra structurii acesteia.

5.2.2. Compresia de contrast Compresia de contrast este utilizată în cazul în care dinamica datelor din imagine este foarte

largă, ceea ce face ca anumite părţi din imagine să fie mai puţin vizibile pe ecran (de exemplu, afişarea spectrului la o transformată Fourier). Un mod efectiv de a realiza compresia, este să se utilizeze o caracteristică logaritmică pentru variaţia intensităţii:

)1log( uv += , (5.7) unde c este o constantă.

Această transformare accentuează mai puternic componentele cu valori mai mici şi compresează componentele cu valori mai mari. În alte cazuri poate fi necesar să se accentueze componentele cu amplitudini mai mari, folosindu-se atunci expresia:

11

−−

= c

n

eecv .

(5.8)

5.2.3. Scăderea imaginilor Scăderea imaginilor este cu precădere utilizată pentru a compara cu uşurinţă două imagini

complicate, cu multe elemente dar existând diferenţe relativ mici între ele. Imaginea diferenţă poate fi supusă apoi procesului de imbunătăţire.

Scăderea imaginilor este o operaţiune care are numeroase utilizări în practică. Este folosită în medicină, la analiza stării venelor şi arterelor (se injectează în sânge o substanţă mai puţin transparentă la radiaţii şi se fac investigaţii cu raze x înainte şi după injectare), dar şi în sistemele de monitorizare şi supraveghere a unor incinte.

5.2.4 Modelarea imaginilor prin histograme Prelucrarea histogramei reprezintă o altă tehnică puternică de îmbunătăţire a imaginii.

Histograma unei imagini digitale cu L niveluri de gri, arată frecvenţa de apariţie a acestor niveluri şi

Page 37: Popa - Prelucrarea numerica a imaginilor (2006).pdf

37

este redată de o funcţie discretă pk=nk/n, unde nk este numărul de pixeli care au nivelul de gri k, din numărul total de pixeli n.

Fig. 5.10 Histograme corespunzătoare diferitelor tipuri de imagini

O imagine poate avea patru tipuri specifice de variaţie a histogramei, după cum este ilustrat în

figura 5.10. În figura 5.10 a) toate componentele histogramei sunt concentrate spre zona întunecată, ceea ce corespunde unei imagini întunecate, în timp ce histograma din figura 5.10 b), arată situaţia opusă, o imagine prea luminoasă. Dacă gama dinamică a senzorului este mică, atunci se obţine o histogramă îngustă, cu un contrast slab, ca în figura 5.10 c), iar opusul ei apare în următoarea figură.

Tehnica de îmbunătăţire a imaginii prin modelarea acesteia constă în modificarea formei acesteia. Cel mai adesea se asigură o variaţie uniformă (egalizarea histogramei), dar în unele aplicaţii curba respectivă poate avea şi altă lege de variaţie.

Egalizarea histogramei. La analiza egalizării histogramei, în prima etapă se presupune că variabila r, care reprezintă nivelul de gri din imagine, variază continuu în intervalul [0,1]. Deci trebuie găsită o funcţie (transformare) s care să realizeze transformarea valorii r a fiecărui pixel într-un nivel dorit: s=T(r),unde transformarea trebuie să îndeplinească următoarele condiţii:

- să crească monoton şi să fie biunivocă în intervalul [0,1]; - 0≤T(r)≤1, pentru 0≤r≤1. De asemenea, şi transformata inversă r=T-1(s), s∈[0,1], trebuie să satisfacă aceleaşi restricţii. Nivelurile de gri pot fi privite ca realizări ale unei variabile aleatoare continue, ele putând fi

caracterizate de o funcţie a densităţii de probabilitate p1(r) şi p2(s). Din teoria probabilităţiilor rezultă că dacă p1(s) şi T(r) sunt cunoscute, iar T-1(s) satisface prima condiţie, atunci funcţia densităţii de probabilitate p2(s) este dată de expresia:

=

dsdrrpsp )()( 12 , (5.9)

unde r=T-1(s). În particular, fie: ∫==r

dprTs0

1 )()( θθ , (5.10)

astfel încât: )(1 rpdrds

= , rezultăi: ]1,0[,1)(

1)()(1

12 ∈== rrp

rpsp .

(5.11) Aceasta este o distribuţie uniformă în intervalul de definiţie a variabilei transformate s. Acest

rezultat este indiferent de funcţia de transformare inversă, care este importantă deoarece obţinerea

Page 38: Popa - Prelucrarea numerica a imaginilor (2006).pdf

38

analitică a lui T-1(s) nu este totdeauna o metodă uşoară. Aducerea la o variaţie uniformă implică pentru imagine o creştere a gamei dinamice a valorii pixelilor cu efecte importante în claritatea imaginii.

Fig. 5.11. Îmbunătăţirea imaginii prin egalizarea histogramei

În cadrul aplicaţiilor pentru imagini digitale trebuie realizată trecerea la forma discretă:

1,-L0,1,...,k ],1,0[r ,)( k =∈=nn

rp kk (5.12)

unde k reprezintă numărul nivelurilor de gri, p(rk) este probabilitatea nivelului de gri k, nk arată de câte ori apare acest nivel de gri în numărul total n al pixelilor din imagine.

Tot sub formă discretă se poate scrie transformarea directă:

∑∑==

=∈===k

ii

k

j

jkk rp

nn

rTs0

k0

1,-L0,1,...,k ],1,0[r ),()( (5.13)

iar transformarea inversă este: rk=T-1(sk), sk∈[0,1].

Modificarea histogramei. Aceasta reprezintă o generalizare a procedurii anterioare. Nivelul de gri de la intrare u este transformat, la început neliniar de f(n), iar ieşirea este cuantizată uniform. La egalizarea histogramei, funcţia:

∑=

=u

xi

i

xpuf0

)()(

(5.14) conduce la o compresie a variabilei de intrare. Există şi alte reprezentări ale funcţiei f(n) care au comportări similare:

,)(

)()(

1

0

/1

0

∑−

=

==L

i

i

x

xi

n

u

xi

xp

xpuf sau 2,3n 0,u )( /1 =≥= nuuf sau 0.u ),1log()( ≥+= uuf (5.15)

Aceste funcţii sunt similare cu funcţiile de comprimare utilizate la comprimarea informaţiilor. Cu toate că metoda prelucrării histogramei este destul de des folosită, ea nu conduce la

aplicaţii interactive de îmbunătăţire a imaginilor. Uneori este de dorit să se realizeze o formă specială a histogramei. Presupunând p1(r) şi p3(z) ca fiind funcţiile densităţii de probabilitate originală şi dorită, se foloseşte transformarea:

Page 39: Popa - Prelucrarea numerica a imaginilor (2006).pdf

39

∫==r

dprTs0

1 )()( θθ (5.16)

Dacă imaginea dorită a fost disponibilă, nivelurile ei de gri trebuie egalizate prin transformarea:

∫==z

dpzGV0

3 )()( θθ (5.17)

Procesul invers z=G-1(v) ar putea reda nivelurile z ale imaginii dorite. Formularea este ipotetică pentru că nivelurile lui z erau deja alese. Cu toate acestea, p(s) şi p(v) ar putea fi densităţi uniforme, pentru că rezultatul final este independent de densitatea din interiorul integralei. Astfel, dacă în loc de a folosi v în procedura inversă se folosesc nivelurile uniforme s obţinute din imaginea originală, nivelurile care rezultă z=G-1(s) ar putea avea funcţia densitate de probabilitate dorită.

În acest caz principalele etape de lucru vor fi: 1.egalizarea nivelelor din imaginiea originală; 2.specificarea funcţiei densitate de probabilitate şi obţinerea funcţiei de transformare G(z); 3.aplicarea transformatei inverse z=G(v) la nivelele de la etapa 1.

Această prelucrare conduce la o versiune de prelucrare a imaginii originale cu noi nivele de gri, caracterizate prin uncţia de densitate specificată p3(y).

5.3. Operaţii spaţiale Spre deosebire de operaţiile punctuale, cele spaţiale se realizează asupra pixelilor din

imaginea iniţială, dar şi asupra pixelilor din imediata lor vecinătate. Aceste operaţii sunt cele mai utilizate în prelucrarea primară a imaginilor numerice, în special pentru reducerea zgomotului şi pentru extragerea liniilor de contur.

În unele aplicaţii ale vederii artificiale, cum ar fi interpretarea imaginilor luate din satelit, problema reducerii zgomotului este destul de dificilă, iar în alte aplicaţii, cum sunt cele industriale sau de laborator, această problemă nu pare prea acută. Totuşi, şi în această situaţie, imaginea poate fi perturbată uneori de zgomotul provenit de la senzorii vizuali sau de la unele impurităţi depuse pe obiectele de lucru. Frecvent acest zgomot este de tip “sare şi piper” dând schimbări de tip impuls în nivelul de gri.

Una din metodele principale de procesare se bazează pe filtre (măşti sau şabloane). De cele mai multe ori masca este o reţea bidimensională n×n, în care influenţa fiecărui pixel este ponderată după anumite reguli. Tehnica bazată pe această metodă se numeşte filtrare. Nivelul de gri al pixelului central este evaluat prin însumarea ponderată a nivelului fiecărui pixel din matrice. Aceasta poate avea diferite dimensiuni, iar pentru cazul în care n este egal cu 3 calculul se realizează conform relaţiei :

∑=

=9

1iii ywr (5.18)

În continuare, masca este mutată la pixelul vecin şi procedura se repetă până ce sunt acoperiţi toţi pixelii din imagine.

5.3.1. Filtrarea spaţială Îmbunătăţirea calităţii imaginii cere, în principal, îndeplinirea următoarelor condiţii:

• eliminarea zgomotului prin netezirea tranziţiilor de tip impuls în nivelul de gri; • păstrarea contururilor, care apar ca tranziţii de tip treaptă în nivelul de gri; • rapiditate în efectuarea operaţiunilor.

Page 40: Popa - Prelucrarea numerica a imaginilor (2006).pdf

40

Deoarece filtrarea numerică globală nu îndeplineşte cerinţa a doua, se adoptă metode numerice locale de reducere a zgomotului. Aceste metode sunt şi mai uşor de implementat hardware (echipamente specializate funcţionând în timp real) sau software.

Una dintre primele operaţii care trebuie efectuate asupra unei imagini achiziţionate este netezirea.Obiectivul acesteia îl reprezintă eliminarea zgomotului sau a fluctuaţiilor minore ale intensităţii în imagine. Uneori, netezirea urmăreşte şi eliminarea unor structuri reale de dimensiuni mai mici decât o limită specificată, în scopul analizei sau compresiei de imagine. O problemă comună tuturor operatorilor de netezire este efectul lor de estompare a contururilor şi eliminarea unor detalii ce pot conţine detalii utile. În general, proiectarea operatorilor de netezire urmăreşte obţinerea unui compromis cât mai bun între gradul de suprimare al zgomotului şi păstrarea contururilor şi a detaliilor fine.

5.3.1.1. Filtre de netezire Filtrele de netezire se utilizează pentru estomparea şi reducerea zgomotului. Estomparea se

foloseşte în etapa de preprocesare pentru a şterge mici detalii dintr-o imagine, în special din obiectele mari, şi de a face mici conexiuni peste goluri, în linii drepte sau curbe. Pentru netezire se pot folosi filtre liniare de tip trece jos sau neliniare de tip median.

1. Filtre spaţiale de tip trece jos Forma răspunsului în impuls (în domeniul frecvenţă) necesar pentru a implementa un filtru

spaţial de tip trece jos este ilustrată în figura 5.12 şi se observă că toţi coeficienţii trebuie să fie pozitivi. Cel mai simplu aranjament pentru coeficienţii măştii ar fi ca valorile coeficienţilor să fie egale cu unitatea. Se introduce şi un coeficient de pondere egal cu numărul de coeficienţi (1/9 în canalul măştii 3x3). Nucleul de filtrare liniară de netezire trebuie să satisfacă relaţia de normare:

∑∈

=Vlk

lkh),(

1),(

(5.19)

Fig.5.12 Răspunsul în domeniul frecvenţă al FTJ

Filtrul trece jos este un filtru bazat pe valoarea medie, deoarece el înlocuieşte valoarea

nivelului de gri în punctul (i, j) – f(i, j), cu valoarea medie a sa pe vecinătatea [(2h + 1) (2h + 1)] a lui (i, j) – g(i, j):

∑ ∑−= −=

+++

=h

hm

h

hnnjmif

hjig ),(

)12(1),( 2 (5.19)

i = h, h + 1, …, n1 – 1 – h ; j = h, h + 1, …, n2 – 1 – h. Relaţia de mai sus se poate scrie ca produs de convoluţie a două matrice, [Fij] şi [H]:

G(i, j) = [Fij]*[H], (5.20) Unde

[ ])12()12(

),()...,(..........................................

),()...,(

=+

++−=

+−−−=

hxh

ij

hjhiFhjhiF

hjhiFhjhiFF

Page 41: Popa - Prelucrarea numerica a imaginilor (2006).pdf

41

[ ]

)12()12(

2

1...11............1...111...11

)12(1

++

+=

hxh

hH

Fig. 5.13 Filtrare de tip trece jos

Deoarece o creştere a ferestrei de mediere conduce la apariţia neclarităţilor, de cele mai multe

ori se preferă dimensiunea ferestrei 3x3, adică h=1. În acest caz, [H] devine:

[ ]

=

111111111

91

1H .În mod asemănător pot fi considerate medieri ponderate, luând de

exemplu: [ ] [ ]

=

=

121242121

161 ,

111121111

101

32 HH

Creşterea dimensiunii ferestrei are un dublu efect: reduce zgomotul şi face contururile mai slabe, neclare, deci scade informaţia conţinută în imagine (produce o defocalizare). Aceasta conduce la necesitatea determinării unei ferestre corespunzătoare pentru fiecare aplicaţie.

2. Filtrul median Una din principalele dificultăţi la metoda netezirii o constituie faptul că muchiile şi zonele

bine conturate devin mai estompate, mai neclare (similar unei defocalizări). Dacă obiectivul îmbunătăţirii imaginii este în principal reducerea zgomotului şi mai puţin estomparea detaliilor, se poate folosi filtrul median. La acesta nivelul de gri se înlocuieşte cu mediana nivelurilor de gri a pixelilor vecini şi nu se determină valoarea medie ca în cazul precedent. Acest tip de filtru este neliniar şi se recomandă pentru conservarea detaliilor fine în cazul imaginilor cu zgomot puternic, cu componente cu bandă largă de frecvenţă.

Referitor la filtrul median monodimensional se cunosc următoarele proprietăţi: - secvenţa de date monotonă este invariantă la trecerea printr-un filtru median; astfel spus, dacă

x(n) este o secvenţă monotonă şi nc este centrul filtrului median de dimensiune 2h+1, rezultă că ieşirea filtrului este egală cu x(nc);

- deoarece o secvenţă de date de tip treaptă constituie o secvenţă monotonă, rezultă că este invariantă la trecerea prin filtrul median.

O secvenţă x(n) se numeşte m-local monotonă dacă secvenţa x(n), x(n+1), …, x(n + m – n) este monotonă pentru fiecare n. Secvenţa m-local monotonă, care nu e monotonă pe tot domeniul, trebuie să rămână constantă pe cel puţin (m – 1) termeni consecutivi. O secvenţă m-local monotonă x(n) este invariantă la trecerea prin filtrul median de fereastră 2h+1, oricare ar fi m>2h+1. Ca o consecinţă a celor de mai sus rezultă că filtrul median elimină impulsurile (zgomot) şi conservă zonele monotone sau constante mai mari decât fereastra.

Observaţiile făcute pentru cazul filtrului median monodimensional rămân valabile şi în cazul bidimensional, cu specificarea că monotonicitatea se consideră în vecinătăţi simetrice. Se obţin

Page 42: Popa - Prelucrarea numerica a imaginilor (2006).pdf

42

rezultate asemănătoare, şi anume: filtrul median bidimensional păstrează liniile de contur şi zonele constante mai mari decât fereastra şi elimină zgomotele de tip impuls.

Uneori, pentru simplificare, se poate face o filtrare pseudomediană. De exemplu, pentru o fereastră de filtrare 3x3, centrată în (i, j), se consideră mediana pe fiecare linie:

h1(i, j) = MeF(i – 1, j – 1), F(i – 1, j), F(i – 1, j + 1) h2(i, j) = MeF(i, j – 1), F(i, j), F(i, j + 1) h3(i, j) = MeF(i + 1, j – 1), F(i + 1, j), F(i + 1, j + 1) iar apoi se înlocuieşte F(i, j) cu: G(i, j) = Meh1(i, j), h2(i, j), h3(i, j). (5.21) Mediana m a unui set de valori este numărul pentru care jumătate din valori sunt mai mici

decât m, iar celelalte sunt mai mari. Pentru a efectua o filtrare mediană, se sortează valorile pixelilor vecini, se determină mediana şi cu ea se înlocuieşte valoarea pixelului central. Pentru o fereastră 3x3, mediana este a cincia valoare în ordine crescătoare, în cazul 5x5, aceasta este a 13-a, ş.a.m.d. În general, numărul de vecini pe o linie, n, se alege impar. Dacă n este par, atunci valoarea medianei se alege prin medierea aritmetică a celor două valori centrale.

Filtrul median are următoarele proprietăţi: - este neliniar pentru două secvenţe x(m) şi y(m): median(x(m)+y(m)) ≠ median(x(m)) +

median(y(m)); - se foloseşte pentru ştergerea liniilor sau pixelilor izolaţi (în general pentru zgomot de tip „sare

şi piper”), conservând rezoluţia spaţială; în figura 5.14 sunt prezentate comparativ imaginile: original, cu zgomot, filtrată cu filtru trece jos şi filtrată cu filtru median;

-performanţele sunt slabe dacă numărul pixelilor de zgomot din fereastră este mai mare decât jumătate din numărul de pixeli ai ferestrei;

- pentru n impar, sunt necesare 30(n2 – 1)/8 comparaţii, de exemplu pentru n=3 (masca 3x3) numărul de comparaţii de efectuat pentru evaluarea unui pixel din imagine este 30, pentru n=5 rezultă 90 de comparaţii;

- dacă după o rulare se constată că filtrarea este insuficientă atunci se poate filtra încă o dată sau de mai multe ori, fără a afecta în rău conţinutul imaginii; dacă se utilizează acelaşi procedeu şi la filtrarea trece jos, atunci imaginea devine mai estompată.

Fig. 5.14-a) imagine original, b)imagine cu zgomot „sare şi piper”, c)imagine filtrată cu filtru trece jos, d)imagine filtrată cu filtru median

În figura 5.14 s-a reprezentat efectul filtrării cu filtrul median comparativ cu cel trece jos descris în capitolul anterior. Se constată o comportare foarte bună la zgomotul de tip „sare şi piper”.

a)

d) c)

b)

Page 43: Popa - Prelucrarea numerica a imaginilor (2006).pdf

43

3. Filtrul binar

Un alt tip de filtru care se poate folosi în prelucrarea imaginilor binarizate este filtrul binar. Acesta a fost caracterizat pe larg în capitolu anterior.

5.3.1.2. Filtre de accentuare Principalul obiectiv al filtrelor de accentuare este de a scoate mai bine în evidenţă detaliile

fine ale imaginii sau de a accentua detalii care au fost estompate sau de a micşora o serie de erori care au apărut ca efect al metodei de achiziţie a datelor. Principalele aplicaţii ale metodei sunt întâlnite în editare (tipărire electronică), imagerie medicală, control industrial, precum şi în domeniul militar, în detecţia ţintelor de pe câmpul de luptă.

1. Filtru spaţial trece sus de bază Forma necesară răspunsului de impuls pentru a implementa o caracteristică de tip trece sus

(accentuare) arată că filtrul trebuie să aibă coeficienţi pozitivi în apropierea zonei centrale şi negativi spre margini. O implementare a acestui tip de filtru se poate face cu ajutorul măştii 3x3 de mai jos:

m=[-1 -1 -1;-1 1 -1; -1 -1 -1] (5.22) Când această mască se suprapune peste o suprafaţă constantă sau uşor variabilă, ieşirea este 0 sau variază foarte puţin. Acest filtru elimină componenta cu frecvenţă 0, ceea ce conduce la scăderea pronunţată a contrastului. Detaliile fine ale imaginii vor fi bine puse în evidenţă, dar contrastul general va scădea foarte mult.

Reducerea valorii medii a unei imagini la zero va face unele nivele de gri ale imaginii să fie negative. Deoarece sunt procesate numai valorile pozitive, rezultă că filtrarea trece sus presupune o scalare şi/sau o limitare astfel ca nivelurile de gri să cuprindă gama [0, L – 1]. Procesând în valoare absolută datele, pentru a fi pozitive, valorile negative mari vor apărea strălucitoare pe imagine.

Deoarece o imagine filtrată cu FTS se poate calcula prin diferenţa dintre imaginea original şi imaginea filtrată cu FTJ, rezultă că:

FTS = Original – FTJ (5.23)

Fig.5.17 Filtrare de tip trece sus

O accentuare controlată a detaliilor se poate face dacă imaginea originală este ponderată cu o

valoare A (supraunitară), ceea ce conduce la o restaurare spaţială a componentelor de joasă frecvenţă:

FTS = (A)Original – FTJ = (A – 1)Original + FTS (5.24) În final, imaginea obţinută seamănă mai mult cu cea originală şi detaliile sunt mai bine

conturate. Valoarea de pondere a pixelului central va fi w=9A–1. Avantajul utilizării filtrării de accentuare este net mai bun decât filtrarea trece sus. Cu cât A creşte, cu atât fondul imaginii se luminează mai mult. Dezavantajul acestei metode este că accentuează şi zgomotul.

Page 44: Popa - Prelucrarea numerica a imaginilor (2006).pdf

44

2. Filtre derivative Medierea valorii pixelilor conduce la apariţia petelor pe imagine (estompare sau defocalizare).

Medierea fiind analoagă cu integrarea, diferenţierea se poate considera a avea ca efect accentuarea detaliilor fine.

Cea mai utilizată metodă pentru diferenţierea imaginii este gradientul. Gradientul pentru o funcţie scalară f(x, y) are expresia:

T

yf

xff

=∆

δδ

δδ , (5.25)

Amplitudinea acestui vector stă la baza metodelor pentru diferenţierea imaginilor:

.22

+

=∆

yf

xff

δδ

δδ

(5.26) În cazul imaginilor numerice s-au propus diverşi algoritmi care aproximează gradientul

într-un punct utilizând măşti de diverse dimensiuni.

De exemplu, dacă: [ ]

=

dcba

H este o matrice de dimensiune 2 şi Gij este o fereastră 2x2:

[ ]

+++

+=

)1,1(),1()1,(),(

jiGjiGjiGjiG

G ij se notează convoluţia lor prin:

[Gij]*[H] = aG(i, j) + b G(i, j+1) + c G(i+1, j) + d G(i+1, j+1) (5.27) În mod analog, se defineşte convoluţia a două matrici de dimensiune 3x3. Cu toate acestea

estimarea gradientului în punctul (i, j) se poate face utilizând relaţia: grad G(i, j) = ([G(i, j)*[H1])u1 + ([G(i, j)*[H2])u2, (5.28)

unde u1 şi u2 sunt versorii pe cele două axe, orizontală şi, respectiv, verticală, iar H1 şi H2 sunt măştile ce caracterizează operatorul local pe direcţiile u1 şi u2.

Considerând direcţiile principale ale lui Freeman (fig. 5.18) se pot defini următorii operatori

cu răspuns direcţional:

[ ] , 111121111

1

−−−−

=O [ ] , 111121111

2

−−−−

=O … , [ ] . 111121

111

8

−−−−=O

direcţia 1 direcţia 2 direcţia 8 Formele “O1”, “O2”,…, “O8” sunt rotite fiecare cu π/4 în sens trigonometric faţă de

precedentul. Dacă: Ok*Gij = Ok(0, 0)G(i – 1, j – 1) + Ok(0, 1)G(i – 1, j) + Ok(0, 2)G(i – 1, j + 1) + + …+ Ok(2, 2) G(i + 1, j + 1) = max, (5.29) ( unde Ok(r,s) sunt elementele matricei Ok), atunci când se consideră că din punctul (i, j) pleacă un segment de dreaptă, aparţinând conturului şi normal la direcţia k.

Page 45: Popa - Prelucrarea numerica a imaginilor (2006).pdf

45

Fig. 5.18 Direcţiile principale în codificarea lui Freeman

Algoritmul de extragere a conturului cu ajutorul operatorilor Ok,k = 1, 2, …, 8 este urmă torul: - se baleiază succesiv liniile până când se întâlneşte un punct de centru (în care gradientul este

maxim); - în acest punct se aplică operatorii Ok= 1, 2, …, 8 şi se determină k0 pentru care Ok0 = max. Se

merge apoi spre normala direcţiei “k0” până la următorul punct al reţelei (considerat punct pe contur) şi se aplică aici operatorii Ok, găsindu-se următorul punct al conturului, etc.

Metoda prezintă avantajul codificării comode a conturului, prin şirul normalelor, dar este dezavantajoasă din punctul de vedere al efortului de calcul, deoarece în fiecare punct este necesară aplicarea celor 8 operatori.

5.3.2. Inversarea de contrast şi scalare statistică Ochiul detectează un obiect pe un fond uniform, în funcţie de mărimea sa şi de factorul de

contrast γ, definit ca :γ = σ/µ, (5.30)

unde σ este deviaţia standard a luminanţei obiectului faţă de fond, iar µ este luminanţa medie a obiectului.

Dacă se consideră un factor de contrast invers de forma:),(),(),(

nmnmnmv

σµ

= (5.31)

unde µ(m, n) reprezintă luminanţa medie locală, iar σ(m, n) este deviaţia standard locală a u(m ,n), măsurată pe o fereastră W, date de relaţiile:

[ ]2/1

),(

2

),(

),(),(1),(

),(1),(

−−−=

−−=

∑ ∑

∑ ∑

WlkW

WlkW

nmlnkmuN

nm

lnkmuN

nmv

µσ

(5.32)

Prin această transformare se scalează fiecare pixel în funcţie de deviaţia sa standard, rezultând o imagine având pixeli cu varianţă unitară, transformare care poartă numele de scalare statistică. Operaţia duce la rezultate spectaculoase în ceea ce priveşte punerea în evidenţă a unor detalii care nu apar în imaginea originală.

5.3.3. Mărimea şi interpolarea imaginilor (zooming)

Page 46: Popa - Prelucrarea numerica a imaginilor (2006).pdf

46

Dintre modalităţile de zooming, cele mai importante sunt dublarea imaginii şi interpolarea liniară. În cazul dublării imaginii, fiecare pixel de-a lungul unei linii şi fiecare linie este repetată. Acest lucru este echivalent cu întreţesarea unei imagini de dimensiuni MxN cu linii şi coloane de zerouri, pentru a obţine o matrice de dimensiuni 2Mx2N şi, apoi, convoluţia acesteia cu o matrice H

de forma:1111

=H

Rezultă o imagine: v(m,n)=u(k,l) unde k = int[m/2], l = int[n/2], m, n = 0, 1, 2, …

Fig. 5.19 Rezultatul dublării succesive a unei imagini

Interpolarea liniară este o multiplicare a imaginii la care pixelii care se intercalează sunt media aritmetică a pixelilor vecini din imaginea originală. De exemplu, pentru a mări de 2x2 ori o imagine, interpolarea liniară de-a lungul liniilor dă:

[ ] 1-Mm0 , 2

)1,(),()12,(

1-Nn0 , 1-Mm0 , ),()2,(

≤≤++

=+

≤≤≤≤=nmunmunmv

nmunmv

i

i (5.33)

Pe coloane, transformarea este în conformitate cu relaţiile următoare:

[ ]1-2Nn0 1,-Mm0 ,

2),1(),(

),12(

, ),(),2(

≤≤≤≤++

=+

=nmvnmv

nmv

nmvnmv

ii

i

(5.34)

Un rezultat similar se poate obţine prin convoluţia matricei 2Mx2N (obţinută prin întreţesarea imaginii MxN originale cu o matrice MxN de zerouri), cu matricea:

4/12/14/12/112/14/12/14/1

=H a cărei origine (m = 0, n = 0) este în centrul matricii.

Algoritmul folosit în acest caz este ilustrat în figura următoare:

25,05,015,15,0123

24325,3741

00005,0123

24325,3741

0000010300000701

1371 int

voloaneeInterpolar

randurierpolare

zerocueIntreteser

Fig. 5.20 Interpolarea de ordin superior este posibilă prin intercalarea fiecărei linii şi coloane cu p linii

şi p coloane de zerouri şi convoluţia de p ori cu matricea H.

5.4 Pseudocolorarea imaginilor

Page 47: Popa - Prelucrarea numerica a imaginilor (2006).pdf

47

O altă metodă de îmbunătăţire a percepţiei vizuale în condiţiile unor imagini cu contrast redus o constituie pseudocolorarea acestora. Deoarece ochiul uman distinge mult mai multe culori decât trepte de gri, este posibilă dinamica percepţiei vizuale prin codarea informaţiei în culori. În mod normal, ochiul este capabil să distingă ceva mai mult de 30 de nivele de gri, pe când în domeniul culorilor percepţia vizuală este mult mai mare, ochiul putând distinge un număr foarte mare de culori. Sunt justificate, deci, preocupările de îmbunătăţire a percepţiei vizuale prin transpunerea nivelelor de gri din imaginile alb-negru (monocrome) în spaţiul culorilor. Cele mai utilizate metode în acest sens sunt colorarea falsă şi pseudocolorarea.

Colorarea falsă reprezintă transformarea unei imagini color în alta, pentru a obţine un contrast mai mare de culoare.

Pseudocolorarea reprezintă transformarea unui set de imagini u(m,n), într-o imagine color. Transformarea se face în aşa fel, încât diferite caracteristici să se distingă prin culori diferite.

Fig. 5.21 Pseudocolorarea imaginilor monocrome

Figura 5.21 prezintă procedura generală utilizată pentru pseudocolorare. Imaginile iniţiale

sunt transformate în trei imagini diferite, care sunt apoi transformate în spaţiul culorilor primare R, G, B.

Dacă de exemplu, se dorşte pseudocolorareaa a unei imagini alb-negru, trebuie făcută o corespondenţă între gama dinamică de gri-uri şi spaţiul culorilor. O variantă este să se păstreze saturaţia culorilor constantă, să se transforme nuanţele de gri în strălucirea culorii, iar medile spaţiale locale ale nivelelor de gri, în fază a culorii.

Există şi alte metode de pseudocolorare cum ar fi alocarea pseoudoaleatoare de nivele de gri în coordonate R, G, B. De exemplu, imaginile monocrome primite din spaţiul cosmic, cum ar fi imaginea cometei Haley, pot fi pseudocolorate prin alocarea unor culori diferite diferitelor densităţi de pe suprafaţa acesteia. Pentru seturi conţinând un număr mai mare de imagini, setul de date se poate reduce la trei, prin diverse metode, după care urmează alocarea celor mai potrivite culori.

Indiferent de numărul culorilor din paletă folosite pentru pseudocolorare, cel mai important lucru îl constituie alegerea culorilor din paletă. Alegând o paletă necorespunzătoare, efectul obţinut poate fi contrar celui aşteptat. Culorile din paletă trebuie alese în aşa fel, încât tranziţia de la o culoare la alta să fie cât mai lină, fără salturi mari din punct de vedere al percepţiei vizuale. De asemenea, paleta de culori folosită trebuie să se asemene pe cât posibil cu scara de gri-uri, ţinând cont de modalitatea de percepţie vizuală ce se bazează decisiv pe experienţe anterioare (senzaţia pe care o dă ochiului imaginea pseudocolorată trebuie să fie asemănătoare cu cea dată de imaginea alb-negru).

Secvenţele de culori cele mai des folosite sunt: curcubeul (începând de la roşu închis, continuând cu portocaliu, galben, verde, cian, albastru şi violet, toate cu aceiaşi luminozitate), spirala (pornind de la violet închis, continuând cu roşu, simultan cu creşterea conţinutului de alb din culoare) sau variaţia de temperatură (roşu închis, portocaliu, galben, alb,alb-albastru).

coeficienţi coeficienţi Niv.

de gri

culoarea corespunzătoare R G B

Niv. de gri

culoarea corespunzătoare R G B

Extragere de

caracteristici

Transformare de coordonate

color

A-1S(AT)-1

u(m,n)

v3(m,n)

v1(m,n)

v2(m,n)

RG

B

C(m,n)

Page 48: Popa - Prelucrarea numerica a imaginilor (2006).pdf

48

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Negru Albastru închis Maro închis Roşu închis Roşu Maro închis

0 0 0 0 0 0 15 17 19 21 23 25 27 29 26 29 32 35 38 41 44 47 50 53 56 59 48 53 55 57 59 61

0 0 0 0 0 0 2 3 3 5 6 7 8 9 0 5 5 5 5 5 5 5 5 5 5 5 24 26 27 28 29 30

0 1 2 3 4 5 0 0 0 0 0 0 1 1 0 5 5 5 5 5 5 5 5 5 5 5 9 11 12 13 14 15

32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

Maro deschis Portocaliu închis Portocaliu Galben închis Galben deschis alb

63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 61 62 63

31 31 33 35 37 41 43 45 47 49 51 53 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 61 62 63

16 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 61 62 63

Fig.5.22

În figura 5.22 sunt prezentaţi coeficienţii RGB corespunzători nivelelor de gri de la 0 la 63, aceaştia pot reprezenta o paletă de culori ce poate fi folosită pentru realizarea pseudocolorării.

5.5 Îmbunătăţirea imaginilor color În analiza automată a imaginii, culoarea este un descriptor foarte puternic care simplifică

identificarea obiectelor şi extragerea lor din scenă. De aceea îmbunătăţirea imaginilor color prezintă o importanţă destul de mare în sistemele de prelucrare de imagini.

La lumina colorată se folosesc trei parametrii pentru caracterizare: radianţa, luminanţa şi strălucirea.

Radianţa este cantitatea totală de energie care vine de la o sursă de lumină. Unitatea de măsură este watt-ul.

Page 49: Popa - Prelucrarea numerica a imaginilor (2006).pdf

49

Luminanţa, care se măsoară în lumeni, [lm], dă o măsură a energiei pe care o percepe un observator de la o sursă de lumină. De exemplu, o sursă în infraroşu poate avea o cantitate foarte mare de energie, dar ochiul nu va putea percepe decât foarte puţin (luminanţa este aproape zero, deşi radianţa este foarte mare).

Strălucirea este un parametru descriptiv care nu se poate măsura practic.

Fig.5.23 Cubul culorilor RGB În anul 1931, CIE (comisia internaţională pentru standardizarea radiaţiei luminoase) a propus

următoarele valori pentru culorile fundamentale: albastru -435,8 nm, verde -546,1 nm şi roşu -700 nm (fig. 5.23).

Pentru a putea distinge o culoare de alta se folosesc următoarele mărimi: strălucirea, culoarea, (nuanţa de culoare), saturaţia. Nuanţa este asociată cu lungimea de undă din cadrul amestecului de culori din imaginea respectivă, după cum ea este percepută de utilizator.

Saturaţia se referă la puritatea relativă sau la cantitatea de alb din amestecul de culori. Culorile spectrului pur sunt perfect saturate. Alte culori, precum roz (roşu şi alb), lila (violet şi alb) sunt mai puţin saturate, iar gradul de saturaţie este invers proporţional cu cantitatea de alb adăugată în imagine. Nuanţa şi saturaţia, luate împreună, se numesc cromativitate. O culoare se poate caracteriza prin strălucire şi cromativitate. Cantităţile de roşu, verde şi albastru, X, Y, Z, necesare pentru a forma o culoare particulară se numesc culori culori tristimulus. O culoare se specifică prin coeficienţii tricromatici:

. , , ZYX

ZzZYX

YyZYX

Xx++

=++

=++

= (5.35)

Cel mai bun exemplu de utilizare a modelului RGB este procesarea reţelelor de imagine

multispectrale prin folosirea senzorilor de imagine care lucrează în mai multe zone spectrale. De exemplu, în imageria de la LANDSAT se folosesc patru imagini digitale: două în spectrul vizibil (roşu şi verde) şi două în zona de infraroşu.

B(0,0,1)

R(1,0,0)

G(0,1,0)

Albastru

Galben

Scala de gri

VerdeNegru (0,0,0)

Roşu

Alb

Page 50: Popa - Prelucrarea numerica a imaginilor (2006).pdf

50

Fig. 5.24 Îmbunătăţiri ale imaginilor color În procesul de îmbunătăţire a imaginilor, dificultăţile ce intervin sunt mult mai mari, având în

vedere cantitatea mult mai mare de date şi complexitatea mai mare a percepţiei vizuale a culorilor. Coordonatele color ale fiecărui pixel sunt transformate independent în alt set de coordonate color, unde imaginea corespunzătoare fiecărei coordonate este îmbunătăţită printr-un algoritm propriu (monocrom), ales în mod corespunzător. Coordonatele imaginii îmbunătăţite T’1, T’2, T’3 sunt transformate invers în R’, G’ şi B’ pentru redare. Deoarece fiecare plan de imagine este îmbunătăţit în mod independent, trebuie luată precauţia ca T’ să fie în gama dinamică a sistemului RGB. Acest proces este prezentat în figura 5.24).

6. Operaţii de îmbunătăţire a imaginilor în domeniul transformat

6.1. Principalele transformări folosite în prelucrarea de imagini După cum s-a amintit mai sus, operaţiile care pot fi efectuate asupra unei imagini pentru a

obţine îmbunătăţirea acesteia se pot realiza atât în domeniul spaţial (capitolul V), cât şi în cel transformat.La fel cum un semnal unidimensional poate fi reprezentat prin serii de funcţii ortogonale, o imagine se poate reprezenta printr-o serie de funcţii de bază ortogonale, în funcţie de un set de vectori de bază, numit imagine de bază, set generat cu ajutorul unor matrici unitare. Ca alternativă la reprezentarea sub formă matricială, o imagine de dimensiuni NxN poate fi considerată şi ca vector de dimensiune N2x1. O transformare de imagini are ca rezultat un set de coordonate sau vectori da bază în acest spaţiu vectorial.

În cazul unidimensional considerăm secvenţa: u(n), 0 ≤ n ≤ N - 1 reprezentată de un vector u de lungime N. O transformare unitară a acestui vector se poate scrie ca:

V = Au, sau 1-Nk0 ,)(),()(1

0≤≤= ∑

=

N

nnunkakv (6.1)

unde A-1=A*T este o matrice unitară.

Rezultă, în acest caz: u = A*Tv sau 1-Nk0 ,)(),(*)(1

0≤≤= ∑

=

N

nnvnkanu (6.2)

Coloanele lui A*T, adică vectorii a*k = a*(k, n), 0 ≤ n ≤ N – 1,se numesc vectorii bazei lui A.

Conversie de

coordonate Îmbunătăţire

imagine alb-negru

Îmbunătăţire imagine alb-negru

Îmbunătăţire imagine alb-negru

Transfor-

mare inversă

de coordonate

Redar

e imagi-

ne color

R

GB

Page 51: Popa - Prelucrarea numerica a imaginilor (2006).pdf

51

Diferenţa principală între diferite transformări este dată de alegerea funcţiilor de bază, respectiv a liniilor matricii transformării. Aceste linii formează un set de vectori de bază într-un spaţiu N-dimensional. În mod normal, deşi orice set de asemenea vectori ortonormali poate fi folosit pentru a realiza o transformare liniară, se folosesc seturi care derivă din aceeaşi funcţie de bază – prototip. Faţă de aceasta, funcţiile individuale de bază diferă numai în frecvenţă.

Orice vector din spaţiu poate fi exprimat ca sumă ponderată de vectori de bază de lungime unitară. Orice transformare unitară unidimensională (Nx1) va corespunde, în consecinţă, rotaţiei în spaţiul vectorial N-dimensional al unui vector. Prin generalizare, având în vedere că matricea corespunzătoare unei imagini de dimensiuni NxN poate fi considerată ca un vector de dimensiuni N2x1, orice transformare unitară, separabilă, simetrică, bidimensională va corespunde rotaţiei unui vector în spaţiul vectorial de dimensiune N2.

Transformarea bidimensională inversă poate fi imaginată ca o însumare a unui set de imagini de bază, convenabil ponderate, în vederea reconstruirii imaginii. Fiecare element al matricii transformării reprezintă coeficientul cu care se înmulţeşte imaginea de bază corespunzătoare.

O imagine de bază poate fi generată prin transformarea inversă a unei matrici de coeficienţi conţinând un singur element nenul, care este considerat unitar. De fapt, există N2 asemenea matrici, care vor genera N2 imagini de bază.

În fond, imaginile de bază pot fi considerate ca un set de componente în care poate fi descompusă o imagine şi, totodată, blocurile componente din care poate fi reconstruită. Transformarea directă realizează descompunerea, prin determinarea coeficienţilor, iar transformarea inversă realizează reconstrucţia prin însumarea imaginilor de bază, ponderate cu aceşti coeficienţi.

Deoarece există o infinitate de seturi de imagini de bază, vor exista, de asemenea, o infinitate de transformări. Cu toate acestea, un anumit set de imagini de bază prezintă importanţă numai în contextul unei anumite transformări.

6.1.1. Transformarea Fourier Transformata Fourier discretă bidimensională a unei imagini u(m, n) de dimensiuni NxN

este transformarea separabilă definită prin:

1-Nlk,0 ,),(),(1

0

ln1

0≤≤= ∑ ∑

=

=

N

mN

kmN

N

nWWnmulkv (6.3)

iar transformata inversă este:

1-Nnm,0 ,),(1),(1

0

ln1

02 ≤≤= ∑∑

=

−−−

=

N

kN

kmN

N

llkvWW

Nnmu (6.4)

Perechea unitară bidimensională este dată de relaţiile:

1-Nnm,0 ,),(1),(

1-Nlk,0 ,),(1),(

1

0

ln1

0

1

0

ln1

0

≤≤=

≤≤=

∑ ∑

∑∑−

=

−−−

=

=

=

N

kN

kmN

N

l

N

mN

kmN

N

n

WWlkvN

nmu

WWnmuN

lkv

(6.5) Proprietăţile transformării DFT bidimensionale Proprietăţile transformării unitare DFT bidimensionale sunt similare cu cazul unidimensional

şi sunt succint trecute în revistă în continuare: - Simetrie: FT = F, F-1 = F* - Extensii periodice: v(k + N, l + N) = v(k, l) lk,∀

u(m + N, n + N) = u(m, n) nm,∀

Page 52: Popa - Prelucrarea numerica a imaginilor (2006).pdf

52

- Spectrul Fourier eşantionat: dacă ữ(m, n) = u(m, n), 0 ≤ m, n ≤ N – 1 şi ữ(m, n) = 0 în rest, rezultă:

),(),(2,2~ lkvnmuDFTN

lN

kU ==

ππ

(6.6)

unde Ữ(ω1, ω2) este transformata Fourier a lui ữ(m, n). - Transformata rapidă, deoarece transformarea DFT bidimensională este separabilă, relaţiile

(6.5) sunt echivalente cu 2N transformări DFT unitare unidimensionale, fiecare realizabilă în Nlog2N operaţii, prin FFT. Rezultă deci că numărul total de operaţii necesare este de N2log2N.

- Simetrie conjugată, transformările DFT şi DFT unitară ale unor imagini reale au simetrie conjugată:

12Nlk,0 ,

2,

22,

2* −≤≤

=

±± lNkNvlNkNv mm (6.7)

sau v(k, l) = v*(N – k, N – l), 0 ≤ k, l ≤ N – 1 (6.8) De aici se poate deduce foarte uşor că v(k, l) are doar N2 elemente reale independente. Spre

exemplu, eşantioanele din regiunea haşurată în figura 6.1 determină complet transformarea DFT.

Fig. 6.1 Simetria coeficienţilor DFT

6.1.2. Transformarea Cosinus Transformata cosinus discretă se defineşte, în spaţiul bidimensional, ca:

+

+

= ∑ ∑−

=

= Nn

Nkmnmulklkv

N

m

N

n 2)12(cos

2)12(cos),()()(),(

1

0

1

0

παα (6.9)

unde k, l = 0, 1, …, N – 1, iar inversa ei ca:

+

+

= ∑ ∑−

=

= Nn

Nkmlkvlknmu

N

k

N

l 2)12(cos

2)12(cos),()()(),(

1

0

1

0

παα (6.10)

unde m, n = 0, …N – 1, iar coeficienţii sunt: NkN

≤≤== 1pentru N2(k) şi 1)0( αα

La fel ca şi transformarea DFT, transformarea cosinus discretă poate fi exprimată ca operaţie cu matrici unitare: V = CuCT, unde coeficienţii transformării C sunt:

+

=N

kmkc mk 2)12(cos)(,

ππα (6.11)

Transformata cosinus discretă are, de asemenea, un algoritm rapid de implementare dar, spre deosebire de DFT, are numai valori reale. Ca domenii de aplicabilitate, este cea mai folosită transformare în compresia de imagini.

Page 53: Popa - Prelucrarea numerica a imaginilor (2006).pdf

53

6.1.3. Transformarea Sinus Transformata sinus discretă bidimensională, introdusă de A. Jain, este definită de relaţia:

+++

+++

+= ∑ ∑

=

= 1)1)(1(sin

1)1)(1(sin),(

12),(

1

0

1

0 Nln

Nkmnmu

Nlkv

N

m

N

n

ππ (6.12)

iar transformata inversă, de:

+++

+++

+= ∑ ∑

=

= 1)1)(1(sin

1)1)(1(sin),(

12),(

1

0

1

0 Nln

Nkmlkv

Nnmu

N

k

N

l

ππ (6.13)

Transformata sinus discretă are elementele matricii unitare de forma:

++=

+=

1)1)(1(sin

12

, Nkm

Ns km

π (6.14)

Spre deosebire de alte transformări de tip sinusoidal, transformarea DTS este mai uşor de implementat dacă N = 2p – 1, cu p număr întreg. În acest caz, poate fi considerată ca fiind partea imaginară a unei transformări Fourier rapide de dimensiune (2N+2). Are, totodată, un algoritm rapid de implementare şi proprietăţile ei o impun pentru aplicaţii de tipul compresie imagini.

6.1.4. Transformarea Hartley Transformata Hartley este o transformare integrală continuă, propusă de

matematicianul cu acelaşi nume, ca alternativă la transformata Fourier. Varianta discretă a acestei transformări (DHT) este dată de relaţiile:

∑ ∑−

=

=

+=

1

0

1

0)(2),(1),(

N

m

N

nnlmk

Ncasnmu

Nlkv π şi (6.15)

∑ ∑−

=

=

+=

1

0

1

0

)(2),(1),(N

k

N

l

nlmkN

caslkvN

nmu π (6.16)

identice şi folosind funcţia de bază: )4/cos(2)sin()cos()cos( πθθθθ −=+= (6.17) Elementele matricii unitare ale transformateii Hartley sunt de forma:

=

Nmkcas

Nh km π21

, (6.18)

Spre deosebire de DFT, care transformă N numere reale în N numere complexe cu simetrie conjugată, transformata Hartley discretă produce N numere reale. Ea este strâns legată de transformata Fourier discretă, fiind pur şi simplu diferenţa dintre partea reală şi partea imaginară a transformatei Fourier corespondente. Analog, transformata Fourier este partea pară, minus j ori partea impară a transformatei Hartley.

Din aceste motive, DHT constituie o alternativă din punct de vedere al implementării pe calculator a transformatei DFT, având şi ea un algoritm rapid de implementare. Anumite aplicaţii de filtrare liniară de imagini, în special în cazul unor imagini simetrice, impun folosirea DHT datorită reducerii semnificative a volumului de calcule (se evită lucrul cu numere complexe).

6.1.5. Transformarea Hadamard Unele dintre transformările de interes din punct de vedere al prelucrărilor digitale de imagini

folosesc funcţii de bază ce reprezintă variaţii ale unor unde dreptunghiulare şi nu sinusoidale ca cele prezentate mai sus. În general, aceste transformări se caracterizează prin rapiditate în calcul , având în vedere faptul că multe din operaţiile de înmulţire pot fi evitate. Dintre transformările de acest tip, mai importante sunt transformările Hadamard, Walsh, Slant, Haar şi Wavelet.

Page 54: Popa - Prelucrarea numerica a imaginilor (2006).pdf

54

Transformata Hadamard este simetrică, separabilă şi unitară şi se evidenţiază prin faptul că elementele matricii transformării iau valorile de +1 sau –1. Transformarea are sens pentru N = 2n, unde n este un număr întreg. Pentru o transformare 2x2, matricea corespunzătoare este:

=11

112

12

12H (6.19)

iar pentru dimensiuni mai mari N, ea poate fi generată astfel:

=2/2/

2/2/11NN

NNN HH

HHN

HN

(6.20)

Pentru orice dimensiune N = 2n, matricea conţine doar elemente de forma ±1, cu condiţia ca factorul N-1/2 să fie în afara matricii. Spre exemplu, pentru N = 8 matricea Hadamard are forma prezentată în matricea (6.21), unde în coloana din dreapta matricii se evidenţiază numărul schimbărilor de semn din linia respectivă. Se poate observa că numărul diferă de la o linie la alta şi poartă numele de secvenţa liniei. Reordonarea liniilor în aşa fel încât secvenţele corespunzătoare să fie crescătoare, în mod analog cu creşterea frecvenţei la transformarea Fourier, duce la o transformare mai uşor de implementat, care se numeşte transformare Hadamard ordonată dată de matricea (6.22):

(6.22)

76543210

1-11-11-11-111-11-1-11-11-111-11-1-111-1-111-1-11-1-111-1-11111-1-1-1-111-1-1-1-111111111111

221H (6.21)

52614370

11111111111111111111111111111111

111111111111111111111111

11111111

221

88

=

−−−−−−−−

−−−−−−−−

−−−−−−−−−−−−

=H

6.1.6. Transformarea Walsh Funcţiile de bază ale transformatei Hadamard sunt, de fapt, funcţii Walsh. Din această cauză

ea este denumită uneori şi transformare Walsh. În unele referinţe se întâlneşte şi denumirea combinată de transformare Walsh – Hadamard.

6.1.7. Transformarea Slant Transformarea Slant are funcţiile de bază de ordinul 0 şi 1 liniare, fapt ce face să fie utilă în

unele aplicaţii de prelucrări digitale de imagini. Matricea unitară a transformării Slant se obţine

pornind de la transformarea Haar sau Hadamard de dimensiuni 2x2:

=11

112

12S şi iterând-o în

conformitate cu următorul algoritm:

−−

=

−−−

−−

1

1-n

2)2/(2)2/(

2)2/(2)2/(

:0::

.........:...........::

0:S

:0::0..............:...............:...........:............

0:10

:0:10

............:............:..........:...........:0::0

.............:..............:..........:..........

0:01

:0:01

21

nnn

nnnn

nn

nnnn

n

SII

abab

II

baba

S (6.23)

unde I este matricea identitate de ordinul N/2-2, iar

Page 55: Popa - Prelucrarea numerica a imaginilor (2006).pdf

55

14b şi

143

2

2

2N2

2

2 −=

−=

NN

NNa N (6.24)

Funcţiile de bază ale transformatei Slant apar în toate secvenţele, începând de la 0 la N – 1.

6.1.8. Transformarea Haar

Transformata Haar este simetrică, unitară şi separabilă, şi foloseşte ca funcţii de bază funcţiile Haar. Transformarea are sens pentru N = 2n, unde n este un număr întreg. Spre deosebire de transformata Fourier, unde funcţiile de bază diferă numai în poziţie pe axa frecvenţelor, funcţiile Haar variază atât în scală (lăţime) cât şi în poziţie. Această caracteristică particularizează transformarea Haar faţă de celelalte tipuri de transformări rectangulare şi face ca ea să constituie, totodată, un punct de plecare pentru transformările de tip “Wavelet” (undişoare).

Indexare funcţiilor Haar, deoarece acestea sunt variabile de doi parametrii (scală şi poziţie), trebuie făcută după o schemă duală. Ele se definesc pe intervalul [0, 1] după cum urmează: se consideră k un număr întreg, 0 ≤ k ≤ N – 1 unic determinat de alţi doi întregi p şi q astfel:

k = 2p + q – 1 (6.25) Se observă că prin această modalitate de definire, nu numai k este o funcţie de p şi q, dar şi p

şi q sunt funcţii de k. Pentru orice valoare a lui k > 0, 2p este cea mai mare putere a lui 2 care îndeplineşte condiţia 2p≤ k, iar q – 1 este restul împărţirii.

Funcţiile Haar se definesc astfel:

N

xh 1)(0 = (6.26)

<≤−

−<≤

=

rest în , 022

1/2-q dacă , 2

22/1

21-q dacă , 2

1)( p2/

p2/

pp

pp

kqx

qx

Nxh (6.27)

Dacă se consideră x = i/N, i = 0, 1, …, N – 1, va rezulta un set de funcţii de bază. Acestea variază atât ca modul (scală) cât şi ca poziţie. Indicele p specifică scala, iar q determină deplasarea. Din această cauză, ordonarea coeficienţilor transformării după k nu este la fel de edificatoare ca, spre exemplu, ordonarea spaţiului coeficienţilor obţinut în urma unei transformări Fourier.

6.1.9. Transformarea Karhunen-Love Transformarea Karhunen-Loeve (sau K-L) este cunoscută în literatura de specialitate şi ca

transformarea Hotelling, transformarea vectorilor proprii sau transformarea componentelor principale.

Capacitatea acestei transformări de a reduce dimensiunile vectorilor transformaţi o face extrem de utilă în compresia de imagini. Imaginile multispectrale, de exemplu, conţin mai multe nivele de gri pentru acelaşi pixel, fiecare nivel de gri corespunzând unei benzi spectrale diferite. Spre exemplu, o imagine multispectrală pe 24 de benzi, având dimensiunea de 100x100, poate fi considerată ca un set de zece mii de vectori având fiecare 24 elemente.

Tehnica reducerii dimensiunilor vectorilor prin transformarea Karhunen-Loeve (K-L) poate fi aplicată în acest caz, deoarece corelaţia între diferite benzi spectrale este, în general , destul de ridicată şi, în consecinţă multe dintre cele 24 valori proprii vor fi mici.

Page 56: Popa - Prelucrarea numerica a imaginilor (2006).pdf

56

Aceasta înseamnă că setul de 24 imagini monocrome poate fi reprezentat, cu erori relativ mici, prin doar câteva imagini principale, fiecare dintre acestea fiind calculată ca o sumă ponderată a celor 24 iniţiale. De asemenea, fiecare dintre acestea poate fi reconstituită aproximativ, ca şi combinaţie liniară a celor câteva imagini principale. Metoda uşurează foarte mult stocarea şi transmisia imaginilor, mai ales a celor preluate de la sateliţi.

6.1.10. Transformarea wavelet Pentru aplicarea transformatei wavelet discrete bidimensionale, este necesară aplicarea

transformatei wavelet unidimensionale discrete de două ori, o dată pe liniile şi apoi pe coloanele matricii corespunzătoare imaginii. Această manieră de aplicare a DWT pentru un semnal bidimensional, eşantionat cu o reţea dreptunghiulară, se numeşte în literatură “transformare diadică 2-D DWT”. Cuvântul “diadic” se referă la faptul că avem acelaşi factor de scară pentru aplicarea transformatei.

O altă metodă de aplicare a 2-D DWT este prin metoda “quincunx”, caz în care factorul de scară este egal pe toate direcţiile.

Transformarea 2D-DWT diadică Pentru a defini 2D-DWT se va apela la cunoştinţele referitoare la analiza multirezoluţie. Prin

extinderea la domeniul bidimensional se obţin funcţiile de scală Φ(x) şi funcţia wavelet Ψ(x) şi anume: ΦLL(x, y) = Φ(x)·Φ(y) (6.28) care reprezintă funcţia de scală, şi cele trei funcţii wavelet Ψ(x, y), date de:

ΨLH(x, y) = Ψ(x)·Φ(y) ΨHL(x, y) = Φ(x)·Ψ(y) (6.29) ΨHH(x, y) = Ψ(x)·Ψ(y) Versiunea dilatată şi translatată a funcţiei de scală ΦLL(x) este definită pentru subspaţiul

aproximat Vm din L2(R2). Această aproximare poate fi descrisă ca şi produsul vectorial dintre două subspaţii V’

m aparţinând L2(R): Vm = V’

m ⊗ V’m

Descompunerea imaginii originale cu ajutorul transformării 2D-DWT diadice se face în patru

subbenzi, ca în figura 6.2. Zona LL reprezintă subbanda care conţine toate informaţiile de joasă frecvenţă. Zona HH

conţine toate informaţiile de înaltă frecvenţă, iar celelalte două zone, HL şi LH, conţin informaţiile de înaltă frecvenţă pe direcţie verticală şi de joasă frecvenţă pe direcţie orizontală, respectiv de joasă frecvenţă pe direcţie verticală şi de înaltă frecvenţă pe orizontală. Pentru a obţine o

LL LH

HL HH

LH (5)

HH (7)

HL (6)

HH (4)

LH (2)

HL 2

LL(1)

Fig. 6.2 Primul pas al aplicării transformării 2D-DWT didactice

Fig. 6.3 Transformare 2D-DWT –pasul doi

Page 57: Popa - Prelucrarea numerica a imaginilor (2006).pdf

57

transformare DWT completă se repetă pasul de descompunere în subbanda LL. În urma celui de-al doilea pas se obţine imaginea din figura 6.3.

În cele mai multe dintre lucrări de specialitate aplicaţiile de codare se fac prin aplicarea a trei sau chiar patru paşi ai algoritmului de codare wavelet diadic. Trebuie avut însă în vedere faptul că la imaginile mai mici, prin aplicarea a mai mult de trei paşi de codare wavelet există posibilitatea ca, înainte de implementarea ultimului pas, subbanda de joasă frecvenţă să aibă dimensiuni comparabile cu lungimea filtrului şi să existe posibilitatea interferenţei, datorită simetriei care există într-o linie sau într-o coloană. De aceea este bine să se ia în considerare toate erorile care pot apărea datorită acestui aspect.

6.2. Filtrare în domeniul frecvenţă Filtrarea liniară poate fi modelată ca o multiplicare a spectrului Fourier a unei imagini cu o

funcţie de transfer definită în domeniul frecvenţă. Analog, se pot defini algoritmii de filtrare şi pentru celelalte transformări de imagini.

La fel ca şi transformata Fourier, transformările unitare, în general, realizează o expandare a imaginii ca sumă ponderată a imaginilor de bază. Prin transformarea directă se determină coeficienţii de pondere, iar în transformarea inversă se face reasamblarea imaginii din imaginile de bază.

Filtrarea în domeniul transformatei presupune o modificare a coeficienţilor de pondere, înaintea reconstrucţiei imaginii prin transformarea inversă. În cazul filtrării liniare, transformarea va fi o transformare Fourier, iar modificarea se face înmulţind spectrul cu o funcţie de transfer. În cazul mai general al filtrării, matricea coeficienţilor este modificată (prin înmulţire sau prin alte metode), iar după transformarea inversă rezultă imaginea filtrată.

În mod evident, natura vectorilor şi, implicit, a imaginilor de bază ce rezultă stabilesc comportarea diferitelor transformări din acest punct de vedere. De exemplu, zgomotul de tip sinusoidal ce afectează o imagine va apărea foarte compact în domeniul transformării de tip sinusoidal şi, deci, va putea fi înlăturat foarte uşor prin anularea coeficienţilor respectivi. În cazul transformărilor rectangulare, problema eliminării unui asemenea tip de zgomot se complică, deoarece el nu va putea fi separat la fel de uşor în domeniul transformatei.

În general, dacă fie componentele semnalului (utile), fie componentele zgomotului (nedorite) din imagine sunt asemănătoare imaginilor de bază ale unei anumite transformări, atunci acea transformare este cea mai potrivită pentru separarea lor, deoarece acele componente vor fi reprezentate foarte compact în domeniul transformatei.

De exemplu transformata Haar este utilă în cazul detecţiei liniilor sau muchiilor verticale ţi orizontale, deoarece unele dintre imaginile sale de bază se potrivesc cu aceste caracteristici. Datorită faptului că transformarea este separabilă, o caracteristică a acesteia de tipul unei linii sau muchii orizontale şi verticale va produce coeficienţi diferiţi de zero numai în prima linie şi, respectiv în prima coloană a imaginii transformate. Numărul coeficienţilor diferiţi de zero va fi de cel mult N/2, iar poziţia muchiei în imagine determină care şi câţi dintre coeficienţi vor fi nenuli.

Datorită asocierii strânse cu sistemele liniare, transformata Fourier reprezintă cel mai bine pus la punct fundament teoretic în ceea ce priveşte filtrarea imaginilor. Celelalte transformări sunt mai dificile de interpretat din punct de vedere al filtrării şi, de aceea, folosirea lor se face adesea pe bază de experimente. Înţelegerea similarităţilor şi diferenţelor între aceste transformări este extrem de importantă în alegerea unor soluţii potrivite pentru diferite tipuri de aplicaţii.

6.2.1.Filtrul trece jos Ca şi în cazul filtrării spaţiale îmbunătăţirea imaginii se poate face lucrând în domeniul

frecvenţă. Se evaluează transformata Fourier a imaginii care trebuie îmbunătăţită, se multiplică

Page 58: Popa - Prelucrarea numerica a imaginilor (2006).pdf

58

rezultatul cu o funcţie de transfer şi apoi se face transformata Fourier inversă pentru a realiza noua imagine.

Ideile de dez-accentuare (înceţoşare) prin reducerea conţinutului de frecvenţe înalte, accentuarea detaliilor (ascuţirea) prin creşterea ponderii componentelor de înaltă frecvenţă, apar direct din proprietăţile transformatei Fourier. De fapt, ideea completă de filtrare liniară este mai intuitivă în domeniul frecvenţă. În practică sunt folosite măşti spaţiale mai mici decât cele pentru transformata Fourier din cauza simplităţii de implementare şi a vitezei de lucru. Cu toate acestea, înţelegerea conceptelor în domeniul frecvenţă este esenţială pentru rezolvarea unor probleme care nu pot fi accesate prin tehnica spaţială, rezolvare care are loc cu ajutorul filtrării homomorfice sau prin unele operaţii de restaurare a imaginii. Atenuarea unor componente de înaltă frecvenţă determină reducerea tranziţiilor ascuţite (zgomot, muchii etc.).

Dacă F(u,v) este transformata Fourier a imaginii care trebuie uniformizată, atunci produsul cu funcţia de transfer H(u,v) conduce la funcţia de ieşire G(u,v) care are componente de înaltă frecvenţă atenuate:

G(u,v)=H(u,v)F(u,v). (6.30) În continuare vor fi abordate filtrele cu deplasare de fază zero, în care părţile reale şi

imaginare ale lui F(u, v) sunt afectate în acelaşi mod. Filtrul trece-jos ideal are caracteristica de transfer dată de relaţia:

>≤

=0v)D(u, daca 0,Dv)D(u, daca ,1

),( 0vuH (6.31)

unde D0 este o cantitate nenegativă, iar distanţa de la origine la un punct (u, v) este dată de relaţia: 2/122 )(),( vuvuD += (6.32) Filtrul se numeşte ideal pentru că toate frecvenţele sunt oprite, dacă D>D0, sau neatenuate,

pentru D ≤ D0, ca în figura 6.4 (reprezentarea în 3D, figura fig. 6.4 a sau în plan fig.6.4 b). Punctul de tranziţie se numeşte frecvenţă de tăiere. Aceste filtre sunt radial simetrice în jurul originii.

Fig.6.4 Funcţia de transfer a unui filtru trece jos

Forma ideală din fig. 6.4 nu se poate realiza cu componente electronice, dar se poate simula pe calculator.

H(u,v)

v

u

a)

1

H(u

,v)

D D(u,v)

b)

Page 59: Popa - Prelucrarea numerica a imaginilor (2006).pdf

59

Fig. 6.5 Imaginea originală şi transformata ei Fourier

În figura 6.5a este reprezentată o imagine standard, iar în fig. 6.5b, transformata ei Fourier. Figura 6.6 arată rezultatele aplicării unui filtru trece-jos cu frecvenţele de tăiere diferite, luate în aşa fel încât să treacă 90, 95, 99, respectiv 99,5% din puterea componentelor spectrale. Imaginea din figura 6.6a este mai puţin utilizată în practică din cauza petelor foarte mari care apar pe imagine. Conţinutul din cele 10 procente reprezintă o contribuţie semnificativă a componentelor de înaltă frecvenţă. La scăderea ponderii, chiar cu 5%, fig. 6.6b, se constată încă o estompare a imaginii. Eliminarea a numai 1% din putere face ca imaginea să fie acceptabilă (fig. 4.6c), iar la 0,05% se constată (fig. 6.6d) că imaginea posedă suficiente informaţii de detalii şi este aproape identică cu imaginea originală (fig. 4.5a).

Rotunjirea şi defocalizarea elementelor din imagine se poate explica pe baza teoremei convoluţiei:

Error! Objects cannot be created from editing field codes. (6.33)

unde h(x, y) este transformata Fourier inversă a funcţiei de transfer. Cheia înţelegerii estompării imaginii ca un proces de convoluţie constă în natura funcţiei h(x, y). Două puncte strălucitoare se pot considera ca provenind de la două impulsuri. Convoluţia lui h(x, y) este un proces simplu de

copiere a lui h(x,y) în locul fiecărui impuls. Fenomenul de estompare este o consecinţă a convoluţiei funcţiei f(x, y) cu h(x,y). Forma lui h(x,y) depinde de raza funcţiei filtru în domeniul frecvenţă.

Page 60: Popa - Prelucrarea numerica a imaginilor (2006).pdf

60

Fig. 6.6 Filtrarea imaginii cu diferite valori ale frecvenţei de tăiere

Calculând transformata inversă H(u,v) pentru un filtru trece-jos ideal, se constată că raza

cercurilor concentrice în h(x,y) este invers proporţională cu valoarea lui D0 din ecuaţia filtrului. Filtrări severe în domeniul frecvenţă (ceea ce corespunde unei valori mici pentru D0) produc un număr mic de cercuri largi în h(x, y) şi, implicit, o estompare pronunţată în g(x, y). Când D0 creşte, va creşte şi numărul de inele din regiunea lui h(x,y), ceea ce produce la o spaţiere mai fină a cercurilor o mai mică estompare. Dacă D0 este în afara domeniului de definiţie al lui F(u, v), h(x, y) devine egal cu 1 în toată regiunea şi convoluţia lui h(x, y) cu f(x, y) este egală cu f(x,y) (această situaţie corespunde de fapt lipsei filtrării).

Funcţia de transfer a unui filtru trece-jos de tip Butterworth de ordin n are expresia: .

),(1

1),( 2

0

n

DvuD

vuH

+

= (6.34)

Fig. 6.7 Filtru trece jos Butterworth

Imaginile în perspectivă şi secţiune transversală sunt redate în figura 6.7. Spre de deosebire de

filtrul ideal trece-jos, acum funcţia de transfer nu are o pantă infinită (o trecere bruscă de la banda de tăiere la cea de trecere), variind uniform. Ca urmare, definirea frecvenţei de tăiere este o problemă de utilizator. Dacă, H(u, v)=0,5(50% din valoarea maximă), atunci D(u, v)=D0.

O altă valoare des folosită este 2-0,5, caz în care funcţia de transfer devine: Error! Objects cannot be created from editing field codes.

(6.35)

6.2.2. Filtrul trece sus

Page 61: Popa - Prelucrarea numerica a imaginilor (2006).pdf

61

O altă metodă de îmbunătăţire a acurateţei imaginii constă în utilizarea filtrelor trece sus. În continuare vor fi analizate numai filtre cu deplasare de fază nulă, care au o structură radială simetrică şi pot fi specificate complet printr-o secţiune transversală. În cazul filtrului trece sus ideal funcţia de transfer are expresia:

Error! Objects cannot be created from editing field codes. (6.36) şi este reprezentată grafic în figura 6.8.

Fig. 6.8 Funcţia de transfer a unui filtru trece sus ideal În cazul modelării prin polinoame Butterworth, funcţia de transfer are forma:

n

vuDD

vuH 20

),(1

1),(

+

= (6.37)

şi ajunge la valoarea de 0,5 dacă D(u, v) = D0. Acceptând o altă valoare, 2-0,5, rezultă: Error! Objects cannot be created from editing field codes.

(6.38) Îmbunătăţirea modului de redare a unei imagini se mai poate face modificând simultan

strălucirea (prin comprimarea gamei dinamice) şi accentuarea contrastului. Imaginea f(x, y) este rezultatul acţiunii luminii care cade direct pe obiect şi a luminii reflectate de obiectele înconjurătoare: f(x, y)=i(x, y) r(x, y).

Cele două componente nu pot fi prelucrate independent (transformata Fourier a produsului a două funcţii nu este separabilă). Dar presupunând că:

z(x, y)=ln f(x, y) =ln i(x, y) + ln r(x, y) şi (6.39) F[z(x, y)]=F[ln f(x, y)]=F[ln i(x, y) + ln r(x, y)], (6.40)

atunci : Z(u, v)=I(u, v) + R(u, v). (6.41) Procesând Z(u, v) cu funcţia H(u, v), rezultă: S(u, v)=H(u, v)Z(u, v)=H(u, v)[I(u, v) + R(u, v)] În domeniul spaţial: s(x, y)=F-1[H(u, v)I(u, v)] + F-1[H(u, v)R(u, v)]=i’(x, y) + r’(x, y). (6.42) În final, în imaginea îmbunătăţită g(x, y) va avea expresia:

g(x, y)=exp[s(x, y)]=exp[i’(x, y)]exp[r’(x, y)]=i0(x, y)r0(x, y), (6.43) unde i0 şi r0 sunt componentele de iluminare sau reflectanţă ale imaginii de ieşire. Componenta dată de iluminare are, în general, o variaţie spaţială mai lentă, iar cealaltă componentă tinde să aibă o variaţie abruptă.

6.2.3. Filtrul homomorfic Filtrul homomorfic (fig. 6.9) asigură condiţiile anterioare. Funcţia de transfer a filtrului este

reprezentată grafic în figura 6.10. Dacă parametrii de prag se aleg pj<1 şi ps<1 , atunci funcţia de transfer a filtrului tinde să atenueze componentele de joasă fracvenţă şi să amplifice componentele

H(u,v)

H(u,v)

u

v

1

D0 D(u,v) a) b)

Page 62: Popa - Prelucrarea numerica a imaginilor (2006).pdf

62

de înaltă frecvenţă. O scădere a gamei dinamice a strălucirii şi o creştere a contrastului permit evidenţierea mai multor detalii.

Fig. 6.9 Filtrarea homomorfică

Fig. 6.10 Funcţia de transfer a unui filtru homomorfic

Dacă este specificată comportarea şi domeniul frecvenţă, se pot calcula măştile (valorile

coeficienţilor) pentru domeniul spaţial. Aplicând teorema convoluţiei în domeniul spaţial, se obţine:

∑ ∑−

=

=

−−=1

0

1

0

),,(),(),(N

i

N

k

kifkyixbyxg (6.44)

unde x, y=0, 1, …, N-1 (pentru simplitatea notaţiilor se folosesc reţele pătrate de imagini). Dacă masca are dimensiunea NxN, rezultatul dat de relaţia anterioară este acelaşi cu cel dat de

transformata Fourier inversă a lui G(u,v): Error! Objects cannot be created from editing field codes. (6.45)

unde u, v= 0, 1, 2, …, N-1. Reducând la zero termenii pentru care x>n şi y>n, (n<N), se creează o mască de convoluţie nxn:

Error! Objects cannot be created from editing field codes. (6.46) În continuare urmează a se determina coeficienţii lui ĥ (x, y), astfel încât eroarea să fie

minimă:

∑ ∑−

=

=

−=1

0

1

0

22 ),(),(ˆN

u

N

v

vuHvuHe (6.47)

Sub formă vectorială se poate scrie: hCH ˆ*ˆ = (6.48)

unde Ĥ este un vector coloană cu N2 elemente ale lui Ĥ(u, v), ĥ este un vector coloană de ordinul n2 care conţine elementele lui ĥ(x, y), iar C este o matrice N2xn2 de termeni exponenţiali. O procedură simplă de generare a elementelor Ĥ(i), 1,0 2 −= Ni , a lui Ĥ din Ĥ(u, v) este: Ĥ(u, v)⇒ Ĥ(i), unde i= uH + v, u,v=0, 1, …, N-1. Acest lucru se realizează mergând succesiv în liniile lui Ĥ(u, v), prin punerea u=0, v=0, 1, …, N-1; u>1; v=0, 1, …, N-1 ş.a.m.d., ceea ce corespunde formării primelor N elemente ale lui Ĥ din prima linie a lui Ĥ(u, v), se continuă apoi prin realizarea celor N elemente din linia a doua etc. Elementele lui ĥ , notate cu ĥ(k), 1,0 2 −= nk , sunt obţinute în mod similar punând condiţia ĥ(x, y) ⇒ ĥ(k), pentru k=xn+y, cu 1,0 −== nyx . În final, elementele corespunzătoare ale matricei C, notate c(i,k), sunt generate de termenii exponenţiali:

(1/N)·exp[-2Πj(ux + vy)/N] ⇒ C(i, k), (6.49)

ln FFT exp H(u,v) FFT-1

f(x,y) g(x,y)

D(u,v)

H(u,v)

ps

sj

Page 63: Popa - Prelucrarea numerica a imaginilor (2006).pdf

63

pentru i=uN + v, k=nx+y, cu 1,0, −= Nvu şi 1,0, −= nyx . Sub formă matriceală se poate scrie

astfel: 222 ˆˆ)ˆ(*)ˆ( HhCHHHHHHe −=−=−−= . (6.50)

Luând derivata parţială şi egalând-o cu zero, se obţine un minim al lui e2 în raport cu ĥ:

.*ˆ0)ˆ(*2ˆ

22

HChHhCChe

=⇒=−=∂

∂ (6.51)

Ultima ecuaţie conduce la condiţia necesară pentru eroare minimă necesară construirii măştii ĥ(x, y) de convoluţie din funcţia de filtrare specificată H(u, v) de dimensiune NxN. În general elementele lui ĥ(x, y) sunt numere complexe, dar, dacă în domeniul frecvenţă funcţia de filtrare este reală şi simetrică (aşa cum s-a presupus la filtrele prezentate până acum), atunci ĥ(x,y) este tot real şi simetric.

6.2.4. Operaţii de transformare

În tehnicile de îmbunătăţire a imaginii, care folosesc operaţii de transformare, se realizează operaţii punctuale asupra imaginii transformate, după care urmează transformarea inversă (fig. 6.11).

Dintre operaţiile care se aplică transformatei unei imagini menţionăm filtrarea liniară generalizată, filtrarea neliniară, precum şi filtrarea cepstrum şi homomorfică.

Fig. 6.11 Îmbunătăţiri de imagini folosind transformări

Filtrarea liniară generalizată Operaţiile punctuale pe imaginea transformată sunt produse de forma:υ’(k, l) = g(k, l)* υ(k, l)

unde g(k, l) se numeşte mască zonală (este zero în afara regiunii respective). Figura 6.12a reprezintă măştile zonale corespunzătoare filtrării trece-jos, trece-sus şi trece-

bandă pentru o transformare Fourier digitală, iar figura 6.12b reprezintă aceleaşi măşti zonale pentru alte tipuri de transformări ortogonale.

u(m,n) Transformare unitară AUAT

Operaţii punctuale

Transformare inversă

A-1V[AT] v(k,l) v’(k,l) u’(m,n)

Page 64: Popa - Prelucrarea numerica a imaginilor (2006).pdf

64

Fig. 6.12 Măşti zonale pentru filtrarea liniară generalizată

Un filtru de interes particular este filtrul gaussian invers, a cărui mască zonală pentru o

imagine A de dimensiuni NxN este definită ca:

≤≤+

=restîn l),-Nk,-g(N

N/2lk,a ,2

exp),( 2

22

σlk

lkg (6.52)

unde imaginea A este transformată prin TFD. Pentru alte transformări ortogonale:

1-Nlk,0 ,2

exp),( 2

22

≤≤+

lklkg (6.53)

Aceste filtrări sunt de tip trece-sus, şi sunt utilizate pentru refacerea imaginilor “înceţoşate”, imagini care au fost afectate spre exemplu de turbulenţe atmosferice sau de alte fenomene ce pot fi modelate analog.

Filtrare neliniară În acest caz coeficienţii transformării υ(k, l) vor fi scrişi ca: υ(k, l) = υ (k, l)·ejθ(k, l) (6.54)

Pentru acest tip de filtrare se ia rădăcina de ordin alfa a mărimii componentei υ(k, l) , în timp ce faza

se reţine ca atare: 1a0 , ),(),(' ),( ≤≤= lkja elkvlkv θ (6.55) Pentru imagini obişnuite, dat fiind faptul că mărimea lui υ(k, l) este mai mică la frecvenţe

spaţiale mari, efectul este de îmbunătăţire a frecvenţelor spaţiale înalte, comparativ cu frecvenţele spaţiale joase.

Filtrarea homomorfică şi cepstrum generalizată Dacă modulul υ (k, l) se înlocuieşte cu logaritmul lui υ (k, l) şi se defineşte: s(k, l) = [logυ (k, l)]· ejθ(k, l) , υ (k, l) > 0 (6.56)

atunci transformarea inversă a lui S(k, l), notată cu c(m,n) se numeşte transformată cepstrum generalizată. În practică se adaugă o constantă pozitivă la υ(k,l) pentru ca logaritmul să nu tindă la minus infinit. Imaginea c(m,n) se mai numeşte şi transformarea homomorfică generalizată K a imaginii şi are proprietatea că reduce dinamica imaginii în domeniul transformatei şi o măreşte în domeniul cepstral. Algoritmul de prelucrare este dat în figura 6.13.

Fig. 6.13 Filtrarea homomorfică şi cepstrum

AUAT [Logv(k,l)]eje(k,l) A-1S(AT)-1 u(m,n) v(k,l) s(k,l) c(m,n)

Page 65: Popa - Prelucrarea numerica a imaginilor (2006).pdf

65

7. Segmentarea imaginilor Segmentarea imaginilor se referă la descompunerea unei scene (imagini) în componentele

sale. În urma procesului de segmentare vor fi extrase din imagine obiecte distincte, regiuni ce satisfac anumite criterii de uniformitate, sau alte elemente.

În Digital Image Signal Processing de Wahl se propune o definiţie matematizată a procesului de segmentare, şi anume segmentarea unei imagini f este definită ca partiţionarea [completă] a lui f într-un ansamblu de mulţimi disjuncte nevide şi conexe, ce satisfac fiecare un anumit criteriu, criteriu ce nu mai este respectat pentru reuniunea oricăror două elemente ale partiţiei.

Alegerea unei tehnici specifice de segmentare (partiţionare a imaginii) este legată de mai multe aspecte caracteristice imaginii de analizat şi cerinţelor utilizatorului. După natura şi conţinutul imaginii, tehnicile de segmentare trebuie să ţină cont de prezenţa în imagine a diverse categorii de artefacte:

• reflexii, iluminare neomogenă; • zgomot suprapus informaţiei utile; • zone texturate După primitivele de extras, tehnicile de segmentare se împart în două categorii fundamentale:

tehnicile de segmentare orientate pe regiuni şi tehnicile de segmentare orientate pe contur. Primitivele extrase din imagine sunt regiuni (forme) şi zone texturate pentru tehnicile orientate pe regiuni, sau entităţi de tip discontinuitate (frontiere, segmente de dreaptă, unghiuri) pentru tehnicile orientate pe contur. În cadrul segmentării orientate pe regiuni se disting câteva categorii principale de tehnici:

• etichetarea imaginilor binare • segmentarea pe histogramă • creşterea şi fuziunea regiunilor • segmentarea texturilor • segmentarea prin metode de clustering Tehnicile principale de segmentare orientata pe contururi sunt: • extragerea contururilor prin metode de gradient şi derivative; • extragerea contururilor prin metode neliniare; • extragerea contururilor prin metode liniare optimale; • extragerea contururilor prin modelare matematică În continuare vor fi prezentate doar o parte dintre aceste tehnici, cele care sunt considerate a fi

semnificative.

7.1. Segmentarea orientată pe regiuni

7.1.1. Segmentarea bazată pe histogramă În general, operaţia de segmentare orientată pe regiuni urmăreşte extragerea din imagine a

zonelor (regiunilor) ocupate de diferitele obiecte prezente în scenă. Un obiect se defineşte ca o entitate caracterizată de un set de parametri ale căror valori nu se modifică în diferitele puncte ce aparţin entităţii considerate. Mai simplu, se poate spune că obiectul are proprietatea de uniformitate a parametrilor de definiţie.

Unul dintre cei mai simpli parametri de definiţie este nivelul de gri al punctului. Nivelul de gri, ce este preluat de senzorul de imagine şi asociat luminanţei imaginii, corespunde în scenă unei proprietăţi fizice (reflectanţă, transmitivitate etc.). În acest caz, histograma imaginii (funcţia de densitate de probabilitate a variabilei aleatoare discrete ale cărei realizări sunt nivelele de gri din imagine) reflectă distribuţia în scenă a proprietăţii fizice înregistrate.

Caracteristicile histogramei se bazează pe histograma unei regiuni din imagine. Dacă u este o variabilă aleatoare care reprezintă nivelul de gri într-o anumită zonă a imaginii, atunci se defineşte

Page 66: Popa - Prelucrarea numerica a imaginilor (2006).pdf

66

probabilitatea pu(x)=p[u=x], respectiv numărul pixelilor cu nivel de gri “x” raportat la numărul total al pixelilor din zonă, pentru x=0,1,...,L-1.

Pentru o imagine f de MxN pixeli şi L nivele de gri, histograma este definită ca probabilitatea (frecvenţa relativă) de apariţie în imagine a diferitelor nivele de gri posibile.

∑∑−

=

=

−=1

0

1

0)),((1)(

M

m

N

nnmfi

MNih δ , i=0,1,...,L-1 (7.1)

Dacă nivelul de gri (respectiv proprietatea fizică pe care acesta o reprezintă) caracterizează în mod suficient obiectele din scenă, histograma imaginii va prezenta o structură de moduri dominante - intervale de nivele de gri ce apar cu probabilitate mai mare. Fiecare asemenea mod (maxim al histogramei) va reprezenta o anumită categorie de obiecte.

7.1.2. Tehnici de fixare a pragului (thresholding) Separarea modurilor histogramei (şi deci identificarea obiectelor din imagine) se face prin

alegerea unui nivel de gri T, numit prag de segmentare. Acest prag de segmentare se alege pe minimul global al histogramei. Din imaginea iniţială f de nivele de gri se construieşte o imagine de etichete (imagine etichetată) g.

( ) ( )( )

<≤<≤

=LnmfTETnmfE

nmg,,,0,

,1

0 (7.2)

Imaginea etichetată va fi descrisă de două etichete: E0 pentru punctele al căror nivel de gri este mai mic decât pragul T şi E1 pentru punctele al căror nivel de gri este mai mare decât pragul T. Etichetele E0 şi E1 pot fi valori numerice (0 şi 1, sau 0 şi 255) sau pot fi şiruri de simboluri sau alţi identificatori. Această transformare este o transformare punctuală (noua valoare din punctul (m,n) depinde doar de valoarea anterioara din punctul (m,n)) şi poartă numele de binarizare. Aceasta denumire provine din faptul ca rezultatul transformării (imaginea etichetată) este o imagine binară - deci o imagine caracterizată doar de două valori. Se poate remarca de asemenea faptul că binarizarea este un caz particular al transformării de modificare liniară a contrastului, în care limitele domeniilor de contrastare sunt egale (T1=T2) şi contrastarea se face la valorile limită ale nivelelor de gri (α=0, β=L-1).

Segmentarea pe histogramă (numită şi prăguire sau thresholding) semnifică determinarea unor nivele de gri ce separă modurile histogramei. Tuturor punctelor din imagine al căror nivel de gri corespunde unui acelaşi mod, li se asociază o aceeaşi etichetă (număr, şir de simboluri), rezultând o imagine etichetată, ce pune în evidentă diferitele obiecte ale scenei iniţiale.

În cazul general al existenţei mai multor praguri de segmentare Tk, transformarea de segmentare pe histogramă este descrisă de: g(m,n)=Ek , dacă ( ) 1, +<≤ kk TnmfT , unde T0=0 , Tc=L , k=0,1,...,C-1. (7.3)

Pragurile Tk se aleg prin inspecţia histogramei, în minimele locale ale acesteia. Acest tip de segmentare multinivel este mai puţin eficientă decât binarizarea, din cauza dificultăţii de stabilire a pragurilor care să izoleze eficient intervalele de interes din histogramă, mai ales atunci când numărul modurilor este mare. Trebuie de asemenea remarcat faptul că este necesară cunoaşterea numărului de tipuri de obiecte din imagine, pentru alegerea corespunzătoare a numărului de praguri de segmentare. În marea majoritate a cazurilor, segmentarea obţinută nu este corectă (există regiuni prost etichetate); ca o regulă generală de îmbunătăţire a performanţelor, se recomandă aplicarea, înaintea segmentării, a unor operaţii de filtrare (eliminare a zgomotului), contrastare, îmbunătăţire, netezire a histogramei - numite preprocesări.

În general, se admite clasificarea metodelor de segmentare pe histogramă după atributele global, local şi dinamic. Aceste atribute se refera la modul de calcul al pragurilor de segmentare Tk în funcţie de nivelul de gri din fiecare punct al imaginii f(m,n), coordonatele punctelor din imagine (m,n) şi o anumită proprietate locală p(m,n) a punctului (m,n), conform ecuaţiei:

Tk = Tk ( f(m,n) , p(m,n) , (m,n) ) (7.4)

Page 67: Popa - Prelucrarea numerica a imaginilor (2006).pdf

67

Segmentarea se numeşte globală dacă pragurile depind doar de nivelele de gri ale punctelor imaginii: Tk = Tk ( f(m,n) ). Datorită acestui lucru se poate spune că segmentarea multinivel este în mod evident o metodă de tip global.

Segmentarea se numeşte locală dacă pragurile depind de nivelul de gri şi de anumite atribute locale calculate pentru vecinătăţi ale fiecărui punct:

Tk = Tk ( f(m,n) , p(m,n) ) (7.5) Segmentarea se numeşte dinamică dacă pragurile depind de poziţionarea punctelor în imagine

(forma cea mai generală a modului de deducere pragurilor).

7.1.3. Determinarea automată a pragurilor: metoda Bhattacharya Metoda Bhattacharyya se bazează pe descompunerea histogramei în moduri individuale

Gaussiene, adică se încearcă exprimarea histogramei imaginii ca o sumă ponderată de funcţii de densitate de probabilitate de tip normal (Gaussian). Modelarea modurilor histogramei imaginilor prin distribuţii normale este o presupunere ce se întâlneşte în multe tehnici de prelucrare şi analiză a imaginilor. Aceasta pare a fi justificată din considerentul că imaginea provenind dintr-o imagine ideală, în care fiecare tip de obiect este reprezentat de un unic nivel de gri, peste care s-a suprapus un zgomot alb, aditiv, gaussian. În acest mod, mediile modurilor din histogramă corespund nivelelor de gri ce caracterizează obiectele scenei, iar variantele acestor moduri sunt determinate de zgomotul suprapus imaginii (care nu este obligatoriu să afecteze în acelaşi mod toate nivelele de gri).

Pentru segmentarea după metoda Bhattacharyya nu este necesară precizarea unui număr de clase (praguri de segmentare), acesta urmând a fi determinat în mod automat.

( )( )( )

2

2

21, k

kx

kkk e

RxN σ

µ

πσσµ

−−

= (7.6)

Ideea de plecare a metodei este de a determina parametrii caracteristici ai unei distribuţii normale. Pentru o distribuţie normală derivata logaritmului este:

( )

kkk

k

k

kk nxmxx

xN+=+= 22

,lnσµ

σδσµδ

(7.7)

Se observă prin examinarea expresiei de mai sus că derivata logaritmului distribuţiei normale este o dreaptă de pantă negativă, din ai cărei parametri se pot deduce media şi varianta distribuţiei. Parametrii statistici ai distribuţiei sunt daţi de ecuaţiile de mai jos:

k

k m1

=σ şi k

kk m

n=µ (7.8)

Această observaţie poate fi aplicată şi pentru o mixtură de distribuţii normale. Dacă se consideră că ca histograma h a imaginii este compusă prin superpoziţia aditivă a C moduri gaussiene N(µk, sk) , adică :

( ) ( )( )∑=

=C

kkkk xNwxh

1,σµ (7.9)

Din parametrii dreptei se pot determina deci parametrii statistici ai distribuţiei locale.Aşadar, pentru aplicarea metodei la segmentarea pe histogramă a imaginilor, se va studia comportamentul derivatei logaritmului histogramei, adică a funcţiei z(a):

( ) ( )( ) 1,1,

1ln −=

−= La

ahahaz (7.10)

Pentru funcţia astfel construită, se determină intervalele pe care acesta este descrescătoare;

limitele superioare ale acestor intervale sunt pragurile Tk de segmentare pe histogramă.

Page 68: Popa - Prelucrarea numerica a imaginilor (2006).pdf

68

Suplimentar, pe fiecare dintre aceste intervale se poate face o aproximare liniară a punctelor şi pe baza parametrilor deduşi pentru dreapta de aproximare se pot calcula, parametrii statistici locali.

Principalele inconveniente ale metodei derivă din faptul că presupunerea alcătuirii histogramei imaginii numai din moduri gaussiene nu este întotdeauna adevărată. Ca rezultat, metoda Bhattacharrya va identifica un număr mai mare de praguri decât este necesar, producând fenomenul de suprasegmentare.

7.1.4. Segmentarea cu prag optim Metoda de segmentare cu prag optim face apel la teoria deciziilor (criteriul de decizie Bayes)

pentru stabilirea valorii pragurilor de segmentare ce optimizează un anumit criteriu de eroare. Informaţiile apriori necesare pentru aplicarea unei asemenea tehnici sunt numărul de tipuri de obiecte din imagine, C, procentele de ocupare a imaginii de către fiecare tip de obiecte, Pi şi distribuţia nivelelor de gri ce caracterizează fiecare tip de obiect, pi(x). Atunci histograma imaginii va fi determinata de mixtura distribuţiilor tipurilor de obiecte:

( ) ( )∑ ∑= =

==C

i

C

iiii PxpPxh

1 11, (7.11)

Cazul cel mai simplu şi mai des folosit este cel al binarizării, în care trebuie determinat un unic prag T ce separă distribuţiile celor două tipuri de obiecte din imagine (în mod tipic, obiecte “utile” şi fundal). Criteriul ce se urmăreşte optimizat este eroarea de segmentare (clasificare) a punctelor din imagine, adică este dat de numărul de pixeli ce aparţin primului tip de obiect, dar au nivelul de gri mai mare ca pragul T (fiind deci alocaţi greşit celui de-al doilea tip de obiect) şi numărul de pixeli ce aparţin celui de-al doilea tip de obiect, dar au nivelul de gri mai mic decât pragul de segmentare T (fiind deci alocaţi greşit primului tip de obiect). Aşadar, eroarea de segmentare va fi dată de:

( ) ( ) ( )∫ ∫+∞

∞−

+=T

T

dxxpPdxxpPTE 2211 (7.12)

Pragul optim va minimiza eroarea de segmentare a pixelilor. Minimizarea erorii conduce la rezolvarea ecuaţiei, în necunoscuta T:

( ) 0=∂

∂TTE (7.13)

Derivând se obţine forma echivalentă a ecuaţiei: ( ) ( )TpPTpP 2211 = .

După cum a fost menţionat şi în secţiunea dedicată tehnicilor de segmentare ce nu folosesc informaţii apriori despre imagine (metoda Bhattacharyya), presupunerea că distribuţia nivelelor de gri a diferitelor tipuri de obiecte este de tip normal (Gaussian) este relativ des întâlnită. în aceste condiţii, distribuţiile p1(x) şi p2(x) sunt distribuţii normale, N1(µ1,s1)(x) şi N2(µ2,s2)(x), iar ecuaţia devine:

( ) ( )

22

22

21

21

2

22

2

11 2

121 σ

µσµ

πσπσ

−−

−−

=TT

ePeP (7.14)

Prin logaritmare, se obţine următoarea ecuaţie de gradul 2 în necunoscuta T:

0ln2211

12

2122

22

21

21

22

221

122

21

2 =−

−+

−−

σσ

σµ

σµ

σµ

σµ

σσ PP

TT (7.15)

Una dintre simplificările uzuale este presupunerea că s1=s2=s. Această presupunere implică modelarea imaginii în nivele de gri ca o imagine cu doar două nivele de gri µ1 şi µ2, afectată de un zgomot Gaussian aditiv, având varianta s2. În aceste condiţii, ecuaţia de gradul 2 devine o ecuaţie liniară, a cărei soluţie este:

Page 69: Popa - Prelucrarea numerica a imaginilor (2006).pdf

69

2

1

21

221 ln

2 PPT

µµσµµ−

−+

= (7.16)

Metoda se poate extinde şi pentru imagini ce conţin mai mult de două tipuri de obiecte. În acest caz este însă necesară presupunerea suplimentară de localizare a modurilor, astfel încât să se poată considera, ca şi în cazul metodei Bhattacharyya, că influenţa fiecărui mod este limitată la intervale nesuprapuse de nivele de gri.

7.1.5. Creşterea şi fuziunea regiunilor Pentru aplicarea cu succes a tehnicilor de segmentare pe histogramă prezentate anterior

trebuiesc îndeplinite neapărat câteva condiţii (deja enunţate). Aplicarea tehnicilor de segmentare pe histogramă este condiţionată în primul rând de reprezentarea diferitelor clase de obiecte din imagine pe intervale de nivele de gri diferite care nu se suprapun (sau se suprapun parţial pe porţiuni foarte mici). Apoi este necesară cunoaşterea numărului de tipuri de obiecte diferite. Dar se presupune că valorile prag corespunzătoare se pot determina cu o precizie destul de mare.

Chiar dacă toate aceste condiţii enunţate sunt îndeplinite, nu se poate garanta condiţia de conexitate a regiunilor obţinute în urma segmentării. Acest lucru este evident, atât timp cât două obiecte de acelaşi tip, neconexe, primesc prin segmentarea pe histogramă o aceeaşi etichetă, şi formează în imaginea de etichete o regiune neconexă. O metodă care respectă toate condiţiile impuse de definiţia matematică a segmentării este creşterea regiunilor. Creşterea regiunilor

Principiul pe care se bazează creşterea regiunilor este simplu: se aleg în imagine puncte reprezentative pentru fiecare obiect individual şi categorie de obiecte, pe baza cărora are loc un proces de aglomerare a pixelilor vecini acestora, ce au aceleaşi proprietăţi (în particular acelaşi nivel de gri). În urma acestui proces de aglomerare (adăugare de puncte) se obţin zone (regiuni) de pixeli cu aceleaşi caracteristici, deci obiecte individuale. Procesul se opreşte în momentul în care fiecare punct al imaginii a fost alocat unei regiuni. Evident, metoda astfel descrisă pe scurt, are doua etape esenţiale: alegerea punctelor de start (puncte iniţiale), numite germeni sau seminţe, şi creşterea propriu-zisă a regiunilor.

Numărul final de regiuni rezultate este egal cu numărul de germeni aleşi iniţial pentru creştere. În principiu, este de dorit ca fiecare obiect individual aflat în imagine să fie marcat de câte un germene. Dacă în interiorul unui aceluiaşi obiect se găsesc mai mulţi germeni, pentru fiecare dintre ei va fi crescută o regiune, iar acesta determină ca obiectul iniţial să fie împărţit artificial prin segmentare în mai multe regiuni. Parţial, acest neajuns se poate corecta printr-o etapă ce urmează creşterii regiunilor, şi anume fuziunea regiunilor adiacente ce au proprietăţi asemănătoare. Dacă în interiorul unui obiect nu este ales nici un germene, obiectul respectiv va fi înglobat de regiunile ce cresc pornind de la germeni din vecinătatea sa spaţială, iar astfel, respectivul obiect nu apare ca o regiune distinctă şi este pierdut, rezultând o eroare gravă de segmentare.

Pentru a preveni efectul unor neuniformităţi de iluminare pe suprafaţa imaginii, aceasta este împărţită în ferestre nesuprapuse. În fiecare astfel de fereastră se alege un număr de germeni, al căror plasament spaţial este aleator (germenii se distribuie uniform pe suprafaţa imaginii). Germenii se aleg astfel încât nivelul lor de gri să fie reprezentativ pentru obiectele prezente local (deci nivelul de gri al germenilor trebuie să corespundă unor maxime ale histogramei locale). În plus, trebuie verificat ca plasamentul spaţial al germenilor să se facă în interiorul regiunilor şi nu pe frontiera acestora. Verificarea se poate face simplu pe baza calculului unui operator derivativ local, ca de exemplu laplacianul, dacă valoarea acestuia nu depăşeşte un anumit procent prestabilit (10% - 20%) din diferenţa maximă de nivele de gri a ferestrei, punctul ales este considerat ca plasat corect.

O verificare suplimentară încearcă să prevină o eventuală suprasegmentare (împărţirea artificială a unui acelaşi obiect în mai multe regiuni), eliminând germenii plasaţi în interiorul aceluiaşi obiect. Verificarea se face pe baza calculului variaţiei nivelelor de gri de-a lungul drumurilor arbitrare ce unesc perechi de germeni. Daca există o cale ce uneşte doi germeni de-a

Page 70: Popa - Prelucrarea numerica a imaginilor (2006).pdf

70

lungul căreia nivelul de gri nu variază cu mai mult de 20% - 30% din diferenţa maximă a nivelelor de gri din fereastră, cei doi germeni sunt plasaţi în interiorul unei zone de nivele de gri uniforme, deci în interiorul unui acelaşi obiect. În aceste condiţii unul dintre cei doi germeni ai perechii este eliminat, deoarece este redundant. Dacă de-a lungul tuturor căilor ce unesc perechea de germeni nivelul de gri variază mai mult decât pragul ales, atunci se consideră că cei doi germeni sunt plasaţi în interiorul unor obiecte diferite (deoarece căile ce unesc germenii traversează regiuni de frontieră). În practică, examinarea tuturor drumurilor (căilor) ce unesc perechi de germeni este extrem de costisitoare din punctul de vedere al timpului de calcul. De aceea se verifică doar căile formate din segmente verticale şi orizontale, şi eventual, dreapta ce uneşte cele două puncte (dacă această dreaptă poate fi reprezentată de o secvenţă de puncte conexe).

Valorile procentuale ale pragurilor de comparaţie, precum şi numărul de germeni distincţi ce rămân după procesul de reducere, nu trebuie considerate ca fixe; nu există valori standardizate şi alegerea acestora se face pe baza condiţiilor particulare (legate de conţinutul imaginii) şi a experienţei utilizatorului.

Pornind de la germenii aleşi, regiunile sunt obţinute printr-un proces de creştere aproape simultană, început de la aceştia, până când toţi pixelii imaginii sunt repartizaţi unei regiuni. Cvasi-simultaneitatea creşterii poate fi realizată cu un algoritm serial, prin alocarea pixelilor ce sunt adiacenţi (vecini) zonelor deja segmentate. Această alocare trebuie să ţină seama de criteriul ca regiunile crescute să fie uniforme: nivelul de gri al pixelului ce se adaugă nu trebuie să difere cu mai mult de un prag prestabilit faţă de nivelul de gri al germenului regiunii la care se alocă. În acelaşi timp, la o singura trecere, numărul de puncte ce se adaugă unei regiuni nu poate depăşi un număr prestabilit (condiţia încearcă să asigure creşterea relativ uniformă şi izotropă a tuturor regiunilor).

Dacă adăugarea de noi pixeli se blochează (criteriul de uniformitate nu mai este respectat), diferenţa maxim admisă pentru nivelul de gri poate fi crescută în etape, până la epuizarea pixelilor imaginii.

Avantajele pe care le are o asemenea tehnică de creştere a regiunilor sunt acelea că nu mai este necesară nici o informaţie privind conţinutul imaginii, regiunile crescute sunt conexe şi nu există puncte neetichetate (nealocate vreunei regiuni) şi poziţia frontierelor dintre diferitele regiuni corespunde poziţiei frontierelor percepute subiectiv în imagine.

Fuziunea regiunilor

O extindere a principiului utilizat în creşterea regiunilor, şi anume adăugarea la o regiune a unor entităţi (pixeli în acest caz) a căror proprietăţi sunt similare cu cele ale obiectului de bază (regiunea), se află la baza tehnicilor de fuziune a regiunilor. Fuziunea regiunilor constă în reunirea iterativă a regiunilor adiacente (începând de la nivelul unor entităţi atomice ale imaginii - deci pixelii) până când regiunile adiacente devin suficient de diferite. Procesul de fuziune a regiunilor poate fi aplicat şi în urma unei creşteri a regiunilor, pentru a înlătura efectele unei eventuale suprasegmentări. Există mai multe criterii de fuziune a regiunilor adiacente, a căror acţiune de verificare a deosebirii între regiuni se face fie prin inspecţia frontierei comune, fie prin caracterizarea interiorului regiunii.

Pentru două regiuni adiacente Ri şi Rj, al căror perimetru este Perim(Ri) şi Perim(Rj), putem determina Pm=min (Perim(Ri), Perim(Rj)) şi P lungimea frontierei comune. Pe această frontieră comună se disting puncte slabe (ns) şi puncte tari (nt). Un punct slab este acel punct pentru care diferenţa nivelelor de gri între vecinii din regiunile adiacente este foarte mică (mai mică decât un anumit prag fixat). Un punct tare este acel punct pentru care diferenţa de nivele de gri între vecinii din regiunile adiacente este foarte mare (mai mare ca un anumit prag fixat). Cu aceste notaţii, criteriile de fuziune a regiunilor Ri şi Rj sunt:

• dacă numărul de puncte slabe raportat la perimetrul minim este important, ns/Pm>q1 • dacă numărul de puncte slabe de pe frontiera comună este mare, ns/P>q2 • dacă numărul de puncte tari de pe frontiera comună este mic, nt/P<q3.

Page 71: Popa - Prelucrarea numerica a imaginilor (2006).pdf

71

Parametrul q1 controlează dimensiunea regiunilor ce se unesc şi se alege în general cu valoarea 0.5 (de exemplu o valoare apropiata de 1 implică unirea a două regiuni numai dacă una dintre ele este aproape înconjurată de cealaltă). Valori tipice pentru parametrii q2 şi q3 sunt 0.75 şi 0.2.

Abordarea fuziunii pe baza caracterizării interiorului regiunilor necesită definirea a două componente: o modalitate de caracterizare a proprietăţilor regiunilor şi o modalitate de a defini „apropierea” sau similaritatea dintre trăsături în termeni numerici. Vectorul de trăsături ce caracterizează o regiune se compune din momente statistice ale variabilei aleatoare ale cărei realizări particulare sunt nivelele de gri din regiunea respectivă, nu pot lipsi din acest vector nivelul de gri mediu al regiunii şi varianta acestuia.

7.2. Segmentarea orientată pe contururi Într-o imagine, variaţiile de valoare ale pixelilor reprezintă schimbări ale proprietăţilor fizice

sau geometrice ale scenei sau ale obiectului observat. Aceste schimbări pot corespunde fizic la variaţiile iluminării, la schimbările de orientare sau de distanţa faţă de observator, schimbări de reflectanţă ale suprafeţelor, variaţii de absorbţie a radiaţiei. Într-un număr mare de cazuri, aceste variaţii de intensitate sunt informaţii importante pentru operaţiile ce urmează segmentării, informaţii ce corespund frontierelor regiunilor determinate de obiectele scenei.

7.2.1. Metode derivative Principiul acestei metode constă în definirea punctelor de contur ca fiind acei pixeli ai

imaginii în care apar schimbări importante (abrupte) ale nivelului de gri. Deci, măsurarea acestei variaţii se va face prin operatori derivativi de tip gradient.

Pentru o imagine cu suport spaţial continuu, pe direcţia unei muchii, derivata va fi maximă. Derivata imaginii pe direcţia r, ce face unghiul θ cu orizontala, este dată de combinaţia liniară a derivatelor parţiale pe direcţiile orizontală şi verticală:

θθ sincosyf

xf

rfyf

rxxf

rf

∂∂

+∂∂

=∂⋅∂∂⋅∂

+∂⋅∂∂⋅∂

=∂∂

θθ sincos yx ffrf

+=∂∂ (7.17)

Valoarea maximă a acestei derivate, calculate după unghiul θ este determinată de ecuaţia :

0cossin =+=

∂∂

∂∂ θθθ yx ff

rf ce are soluţia evidentă:

=

x

y

ff

arctg0θ (7.18)

Pe această direcţie, modulul gradientului este: 22

maxyx ff

rf

+=

∂∂ (7.19)

Din punct de vedere practic, implementarea acestei metode implică calcularea, pentru fiecare punct al imaginii, derivatelor parţiale fx şi fy, calcularea modulului gradientului maxim şi a direcţiei acestuia. Valoarea gradientului maxim din fiecare punct al imaginii este apoi comparată cu un prag fixat: dacă pragul este depăşit (deci gradientul maxim în pixelul respectiv este suficient de important) atunci pixelul testat este pixel de contur.

Realizarea derivatelor parţiale după direcţiile orizontală şi verticală implică translaţia în

discret a lui fx şi fy: ( )m

nmfxff x ∆

∆=

∂∂

=, , ( )

nnmf

yff y ∆

∆=

∂∂

=, (7.20)

Aceste derivate parţiale discrete pot avea mai multe implementări: fx = f(m,n) - f(m+1,n), fy = f(m,n) - f(m,n+1) fx = f(m-1,n) - f(m,n), fy = f(m,n-1) - f(m,n) (7.21) fx = f(m-1,n) - f(m+1,n), fy = f(m,n-1) - f(m,n+1)

Page 72: Popa - Prelucrarea numerica a imaginilor (2006).pdf

72

Toate expresiile date sunt combinaţii liniare ale valorilor unor pixeli din imagine, situaţi în vecinătatea pixelului curent din poziţia (m,n). Deci toate aceste operaţii se pot realiza prin filtrări liniare cu măşti potrivite:

( )

=−=1

1,11 yx WW ( )

−=−=

101

,101 yx WW ( )

−=−=

11

,11 yx WW (7.22)

Harta de orientări este o imagine care conţine, pentru fiecare pixel, orientarea gradientului de modul maxim în punctul respectiv, şi în general este folosită la prelucrarea suplimentară a contururilor (conectare de contururi, extragere direcţională de contururi). Harta de contururi este o imagine binară în care punctele marcate (puncte-obiect) corespund poziţiei punctelor de contur (puncte cu gradient de modul mare). O simplificare uzuală practicata este înlocuirea normei L2 din calculul modulului maxim al gradientului cu norma L1, ceea ce conduce la aproximarea:

yx ffrf

+=

∂∂

max

(7.23)

Folosirea măştilor de derivare pe verticală şi orizontală prezentate are însă serioase neajunsuri: dimensiunea lor mică face ca rezultatele să fie extrem de sensibile în prezenţa zgomotului. În aceste condiţii a apărut naturală ideea de a combina filtrarea de derivare cu o filtrare de netezire, care să mai reducă efectele zgomotului. Considerând zgomotul de tip gaussian, aditiv, filtrarea de netezire are ca efect secundar micşorarea contrastului frontierelor obiectelor din imagine (efectul de înceţoşare, sau blur). Pentru ca în aceste condiţii detecţia contururilor să nu fie afectată, trebuie ca operaţia de mediere prin care se realizează netezirea să se facă pe o direcţie perpendiculară direcţiei contururilor căutate. Atunci derivarea pe verticală se combină cu o operaţie de netezire cu masca orizontală ( )3/13/13/1 şi derivarea pe orizontala se combină cu o operaţie

de netezire cu masca verticală

3/13/13/1

.

Dacă se foloseşte pentru derivare masca Wy, masca de filtrare rezultantă va fi:

−−− 3/1

3/13/1

3/13/1

3/1 (7.24)

În cazul general se pot folosi pentru netezire medieri ponderate (şi nu neapărat medieri aritmetice), care să acorde o mai mare importanţă pixelului curent prelucrat, ca de exemplu

( )112/1 cc + şi se preferă folosirea operatorilor de derivare simetrici. Ceea ce rezultă pentru operatorii de derivare orizontală şi verticală sunt măştile:

−−−

=101

0101ccWx

−−−=

1100011

c

cWy (7.25)

Prin particularizarea valorilor constantei de ponderare c se pot obţine diferite tipuri de operatori de extragere de contur clasici: Prewitt (c=1), Izotrop (c=2), Sobel (c=2). Se remarcă faptul că, constanta de ponderare globală a măştii de filtrare este neesenţială, întrucât condiţia de normare ce trebuie îndeplinită este cea pentru filtre de contrastare (derivare): suma coeficienţilor măştii să fie nulă.

Informaţia de orientare este în general folosită în etapele următoare ale prelucrării. Unghiurile determinate oferă un unghi “exact” al direcţiei conturului în punctul curent, calculat cu un efort semnificativ de calcul (împărţire şi calcul de arctg). În practică, această informaţie este prea exactă: pe grila pătrată de eşantionare nu se pot reprezenta cu uşurinţă drepte continue după orice direcţie.

Page 73: Popa - Prelucrarea numerica a imaginilor (2006).pdf

73

Câteva direcţii sunt favorizate şi uşor de utilizat (vertical, orizontal, cele două diagonale). În acest caz se poate măsura în fiecare punct, modulul gradientului după aceste câteva direcţii importante, şi apoi se poate alege direcţia după care acest modul este maxim. Acesta este principul operatorilor compas.

Un operator compas este definit de un număr de măşti de derivare (corespunzătoare în continuare unor filtrări liniare) pe direcţiile principale (vertical, orizontal, cele două diagonale), în cele două sensuri. Compasul clasic are D=8 măşti de filtrare (identice două câte două, mai puţin semnul), fiecare dintre ele realizând o derivare după o direcţie multiplu de 45°. Se remarcă faptul ca, odată determinată valoarea maximă a modulului gradientului în pixelul curent (m,n), obţinerea harţii de contururi se face ca şi la un operator de gradient clasic.

Un exemplu de măşti de derivare direcţională sunt măştile următoare (indexate după direcţia geografică pe care se calculează derivata):

WN=[-1 -1 -1; 0 0 0; 1 1 1]; WNV=[-1 -1 0; -1 0 1; 0 1 1]; WV=[-1 0 1; -1 0 1; -1 0 1]; WSV=[0 1 1; -1 0 1; -1 -1 0]; WS=[1 1 1; 0 0 0; -1 -1 -1]; WSE=[1 1 0; 1 0 -1; 0 -1 -1]; WNE=[0 -1 -1; 1 0 -1; 1 1 0]; WE=[1 0 -1; 1 0 -1; 1 0 -1]; După cum se remarcă, familia de măşti se poate genera pornind de la una dintre măştile

Prewitt, prin translaţii circulare cu o poziţie a frontierei măştii în jurul centrului ei; în mod analog se pot obţine operatori compas bazaţi pe masca Sobel sau pe gradientul izotrop sau pe masca Kirsch: [5 5 5; -3 0 -3; -3 -3 -3].

Precizia unghiulară a operatorilor compas este deci determinată de numărul de orientări diferite pe care se calculează derivatele, şi deci de numărul de translaţii ale frontierei măştii. Pentru o mască pătrată de bază, de dimensiune N, precizia unghiulara a operatorului compas este de 90° /(N-1).

Unul dintre principalele dezavantaje ale metodelor de gradient este precizia slabă de localizare a conturului (a centrului tranziţiei) în condiţiile unei pante puţin abrupte a acestuia (tranziţii slabe, graduale). Derivata a doua poate fi însă folosită pentru a determina capetele tranziţiei (cele două extreme), sau pentru a marca centrul tranziţiei (trecerea sa prin zero).

Metodele prezentate mai sus sunt utile mai ales pentru tranziţii bruşte ale nivelelor de gri, ca în cazul funcţiilor-treaptă (salturi alb-negru sau invers).

Dacă regiunea de tranziţie este mai largă (saltul este mai lin), este mai avantajos să se folosească derivatele de ordin doi în locul gradienţilor. Un operator des întâlnit este operatorul Laplace, definit ca:

2

2

2

22

yf

xff

∂∂

+∂∂

=∇ (7.26)

Operatorul Laplace poate fi aproximat, în varianta discretă, sub forma unei matrici centrate în jurul elementului asupra căruia se aplică:

−−−

010141

010

−−−−−−−−

111181111

−−−

121242

121 (7.27)

Datorită derivatei de ordinul doi, acest operator este mai sensibil la zgomot decât cei definiţi

anterior. De asemenea, la extragerea conturului prin limitare cu prag se vor obţine contururi duble. Din aceste motive şi, totodată, deoarece nu este capabil să detecteze direcţia contururilor, operatorul Laplace ca atare nu este foarte des utilizat. O modalitate mai bună o constituie folosirea trecerilor prin zero pentru detecţia locaţiilor conturului sau muchiei. Un operator laplacian generalizat, care

Page 74: Popa - Prelucrarea numerica a imaginilor (2006).pdf

74

aproximează laplacianul funcţiilor gausiene (LOG) este foarte potrivit pentru detecţia trecerilor prin zero. El se defineşte ca:

( ) ( )

+−⋅

+−= 2

22

2

22

2exp1,

σσnmnmcnmh (7.28)

unde σ controlează lăţimea funcţiei gaussiene, iar c realizează o normalizare a sumei elementelor măştii date la valoarea unitară. Trecerile prin zero ale unei imagini, convoluţionate cu h(m,n), vor da locaţiile muchiilor.

Operatorul h(m,n) reprezintă răspunsul eşantionat la impuls al unui filtru analogic trece-bandă, a cărui răspuns în frecvenţă este proporţional cu: ( ) ( )[ ]2

22

122

22

1 2exp ξξσξξ +−+ (7.29) Din această cauză, detectorul de treceri prin zero este echivalent cu un filtru trece-jos având

un răspuns la impuls de tip gaussian, urmat de un operator Laplace. Filtru trece-jos este util pentru atenuarea sensibilităţii la zgomot a operatorului Laplacian, iar parametru σ controlează răspunsul în amplitudine al filtrului, dar nu afectează locaţia trecerii prin zero.

O informaţie utilă referitoare la direcţia muchiilor se poate obţine căutând trecerile prin zero ale derivatei de ordinul doi de-a lungul unei drepte r, pentru fiecare direcţie posibilă θ :

θθθθθθ 22

222

2

2

2

2

sincossin2cossincosy

fyxf

xf

rf

rf

rf yx

∂∂

+∂∂

∂+

∂∂

=∂

∂+

∂∂

=∂∂ (7.30)

Trecerile prin zero vor fi căutate prin modificarea unghiului θ.

7.2.2. Metoda filtrelor trece-sus Contururile pot fi accentuate utilizând un filtru trece-sus, caracterizat prin funcţia de transfer

H(ωx, ωy), deoarece schimbările de strălucire corespund frecvenţelor spaţiale ωx şi ωy înalte. Metoda prezintă unele dezavantaje importante care o fac neutilizabilă la sistemele uzuale:

a) volum mare de calcul; b) nu furnizează indicaţii cu privire la proprietăţile locale ale imaginii; c) accentuează zgomotul mai mult decât metodele locale.

7.2.3. Extragerea conturului din imagini binarizate În cazul imaginilor (alb-negru) binare, extragerea conturului poate fi făcută utilizând

algoritmi simpli şi rapizi bazaţi pe funcţii logice. Matricea care reprezintă imaginea binarizată este baleiată pe linii şi pe coloane în vederea detectării salturilor 0→1 sau 1→0 şi în final se obţine o nouă imagine binară ale cărei elemente C(i,j) au valoarea 1 dacă punctul respectiv aparţine conturului şi 0 în rest. Baleerea se face cu o fereastră centrată în punctul (i,j). Valoarea centrală se înlocuieşte cu:

( ) ( )I U U U 312222 ', bbcabbjiC == (7.31)

Aplicarea algoritmului de mai sus introduce erori în cazul unghiurilor drepte ce au laturile paralele cu axele şi corespund unor porţiuni convexe.

Un alt exemplu de algoritm de extragere a liniilor de contrast din imaginea binarizată înlocuieşte b2 cu valoarea logică 1, iar dacă b2 = 1 şi există cel puţin un element nul în vecinătatea pixelului prelucrat C(i,j)=0. În acest caz, funcţia logică ce caracterizează filtru de extragere a conturului este dată de relaţia:

( )I U U U U U U U 3' 213132122 cccbbaaabb = (7.32) Algoritmul de mai sus dublează liniile de contrast înclinate la 450 ceea ce poate avea efecte

negative la calculul unor trăsături geometrice (perimetrul). În acest caz este necesară subţierea conturului.

Se constată că algoritmul nu introduce erori importante în interpretarea imaginii.

Page 75: Popa - Prelucrarea numerica a imaginilor (2006).pdf

75

8. Analiza de imagine

Distincţia dintre prelucrarea imaginilor şi analiza imaginilor constă în faptul că cea de a doua se ocupă cu extragerea informaţiilor din imagine,în timp ce prelucrarea imaginilor este ştiinţa care se ocupă cu rearanjarea imaginilor. Valorile pixelilor pot fi alterate datorită pixelilor vecini, datorită strălucirii acestora sau dacă locul lor în cadrul matricii a fost schimbat, dar cantitatea de pixeli rămâne aceeaşi pe durata prelucrării imaginii. În schimb, analiza imaginilor încearcă să găsească acei parametrii descriptivi, de obicei numerici, care reprezintă acea informaţie importantă din imagine.

Măsurările care pot fi executate asupra filmelor de imagini pot fi grupate în patru clase, măsurări asupra strălucirii, locaţiei, mărimii şi formei. Pentru fiecare clasă în parte se pot realiza o mare varietate de măsurători şi, în acelaşi timp, există o mulţime de căi diferite pentru realizarea acestor operaţii. Cele mai multe sisteme de analiză oferă cel puţin câteva tipuri de măsurători pentru fiecare clasă precizată. În procesul de analiză, operatorii găsesc la un moment dat singuri aceste operaţii, ţinând cont de faptul că lucrează cu diferiţi parametrii care trebuie măsuraţi. După cum am precizat anterior, cele mai multe tehnici produc un răspuns numeric pentru o analiză statistică sau pentru o reprezentare grafică. De cele mai multe ori interpretarea datelor rămâne pentru un alt program. În puţine cazuri numerele sunt convertite în decizii de a face/a nu face ceva. Extragerea caracteristicilor imaginii presupune separarea caracteristicilor spaţiale, a caracteristicilor de tip transformare, separarea muchiilor şi contururilor, a caracteristicilor de formă, de textură şi a caracteristicilor statice ale imaginii. Segmentarea imaginii presupune identificarea modelului, detecţia de contur, clasificarea şi gruparea obiectelor etc. Clasificarea şi descrierea obiectelor dintr-o imagine presupune gruparea acestora, statistica şi realizarea de arbori decizionali, măsurarea similarităţii cu imaginea iniţială.

8.1 Măsurarea imaginilor

8.1.1 Măsurarea strălucirii După cum s-a prezentat în primul capitol al acestei cărţi, fiecare pixel dintr-o imagine are o

anumită valoare numerică, care, de cele mai multe ori, este strălucirea punctului corespunzător din scena originală. Câteva astfel de valori pot fi combinate pentru a reprezenta informaţia color. Cel mai folosit domeniu al valorilor strălucirii este de la 0 la 255 (pe 8 biţi), dar depinde de tipul camerei foto, al scanner-ului sau al altui echipament care poate să lucreze pe 10 sau chiar pe 16 biţi (de la 0 la 65535). Rareori, valorile stocate pot fi numere reale în locul numerelor întregi. Oricum, în cele mai multe cazuri, aceste imagini sunt stocate şi cu un set discret de valori „gri”, deoarece este mai uşor să lucrezi cu asemenea şiruri şi să le converteşti apoi pentru a le arăta. În aceste cazuri o matrice calibrată sau o funcţie este ţinută pentru a converti valorile întregi la valorile reale asociate când este nevoie.

Procesul de a crea o asemenea funcţie calibrată pentru o anumită imagine nu este deloc uşor. Multe camere foto sau alte dispozitive care achiziţionează imagini nu sunt liniare sau logaritmice, dar în acelaşi timp nici nu au o consistenţă completă a relaţiei dintre valoarea numerică a pixelului şi valoarea semnalului de la intrare. Prezenţa circuitelor automate de câştig sau a adaptoarelor de control de către utilizator, face mai dificilă stabilirea şi menţinerea oricărui tip de calibrare. Chiar şi atunci când poate fi folosită o sursă stabilă de lumină şi o cameră care poate fi acordată, rămâne problema calibrării. Măsurarea strălucirii unei regiuni dintr-o probă poate fi folosită destul de des pentru a ţine un sistem calibrat. În scanarea unor suprafeţe simple este practic să se încorporeze câteva standarde de densitate pentru ca această calibrare să se realizeze direct. Densitate optimă este

definită ca fiind:0

10.IILogDO = , unde

0II este raportul din lumina incidentă care penetrează fără

a fi absorbită sau împrăştiată. Dacă se foloseşte o cameră foto sau un scanner şi o sursă de lumină

Page 76: Popa - Prelucrarea numerica a imaginilor (2006).pdf

76

aleasă cu grijă astfel încât toate valorile strălucirii converg în ranguri ale densităţii de la 0,1 la 2,5 atunci, rezultatul calibrării strălucirii, folosind densitatea optică, este prezentat în figura 8.1.

Fig.8.1 Strălucirea pixelilor Când imaginile color sunt digitizate, se amplifică problema de a avea destui biţi pentru a da o

precizie suficientă pentru fiecare plan de culoare. Multe dintre scanner-ele de ultimă generaţie folosesc mai mult de 8 biţi pentru planurile RGB, îi folosesc pentru a determina informaţia color şi, apoi creează o reprezentare pe 8 biţi optimizată pe care o transmit calculatorului. Dar, chiar şi cu această creştere a preciziei, este dificil să achiziţionezi reprezentări color exacte.

Valorile strălucirii pixelilor nu trebuie să fie densităţi optice ci, bineînţeles, componente informaţionale color. Imaginile sunt atât de folositoare pentru a transmite informaţii oamenilor încât sunt folosite pentru toate tipurile de date. În imaginile cu raze X de la SEM, valorile strălucirii sunt aproximativ proporţionale cu concentraţia elementelor. Aceste relaţii nu sunt neapărat liniare şi nici nu sunt uşor de calibrat.

În imaginile în infraroşu, strălucirea reprezintă o măsură a temperaturii. Imaginile cu împrăştierea retrogradă a electronilor de la microscopul pentru scanarea electronilor au valori ale strălucirii care cresc prin însumarea numărului atomic, deci pot fi folosite pentru a determina compoziţia chimică a unei probe de substanţă.

Aceste exemple sunt unele din multele cazuri în care se pot folosi valorile pixelilor pentru a determina unele caracteristici ale componentelor care apar în imagine. Dar, o tehnică des folosită pentru analiza informaţiilor conţinute într-o imagine o reprezintă măsurarea valorilor stocate şi conversia lor pe o scală calibrată. Analiza statistică a datelor foloseşte valoarea medie şi deviaţia standard, direcţia poziţiei, sau comparaţii între locaţiile punctelor din cadrul aceleiaşi imagini sau dintre imagini diferite. Pentru o asemenea metodă de lucru este important să fie stabilită o curbă de calibrare folositoare, care să ceară standarde şi/sau cunoştinţe fundamentale.

8.1.2 Determinarea locaţiei În unele exemple de măsurare a valorii strălucirii, este necesară determinarea locaţiei figurii

pentru a se putea realiza interpretarea rezultatelor. Pentru o figură neregulată care se întinde peste mai mulţi pixeli există mai multe definiţii diferite ale locaţiei, unele mai uşor de calculat decât altele. De exemplu, coordonatele (x,y) ale punctului din centrul unei figuri pot fi determinate simplu ca jumătate dintre limitele maximă şi minimă a pixelilor din figură. Normal şi adresele pixelilor sunt valori întregi care numerotează poziţia, cel mai des începând din colţul stânga sus al matricii. Această convenţie este dată de modul în care lucrează cele mai multe calculatoare, folosind o baleiere care începe din colţul stânga sus.

Page 77: Popa - Prelucrarea numerica a imaginilor (2006).pdf

77

Limitele maximă şi minimă ale unei figuri sunt uşor de determinat prin găsirea pixelilor cu cea mai mare/mai mică valoare a coordonatelor pe orizontală şi verticală. Aceste coordonate limită definesc o graniţă rectangulară în jurul figurii şi punctul din centrul acestui chenar este luat ca şi locaţie pentru figura înscrisă. Oricum, centrul nu este o reprezentare preferată a locaţiei. O aplicaţie în care aceste coordonate ale graniţei rectangulare sunt folosite este programul de desen pe calculator. Multe din aceste programe permit utilizatorului să selecteze un număr de obiecte de desenat şi apoi le mută automat într-un chenar. Opţiunile sunt tipice pentru a alinia obiectele vertical după muchiile (punctele) de sus, din centru sau de jos, şi orizontal după punctele din stânga, din centru sau din dreapta. Acestea sunt exact coordonatele chenarelor rectangulare în care sunt înscrise figurile şi centrul acestora.

Pentru figurile neregulate este preferabil de luat în calcul întreaga figură şi locaţia tuturor pixelilor. Această aproximare defineşte centrul de greutate al figurii, un punct unic (x,y) care se va folosi pentru a indica cu precizie refacerea figurii în cazul în care aceasta a fost tăiată. Coordonatele acestui punct pot fi determinate prin însumarea coordonatelor fiecărui pixel din obiect:

ariax

CG ix∑= ,

ariay

CG iy∑= unde aria reprezintă numărul total al pixelilor din figură. De reţinut

este faptul că aceste ecuaţii dau coordonate care nu sunt în general numere întregi. Dacă figura a fost segmentată, nu interesează decât pixelii de pe contur pentru a calcula centrul de greutate şi, bineînţeles, toate aceste operaţii sunt făcute de către calculator. Dacă centrul de greutate este calculat cu ajutorul ecuaţiilor prezentate mai sus şi folosind numai pixelii de pe contur, rezultatul va fi probabil greşit. Punctul calculat va fi influenţat de acea parte a conturului care este mai complexă şi conţine mai mulţi pixeli(fig.8.2). Această influenţare poate varia şi cu orientarea conturului cu referire la şirul de pixeli, pentru că pixelii pătraţi sunt mai mari pe diagonală decât în lăţime.

Fig.8.2 Coordonatele centrului de greutate, pentru o

figură neregulată, sunt calculate corect în primul caz folosindu-se toţi pixelii din imagine. Folosindu-se doar cei de pe contur se obţin o localizare eronată a centrului de greutate

Calcularea corectă a centrului de greutate poate fi realizată dacă s-a reprezentat conturul sub forma unui şir de valori. Astfel că, pentru a calcula corect coordonatele centrului de greutate, se folosesc perechi de coordonate xi, yi pentru fiecare punct de pe contur, iar xo, yo sunt aceleaşi cu xn, yn dacă este un contur închis.

aria

yyxxCG i

iiii

x

∑ −− −⋅+=

)()( 12

1

aria

xxyyCG i

iiii

y

∑ −+ −⋅+=

)()( 12

1

(8.1)

şi este necesar să se calculeze 2

)()( 11∑ −− −⋅+= i

iiii yyxxaria (8.2)

Page 78: Popa - Prelucrarea numerica a imaginilor (2006).pdf

78

Această definiţie dată centrului de greutate tratează fiecare pixel din figură în mod egal. Pentru anumite scopuri, strălucirea pixelilor, sau o valoare calculată din caracteristica de calibrare, fac anumiţi pixeli mai importanţi decât alţii. De exemplu, pentru a stabili poziţia exactă a liniilor şi a petelor într-o imagine de intensitate se pot modifica ecuaţiile de mai sus astfel:

∑∑ ⋅

=

ii

iii

X valoare

xvaloareCG

∑∑ ⋅

=

tt

tt

t

y valoare

yvaloareCG (8.3)

Numitorul este în acest caz o densitate integrată. Bineînţeles, pentru a realiza acest calcul, trebuie avut acces la valorile strălucirii pixelilor pentru fiecare în parte, deci nu pot fi folosite aceste ecuaţii în cazul în care există o reprezentare a conturului figurii.

8.1.3 Orientarea Alături de determinarea locaţiei centrului de greutate a unei figuri este şi ideea de a determina

orientarea ei. Există diferiţi parametrii care sunt folosiţi, incluzând şi orientarea celei mai lungi dimensiuni din figură (linia dintre două puncte de pe margine care sunt cele mai depărtate, cunoscută şi sub denumirea de diametrul maxim Feret), şi orientarea axelor principale ale unei elipse tangentă la conturul figurii. Dar, aşa cum este centrul de greutate un descriptor mai robust decât punctul mediu, şi o orientare definită de toţi pixelii din imagine este, de cele mai multe ori, mai bună decât oricare dintre caracteristicile enumerate anterior. Acest lucru se realizează deoarece este foarte puţin influenţată de prezenţa sau absenţa unui singur pixel de pe contur, acolo unde accidentele de achiziţionare sau zgomotul pot face alterări ale conturului.

Axa de moment a unei figuri este linia în jurul căreia figura, dacă ar fi tăiată uniform şi drept, ar avea cel mai mic moment de rotaţie. Poate fi descrisă de asemenea ca fiind axa care descrie cel mai bine toţi pixelii în sensul că, suma pătratelor distanţelor de la fiecare pixel la axă este minimizată. Acesta este şi criteriul folosit pentru potrivirea liniilor şi a punctelor care conţin date în procesul de construcţie a grafurilor. Determinarea acestei axe şi a unghiului ei de orientare este directă şi, implică suma coordonatelor pixelilor şi produsul coordonatelor pixelilor pentru toţi pixelii din imagine. De exemplu, în ecuaţia prezentată mai sus este posibil să încarci fiecare pixel cu o valoare, în loc să laşi pe fiecare să influenţeze în mod egal rezultatul. Cea mai convenabilă metodă de calcul este să aduni şi să formezi o listă de sume după cum sunt prezentate în ecuaţia 7.4.

∑= ix xS , ∑= iy yS , ∑= 2ixx xS , ∑= 2

iyy yS , ∑= iixy yxS (8.4) Odată ce aceste sume au fost calculate pentru o figură, momentul axelor x şi y, şi unghiul

momentului minim se calculează după cum se arată in ecuaţia 7.5.

ariaS

SM xxxxx

2

−= , ariaS

SM yyyyy

2

−= , aria

SSSM yx

xyxy

⋅−=

2

4)(tan

22

1

xy

xyyyxxyyxx

M

MMMMM

⋅+−+−= −θ (8.5)

Aliniamentul Un lucru pe care oamenii îl văd foarte repede într-o imagine, şi care nu este foarte uşor de găsit

folosind un algoritm de către calculator, este aliniamentul şi aranjarea figurilor. Suntem atât de buni la aceste lucruri încât uneori găsim aliniamente şi aranjamente, când acestea nici măcar nu există. Constelaţiile de pe cer sunt un bun exemplu a acestei încercări de a găsi o ordine în dezordine.

Sunt multe situaţii de analiză de imagini în care se cere un algoritm pentru determinarea aliniamentelor sau a aranjamentelor. Unul dintre cele mai frecvente cazuri este acela de a completa liniile rupte, mai ales cele drepte. În general punctele de-a lungul liniei nu sunt distribuite într-o

Page 79: Popa - Prelucrarea numerica a imaginilor (2006).pdf

79

perfectă ordine. Această neregularitate şi sensibilitatea la zgomot sau la alte puncte de lângă linie fac ca tehnicile din domeniul frecvenţei să fie dificil de aplicat, iar rezultatele vor fi slabe din punct de vedere al preciziei. Din această cauză se va folosi în locul transformatei Fourier, transformata Hough.

Spaţiile Hough sunt folosite pentru a potrivi diferite figuri, şi este necesar în cele mai multe cazuri să ai o idee despre tipurile de linii şi alte aranjamente care trebuie potrivite cu datele. Pentru început se ia cel mai simplu caz – linia dreaptă. Modalitatea convenţională de a potrivi o linie cu punctele date dintr-un graf este aşa numita metodă a „ultimului pătrat״ în care suma fiecărui pătrat din deviaţia pe verticală a fiecărui punct de pe linie este minimizat. Metoda Hough este superioară acesteia pentru că minimizează deviaţia punctelor de pe linie într-o direcţie perpendiculară pe linie, şi tratează corect cazurile în care punctele nu sunt uniform distribuite de-a lungul liniei.

Mărimea formei Cea mai importantă măsură a mărimii unei figuri dintr-o imagine este aria. Mărimea unei figuri

dintr-o imagine bidimensională este relaţionată cu mărimea obiectului în spaţiul tridimensional, în diferite moduri în funcţie de felul în care aceasta a fost obţinută. Cele mai întâlnite tipuri de imagini sunt proiecţiile în care figura este de fapt umbra obiectului sau o secţiune plană, forma este o secţiune din obiect. În fiecare caz, dacă sunt găsite destul de multe figuri pe o direcţie cunoscută sau aleatoare, este posibil să estimezi volumul de obiecte din proiecţie. Regulile pentru aceste estimări, care sunt bazate pe probabilităţi geometrice, sunt furnizate de stereologie. Aceste estimări sunt statistice, ceea ce arată că volumul unui singur obiect nu este determinat exact, dar distribuţia mărimilor mai multor obiecte poate fi descrisă.

Pentru o sferă poate fi calculată prin secţionare probabilitatea de a găsi un cerc de o anumită mărime. Cel mai mare cerc, bineînţeles, este cel care are diametrul egal cu cel al sferei. Cercurile de mărimi mici apar cu o frecvenţă definită şi calculabilă.

Chiar dacă aria este definită şi determinată, este necesar un factor de conversie între mărimea pixelilor şi mărimea structurii stabilite din lumea reală. Calibrarea (normarea) dimensiunii este de obicei făcută prin captarea imaginii unui obiect cunoscut şi măsurarea ei cu acelaşi algoritm care, mai târziu, este utilizat pentru obiecte necunoscute. Pentru imaginile macroscopice şi microscopice se va folosi şi o scară de măsurări. Cele mai moderne sisteme folosesc pixeli pătraţi care au aceiaşi dimensiune şi pe orizontală şi pe verticală, dar pentru ca distanţa să fie aceiaşi în orice direcţie a imaginii este de asemenea necesar ca direcţia de privire să fie normală pe suprafaţă.

Odată ce aria a fost determinată, de cele mai multe ori este mai convenabil să se exprime ca un diametru echivalent. Acesta este o trăsătură liniară, calculată simplu din arie

astfel: ariaDiamq ⋅=⋅π

ε 4 (8.6)

Figurile de diferite forme şi orientări pot induce în eroare ochii şi este dificil să se estimeze mărimea relativă a figurii, iar valoriile ariei vor fi supraapreciate. Diametrul echivalent reprezintă un parametru simplu şi uşor de comparat pentru a caracteriza mărimea.

Descrierea formelor Forma este ceva ce nu are un înţeles precis pentru om. Există câteva adjective care descriu o

formă, într-un mod aproximativ (aspru, dificil, neted, gras, slab etc.). În discuţiile despre forme se folosesc de cele mai multe ori prototipuri („o formă ca o …”). Bineînţeles, se presupune că fiecare este de acord cu aspectele importante ale formei care sunt găsite şi în prototipul selectat. Găsirea descriptorilor numerici ai formei este dificilă pentru că, corespondenţa dintre ei şi viaţa noastră de zi cu zi este fără importanţă, şi toţi parametrii vor avea un caracter „fabricat”.

Cele mai vechi clase de descriptori de formă sunt simple combinaţii ale parametrilor de mărime, aranjaţi astfel încât dimensiunea să se anuleze. De exemplu raportul lungime/lăţime dă formatul imaginii, iar schimbând mărimea figurii nu se schimbă valoarea numerică a formatului.

Page 80: Popa - Prelucrarea numerica a imaginilor (2006).pdf

80

Datorită faptului că există zeci de posibili parametrii ai mărimii, există sute de modalităţi în care acestea pot fi combinate în expresii dimensionale care pot fi folosite ca descriptori ai formelor.

8.2 Extragerea caracteristicilor imaginilor Odată ce forma (obiectul) a fost detectată şi reprezentată, o mulţime de modalităţi pot fi folosite

pentru a extrage informaţii referitoare la proprietăţile acesteia. Clasificarea şi recunoaşterea obiectelor dintr-o imagine sa face prin determinarea unor trăsături ale formelor care sunt definitorii pentru fiecare clasă considerată sau descoperită.

8.2.1 Caracteristici de formă În continuare va fi prezentat modul în care unele caracteristici simple ca aria şi perimetrul pot

fi convertite în trăsături mult mai sofisticate. Odată ce conturul sau scheletul unei forme, care sunt ele însele trăsături ale formei, au fost obţinute, este posibil să fie consideraţi perimetrul şi aria alte caracteristici.

Caracteristicile de formă sunt folositoare ori de câte ori mărimea unei forme este importantă, şi reprezintă o importantă resursă pentru compararea şi clasificarea formelor. Toate trăsăturile metrice prezentate sunt exprimate referindu-se la dimensiunea pixelului. Cum asemenea caracteristici trebuie să fie convertite în unităţi originale, metrii sau centimetrii, se cere o conversie corectă în care trebuie luată în considerare şi rezoluţia adoptată pentru reţinerea imaginii. Este de asemenea important de reţinut că aceste caracteristici geometrice pot fi afectate de alegerea vecinătăţilor şi de definiţia distanţei.

Este important de notat că şi unele din cele mai simple caracteristici pot fi folosite cu succes în anumite situaţii specifice, de asemenea este dificil de ales care este cel mai potrivit set de trăsături pentru fiecare aplicaţie. O posibilă soluţie este testarea unui set cât mai mare de posibile trăsături şi aplicarea unui algoritm automat de selectare a acestora pentru a defini caracteristicile referitoare pentru un exerciţiu dat.

1.Perimetrul Lungime arcului unei curbe simple sau a unui contur poate fi exprimată prin folosirea multor

aproximări. Presupunând că acest contur este reprezentat izolat într-o imagine binară, cea mai simplă metodă de a calcula perimetrul este dată de următorul algoritm:

- se citeşte imaginea binară; - se aplică algoritmul de detecţie a muchiilor; - perimetrul este numărul punctelor muchiilor detectate la pasul 2. Algoritmul prezentat dă rezultate bune în cazul conectări cu 4 muchii, dar apar probleme când

sunt 8 muchii conectate, deoarece distanţa în acest caz este 2 (fig.8.3) pe când în rest este 1. Algoritmul prezentat nu ia în considerare existenţa acestei distanţe de 2 , de aceea pentru conexiunea cu 8 vecini se foloseşte un şir în care se ţin valorile conturului. Atunci perimetrul poate fi exprimat folosind formula 20 ⋅+= NNP e unde Ne şi No reprezintă numărul de coduri pare şi impare din reprezentarea conturului sub forma şirului de valori.

Fig8.3

Page 81: Popa - Prelucrarea numerica a imaginilor (2006).pdf

81

Dacă conturul este reprezentat sub forma unui şir de numere complexe u(n)=x(n)+jy(n), 1−=j şi n=0,1…N-1, lungimea P a conturului reprezentat poate fi exprimată

prin ∑−

=

−−=1

0

)1()(N

n

nunuP unde u(0)=u(N) pentru contururi închise şi )(nu reprezintă conturul.

2. Aria Cea mai simplă metodă de a estima aria unui obiect este de a număra pixelii care reprezintă

obiectul. Presupunând că g este o imagine binară în care g(p,q)=1 pentru pixelii obiectului şi g(p,q)=0 pentru fond, următorul algoritm calculează aria :

aria=0 for p=1 to Max_p do for q=1 to Max_q do aria=aria+g(p,q); Acest algoritm presupune că obiectul a fost izolat într-o imagine binară. În cazul în care sunt

mai multe obiecte prezente este necesar să se separe fiecare obiect şi să se aplice acest algoritm fiecărei părţi componente. O altă metodă ţine cont de faptul că pixelii de pe contur aparţin jumătate obiectului, jumătate fondului şi pentru calcularea ariei se foloseşte formula

+−= 1

20bN

NA unde No-numărul de pixeli din interior, iar Nb -numărul pixelilor de pe graniţă.

În cazul în care este dată o imagine în care sunt prezentate mai multe obiecte care trebuie să fie sortate după mărimea lor, se foloseşte următorul algoritm:

- se etichetează fiecare componentă a imaginii; - se calculează histograma imaginii etichetate; - se sortează componentele ca o funcţie a înălţimii respectivei histograme, ignorând pixelii din

fond. Acest algoritm foloseşte ideea că histograma componentelor etichetate calculează câţi pixeli

constituie fiecare obiect etichetat. Cel mai mare şi cel mai mic obiect poate fi, de asemenea, uşor de detectat prin analiza histogramei imaginii etichetate.

3. Centrul de greutate Cea mai uşoară metodă de a calcula centrul de greutate este de a însuma valorile coordonatelor

punctelor formei. Presupunând că g este o imagine binară, pentru calcularea centrului de greutate se poate folosi următorul algoritm:

cg_p=0 cg_q=0 for p=1 to P do for q=1 to Q do if (g(p,q)=1) cg_p=cg_p+p cg_q=cg_q+q aria=aria+1 cg_p=cg_p/aria cg_q=cg_q/aria Centrul de greutate poate fi obţinut şi pentru o formă reprezentată doar prin conturul ei. Centrul

de greutate M a unui contur reprezentat de un şir u(n) poate fi calculat prin însumarea valorilor

tuturor componentelor lui u(n): N

nuM

N

n∑−

==

1

0

)(, M=z1+jz2, iar z1,z2-coordonatele centrului de

greutate. Este interesant faptul că uneori acesta poate să fie şi în afara obiectului.

Page 82: Popa - Prelucrarea numerica a imaginilor (2006).pdf

82

4. Raza maximă şi minimă (distanţa maximă şi minimă până la centrul de greutate) În procesarea imaginilor este folositoare de cele mai multe ori calcularea distanţei dintre doi

pixeli, dar acest lucru nu este atât de clar precum pare. Prezenţa pixelilor în grilă determină posibilitatea calculării unor distanţe numite „distances matrics” care dau adesea răspunsuri diferite pentru aceleaşi perechi de puncte.

Distanţa euclidiană Aceasta este distanţa cu care cei mai mulţi oameni sunt familiari. Dacă două puncte au

coordonatele (x1,y1) şi (x2,y2), distanţa euclidiană este dată prin: Deuclid= 2

212

21 )()( yyxx −+− (8.7) Distanţa „City block” Această distanţă este cunoscută şi drept distanţa Manhattan. Se presupune că pentru a ajunge

de la un pixel la altul este posibil să mergi direct de-a lungul liniilor grilei de pixeli. Deplasările pe diagonală nu sunt permise, astfel că în acest caz distanţa se calculează astfel:

Dcity= 1212 yyxx −+− (8.8) Distanţa pe tabla de şah Această metodă presupune că poţi face mutările pe grila de pixeli ca şi cum ai fi un rege care

face mutările în şah (de exemplu o mutare pe diagonală reprezintă tot atât cât o mutare pe orizontală). Aceasta înseamnă că această distanţă este reprezentată de:

Dşah=max ( )1212 , yyxx −− (8.9) De reţinut este faptul că ultimele două metode sunt mult mai rapide de calculat decât distanţa

euclidiană şi de aceea sunt uneori folosite în cazurile în care viteza este importantă, iar corectitudinea nu este foarte importantă.

Odată ce centrul de greutate a fost obţinut, următoarele trăsături geometrice pot fi obţinute din acesta:

- distanţa maximă Dmax dintre centrul de greutate şi punctele de pe contur; - distanţa minimă Dmin dintre centrul de greutate şi punctele de pe contur; - distanţa medie Dmediu dintre centrul de greutate şi punctele de pe contur; - histograma distanţelor dintre centrul de greutate şi punctele de pe margine;

-min

max

DD

, mediuD

Dmax , mediuD

Dmin .

Rapoartele caracteristicilor prezentate sunt folositoare atunci când se cere independenţa unei mărimi. Aceste rapoarte pot fi folosite pentru a face diferenţa între un cerc (în care Dmin≈Dmax) şi o elipsă. În plus, caracteristicile care implică distanţa medie sunt mult mai tolerante cu modificările apărute pe suprafaţa formei.

5.Distanţa medie până la graniţă Distanţa medie dintre punctele interioare ale formei şi punctele de pe graniţa acesteia poate fi

folosită de asemenea ca o caracteristică a formei. Dacă g este obiectul de interes compus din N puncte, r∈g un punct al obiectului şi d(r,boundary(g)) ar fi cea mai mică distanţă între r şi toate punctele de pe graniţă, atunci distanţa medie poate fi calculată astfel:

∑= ))(,(1 gboundaryrdN

β (8.10)

Această caracteristică poate fi folosită pentru a defini măsura complexităţii formei după cum

urmează: 2βAf = unde A este aria.

Page 83: Popa - Prelucrarea numerica a imaginilor (2006).pdf

83

6.Diametrul Diametrul este definit ca fiind cea mai mare distanţă între oricare două puncte ale obiectului. O

metodă exactă de a calcula diametrul este aceea de a căuta distanţa maximă între oricare două puncte care aparţin obiectului. Este uşor de văzut că este suficient să calculezi distanţe între punctele de pe contur. Presupunând că g este o imagine binară care conţine numai obiectul de interes în care g(p,q)=1 pentru pixelii care aparţin obiectului şi g(p,q)=0 pentru fond, algoritmul următor calculează diametrul obiectului şi coordonatele corespunzătoare celor mai îndepărtate puncte ale obiectului reprezentat în g(p,q).

Se calculează muchiile obiectului şi forma complexă a semnalului n=b+jc unde b şi c sunt puncte ale muchiilor.

n=length(n) dmax=0 for i1=1 to (n-1) do for i2=(i1+1) to n do if n(i1)-n(i2)>dmax dmax=n(i1)-n(i2) lm=i1 cm=i2 În acest algoritm lm şi cm indică cele mai îndepărtate puncte în timp ce dmax indică diametrul

obiectului. 7.Numărul de goluri Unele proprietăţi topologice ale figurii pot fi determinate direct, cum ar fi numărul de goluri.

Găsirea găurilor din interiorul figurii poate fi făcută fie direct, dacă aria este măsurată şi figurile etichetate, sau prin inversarea imaginii şi găsirea figurilor care nu ating contururile imaginii.

8.Colţurile Această caracteristică poate fi obţinută din reprezentarea contururilor. De exemplu prezenţa

unui colţ este detectată ca o secvenţă de creştere (sau descreştere) a valorilor codurilor din şirul de valori de-a lungul graniţei. Similar, segmentele drepte sunt reprezentate prin valori ale codurilor din lanţ care nu variază semnificative o lungime selectată. În ambele cazuri, decizia de cât de mult trebuie să varieze este importantă, şi pe ce distanţă, este o definiţie arbitrară. Lanţul de coduri pentru un contur sau pentru o linie de schelet este esenţial de când distanţa de vecinătate dintre 2 pixeli poate varia în numai 45 grade.

9.Numărul de laturi O altă proprietate topologică a figurilor este numărul de laturi. În cazul unei structuri dintr-o

pilitură, a firelor dintr-un metal sau a câmpurilor obţinute în urma unei survolări aeriene, numărul de laturi pe care fiecare figură le are este numărul altor figuri cu care aceasta se alătură. Deoarece figurile sunt separate atunci trebuie să existe o linie de pixeli de fond care le separă. În multe cazuri această linie este produsă de procesarea imaginilor, prin scheletizarea imaginii originale de intrare şi apoi prin inversarea ei pentru a definii pixelii. Cuantificarea numărului de vecini pentru fiecare figură poate fi realizată prin verificarea numărului de identificare a figurii a cărei pixeli ating fondul. Etichetarea figurilor în funcţie de numărul de vecini ne poate dezvălui câteva proprietăţi interesante ale structurii.

Numărul de laturi pe care le are o formă poate fi descris şi în alt fel. Dacă punctele din colţuri sunt definite cum s-a prezentat anterior, atunci numărarea laturilor este realizată direct din şirul de valori care reprezintă conturul. Cel de al doilea mod de abordare, care este mai puţin sensibil la micile neregularităţi ale pixelilor din contur, foloseşte poligonul convex sau limitat. Acest poligon este de obicei construit cu un număr fix şi destul de mare de părţi. De exemplu rotirea axelor în 16 paşi va forma un poligon cu 32 de laturi.

Page 84: Popa - Prelucrarea numerica a imaginilor (2006).pdf

84

10.Grosimea Grosimea unei forme este definită ca fiind numărul de eroziuni, realizate cu acelaşi element

structural, care sunt necesare pentru a eroda complet obiectul. Se observă că o asemenea definiţie a grosimii formei depinde de structura elementului considerat. De exemplu o curbă deschisă realizată dintr-o înşiruire de câte un pixel are grosimea 1, deoarece o singură eroziune este suficientă pentru a o elimina. O caracteristică a formei uşor modificată, poate fi definită ca numărul de eroziuni de care este nevoie pentru a distruge legăturile formei. În cazul în care forma conţine o porţiune de istm, va fi ruptă după un număr mic de eroziuni (fig 8.4). Evoluţia numărului de componente conectate care sunt create în urma erodării formei poate fi de asemenea analizată statistic pentru a genera caracteristici ale formei care să reflecte lăţimea istmurilor.

Fig.8.4 Reprezentarea grosimii formei: această formă este ruptă în

două după un număr mic de eroziuni

11.Momentele statistice Momentele statistice alături de descriptorii Fourier, sunt printre cei mai cunoscuţi descriptori ai

formei. La fel ca şi descriptorii, acestea pot fi obţinute din conturul formei, dar şi din regiunile 2D. Dacă g reprezintă imaginea formei, atunci momentele standard 2D sunt definite ca:

∑∑−

=

=

=1

0

1

0, ),(

P

p

Q

q

srsr qpgqpm . (8.11)

Pentru a obţine translaţia invarianţei trebuie să fie calculate momentele centrale:

∑∑−

=

=

⋅−⋅−=1

0

1

0, ),()()(

P

p

Q

g

srsr qpgqqppµ unde

0,0

0,1

mm

p = şi 0,0

1,0

mm

q = . (8.12)

Una dintre cele mai frumoase caracteristici expusă de aceşti descriptori ai formei, care a fost folosită în analiza formei, este aceea că primele momente au o interpretare geometrică, fiind posibilă reconstrucţia formei din setul complet de momente.

12.Simetria Simetria reprezintă o caracteristică importantă care poate fi decisivă pentru soluţia efectivă a

multor probleme care apar în caracterizarea şi clasificarea formelor. Cel mai important lucru care trebuie reţinut este faptul că există mai multe tipuri de simetrii. În continuare vom prezenta cum poate fi exprimat numeric gradul de simetrie bilaterală dintr-o reprezentare conţinută într-o imagine binară. Se consideră imaginea din figura 8.5a. Primul pas constă în reflexia figurii în funcţie de orientarea axei principale. După aceea se umplu golurile cauzate de reflexie, şi această versiune rezultată este suprapusă peste figura originală, figura 8.5b. Se observă că valorile pixelilor imaginii rezultate sunt limitate astfel: 0 pentru fundal, 1 pentru porţiuni ale figurii care sunt asimetrice, iar 2 pentru pixelii simetriei, apoi se calculează simetria. Acelaşi lucru este prezentat în figurile 8.5c şi 8.5d, dar pentru o formă mult mai simetrică.

Page 85: Popa - Prelucrarea numerica a imaginilor (2006).pdf

85

Fig.8.5

13.Semnătura formei Ideea fundamentală, de a reprezenta forma printr-un semnal sau o semnătură, este de a genera

unul sau mai multe semnale care oarecum descriu forma bidimensională a obiectului. Se observă că o semnătură unidimensională se poate obţine, aceasta fiind bazată pe reprezentarea contururilor şi a regiunilor, şi există o mulţime de modalităţi diferite de a defini aceste semnături. Este important de subliniat că semnătura formei descrie formele printr-un semnal unidimensional, şi de aceea se permite folosirea tehnicilor de procesare 1D pentru analiza formelor.

În general, semnătura bazată pe contur este creată prin începerea dintr-un punct iniţial de pe contur, şi traversarea lui în sensul acelor de ceasornic sau invers. O simplă semnătură care ilustrează acest concept este de a plănui distanţa dintre fiecare punct de pe contur şi centru formei în funcţie de secvenţa anterioară, care se comportă ca un parametru. Figura 7.6 b ne arată un exemplu a semnăturii d(u) obţinută din conturul din figura 8.6 a.

Este important de notat că aceste semnale sunt periodice pentru curbele închise, deoarece se poate traversa conturul de un număr infinit de ori. O alternativă şi în acelaşi timp şi un foarte popular mod de a definii axele de coordonate ale semnăturii, este de a lua unghiul dintre linia care uneşte punctul curent şi centrul de greutate al formei, şi un vector de referinţă sau o axă. Acest mod de abordare prezintă inconvenientul că pentru un unghi dat se poate obţine mai mult decât un punct de intersecţie. Pentru a împiedica această problemă, este definită o parametrizare a semnăturii bazată pe unghiuri prin variaţia continuă a unghiului dintre linia de referinţă şi linia de rotaţie. În cazul în care linia curentă intersectează conturul formei în mai mult de un punct, unele funcţii ale punctelor intersectate pot fi luate ca valorile semnăturii respective. De exemplu, semnătura poate fi calculată ca maximul, minimul sau valoarea medie până la centrul de greutate, cu referire la toate punctele intersectate definite de fiecare unghi. Rezultatele semnăturii sunt periodice în cazul curbelor închise.

Semnăturile bazate pe regiuni pot fi de asemenea obţinute dintr-un semnal 1D, dar ele folosesc întreaga informaţie din formă. Un exemplu al acestei posibilităţi este folosirea semnăturilor bazate pe proiecţii, care sunt definite prin proiectarea valorilor pixelilor din imagine de-a lungul unei linii perpendiculare pe o orientare de referinţă. Acest concept este apropiat de transformata Hough.

Page 86: Popa - Prelucrarea numerica a imaginilor (2006).pdf

86

Fig.8.6 figura originală (a) şi distanţa până la centru bazată pe semnătură

14.Descriptori topologici Formele pot fi analizate şi luând în considerare aspectele lor structurale, nu numai

caracteristicile metrice. Un exemplu de aspect structural este şi prezenţa golurilor într-o formă. Câteva dintre cele mai importante caracteristici topologice folosite pentru analiza formelor

sunt: - numărul de goluri NH; -numărul de componente conectate NC. Este important de reţinut că această caracteristică se

aplică formelor compuse (ex. recunoaşterea caracterelor arabe); - numărul lui Euler, care este definit ca E=NC-NH. 15.Aproximarea poligonală-descriptor de bază al formei Odată ce conturul formei a fost reprezentat printr-un poligon, următoarele caracteristici ale

formei pot fi extrase prin proceduri directe: - numărul de colţuri sau vârfuri; - valorile statistice ale unghiului şi a laturilor (mijlocul, media, variaţia şi momentele); - lungimea maximă şi minimă a laturilor; - raportul maxim şi minim dintre laturi; - raportul maxim şi minim dintre unghiuri; - raportul dintre cel mai mare unghi şi sume celorlalte unghiuri; - raportul dintre deviaţia standard a laturilor şi unghiurilor; - măsurarea simetriei. Măsurarea simetriei pentru segmentele poligonale este definită

prin: ∫ ∫ −=L t

dtAdllkS0 0

)2

)(( unde t este un parametru de-a lungul curbei, ∫t

dllk0

)( este măsura

schimbării unghiulare până la t, A este numărul total de schimbării unghiulare a segmentului curbei şi L este lungimea segmentului curbei.

16.Descriptori ai formei bazaţi pe regiuni, texturi şi grafuri Neomogenitatea dintr-o imagine implică şi existenţa mai multor tipuri de caracteristici ale

imaginii care redau independent informaţii celui care le vede. Deşi variaţia dintre diferite imagini poate fi mare, totuşi un număr destul de mare de imagini poate fi caracterizat de un număr mic de tipuri de caracteristici. Acestea sunt de obicei reţinute sub forma a trei categorii: regiuni, texturi şi muchii. În continuare vă vom prezenta caracteristicile principale ale celor trei categorii enumerate.

Regiunile netede de obicei cuprind cea mai mare parte a unei imagini deoarece suprafeţele unor obiecte artificiale sau naturale, când sunt privite de la distanţă, par a fi netede. Un model simplu pentru o regiune netedă este alocarea unui nivel constant de gri unui domeniu determinat.

În opoziţie cu regiunile, muchiile cuprind numai o parte foarte mică din aria unei imagini. Fără îndoială cea mai mare parte a informaţiilor este conţinută de acestea. Acest lucru este uşor de realizat dacă se priveşte o hartă a muchiilor dintr-o imagine, după detecţia acestora, se poate uşor deduce conţinutul original al imaginii, numai din reprezentarea muchiilor. Datorită faptului că

Page 87: Popa - Prelucrarea numerica a imaginilor (2006).pdf

87

muchiile reprezintă locaţii ale unei treceri abrupte a valorii nivelelor de gri între regiuni adiacente, cel mai simplu model de muchie este deci o variabilă random de înaltă frecvenţă, în opoziţie cu modelul regiunilor care foloseşte random de joasă frecvenţă. Oricum, acest model simplu nu ia în considerare constrângerea structurală din muchii, ceea ce poate conduce la confuzia acestora cu regiunile care au aceeaşi frecvenţă. Modelele de muchii mai sofisticate includ modelul faţetă, care aproximează diferite regiuni cu valori constante ale nivelului de gri din jurul muchiilor cu diferite funcţii continue. Mai există şi modelul de profil al muchiei, care descrie secţiunea unidimensională a muchiei în direcţia variaţiei maxime a nivelului de gri. Au fost făcute încercări de a modela acest profil folosind o funcţie treaptă şi diferite funcţii monoton crescătoare. Oricum, aceste modele caracterizează cel mai mult amplitudinea valorii de tranziţie a nivelului de gri din locaţia muchiilor. Diagrama muchiilor în termenii trecerii prin zero a celei de-a doua derivate, obţinută printr-o filtrare Log (Laplacian of Gaussian) caracterizează poziţia muchiilor într-o imagine.

Modelul faţetă Modelul profilului muchiilor Modelul trecerii prin

zero Fig.8.7

Apariţia texturilor este de obicei datorată prezenţei unui obiect natural în imagine. Texturile de

obicei au o apariţie „zgomotoasă”, deşi ele sunt diferite în mod evident de zgomot, deoarece în acestea există, de obicei, anumite forme care se disting între ele. Datorită acestei apariţii „zgomotoase” este normal ca acest model al texturii să folosească un câmp random bidimensional. Cel mai simplu mod de abordare este să foloseşti variabile distribuite independent şi identic, cu variaţii apropiate.

Identificarea diferitelor planuri de informaţii conţinute în texturi este o problemă foarte importantă în cadrul problemelor de analiză de imagini. Această problemă poate fi abordată atât într-un mod global, cât şi într-un mod local. Abordarea din punct de vedere global implică identificarea punctelor care dispar din gradientul texturii sau din informaţia spectrală. Această metodă se învârte în jurul analizei structurale a texturii pre-segmentate, dar totuşi nu se potriveşte prea mult în analiza scenelor care conţin mai multe plane. Un alt mod de abordare este şi măsurarea distorsiunilor spectrale pentru a putea face o estimare locală a parametrilor pozaţi. În acest caz există un număr de caracteristici locale ale domeniului de frecvenţă care pot folosi funcţiile Gabor[2]1sau distribuţia Wigner[3]2.Metodele domeniului Fourier pentru analiza formelor din texturi se învârt în jurul simplificării din punct de vedere geometric, pentru a obţine măsuri ale distorsiunilor affine locale ale texturii.

Una dintre metodele de acest tip, considerate în literatura de specialitate, este metoda realizată de Krumm şi Shafer’s[4]3.Această metodă foloseşte proiecţia spectrală pentru a estima orientarea locală a suprafeţei. Acest lucru se realizează prin regăsirea parametrilor proiecţiei affine care minimizează numeric suma pătratelor diferite din spectrul local. Odată ce parametrii fixaţi au fost reţinuţi, fiecare spectru local de putere este din nou proiectat într-un plan paralel. Planele texturii sunt segmentate folosind o dendrogramă bazată pe metoda ciorchinelui Figurile pot fi reprezentate şi cu ajutorul regiunilor sau al grafurilor. În aceste situaţii pot fi extrase foarte uşor următoarele caracteristici ale formei: 1 M.R.Turner „Texture discrimination by gabor function”, Biological Cybernetics, Nr. 55, 1986, pag.271 2T.R.Reed, H.Wechler „Segmentation of textured images and gestalt organisation using spatial/spectral frequency”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Nr.12(1),1986, pag 1-12 3 J.Krumm, S.A.Shafer „Texture segmentation and shape in the same image”, IEEE International Conference on Computer Vision, 1995, pag. 121-127

Page 88: Popa - Prelucrarea numerica a imaginilor (2006).pdf

88

- numărul de părţi care constituie figura; - numărul de joncţiuni; - numărul de extremităţi; - numărul de ramuri; - mărimile ramurilor; - statistica geodezică; - statistica transformărilor de distanţă. 17.Descriptori simpli ai complexităţii O proprietate a formelor este complexitatea. În multe situaţii se apelează la aceasta pentru a

putea clasifica obiectele. De exemplu, neuronii au fost organizaţi în clase morfologice luând în considerare complexitatea formei lor (în special arborele dendritic). În timp ce complexitatea este, într-un fel, un concept ambiguu, este interesant să fie legată de alte proprietăţi geometrice cum ar fi suprafaţa de acoperire spaţială. Acest concept este cunoscut şi ca „space-filling capability", ceea ce indică capacitatea entităţilor biologice de a interacţiona sau de a umple spaţiul din jur. Cu alte cuvinte, acoperirea spaţială defineşte interfaţa figurii cu mediul extern ceea ce determină capacităţi importante ale entităţilor biologice. Un alt exemplu ar fi faptul că o bacterie cu o formă cât mai complexă (şi deci cu o acoperire spaţială mai mare) va găsi mai probabil mâncare decât una cu o formă simplă. La o scară mai mare, putem spune că acea cantitate de apă pe care o absoarbe un copac este legată de suprafaţa pe care se întind rădăcinile sale, de complexitatea acestora.

Complexitatea este legată de acoperirea spaţială în sensul că, cu cât este mai complexă figura, cu atât este mai mare capacitatea de acoperire spaţială.

Fiind P şi A perimetrul figurii, respectiv aria sa, câteva măsuri ale complexităţii pot fi definite astfel:

* circularitatea definită ca P2/A; * raportul de subţiere este invers proporţional cu circularitatea şi se defineşte ca fiind

)(4 2PAπ⋅ ;

*raportul dintre arie şi perimetru A/P ;

* )44(

2

2

APPAPP⋅−+

⋅−−

π

π reprezintă o relaţie între raportul de subţiere şi circularitate

[O’Higgins,1997]; (8.13)

*ortogonalitatea este definită ca )(MERarea

A , unde MER reprezintă minimul de dreptunghiuri

închise;

*temperatura unui contur este definită ca fiind 12 ))2((log −

−=

HPPT , unde H este perimetrul

componentei convexe a formei; *textura, analiza texturii din imagine este o importantă parte ea însăşi, dar poate fi folosită şi ca

un mijloc de a defini caracteristicile formei. Tehnicile de analiză a texturii produc un rezultat calculând pixel cu pixel, astfel că valoarea unui pixel obţinut este relaţionată de textura din jurul lui din imaginea iniţială.

8.2.2 Caracteristici de tip transformare În multe cazuri procesarea imaginilor se realizează în domeniul spaţial. Oricum se poate dori

să se realizeze o prelucrare a imaginii în domeniul frecvenţelor pentru a se îndepărta frecvenţele informaţiilor nedorite înainte de a analiza imaginea. Zgomotul adăugat unei imagini are în general un spectru de frecvenţe mai mare decât componentele imaginii normale, acest lucru este determinat de decorelarea spaţială a componentelor sale. Printr-o filtrare trece jos în domeniul spaţial sau în

Page 89: Popa - Prelucrarea numerica a imaginilor (2006).pdf

89

domeniul frecvenţelor spaţiale se poate suprima o mare parte a sa. Nu există deosebiri între rezultatele obţinute prin filtrarea în domeniul spaţial şi filtrarea în domeniul Fourier, alegerea fiind dată de considerente de implementare. Totuşi procesarea în domeniul Fourier, spre deosebire de convoluţie ne permite o privire cantitativă şi intuitivă în natura procesului de zgomot, utilă în proiectarea filtrelor de suprimare a zgomotului în domeniul spaţial.

8.2.2.1 Transformata Fourier – procesarea în domeniul frecvenţelor După cum s-a prezentat şi în capitolele anterioare transformata Fourier este un important

instrument de procesare a imaginii care este folosit pentru a descompune o imagine în componentele ei sinus şi cosinus. Rezultatul transformării este reprezentat de o imagine în domeniul Fourier, sau domeniul frecvenţelor, în timp ce imaginea de intrare este echivalenta din domeniul spaţial. Această transformată produce la ieşire o imagine formată din valori complexe care poate fi reprezentată cu două imagini, fie partea reală şi cea imaginară, sau cu amplitudine şi fază. În procesarea imaginilor, de cele mai multe ori numai amplitudinea este reprezentată, deoarece conţine cele mai multe informaţii ale structurii geometrice din imaginea spaţială. Oricum, dacă se doreşte re-transformarea imaginii Fourier în imaginea corectă din domeniul spaţial, după unele procesări realizate în domeniul frecvenţelor, trebuie să se ţină cont atât de amplitudinea cât şi de faza din imaginea Fourier.

Transformările de imagini furnizează informaţii din domeniul frecvenţă, folosind caracteristicile de transformare, care se extrag prin filtrarea zonală a imaginii transformate. Filtrele zonale se numesc “filtre mască” şi reprezintă, în spaţiul bidimensional al frecvenţelor spaţiale, “ferestre” de diferite dimensiuni şi forme, cu ajutorul cărora este selectat un anumit domeniu al frecvenţelor spaţiale. În general, informaţia de înaltă frecvenţă poate fi folosită pentru detectarea muchiilor sau a contururilor, iar măştile unghiulare pentru determinarea orientării. De exemplu, o imagine care conţine linii paralele de orientare θ va avea energie mare de-a lungul unei linii la un unghi π/2+θ, trecând prin originea transformării Fourier bidimensionale.

Fundamentul tehnicilor în domeniul frecvenţelor spaţiale îl constituie teorema de convoluţie. Fie g(x,y) o imagine rezultată prin convoluţia imaginii f(x,y) şi un operator invariant la deplasare h(x,y) adică: g(x,y)=h(x,y)*f(x,y) (8.14)

Conform teoremei de convoluţie se ştie că în domeniul frecvenţă se obţine relaţia: G(u,v)=H(u,v)F(u,v), unde G,H,F sunt transformatele Fourier ale funcţiilor spaţiale g, h şi respectiv f. Transformata H(u,v) este numită funcţie de transfer a procesului. În aplicaţiile tipice de îmbunătăţire a imaginilor este dată funcţia imagine f(x,y), iar scopul după calcularea transformatei Fourier F(u,v) este de a selecta H(u,v) astfel încât imaginea dorită dată de

),(),(),( 1 vuFvuHyxg ⋅ℑ= − să îndeplinească anumite condiţii. De exemplu accentuarea muchiilor din f(x,y) se poate face folosind o funcţie H(u,v) care să favorizeze componentele de înaltă frecvenţă din F(u,v). Teorema de convoluţie impune ca H(u,v) şi h(x,y) să fie de aceleaşi dimensiuni, dacă H(u,v) este de mărime 256*256 la fel să fie şi h(x,y) pentru a obţine acelaşi rezultat prin filtrarea în domeniul spaţial ca în cazul filtrării în domeniul frecvenţă. Convoluţia cu măşti de asemenea dimensiuni se realizează mult mai eficient în domeniul frecvenţă.

Analiza armonică este cunoscută şi drept analiză spectrală sau desfăşurarea imaginii. Aceasta începe prin conversia conturului într-o funcţie unghiulară sau ρ(ϕ). Aceasta permite determinarea termenilor ai şi bi din seria:

ρ(ϕ)=a0+a1cos(ϕ)+b1sin(ϕ)+a2cos(2ϕ)+b2sin(2ϕ)+… . (8.15) Această serie este infinită, sau cel puţin continuă cu atât de mulţi termeni câţi sunt pe margine.

Oricum, este o caracteristică a analizei Fourier faptul că numai primii termeni sunt necesari pentru a păstra cele mai multe detalii despre caracteristicile formei. După cum se arată în figura 8.10 cu numai 10-25 de termeni din serie, forma originală poate fi refăcută cu o precizie foarte mare. În cele mai multe cazuri, informaţia de fază δi pentru fiecare termen din serie poate fi ignorată fără a crea

Page 90: Popa - Prelucrarea numerica a imaginilor (2006).pdf

90

prea mare efect, şi un singur coeficient ci poate fi folosit pentru fiecare frecvenţă. 22iii bac += şi

∑ −⋅= )2sin()( ii ic δϕπϕρ (8.16) Primele câteva valori ale lui c din reprezentarea Fourier a conturului conţin o mare cantitate

de informaţii despre caracteristicile formei.

8.2.2.2 Descriptorii Fourier (DF) Descriptorii Fourier sunt una dintre cele mai cunoscute metode de reprezentare a formelor în

cadrul aplicaţiilor de vizualizare sau de recunoaştere folosind şabloane. Ar trebui să ne gândim că descriptorii Fourier se referă la o clasă de metode, nu la o singură metodă, deoarece există multe feluri diferite în care pot fi definiţi aceşti descriptori ai unei forme. Ideea principală care stă la baza acestui tip de metode se referă la faptul că, forma care ne interesează se prezintă sub forma unor semnale 1D sau 2D, apoi este calculată transformata Fourier a acestor semnale, şi se extrag descriptorii Fourier din această reprezentare. Aceşti descriptori au fost propuşi pentru prima dată de R.L.Cosgriff în 1960, şi au devenit cunoscuţi mai târziu, prin lucrările lui Gosta H.Granlund referitoare la recunoaşterea formelor folosind modele.Proprietăţile acestora sunt prezentate mai jos:

*simplitatea implementării şi eficienţa calculului Orice definiţie a descriptorilor Fourier poate fi exprimată prin aplicarea transformatei Fourier

∑−

=

−=1

0

/2)()(N

t

NnsjenusFD π , s=0,1…N-1; (8.17)

*cea mai mare cantitate de informaţie din contur este concentrată de-a lungul primei componente, cea de joasă frecvenţă. Este cunoscut faptul că cea mai mare parte din energia conturului obţinută din obiect în aplicaţiile de analiză de imagini se concentrează în coeficienţii de joasă frecvenţă.

Fig.8.8 un neuron artificial

Fig.8.9 Semnalele şi descriptorii Fourier (modulul şi faza)obţinuţi din conturul formei din fig 8.8

Page 91: Popa - Prelucrarea numerica a imaginilor (2006).pdf

91

Fig.8.10 reconstrucţia formei din figura 8.8 prin folosirea

a 2i coeficienţi,pentru i=10,30,60,100 *pot fi obţinute câteva caracteristici adiţionale din descriptorii Fourier. Fondul matematic al teoriei analizei Fourier furnizează un set larg de instrumente pentru

analiza formelor. De exemplu, este posibil să evaluezi câteva măsuri ale formei direct din descriptorii Fourier.

Au fost propuse multe moduri de abordare a analizei formelor bazate pe tehnica Fourier, şi acestea pot fi denumite toate descriptori Fourier. Dacă u(n) reprezintă conturul şi U(s) transformata Fourier, atunci U(s) este definită ca fiind

∑−

=

−=

1

0

2

)(1)(N

n

snN

jenu

NsU

π

s=-N/2+1,…,N/2. (8.18)

Această serie Fourier a lui u(n) poate fi folosită pentru a defini un set de descriptori invarianţi la translaţie, la rotaţie sau la shimbarea parametrilor. Aceşti descriptori Fourier pot fi definiţi ca:

FD(s)=|NFD(s)| cu

≠=

=0),1(/)(

0,0)(

sUsUs

sNFD . NFD au fost aplicaţi pentru caracterizarea

formelor din cadrul imaginilor mamografice[Sken 1994]. Au fost folosiţi pentru a defini un alt descriptor:

+−=

+=

= 2/

1)2/(

2/

1)2/(

)(

/)(

N

Ns

N

Ns

sNFD

ssNFDFF . (8.19)

Autorii lucrării în care a apărut acest descriptor au susţinut că acesta este mai puţin sensibil la zgomotul de înaltă frecvenţă. Mai mult, valorile acestuia sunt cuprinse în intervalul [0.1].

În ciuda succesului pe care îl are, abordarea analizei armonice a fost puţin folosită în afara studiilor prin sedimentare. Principala cauză este faptul că termenii de frecvenţă nu au corespondent în concepţia umană. Informaţiile despre forme pe care noi le extragem vizual din imagine nu dezvăluie aceşti factori numerici. Distincţia dintre două sedimente bazate pe armonica a 7-a poate fi înţeleasă oarecum ca şi prezenţa frecvenţei în neregularităţile conturului obiectului, dar pentru

Page 92: Popa - Prelucrarea numerica a imaginilor (2006).pdf

92

observatorul uman aceasta este mascată de alte variabile. Succesele pe care le au programele actuale bazate pe algoritmii de măsurare au reuşit să depăşească îndemânarea umană nu numai cantitativ (în termeni de exactitate şi precizie), dar şi calitativ (în termeni de tipuri de lucruri care pot fi măsurate). Dar acest lucru nu înseamnă că omenirea se simte confortabil folosind aceste instrumente.

Analiza armonică foloseşte caracteristici sau trăsături ale formei care sunt destul de diferite de cele pe care le foloseşte viziunea umană. Pe de altă parte, parametrii topologici sunt cei care par mult mai evidenţi pentru cei mai mulţi dintre observatori. Când se cere să se diferenţieze stelele de pe steagul american, australian sau israelian nu se vorbeşte despre dimensiuni şi unghiuri, ci despre număr de puncte. Cea mai evidentă diferenţă între un disc şi litera ‘O’ nu este forma eliptică a literei, ci prezenţa centrului gol. Proprietăţile topologice sunt puţin diferite de cele metrice. Dacă figura a fost desenată pe o bucată de cauciuc, întinderea ei până la orice mărime cu orice distorsiune nu va schimba topologia.

8.3 Identificarea trăsăturilor Recunoaşterea sau identificarea trăsăturilor într-o imagine este un subiect foarte bogat şi în

acelaşi timp foarte complicat. Implementările care utilizează logica vagă sau reţele neuronale pentru a combina informaţiile de intrare, toate încep prin realizarea măsurărilor care au fost prezentate în această lucrare. Aceste metode sunt folosite pentru a recunoaşte feţe, ţinte militare din fotografiile făcute din avion, amprente şi în sarcinile zilnice cum ar fi citirea unui text tipărit sau scris cu mâna. Multe sisteme oferă o clasificare rudimenară a trăsăturilor bazată fie pe valorile limită de intrare date de utilizator, fie pe datele măsurate pe un set de trăsături de exerciţiu. Multe dintre acestea pot să folosească diferiţi parametrii, şi pot opera într-un spaţiu de mari dimensiuni unde clasele sunt descrise geometric, de obicei ca nişte cutii sau elipse. De exemplu, se consideră 4 clase de obiecte de exerciţiu (fig 8.11) şi se realizează măsurători asupra acestora. Nu există o singură mărime sau un singur parametru care să le distingă pe cele 4 clase, dar combinaţia a doi parametrii (aria şi factorul de formă) poate determina o primă diferenţă. Măsurările individuale sunt prezentate în figura 8.12, pentru a arăta ciochinele de puncte. Unele programe pot determina adunări de puncte pentru a găsi o clasificare, dar în exemplu dat se presupune că obiectele de exerciţiu sunt deja cunoscute şi cele 4 clase sunt stabilite. În acest exemplu bidimensional ar fi posibil să descrii clasele prin împărţirea spaţiului în regiuni cu contururi simple (poligoane). Oricum, un mod de abordare mult mai flexibil, care este chiar şi mai uşor de calculat este să determini media şi deviaţia standard a valorilor parametrilor măsuraţi pentru fiecare grupă de exerciţiu, şi să se folosească acestea pentru a desena elipse. Cele desenate în figură au axa mare şi cea mică egală cu de două ori deviaţia standard a datelor, aşa că se aşteaptă ca un procent destul de mic dintre puncte să fie în afara elipselor.

fig.8.11 un exemplu cu patru clase de antrenament cu trăsături diferite. Două dintre acestea au aceiaşi formă, dar diferă mărimea, în timp ce celelalte au aceiaşi mărime,dar diferă forma. Nu este de ajuns să se măsoare doar un singur parametru pentru a le putea clasifica.

Page 93: Popa - Prelucrarea numerica a imaginilor (2006).pdf

93

fig.8.12 o reprezentare a valorii ariei şi a

factorului de formă care au fost calculate pentru formele prezentate în figura 2.11, fiecare este codată cu ajutorul unei culori în funcţie de clasă.

Obiectele necunoscute sunt reprezentate şi măsurate după cum se arată în figura 8.13. Valorile măsurate pentru aceeaşi parametrii sunt reţinute într-un graf şi distanţa de la centru la fiecare elipsă este măsurată. Cea mai apropiată clasă este raportată ca şi identificare (în acest exemplu prin colorarea trăsăturii în imagine). Dacă punctul nu este în elipsă atunci identificarea este marcată să indice un grad mai scăzut de încredere (liniile negre din jurul formelor din figură).

Fig.8.13 Un exemplu de forme necunoscute care trebuie identificate folosind reprezentarea din figura 8.12. Codurile de culoare identifică clasa a cărei valoare medie a ariei şi a factorului de formă este mai apropiată de cea obţinută pentru o formă necunoscută care a fost măsurată.

Acest mod de abordare este extrem de rapid de aplicat, poate urca uşor şi la dimensiuni mai mari (mai mulţi parametrii măsuraţi) şi permite ca noi clase să fie adăugate uşor, prin măsurarea unei noi populaţii de obiecte de exerciţiu, dar, în acelaşi timp, are şi multe limitări. Selectarea măsurării celui mai bun parametru pentru a distinge clase variate este departe de a fi simplă, iar în exemplul dat acest lucru a fost lăsat pe baza judecăţii umane. Există însă unele metode statistice care sunt capabile să sorteze dintr-un număr mare de parametrii măsurabili cel mai economic set pentru a-l folosi.

Altă limitare este şi presupunerea că ciorchinele de puncte, pentru fiecare clasă, este descris de deviaţia medie şi standard. De fapt, acest lucru este observat în cazul măsurărilor de mărime (sau uneori pentru logaritmii valorilor mărimii), dar rareori pentru parametrii de formă sau pentru valorile culorii sau densităţii. Este posibil să se facă modele “non-parametrice” pentru clase, de exemplu prin construirea unei histograme n-dimensionale de observaţii, dar acest lucru se apropie de o implementare logică a tehnicilor de identificare, şi se cer mult mai multe observaţii în seturile de exerciţiu.

A treia limitare este bineînţeles cerinţa setului de exerciţiu. Selectarea unei populaţii de forme reprezentative din fiecare clasă, care sunt echilibrate statistic, şi includerea tuturor variantelor este foarte dificil de realizat. Folosirea unei populaţii de exerciţiu mare poate deveni consumatoare de timp sau foarte scumpă, şi a unei populaţii mici poate fi chiar părtinitoare. Spre deosebire de alte moduri de clasificare, această metodă nu poate învăţa din greşelile ei sau nu se poate îmbogăţi prin experienţă.

Page 94: Popa - Prelucrarea numerica a imaginilor (2006).pdf

94

O altă limitare este şi faptul că distanţa de la un punct măsurat la centru fiecărei clase are însemnătate specială. Pentru un necunoscător calcularea acestei distanţe se ridică la presupunerea că măsurarea spaţiului este ortogonală şi toate axele de distanţă au aceiaşi însemnătate. De exemplu, de ce trebuie o diferenţă de 0,1 a factorului de formă să aibă aceeaşi importanţă cu o diferenţă de 0,1 a mărimii? Şi, dacă se întâmplă ca factorul de formă să folosească parametrii de mărime (dacă lungimea şi rotunjimea ar fi cele două axe din exemplul precedent), este echivalent cu un graf de axe care nu sunt carteziene, sau cu o elipsă a cărei axă mare şi mică nu sunt paralele cu axele parametrice. Este uşor să enumeri slăbiciunile acestui mod simplu şi direct de abordare, dar de asemenea este adevărat că multe dintre problemele de clasificare automată, pentru care este folosită analiza de imagini, sunt destul de simple astfel că aceste metode funcţionează. Implementare unei metode mult mai riguroase, bazată pe mai multe tehnici statistice, este întotdeauna o opţiune atunci când este nevoie să se rezolve probleme mai complicate.

8.4 Extragerea trăsăturilor Problema extragerii trăsăturilor implică două probleme importante: cum să vizualizezi şi să

organizezi trăsăturile; ce trăsături să extragi şi cum să măsori trăsăturile selectate ale obiectelor.

8.4.1 Organizarea şi vizualizarea trăsăturilor Datorită faptului că problema analizei datelor implică multe observaţii, este important să fie

organizate aceste date într-un mod sensibil, înainte de a fi prezentate şi analizate de oameni sau de aparate. Unul dintre cele mai tradiţionale modele este acela în care se foloseşte un tabel în care obiectele sunt reprezentate pe linie, iar trăsăturile pe coloană.

8.4.2 Selecţia trăsăturilor Procesul de selectare al trăsăturilor potrivite a fost de multe ori identificat ca fiind mai critic

decât algoritmii de clasificare. De aceea nu există reguli definitive, universal valabile, pentru a defini ce trăsături trebuie folosite în fiecare situaţie specifică. Există totuşi câteva repere care ne sunt folositoare în rezolvarea acestor probleme:

*să se caute întotdeauna trăsături discriminative ale obiectelor luate în considerare; *să se ocolească trăsăturile cu un coeficient de corelaţie mare; *să se păstreze numărul de trăsături cât de mic este posibil; *să se considere frecvent, dar nu întotdeauna, trăsături care sunt invariante la unele transformări

geometrice; *să se folosească trăsături care pot fi măsurate obiectiv prin diferite metode fără a implica prea

mulţi parametrii.

8.4.3 Clasificarea Clasificarea include un domeniu larg de decizii teoretice care se folosesc pentru identificarea

imaginilor sau a părţilor componente ale acesteia. Toţi algoritmii de clasificare se bazează pe presupunerea că imaginea analizată este descrisă de una sau mai multe caracteristici, şi fiecare dintre aceste trăsături aparţine uneia dintre clasele distincte. Aceste clase pot fi specificate apriori de un analist (se realizează în cazul clasificării supravegheate), sau trăsăturile determinate sunt adunate automat într-un set de clase prototip în cadrul căruia analistul specifică numai numărul de categorii dorite (clasificare nesupravegheată).

În cadrul clasificării imaginilor se analizează proprietăţile numerice a unor trăsături variate ale imaginilor şi datele obţinute se organizează în categorii. Algoritmii tipici de clasificare au două faze: faza de pregătire (training) şi faza de testare (testing). În prima fază, cea de pregătire, proprietăţile caracteristice ale trăsăturilor imaginii sunt izolate, şi, pe baza acestora, este creată o descriere unică a fiecărei categorii clasificate. Ulterior, în faza de testare, aceste partiţii ale proprietăţilor sunt folosite pentru a clasifica trăsăturile imaginilor.

Page 95: Popa - Prelucrarea numerica a imaginilor (2006).pdf

95

O componentă foarte importantă a procesului de clasificare o reprezintă descrierea claselor de pregătire. În cadrul clasificării supravegheate pot fi folosite, pentru a extrage descriptorii diferitelor clase, procesele statistice (ex. cele bazate pe cunoaşterea apriori a probabilităţii de distribuţie a funcţiilor) sau procesele de distribuţie liberă. În timp ce clasificarea nesupravegheată se bazează pe algoritmi de adunare care segmentează automat datele de pregătire în clase prototip. În ambele cazuri criteriul motivaţional care stă la baza construirii claselor de pregătire este reprezentat de faptul că acestea trebuie să fie:

- independente- schimbarea descrierii unei clase de pregătire trebuie să nu schimbe valoarea alteia;

- descriminatorii- diferite trăsături ale imaginii trebuie să aibă descrieri semnificative diferite; - de încredere - toate trăsăturile imaginii din cadrul unui grup de pregătire trebuie să

împărtăşească descrierile comune definitorii ale acelui grup. O modalitate convenabilă de a realiza o descriere parametrică a acestui model este printr-un

vector de trăsături (v1, v2, ...,vn), unde n este numărul de atribute care descriu fiecare trăsătură a imaginii şi a clasei de pregătire. Această reprezentare ne permite să considerăm că fiecare trăsătură a imaginii ocupă un anumit punct, iar fiecare clasă de pregătire ocupă un subspaţiu dintr-un spaţiu de clasificare n-dimensional. Văzută în acest mod, problema clasificării este aceea de a determina cărui sub-spaţiu îi aparţine fiecare vector de trăsături.

8.5 Recunoaşterea formelor

8.5.1 Metode de recunoaştere cu decizie teoretică a)Metode de recunoaştere utilizând modele (şabloane) Una din primele şi cele mai simple metode de recunoaştere a formelor este potrivirea cu

modelul. Fiecărei clase îi corespunde un model. Forma de clasificat este comparată cu acest model şi pe baza criteriului de clasificare stabilit în prealabil, forma de intrare se atribuie unei anumite clase. O astfel de abordare se utilizează mult în cazul dispozitivelor automate de recunoaştere a caracterelor şi a codurilor bancare. Criteriul de clasificare este un criteriu de similitudine a formei de intrare cu modelul. Pentru detectarea obiectului sau caracterului în imagine, aceasta este baleiată cu o fereastră(mască) ce reprezintă obiectul sau caracterul model până când modelul şi obiectul din imagine se suprapun.

În cazul imaginilor binare, cel mai simplu criteriu de similitudine îl constituie numărul maxim de coincidenţe între pixelii şablonului şi pixelii porţiunii de imagine comparate cu şablonul. Metoda este afectată de zgomot, distorsiuni şi rotiri de imagine şi nu poate fi aplicată atunci când imaginea este cuantizată în mai multe nuanţe de gri. În acest caz se adoptă drept criteriu de similitudine fie distanţa D dintre şablon şi fereastra imagine, fie funcţia de corelaţie normalizată dintre şablon şi fereastra de imagine,R.

Astfel, dacă GS este funcţia de gri pentru şablon şi GIo,Jo-funcţia nivel de gri pentru fereastra de imagine cu originea în punctul (Io, Jo)-originea ferestrei fiind în colţul din stânga sus:

GS : MS x NS ->N GIo,Jo : MIo x NJo->N unde n1xn2 este dimensiunea imaginii, msxns este dimensiunea modelului. Funcţia distanţă D dintre şablon şi fereastra de imagine se defineşte prin:

∑∑−

=

=

++−=1

0

1

0

2/1200,00 )],(),([),(

00

s sm

i

n

jjis jjiiGjiGjiD (8.20)

Se consideră că obiectul din fereastra de imagine aparţine clasei şablonului dacă această distanţă este zero. Datorită prezenţei zgomotului, în loc de D(io,jo)=0, se adoptă criteriul D(io,jo)=minD(i,j)<=TD, unde TD este un prag prestabilit.

Page 96: Popa - Prelucrarea numerica a imaginilor (2006).pdf

96

În prezenţa zgomotului se preferă funcţia de corelaţie normalizată între şablon şi fereastra de

imagine:

∑ ∑

∑ ∑−

=

=

=

=

++

++= 1

0

1

0

200

1

0

1

000

00

)],([

),(),(),(

00

00

s s

s s

m

i

n

jji

m

i

n

jjis

jjiiG

jjiiGjiGjiR (8.21)

Criteriul de similitudine este R(io,jo)=max R(u,v)>=TR , unde TR este un nivel prestabilit iar –1<= R(io,jo)<=1.

Există metode secvenţiale de comparare cu modelul, care reduc timpul şi volumul de calcul. Metoda suprapunerii cu modelul prezintă unele dezavantaje care o fac să fie mai puţin utilizată. Unul dintre dezavantaje ar fi faptul că la o baleiere a imaginii se poate detecta doar prezenţa obiectului reprezentat prin şablonul respectiv. Dacă se urmăreşte detectarea mai multor obiecte şi clasificarea lor, imaginea trebuie baleiată pe rând cu fiecare şablon. În acelaşi timp şi volumul de calcul, la o singură baleiere, este foarte mare, decizia luându-se destul de târziu. Un alt dezavantaj este şi faptul că potrivirea modelului este dependentă de rotaţia imaginii.

b)Metode de recunoaştere bazate pe funcţii de decizie în spaţiul trăsăturilor Forma de intrare (de clasificat) poate fi reprezentată printr-un vector [v] de dimensiune n1 x n2 :

[v]=[v1 v2 … vn1 n2 –1]T .Ea trebuie comparată, în spaţiul euclidian al formelor de dimensiune n1n2, cu formele de referinţă ce reprezintă clasele CI din mulţimea ζ= Ci, i=1,2…,p.

De obicei dimensiunea n1n2 a vectorului [v] este mare şi atunci comparaţia nu se mai face în spaţiul formelor, ci într-un spaţiu χ de dimensiune mult mai mică –s, numit spaţiul trăsăturilor (s<<n1n2).

În linii mari prin trăsături se înţeleg caracteristici numerice comune tuturor formelor analizate, ce concentrează o cantitate mare de informaţie şi care, pe cât posibil, iau valori diferite de la o clasă la alta. Unele dintre cele mai importante trăsături au fost prezentate în capitolele anterioare. Criteriile de selecţie trebuie să ţină seama de importanţa trăsăturilor în separarea claselor (distanţa între clase să fie suficient de mare), timpul, costul, redundanţa, etc. De cele mai multe ori se cere invarianţa trăsăturilor la rotaţie şi translaţie.

Având în vedere cele menţionate mai sus, un sistem de recunoaştere a formelor în abordarea cu decizie teoretică poate fi reprezentat convenţional prin două subsisteme: subsistemul de extragere a trăsăturilor şi subsistemul de clasificare sau de recunoaştere propriu-zisă.

Clasificarea se face pe baza comparaţiei dintre vectorul trăsăturilor măsurate [x]=[x0 ,x1…, xs –1]T∈χ şi vectorii trăsăturilor de referinţă [xi]=[xi

0, xi1, … xI

s-1]T∈χ i=1,2,…,p, cu ajutorul unor funcţii di: χ→ℜ numite funcţii de decizie sau funcţii discriminant. Dintre acestea cele mai utilizate sunt funcţiile liniare şi funcţiile distanţă.

O funcţie de decizie liniară este de forma : d([x])=[w]T[x]+ws unde [w]=[w0,w1,…,ws-1]T este vectorul ponderilor, iar [x]=[x0,x1,…,xs-1]T este vectorul trăsăturilor, ws=const.

În abordarea recunoaşterii formelor prin metoda funcţiilor de decizie liniare, dacă pentru un i∈1,2,…,p,di([x])>dj([x]) oricare ar fi j∈1,2,…,p, j≠I, atunci forma de intrare [x] se atribuie clasei Ci. În vederea recunoaşterii, în faza iniţială, spaţiul trăsăturilor ,χ, este partiţionat în mulţimi disjuncte Xi,i=1,2,3…,p reprezentând clasele. Ele sunt separate prin frontiere de decizie definite prin funcţiile discriminant respective, di , i=1,2,…,p. în cazul funcţiilor liniare, frontierele reprezintă hiperplane. Alte hipersuprafeţe de separaţie utilizate sunt hipersferele, hipercuburile şi hiperelipsoizii.

Page 97: Popa - Prelucrarea numerica a imaginilor (2006).pdf

97

8.5.2 Recunoaşterea obiectelor folosind „shape-from-shading” Recunoaşterea obiectelor din mai multe biblioteci de imagini reprezintă cheia pentru

manipularea automatizată a unui volum cât mai mare de informaţii vizuale. Scopul general al multor aplicaţii este o recunoaştere rapidă a imaginilor în funcţie de conţinutul lor. Multe dintre cercetările de specialitate realizate pentru recunoaşterea obiectelor dintr-o bibliotecă mare de imagini, s-au concentrat pe folosirea unui număr redus de caracteristici ale imaginii. Una dintre cele mai cunoscute scheme pentru recunoaşterea obiectelor este folosirea atributelor histogramei. Această idee a fost emisă pentru prima dată de M. Swain[4]4,şi se referea la refolosirea imaginilor color din baza de date. Ideea acestei reprezentări este de a strânge atributele potrivite alese pentru imagine într-o histogramă grosolană, dar corectă, şi, pe baza histogramei distanţei minime, de a efectua recunoaşterea. Această metodă a refolosirii informaţiilor din baze de date a fost extinsă şi la reprezentare texturii[5]5şi a orientării[6]6.De asemenea au fost folosite pentru recunoaşterea obiectelor din imaginile aranjate şi din histogramele informaţiilor formelor topografice. Pentru recunoaşterea liniilor se foloseşte o reprezentare apropiată de cele prezentate, histograma geometrică. Această reprezentare nu foloseşte atributele neprelucrate ale imaginii ci atributele relative definite prin perechi de linii segmentate din măştile de muchii (edge-maps).

În ciuda acestui interes prezentat pentru dezvoltarea reprezentării compacte a obiectelor, pentru recunoşterea rapidă a imaginilor şi pentru refolosirea acestora, pe de altă parte s-a realizat folosirea unui nivel mare de descriptori relaţionali pentru o scară largă de probleme de recunoaştere a obiectelor.

Tehnica shape-from-shading se ocupă cu găsirea orientării unei suprafeţe prin variaţia locală a strălucirii măsurate. Există dovezi psiho-fizice care arată faptul că acest proces joacă un rol important în percepţia şi recunoaşterea topografiei suprafeţelor[7]7.De-a lungul timpului au fost diferiţi autori care au încercat să găsească diferite metode pentru a realiza această recunoaştere a formelor. Dintre aceştia îi amintim pe Bicksel şi Pentland[8]8,ei au realizat o metodă care cere o cunoaştere anterioară a celui mai ”înalt” punct singular dintr-o suprafaţă. Pe de altă parte Oliensis şi Dupuis[9]9au elaborat un algoritm care realizează reconstrucţia informaţiilor importante din date care conţin intensitatea pixelilor. În acelaşi timp este destul de interesantă şi folosirea aparatueii teoretice de nivel înalt pentru a rezolva ecuaţiile expunerii imaginii ca o problemă a valorilor de graniţă. Legat de acest lucru Rouy şi Tourin[10]10au arătat corectitudinea şi unicitatea soluţiilor în cazul shape-from-shading pentru cazurile în care sursa de lumină şi direcţia de vedere coincid.

S-a observat că această metodă SFS poate fi considerată furnizoarea cheie a înţelegerii structurii 3D prin intermediul unor reprezentări 2D. Acest proces de cercetare durează de mai mult de două decenii şi se ocupă cu găsirea formelor 3D ale suprafeţelor din modelele de proiecţie.

Clasicul mod de abordare a SFS este exprimat printr-un proces de minimizare a energiei folosind aparate performante de calcul. Principalul scop al acestei metode este găsirea unei schiţe care să reprezinte orientarea suprafeţei locale, prin minimizarea unei funcţii eroare. Funcţia conţine o limită apropiată a datelor şi o limită obişnuită care controlează netezimea schiţei găsite. Datorită faptului că se cere găsirea unei schiţe, ecuaţiile care variază trebuie să fie stabilizate prin constrângerea domeniului de definiţie. Din această cauză, diferitele formulări care au apărut în literatura de specialitate au fost focalizate pe trei probleme mari. Prima dintre acestea o reprezintă definirea unei

4 M.J.Swain „Interactive indexing into image databases”, Image Vision Storage Retrieval ,1995, pag 95-103 5 G.L.Gimelfarb,A.K.Jain „On retrieving textured images from am image database”, Pattern Recognition Nr29(9), 1996, pag.1461-1483 6 C.Dorai, A.K.Jain „View organisation and matching of free-form objects”,IEEE Computer Society International Symposium on Computer Vision, 1995, pag.25-30 7 E.Mingola, J.T.Todd „Perception of solid Shape from Shading”, Biological Cybernetic vol 53, 1986, pag 137-151 8 M.Bichsel, A.P.Pentland „A Simple Algirithm for Shape from Shading”, IEEE Conference Computer vision and PatternRecognition, 1992, pag.459-465 9 J.Oliensis, P.Dupuis „An Optimal Control Formulation and Related Numerical Methods for a Problem in Shape Reconstruction”, An Application Probability, vol4, Nr 2, 1994, pag287-346 10 E.Roy, A.Tourin „A Viscosity Solutions Approach to Shape from Shading”, SIAM Numerical Analysis, vol29, Nr.3, 1992, pag.867-884

Page 98: Popa - Prelucrarea numerica a imaginilor (2006).pdf

98

funcţii corecte. Cea mai mare parte a efortului a fost îndreptată spre găsirea modului în care pot fi impuse constrângeri în găsirea schiţei dorite. În unele cazuri s-a folosit pentru determinarea acestor constrângeri relaţiile dintre deformarea geometrică a unui obiect 3D şi deformarea 2D corespondentă imaginii proiecţiei sale.

Al doilea scop a fost să se găsească modele fizice mai realiste ale procesului de reflectanţă. Iar ultimul domeniu de activitate este modelarea condiţiilor de graniţă. Munca clasică s-a îndreptat de cele mai multe ori spre folosirea condiţiei graniţelor închise, care cere ca schiţa cerută să apară în planul imaginii şi ortogonal la muchiile închise. Dacă constrângerile graniţei închise nu sunt valabile, atunci se poate folosi un singur punct pentru a constrânge realizarea schiţei cerute.

Ideea principală din SFS este că regiunile locale dintr-o imagine E(x,y) corespund petelor iluminate a unei suprafeţe continue pe porţiuni z(x,y). Măsura strălucirii E(x,y) va varia depinzând de proprietăţile materialului suprafeţei, de orientarea suprafeţei şi de direcţia iluminării.

Schema de reflectanţă R(p,q) caracterizează aceste proprietăţi şi, realizează o conexiune explicită între imagine şi orientarea suprafeţei. Orientarea suprafeţei este caracterizată de componentele gradientului suprafeţei pe direcţiile x şi y (ex. p=δz/δx şi q=δz/δy). Problema SFS este regăsirea suprafeţei z(x,y) din imaginea E(x,y).

Ecuaţia iluminării imaginii[11]11exprimă faptul că măsura strălucirii unei imagini este proporţională cu radianţa punctului corespondent din suprafaţă, care este reprezentată de R(p,q). Normalizând imaginea intensităţii şi schiţa reflectanţei, constanta de proporţionalitate devine unitate, iar ecuaţia iluminării este simplificată la E(x,y)=R(p,q). Următorul scop este să se găsească o suprafaţă netedă care satisface ecuaţia iluminării imaginii. Aceasta reprezintă o problemă variabilă în care o funcţie eroare globală este minimizată direct prin adaptarea repetată a schiţei.

Horn şi Brook propun o funcţie eroare a cărei formulă este:

dxdynyn

xnsnyxEI )1()())(),(( 2

222 −⋅+

∂∂

+∂∂

⋅+⋅−= ∫∫ µλ (8.22)

eroarea de strălucire termenul de termenul de regularizare normare

Primul termen, eroarea de strălucire, încurajează datele apropiate de intensitatea imaginii măsurate şi de funcţia de reflectanţă. Este singurul termen care foloseşte direct informaţiile proiecţiei. Al doilea termen impune constrângeri de netezire în refacerea suprafeţelor normale, separă schimbările mari locale din orientarea suprafeţei, măsurate prin amplitudinea derivatelor parţiale a suprafeţei pe direcţiile x şi y. Ultimul termen impune constrângeri de normare în regăsirea formelor. Constantele µ şi λ sunt multiplicatori Lagrange.

Această funcţie este minimizată prin rezolvarea ecuaţiilor lui Euler: 0)( 2 =⋅−⋅∇⋅+⋅⋅− nnssnE µλ (8.23)

8.5.3 Aplicaţii ale folosirii culorilor în recunoaşterea formelor

2.5.3.1 Potrivirea culorilor Potrivirea culorilor este o metodă prin care se calculează ce culoare, şi cât de mult din fiecare

culoare, există într-o regiune a unei imagini. Se folosesc aceste informaţii pentru a verifica dacă alte imagini conţin aceleaşi culori în acelaşi raport.

Informaţia color dintr-o imagine poate conţine una sau mai multe culori. Aparatele de vedere artificială folosesc informaţia color tridimensională dintr-o imagine, şi o reprezintă ca un spectru color unidimensional. Aplicaţiile de vedere artificială compară informaţia color din întreaga imagine, sau regiune din imagine, cu spectrul color cunoscut, şi calculează o valoare pentru fiecare

11 B.K.P.Horn, M.J.Brooks “Shape from Shading”, MIT Press Cambridge MA, 1989

Page 99: Popa - Prelucrarea numerica a imaginilor (2006).pdf

99

regiune. Această valoare arată cât de apropiată este informaţia color din regiune de informaţia reprezentată de spectru color. Aceasta poate fi folosită în aplicaţii de identificare sau inspecţie a culorilor, precum şi în alte aplicaţii care cer compararea culorilor pentru a lua decizii.

În figura 8.14 este prezentat un exemplu de aplicaţie de identificare a unei ţigle. Figura a prezintă ţigla care trebuie identificată, iar figura b prezintă un set de diferite ţigle, precum şi rezultatul potrivirii culorilor, rezultat obţinut pe timpul procesului de potrivire.

Fig.8.14

8.5.3.2 Localizarea culorilor Se foloseşte localizarea culorilor pentru a se determina repede regiunile color dintr-o imagine.

Prin localizarea culorilor se creează un model sau portret care reprezintă culorile care sunt căutate. Diferitele aplicaţii de vedere artificială caută modelul realizat în fiecare imagine achiziţionată şi calculează o valoare pentru fiecare potrivire. Această valoare indică cât se apropie imaginea color din model de imaginea color găsită în regiune.

Algoritmii de localizare color furnizează o metodă rapidă de localizare a regiunilor dintr-o imagine cu anumite culori. Se foloseşte localizarea culorilor în aplicaţii care:

- cer locaţia şi numărul de regiuni dintr-o imagine care conţin informaţia color specificată; - retransmit informaţia color cumulativă din regiune, în loc să reprezinte felul în care culorile

sunt aranjate în regiune; - nu cer o orientare regiunii; - nu cer locaţia la nivel exact al pixelilor. Instrumentele de localizare a culorii în IMAQ Vision măsoară similitudinea dintre o

reprezentare ideală a unei trăsături, numită model, şi o trăsătură care poate fi prezentă în imagine. O trăsătură pentru localizarea culorilor este definită ca fiind o regiune dintr-o imagine care conţine anumite culori specifice. Se foloseşte localizarea color în aplicaţii de identificare şi sortare.

În figura 8.15 se arată o aplicaţie de sortare a bomboanelor. Folosind un model color al diferitelor bomboane din imagine, prin localizarea color se determină foarte repede poziţia diferitelor bomboane.

Fig.8.15

Page 100: Popa - Prelucrarea numerica a imaginilor (2006).pdf

100

8.5.3.3 Potrivirea culorilor după şablon Se foloseşte potrivirea culorilor după şablon pentru a localiza rapid diferite şabloane

cunoscute, sau de referinţă, dintr-o imagine color. Prin această potrivire se creează un model sau un şablon care reprezintă obiectul care trebuie căutat. Astfel că aplicaţia folosită caută modelul în fiecare imagine achiziţionată, şi calculează valoarea pentru fiecare potrivire. Valoarea calculată indică cât de apropiat este modelul de şablonul color considerat. Această potrivire se foloseşte dacă:

*obiectul care se doreşte a fi localizat conţine informaţie color care este diferită de fond, şi se vrea să se găsească locaţia obiectului în imagine foarte exact. Pentru aceste aplicaţii potrivirea şabloanelor furnizează o soluţie mai precisă decât localizarea color, deoarece foloseşte informaţii despre formă pe timpul căutării.

În figura 8.16 se arată diferenţa dintre localizarea color şi potrivirea şabloanelor color. Figura 8.16a este un şablon color care reprezintă un rezistor. În figura b se prezintă localizarea color a rezistoarelor, potrivirea nu este foarte precisă pentru că informaţia color este limitată. Potrivirea şabloanelor color foloseşte localizarea color pentru a găsi obiectele şi apoi foloseşte potrivirea cu şablon pentru a stabili exact locaţia, ducând la un rezultat mai exact după cum se vede în figura 8.16.

Fig.8.16

*obiectul care se doreşte a fi localizat are proprietăţi pe scara nivelelor de gri care sunt dificil de

caracterizat, sau sunt asemănătoare cu ale altor obiecte din imaginea studiată. În asemenea cazuri potrivirea folosind şabloane gri poate să nu dea rezultatele aşteptate. Dacă obiectul are unele informaţii color care îl diferenţiază de alte obiecte din scenă, culoarea furnizează informaţia adiţională pentru a localiza obiectul.

Figura 8.17 arată avantajele folosirii informaţiei color când se localizează siguranţe codate color dintr-o cutie de siguranţe. Figura 8.17a arată o imagine gri a unei cutii de siguranţe. În această imagine, potrivirea cu instrumente care folosesc şabloane gri realizează cu greutate diferenţa dintre o rezistenţă de 20Ω şi una de 25Ω, din cauza intensităţii similare a scării de gri. În figura 8.17b culorile ajută la separarea rezistenţelor. Această adăugare a culorilor ajută la îmbunătăţirea exactităţii prin folosirea instrumentelor de potrivire cu şablon.

Fig.8.17

Potrivirea cu şablon color este cheia pentru multe aplicaţii, aceasta furnizează aplicaţiilor informaţii despre numărul de cazuri şi localizarea diferitelor şabloane în imagine

Page 101: Popa - Prelucrarea numerica a imaginilor (2006).pdf

101

9. Concluzii Din tot ceea ce a fost prezentat în această lucrare pot fi determinate câteva caracteristici şi, în

acelaşi timp, probleme apărute în analiza imaginilor. Dintre acestea pot fi amintite următoarele: Cercetările realizate în acest domeniu au o natură inter şi multi-disciplinară deoarece implică

atât informatică, matematică, psihologie,inteligenţă artificială, precum şi multe alte discipline; Nu există un ghid stabilit pe baza căruia să se aleagă trăsăturile formei care trebuie să fie

calculate, dar nu există nici metode de clasificare care să se poată folosi în orice tip de problemă;

Este importantă cunoaşterea aspectelor specifice ale fiecărei probleme pentru a defini trăsăturile potrivite şi pentru a selecta metodele de clasificare eficiente;

În marea majoritate a aplicaţiilor se folosesc forme 2D în detrimentul celor 3D; Pentru a obţine rezultate favorabile în procesul de clasificare trebuie să se folosească

algoritmi potriviţi atât în procesarea imaginilor cât şi în analiza formelor; Domeniul de aplicabilitate al analizei imaginilor este foarte variat, mergând de la biologie

până la cercetările spaţiale, din industrie până la acţiunile de pe câmpul de luptă, dar din păcate încă nu s-au realizat algoritmi care să rezolve toate tipurile de probleme apărute într-un anumit domeniu.

Orice pronostic asupra viitorului analizei imaginilor trebuie să ia în considerare problemele prezentate anterior şi să încerce să determine un mod de rezolvare a lor. Datorită acestui lucru se va încerca găsirea, cel puţin din punct de vedere teoretic, a câtorva metode de rezolvare a lor. În rândurile următoare sunt prezentate câteva dintre acestea.

♦ Datorită faptului că analiza imaginilor are o natură inter şi multi-disciplinară este nevoie de tehnică care să proceseze informaţia în timp cât mai scurt, calculatoare cu un procesor rapid şi multă memorie, deoarece numai aşa se va putea înţelege vederea biologică şi se vor lua decizii "în timp real". În acelaşi timp, pentru a se putea realiza acest lucru trebuie să existe sisteme automate de analiză a formelor care să aibă posibilităţi asemănătoare cu cele ale sistemului de vedere uman. De asemenea dezvoltarea calculatoarelor, în special a sistemelor paralel, poate furniza putere de calcul care să permită extragerea unor trăsături mai complicate, ceea ce duce la realizarea unor metode de clasificare mai puternice. În acelaşi timp trebuie să se ţină cont şi de rezultatele cercetărilor realizate în psihologie şi neurologie pentru a determina soluţiile adoptate de cel mai puternic analizator al formelor, sistemul vizual uman. Se ştie că modul de organizare a cunoştinţelor depinde de reprezentările utilizate, iar pentru reprezentarea scenelor complexe statice se poate recurge la "imagini mintale", reprezentări sau scheme cognitive. Ţinând cont de acest lucru în cadrul procesării şi analizei imaginilor de către calculator trebuie să se realizeze pentru acesta o bază de date care să conţină reprezentări a diferitelor forme. ♦ Se doreşte ca pe viitor folosindu-se rezultate din statistică şi matematică, precum şi din experimente realizate pentru determinarea trăsăturilor şi a metodelor de clasificare, să se găsească algoritmi care să poată fi folosiţi pentru rezolvarea fiecărei clase de probleme care există în acest domeniu. Rezultatele experimentale obţinute de A.Treisman (1969,1988) au evidenţiat faptul că detectarea unor trăsături fizice simple este un proces automat, preatenţional, în cazul omului. Experimentul presupunea semnalizarea dacă în imagine apare sau nu un anumit stimul ţintă. Pentru a îngreuna discriminarea, în imagine apar şi alţi stimuli distractori. În prima etapă stimulul ţintă se deosebea de distractori printr-o singură trăsătură, iar apoi interveneau două deosebiri. S-a observat că timpul de reacţie rămâne constant în cazul în care identificarea se face pe baza unei singure trăsături şi creşte liniar cu numărul de trăsături implicate. Aceasta permite concluzia că extragerea trăsăturilor individuale se realizează în paralel, şi combinarea lor se realizează serial. Ţinând cont de concluzia obţinută după analiza omului, trebuie să se realizeze programe care funcţionează pe acelaşi principiu.

Page 102: Popa - Prelucrarea numerica a imaginilor (2006).pdf

102

♦ O posibilitate particulară pentru a determina aspectele specifice ale unei probleme este prin aplicarea metodologiei „cercetării adânci", considerând câteva aplicaţii tipice. Câteva rezultate din neuro-biologie au relevat faptul că selecţia informaţiilor ce vor fi prelucrate, selecţie realizată de sistemul vizual uman, este realizată printr-o mulţime de procese ascendente (intensitatea, frecvenţa, neobişnuitul stimulului) sau descendente (importanţa, motivaţia, relevanţa stimulului). ♦ Mediul real este complex, el cuprinde obiecte şi forme de o mare varietate care evoluează şi, în acelaşi timp, este afectat de diverse perturbaţii. Deoarece sistemele cognitive (umane sau artificiale) dispun de capacităţi limitate de procesare, şi deoarece se impune adoptarea unei decizii (adaptive) puternice, este necesară selecţia stimulilor semnificativi. Prelucrarea primară şi o parte a procesărilor secundare a informaţiei vizuale operează asupra configuraţiilor complexe ale imaginii 3D constituite. Aşa că ar trebui să se folosească analiza formelor 3D deoarece astfel se pot obţine mai multe informaţii dintr-o imagine, dar acest lucru se poate realiza numai odată cu creşterea vitezei calculatoarelor. În vederea 3D un rol important îl are matematica (geometria diferenţială şi sistemele neliniare), grafica pe calculator şi sistemele paralel. ♦ Înainte de a folosi un algoritm este necesar să fim siguri că a fost corect implementat, dar în acelaşi timp trebuie comparat şi cu alte exemple. În acest fel pot fi identificate atât aspectele pozitive, cât şi cele negative ale fiecărui algoritm-metodă în parte, şi în acest fel se furnizează informaţii pentru realizarea unui cod de corecţie a erorilor. De fapt la început dezvoltarea analizei imaginilor şi a vederii computerizate a fost empirică, de cele mai multe ori lipsind un fundament matematic solid. Dar, chiar şi acum, analiza formelor implică o serie de măsurători prin care se definesc multiple trăsături spaţiale şi, de aceea, este nevoie de un fundament teoretic solid. ♦ Domeniul de aplicabilitate al analizei imaginilor este şi va fi foarte mare, se vor oferii soluţii în cele mai variate arii de activitate ale oamenilor, în special în internet şi realitatea virtuală, dar şi în medicină, armată şi multe altele.

Într-o lume caracterizată şi dominată de schimbări, informaţia reprezintă o condiţie absolut necesară pentru progresul general al omenirii. Noile dimensiuni ale mediului internaţional, precum şi cele ale spaţiului de luptă modern impun o „manipulare” adecvată a acesteia. Studiile în domeniul informaţiei sunt tot mai complete, făcându-se utile în toate domeniile existenţei omului. În viziunea noastră viitorul şi progresul fără deţinerea informaţiei nu se pot realiza, de aceea subliniem importanţa existenţei echipamentelor şi programelor capabile să o proceseze .

10. Bibliografie

1.***Dicţionar tehnic englez-român, Bucureşti, Editura Tehnică, 2004 2.***Image ProcessingToolbox-User’s Guide, Version 2.1, The MathWorks, 1997 3.Mr.ing. CREANGĂ, I.,Metode în procesarea digitală a imaginilor, Bucureşti, Editura

Academiei Tehnice Militare, 1994 4.GHINEA,M.,FIREŢEANU,V., MATLAB-Calcul numeric,grafică,aplicaţii, Bucureşti, Teora,

2003 5.MICLEA, M., Psihologie cognitivă, Iaşi, Editura Polirom, 1999 6.MITROFAN, G.,Introducere în televiziune, Bucureşti, Editura Teora, 1998 7.POPESCU, D.,Senzori şi sisteme de percepţie artificială,Bucureşti, Centrul de multiplicat

cursuri I.P.B. 1991

Page 103: Popa - Prelucrarea numerica a imaginilor (2006).pdf

103

8.VERTAN, C., Prelucrarea şi analiza imaginilor-îndrumar de laborator, Bucureşti, Editura Printech, 2001

9.VLAICU, A., Prelucrarea digitală a imaginilor,Cluj-Napoca, Editura Albastră,1997 10ATTIA, J.O.,Electronics and circuit analysis using MATLAB,CRC Press, 1999 11.CARY, R.S.,The Avionics Handbook,CRC Press 2001 12. FONTOURA COSTA, L.,Shape Analysis and Classification, CRC Press, 2001 13.KERMIT, S., TIMOTHY A.D.,MATLAB PrimerSixth Edition, CRC Press, 2000 14.KNIGHT, A., Basics of MATLAB and Byond, CRC Press 2000 15.LAPLANTE COSTA, L.Computational Intelligence Perspective, CRC Press, 2001 16.MICHELI-TZANAKOU, EVANGELIA, Supervised and Unsupervised Pattern Recognition-

Feature Extraction and Computational,CRCPress, 2000 17.PERKINS,S., FISHER,R.,Connected Components Labeling,2003 18.YUNG,Q.S.,HUFANG,S.,Image and Video compression for multimedia Engineering, CRC

Press, 2000 19. http://www.cisc.ufl.edu/research/surflab 20. http://www.csse.uwa.edu.au 21. http://www.homepages.inf.ed.ac.uk 22. http://www.national_instruments/image_analysis_and_processing 23. http://www.research.csse,uwa.edu.au 24. http://www.secure.csse.uwa.edu.au

25. http://www.undergraduate.csse.uwa.edu.au

Page 104: Popa - Prelucrarea numerica a imaginilor (2006).pdf

104

II. UTILIZAREA REŢELELOR NEURONALE ÎN PRELUCRAREA IMAGINILOR

Page 105: Popa - Prelucrarea numerica a imaginilor (2006).pdf

1. Introducere

1.1 Inteligenţa artificială Inteligenţa artificială încearcă rezolve problemele simulând inteligenţa umană. Principalele direcţii ale calculului inteligent sunt: - Calcul neuronal. Este folosit în principal în rezolvarea problemelor de asociere (clasificare, aproximare, predicţie etc.), bazându-se pe extragerea, prin învăţare, a unui model pornind de la exemple. Sursa de inspiraţie o reprezintă structura şi funcţionarea creierului. - Calcul evolutiv. Este folosit în principal în rezolvarea problemelor bazate pe căutarea soluţiei într-un spaţiu mare de soluţii potenţiale (în particular în rezolvarea problemelor de optimizare). Sursa de inspiraţie o reprezintă principiile evoluţionismului darwinist. - Calcul fuzzy. Este folosit atunci când datele problemei (şi relaţiile dintre acestea) nu pot fi descrise exact ci există un grad de incertitudine. Ideea de bază este de a înlocui valorile exacte („crisp”) cu „valori fuzzy” descrise prin funcţii de apartenenţă. În fiecare dintre cele trei direcţii majoritatea prelucrărilor care se efectuează au caracter numeric, fiind necesară o codificare numerică adecvată a problemei. Aceasta motivează prezenţa cuvântului calcul în denumirea domeniului. Pe de altă parte în fiecare dintre direcţiile de mai sus se încearcă simularea unor comportamente inteligente ceea ce motivează prezenţa termenului inteligent. Principiul fundamental al calculului neuronal şi al celui evolutiv este de a dezvolta sisteme de calcul inteligent pornind de la implementarea unor reguli simple, comportamentul complex al acestor sisteme derivând aplicarea în paralel şi în manieră interactivă a acestor reguli. Această abordare de tip bottom-up este în contrast cu abordarea de tip „top-down” specifică altor abordări din Inteligenţa Artificială. Calculul neuronal şi cel evolutiv fac parte din sfera mai largă a calculului natural al cărui principiu este de a prelua idei de rezolvare a problemelor din sistemele naturale. Obiectivul principal al calculului natural este de a dezvolta metode de rezolvare a problemelor „rău-puse ” şi a celor nerezolvabile prin metodele tradiţionale (de exemplu, rezolvarea problemelor NP-complete în timp polinomial). Pe lângă componentele amintite deja, calculul natural mai include calculul molecular (DNA Computing), calculul cu membrane (Membrane Computing) şi calculul cuantic (Quantum Computing). Dacă primele două direcţii sunt deja tradiţionale, ultimele trei sunt încă în primele faze de dezvoltare.

1.2 Specificul calculului neuronal Din punct de vedere funcţional o reţea neuronală este un sistem ce primeşte date de intrare (corespunzătoare datelor iniţiale ale unei probleme) şi produce date de ieşire (ce pot fi interpretate ca răspunsuri ale problemei analizate). O caracteristică esenţială a reţelelor neuronale este capacitatea de a se adapta la mediul informaţional corespunzător unei probleme concrete printr-un proces de învăţare. În felul acesta reţeaua extrage modelul problemei pornind de la exemple. Din punct de vedere structural o reţea neuronală este un ansamblu de unităţi interconectate fiecare fiind caracterizaţi de o funcţionare simplă. Funcţionarea unităţilor este influenţată de o serie de parametri adaptabili. Astfel o reţea neuronală este un sistem extrem de flexibil.

Page 106: Popa - Prelucrarea numerica a imaginilor (2006).pdf

106

Structura unităţilor funcţionale, prezenţa conexiunilor şi a parametrilor adaptivi precum şi modul de funcţionare sunt inspirate de creierul uman. Fiecare unitate funcţională primeşte câteva semnale de intrare pe care le prelucrează şi produce un semnal de ieşire. Interacţiunea multor unităţi cu funcţionare simplă conduce la un sistem care poate să rezolve probleme complexe. Funcţionarea sistemului este controlată de un set numeros de parametri ajustabili care permit acestuia să se adapteze cât mai fidel mediului informaţional în care este amplasat (specific problemei de rezolvat). Una dintre cele mai importante caracteristici ale unui sistem neuronal este caracterul său adaptiv, faptul că poate să-şi stabilească parametrii de funcţionare printr-un proces de învăţare bazat pe informaţiile primite. Astfel de sisteme sunt adecvate, astfel, pentru problemele ce sunt dificil sau chiar imposibil de formalizat pentru ele existând doar exemple de rezolvare.

1.3 Structura unei reţele neuronale Din punct de vedere structural, o reţea neuronală este un ansamblu de unităţi funcţionale simple, interconectate. Elementele definitorii ale unei reţele neuronale sunt:

• Unităţile funcţionale • Arhitectura: specifică modul în care sunt amplasate şi interconectate unităţile

funcţionale. Arhitectura determină şi fuxul informaţional în cadrul reţelei. • Funcţionarea: specifică modul în care fiecare unitate în parte şi reţeaua în

ansamblul ei transformă semnalele de intrare în semnale de ieşire. Funcţionarea este influenţată de arhitectură, în special de modul de interconectare a unităţilor.

• Adaptarea (învăţarea): specifică modul de stabilire a parametrilor ajustabili astfel încât reţeaua să poate rezolva anumite probleme. În funcţie de natura informaţiei de care se dispune, învăţarea poate fi supervizată sau nesupervizată. Învăţarea constă în modificarea funcţionalităţii reţelei prin modificarea parametrilor şi/sau a structurii acesteia. Procesul de învăţarea bazat pe adaptarea parametrilor constă în existenţa unor reguli de modificare a parametrilor şi un algoritm de aplicare a acestor reguli. a) Unitatea funcţională este componenta elementară de prelucrare a informaţiei în cadrul unei reţele neuronale. O unitate funcţională primeşte semnale din partea altor unităţi şi produce un semnal de ieşire. Atât semnalele de intrare cât şi cel de ieşire sunt codificate numeric. Unitatea integrează semnalele de intrare ţinând cont de ponderea asociată fiecăruia şi transformă semnalul integrat prin aplicarea unei funcţii de transfer (activare) obţinând semnalul de ieşire. b) Arhitectura unei reţele neuronale înseamnă modul în care sunt amplasate unităţile funcţionale (topologie) şi modul în care sunt interconectate (conectivitate). O reţea neuronală este formalizată printr-un graf orientat etichetat, în nodurile sale fiind amplasate unităţile funcţionale, arcele specificând conexiunile şi deci fluxul informaţional. Cazul cel mai frecvent este cel al reţelelor organizate pe nivele: un nivel de unităţi de intrare care primesc semnale din partea mediului, acestea neavând alt rol decât acela de a retransmite semnalul primit către alte unităţi din reţea, unul sau mai multe nivele de unităţi ascunse care sunt conectate doar cu alte unităţi ale reţelei fără a comunica cu mediul extern şi cu rolul de colecta, prelucra şi distribui semnale către alte unităţi şi un nivel de ieşire care colectează semnale de la alte unităţi, le prelucrează şi transmit semnalul obţinut mediului extern. Din punctul de vedere al topologiei exista reţele în care nu are importanţă poziţia geometrică a unităţilor (reţelele organizate pe nivele şi reţelele Hopfield) şi reţele în care organizarea geometrica este esenţială, relaţiile de vecinătate dintre unităţi intervenind în algoritmul de funcţionare sau de învăţare (reţele Kohonnen, reţele celulare). Din punctul de vedere al conectivităţii, interconectarea determina fluxul de semnale prin reţea, acesta fiind factorul esenţial în determinarea algoritmului de funcţionare. Astfel exista două categorii de reţele:

Page 107: Popa - Prelucrarea numerica a imaginilor (2006).pdf

107

X Date de intrare

Y răspuns

Fig. I.1 Reţea neuronală ca sistem de transformare a semnalelor de intrare în semnale de ieşire

• reţele de tip „feed-forward” - fluxul informaţional este unidirectional, dinspre unităţile de intrare către unităţile de ieşire;

• reţele recurente - graful asociat conţine conexiuni inverse directe (bucle) sau indirecte (circuite). Principalele tipuri de topologii sunt:

• Arbitrara. Mulţime de unităţi pe care nu este definită nici o relaţie de ordine. În acest caz nu are importanţă nici locul şi nici distantele dintre unităţi . Un model cu o astfel de topologie este modelul Hopfield. De regulă, acestei topologii îi corespunde o conectivitate totală.

• Pe niveluri. Unităţile sunt împărţite în mai multe submulţimi, numite niveluri. În cadrul unui nivel nu are importanta modul de aranjare al unităţilor. În această categorie intră reţelele feedforward cu unul sau mai multe niveluri.

• Cu structura geometrica. Unităţile sunt amplasate în nodurile unei grile unidimensionale, bidimensionale sau chiar tridimensionale. în acest caz se poate defini o funcţie distanţă între unităţi. În aceasta categorie intră reţelele de tip Kohonen şi cele celulare. În practică se utilizează şi arhitecturi mixte în care fiecare nivel poate avea o anumită structură geometrică. Principalele tipuri de conexiuni sunt:

• Conexiuni între elementele a două nivele distincte (între straturi). Sunt folosite în special la reţelele organizate pe nivele.

• Conexiuni între elementele aceluiaşi nivel (conexiuni laterale). Se folosesc la reţelele cu structură geometrică.

• Conexiuni inverse prin care o unitate este conectată cu ea însăşi. Pot fi folosite la toate tipurile de topologii. Fluxul informaţional reprezintă modul în care „curge” informaţia prin reţea (de la unităţile care preiau datele de intrare către unităţile care produc semnalul de ieşire). În funcţie de modul de interconectare a unităţilor, fluxul informaţional poate aparţine uneia dintre categoriile:

• Feedforward: flux unidirecţional (informaţia circula doar dinspre nivelul unităţi lor de intrare înspre cel al unităţilor de ieşire). Este întâlnit la reţelele organizate pe nivele în care nu există conexiuni inverse.

• Feedback: flux multidirecţional (un semnal produs de o unitate poate să ajungă din nou la unitatea respectiva fie direct, fie prin intermediul altor unităţi ). Este întâlnit la reţelele cu organizare oarecare şi la cele în care sunt prezente conexiunile inverse. c) Funcţionarea Funcţionarea se refera la modul în care reţeaua transformă un semnal de intrare, X, într-un semnal de ieşire, Y. Ea depinde atât de modul în care funcţionează unităţile cât şi de modul în care sunt interconectate. Unul dintre parametrii cei mai importanţi ai funcţionării este ansamblul ponderilor asociate tuturor conexiunilor (W ). La prima vedere, o reţea neuronala poate fi văzută ca o cutie neagră care primeşte date de intrare şi produce un rezultat.

Page 108: Popa - Prelucrarea numerica a imaginilor (2006).pdf

108

Fig. I.3. Funcţionarea unei reţele recurente

X(0)=X starea iniţială

X(t+1)=FWX(t)(sist. dinamic)

Y=X(T) starea staţionară

În funcţie de specificul informaţional există două moduri principale de funcţionare: - Funcţionare neiterativă. În cazul reţelelor în care fluxul informaţional este de tip feedforward, semnalul de ieşire, Y, se poate obţine prin aplicarea unei funcţii, FW (care depinde de parametrii reţelei) , asupra semnalului de intrare, X - Funcţionare iterativă. În cazul reţelelor în care sunt prezente conexiuni inverse nu este suficienta o singură „trecere” a semnalului de intrare, X, prin reţea pentru a obţine semnalul de ieşire. În acest caz funcţionarea se desfăşoară în timp, putând fi descrisă printr-un proces iterativ de forma: X(0) = X; X(t + 1) = FW (X(t)); t >=0. Semnalul de ieşire se consideră ca

fiind limita lui X(t) (X* = )(lim

1tX

t→ ). În implementări, limita se aproximează prin X(T), T fiind momentul în care este oprit procesul iterativ. Calitatea acestei aproximări depinde atât de proprietăţile lui FW cât şi de X(0).

d) Procesul de învăţare Un sistem îşi îmbunătăţeşte performanţele prin achiziţia de cunoaştere realizată în cadrul procesului de învăţare. Învăţarea se referă la modificarea ponderilor asociate conexiunilor unei reţele şi pragurilor asociate unităţilor, care asigură adecvarea comportării reţelei la problema pentru care a fost proiectată. Una din cele mai importante calităţi ale unei reţele neuronale este tocmai capacitatea de a învăţa, posibilitatea învăţării din exemple permiţând evitarea formalizării detaliate a problemei. O altă calitate este capacitatea de generalizare care permite producerea de răspunsuri pentru date pentru care reţeaua nu a fost antrenată. Elementele pe care se bazează procesul de învăţare sunt mulţimea de informaţii şi algoritmul de adaptare la informaţiile primite. În funcţie de natura informaţiilor primite, învăţarea poate fi:

• nesupervizată - în care sistemul primeşte doar semnale de intrare din partea mediului, pe baza acestora descoperind trăsăturile statistice ale stimulilor şi construind o reprezentare codificată în ponderi a mediului care poate fi ulterior utilizată pentru alţi stimuli.

• supervizată – în care se dispune de un set de antrenare (o mulţime de exemple) care conţine perechi de forma (i, d) cu i semnal de intrare şi d răspunsul corect, pe baza acestuia ponderile ajustându-se iterativ prin urmărirea minimizării unei funcţii de eroare sau prin maximizarea unui indice de performanţă; această metodă de adaptare trebuie să prevadă şi testarea reţelei antrenate prin reţinerea din setul de antrenare a unui subset de testare şi să asigure o capacitate de generalizare prin menţinerea unui nivel acceptabil de eroare pe setul de antrenare.

Y=FW(X)

Fig. I.2. Funcţionarea unei reţele cu flux de tip feedforward

X date de intrare

Yrăspuns

Page 109: Popa - Prelucrarea numerica a imaginilor (2006).pdf

109

2. Reţele neuronale supervizate utilizate pentru refacerea imaginilor degradate

2.1 Distorsiunile imaginilor Imaginile sunt adesea înregistrate sub o varietate largă de împrejurări. Pe măsură ce tehnologia avansează rapid, interesul pentru fenomenele neobişnuite sau ireproductibile creşte. Adesea ducem tehnologia imaginii la limitele de sus. Din acest motiv vrem ca din imagini să înlăturăm formele de degradare. Tehnologia imaginii nu este perfectă, fiecare imagine înregistrată este o versiune a scenei degradată. În fiecare imagine sau scenă întâlnim limite în ceea ce priveşte rezoluţia sau viteza cu care este înregistrată. Degradările uzuale ale unei imagini sunt, de obicei datorate neclarităţii, mişcării şi zgomotului. Neclaritatea poate apărea când un obiect din imagine este în depărtare. Obiectivul pierde detaliul, iar înceţoşarea apare deoarece componentele de frecvenţă înaltă sunt atenuate. Altă degradare comună este motion blur care e cauzată de mişcarea obiectivului relativ la cameră în timpul fotografierii. Zgomotul este, mai degrabă o distorsiune datorată mediului de transmisie sau stocare, decât a scenei de înregistrat. În urma afectării cu zgomot pixelii din imagine au valori modificate. Procesul de degradare al imaginii poate fi împărţit în două categorii:

• distorsiuni invariante spaţial – toate regiunile din imagine sunt afectate de acelaşi tip distorsiune

• distorsiuni variante spaţial – fiecare pixel din imagine poate suferi alt tip de degradare, în funcţie de poziţia sa în imagine. Cu alte cuvinte degradarea imaginii poate fi descrisă prin modele liniare sau neliniare. În lucrarea de faţă voi trata numai cazul în care degradările pot fi descrise prin modele liniare.

2.2 Perceptronul multistrat Încercările de rezolvare a problemelor neseparabile liniar au condus la diverse variante privind numărul de straturi de neuroni şi funcţiile de activare utilizate. Perceptronul multistrat (MLP) este tipul de reţea neuronală cel mai cunoscut şi mai des folosit. De cele mai multe ori, semnalele se transmit în interiorul reţelei într-o singură direcţie: de la intrare spre ieşire. Nu există bucle, ieşirea fiecărui neuron neafectând neuronul respectiv. Această arhitectură se numeşte feed - forward. Straturile care nu sunt conectate direct la mediu se numesc ascunse. Există în literatura de specialitate o controversă privind considerarea primului strat (de intrare) ca strat propriu-zis în reţea, de vreme ce singura sa funcţie este transmiterea semnalelor de intrare spre straturile superioare, fără a face vreo prelucrare asupra intrărilor.

Page 110: Popa - Prelucrarea numerica a imaginilor (2006).pdf

110

Fig. II.1. Arhitectura unei reţele cu un strat ascuns

Există şi reţele recurente, în care impulsurile se pot transmite în ambele direcţii, datorită unor conexiuni de reacţie în reţea. Aceste tipuri de reţele sunt foarte puternice şi pot fi extrem de complicate. Sunt dinamice, starea lor schimbându-se permanent, până când reţeaua ajunge la un punct de echilibru iar căutarea unui nou echilibru are loc la fiecare schimbare a intrării. Introducerea mai multor straturi a fost determinată de necesitatea creşterii complexităţii regiunilor de decizie. Adăugând încă un strat, fiecare neuron se comportă ca un perceptron standard asupra ieşirii neuronilor din stratul anterior şi astfel ieşirea reţelei poate aproxima regiuni de decizie convexe, rezultate din intersecţia semiplanelor generate de neuroni. La rândul său, un perceptron cu trei straturi poate genera zone de decizie arbitrare. Din punctul de vedere al funcţiei de activare a neuronilor, s-a constatat că reţelele multistrat nu asigură o creştere a puterii de calcul în raport cu reţelele cu un singur strat dacă funcţiile de activare rămân liniare, deoarece o funcţie liniară de funcţii liniare este tot o funcţie liniară. Puterea perceptronului multistrat provine tocmai din funcţiile de activare neliniare. Aproape orice funcţie neliniară poate fi folosită în acest scop, cu excepţia funcţiilor polinomiale. În prezent, funcţiile cele mai des utilizate în prezent sunt sigmoidă unipolară (logsing), sigmoida bipolară (tansing) sau liniară (purelin).

2.3 Algoritmul backpropagation Algoritmul backpropagation este cel mai cunoscut şi utilizat algoritm de învăţare supervizată. Numit şi algoritmul delta generalizat deoarece extinde modalitatea de antrenare a reţelei MADALINE (regula delta), el se bazează pe minimizarea diferenţei dintre ieşirea dorită şi ieşirea reală, tot prin metoda gradientului descendent (gradientul ne spune cum variază o funcţie în diferite direcţii). Metoda a fost propusă pentru prima dată de Bryson şi Ho (1969), dar la momentul respectiv a fost practic ignorată, deoarece presupunea un volum de calcule prea mare pentru vremea respectivă. A fost redescoperită apoi de Werbos (1974), însă abia la mijlocul anilor `80 a fost lansată de Rumelhart, Hinton şi Williams (1986) ca instrument general acceptat de antrenare a perceptronului multistrat. Ideea de bază este găsirea minimului funcţiei de eroare în raport cu ponderile conexiunilor. Algoritmul pentru un perceptron multistrat cu un strat ascuns (Negnevitsky, 2002): Pasul 1: Iniţializarea Toate ponderile şi pragurile reţelei sunt iniţializate cu valori aleatorii nenule, distribuite uniform într-un mic interval. Dacă valorile acestea sunt 0, gradienţii care vor fi calculaţi pe parcursul antrenării vor fi tot 0 (dacă nu există o legătură directă între intrare şi ieşire) şi reţeaua nu va învăţa. Este chiar indicată încercarea mai multor antrenări, cu ponderi iniţiale diferite, pentru găsirea celei mai bune valori pentru funcţia cost (minimul erorii). Dacă însă valorile iniţiale sunt mari, ele tind să satureze unităţile respective. În acest caz, derivata funcţiei sigmoide este foarte mică. Ea

Page 111: Popa - Prelucrarea numerica a imaginilor (2006).pdf

111

acţionează ca un factor de multiplicare în timpul învăţării şi deci unităţile saturate vor fi aproape blocate, ceea ce face învăţarea foarte lentă. Pasul 2: O nouă epocă de antrenare O epocă reprezintă prezentarea tuturor exemplelor din setul de antrenare. În majoritatea cazurilor, antrenarea reţelei presupune mai multe epoci de antrenare. Pentru a păstra rigoarea matematică, ponderile vor fi ajustate numai după ce toţi vectorii de test vor fi aplicaţi reţelei. În acest scop, gradienţii ponderilor trebuie memoraţi şi ajustaţi după fiecare model din setul de antrenare, iar la sfârşitul unei epoci de antrenare, se vor modifica ponderile o singură dată (există şi varianta mai simplă, în care ponderile sunt actualizate direct; în acest caz, poate conta ordinea în care sunt prezentaţi reţelei vectorii de test).

Se iniţializează toţi gradienţii ponderilor şi eroarea curentă cu 0: 0=∆ ijw , E = 0. Pasul 3: Propagarea semnalului înainte 3.1. La intrările reţelei se aplică un exemplu din setul de antrenare. 3.2. Se calculează ieşirile neuronilor din stratul ascuns:

∑=

−=n

ijijii pwpxfpy

1))()(()( θ

(2.1) unde: - n este numărul de intrări ale neuronului j din stratul ascuns,

- f este funcţia de activare sigmoidă. 3.3. Se calculează ieşirile reale ale reţelei:

))()(()(1∑=

−=m

ikjkjkk pwpxfpy θ

(2.2) unde: - m este numărul de intrări ale neuronului k din stratul de ieşire.

∑ ∑= )))()(()(()( 12 pxpwfpwfpy ijikjk 3.4. Se actualizează eroarea pe epocă:

2))(( 2peEE k+=

(2.3) Pasul 4: Propagarea erorilor înapoi şi ajustarea ponderilor 4.1. Se calculează gradienţii erorilor pentru neuronii din stratul de ieşire:

)(')( pefp kk =δ (2.4)

unde: eroarea este )()()( , pypype kkdk −= (2.5) 4.2. Se actualizează gradienţii ponderilor dintre stratul ascuns şi stratul de ieşire:

)()()()( ppypwpw kjjkjk δ+∆=∆ (2.6) 4.3. Se calculează gradienţii erorilor pentru neuronii din stratul ascuns 4.4. Se actualizează gradienţii ponderilor dintre stratul de intrare şi stratul ascuns Pasul 5. O nouă iteraţie Dacă mai sunt vectori de test în epoca de antrenare curentă, se trece la pasul 3. Dacă nu, se actualizează ponderile tuturor conexiunilor pe baza gradienţilor ponderilor:

ijijij www ∆+= η (2.7) unde: - η este rata de învăţare.

Dacă s-a încheiat o epocă, se testează dacă s-a îndeplinit criteriul de terminare ( maxEE < sau s-a atins un număr maxim de epoci de antrenare). Dacă nu, se trece la pasul 2. Dacă da, algoritmul se termină. Pornind de la algoritmul BackPropagation standard pot fi dezvoltate diferite variante care diferă între ele prin:

- modul de alegere a ratei de învăţare: constantă sau adaptivă;

Page 112: Popa - Prelucrarea numerica a imaginilor (2006).pdf

112

- relaţiile de ajustare (determinate de algoritmul de minimizare utilizat, ce poate fi diferit de algoritmul gradientului simplu: algoritmi de tip gradient conjugat, algoritmi de tip Newton, algoritmi aleatori de descreştere, algoritmi genetici etc.);

- modul de iniţializare a parametrilor: iniţializare aleatoare sau bazată pe un algoritm de căutare;

- parcurgerea setului de antrenare (influenţează doar varianta serială a algoritmului): secvenţială sau aleatoare;

- funcţia de eroare: pe lângă eroarea medie pătratică se pot folosi şi măsuri ale erorii specifice problemei de rezolvat;

- criteriul de oprire: pe lângă criteriul bazat pe numărul maxim de epoci şi pe eroarea corespunzătoare setului de antrenare se pot folosi şi criterii legate de eroarea pe setul de validare şi de mărimea ajustărilor din cadrul ultimei epoci.

Motivaţia dezvoltării unor variante ale algoritmului standard o reprezintă faptul că acesta prezintă o serie de inconveniente:

- Convergenţa lentă: necesită multe epoci pentru a atinge o valoare suficient de mică pentru eroarea pe setul de antrenare.

- Blocarea în minime locale: o data ce algoritmul ajunge într-un minim local al funcţiei de eroare, algoritmul nu permite evadarea din acest minim pentru a atinge optimul global.

- Stagnarea (paralizarea): algoritmul stagnează într-o regiune care nu este neapărat în vecinătatea unui minim local ca urmare a faptului că ajustările aplicate parametrilor sunt foarte mici.

- Supraantrenarea: reţeaua asigură o bună aproximare pe setul de antrenare însă posedă o capacitate de generalizare redusă.

2.4 Metode de accelerare a vitezei de convergenţă Alegerea unei valori adecvate pentru rata de instruire η are un efect semnificativ asupra performanţelor reţelei. În mod obişnuit, se consideră )1,0(∈η , dar e posibil ca acest interval să fie prea larg. Stabilind o rată de învăţare în jurul valorii de 0.2, se asigură obţinerea unei soluţii, deşi reţeaua va necesita pentru instruire un număr mare de iteraţii. Este, de asemenea, posibil ca valoarea parametrului de învăţare să crească în timpul instruirii, pe măsură ce eroarea reţelei descreşte, situaţie care conduce, în general, la mărirea vitezei de convergenţă. În acest caz, există însă riscul ca reţeaua să sară prea departe de valoarea de minim reală, pentru o rată η inadecvat de mare. Creşterea lui η în timpul instruirii este utilă doar dacă suprafaţa de eroare este relativ netedă astfel, pe măsura apropierii de o soluţie, eroarea devine tot mai mică, ceea ce provoacă schimbări neînsemnate ale ponderilor. Deci, este justificată mărirea vitezei de convergenţă prin creşterea ratei de învăţare.

2. 4.1. Metoda momentului Metoda momentului ( Rumelhart, Hinton & Williams, 1986) propune adăugarea unui termen la ajustarea ponderilor. Acest termen este proporţional cu ultima modificare a ponderii, adică valorile cu care se ajustează ponderile sunt memorate şi influenţează în mod direct toate ajustările ulterioare:

)1()()( −∆+∆=∆ pwpwpw ijijij α (2.8)

Page 113: Popa - Prelucrarea numerica a imaginilor (2006).pdf

113

Adăugarea noului termen se face după actualizarea gradienţilor ponderilor dintre stratul ascuns şi stratul de ieşire şi dintre stratul de intrare şi stratul ascuns. Tehnica momentului funcţionează bine pentru unele probleme, dar are efect redus, sau chiar negativ, în cazul altor aplicaţii.

2.4.2. Rata de învăţare variabilă Metoda ratei de învăţare variabile (Silva & Almeida, 1990) constă în utilizarea unei rate de învăţare individuale pentru fiecare pondere şi adaptarea acestor parametri în fiecare iteraţie, în funcţie de semnele succesive ale gradienţilor:

−∆−=∆−⋅

−∆=∆−⋅=

))1(sgn())(sgn(),1(

))1(sgn())(sgn(),1()(

pwpwpd

pwpwpup

ijijij

ijijijij η

ηη

(2.9) Dacă pe parcursul antrenării eroarea începe să crească, în loc să scadă, ratele de învăţare se resetează la valorile iniţiale şi apoi se continuă procesul. Pentru a evita oscilaţiile care pot apărea în jurul soluţiei optime, este necesar ca ratele de

instruire ijη să descrească în timp. Descreşterea nu trebuie să fie nici prea rapidă, nici prea

lentă. Şirul )( ijη descreşte suficient de lent dacă seria sumelor parţiale este divergentă

(∑ +∞=

jiij

). Cu cât coeficienţii descresc mai lent, cu atât mai rapid decurge instruirea reţelei. Condiţia ca

şirul )( ijη să descrească suficient de rapid se exprimă prin cerinţa ca seria pătratelor acestor

coeficienţi să fie convergentă (adică ∑ +∞<

jiij

,

2η)

Cu cât coeficienţii )( ijη descresc mai repede, cu atât mai rapid vectorul pondere „uită” deja formele învăţate. Condiţiile stabilite anterior reprezintă pentru cazul propagării înapoi, o formulare matematică a ceea ce Grosseberg numeşte dilema stabilitate – plasticitate. Conform acestei dileme, o reţea neuronală trebuie să satisfacă două cerinţe contradictorii: - pe de o parte, reţeaua trebuie să fie suficient de stabilă pentru a-şi aminti formele învăţate anterior - pe de altă parte, reţeaua trebuie să fie suficient de plastică pentru a putea învăţa noi forme.

2.4.3. Evitarea minimelor locale Este posibil ca propagarea înapoi a erorii să genereze o stare de minim local, iar procesul de instruire se opreşte când reţeaua atinge un minim local sau minim global al funcţiei criteriu. Dacă se atinge un minim local este posibil ca eroarea asociată ieşirilor să fie nepermis de mare. Problema care se pune este cum se poate face ca reţeaua să iasă dintr-o stare corespunzătoare de minim local. Există mai multe posibilităţi de abordare a acestei probleme: - schimbarea constantei de instruire; - schimbarea ponderilor iniţiale; - schimbarea numărului de unităţi ascunse. Adăugarea unor valori aleatoare mici la vectorul pondere poate permite reţelei să scape dintr-o stare de minim local. Dacă noua stare este suficient de îndepărtată de acest minim local, atunci instruirea se poate desfăşura într-o nouă direcţie, fără a reveni în acel minim. Micile variaţii

Page 114: Popa - Prelucrarea numerica a imaginilor (2006).pdf

114

aleatoare depind de vecinătatea minimului local, a cărei configuraţie nu este însă cunoscută înainte de instruirea reţelei. Dacă reţeaua a atins o soluţie acceptabilă, nu este sigur că ea corespunde unui minim global sau local; de obicei, dacă soluţia este satisfăcătoare din punct de vedere al erorii, nu contează tipul minimului la care se ajunge. O caracteristică a reţelelor cu straturi ascunse este că ele au mai multe stări de minim global, stări ce sunt perfect echivalente. Acestea se datorează numeroaselor simetrii în arhitectura reţelei. Prezenţa minimelor globale multiple nu reprezintă nici o problemă pentru procesul de instruire.

2.4.4. Ruperea simetriei şi iniţializarea ponderilor Dacă iniţial, toate ponderile sunt egale dar soluţia necesită însă apariţia ponderilor diferite, sistemul nu va putea fi instruit deoarece eroarea se propagă înapoi prin semnale proporţionale cu ponderile, astfel se va obţine pentru toţi neuronii din stratul ascuns conectaţi la stratul de ieşire erori identice. Deoarece schimbarea ponderilor depinde de valoarea erorii ponderile conexiunilor neuronilor din stratul ascuns cu neuronii din stratul de ieşire vor fi întotdeauna aceleaşi, iar sistemul nu va putea ieşi din această stare (reţeaua este paralizată). Inconvenientul poate fi îndreptat considerând, la momentul iniţial, valori aleatoare mici pentru ponderi, valori ce conduc la ruperea simetriilor.

Page 115: Popa - Prelucrarea numerica a imaginilor (2006).pdf

115

2.5 Reţele neuronale artificiale recurente. Reţele Hopfield Reţele neuronale artificiale recurente sunt caracterizate de:

- unităţi de procesare neliniare; - simetria conexiunilor sinaptice (wji = WIJ); - folosirea intensivă a feedback-ului. Din această categorie fac parte reţelele neuronale Boltzmann şi Hopfield.

Reţeaua neuronală recurentă de tip Hopfield poate fi văzută ca o memorie asociativă sau ca o memorie adresabilă prin conţinut, a cărei funcţie principală este regăsirea tiparelor stocate în memorie, ca răspuns la prezentarea unui tipar incomplet sau contaminat cu

zgomot. Esenţa memoriilor adresabile prin conţinut constă în transformarea tiparelor µR în

stări stabile µs , ale sistemului dinamic (proces de codare) şi invers (proces de decodare). Fiecare neuron, de tip McCulloch-Pitts, al reţelei neuronale Hopfield este caracterizat prin una din cele două stări posibile: activ (si =1), respectiv inactiv (si =-1). Starea unei reţele neuronale Hopfield alcătuită din N neuroni este definită de către vectorul: s = [s1,s2,..., sN]T

Potenţialul intern al unui neuron „j” este:

∑=

−=N

ijjij wv

1

θ, (2.10)

unde =jθ pragul neuronului Neuronul „j” îşi modifică starea conform regulii

<−

>+=

0 ,1

0 ,1

j

jj vdaca

vdacas

(2.11) În funcţionarea reţelei neuronale Hopfield se disting două etape: a) faza de memorare în care se calculează ponderile reţelei într-o singură etapă, spre deosebire de celelalte reţele prezentate anterior. Ieşirea fiecărui neuron se constituie în intrare pentru toţi ceilalţi neuroni ai reţelei, nu există autoexcitaţie („self-feedback”), adică wii=0, iar matricea ponderilor este simetrică wij=wji adică influenţa exercitată de neuronul „i” asupra neuronului „j” este egală cu influenţa exercitată de neuronul „j” asupra neuronului „i”. b) faza de utilizare (regăsire). În această fază, un anumit tipar x este impus drept vector de stare al reţelei neuronale Hopfield. De regulă reprezintă o versiune incompletă sau afectată de zgomot al unui tipar memorat. Procesul de regăsire se desfăşoară în mod dinamic: fiecare neuron al reţelei, în mod aleator ales, estimează propriul potenţial de activare şi îşi stabileşte starea finală. Acest proces asincron (serial) de modificare a stărilor se va opri în momentul în care vectorul de stare nu se va mai modifica. Aceasta înseamnă că reţeaua neuronală Hopfield a produs un vector de stare y invariant în timp, ale cărui elemente satisfac condiţia de stabilitate:

∑=

=−=N

iiijii Njywy

1

,...,2,1),sgn( θ (2.12)

Vectorul de stare y este denumit stare stabilă a spaţiului fazelor sistemului. Nu este obligatoriu ca starea finală să coincidă cu unul din tiparele memorate. Relativ la capacitatea de memorare a reţelei neuronale recurente Hopfield se arată că numărul maxim de tipare de dimensiune N care pot fi regăsite perfect este:

NNpln4max ≅ (2.13)

Page 116: Popa - Prelucrarea numerica a imaginilor (2006).pdf

116

x h(x) c

2.6 Reţele cu funcţii de transfer radiale Reţelele neuronale utilând funcţii de bază radiale reprezintă o combinaţie performantă între o tehnică de modelare într-un spaţiu multidimensional şi o schemă răspândită de aproximare reprezentată de o reţea neuronală. O reţea RBF are o structură de tip feedforward cu două straturi de neuroni pentru prelucrarea datelor :

- stratul ascuns care furnizează funcţiile radiale care constituie bază pentru vectorii de intrare,

- stratul de ieşire alcătuit din neuroni cu funcţii de activare liniară, şi un strat de neuroni virtuali de intrare. Diferenţa faţă de reţelele feedforward cu mai multe straturi constă în funcţiile de integrare şi cele de transfer specifice unităţilor stratului ascuns.

2.6.1. Funcţii radiale şi problema interpolării Justificarea matematică a construirii reţelelor neuronale axate pe funcţiile radiale este furnizată de teorema lui Cover(1965) referitoare la separabilitatea vectorilor. Conform acestei teoreme, o problemă complexă de clasificare poate fi rezolvată mai bine, în sensul separabilităţii liniare, într-un spaţiu cu mai multe dimensiuni decât într-unul de dimensiune

redusă. Astfel, pentru N vectori, 1pxN Μ∈ , Xx∈ , se defineşte un vector T

m xxxx )](),...,(),([)( 21 ϕϕϕϕ = (2.14) Funcţia ϕ scufundă vectorii spaţiului de intrare în noul spaţiu m- dimensional (m>p). Funcţia ϕ este numită funcţie ascunsă.

Problema interpolării: pentru o mulţime dată de puncte NiRc pi ...,2,1| =∈ şi o mulţime de

numere reale NiRdi ...,2,1| =∈ trebuie să se găsească o funcţie RRF N →: care să satisfacă cerinţa de interpolare

NidxF ii ,...,2,1,)( == (2.15) Metoda funcţiilor radiale constă în alegerea funcţiei F de forma:

∑=

−=N

iii cxwxF

1)()( ϕ

(2.16) unde: - ϕ = funcţie radială

- ci = centrii funcţiei radiale Exemple de funcţii radiale:

- funcţii gaussiene 0,0,)( 2

2

2 ≥>= − rerr

σϕ σ (2.17)

- funcţii multicuadrice inverse 0,0,

)(

1)(2

122≥>

+= rc

crrϕ

(2.18)

- funcţii spline de tipul )log()( 2 rrr =ϕ (2.19)

2.6.2. Arhitectura reţelelor RBF O arhitectură RBF cu un singur neuron:

Fig. 6 Arhitectura reţelei RBF cu un singur neuron unde : - c = ponderea conexiunii dintre neuron şi intrare

Page 117: Popa - Prelucrarea numerica a imaginilor (2006).pdf

117

În cazul unei reţele cu xn intrări ieşirea neuronului i este iϕ iar singurul neuron de ieşire al reţelei are activarea y Fig. Arhitectura reţelei neuronale cu funcţii radiale

2

2

2)( σϕicx

i ex−

−= (2.20)

unde iϕ – funcţie radială n-dimensională ∑=i

ii wy ϕ (2.21)

unde iw = ponderea conexiunii neuronului ascuns i cu neuronul de ieşire

2.6.3. Instruirea reţelelor neuronale radiale Parametrii ajustabili ai unei reţele RBF sunt: centrele Ck ale unităţilor ascunse, ponderile

conexiunilor către nivelul de ieşire, W şi parametrii iσ care controlează lărgimile câmpurilor receptive. În funcţie de modul în care se determină parametrii corespunzători nivelului ascuns şi cei corespunzători nivelului de ieşire există două categorii principale de algoritmi: cu antrenare simultană, respectiv cu antrenare separată a acestor parametrii. a) Algoritmi cu antrenare simultană a tuturor parametrilor. Ieşirea produsă de reţea, pentru semnalul de intrare NRX ∈ este vectorul MRY ∈ având componentele:

MiwCXgwyK

ki

kkiki ,1,)(

10 =−−=∑

= (2.22) unde:

- ( ) KokNiikwW ,,,1 === este matricea ponderilor conexiunilor dintre nivelul ascuns şi cel de intrare

- . = norma euclidiană

Notez cu kz semnalul produs de unitatea ascunsă, k, adică )( kkk CXgz −= . Se poate folosi

o variantă normalizată pentru calculul semnalului produs de unitatea ascunsă, kz

hi y

y

y

X1

X2

Xn

w1

wi

Page 118: Popa - Prelucrarea numerica a imaginilor (2006).pdf

118

∑=

−= K

i

i

kk

k

CXg

CXgz

1)(

)(

(2.23) Caracterul de localitate al funcţiei de transfer face ca fiecare unitate ascunsă să producă ieşiri semnificative doar pentru semnalele de intrare apropiate de centrul corespunzător unităţii. Fiecare unitatea ascunsă reacţionează doar la semnale provenind din zona care le este asociată, zonă numită câmp receptiv. O bună comportare a reţelei se obţine dacă domeniul datelor de intrare este acoperit de câmpurile receptive ale unităţilor ascunse. Dimensiunea câmpurilor

receptive depinde de parametrul kσ corespunzător. O valoare mare pentru kσ induce o

dimensiune mare a câmpului receptiv pe când o valoare mică a lui kσ induce un câmp receptiv restrâns.

=

=

−−−=∂∂

−−−=∂∂

M

i

klkik

li

li

kk

l

M

ikj

ljkik

li

li

kkj

l

CxzwydWCE

cxzwydWCcE

1

2

3

12

)(1),,(

)()(1),,(

σσ

σ

σσ

(2.24) Folosind ideea de la varianta serială a algoritmului backpropagation se obţine următorul algoritm: Iniţializarea aleatoare a tuturor parametrilor REPEAT

FOR Ll ,1=

kkCWE

NjKkCWcEcc

KkMiCWwEww

k

lkk

kj

lkjkj

ik

likik

,1),,,(

,1,,1),,,(

,0,,1),,,(

=∂∂

−=

==∂∂

−=

==∂∂

−=

σσ

ησσ

ση

ση

(2.25) Recalcularea erorii

UNTIL este satisfăcută condiţia de oprire

2.6.4. Determinarea separată a parametrilor Vom considera procesul de antrenare descompus în trei procese distincte care se desfăşoară în următoarele ordine:

- determinarea centrelor ;,1, KkRC Nk =∈

- determinarea lărgimilor câmpurilor receptive, ;,1, Kkk =σ - determinarea ponderilor conexiunilor dintre nivelul ascuns şi cel de ieşire,

.,0,,1, KkMiwik == a) Determinarea centrelor Centrele reprezintă vectori prototip selectaţi din domeniul datelor de intrare, pe baza cărora se realizează partiţionarea domeniului de intrare în mici regiuni (câmpurile receptive) de fiecare dintre acestea fiind responsabilă o unitate ascunsă.

Page 119: Popa - Prelucrarea numerica a imaginilor (2006).pdf

119

În cazul în care setul de antrenare nu este prea mare atunci se poate considera că datele de indicare prezente în acesta determină centrele. Astfel, K = L şi CK = Xk, pentru fiecare

Kk ,...,1∈ . Dacă, însă, setul de antrenare conţine multe date (unele cu caracter redundant) atunci pentru setarea centrelor se aleg doar o parte dintre acestea. O variantă simplă de alegere o reprezinta selecţia aleatoare a K date însă o variantă mai adecvată o reprezintă aplicarea unui algoritm de grupare (clustering).

Problematica grupării este următoarea: se dau L vectori LXXX ,...,, 21

şi se pune problema amplasării lor în K < L clase (grupe sau clusteri) astfel încât elementele aflate într-o clasă să fie mai apropiate între ele decât cele aflate în clase diferite. Noţiunea de apropiere se stabileşte pornind de la criteriul ce a stat la baza grupării. Un astfel de criteriu îl poate reprezenta distanţa euclidiană. În rezolvarea unei probleme de grupare pot intervenii două situaţii: - numărul de clase, K , este cunoscut, - numărul de clase, K , este necunoscut. Un algoritm simplu de grupare, bazat pe cunoaşterea numărului de clase, este algoritmul mediilor bazat pe ideea că centrul (prototipul) unei clase poate fi reprezentat de media aritmetică a elementelor clasei, iar afectarea unui vector la o clasă sau alta se face pe criteriul distanţei minime: Algoritmul de grupare. Metoda k-mediilor:

Se iniţializează centrele C1, C2, …,Ck cu vectori selectaţi aleator din setul de antrenare.

REPEAT Construirea claselor: fiecare vector Xl este afectat clasei Ck care verifică

),,(),( ilkl CXdCXd ≤ pentru orice ,...,1 Ki∈ d =distanţa euclidiană

Recalcularea centrelor: pentru fiecare clasă kω se recalculează centrul:

∑∈

==kXk

k KkXwcard

.,1,)(

1

(2.27) UNTIL este îndeplinit un criteriu de oprire. Algoritmul este oprit fie când la ultima parcurgere clasele nu s-au modificat fie când s-au efectuat un număr mare de iteraţii şi pot alege ca prototipuri vectori ce nu fac parte din setul iniţial de antrenare. Algoritmul mediilor conduce la determinarea acelor centri care

minimizează ∑ ∑= ∈

K

k wX

k

k

CXd1

),( (2.28)

Dacă numărul de clase nu este cunoscut se poate folosi un algoritm bazat pe principiul competiţiei : numărul claselor este iniţializat cu o valoare mică şi ulterior este mărit dacă este cazul. De exemplu, dacă un vector de intrare din setul de antrenare nu face parte din câmpul receptiv al nici unei unităţi ascunse atunci se adaugă o nouă unitate având centrul determinat chiar de vectorul de intrare. Valoarea parametrului σ influenţează modul de partiţionare a domeniului datelor de intrare. Valori mici ale lui σ favorizează partiţionarea domeniului de intrare în multe zone, pe când valori mai mari ale lui σ conduce la stabilirea a mai puţine

centre. Valoarea tη controlează mărimea ajustării parametrilor kjc . Când devine suficient de

Page 120: Popa - Prelucrarea numerica a imaginilor (2006).pdf

120

mică, ajustarea este neglijabilă şi algoritmul poate fi stopat. Descreşterea ratei tη trebuie să fie lentă pentru a nu provoca oprirea algoritmului înaintea ajustării suficiente a centrilor.

Iniţializări: Se stabileşte numărul iniţial de centre, K. Se iniţializează valorile centrelor cu elemente selectate aleator din setul de antrenare

Se iniţializează indicatorul de iteraţie, t = 1 şi rata de învăţare tη . REPEAT

FOR Ll ,1=

se determină ;min,...,1 ** klk

kl CXCXcuKk −=−∈ )( *** kl

tkkl CXCTHENCXIF −+<− ησ

ELSE se adaugă o nouă unitate ascunsă: K = K + 1 şi Ck+1=Xl

Incrementează indicatorul de iteraţie, t = t + 1

Determină nouă valoare tη a ratei de învăţare, ]1,0(,0 ∈= − αηη αtt

UNTIL, t>tmax sau tη <e

b) Determinarea lărgimii câmpurilor receptive.

Valoarea parametrilor kσ controlează modul în care este partiţionat domeniul datelor de intrare. Valori prea mici ale lui σ conduc la o acoperire incompletă a domeniului de intrare, în sensul că pot rămâne porţiuni ce nu aparţin nici unui câmp receptiv. Valori prea mari ale lui σ provoacă mai multe unităţi ascunse să producă valori mari astfel că semnalul produs de reţea va fi unul aproape constant. O regulă, cu caracter euristic, de determinare a parametrilor σ , după ce în prealabil au fost determinate centrele, este următoarea:

),,( jkk CCdγσ = unde Cj este centrul cel mai apropiat de Ck , iar [ ]1,5.0∈γ

O regulă similară constă în

( ) ( )( ),,,21 jkik

k CCdCCd +=σ (2.29)

unde Ci şi Cj sunt centrii cei mai apropiaţi de Ck c) Determinarea ponderilor conexiunilor către nivelul de ieşire. O dată ce au fost determinate centrele şi lărgimile câmpurilor receptoare, pentru orice semnal de intrare Xl poate fi determinat semnalul produs de nivelul unităţilor ascunse, Zl. Astfel se poate considera că trebuie determinate ponderile conexiunilor asociate unei reţele cu un singur

nivel de unităţi (liniare) pornind de la setul de antrenare ( ) LlLl dZ ,1, = . Acest lucru poate fi

realizat cu un algoritm clasic de antrenare a unei reţele cu un singur nivel, de exemplu cu algoritmul Widrow-Hoff. Un caz particular este acela când centrele au fost setate cu elementele setului de antrenare. În aceste condiţii vectorul ponderilor conexiunilor dintre unitatea ascunsă k şi nivelul de ieşire poate fi setat cu vectorul răspunsurilor dorite: dk.

Page 121: Popa - Prelucrarea numerica a imaginilor (2006).pdf

121

3. Reţele neuronale nesupervizate utilizate pentru refacerea imaginilor degradate

Învăţarea nesupervizată este un proces prin care se extrag informaţii, modele, reguli din date fără a avea la dispoziţie exemple de asociere ci doar folosind relaţiile existente între datele de intrare. Spre deosebire de învăţarea supervizată, cea nesupervizată permite identificarea unor structuri în datele de intrare fără a utiliza informaţii suplimentare. Reţelele neuronale cu învăţare nesupervizată au aplicaţii în clasificarea, compresia şi analiza datelor. 1) Problema grupării Problema grupării datelor constă în identificarea unor clase (clustere) în cadrul datelor astfel încât elementele unei clase să fie suficient de similare iar cele ce aparţin unor clase diferite să fie suficient de disimilare. Fiecare clasă poate fi identificată printr-un element reprezentativ numit prototip al clasei. Măsuri de similaritate. Pentru a aprecia similaritatea sau disimilaritatea între date se folosesc măsuri specifice. În cazul în care datele sunt reprezentate prin vectori din RN ca măsură a disimilarităţii poate fi folosită distanţa euclidiană:

∑=

−=N

iii yxYXd

1

2)(),( (3.1)

Cu cât distanţa este mai mare cu atât este mai mare disimilaritatea. Dacă vectorii

corespunzători datelor sunt normalizaţi ( 1== YX ) atunci o măsură a similarităţii poate fi considerat produsul scalar

∑=

=N

iii

T yxYX1 (3.2)

Cu cât produsul scalar este mai mare cu atât similaritatea este mai mare. Legătura dintre distanţa euclidiană şi produsul scalar rezultă din relaţia:

)1(22),( 222 YXYYXXYXd TT −=+−= (3.3)

Întrucât αcos⋅⋅= YXYX T, unde =α unghiul dintre X şi Y

Rezultă că în cazul datelor normate o altă măsură a similarităţii este cosinusul unghiului dintre cei doi vectori. Prototipuri. Fiecare clasă poate fi identificată printr-un element reprezentativ numit prototip al clasei. Un astfel de prototip poate fi centroidul clasei (media aritmetică a elementelor clasei) sau medoidul acesteia (elementul din clasă care este cel mai apropiat de media aritmetică a elementelor clasei). O dată stabilite prototipurile, afectarea unui vector la o clasă se realizează pe baza criteriului distanţei minime (vectorul este asociat clasei faţă de prototipul căreia se află la distanţa minimă). 2) Reţele neuronale pentru clustering Arhitectura. Pentru gruparea în K clase a unor date N-dimensionale arhitectura adecvată constă din: - un nivel de N unităţi de intrare; - un nivel cu K unităţi liniare de ieşire.

Page 122: Popa - Prelucrarea numerica a imaginilor (2006).pdf

122

În cazul în care numărul de clase nu este cunoscut numărul unităţilor de pe nivelul de ieşire este adaptabil, fiind modificat în procesul de învăţare. Conectivitatea dintre cele două nivele este totală iar ponderile conexiunilor pot fi organizate într-o matrice W cu K linii şi N coloane. Linia i a matricei W poate fi interpretată că fiind prototipul clasei i. După antrenare, setul de vectori W1,..., WK reprezintă prototipurile celor K clase. Funcţionare. În timpul funcţionării reţeaua trebuie să returneze indicele sau prototipul clasei asociate datei de intrare. Clasa asociată datei de intrare este determinată de unitatea de ieşire învingătoare. Unitatea învingătoare este determinată printr-un proces de competiţie care presupune calculul măsurii de similaritate dintre data de intrare, X, şi fiecare dintre vectorii prototip W1,..., WK şi determinarea unităţii ce are asociat prototipul cel mai apropiat de data de intrare. În cazul în care măsura de similaritate este distanţa euclidiană determinarea unităţii învingătoare presupune: - calcul d1, d2, . . . , dk (cu di = d(X,Wi));

- determinare ,...1* Kk = cu proprietatea că ,...,1,* Kidd ik∈∀≤

Indicele k* al unităţii învingătoare poate fi interpretat ca indice al clasei căreia îi aparţine data de intrare. Dacă există mai multe prototipuri care se află la aceeaşi distanţă faţă de X atunci trebuie să se decidă care este unitatea învingătoare (se alege, de exemplu, unitatea cu indicele cel mai mic). Antrenare. Există două variante principale de antrenare: Numărul de unităţi funcţionale (K) este prestabilit nemodificându-se pe parcursul antrenării. Un exemplu de algoritm de învăţare din această categorie este cel bazat pe principiul „învingătorul ia totul” (WTA - the winner takes all). Numărul unităţilor funcţionale este adaptat pe parcursul procesului de învăţare. Algoritmii din această categorie se bazează pe „teoria rezonanţei adaptive” (ART - adaptive resonance theory). Considerăm că setul de antrenare este constituit din vectori N-dimensionali, X1, X2,... ,XL, numărul de unităţi funcţionale este K Algoritm simplu de tip WTA: Etapa 1. Iniţializarea prototipurilor.

wij = rand(—1,1), NjKi ,1,,1 == t = 1 Etapa 2. Proces iterativ de ajustare a prototipurilor. REPEAT FOR l = 1 to L DO

Determină k* cu proprietatea KiWXdWXd ilKl ,1),,(),(*

=≤ ))((

*** klkk WXtWW −+= η t = t +1

UNTIL ( ) )()( maxttorpt >< εη Ajustarea presupune modificarea vectorului ponderii unităţii învingătoare astfel încât el să devină mai apropiat de data de intrare. Pentru a evita oscilaţia permanentă a ponderilor şi a stabiliza prototipurile se utilizează o rată descrescătoare de învăţare )( pη Valorile η trebuie să descrească ( )()1( pp ηη <+ )însă nu prea rapid pentru a permite ajustarea suficientă a ponderilor. Se consideră că şirul valorilor )( pη trebuie să satisfacă următoarele proprietăţi:

Page 123: Popa - Prelucrarea numerica a imaginilor (2006).pdf

123

=

=

=

∞→

∞<

∞=

1

2

1

)(

,)(

,0)(lim

t

t

t

t

t

t

η

η

η

(3.4) Un dezavantaj al algoritmilor de tip WTA îl reprezintă faptul că este posibil ca anumite unităţi să nu devină niciodată învingătoare. Astfel de unităţi sunt numite „moarte”. Pentru a evita apariţia unităţilor moarte se ajustează nu numai ponderile unităţii învingătoare ci şi cele ale celorlalte unităţi însă cu o rată de învăţare mai mică. O altă modalitate de a evita apariţia unităţilor moarte este aşa numitul mecanism al conştiinţei: la determinarea unităţii învingătoare se ia în considerare şi un prag care variază invers proporţional cu frecvenţa victoriilor. Astfel se decide că unitatea k* este învingătoare (pentru intrarea X) dacă:

KkWXdWXd kk

kk ,1,),(),( *

*

=−≤− θθ , (3.5) iar cu cât numărul de victorii este mai mare, cu atât valoarea pragului descreşte reducând şansa unităţii de a deveni prea frecvent învingătoare. Algoritm de tip ART. Un alt dezavantaj al algoritmului WTA este faptul că numărul de clase este prestabilit. Există situaţii în care nu se cunoaşte numărul de clase, sarcina de a determina acest număr revenindu-i tot algoritmului de învăţare. În dezvoltarea reţele neuronale de rezolvare a problemelor de grupare intervin două aspecte contradictorii: - Adaptabilitate: capacitatea sistemului de a asimila noi informaţii şi de a identifica noi clustere. - Stabilitate: capacitatea sistemului de a conserva structura de clustere detectată la un moment dat, astfel ca pe parcursul procesului de adaptare sistemul să nu-şi schimbe radical răspunsul pentru o aceeaşi dată de intrare. Pornind de la această dilemă adaptabilitate-stabilitate a fost dezvoltată de către Carpenter şi Grossberg teoria cunoscută sub numele de teoria rezonanţei adaptive şi au fost dezvoltate modele sofisticate de reţele neuronale care implementează diverse mecanisme cu suport biologic. Considerăm o reţea neuronală constituită dintr-un nivel de N unităţi de intrare şi un nivel de unităţi funcţională a căror număr poate creşte pe parcursul procesului de învăţare. Ideea de baza a algoritmului este aceea de a verifica gradul de similaritate între data de intrare şi vectorul de ponderi asociat unităţii învingătoare iar în cazul în care acest grad nu depăşeşte un prag de vigilenţă se consideră că nici o unitate dintre cele existente nu este suficient de reprezentativă pentru data de intrare, motiv pentru care se adaugă o nouă unitate. Iniţializări: Se stabileşte numărul iniţial de unităţi funcţionale, K < L. Se iniţializează vectorii ponderilor cu elemente distincte selectate aleator din setul de antrenare. t = 1 REPEAT

FOR l=1 to L

se determină ,...1* Kk ∈ cu );,(),( min

* kl

k

kl WXdWXd =

IF ρ<),(*kl WXd sau K=Kmax

Page 124: Popa - Prelucrarea numerica a imaginilor (2006).pdf

124

THEN )(1)(

*

*

*

*

k

kkl

k

cardcardWX

ϖ+

+=

unde )( *kcard ϖ =numărul de elemente din

clasa k* , ρ =pragul de vigilentă ELSE se adaugă o nouă unitate ascunsă: K = K + 1 şi WK+l = X1

Incrementează indicatorul de iteraţie, t = t + 1 UNTIL t > tmax Algoritmul ART prezentat este o variantă simplificată a algoritmului ART2 propus de Carpenter şi Grossberg şi diferă de algoritmul utilizat la reţelele RBF pentru determinarea centrelor doar prin forma relaţiei de ajustare. Unul dintre principalele dezavantaje ale acestui algoritm simplu este acela că gruparea pe care o identifică depinde de ordinea în care sunt prezentate datele de intrare. 3) Mapare topologică şi reţele Kohonen Mapare topologică. Maparea topologică este o variantă de cuantizare vectorială prin care se asigură conservarea relaţiilor de vecinătate din domeniul datelor de intrare. Acest lucru impune existenţa unei organizări geometrice a nivelului unităţilor funcţionale astfel încât pentru fiecare unitate funcţională să poată fi definită o vecinătate. Astfel poziţia fiecărei unităţi funcţionale trebuie identificată cu un vector de poziţie (dacă nivelul are o structură n-dimensională atunci vectorul de poziţie al unităţii p este rp =( r1

p, ..., rnp))

Întrucât prin maparea topologică se urmăreşte reducerea dimensiunii datelor de intrare se foloseşte 3≤n : nivel unidimensional (n = 1), bidimensional (n = 2) sau tridimensional (n = 3). Reţelele cu astfel de organizare a nivelului de unităţi funcţionale sunt cunoscute sub numele de reţele Kohonen sau hărţi cu autoorganizare (SOM - self-organizing maps) şi au fost propuse de către Kohonen la începutul anilor 1980. Arhitectura. O reţea Kohonen este constituită dintr-un nivel de intrare şi un nivel de unităţi funcţionale structurat geometric (vezi fig. pentru cazul unui nivel funcţional bidimensional). în cazul unui nivel unidimensional unităţile pot fi plasate în nodurile unei diviziuni (echidistante) pe când în cazul bidimensional ele pot fi plasate în nodurile unei grile pătratice sau chiar neregulată.

unităţi de intrare Nivelul funcţional de ieşire

Fig. 3.1 Reţea cu organizare geometrică a nivelului de ieşire (reţea Kohonen) Vecinătăţi. O modalitate de a defini un sistem de vecinătăţi în cadrul nivelului de ieşire se bazează pe utilizarea unei distanţe în domeniul D al vectorilor de poziţie (în cazul unidimensional D = 1,..., M, iar în cazul bidimensional D = 1,... , m x 1,..., m, M = m2). Exemple de distanţe ce pot fi folosite sunt:

Page 125: Popa - Prelucrarea numerica a imaginilor (2006).pdf

125

- distanţa euclidiană: ∑=

−=n

i

iq

ipqp rrrrd

1

21 )(),(

; (3.6)

- distanţa Manhattan: ∑=

−=n

i

iq

ipqp rrrrd

12 ),(

; (3.7)

- i

qip

niqp rrrrd −=−

=max

,13 )(

(3.8) unde:

- Drp ∈ = vectorul de poziţie al unităţii p;

- Drq ∈ = vectorul de poziţie al unităţii q Utilizând una din distanţe pentru o unitate p, o vecinătate de ordin s va fi constituită din:

),()( srrdqpV qps ≤= (3.9) De exemplu, în cazul unei grile bidimensionale pătratice, vecinătăţile de ordin 1 ale unităţii p (rp =(i,j)) corespunzătoare celor trei distanţe sunt:

)1,1(),1,1(),1,1(),1,1(),1,(),1,(),,1(),,1(),(

)1,(),1,(),,1(),,1(),(),()3(

1

)2(1

)1(1

++−++−−−+−+−=

+−+−==

jijijijijijijijijiV

jijijijijiVjiV

Algoritm de învăţare. Specificul învăţării în reţelele Kohonen este faptul că nu se ajustează doar ponderile unităţii învingătoare ci şi cele corespunzătoare unităţilor din vecinătatea acesteia. Ajustarea acestor ponderi permite „ordonarea” unităţilor astfel încât în faza de funcţionare pentru date de intrare similare să reacţioneze unităţi funcţionale învecinate. Etapa 1. Iniţializări. wij = rand(—1,1), i = 1..K, j = 1..N t = 1, s(t) = s1, 1)( ηη =t Etapa 2. Proces iterativ de ajustare. REPEAT Pentru data de intrare X

Determină p* cu proprietatea DpWXdWXd pp ∈≤ ),,(),(*

)(),)(( *

)( pVpWXtWW tsppp ∈∀−+= η

t = t + l

UNTIL )())(( maxttort >< εη Atât dimensiunea vecinătăţii cât şi rata de învăţare descresc treptat de la o iteraţie la alta. Prin utilizarea unei dimensiuni variabile a vecinătăţii se pun în evidenţă două faze ale procesului de învăţare: - Faza de ordonare. Corespunde iteraţiilor în care dimensiunea vecinătăţii este relativ mare şi are ca efect aranjarea unităţilor (prin ajustarea ponderilor asociate) astfel încât unor date de intrare similare să le corespundă unităţi apropiate. - Faza de ajustare fină. Corespunde ultimelor iteraţii, în care vecinătăţile sunt reduse (uneori chiar la un singur element, algoritmul fiind în acest caz de tip WTA) şi are ca scop ajustarea ponderilor astfel încât acestea să fie cât mai reprezentative pentru datele de intrare. Iniţial raza vecinătăţii se alege suficient de mare, astfel încât ajustarea să se extindă asupra tuturor unităţilor. Ulterior raza se micşorează. O modalitate simplă de reducere a vecinătăţii este înjumătăţirea razei după un anumit număr de iteraţii.

Page 126: Popa - Prelucrarea numerica a imaginilor (2006).pdf

126

Modificarea ratei de învăţare asigură stabilizarea valorii ponderilor. Ca reguli de descreştere se pot folosi cele de la algoritmul WTA. Pentru a diferenţia ajustarea aplicată unităţii învingătoare de cea aplicată unităţilor din vecinătate se poate modifica relaţia de ajustare prin introducerea unei funcţii de vecinătate ),( qpΛ a cărei valoare maximă este atinsă pentru unitatea învingătoare. Relaţia de ajustare devine în acest caz:

))(,()( * ppp WXpptWW −Λ+= η (3.11) Dacă funcţia de vecinătate verifică:

=Λaltfel ,0

)( daca,1),(

pVqqp s

(3.12) atunci se reobţine relaţia iniţială de ajustare. O altă variantă prin care mărimea ajustării depinde de distanţa faţă de unitatea învingătoare este:

2

2

2

),(

),( s

rrd qp

eqp−

=Λ (3.13) La fel ca şi în cazul algoritmilor de tip WTA normalizarea datelor de intrare şi a vectorilor cu ponderi după fiecare ajustare poate fi benefică procesului de învăţare.

Page 127: Popa - Prelucrarea numerica a imaginilor (2006).pdf

127

4. Aplicaţii ale reţelelor neuronale 4.1 Aplicaţii ale reţelelor feedforward pentru eliminarea

zgomotelor Algoritmul backpropagation este implementat în Matlab în mai multe variante. Algoritmii de înaltă performanţă sunt mult mai rapizi decât variantele „Batch Gradient Descent” implementat prin funcţia traingd şi „Batch Gradient Descent with Momentum” implementat prin funcţia traingdm, şi se pot grupa în două categorii principale: - Prima categorie foloseşte tehnici euristice care sunt dezvoltate din analiza performantei algoritmului standard de descreştere pronunţată. În această categorie se prezintă algoritmul backpropagation cu rată variabilă de învăţare traingda şi algoritmul backpropagation elastic trainrp. - A doua categorie foloseşte tehnici de optimizare numerică, aici prezentându-se algoritmii: gradient conjugat, quasi-Newton şi Levenberg-Marquardt. În partea aplicativă a implementării reţelelor neuronale feedforward, pentru a putea studia experimental viteza de convergenţă, am optat pe de-o parte pentru antrenarea imaginii color, alb-negru sau gri de intrare cu o singură reţea, pe de altă parte imaginea de intrare a fost antrenată cu 4 reţele neuronale. În ambele cazuri reţele neuronale au 2 niveluri: - un nivel ascuns cu 76 neuroni - un nivel de ieşire cu număr de neuroni egal cu dimensiunea imaginii de intrare Imaginile color sunt descompuse iniţial în cele trei planuri de culoare (roşu, verde, albastru), fiecare din acestea antrenate cu câte o reţea, iar în final rezultatele antrenate sunt concatenate în vederea obţinerii imaginii antrenate. Funcţiile de transfer pentru cele două niveluri sunt de tip tansig iar toleranţa la învăţare este de 0.001. Reţelele sunt antrenate în scopul eliminării zgomotului aditiv (fig. 2) din imaginea de la intrare (fig. 1).

Fig.4.1 Imaginea iniţială Fig.4.2 Imaginea de intrare afectată de zgomot

a) Varianta „Batch Gradient Descendent” În cazul antrenării imaginii afectate de zgomot atât cu o reţea cât şi cu 4 reţele nu s-au atins erorile de 0,001 pentru nici unul din cele 3 planuri de culoare în 5000 de epoci

Fig. 4.3 – Antrenare planul albastru din imagine Fig. 4.4 – Antrenare o subreţea din planul albastru

Page 128: Popa - Prelucrarea numerica a imaginilor (2006).pdf

128

Fig. 4.5. Imaginea color antrenată cu 3 reţele, câte una pentru fiecare plan de culoare

Fig. 4.6. Imaginea color antrenată cu 12 reţele; fiecare plan de culoare antrenat cu 4 subreţele Antrenare (TRAINGD) cu o reţea Antrenare (TRAINGD) cu 4 reţele Numărul de epoci R,G,B:5000 Numărul de epoci R,G,B:

RN1=5000 RN2=5000 RN3=5000 RN4=5000

Performanţa medie (nu a fost atinsă)

Perf= 0.0274 Performanţa medie pentru cele 4 subretele (nu a fost atinsă)

Perf1= 0.0139 Perf2=0.0130 Perf3=0.0132 Perf4=0.0169

Timpul de antrenare∗ 1080 s Timpul de antrenare total 1493 s Eroarea medie de antrenare obţinută

0,197797 Eroarea medie de antrenare obţinută

0,539085

b) Metoda gradientului descendent cu moment Algoritmul gradient descendent cu moment completează metoda algoritmului gradient descendent implementat cu trangd oferind o convergenţă mai rapidă prin utilizarea momentului. Momentul permite unei reţele să nu ţină seama numai de gradientul local, ci şi de tendinţele erorilor. Acţionează ca un filtru trece-jos, ignorând modificările mici din suprafaţa de eroare. Fără moment reţeaua poate să rămână într-un minim local, iar cu moment e capabilă să treacă de acest minim. Deşi algoritmul gradient descendent cu moment este o îmbunătăţire a algoritmului gradient descendent standard, în cazul antrenării imaginii afectate de zgomot atât cu o reţea cât şi cu 4 reţele nu s-au atins erorile de 0,001 pentru nici unul din cele 3 planuri de culoare în 5000 de epoci

∗ Pentru determinarea timpului de antrenare precizez că am antrenat reţelele pe un procesor Pentium 4 la frecvenţa de 3,20GHz

Page 129: Popa - Prelucrarea numerica a imaginilor (2006).pdf

129

Fig. 4.7 – Antrenare planul albastru din imagine Fig. 4.8 – Antrenare o subreţea din planul albastru

Fig. 4.9. Imaginea color antrenată cu 3 reţele, câte una pentru fiecare plan de culoare

Fig. 4.10. Imaginea color antrenată cu 12 reţele; 4 subreţele pentru fiecare plan de culoare În cazul antrenării imaginii cu 4 subreţele pentru fiecare plan de culoare se merge spre o eroare mai mică cu fiecare din subreţele, însă nu se atinge eroarea dorită în numărul de epoci stabilit (5000 epoci).

Page 130: Popa - Prelucrarea numerica a imaginilor (2006).pdf

130

Fig.4.11 Antrenare imagine cu 3, respectiv 12 reţele – câte 4 pentru fiecare plan de culoare Antrenare(TRAINGDM) cu o reţea Antrenare (TRAINGDM) cu 4 reţele Numărul de epoci R,G,B: 5000 Numărul de epoci R,G,B:

RN1=5000 RN2=5000 RN3=5000 RN4=5000

Performanţa medie (nu a fost atinsă)

Perf= 0.0270 Performanţa medie pentru cele 4 subretele (nu a fost atinsă)

Perf1= 0.0143 Perf2= 0.0128 Perf3= 0.0121 Perf4= 0.0167

Timpul de antrenare (s) 1145 s Timpul de antrenare total (s) 1479 s Eroarea medie de antrenare obţinută

0,169173 Eroarea medie de antrenare obţinută

0,506367

Îmbunătăţirea performanţelor în cazul utilizări momentului sunt nesemnificative pentru această structură de reţea comparativ cu metoda algoritmului de descendent clasic.

Page 131: Popa - Prelucrarea numerica a imaginilor (2006).pdf

131

Fig. 4.12 Comparaţie între algoritmul gradient descendent şi gradient descendent cu moment

c) Algoritm cu rată variabilă de învăţare În cazul antrenării reţelei cu rată variabilă de învăţare performanţele se îmbunătăţesc deoarece în procedura de antrenare se calculează ieşirea iniţială a reţelei şi eroarea, la fiecare epocă se calculează noile ponderi şi praguri folosind rata curentă de învăţare, se calculează apoi noile ieşiri şi erori, dacă noua eroare depăşeşte vechea eroare printr-o valoare mai mare decât un raport predefinit (max_perf_inc=1.04), noile ponderi şi bias-uri calculate sunt anulate şi în plus rata de învăţare este micşorată prin multiplicare cu un factor lr_dec=0.7 , în caz contrar noile valori calculate sunt păstrate. Dacă noua eroare este mai mică decât vechea eroare, rata de învăţare este mărită prin multiplicare cu un factor lr_inc=1.05. Antrenare (TRAINGDA) cu o reţea Antrenare ( TRAINGDA) cu 4 reţele Numărul de epoci R,G,B: 5000 Numărul de epoci R:

RN1=3148 RN2=3611 RN3=4009 RN4=2097 G: RN1=3381 RN2=3129 RN3=2876 RN4=2841 B: RN1=2296 RN2=5000 RN3=4494 RN4=4731

Performanţa medie Perf= 0.0040 Performanţa medie pentru cele 4 reţele

Perf1= 0.001 Perf2= 0.0013

Page 132: Popa - Prelucrarea numerica a imaginilor (2006).pdf

132

Perf3= 0.001 Perf4= 0.001

Timpul de antrenare∗ 1123 s Timpul de antrenare total 1056s Eroarea medie de antrenare obţinută

0,0685293 Eroarea medie de antrenare obţinută

0,129703

Analizând cele 2 metode de antrenare se constată o îmbunătăţire în cazul împărţirii imaginii în 4 subimagini, situaţie în care o singură subreţea din cele 12 nu a atins eroarea impusă, faţă de tratarea imaginii compactă, când nici una din reţelele neuronale corespunzătoarea celor trei planuri de culoare nu a atins eroarea de 0,001.

Fig.4.13 Antrenare reţea pentru eliminare zgomot cu o reţea, respectiv cu 4 reţele d) Algoritm cu rată variabilă de învăţare şi moment (traingdx) Pe lângă algoritmul ratei variabile de învăţare implementat cu funcţia traingda mai există o variantă similară - traingdx , care combină rata de învăţare adaptivă cu un coeficient moment mc. Antrenare(TRAINGDX) cu o reţea Antrenare (TRAINGDX)cu 4 reţele Numărul de epoci R,G,B: 5000 Numărul de epoci R:

RN1=1105 RN2=1260 RN3=1211 RN4=797 G: RN1=956 RN2=1046 RN3=956 RN4=900 B: RN1=923 RN2=1527

∗ Pentru determinarea timpului de antrenare precizez că am antrenat reţelele pe un procesor Pentium 4 la frecvenţa de 3,20GHz

Page 133: Popa - Prelucrarea numerica a imaginilor (2006).pdf

133

RN3=1357 RN4=1680

Performanţa medie (nu a fost atinsă)

Perf= 0.0022 Performanţa medie Perf1= 0.001 Perf2= 0.001 Perf3= 0.001 Perf4= 0.001

Timpul de antrenare 1112 s Timpul de antrenare total 362 s Eroarea medie de antrenare obţinută

0,0423259 Eroarea medie de antrenare obţinută

0,112011

În urma antrenării, pentru planul de culoare albastră, s-au obţinut:

Fig. 4.14 – Antrenare planul albastru cu o reţea Fig. 4.15 – Antrenare o subreţea din planul albastru Imaginea obţinută în urma antrenării cu algoritmul backpropagation cu rată variabilă de învăţare şi moment:

Fig. 4.16 Imagine color antrenată cu 3 RN, câte una pentru fiecare plan de culoare

Fig. 4.17. Imagine color antrenată cu 12 RN, 4 subreţele pentru fiecare din cele 3 planuri de culoare e) Algoritm backpropagation elastic (Resilient Backpropagation- Rprop) Reţelele neuronale multistrat folosesc în straturile ascunse funcţii de transfer sigmoide, deoarece comprimă un domeniu de intrare infinit într-un domeniu finit de ieşire, caracterizate fiind de faptul că panta lor se apropie de zero pe măsură ce valoarea de intrare devine mai mare. Acest lucru provoacă în antrenarea cu algoritmul de descreştere pronunţată (steepest descent backpropagation algorithm) schimbări mici ale ponderilor şi bias-urilor, chiar dacă acestea sunt departe de valoarea lor optimă. Scopul acestui algoritm elastic de antrenare este acela de elimina acest efect al valorii mărimii derivatelor parţiale. Se va folosi doar semnul derivatei pentru a determina direcţia actualizării ponderilor; mărimea derivatei nu va avea efect asupra actualizării ponderilor. Valoarea de actualizare pentru fiecare pondere şi bias este mărită printr-un factor delt_inc ori de cate ori

Page 134: Popa - Prelucrarea numerica a imaginilor (2006).pdf

134

derivata parţială a criteriului de performanţă în funcţie de respectiva pondere are acelaşi semn în două iteraţii succesive; aceeaşi valoare de actualizare este micşorată printr-un factor delt_dec ori de câte ori derivata parţială a criteriului de performanţă în funcţie de respectiva pondere îşi schimbă semnul faţă de iteraţia precedentă. Dacă derivata este zero, atunci valoarea de actualizare rămâne aceeaşi. Astfel, ori de câte ori ponderile oscilează, schimbarea ponderii este micşorată, iar dacă ponderile continuă să se schimbe în aceeaşi direcţie pentru câteva iteraţii la rând, atunci mărimea schimbării ponderii va creşte. Antrenare (TRAINRP) cu o reţea Antrenare(TRAINRP) cu 4 reţele Numărul de epoci R,G,B:5000 Numărul de epoci R:

RN1=4229 RN2=5000 RN3=5000 RN4=4693 G: RN1=3352 RN2=3360 RN3=3305 RN4=3440 B: RN1=5000 RN2=4473 RN3=3305 RN4=3304

Performanţa medie ( nu a fost atinsă)

Perf= 0.0048

Performanţa medie pentru cele 4 subretele

Perf1= 0.0013 Perf2= 0.001 Perf3= 0.001 Perf4= 0.001

Timpul de antrenare 1198 s Timpul de antrenare total 1390 s Eroarea medie de antrenare obţinută

0,0676409 Eroarea medie de antrenare obţinută

0,125839

Fig. 4.18. Comparare performanţe în cazul antrenării cu algoritm BP elastic (1 reţea, 4 reţele) f) Algoritmi gradient- conjugat (Conjugate Gradient Algorithms) Algoritmii gradient-conjugaţi încep căutarea în direcţia negativului gradientului la prima iteraţie: p0=-g0 unde g0=gradientul iniţial Este efectuata apoi o căutare (line search) pentru a determina distanţa optimă de deplasare în direcţia căutării: xk+1 = xk+αk pk

Page 135: Popa - Prelucrarea numerica a imaginilor (2006).pdf

135

Următoarea direcţie de căutare este determinată astfel încât să fie conjugată cu direcţiile precedente de căutare. Procedura generală de determinare a noii direcţii de căutare este combinarea noii direcţii de descreştere pronunţată cu direcţia anterioară de căutare: pk = -gk + βk pk-1 Diferitele versiuni de algoritmi gradient-conjugaţi se disting prin felul în care constanta βk este calculată. Pentru varianta Fletcher-Reeves:

11 −−

=k

Tk

kTk

k ggggβ

Acesta este raportul dintre norma pătratică a gradientului curent şi cea a gradientului precedent. Rezultatele obţinute în urma antrenării cu algoritmul gradient conjugat: Antrenare (TRAINCGF) cu o reţea Antrenare (TRAINCGF) cu 4 reţele

Numărul de epoci R:

RN1=128 RN2=141 RN3=144 RN4=120

G:

RN1=104 RN2=115 RN3=121 RN4=97

Numărul de epoci R:1686 G:5000 B:5000

B: RN1=112 RN2=182 RN3=165 RN4=161

Performanţa medie

Perf= 0.007 Performanţa medie pentru cele 4 subreţele

Perf1= 0.001 Perf2= 0.001 Perf3= 0.001 Perf4= 0.001

Timpul de antrenare 1443 s Timpul de antrenare total 94 s Eroarea medie de antrenare obţinută

0,0288449 Eroarea medie de antrenare obţinută

0,128018

Fig. 4.19.Comparare performanţe în cazul antrenării imaginii cu una, respectiv 4 reţele

Page 136: Popa - Prelucrarea numerica a imaginilor (2006).pdf

136

Fig. 4.20. Eroarea medie obţinută în urma antrenării cu 1 reţea

Fig. 4.21. Eroarea medie obţinută în urma antrenării cu 4 reţele Varianta Polak – Ribière (traincgp)– determină direcţia de căutare la fiecare iteraţie la fel ca varianta Fletcher-Reeves, adică: xk+1 = xk+αk pk . Constanta βk este calculată în acest caz:

11

1

−−

−∆=

kTk

kTk

k ggggβ

Acesta este produsul intern al schimbării precedente a gradientului cu gradientul curent, divizat prin norma pătratică a gradientului precedent. Parametrii algoritmului traincgp sunt aceeaşi ca şi în cazul traincgf , iar rutina de căutare implicită este srchcha. Algoritmul traincgp are performanţe similare algoritmului traincgf. Antrenare(TRAINCGP) cu o reţea Antrenare(TRAINCGP) cu 4 reţele Numărul de epoci R:902;

G:2201; B:1627

Numărul de epoci R: RN1=127 RN2=135 RN3=126 RN4=125 G: RN1=104 RN2=115 RN3=121 RN4=97 B: RN1=112 RN2=182 RN3=165 RN4=161

Performanţa medie

Perf=0.001 Performanţa medie pentru cele 4 subreţele

Perf1= 0.001 Perf2= 0.001 Perf3= 0.001 Perf4= 0.001

Timpul de antrenare 754 s Timpul de antrenare total 86 s Eroarea medie de antrenare obţinută

0,0276453 Eroarea medie de antrenare obţinută

0,120525

Page 137: Popa - Prelucrarea numerica a imaginilor (2006).pdf

137

Fig. 4.22. Performanţe TRAINCGP cu 1 respectiv 4 reţele

Fig. 4.23. Eroarea medie obţinută în urma antrenării cu 1 reţea

Fig. 4.24. Eroarea medie obţinută în urma antrenării cu 4 reţele Varianta „Powel-Beale Restarts” – e implementat prin funcţia traincgb, algoritmul e caracterizat prin resetarea direcţiei de căutare la negativul gradientului dacă este îndeplinită

condiţia: 2

1 2.0 kkTk ggg ≥−

Această variantă consumă mai multă memorie astfel că, în cazul tratării imaginii compact nu s-a ajuns la nici un rezultat – memorie insuficientă. Antrenare(TRAINCGB) cu o reţea Antrenare cu 4 reţele Numărul de epoci Memorie

insuficientă Numărul de epoci R:

RN1=126 RN2=131 RN3=128 RN4=125 G: RN1=105 RN2=111 RN3=116 RN4=101 B: RN1=100 RN2=138 RN3=138 RN4=146

Performanţa medie Performanţa medie pentru cele Perf1=0.001

Page 138: Popa - Prelucrarea numerica a imaginilor (2006).pdf

138

- 4 subreţele

Perf2=0.001 Perf3=0.001 Perf4=0.001

Timpul de antrenare∗ - Timpul de antrenare total 91 s Eroarea medie de antrenare obţinută

- Eroarea medie de antrenare obţinută

0,12698

Fig. 4.25. Antrenarea imaginii cu 4 subreţele

Fig. 4.26. Rezultatele obţinute în urma antrenării cu 4 subreţele Varianta „Scaled Conjugate Algoritm” înlătură neajunsul consumului de timp dat de funcţiile de căutare ( o linie de căutare necesită ca răspunsul reţelei la toate intrările de antrenare să fie calculat de câteva ori pentru fiecare căutare), prin combinarea ideii folosite în algoritmul Levenberg-Marquartd cu cea a algoritmilor gradient-conjugat. Funcţiile de căutare folosite (Line Search Routines) sunt implementate de funcţiile: srchgol, srchbre, srchhyb, srchcha, srchbac Antrenare(TRAINSCG) cu o reţea Antrenare(TRAINSCG) cu 4 reţele Numărul de epoci RN_R=846

RN_G=2405 RN_B=1492

Numărul de epoci R: RN1=122 RN2=124 RN3=130 RN4=91 G: RN1=111 RN2=118 RN3=105 RN4=92 B: RN1=105 RN2=153 RN3=131 RN4=141

∗ Pentru determinarea timpului de antrenare precizez că am antrenat reţelele pe un procesor Pentium 4 la frecvenţa de 3,20GHz

Page 139: Popa - Prelucrarea numerica a imaginilor (2006).pdf

139

Performanţa medie

Perf=0.001

Performanţa medie pentru cele 4 reţele

Perf1=0.001 Perf2=0.001 Perf3=0.001 Perf4=0.001

Timpul de antrenare 768 s Timpul de antrenare total 76 s Eroarea medie de antrenare obţinută

0,0266698 Eroarea medie de antrenare obţinută

0,0539085

Fig. 4.27. Comparare performanţe de antrenare cu 1 respectiv 4 reţele

Fig. 4.28. Rezultate obţinute în urma antrenării cu 1 reţea

Fig. 4.29. Rezultate obţinute în urma antrenării imaginii cu 4 reţele g) Algoritmi Quasi – Newton. Algoritmul BFGS Metoda Newton este o alternativă la algoritmii gradient-conjugat pentru optimizare rapidă. Metoda Newton converge deseori mai rapid decât metodele gradient-conjugat, dar este mult mai complexă şi mai mare consumatoare de memorie în calculul matricei Hessiene pentru reţelele feedforward. Există o clasă de algoritmi bazaţi pe metoda Newton, dar care nu necesită calculul derivatelor de ordinul doi, numiţi algoritmi quasi-Newton. Aceştia actualizează o aproximare a matricei Hessiene la fiecare iteraţie a algoritmului. Actualizarea este calculată ca şi funcţie de gradient. Metoda cea mai reuşita este actualizarea Broyden, Fletcher, Goldfarb si Shanno (BFGS), implementată prin rutina trainbfg. Din motive de hardware nu s-au obţinute rezultate cu nici una din metodele aplicate. Algoritmi Quasi – Newton. Algoritmul „One Step Secant” Aceasta varianta nu depozitează întreaga matrice Hessiana, presupunând ca la fiecare iteraţie, precedenta Hessiana a fost matricea identitate şi având avantajul că, noua direcţie de căutare poate fi calculată fără a fi nevoie de calculul matricei inverse. Este implementat de funcţia

Page 140: Popa - Prelucrarea numerica a imaginilor (2006).pdf

140

trainoss. Poate fi considerată o variantă compromis între BFGS şi algoritmii gradient-conjugat. Antrenare(TRAINOSS) cu o reţea Antrenare(TRAINOSS) cu 4 reţele Numărul de epoci RN_R=2416

RN_G=5000 RN_B=5000

Numărul de epoci R: RN1=327 RN2=478 RN3=369 RN4=271 G: RN1=378 RN2=307 RN3=370 RN4=341 B: RN1=285 RN2=410 RN3=389 RN4=486

Performanţa medie Perf=0.0026

Performanţa medie pentru cele 4 subreţele

Perf1=0.001 Perf2=0.001 Perf3=0.001 Perf4=0.001

Timpul de antrenare 3078 s Timpul de antrenare total 372 s Eroarea medie de antrenare obţinută

0,028138 Eroarea medie de antrenare obţinută

0,112667

Fig.4.30. Comparare metode de antrenare cu 1 respectiv 4 reţele

Fig. 4.31. Rezultate obţinute în urma antrenării cu 1 reţea

Page 141: Popa - Prelucrarea numerica a imaginilor (2006).pdf

141

Fig. 4.32. Rezultate obţinute în urma antrenării cu 4 reţele h) Algoritmul Levenberg-Marquardt La fel ca toate variantele quasi-Newton, şi această variantă a fost proiectată să aproximeze antrenarea de ordinul doi fără a fi nevoie să calculeze matricea hessiană. Atunci când funcţia de performanţă are forma unei sume de pătrate, matricea hessiană poate fi aproximată astfel:

JJH T= iar gradientul se poate calcula:

eJg T= unde: - J este matricea Jacobiană care conţine derivatele de ordinul unu ale erorilor în raport de ponderile şi bias-urile reţelei, - e este vectorul erorilor. Matricea Jacobiană este calculată folosind o tehnică backpropagation standard, care este mult mai puţin complexă decât calculul matricei Hessiene. Algoritmul Levenberg-Marquardt foloseşte următoarea actualizare:

[ ] eJIJJxx TTkk

11

− +−= µ Atunci când scalarul µ este zero, algoritmul este chiar metoda Newton cu matricea hessiană aproximată. Mărimea lui µ este micşorată după fiecare pas reuşit (reducere a funcţiei de performanţă) şi mărită doar atunci când pasul tentativă ar creşte funcţia performanţă: în acest fel funcţia criteriu va fi întotdeauna redusă la fiecare iteraţie a algoritmului. Inconvenientul algoritmului Levenberg-Marquardt este cantitatea mare de memorie necesară în calculul Jacobianului, astfel, în cazul reţelei neuronale implementate acest algoritm nu poate fi aplicat. În urma antrenării unei imagini afectate de zgomot cu un algoritm backpropagation se obţine o imagine cu contururi şterse. În imaginea de eroare sunt vizibile contururile alterate. Cele mai bune performanţe s-au obţinut, pentru exemplul de faţă, în cazul aplicării algoritmilor de tip gradient conjugat ce folosesc tehnici de optimizare numerică: TRAINCGF – eroarea de recunoaştere 0,0288449 TRAINCGP – eroarea de recunoaştere 0,02766453 TRAINSCG- – eroarea de recunoaştere 0,0266698

Page 142: Popa - Prelucrarea numerica a imaginilor (2006).pdf

142

Fig. 4.33. Comparare metodelor BP utilizate pentru eliminarea zgomotului sare şi piper din imaginea color cu reţele feedforward.

Nr. epoci

eroare

Page 143: Popa - Prelucrarea numerica a imaginilor (2006).pdf

143

c

c

4.2 Aplicaţii ale reţelelor neuronale Elman pentru eliminarea zgomotelor

Reţelele neuronale artificiale Elman au altă structură însă pot fi antrenate cu aceeaşi algoritmi backpropagation şi backpropagation îmbunătăţiţi ca şi reţelele feedforward (traingd, traingdm, traingda, traingdx, trainrp, traincgf, traincgp, traincgb, trainscg, trainbfg, trainoss, trainlm). Pentru a ţine minte ieşirile unităţilor ascunse se introduc unităţi de context care se comportă ca şi memoriile de scurtă durată. Doar valorile nodurilor de pe nivelul ascuns vor constitui la următorul pas intrările în reţea, fără a fi multiplicate cu ponderile. Aceste valori sunt salvate în nivelul numit nivel contextual. Arhitectura reţelei Elman cu două niveluri: Fig. 4.34. Arhitectura reţelei neuronale Elman Pentru a putea evidenţia viteza de convergenţă a reţelelor neuronale de tip Elman mai bună decât în cazul reţelelor neuronale implementate în subcapitolul anterior, am optat pentru aceeaşi structură a reţelei: - un nivel ascuns cu 76 neuroni - un nivel de ieşire cu număr de neuroni egal cu dimensiunea imaginii de intrare Atât în cazul antrenării imaginilor color, cât şi a celor binare sau cu tonuri de gri s-au obţinut rezultate mai bune cu reţeaua neuronală Elman backpropagation decât în cazul reţelelor feedforward în majoritatea cazurilor. Imaginile color le-am descompus în cele trei planuri de culoare (roşu, verde, albastru), fiecare din acestea antrenate cu câte o reţea Elman, iar în final rezultatele obţinute în urma antrenării le-am concatenat în vederea obţinerii imaginii color antrenate. Funcţiile de transfer pentru cele două niveluri sunt de tip tansig pentru nivelul ascuns şi purelin pentru nivelul de ieşire, toleranţa la învăţare este de 0.001. Reţelele sunt antrenate în scopul eliminării zgomotului aditiv (fig. 4.36) din imaginea de la intrare (fig. 4.35).

Fig. 4.35. Imaginea iniţială Fig.4.36. Imaginea de intrare afectată de zgomot a) Varianta „Batch Gradient Descendent” (traingd) În cazul antrenării imaginii afectate de zgomot atât cu o reţea cât şi cu 4 reţele nu s-au atins performanţele de 0,001 pentru nici unul din cele 3 planuri de culoare în 5000 de epoci

Page 144: Popa - Prelucrarea numerica a imaginilor (2006).pdf

144

0 500 1000 1500 2000 2500 3000 3500 4000 4500 500010-4

10-3

10-2

10-1

100

5000 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.0265895, Goal is 0.001

Fig. 4.37. – Antrenare planul albastru din imagine Fig.4.38. – Antrenare o subreţea din planul albastru Imaginile obţinute în urma antrenării sunt foarte slabe ca şi în cazul reţelelor feedforward, iar rezultatele obţinute în urma simulării atât cu zgomot mai mic cât şi cu zgomot mai mare sunt nesemnificativ mai bune decât în cazul anterior.

Imag.originala Imag.cu zgomot Imag. antrenata Eroare-0.177858

Fig. 4.39. Imaginea color antrenată cu 3 reţele Elman, câte una pentru fiecare plan de culoare

Fig. 4.40. Imaginea color antrenată cu 12 reţele Elman; fiecare plan de culoare antrenat cu 4 subreţele Antrenare (TRAINGD) cu o reţea Elman Antrenare (TRAINGD) cu 4 reţele Elman Numărul de epoci R,G,B:5000 Numărul de epoci R,G,B:

RN1=5000 RN2=5000 RN3=5000 RN4=5000

Performanţa medie (nu a fost atinsă)

Perf=0.027562 (Perf= 0.0274 FF)

Performanţa medie pentru cele 4 subretele (nu a fost atinsă)

Perf1=0.015893 Perf2=0.014067 Perf3=0.013258 Perf4=0.018376

Timpul de antrenare∗ - mai mare decât în cazul FF

1158 s (1080 s -FF)

Timpul de antrenare total 1734 s (1493 s – FF)

Eroarea medie de antrenare obţinută

0,177858 (0,197797- FF)

Eroarea medie de antrenare obţinută

0,182563 (0,539085 – FF)

b) Metoda gradientului descendent cu moment

∗ Pentru determinarea timpului de antrenare precizez că am antrenat reţelele pe un procesor Pentium 4 la frecvenţa de 3,20GHz

Page 145: Popa - Prelucrarea numerica a imaginilor (2006).pdf

145

Ca şi în cazul reţelelor feedforward pentru algoritmul gradient descendent cu moment nu s-a atins performanţa în 5000 de epoci

0 500 1000 1500 2000 2500 3000 3500 4000 4500 500010-4

10-3

10-2

10-1

100

5000 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.0258761, Goal is 0.001

Fig. 4.41. – Antrenare planul albastru din imagine Fig. 4.42. – Antrenare o subreţea din planul albastru Imaginile obţinute în urma antrenării:

Imag.originala Imag.cu zgomot Imag. antrenata Eroare-0.179408

Fig. 4.43. Imaginea color antrenată cu 3 reţele Elman, câte una pentru fiecare plan de culoare

Fig. 4.44. Imaginea color antrenată cu 12 reţele Elman; 4 subreţele pentru fiecare plan de culoare În cazul antrenării imaginii cu 4 subreţele pentru fiecare plan de culoare se merge spre o eroare mai mică cu fiecare din subreţele, însă nu se atinge eroarea dorită în numărul de epoci stabilit (5000 epoci). Antrenare(TRAINGDM) cu o reţea Elman Antrenare (TRAINGDM) cu 4 reţele Numărul de epoci R,G,B: 5000 Numărul de epoci R,G,B:

RN1=5000 RN2=5000 RN3=5000 RN4=5000

Performanţa medie (nu a fost atinsă)

Perf=0.02737 Performanţa medie pentru cele 4 subretele (nu a fost atinsă)

Perf1=0.015451 Perf2=0.014584 Perf3=0.013593 Perf4=0.017335

Timpul de antrenare (s) 1214 s

Timpul de antrenare total (s)

1599 s (1479 s –FF)

Eroarea medie de antrenare obţinută

0,179408

Eroarea medie de antrenare obţinută

0,178376 (0,506367 –FF)

c)Algoritm cu rată variabilă de învăţare Ca şi la reţeaua feedforward se atinge performanţa doar în cazul tratării imaginii cu 4 reţele pentru fiecare plan de culoare:

Page 146: Popa - Prelucrarea numerica a imaginilor (2006).pdf

146

0 500 1000 1500 2000 2500 3000 3500 4000 4500 500010-4

10-3

10-2

10-1

100

5000 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.00322112, Goal is 0.001

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

10-4

10-3

10-2

10-1

100

5000 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.00100722, Goal is 0.001

Fig. 4.45 – Antrenare planul albastru din imagine Fig. 4.46. – Antrenare o subreţea din planul albastru Imaginile obţinute în urma antrenării cu reţea Elman:

Imag.originala Imag.cu zgomot Imag. antrenata Eroare-0.0548013

Fig. 4.47. Imaginea color antrenată cu 3 reţele Elman, câte una pentru fiecare plan de culoare

Imagine originala Imag cu zgomot Imagine-antrenata Eroare-0.125151

Fig. 4.48. Imaginea color antrenată cu 12 reţele Elman, câte 4 pentru fiecare plan de culoare Performanţele obţinute: Antrenare (TRAINGDA) cu o reţea Elman Antrenare ( TRAINGDA) cu 4 reţele Elman Numărul de epoci R,G,B: 5000 Numărul de epoci R:

RN1=4155 RN2=3987 RN3=3979 RN4=2544 G: RN1=3317 RN2=3159 RN3=3220 RN4=2517 B: RN1=2876 RN2=4963 RN3=4780 RN4=5000

Performanţa medie Perf=0.0033397 (Perf=0.0040-FF)

Performanţa medie pentru cele 4 reţele

Perf1=0.001 Perf2=0.001 Perf3=0.001 Perf4= 0.001

Timpul de antrenare 1197 s Timpul de antrenare total 1338 s Eroarea medie de 0,0685293 Eroarea medie de 0,125151

Page 147: Popa - Prelucrarea numerica a imaginilor (2006).pdf

147

antrenare obţinută antrenare obţinută (0,129703 –FF) d) Algoritm cu rată variabilă de învăţare şi moment (traingdx) Imaginile obţinute în urma antrenării cu reţele Elman cu algoritmul de învăţare backpropagation cu rată variabilă de învăţare şi moment:

Imag.originala Imag.cu zgomot Imag. antrenata Eroare-0.0457244

Fig. 4.49. Imagine obţinută în urma antrenării cu 3 reţele Elman, câte una pentru fiecare plan de culoare

Imagine originala Imag cu zgomot Imagine-antrenata Eroare-0.119948

Fig. 4.50. Imagine obţinută în urma antrenării cu 12 reţele Elman, câte 4 pentru fiecare plan de culoare Performanţe obţinute: Antrenare(TRAINGDX) cu o reţea Elman Antrenare (TRAINGDX)cu 4 reţele Elman Numărul de epoci R: 5000

G:1361 B:1234

Numărul de epoci R: RN1=826 RN2=1021 RN3=1135 RN4=910 G: RN1=887 RN2=903 RN3=1770 RN4=1741 B: RN1=1686 RN2=1527 RN3=1357 RN4=1680

Performanţa medie (nu a fost atinsă)

Perf= 0.0020271 Performanţa medie Perf1= 0.001 Perf2= 0.001 Perf3= 0.001 Perf4= 0.001

Timpul de antrenare 1187 s Timpul de antrenare total 446 s Eroarea medie de antrenare obţinută

0,0457244 Eroarea medie de antrenare obţinută

0,119948

e) Algoritm backpropagation elastic (Resilient Backpropagation- Rprop) Performanţe obţinute: Antrenare (TRAINRP) cu o reţea Elman Antrenare(TRAINRP) cu 4 reţele Elman Numărul de epoci R,G,B:5000 Numărul de epoci R:

RN1=1537 RN2=5000 RN3=4206

Page 148: Popa - Prelucrarea numerica a imaginilor (2006).pdf

148

RN4=3819 G: RN1=3177 RN2=4997 RN3=4308 RN4=3440 B: RN1=5000 RN2=4473 RN3=1566 RN4=1651

Performanţa medie ( nu a fost atinsă)

Perf=0.0040165

Performanţa medie pentru cele 4 subretele

Perf1= 0.0012842 Perf2 = 0.0012 Perf3= 0.001 Perf4= 0.001

Timpul de antrenare∗ 1494 s Timpul de antrenare total 1754 s Eroarea medie de antrenare obţinută

0,0676409 Eroarea medie de antrenare obţinută

0,118891 (0,125839 –FF)

∗ Pentru determinarea timpului de antrenare precizez că am antrenat reţelele pe un procesor Pentium 4 la frecvenţa de 3,20GHz

Page 149: Popa - Prelucrarea numerica a imaginilor (2006).pdf

149

Antrenarea imaginii color, planul albastru, cu reţea Elman:

0 500 1000 1500 2000 2500 3000 3500 4000 4500 500010-4

10-3

10-2

10-1

100

101

5000 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.00436, Goal is 0.001

0 200 400 600 800 1000 1200 1400 1600

10-4

10-3

10-2

10-1

100

101

1651 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000999652, Goal is 0.001

Fig. 4.51. Comparare performanţe în cazul antrenării cu algoritm BP elastic (1 reţea, 4 reţele Elman) Imaginile obţinute în cazul antrenării reţelelor Elman cu algoritmul BP elastic :

Imag.originala Imag.cu zgomot Imag. antrenata Eroare-0.0568384

Fig. 4.52. Imagine obţinută în urma antrenării cu 3 reţele Elman, câte una pentru fiecare plan de culoare

Imagine originala Imag cu zgomot Imagine-antrenata Eroare-0.118891

Fig.4.53. Imagine obţinută în urma antrenării cu 12 reţele Elman, câte 4 pentru fiecare plan de culoare f) Algoritmi gradient - conjugat (Conjugate Gradient Algorithms) Rezultatele obţinute în urma antrenării cu algoritmul gradient conjugat, pentru reţelele Elman: Antrenare (TRAINCGF) cu o reţea Elman Antrenare (TRAINCGF) cu 4 reţele Elman

Numărul de epoci R:

RN1=149 RN2=147 RN3=202 RN4=159

G:

RN1=123 RN2=133 RN3=137 RN4=107

Numărul de epoci R:1542 G:5000 B:3397

B: RN1=107 RN2=237 RN3=186 RN4=189

Performanţa medie

Perf=0.001120 Performanţa medie pentru cele 4 subreţele

Perf1= 0.001 Perf2= 0.001 Perf3= 0.001

Page 150: Popa - Prelucrarea numerica a imaginilor (2006).pdf

150

Perf4= 0.001 Timpul de antrenare∗ 1504s Timpul de antrenare total 126 s Eroarea medie de antrenare obţinută

0,026351 Eroarea medie de antrenare obţinută

0,124759

0 500 1000 1500 2000 2500 300010-4

10-3

10-2

10-1

100

3397 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000999948, Goal is 0.001

0 20 40 60 80 100 120 140 160 180

10-4

10-3

10-2

10-1

100

189 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000994789, Goal is 0.001

Fig. 4.54. Comparare performanţe în cazul antrenării imaginii cu una, respectiv 4 reţele Elman Imaginile obţinute în urma antrenării cu reţele Elman:

Imag.originala Imag.cu zgomot Imag. antrenata Eroare-0.026351

Fig. 4.55. Eroarea medie obţinută în urma antrenării cu 1 reţea Elman pentru fiecare plan de culoare

Imagine originala Imag cu zgomot Imagine-antrenata Eroare-0.124759

Fig. 4.56. Eroarea medie obţinută în urma antrenării cu 4 reţele Elman pentru fiecare plan de culoare

∗ Pentru determinarea timpului de antrenare precizez că am antrenat reţelele pe un procesor Pentium 4 la frecvenţa de 3,20GHz

Page 151: Popa - Prelucrarea numerica a imaginilor (2006).pdf

151

g) Rezultate obţinute cu algoritmul TRAINCGP Antrenare(TRAINCGP) cu o reţea Elman Antrenare(TRAINCGP) cu 4 reţele Elman Numărul de epoci R:705;

G:1557; B:1047

Numărul de epoci R: RN1=140 RN2=130 RN3=131 RN4=112 G: RN1=110 RN2=121 RN3=113 RN4=103 B: RN1=115 RN2=149 RN3=139 RN4=143

Performanţa medie

Perf=0.001 Performanţa medie pentru cele 4 subreţele

Perf1= 0.001 Perf2= 0.001 Perf3= 0.001 Perf4= 0.001

Timpul de antrenare∗ 632 s Timpul de antrenare total 110 s Eroarea medie de antrenare obţinută

0,0264776 Eroarea medie de antrenare obţinută

0,124852

0 100 200 300 400 500 600 700 800 900 100010-4

10-3

10-2

10-1

100

1047 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000999705, Goal is 0.001

0 20 40 60 80 100 120 140

10-4

10-3

10-2

10-1

100

143 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000993769, Goal is 0.001

Fig. 4.57. Performanţe TRAINCGP cu 1 respectiv 4 reţele Elman

Imag.originala Imag.cu zgomot Imag. antrenata Eroare-0.0264776

Fig. 4.58. Eroarea medie obţinută în urma antrenării cu 1 reţea Elman pentru fiecare plan de culoare

∗ Pentru determinarea timpului de antrenare precizez că am antrenat reţelele pe un procesor Pentium 4 la frecvenţa de 3,20GHz

Page 152: Popa - Prelucrarea numerica a imaginilor (2006).pdf

152

Imagine originala Imag cu zgomot Imagine-antrenata Eroare-0.124852

Fig. 4.59. Eroarea medie obţinută în urma antrenării cu 4 reţele Elman pentru fiecare plan de culoare h) Rezultate obţinute cu algoritmul TRAINCGB Antrenare(TRAINCGB) cu o reţea Elman Antrenare cu 4 reţele Elman Numărul de epoci Memorie

insuficientă Numărul de epoci R:

RN1=134 RN2=134 RN3=133 RN4=166 G: RN1=124 RN2=119 RN3=114 RN4=96 B: RN1=105 RN2=149 RN3=140 RN4=150

Performanţa medie

-

Performanţa medie pentru cele 4 subreţele

Perf1=0.001 Perf2=0.001 Perf3=0.001 Perf4=0.001

Timpul de antrenare∗ - Timpul de antrenare total 112 s Eroarea medie de antrenare obţinută

- Eroarea medie de antrenare obţinută

0,0309821

0 50 100 15010-4

10-3

10-2

10-1

100

150 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000993749, Goal is 0.001

Fig. 4.60. Antrenarea imaginii cu 4 subreţele Elman

∗ Pentru determinarea timpului de antrenare precizez că am antrenat reţelele pe un procesor Pentium 4 la frecvenţa de 3,20GHz

Page 153: Popa - Prelucrarea numerica a imaginilor (2006).pdf

153

Imagine originala Imag cu zgomot Imagine-antrenata Eroare-0.0309821

Fig. 4.61. Rezultatele obţinute în urma antrenării cu 4 subreţele Elman i) TRAINSCG utilizat cu reţele Elman Antrenare(TRAINSCG) cu o reţea Elman Antrenare(TRAINSCG) cu 4 reţele Elman Numărul de epoci RN_R=744

RN_G=1444 RN_B=959

Numărul de epoci R: RN1=155 RN2=124 RN3=139 RN4=101 G: RN1=105 RN2=108 RN3=112 RN4=94 B: RN1=96 RN2=148 RN3=146 RN4=138

Performanţa medie

Perf=0.001

Performanţa medie pentru cele 4 reţele

Perf1=0.001 Perf2=0.001 Perf3=0.001 Perf4=0.001

Timpul de antrenare 542 s Timpul de antrenare total 86 s Eroarea medie de antrenare obţinută

0,0275524 Eroarea medie de antrenare obţinută

0,0539085

0 100 200 300 400 500 600 700 800 90010-4

10-3

10-2

10-1

100

959 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000999743, Goal is 0.001

0 20 40 60 80 100 120

10-4

10-3

10-2

10-1

100

138 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000994337, Goal is 0.001

Fig. 4.62. Comparare performanţe de antrenare cu 1 respectiv 4 reţele Elman

Imag.originala Imag.cu zgomot Imag. antrenata Eroare-0.0275524

Page 154: Popa - Prelucrarea numerica a imaginilor (2006).pdf

154

Fig. 4.63. Rezultate obţinute în urma antrenării cu 1 reţea Elman

Imagine originala Imag cu zgomot Imagine-antrenata Eroare-0.0306099

Fig. 4.64. Rezultate obţinute în urma antrenării cu 4 reţele Elman j) Algoritmi Quasi – Newton. Algoritmul „One Step Secant” Antrenare(TRAINOSS) cu o reţea Elman Antrenare(TRAINOSS) cu 4 reţele Elman Numărul de epoci RN_R=2312

RN_G=4761 RN_B=4484

Numărul de epoci R: RN1=387 RN2=382 RN3=363 RN4=290 G: RN1=334 RN2=242 RN3=285 RN4=284 B: RN1=330 RN2=423 RN3=479 RN4=438

Performanţa medie Perf=0.001

Performanţa medie pentru cele 4 subreţele

Perf1=0.001 Perf2=0.001 Perf3=0.001 Perf4=0.001

Timpul de antrenare∗ 3167s Timpul de antrenare total 400 s Eroarea medie de antrenare obţinută

0,028138 Eroarea medie de antrenare obţinută

0,112667

0 500 1000 1500 2000 2500 3000 3500 400010-4

10-3

10-2

10-1

100

4484 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000992804, Goal is 0.001

0 50 100 150 200 250 300 350 400

10-4

10-3

10-2

10-1

100

438 Epochs

Trai

ning

-Blu

e G

oal-B

lack

Performance is 0.000999272, Goal is 0.001

Fig. 4.65. Comparare metode de antrenare cu 1 respectiv 4 reţele Elman

∗ Pentru determinarea timpului de antrenare precizez că am antrenat reţelele pe un procesor Pentium 4 la frecvenţa de 3,20GHz

Page 155: Popa - Prelucrarea numerica a imaginilor (2006).pdf

155

Imag.originala Imag.cu zgomot Imag. antrenata Eroare-0.0277268

Fig. 4.66. Rezultate obţinute în urma antrenării imaginii cu 1 reţea Elman

Imagine originala Imag cu zgomot Imagine-antrenata Eroare-0.121581

Fig. 4.67. Rezultate obţinute în urma antrenării imaginii cu 4 reţele Elman În urma antrenării unei imagini afectate de zgomot cu o reţea de tip Elman cu un algoritm de învăţare backpropagation se observă o atenuare a contururilor din imagine. În imaginea de eroare sunt vizibile contururile alterate. Cele mai bune performanţe s-au obţinut, pentru exemplul de faţă, în cazul aplicării algoritmilor ce folosesc tehnici de optimizare numerică: TRAINCGF – eroarea de recunoaştere - 0,026351 (mai mică decât în cazul reţelei feedforward 0,0288449) TRAINCGP – eroarea de recunoaştere - 0,0264776 (mai mică decât în cazul reţelei feedforward 0,02766453) TRAINSCG – eroarea de recunoaştere - 0,0275524 (mai mare decât în cazul reţelei feedforward 0,0266698)

Fig. 4.68. Comparare metode de învăţare backpropagation utilizate pentru eliminarea zgomotului sare şi piper din imaginea iniţială într-o reţea de tip Elman

eroarea

nr. epoci

Page 156: Popa - Prelucrarea numerica a imaginilor (2006).pdf

156

4.3 Aplicaţii ale reţelelor neuronale Hopfield pentru eliminarea zgomotelor

Proiectarea a unei reţele neuronale recurente de tip Hopfield care să elimine zgomotul dintr-o imagine color presupune mai întâi împărţirea imaginii în cele trei planuri de culoare (R,G,B), implementarea reţelelor pentru fiecare din aceste planuri, aplicarea tiparul de antrenament. Pentru a demonstra capacitatea de corecţie a erorilor se vor folosi versiuni ale imaginii afectate de zgomot. Rezultate obţinute în urma antrenării au fost bune, în cazul simulărilor cu nivel mai mici de zgomot:

Img.initiala Img.antrenata Eroare antrenare0.0651795

Img.initiala zg. mai mare Img.simulata

Img.init zg. mult mai mic Img.simulata

Img.init. zg. mic Img.simulata

Fig. 4.69. Imaginea contaminată cu zgomot de tip sare şi piper cu distribuţie 0.3, 0.02, 0.2. Se observă că, în cazul distribuţiilor mai mici decât 0.3 pentru nivelul de zgomot, s-a obţinut o imagine bună. Timpul de memorare necesar celor trei reţele a fost de 3.4690 s.

Page 157: Popa - Prelucrarea numerica a imaginilor (2006).pdf

157

4.4 Aplicaţii ale reţelelor RBF pentru eliminarea zgomotelor Antrenarea reţelelor cu funcţii radiale se face de obicei nesupervizat pentru stratul de intrare şi supervizat pentru stratul de ieşire, dar poate fi folosită şi metoda backpropagation de antrenare supervizată pentru ambele straturi de neuroni. Deosebirea dintre metodele de antrenare este dată de metoda de alegere a centrilor funcţiilor radiale, astfel centri pot fi ficşi, aleşi aleator sau autoorganizaţi sau selectaţi supervizat. Odată cu crearea unei reţele neuronale RBF sunt stabilite şi valorile parametrilor şi anume: datele de intrare, datele corecte, lărgimea(parametru cu proprietatea că valoarea gaussinei este 0.5 în punctele 0.8326/lărgime) şi valoarea maximă admisă pentru nivelul minim al erorii. În urma implementării unei reţele neuronale cu funcţii de transfer radiale în care valorile centrelor coincid cu datele de intrare, iar valorile ponderilor către nivelul ascuns se determină prin rezolvarea sistemului care furnizează punctul critic al funcţiei de eroare am obţinut următoarele rezultate:

Fig. 4.70. Antrenarea imaginii cu zgomot cu e reţea RBF(newrbe) Timpul de antrenare = 1.9220 s Numărul de neuroni pe nivelul ascuns = 230 R/230 G/ 230 B Aceeaşi imagine color afectată de zgomot antrenată cu o reţea în manieră iterativă. La fiecare iteraţie vectorul de intrare căruia îi corespunde cea mai mare diferenţă între răspunsul dorit şi cel produs de reţea este utilizat pentru a reprezenta centrul unei noi unităţi ascunse. Procesul iterativ continuă până când este atins un nivel minim al erorii sau până când au fost adăugate suficiente unităţi ascunse. Rezultate obţinute în urma antrenării unei imagini color afectate de zgomot cu o reţea cu selecţie autoorganizată a centrilor: - timpul de antrenare (pentru cele 3 reţele)= 241.1250 s - numărul de unităţi ascunse = 229 R/ 229G/ 229B Imaginea obţinută în urma antrenării:

Page 158: Popa - Prelucrarea numerica a imaginilor (2006).pdf

158

Img. originala Img.cu zg.de antrenat Img.antrenata Eroare-0.0231041

Fig. 4.71. Antrenarea imaginii color cu NEWRB În urma antrenării imaginii color afectate de zgomot cu o reţea RBF – „regression neural network” care este construită după următoarea regulă: se definesc atâtea unităţi ascunse câte exemple sunt în setul de antrenare, iar centrele se aleg ca fiind datele de intrare, ponderile conexiunilor către unităţile de ieşire se aleg ca fiind răspunsurile corecte corespunzătoare, am obţinut următoarele rezultate: - timpul de antrenare (pentru cele 3 reţele)= 0.2810 - numărul de unităţi ascunse = 230 R/ 230G/ 230B Se observă o bună recunoaştere a imaginii afectate de zgomot cu un nivel mai scăzut decât nivelul de zgomot cu care a fost antrenată reţeaua:

Img. originala Img.cu zg.de antrenat Img.antrenata Eroare-0.0231041

Img.cu zg mai mic Sim.zg mai mic Eroare:0.172966

Img.cu zg mai mare Sim.zg mai mare Eroare:0.273281

Fig. 4.72. Antrenarea imaginii color cu NEWGRNN În toate situaţiile parametrul lărgime trebuie ales adecvat, adică suficient de mare pentru a acoperi întreg domeniul datelor de intrare. Valori prea mari ale parametrului fac ca toate unităţile ascunse să răspundă aproape în aceeaşi manieră – caz în care reţeaua va produce o funcţie aproape constantă, iar valori prea mici ale parametrului nu permit obţinerea unei aproximări suficient de netede, reţeaua fiind incapabilă să generalizeze.

Page 159: Popa - Prelucrarea numerica a imaginilor (2006).pdf

159

5. Concluzii Lucrarea a tratat reţelele neuronale artificiale pornind de la structură care înseamnă arhitectură, funcţionare şi adaptare - învăţare, pentru a ajunge la utilizarea acestora din perspectiva eliminării zgomotului din imagini color, alb-negru sau în tonuri de gri. Astfel capitolele doi şi trei prezintă arhitectura reţelelor neuronale supervizate (feedforward, Elman, recurente Hopfield), hibride (cu funcţii radiale) şi nesupervizate, utilizate în analiza imaginilor. Procesul de învăţare este dezvoltat de la algoritmii clasici până la variantele de antrenare rapida în bloc implementate în Matlab, grupate pe doua categorii: categoria bazată pe tehnici euristice cu variantele backpropagation cu rata variabilă de învăţare şi backpropagation elastic şi categoria tehnicilor de optimizare numerică cu algoritmii gradient conjugat şi quasi-Newton. Capitolul patru prezintă aplicaţii ale reţelelor neuronale, implementate în mediul Matlab, pentru eliminarea zgomotelor din imaginile binare, gri şi color. În cazul reţelelor feedforward, imaginile alb-negru sau cele în tonuri de gri au fost antrenate separat cu una şi cu patru reţele, iar imaginile color au fost, în prima etapă, împărţite în cele trei planuri de culoare (roşu, verde şi albastru) apoi antrenate cu una, respectiv patru reţele pentru fiecare plan de culoare. La sfârşitul perioadei de antrenare cu variantele algoritmului backpropagation „Batch Gradient Descendet” şi „Batch Gradient Descendet with Moment” nu s-au obţinut rezultate satisfăcătoare. În numărul de epoci stabilite nu s-a atins eroarea minimă impusă, iar imaginile obţinute în urma antrenării sunt de o calitate slabă. Dintre algoritmii BP îmbunătăţiţi din categoria ce foloseşte tehnici euristice, cele mai bune performanţe s-au obţinut în cazul antrenării imaginii afectate de zgomot cu algoritm backpropagation cu rată variabilă de învăţare şi moment. Deşi eroarea minimă impusă a fost atinsă doar în cazul utilizării a patru reţele pentru imaginea de intrare, rezultate satisfăcătoare au fost obţinute şi în cazul tratării imaginii cu o singură reţea. Variantele algoritmilor gradient conjugat, cu excepţia variantei Powel-Beale Restarts care consumă multă memorie şi din considerente hardware nu a putut antrena imaginea cu o singură reţea, au condus la rezultate foarte bune atât în ceea ce priveşte timpul de antrenare cât şi a erorii atinse. Dintre algoritmii de tip Quasi-Newton, imaginea a fost antrenată atât cu una cât şi cu patru reţele doar cu algoritmul „One Step Secant” obţinându-se rezultate bune; metoda BFGS care utilizează matricea hessiană, de asemenea nu a putut fi implementată din considerente hardware. Dacă rezultatele cele mai bune în cazul reţelelor feedforward s-au obţinut cu variante ale algoritmilor de tip gradient conjugat, şi pentru reţelele Elman aceeaşi algoritmi au condus la convergenţa cea mai bună, aducând însă îmbunătăţiri atât la timpul de convergenţă cât şi la eroarea medie de antrenare a imaginilor. Se poate observa că atât în cazul reţelelor feedforward cât şi Elman, se atenuează frecvenţele înalte, ceea ce duce la o pierdere din conturul imaginii iniţiale. După antrenare, reţelele Hopfield au fost capabile să elimine zgomotul aditiv sare şi piper cu distribuţie mai mică de 0.3. Reţelele feedforward şi Elman nu au obţinut scoruri bune de recunoaştere pentru alte niveluri de zgomot decât cel pentru care au fost antrenate, iar reţelele cu funcţii radiale au fost capabile să recunoască imaginile afectate de zgomot cu o distribuţie mai mică decât cea cu care au fost antrenate.

Page 160: Popa - Prelucrarea numerica a imaginilor (2006).pdf

160

6. Bibliografie [1] D. Dumitrescu, H. Costin, Reţele neuronale – teorie şi aplicaţii, Ed. Teora, Bucureşti, 1996; [2] G. Toderean, M. Costeiu, M. Giurgiu, Reţele neuronale feedforward, Ed. Albastră, Cluj-Napoca, 1994; [3] V. Neagoe, O. Stănăşilă, Recunoaşterea formelor şi reţele neuronale – algoritmi fundamentali, Ed. Matrix, Bucureşti,1999; [4] S.W. Perry,Hau-San Wong, Ling Gua, Adaptive Image Processing, 2002 CRC Press LLC; [5] V.Tiponuţ, C.D. Căleanu, Reţele neuronale. Arhitecturi şi algoritmi, Ed. Politehnică, Timişoara, 2002; [6] L.Giurgiu, Modelarea cu reţele neuronale a sistemelor inteligente de măsurare, referat doctorat [7] C.Vizitiu, Ş.Demeter, M.Popescu, Metode de optimizare a reţelelor neuronale artificiale, Ed. Adalex, 2005; [8] D, Zaharie , Curs de reţele neuronale artificiale, http://www.math.uvt.ro, 2003; [9] Neural Network Toolbox