25.07.2013 Views

Predspracovanie obrazu pre optické rozpoznávanie ... - TUKE

Predspracovanie obrazu pre optické rozpoznávanie ... - TUKE

Predspracovanie obrazu pre optické rozpoznávanie ... - TUKE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Technická univerzita v Košiciach<br />

Fakulta elektrotechniky a informatiky<br />

Katedra kybernetiky a umelej inteligencie<br />

<strong>Predspracovanie</strong> <strong>obrazu</strong> <strong>pre</strong> <strong>optické</strong><br />

<strong>rozpoznávanie</strong> tlačeného textu pomocou<br />

neurónových sietí<br />

Vedúci diplomovej práce:<br />

Ing. Rudolf Jakša, PhD<br />

Diplomová práca<br />

Študijný odbor: Umelá inteligencia<br />

Konzultant diplomovej práce:<br />

Ing. Rudolf Jakša, PhD<br />

Košice 2006<br />

Diplomant:<br />

Miroslav NOHAJ


Čestné vyhlásenie<br />

Vyhlasujem, že som diplomovú prácu vypracoval samostatne s použitím<br />

uvedenej odbornej literatúry.<br />

Košice 02. 05. 2006<br />

...........................<br />

Vlastnoručný podpis


Poďakovanie<br />

Chcem poďakovať môjmu konzultantovi a vedúcemu diplomovej práce<br />

Ing. Rudolfovi Jakšovi, PhD. za obdornú pomoc pri vypracúvavaní tejto dip-<br />

lomovej práce, za konštruktívne návrhy a pripomienky.<br />

Jemu a tiež Ing. Matúšovi Užákovi patrí poďakovanie za pomoc s typogra-<br />

fickým prostredím L ATEX.<br />

Tiež chcem poďakovať za podporu a pochopenie mojej rodine počas práce<br />

na tejto diplomovej práci.


Názov práce: <strong>Predspracovanie</strong> <strong>obrazu</strong> <strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> tlače-<br />

ného textu pomocou neurónových sietí<br />

Pracovisko: Katedra kybernetiky a umelej inteligencie, FEI TU v Ko-<br />

šiciach<br />

Autor: Miroslav NOHAJ<br />

Vedúci DP: Ing. Rudolf Jakša, PhD.<br />

Konzultant DP: Ing. Rudolf Jakša, PhD.<br />

Dátum: 02. 05. 2006<br />

Kľúčové slová: neurónová sieť, spätné šírenie chyby, <strong>optické</strong> rozpoznáva-<br />

nie znakov, tlačený text<br />

Anotácia: Hlavnou úlohou tejto diplomovej práce je vytvoriť te-<br />

oretický a praktický základ pri <strong>pre</strong>dspracovaní tlačeného<br />

textu <strong>pre</strong>d optickým rozpoznávaním znakov pomocou do-<br />

<strong>pre</strong>dných neurónových sietí.


Thesis title: Image <strong>pre</strong>processing for optical character recognition of<br />

printed text using Neural Networks<br />

Department: Department of cybernetics and artificial inteligence, FEI<br />

TU Košice<br />

Author: Miroslav NOHAJ<br />

Supervisor: Ing. Rudolf Jakša, PhD.<br />

Tutor: Ing. Rudolf Jakša, PhD.<br />

Date: 02. 05. 2005<br />

Keywords: Neural Network, Backpropagation of Error, optical cha-<br />

racter recognition, printed text<br />

Annotation: Primary task of this master’s thesis is to create a theore-<br />

tical and practical basis of <strong>pre</strong>processing of printed text<br />

for optical character recognition using forward-feed neural<br />

networks.


Predhovor<br />

Obrovské skoky vo vývoji informačných technológií sú udivujúce aj <strong>pre</strong> ľudí<br />

mladej generácie, ktorí sa do tejto modernej doby narodili. Predstava toho,<br />

že počítač bude schopný <strong>pre</strong>čítať text, ktorý bude <strong>pre</strong>d neho položený na<br />

kúsku papiera, bola ešte len nedávno považovaná za vizionársku, dnes je<br />

však skutočnosťou. Vďačíme za to práve nárastu výkonu počítačov a veľkosti<br />

operačnej pamäti. Tento nárast tiež spôsobil, že je možné do tohoto čítania<br />

vložiť viac umu a šikovnosti ako kedysi a tak aj texty, ktoré boli <strong>pre</strong> počítač<br />

nečitateľné, dnes nie sú <strong>pre</strong>ňho veľkým problémom.<br />

Mnohé z programov <strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> znakov majú rôzne metódy<br />

<strong>pre</strong>dspracovania <strong>obrazu</strong>, ktorý nie je priamo vhodný na <strong>rozpoznávanie</strong>. Bol<br />

som však <strong>pre</strong>kvapený tým, že žiadny program nemá takú metódu <strong>pre</strong>dspra-<br />

covania <strong>obrazu</strong>, ktorá by umožnovala rozpoznať aj taký obraz, ktorý nemá<br />

pozadie od po<strong>pre</strong>dia separovateľné jednoduchým prahovaním. Teda stačí,<br />

aby na čierno-bielej tlačiarni bol vytlačený svetlo-sivý text s tmavo-sivým<br />

pozadím a žiadna z dostupných metód <strong>pre</strong>dspracovania <strong>obrazu</strong> neuspeje a<br />

tak neuspeje žiadny program <strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> znakov.<br />

Keďže som sa stretol s prípadmi, v ktorých som potreboval práve takýto<br />

text nechať rozpoznať, mal som osobnú motiváciu v realizácii takejto práce,<br />

ktorá by mi to umožnila. Z dostupných technológií umelej inteligencie som<br />

<strong>pre</strong> túto problematiku volil neurónové siete, <strong>pre</strong>tože tie sa ukázali ako najv-<br />

hodnejší prostriedok <strong>pre</strong> samo-adaptujúcu sa dvojrozmernú filtráciu <strong>obrazu</strong>.<br />

V tejto práci je teda možné dočítať sa o ich aplikácii do problematiky <strong>pre</strong>d-<br />

spracovania <strong>obrazu</strong> a je možné zistiť nutné podmienky <strong>pre</strong> ich funkčnosť v<br />

tejto oblasti.


Obsah<br />

Formulácia úlohy 1<br />

1 Úvod do <strong>optické</strong>ho rozpoznávania <strong>obrazu</strong> 2<br />

1.1 Rozdiel medzi optickým a digitálnym rozpoznávaním znakov . 2<br />

1.2 Trénovanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

1.3 Stručná história ORZ . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.4 Metódy ORZ . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2 Prehľad metód <strong>pre</strong>dspracovania <strong>obrazu</strong> 7<br />

2.1 Prahovanie podľa histogramu . . . . . . . . . . . . . . . . . . 8<br />

2.2 Vyhladzovanie a zostrovanie <strong>obrazu</strong> . . . . . . . . . . . . . . . 12<br />

2.3 Detekcia hrán . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

2.4 Odstraňovanie šumu . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.5 Inverzia farieb . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

3 Návrh <strong>pre</strong>dspracovania <strong>obrazu</strong> pomocou neurónovej siete 17<br />

3.1 Neurónová sieť ako prostriedok <strong>pre</strong>dspracovania <strong>obrazu</strong> . . . . 17<br />

3.2 Algoritmus metódy spätného šírenia chyby . . . . . . . . . . . 20<br />

3.3 Návrh aplikácie <strong>pre</strong>dspracovania <strong>obrazu</strong> pomocou neurónovej<br />

siete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

4 Experimenty na generovanom obraze 28<br />

4.1 Generovanie obrazových dát . . . . . . . . . . . . . . . . . . . 28<br />

4.2 Vytváranie trénovacej a testovacej množiny . . . . . . . . . . . 29<br />

4.3 Závislosť úspešnosti učenia na kombinácii po<strong>pre</strong>dia a pozadia<br />

<strong>obrazu</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

4.4 Závislosť úspešnosti učenia na veľkosti vstupnej vrstvy . . . . 34<br />

4.5 Závislosť úspešnosti učenia na veľkosti skrytej vrstvy . . . . . 36<br />

4.6 Závislosť úspešnosti učenia sa na inicializácii neurónovej siete . 38<br />

4.7 Vplyv šumu na schopnosť učenie sa neurónovej siete . . . . . . 40


5 Experimenty na snímanom obraze 44<br />

5.1 Závislosť úspešnosti učenia na veľkosti vstupnej vrstvy . . . . 45<br />

5.2 Závislosť úspešnosti učenia sa na veľkosti skrytej vrstvy . . . . 49<br />

5.3 Vplyv veľkosti trénovacej množiny na kvalitu spracovania <strong>obrazu</strong> 51<br />

5.4 Vplyv distribúcie prvkov v trénovacej množine na kvalitu spra-<br />

covania <strong>obrazu</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

5.5 Závislosť výsledkov spracovania od poradia lokálneho minima . 60<br />

5.6 Porovnanie úspešnosti rôznych programov <strong>pre</strong> <strong>optické</strong> rozpoz-<br />

návanie znakov . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

6 Celkové zhodnotenie 65<br />

7 Záver 67<br />

Zoznam obrázkov 70<br />

Zoznam tabuliek 73<br />

A Ukážka aplikácie ’Image PreProcessor’ 74<br />

B Abstrakt diplomovej práce v anglickom jazyku 81


FEI TU v Košiciach Diplomová práca List č. 1<br />

Formulácia úlohy<br />

Osnova práce:<br />

1. Vypracovať úvod do problematiky <strong>optické</strong>ho rozpoznávania znakov a<br />

<strong>pre</strong>hľad metód <strong>pre</strong>dspracovania <strong>obrazu</strong> <strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> zna-<br />

kov.<br />

2. Navrhnúť spôsob <strong>pre</strong>dspracovania s využitím neurónových sietí.<br />

3. Implementovať navrhnutý systém a simulátor tlače textu<br />

4. Realizovať experimenty za účelom nastavenia systému a porovnania<br />

jednotlivých spôsobov prístupu.<br />

5. Zhodnotiť realizované experimenty a možné praktické využitie.<br />

6. Vypracovať dokumentáciu podľa pokynov vedúceho diplomovej práce.<br />

Celá práca je rozdelená do piatich kapitol, pričom prvé dve kapitoly sú<br />

informatívneho charakteru z dôvodu uvedenia čitateľa do problematiky optic-<br />

kého rozpoznávania znakov, potreby a metódy <strong>pre</strong>dspracovania <strong>obrazu</strong>. Tieto<br />

dve kapitoly tiež objasňujú dôvody vypracovania tejto práce.<br />

Tretia kapitola je zameraná na popis využitia neurónových sietí ako pros-<br />

triedkov <strong>pre</strong>dspracovania <strong>obrazu</strong> a teoretický podklad s tým súvisiaci.<br />

Kapitoly 4 a 5 obsahujú experimenty realizované za účelom nastavenia<br />

systému <strong>pre</strong>dspracovania <strong>obrazu</strong>, pričom kapitola 4 obsahuje experimenty<br />

realizované na generovanom obraze a kapitola 5 obsahuje experimenty reali-<br />

zované na reálnom, snímanom obraze.


FEI TU v Košiciach Diplomová práca List č. 2<br />

1 Úvod do <strong>optické</strong>ho rozpoznávania <strong>obrazu</strong><br />

Optické <strong>rozpoznávanie</strong> znakov (anglicky: Optical character recognition, skrá-<br />

tene: OCR) je spôsob, ktorým počítače menia obraz s tlačeným textom (väč-<br />

šinou získaný zo scanneru) na editovateľný text (kde každý znak je re<strong>pre</strong>-<br />

zentovaný jedným bytom). Optické <strong>rozpoznávanie</strong> znakov (ďalej len ORZ)<br />

sa začalo skúmať ako časť umelej inteligencie a počítačového videnia.<br />

Aj keď výskum ORZ ďalej pokračuje ako časti umelej inteligencie aj<br />

na akademickej pôde, mnoho firiem a jednotlivcom sa sústredilo hlavne na<br />

implementáciu osvedčených techník <strong>pre</strong> ORZ.<br />

1.1 Rozdiel medzi optickým a digitálnym rozpoznáva-<br />

ním znakov<br />

V oblasti rozpoznávania znakov sa podľa [9] rozlišovali dve základné spôsoby:<br />

- <strong>optické</strong> <strong>rozpoznávanie</strong> znakov pomocou zrkadiel, šošoviek, atď.<br />

- digitálne <strong>rozpoznávanie</strong> znakov pomocou scannerov a počítačových al-<br />

goritmov<br />

Keďže v súčastnosti existuje už len veľmi málo skutočne optických tech-<br />

ník, boli tieto dve oblasti zlúčené a teda aj digitálne <strong>rozpoznávanie</strong> znakov<br />

sa dnes označuje ako <strong>optické</strong> <strong>rozpoznávanie</strong> znakov.<br />

1.2 Trénovanie<br />

Prvé systémy ORZ vyžadovali trénovanie programu <strong>pre</strong> ORZ aby vedeli daný<br />

font rozpoznať. Moderné programy <strong>pre</strong> ORZ už dokážu rozpoznať väčšinu<br />

fontov s veľkou <strong>pre</strong>snosťou. Niektoré z týchto programov dokážu vytvoriť<br />

dokument, ktorý má rovnaké rozloženie ako pôvodný dokument (zachovanie<br />

odstavcov, tabuliek, obrázkov). V súčasnosti sa používa ORZ <strong>pre</strong> rozpozná-<br />

vanie tlačeného textu, ručne písaného textu a nôt.


FEI TU v Košiciach Diplomová práca List č. 3<br />

Obr. 1: Priebeh rozpoznania znakov na obraze<br />

1.3 Stručná história ORZ<br />

Podľa [9] v roku 1950 bol David Shepard, ktorý bol šifrantom v AFSA (agen-<br />

túra <strong>pre</strong>dchádzajúca NSA), požiadaný Frankom Rowlettom, ktorý <strong>pre</strong>lomil<br />

japonský fialový diplomatický kód, aby spolupracoval s Dr. Louisom Tordel-<br />

lom na návrhu automatizovanej procedúry <strong>pre</strong> túto agentúru. To zahrňovalo<br />

problém <strong>pre</strong>vedenia tlačených správ na strojový jazyk <strong>pre</strong> spracovanie počí-<br />

tačom. Shepard sa rozhodol, že musí byť možné postaviť ’Zariadenie’, ktoré<br />

toho bude schopné a s pomocou Harveyho Cooka v jeho podkrovnej izbe zho-<br />

tovili zariadenie po večeroch a víkendoch. Oznámili to 27. apríla 1951 noviny<br />

’Washington Daily News’ a 26. decembra 1953 noviny ’New York Times’ po<br />

tom, ako bol vydaný patent 2,663,758. Shepard potom založil firmu Intel-<br />

ligent Machines Research (ďalej len IMR), ktorá dodala prvý systém ORZ<br />

použitý <strong>pre</strong> komerčné účely. Aj keď Zariadenie a neskoršie IMR systémy po-<br />

užívali analýzu <strong>obrazu</strong> miesto porovnávania znakov a dokázali spracovať aj<br />

obrazy s malými zmenami fontov, Zariadenie bolo obmedzené na dostatočne


FEI TU v Košiciach Diplomová práca List č. 4<br />

<strong>pre</strong>sné vertikálne umiestnenie záznamu, pričom nasledujúce komerčné IMR<br />

scannery analyzovali znaky kdekoľvek v snímanej oblasti, čo je potrebné <strong>pre</strong><br />

bežné dokumenty.<br />

Prvý komerčný systém bol nainštalovaný do Readers Digest v roku 1955,<br />

ktorý bol o mnoho rokov neskôr darovaný inštitúcii Smithsonian (americká<br />

vzdelávacia a historická inštitúcia), kde bol vystavený. Druhý systém bol <strong>pre</strong>-<br />

daný spoločnosti Standart Oil Company v Kalifornii na čítanie vyrazených<br />

čísiel na kreditných kartách na účtovacie účely. Mnoho ďalších systémov bolo<br />

<strong>pre</strong>daných ďalším ropným spoločnostiam. Ďalšie IMR systémy <strong>pre</strong>dané kon-<br />

com šesťdesiatych rokov boli čítačky ústrižkov účtov <strong>pre</strong> Ohio Bell Telephone<br />

Company a snímače stránok <strong>pre</strong> americké letectvo <strong>pre</strong> čítanie a <strong>pre</strong>nášanie<br />

správ cez ďalekopisy. IBM a iné firmy kupovali licencie na Shepardove pa-<br />

tenty ORZ.<br />

Poštové služby spojených štátov používali zariadenia ORZ na triedenie<br />

pošty od roku 1965 založené na technológii navrhnutej hlavne vynálezcom Ja-<br />

cobom Rabinowom. Kanadská pošta používala systémy ORZ od roku 1971.<br />

Systémy ORZ čítali meno a adresu adresáta v prvom mechanizovanom trie-<br />

diacom stredisku a tlačili smerovací čiarový kód založený na poštovom sme-<br />

rovacom čísle na obálku. Potom listy museli byť len rozriedené v ďalších<br />

strediskách pomocou lacnejších triedičov, ktoré už čítali len čiarový kód. Pre<br />

zabránenie miešania sa čiarového kódu s človekom písanou adresou bol pou-<br />

žitý špeciálny atrament ktorý je zreteľne viditeľný pod UV svetlom. Tento<br />

atrament je pod normálnym svetlom oranžový.<br />

1.4 Metódy ORZ<br />

Aj <strong>pre</strong> ORZ platí, že je možné ho realizovať viac ako jednou metódou. Je<br />

vhodné spomenúť najčastejšie používané metódy, <strong>pre</strong>tože každá z týchto me-<br />

tód má svoje výhody a nevýhody. Výber metódy následne ovplyvňuje pod-<br />

porné procesy a metódy a tiež výsledky dosiahnuté danou metódou.<br />

Podľa [10, 11, 12] sú najčastejšie metódy ORZ tieto:<br />

- maticové porovnávanie <strong>obrazu</strong> so šablónami


FEI TU v Košiciach Diplomová práca List č. 5<br />

- extrakcia vlastností z <strong>obrazu</strong><br />

- <strong>rozpoznávanie</strong> pomocou neurónových sietí<br />

- iné algoritmy a mechanizmy<br />

- hybridné algoritmy<br />

Maticové porovnávanie <strong>obrazu</strong> so šablónami funguje tak, že každá<br />

časť <strong>obrazu</strong>, kde sa <strong>pre</strong>dpokladá že sa nachádza znak, sa bod po bode po-<br />

rovnáva so šablónou každého písmena a za rozpoznaný znak sa považuje<br />

