licenta

74
UNIVERSITATEA TEHNICA DIN CLUJ-NAPOCA FACULTATEA DE ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA INFORMATIEI Specializarea Tehnologii şi sisteme de Telecomunicaţii Contribuţii la analiza şi implementarea unor metode de extragere a caracteristicilor din imagini în vederea clasificării lor Lucrare de licenţă PRESEDINTE COMISIE, DECAN, Prof. dr. ing Monica Borda Prof.dr.ing. Marina ŢOPA CONDUCATOR, ABSOLVENT, Asist. ing. Anca Apătean Alexandru Mihu 2010

Transcript of licenta

UNIVERSITATEA TEHNICA DIN CLUJ-NAPOCA FACULTATEA DE ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA INFORMATIEI Specializarea Tehnologii i sisteme de Telecomunicaii

Contribuii la analiza i implementarea unor metode de extragere a caracteristicilor din imagini n vederea clasificrii lorLucrare de licen

PRESEDINTE COMISIE,Prof. dr. ing Monica Borda

DECAN, Prof.dr.ing. Marina OPA

CONDUCATOR, Asist. ing. Anca Aptean 2010

ABSOLVENT, Alexandru Mihu

UNIVERSITATEA TEHNICA DIN CLUJ-NAPOCA FACULTATEA DE ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA INFORMATIEI CATEDRA DE COMUNICAII

Titlul temei: Contribuii la analiza i implementarea unor metode de extragere a caracteristicilor din imagini n vederea clasificrii lor Enunul lucrarii de licen:Proiectul trebuie s conin metodologia de alegere a caracteristicilor extrase din imagini, implementarea unei aplicaii Matlab de extragere a trsturilor din imaginile bazei de date pentru clasificarea acestora. Obiectivele sunt documentarea metodelor de extragere trsturi deja existente, clasificarea imaginilor pe baza trsturilor extrase i realizarea practic a unei aplicaii de extragere trsturi i clasificare imagini.

Locul de executie: Laborator 211 Data emiterii temei: 20 februarie 2009 Termen de predare: 24 iunie 2010

EF CATEDR, Prof.dr.ing. Virgil DOBROTA CONDUCATOR, Asist.ing. Anca Aptean

ABSOLVENT, Alexandru Mihu

FACULTATEA DE ELECTRONIC, TELECOMUNICAII I TEHNOLOGIA INFORMAIEI

Declaraia autorului

Subsemnatul declar prin prezenta c ideile, partea de implementare i experimental, rezultatele, analizele i concluziile cuprinse n aceast lucrare constituie efortul meu propriu, mai puin acele elemente ce nu-mi aparin, pe care le indic i le recunosc ca atare. Declar de asemenea, c dup tiina mea, lucrarea n aceast form este original i nu a mai fost niciodat prezentat sau depus n alte locuri sau altor instituii dect cele indicate n mod expres de mine. n calitate de autor, cedez toate drepturile de utilizare i modificare a lucrrii de licen ctre Universitatea Tehnic din Cluj-Napoca.

Cluj-Napoca, 24 iunie 2010

ABSOLVENT, Alexandru Mihu

1. absolvent Mihu Alexandru Ioan 2. asist. ing. Aptean Anca

SINTEZA LUCRARII DE LICENContribuii la analiza i implementarea unor metode de extragere a caracteristicilor (trsturilor) din imagini n vederea clasificrii lor Imaginile digitale, costul redus de realizare i stocare al acestora, precum i utilizarea lor n tot mai multe domenii ale tiinei i ingineriei, au introdus o cretere a cererii de aplicaii de analiz i clasificare a imaginilor cu o precizie ct mai mare i ntr-un timp ct de poate de scurt. Lucrarea urmrete extracia de trsturi din imaginile ce compun baza de date pentru a obine o acuratee de clasificare (KNN) ct mai mare. Extracia trsturilor s-a realizat prin metode deja existente, folosite n cadrul clasificatorului WND-CHARM. Acest clasificator face parte din mediul OME (Open Microscopy Environment). Numrul de trsturi extrase a fost redus prin renunarea la metodele ineficiente de extragere n ceea ce privete performanele de clasificare la 318 atribute pe imagine fa de 1024 atribute pe imagine folosite pentru formarea vectorului de trsturi din cadrul clasificatorului WND-CHARM. Astfel, timpul de extragere al trsturilor tuturor imaginilor din baza de date, precum i timpul de clasificare au fost micorate semnificativ (de la 48 de ore la 3 ore i 11 minute , respectiv de la 2 secunde la mai puin de o secund). Prin modificarea bazei de imagini aplicaia realizat poate fi utilizat n probleme de detecie sau recunoatere din diverse domenii.

ABSTRACTDigital images, cheap costs of acquisition and storage, as well as increasing use in many fields of science and engineering, introduces a demand of image analysis and classification with high accuracy and lower classification time. This thesis follows feature extraction from database images to obtain a high KNN clasification accuracy. Feature extraction was achieved by existing methods used in WNDCHARM classifier, which is part of the OME environment (Open Microscopy Environment). Number of features per image have been reduced from 1024 attributes per image used in WNDCHARM feature vector to 318 attributes per image, by removing the inefficient extraction methods in terms of clasification performance. Thus, the time needed for feature extraction for all database images and classification time was reduced significantly (from 48 hours to 3 hours, respectively from 2 seconds to less than one second). By changing the image database the application can be used in detection and recognition problems in many field of science and engineering.

CURRICULUM VITAE

Name and surname: Alexandru Mihu Date of birth: 16th of November 1986 Studies: High School: Colegiul Naional Lucian Blaga, Sebe Professional activity: Internship at RDS & RCS S.A., technical advisor Technical Knowledge: Advanced PC operating and programming skills: Microsoft Windows and Office suite; Pascal , FoxPro, C , C++ , C# , embedded C, Java. Electronical and mechanical CAD skills:OrCAD suite , AutoCAD

Known languages: English: Writing, Reading, Speaking: Very Good German: Writing: Acceptable, Reading: Acceptable, Speaking: Acceptable Contact address: Address: Str.Valea Frumoasei 5C/8, Sebe, Alba Telephone: 0746 041 672 E-mail address: [email protected] I the undersigned, Alexandru Ioan Mihu, declare that all the data in this Curriculum Vitae can be used by The Faculty of Electronics, Telecommunications and Information Technology of the Technical University of Cluj-Napoca, for promotional pourposes and professional orientation, in the following conditions: Without prior consult After prior consult I do not agree

Cuprins1. Stadiul actual............................................................................................................................... 1 2. Fundamentare teoretic .............................................................................................................. 2 2.1. Introducere ......................................................................................................................... 2 2.2 Transformata Wavelet continu i discret........................................................................ 3 2.2.1 Transformata Wavelet continu ................................................................................. 3 2.2.2 Transformata Wavelet discret .................................................................................. 3 2.2.3 Familii de wavelet-uri:............................................................................................... 5 2.2.4 Aplicaii ale wavelet-urilor ........................................................................................ 5 2.3 Transformata FFT............................................................................................................... 6 2.3.1 Definire transformat FFT......................................................................................... 6 2.3.2 Aplicaii ale transformatei FFT ................................................................................. 6 2.4 Transformata Radon............................................................................................................ 6 2.4.1 Definirea transformatei Radon .................................................................................. 7 2.4.2 Aplicaii ale transformatei Radon .............................................................................. 7 2.5 Caracteristicile Tamura ...................................................................................................... 8 2.5.1 Granularitatea............................................................................................................ 8 2.5.2 Contrastul................................................................................................................... 8 2.5.3 Direcionalitatea ........................................................................................................ 8 2.6 Polinoamele Zernike............................................................................................................ 9 2.6.1 Definirea polinoamelor Zernike................................................................................. 9 2.6.2 Aplicaii ale polinoamelor Zernike........................................................................... 10 2.7 Histograme multiscalare ................................................................................................... 10 2.8 Filtre orientate n patru direcii pentru obinerea "primelor 4 momente"........................ 10 2.9 Algoritmul KNN................................................................................................................ 10 2.9.1 Avantajele algoritmului KNN................................................................................... 11 2.9.2 Dezavantajele algoritmului KNN ............................................................................. 12 2.10 Fiiere MEX (MEX-files)................................................................................................. 12 3. Implementarea soluiei adoptate ............................................................................................... 13 3.1 Baza de imagini ................................................................................................................. 14 3.2 Metoda de extragere a caracteristicilor............................................................................ 15 3.2.1 Metoda de extragere a caracteristicilor din WND-CHARM.................................... 17

3.2.2 Metoda de extragere a caracteristicilor n lucrarea de fa.................................... 18 3.2.3 Evaluarea trsturilor n Weka............................................................................... 21 3.3.4 Evaluarea trsturilor n Matlab ............................................................................. 22 3.3 Determinarea parametriilor transformatei Wavelet ......................................................... 23 3.4 Modul de mprire a datelor pentru nvare i testare................................................... 24 3.5 mbuntirea performanelor........................................................................................... 25 3.5.1 Reducerea numrului de trsturi extrase din fiecare imagine.35 3.5.2 Transformarea aplicaiei ntr-un executabil ............................................................ 27 3.6 Interfaa grafic a aplicaiei ............................................................................................. 27 3.6.1 Extragerea trsturilor ............................................................................................ 28 3.6.2 Clasificarea imaginilor ............................................................................................ 28 3.6.3 Testarea clasificatorului KNN i cu alte imagini dect cele din baza de date ........ 28 4. Rezultate experimentale ............................................................................................................ 28 4.1 Rezultate experimentale Weka........................................................................................... 29 4.2 Rezultate experimentale din Matlab i din aplicaia executabil 5. Concluzii.................................................................................................................................... 35 6. Bibliografie................................................................................................................................ 37 7. Anexe ......................................................................................................................................... 39 7.1 Anexa 1 .............................................................................................................................. 39 Codul Matlab al funciei de transformare Wavelet...................................................................... 39 7.2 Anexa 2 .............................................................................................................................. 39 Codul Matlab pentru obinerea fiierului cu vectorul de trsturi............................................... 39 7.3 Anexa 3 .............................................................................................................................. 39 Codul Matlab al funciei de extragere trsturi ........................................................................... 39 7.4 Anexa 4 .............................................................................................................................. 41 Codul Matlab pentru obinerea fiierului cu liniile vectorului de caracteristici permutate......... 41 Codul Matlab pentru funcia prelucrarefisierIN........................................................................... 41 Codul Matlab pentru functia preiaDatelePtPrel........................................................................... 42 7.5 Anexa 5 .............................................................................................................................. 43 Codul Matlab pentru clasificarea KNN ........................................................................................ 43 7.6 Anexa 6 .............................................................................................................................. 44 Codul Matlab al aplicaiei GUI .................................................................................................... 44 Codul Matlab pentru metodele de extragere folosite n aplicaia GUI ........................................ 63 Codul Matlab pentru extracia trsturilor din fiecare imagine n funcie de metodele alese n aplicaia GUI................................................................................................................................. 64

