24.07.2013 Views

Predspracovanie obrazových dát pre predpoveď počasia pomocou NN

Predspracovanie obrazových dát pre predpoveď počasia pomocou NN

Predspracovanie obrazových dát pre predpoveď počasia pomocou NN

SHOW MORE
SHOW LESS

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

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

Technická univerzita v Koˇsiciach<br />

Fakulta elektrotechniky a informatiky<br />

<strong>Predspracovanie</strong> obrazov´ych <strong>dát</strong> <strong>pre</strong><br />

<strong>pre</strong>dpoved’ <strong>počasia</strong> <strong>pomocou</strong> <strong>NN</strong><br />

2010 Ivan Kuriˇsčák


Technická univerzita v Koˇsiciach<br />

Fakulta elektrotechniky a informatiky<br />

Katedra umelej inteligencie<br />

<strong>Predspracovanie</strong> obrazov´ych <strong>dát</strong> <strong>pre</strong><br />

<strong>pre</strong>dpoved’ <strong>počasia</strong> <strong>pomocou</strong> <strong>NN</strong><br />

Diplomová práca<br />

ˇStudijn´y program: Umelá inteligencia<br />

ˇStudijn´y odbor: Umelá inteligencia<br />

ˇSkoliace pracovisko: Katedra umelej inteligencie (KKUI)<br />

ˇSkolitel’: Ing. Rudolf Jakˇsa, PhD.<br />

Konzultant: Ing. Rudolf Jakˇsa, PhD.<br />

Koˇsice 2010 Ivan Kuriˇsčák


Analytick´y list<br />

Autor: Ivan Kuriˇsčák<br />

Názov práce: <strong>Predspracovanie</strong> obrazov´ych <strong>dát</strong> <strong>pre</strong> <strong>pre</strong>dpoved’ <strong>počasia</strong> po-<br />

Podnázov práce:<br />

mocou <strong>NN</strong><br />

Jazyk práce: slovensk´y<br />

Typ práce: Diplomová práca<br />

Počet strán: 50<br />

Akademick´y titul: Inˇzinier<br />

Univerzita: Technická univerzita v Koˇsiciach<br />

Fakulta: Fakulta elektrotechniky a informatiky (FEI)<br />

Katedra: Katedra umelej inteligencie (KKUI)<br />

ˇStudijn´y odbor: Umelá inteligencia<br />

ˇStudijn´y program: Umelá inteligencia<br />

Mesto: Koˇsice<br />

Vedúci práce: Ing. Rudolf Jakˇsa, PhD.<br />

Konzultanti práce: Ing. Rudolf Jakˇsa, PhD.<br />

Dátum odovzdania: 13. 8. 2010<br />

Dátum obhajoby: 27. 8. 2010<br />

Kl’účové slová: neurónové siete, <strong>pre</strong>dpoved’ <strong>počasia</strong>, spracovanie obra-<br />

zov´ych <strong>dát</strong><br />

Kategória konspekt: V´ypočtová technika; Umelá inteligencia<br />

Citovanie práce: Ivan Kuriˇsčák: <strong>Predspracovanie</strong> obrazov´ych <strong>dát</strong> <strong>pre</strong> <strong>pre</strong>dpo-<br />

ved’ <strong>počasia</strong> <strong>pomocou</strong> <strong>NN</strong>. Diplomová práca. Koˇsice: Tech-<br />

nická univerzita v Koˇsiciach, Fakulta elektrotechniky a in-<br />

formatiky. 2010. 50 s.<br />

Názov práce v AJ: Preprocessing of Image Data for Weather Forecast Using<br />

Podnázov práce v AJ:<br />

Neural Networks<br />

Kl’účové slová v AJ: neural networks, weather forecast, image <strong>pre</strong>processing


Abstrakt v SJ<br />

Diplomová práca sa zaoberá návrhom a implementáciou aplikácie neurónov´ych sietí<br />

v oblasti <strong>pre</strong>dspracovania obrazov´ych <strong>dát</strong>. Práca popisuje súčasn´y stav problema-<br />

tiky spracovania obrazu a <strong>pre</strong>dstavuje úvod do problematiky neurónov´ych sietí a<br />

numerick´ych metód <strong>pre</strong>dpovede <strong>počasia</strong>. V implementačnej časti je popísan´y spôsob<br />

realizácie navrhnutého systému. V poslednej experimentálnej časti sú <strong>pre</strong>dstavené<br />

a zhodnotené experimentálne v´ysledky dosiahnuté systémom na báze neurónov´ych<br />

sietí.<br />

Abstrakt v AJ<br />

This thesis deals with a design and implementation of application of neural networks<br />

in domain of image <strong>pre</strong>processing. The thesis describes <strong>pre</strong>sent status of world is-<br />

sues concerning image processing and introduces terminology of neural networks and<br />

concerns of numerical methods for weather forecast. In the implementation part is<br />

described way of realization of designed system. In last part are <strong>pre</strong>sented experi-<br />

mental solutions achieved by system based on neural networks.


Čestné vyhlásenie<br />

Vyhlasujem, ˇze som diplomovú prácu vypracoval(a) samostatne s pouˇzitím uvedenej<br />

odbornej literatúry.<br />

Koˇsice 13. 8. 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

Vlastnoručn´y podpis


Pod’akovanie<br />

ˇDakujem vedúcemu a konzultantovi mojej diplomovej práce Ing. Rudolfovi Jakˇsovi,<br />

PhD., za jeho ochotu, venovan´y čas, poskytnuté rady, usmernenie a samozrejme<br />

trpezlivost’. Moju vel’kú vd’aku chcem vyjadrit’ aj celej mojej rodine za morálnu a<br />

psychickú podporu počas doby písania tejto práce.


Predhovor<br />

Problémy spracovania obrazov´ych <strong>dát</strong> môˇzeme vo vˇseobecnosti charakterizovat’ ako<br />

problémy nelineárneho charakteru. Neurónové siete sú povaˇzované za dostatočne<br />

<strong>pre</strong>sn´y aproximátor nelineárnych funkcií, <strong>pre</strong>to nachádzajú stále väčˇsie vyuˇzitie<br />

v obore spracovania obrazov´ych <strong>dát</strong>. Ciel’om tejto práce je poukázat’ na vhod-<br />

nost’ pouˇzitia neurónov´ych sietí na <strong>pre</strong>dspracovanie obrazov´ych <strong>dát</strong> <strong>pre</strong> <strong>pre</strong>dpoved’<br />

<strong>počasia</strong>.


Obsah<br />

Úvod 1<br />

1 Formulácia úlohy 2<br />

2 Úvod do spracovania obrazu <strong>pomocou</strong> neurónov´ych sietí 3<br />

2.1 Spracovanie obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

2.2 Neurónové siete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.3 Spracovanie obrazu <strong>pomocou</strong> neurónov´ych sietí . . . . . . . . . . . . 8<br />

3 Úvod do v´ypočtov´ych metód <strong>pre</strong>dpovede <strong>počasia</strong> 10<br />

4 Návrh systému <strong>pre</strong> <strong>pre</strong>dspracovanie obrazov´ych <strong>dát</strong> <strong>pomocou</strong> <strong>NN</strong> 12<br />

4.1 Zber <strong>dát</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

4.2 Úprava <strong>dát</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

4.2.1 Odčítanie <strong>dát</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

4.2.2 Odˇsumenie <strong>dát</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

4.2.3 Odstránenie hrán . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

4.3 <strong>Predspracovanie</strong> <strong>dát</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

4.3.1 Načítanie <strong>dát</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

4.3.2 Inicializácia BP . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

4.3.3 Učenie <strong>NN</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

4.3.4 Testovanie <strong>NN</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

4.3.5 Uloˇzenie v´ystupov . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

5 Experimentálne overenie navrhnutého systému 27<br />

5.1 Zber <strong>dát</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

5.2 Úprava <strong>dát</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

5.2.1 Zmena vel’kosti mrieˇzky . . . . . . . . . . . . . . . . . . . . . 31<br />

5.2.2 Zmena tvaru mrieˇzky . . . . . . . . . . . . . . . . . . . . . . . 32


FEI KKUI<br />

5.2.3 Vynechanie odˇsumenia . . . . . . . . . . . . . . . . . . . . . . 36<br />

5.3 <strong>Predspracovanie</strong> <strong>dát</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

6 Záver 48<br />

Zoznam pouˇzitej literatúry 49<br />

Zoznam príloh 50<br />

Príloha B 51<br />

Príloha C 53<br />

10


Zoznam obrázkov<br />

2 – 1 Postupnost’ úloh pri spracovaní obrazu . . . . . . . . . . . . . . . . . 4<br />

2 – 2 Základné prvky neurónu . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2 – 3 Zjednoduˇsen´y pohl’ad na neurónovú siet’ . . . . . . . . . . . . . . . . 7<br />

4 – 1 Zloˇzenie systému na <strong>pre</strong>dspracovanie obrazov´ych <strong>dát</strong> . . . . . . . . . 12<br />

4 – 2 Príklad obrazov´ych <strong>dát</strong> teploty . . . . . . . . . . . . . . . . . . . . . 14<br />

4 – 3 Príklad obrazov´ych <strong>dát</strong> vetra . . . . . . . . . . . . . . . . . . . . . . 15<br />

4 – 4 Príklad obrazov´ych <strong>dát</strong> oblacnosti . . . . . . . . . . . . . . . . . . . . 15<br />

4 – 5 Príklad obrazov´ych <strong>dát</strong> zráˇzok . . . . . . . . . . . . . . . . . . . . . . 16<br />

4 – 6 Príklad odčítania obrazov´ych <strong>dát</strong> - pôvodn´y obrázok . . . . . . . . . 19<br />

4 – 7 Príklad odčítania obrazov´ych <strong>dát</strong> - referenčn´y obrázok . . . . . . . . 20<br />

4 – 8 Príklad odčítania obrazov´ych <strong>dát</strong> - v´ysledn´y obrázok . . . . . . . . . 20<br />

4 – 9 Príklad odˇsumenia obrazov´ych <strong>dát</strong> - v´ysledn´y obrázok . . . . . . . . . 21<br />

4 – 10Príklad odstránenia hrán obrazov´ych <strong>dát</strong> - v´ysledn´y obrázok . . . . . 22<br />

5 – 1 Adresárová ˇstruktúra obrazov´ych <strong>dát</strong> oblačnosti . . . . . . . . . . . . 29<br />

5 – 2 Ukáˇzka zmien obrazov´ych <strong>dát</strong> oblačnosti - rok 2007 . . . . . . . . . . 30<br />

5 – 3 Ukáˇzka zmien obrazov´ych <strong>dát</strong> oblačnosti - rok 2008 . . . . . . . . . . 30<br />

5 – 4 Ukáˇzka zmien obrazov´ych <strong>dát</strong> oblačnosti - rok 2010 . . . . . . . . . . 31<br />

5 – 5 Mrieˇzka o vel’kosti 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

5 – 6 Príklad v´ysledného obrázku po pouˇzití mrieˇzky vel’kosti 3 v úprave <strong>dát</strong> 33<br />

5 – 7 Príklad v´ysledného obrázku po pouˇzití mrieˇzky vel’kosti 7 v úprave <strong>dát</strong> 33<br />

5 – 8 Príklad v´ysledného obrázku po pouˇzití mrieˇzky vel’kosti 9 v úprave <strong>dát</strong> 34<br />

5 – 9 Riadková a st ´ lpcová mrieˇzka o vel’kosti 9 . . . . . . . . . . . . . . . . 34<br />

5 – 10Príklad v´ysledku po pouˇzití riadkovej mrieˇzky vel’kosti 9 v úprave <strong>dát</strong> 35<br />

5 – 11Príklad v´ysledku po pouˇzití st ´ lpcovej mrieˇzky vel’kosti 9 v úprave <strong>dát</strong> 35<br />

5 – 12Príklad v´ysledku úpravy <strong>dát</strong> bez pouˇzitia odˇsumenia . . . . . . . . . 36<br />

5 – 13Experiment 1 - vstup . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

5 – 14Experiment 1 - v´ystup . . . . . . . . . . . . . . . . . . . . . . . . . . 38


FEI KKUI<br />

5 – 15Experiment 2 - vstup . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

5 – 16Experiment 2 - v´ystup . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

5 – 17Experiment 3 - vstup . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

5 – 18Experiment 3 - v´ystup . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

5 – 19Experiment 4 - vstup . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

5 – 20Experiment 4 - v´ystup . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

5 – 21Experiment 5 - vstup . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

5 – 22Experiment 5 - v´ystup . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

