Data Mining seminar

33
Data Mining seminar Machine Learning Methods for Optical Character Recognition

description

Machine Learning Methods for Optical Character Recognition. Data Mining seminar. Sadrzaj prezentacije. Kratak uvod u metode optickog prepoznavanja karaktera Opis data mining i feature extraction metoda koriscenih u radu Opis rada i rezultata Mogucnosti za poboljsanje. - PowerPoint PPT Presentation

Transcript of Data Mining seminar

Page 1: Data Mining seminar

Data Mining seminar

Machine Learning Methods for

Optical Character Recognition

Page 2: Data Mining seminar

Sadrzaj prezentacije

Kratak uvod u metode optickog prepoznavanja karaktera

Opis data mining i feature extraction metoda koriscenih u radu

Opis rada i rezultata Mogucnosti za poboljsanje

Page 3: Data Mining seminar

OCR u kratkim crtama

Polje informatike koje se razvija od 1950. godina

Dve oblasti – cisto opticko prepoznavanje i digitalno prepoznavanje

Vrlo dobri rezultati danasnjim metodama – 97% za stampani tekst 70-80% za cist rucno pisani tekst

Prepoznavanje pisanih slova – podrucje istrazivnja

Page 4: Data Mining seminar

OCR detaljnije

Prevodjenje slika teksta u “machine-editable” format.

Pocetak – pattern recognition i template matching – ogranicene metode

Moderni algoritmi – veliki broj razlicitih tehnika: neuralne mreze, prepoznavanje poteza,...

Svaki OCR algoritam prolazi kroz broj koraka (faza) koje su zajednicke skoro svim modernim algoritmima

Page 5: Data Mining seminar

Koraci u OCR algoritmu

1.Ekstrakcija regiona sa karakterima sa slike

2.Segmentacija slike na tekst i pozadinu

3.Ciscenje slike

4.Segmentacija karaktera

5.Normalizacija velicine karaktera

6.Feature detection

7.Klasifikacija

8.Verifikacija

Page 6: Data Mining seminar

Ekstrakcija regiona sa karakterima

koriscenjem vec poznatij osobina slike, izdvajaju se delovi dovoljno razliciti od teksta

u slucaju ciste pozadine, proces razdvaja sliku u linije teksta

ponavljanjem se vec dobijene linije razdvajaju na reci

razni metodi su moguci – lokalne furijeove maske, Connect Component Analysis,...

Page 7: Data Mining seminar

Segmentacija slike

OCR algoritmi retko rade sa grayscale slikama, najcesce koriste binarnu reprezentaciju

cilj ove faze je identifikacija piksela koji pripadaju tekstu i onih koji pripadaju pozadini

najcesce koriscena metoda – tresholding

dobar deo algoritama zamenjuje redosled ovom i prethodnom koraku

Page 8: Data Mining seminar

Ciscenje slike

posle segmentacije slike, moramo “ocistiti” sav sum

Morfoloski operatori i neighbourhood operatori najpopularniji

Page 9: Data Mining seminar

Segmentacija karaktera

stariji algoritmi su pokusavali da podele segmentovanu sliku na karaktere

moderniji programi u celosti preskacu ovaj korak

moguce je kombinovati ovaj korak sa samim prepoznavanjem:

prvo se prepoznaju laki (karakteristicni) karakteri,zatim se ostatak teksta segmentira na osnovu ovih karaktera

Page 10: Data Mining seminar

Normalizacija velicine karaktera

korak koristan samo ako nas algoritam zavisi od velicine karaktera

nije bitna samo visina, vec aspect ratio karaktera

kraj preliminarnog procesiranja

Page 11: Data Mining seminar

Feature Detection

kljucni korak za algoritam

ogroman broj razlicitih feature-a se moze koristiti

detekcija mora biti nezavisna od velicine ili fonta

posebno privlacni feature-i invarijantni na transformacije slike (translaciju, rotaciju, nedostajuci delovi,...)