Lista de figuriFigura 1.1 Schema procesului de recunoatere i clasificare automat a imaginilor ...................... 3 Figura 2.1 Arborele cu primele trei nivele de descompunere DWT(arborele Mallat) .................... 4 Figura 2.2 Arborele Mallat cu primele trei nivele de reconstrucie ale semnalului original........... 4 Figura 2.3 Familii de wavelet (a) Haar (b) Daubechies4 (c) Coiflet1 (d) Symlet2 (e)Meyer(f) Morlet(g) Mexican hat..................................................................................................................... 5 Figura 2.4 Cele dou forme ale transformatei Radon- ecuaia (7) i (9)........................................ 7 Figura 2.5 Valorile Zernike n unitatea de disc ............................................................................... 9 Figura 3.1 Imagini din baza de date .............................................................................................. 14 Figura 3.2 Schema bloc a metodelor de extragere a trsturilor ................................................... 15 Figura 3.3 Schema de formare a vectorului de trsturi din cadrul WND-CHARM.................... 17 Tabel 3.1 Metode de extragere a trsturilor analizate ................................................................. 20 Figura 3.5 Schema de formare a vectorului de trsturi................................................................ 20 Figura 3.6 Structura fiierului ARFF la modul general................................................................. 21 Figura 3.7 Structura fisierului ARFF utilizat n acest lucrare ..................................................... 21 Figura 3.8 Matricele de confuzie pentru nvare, respectiv testare.............................................. 22 Figura 3.9 Transformata Wavelet a unei imagini.......................................................................... 24 Figura 3.10 Schema bloc a clasificrii KNN................................................................................. 25 Figura 3.11 Schma bloc urmat de toolbox-ul deploytool ............................................................ 27 Figura 3.12 Interfaa grafic a lucrrii........................................................................................... 27 Figura 4.1 Matrice de confuzie Weka (numrul de vecini=1) ...................................................... 29 Figura 4.2 Matricele de confuzie pentru k=3 (a),.......................................................................... 29 Figura 4.3 Matricele de confuzie pentru setul de testare (k=1,3 i 5) obinute n Weka............... 30 Figura 4.4 Matricele de confuzie pentru setul de testare obinute n Matlab ................................ 30 Figura 4.5 Graficul timpului de clasificare n funcie de numrul de trsturi ............................. 31 Figura 4.6 Graficul timpului de clasificare n funcie de numrul de trsturi ............................. 31 Figura 4.7 Graficul timpului de extragere coeficieni n funcie de numrul de trsturi ............. 32 Figura 4.8 Graficul acurateii n funcie de numrul de trsturi .................................................. 35

Lista de tableleTabel 3.1 Metode de extragere a trsturilor analizate ................................................................. 20 Tabel 4.1 Rezultate obinute n Matlab ......................................................................................... 33 Tabel 4.2 Rezultate obinute prin transformarea aplicaiei ntr-un executabil .............................. 34

1. Stadiul actual Stadiul actual n ceea ce privete recunoaterea formelor i clasificarea automat a imaginilor este unul avansat, reuindu-se dezvoltarea unor aplicaii care au o acuratee a clasificrii foarte ridicat i un timp de clasificare sau de detecie foarte bun (detecie sau clasificare n timp real), i care ncet-ncet promit a se apropia ca performan de modul natural cu care fiina uman trateaz aceast problem. Imaginile digitale, stocarea ieftin i utilizarea acestora n tot mai multe domenii ale tiinei i ingineriei, au introdus o cretere a cererii de aplicaii de analiz i clasificare a imaginilor cu o precizie ct mai mare. Aceste aplicaii includ teledetecia, descris n [1], recunoaterea facial, despre care putei gsi informaii n [2], [3] sau [4] i clasificarea imaginilor medicale i biologice [5], [6], [7] sau [8]. Sistemele de vedere artificial sunt proiectate dup modelul sistemelor biologice, n special cel uman. n dezvoltarea unor astfel de sisteme ne lovim, de foarte multe probleme. Cea mai important dintre ele este imposibilitatea de a reproduce n sistemele artificiale, modul nostru de gndire. Pentru noi oamenii, recunoaterea unui obiect se face cu uurin, chiar dac acel obiect nu este vzut n ntregime, dar n general nu putem s explicm tiinific cum am reuit s realizm recunoaterea. Prin urmare, nu putem dezvolta un algoritm sau o tehnic de inteligen artificial care descrie iterativ i exact acest proces. Dei n ultimii ani au atras o atenie deosebit, analiza i clasificarea imaginilor sunt deocamdat considerate probleme competitive n sistemele de prelucrare i clasificare pe baza coninutului imaginilor (CBIR - Content Based Image Retrieval), datorit complexitii subiectului n ceea ce privete imaginile reale i dificultatea de extragere cantitativ a trsturilor de similitudine sau difereniere dintre imagini. Aceste trsturi pot include caracteristici de culoare, textur sau form, descriptori ce sunt obinui global prin extragerea informaiilor pe baza mediei histogramelor de culoare (pentru caracteristicile de culoare), pe baza granularitii, contrastului i directivitii imaginilor (pentru caracteristicile de textur) i pe baza trsturilor de curbur, momente invariante, circularitatea i excentricitatea imaginilor (pentru caracteristicile de form). Cu toate acestea, extragerea trsturilor din imagini se face diferit n funcie de detaliile particulare ale aplicaiei i performanele dorite. n lucarea de fa sunt propuse mai multe metode deja existente de extragere a caracteristicilor pentru formarea vectorului de trsturi i clasificarea imaginilor pe baza vectorului obinut. Scopul principal al acestei lucrri este testarea mai multor metode de extragere a trsturilor, nu neaparat obinerea unor performane superioare. Pentru a vedea eficiena metodelor de extragere s-a realizat clasificarea imaginilor pe baza vectorului de caracteristici prin intermediul clasificatorului IBk din Weka (echivalentul KNN- k nearest neighbor) i KNN implementat n Matlab. Pentru realizarea acestor obiective m-am inspirat din mai multe referine, dar cea mai semnificativ este metodologia de extragere a trsturilor pentru formarea vectorului de caracteristici din cadrul clasificatorului WND-CHARM (Weighted Neighbor Distances using a Compound Hierarchy of Algorithms Representing Morphology - distana ponderat dintre vecini utiliznd o ierarhie compus de algoritmi morfologici). Pentru mai multe detalii a se consulta [9]. Trsturile vectorului de caracteristici includ descompunerea polinomial (reprezentat de polinoamele Zernike), statisticile pixelilor (media, deviaia standard, oblicitatea, planitatea, histograme multiscalare) i caracteristicile de textur (contrast, granularitate i direcionalitate). Aceste caracteristici au fost extrase din imaginile pe nivele de gri, precum i din imaginile rezultate n urma transformatelor Wavelet (a imaginii pe nivele de gri i a transformatei FFTfast Fourier transform a imaginii pe nivele de gri). O alt transformat utilizat este transformata Radon a imaginii pe nivele de gri, care este folosit pentru extragerea informaiei spaiale. Metodele aplicate asupra imaginilor pentru formarea vectorului de trsturi fac parte din metodologia descris n [9]. Contribuia adus la formarea vectorului de trsturi const n

1

selectarea din varietatea de metode de extragere doar a celor care ofer o performan de clasificare mai ridicat. Pentru o aplicare eficient a transformatei Wavelet s-au stabilit valorile parametrilor (familia de wavelet i nivelul de descompunere wavelet). Celelate metode utilizate, precum i implementrile lor n Matlab pot fi descrcate gratuit i utilizate n scopuri tiinifice i de cercetare de pe site-ul: http://www.openmicroscopy.org. Vectorul de trsturi este utilizat apoi pentru clasificarea imaginilor de test ntr-un set de clase de imagini predefint (clasa maini, pietoni, animale i garbage) cu ajutorul utilitarului Weka. Deoarece apelarea din Matlab a utilitarului Weka este foarte complicat i datorit necesitii utilizrii unui clasificator n interfaa grafic realizat, s-a ales implementarea n Matlab a unui algoritm de clasificare. Astfel, luarea deciziei asupra clasei imaginii test s-a realizat cu algoritmul KNN. Din punct de vedere al evaluatorului s-a ales folosirea KNN deoarece este un clasificator rapid, eficient i uor de implementat. Pentru a nu permite clasificatorului s nvee inclusiv ordinea de preluare a imaginilor (deoarece clasificatorul prelua pe rnd cele patru clase) s-a realizat permutarea imaginilor din vectorul de caracteristici. Din punct de vedere aplicativ, lucrarea conine o interfa grafic dezvoltat cu ajutorul toolbox-ului GUIDE (Graphical User Interface Design Environment) din Matlab. Aceast aplicaie permite utilizatorului s selecteze diferite variante de formare a vectorului de trasturi, precum i posibilitatea testrii clasificatorului KNN cu alte imagini dect cele din baza de date. Vectorul de trsturi poate avea, n funcie de metodele alese, o dimensiune minim de 72 caracteristici i maxim de 318 caracteristici. Toate atributele sunt extrase pe baza imaginilor pe nivele de gri, astfel informaiile de culoare nefiind utilizate.

2. Fundamentare teoretic 2.1. Introducere n realizarea unei aplicaii de recunoatere a formelor i clasificare automat a imaginilor, dup cum se poate observa n figura 1.1, n general se parcurg urmatoarele etape: a) preprocesarea imaginii - etap n care se realizeaz mbuntirea calitii imaginilor prin aplicarea unor algoritmi DIP (digital image processing).[10] Deoarece imaginile din baza de date, format pentru acest lucrare, nu necesit alte mbunatiri ale calitii, n acest etap s-a realizat doar conversia imaginilor color n imagini pe nivele de gri. n multe situaii pentru clasificarea imaginilor sunt extrase pe lng trsturile de textur i de form, i cele de culoare. S-a renunat la aceste caracteristici deoarece nu se poate realiza o difereniere a claselor pe baza culorii. b) extragerea atributelor sau descriptorilor de imagine - reprezint etapa cea mai important deoarece influeneaz n mod direct performanele de clasificare.[10] Tipul trsturilor folosite n clasificare i descrise n aceast lucrare se mpart n trei categorii: descompunere polinomial, statisticile pixelilor i textura. n descompunerea polinomial este generat un polinom ce aproximeaz imaginea n funcie de gradul de fidelitate, iar coeficienii acestui polinom sunt utilizai ca descriptori ai coninutului imaginii. Trsturile de textur se refer la variaia n intensitate ntre pixelii imaginii pentru diferite direcii i rezoluii. Statisticile pixelilor se bazeaz pe distribuia pixelilor din imagine i includ histograme i momente. n aceast etap, pentru extragerea trsturilor, asupra imaginilor s-a aplicat transformata Wavelet (transformata Wavelet a imaginii pe nivele de gri i a transformatei FFT a imaginii pe nivele de gri), iar din rezultatele obinute au fost extrase caracteristicile de statistic a pixelilor("primele 4 momente", histogramele multiscalare) i de textur (caracteristicile Tamura). Din imaginile originale (imaginile pe nivele de gri), fr a aplica asupra acestora nici o transformat, sunt extrase caracteristicile de statistic a pixelilor i de textur menionate mai sus, precum i cele de descompunere polinomial (polinoamele Zernike). Din vectorul de

2

trsturi mai fac parte i rezultatele obinute n urma transformatei Radon a imaginii pe nivele de gri. c)evaluarea atributelor sau descriptorilor - este o etap n care sunt evaluate datele din vectorul de caracteristici i care are ca rezultat n mod obinuit, o valoare numeric unidimensional sau multidimensional (un vector), care relev distana vectorului de trsturi fa de graniele regiunilor sau fa de "bornele de clasificare".[10] Evaluarea atributelor s-a realizat cu ajutorul clasificatorului KNN, prin testarea evaluatorului cu datele de nvare. d) clasificarea imaginii - este etapa care mbin rezultatele msurtorilor multiple anterioare, i totodat etapa final. Prin clasificare se stabilete apartenena formei, obiectului sau imaginii - descris prin vectorul de trsturi, la un setul de clase de imagini predefinite.[10] Clasificarea imaginilor de test, precum i stabilirea atributelor imaginilor care ne ofer cea mai bun performan s-a realizat cu ajutorul algoritmului KNN.