5 – 23Graf priebehu chyby učenia <strong>NN</strong> . . . . . . . . . . . . . . . . . . . . . 43<br />

5 – 24V´ystup experimentu pri rovnomernom v´ybere vzoriek . . . . . . . . . 44<br />

5 – 25Graf priebehu chyby pri rovnomernom v´ybere vzoriek . . . . . . . . . 45<br />

5 – 26V´ystup experimentu po 20 iteráciách . . . . . . . . . . . . . . . . . . 46<br />

5 – 27V´ystup experimentu po 250 iteráciách . . . . . . . . . . . . . . . . . 46<br />

5 – 28V´ystup experimentu s pouˇzitím upraveného obrázku bez hrán . . . . 47<br />

5 – 29V´ystup experimentu s pouˇzitím upraveného obrázku s hranami . . . . 47<br />

6 – 1 Korektn´y v´ypis do konzoly z aplikácie na úpravu <strong>dát</strong> . . . . . . . . . 54<br />

6 – 2 V´ypis do konzoly pri nezadaní vˇsetk´ych parametrov . . . . . . . . . . 54<br />

6 – 3 V´ypis do konzoly pri zadaní nesprávneho súboru . . . . . . . . . . . . 54<br />

6 – 4 V´ypis do konzoly úspeˇsnom ukončení <strong>pre</strong>dspracovania <strong>dát</strong> . . . . . . 55<br />

12


FEI KKUI<br />

Úvod<br />

Táto práca je zameraná na moˇznost’ vyuˇzitia neurónov´ych sietí pri <strong>pre</strong>dspracovávaní<br />

obrazov´ych <strong>dát</strong> <strong>pre</strong> účely <strong>pre</strong>dpovede <strong>počasia</strong>. Predpokladom <strong>pre</strong> vznik takého sys-<br />

tému je fakt, ˇze problémy spracovania obrazu majú vo vˇseobecnosti nelineárny cha-<br />

rakter a neurónové siete sú jedn´ym z vhodn´ych prostriedkov na rieˇsenie tak´ychto<br />

problémov.<br />

Systém obsahuje časti, ktoré rieˇsia problém zberu <strong>dát</strong> a časti, ktoré nazbierané <strong>dát</strong>a<br />

spracovávajú do podoby vhodnej <strong>pre</strong> vstup do neurónovej siete. Samotná neurónová<br />

siet’ je potom naučená na t´ychto <strong>dát</strong>ach a vstupom testovacích <strong>dát</strong> získavame obra-<br />

zové <strong>dát</strong>a a grafické priebehy ch´yb, na základe ktor´ych vieme zhodnotit’ vhodnost’<br />

pouˇzitia takéhoto systému na danú problematiku.<br />

V jednotliv´ych sekciách sa zhodnocuje pouˇzitie danej metódy a takisto moˇzné budúce<br />

vylepˇsenia, ktoré by mali napomôct’ v pohodlnejˇsom a efektívnejˇsom vyuˇzití nami<br />

získan´ych <strong>dát</strong> v procese <strong>pre</strong>dpovede <strong>počasia</strong>.<br />

1


FEI KKUI<br />

1 Formulácia úlohy<br />

Zadanie diplomovej práce obsahovalo tieto úlohy :<br />

1. Vypracovat’ úvod do spracovania obrazu <strong>pomocou</strong> neurónov´ych sietí – rieˇsi<br />

kapitola 2,<br />

2. Vypracovat’ úvod do v´ypočtov´ych metód <strong>pre</strong>dpovede <strong>počasia</strong> – rieˇsi kapitola<br />

3,<br />

3. Navrhnút’ systém <strong>pre</strong> <strong>pre</strong>dspracovanie obrazov´ych <strong>dát</strong> <strong>pre</strong> <strong>pre</strong>dpoved’ <strong>počasia</strong><br />

<strong>pomocou</strong> neurónov´ych sietí – rieˇsi kapitola 6,<br />

4. Implementovat’ navrhnut´y systém – rieˇsi kapitola 6,<br />

5. Realizovat’ experimenty na navrhnutom systéme za účelom overenia jeho funk-<br />

čnosti – rieˇsi kapitola 5,<br />

6. Zhodnotit’ realizované experimenty – rieˇsi kapitola 5 a 6,<br />

7. Vypracovat’ dokumentáciu podl’a pokynov vedúceho diplomovej práce.<br />

2


FEI KKUI<br />

2 Úvod do spracovania obrazu <strong>pomocou</strong><br />

neurónov´ych sietí<br />

Na to, aby sme mohli hovorit’ o tejto téme (podkapitola 2.3), musíme si najprv<br />

stručne priblíˇzit’ pojmy spracovanie obrazu (podkapitola 2.1) a neurónová siet’ (pod-<br />

kapitola 2.2).<br />

2.1 Spracovanie obrazu<br />

Za spracovanie obrazu môˇzeme povaˇzovat’ odbor, ktor´y sa zaoberá v´yvojom a násled-<br />

n´ym vyuˇzitím počítačov´ych algoritmov, pracujúcich s digitalizovan´ym obrazom.<br />

Medzi problémy, ktoré spracovanie obrazu rieˇsi, môˇzeme zaradit’ ˇsirokú ˇskálu akcií<br />

od rozˇsirovania signálu na niˇzˇsej úrovni, aˇz po rozpoznávanie obrazu na vyˇsˇsej<br />

úrovni. Odvetvia vo vel’kej miere vyuˇzívajúce funkcie spracovania obrazu zah´rňajú<br />

medicínu, fyziku, geológiu, astronómiu či vojensk´y priemysel.<br />

Vo vˇseobecnosti môˇze byt’ rieˇsenie problému spracovania obrazu re<strong>pre</strong>zentované po-<br />

stupnost’ou úloh. Táto postupnost’ (obr. 2 – 1) znázorňuje moˇzné postupy, ktoré je<br />

potrebné vykonat’ od vstupu obrazu (napr. zo skenera) aˇz po jeho v´ystup (napr.<br />

klasifikácia alebo popis scény).<br />

Táto postupnost’ pozostáva z nasledujúcich úloh (podl’a [2]):<br />

1. <strong>Predspracovanie</strong> obrazu (rekonˇstrukcia, odstránenie ˇsumu, zaostrenie),<br />

2. Extrakcia vlastností (rozˇsírenie obrazu, detekcia hrán),<br />

3. Segmentácia (rozliˇsovanie farieb, zhlukovanie),<br />

4. Rozpoznávanie objektov (rozpoznávanie podla ˇsablóny, rozpoznávanie podl’a<br />

vlastností),<br />

3


FEI KKUI<br />

5. Rozpoznávanie obrazu (usporiadanie objektov, anal´yza scény).<br />

Pre kaˇzd´y krok môˇze byt’ vstupom aj v´ystupom bud’ obraz (pixely), číselné vlastnosti<br />

obrazu, rozhodnutia vykonané v <strong>pre</strong>dchádzajúcich krokoch postupnosti alebo napr.<br />

informácie o vzt’ahoch medzi objektami obrazu (grafy).<br />

Pri spracovaní obrazu existuje relatívne vel’ké mnoˇzstvo problémov, ku ktor´ym boli<br />

vytvorené teoreticky dokázatel’né rieˇsenia, hlavne v prípade problémov, na ktoré<br />

stačia aj lineárne rieˇsenia. Avˇsak tieto rieˇsenia sú vo väčˇsine prípadov zaloˇzené<br />

na existencii a prítomnosti ideálnych podmienok, alebo sú v´ypočtovo vel’mi náročné,<br />

alebo si vyˇzadujú vel’mi podrobné nastavenie parametrov.<br />

V prípade, ˇze lineárne modely na konkrétny problém nie sú dostupné, prichádzajú<br />

na rad nelineárne modely. Tie sú stále <strong>pre</strong>dmetom aktívneho v´yskumu, ked’ˇze dan´y<br />

problém musí obsahovat’ nelineárne prvky, aby sa vôbec dal pouˇzit’. Inak povedané,<br />

tvorca algoritmu musí <strong>pre</strong>d v´yberom brat’ do úvahy viacero rôznych a väčˇsinou<br />

od seba nezávisl´ych kritérií, ktoré sú vo vˇseobecnosti zaloˇzené na skúsenosti.<br />

Ked’ sa pozrieme na vyˇsˇsie uvedené znázornenie postupnosti úloh pri spracovaní<br />

obrazu (obr. 2 – 1), tak na popis postupov bliˇzˇsie k v´ystupu, ako napr. rozpoznávanie<br />

objektov, v súčasnosti lineárne modely neexistujú. Samotná úloha rozpoznávania<br />

Obr. 2 – 1: Postupnost’ úloh pri spracovaní obrazu (podl’a [2])<br />

4


FEI KKUI<br />

objektov si vyˇzaduje pouˇzitie ” l’udsk´ych“ postupov, ako napr. zovˇseobecnenie či aso-<br />

ciácia.<br />

Vˇsetko toto nás vedie k myˇslienke vytvorit’ systém, ktor´y miesto toho, aby bol na-<br />

vrhnut´y na prácu s dan´ym problémom spracovania obrazu, sa dan´y problém rieˇsit’<br />

naučí.<br />

2.2 Neurónové siete<br />

V tejto podsekcii je stručne nastolená a vysvetlená problematika a terminológia<br />

nerónov´ych sietí. Základom <strong>pre</strong> túto podsekciu boli informácie a poznatky obsia-<br />

hnuté v [1]. Pre získanie viac informácií sa odporúča na túto publikáciu obrátit’.<br />

Neurónová siet’ (<strong>NN</strong>) je masívne paraleln´y procesor, ktor´y má sklon k uchovávaniu<br />

experimentálnych znalostí a ich d’alˇsiemu vyuˇzívaniu. Napodobňuje l’udsk´y mozog<br />

v dvoch aspektoch:<br />

1. poznatky sú zbierané v <strong>NN</strong> počas učenia,<br />

2. medzineurónové spojenia (synaptické váhy) sú vyuˇzívané na ukladanie zna-<br />

lostí.<br />

Jednou z vel’mi v´yznamn´ych vlastností <strong>NN</strong> je, ˇze svojím spôsobom je tzv. uni-<br />

verzálnym aproximátorom funkcií. Môˇze sa nám stat’, ˇze máme systém, ktorého<br />

popis je mimoriadne náročn´y alebo je systém natol’ko zloˇzit´y, ˇze jeho popis je<br />

skoro nemoˇzn´y. Máme vˇsak <strong>dát</strong>a, ktoré do systému vstupujú, a k nim odpovedajúce<br />

v´ystupy. V takejto situácii môˇzeme pouˇzit’ vhodnú <strong>NN</strong> a pokúsit’ sa ju naučit’ cho-<br />

vat’ sa ako sledovan´y systém <strong>pomocou</strong> trénovacích údajov (spomínan´ych vstupov<br />

a v´ystupov).<br />

Vo vˇseobecnosti môˇzeme vymenovat’ nasledovné oblasti vyuˇzitia <strong>NN</strong> <strong>pre</strong>:<br />

1. problémy aproximácie funkcií,<br />

5


FEI KKUI<br />

2. klasifikácie do tried, klasifikácia situácií,<br />

3. rieˇsenie <strong>pre</strong>dikčn´ych problémov,<br />

4. problémy riadenia procesov,<br />

5. transformácia signálov,<br />

6. asociačné problémy, simulácia pamäte.<br />

Vzhl’adom na skutočnost’, ˇze obrovské mnoˇzstvo problémov funguje ako nám neznáme<br />

funkcie, tak pouˇzitie <strong>NN</strong> bude v najbliˇzˇsej dobe určite vel’mi rozsiahle. Určitou brz-<br />

dou v t´ychto aplikáciách sú vysoké nároky na v´ypočtovú techniku, avˇsak tieto sa<br />

vel’mi r´ychlo menia s rozvojom vysokov´ykonn´ych v´ypočtov´ych systémov.<br />

Základn´ymi prvkami neurónu sú (obr. 2 – 2):<br />

1. vstup do neurónu – funkcia jednotliv´ych vstupov prichádzajúcich do neurónu,<br />

2. prah neurónu – vstup do neurónu z vonkajˇsieho sveta,<br />

3. aktivačná funkcia,<br />

4. v´ystupná funkcia,<br />

5. synaptické váhy na synaptick´ych spojeniach, ktoré spájajú neuróny do <strong>NN</strong>.<br />

Neurónovú siet’ môˇzeme charakterizovat’ ako viacvrstvovú ˇstruktúru, v ktorej rozli-<br />

ˇsujeme nasledujúce vrstvy (obr. 2 – 3):<br />