obicno se detektuje nekoliko feature-a u isto vreme

Page 12: Data Mining seminar

Feature Detection 2

mogu se koristiti brojne metode – statisticka korelacija, stanjivanje regiona, transformacije i teksturne maske,...

ukoliko algoritam prolazi kroz korak segmentacije karaktera, najzgodniji feature-i su delovi slova i cifara:Ostre ivice i coskovi, rupe, konkavnosti i sl.

Ukoliko prolazimo kroz ovaj korak pre segmentacije, zgodnije je traziti specificne karaktere nego samo delove

rezultat koraka: Feature vektor koji sadrzi izmerene osobine regiona

Page 13: Data Mining seminar

Klasifikacija

dodeljujemo regionu karakter koji najvise odgovara feature vektoru toge regiona

pre korisceni strukturni klasifikatori

moderni klasifikatori – statisticki pristup

moguci metodi: Bayesove metode odluke, Nearest Neighbour, stabla odluke, neuralne mreze,...

moderni statisticki klasifikatori imaju visoke stope prepoznavanja – najcesce iznad 97%

Page 14: Data Mining seminar

Klasifikacija, moguci pristupi

kombinacijom vise klasifikatora moze se dobiti mnogo preciznija klasifikacija

dva moguca pristupa:svi klasifikatori vrse svoju klasifikaciju, pa se finalni output bira medju njihovim rezultatima, ilisvaki klasifikator suzava izbor moguceg outputa, dok na kraju ne zavrsimo sa jednim karakterom.

kombinacija probabilistickih metoda baziranih na recniku i klasifikatora bi mogla dovesti do interesantnih rezultata

Page 15: Data Mining seminar

Verifikacija

proveravamo da li je dobijeni tekst konzistentan sa ocekivanim (da li dobijene reci postoje u recniku,...)

Page 16: Data Mining seminar

Data mining, uvod

Data mining – proces (automatski ili delom automatizovan) otkrivanja pravilnosti u podacima

otkrivene pravilnosti moraju biti znacajne, dok je podataka najcesce jako mnogo

korisne pravilnosti nam dozvoljavaju da vrsimo netrivijalna predvidjanja o tim podacima

Page 17: Data Mining seminar

Data mining 2

Cetiri u osnovi razlicita stila ucenja:

Klasifikacija, gde zelimo da naucimo kako da klasifikujemo podatke na osnovu seta vec klasifikovanih podataka

Clustering, gde trazimo grupe primera (podataka) koji su nekako slicni (pripadaju zajedno)

Asocijativno ucenje, gde trazimo asocijacije izmedju bilo kojih feature-a, ne samo onih vezanih za klasu

Numericka predikcija, gde ne predvidjamo diskretnu klasu, vec neku numericku vrednost

Page 18: Data Mining seminar

Klasifikacija

Kljucan deo OCR algoritama je klasifikacija karaktera

Posmatramo algoritam kao “supervised” ucenje – svakom feature vektoru je vec dodeljena klasa, pa mozemo oceniti tacnost klasifikatora

Page 19: Data Mining seminar

Klasifikatori

u radu su koriscena cetiri algoritma za klasifikaciju:

NaïveBayes – zasnovan na Bayesovom pravilu uslovne verovatnoce, koji “naivno” pretpostavlja nezavisnost feature-a.

Complement NaïveBayes – varijacija multi-nominalnog Naïve Bayes klasifikatora, adaptirana za rad na tekstu

SMO – algoritam koji trenira support vektor masinu koristeci linearne modele

J48 – pravi pruned C4.5 stablo odlucivanja koristeci “divide and conquer” algoritam.

Page 20: Data Mining seminar

Evaluacija klasifikatora

svaki klasifikator mora biti treniran i testiran na nekom setu podataka

ogranicena velicina dostupnih podataka

n runs of k-fold crossvalidation – n puta delimo ceo dataset na k poddelova, a zatim svaki od tih k koristimo za treniranje a ostale za testiranje

Page 21: Data Mining seminar