Figura 1.1 Schema procesului de recunoatere i clasificare automat a imaginilor[10] 2.2 Transformata Wavelet continu i discret 2.2.1 Transformata Wavelet continu Transformata wavelet continu (CWT- continuous wavelet transform) este folosit la mprirea funciilor de timp continue n unde mai mici. Ecuaia transformatei wavelet continu este urmtoarea: XWT(,s)= ) ( ||

(1)

unde x(t) este semnalul ce trebuie analizat, (t) este wavelet-ul mam sau funcia de baz [11]. Toate funciile folosite n transformare sunt derivate din funcia de baz prin translatare (shiftare) i scalare (dilatare sau compresie). Parametrul de translaie se refer la locaia funciei wavelet n timpul parcurgerii semnalului, acesta corespunznd informaiei de timp a transformatei. Parametrul de scalare s este definit ca |1/frecven| i corespunde informaiei de frecven. Scalarea fie dilateaz (extinde) sau comprim semnalul. n prelucrrile de imagini, de obicei, se dorete compresia lor, pentru ca timpul necesar prelucrrii s fie ct mai redus. Pe o scar larg de frecvene joase semnalul este dilatat, fiind furnizate detaliile ascunse din semnal, n timp ce pe o scar redus (frecvene nalte) semnalul este comprimat, furnizndu-se informaia global referitoare la semnal. Transformata Wavelet realizeaz convoluia semnalului i prelucrarea acestuia cu funcia de baz. 2.2.2 Transformata Wavelet discret Transformata Wavelet discret (DWT- discrete wavelet transform) este o versiune simplificat a transformrii wavelet continu, bazat pe codarea n sub-band. Avantajul acestei transformate const n simplitatea implementrii, reducerea timpului de execuie i nivelul mai sczut de resurse necesare. La transformata CWT, semnalele sunt analizate folosind un set de funcii de baza care

3

realizeaz o simpl scalare i translaie. n cazul transformatei DWT, o reprezentare n domeniul timp a unui semnal digital este obinut prin utilizarea tehnicilor de filtrare digital, semnalul (imaginea) ce trebuie analizat fiind trecut prin filtre cu diferite frecvene de tiere la nivele diferite. Transformata DWT este realizat prin filtrri trece jos i filtrri trece sus succesive, ale unui semnal discret n domeniul timp (figura 2.1).

Figura 2.1 Arborele cu primele trei nivele de descompunere DWT(arborele Mallat)[11] n figura de mai sus, semnalul este notat cu x[n], unde n este un numr ntreg, filtrarea trece jos este realizat de blocul G0, la ieirea lui obinnd aproximarea grosier a coeficienilor(notat a[n]) , iar filtrarea trece sus este realizat de H0, la iesire obinnd informaia detaliat (notat d[n]). Filtrele care mpart banda n jumtate produc semnale ce ocup doar jumtate din banda de frecven. Filtrarea i descompunerea vor continua pn cnd se ajunge la nivelul dorit, numrul maxim de nivele de descompunere depinznd de lungimea semnalului (dimensiunea imaginii). Reconstrucia semnalului original pe baza coeficieniilor transformatei DWT este procesul invers descompunerii (figura 2.2).

Figura 2.2 Arborele Mallat cu primele trei nivele de reconstrucie ale semnalului original[11] n Figura 2.2, d[n] reprezint coeficienii de detaliu ai semnalului, a[n] aproximrile grosiere, iar blocurile H1 i G1 reprezint filtrele trece sus, respectiv filtrele trece jos de sintetizare a semnalului original. Procesul de reconstrucie al semnalului original continu pn cnd este atins numrul de nivele de descompunere ale semnalului.

4

Condiiile ce trebuie ndeplinite pentru a avea o reconstrucie perfect sunt: G0(z)*G1(z)+H0(z)*H1(z)=2 (3) unde G0(z) i G1(z) sunt filtrele trece jos de analiz, respectiv de sintez, iar H1(z)i H0(z) sunt filtre trece sus de analiz, respectiv de sintez[11]. Prima condiie impune ca reconstrucia s se fac fr alias, iar cea de-a doua condiie impune ca distorsiunile de amplitudine sa aib valoarea egal cu 1. 2.2.3 Familii de wavelet-uri: Exist un anumit numr de funcii de baz care pot fi folosite ca funcii mam pentru transformata wavelet, dar pentru utilizarea eficient a acestora, trebuie luate n considerare detaliile particulare ale aplicaiei care folosete wavelet-uri. Principalele familii de wavelet-uri: G0(-z)*G1(z)+H0(-z)*H1(z)=0 (2)

Figura 2.3 Familii de wavelet (a) Haar (b) Daubechies4 (c) Coiflet1 (d) Symlet2 (e) Meyer (f)Morlet (g) Mexican hat [11] Figura 2.3 ilustreaz cele mai utilizate funcii wavelet. Wavelet-ul Haar este unul din cele mai vechi si simple wavelet-uri, de aceea orice discuie despre wavelet-uri ncepe cu acesta. Pentru mai multe detalii legate de principalele tipuri de wavelet-uri a se consulta [12]. 2.2.4 Aplicaii ale wavelet-urilor Exist o gam larg de aplicaii pentru transformarea wavelet, ele fiind utilizate n diferite domenii, de la procesarea semnalelor pn la domeniul biometriei. Wavelet-urile au un rol important n compresia datelor, n vederea mbunatirii performanelor de prelucrare a imaginilor (de compresie a imaginilor). FBI utilizeaz waveleturile ca i compresie standard a amprentelor, pentru stocarea lor n baza de date. Dintre principalele tipuri de transformate aplicate imaginilor n vederea compresiei lor (ex. transformata cosinus discret, transformata Fourier discret 2D etc.), transformata wavelet asigur asigur o foarte bun rat de compresie. Transformata Wavelet este aplicat n aceast lucrare pe imaginile pe nivele de gri, precum i pe imaginea obinut n urma aplicrii transformatei FFT asupra imaginii pe nivele de gri. Parametrii transformatei, nivelul de descompunere i familia wavelet, au fost stabilii parcurgnd urmtoarele etape:

5

a) extragerea trsturilor imaginilor din baza de date cu metoda I (vezi figura 3.5 pentru mai multe detalii) pentru diferite nivele de descompunere wavelet (36) i pentru diferite familii de wavelet-uri. b) clasificarea imaginilor pe baza vectorului de trsturi obinut prin metoda de mai sus pentru a observa care nivel, respectiv familie wavelet ofer o performan de clasificare ct mai bun. Wavelet-urile sunt folosite att n metoda I de extragere a trsturilor (reprezentat de metoda descris mai sus), precum i n metoda II de extragere a trsturilor (vezi figura 3.5) 2.3 Transformata FFT FFT este abrevierea din limba englez pentru fast Fourier transform (transformata Fourier rapid), fiind un algoritm eficient de calcul al transformatei DFT - discrete Fourier transform (transformata Fourier discret), precum i a inversei sale IDFT (inverse discret Fourier Transform). 2.3.1 Definire transformat FFT FFT produce exact aceleai rezultate ca i DFT, singura diferen fiind reprezentat de rapiditatea transformatei FFT. Fie , , , , numere complexe. Transformata DFT este definit de urmtoarea formul: ( + 1) = )1 + ( , k=0,1, ,N-1 (4), iar inversa ei IDFT este: ( + 1) = ( + 1) , n=0,1, ,N-1 (5),

unde j este unitatea imaginar, = i N= lungime(x) [13]. Evalund ecuaia (4), observm c aceasta necesit operaii: sunt N ieiri i fiecare ieire necesit o sum de N termeni. Transformata FFT reprezint orice metod de obtinere a aceluiai rezultat ca i DFT n N log N operaii. Pentru mai multe informaii legate de transformata FFT i tipurile de algoritmi FFT a se consulta [13],[14] sau [15]. n lucrarea de fa transformata FFT este utilizat n cadrul metodei II de extragere a trsturilor, fiind aplicat asupra imaginii pe nivele de gri, iar apoi asupra acesteia se va aplica transformata Wavelet (vezi figura 3.5 pentru mai multe detalii). 2.3.2 Aplicaii ale transformatei FFT Aplicaiile transformatei FFT sunt urmatoarele: - aproximri pe baza polinoamelor trigonometrice, compresia datelor (ex. MP3) - analiza spectral a semnalelor - filtrare - rspunsul n frecven a unui sistem - ecuaiile parial difereniale - convoluia n domeniul frecven: - intercorelare - multuplicarea de numere ntregi mari - multiplicarea simbolic a polinoamelor 2.4 Transformata Radon Transformata Radon i transformata Hough sunt strns legate una de cealalt, Radon fiind o form particular a transformatei Hough.

6

2.4.1 Definirea transformatei Radon O reprezentare util a unei drepte este ecuaia sa n coordonate polare: )6( = + unde unde reprezint distana dintre dreapt i origine, iar este unghiul dintre axa x pozitiv i dreapta [16]. Transformata Radon se definete ca integral de-a lungul unei drepte inclinate cu unghiul fa de axa x pozitiv i situat la distana fa de origine [17]. Se noteaz n general cu g(, ). g(, )= ()7() + () , unde reprezint funcia Dirac i este ilustrat n [16] astfel: +, 0 = ( = ) (8) 0 ,0

Figura 2.4 Cele dou forme ale transformatei Radon- ecuaia (7) i (9)

[17][18]

Ecuaia ilustrat n [17]: g(, )= (,)9() + , este echivalent cu ecuaia (2), fiind obinut prin rotirea axelor de coordonate cu unghiul , unde: + = = + = + = (10) Transformata Radon reprezint o imagine ca un set de proiecii de-a lungul diferitor direcii, realiznd legtura dintre spaiul de coordonate (x,y) i spaiul proieciilor (, ). Transformata Radon calculeaz proiecia intensitii pixelului pe o linie radial din centrul imaginii la un unghi specificat. Aceasta este utilizat, de obicei, pentru extracia informaiei spaiale unde pixelii sunt corelai la un unghi specific. n metoda de extragere caracteristici propus, trsturile Radon sunt calculate pentru unghiurile 0, 45, 90 i 135. Apoi, fiecare set de valori rezultat este transformat ntr-o histogram cu trei benzi, rezultnd astfel un vector cu 4x3=12 valori. Transformata Radon este calculat pentru imaginea pe nivele de gri i mpreun cu "histogramele multiscalare", "primele 4 monemte " i caracteristicile Tamura formeaz metoda III de formare a vectorului de trsturi (vezi figura 3.5 pentru mai multe detalii). 2.4.2 Aplicaii ale transformatei Radon Transformata are aplicaii n mai multe domenii cum ar fi: - domeniul medical, n cazul tomografiei compiuterizate - seismologie, n cazul reflexiei seismice - ultramicroscopia ansamblurilor macromoleculare, cum sunt proteinele i viruii - n rezolvarea ecuaiilor hiperbolice parial difereniale

7

- detecia de form 2.5 Caracteristicile Tamura Dintre proprietaile Tamura folosite n acest proiect se numar: - granularitatea - contrastul - direcionalitatea. Aceste trsturi au fost selectate de Tamura, Mori i Yamawaki pe baza experimentelor psihologice. 2.5.1 Granularitatea se refer la distana dintre variaiile spaiale notabile a nivelelor de gri. Procedura compiutaional propus, consider diferenele dintre valoarea medie a semnalelor corespunztoare ferestrelor de diferite dimensiuni care nu se suprapun, urmrind paii de mai jos : 1. Pentru fiecare pixel (x,y), calculeaz ase valori medii pentru ferestrele de dimensiunea 2k 2k, k=0,1,...,5 n jurul fiecarui pixel. 2. Pentru fiecare pixel, calculeaz diferena absolut Ek(x,y) dintre perechile valorilor medie ce nu se suprapun n direciile: orizontal i vertical. 3. Pentru fiecare pixel, caut valoarea lui k ce maximizeaz diferena Ek(x,y) n orice direcie i seteaz dimensiunea cea mai buna Sbest(x,y)=2k. 4. Calculeaz trstura de granularitate Fcrs prin medierea Sbest(x,y) asupra ntregii imagini. 2.5.2 Contrastul relev modul n care nivelele de gri q, q=0,1,..., qmax, variaz ntr-o imagine g i a cror distribuie este direcionat spre alb i negru. Pentru definirea contrastului se folosesc momentele centrale de ordinul al doilea i cele normalizate de ordinul al patrulea, reprezentate de variana standard - , respectiv indicele de aplatizare - 4: = (11), unde = (12); = ( ) Pr (13); = () Pr ( )41( )/i m este media nivelelor de gri.[19] 2.5.3 Direcionalitatea Gradul de direcionalitate este msurat folosind distribuia spectral a muchiilor locale orientate fa de unghiurele direcionale ale acestora. Soloditatea muchiei e(x,y) i unghiul direcional a(x,y) sunt calculate folosind detectorul de muchii Sobel, aproximnd "pixel-wise" x i derivata y a imaginii: (|(5.0 = ) ,( + |) , () , (15) ) (/) ,()61( )) , ( = ) , (

n ecuaiile de mai sus x(x,y) i y(x,y) sunt diferenele pe vertical i orizontal a nivelelor de gri dintre pixelii vecini [19]. Diferenele sunt msurate utiliznd urmtorii operatori fereastra de dimensiune 3x3 [19]: 1 0 1 1 1 1 1 0 1 0 0 0 1 0 1 1 1 1 O histogram Hdir(a) a valorilor direciei cuantizate a este construit prin numrarea numrului de pixeli muchie care un anumit unghiul direcional i soliditatea muchiei mai mare dect un prag predefinit. Histograma este relativ uniform pentru imaginile fr o orientare

8

accentuat i evideniaz vrfurile pentru imaginile cu un grad al direcionalitii ridicat. Gradul direcionalitii este legat de ascuimea vrfurilor: n ecuaia (17) este numrul de vrfuri, ap este poziia vrfului p, wp este gama de unghiuri atribuite vrfului p, r indic un factor de normalizare legat de nivelele de cuantizare ale unghiului a, i a este unghiul direcional cuantizat (n modulo 180o).[19] Aceste proprieti texturale Tamura sunt calculate pe imaginea pe nivele de gri astfel: - 3 valori: contrastul, direcionalitatea i granularitatea - o histogram a granularitii cu 3 benzi Astfel, rezult astfel un vector de caracteristici cu 6 valori. Trsturile Tamura sunt utilizate n acest lucrare n cadrul metodelor I, II i III de extragere a trsturilor (vezi Figura 3.5). 2.6 Polinoamele Zernike Polinomele Zernike au fost dezvoltate la nceputul secolului XX de ctre fizicianul german Frits Zernike (faimos pentru invenia microscopului faz-contrast, pentru care a cstigat premiul Nobel pentru Fizic n 1953). = 1 () (17),

Figura 2.5 Valorile Zernike n unitatea de disc [20] 2.6.1 Definirea polinoamelor Zernike Aceste caracterisitici Zernike sunt un set de polinoame definite pe unitatea de disc (figura 2.5), ce pot fi reprezentate att n sistemul cartezian (x,y), ct i n coordonate polare (r,). Cea mai utilizat form, este descris n [21] ca fiind cea polar: , = + 1 ( 2)cos( q) , 0 (18) , = + 1 ( 2)sin( q) , 0 (19) = + 1 ()02( 0 = ,) unde ()()! ( )/ ( = ) (21) !

Valorile lui m i n sunt ntotdeauna ntregi i satisfac condiile mn i n-m=impar. Indexul j reprezint modul de ordonare al numerelor, fiind o funcie j(m,n). Condiia de ortogonalitate pentru polinoamele Zernike ilustrat n [21] este: () ,)22( = 9

!

!

unde:

2.6.2 Aplicaii ale polinoamelor Zernike

, 1 ( = ) (23) 0, 1 >

Baza acestor funcii este definit pe o suprafa circular, caracteristic planelor pupilelor n procesarea clasic de imagini, pentru lungimi de und optice i inflaroii, printr-un sistem de lentile i oglinzi cu un diametru finit. Descompunera polinomial Zernike este utilizat n urmtoarele domenii: - prelucrare optic, pentru a caracteriza erorile observate n analizele interferometrice, cu scopul de a obine performana dorit. -optometrie i oftalmologie, la descrierea devierii corneei sau lentilelor pentru o form ideal sferic, care au ca rezultat erori de refracie. - optica adaptiv, la nlturarea distorsiunilor atmosferice. Aplicaiile n acest domeniu sunt astronomia IR (inflarou) sau vizual i pentru redarea imaginilor din satelit. De exemplu, unul dintre factorii Zernike (pentru m=0 i n=2) este denumit "de-focus". Prin cuplarea iesirii acestui factor la un sistem de control, poate fi implementat o focalizare automat. [21] Coeficienii Zernike sunt valori complexe, n descrierea imaginilor folosindu-se valoarea absolut a acestora. Polinoamele Zernike sunt aplicate asupra imaginii pe nivele de gri, constituind metoda IV de extragere a trsturilor (pentru mai multe detalii vezi figura 3.5). 2.7 Histograme multiscalare Pentru acest set de trsturi sunt calculate histograme cu un numr variabil de benzi (3,5,7 i 9), dup modelul propus n [9]. Fiecare domeniu de frecvene corespunde unei histograme diferite, i astfel numrul variabil de benzi permite msurarea coninutului ntr-un domeniu de frecvene foarte larg. Maximul histogramelor este folosit pentru normalizarea vectorului de caracteristici rezultat, care are un numr de 1x24 elemente. Histogramele multiscalare sunt aplicate asupra transformatei Wavelet, transformatei FFT i asupra imaginii originale (imagine pe nivele de gri) contribuind astfel cu un numr total de 3x24 elemente la formarea vectorului de trsturi al imaginilor. Histogramele multiscalare sunt utilizate n cadrul metodelor I, II i III de formare a vectorului de trsturi.(pentru mai multe detalii vezi figura 3.5) 2.8 Filtre orientate n patru direcii pentru obinerea "primelor 4 momente" Pentru acest set de trsturi, imaginea este subdivizat ntr-un set de "dungi" n patru orientri diferite (0, 90, +45 i 45). "Primele 4 momente" (media, deviaia standard, oblicitatea i planitatea ("kurtosis") ) sunt calculate pentru fiecare "dung" i fiecare set de "dungi" este transformat ntr-o histogram cu 3 benzi. Avnd astfel patru momente n patru direcii cu histograme cu trei benzi, rezult un vector de trsturi care conine 4x4x3=48 elemente.[9] "Primele 4 momente" sunt utilizate, lafel ca i histogramele multiscalare n cadrul metodelor I, II i III de extragere a trsturilor din imaginea original. 2.9 Algoritmul KNN KNN este abrevierea din limba englez pentru K-Nearest Neighbor (cei mai apropiai k vecini), fiind un algoritm de nvaare supervizat utilizat n special n problemele de clasificare. Scopul acestui algoritm este acela de a clasifica un nou obiect pe baza atributelor sale n fincie de setul de date de antrenare cunoscut.

10

Prin aceast tehnic, folosit n special pentru clasificarea datelor n mai multe posibile clase, un obiect nou este clasificat pe baza majoritii voturilor vecinilor si, fiindu-i atribuit clasa cea mai frecvent ntlnit printre cei k cei mai apropiai vecini. Acei k cei mai apropiai vecini se aleg pe baza distanei minime dintre obiect i toate celelalte obiecte din setul de date de antrenare (setul de date cunoscut). Fiecare obiect este reprezentat n setul de date printr-un vector de trsturi, care n cazul imaginilor poate s conin caracteristici de form, de textur sau de culoare. Exist mai multe tipuri de distane folosite pentru calculul distanei minime dintre noul vector i vectorii din setul de date: - distana euclidian - distana euclidian standardizat - distana city block (Manhattan) - distana cosinus - distana coeficientului de corelaie (distana Pearson r) - distana hamming - distana Maholonobis - distana Minkowski - etc Cea mai frecvent distan utilizat n cadrul acestui algoritm este distana euclidian. Fiind dat o matrice X de dimensiune [mxn], care conine "m" vectori linie (vectorii de trasturi de dimensiune [1xn]) , ,, , unde =( , ,, ), putem defini metricile (distanele) dintre dou obiecte (doi vectori) oarecare i (r,s=1m) dup cum sunt ilustrate i n [22], astfel: - distana euclidian: =( )( ) = ( ) (24) - distana euclidian standardizat = ( ) ( ) , unde D este matricea diagonal, ce are ca elemente dispersia vectorului =(, , ), notat , rezultnd: - distana city block (Manhattan) =| | - distana cosinus = 1

=

( )

(25)

(26)

- distana coeficientului de corelaie (distana Pearson r)()()()()

- etc, pentru mai multe tipuri de metrici a se consulta [22] Pentru a ntelege i mai bine funcionarea algoritmul KNN pe un exemplu numeric a se consulta consulta [24]. 2.9.1 Avantajele algoritmului KNN Unul dintre avantajele sale este uurina implementrii, fiind unul dintre algoritmii de clasificare cei mai uor de nteles.

1=

()()

(27) , unde = (28)

()()

11

O alt calitate a acestei tehnici este eficacitatea sa, n cazul n care, setul de date de antrenare este afectat de zgomot (n special n cazul n care se foloseste ca metric inversul ptratului distanei ponderate). Obinerea distanei ponderate se face prin ierarhizarea fiecrei trsturi n funcie de scopul propus. Astfel distana euclidian ponderat va avea urmatoarea expresie: = ( ) (29), unde =1, iar este ponderea atributului (caracteristicii) i [23] . A nu se confunda ponderarea atributelor cu ponderarea distanelor. O metod foarte ntlnit de ierarhizare a distanelor, este aceea de a-i da fiecarui vecin o pondere de 1/d , unde d este distana pna la vecin. Astfel vecini mai apropiai vor avea o contribuie mai mare la clasificarea unui obiect. Studiile au aratat c ponderarea distanelor nu mbuntete performanele algoritmului KNN. 2.9.2 Dezavantajele algoritmului KNN La aplicarea algoritmului KNN n practic ne lovim de urmtoarele probleme: a)"Ce metric utilizm pentru performane ct mai bune?" b)"Care este valoarea optim pentru k?" c)"Trebuie s folosim toate atributele sau numai anumite atribute ale obiectelor?" Toate aceste probleme au ca efect cresterea timpului de clasificare. Timpul de clasificare depinde n special de numrul de obiecte din setul de date. Pentru seturile de date cu un numr foarte mare de obiecte este necesar o reducere a numrului de atribute pentru fiecare obiect n etapa de preclasificare, prin alegerea unor puncte cheie care s diferenieze ntre ele ct mai bine posibil instanele setului de date. k optim se obine prin testarea algoritmului de mai multe ori, modificnd numrul de vecini. Costul de calcul este destul de mare, deoarece trebuie s calculm distana dintre o noua instana i fiecare instan din setul de antrenare. Acest cost poate fi redus prin utilizarea metodei "K-D tree".[25] Pentru a vedea eficacitatea metodelor de extragere a caracteristicilor, n aceast lucrare sa folosit clasificatorul KNN. Am ales acest algoritm datorit simplitii lui, a performanelor bune de clasificare, att n ceea ce privete acurateea ct i a timpului de clasificare. 2.10 Fiiere MEX (MEX-files) MEX este abrevierea din limba englez pentru MATLAB Executable (executabile Matlab). Fiierele MEX sunt subrutine dinamice realizate n mediile de programare C, C++ sau Fortran, coduri surs care compilate pot fi rulate din Matlab n acelai mod cum sunt rulate i fiierele M (M- files) sau orice alt funcie care este deja implementat n Matlab. Funciile externe de interfaare realizeaz transferul de date ntre MEX- files i Matlab, oferind totodat i posibilitatea de a chema funcii Matlab din programele C, C++ sau Fortran. Principalele motive de a creea n loc de un M-file un MEX- file sunt urmtoarele: - abilitatea de a apela o gam larg de rutine C, C++ sau Fortran deja existente direct din Matlab fr a fi nevoii s le rescriem ca un M -files - viteza de execuie; putem rescrie programele care folosesc de exemplu bucle FOR ca i MEXfiles pentru eficien. Pentru mai multe detalii legate de realizarea MEX- files a se consulta [26]. n aceast lucrare MEX- files sunt folosite pentru calculul polinoamelor Zernike ale unei imagini, precum i pentru implementarea clasificatorului KNN. Aceste MEX- files sunt realizate de dezvoltatorii clasificatorului WND-CHARM, respectiv de Roger Jang i pot fi descrcate gratuit de pe site-urile: http://www.openmicroscopy.org, respectiv http://mirlab.org/jang/matlab/toolbox/dcpr/.