1. vstupná vrstva – neuróny dostávajú vstup len z vonkajˇsieho sveta a v´ystup<br />

pokračuje k d’alˇsím neurónom,<br />

2. skrytá vrstva – neuróny dostávajú vstup od ostatn´ych neurónov alebo aj von-<br />

kajˇsieho sveta cez prahové spojenia,<br />

3. v´ystupná vrstva – v´ystupy pokračujú do vonkajˇsieho sveta.<br />

Činnost’ neurónov´ych siet’ rozdel’ujeme na fázu učenia a fázu ˇzivota. Počas fázy učenia<br />

6


FEI KKUI<br />

sa znalosti zbierajú a ukladajú prostredníctvom zmien synaptick´ych váh. Charakter<br />

pravidiel, ktoré vyvolávajú zmeny synaptick´ych váh determinuje typ neurónovej<br />

siete. Počas fázy ˇzivota sa uˇz synaptické váhy nemenia.<br />

Prístupy k učeniu na základe prítomnosti učitel’a počas fázy učenia rozdel’ujeme<br />

do dvoch vel’k´ych skupín:<br />

Obr. 2 – 2: Základné prvky neurónu [1]<br />

Obr. 2 – 3: Zjednoduˇsen´y pohl’ad na neurónovú siet’ s dvoma neurónmi vo vstupnej<br />

vrstve, piatimi neurónmi v skrytej vrstve a jedn´ym neurónom vo v´ystupnej vrstve<br />

(<strong>pre</strong>vzaté z [3])<br />

7


FEI KKUI<br />

1. kontrolované učenie – učitel’ je prítomn´y,<br />

2. nekontrolované učenie – učitel’ je neprítomn´y (<strong>NN</strong> má k dispozícií len vstupy,<br />

ktoré sa spracuvávajú na základe určit´ych zákonitostí a v´ystupy určuje sama<br />

<strong>NN</strong>).<br />

Kontrolované učenie delíme na tri základné skupiny:<br />

1. učenie na základe korekcie chyby – zmena synaptickej váhy je funkcia <strong>pre</strong>men-<br />

nej, tj. rozdiel medzi očakávan´ym stavom v´ystupného neurónu a vypočítan´ym<br />

stavom,<br />

2. stochastické učenie – zmeny synaptick´ych váh zaloˇzené na stochastick´ych prístu-<br />

poch, tj. navrhne sa stochastická zmena synaptickej váhy a vypočíta sa energia<br />

<strong>NN</strong> a ak táto zmena priniesla zníˇzenie energie <strong>NN</strong>, tak sa návrh prijme, inak<br />

sa zamietne,<br />

3. učenie na základe hodnotenia činností – podobne ako v prípade učenia na zá-<br />

klade korekcie chyby s t´ym rozdielom, ˇze sa zhodnocuje stav v´ystupu celej<br />

v´ystupnej vrstvy <strong>pomocou</strong> nejakej skalárnej veličiny.<br />

Metódy nekontrolovaného učenia môˇzeme rozdelit’ do dvoch skupín:<br />

1. Hebbovo učenie (blízke biologick´ym systémom),<br />

2. kooperačné a konkurenčné učenie – vhodne sa vyuˇzívajú <strong>pre</strong> zámery zhluko-<br />

vania vstupn´ych <strong>dát</strong>.<br />

2.3 Spracovanie obrazu <strong>pomocou</strong> neurónov´ych sietí<br />

Na základe poznatkov obsiahnut´ych v <strong>pre</strong>dchádzajúcich dvoch podkapitolách môˇze-<br />

me povedat’, ˇze neurónové siete <strong>pre</strong>dstavujú vhodn´y prostriedok na rieˇsenie problémov<br />

spracovania obrazov´ych <strong>dát</strong>, vzhl’adom na <strong>pre</strong>vaˇzne nelineárnu podstatu t´ychto pro-<br />

blémov a fakt, ˇze neurónové siete sú akceptované ako prijatel’ne <strong>pre</strong>sn´y aproximátor<br />

8


FEI KKUI<br />

lineárnych aj nelineárnych funkcií.<br />

Namiesto návrhu vo vˇseobecnosti komplexného algoritmu na rieˇsenie tak´ychto pro-<br />

blémov sa musíme pri pouˇzití neurónov´ych sietí zamerat’ na definovanie a vytvorenie<br />

mnoˇziny trénovacích <strong>dát</strong>, na ktorej sa bude <strong>NN</strong> adaptovat’, aby nám poskytovala<br />

poˇzadovan´y v´ysledok.<br />

Ked’ˇze vstup do neurónovej siete môˇze <strong>pre</strong>dstavovat’ pixely z obrazov´ych <strong>dát</strong>, či<br />

akékol’vek iné číselne popísatel’né vlastnosti, je moˇzné v rámci adaptácie jednej <strong>NN</strong><br />

obsiahnut’ viacero úloh z postupnosti spracovania obrazu (z obr. 2 – 1).<br />

Musíme si ale uvedomit’, ˇze aj ked’ sú <strong>NN</strong> vhodn´ym aproximátorom nelineárnych<br />

funkcií, nie kaˇzd´y problém sa dá rieˇsit’ <strong>pomocou</strong> <strong>NN</strong> a tak isto nie kaˇzdá <strong>NN</strong> (resp. jej<br />

typ) sa dá pouˇzit’ na rieˇsenie konkrétneho problému. Okrem toho musí byt’ <strong>NN</strong> na-<br />

vrhnutá tak, aby sa z nej získaného v´ysledku dala v prvom rade zhodnotit’ vhodnost’<br />

jej pouˇzitia na dan´y problém, a tak isto pouˇzitel’nost’ v´ysledkov v d’alˇsích postupoch,<br />

<strong>pre</strong> ktoré bolo <strong>pre</strong>dspracovanie t´ychto obrazov´ych <strong>dát</strong> <strong>pre</strong>dpokladom.<br />

9


FEI KKUI<br />

3 Úvod do v´ypočtov´ych metód <strong>pre</strong>dpovede <strong>počasia</strong><br />

Predpoved’ <strong>počasia</strong> je prognóza <strong>počasia</strong> zaloˇzená na vyuˇzití poznatkov o fyzikálnych<br />

zákonitostiach. Počasie je definované mnoh´ymi faktormi, napr. atmosferick´y tlak,<br />

vlhost’ vzduchu, teplota či r´ychlost’ a smer vetra. K <strong>pre</strong>dpovedi <strong>počasia</strong> je potrebné<br />

tieto faktory sledovat’. Povaha atmosféry a neúplné chápanie prírodn´ych procesov<br />

smerujú k záveru, ˇze <strong>pre</strong>dpovede <strong>počasia</strong> vo vˇseobecnosti nie sú úplne <strong>pre</strong>sné a<br />

neomylné.<br />

K meraniu jednotliv´ych faktorov <strong>počasia</strong> sa vyuˇzívajú rôzne zariadenia, napr. ba-<br />

rometer (atmosferick´y tlak), teplomer, zráˇzkomer, psychromer (relatívna vlhkost’<br />

vzduchu), pyrheliomer (slnečné ˇziarenie) či rôzne meteorologické druˇzice a balóny.<br />

Numerické metódy <strong>pre</strong>dpovede <strong>počasia</strong> vyuˇzívajú primárne počítač, ktor´y <strong>dát</strong>a na-<br />

merané t´ymito zariadeniami spracováva. Je to práve v´ykon počítačov, ktor´y priamo<br />

úmerne ovplyvňuje kvalitu numerick´ych metód <strong>pre</strong>dpovede <strong>počasia</strong>. V´ypočet <strong>pre</strong>d-<br />

povede <strong>počasia</strong> musí byt’ v´yrazne kratˇsí ako d ´ lˇzka samotnej <strong>pre</strong>dpovede. Ak by<br />

<strong>pre</strong>dpoved’ na nasledujúce dva dni trvala dva dni, nebola by to uˇz <strong>pre</strong>dpoved’.<br />

Problémom pri v´yvoji numerick´ych metód je v prvom rade matematické vyjadrenie<br />

fyzikálnych zákonov, ktoré sú v prípade atmosféry vel’mi zloˇzité. V´yvoj atmosféry<br />

sa momentálne dá popísat’ parciálnymi diferenciálnymi rovnicami, ktoré vˇsak so<br />

súčasn´ym poznaním nevieme analyticky rieˇsit’ a musia sa vyuˇzívat’ metódy numeric-<br />

kej matematiky na počítači na ich aproximáciu.<br />

Atmosféra je <strong>pre</strong> popísanie v t´ychto modeloch rozdelená na hranoly, ktor´ych rozmery<br />

v dneˇsn´ych systémoch dosahujú zhruba 50x50x1km. Kaˇzdému z t´ychto hranolov v<br />

danom čase prináleˇzí niekol’ko čísel, ktoré re<strong>pre</strong>zentujú jednotlivé faktory <strong>počasia</strong>, t.j.<br />

teplota, vlhost’, tlak, smer a r´ychlost’ vetra. Celkovo je tak v danom čase k dispozícii<br />

niekol’ko desiatok miliónov čísel, ktoré popisujú stav atmosféry. Z t´ychto čísel sa<br />

numerick´ym modelom vyjadrí d’alˇsí súbor čísel, ktoré charakterizujú stav atmosféry<br />

v nasledujúcej časovej jednotke.<br />

10


FEI KKUI<br />

Ked’ˇze je kaˇzd´y z hranolov charakterizovan´y iba jedn´ym číslom <strong>pre</strong> dan´y faktor<br />

<strong>počasia</strong>, v´yvoj tohto faktora v rámci oblasti, ktorú obsahuje hranol, je zanedbaná.<br />

Z v´ypočtov´ych dôvodov vˇsak nie je v súčasnosti moˇzné zmenˇsit’ objem hranolov<br />

natol’ko, aby sa mohol v´yvoj faktora v rámci jedného hranola úplne zanedbat’. Preto<br />

sa do numerick´ych modelov pridávajú d’alˇsie rovnice, ktor´ych ciel’om je pozmenit’<br />

čísla, ktoré re<strong>pre</strong>zentujú stav v rámci hranolu t´ym, ˇze sa vezmú do úvahy d’alˇsie<br />

faktory ako slnečné ˇziarenie, turbulencia, konvekcia, oblačnost’ či interakcia medzi<br />

zemsk´ym povrchom a atmosférou. Vedl’ajˇsími produktami pri v´ypočte t´ychto javov<br />

sú napr. atmosférické zráˇzky, r´ychlost’ nárazov vetra alebo v´ypary z pôdy.<br />

Ked’ˇze súčasné podmienky neumoˇzňujú zmenˇsit’ objem hranolov opisujúcich at-<br />

mosféru na dostatočne nízke hodnoty, vyuˇzívajú sa na rieˇsenie z tohto vzniknut´ych<br />

problémov tzv. lokálne modely. Tieto modely počítajú v´yvoj <strong>počasia</strong> len <strong>pre</strong> vy-<br />

branú oblast’ (napr. stredná Európa) a uˇsetren´y v´ykon sa pouˇzije na zmenˇsenie<br />

objemu hranolov. Predpokladom <strong>pre</strong> fungovanie lokálnych modelov je vˇsak dostup-<br />

nost’ v´ysledkov z globálneho modelu (ktor´y počíta v´yvoj <strong>pre</strong> celú atmosféru), ktoré<br />

sa pouˇzívajú ako okrajové podmienky.<br />

Na Slovensku sa v rámci numerickej <strong>pre</strong>dpovede <strong>počasia</strong> vyuˇzíva model ALADIN,<br />

ktor´y <strong>pre</strong>vádzkuje Slovensk´y Hydro-Meteorologick´y Ústav na 32-procesorovom su-<br />