ten, ktorého šablóna dosiahla pri porovnávaní najvyššiu a postačujúcu mieru<br />

podobnosti <strong>obrazu</strong> so šablónou. Nevýhodou takéhoto rozpoznávania je silná<br />

závislosť úspešnosti rozpoznania na natrénovanom fonte, tiež závislosť úspeš-<br />

nosti rozpoznania na <strong>pre</strong>snej horizontálnej orientácii písmena.<br />

Podľa [11] ORZ založené na extrakcii vlastností z <strong>obrazu</strong> pozostáva<br />

z dvoch krokov:<br />

1. samotný proces extrakcie vlastností z <strong>obrazu</strong>, čo je vlastne zistenie prí-<br />

tomnosti čiar, kriviek, <strong>pre</strong>tnutí čiar, prázdnych oblastí a ich orientácie<br />

a umiestnenia v skúmanom obraze<br />

2. rozpoznanie písmen na základe kombinácie vlastností a ich pozície a<br />

umiestnenia z prvého kroku<br />

Výhodou takéhoto ORZ je, že znaky alebo celé riadky môžu byť natočené<br />

(nemusia byť <strong>pre</strong>sne horizontálne umiestnené) a napriek tomu môžu byť takto<br />

správne rozpoznané.<br />

ORZ pomočou neurónových sietí sa spôsobom fungovania podobajú<br />

maticovému porovnávaniu <strong>obrazu</strong> so šablónami, ale v tomto prípade systém<br />

neobsahuje šablóny písmen priamo, ale tie sú uchované vo váhach synapsií<br />

neurónových sietí, kde sa dostanú vo fáze trénovania neurónovej siete. Výho-<br />

dou tejto metódy je, že ak je vhodne použitá, môže byť oveľa flexibilnejšia a<br />

efektívnejšia ako ostatné metódy.<br />

Hybridné algoritmy ORZ kombinujú viaceré metódy, a to buď:


FEI TU v Košiciach Diplomová práca List č. 6<br />

- sériovo - metódy sú použité za sebou (napr. najprv sa robí extrakcia<br />

vlastností z <strong>obrazu</strong> a v druhej fáze sa použije rozpoznanie písmen ne-<br />

urónovou sieťou podľa vlastností získaných z <strong>obrazu</strong>)<br />

- paralelne - každá z metód sa aplikuje na obraz zvlášť a ako výsledok<br />

rozpoznania sa použije buď najlepší výsledok, alebo sa výsledky sprie-<br />

merujú a použije sa priemer<br />

Kombináciou viacerých algoritmov sa dosahuje lepšia <strong>pre</strong>snosť a flexibilita.<br />

Na celkovú kvalitu a úspešnost ORZ vplýva kvalita zosnímaného<br />

<strong>obrazu</strong> a kvalita <strong>pre</strong>dspracovania <strong>obrazu</strong>. Dobré <strong>pre</strong>dspracovanie<br />

<strong>obrazu</strong> dokáže zlepšiť úspešnosť rozpoznania o 90%.


FEI TU v Košiciach Diplomová práca List č. 7<br />

2 Prehľad metód <strong>pre</strong>dspracovania <strong>obrazu</strong><br />

Táto časť diplomovej práce je zameraná na metódy spracovania a <strong>pre</strong>dspra-<br />

covania <strong>obrazu</strong> <strong>pre</strong>d optickým rozpoznávaním znakov. Je potrebné mať zá-<br />

kladné znalosti o týchto metódach, <strong>pre</strong>tože väčšina programov <strong>pre</strong> <strong>optické</strong><br />

<strong>rozpoznávanie</strong> znakov z <strong>obrazu</strong>:<br />

- potrebuje <strong>pre</strong> korektné rozpoznanie znakov to, aby pozadie za znakmi<br />

bolo čo najviac svetlé (najlepšie biele) a znaky samotné boli dostatočne<br />

tmavé,<br />

- obsahuje v sebe rôzne metódy <strong>pre</strong>dspracovania <strong>obrazu</strong>.<br />

Väčšina bežných metód <strong>pre</strong>dspracovania <strong>obrazu</strong> je však účinná len <strong>pre</strong> nie-<br />

ktoré druhy <strong>obrazu</strong> a teda je tiež dôvodom, <strong>pre</strong>čo programy zlyhávajú v<br />

optickom rozpoznávaní znakov.<br />

Bežné metódy <strong>pre</strong>dspracovania <strong>obrazu</strong> v programoch <strong>pre</strong> <strong>optické</strong> rozpozná-<br />

vanie znakov sú:<br />

- prahovanie podľa histogramu<br />

- vyhladzovanie<br />

- zostrovanie<br />

- detekcia hrán<br />

- odstraňovanie šumu<br />

- inverzia farieb<br />

- iné číslicové dvojrozmerné filtre<br />

V popise jednotlivých metód <strong>pre</strong>dspracovania sa bude hovoriť o obraze<br />

vždy ako o množine bodov definovaných jednou hodnotou - odtieňom šedi.


FEI TU v Košiciach Diplomová práca List č. 8<br />

Je to <strong>pre</strong>to, lebo väčšina proramov <strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> znakov pra-<br />

cuje buď s obrazom v odtieňoch šedi, alebo s obrazom monochromatickým;<br />

zároveň tým uľahčím popis jednotlivých metód.<br />

Existujú ďalšie metódy <strong>pre</strong>dspracovania <strong>obrazu</strong> <strong>pre</strong>d optickým rozpoz-<br />

návaním (napríklad otočenie, rozdelenie <strong>obrazu</strong>, atď.), ale tieto metódy tu<br />

nebudú popísané, <strong>pre</strong>tože sa už nevzťahujú na spracovanie <strong>obrazu</strong> zmenou<br />

úrovne šedi bodov, ale jedná sa o metódy spôsobujúce zmenu polohy bodov<br />

v obraze. Táto diplomová práca je zameraná práve na metódy, ktoré menia<br />

úroveň šedi obrazových bodov.<br />

2.1 Prahovanie podľa histogramu<br />

Histogram je definovaný ako graf z<strong>obrazu</strong>júci počet výskytov jednotlivých<br />

odtieňov šedi, pričom vľavo sa nachádza výskyt čiernej farby a postupným<br />

<strong>pre</strong>chodom doprava sa z<strong>obrazu</strong>je výskyt svetlejších farieb až po bielu, ktorá<br />

sa nachádza úplne vpravo.<br />

kde:<br />

Pre histogram musí platiť vzťah:<br />

N=<br />

255<br />

<br />

k=0<br />

- N - celkový počet obrazových bodov (výška * šírka)<br />

- k - poradie odtieňu šedi (<strong>pre</strong> bielu farbu je k=0, <strong>pre</strong> čiernu farbu je<br />

k=255)<br />

- hk - počet výskytov odtieňu šedi s poradím k<br />

Graf histogramu je zobrazený tak, že jednotlivé počty výskytov sú nor-<br />

malizované normalizačným koeficientom, aby odtieň šedi s najväčším počtom<br />

výskytu v skúmanom obraze mal maximálnu požadovanú výšku v grafe.<br />

hk<br />

(1)


FEI TU v Košiciach Diplomová práca List č. 9<br />

V ideálnom prípade je farba pozadia textu a farba textu samotného roz-<br />

dielna, navyše pozadie a po<strong>pre</strong>die sú tvorené len jednou farbou(viď obrázok<br />

2 - vľavo), čo sa v histograme <strong>pre</strong>javí tak, že je vidno len dve zvislé čiary<br />

(viď obrázok 2 - v strede).<br />

Ak je pozadie tvorené kombináciou viacerých odtieňov šedi a písmo sa-<br />

motné má napríklad zahladené hrany (tzv. anti-aliasing) (viď obrázok 3 -<br />

vľavo), histogram z<strong>obrazu</strong>je dve oblasti - jedna vyššia, ktorá <strong>pre</strong>dstavuje po-<br />

zadie (<strong>pre</strong>tože pozadie tvorí približne 90% <strong>obrazu</strong>) a jedna nižia oblasť, ktorá<br />

<strong>pre</strong>dstavuje výskyt bodov textu (tie majú pokrytie zvyšných 10% <strong>obrazu</strong>)<br />

(viď obrázok 3 - v strede).<br />

Po vytlačení <strong>obrazu</strong> čierno-bielou tlačiarňou, na ktorom je svetlé pozadie<br />

a tmavé písmo, na papieri získame obraz, v ktorom sú zdanlivé odtieňe šedi<br />

vytvorené rôznymi vzormi (viď obrázok 4 - vľavo). Na obraze sa v skutočnosti<br />

nachádza len jedna farba (čierna), histogram teda z<strong>obrazu</strong>je len jednu čiaru<br />

úplne vľavo (viď obrázok 4 - v strede).<br />

Po zosnímaní tlačeného <strong>obrazu</strong> scannerom získame obraz (viď obrázok 5<br />

- vľavo), na ktorom je mierne vidno aj pôvodné vzory, ktorými boli dosia-<br />

hnuté zdanlivé odtiene šedi, je však aj vidno odtiene šedi, ktoré v skutočnosti<br />

vytlačené neboli a vznikli optickým snímaním <strong>obrazu</strong>. Histogram takéhoto<br />

<strong>obrazu</strong> z<strong>obrazu</strong>je, že sa v takomto obraze nachádzajú rôzne odtieňe šedi (viď<br />

obrázok 5 - v strede).<br />

Prahovanie je metóda, pri ktorej sa stanoví prah rozhrania čiernej a<br />

bielej farby (teda najtmavšieho a najsvetlejšieho odtieňu šedi). Matematicky<br />

je prahovanie definované takto:<br />

kde:<br />

px,y= 0: px,y=T<br />

- px,y - odtieň šedi bodu na súradniciach [x,y].<br />

- T - úroveň prahu<br />

(2)


FEI TU v Košiciach Diplomová práca List č. 10<br />

Prahovanie podľa histogramu sa realizuje tak, že z obrázku sa najprv<br />

vytvorí histogram a na histograme sa určí úroveň šedi re<strong>pre</strong>zentujúca pozadie<br />

a úroveň šedi re<strong>pre</strong>zentujúca písmo:<br />

- obrázok 2 - pozadiu v histograme odpovedá pravá, vyššia čiara, písmu<br />

odpovedá ľavá, nižšia čiara<br />

- obrázok 3 - pozadiu v histograme odpovedá pravý, vyšší "kopček",<br />

písmu odpovedá ľavá, nižšia oblasť<br />

- obrázok 4 - kedže celý obrázok je tvorený len jedinou farbou (čiernou)<br />

a pozadie je biele, tak po<strong>pre</strong>diu odpovedá čiara úplne vpravo a písmu<br />

odpodá čiara úplne vľavo.<br />

- obrázok 5 - písmo a pozadie sú tvorené z podobných odtieňov šedi, nie<br />

je možné odlíšiť ktorá časť histogramu zodpovedá pozadiu alebo písmu<br />

Následne sa zvolí prah v strede týchto dvoch úrovní šedi, čím sa docieli, že<br />

každý bod s odtieňom šedi pod úrovňou prahu bude čierny a každý bod s<br />

odtieňom šedi nad úrovňou prahu bude biely.<br />

Z obrázkov a histogramov je teda zrejmé, že:<br />

- <strong>pre</strong> obrázky 2 a 3 je prahovanie podľa histogramu jednoduché a účinné<br />

- <strong>pre</strong> obrázok 4 prahovanie podľa histogramu nemá zmysel<br />

- <strong>pre</strong> obrázok 5 je prahovanie podľa histogramu neúčinné, resp. nepou-<br />

žiteľné<br />

Táto diplomová práca je zameraná na spracovanie <strong>obrazu</strong> takého, aký je<br />

znázornený na obrázku 5.


FEI TU v Košiciach Diplomová práca List č. 11<br />

Obr. 2: Zľava doprava: ideálny obraz, histogram <strong>obrazu</strong>, obraz spracovaný<br />

prahovaním<br />

Obr. 3: Zľava doprava: reálny obraz, histogram <strong>obrazu</strong>, obraz spracovaný<br />

prahovaním<br />

Obr. 4: Zľava doprava: tlačený obraz, histogram <strong>obrazu</strong>, obraz spracovaný<br />

prahovaním


FEI TU v Košiciach Diplomová práca List č. 12<br />

Obr. 5: Zľava doprava: zosnímaný obraz, histogram <strong>obrazu</strong>, obraz spracovaný<br />

prahovaním<br />

2.2 Vyhladzovanie a zostrovanie <strong>obrazu</strong><br />

Vyhladzovanie spôsobuje, že v obraze sa strácajú ostré <strong>pre</strong>chody. Jedná<br />

sa o dolnopriepustný dvojrozmerný filter, ktorý spôsobuje zmiznutie vyšších<br />

frekvencií (prudkých <strong>pre</strong>chodov) z <strong>obrazu</strong>.<br />

Vyhladzovanie je definované pomocou matice koeficientov, ktoré sa apli-<br />

kujú na obrazové body spracovaného <strong>obrazu</strong>. Ako je uvedené v [13], existujú<br />

viaceré metódy vyhladzovania <strong>obrazu</strong>, napríklad:<br />

⎛<br />

1<br />

⎜ 9<br />

⎜ 1<br />

⎝ 9<br />

1<br />

9<br />

1<br />

9<br />

1<br />

9<br />

1<br />

9<br />

⎞<br />

1<br />

9 ⎟<br />

1 ⎟<br />

9 ⎠<br />

1<br />

9<br />

spriemerňovanie<br />

⎛<br />

1<br />

⎜ 16<br />

⎜ 2<br />

⎝ 16<br />

1<br />

16<br />

2<br />

16<br />

4<br />

16<br />

2<br />

16<br />

⎞<br />

1<br />

16 ⎟<br />

2 ⎟<br />

16 ⎠<br />

1<br />

16<br />

Gaussove rozmazanie<br />

Zostrovanie spôsobuje, že v obraze sa vytvoria ostré <strong>pre</strong>chody medzi<br />

farbami. Táto metóda má <strong>pre</strong>sne opačný účinok ako vyhladzovanie, dala by<br />

(3)<br />

(4)


FEI TU v Košiciach Diplomová práca List č. 13<br />

sa nazvať inverznou metódou (nie je však celkom inverzná, <strong>pre</strong>tože niektoré<br />

straty v obraze spôsobené vyhladzovaním nedokážu vrátiť).<br />

Zostrovanie je definované maticou3 ×3 koeficientov, ktoré sú aplikované<br />

na spracovaný obraz. Existujú viaceré metódy zostrovania, napríklad:<br />

⎛<br />

⎜<br />

⎝<br />

0 - 2<br />

0 3<br />

- 2<br />

3<br />

11<br />

3 - 2<br />

3<br />

0 - 2<br />

3 0<br />

⎞<br />

⎟<br />

⎠<br />

štandartné zostrovanie<br />

⎛ ⎞<br />

-1 -1 -1<br />

⎜ ⎟<br />

⎜ ⎟<br />

⎜ -1 9 -1 ⎟<br />

⎝ ⎠<br />

-1 -1 -1<br />

odstraňovanie priemeru<br />

Vyhladzovanie a zostrovanie <strong>obrazu</strong> sa používa v tejto kombinácii,<br />

ak nie je pozadie a písmo tvorené spojitou oblasťou rovnakej (alebo veľmi<br />

podobnej) úrovne šedi. Vyhladenie teda z nespojitých bodov vytvorí spojitú<br />

oblasť a zostrenie zdôrazní rozdiely medzi pozadím a písmom. V niektorých<br />

prípadoch stačí použiť len vyhladenie. Za takýmto spracovaním väčšinou na-<br />

sleduje ešte prahovanie.<br />

Na obrázku 6 vidíme, že metóda vyhladenia pomohla pri spracovaní a<br />

pôvodný obraz mohol byť úspešne spracovaný prahovaním. Problematický je<br />

však obrázok 7, kde ani metóda vyhladzovania a zostrovania nepomohla <strong>pre</strong><br />

úplné odstránenie pozadia bez straty častí písma. Je však vhodné si všimnúť,<br />

že metóda vyhladzovania zlepšila výsledky metódy prahovania na obrázku 7.<br />

2.3 Detekcia hrán<br />

V niektorých prípadoch spracovania <strong>obrazu</strong> môže pomôcť detekcia hrán ako<br />

metóda <strong>pre</strong>dspracovania <strong>obrazu</strong>. Metóda ma koeficienty matice vypočítané<br />

(5)<br />

(6)


FEI TU v Košiciach Diplomová práca List č. 14<br />

Obr. 6: Zľava doprava: tlačený obraz, vyhladený obraz, obraz spracovaný<br />

prahovaním<br />

Obr. 7: Zľava doprava: zosnímaný obraz, vyhladený obraz, obraz spracovaný<br />

prahovaním


FEI TU v Košiciach Diplomová práca List č. 15<br />

Obr. 8: Zľava doprava: zosnímaný obraz, obraz po vyhladení a detekcii hrán,<br />

obraz spracovaný prahovaním<br />

tak, aby v spracovanom obraze našli zmenu úrovne šedi a vo výstupnom<br />

obraze ju zvýraznili (platí <strong>pre</strong> hrany písma); ostatné časti obrázku, kde ne-<br />

dochádza k zmene úrovne šedi na výstupe ostanú svetlé (platí <strong>pre</strong> pozadie<br />

písma). Podľa [13] je matica detekcie hrán napríklad takáto:<br />

⎛<br />

⎜<br />

⎝<br />

1 1 1<br />

0 0 0<br />

-1 -1 -1<br />

⎞<br />

⎟<br />

⎠<br />

matica detekcie horizontálnych hrán<br />

Na obrázku 8 v strede vidíme obraz spracovaný detekciou hrán. Je vhodné<br />

poznamenať, že <strong>pre</strong>d touto detekciou hrán bolo na zosnímanom obraze reali-<br />

zovať ešte metódu vyhladzovania, <strong>pre</strong>tože pôvodný obraz bol veľmi členitý a<br />

detekcia hrán našla mnoho falošných hrán, ktoré neboli hranami písma. Na<br />

záver som ešte aplikoval metódu prahovania (obrázok 8 vpravo).<br />

Možno by bolo vhodné ešte na výstupný obraz použiť nejakú metódu<br />

odstraňovania šumu, aby sa stratili osamotené zhluky bodov, ktoré nepatria<br />

k písmu samotnému. Program <strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> znakov by sa však<br />

v tomto prípade musel vysporiadať z dutým písmom.<br />

(7)


FEI TU v Košiciach Diplomová práca List č. 16<br />