12

3. Implementarea soluiei adoptate Scopul lucrrii de fa este acela de a testa diferite caracteristici care s codeze cel mai bine imaginile din baza de date i nu neaparat clasificarea acestora. Totui, pentru a verifica eficiena metodelor de extragere a trsturilor s-a folosit clasificatorul KNN. n general, un sistem de recunoatere al obiectelor trebuie s: 1- extrag atributele care grupez imaginile ntr-o anumit clas i difereniaz imaginile din clase diferite 2- s clasifice aceste atribute 3- s elimine alarmele false - de aceea avem clasa garbage 4- n cazul deteciei obstacolelor s identifice clasa imaginii pe baza acestor atribute 5- s urmreasc obiectele de-a lungul scenei rutiere pn n momentul n care se pierd n afara ei i nu mai reprezint nici un pericol (modul de "tracking" (urmrire)). n aceast lucrare s-a presupus c obiectele sunt deja segmentate (detectate), baza de date fiind format din imagini care ncadreaz doar obiectele i nu din scene ntregi de mai multe obiecte. Astfel, n aceast lucrare este tratat numai modul de extragere al atributelor pentru clasificare, precum i clasificarea obiectelor. La nceput s-a ncercat extragerea caracteristicilor din imagini numai pe baza transformatei Wavelet. Imaginile din baza de date au diferite dimensiuni (unele ilustreaz obiecte mai apropiate avnd implicit dimensiuni mai mari- maxim 434x768 pixeli, altele obiecte mai deprtate, avnd dimensiuni mai mici- minim 89x69 pixeli), iar pentru clasificare este necesar obinerea unui numr fix de caracteristici pentru fiecare imagine. Din aceast cauz, nainte de a aplica transformata Wavelet asupra imaginilor este necesar redimensionarea lor la aceleai valori. Rezultatele obinute n urma clasificrii KNN a imaginilor nu au fost satisfctoare. Din acest motiv s-a renunat la redimensionare i s-a ncercat gsirea unor metode de extragere a trsturilor care prin aplicarea lor asupra imaginilor s returneze un numr fix de coeficieni indiferent de dimensiunea imaginii. Sistemele de clasificare folosesc diferite caracteristici pentru definirea obiectelor din imagini. Aceste caracteristici reprezint ablonul (pattern-ul) obiectului, iar sabloanele obiectelor care aparin mai multor clase vor fi eseniale pentru procesul de invare i testare al sistemului. Pentru obinerea caracteristicilor s-au folosit o serie de transformri, combinaii de transformri i de metode de extragere: - transformata Wavelet - transformata FFT - transformata Radon - caracteristicile Tamura - histogramele multiscalare - filtre orientate n patru direcii pentru obinerea "primelor 4 momente" - polinoamele Zernike. n pasul de clasificare, algoritmul de evaluare se bazeaz pe calculul de distane ntre vectorii de caracteristici corespunztori obiectelor. Pentru a detecta i a recunoate caracteristicile altor obiecte noi, sistemul trebuie nvat apriori cu aceste abloane prin intermediul caracteristicilor extrase. Sistemul odat nvat, poate fi folosit doar pentru testare, iar dac se dorete adugarea de noi instane n setul de antrenare, se va mai trece nc o dat prin etapa de nvare. Astfel, au fost studiate metodele de extragere enumerate mai sus pentru formarea setului de antrenare i testare. Acestea sunt utilizate de clasificator (KNN) pentru a se realiza recunoaterea automat obiectelor. n lucrare de fa s-a utilizat algoritmul de clasificare KNN, datorit simplitii implementrii i al performaelor bune de clasificare.

