Interaktívne evolučné výpočty v oblasti rozpoznávania obrazu - TUKE
Interaktívne evolučné výpočty v oblasti rozpoznávania obrazu - TUKE
Interaktívne evolučné výpočty v oblasti rozpoznávania obrazu - TUKE
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Miroslav Venglarčík <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>oblasti</strong> <strong>rozpoznávania</strong> <strong>obrazu</strong><br />
TECHNICKÁ UNIVERZITA V KOŠICIACH<br />
KATEDRA KYBERNETIKY A UMELEJ INTELIGENCIE<br />
Miroslav Venglarčík<br />
<strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>oblasti</strong> <strong>rozpoznávania</strong> <strong>obrazu</strong><br />
Esej z predmetu Teoretické základy umelej inteligencie<br />
Košice 2008<br />
1/8
Miroslav Venglarčík <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>oblasti</strong> <strong>rozpoznávania</strong> <strong>obrazu</strong><br />
Abstrakt. Esej uvádza stručný úvod do problematiky interaktívnych<br />
evolučných algoritmov a je zameraná na spôsob akým sa dá použiť<br />
pri rozpoznávaní <strong>obrazu</strong>.<br />
1. Teoretické poznatky z interaktvínych evolučných výpočtov<br />
<strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> (ďalej iba IEC) sú optimalizačnou metódou, ktorá adoptuje <strong>evolučné</strong><br />
<strong>výpočty</strong> (ďalej iba EC) medzi systémovú optimalizáciu založenú na subjektívnom ľudskom<br />
vyhodnocovaní. Je to jednoducho technika EC, ktorých fitness funkcia (funkcia vhodnosti) je<br />
nahradená ľudským používateľom. Obr. 1 znázorňuje všeobecný IEC systém, kde používateľ vidí alebo<br />
počuje výstupy zo systému, ktoré vyhodnocuje a EC optimalizuje cieľový systém za účelom<br />
obdržania preferovaného výstupu založeného na používateľovom vyhodnocovaní.<br />
Obr. 1 Všeobecný IEC systém [1]<br />
Môžeme povedať, že IEC sú technológiou, ktorá do cieľového systému vnáša ľudské preferencie,<br />
intuície, emócie, psychologické aspekty, všeobecnejším pojmom označované ako kansei.<br />
Zaužívané sú dve hlavné definície IEC. Užšia definícia IEC: technológia, pri ktorej EC optimalizuje<br />
cieľový systém na základe subjektívneho ľudského vyhodnotenia, ktoré predstavuje fitness hodnoty<br />
(hodnoty vhodnosti) pre systémové výstupy, viď [2]. Širšia definícia IEC: technológia, pri ktorej EC<br />
optimalizuje cieľový systém za existencie interaktívneho rozhrania človekstroj.<br />
1.1. Evolučné <strong>výpočty</strong><br />
Evolučné <strong>výpočty</strong> (EC – evolutionary computation), je biologicky inšpirovaný výpočtový koncept<br />
k riešeniu optimalizačných problémov. Je to populačne založený prehľadávací algoritmus a jeho<br />
výstupom je istý počet kandidátov, nazývaných taktiež indivíduami (jedincami) (text tejto podkapitoly<br />
2/8
Miroslav Venglarčík <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>oblasti</strong> <strong>rozpoznávania</strong> <strong>obrazu</strong><br />
vychádza z [3]). Každý jedinec má daný svoj genotyp, ktorý vnútorne reprezentuje v tomto prípade parametre<br />
grafickej časti webstránky v jej CSS súbore , a takisto svoj fenotyp, ktorý reprezentuje jedinca<br />
navonok. Každý jedinec má ešte vhodnosť (fitness), ktorou je vlastne vyjadrená kvalita daného riešenia.<br />
Na Obr. 2 je zobrazená všeobecná schéma EC, a táto v zásade platí pre všetky typy EC.<br />
Obr. 2 Všeobecná schéma <strong>evolučné</strong>ho výpočtu [3]<br />
2. Rozpoznávanie <strong>obrazu</strong> v interaktívnych evolučných výpočtoch<br />
Podľa [1] existujú dva typy cieľových systémov pre systémovu optimalizáciu: systémy, ktorých<br />
optimalizačná výkonnosť sa dá numericky (alebo aspoň kvantitatívne) definovať ako hodnotiaca funkcia,<br />
a systémy, u ktorých je ťažké špecifikovať ich optimalizačné indexy. Väčšina inžinierskeho výskumu<br />
využíva viaceré optimalizačné metódy založené na minimalizácii chybového kritéria a zameriavajú<br />
sa na prvý typ systémov, ako automatizácia, rozpoznávanie obrazcov, atď. Avšak, na získanie<br />
3/8
Miroslav Venglarčík <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>oblasti</strong> <strong>rozpoznávania</strong> <strong>obrazu</strong><br />
najpriaznivejších výstupov z interaktívnych systémov, ktoré vytvárajú alebo spracúvajú grafiku alebo<br />
hudbu, musia byť tieto výstupy subjektívne vyhodnotené.<br />
Preto podľa mňa môže byť IEC pri rozpoznávaní <strong>obrazu</strong> aplikované dvojakým spôsobom :<br />
1. rozpoznávanie <strong>obrazu</strong> zaobstaráva nejaký klasifikátor, ktorého parametre sa postune menia<br />
pomocou IEC<br />
2. IEC spracúvava obraz do určitej podoby, na základe užívateľových znalostí a samotné rozpoznávanie<br />
uskutočňuje užívateľ<br />
2.1. Interaktívna evolúcia s klasifikátorom<br />
Keďže IEC samé nedokáže plniť funkciu <strong>rozpoznávania</strong>, je potrebné do nej implementovať<br />
nejaký klasifikátor, ktorého úlohou bude spracovanie a rozpoznanie žiadaného <strong>obrazu</strong>.<br />
Podľa [4] rozpoznávanie obrazov nie je iba identifikovanie niečoho, čo je niekde namaľované,<br />
nakreslené, alebo niekde zobrazené. Nie je to len identifikácia vizuálnych obrazov, nakoľko obrazy,<br />
ktoré chceme identifikovať môžu byť aj nevizuálne, napríklad akustické. Z tohto hľadiska by asi skôr<br />
hodil názov identifikácia signálov. Signál môže byť vizuálny, akustický, elektromagnetický, atď. Pomocou<br />
takýchto rôznych signálov môžeme zachytiť mnohé podnety z okolitého prostredia. A ak nejaký<br />
systém dokáže reagovať na podnety okolia, dokáže okolie lepšie pochopiť a prispôsobí sa mu.<br />
Obrazy však nemôžeme priamo rozpoznávať zo signálu, ktorý zachytíme. Tento signál si najskôr<br />
musíme previesť do tvaru, v ktorom ho ďalej vieme spracovávať. Napríklad reprezentáciou vizuálneho<br />
<strong>obrazu</strong> by mohla byť matica, v ktorej každý prvok reprezentuje farbu tej ktorej časti <strong>obrazu</strong>. Pritom sa<br />
obraz nemusí mapovať celý, tzn., že zachytíme všetky vizuálne vnemy z prostredia, ale môžeme pracovať<br />
len s častou signálu.<br />
Jednou z metód klasifikácie sú neurónové siete. Ak chceme úspešne rozpoznávať obrazy pomocou<br />
neurónových sietí, musíme si najskôr tento obraz zmapovať na vstupy neurónovej siete. Na vstup<br />
neurónovej siete teda privádzame hodnotu všetkých pixelov obrázku. Takže najskôr je nutné rozložiť<br />
obrázok na pixely. To nie je veľmi veľký problém, lebo obrazy reprezentované v počítači sú väčšinou<br />
zobrazované po pixeloch.<br />
Ak je tento obrázok čiernobiely, tak je veľmi jednoduché priviesť tento obrázok na vstup neurónovej<br />
siete. Vytvoríme si neurónovú sieť, ktorá bude mať toľko vstupov ako je pixelov v obrázku. Na<br />
jednotlivé vstupy neurónovej siete budeme privádzať buď jednotku, keď bude pixel napríklad čierny,<br />
alebo nulu, keď bude pixel biely.<br />
Týmto sme však len načrtli spôsob akým reprezentovať obrázok tak, aby sa dal použit na rozpoznávanie<br />
pomocou neurónovej siete. Toto je vlastne len vstup do neurónovej siete. Ale čo výstup?<br />
Veď neurónová sieť má predsa aj svoj výstup. Výstup z neurónovej siete môže byť rôzny a je veľmi silne<br />
závislý od úlohy, ktorú riešime. Neurónová sieť môže mať jeden výstup, ale nič nebráni tomu, aby<br />
ich mala aj viac :<br />
4/8
Miroslav Venglarčík <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>oblasti</strong> <strong>rozpoznávania</strong> <strong>obrazu</strong><br />
• Neurónová sieť s jedným výstupom je vlastne príznaková sieť. Príznaková sieť je taká, ktorá<br />
nám na výstupe povie, či zadaný obrázok patrí alebo nepatrí do určitej triedy objektov<br />
• Môže rozpoznávať, či sa na obrázku nachádzajú dva objekty, alebo len jeden a podľa toho<br />
nám poskytnúť výstup. Neurónová sieť, ktorá nám na výstupe vždy nastaví len jeden príznak sa nazýva<br />
rozpoznávacia neurónová sieť.<br />
Pre riešenie úlohy <strong>rozpoznávania</strong> znakov písaných rukou bola navrhnutá neurónová sieť neocognitron.<br />
Základným princípom funkcie neurónovej siete Neocognitron je hierarchická detekcia príznakov.<br />
Hierarchická detekcia príznakov spočíva v rozdelení detekovaných príznakov do niekoľkých<br />
úrovní. V prvej úrovni sa prevádza detekcia najjednoduchších príznakov (obvykle rôzne natočených<br />
čiarok) a v každej následujúcej úrovni sú detekované príznaky stále komplexnejšie.<br />
Pritom platí, že pre detekciu príznakov v určitej úrovni sú využívané len informácie<br />
získané v predchádzajúcej úrovni.<br />
Na obrázku 3 je schematicky znázornená hierarchia príznakov, ktoré by sme mohli v<br />
neurónovej sieti Neocognitron využiť pre rozpoznávanie číslice nula.<br />
Obr. 3 Princíp hierarchie detekcie príznakov [4]<br />
5/8
Miroslav Venglarčík <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>oblasti</strong> <strong>rozpoznávania</strong> <strong>obrazu</strong><br />
Takto vytvorená neurónová sieť by nám slúžila ako klasifikátor na rozpoznávanie jednotlivých<br />
obrazov, v tomto prípade písaných znakov. Pomocou IEC by boli menené parametre vybraných jedincov,<br />
ktorých krížením by vznikli nové generácie, ktoré by sa mali približovať požadovanému výsledku.<br />
2.2. Spracovanie <strong>obrazu</strong> interaktívnou evolúciou<br />
Základná forma interaktívnej evolúcie podľa [5] je zobrazená na nasledujúcom obrázku.<br />
Obr.2 Schéma spracovania obrazov pomocou interaktívnej evolúcie [5]<br />
Interakcia človeka a počítača je realizovaná prostredníctvom používateľského rozhrania.<br />
Požívateľské rozhranie z<strong>obrazu</strong>je kandidátske obrazy používateľovi a zachytáva hodnotenia zadané<br />
používateľom. Výpočtová časť pozostáva z <strong>evolučné</strong>ho algoritmu a transformácie <strong>obrazu</strong>. Ohodnotené<br />
obrazy vstupujú do procesu evolúcie, ktorá nastavuje filter.<br />
2.2.1. Spracovanie <strong>obrazu</strong><br />
Vo všeobecnosti môžeme pri spracovaní <strong>obrazu</strong> interaktívnou evolúciou použiť podľa [5] tri typy<br />
filtrov, ktoré evolúciou vieme korigovať:<br />
6/8
Miroslav Venglarčík <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>oblasti</strong> <strong>rozpoznávania</strong> <strong>obrazu</strong><br />
• Algebrický filter<br />
• Parametrický filter<br />
• Štruktúrovaný filter<br />
Algebrický filter<br />
Algebrický filter vypočítava výstupnú hodnotu daného pixlu pomocou vstupnej (pôvodnej)<br />
hodnoty pixlu a matematickej funkcie, ktorá popisuje vzťah medzi vstupnou a výstupnou hodnotou.<br />
Parametrický filter<br />
Parametrické filtre s fixnou štruktúrou7 sú založené na parametrických funkciách a úlohou<br />
IEV je optimalizácia týchto parametrov. Pre jednoduchosť si môžeme predstaviť takýto filter ako<br />
množinu troch funkcií pre výpočet výstupnej intenzity pixla zvlášť pre červený, zelený a modrý kanál.<br />
Štruktúrovaný filter<br />
Štruktúrovaný filter je filter pozostávajúci z množiny filtrov, ktorá vhodným spôsobom<br />
kombinuje parametrické a algebrické filtre. To nám umožňuje využiť výhody algebrických filtrov<br />
paralelne s prednosťami parametrického filtra.<br />
Záver<br />
Pri písaní tejto eseje sa mi nepodarilo zistiť, či existuje systém, ktorý by využíval “čistú“<br />
interaktívnu evolúciu pri rozpoznávaní <strong>obrazu</strong>. Z toho dôvodu som popísla rozpoznávanie <strong>obrazu</strong><br />
interaktívnymi evolúčnymi výpočtami z dvoch pohľadov. Z pohľadu evolúcie klasifikátora, ktorý plnil<br />
základnú funkciu <strong>rozpoznávania</strong> a z pohľadu spracovanie <strong>obrazu</strong> interaktívnou evolúciou, kde úlohu<br />
<strong>rozpoznávania</strong> plnil človek.<br />
7/8
Miroslav Venglarčík <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>oblasti</strong> <strong>rozpoznávania</strong> <strong>obrazu</strong><br />
Zoznam použitej literatúry<br />
[1] UŽÁK, Matúš : Vizualizácia a interakcia v procese učenia neurónových sietí.<br />
Košice : TUFEI, 2005. 86 s.<br />
[2] JAKŠA, Rudolf – TAKAGI, Hideyuki : Tuning of Image Parameters by Interactive<br />
Evolutionary Computation. Proc. of 2003 IEEE International Conference on Systems, Man<br />
& Cybernetics (SMC2003), Washington D.C., pp.492497 (October 58, 2003)<br />
[3] GAJDOŠ, Miroslav : Redukcia únavy používateľa IEC pomocou neurónovej siete<br />
pri grafickom návrhu reklamných bannerov. Košice : TUFEI, 2006. 60 s.<br />
[4] DILUNG, Pavol – DUDÁŠ, Ladislav : Rozpoznávanie <strong>obrazu</strong>, 2002,<br />
http://neuron.tuke.sk/alumni/cogsci/source/12/Dilung_esej.pdf<br />
[5] NEUPAUER, Marek : Analýza medicínskych dát na báze interaktívnej evolúcie.<br />
Košice : TUFEI, 2006. 65 s.<br />
8/8