2.4 Odstraňovanie šumu<br />

Metódu odstraňovania šumu môžeme realizovať viacerými spôsobmi. Najjed-<br />

noduchší spôsob je použitie vyhladzovania (viď strana 12), ten však veľmi<br />

tmavé body neodstráni, ale len ich zjemní (zmení ich úroveň šedi tak, že sú<br />

svetlejšie). Pre lepšie odstraňovanie šumu sa používajú dvojrozmerné dolnop-<br />

riepustné filtre (re<strong>pre</strong>zentované maticou koeficientov3 ×3 a väčšou), alebo<br />

algoritmy na odstraňovanie šumu (v princípe fungujú tak, že rekurzívne počí-<br />

tajú počet susediacich tmavých bodov a ak je ich počet menší ako stanovený<br />

prah, tak danú oblasť bodov vymažú).<br />

Odstraňovanie sumu je vlastne pomocná metóda <strong>pre</strong>dspracovania <strong>obrazu</strong>,<br />

<strong>pre</strong>tože kvalitu <strong>obrazu</strong> len dodatočne vylepšuje, ale nerobí hlavné zmeny v<br />

obraze.<br />

2.5 Inverzia farieb<br />

Inverzia farieb, resp. odtieňov šedi sa používa, ak je pozadie písma tmavšie,<br />

ako písmo samotné. Je potrebné urobiť inverziu farby bodov, ak pokrytie<br />

tmavými bodmi je viac ako 80% alebo pokrytie smetlými bodmi menšie ako<br />

20%. Pre inverziu platí vzťah:<br />

kde p je hodnota úrovne šedi obrazového bodu.<br />

p=255 − p (8)


FEI TU v Košiciach Diplomová práca List č. 17<br />

3 Návrh <strong>pre</strong>dspracovania <strong>obrazu</strong> pomocou ne-<br />

urónovej siete<br />

Táto časť diplomovej práce je zameraná na <strong>pre</strong>dspracovanie <strong>obrazu</strong> pomocou<br />

neurónovej siete. Obsahuje technické detaily súvisiace s neurónovou sieťou,<br />

návrhom aplikácie a popis rozhodnutí učinených v jednotlivých častiach ná-<br />

vrhu tejto metódy a demonštračnej aplikácie.<br />

3.1 Neurónová sieť ako prostriedok <strong>pre</strong>dspracovania ob-<br />

razu<br />

Po <strong>pre</strong>došlých častiach poznáme metódty <strong>pre</strong>dspracovania <strong>obrazu</strong>. Väčšina<br />

týchto metód bola založená na maticovom spracovaní <strong>obrazu</strong>, pričom bola<br />

definovaná matica koeficientov spracovania <strong>obrazu</strong> veľkosti3 ×3 takto:<br />

K= {kx,y} <strong>pre</strong> x=1 . . .3, y=1 . . .3 (9)<br />

Týmito koeficientami sa násobili hodnoty úrovne šedi obrazových bodov a tak<br />

sa vypočítala nová úroveň šedi <strong>pre</strong> bod ležiaci v strede maticou spracovanej<br />

oblasti (teda výstupom bol bod so súradnicami[2,2] vzhľadom k umiest-<br />

neniu matice v obraze). Táto transformácia vstupných bodov na výstupné<br />

je znázornená na obrázku 9, pričom do znázornených bodov vľavo vstupujú<br />

úrovne šedi vstupného <strong>obrazu</strong>, vpravo získame výstupnú hodnotu úrovne šedi<br />

a váhy <strong>pre</strong>pojení medzi vstupom a výstupom re<strong>pre</strong>zentujú koeficienty matice<br />

K.<br />

Pre lepšie <strong>pre</strong>dspracovanie <strong>obrazu</strong>, ako ponúkajú súčasné metódy <strong>pre</strong>d-<br />

spracovania, bolo potrebné použiť niečo iné, ako štandartné maticové metódy.<br />

Spôsobom fungovania k <strong>pre</strong>došlému príkladu sa najviac z prvkov umelej in-<br />

teligencie blížia neurónové siete, <strong>pre</strong>tože <strong>pre</strong>došlý maticový filter je vlastne<br />

n-vstupový jednoduchý perceptrón bez aktivačnej funkcie. Použitím neuró-<br />

novej siete teda môžeme realizovať filtráciu <strong>obrazu</strong> veľmi podobne ako pri<br />

maticových metódach, ale s takýmito rozdielmi:


FEI TU v Košiciach Diplomová práca List č. 18<br />

in<br />

in<br />

in<br />

1,1<br />

1,2<br />

1,3<br />

in<br />

in<br />

in<br />

2,1<br />

2,2<br />

23<br />

in<br />

in<br />

in<br />

3,1<br />

3,2<br />

3,3<br />

k<br />

2,1<br />

k<br />

1,3<br />

k<br />

3,1<br />

out<br />

Obr. 9: Vľavo: vstup úrovní šedi, vpravo: výstupná úroveň šedi<br />

- nelineárne aktivačné funkcie obsiahnuté v neurónovej sieti môžu zlepšiť<br />

kontrast výstupného <strong>obrazu</strong> oproti lineárnej filtrácii, <strong>pre</strong>tože s vhodnou<br />

kombináciou váh synapsií dve blízke vstupné úrovne šedi môžu mať na<br />

výstupe viac odlišné úrovne šedi ako pri lineárnej filtrácii<br />

- nie je potrebné vo<strong>pre</strong>d určiť koeficienty spracovania <strong>obrazu</strong> (váhy sy-<br />

napsií), ale je ich možné adaptovať <strong>pre</strong> každý spracovaný obraz indivi-<br />

duálne<br />

- rôzne váhy synapsií <strong>pre</strong> rôzne typy obrazov dosahujú lepšie výsledky<br />

spracovania ako jedna sada váh synapsií alebo koeficientov matice po-<br />

užitých <strong>pre</strong> všetky typy obrazov<br />

Pre aplikáciu <strong>pre</strong>dspracovania <strong>obrazu</strong> som zvolil do<strong>pre</strong>dnú neurónovú sieť<br />

takto:<br />

- typ neurónovej siete: do<strong>pre</strong>dná neurónová sieť kvôli podobnosti<br />

so štandartnými metódami spracovania<br />

- metóda učenia siete: štandartné spätné šírenie chyby - osved-<br />

čený a postačujúco efektívny algoritmus


FEI TU v Košiciach Diplomová práca List č. 19<br />

- vstupná vrstva: matica n × n neurónov, znova sa vychádza zo<br />

štandartných metód spracovania <strong>obrazu</strong>. Rozmer n bude určený podľa<br />

experimentov <strong>pre</strong> dosiahnutie najlepších výsledkov.<br />

- skrytá vrstva: m, hodnota m bude určená experimentami, prípadne<br />

overená potreba ďalších skrytých vrstiev.<br />

- výstupná vrstva: 2 neuróny. Jednoduchým pokusom sa ukázalo, že<br />

je <strong>pre</strong> neurónovú sieť je ľahšie realizovať filtráciu jedného bodu s po-<br />

mocou znalosti jeho okolia, ako filtráciu n × n bodov súčasne. Výstup<br />

teda obsahuje jeden neurón, ktorého výstup má hodnotu zodpoveda-<br />

júcu úrovni šedi a druhý neurón má invertovanú hodnotu dozpoveda-<br />

júcu úrovni šedi. Takáto konfigurácia vychádza z myšlienky, že neuró-<br />

nová sieť sa bude ľahšie učiť, ak bude mať o výstupe viac informácií.<br />

- spôsob <strong>pre</strong>pojenia vrstiev: plné <strong>pre</strong>pojenie, tzn. že každý neurón<br />

vo vrstve má spojenie s každým neurónom z <strong>pre</strong>došlej vrstvy.<br />

N<br />

- vstupná funkcia: xj= ini ∗ wij+ φj<br />

i=1<br />

- aktivačná funkcia: f(xi)=<br />

1<br />

1+e −λ∗x i<br />

Takáto neurónová sieť je znázornená na obrázku 10, pričom kvôli názornosti<br />

a bola zvolená vstupná vsrtva veľkosti3×3 ako pri štandartných maticových<br />

metódach <strong>pre</strong>dspracovania <strong>obrazu</strong>.


FEI TU v Košiciach Diplomová práca List č. 20<br />

in1,1<br />

in1,2<br />

in1,3<br />

in2,1<br />

in2,2<br />

in2,3<br />

in3,1<br />

in3,2<br />

in3,3<br />

h 1<br />

h 2<br />

h 3<br />

out1<br />

out2<br />

Obr. 10: Do<strong>pre</strong>dná neurónová sieť <strong>pre</strong> spracovanie <strong>obrazu</strong>. Zľava doprava:<br />

vstupná vrstva, skrytá vrstva, výstupná vrstva.<br />

3.2 Algoritmus metódy spätného šírenia chyby<br />

Pre realizovanie filtrácie <strong>obrazu</strong> potrebujeme okrem konceptu aplikácie, kon-<br />

ceptu neurónovej siete a popisu vstupných dát ešte popis metódy učenia sa<br />

neurónovej siete, aby bolo možné toto učenie sa realizovať. Nakoľko na filtrá-<br />

ciu <strong>obrazu</strong> by mala postačovať bežná do<strong>pre</strong>dná neurónová sieť, zvolil som ako<br />

metódu učenia štandartné spätné šírenie chyby, čo je metóda kontrolovaného<br />

učenia sa neurónovej siete.<br />

Pretože účelom tejto diplomovej práce nie je skúmanie a ani úprava me-<br />

tódy spätného šírenia chyby, obmedzím popis metódy na najmenšiu možnú<br />

mieru. Pre podrobnejší popis tejto metódy, jej odvodenie alebo <strong>pre</strong> súvi-<br />

siacu teóriu odporúčam <strong>pre</strong>študovať uvedenú použitú literatúru, konkrétne<br />

[1]. Algoritmus metódy spätného šírenia chyby je nasledovný:<br />

1. Pre každý vstupný vektor realizujem do<strong>pre</strong>dné šírenie signálu neuróno-<br />

vou sieťou, pričom na výstupe získam výstupný vektor.<br />

2. Výpočtom určím chybu dosiahnutú na danom vstupnom vektore.<br />

3. Pre váhy výstupných neurónov vypočítam zmenu δ na základe para-<br />

metrov učenia a dosiahnutej chyby


FEI TU v Košiciach Diplomová práca List č. 21<br />

4. Pre váhy iných ako výstupných neurónov vypočítam zmenu δ.<br />

5. Pomocou vypočítaných hodnôt δ a parametrov učenia realizujem zmenu<br />

váh synapsií každého neurónu.<br />

6. Postup opakujem <strong>pre</strong> ďalšie vstupné vektory.<br />

7. Vypočítam dosiahnutú chybu na vstupných vektoroch z trénovacej mno-<br />

žiny.<br />

8. Ak som dosiahol požadovanú chybu, tak výpočet končím, v opačnom<br />

prípade celý výpočet opakujem.<br />

Zvolíme si aktivačnú funkciu neurónu takto:<br />

fakt(x)=<br />

1<br />

1+e −x<br />

(10)<br />

Priebeh tejto aktivačnej funkcie je zobrazený na obrázku 11 a označuje sa<br />

’sigmoida’. V prvom kroku metódy spätného šírenia chyby sa používa táto<br />

aktivačná funkcia <strong>pre</strong> dosiahnutie nelinearity medzi vstupom a výstupom.<br />

Vstupná funkcia nech je definovaná takto:<br />

N<br />

xj= ini ∗ wij+ φj<br />

i=1<br />

(11)<br />

teda vstupy do neurónu sú <strong>pre</strong>násobené hodnotami váh synapsií, ktorými<br />

vstupný signál vstupuje do neurónu, tieto hodnoty sú následne sčítané a je<br />

prirátaný prah φj. Pre zjednodušenie majú všetky (okrem vstupných) ne-<br />

uróny prah φj= −1, teda by sa dalo napísať, že <strong>pre</strong> všetky neuróny, ktoré<br />

nie sú vstupné, platí:<br />

N<br />

xj= ini ∗ wij −1 (12)<br />

i=1


FEI TU v Košiciach Diplomová práca List č. 22<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

−8 −6 −4 −2 0 2 4 6 8<br />

Obr. 11: Priebeh aktivačnej funkcie neurónu. Na osi X je vstupná hodnota<br />

do aktivačnej funkcie, na osi Y je výstupná hodnota z aktivačnej funkcie.<br />

Po vypočítaní skutočného výstupu z neurónovej siete je potrebné vypo-<br />

čítať chybu neurónovej siete (krok 2) takto:<br />

ej= pj − yj<br />

(13)<br />

čo je vlastne rozdiel medzi požadovanou hodnotou pj na neuróne j a sku-<br />

točným výstupom yj. Ešte je potrebné vypočítať celkovú kvadratickú chybu<br />

(MSE) <strong>pre</strong> všetky výstupné neuróny takto:<br />

J= 1<br />

2<br />

N<br />

j=1<br />

e 2 j =1<br />

2<br />

N<br />

(pj − yj)<br />

j=1<br />

2<br />

(14)<br />

Pri algoritme sptného šírenia chyby je potrebné poznať aj deriváciu tejto<br />

aktivačnej funkcie, <strong>pre</strong>tože táto metóda učenia je založená na znalosti, že<br />

pribeh funkcie najstrmšie klesá v smere gradientu funkcie, ktorému v našom<br />

prípade zodpovedá derivácia aktivačnej funkcie, teda:


FEI TU v Košiciach Diplomová práca List č. 23<br />

fder(x)=<br />

e −x<br />

1+2e −x + e −2x<br />

Teraz môžeme vypočítať gradient úmerný zmene konkrétnej váhy, a to:<br />

(15)<br />

δj= fder(xj).ej= fder(xj).(pj − yj) (16)<br />

Pre učenie máme zvolený parameter γ, ktorý určuje rýchlosť učenia, ale tiež<br />

<strong>pre</strong>snosť zmien váh. Pre začiatok učenia je vhodné, aby bol parameter γ<br />

väčší a teda neurónová sieť rýchlejšie konvergovala k správnym váham, ale po<br />

určitom počte krokov učenia je potrebné tento parameter zmenšiť, <strong>pre</strong>tože sa<br />

stav siete nachádza blízko globálneho (alebo lokálneho) minima a je potrebné<br />

k nemu čo najbližšie dokonvergovať. Štandartne používam parameter γ rovný<br />

0.2 na začiatku.<br />

Zmenu váhy synapsie v neurónovej sieti je definovaná takto:<br />

∆wj= γ.δj.xj<br />

Pre výpočet novej váhy použijem už len jednoduchý vzťah:<br />

wj= wj+∆wj<br />

(17)<br />

(18)<br />

Rozšíril som štandartné spätné šírenia chyby o jednoduché pravidlo, ktoré<br />

zmenší parameter γ na polovicu vždy, ak po 200 krokoch učenia nedošlo ku<br />

poklesu chyby. Takýto doplnok umožnuje automatické učenie sa siete bez<br />

zásahu užívateľa.


FEI TU v Košiciach Diplomová práca List č. 24<br />

<br />

<br />

<br />

<br />

<br />

Obr. 12: Koncept spracovania <strong>obrazu</strong> na text<br />

<br />

<br />

3.3 Návrh aplikácie <strong>pre</strong>dspracovania <strong>obrazu</strong> pomocou<br />

neurónovej siete<br />

Na obrázku 12 je znázornený koncept spracovania <strong>obrazu</strong>, ktorý z<strong>obrazu</strong>je<br />

úlohu <strong>pre</strong>dspracovania <strong>obrazu</strong> v celom procese <strong>optické</strong>ho rozpoznávania zna-<br />

kov. Napriek tomu, že tento obrázok nez<strong>obrazu</strong>je kompletnú postupnosť ope-<br />

rácií (sú vynechané niektoré kroky, napr. <strong>optické</strong> snímanie <strong>obrazu</strong> z <strong>pre</strong>dlohy,<br />

atď.), <strong>pre</strong> ilustráciu je postačujúci.<br />

Bola navrhnutá aplikácia <strong>pre</strong>dspracovania <strong>obrazu</strong>, pričom jej vývojový<br />

diagram je znázornený na obrázku 13 a jednotlivé časti tohoto diagramu sú<br />

následne podrobnejšie popísané. Ešte <strong>pre</strong>d realizáciou aplikácie je potrebné<br />

sa rozhodnúť <strong>pre</strong> typ autonómnosti programu <strong>pre</strong> <strong>pre</strong>dspracovanie. Máme<br />

tieto možnosti:<br />

1. plne automatická aplikácia s minimálnym riadením užívateľom<br />

2. polo-automatická aplikácia čiastočne riadená užívateľom<br />

3. aplikácia úplne riadená užívateľom<br />

Plne automatická aplikácia<br />

Plne automatická aplikácia s minimálnym riadením užívateľom je z užívate-<br />

ľovho pohľadu najlepšia voľba. Síce mu neposkytuje možnosť rozhodovania<br />

v niektorých krokoch behu programu, čo môže viesť k občasným chybám<br />

spracovania, ale na druhej strane užívateľ nemusí mať žiadne znalosti a ani<br />

skúsenosti <strong>pre</strong> dobré výsledky <strong>pre</strong>dspracovania.


FEI TU v Košiciach Diplomová práca List č. 25<br />

ŠTART<br />

Načítaj<br />

obrázok<br />

Preveď úrovne<br />

šedi na desatinné<br />

čísla<br />

Urči typ<br />

pozadia a<br />

po<strong>pre</strong>dia<br />

Máme vhodnú<br />

naučenú NS?<br />

Načítaj váhy<br />

NS zo súboru<br />

Preveď desatinné<br />

čísla na úrovne<br />

šedi<br />

Ulož<br />

obrázok<br />

STOP<br />

áno<br />

Spracuj<br />

obraz<br />

nie<br />

Vytvor trénovaciu<br />

a testovaciu množinu<br />

Trénuj NS<br />

Ulož váhy<br />

NS do súboru<br />

Obr. 13: Vývojový diagram <strong>pre</strong> aplikáciu <strong>pre</strong>dspracovania <strong>obrazu</strong>


FEI TU v Košiciach Diplomová práca List č. 26<br />

V kroku programu s popisom ’Urči typ pozadia a po<strong>pre</strong>dia’ (viď obrázok<br />

13) je potrebný automatický rozhodovací prvok, ktorý by napríklad mohol<br />

byť realizovaný pomocou riadiacej neurónovej siete, ak by bolo jadro aplikácie<br />

realizované pomocou modulárnej neurónovej siete. Tento rozhodovací prvok<br />