13

3.1 Baza de imagini Baza de imagini este construit din 800 de imagini color, mprite n patru clase dup cum urmeaz: - 200 de imagini cu maini - 200 de imagini cu pietoni - 200 de imagini cu animale (cini, pisici, vaci, oi, cai) - 200 de imagini alctuind clasa "garbage". Baza de date a fost preluat de pe internet din diferite baze de imagini disponibile gratuit pe site-ul http://pascallin.ecs.soton.ac.uk/challenges/VOC/databases.html, deoarece nu a mai fost creat pn acum o astfel de baz de imagini. Dup cum se poate observa n figura 3.1 imaginile au fost selectate manual i au fost extrase doar obiectele de interes din acestea. Apoi imaginile au fost transformate n imagini pe nivele de gri. n figura de mai jos sunt ilustrate diferite imagini din fiecare clas:

Figura 3.1 Imagini din baza de date Dup ce caracteristicile au fost extrase din imagini, ele au fost introduse n clasificator pentru a realiza clasificarea imaginilor n cele patru clasele. Dup cum se poate observa n figura 3.1, imaginile care alctuiesc clasa garbage au fost obinute din fundalul imaginilor celorlalte clase. Aceast clas este util la detectarea alarmelor false, cnd imaginea nu face parte din nici una din clasele maini, pietoni sau animale. n general pentru crearea unei baze de imagini care s fie ct mai bun, sunt respectate urmtoarele principii:

14

- toate imaginile s fie realizate cu aceleai procedee (s fie realizate cu acelai aparat de fotografiat sau camer de filmat) - parametrii mijloacelor de captare a imaginilor s fie identici pentru toate imaginile - s aibe un numr de imagini care s permit obinerea unor rezultate de clasificare satisfctoare. Deoarece nu a mai fost creat o baz de imagini ca i cea utilizat n lucrarea de fa i realizarea unei astfel de baze de imagini necesit foarte mult timp, au fost folosite imagini care fac obiectul altor baze de date. Bine neles c baza de imagini format, nu este la fel de bun ca cea care respect principiile enumerate mai sus. 3.2 Metoda de extragere a caracteristicilor Dup crearea bazei de imagini, s-a realizat extragerea caracteristicilor din imagini prin intermediul diferitor transformate de imagini (transformata Wavelet, transformata FFT, transformata Radon) i alte moduri de extragere ("primele 4 momente", histograme multiscalare, caracteristicile Tamura - granularitatea, contrastul i direcionalitatea, i polinomurile Zernike). Dup cum se poate observa n figura 3.2, aceste transformate i celelalte procedee de extragere a caracteristicilor enumerate anterior, sunt distribuite n patru metode de extragere a caracteristicilor, astfel:

Figura 3.2 Schema bloc a metodelor de extragere a trsturilor

15

Metodele de extragere a trsturilor, dup cum se poate vedea n figura 3.2, au fost denumite metoda I, metoda II, metoda III i metoda IV pentru ca referirea la acestea s se realizeze mult mai uor. Privind figura 3.2 se poate observa c metoda I i metoda II difer ca i structur numai prin prizma imaginilor pe care sunt aplicate (metoda I se aplic pe imaginea obinut n urma transformatei Wavelet a imaginii pe nivele de gri, iar metoda II pe cea obinut n urma transformatei Wavelet a transformatei FFT). Numrul de trsturi obinute prin aplicarea acestor dou metode este acelai indiferent de imaginea pe care sunt aplicate (imagine pe nivele de gri, cea rezultat n urma transformatei Wavelet sau cea rezultat n urma transformatei Wavelet a transformatei FFT) i indiferent de dimensiunea acesteia, doarece cele trei blocuri "primele 4 momente", histograme multiscalare i caracteristicile Tamura contribuie cu un numr fix la formarea vectorului de caracteristici (48, 24, respectiv 6). Astfel, asupra transformatei Wavelet a imaginii, ct i asupra transformatei Wavelet a trasnformatei FFT, se vor aplica urmtoarele funcii de compresie a numrului de coefieni: a) Histogramele multiscalare - funcie care transform imaginea de intrare n patru tipuri de histograme, cu 3, 5, 7 i 9 benzi, rezultnd astfel 24 de valori. Aceste valori sunt normalizate cu maximul lor. b) "Primele 4 momente" - funcie care returneaz un numr de 48 de coeficieni, prin parcurgerea imaginii: - pe diagonal (att din strnga jos pna n dreapta sus, ct i din dreapta jos pn n stnga sus) cu un pas care depinde de valoarea rotujit a mpririi dimensiunii pe verical a imaginii la zece (round(dim_verticala/10)). La fiecare pas se calculeaz valoarea mediei, deviaiei standard, oblicitii i planitii pixelilor parcui. Coloanele matricei astfel obinut (care are stocate pe fiecare linie cele patru valori menionate) sunt transformate n histograme cu 3 benzi, rezultnd un numr de 4x3=12 atribute pentru fiecare imagine. - pe orizontal i pe vertical, cu deosebirea c fa de parcurgerea pe diagonal cea realizat pe orizontal se va face cu un pas care depinde de dimensiunea vertical a imaginii, iar cea vertical se va face cu un pas care depinde de dimensiunea orizontal a imaginii. n rest se procedeaz la fel ca i la parcurgerea pe diagonal. Aadar, pentru cele patru parcurgeri (dou pe diagonal, una pe vertical i una pe orizontal) se obin un numr de [4 parcurgeri]x[4 coloane]x[3 benzi ale histogramelor]=48 trsturi pentru orice imagine asupra creia s-a aplicat aceast metod de reducere a trsturilor. c) Trsturile Tamura care se compun din directionalitatea imaginii, contrastul, granularitatea i o histogram a granulitaii cu 3 benzi. Pn acum au fost trecute n revist primele dou metode de reducere a atributelor unei imagini (metoda I i metoda II), iar n continuare vom aborda celelate dou metode - metoda III i metoda IV. n cadrul metodei III de reducere a atributelor, blocurile: "primele 4 momente", histograme multiscalare, caracteristicile Tamura, au aceeai funcionare ca i n cazul blocurilor similare din metoda I i metoda II, cu deosebirea c acestea acioneaz asupra imaginii originale (imagine pe nivele de gri). Acestor blocuri i se adaug i transformata Radon. Pentru a realiza transformata Radon s-a utilizat funcia deja implementat n Matlab: Au fost calculate transformatele Radon pentru patru valori ale lui theta - 0, 45, 90 i 135. Fiecare coloan a lui R va conine transfromata Radon pentru fiecare unghi din theta. Apoi coloanele matricei R sunt transformate n patru histograme a cte trei benzi fiecare. Astfel, transformata Radon particip cu un numr total de 4x3=12 trsturi la formarea vectorului de caracteristici. Metoda IV de extragere a trsturilor const n descompunerea polinomial Zernike a imaginilor pe nivele de gri. Rezultatele obinute n urma aplicrii polinoamelor Zernike asupra imaginii sunt valori complexe, i de aceea descriptorii imaginii vor fi modulul acestor valoriR = radon(I, theta) care returneaz transformata Radon R a intensitaii imaginii I pentru un unghi de theta grade [23].

