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 Report

Transcript 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.