by tiež určoval potrebu učiť <strong>pre</strong> aktuálny spracúvaný obraz novú neurónovú<br />

sieť (jedná sa o rozhodnutie v kroku ’Máme vhodnú naučenú NS?’ na obrázku<br />

13).<br />

Tiež je potrebné automaticky vytvoriť trénovaciu a testovaciu množinu.<br />

Problém však je, že aplikácia by sama musela zistiť polohu, typ písma (font)<br />

a samotný text, aby dokázala vytvoriť trénovaciu množinu so správne umiest-<br />

nenými tmavými bodmi na výstupe. Ak by toto aplikácia samostatne doká-<br />

zala, nebolo by potrebné realizovať celé <strong>pre</strong>dspracovanie, <strong>pre</strong>tože by táto časť<br />

takéto <strong>pre</strong>dspracovanie zahrňovala. Z tohoto dôvodu by užívateľ musel zadať<br />

aspoň časť textu ktorý na obrázku vidí a aplikácia by sa mala sama následne<br />

pokúsiť zistiť umiestnenie textu, typ a veľkosť písma na obrázku.<br />

Počas vypracúvania tejto diplomovej práce som skúšal algoritmus <strong>pre</strong><br />

automatické zistenie umiestnenia textu na vstupnom obraze, ktorý bol za-<br />

ložený na zistení minimálnej chyby učenia sa neurónovej siete vo vzťahu k<br />

umiestneniu textu na vstupnom obraze. Tento algoritmus sa neosvedčil ani<br />

efektivitou, ani použiteľnou rýchlosťou, <strong>pre</strong>to vytvorenie plne automatickej<br />

aplikácie nebolo realizované a boli zvažované ďalšie možnosti.<br />

Poloautomatická aplikácia<br />

Polo-automatická aplikácia čiastočne riadená užívateľom sa zhoduje v návrhu<br />

s plne automatickou aplikáciou v časti rozhodovania sa použitia neurónovej<br />

siete podľa kombinácie pozadia a po<strong>pre</strong>dia, líši sa však vo vytváraní tréno-<br />

vacej a testovacej množiny.<br />

Ako bolo naznačené v koncepte plne automatickej aplikácie, vytváranie<br />

trénovacej a testovacej množiny je problematické bez zásahu užívateľa. Pre<br />

zjednodušenie tohoto problému užívateľ musí okrem napísania časti textu,<br />

ktorý vidí, správne nastaviť aj jeho font, veľkosť a <strong>pre</strong>sné umiestnenie na


FEI TU v Košiciach Diplomová práca List č. 27<br />

vstupnom obrázku. Samotná aplikácia potom z takto získaných informácií<br />

vytvorí trénovaciu a testovaciu množinu a realizuje trénovanie neurónovej<br />

siete, ktorá bude následne použitá <strong>pre</strong> <strong>pre</strong>dspracovanie <strong>obrazu</strong>.<br />

Aplikácia úplne riadená užívateľom<br />

Aplikácia úplne riadená užívateľom sa zhoduje s konceptom poloautomatickej<br />

aplikácie v spôsobe vytvárania trénovacej a testovacej množiny, ale líši sa v<br />

spôsobe rozhodovania sa použitia vhodnej neurónovej siete.<br />

V tejto aplikácii teda užívateľ sám vyberá vhodnú naučenú neurónovú sieť<br />

podľa svojho uváženia a teda sa aj rozhoduje v prípade nedostatočne vhodnej<br />

neurónovej siete <strong>pre</strong> učenie novej neurónovej siete <strong>pre</strong> tento typ vstupného<br />

<strong>obrazu</strong>.<br />

Keďže cieľom tejto diplomovej práce nebolo vytvorenie univerzálnej apli-<br />

kácie <strong>pre</strong> <strong>pre</strong>dspracovanie <strong>obrazu</strong>, ale výskum možností použitia neurónových<br />

sietí a ich následných vlastností a požiadaviek v aplikácii <strong>pre</strong>dspracovania ob-<br />

razu a vytvorenie demonštračnej aplikácie <strong>pre</strong>dspracovania <strong>obrazu</strong> pomocou<br />

neurónových sietí, bol zvolený tretí typ autonómnosti tejto aplikácie, a to<br />

aplikácia úplne riadená užívateľom.<br />

Obr. 14: Ukážka z programu <strong>pre</strong> <strong>pre</strong>dspracovanie <strong>obrazu</strong> neurónovou sieťou.<br />

Ďalšie ukážky z programu sa nachádzajú v prílohe A


FEI TU v Košiciach Diplomová práca List č. 28<br />

4 Experimenty na generovanom obraze<br />

Táto časť diplomovej práce je venovaná experimentom, ktorých účelom je<br />

zistiť vhodné parametre neurónovej siete, vlastnosti trénovacej množiny a<br />

zistiť ďalšie znalosti potrebné <strong>pre</strong> úspešné a postačujúce <strong>pre</strong>dspracovanie<br />

<strong>obrazu</strong> <strong>pre</strong>d optickým rozpoznávaním znakov. Tento krátky úvod však platí<br />

aj <strong>pre</strong> experimenty realizované na snímanom obraze.<br />

Pre nasledujúce experimenty platia tieto implicitné podmienky, ak nie je<br />

stanovené inak:<br />

- typ neurónovej siete: do<strong>pre</strong>dná neurónová sieť<br />

- algoritmus učenia neurónovej siete: spätné šírenie chyby<br />

- počiatočný parameter gamma = 0.1<br />

- automatické zníženie gamma na polovicu, ak za posledných 200 krokov<br />

učenia nedošlo k zníženiu chyby neurónovej siete<br />

- celkový počet krokov učenia neurónovej siete: 1000<br />

- program <strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> znakov: ABBYY FineReader 7.0<br />

Professional Edition - skúšobná 30-dňová verzia<br />

Experimenty 1 až 5 boli realizované na generovaných obrazových dátach<br />

vytvorených pomocou simulátora tlače, experimenty 6 až 11 boli realizované<br />

na reálnych dátach.<br />

4.1 Generovanie obrazových dát<br />

Na generovanie obrazových dát <strong>pre</strong> experimenty 1 až 5 bol vytvorený prog-<br />

ram ’Image Generator’, ktorého účelom je vytvoriť vždy dvojicu obrázkov vo<br />

formáte ’Windows Bitmap’ (súbor s príponou ’.bmp’), a to:<br />

- prvý obrázok má biele pozadie a písmo čiernej farby. Tento obrázok<br />

slúži na definovanie, ktoré body na výstupe budú tmavé a ktoré budú<br />

svetlé, teda definujú výstup z neurónovej siete.


FEI TU v Košiciach Diplomová práca List č. 29<br />

- druhý obrázok má pozadie pokryté jednou textúrou a písmo pokryté<br />

druhou textúrou. Tento obrázok slúži na generovanie vzoriek do tréno-<br />

vacej a testovacej množiny, pričom jednotlivé body z tohoto obrázku<br />

sú vstupom do neurónovej siete.<br />

V rôznych tlačených materiáloch bolo nájdených 19 druhov rôznych tex-<br />

túr, ktoré boli použité v 25 rôznych kombináciach. Experimenty s generova-<br />

nými dátami sú realizované na všetkých 25 kombináciach, ak nie je uvedené<br />

inak. Samotné kombinácie sú zobrazené v tabuľke 1.<br />

4.2 Vytváranie trénovacej a testovacej množiny<br />

Na vytváranie trénovacej a testovacej množiny <strong>pre</strong> neurónovú sieť bol vytvo-<br />

rený program ’Bitmap To Pattern’, ktorý z dvojice obrázkov vytvorí súbor,<br />

ktorý obsahuje vzorky trénovacej alebo testovacej množiny, pričom pri vy-<br />

tváraní týchto dvoch množín je možné vybrať:<br />

- vstupný obrázok - obrázok, ktorý má pozadie a po<strong>pre</strong>die pokryté tex-<br />

túrou<br />

- výstupný obrázok - obrázok s bielym pozadím a čiernym písmom<br />

- počet vzoriek vo vytváranej množine<br />

- veľkosť vstupnej vrstvy, <strong>pre</strong> ktorú je daná množina vytváraná<br />

- spôsob výberu prvkov do množiny - náhodný alebo riadený (viď expe-<br />

riment č. 9)<br />

Vstupným obrázkom bol <strong>pre</strong> experimenty 1 až 5 obrázok vytvorený prog-<br />

ramom ’Image Generator’; <strong>pre</strong> experimenty 6 až 11 to bol obrázok získaný<br />

optickým snímaním papiera (scanovaním).


FEI TU v Košiciach Diplomová práca List č. 30<br />

1 2 3 4 5<br />

6 7 8 9 10<br />

11 12 13 14 15<br />

16 17 18 19 20<br />

21 22 23 24 25<br />

Tabuľka 1: Generovaný obraz: kombinácie pozadia a po<strong>pre</strong>dia


FEI TU v Košiciach Diplomová práca List č. 31<br />

4.3 Závislosť úspešnosti učenia na kombinácii po<strong>pre</strong>dia<br />

a pozadia <strong>obrazu</strong><br />

Popis experimentu<br />

Skúmaním rôznych tlačených <strong>pre</strong>dlôh bolo nájdených 25 rôznych kombinácií<br />

textúr po<strong>pre</strong>dia a pozadia, je potrebné zistiť, ako dobre je možné zvládnuť<br />

spracovanie jednotlivých kombinácií pomocou do<strong>pre</strong>dnej neurónovej siete.<br />

Vstupný a výstupný obraz vytvorený pomocou programu ’Image Generator’,<br />

ako je popísané v úvodnej časti experimentov na strane 28.<br />

Použité parametre neurónovej siete:<br />

- topológia:6 ×6−10 −2<br />

- gamma = 0.1<br />

- počet prvkov trénovacej množiny: 2000<br />

Výsledky<br />

Pre všetkých 25 kombinácií bola neurónová sieť trénovaná a výsledky boli<br />

zaznamenané do tabuľky 2. Následne bol ešte vytvorený graf (zobrazený na<br />

obrázku 15), ktorý z<strong>obrazu</strong>je závislosť chyby neurónovej siete na kombinácii<br />

po<strong>pre</strong>dia a pozadia.<br />

Zhodnotenie<br />

Dospel som k následovným zisteniam:<br />

- kombinácie, <strong>pre</strong> ktoré dosiahla neurónová sieť chybu na testovacej mno-<br />

žine menšiu ako 2%, sú spracovateľné pomocou metódy prahovania.<br />

Použitie neurónovej siete teda nemá v týchto prípadoch význam, <strong>pre</strong>-<br />

tože metóda prahovania je menej výpočtovo náročná ako spracovanie<br />

neurónovou sieťou.<br />

- kombinácie, <strong>pre</strong> ktoré dosiahla neurónová sieť chybu na testovavej mno-<br />

žine väčšiu ako 2%, ale menšiu ako 4%, je možné ešte spracovať metódou


FEI TU v Košiciach Diplomová práca List č. 32<br />

Poradie Minimálna chyba Po krokoch<br />

kombinácie na testovacej učenia<br />

množine [%]<br />

1 3.3 450<br />

2 2.45 200<br />

3 3.4 650<br />

4 6.4 950<br />

5 2.0 1000<br />

6 2.0 850<br />

7 2.4 700<br />

8 1.1 300<br />

9 5.3 600<br />

10 3.5 350<br />

11 3.65 550<br />

12 5.3 600<br />

13 1.75 250<br />

14 2.35 450<br />

15 1.5 450<br />

16 6.6 950<br />

17 8.7 900<br />

18 1.7 700<br />

19 6.05 500<br />

20 2.15 600<br />

21 7.6 900<br />

22 4.9 850<br />

23 6.8 750<br />

24 2.05 550<br />

25 4.3 650<br />

Tabuľka 2: závislosti chyby neurónovej siete na kombinácii po<strong>pre</strong>dia a pozadia


FEI TU v Košiciach Diplomová práca List č. 33<br />

Chyba [%]<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

Testovacia množina<br />

0 5 10 15 20 25<br />

poradie kombinácie pozadia a po<strong>pre</strong>dia<br />

Obr. 15: Graf závislosti minimálnej chyby neurónovej siete na testovacej mno-<br />

žine vzhľadom na kombináciu po<strong>pre</strong>dia a pozadia<br />

prahovania, ale <strong>pre</strong> dostatočnú kvalitu rozpoznania písmen zo spraco-<br />

vaného <strong>obrazu</strong> je vhodné nasadiť ešte metódu redukcie šumu <strong>obrazu</strong><br />

(odstraňovanie bodov, ktoré sú osamotelé), alebo metódu, ktorá by sa<br />

snažila o rekonštrukciu stratených častí písmen<br />

- <strong>pre</strong> tie kombinácie, kde dosiahla neurónová sieť chybu na testovavej väč-<br />

šiu ako 4%, je metóda prahovania nepoužiteľná, <strong>pre</strong>tože nízka úroveň<br />

prahu odstraňuje veľkú časť písmen z <strong>obrazu</strong> a vysoká úroveň prahu<br />

zase necháva veľkú časť pozadia, čo bráni dobrému rozpoznaniu znakov.<br />

Napriek tomu, že textúry boli vybrané z podkladov, na ktorých boli tla-<br />

čené monochromaticky a úrovne šedi boli dosiahnuté tlačou rôznych vzo-<br />

rov, pri manipulácii s textúrami vznikli mierne zmenené úrovne šedi miesto<br />

monochromatických vzorov, čo spôsobilo, že generovaný obraz <strong>pre</strong> niektoré<br />

kombinácie po<strong>pre</strong>dia a pozadia je jednoducho spracovateľný pomocou me-<br />

tódy prahovania.


FEI TU v Košiciach Diplomová práca List č. 34<br />

4.4 Závislosť úspešnosti učenia na veľkosti vstupnej vrstvy<br />

Popis experimentu<br />

Pre návrh <strong>pre</strong>dspracovania <strong>obrazu</strong> <strong>pre</strong>d optickým rozpoznávaním znakov je<br />

potrebné zistiť, akú veľkú vstupnú vrstvu musí mať neurónová sieť, aby bolo<br />

možné <strong>pre</strong>dspracovanie úspešne realizovať. Úlohou experimentu je tiež zistiť,<br />

<strong>pre</strong> akú veľkosť vstupnej vrstvy ešte <strong>pre</strong>dspracovanie nefunguje a od akej<br />

veľkosti vstupnej vrstvy už nenastáva zlepšenie <strong>pre</strong>dspracovania.<br />

Pre tento experiment bola zvolená kombinácia po<strong>pre</strong>dia a pozadia číslo<br />

17, <strong>pre</strong>tože tá sa <strong>pre</strong>javila v <strong>pre</strong>došlom experimente na strane 31 ako najná-<br />

ročnejšia na spracovanie.<br />

Použité parametre neurónovej siete:<br />

- topológia: N - 10 - 2<br />

- gamma = 0.1<br />

- počet prvkov trénovacej množiny: 2000<br />

Výsledky<br />

Výsledky tohoto experimentu boli zaznamenané do tabuľky 3, pričom mini-<br />

málna chyba na testovacej množine <strong>pre</strong>dstavuje globálne minimum priebehu<br />

učenia neurónovej siete v 1000 krokoch. Pre každú veľkosť vstupnej vrstvy<br />

neurónovej siete bolo potrebné vytvoriť novú trénovaciu a testovaciu mno-<br />

žinu, čo mohlo spôsobiť mierne rozdiely vo výsledkoch.<br />

Zhodnotenie<br />

Skúmaním výsledkov tohoto experimentu som dospel k záveru, že <strong>pre</strong> genero-<br />

vaný obraz má vstupná vrstva postačujúcu veľkost 3*3 neuróny. Je evidentné,<br />

že prvé dve testované veľkosti (1*1 a 2*2 neurónov na vstupe) sú nedosta-<br />

čujúce, kedže dosiahnutá chyba neurónovej siete <strong>pre</strong> tieto dve veľkosti je<br />

omnoho väčšia ako dosiahnuté chyby <strong>pre</strong> ďalšie veľkosti vstupnej vrstvy.


FEI TU v Košiciach Diplomová práca List č. 35<br />

Veľkosť Minimálna chyba Po krokoch<br />

vstupnej na testovacej učenia<br />

vrstvy množine [%]<br />

1*1 23.8 250<br />

2*2 13.25 700<br />

3*3 8.3 350<br />

6*6 8.55 750<br />

8*8 7.8 700<br />

16*16 9.3 950<br />

24*24 6.7 700<br />

32*32 8.35 650<br />

priemer 8.17 683.3<br />

Tabuľka 3: závislosť úspešnosti učenia na veľkosti vstupnej vrstvy<br />

Po vylúčení minimálnych chýb neurónových sietí <strong>pre</strong> rozmery vstupnej<br />

vrstvy 1*1 a 2*2 z výpočtu priemeru minimálnej chyby má priemer hodnotu<br />

8.17%, tzn. že po 1000 krokoch učenia je môžné dosiahnuť priemerne takúto<br />

minimálnu chybu neurónovej siete. V tabuľke 3 sa minimálna dosiahnutá<br />

chyba neurónovej siete s veľkosťou vstupnej vrstvy 3*3 a väčšej pohybuje v<br />

okolí tohoto priemeru, teda sa zdá, že zväčšovanie rozmeru vstupnej vrstvy<br />

nad 3*3 neuróny nemá veľký vplyv na kvalitu spracovania generovaného<br />

<strong>obrazu</strong>.


FEI TU v Košiciach Diplomová práca List č. 36<br />

4.5 Závislosť úspešnosti učenia na veľkosti skrytej vrstvy<br />

Popis experimentu<br />

Účelom tohoto experimentu je zistiť, akú veľkosť musí mať skrytá vrstva<br />

neurónovej siete, aby bolo možné <strong>pre</strong>dspracovanie realizovať.<br />

Je vhodné nájsť minimálnu veľkosť skrytej vrstvy, <strong>pre</strong>tože jej veľkosť<br />

vplýva na dĺžku učenia. Zbytočne veľká skrytá vrstva by spomaľovala učenie,<br />

čo by mohlo vadiť v aplikáciach, s ktorými užívateľ priamo pracuje a vynucuje<br />

učenie.<br />

Veľkosť vstupnej vrstvy neurónovej siete bola zvolená podľa <strong>pre</strong>došlého<br />

experimentu na strane 34 na 3*3 neuróny.<br />

Pre tento experiment bola zvolená kombinácia po<strong>pre</strong>dia a pozadia číslo<br />

17, <strong>pre</strong>tože tá sa <strong>pre</strong>javila v experimente na strane 31 ako najnáročnejšia na<br />