16

(valoarea absolut a numerelor complexe obinute). La aceste metode s-a ajuns pornind de la cele descrise n [9] pentru formarea vectorului de trsturi din cadrul clasificatorului WND-CHARM. 3.2.1 Metoda de extragere a caracteristicilor din WND-CHARM Metoda propus pentru formarea vectorului de trsturi al clasificatorului WND-CHARM este ilustrat n urmtoarea figur:

Figura 3.3 Schema de formare a vectorului de trsturi din cadrul WND-CHARM [9] Dup cum se poate observa n figura 3.3 pentru formarea vectorului de trsturi s-au utilizat diferite transformate ale imaginilor (transformata Wavelet, transformata Chebyshev i transformata FFT), precum i combinaii ale acestor transformate (transformata Wavelet a transformatei FFT i transformata Chebyshev a transformatei FFT). Apoi din rezultatele obinute n urma acestor transformate, au fost extrase diferite trsturi, care sunt grupate n funcie de tipul lor (caracteristici de mare contrast, de descompunere polinomial, de statistic i textur) n patru grupe astfel:

Figura 3.4 Grupele de caracteristici pentru formarea vectorului de trsturi din WND-CHARM [9] n figura 3.4 este descris componena fiecrei grupe de caracteristici. Astfel, grupa A cuprinde urmtoarele caracteristici de contrast nalt(de form): - statisticile muchiilor care sunt calculate pe gradientul imaginii originale i cuprind mai multe caracteristici cum ar fi media, variana, o histogram cu opt benzi a magnitudinii i direciei pixelilor, numrul total de pixeli muchie normalizat n raport cu dimensiunea imaginii, omogenitatea direciei i o histogram cu patru benzi care ilustreaz diferena direciei muchiilor. Astfel, prin extragerea acestor statistici din imagine se obine un numr de 28 de trsturi. - coeficienii Gabor se obin prin utilizarea wavelet-urilor Gabor[9], obinndu-se un numr de 7 coeficieni pentru fiecare imagine.

17

- statisticile obiectelor sunt calculate pe imaginea binarizat prin intermediul pragului Otsu [9] i cuprind urmtoarele caracteristici: numrul lui Euler (diferena dintre numrul de obiecte i numrul de guri din imagine), centroizii imaginii, minimul, maximul, media, variana i o histogram cu zece benzi calculat pentru pixelii obiectelor i distana de la centroizii obiectelor la centrul imaginii. n total statisticile obiectelor cuprind 34 de caracteristici. Dup cum se poate observa n figura 3.3 caracteristicile din grupa A sunt extrase numai din imaginea original, contribuind astfel cu un numr de 28+7+34=69 caracteristici la formarea vectorului de trsturi. Grupa B reprezentat de caracteristicile de descompunere polinomial (de geometrie), are n componen urmtoarele trsturi: - statisticile Chebyshev- Fourier sunt extrase prin aplicarea transformatei ChebyshevFourier asupra unei imagini, obinndu-se un numr de 32 de trsturi. - statisticile Chebyshev sunt obinute prin transformarea coeficienilor rezultai n urma transformrii Chebyshev a imaginii ntr-o histogram cu 32 de benzi. - polinoamele Zernike - prin descompunerea polinomial Zernike se obin 72 de coeficieni compleci, dar ca descriptori ai imaginii se folosesc valorile absolute ale acestora. Dup cum se poate observa n figura 3.3 caracteristicile din grupa B sunt extrase din imaginea original i imaginea rezultat n urma transformatei FFT a imaginii originale, contribuind astfel cu un numr de 2x(32+32+72)=272 caracteristici la formarea vectorului de trsturi. Grupa C, dup cum se poate observa n figura 3.4 este compus din urmtoarele caracteristici de statistic a pixelilor i de textur: - primele 4 momente sunt reprezentate de media, deviaia standard, oblicitatea i planitatea imaginii. Fiecare din cele patru caracteristici enumerate sunt formate dintr-o histogram cu 12 benzi, rezultnd 48 de caracteristici. - trsturile Haralick sunt calculate cu ajutorul matricelor concurente ale imaginilor. Aceste trsturi cuprind un numr de 28 valori. - histograme multiscalare sunt obinute prin transformarea imaginii n patru tipuri de histograme, cu 3, 5, 7 i 9 benzi, rezultnd astfel 24 de valori. - caracteristicile Tamura se compun din direcionalitatea imaginii, contrastul, granularitatea i o histogram a granulitaii cu 3 benzi. Aceste trsturi contribuie cu un numr de 6 caracteristici la formarea vectorului de trsturi. Dup cum se poate observa n figura 3.3 caracteristicile din grupa C sunt extrase din transformata Wavelet a imaginii originale i transformata Wavelet a transformatei FFT a imaginii originale, contribuind astfel cu un numr de 2x(48+28+24+6)=212 caracteristici la formarea vectorului de trsturi. Grupa D este format din statisticile pixelilor i caracteristicile de textur ce fac parte din grupa C la care se adaug i caracteristicile Radon a imaginii originale. Prin aplicarea transformatei Radon asupra unei imagini se obine un numr total de 4x3=12 trsturi. Dup cum se poate observa n figura 3.3 caracteristicile din grupa D sunt extrase din imaginea original, transformata FFT a imaginii originale, transformata Chebyshev (a imaginii originale i a transformatei FFT a imaginii originale), contribuind astfel cu un numr de 4x(48+28+24 +6+12)=472 caracteristici la formarea vectorului de trsturi. Pentru mai multe detalii despre modul n care au fost calculate caracteristicile din grupele A, B, C i D a se consulta [9]. 3.2.2 Metoda de extragere a caracteristicilor n lucrarea de fa n aceast lucrare formarea vectorului de caracteristici s-a realizat avnd ca referin figura 3.3. Pentru obinerea unor timpi de extragere a trsturilor i de clasificare mai buni este necesar a se utiliza un vector de trsturi cu o dimensiune ct mai mic. Astfel, pentru calculul vectorului de caracteristici, n lucrarea de fa se vor utiliza un numr mai redus de trsturi. Pentru reducerea numrului de trsturi, dar i din cauza numrului foarte mare de posibiliti de formare a vectorului de trsturi (disponibile n figura 3.3), n aceast lucrare s-a

18

procedat astfel: - s-a plecat de la formarea vectorului de trsturi prin mprirea figurii 3.3 n mai nou metode de extragere caracteristicilor (primele nou linii ale tabelului 3.1) i testarea fiecrei metode n parte. - s-au relizat combinaii ale celor nou metode de extragere (dup cum se poate observa n tabelul 3.1) pn cnd s-a ajuns la o performan de clasificare satisfctoare. - nc de la nceput s-a renunat din grupa A la coeficienii Gabor (datorit numrului mic de trsturi i timpului de obinere mai ridicat fa de celelalte caracteristici ale grupei), din grupa B la statisticile Chebyshev-Fourier (deoarece utilizeaz pentru calcul o mare parte din memorie i timpul de obinere este foarte mare), din grupa C la trsturile Haralick (datorit timpului de obinere foarte mare i modului complicat de calcul). Acuratee KNN Weka Metoda de extragere a trsturilor [%] k 1 3 5 imagine transformata Wavelet grupa C 70.6 68 70 imagine transformata Chebyshev grupa D 66.1 66.5 62.7 imagine transformata FFT transformata 68 67.5 75.5 Wavelt grupa C imagine transformata FFT transformata 64.8 65.4 65.3 Chebyshev grupa D imagine transformata FFT grupa B 68.9 67.2 65.8 imagine transformata FFT grupa D 59 53.3 60 imagine grupa A 62.7 62.7 60.4 imagine grupa B 81.5 80.7 83.5 imagine grupa D 82.5 83.5 82.5 imagine transformata Wavelet grupa C + imagine grupa A 70 71 73 imagine transformata Wavelet grupa C + imagine grupa A + 70.6 73.7 72 imagine transformata FFT transformata Wavelet grupa C imagine transformata Wavelet grupa C + imagine grupa A + imagine grupa B 70 71 73 imagine transformata Wavelet grupa C+ imagine transformata FFT grupa B Acuratee KNN Matlab [%] k 1 3 5 70 62 68.3 65.7 64.4 63.7 66.3 65.6 74 63.2 68 56.9 63 80.6 85 69.3 69.3 61.3 67.3 51.9 64.3 81.9 86.2 70.6 71.2 63.2 65.8 58.5 61.3 82.8 87 70 70

Nr. crt.

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

12.

69.3

70.6

70

13.

81

80.5

79.8

81.8

81.2

80.6

14.

15.

16.

imagine transformata Wavelet grupa C + statisticile Radon extrase din imaginea 86.8 original imagine transformata Wavelet grupa C + statisticile Chebyshev extrase din imaginea 73.7 original imagine transformata Wavelet grupa C + statisticile Chebyshev extrase din imaginea original + statisticile Radon extrase din 82.5 imaginea original

86.8

86.2

86.2

87.5

87.5

71.2

73

70.6

70.6

70.6

85

85

82.5

82.5

80

19

Nr. crt.

Metoda de extragere a trsturilor imagine transformata Wavelet grupa C + imagine grupa D imagine transformata Wavelet grupa C + imagine grupa D + imagine grupa B

17.

Acuratee KNN Weka [%] k 1 3 5 85.6 85 82.5

Acuratee KNN Matlab [%] k 1 3 5 87 88.7 88

18.

87.5

87.8

85

90

86.9

87.5

19.

imagine transformata Wavelet grupa C + imagine grupa D+ imagine grupa B+ 87.9 87.5 85.6 91.3 imagine transformata FFT transformata Wavelet grupa C Tabel 3.1 Metode de extragere a trsturilor analizate