Opis rada i rezultati

Datasetovi

Rezultati primene algoritama

Zakljucci

Page 22: Data Mining seminar

Dataset

Za potrebe rada, napisana i koriscena php skripta

Izgenerisane slike svakog karaktera iz 1500 True Type fontova

Zbog velicine i duzine rada sa ovako velikim datasetom, koristen samo podskup od 47 fontova i samo na velika slova.

Od ovih slika, konstruisana 3 seta feature vektora, oznaceni sa dataset 1, dataset 2 i dataset 3

Svi datasetovi predstavljeni kao redak vektor piksela, sa belim pikselima izostavljenim.

Page 23: Data Mining seminar

Feature extraction

Prilikom konstrukcije feature vektora za datasetove koriscene feature extraction metode FeatureJ plug-in-a za open-source program za manipulaciju slikama - ImageJ

Kratak opis termina koriscenih za opis datasetova:

Strukturni tenzor je matricna reprezentacija parcijalnog izvoda

Hessian matrica je kvadratna matrica parcijalnih izvoda drugog reda funkcije f(x)

Page 24: Data Mining seminar

Dataset 1

Prvi dataset je konstruisan od neizmenjenog rastera slika karaktera

U kasnijim fazama rada koristena je i veca verzija ovako konstruisanog dataseta, sa feature vektorima svih velikih slova iz 238 fontova.

Page 25: Data Mining seminar

Dataset 2 i 3

Dataset 2 - Konstruisan od originalnih 47 slika koriscenjem najmanjih karakteristicnih vrednosti karakteristicnog vektora strukturnog tenzora svake slike

Dataset 3 – Konstruisan od originalnih 47 slika koriscenjem najmanjih karakteristicnih vrednosti Hessiana svake slike.

Page 26: Data Mining seminar
Page 27: Data Mining seminar

Za samu klasifikaciju koriscena je Weka data mining environment i vec ugradjene verzije algoritama

Zbog prevelikih memorijskih zahteva, radjeno je na vrlo malim datasetovima

Od ovih datasetova izabran je onaj na kome su rezultati bili najbolji, te je uvecan i ponovo klasifikovan.

Page 28: Data Mining seminar

Rezultati, dataset 1

Korektno klasifikovano:

J48: 67.18%

CNB: 70.9%

NB: 71.19%

SMO: 83.55%

Page 29: Data Mining seminar

Rezultati, dataset 2

Korektno klasifikovano:

J48: 62.77%

CNB: 40.42%

NB: 68.08%

SMO: 84.04%

Page 30: Data Mining seminar

Rezultati, dataset 3

Korektno klasifikovano:

J48: 46.56%

CNB: 41%

NB: 59%

SMO: 70.21%

Page 31: Data Mining seminar

Rezultati, dataset 1, large

Korektno klasifikovano:

J48: 78.57%

NB: 74.55%

SMO: 88.97%

zbog losih rezultata i dugih vremena obrade, globalno najlosiji algoritam, CNB je izbacen u ovom testu

Page 32: Data Mining seminar

Zaključci

Support vektor masine, uprkos sporo implementiranom algoritmu, pokazuju znacajno bolje rezultate od ostalih algoritama

Sa povecanjem dataseta dobijamo znacajno bolje rezultate za sve algoritme, ali se vreme treniranja klasifikatora produzuje

Greske koje sejavljaju (zajednicke svim algoritmima) pokazuju da su algoritmi korisceni za feature extraction neadekvatni

Page 33: Data Mining seminar

Mogucnosti za dalji rad

Ozbiljniji i kompleksniji algoritmi za feature extraction bi trebali da eliminisu ceste greske koje se javljaju u svim algoritmima

Povecanje velicine dataseta ocigledno dovodi do boljih rezultata klasifikacije – bilo bi zanimljivo ispitati kada poboljsanja prestaju da budu statisticki znacajna

Posmatranje veceg broja ML algoritama bi dovelo do kompletnije analize rezultata