perpočítači (http://www.shmu.sk/) [4].<br />

11


FEI KKUI<br />

4 Návrh systému <strong>pre</strong> <strong>pre</strong>dspracovanie obrazov´ych<br />

<strong>dát</strong> <strong>pomocou</strong> neurónov´ych sietí<br />

Zloˇzenie systému na <strong>pre</strong>dspracovanie obrazov´ych <strong>dát</strong> je znázornené v diagrame.<br />

Obr. 4 – 1: Zloˇzenie systému na <strong>pre</strong>dspracovanie obrazov´ych <strong>dát</strong><br />

Systém sa skladá z troch funkčn´ych častí:<br />

1. Zber <strong>dát</strong>,<br />

2.<br />

Úprava <strong>dát</strong>,<br />

3. <strong>Predspracovanie</strong> <strong>dát</strong>.<br />

a troch databáz s uloˇzen´ymi <strong>dát</strong>ami:<br />

1. Nazberané <strong>dát</strong>a,<br />

12


FEI KKUI<br />

2. Upravené <strong>dát</strong>a,<br />

3. Predspracované <strong>dát</strong>a.<br />

4.1 Zber <strong>dát</strong><br />

Aby sme mohli <strong>dát</strong>a <strong>pre</strong>dspracovávat’, musíme ich najprv zozbierat’ a na <strong>pre</strong>dspra-<br />

covanie pripravit’. O zozbieranie sa v systéme stará program typu daemon.<br />

Daemon je v skutočnosti proces, ktor´y beˇzí na pozadí operačného systému bez<br />

nutnosti interakcie s uˇzívatel’om. Vzniká oddelením od svojho materského procesu,<br />

ktor´ym je spúˇst’an´y, a ktor´y po spustení procesu daemona bud’ svoju prácu ukončí,<br />

alebo pokračuje vykonávaním funkcií, ktoré s daemonom nesúvisia.<br />

Typick´ym príkladom daemona v systéme Unix je cron, ktor´y slúˇzi ako plánovač úloh<br />

a umoˇzňuje opakované spúˇst’anie periodicky sa opakujúcich procesov.<br />

V naˇsom systéme sa daemon kaˇzdú konfigurovatel’nú časovú jednotku pripája ku<br />

zdroju <strong>dát</strong> (http://www.shmu.sk/) a st’ahuje odtial’ obrazové <strong>dát</strong>a ˇstyroch rôznych<br />

faktorov <strong>počasia</strong>:<br />

1. Teplota,<br />

2. Vietor,<br />

3. Oblačnost’,<br />

4. Zráˇzky.<br />

Stiahnuté obrazové <strong>dát</strong>a su následne uloˇzené do <strong>pre</strong>hl’adnej adresárovej ˇstruktúry. V<br />

prípade nedostupnosti <strong>dát</strong> v čase pokusu o st’ahovanie (napr. z dôvodu nefunkčného<br />

internetového spojenia) sa zapíˇse prísluˇsná chyba do textového súboru a ch´ybajúce<br />

<strong>dát</strong>a sa doplnia pri d’alˇsom cykle st’ahovania.<br />

Zdroj má svoje obrazové <strong>dát</strong>a dostupné <strong>pre</strong> kaˇzdú hodinu aktuálneho dňa a dvoch<br />

13


FEI KKUI<br />

nasledujúcich. Aby sa <strong>pre</strong>dchádzalo väčˇsiemu mnoˇzstvu ch´ybajúcich <strong>dát</strong> pri dlhˇsom<br />

v´ypadku internetového spojenia (alebo v prípade in´ych problémov, napr. v´ypadok<br />

serveru, na ktorom beˇzí daemon), nest’ahuje daemon <strong>dát</strong>a z aktuálneho dňa, ale deň<br />

do<strong>pre</strong>du. Ked’ˇze daemon automaticky kaˇzd´y cyklus dop ´ lňa ch´ybajúce <strong>dát</strong>a od času<br />

spustania po čas najnovˇsích dostupn´ych <strong>dát</strong>, systém teoreticky nepríde o ˇziadne <strong>dát</strong>a<br />

ak potenciálny v´ypadok ne<strong>pre</strong>siahne zhruba jeden deň (<strong>pre</strong>snejˇsie to závisí od času<br />

vypadnutia systému a času jeho opätovného spustenia).<br />

Príklady obrazov´ych <strong>dát</strong> jednotliv´ych st’ahovan´ych faktorov <strong>počasia</strong> sú znázornené<br />

obrázkami 4 – 2, 4 – 3, 4 – 4 a 4 – 5.<br />

Obr. 4 – 2: Príklad obrazov´ych <strong>dát</strong> teploty<br />

14


FEI KKUI<br />

Obr. 4 – 3: Príklad obrazov´ych <strong>dát</strong> vetra<br />

Obr. 4 – 4: Príklad obrazov´ych <strong>dát</strong> oblacnosti<br />

15


FEI KKUI<br />

Obr. 4 – 5: Príklad obrazov´ych <strong>dát</strong> zráˇzok<br />

Daemon bol <strong>pre</strong> potreby tohto systému naprogramovan´y v jazyku Python. Dôvodom<br />

v´yberu tohto jazyka bola jednoduchost’ implementácie daného problému a časová a<br />

prostriedková nenáročnost’, ktorá si nevyˇzadovala pouˇzitie jazyka niˇzˇsej úrovne, ako<br />

napr. C alebo C++. K dispozícii má jednoduch´y konfiguračn´y súbor, s <strong>pomocou</strong><br />

ktorého je moˇzné nastavit’ intervaly st’ahovania <strong>dát</strong>, formáty adries k zdrojom <strong>dát</strong><br />

jednotliv´ych faktorov a tak isto aj referenčn´y čas, v ktorom kaˇzdá iterácia začína so<br />

st’ahovaním <strong>dát</strong>.<br />

4.2 Úprava <strong>dát</strong><br />

Ked’ˇze hlavnou čast’ou celého systému je neurónová siet’, musíme <strong>pre</strong> správne fun-<br />

govanie vytvorit’ z nazbieran´ych <strong>dát</strong> trénovaciu (a testovaciu) mnoˇzinu. Na tento<br />

účel slúˇzi druhá čast’ systému, ktorá má na starosti úpravu nazbieran´ych <strong>dát</strong>. Táto<br />

čast’ systému beˇzí nezávisle od daemona v prvej časti a v ideálnom prípade je <strong>pre</strong><br />

16


FEI KKUI<br />

fungovanie neurónovej siete nutné spustit’ ju maximálne raz (prípadne ˇstyrikrát,<br />

ak počítame kaˇzd´y zberan´y faktor <strong>počasia</strong> zvláˇst’) <strong>pre</strong> kaˇzdú osobitnú trénovaciu<br />

(testovaciu) mnoˇzinu. Predpokladom <strong>pre</strong> fungovanie je samozrejme prítomnost’ do-<br />

statočného mnoˇzstva nazbieran´ych <strong>dát</strong> daemonom.<br />

Čast’ systému, ktorá bude mat’ na starosti úpravu <strong>dát</strong>, naprogramujeme v jazyku<br />

C++ s pouˇzitím Qt (čítaj: kjut) toolkitu (http://qt.nokia.com/). Qt je multi-plat-<br />

formové aplikačné rozhranie napísané v jazyku C++ a určené na v´yvoj v´ykonn´ych a<br />

<strong>pre</strong>vaˇzne desktopov´ych aplikácií. Svoju popularitu si získalo ako základ linuxového<br />

desktopového prostredia KDE (http://www.kde.org/). Qt vyvíja firma Trolltech,<br />

ktorú <strong>pre</strong>d pár rokmi odkúpil fínsky gigant na poli mobiln´ych technológii – No-<br />

kia. Pre nekomerčné projekty je k dispozícii ako open-source pod licenciou GPL.<br />

V súčasnosti uˇz existuje niekol’ko verzií tohto rozhrania dostupn´ych <strong>pre</strong> iné jazyky,<br />

vyvíjane <strong>pre</strong>vaˇzne open-source komunitou, napr. Qt Jambi <strong>pre</strong> Javu<br />

(http://qtjambi.sourceforge.net/) alebo PyQt <strong>pre</strong> Python<br />

(http://www.riverbankcomputing.co.uk/news).<br />

Proces úpravy <strong>dát</strong> sa skladá z troch častí:<br />

1. Odčítanie,<br />

2. Odˇsumenie,<br />

3. Odstránenie hrán.<br />

4.2.1 Odčítanie <strong>dát</strong><br />

Pri anal´yze stiahnut´ych obrazov´ych <strong>dát</strong> jednotliv´ych faktorov <strong>počasia</strong> si vˇsimneme,<br />

ˇze jednotlivé obrázky obsahujú okrem grafického znázornenia hodnôt daného faktora<br />

aj iné grafické <strong>dát</strong>a, ktoré my <strong>pre</strong> <strong>pre</strong>dspracovanie nepotrebujeme. Konkrétne v<br />

prípade obrázkov oblačnosti obsahujú <strong>dát</strong>a aj grafické znázornenie pohorí Slovenskej<br />

Republiky. Ked’ˇze v naˇsom systéme nezhodnocujeme vzt’ah úrovne oblačnosti od<br />

17


FEI KKUI<br />

nadmorskej v´yˇsky, sú tieto grafické <strong>dát</strong>a <strong>pre</strong> nás irelevantné.<br />

Účelom tejto časti systému, je teda od neupraven´ych obrazov´ych <strong>dát</strong> odčítat’ refe-<br />

renčn´y obrázok a dostaneme tak obrázok, ktor´y bude v ideálnom prípade obsahovat’<br />

len potrebné grafické znázornenie daného faktora <strong>počasia</strong>.<br />

Referenčn´y obrázok <strong>pre</strong>dstavuje obrazové <strong>dát</strong>a, ktoré obsahujú nulové (ˇziadne) hod-<br />

noty faktora <strong>počasia</strong>. Pre kaˇzd´y faktor <strong>počasia</strong> sa vytvorí jeden tak´yto obrázok<br />

manuálne poskladaním z viacer´ych častí (ked’ˇze medzi nazberan´ymi <strong>dát</strong>ami sa ne-<br />

musí vyskytovat’ prípad, ktor´y <strong>pre</strong> celé územie Slovenska v danom čase zazname-<br />

nal nulové hodnoty daného faktora <strong>počasia</strong>) v l’ubovol’nej vyhovujúcej aplikácii na<br />

editáciu obrazov´ych <strong>dát</strong> (napr. Adobe Photoshop).<br />

Odčítanie dvoch prislúchajúcich pixelov je znázornené nasledujúcim vzorcom:<br />

P 3 =<br />

P 2 − P 1<br />

255 (4.1)<br />

256 − P 1<br />

Kde P 1 <strong>pre</strong>dstavuje zloˇzku farby pixelu neupraveného obrázku a P 2 zloˇzku farby<br />

pixelu referenčného obrázku.<br />

Príklad odčítania neupraveného obrázku a referenčného obrázku je znázornen´y na<br />

obrázkoch 4 – 6, 4 – 7 a 4 – 8.<br />

4.2.2 Odˇsumenie <strong>dát</strong><br />

Anal´yzou odčítan´ych <strong>dát</strong> konkrétnych faktorov <strong>počasia</strong> si vˇsimneme, ˇze <strong>dát</strong>a ok-<br />

rem znázornenia daného faktora obsahujú aj rôzne artefakty, ktoré pravdepodobne<br />

vznikli ne<strong>pre</strong>sn´ym odčítaním. Tak isto si vˇsimneme, ˇze jednotlivé hodnoty spa-<br />

dajú do konečného počtu rozmedzí znázornen´ymi konkrétn´ymi farbami. Ak teda z<br />

obrázku daného faktora tieto farby určíme (nazveme ich referenčné farby), odˇsumenie<br />

<strong>dát</strong> bude <strong>pre</strong>biehat’ tak, ˇze kaˇzd´y pixel daného obrázku nahradíme jemu najbliˇzˇsou<br />

farbou z t´ychto referenčn´ych farieb.<br />

18


FEI KKUI<br />

Určenie najbliˇzˇsej farby môˇzeme matematicky zapísat’ ako Euklidovu vzdialenost’:<br />

P 3 =<br />

<br />

|P 1 2 − P 2 2 | (4.2)<br />

Kde P 1 je zloˇzka farby pôvodného pixelu a P 2 je zloˇzka referenčnej farby. Farbu<br />

pôvodného pixela teda nahradíme tou farbou spomedzi referenčn´ych, ktorá ma k<br />

nemu najmenˇsíu vzdialenost’.<br />

Príklad odˇsumenia odčítaného obrázku (obr. 4 – 8) s pouˇzitím referenčn´ych farieb je<br />

na obrázku 4 – 9.<br />

4.2.3 Odstránenie hrán<br />

V poslednom kroku úpravy <strong>dát</strong> musíme odstránit’ čiary ohraničujúce jednotlivé roz-<br />

medzia hodnôt daného faktora, ktoré samotné nere<strong>pre</strong>zentujú konkrétne hodnoty<br />

Obr. 4 – 6: Príklad odčítania obrazov´ych <strong>dát</strong> - pôvodn´y obrázok<br />

19


FEI KKUI<br />

Obr. 4 – 7: Príklad odčítania obrazov´ych <strong>dát</strong> - referenčn´y obrázok<br />

Obr. 4 – 8: Príklad odčítania obrazov´ych <strong>dát</strong> - v´ysledn´y obrázok<br />

20


FEI KKUI<br />

Obr. 4 – 9: Príklad odˇsumenia obrazov´ych <strong>dát</strong> - v´ysledn´y obrázok<br />

faktora, a teda sú <strong>pre</strong> nás irelevantné. V tomto kroku sa takisto odstránia zvyˇsné<br />

artefakty, ktoré sa nepodarilo odstránit’ pri odˇsumení <strong>dát</strong>.<br />

Proces odstránenia hrán <strong>pre</strong>bieha tak, ˇze si vytvoríme ˇstvorcovú mrieˇzku o konkrétnej<br />

vel’kosti (určené experimentálne <strong>pre</strong> kaˇzd´y faktor <strong>počasia</strong>), tú budeme posúvat’ obráz-<br />

kom od prvého po posledn´y pixel a v kaˇzdej iterácii cyklu najprv spočítame v´yskyt<br />

jednotliv´ych farieb spomedzi <strong>pre</strong>dt´ym určen´ych referenčn´ych farieb a následne na-<br />

hradíme farbu pixelu v strede mrieˇzky tou farbou, ktorá sa v rámci aktuálnej pozície<br />

mrieˇzky vyskytovala najviackrát.<br />

Príklad odstránenia hrán v odˇsumenom obrázku (obr. 4 – 9) s pouˇzitím ˇstvorcovej<br />

mrieˇzky o vel’kosti 5 je na obrázku 4 – 10.<br />

21


FEI KKUI<br />

Obr. 4 – 10: Príklad odstránenia hrán obrazov´ych <strong>dát</strong> - v´ysledn´y obrázok<br />

Na konci tohto kroku uˇz máme teda k dispozícii upravené <strong>dát</strong>a, ktoré v spojení s<br />

pôvodn´ymi <strong>dát</strong>ami stiahnut´ymi daemonom tvoria trénovaciu (testovaciu) mnoˇzinu<br />

<strong>pre</strong> neurónovú siet’.<br />

4.3 <strong>Predspracovanie</strong> <strong>dát</strong><br />

Hlavnú čast’ systému tvorí do<strong>pre</strong>dná neurónová siet’ so spätn´ym ˇsírením chyby (viac<br />

informácií o terminológii neurónov´ych sietí je v podkapitole 2.2). Naprogramujeme<br />

ju, tak isto ako v prípade úpravy <strong>dát</strong>, v jazyku C++ s pouˇzitím rozhrania Qt.<br />

Samotná funkcionalita <strong>NN</strong> je obsiahnutá v C++ triede Back-propagation Neural<br />

Net (d’alej BP) z portálu Code Project (http://www.codeproject.com) [6].<br />

Implementácia triedy BP naˇsim systémom <strong>pre</strong> spracovanie obrazov´ych <strong>dát</strong> <strong>pre</strong>dsta-<br />

vuje:<br />

1. načítanie prísluˇsn´ych <strong>dát</strong> <strong>pre</strong> učenie <strong>NN</strong> a <strong>dát</strong> pouˇzit´ych vo fáze testovania<br />

22


FEI KKUI<br />

<strong>NN</strong>,<br />

2. inicializácia triedy BP pouˇzitím konfigurovatel’n´ych parametrov,<br />

3. učenie <strong>NN</strong>,<br />

4. pouˇzitie testovacích <strong>dát</strong> na naučenú <strong>NN</strong>,<br />

5. uloˇzenie v´ystupov z testovacej fázy do súboru.<br />

4.3.1 Načítanie <strong>dát</strong><br />

Pre korektné fungovanie systému potrebujeme tri druhy vstupn´ych <strong>dát</strong>:<br />

1. <strong>dát</strong>a re<strong>pre</strong>zentujúce vstup do <strong>NN</strong> (napr. obr. 4 – 6),<br />

2. <strong>dát</strong>a re<strong>pre</strong>zentujúce prislúchajúci v´ystup k vstupom do <strong>NN</strong> (napr. obr. 4 – 10),<br />

3. testovacie <strong>dát</strong>a.<br />

Dáta re<strong>pre</strong>zentujúce vstup do <strong>NN</strong> a testovacie <strong>dát</strong>a sú v podstate akékol’vek <strong>dát</strong>a<br />

získané počas zberu <strong>dát</strong>. Dáta re<strong>pre</strong>zentujúce prislúchajúci v´ystup k vstupom sú<br />

<strong>dát</strong>a, ktoré získame na konci fázy úpravy <strong>dát</strong>. V celom systéme pracujeme s obra-<br />

zov´ymi <strong>dát</strong>ami vo formáte PNG, ked’ˇze aj zo zdroja <strong>dát</strong> pri zbere boli obrázky<br />

získavané v tomto formáte. Prípadne poˇziadavky na zmenu formátu by si vˇsak<br />

vyˇzadovali len minimálny zásah do zdrojového kódu systému.<br />

4.3.2 Inicializácia BP<br />

Na inicializáciu triedy BP a samotného učenia máme k dispozícii niekol’ko paramet-<br />

rov:<br />

1. parameter učenia (A) – ovplyvňuje vel’kost’ zmeny váh v kaˇzdej iterácii učenia<br />

a teda ovplyvňuje r´ychlost’ učenia,<br />

23


FEI KKUI<br />

2. momentum (B) – vel’kost’ vplyvu zmien váh z <strong>pre</strong>dchádzajúcej iterácie učenia<br />

na aktuálnu (v prípade, ˇze pouˇzitie momenta nie je ˇziadúce, nastaví sa tento<br />

parameter na 0),<br />

3. ukončovacia podmienka (C) – hodnota strednej kvadratickej chyby, ktorú uče-<br />

nie musí dosiahnut’, aby sme mohli <strong>NN</strong> povaˇzovat’ za naučenú,<br />

4. počet iterácií (D) – kol’kokrát sa učenie na vzorkách zo vstupn´ych <strong>dát</strong> zopakuje<br />

(môˇzme povaˇzovat’ ako sekundárnu ukončovaciu podmienku v prípade, ˇze tú<br />

pôvodonú systém nedosiahne),<br />

5. topológia <strong>NN</strong> (E) – ked’ˇze počet vstupn´ych neurónov je priamo závisl´ych od<br />

vel’kosti vzorky zo vstupn´ych <strong>dát</strong>, pri inicializácii máme moˇznost’ nastavit’ len<br />

počet skryt´ych vrstiev a neurónov v nich (ked’ˇze v´ystupom z <strong>NN</strong> je stále je-<br />

den pixel, počet neurónov na v´ystupnej vrstve bude <strong>pre</strong>dstavovat’ počet farieb<br />

re<strong>pre</strong>zentujúcich dan´y pixel – 3),<br />

6. vel’kost’ vzorky vstupn´ych <strong>dát</strong> (F) – určuje počet pixelov v jednej vzorke<br />

vstupn´ych <strong>dát</strong>, ktoré podávame ako vstup do <strong>NN</strong>, a teda ovplyvňuje počet<br />

neurónov vo vstupnej vrstve,<br />

7. počet vzoriek <strong>pre</strong> jednu iteráciu (G) – ked’ˇze <strong>pre</strong> dostatočné naučenie neurónovej<br />

siete nemusí byt’ potrebné podat’ na vstup vˇsetky pixely zo vstupn´ych <strong>dát</strong>, je<br />

vhodné umoˇznit’ systému pracovat’ s rôznymi mnoˇzstvami t´ychto vzoriek v<br />

rámci jednej iterácie.<br />

4.3.3 Učenie <strong>NN</strong><br />

Priebeh jednej iterácie učenia <strong>NN</strong> <strong>pre</strong>bieha nasledovne:<br />

1. určenie náhodn´ych súradníc pixela z obrázku vstupn´ych <strong>dát</strong>,<br />

2. získanie hodnôt farieb pixelov na dan´ych súradniciach (z obrázkov re<strong>pre</strong>zen-<br />

tujúcich vstup aj v´ystup),<br />

24


FEI KKUI<br />

3. získanie hodnôt farieb pixelov z mrieˇzky okolo vstupného pixelu (počet pixelov<br />

mrieˇzky určuje parameter F),<br />

4. normalizácia hodnôt farieb,<br />

5. vytvorenie vektorov vstupov aj v´ystupov z normalizovan´ych hodnôt farieb,<br />

6. odovzdanie vektorov objektu triedy BP a t´ym vykonanie jednej iterácie učenia<br />

v BP,<br />

7. získanie hodnoty strednej kvadratickej chyby z BP <strong>pre</strong> porovnanie s ukončo-<br />

vacou podmienkou (parameter C).<br />

Tieto kroky sa vykonajú <strong>pre</strong> kaˇzdú vzorku zo vstupn´ych <strong>dát</strong> (parameter G), na konci<br />

iterácie sa porovná stredná kvadratická chyba s ukončovacou podmienkou (parame-<br />

ter C). Ak bola dosiahnutá ukončovacia podmienka, tak sa učenie určí ako úspeˇsné<br />

a ukončí sa. V opačnom prípade sa pokračuje d’alˇsou iteráciou aˇz po dosiahnutie<br />

maximálneho počtu iterácií (parameter D).<br />

Učenie v samotnom objekte triedy BP <strong>pre</strong>bieha formou spätného ˇsírenia chyby. Viac<br />

informácií o tejto forme učenia nájdeme napr. v [1].<br />

4.3.4 Testovanie <strong>NN</strong><br />

V tejto fáze sa uˇz váhy <strong>NN</strong> nemenia. Priebeh jedného cyklu testovania <strong>pre</strong> jednu<br />

vzorku testovacích <strong>dát</strong> je podobn´y ako ten v prípade učenia <strong>NN</strong>. Avˇsak v tomto<br />

prípade <strong>pre</strong>chádzajú neurónovou siet’ou postupne vˇsetky pixely testovacieho obrázku,<br />

ked’ˇze chceme získat’ k nemu v´ystupn´y obrázok. Ked’ˇze sa na testovanie pouˇzije uˇz<br />

nainicializovaná a naučená <strong>NN</strong> z <strong>pre</strong>dchádzajúcich krokov, jedin´y relevantn´y para-<br />

meter v tomto kroku je parameter F, ktorého pouˇzitá hodnota sa nemení a je totoˇzná<br />

s tou z inicializácie.<br />

Pre kaˇzd´y pixel z testovacieho obrázku sa teda vytvorí vstupn´y a v´ystupn´y vektor<br />

z normalizovan´ych hodnôt farieb t´ychto pixelov, tieto vektory sa odovzdajú objektu<br />

25


FEI KKUI<br />

triedy BP ako parametre a po <strong>pre</strong>nesení signálu cez <strong>NN</strong> získame v´ystupné hod-<br />

noty. Tieto hodnoty denormalizujeme do podoby hodnôt farieb a z nich vytvoríme<br />

prislúchajúci pixel v obrázku, ktor´y je v´ystupom z náˇsho systému.<br />

4.3.5 Uloˇzenie v´ystupov<br />

V´ystupom z náˇsho systému je teda obrázok, ktor´y by mal na základe naučenej <strong>NN</strong><br />

re<strong>pre</strong>zentovat’ <strong>pre</strong>dspracované <strong>dát</strong>a k danému testovaciemu obrázku. Tak ako vˇsetky<br />

ostatné <strong>dát</strong>a, aj tento v´ystupn´y obrázok je uloˇzen´y vo formáte PNG. Okrem toho<br />

môˇzu byt’ v´ystupom zo systému aj <strong>dát</strong>a, z ktor´ych vieme následne vytvorit’ priebeh<br />

chyby počas učenia a zhodnotit’ ho <strong>pomocou</strong> tabul’ky alebo grafu. Tieto <strong>dát</strong>a sa<br />

uloˇzia v jednom z moˇzn´ych textov´ych formátov, napr. CSV alebo XML.<br />

26


FEI KKUI<br />

5 Experimentálne overenie navrhnutého systému<br />

V tejto kapitole si ukáˇzeme rôzne experimenty, na ktor´ych vieme zhodnotit’ vhod-<br />

nost’ pouˇzitia daného postupu na náˇs problém. V prípade samotného systému na<br />

<strong>pre</strong>dspracovanie obrazov´ych <strong>dát</strong> si ukáˇzeme závislost’ kvality v´ystupov od zmien<br />

jednotliv´ych kl’účov´ych parametrov.<br />

5.1 Zber <strong>dát</strong><br />

Počas návrhu a testovacieho behu aplikácie na zber obrazov´ych <strong>dát</strong> <strong>pre</strong> potreby<br />

náˇsho systému sme zistili a následne oˇsetrili tri rôzne stavy, ktoré môˇzu nastat’<br />

počas jednej iterácie st’ahovania <strong>dát</strong>:<br />

1. k zdroju <strong>dát</strong> sa nepodarilo pripojit’,<br />

2. k zdroju <strong>dát</strong> sa podarilo pripojit’, ale nepodarilo sa získat’ poˇzadované obrazové<br />

<strong>dát</strong>a,<br />

3. k zdroju <strong>dát</strong> sa podarilo pripojit’ aj získat’ poˇzadované obrazové <strong>dát</strong>a.<br />

Ked’ˇze proces daemona ako tak´y neprijíma od uˇzívatel’a vstup a nepodáva ani ˇziaden<br />

v´ystup, pri vytváraní tohto procesu je vhodné <strong>pre</strong>smerovat’ chybov´y v´ystup, napr. do<br />

textového súboru. Ak by sa bez toho v daemone vyskytla nejaká <strong>pre</strong>dt´ym neoˇsetrená<br />

chyba, tak vhl’adom na to, ˇze proces daemona je oddelen´y, nebol by uˇzívatel’ o<br />

v´yskyte chyby upovedomen´y. Okrem toho v prípade neoˇsetren´ych v´ynimiek sa proces<br />

okamˇzite <strong>pre</strong>ruˇsí a ked’ˇze sa pri tom neodstráni súbor PID, ktor´y identifikuje v<br />

systéme Linux beˇziaci proces, môˇze sa takto stat’, ˇze sa uˇzívatel’ dozvie o <strong>pre</strong>ruˇsení<br />

zberu <strong>dát</strong>, aˇz ked’ uˇz nie je moˇzné zmeˇskané <strong>dát</strong>a nahradit’. Je teda dôleˇzité testovací<br />

beh tejto časti aplikácie nezanedbat’.<br />

Jedn´ym z prípadov, kedy neočakávaná neoˇsetrená v´ynimka mohla <strong>pre</strong>ruˇsit’ beh zberu<br />

<strong>dát</strong>, bolo neúspeˇsné pripojenie k zdroju <strong>dát</strong>, ktoré vrátilo v´ynimku typu IOError.<br />

27


FEI KKUI<br />

Identifikovat’ podstatu tohto problému a jeho zamedzenie nebolo v naˇsich silách,<br />

ked’ˇze dostupné informácie o chybe neobsahovali podstatu problému na strane zdroja<br />

<strong>dát</strong>, ale iba <strong>pre</strong>dmet chyby na naˇsej strane ( ” Connection timed out“). Po oˇsetrení<br />

tohto prob ´ lému sa v prípade jeho v´yskytu beh zberu <strong>dát</strong> ne<strong>pre</strong>ruˇsi, a do logovacieho<br />

súboru faktoru <strong>počasia</strong>, ktorého obrazové <strong>dát</strong>a sa práve daemon pokúˇsal získat’, sa<br />

zapíˇse správa v znení ” Not saved (Connection refused)“. Vo väčˇsine prípadov sa<br />

takto vynechané <strong>dát</strong>a spätne získali v d’alˇsej iterácii zberu <strong>dát</strong>.<br />

ˇDalˇsím prípadom, ktor´y počas st’ahovania <strong>dát</strong> mohol nastat’, bolo stiahnutie súboru<br />

zo zdroja <strong>dát</strong>, ktor´y ne<strong>pre</strong>dstavoval obrazové <strong>dát</strong>a. Inak povedané – podarilo sa pri-<br />

pojit’ ku zdroju <strong>dát</strong>, ale poˇzadovan´y obrázok identifikovan´y URL adresou neexistoval.<br />

To sa mohlo stat’ z viacer´ych dôvodov: poˇzadované <strong>dát</strong>a uˇz neboli k dispozícii (zdroj<br />

<strong>dát</strong> neposkytoval obrazové <strong>dát</strong>a faktorov <strong>počasia</strong>, ktoré boli starˇsie ako aktuálny<br />

deň), poˇzadované <strong>dát</strong>a eˇste neboli k dispozícii (zdroj <strong>dát</strong> neposkytoval obrazové<br />

<strong>dát</strong>a na viac ako dva dni do<strong>pre</strong>du) alebo sa vyskytla chyba pri skladaní URL adresy<br />

k obrázku z pomocn´ych parametrov (čo malo za následok snahu o získanie neexis-<br />

tujúcich obrazov´ych <strong>dát</strong>). Pri pokuse o získanie <strong>dát</strong> v jednom z t´ychto prípadov<br />

ne<strong>pre</strong>dstavovali navrátené <strong>dát</strong>a zdrojom <strong>dát</strong> obrázok, ale textové <strong>dát</strong>a, ktoré re<strong>pre</strong>-<br />

zentovali HTML stránku s chybov´ym hlásením. Prvé dva dôvody sa dali pomerne<br />

l’ahko zamedzit’ t´ym, ˇze sa intern´ymi parametrami v základnej podobe v daemone<br />

zabránilo pokusom o st’ahovanie <strong>dát</strong> mimo známe dostupné časové rozmedzie (tj<br />

aktuálny deň + dva dni do<strong>pre</strong>du). Pri v´yskyte takejto chyby sa do logovacieho<br />

súboru daného faktora <strong>počasia</strong> zapísala správa v znení ” Not saved“. Počas riadneho<br />

behu daemona sa vˇsak takáto chyba nevyskytla. Jedin´ym prípadom bolo spustenie<br />

daemona so vstupn´ym parametrom (<strong>dát</strong>um, od ktorého sa má začat’ st’ahovanie),<br />

ktor´y <strong>pre</strong>sahoval určené známe časové rozmedzie.<br />

Posledn´ym prípadom, ktor´y mohol pri zbere <strong>dát</strong> nastat’, bolo úspeˇsné pripojenie k<br />

zdroju <strong>dát</strong> a úspeˇsné stiahnutie poˇzadovan´ych obrazov´ych <strong>dát</strong>. V takom prípade<br />

sa do logovacieho súboru daného faktora zapísala správa v tvare ” Saved“ a získané<br />

28


FEI KKUI<br />

obrazové <strong>dát</strong>a sa uloˇzili do adresárovej ˇstruktúry.<br />

Adresárová a súborová ˇstruktúra <strong>pre</strong> úloˇzisko nazbieran´ych obrazov´ych <strong>dát</strong> má na-<br />

sledovnú podobu:<br />

faktor / YYYY-MM / faktor_DDMMYYYY_HH.png<br />

Ukáˇzka <strong>pre</strong> prípad faktoru oblačnosti je znázornená na obrázku 5 – 1:<br />

Obr. 5 – 1: Adresárová ˇstruktúra obrazov´ych <strong>dát</strong> oblačnosti<br />

Posledn´ym uvaˇzovan´ym problémom pri zbere <strong>dát</strong> boli moˇzné zmeny v re<strong>pre</strong>zentácii<br />

dan´ych faktorov v ich prísluˇsn´ych obrázkoch, tzn. ˇze sa bude postupom času menit’<br />

obsah st’ahovan´ych <strong>dát</strong>, čo nám vynúti v naˇsom systéme zmenit’ aj spôsob ich spra-<br />

covania. Vo väčˇsine prípadov sa vˇsak zmeny obsahu obrázkov net´ykali relevantn´ych<br />

<strong>dát</strong> (napr. boli pridané názvy miest do pozadia obrázku) a aj bez zmeny parametrov,<br />

či dokonca zásahu do zdrojov´ych kódov, sa na ne systém adaptoval.<br />

Príklad ako sa postupom času menil obsah obrazov´ych <strong>dát</strong> oblačnosti je znázornen´y<br />

obrázkami 5 – 2, 5 – 3 a 5 – 4.<br />

29


FEI KKUI<br />

Obr. 5 – 2: Ukáˇzka zmien obrazov´ych <strong>dát</strong> oblačnosti - rok 2007<br />

Obr. 5 – 3: Ukáˇzka zmien obrazov´ych <strong>dát</strong> oblačnosti - rok 2008<br />

30


FEI KKUI<br />

Obr. 5 – 4: Ukáˇzka zmien obrazov´ych <strong>dát</strong> oblačnosti - rok 2010<br />

5.2 Úprava <strong>dát</strong><br />

Čast’ systému, ktorá sa stará o úpravu naˇsich obrazov´ych <strong>dát</strong> obsahuje len je-<br />

den číseln´y parameter (vel’kost’ mrieˇzky), ktorého zmena môˇze podstatne ovplyvnit’<br />

v´ysledné obrázky. Okrem toho si môˇzeme vyskúˇsat’, ako bude vpl´yvat’ vynechanie<br />

druhého a tretieho kroku úpravy <strong>dát</strong> (podkapitola 4.2) na v´ysledky úpravy <strong>dát</strong> a<br />

následné učenie a testovanie <strong>NN</strong>.<br />

5.2.1 Zmena vel’kosti mrieˇzky<br />

Vel’kost’ mrieˇzky v systéme na úpravu <strong>dát</strong> nám určuje počet pixelov, ktoré sa v po-<br />

slednom kroku (odstránenie hrán) spracovávajú na dosiahnutie v´ysledného obrázku.<br />

V základnej funkčnej podobe systému je vel’kost’ mrieˇzky nastavená na hodnotu 5,<br />

podl’a ktorej spracovávame dokopy 24 pixelov (5x5 pixelov – stredn´y pixel sa neberie<br />

do úvahy) okolo pixelu určeného iteráciou cyklu odstraňovania hrán.<br />

31


FEI KKUI<br />

Príkladom v´ysledného obrázku pouˇzitím mrieˇzky vel’kosti 5, je napr. obr. 4 – 10.<br />

Príkladmi v´ysledn´ych obrázkov pouˇzitím mrieˇzok vel’kostí 3, 7 a 9, sú obrázky 5 – 6,<br />

5 – 7 a 5 – 8.<br />

Ako vidíme na uveden´ych obrázkoch, zmenou vel’kosti mrieˇzky sa mení citlivost’<br />

tohto kroku. Aj ked’ samotné hrany, o ktor´ych odstránenie v tejto časti ide, zmiznú<br />

uˇz pri mrieˇzke vel’kosti 3, so zvyˇsujúcou sa vel’kost’ou mrieˇzky sa v´ysledné <strong>dát</strong>a<br />

zjemňujú a dochádza k postupnému eliminovaniu artefaktov, ktoré v obrázku ostali<br />

po odčítaní farieb a odˇsumení. Treba si vˇsak uvedomit’, ˇze artefakty majú v tejto<br />

časti rovnaké farebné hodnoty ako relevantné <strong>dát</strong>a úrovní oblačnosti a nie je moˇzné<br />

tieto dva druhy <strong>dát</strong> touto heuristikou rozlíˇsit’. Môˇze sa <strong>pre</strong>to stat’, ˇze pri zvyˇsujúcej sa<br />

vel’kosti mrieˇzky dôjde k postupnému spl´yvaniu, či dokonca miznutiu, relevantn´ych<br />

<strong>dát</strong> oblačnosti, čo nemusí byt’ v danom prípade ˇziadúce. Vel’kost’ pouˇzitej mrieˇzky<br />

teda môˇze byt’ rôzna nie len <strong>pre</strong> kaˇzd´y faktor <strong>počasia</strong>, ale aj <strong>pre</strong> kaˇzd´y obrázok v<br />

rámci jedného faktoru zvláˇst’.<br />

5.2.2 Zmena tvaru mrieˇzky<br />

Ukáˇzeme si, ako vpl´yva tvar mrieˇzky na v´ysledok odstraňovania hrán. Konkrétne<br />

si vyskúˇsame miesto ˇstvorcovej mrieˇzky pouˇzit’ najprv riadkovú mrieˇzku a potom<br />

st ´ lpcovú mrieˇzku.<br />

Obr. 5 – 5: Mrieˇzka o vel’kosti 5<br />

32


FEI KKUI<br />

Obr. 5 – 6: Príklad v´ysledného obrázku po pouˇzití mrieˇzky vel’kosti 3 v úprave <strong>dát</strong><br />

Obr. 5 – 7: Príklad v´ysledného obrázku po pouˇzití mrieˇzky vel’kosti 7 v úprave <strong>dát</strong><br />

33


FEI KKUI<br />

Obr. 5 – 8: Príklad v´ysledného obrázku po pouˇzití mrieˇzky vel’kosti 9 v úprave <strong>dát</strong><br />

(a) riadková mrieˇzka (b) st ´ lpcová mrieˇzka<br />

Obr. 5 – 9: Riadková a st ´ lpcová mrieˇzka o vel’kosti 9<br />

34


FEI KKUI<br />

Obr. 5 – 10: Príklad v´ysledku po pouˇzití riadkovej mrieˇzky vel’kosti 9 v úprave <strong>dát</strong><br />

Obr. 5 – 11: Príklad v´ysledku po pouˇzití st ´ lpcovej mrieˇzky vel’kosti 9 v úprave <strong>dát</strong><br />

35


FEI KKUI<br />

Ako vidíme z v´ysledn´ych obrázkov 5 – 10 a 5 – 11, ani riadková ani st ´ lpcová mrieˇzka<br />

náˇsmu problému nevyhovujú. V prípade riadkovej mrieˇzky sa pri danej vel’kosti<br />

vytvára neˇziadúci ˇsum a pri st ´ lpcovej mrieˇzke v mnoh´ych prípadoch nedochádza ani<br />

k odstráneniu hrán, čo je v podstate primárny účel tohto kroku úpravy <strong>dát</strong>.<br />

5.2.3 Vynechanie odˇsumenia<br />

Ked’ˇze v´ysledok úpravy <strong>dát</strong> bez pouˇzitia odstránenia hrán je znázornen´y na obrázku<br />

4 – 9, v tejto časti si ukáˇzeme v´ysledok úpravy <strong>dát</strong> bez pouˇzitia odˇsumenia, ktoré<br />

spolu so spomenut´ym obrázkom budeme chciet’ pouˇzit’ v experimentoch s <strong>NN</strong>.<br />

Obr. 5 – 12: Príklad v´ysledku úpravy <strong>dát</strong> bez pouˇzitia odˇsumenia<br />

Ako vidíme na obrázku 5 – 12, vynechanie procesu odˇsumenia má <strong>pre</strong> cel´y proces<br />

úpravy <strong>dát</strong> vel’mi neˇziadúce účinky. Vzhl’adom na to, ˇze v procese odˇsumenia sa<br />

farebné hodnoty upravia do rozmedzia vo<strong>pre</strong>d určen´ych deviatich farieb, ktoré re-<br />

<strong>pre</strong>zentujú úrovne oblačnosti, vynechanie tohto kroku <strong>pre</strong>dstavuje nemal´y problém<br />

36


FEI KKUI<br />

<strong>pre</strong> proces odstraňovania hrán, ked’ˇze pouˇzitie mrieˇzky je zaloˇzené na prítomnosti<br />

nízkeho počtu referenčn´ych farieb v spracovávanom obrázku. Jednou z moˇzností by<br />

bolo pouˇzit’ podstatne väčˇsiu mrieˇzku, avˇsak v naˇsom prípade by dochádzalo k vyˇsˇsie<br />

spomínanému spl´yvaniu či miznutiu relevantn´ych <strong>dát</strong>. Pre pouˇzitie v trénovacom<br />

procese <strong>NN</strong> je teda tak´yto v´ysledok úpravy <strong>dát</strong> neˇziadúci.<br />

5.3 <strong>Predspracovanie</strong> <strong>dát</strong><br />

Ako je spomenuté v podsekcii 4.3.2, systém na <strong>pre</strong>dspracovanie <strong>dát</strong> realizovan´y<br />

formou neurónovej siete má viacero parametrov, ktor´ymi ho môˇzeme inicializovat’.<br />

Pokial’ nebude stanovené alebo spomenuté inak, experimenty v tejto časti vyuˇzívajú<br />

neurónové siete inicializované <strong>pomocou</strong> nasledovn´ych hodnôt parametrov:<br />

1. parameter učenia – 0.2,<br />

2. momentum – 0.1,<br />

3. ukončovacia podmienka – 0.00005,<br />

4. počet iterácií – 250,<br />

5. topológia – jedna skrytá vrstva s deviatimi neurónmi,<br />

6. vel’kost’ vzorky vstupn´ych <strong>dát</strong> – mrieˇzka o vel’kosti 3 (t.j. 9 pixelov – 27<br />

vstupn´ych neurónov),<br />

7. počet vzoriek <strong>pre</strong> jednu iteráciu – počet pixelov obrázku / 100.<br />

Na ukáˇzku v´ysledkov <strong>pre</strong>dspracovania <strong>dát</strong> <strong>pomocou</strong> neurónovej siete pouˇzijeme ako<br />

vstup do <strong>NN</strong> obrázok 4 – 6. V´yber tohto obrázku môˇzeme obhájit’ t´ym, ˇze obsahuje<br />

primerané mnoˇzstvo relevantn´ych <strong>dát</strong> oblačnosti a tak isto primerané mnoˇzstvo <strong>dát</strong>,<br />

ktoré by do v´ysledku nemali zasahovat’ a budeme tak sledovat’, ako si s nimi <strong>NN</strong><br />

poradí. Ako re<strong>pre</strong>zentáciu v´ystupn´ych hodnôt <strong>pre</strong> dané vstupné hodnoty pouˇzijeme<br />

obrázok 4 – 10.<br />

37


FEI KKUI<br />

Obr. 5 – 13: Experiment 1 - vstup<br />

Obr. 5 – 14: Experiment 1 - v´ystup<br />

38


FEI KKUI<br />

Obr. 5 – 15: Experiment 2 - vstup<br />

Obr. 5 – 16: Experiment 2 - v´ystup<br />

39


FEI KKUI<br />

Obr. 5 – 17: Experiment 3 - vstup<br />

Obr. 5 – 18: Experiment 3 - v´ystup<br />

40


FEI KKUI<br />

Obr. 5 – 19: Experiment 4 - vstup<br />

Obr. 5 – 20: Experiment 4 - v´ystup<br />

41


FEI KKUI<br />

Obr. 5 – 21: Experiment 5 - vstup<br />

Obr. 5 – 22: Experiment 5 - v´ystup<br />

42


FEI KKUI<br />

Ako môˇzeme vidiet’ vo v´ysledkoch, obrazové <strong>dát</strong>a obsahujú okrem relevantn´ych <strong>dát</strong><br />

oblačnosti aj menej dôleˇzité <strong>dát</strong>a, ktoré boli súčast’ou pozadia pôvodného obrázku.<br />

Pre ilustráciu sme do v´ysledkov zahrnuli aj novˇsie obrázky z úloˇziska <strong>dát</strong>, aby sa<br />

vyskúˇsalo, do akej miery sa na zmeny systém adaptuje. Aj ked’ v´ysledky v kaˇzdom<br />

prípade obsahujú tieto neˇziadúce artefakty, na zhodnotenie pouˇzitia <strong>NN</strong> na spracova-<br />

nie obrazov´ych <strong>dát</strong> sú postačujúce. ˇ Dalˇsím krokom v systéme by mohlo byt’ zahrnutie<br />

d’alˇsej heuristiky, ktorou by sa tieto artefakty odstránili. Ked’ˇze neurónovej sieti sú<br />

podávané vstupné hodnoty, ktoré re<strong>pre</strong>zentujú farby pixelov, nemôˇzeme očakávat’,<br />

ˇze na základe nich bude <strong>NN</strong> vediet’ rozlíˇsit’ jednotlivé objekty v danom obrázku, ked’<br />

budú znázornené rovnak´ymi alebo podobn´ymi farbami.<br />

Priebeh chyby počas učenia uveden´ych príkladov je vel’mi podobn´y obrázku 5 – 23.<br />

Obr. 5 – 23: Graf priebehu chyby učenia <strong>NN</strong><br />

43


FEI KKUI<br />

Na obrázku 5 – 23 <strong>pre</strong>dstavuje os x číslo iterácie a os y vel’kost’ chyby. Ako vidíme,<br />

vel’kost’ chyby spočiatku prudko klesá a zhruba okolo 20. iterácie začne mierne kmitat’<br />

okolo extrému. Toto kmitanie je spôsobené faktom, ˇze v´yber vzoriek počas iterácie<br />

učenia <strong>NN</strong> <strong>pre</strong>bieha náhodne.<br />

Cel´y proces inicializovan´y uveden´ymi parametrami trvá aj s testovaním a uloˇzením<br />

<strong>dát</strong> zhruba 10s. Ak by sa v kaˇzdej iterácii podávali <strong>NN</strong> vˇsetky pixely vstupného<br />

obrázku, len jediná iterácia by trvala viac ako tento čas.<br />

Ak by sme namiesto náhodného v´yberu určili, ˇze sa má <strong>NN</strong> <strong>pre</strong>dávat’ napr. kaˇzd´y<br />

100. pixel obrázku, v´ysledok by <strong>pre</strong> vstup 5 – 13 vyzeral ako na obrázkoch 5 – 24 a<br />

5 – 25.<br />

Obr. 5 – 24: V´ystup experimentu pri rovnomernom v´ybere vzoriek<br />

Nevyhovujúci v´ysledok zobrazen´y na obrázku 5 – 24 je pravdepodobne spôsoben´y<br />

faktom, ˇze pri rovnomernom v´ybere vzoriek nemusí dostat’ <strong>NN</strong> dostatočn´y počet<br />

rôznych vzoriek a zároveň v kaˇzdej iterácii sú <strong>NN</strong> odovzdávané rovnaké vzorky.<br />

Rieˇsením tohoto problému by mohlo byt’ napr. zv´yˇsenie počtu vzoriek <strong>pre</strong> kaˇzdú<br />

44


FEI KKUI<br />

iteráciu.<br />

Obr. 5 – 25: Graf priebehu chyby pri rovnomernom v´ybere vzoriek<br />

Ak sa chyba počas učenia <strong>NN</strong> (obrázok 5 – 23) dostane príliˇs skoro do extrému,<br />

pri relatívne vel’kom počte iterácii môˇze dôjst k <strong>pre</strong>učeniu, tzn. so zvyˇsujúcim sa<br />

počtom iterácií sa chyba na trénovacích <strong>dát</strong>ach zmenˇsuje, ale na testovacích <strong>dát</strong>ach<br />

sa zväčˇsuje. Na obrázkoch 5 – 26 a 5 – 27 vidíme porovnanie v´ystupov z experimentu<br />

po 20 a 250 iteráciách. V naˇsom prípade teda pri danom experimente k <strong>pre</strong>učeniu<br />

nedochádza, ale naopak so zvyˇsujúcim sa počtom iterácií je v´ysledn´y obrázok kva-<br />

litnejˇsí.<br />

Na obrázkoch 5 – 28 a 5 – 29 je znázornené porovnanie v´ystupov zo systému, ak sa<br />

na naučenie <strong>NN</strong> pouˇzije upraven´y obrázok s hranami a bez hrán (viac info na konci<br />

sekcie 5.2).<br />

45


FEI KKUI<br />

Obr. 5 – 26: V´ystup experimentu po 20 iteráciách<br />

Obr. 5 – 27: V´ystup experimentu po 250 iteráciách<br />

46


FEI KKUI<br />

Obr. 5 – 28: V´ystup experimentu s pouˇzitím upraveného obrázku bez hrán<br />

Obr. 5 – 29: V´ystup experimentu s pouˇzitím upraveného obrázku s hranami<br />

47


FEI KKUI<br />

6 Záver<br />

Ciel’om tejto diplomovej práce bolo vytvorit’ systém na <strong>pre</strong>dspracovanie <strong>dát</strong> <strong>pre</strong><br />

<strong>pre</strong>dpoved’ <strong>počasia</strong> <strong>pomocou</strong> nerónov´ych sietí.<br />

Na základe úloh bola diplomová práca rozdelená do nasledujúcich kapitol :<br />

• Kapitola 2 obsahuje <strong>pre</strong>hl’ad súčasnej problematiky spracovanie obrazu a úvod<br />

do terminológie neurónov´ych sietí,<br />

• Kapitola 3 obsahuje úvod do problematiky numerick´ych metód <strong>pre</strong>dpovede<br />

<strong>počasia</strong>,<br />

• Kapitola 4 popisuje návrh a implementáciu systému na <strong>pre</strong>dspracovanie obra-<br />

zov´ych <strong>dát</strong> <strong>pre</strong> <strong>pre</strong>dpoved’ <strong>počasia</strong> <strong>pomocou</strong> neurónovej siete,<br />

• Kapitola 5 obsahuje demonˇstráciu v´ysledkov a experimentálne overenie navr-<br />

hnutého systému.<br />

Z v´ysledkov získan´ych systémom a poznatkov naučen´ych počas tvorby tejto práce<br />

môˇzme zhodnotit’, ˇze neurónové siete majú na poli spracovania obrazu nemalé vyuˇzi-<br />

tie. Problémy spracovania obrazu majú vo vˇseobecnosti nelineárny charakter a na<br />

rieˇsenie tak´ychto problémov sú neurónové siete dlhodobo vhodn´ym prostriedkom.<br />

Nami navrhnut´y systém získava obrazové <strong>dát</strong>a <strong>pre</strong>dpovede <strong>počasia</strong>, ukladá ich do<br />

<strong>pre</strong>hl’adnej adresárovej ˇstruktúry, upravuje ich <strong>pomocou</strong> heuristického systému do<br />

podoby vhodnej na vstup do neurónovej siete a nakoniec učí a testuje neurónovú siet’<br />

<strong>pomocou</strong> získan´ych <strong>dát</strong>. V´ystupom zo systému je priebeh chyby učenia neurónovej<br />

siete a v´ysledn´y obrázok získan´y v testovacej fáze.<br />

Ked’ˇze majú nami získané <strong>dát</strong>a slúˇzit’ <strong>pre</strong>dpovedi <strong>počasia</strong>, v závislosti od nárokov<br />

takého systému môˇze byt’ ˇziadúce upravit’ tieto <strong>dát</strong>a <strong>pomocou</strong> d’alˇsích heuristík či<br />

in´ych vhodn´ych metód.<br />

48


FEI KKUI<br />

Literatúra<br />

[1] SINČÁK, Peter – ANDREJKOVÁ, Gabriela. Neurónové siete Inˇziniersky<br />

prístup, 1.diel, Koˇsice: elfa s.r.o., ISBN 80-88786-38-X, 1996, 107 s.<br />

[2] RIDDER de, Dick et. al. Nonlinear Image Processing Using Artificial Ne-<br />

ural Networks [online], Utrecht NL: Institute of Information and Com-<br />

puter Sciences, 2003. [s.a.]. [cit. 2010-08-10]. Dostupné na internete:<br />

<br />

[3] Neurónová siet’ z Wikipédie. Dostupné na internete:<br />

<br />

[4] Model ALADIN - popis. Dostupné na internete:<br />

<br />

[5] SPITSYN, V.G. – TSOY Y.R. Artificial Neural Network Appli-<br />

cation for Digital Image Processing, Tomsk RU: Tomsk Polytech-<br />

nic University, 2007. [s.a.]. [cit. 2010-08-10]. Dostupné na internete:<br />

<br />

[6] CHHABRA, Tejpal Singh. Back-propagation Neural<br />

Net, Codeproject.com, 2006. Dostupné na internete:<br />

<br />

49


Zoznam príloh<br />

Príloha A CD médium – diplomová práca v elektronickej podobe, program, expe-<br />

rimentálne v´ysledky.<br />

Príloha B Systémová príručka<br />

Príloha C Pouˇzívatel’ská príručka


FEI KKUI<br />

Príloha B<br />

Systémová príručka<br />

Systém <strong>pre</strong>dspracovania obrazov´ych <strong>dát</strong> pozostáva z troch častí:<br />

1. aplikácia na zber <strong>dát</strong>,<br />

2. aplikácia na úpravu <strong>dát</strong>,<br />

3. aplikácia implementujúca <strong>NN</strong> na <strong>pre</strong>dspracovanie <strong>dát</strong>.<br />

Anal´yza, funkcie a parametre t´ychto programov sú popísané v kapitole .<br />

Aplikácia na Zber <strong>dát</strong><br />

Aplikácia na zber <strong>dát</strong> je napísaná v jazyku Python, čiˇze na spustenie je potrebné<br />

mat’ distribúciu tohto jazyka v systéme nainˇstalovanú. Ked’ˇze aplikácia <strong>pre</strong> svoje<br />

fungovanie vyuˇzíva funkcie, ktoré sú natívne <strong>pre</strong> systémy Unix, v súčasnosti nie je<br />

moˇzné ju úspeˇsne spustit’ pod systémom Windows. Z jazyku Python sú v aplikácii<br />

vyuˇzívané <strong>pre</strong>dovˇsetk´ym moduly sys, os, time, signal a urllib. Na načítanie konfi-<br />

guračn´ych <strong>dát</strong> zo súborov typu INI je pouˇzit´y modul ConfigParser. Po vytvorení<br />

procesu daemona sa vˇsetky chybové hláˇsky <strong>pre</strong>smerovávajú do súboru errors.log,<br />

takˇze v prípade ak´ychkol’vek nezrovnalostí v behu programu je potrebné v prvom<br />

rade konzultovat’ obsah tohto súboru.<br />

Aplikácia na Úpravu <strong>dát</strong> a Aplikácia na <strong>pre</strong>dspracovanie <strong>dát</strong><br />

Aplikácia na úpravu <strong>dát</strong> je napísaná v jazyku C++ s pouˇzitím aplikačného rozhra-<br />

nia Qt. Na kompiláciu tejto aplikácie je potrebné mat’ nainˇstalované toto aplikačné<br />

rozhranie. Je moˇzné si ho aj skompilovat’ a t´ym si prípadne obmedzit’ pridávanie<br />

nepotrebn´ych modulov, avˇsak na priemernom systéme trvá kompilácia zhruba dve<br />

51


FEI KKUI<br />

hodiny. Pre systém Windows sú k dispozícii <strong>pre</strong>dkompilované binárne distribúcie<br />

tohto aplikačného rozhrania, ktoré vˇsak ale obsahuje vˇsetky dostupné moduly a<br />

teda po inˇstalácii zaberá na disku nemal´y priestor (zhruba 1.5GB). Kompilácia <strong>pre</strong>-<br />

bieha zadaním príkazu qmake, ktor´y zo súboru s príponou .pro vygeneruje na základe<br />

informácií o systéme prísluˇsn´y Makefile súbor. Potom uˇz stačí len program skompi-<br />

lovat’ ˇstandardne ako v prípade väčˇsiny C++ aplikácií, čiˇze zadaním príkazu make<br />

(pod systémom Windows prípadne nmake, ak sa pouˇzíva Visual Studio).<br />

Obe aplikácie vyuˇzívajú <strong>pre</strong>dvˇsetk´ym jeden z hlavn´ych modulov rozhrania Qt, ktor´y<br />

sa volá QtGui. Z tohto modulu vyuˇzívajú hlavne objekt QFile na vˇseobecnú prácu<br />

so subormi, QImage na prácu s obrázkami, QTextStream <strong>pre</strong> spracovanie textového<br />

v´ystupu (v prípade aplikácie na <strong>pre</strong>dspracovanie <strong>dát</strong> je jedn´ym z v´ystupn´ych súborov<br />

textov´y formát CSV), a objekty QColor a QRgb na spracovanie farieb.<br />

52


FEI KKUI<br />

Príloha C<br />

Pouˇzívatel’ská príručka<br />

Systém <strong>pre</strong>dspracovania obrazov´ych <strong>dát</strong> pozostáva z troch častí:<br />

1. aplikácia na zber <strong>dát</strong>,<br />

2. aplikácia na úpravu <strong>dát</strong>,<br />

3. aplikácia implementujúca <strong>NN</strong> na <strong>pre</strong>dspracovanie <strong>dát</strong>.<br />

Vˇsetky tri aplikácie sú konzolového charakteru, tzn. nemajú ˇziadne grafické rozhra-<br />

nie a spúˇst’ajú sa z konzoly.<br />

Aplikácie sa ˇziadn´ym spôsobom neinˇstalujú, stačí ich umiestnit’ do uˇzívatel’om vy-<br />

braného adresára a spustit’ <strong>pomocou</strong> parametrov.<br />

Aplikácia na Zber <strong>dát</strong><br />

Aplikácia na zber <strong>dát</strong> je napísaná v jazyku Python a na spustenie je teda potrebné<br />

mat’ v systéme nainˇstalovanú distribúciu tohto jazyka. Okrem toho vyuˇzíva fun-<br />

kcie, ktoré sú natívne hlavne <strong>pre</strong> systémy typu Unix a <strong>pre</strong>dpokladá sa umiestnenie<br />

na nejak´y stabilne fungujúci server beˇziaci na systéme z tejto rodiny. Spustenie<br />

aplikácie na zber <strong>dát</strong> <strong>pre</strong>bieha zadaním príkazu do konzoly v nasledovnej forme:<br />

python weatherd start. Po úspeˇsnom spustení sa do konzoly vypíˇse číslo procesu,<br />

pod ktor´ym aplikácia ako daemon beˇzí. Zastavenie aplikácie sa vykonáva príkazom<br />

v nasledovnej forme: python weatherd stop.<br />

Aplikácia na Úpravu <strong>dát</strong><br />

Aplikácia na úpravu <strong>dát</strong> má na CD, ktoré je prílohou k tejto práci, binárnu formu,<br />

ktorá je spustitel’ná bez inˇstalácie pod systémom Windows. Pre pouˇzitie pod in´ymi<br />

53


FEI KKUI<br />

systémami je nutné si naˇstudovat’ systémovú príručku a aplikáciu si skompilovat’.<br />

Spustenie tejto aplikácie sa vykonáva prostredníctvom konzoly zadaním príkazu v<br />

nasledovnej forme: dp referencnyobrazok vstupnyobrazok.<br />

Parametre referencnyobrazok a vstupnyobrazok sú cesty (resp. len názvy súborov, ak<br />

sa nachádzajú v rovnakom adresári ako aj aplikácia) k obrázkom, ktoré má aplikácia<br />

spracovat’. Pre viac informácií o t´ychto obrázkoch konzultujte sekciu 4.2.<br />

V prípade, ˇze parametre v zadanom príkaze korektne ukazujú na existujúce a akcep-<br />

tovatel’né obrázky, v´ystup v konzole po ukončení behu aplikácie bude vyzerat’ ako<br />

na obrázku 6 – 1.<br />

Obr. 6 – 1: Korektn´y v´ypis do konzoly z aplikácie na úpravu <strong>dát</strong><br />

V prípade, ˇze dôjde k nesprávnemu zadaniu parametrov, môˇzu nastat’ dve situácie,<br />

ktoré znázorňujú obrázky 6 – 2 a 6 – 3.<br />

Obr. 6 – 2: V´ypis do konzoly pri nezadaní vˇsetk´ych parametrov<br />

Obr. 6 – 3: V´ypis do konzoly pri zadaní nesprávneho súboru<br />

Po úspeˇsnom ukončení programu sa v adresári z aplikáciou bude nachádzat’ v´ysledn´y<br />

obrázok úpravy <strong>dát</strong>.<br />

54


FEI KKUI<br />

Aplikácia na <strong>pre</strong>dspracovanie <strong>dát</strong><br />

Pre aplikáciu na <strong>pre</strong>dspracovanie <strong>dát</strong> platí to isté, ako v prípade aplikácie na zber<br />

<strong>dát</strong> – je dostupná v binárnej forme na CD prílohe a v prípade potreby pouˇzitia<br />

pod in´ym systémom ako Windows, je nutné si ju skompilovat’. Pouˇzitie spôsobom<br />

opakovanej kompilácie je odporúčané v prípade potreby menit’ parametre <strong>NN</strong> a t´ym<br />

demonˇstrovat’ správanie sa tejto aplikácie pri ich zmene, ked’ˇze v čase písanie tejto<br />

práce nemala aplikácia doprogramované pouˇzitie konfiguračného súboru. Spustenie<br />

aplikácie <strong>pre</strong>bieha zadaním príkazu do konzoly vo forme:<br />

backprop vstup vystup test.<br />

Parametre vstup a vystup ukazujú na obrázky, ktoré re<strong>pre</strong>zentujú vstupné a v´ystupné<br />

hodnoty <strong>pre</strong> učenie <strong>NN</strong>. Parameter test ukazuje na obrázok, ktor´y chceme pouˇzit’<br />

ako vstup do testovacej fázy a na základe ktorého, sa vytvorí v´ystupn´y obrázok.<br />

Nesprávne zadanie parametrov sa <strong>pre</strong>javí rovnako ako v prípade aplikácie na zber<br />

<strong>dát</strong>. Korektn´y v´ystup z aplikácie po ukončení behu môˇze vyzerat’ ako na obrázku<br />

6 – 4.<br />

Obr. 6 – 4: V´ypis do konzoly úspeˇsnom ukončení <strong>pre</strong>dspracovania <strong>dát</strong><br />

Vo v´ypise vidíme hodnoty stredn´ych kvadratick´ych ch´yb v posledn´ych piatich iterá-<br />

ciách učenia. Po ukončení programu sa v adresári aplikácie bude nachádzat’ v´ysledn´y<br />

obrázok a CSV súbor s priebehom ch´yb počas učenia.<br />

55

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!