86.3

86.3

n tabelul 3.1 se pot observa valorile acurateii de clasificare obinute att n Matlab ct i n Weka, prin intermediul clasificatorului KNN, respectiv IBk pentru un numr de vecini k= 1,3 sau 5. Dup cum se poate observa n tabelul 3.1, metoda de extracie a trsturilor care ofer cea mai mare acuratee este descris n ultima seciune a tabelului. Nu s-a mai continuat testarea altor combinaii de metode de extragere a trsturilor deoarece s-a obinut o acuratee de clasificare satisfctoare i pentru c timpul de extragere a trsturilor pentru toate imaginile din baza de date s nu mai creasc (pentru c este i aa unul foarte ridicat- 3 ore i 12 minute). Asfel, s-a ajuns la urmtoarea schem de formare a vectorului de caracteristici, care este utilizat mai departe n aceast lucrare:

Figura 3.5 Schema de formare a vectorului de trsturi

20

Figura 3.5 reprezint schema de formare a vectorului de caracteristici pentru care s-a obinut o acuratee de clasificare satisfctoare prin intermediul clasificatorului IBk din Weka i clasificatorului KNN implemantat n Matlab. Metodele de extragere a trsturilor ilustrate n figura 3.5 sunt descrise mai amnunit n n figura 3.2 i n seciunea 3.2 a lucrrii de fa. Astfel, dup cum se observ n figura 3.5 vectorul de caracteristici al fiecrei imagini va fi format din 318 trsturi. Pentru ntreaga baz de imagini vectorul de trsturi va fi format din 318 trsturi x 800 de imagini. 3.2.3 Evaluarea trsturilor n Weka Weka este un sistem foarte puternic cu ajutorul cruia se poate realiza numai clasificarea obiectelor (nu i extragerea caracteristicilor). Utilitarul poate fi descrcat gratuit de pe site-ul: http://www.cs.waikato.ac.nz/ml/weka/. Acesta a fost utilizat pentru a aplica o metod de nvare aupra vectorului de caracteristici i pentru a analiza rezultatele obinute. nainte de aplicarea oricrui algoritm de clasificare asupra datelor, acestea trebuie convertite n fisiere ARFF ("Attribute-Relation File Format"). Structura fiierului ARFF trebuie s respecte urmtoarea form:

Figura 3.6 Structura fiierului ARFF la modul general Figura 3.6 ilustrez modul de formare al unui fiier ARFF, n vederea antrenrii i testrii unui clasificator ales din Weka cu trsturile extrase din imaginile cuprinse n baza de date. Astfel, pentru vectorul de caracteristici format pe baza schemei din figura 3.5, structura fiierului ARFF va fi urmtoarea:

Figura 3.7 Structura fisierului ARFF utilizat n acest lucrare

21

n figura 3.7 este prezentat schema de formare a fiierului ARFF adaptat la aceast lucrare. Aadar, fiecare atribut trebuie descris n header header-ul fiierului ARFF, fiierul coninind informaii att despre tipul fiecrui atribut, precum i despre clasa din care face parte respectivul obiect. Clasa fiecrui obiect trebuie s fie cunoscut, pentru ca la testare s se poat compara clasa prezis de clasificator cu clasa real a obiectului respectiv. Dupa antrenarea (nvarea) asificator datelor se obine o matrice de confuzie ("confusion matrix") avnd dimensiunea [numr_clase x numr_clase], n cazul nostru 4x4, care arat numrul instanelor atribuite fiecrei clase de obiecte. Dac toate instanele au fost clasificate corect atunci doar elementele diagonalei principale ale matricei de confuzie sunt diferite de zero Dac spre exemplu vom avea zero. urmtoarele matrice de confuzie descrise n figura 3.8:

Figura 3.8 Matrice de confuzie pentru nvare, respectiv testare Matricele Notaiile realizate n figura 3.8 au urmtoarele seminificaii: M - clasa maini, P - clasa pietoni, A - clasa animale i G -clasa garbage. n figura 3.8 se poate observa c la nvare toate obiectele au fost atribuite corect claselor din care fac parte (figura 3.8 a figura a). n etapa de testare (figura 3.8 b): - toate obiectele din clasa maini (prima linie a matricei din figura 3.8 b) au fost clasificate corect ) - din clasa pietoni (a doua linie a matricei din figura 3.8 b) 36 de imagini au fost clasificate ) corect, 3 au fost clasificate ca fcnd parte din clasa animale i 1 din clasa garbage - din clasa animale 34 de imagini au fost clasif clasificate corect (a treia linie a matrice din figura 3.8 matricei b), 1 a fost clasificat ca fiind din clasa ma asificat maini, 2 au fost atribuite clasei pietoni i 3 clasei garbage - din clasa garbage (ultima linie a matricei din figura 3.8 b) 28 de imagini au fost clasificate corect, 3 au fost clasificate ca aparinnd clase maini i 9 clasei animale. clasei Figura 3.8 prezint matricele de confuzie pentru nvare, respectiv testare obinute n Weka cu le pentru clasificatorul IBk. Numrul de vecini al clasificatorului IBk este egal cu unu iar pentru formarea . unu, vectorului de trsturi s-a utilizat schema prezentat n figura 3.5. a Pentru nvare i testare vectorul de caracteristici al tuturor imaginilor din baza de date a fost mprit manual n 80% instane pentru nvare i 20% pentru testare, astfel nct s avem un numr de 160 de imagini din fiecare clas pentru an antrenare (din ntreaga baza de date un total din de 640 de imagini) i 20% din fiecare clas pentru testare (din ntreaga baz de date un total de ) 160 de imagini). Programul Weka pune la dispoziie un numr mare de algoritmi de nvare i testare. Deoarece n lucrarea de fa s a pus accentul pe extragerea trsturilor i nu pe analiza s-a performanelor diferiilor clasificatori, pentru a evalua calitatea trsturilor extrase din imagini s sa utilizat clasificatorul IBk. 3.3.4 Evaluarea trsturilor n Matlab Apelarea din Matlab a utilitarului Weka este una dificil. Din acest motiv, dar i datorit necesitii folosirii unui clasificator n interfaa grafic a lucrrii de fa s ales dezvoltarea n s-a Matlab a unui algoritm de clasificare. Datorit simplitii i uurinei de implementare pentru Datorit implementare,

22

evaluarea trsturilor n Matlab s-a ales utilizarea clasificatorului KNN. n aceast lucrare au fost utilizate pentru compararea performanelor de clasificare dou versiuni ale clasificatorului KNN: KNNC (KNN Classify) care este un clasificator implementat cu ajutorul funciei deja existente n Matlab:Class = knnclassify(Sample, Training, Group, k, distance) [23].

Funcia knnclassyfy returneaz vectorul Class, care conine rezultatul clasificrii imaginilor din vectorul Sample n funcie de imaginile cu ajutorul crora se realizeaz nvarea clasificatorului KNN. Aceast funcie are ca i parametrii: - vectorul Sample care conine imaginile de testare i a crui linii vor fi clasificate n cele patru clase. - vectorul Training care conine imaginile de antrenare, fiind folosit la clasificarea obiectelor din vectorul Sample. Numrul de coloane a celor doi vectori Sample i Training trebuie s fie egal. - vectorul Group conine clasele imaginilor din setul de antrenare - k este numrul de vecini utilizat n clasificare - distance este metrica utilizat n clasificare KNNR (KNN Rule) care este implementat de Roger Jang i poate fi descrcat gratuit de pe site-ul: http://mirlab.org/jang/matlab/toolbox/dcpr/. Cu acest clasificator se obine exact aceeai acuratee de clasificare, dar un timp de clasificare mult mai bun. Acest lucru se datoreaz utilizrii MEX-files, care au rolul de a reduce timpul necesar n mod normal Matlab-ului s realizeze operaiile dorite. n interfaa grafic va fi utilizat numai clasificatorul KNNR datorit performanelor de clasificare superioare (n ceea ce privete timpul de clasificare). Astfel utilitarul Weka este folosit pe lng stabilirea metodei de extragere a trsturilor i la verificarea implementrii n Matlab a celor dou clasificatoare KNN. 3.3 Determinarea parametriilor transformatei Wavelet n aceast lucrare s-a utilizat transformata Wavelet discret pentru semnale bidimensionale. n Matlab aceast transformat are urmtoarea sintax:[cA,cH,cV,cD] = dwt2(X,'wname') [23]

Prin aceast transformat se calculeaz matricea coeficienilor aproximai cA i matricele coeficienilor detaliai cH, cV i cD (pe orizontal, vertical i respectiv pe diagonal) prin descompunerea wavelet a matricei de intrare X (care poate fi reprezentat de o imagine). Transformata Wavelet are ca parametru numele familiei wavelet utilizat n descompunere. Tot un parametru al transformatei Wavelet poate fi considerat i nivelul de descompunere wavelet. Descompunerea wavelet se poate realiza pe mai multe nivele astfel: - mai nti se realizeaz transformata Wavelet a imaginii prin metoda descris mai sus (utilizat pentru obinerea primului nivel de descompunere wavelet) - pentru obinerea celui de-al doilea nivel al descompunerii se va aplica transformata Wavelet pe una din matricele coeficienilor (cA, cH, cV sau cD) sau pe o combinaie a acestor matrice. - se continu cu aplicarea transformatei Wavelet pe noile matrice de coeficieni pn cnd se atinge nivelul de descompunere dorit. Pentru determinarea parametriilor transformatei Wavelet s-a realizat urmtorul experiment: - s-a ales un nivel de descompunere egal cu 3, 4, 5 sau 6 (nivelele 1 i 2 nu ofer o compresie suficient a atributelor imaginii). Aadar sunt patru valori ale nivelului de descompunere. - pentru funciile mam ale descompunerii wavelet s-au folosit funciile deja implementate in Matlab, precum: Daubechies, Coiflet, Symlet, biortogonale i inverse biortogonale (reverse biortogonal) .

23

Numele familiei de funcii wavelet Daubechies se scrie dbN, unde N este ordinul, iar db este "prenumele" funciei wavelet. Funciile Coiflet (coifN) reprezint o alt familie de funcii discrete wavelet, descoperite de Ingrid Daubechies. Numele familiei de funcii wavelet Symlet se scrie symN, unde le fel ca i la Daubechies, N este ordinul, iar sym este "prenumele" funciei wavelet. Functiile wavelet biortogonale se scriu biorNr.Nd, iar funciile inverse biortogonale la fel ca i cele biortogonale se scriu rbioNr.Nd. Din varietatea de familii de wavelet-uri n acest experiment s-au utilizat urmtoarele funcii: db1db15, coif1coif5, sym1sym15, bior 1.1bior6.8, rbio1.1rbio6.8 (n total un numr de 64 de valori) - s-a utilizat numai metoda I de extragere a trsturilor (descris n figura 3.2) avnd ca scop a reducerea timpul de extragere pentru imaginile din baza de date. Astfel, prin utilizarea metodei I au fost obinui vectorii de trsturi ai bazei de imagini pentru valorile parametriilor transformatei Wavelet stabilite mai sus. S-au obinut un numr de 4x64=256 vectori de caracteristici, care au fost salvai n fiiere text. La sfritul fiecrei linii a fiierului s-a introdus clasa real a imaginii (pentru a se putea calcula acurateea de clasificare) - s-a realizat permutarea liniilor tuturor fiierelor, pentru a nu permite clasificatorului s nvee inclusiv ordinea de preluare a imagnilor (deoarece clasificatorul prelua pe rnd cele 4 clase, iar prin permutare imaginile sunt preluate aleator) - pentru nvare i testare datele au fost mprite asfel nct s se obin 80% din imaginile fiecrei clase pentru nvare i 20% pentru testare (cte 160 imagini din fiecare clas pentru nvare i 40 imagini din fiecare clas pentru testare). - s-a realizat clasificarea imaginilor din cele 256 de fiiere prin intermediul clasificatorului KNN. S-a optat pentru obinerea unei acuratei de clasificare ct mai bun, n defavoarea unor timpi calcul a transformatei Wavelet mai ridicai (cu ct nivelul de descompunere este mai mare cu att timpul necesar realizrii transformatei Wavelet este mai ridicat, dar scade timpul de clasificare). n urma acestui experiment s-a observat c acurateea maxim se obine pentru familia de wavelet-uri bior1.3 i nivelul de descompunere wavelet egal cu 3. Coeficienii cA, cH, cV i cD de nivlel 3 i familie bior1.3 ai unei imagini arat astfel:

Figura 3.9 Transformata Wavelet a unei imagini n figura 3.9 este prezentat rezultatul aplicrii transformatei Wavelet de familie bior1.3 i nivel de descompunere wavelet 3 asupra unei imagini oarecare din baza de date. n urma aplicrii transformatei wavelet de nivel 3 i familie bior1.3 s-a realizat reducerea numarului de atribute al imaginii prezentate n figur de la [148x93] (valori ce reprezint dimensiunea imaginii originale) pna la [16x22]. Dup cum se poate observa n figura 3.2 din rezultatul transformatei Wavelet al imaginii sunt extrase caracteristicile: "primele 4 momente", histograme multiscalare i caracteristicile Tamura, numrul de trsturi reducndu-se de la [16x22=352] la 78 (48 pentru "primele 4 momente", 24 pentru histogramele multiscalare i 6 pentru caracteristicile Tamura). 3.4 Modul de mprire a datelor pentru nvare i testare Dup cum se poate observa n figura 3.10, orice clasificator trebuie s aibe un set de date pentru antrenare i altul pentru testare. Iesirea unui astfel de clasificator este un vector care

24

conine numrul asociat claselor imaginilor din setul de testare (clasa_testare care este un vector coloan).

Figura 3.10 Schema bloc a clasificrii KNN n funcie de tipul clasificatorului setul de date de antrenare, respectiv de testare trebuie s aibe o anumit structur. Astfel pentru cele dou variante ale clasificatorului KNN (KNNC i KNNR) setul de antrenare i cel de testare va fi compus astfel: - setul de antrenare este format din doi vectori - vector_trsturi_antrenare, care conine pe fiecare linie trsturile imaginilor destinate antrenrii i clasa_antrenare, care este un vector coloan ce conine pe fiecare linie clasa corespondent imaginii sotocate pe aceeai linei n vectorul de antrenare. - setul de testare este format dintr-un singur vector care are acelai numr de coloane ca i vector_trsturi_antrenare, coninnd pe fiecare linie trsturile unei imagini de test. Numrul de linii al acestor vectori depind de procentul de imagini din baza de date destinate antrenrii i testrii. Cum s-a ales un procent de 80% din imaginile fiecrei clase pentru antrenare i 20% pentru testare, aceti vectori vor avea urmtoarea dimensiune: - vector_trsturi_antrenare: 80% x 800 imagini = 640 imagini, iar pentru fiecare imagine s-au extras 318 trsturi. Astfel dimensiunea datelor de nvare este [640 linii x 318 coloane]. - vector_trsturi_testare: 20% x 800 imagini = 160 imagini, iar pentru fiecare imagine s-au extras 318 trsturi. Astfel dimensiunea datelor de testare este [160 linii x 318 coloane]. - clasa_antrenare dup cum a mai fost precizat este un vector coloan cu acelai numr de linii ca i vector_trsturi_antrenare. Aadar vom avea o dimensiune de [640 linii x 1 coloan]. - clasa_testare este tot un vector coloan care conine acelai numr de linii ca i vector_trsturi_testare rezultnd astfel dimensiunea [160 linii x 1 coloan]. Testarea clasificatorului KNN s-a realizat pentru un numr de vecini k=1,3 sau 5. Dup cum se poate observa k ia doar valori impare, din cauz c avem patru clase i s-a dorit evitarea cazurilor n care clasificatorul poate atribuii imaginea la doua clase diferite n acelai timp (dac acesta gasete aceeai distan ntre vecinii si care fac parte din dou clase diferite). Acurateea clasificrii a fost calculat ca raportul dintre instanele corect clasificate i numr total de instane clasificate. Determinarea instanelor corect clasificate s-a realizat prin compararea claselor prezise de clasificator cu clasele reale (predefinite) ale imaginilor clasificate. Din acest motiv este necesar stocarea claselor reale ale imaginilor de test. 3.5 mbuntirea performanelor S-a ncercat mbuntirea performanelor prin dou metode: - reducerea numrului de trsturi extrase din fiecare imagine - transformarea aplicaiei ntr-un executabil 3.5.1 Reducerea numrului de trsturi extrase din fiecare imagine Dup cum se poate observa n figura 3.5 formarea vectorului de trsturi se realizeaz prin aplicarea asupra imaginilor din baza de date a combinaiei celor patru metode de extragere: metoda I, metoda II, metoda III i metoda IV. n tabelul 3.1 nu au fost analizate rezultatele tuturor combinaiilor posibile de formare a vectorului de trsturi. Astfel, s-a ncercat reducerea numrului de trsturi extrase din fiecare

25

imagine prin analiza tuturor modalitilor posibile de formare a vectorului de trsturi pornind de la cele patru metode: metoda I, metoda II, metoda III i metoda IV. Deoarece avem un numr de patru metode de extragere, numrul de modaliti posibile de obinere a vectorului de trsturi este dat de: + + + = 4 + 6 + 4 + 1 = 15 modaliti

Cele cincisprezece modaliti de formare a vectorului de trsturi sunt obinute prin aplicarea asupra imaginilor a urmtoarelor metode i combinaii de metode de extragere: 1. metoda I 2. metoda II 3. metoda III 4. metoda IV 5. metoda I +metoda II 6. metoda I + metoda III 7. metoda I + metoda IV 8. metoda II + metoda III 9. metoda II + metoda IV 10. metoda III + metoda IV 11. metoda I + metoda II + metoda III 12. metoda I + metoda II + metoda IV 13. metoda I + metoda III + metoda IV 14. metoda II + metoda III +IV 15. metoda I +metoda II + metoda III + metoda IV Au fost formai astfel cincisprezece vectori de caracteristici ai bazei de imagini, dimensiunea lor variind n funcie de modalitatea de extragere a trsturilor (a se vedea tabelul 4.1 pentru mai multe detalii). Pentru clasificarea celor cincisprezece vectori de caracteristici s-a procedat dup cum urmeaz: - s-a realizat o aplicaie de extragere a trsturilor din imaginile bazei de date pentru toate cele cincisprezece modaliti de formare a vectorului de caracteristici. Vectorii astfel formai au fost salvai n fiiere text. - s-a realizat permutarea liniilor tuturor fiierelor, pentru a nu permite clasificatorului s nvee inclusiv ordinea de preluare a imagnilor - pentru nvare i testare datele au fost mprite asfel nct s se obin 80% din imaginile fiecrei clase pentru nvare i 20% pentru testare (cte 160 imagini din fiecare clas pentru nvare i 40 imagini din fiecare clas pentru testare) - s-a realizat clasificarea imaginilor din cei cincisprezece vectori de caracteristici prin intermediul clasificatorului KNN - rezultatele de clasificare a celor cincisprezece vectori au fost comparate pe baza acurateii de clasificare. Acurateea dat de fiecare combinaie de metode, a fost comparat cu rezultatele obinute pentru combinaia metoda I+metoda II+metoda III +metoda IV (cea cu care s-a obinut cea mai bun acuratee de clasificare). Astfel s-a observat c modalitile compuse din metoda III + metoda IV, metoda I + metoda III + metoda IV, metoda II + metoda III + metoda IV, se apropie foarte mult de acurateea obinut cu metoda I+metoda II+metoda III +metoda IV, fr a o depii (90.63 % faa de 91.25%). n cazul celor trei modaliti (metoda III + metoda IV, metoda I + metoda III + metoda IV, metoda II + metoda III + metoda IV) se obine un timp de clasificare mai bun (0.09 secunde fa de 0.11) dect n cazul metodei cu care s-a obinut cea mai bun acuratee (metoda I+metoda II+metoda III +metoda IV). Acest lucru se datoreaz numrului mai mic de trsturi pe imagine (pentru mai multe detalii consultai tabelul 4.1)

26

Totui, am optat pentru obinerea unei acuratei de clasificare ct mai bun n detrimentul unui timp de clasificare mai sczut. 3.5.2 Transformarea aplicaiei ntr-un executabil S-a ncercat mbuntirea performanelor n ceea ce privete timpii de clasificare a tuturor celor cincisprezece combinaii posibile de creare a vectorului de caracteristici, prin transformarea aplicaie realizate ntr-un fiier executabil. n acest scop am utilizat toolbox-ul deploytool din Matlab, care urmrete urmtoarea schem bloc pentru realizarea unui astfel de fiier:

Figura 3.11 Schma bloc urmat de toolbox-ul deploytool[23] n figura 3.11 este prezentat modul foarte simplu de realizare a unui fiier executabil. S-a ales acest mod de realizare a executabilului datorit simplitii precum i datorit dorinei de a obine timpi de clasificare mai buni. Astfel cu ajutorul acestui toolbox i urmrind paii de mai sus s-a realizat transformarea aplicaiei realizate n Matlab ntr-o aplicaie "standalone" (de sine stattoare, care nu necesit instalarea Matlab-ului pentru rulare) pentru sistemul de operare Windows. 3.6 Interfaa grafic a aplicaiei Pentru a realiza o prezentare a acestei lucrri s-a relizat o interfa grafic GUI (Graphical User Interface) cu ajutorul toolbox-ului GUIDE (Graphical User Interface Design Environment) din Matlab. Aceast aplicaie a fost transformat ntr-una executabil cu ajutorul deploytool. Interfa grafic arat astfel:

Figura 3.12 Interfaa grafic a lucrrii

27

n figura 3.12 este prezentat aplicaia GUI realizat prin intermediul toolbox-urilor Matlab (GUIDE + deploytool). Interfat grafic este format din trei prti: - partea de extragere a trsturilor - partea de clasificare a imaginilor - partea de testare a clasificatorului KNN cu alte imagini dect cele din baza de date 3.6.1 Extragerea trsturilor Interfaa grafic permite utilizatorului s aleag clasele de imagini utilizate n etapa de extragere a trsturilor, precum i metodele de extracie a trsturilor (poate s aleag orice combinaie a celor patru metode descrise n figura 3.2). Dup apsarea butonului "Creare vector trsturi" se va realiza extragerea trsturilor prin metoda aleas din imaginile claselor selectate. Timpul de extragere al trsturilor tuturor imaginilor din baza de date va fi vizibil utilizatorului odat cu terminarea procesului de extragere n csua numerotat cu "2", iar informaiile legate de numrul de caracteristici al vectorului de trsturi astfel format vor fi viz