spracovanie.<br />

Parametre neurónovej siete:<br />

- topológia:3 ×3−N −2<br />

- gamma = 0.1<br />

- počet prvkov trénovacej množiny: 2000<br />

Výsledky<br />

V tabuľke 4 sú zhrnuté výsledky tohoto experimentu. Z<strong>obrazu</strong>je dosiahnutú<br />

minimálnu chybu neurónovej siete <strong>pre</strong> danú veľkosť skrytej vrstvy.<br />

Zhodnotenie<br />

Podľa výsledkov v tabuľke 4 je zrejmé, že jeden neurón ako skrytá vrstva ne-<br />

stačí. Dva neuróny na skrytej vrstve už sú postačujúce, ale priebeh učenia je<br />

dosť pomalý. Neurónové siete s väčšími rozmermi skrytej vrstvy sa vyznačujú<br />

škorším dosiahnutím minimálnej chyby neurónovej siete.


FEI TU v Košiciach Diplomová práca List č. 37<br />

Veľkosť Minimálna chyba Po krokoch<br />

skrytej na testovacej učenia<br />

vrstvy množine [%]<br />

1 50.0 1000<br />

2 9.25 600<br />

3 7.5 800<br />

4 8.0 100<br />

5 7.5 500<br />

10 7.95 200<br />

15 7.75 400<br />

20 7.8 150<br />

25 8.1 200<br />

priemer 7.98 368.75<br />

Tabuľka 4: závislosť úspešnosti učenia na veľkosti skrytej vrstvy<br />

Pre výpočet priemeru chyby a počtu krokov bol z výpočtu vynechaný<br />

prvý pokus so skrytou vrstvou veľkou jeden neurón. V blízkosti priemernej<br />

hodnoty minimálnej chyby sa nachádzajú neurónové siete s veľkosťou skrytej<br />

vrstvy od 3 neurónov vyššie; v blízkosti k priemernému počtu krokov učenia<br />

neurónovej siete <strong>pre</strong> dosiahnutie minimálnej chyby sa nachádzajú neurónové<br />

siete s veľkosťou skrytej vrstvy 4 a viac, <strong>pre</strong>to by som <strong>pre</strong> spracovanie gene-<br />

rovaného <strong>obrazu</strong> zvolil skrytú vrstvu veľkú aspoň 4 neuróny.


FEI TU v Košiciach Diplomová práca List č. 38<br />

4.6 Závislosť úspešnosti učenia sa na inicializácii neuró-<br />

novej siete<br />

Popis experimentu<br />

Experiment má za úlohu zistiť, ako vplýva inicializácia na učenie sa neuróno-<br />

vej siete. Toto zistenie má slúžiť aj na utvorenie si <strong>pre</strong>dstavy o možnostiach<br />

výkyvu výsledkov získaných v <strong>pre</strong>došlých a nasledujúcich experimentoch v<br />

závislosti od inicializácie neurónovej siete.<br />

takto:<br />

Parametre neurónovej siete boli zvolené podľa <strong>pre</strong>došlých experimentov<br />

- topológia:3 ×3−5−2<br />

- gamma = 0.1<br />

- počet prvkov trénovacej množiny: 2000<br />

Pre tento experiment bola zvolená kombinácia po<strong>pre</strong>dia a pozadia číslo<br />

17, <strong>pre</strong>tože tá sa <strong>pre</strong>javila v experimente na strane 31 ako najnáročnejšia na<br />

spracovanie.<br />

Výsledky<br />

V tabuľke 5 sú zhrnuté výsledky tohoto experimentu. Z<strong>obrazu</strong>je dosiahnutú<br />

minimálnu chybu neurónovej siete <strong>pre</strong> každú inicializáciu, tiež celkovú mi-<br />

nimálnu, maximálnu a priemernú chybu za všetkých 10 inicializácií. Tieto<br />

hodnoty boli zobrazené aj grafom na obrázku 16.<br />

Zhodnotenie<br />

Výsledky tohoto experimentu ukázali, že dosiahnutá minimálna chyba na<br />

testovacej množine za istý počet krokov mierne závisí aj od inicializácie ne-<br />

urónovej siete. Je tiež zrejmé, že od inicializácie viac závisí počet krokov na<br />

dosiahnutie minimálnej chyby.


FEI TU v Košiciach Diplomová práca List č. 39<br />

Poradové Min. chyba na test. Po krokoch<br />

číslo množine [%] učenia<br />

1 8.0 150<br />

2 7.5 950<br />

3 7.25 150<br />

4 8.2 700<br />

5 8.1 750<br />

6 7.8 400<br />

7 7.4 200<br />

8 7.55 550<br />

9 8.75 1000<br />

10 7.65 900<br />

minimum 7.25 150<br />

maximum 8.75 1000<br />

priemer 7.82 575<br />

Tabuľka 5: závislosť učenia na inicializácii neurónovej siete<br />

Chyba [%]<br />

9<br />

8.8<br />

8.6<br />

8.4<br />

8.2<br />

8<br />

7.8<br />

7.6<br />

7.4<br />

7.2<br />

Chyba na testovacej množine<br />

Priemerná chyba<br />

1 2 3 4 5 6 7 8 9 10<br />

poradie inicializácie NS<br />

Obr. 16: závislosť učenia na inicializácii neurónovej siete


FEI TU v Košiciach Diplomová práca List č. 40<br />

4.7 Vplyv šumu na schopnosť učenie sa neurónovej siete<br />

Popis experimentu<br />

Experiment má za úlohu zistiť, ako vplýva šum v obraze na učenie sa ne-<br />

urónovej siete a akú minimálnu chybu neurónová sieť vie dosiahnuť pri akej<br />

úrovni šumu. K realizácii tohoto experimentu došlo z dvoch dôvodov:<br />

- opticky snímaný obraz nikdy nie je taký <strong>pre</strong>sný a kvalitný, ako je obraz<br />

generovaný, takže je potrebné zistiť, akú mieru skreslenia bude takáto<br />

neurónová sieť schopná spracovať.<br />

- generovaný obraz je príliš pravidelný, <strong>pre</strong>to je vhodné obraz <strong>pre</strong>d uče-<br />

ním mierne skresliť šumom, aby neurónová sieť dosiahla lepšiu kvalitu<br />

spracovania na reálnom, neideálnom vstupe.<br />

Pri náhodnom skreslení <strong>obrazu</strong> šumom existujú dva základné parametre<br />

nastavenia šumu:<br />

- percentuálne množstvo pokrytia <strong>obrazu</strong> šumom - vyjadruje, koľko per-<br />

cent zo všetkých obrazových bodov bude ovplyvnených šumom<br />

- veľkosť šumu - je to maximálna hodnota, o koľko môže šum zmeniť<br />

obrazový bod. Napr. veľkosť šumu 10% znamená, že šum môže daný<br />

bod zmeniť najviac o 10% maximálnej hodnoty bodu, teda <strong>pre</strong> 256<br />

odtieňov šedi je najväčšia zmena obrazového bodu o 25 odtieňov šedi.<br />

Pre zjednodušenie som použil pokrytie šumu a veľkosť šumu rovnakú <strong>pre</strong><br />

každý krok tohoto experimentu.<br />

takto:<br />

Parametre neurónovej siete boli zvolené podľa <strong>pre</strong>došlých experimentov<br />

- topológia:3 ×3−5−2<br />

- gamma = 0.1<br />

- počet prvkov trénovacej množiny: 2000


FEI TU v Košiciach Diplomová práca List č. 41<br />

Chyba [%]<br />

40<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

Testovacia množina<br />

0 10 20 30 40 50 60<br />

pokrytie a úroveň šumu [%]<br />

Obr. 17: vplyv šumu na schopnosť učenie sa neurónovej siete<br />

Pre tento experiment bola zvolená kombinácia po<strong>pre</strong>dia a pozadia číslo<br />

25, <strong>pre</strong>tože tá sa ne<strong>pre</strong>javila v experimente na strane 31 ako jednoduchá a<br />

ani ako problematická kombinácia.<br />

Výsledky<br />

V tomto experimete boli vyskúšané úrovne šumu od 0% po 60%. Väčšie<br />

úrovne šumu už nebolo potrebné testovať, <strong>pre</strong>tože <strong>pre</strong> ne neurónová sieť<br />

dosahovala chybu, pri ktorej už nebola vhodná na spracovanie vstupného<br />

<strong>obrazu</strong>. Po realizácii experimentu boli číselné hodnoty zhrnuté v tabuľke 6 a<br />

vynesené do grafu na obrázku 17.<br />

Zhodnotenie<br />

Z tohoto experimentu vyplynulo, že ak je veľkosť vplyvu šumu a plošné po-<br />

krytie šumu menšie ako 20%, tak je neurónová sieť schopná učiť sa a spracúva-<br />

vať obraz bez zväčšených problémov. Teda <strong>pre</strong> zlepšenie kvality spracúvania<br />

neurónovou sieťou je možné použiť šum s takýmito parametrami.


FEI TU v Košiciach Diplomová práca List č. 42<br />

Poradové Minimálna chyba Po krokoch Ukážka<br />

číslo na testovacej učenia vstupného<br />

učenia množine [%] <strong>obrazu</strong><br />

0 3.35 700<br />

5 3.35 450<br />

10 3.65 300<br />

15 3.4 650<br />

20 6.45 250<br />

25 10.85 500<br />

30 13.5 500<br />

40 19.3 1000<br />

50 25.7 750<br />

60 32.85 1000<br />

Tabuľka 6: vplyv šumu na schopnosť učenie sa neurónovej siete


FEI TU v Košiciach Diplomová práca List č. 43<br />

Pre veľkosť vplyvu šumu a plošné pokrytie šumu rovné a väčšie ako 20%<br />

chyba neurónovej siete na testovacej množine lineárne rastie, teda jej schop-<br />

nosť naučenia sa takto zmenených dát klesá a klesá aj účinnosť spracovania<br />

<strong>obrazu</strong> takouto neurónovou sieťou.


FEI TU v Košiciach Diplomová práca List č. 44<br />

5 Experimenty na snímanom obraze<br />

Hlavným cieľom skúmaného <strong>pre</strong>dspracovania <strong>obrazu</strong> je realizovať úspešné<br />

<strong>pre</strong>dspracovanie snímaného <strong>obrazu</strong>, keďže taká je <strong>pre</strong>dpokladaná jeho reálna<br />

aplikácia.<br />

Snímaný obraz je re<strong>pre</strong>zentovaný dvojrozmernou množinou bodov, pri-<br />

čom každý bod je re<strong>pre</strong>zentovaný buď trojicou intenzít farebných zloženie -<br />

červenou, zelenou a modrou, alebo úrovňou šedi. Snímaný obraz je získaný<br />

zo zariadenia <strong>pre</strong> snímanie <strong>obrazu</strong>, napríklad zo scanneru alebo z kamery.<br />

Snímanie <strong>obrazu</strong> v scanneri <strong>pre</strong>bieha tak, že snímaná strana je osvet-<br />

lená zo zdroja silného svetelného žiarenia obsahujúce všetky zložky fareb-<br />

ného spektra čo najrovnomernejšie (väčšinou sa používajú ortuťové výbojky).<br />

Svetlo sa odráža od povrchu papiera a <strong>pre</strong>chádza šošovkou (alebo šošovkami),<br />

ktoré sústreďujú svetlo na snímač, čo je polovodičová súčiastka využívajúca<br />

fotoelektrický jav na <strong>pre</strong>vod intenzity svetla na napätie alebo prúd.<br />

Presné umiestnenie snímača nad papierom spôsobuje, že sa v zosníma-<br />

nom obraze môžu objaviť odtieňe šedi, alebo farieb, ktoré sa na snímanom<br />

papieri síce nevyskytujú, ale vo výslednom zosnímanom obraze vytvárajú<br />

dojem pôvodného <strong>obrazu</strong>.


FEI TU v Košiciach Diplomová práca List č. 45<br />

5.1 Závislosť úspešnosti učenia na veľkosti vstupnej vrstvy<br />

Popis experimentu<br />

Účelom tohoto experimentu je zistiť, akú veľkosť musí mať vstupná vrstva<br />

neurónovej siete, aby bolo možné <strong>pre</strong>dspracovanie realizovať.<br />

Podľa zvolenej topológie neurónovej siete vieme, že vstupná vrstva tvorí<br />

štvorcovú masku s rozmerom strany N a bude plnená hodnotami odtieňov<br />

šedi vstupného <strong>obrazu</strong>. Tiež vieme, že obraz zosnímaný scannerom pri kon-<br />

krétnom rozlíšení bude obsahovať obrazové elementy 1 <strong>pre</strong> imitáciu rôznych<br />

odtieňov šedi. Je teda zrejmé, že od veľkosti týchto obrazových elementov<br />

bude závisieť aj veľkosť vstupnej vrstvy. Príliš malá vstupná vrstva nebude<br />

schopná zachytiť rozdiel medzi rôznymi obrazovými elementami a teda ne-<br />

bude fungovať s postačujúcou chybou.<br />

Pre zistenie veľkosti vstupnej vrstvy neurónovej siete použijeme tento<br />

postup:<br />

- vytvoríme súbor s testovacou množinou a súbor s trénovacou množinou,<br />

pričom rozmer vstupných dát v týchto množinách bude N<br />

- vytvoríme neurónovú sieť, ktorej vstupná vrstva bude mať rozmer N<br />

- budeme neurónovú sieť učiť 1000 krokov<br />

- zvýšime číslo N a postup zopakujeme ešte niekoľkokrát<br />

Parametre neurónovej siete:<br />

- topológia: N - 10 - 2<br />

- gamma = 0.1<br />

- počet prvkov trénovacej množiny: 4000<br />

1 body a iné útvary rôznej veľkosti


FEI TU v Košiciach Diplomová práca List č. 46<br />

Výsledky<br />

V tabuľke 5.1 sú zhrnuté výsledky tohoto experimentu. Je v nej tiež možné<br />

vidieť spracovaný vstupný obraz pomocou neurónovej siete pri najmenšej do-<br />

siahnutej chybe z 1000 krokov učenia <strong>pre</strong> konkrétny rozmer vstupnej vrstvy.<br />

Zhodnotenie<br />

Na hodnotách minimálnej chyby neurónovej siete na testovacej množine je<br />

možné si všimnúť, že prvá testovaná veľkosť vstupnej vrstvy neurónovej siete<br />

(2*2 neuróny) nie je vhodná <strong>pre</strong> spracovanie <strong>obrazu</strong> pri takomto rozlíšení<br />

2 snímania <strong>obrazu</strong> scannerom. Chyba má síce hodnotu len 27.7%, ale to<br />

však nestačí na dostatočnú úroveň spracovania <strong>obrazu</strong>, aby bol program <strong>pre</strong><br />

<strong>optické</strong> <strong>rozpoznávanie</strong> znakov schopný rozpoznať akýkoľvek znak.<br />

Z ukážiek spracovaných vstupných obrazov je vidno, že s rastúcou veľkos-<br />

ťou vstupnej vrstvy sa zlepšuje funkcia odstraňovania pozadia a teda priestor<br />

okolo písmen je svetlejší. Neurónová sieť je teda pri väčšej vstupnej vrstve<br />

schopná lepšie rozhodnúť, či sa jedná o pozadie, ktoré chceme potlačiť, alebo<br />

po<strong>pre</strong>die, ktoré chceme zvýrazniť. Zväčšením vstupnej vrstvy zmiznú šmuhy<br />

a nerovnomernosti tlačeného pozadia a na výstupnom obraze sa ne<strong>pre</strong>javia<br />

tak intenzívne, ako je to pri menšej vstupnej vrstve. Dobré odstránenie poza-<br />

dia má následne vplyv na úspešnosť rozpoznania písmen pomocou programu<br />

<strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> znakov.<br />

Nevýhodou väčšej vstupnej vrstvy však je tendencia potláčať aj po<strong>pre</strong>die,<br />

teda samotné písmo, čo sa <strong>pre</strong>javuje nespojitosťou jeho kriviek. Dochádza ku<br />

strácaniu časti písmen a to má negatívny vplyv na <strong>rozpoznávanie</strong> znakov. S<br />

rastúcou vstupnou vrstvou rastú aj veľkosti trénovacích a testovacích množín<br />

a tiež čas potrebný na dostatočné naučenie sa neurónovej siete. Pre vstupnú<br />

vrstvu 32*32 neurónov je veľkosť trénovacej množinych so 4000 obsiahnutými<br />

prvkami približne 41MB, čas učenia <strong>pre</strong> 1000 krokov bol približne 25 minút<br />

(použitý procesor: Athlon XP 2000+).<br />

2 bolo použité rozlíšenie snímania 200 bodov na palec (dpi)


FEI TU v Košiciach Diplomová práca List č. 47<br />

Tabuľka 7: Závislosť úspešnosti rozpoznania znakov na<br />

vstupnej vrstve<br />

Veľkosť Min. chyba Po krokoch Úspešnosť Spracovaný<br />

vstupnej na test. učenia rozpoznania obraz<br />

vrstvy N množine [%] písmen [%]<br />

2*2 27.7 850 0<br />

3*3 15.8 950 63.8<br />

4*4 13.9 250 54.9<br />

5*5 15.2 950 62.8<br />

6*6 14.9 350 77.5<br />

8*8 16.6 250 85.3<br />

16*16 9.6 550 88.5<br />

Tabuľka pokračuje na ďalšej strane


FEI TU v Košiciach Diplomová práca List č. 48<br />

Veľkosť Min. chyba Po krokoch Úspešnosť Spracovaný<br />

vstupnej na test. učenia rozpoznania obraz<br />

vrstvy N množine [%] písmen [%]<br />

24*24 8.8 200 88.5<br />

32*32 9.3 650 73.3


FEI TU v Košiciach Diplomová práca List č. 49<br />

5.2 Závislosť úspešnosti učenia sa na veľkosti skrytej<br />

vrstvy<br />

Popis experimentu<br />

Účelom tohoto experimentu je zistiť, akú veľkosť musí mať skrytá vrstva<br />

neurónovej siete, aby bolo možné <strong>pre</strong>dspracovanie realizovať.<br />

Je vhodné nájsť minimálnu veľkosť skrytej vrstvy, <strong>pre</strong>tože jej veľkosť<br />

vplýva na dĺžku učenia. Zbytočne veľká skrytá vrstva by spomaľovala učenie,<br />

čo by mohlo vadiť v aplikáciach, s ktorými užívateľ priamo pracuje a vynucuje<br />

učenie.<br />

stup:<br />

Pre zistenie veľkosti skrytej vrstvy neurónovej siete použijeme tento po-<br />

