510 likes | 810 Views
ZAVOD ZA ELEKTRONIKU, MIKROELEKTRONIKU, RAČUNALNE I INTELIGENTNE SUSTAVE. Diplomski rad. Uporaba višeslojnog perceptrona za raspoznavanje brojčano-slovčanih znakova na registarskim tablicama. Autor: Kristijan Kraupner Predmet: Raspoznavanje uzoraka Mentor: prof. dr. sc. Slobodan Ribarić.
E N D
ZAVOD ZA ELEKTRONIKU, MIKROELEKTRONIKU, RAČUNALNE I INTELIGENTNE SUSTAVE Diplomski rad Uporaba višeslojnog perceptrona za raspoznavanje brojčano-slovčanih znakova na registarskim tablicama Autor: Kristijan Kraupner Predmet: Raspoznavanje uzoraka Mentor: prof. dr. sc. Slobodan Ribarić
Višeslojni perceptron • posebna vrsta umjetnih neuronskih mreža – multilayer perceptron (MLP) • sastoji se od dva ili više slojeva osnovnih procesnih elemenata – neurona (čvorova):
Višeslojni perceptron • f() – aktivacijska funkcija neurona, najčešći oblici: • MLP (u ovom radu) sastoji se od neurona sa sigmoidalnom aktivacijskom funkcijom
Višeslojni perceptron • Usporedba neuronske stanice i računalnog modela neurona:
Višeslojni perceptron • pojam perceptrona – Rosenblatt, 1958. • višeslojni perceptron – višeslojna mreža s unaprijednom propagacijom funkcijskog signala (multilayer feedforward network) • aciklička (nema povratnih veza), • najčešće potpuno povezana mreža; • propagacija signala greške unatrag kroz mrežu • propagacija funkcijskog signala unaprijed kroz mrežu
Višeslojni perceptron • Strukturni graf višeslojnog perceptrona sa dva skrivena sloja: • proizvoljno kompleksan problem raspoznavanja – dovoljna tri sloja procesnih elemenata (neurona) [3]
Višeslojni perceptron • struktura i karakteristike mreže: • dva ili više (tipično tri) sloja neurona: • ulazni sloj – sloj senzornih elemenata (npr. piksela slike) • skriveni sloj – nije vidljiv direktno niti sa ulaza niti sa izlaza mreže • izlazni sloj – izlaz iz mreže (razredi uzoraka) • neuron – nelinearna aktivacijska funkcija – sigmoidalna funkcija (glatka, derivabilna)
Višeslojni perceptron • signal greške – definira se na izlazu mreže – razlika željenog i dobivenog izlaza neurona • propagacija signala greške unatrag kroz mrežu – back error propagation algorithm • dvije vrste signala MLP-a: • funkcijski – propagacija unaprijed • signal greške – propagacija unatrag [3]
Postupak učenja MLP-a • Algoritam učenja propagacijom greške unatrag (back error propagation) • značajnija upotreba termina – Rumelhart, McClelland 1986. • signal greške – na izlazu neurona j, za n-ti uzorak • učenje metodom gradijentnog spusta • ukupna greška izlaza mreže (svih neurona izlaznog sloja) za n-ti uzorak:
Postupak učenja MLP-a • Prosječna kvadratna greška mreže po epohi – N je broj uzoraka za učenje • Zadatak postupka učenja – prilagodba slobodnih parametara mreže (težine veza i pragovi) u svrhu postizanja minimalne prosječne pogreške Eav
Postupak učenja MLP-a • korekcija težina jednaka je umnošku stope učenja, lokalnog gradijenta i ulaznog signala neurona kome je težina pridružena, tj. • promjena težinskog faktora Δwji veze između neurona j i neurona i definirana je delta pravilom:
Postupak učenja MLP-a • lokalni gradijent – upućuje na potrebne promjene u težinama veza radi postizanja što manje greške na izlazu mreže • neuron izlaznog sloja • gradijent = umnožak derivacije aktivacijske funkcije i signala greške uz
Postupak učenja MLP-a • neuron skrivenog sloja (sloj r) • gradijent = umnožak derivacije aktivacijske funkcije i težinske sume gradijenata neurona r+1 sloja koji su s njim povezani
Postupak učenja MLP-a • učenje višeslojnog perceptrona može se ubrzati korištenjem momenta γ • moment γ omogućuje izbjegavanje lokalnih minimuma [5]
Postupak učenja MLP-a • Online ili sekvencijalni način učenja • težine se prilagođavaju nakon predstavljanja svakog uzorka iz skupa za učenje • nakon što se predstavi zadnji uzorak za učenje – završena jedna epoha • učenje se ponavlja do ispunjenja uvjeta zaustavljanja • Batch ili grupni način učenja • težine se prilagođavaju nakon predstavljanja svih uzoraka za učenje koji čine jednu epohu
Postupak učenja MLP-a • parametri učenja: • brzina učenja η (0.02÷1.00) • moment γ(0.00÷1.00) • broj predstavljanja pojedinog uzorka za učenje mreži unutar jedne epohe • broj uzoraka pojedinog znaka za učenje • broj uzoraka pojedinog znaka za testiranje • redoslijed predstavljanja uzoraka za učenje
Postupak učenja MLP-a • uvjeti zaustavljanja procesa učenja: • broj epoha • promjena srednje kvadratne greške mreže Eav po epohi < određeni iznos • postignut minimalni iznos srednje kvadratne greške Eav • postignuta određena točnost raspoznavanja uzoraka iz skupa za testiranje (npr. greška raspoznavanja testnih uzoraka manja od 5%)
Slikovna baza registarskih tablica • 512 snimaka vozila u različitim uvjetima • korišten digitalni fotoaparat OLYMPUS CAMEDIA C-2040 ZOOM • fotografije zadnjeg dijela vozila • snimano iz približno jednake udaljenosti • 640 x 480 piksela, JPEG format
Slikovna baza registarskih tablica • dobri uvjeti, suho vrijeme
Slikovna baza registarskih tablica • više naljepnica; “neregularne” naljepnice
Slikovna baza registarskih tablica • slabo vidljive tablice (sjena)
Slikovna baza registarskih tablica • tablice drugih boja znakova i pozadine
Slikovna baza registarskih tablica • prljave tablice
Slikovna baza registarskih tablica • kiša, atipični formati, mrak (ulična rasvjeta)
Slikovna baza registarskih tablica • “kosi” snimci; bez oznake države
Slikovna baza registarskih tablica • reklame, kamioni, autobusi
originalna slika pretvaranje u sliku sa sivim tonovima izdvajanje tablica i oznake država normiranje dimenzija 20x32 pixela izolacija znakova binari-zacija uzorak za raspoznavanje Predobrada slika • pretvaranje snimaka u sive slike • metoda globalnog rastezanja kontrasta • zadani postotak (npr. 15%) najtamnijih piksela crno, i najsvjetlijih piksela bijelo • ostali pikseli – klasično rastezanje kontrasta (min i max – najveća i najmanja siva razina slike) • sive slike - rezultat rada kolegice Vlaste Srebrić
ContrastStretch(15) ContrastStretch(15) Predobrada slika • sive slike
ContrastStretch(15) ContrastStretch(15) Predobrada slika • sive slike
Predobrada slika • izdvajanje tablica i oznaka država • ručno izdvajanje (“crop”) pomoću programskog sustava za obradu slike ADOBE PhotoShop 7.0™ • postupak ponovljen za svaku sivu sliku • primjeri ručno izdvojenih tablica:
Predobrada slika • izdvojene tablice • izdvojene oznake država
Predobrada slika • izvajanje znakova • ručno izdvajanje - Crop alat • tablice - nisu izdvajani grbovi, povlaka ‘-’ i sl. • različita veličina izdvojenih znakova • sive slike znakova • neki znakovi kosi, slabo vidljivi i sl. • primjeri:
Predobrada slika • normiranje dimenzija uzoraka na 20 x 32 piksela • korištenje alata Resize • primjeri
Predobrada slika • binarizacija uzoraka • ADOBE Photoshop 7.0 • definiranje praga (tresholdvalue) za znakove pojedine tablice/oznake države • primjeri
Izvedba MLP-a • struktura perceptrona • troslojni perceptron – aciklička potpuno povezana troslojna mreža strukture 640x20x38 • prvi sloj - 32 x 20 slikovnih elemenata (piksela) - binarne vrijednosti – 640 neurona • skriveni sloj – 20 neurona • izlazni sloj – 38 neurona (38 klasa) • znamenke 0 ÷ 9 (10 neurona) • velika slova engleske abecede A ÷ Z, bez Q (25 neurona) • velika slova Č, Š i Ž (3 neurona)
Izvedba MLP-a izlazni sloj 38 čvorova • struktura MLP-a: 0 skriveni sloj 20 čvorova ulazni sloj 640 (32x20) čvorova 1 2 slika 32 x 20 piksela Z Ž
Izvedba MLP-a • postupak klasifikacije • znanje o naučenim uzorcima – implicitno • iznosi težina veza • rezultat klasifikacije - neuron s najvećim izlazom (najbliži vrijednosti 1) ponavljaj predstavi uzorak znaka ulaznom sloju MLP-a propagiraj funkcijski signal kroz mrežu sve do izlaza odredi klasu s najvećim iznosom izlaza i klasificiraj uzorak u tu klasu za svaki uzorak iz skupa za klasifikaciju
Izvedba MLP-a • Skup uzoraka za učenje i skup uzoraka za testiranje • skup za učenje SU – 20 uzoraka pojedinog znaka • ukupno 38*20 = 760 uzoraka za učenje • neki uzorci redundantni – W, X, Y, Č, Ž
Izvedba MLP-a • skup za testiranje ST – 10 uzoraka pojedinog znaka • ukupno 38*10 = 380 uzoraka za testiranje • neki uzorci redundantni – W, X, Y, Č, Ž
Izvedba MLP-a • Korišteni parametri učenja mreže • 20 uzoraka za učenje po znaku • 10 uzoraka za testiranje po znaku • moment učenja γ = 0.05 • brzina učenja η = 0.025 • broj epoha = 900 • Ispitna baza tablica i oznaka države • 407 tablica (243 oznake država)
Rezultati klasifikacije • rezultati klasifikacije znakova • ukupno 4.243 uzoraka (učenje, testiranje, provjera) • 86.2 % točno raspoznatih znakova • veći broj uzoraka za učenje – povećava uspješnost rasp. • poteškoće u raspoznavanju • 1 ↔ I, 0 ↔ O; sličnost S i Š, C i Č, Z i Ž
MLP klasifikator predstavi uzorak na ulaz mreže propagacija signala kroz mrežu odredi klasu 'X' s najvećim izlazom klasificiraj uzorak kao 'X' uzorak (slika) klasificirani znak Ima li još zn. za klasif? da raspoznati znakovi oznake države Pripada li znak tablici? ne H R ne da • Z G • 1 6 2 • L C raspoznati znakovi tablice kraj klasifikacije tablice Rezultati klasifikacije • postupak klasifikacije tablice i oznake države
Rezultati klasifikacije • rezultati klasifikacije tablica i oznaka države • ukupno 407 registarskih tablica • ukupno 243 oznake države • uspješnost raspoznavanja: • tablica i pripadna oznaka (gdje je ima) - 43.5% • samo tablica – 54.5% (222 tablice) • samo oznaka države – 65.4% (159 oznaka) • problemi – netočne oznake, vrlo loše naljepnice • broj znakova koje treba točno raspoznati (tablica – do 9 znakova, oznaka države – 1÷3 znaka) primjeri
Sintaksna analiza registarskih tablica • internacionalne oznake država (1÷3 slova) [8]
Sintaksna analiza registarskih tablica • primjer sintakse tablica nekih država [8] • HR 2 s 3÷4 b 1÷2 s (prva 2 s – ozn. grada) • SLO 2 s 4 b 1 s (prva 2 s – ozn. grada) 3 s 3 b 1 s 3 s 4 b • BIH 3 b 1 s 3 b • H i B 3 s 3 b • I 2 s 3 b 2 s • A 1÷2 s 1÷5 b 1÷3 s (prva 1÷2 s – kod provincije) • D 1÷3 s 1÷2 s 1÷4 b (prva 1÷3 s – ozn. područja) • CH 2 s 1÷6 b (prva 2 s – ozn. kantona) • CZ 2÷3 s 4 b (prva 2 s – ozn. područja) • SK 2 s 3 b 2 s (prva 2 s – ozn. područja)
MLP klasifikator predstavi uzorak na ulaz mreže propagacija signala kroz mrežu odredi klasu 'X' s najvećim izlazom klasificiraj uzorak kao 'X' uzorak (slika) klasificirani znak Ima li još zn. za klasif? raspoznati znakovi oznake države da Pripada li znak tablici? provjera sintakse ne H P H R ne da Ž U I7 8 U Ž U 17 8 U kraj klasifikacije tablice raspoznati znakovi tablice Sintaksna analiza registarskih tablica • postupak klasifikacije uz provjeru sintakse
Sintaksna analiza registarskih tablica • rezultati klasifikacije korištenjem sintaksne analize • uspješnost raspoznavanja: • tablica i pripadna oznaka (gdje je ima) – 68.8% • samo tablica – 73.5% (299 tablica) • samo oznaka države – 87.7% (213 oznaka) • ograničenja sintakse • neke slučajeve sintaksa ne može riješiti • 6. znak hrvatskih tablica (može biti i slovo i broj) • potreba za uvođenjem stupnja pouzdanosti (confidencemeasure) raspoznatog znaka primjeri
Zaključak • na uspješnost raspoznavanja utječe velik broj faktora • veličina i kvaliteta uzoraka za učenje (reprezentativnost), • veličina i kvaliteta uzoraka za testiranje • odabir strukture MLPa (broja slojeva, broja čvorova pojedinog sloja) • određivanje optimalnih parametara učenja i dr. • direktno prezentiranje binarnih uzoraka mreži – ovisnost o kvaliteti uzorka • mreža osjetljiva na promjene u uzorcima (skaliranje, rotacija) • problem vrlo sličnih uzoraka (klase nedovoljno različite) • S i Š, C i Č, Z i Ž, 1 i I, 0 i O, B i 8, i dr. • primjena sintaksne analize ima ograničenja
Zaključak • mogućnosti poboljšanja • izdvajanje značajki uzoraka (momenti [4], bočne projekcije [4], kodiranje uzoraka [6] i sl.) – značajke invarijantne na promjene u kvaliteti uzoraka • odabir što većeg broja reprezentativnih uzoraka pojedinog znaka za učenje (nekoliko stotina uzoraka po znaku) • multi-ekspertni pristup [4] – korištenje većeg broja MLP-a i drugih neuronskih mreža • pojedina neuronska mreža – klasifikacija na temelju određenog skupa značajki (pristup [4]) • kombiniranje izlaza (glasovanje) – uvođenje praga prihvaćanja, mjera pouzdanosti točno raspoznatog uzorka
Literatura [1] Richard P. Lippmann, An Introduction to Computing with Neural Nets, IEEE ASSP Magazine, Vol. 3, No. 4, pp. 4-22, April 1987. [2] Andy Hayes, Artificial Neural Networks – An Introduction, 1998. http://www.acanz.co.uk/networks.php [3] S. Haykin, “Neural Networks, A Comprehensive Foundation”, Prentice Hall, Upper Saddle River, pp. 156-255, New Jersey, 1999. [4] L.C. Jain, B. Lazzerini, “Knowledge-based Intelligent Techniques in Character Recognition”, CRC Press LLC, pp. 263-296, Boca Raton, Florida, 1999. [5] J. Šnajder: Predavanje “Umjetne neuronske mreže” (UNMv33.ppt), predmet: Neizrazito, evolucijsko i neuro-računarstvo, ZEMRIS, FER, 2002. [6] N. Vázquez, M. Nakano i H. Pérez-Meana, 2001., "Automatic system for localization and recognition of vehicle plate numbers", Journal of Applied Research and Technology, Vol. 1, No. 1, pp. 63-77