Predspracovanie obrazu pre optické rozpoznávanie ... - TUKE
Predspracovanie obrazu pre optické rozpoznávanie ... - TUKE
Predspracovanie obrazu pre optické rozpoznávanie ... - TUKE
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