- vytvoríme súbor s testovacou množinou a súbor s trénovacou množinou<br />

<strong>pre</strong> neurónovú sieť veľkosťou vstupnej vrstvy 8*8 neurónov.<br />

- vytvoríme neurónovú sieť, ktorej skrytá vrstva bude mať rozmer N<br />

- budeme neurónovú sieť učiť 1000 krokov<br />

- zvýšime číslo N a postup zopakujeme ešte niekoľkokrát<br />

Veľkosť vstupnej vrstvy neurónovej siete bola zvolená podľa experimentu<br />

na strane 45 na hodnoty 8*8 neurónov, čo sa zdá byť dobrý kompromis<br />

medzi rýchlosťou učenia sa neurónovej siete a kvalitou spracovania vstupného<br />

<strong>obrazu</strong>.<br />

Parametre neurónovej siete:<br />

- topológia:8 ×8−N −2<br />

- gamma = 0.1<br />

- počet prvkov trénovacej množiny: 2000


FEI TU v Košiciach Diplomová práca List č. 50<br />

Veľkosť Minimálna chyba Po krokoch<br />

skrytej na testovacej učenia<br />

vrstvy množine [%]<br />

1 100 1000<br />

2 14.5 800<br />

3 14.6 550<br />

5 14.4 750<br />

10 13.0 400<br />

25 11.75 350<br />

50 12.25 500<br />

75 12.8 1000<br />

100 12.1 300<br />

Tabuľka 8: závislosť úspešnosti učenia sa na veľkosti skrytej vrstvy<br />

Výsledky<br />

V tabuľke 8 sú zhrnuté výsledky tohoto experimentu. Z<strong>obrazu</strong>je dosiahnutú<br />

minimálnu chybu neurónovej siete <strong>pre</strong> danú veľkosť skrytej vrstvy. Experi-<br />

ment bol zastavený po časti so 100 neurónmi v skrytej vrstve.<br />

Zhodnotenie<br />

Podľa tabuľky 8 je možné vidieť, že <strong>pre</strong> úlohu <strong>pre</strong>dspracovania <strong>obrazu</strong> <strong>pre</strong>d<br />

optickým rozpoznávaním znakov je postačujúca neurónová sieť s veľkosťou<br />

2 neuróny. S rastúcim počtom neurónov na skrytej vrstve sa mierne zlepšuje<br />

schopnosť neurónovej siete dokonalejšie sa naučiť filtrovať vstupné obrazové<br />

dáta.<br />

Neurónová sieť s veľkosťou skrytej vrstvy 10 neurónov je schopná do-<br />

statočne plniť úlohu <strong>pre</strong>dspracovania. Ďalšie zväčšovanie skrytej vrstvy už<br />

nespôsobuje výrazné zlepšenie <strong>pre</strong>dspracovania, ale výrazné spomalenie uče-<br />

nia sa siete.


FEI TU v Košiciach Diplomová práca List č. 51<br />

5.3 Vplyv veľkosti trénovacej množiny na kvalitu spra-<br />

covania <strong>obrazu</strong><br />

Popis experimentu<br />

Účelom tohoto experimentu je zistiť, aká veľkosť trénovacej množiny je po-<br />

trebná, aby bolo spracovanie <strong>obrazu</strong> čo najlepšie možné.<br />

Je zrejmé, že aj veľkosť trénovacej množiny vplýva na rýchlosť učenia sa<br />

neurónovej siete. Hovorí však aj o minimálnych rozmeroch <strong>obrazu</strong>, z ktorého<br />

môže byť vytvorená trénovacia množina, <strong>pre</strong>tože veľkosť tohoto <strong>obrazu</strong> obme-<br />

dzuje počet možných jedinečných (teda neopakujúcich sa) prvkov trénovacej<br />

množiny.<br />

platí:<br />

kde<br />

Vo všeobecnosti teda <strong>pre</strong> počet jedinečných prvkov trénovacej množiny<br />

K=(V − N).(S − N) (19)<br />

- K - počet jedinečných prvkov trénovacej množiny<br />

- V - výška <strong>obrazu</strong> v bodoch, z ktorého chceme vytvoriť trénovaciu mno-<br />

žinu<br />

- S - šírka <strong>obrazu</strong> v bodoch, z ktorého chceme vytvoriť trénovaciu mno-<br />

žinu<br />

- N - veľkosť strany štvorcovej vstupnej vrstvy<br />

Tento vzťah platí <strong>pre</strong> vytváranie prvkov trénovacej množiny bez "dokladania"<br />

vpravo a dole.<br />

Parametre neurónovej siete:<br />

- topológia:8 ×8−10 −2<br />

- gamma = 0.1


FEI TU v Košiciach Diplomová práca List č. 52<br />

Veľkosť Minimálna chyba Po krokoch Úspešnosť<br />

trénovacej na testovacej učenia rozpoznania<br />

množiny množine [%] písmen [%]<br />

100 17.0 650 1.04<br />

300 19.6 350 28.2<br />

500 15.2 450 35.6<br />

700 14.7 250 59.7<br />

1000 13.3 950 50.3<br />

2000 13.0 1000 71.7<br />

4000 13.5 900 82.7<br />

8000 15.75 850 87.9<br />

12000 16.6 600 85.3<br />

Tabuľka 9: vplyv veľkosti trénovacej množiny na kvalitu spracovania <strong>obrazu</strong><br />

Výsledky<br />

Boli urobené experimenty <strong>pre</strong> počet prvkov v trénovacej množine od 100 až<br />

po 12000, pričom v tabuľke 9 sú zhrnuté dosiahnuté minimálne chyby a tiež<br />

úspešnosti rozpoznania znakov. Experiment bol zastavený po časti s 12000<br />

prvkami v trénovacej množine, lebo ďalšie zvyšovanie počtu prvkov nepri-<br />

nieslo žiadne zlepšenie spracovania <strong>obrazu</strong> a ani rozpoznania písmen. Ďalej<br />

nasledujú obrázky 18 až 23, ktoré zachytávajú spracovaný obraz a výsledky<br />

rozpoznávania textu. Závislosť počtu prvkov v trénovacej množine, dosiahnu-<br />

tej minimálnej chyby na testovacej množine a úspešnosti rozpoznania znakov<br />

z<strong>obrazu</strong>je graf na obrázku 24.<br />

Zhodnotenie<br />

Ako je z výsledkov zobrazených v tabuľke 9 a z obrázkov 18 až 23 vidno,<br />

<strong>pre</strong> úspešnosť rozpoznania písmen aspoň 50% je potrebné, aby bola trénova-<br />

cia množina veľká aspoň 700 prvkov. Pre zlepšenie rozpoznávania znakov je<br />

vhodné, aby bola trénovacia množina ešte väčšia; najlepšia sa ukázala tréno-


FEI TU v Košiciach Diplomová práca List č. 53<br />

Obr. 18: Spracovaný a rozpoznaný text. Počet prvkov v trénovacej množine:<br />

100. Úspešnosť rozpoznania: 1.04%<br />

Obr. 19: Spracovaný a rozpoznaný text. Počet prvkov v trénovacej množine:<br />

500. Úspešnosť rozpoznania: 35.6%<br />

Obr. 20: Spracovaný a rozpoznaný text. Počet prvkov v trénovacej množine:<br />

1000. Úspešnosť rozpoznania: 50.3%


FEI TU v Košiciach Diplomová práca List č. 54<br />

Obr. 21: Spracovaný a rozpoznaný text. Počet prvkov v trénovacej množine:<br />

2000. Úspešnosť rozpoznania: 71.7%<br />

Obr. 22: Spracovaný a rozpoznaný text. Počet prvkov v trénovacej množine:<br />

8000. Úspešnosť rozpoznania: 87.9%<br />

Obr. 23: Spracovaný a rozpoznaný text. Počet prvkov v trénovacej množine:<br />

12000. Úspešnosť rozpoznania: 85.3%


FEI TU v Košiciach Diplomová práca List č. 55<br />

Chyba [%]<br />

100<br />

80<br />

60<br />

40<br />

20<br />

Chyba na trénovacej množine<br />

Úspešnosť rozpoznania znakov<br />

0<br />

100 1000 10000<br />

počet vzoriek v trénovacej množine<br />

Obr. 24: Závislosť počtu prvkov v trénovacej množine, dosiahnutej minimál-<br />

nej chyby na testovacej množine a úspešnosti rozpoznania znakov


FEI TU v Košiciach Diplomová práca List č. 56<br />

vacia množina s 8000 prvkami. Ďalšie zvyšovanie počtu prvkov už nezlepšuje<br />

spracovanie <strong>obrazu</strong> a tak ani nezvyšuje úspešnosť rozpoznania znakov.<br />

Z úspešnosti rozpoznania znakov, počtu prvkov v trénovacej množine<br />

a dosiahnutej najmenšej chybe na testovacej množine je možné si všimnúť<br />

ešte zmenu závislosti úspešnosti rozpoznania s najmenšou chybou neurónovej<br />

siete. Teda od 100 do 2000 prvkov v trénovacej množine je možné povedať, že<br />

s klesajúcou chybou na testovacej množine rastie úspešnosť rozpoznania zna-<br />

kov. Od 2000 po 12000 prvkov v trénovacej a testovacej množine však platí,<br />

že dosiahnutá minimálna chyba rastie s rastúcim počtom prvkov v trénovacej<br />

a testovacej množine, ale úspešnosť rozpoznania znakov narastá. Zväčšenie<br />

chyby na testovacej množine je pravdepodobne spôsobené prvkami, ktoré nie<br />

je neurónová sieť schopná dostatočne správne spracovať; väčšia testovacia<br />

množine môže obsahovať viac prvkov, ktoré neurónová sieť nespracúva dobre<br />

v pomere ku prvkom, ktoré spracúvava dobre.<br />

Na obrázkoch 18 až 24 je tiež možné sledovať, že aj keď chyba neurónovej<br />

siete na testovacej množine je skoro rovnaká, spracovanie <strong>obrazu</strong> je lepšie s<br />

neurónovou sieťou trénovanou na väčšej trénovacej množine. Teda sa dá pove-<br />

dať, že chyba dosiahnutá na testovacej množine nie je vhodným ukazateľom<br />

úspešnosti rozpoznania písmen.


FEI TU v Košiciach Diplomová práca List č. 57<br />

5.4 Vplyv distribúcie prvkov v trénovacej množine na<br />

kvalitu spracovania <strong>obrazu</strong><br />

Popis experimentu<br />

Dôvodom, <strong>pre</strong>čo bol tento experiment realizovaný, je možnosť viacerých spô-<br />

sobov, ako sú prvky do trénovacej množiny vyberané. Chceme teda zistiť,<br />

aký vplyv má spôsob výberu prvkov na kvalitu spracovaného <strong>obrazu</strong>.<br />

Existujú dva základné spôsoby výberu prvkov do trénovacej množiny:<br />

- náhodný - prvky sú do trénovacej množiny vyberané náhodne<br />

- riadený - na výber prvkov do trénovacej množiny sú použité nejaké<br />

pravidlá<br />

V prípade <strong>pre</strong>dspracovania a spracovania <strong>obrazu</strong> pomocou neurónovej<br />

siete sme si definovali na výstupe tmavé body (po<strong>pre</strong>die, písmo) a svetlé<br />

body (pozadie). Podľa počtu prvkov v trénovacej množine, ktoré re<strong>pre</strong>zentujú<br />

tmavé body a svetlé body, môžeme hovoriť o distribúcii týchto prvkov v<br />

trénovacej množine.<br />

Parametre neurónovej siete:<br />

- topológia:8 ×8−10 −2<br />

- gamma = 0.1<br />

Výsledky<br />

Číselné výsledky tohoto experimentu sú zhrnuté v tabuľke 10. Experimenty<br />

boli urobené <strong>pre</strong> náhodný a riadený výber prvkov do trénovacej a testovacej<br />

množiny, a to <strong>pre</strong> 1000 a 4000 prvkov, aby bolo možné porovnať prípadné<br />

rozdiely. Ďalej nasledujú obrázky 25 a 26 , ktoré z<strong>obrazu</strong>jú spracovaný obraz a<br />

rozpoznané znaky. Boli zobrazené obrázky len <strong>pre</strong> veľkosť trénovacej množiny<br />

1000 prvkov, <strong>pre</strong>tože <strong>pre</strong> 4000 prvkov v trénovacej množine nie je vidno veľký<br />

rozdiel.


FEI TU v Košiciach Diplomová práca List č. 58<br />

Veľkosť Typ Výskyt Výskyt Min. Počet Úspešnosť<br />

trén. výberu tmavých svetlých chyba. krokov rozpozn.<br />

množiny prvkov bodov [%] bodov [%] [%] učenia písmen [%]<br />

1000 náhodný 10.0 90.0 3.6 700 4.2<br />

1000 riadený 50.0 50.0 13.3 950 50.3<br />

4000 náhodný 11.1 89.9 5.8 950 76.9<br />

4000 riadený 50.0 50.0 13.6 900 82.7<br />

Tabuľka 10: vplyv distribúcie bodov na kvalitu spracovania <strong>obrazu</strong><br />

Obr. 25: Spracovaný a rozpoznaný text. Typ výberu prvkov: náhodný. Počet<br />

prvkov v trénovacej množine: 1000. Úspešnosť rozpoznania: 4.2%<br />

Obr. 26: Spracovaný a rozpoznaný text. Typ výberu prvkov: riadený. Počet<br />

prvkov v trénovacej množine: 1000. Úspešnosť rozpoznania: 50.3%


FEI TU v Košiciach Diplomová práca List č. 59<br />

Zhodnotenie<br />

Z tabuľky 10 a obrázkov 25 a 26 vyplýva, že riadený výber prvkov do trénova-<br />

cej množiny má veľký vplyv na spracovanie <strong>obrazu</strong> a následné <strong>rozpoznávanie</strong><br />

znakov, ak je veľkosť trénovacej množiny malá. Dôvodom je, že malá tréno-<br />

vacia množina obsahuje pri náhodnom výbere prvkov malé množstvo prvkov<br />

s výstupným bodom tmavej farby, <strong>pre</strong>to neurónová sieť nie je dostatočne tré-<br />

novaná na spracovanie tmavých bodov a má tendenciu zasvetľovať písmo a<br />

vynechávať jeho časti. Pri výstyke 10.0% tmavých bodov v trénovacej mno-<br />

žine s 1000 prvkami je ich počet 100, čo je zjavne nedostatočné <strong>pre</strong> dobré<br />

spracovanie <strong>obrazu</strong>. Teda <strong>pre</strong> malú trénovaciu množinu je výhodné, aby bol<br />

výber prvkov do nej riadený a distribúcia čiernych a bielych bodov bola 50%<br />

a 50%. Takýto výber zlepšil rozpoznanie znakov o 46%.<br />

Ak je však počet prvkov v trénovacej množine oveľa väčší (napr. 4000<br />

prvkov), tak spôsob výberu nemá taký veľký vplyv na spracovanie <strong>obrazu</strong> a<br />

rozpoznanie znakov (rozdiel je len 5.8% v prospech riadeného výberu), ale<br />

napriek tomu je vhodné ho použiť, <strong>pre</strong>tože prináša zlepšenie výsledkov.


FEI TU v Košiciach Diplomová práca List č. 60<br />

5.5 Závislosť výsledkov spracovania od poradia lokál-<br />

neho minima<br />

Popis experimentu<br />

Úlohou tohoto experimentu je zistiť, či skoršie lokálne minimum (skoršie v<br />

zmysle počtu krokov učenia) nie je lepšie ako neskoršie lokálne minimum.<br />

V niektorých prípadoch aplikácií neurónových sietí sa vyskytli takéto javy,<br />

<strong>pre</strong>dpokladá sa, že je to dôsledok <strong>pre</strong>učenia. Typickým príznakom takétoho<br />

<strong>pre</strong>učenia je, že napriek znovu klesajúcej chybe na testovacej množine vo<br />

fáze učenia, chyba neurónovej siete v skutočnej aplikácii je väčšia, ako keď<br />

sa použije neurónová sieť, ktorá dosiahla lokálne minimum <strong>pre</strong>d opätovným<br />

klesaním chyby počas fázy trénovania.<br />

Parametre neurónovej siete:<br />

- topológia:8 ×8−7−2<br />

- gamma = 0.1<br />

- počet prvkov v trénovacej množine: 2000<br />

Výsledky<br />

Výsledky tohoto experimentu bolí získané tak, že neurónová sieť bola učená<br />

na trénovacej množine v 1000 krokoch, z chyby na testovacej a na tréno-<br />

vacej množine bol vytvorený graf (zobrazený na obrázku 27), boli určené<br />

prvé, druhé a tretie lokálne minimá z grafu priebehu učenia a boli porovnané<br />

dosiahnuté výsledky.<br />

Zhodnotenie<br />

Ako je zrejmé podľa ukážok obrázkov v tabuľke 11, je zjavné, že v tomto<br />

prípade učenia poradie lokálneho minima nemá vplyv na kvalitu spracovania.<br />

Jediný rozdiel v kvalite spracovania spôsobuje lepšie naučená neurónová sieť,


FEI TU v Košiciach Diplomová práca List č. 61<br />

chyba [%]<br />

100<br />

80<br />

60<br />

40<br />

20<br />

0<br />

Trénovacia množina<br />

Testovacia množina<br />

1. lok. min.<br />

0 200 400 600 800 1000<br />

počet cyklov učenia<br />

2. lok. min. 3. lok.<br />

Obr. 27: Graf priebehu učenia neurónovej siete<br />

Poradie Minimálna chyba Počet Spracovaný<br />

lokálneho na testovacej krokov obraz<br />

minima množine [%] učenia<br />

1. 16.6 250<br />

2. 14.6 550<br />

3. 13.1 800<br />

Tabuľka 11: závislosť výsledkov spracovania od poradia lokálneho minima


FEI TU v Košiciach Diplomová práca List č. 62<br />

a teda lepšie výsledky dosahuje pri menšej percentuálnej chybe na testovacej<br />

množine, čo je očakávateľné.<br />

5.6 Porovnanie úspešnosti rôznych programov <strong>pre</strong> <strong>optické</strong><br />

<strong>rozpoznávanie</strong> znakov<br />

Popis experimentu<br />

V <strong>pre</strong>došlých experimentoch bol vždy <strong>pre</strong> otpické <strong>rozpoznávanie</strong> znakov pou-<br />

žitý program ABBYY FineReader 7.0. Tento experiment má porovnať rôzne<br />

daľšie programy tohoto druhu, aby sa zistilo, či nie je možné s iným progra-<br />

