Autor: Kristijan Kraupner 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
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ć pretvaranje u sliku sa sivim tonovima originalna slika izdvajanje tablica i oznake država izolacija znakova normiranje dimenzija 20x32 pixela binari-zacija uzorak za raspoznavanje
Predobrada slika sive slike ContrastStretch(15) ContrastStretch(15)
Predobrada slika sive slike ContrastStretch(15) ContrastStretch(15)
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 (treshold value) 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 struktura MLP-a: 1 2 Z Ž izlazni sloj 38 čvorova 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 Ž ukupan broj uzoraka broj točno klasificiranih uzoraka 1000 epoha, 5 uzoraka, γ = 0.03, η = 0.03 1000 epoha, 10 uzoraka, γ = 0.025, η = 0.02 900 epoha, 20 uzoraka, γ = 0.05, η = 0.025 4243 3079 3386 3658 72.6% 79.8% 86.2%
Rezultati klasifikacije postupak klasifikacije tablice i oznake države predstavi uzorak na ulaz mreže propagacija signala kroz mrežu odredi klasu 'X' s najvećim izlazom klasificiraj uzorak kao 'X' uzorak (slika) Pripada li znak tablici? Ima li još zn. za klasif? kraj klasifikacije tablice ne da raspoznati znakovi oznake države raspoznati znakovi tablice MLP klasifikator klasificirani znak H R Z G 1 6 2 L C
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)
Sintaksna analiza registarskih tablica postupak klasifikacije uz provjeru sintakse predstavi uzorak na ulaz mreže propagacija signala kroz mrežu odredi klasu 'X' s najvećim izlazom klasificiraj uzorak kao 'X' uzorak (slika) Pripada li znak tablici? Ima li još zn. za klasif? kraj klasifikacije tablice ne da MLP klasifikator klasificirani znak raspoznati znakovi oznake države raspoznati znakovi tablice H P provjera sintakse H R Ž U I 7 8 U Ž U 1 7 8 U
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 (confidence measure) 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
Literatura [7] S. Singh i A. Amin, "Neural Network Recognition of Hand-printed Characters", Neural Computing & Applications, Springer-Verlag, London, 1999, vol. 8, no. 1, pp. 67-76 [8] N. Parker i J. Weeks, "The Interpol Guide to Vehicle Registration Plates", Keesing Reference Systems B.V., Amsterdam, 2001.