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.
Download ReportTranscript 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.
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: [3] proizvoljno kompleksan problem raspoznavanja – dovoljna tri sloja procesnih elemenata (neurona)
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 – broj uzoraka za učenje
N
je Zadatak postupka učenja – prilagodba slobodnih parametara mreže (težine veza i pragovi) u svrhu postizanja minimalne prosječne pogreške E av
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
Δw ji
neurona
j
i neurona
i
veze između definirana je
delta pravilom
:
Postupak učenja MLP-a
lokalni gradijent na izlazu mreže – upućuje na potrebne promjene u težinama veza radi postizanja što manje greške neuron izlaznog sloja gradijent = umnožak derivacije aktivacijske funkcije i signala greške
j
f
net
(
n
)
e j
(
n
)
j
y j
(
n
) 1
y j
(
n
)
d j
(
n
)
y j
(
n
) uz
y j
f
net
(
n
)
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
j
(
r
)
j
(
r
)
f
net
(
n
) (
r
)
k w kj
(
r
) (
n
)
k
(
r
1 ) (
n
)
y
(
r
)
j
(
n
) 1
y
(
r
)
j
(
n
)
k w kj
(
r
) (
n
)
k
(
r
1 ) (
n
)
Postupak učenja MLP-a
učenje višeslojnog perceptrona može se ubrzati korištenjem momenta
γ w
(
k
1 )
w
(
k
) (
k
w x
(
k
)
w
(
k
)
w
(
k
1 ) 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 E av po epohi < određeni iznos postignut minimalni iznos srednje kvadratne greške E av 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
originalna slika pretvaranje u sliku sa sivim tonovima izdvajanje tablica i oznake država izolacija znakova normiranje dimenzija 20x32 pixela binari zacija uzorak za raspoznavanje
pretvaranje snimaka u sive slike metoda globalnog rastezanja kontrasta zadani postotak (npr. 15%) najtamnijih piksela najsvjetlijih piksela bijelo crno, i ostali pikseli – klasično rastezanje kontrasta (
min
najveća i najmanja siva razina slike) i
max
–
nova_siva_ razina
255
siva_razin a
max min min sive slike rezultat rada kolegice Vlaste Srebrić
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:
skriveni sloj 20 čvorova ulazni sloj 640 (32x20) čvorova slika 32 x 20 piksela izlazni sloj 38 čvorova 0 1 2 Z Ž
Izvedba MLP-a
postupak klasifikacije znanje o naučenim uzorcima – implicitno iznosi težina veza
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
rezultat klasifikacije neuron s najvećim izlazom (najbliži vrijednosti 1)
Izvedba MLP-a
Skup uzoraka za učenje i skup uzoraka za testiranje skup za učenje
S U
– 20 uzoraka pojedinog znaka ukupno 38*20 = 760 uzoraka za učenje neki uzorci redundantni – W, X, Y, Č, Ž
Izvedba MLP-a
skup za testiranje
S T
– 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) 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%
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 Ž
Rezultati klasifikacije
postupak klasifikacije tablice i oznake države
MLP klasifikator
uzorak (slika)
predstavi uzorak na ulaz mreže propagacija signala kroz mrežu odredi klasu 'X' s najvećim izlazom klasificiraj uzorak kao 'X'
klasificirani znak
da Ima li još zn. za klasif?
ne
kraj klasifikacije tablice da Pripada li znak tablici?
ne H R
raspoznati znakovi oznake države
Z G 1 6 2 L C
raspoznati znakovi tablice
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 SLO 2 s 2 s 3 s 3 s 3 ÷4 b 1÷2 s 4 b 3 b 4 b 1 s 1 s (prva 2 s – ozn. grada) (prva 2 s – ozn. grada) I BIH H i B A D CH CZ SK 3 b 3 s 2 s 1 ÷2 s 1 ÷3 s 2 s 2 ÷3 s 2 s 1 s 3 b 3 b 3 b 2 s 1 ÷5 b 1÷3 s 1 ÷2 s 1 (prva 1 ÷2 s – kod provincije) ÷4 b (prva 1÷3 s – ozn. područja) 1 ÷6 b 4 b (prva 2 s – ozn. kantona) (prva 2 s – ozn. područja) 3 b 2 s (prva 2 s – ozn. područja)
Sintaksna analiza registarskih tablica
postupak klasifikacije uz provjeru sintakse
MLP klasifikator
uzorak (slika)
predstavi uzorak na ulaz mreže propagacija signala kroz mrežu da Ima li još zn. za klasif?
ne
kraj klasifikacije tablice
odredi klasu 'X' s najvećim izlazom
da Pripada li znak tablici?
klasificiraj uzorak kao 'X' ne H P Ž U I 7 8 U
klasificirani znak
raspoznati znakovi oznake države H R provjera sintakse Ž U 1 7 8 U raspoznati znakovi tablice
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.