mom dosiahnuť lepšie výsledky.<br />

Pre tento experiment bol použitý spracovaný obraz z experimentu na<br />

strane 51 s počtom prvkov v trénovacej množine 8000, <strong>pre</strong>tože tento obraz sa<br />

javil ako najlepšie <strong>pre</strong>dspracovaný a tým pádom najviac vhodný <strong>pre</strong> <strong>optické</strong><br />

<strong>rozpoznávanie</strong> znakov.<br />

V tomto experimente teda nebola použitá neurónová sieť, ale už len vý-<br />

sledok jej <strong>pre</strong>dspracovania.<br />

Výsledky<br />

Boli vyskúšané rôzne programy <strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> znakov, ich úspeš-<br />

nosť bola zaznamenaná v tabuľke 12. Boli použité skúšobné verzie týchto<br />

programov.<br />

Zhodnotenie<br />

Ako najlepšie programy <strong>pre</strong> <strong>optické</strong> <strong>rozpoznávanie</strong> znakov sa <strong>pre</strong>javili AB-<br />

BYY FineReader a TOCR. Ostatné programy nedosiahli také dobré výsledky.<br />

Je vhodné ešte spomenúť niektoré fakty:<br />

- SimpleOCR sa snaží na rozpoznané písmená napasovať anglické slová<br />

čo môže zlepšiť úspešnosť rozpoznania anglického textu. Pre slová, pri


FEI TU v Košiciach Diplomová práca List č. 63<br />

Názov programu Verzia Úspešnosť [%]<br />

SimpleOCR 3.1 45.5<br />

Cuneiform 6.0 21.9<br />

ABBYY FineReader 7.0 87.9<br />

OCR-TextScan 2 Word 1.0 0.0<br />

Readiris Pro 9.0 32.9<br />

DocScan Pro OCR 6.1 0.0<br />

Image2PDF 1.8 0.0<br />

TOCR 2.0 86.4<br />

TopOCR 2.0 22.5<br />

TypeReader Professional 6.0 65.4<br />

Tabuľka 12: porovnanie úspešnosti rôznych programov <strong>pre</strong> <strong>optické</strong> rozpozná-<br />

vanie znakov<br />

Obr. 28: ABBYY FineReader - spracovaný a rozpoznaný text


FEI TU v Košiciach Diplomová práca List č. 64<br />

Obr. 29: TOCR - spracovaný a rozpoznaný text<br />

ktorých si nie je istý, ponúka možnosť výberu jedného zo skupiny naj-<br />

viac podobných slov.<br />

- DocScan Pro OCR odmietol na takto <strong>pre</strong>dspracovanom obraze rozpoz-<br />

návať písmená, teda jeho úspešnosť bola stanovená na 0%.<br />

- TOCR (Transym OCR) dosiahol veľmi čistý výstup textu a i keď má o<br />

1.5% nižšiu úspešnosť ako ABBYY FineReader, mne sa zdal na <strong>optické</strong><br />

<strong>rozpoznávanie</strong> písmen vhodnejši.


FEI TU v Košiciach Diplomová práca List č. 65<br />

6 Celkové zhodnotenie<br />

Realizovanými experimentami som sa snažil zistiť potrebné parametre <strong>pre</strong><br />

úspešné <strong>pre</strong>dspracovanie <strong>obrazu</strong> neurónovou sieťou.<br />

Ukázalo sa, že jednoduché generovanie <strong>obrazu</strong> za účelom simulácie <strong>obrazu</strong><br />

získaného tlačou a zosnímaním <strong>obrazu</strong> nebolo ekvivalentnou náhradou sku-<br />

točne zosnímaného <strong>obrazu</strong>, postačilo však <strong>pre</strong> experimenty s rôznymi kombi-<br />

náciami textúry pozadia a písma a <strong>pre</strong> základné experimenty vzťahujúce sa<br />

na parametre neurónovej siete, ako napr. veľkosť vstupnej a skrytej vsrtvy,<br />

odskúšanie rôznych topológií neurónovej siete (vstup vektoru bodov do siete,<br />

vstup matice bodov do siete, výstup jedného bodu zo siete, výstup matice<br />

bodov zo siete).<br />

Experimentami som dospel k zisteniu, že <strong>pre</strong> úlohu spracovania a <strong>pre</strong>d-<br />

spracovania <strong>obrazu</strong> neurónovou sieťou sa najviac osvedčila topológia s mati-<br />

cou bodov na vstupe a s jedným bodom na výstupe, čo je topológia inšpi-<br />

rovaná maticovými konvolučnými filtrami spomenutými v teoretickej časti<br />

popisujúcej tieto filtre v úlohe štandartných metód <strong>pre</strong>dspracovania <strong>obrazu</strong>.<br />

Na generovanom obraze bol testovaný vplyv šumu na schopnosť siete<br />

spracovať obraz, <strong>pre</strong>tože je <strong>pre</strong>dpoklad, že ak ideálne dáta v trénovacej mno-<br />

žine mierne zašumíme, dosiahne sa zlepšenie spracovania reálneho, snímaného<br />

<strong>obrazu</strong>. Experiment ukázal, že do úrovne 15% šumu (čo je veľkosť zmeny ob-<br />

razových bodov a distribúcia šumu v priestore) je <strong>pre</strong>dspracovanie účinné bez<br />

badateľného zhoršenia chyby neurónovej siete pri trénovaní. Pri spracúvaní<br />

výsledného <strong>obrazu</strong> však nebolo zistené zlepšenie.<br />

Účelom tejto diplomovej práce bolo skúmať <strong>pre</strong>dspracovanie snímaného<br />

<strong>obrazu</strong> <strong>pre</strong>d optickým rozpoznávaním znakov, <strong>pre</strong>to bola viac ako polovica<br />

experimentov zameraná práve na snímaný obraz.<br />

Pre snímaný obraz bolo potrebné znovu realizovať niektoré experimenty<br />

týkajúce sa topológie neurónovej siete (veľkosť vstupnej a skrytej vrstvy),<br />

<strong>pre</strong>tože snímaný obraz sa v porovnaní s generovaným obrazom vyznačoval<br />

mierne inými vlastnosťami. Ukázalo sa, že vstupná vrstva o veľkosti16 ×<br />

16 neurónov, skrytá vrstva s veľkosťou 10 neurónov a výstupná vrstva s 2


FEI TU v Košiciach Diplomová práca List č. 66<br />

neurónmi je postačujúca a vhodná topológia <strong>pre</strong> <strong>pre</strong>dspracovanie <strong>obrazu</strong> a<br />

jej použitím sa dá dosiahnuť 88.5% úspešnosť rozpoznania znakov z takto<br />

<strong>pre</strong>dspracovaného <strong>obrazu</strong> po 1000 krokoch učenia.<br />

Potrebné <strong>pre</strong> úspešnosť <strong>pre</strong>dspracovania <strong>obrazu</strong> sa ukázali aj experimenty<br />

týkajúce sa parametrov trénovacej množiny. Potvrdilo sa tvrdenie, že väčšia<br />

trénovacia množina je dôvodom menšieho počtu potrebných krokov učenia<br />

ako pri menšej trénovacej množine <strong>pre</strong> dosiahnutie rovnakej chyby. Dospel<br />

som však ešte k zisteniu, že trénovacia množina musí byť dostatočne veľká<br />

(v našom prípade aspoň 8000 prvkov), aby obsiahla všetky potrebné znalosti<br />

z <strong>obrazu</strong> <strong>pre</strong> kvalitné <strong>pre</strong>dspracovanie <strong>obrazu</strong>. Pre menšie trénovacie mno-<br />

žiny <strong>pre</strong>dspracovanie tiež funguje, ale dosahuje horšiu úspešnosť rozpoznania<br />

znakov z <strong>pre</strong>dspracovaného <strong>obrazu</strong>.<br />

Skúmal som ešte distribúciu prvkov v trénovacej množine a experiment<br />

potvrdil, že riadený výber prvkov do trénovacej množiny zlepšuje kvalitu<br />

spracovania, čo je najviac zreteľné pri menších trénovacích množinách, kde<br />

môže byť zlepšenie až 45%. Pri väčšej trénovacej množine bolo zlepšenie len<br />

5.8%, čo však <strong>pre</strong>dstavuje tiež podstatné zlepšenie, <strong>pre</strong>tože je náročnejšie<br />

dosiahnuť zlepšenie pri malej chybe siete, ako pri veľkej chybe siete.<br />

Nakoniec som realizoval ešte porovnanie rôznych programov <strong>pre</strong> <strong>optické</strong><br />

<strong>rozpoznávanie</strong> znakov a najlepšiu úspešnosť rozpoznania znakov dosiahli prog-<br />

ramy ABBYY FineReader 7.0 a Transym OCR (TOCR) 2.0.


FEI TU v Košiciach Diplomová práca List č. 67<br />

7 Záver<br />

V tejto diplomovej práci zameranej na <strong>pre</strong>dspracovanie <strong>obrazu</strong> <strong>pre</strong>d optickým<br />

rozpoznávaním znakov boli zdokumentované rôzne pokusy a metódy, ktoré<br />

boli odskúšané v úlohe <strong>pre</strong>d<strong>pre</strong>spracovania.<br />

Zistené potrebné parametre neurónovej siete a celého systému <strong>pre</strong>dspra-<br />

covania <strong>obrazu</strong> neurónovou sieťou je možné nájsť v kapitolách venovaných<br />

experimentom so systémom, prípadne v celkovom zhodnotení v zhustenej<br />

forme.<br />

Všetky stanovené body tejto diplomovej práce boli úspešne splnené a<br />

dostatočne zdokumentované. Bolo vytvorených niekoľko pomocných aplikácií<br />

použitých pri experimentoch a jedna aplikácia ako finálny produkt diplomovej<br />

práce za účelom demonštrovať samotné <strong>pre</strong>dspracovanie <strong>obrazu</strong>.<br />

Podľa môjho názoru adaptívne metódy nelineárnej filtrácie <strong>obrazu</strong> (napr.<br />

pomocou neurónových sietí) majú veľký potenciál a <strong>pre</strong>to by bolo vhodné<br />

venovať im väčšiu pozornosť. Výsledky tejto diplomovej práce ukázali, že pou-<br />

žitie neurónových sietí je výhodné, ale relatívne pomalé, <strong>pre</strong>to by bolo možno<br />

vhodné zamerať časť výskumu aj na zrýchlenie do<strong>pre</strong>dného šírenia signálu,<br />

prípadne na lepšiu implementáciu algoritmu do<strong>pre</strong>dného šírenia signálu <strong>pre</strong><br />

dosiahnutie vyššej rýchlosti spracovania.


FEI TU v Košiciach Diplomová práca List č. 68<br />

Literatúra<br />

[1] P. Sinčák, G. Andrejková: Neurónové siete - inžiniersky prístup (do<strong>pre</strong>dné<br />

neurónové siete) č.1.<br />

ELFA Press, 1996<br />

[2] P. Sinčák, G. Andrejková: Neurónové siete - inžiniersky prístup (rekurentné a<br />

modulárne neurónové siete) č.2.<br />

ELFA Press, 1996<br />

[3] R. Jakša: Neuronriadenie: využitie neurónových sietí v inteligentnom riadení<br />

Dizertačná práca, Technická univerzita Košice, 1999<br />

[4] M. Užák: Vizualizácia a interakcia v procese učenia neurónových sietí<br />

Diplomová práca, Technická univerzita Košice, 2005<br />

[5] Trevor Clarkson: Applications of Neural Networks in Telecommunications<br />

Strand, London WC2R 2LS, UK, 2000<br />

[6] D. de Ridder, R. P.W. Duin, M. Egmont-Petersen, L. J. van Vliet, P. W.<br />

Verbeek: Nonlinear image processing using artificial neural networks, 2003<br />

[7] R. Chellappa, K. Fukushima, A. K. Katsaggelos, S.Y. Kung, Y. Lecun, N. M.<br />

Nasrabadi, T. A. Poggio: Applications of Artificial Neural Networks to Image<br />

Processing<br />

IEEE transactions on image processing, vol. 7, no. 8, august 1998<br />

[8] S.Y. Kung, J. N. Hwang: Neural Networks for Intelligent Multimedia Proces-<br />

sing<br />

Proceedings of the IEEE, vol. 86, no. 6, june 1998<br />

[9] Optical character recognition<br />

http://en.wikipedia.org/wiki/Optical_character_recognition<br />

[10] Mustek, Inc.: Understanding OCR<br />

http://www2.mustek.com/Class/ocrinfo.html<br />

[11] Eric W. Brown: Character Recognition by Feature Point Extraction<br />

http://www.ccs.neu.edu/home/feneric/charrec.html, 1992


FEI TU v Košiciach Diplomová práca List č. 69<br />

[12] Abdel Belaid: OCR: Print<br />

INRIA, Nancy, Lorraine, France<br />

http://cslu.cse.ogi.edu/HLTsurvey/ch2node5.html CRIN/CNRS<br />

[13] Christian Graus: Image Processing for Dummies with C# and GDI+ Part 2<br />

- Convolution Filters<br />

http://www.codeproject.com/script/ann/<br />

ServeHTML.aspx?C=False&id=786&cb=4088493


FEI TU v Košiciach Diplomová práca List č. 70<br />

Zoznam obrázkov<br />

1 Priebeh rozpoznania znakov na obraze . . . . . . . . . . . . . 3<br />

2 Zľava doprava: ideálny obraz, histogram <strong>obrazu</strong>, obraz spra-<br />

covaný prahovaním . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

3 Zľava doprava: reálny obraz, histogram <strong>obrazu</strong>, obraz spraco-<br />

vaný prahovaním . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

4 Zľava doprava: tlačený obraz, histogram <strong>obrazu</strong>, obraz spra-<br />

covaný prahovaním . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

5 Zľava doprava: zosnímaný obraz, histogram <strong>obrazu</strong>, obraz spra-<br />

covaný prahovaním . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

6 Zľava doprava: tlačený obraz, vyhladený obraz, obraz spraco-<br />

vaný prahovaním . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

7 Zľava doprava: zosnímaný obraz, vyhladený obraz, obraz spra-<br />

covaný prahovaním . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

8 Zľava doprava: zosnímaný obraz, obraz po vyhladení a detekcii<br />

hrán, obraz spracovaný prahovaním . . . . . . . . . . . . . . . 15<br />

9 Vľavo: vstup úrovní šedi, vpravo: výstupná úroveň šedi . . . . 18<br />

10 Do<strong>pre</strong>dná neurónová sieť <strong>pre</strong> spracovanie <strong>obrazu</strong>. Zľava do-<br />

prava: vstupná vrstva, skrytá vrstva, výstupná vrstva. . . . . . 20<br />

11 Priebeh aktivačnej funkcie neurónu. Na osi X je vstupná hod-<br />

nota do aktivačnej funkcie, na osi Y je výstupná hodnota z<br />

aktivačnej funkcie. . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

12 Koncept spracovania <strong>obrazu</strong> na text . . . . . . . . . . . . . . . 24<br />

13 Vývojový diagram <strong>pre</strong> aplikáciu <strong>pre</strong>dspracovania <strong>obrazu</strong> . . . 25<br />

14 Ukážka z programu <strong>pre</strong> <strong>pre</strong>dspracovanie <strong>obrazu</strong> neurónovou<br />

sieťou. Ďalšie ukážky z programu sa nachádzajú v prílohe A . 27<br />

15 Graf závislosti minimálnej chyby neurónovej siete na testova-<br />

cej množine vzhľadom na kombináciu po<strong>pre</strong>dia a pozadia . . . 33<br />

16 Závislosť učenia na inicializácii neurónovej siete . . . . . . . . 39<br />

17 Vplyv šumu na schopnosť učenie sa neurónovej siete . . . . . . 41


FEI TU v Košiciach Diplomová práca List č. 71<br />

18 Spracovaný a rozpoznaný text. Počet prvkov v trénovacej mno-<br />

žine: 100. Úspešnosť rozpoznania: 1.04% . . . . . . . . . . . . 53<br />

19 Spracovaný a rozpoznaný text. Počet prvkov v trénovacej mno-<br />

žine: 500. Úspešnosť rozpoznania: 35.6% . . . . . . . . . . . . 53<br />

20 Spracovaný a rozpoznaný text. Počet prvkov v trénovacej mno-<br />

žine: 1000. Úspešnosť rozpoznania: 50.3% . . . . . . . . . . . . 53<br />

21 Spracovaný a rozpoznaný text. Počet prvkov v trénovacej mno-<br />

žine: 2000. Úspešnosť rozpoznania: 71.7% . . . . . . . . . . . . 54<br />

22 Spracovaný a rozpoznaný text. Počet prvkov v trénovacej mno-<br />

žine: 8000. Úspešnosť rozpoznania: 87.9% . . . . . . . . . . . . 54<br />

23 Spracovaný a rozpoznaný text. Počet prvkov v trénovacej mno-<br />

žine: 12000. Úspešnosť rozpoznania: 85.3% . . . . . . . . . . . 54<br />

24 Závislosť počtu prvkov v trénovacej množine, dosiahnutej mi-<br />

nimálnej chyby na testovacej množine a úspešnosti rozpozna-<br />

nia znakov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

25 Spracovaný a rozpoznaný text. Typ výberu prvkov: náhodný.<br />

Počet prvkov v trénovacej množine: 1000. Úspešnosť rozpoz-<br />

nania: 4.2% . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

26 Spracovaný a rozpoznaný text. Typ výberu prvkov: riadený.<br />

Počet prvkov v trénovacej množine: 1000. Úspešnosť rozpoz-<br />

nania: 50.3% . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

27 Graf priebehu učenia neurónovej siete . . . . . . . . . . . . . . 61<br />

28 ABBYY FineReader - spracovaný a rozpoznaný text . . . . . 63<br />

29 TOCR - spracovaný a rozpoznaný text . . . . . . . . . . . . . 64<br />

30 Aplikácia po spustení. . . . . . . . . . . . . . . . . . . . . . . 74<br />

31 Je potrebné otvoriť spracúvaný obrázok. . . . . . . . . . . . . 74<br />

32 Spracúvaný obrázok sa sa zobrazí na vstupnej aj výstupnej<br />

časti aplikácie. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

33 Pri trénovaní je potrebné zvoliť oblasť trénovania. . . . . . . . 75<br />

34 Do riadku vpravo dole sa vpíše časť textu, ktorý je na vstup-<br />

nom obrázku. . . . . . . . . . . . . . . . . . . . . . . . . . . . 76


FEI TU v Košiciach Diplomová práca List č. 72<br />

35 Text je potrebné umiestniť <strong>pre</strong>sne tam, kde sa na obrázku<br />

nachádza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br />

36 Je možné zvoliť veľkosť a typ fontu. . . . . . . . . . . . . . . . 77<br />

37 V celej trénovacej oblasti je potrebné <strong>pre</strong>kryť každý text na<br />

obrázku. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

38 Potom je potrebné stlačiť tlačidlo ’Train’ <strong>pre</strong> začatie tréno-<br />

vania. V modrom okienku hore sa z<strong>obrazu</strong>je odhadnutý čas<br />

ukončenia trénovania. . . . . . . . . . . . . . . . . . . . . . . . 78<br />

39 Nakoniec sa zobrazí dosiahnutá chyba neurónovej siete. . . . . 78<br />

40 Po stlačení tlačidla ’Proc’ je potrebné vybrať neurónovú sieť,<br />

ktorú použijeme na samotné <strong>pre</strong>spracovanie <strong>obrazu</strong>. . . . . . . 79<br />

41 Priebeh spracovania <strong>obrazu</strong> sa z<strong>obrazu</strong>je hore v percentách. . . 79<br />

42 V pravej časti aplikácie vidíme spracovaný obrázok. . . . . . . 80<br />

43 Spracovaný obrázok uložíme s ľubovoľným názvom. . . . . . . 80<br />

44 This is what you get when you scan the printed text. . . . . . 83<br />

45 Image after smoothing (mid) and thresholding (right). . . . . . 84<br />

46 Schematical drawing of a 2D image filter. . . . . . . . . . . . . 85<br />

47 Schematical drawing of neural network . . . . . . . . . . . . . 85<br />

48 Workflow chart of Image PreProcessing application. . . . . . . 87<br />

49 Screenshot from the Image PreProcessing application. . . . . . 88<br />

50 Example of some foreground and background combinations . . 89<br />

51 Graph of relation between combination of textures and the<br />

minimal error reached on the neural network. . . . . . . . . . 89


FEI TU v Košiciach Diplomová práca List č. 73<br />

Zoznam tabuliek<br />

1 Generovaný obraz: kombinácie pozadia a po<strong>pre</strong>dia . . . . . . . 30<br />

2 Závislosti chyby neurónovej siete na kombinácii po<strong>pre</strong>dia a<br />

pozadia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

3 Závislosť úspešnosti učenia na veľkosti vstupnej vrstvy . . . . 35<br />

4 Závislosť úspešnosti učenia na veľkosti skrytej vrstvy . . . . . 37<br />

5 Závislosť učenia na inicializácii neurónovej siete . . . . . . . . 39<br />

6 Vplyv šumu na schopnosť učenie sa neurónovej siete . . . . . . 42<br />

7 Závislosť úspešnosti rozpoznania znakov na vstupnej vrstve . . 47<br />

8 Závislosť úspešnosti učenia sa na veľkosti skrytej vrstvy . . . . 50<br />

9 Vplyv veľkosti trénovacej množiny na kvalitu spracovania <strong>obrazu</strong> 52<br />

10 Vplyv distribúcie bodov na kvalitu spracovania <strong>obrazu</strong> . . . . 58<br />

11 Závislosť výsledkov spracovania od poradia lokálneho minima . 61<br />

12 Porovnanie úspešnosti rôznych programov <strong>pre</strong> <strong>optické</strong> rozpoz-<br />

návanie znakov . . . . . . . . . . . . . . . . . . . . . . . . . . 63


FEI TU v Košiciach Diplomová práca List č. 74<br />

A Ukážka aplikácie ’Image PreProcessor’<br />

Obr. 30: Aplikácia po spustení.<br />

Obr. 31: Je potrebné otvoriť spracúvaný obrázok.


FEI TU v Košiciach Diplomová práca List č. 75<br />

Obr. 32: Spracúvaný obrázok sa sa zobrazí na vstupnej aj výstupnej časti<br />

aplikácie.<br />

Obr. 33: Pri trénovaní je potrebné zvoliť oblasť trénovania.


FEI TU v Košiciach Diplomová práca List č. 76<br />

Obr. 34: Do riadku vpravo dole sa vpíše časť textu, ktorý je na vstupnom<br />

obrázku.<br />

Obr. 35: Text je potrebné umiestniť <strong>pre</strong>sne tam, kde sa na obrázku nachádza.


FEI TU v Košiciach Diplomová práca List č. 77<br />

Obr. 36: Je možné zvoliť veľkosť a typ fontu.<br />

Obr. 37: V celej trénovacej oblasti je potrebné <strong>pre</strong>kryť každý text na obrázku.


FEI TU v Košiciach Diplomová práca List č. 78<br />

Obr. 38: Potom je potrebné stlačiť tlačidlo ’Train’ <strong>pre</strong> začatie trénovania. V<br />

modrom okienku hore sa z<strong>obrazu</strong>je odhadnutý čas ukončenia trénovania.<br />

Obr. 39: Nakoniec sa zobrazí dosiahnutá chyba neurónovej siete.


FEI TU v Košiciach Diplomová práca List č. 79<br />

Obr. 40: Po stlačení tlačidla ’Proc’ je potrebné vybrať neurónovú sieť, ktorú<br />

použijeme na samotné <strong>pre</strong>spracovanie <strong>obrazu</strong>.<br />

Obr. 41: Priebeh spracovania <strong>obrazu</strong> sa z<strong>obrazu</strong>je hore v percentách.


FEI TU v Košiciach Diplomová práca List č. 80<br />

Obr. 42: V pravej časti aplikácie vidíme spracovaný obrázok.<br />

Obr. 43: Spracovaný obrázok uložíme s ľubovoľným názvom.


FEI TU v Košiciach Diplomová práca List č. 81<br />

B Abstrakt diplomovej práce v anglickom<br />

jazyku


FEI TU v Košiciach Diplomová práca List č. 82<br />

Image <strong>pre</strong>processing for optical character<br />

Abstract<br />

recognition using neural networks<br />

Author: Miroslav NOHAJ, jookie@szm.sk<br />

Supervisor: Rudolf JAKŠA, jaksa@neuron.tuke.sk<br />

Primary task of this master’s thesis is to create a theoretical and practical<br />

basis of <strong>pre</strong>processing of printed text for optical character recognition using<br />

forward-feed neural networks. Demonstration application was created and its<br />

parameters were set according to results of realized experiments.<br />

Project definition and task determination<br />

1. Write a introduction about the problematics of optical character re-<br />

cognition of characters and the methods of image <strong>pre</strong>processing before<br />

optical character recognition.<br />

2. Design a system for image <strong>pre</strong>processing using neural networks.<br />

3. Implement the designed system and simulator of printed text.<br />

4. Realize experiments to determine the settings of the system and to<br />

compare the different approaches.<br />

5. Evaluate the realized experiments and their possible practical use.<br />

6. Write a documentation according to the supervisor’s instructions.<br />

Introduction<br />

Almost everyone who is working with computers has to input some text to the<br />

computer from the paper. There is not only one way to do that. The smartest


FEI TU v Košiciach Diplomová práca List č. 83<br />

Obr. 44: This is what you get when you scan the printed text.<br />

way is to scan the document and let software for optical character recognition<br />

(shortened: OCR) transform the scanned image into editable text. The OCR<br />

software can use methods like:<br />

- matrix comparation of image with letter examples from library<br />

- feature extraction from image<br />

- recognition of characters using neural networks<br />

- hybrid and combined methods<br />

- other methods<br />

Each method listed above has some advantages and disagvantages, so if you<br />

are using OCR software which uses any of those methods, you know what<br />

you can expect. Flexibility of the methods listed above varies from one to<br />

another, but even the less flexible method’s success can be improved using<br />

image <strong>pre</strong>processing before the OCR.<br />

The most used methods of image <strong>pre</strong>processing before OCR are:<br />

- thresholding based on histogram<br />

- smoothing<br />

- other 2D matrix filters<br />

I won’t describe any of these methods of <strong>pre</strong>processing here because they’re<br />

<strong>pre</strong>tty much known to the public.


FEI TU v Košiciach Diplomová práca List č. 84<br />

Obr. 45: Image after smoothing (mid) and thresholding (right).<br />

On the picture 42 on the left is what you will get if you will scan the<br />

printed text. Note that the scanned image contains levels of gray that were<br />

never printed and that were never designed on the screen of the computer.<br />

Image like this is not thresholdable - the threshold is useless and the OCR<br />

can’t be used.<br />

If you would apply a light smoothing couple times on the image on the<br />

picture 44 or a heavy smoothing once, you can get a result like this one:<br />

As you can see, the smoothing (in some sort) converted the different levels<br />

of gray into less levels of more similiar levels of gray. On the image on the<br />

picture 45 in the middle a threshold can be applied with better results than<br />

on the image on the left. But as you can see, with threshold you will loose<br />

some parts of the text (picture 45 on the right) or you will fail to remove<br />

some parts of the background (but the text will not loose anything). So this<br />

is the case when the different method of <strong>pre</strong>processing must be used.<br />

Design and implementation<br />

Most of the standart and well known methods works by determining the new<br />

value of the level of shade of the image pixel by multiplying the current level<br />

of shade of the pixel and its neighbours by some coeficients. These coeficients<br />

are described in a convolution matrix.This matrix can be displayed as a set<br />

of input pixels connected with the output pixel with lines with wieghts. (See<br />

the picture 46) In artificial inteligence, the most similiar thing to this filter<br />

is a forward-feed neural network, because:<br />

- the input can be organized in the mask of N × N


FEI TU v Košiciach Diplomová práca List č. 85<br />

in<br />

in<br />

in<br />

1,1<br />

1,2<br />

1,3<br />

in<br />

in<br />

in<br />

2,1<br />

2,2<br />

23<br />

in<br />

in<br />

in<br />

3,1<br />

3,2<br />

3,3<br />

k<br />

2,1<br />

k<br />

Obr. 46: Schematical drawing of a 2D image filter.<br />

in1,1<br />

in1,2<br />

in1,3<br />

in2,1<br />

in2,2<br />

in2,3<br />

in3,1<br />

in3,2<br />

in3,3<br />

1,3<br />

k<br />

3,1<br />

h 1<br />

h 2<br />

h 3<br />

out<br />

out1<br />

out2<br />

Obr. 47: Schematical drawing of neural network<br />

- the output can be one (or more) pixels<br />

- the signal flows from the input to the output<br />

- the input and output are connected with lines which have weights<br />

So a very similiar forward-feed neural network to the 2D filter can look like<br />

one shown on the picture 47. I’ve chosen the parameters of used neural ne-<br />

twork:<br />

- type of neural network: forward-feed full-connection neural network<br />

- learning method: standart error back-propgation<br />

- input layer of N × N neurons<br />

- hidden layer of M neurons<br />

- output layer of 2 neurons (one for direct level of shade and one for<br />

inverted level of shade)


FEI TU v Košiciach Diplomová práca List č. 86<br />

- activation function: f(xi)= 1<br />

1+e −λ∗x i<br />

Note that parameters M and N were determined by experiments.<br />

The ’Image PreProcessing’ application was designed for the purpose of<br />

image <strong>pre</strong>processing using neural networks, the workflow chart is shown on<br />

the picture 48. The application can be done in three different ways:<br />

- fully automatic application<br />

- half-automatic application<br />

- manualy controled application<br />

On the picture 48 are two boxes which are affected by these three different<br />

ways. Determine background and foreground combination is done<br />

automaticaly in the concept of fully automatic and half-automatic aplica-<br />

tions and it would require some logic to compare the current foreground<br />

and background to known combinations of foreground and background (this<br />

could be done by modular neural network). Create training and testing<br />

pattern would need computer vision and OCR itself to determine the text<br />

on the original picture, that’s why it is automatic only in the concept of<br />

fully automatic application. Because the main target of this masters thesis<br />

was to do research on image <strong>pre</strong>processing using neural networks and not<br />

to make the best <strong>pre</strong>processing application, I decided to use the concept of<br />

manualy controled application for my ’Image PreProcessor’. This way user<br />

has to input the text he sees on the picture and place the text exactly over<br />

the text on the picture and then the application can create the training and<br />

testing pattern. You can see a screenshot from the ’Image PreProcessor’ on<br />

the picture 49.<br />

Experiments<br />

Some experiments must have been realised to determine some parameters<br />

of the Image PreProcessing system and its neural network. On more scan-<br />

ned documents I have found 25 different combinations of background and


FEI TU v Košiciach Diplomová práca List č. 87<br />

START<br />

Load<br />

Image<br />

Convert shades of<br />

gray to floating<br />

point numbers<br />

Determine background<br />

and foreground<br />

combination<br />

Do we have NN<br />

trained?<br />

Process<br />

image<br />

STOP<br />

yes<br />

Load NN<br />

weights<br />

Convert floating<br />

point numbers to<br />

shades of gray<br />

Save<br />

image<br />

no<br />

Create training and<br />

testing pattern<br />

Train NN<br />

Save NN<br />

weights<br />

Obr. 48: Workflow chart of Image PreProcessing application.


FEI TU v Košiciach Diplomová práca List č. 88<br />

Obr. 49: Screenshot from the Image PreProcessing application.<br />

foreground. I created a ’Printed text simulator’ which generates images with<br />

text which is texturised with the textures found in the scanned documents.<br />

Examples of the generated pictures are on picture 50.<br />

The first experiment was intended to determine which combination of<br />

foreground and background on the generated image is the most problematic.<br />

As the graph on picture 51 shows that combination number 17 is the most<br />

problematic, so it was chosen for the next set of experiments on generated<br />

images. The next experiments showed that the neural network must have the<br />

input layer of size at least3 ×3 neurons to work sufficiently on the generated<br />

image and the hidden layer of size at least 3 neurons.<br />

I was also testing how the initialization of neural network affects the<br />

learning of neural network and also the final achieved minimal error of the<br />

neural network. I’ve found out that the average minimal error on the 17th<br />

combination of foreground and background was 7.82% and that it may vary<br />

about 1% because of different initialization.<br />

The other experiment showed that the neural network can process well<br />

the image with 15% or less of noise.<br />

I have done also experiments on the scanned image with the scanning


FEI TU v Košiciach Diplomová práca List č. 89<br />

Obr. 50: Example of some foreground and background combinations<br />

error [%]<br />

10<br />

8<br />

6<br />

4<br />

2<br />

training pattern<br />

0<br />

0 5 10 15 20 25<br />

foreground and background combination<br />

Obr. 51: Graph of relation between combination of textures and the minimal<br />

error reached on the neural network.


FEI TU v Košiciach Diplomová práca List č. 90<br />

resolution of 200 dpi 3 . The experiments showed that the best size of input<br />

layer of neural network is16 ×16 neurons with this this scanned image in<br />

this scanning resolution. Also the size of hidden layer was determined and<br />

the experiment showed that the hidden layer should have at least 10 neurons.<br />

There were done some experiments with the training pattern generating.<br />

If the image <strong>pre</strong>processing has to be good enough, the training pattern should<br />

have at least 8000 samples and their distribution should be controled.<br />

The best recognition success that was achieved after image <strong>pre</strong>processing<br />

was 87.9% of letters correctly recognized. The software used for OCR was<br />

ABBYY FineReader 7.0 (trial version).<br />

Contribution to the research domain<br />

This master’s thesis does a research of image <strong>pre</strong>processing before optical<br />

character recognition using neural networks. It is a benefit to the research<br />

domain because the image <strong>pre</strong>processing using neural networks isn’t ade-<br />

quately examined and it has a lot of potential. I think that the nonlinear<br />

adaptive filtering which can be done using neural networks is much more<br />

better than linear filtering and it is the future of the image processing and<br />

<strong>pre</strong>processing. You can find some theoretical and practical basics in this mas-<br />

ter’s thesis about this topic.<br />

Conclusion<br />

As this master’s thesis shows, the neural networks can be used for image<br />

<strong>pre</strong>processing <strong>pre</strong>tty well with many advantages over normal image <strong>pre</strong>pro-<br />

cessing methods. For more information about mentioned experiments and<br />

application please read the full master’s thesis (in slovak language).<br />

3 dots per inch


FEI TU v Košiciach Diplomová práca List č. 91<br />

References<br />

[1] P. Sinčák, G. Andrejková: Neurónové siete - inžiniersky prístup (do<strong>pre</strong>dné ne-<br />

urónové siete) č.1., ELFA Press, 1996<br />

[2] P. Sinčák, G. Andrejková: Neurónové siete - inžiniersky prístup (rekurentné<br />

a modulárne neurónové siete) č.2., ELFA Press, 1996<br />

[3] R. Jakša: Neuronriadenie: využitie neurónových sietí v inteligentnom riadení,<br />

Dizertačná práca, Technická univerzita Košice, 1999<br />

[4] M. Užák: Vizualizácia a interakcia v procese učenia neurónových sietí, Dip-<br />

lomová práca, Technická univerzita Košice, 2005<br />

[5] Trevor Clarkson: Applications of Neural Networks in Telecommunications, Strand,<br />

London WC2R 2LS, UK, 2000<br />

[6] D. de Ridder, R. P.W. Duin, M. Egmont-Petersen, L. J. van Vliet, P. W. Ver-<br />

beek: Nonlinear image processing using artificial neural networks, 2003<br />

[7] R. Chellappa, K. Fukushima, A. K. Katsaggelos, S.Y. Kung, Y. Lecun, N.<br />

M. Nasrabadi, T. A. Poggio: Applications of Artificial Neural Networks to Image<br />

Processing, IEEE transactions on image processing, vol. 7, no. 8, august 1998<br />

[8] S.Y. Kung, J. N. Hwang: Neural Networks for Intelligent Multimedia Proces-<br />

sing, Proceedings of the IEEE, vol. 86, no. 6, june 1998<br />

[9] Optical character recognition<br />

http://en.wikipedia.org/wiki/Optical_character_recognition<br />

[10] Mustek, Inc.: Understanding OCR<br />

http://www2.mustek.com/Class/ocrinfo.html<br />

[11] Eric W. Brown: Character Recognition by Feature Point Extraction<br />

http://www.ccs.neu.edu/home/feneric/charrec.html, 1992


FEI TU v Košiciach Diplomová práca List č. 92<br />

[12] Abdel Belaid: OCR: Print, INRIA, Nancy, Lorraine, France<br />

http://cslu.cse.ogi.edu/HLTsurvey/ch2node5.html CRIN/CNRS<br />

[13] Christian Graus: Image Processing for Dummies with C# and GDI+ Part<br />

2 - Convolution Filters<br />

http://www.codeproject.com/script/ann/<br />

ServeHTML.aspx?C=False&id=786&cb=4088493

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!