POČÍTAČOVÉ VIDENIE DETEKCIA A ROZPOZNÁVANIE OBJEKTOV E LENA Š IKUDOVÁ Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Z UZANA Č ERNEKOVÁ Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava WANDA B ENEŠOVÁ Fakulta informatiky a informačných technológií Slovenská technická univerzita, Bratislava Z UZANA H ALADOVÁ Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava J ÚLIA K U ČEROVÁ Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava W IKINA Venujem mojim rodičom a neterkám Lucke a Pet’ke Elena Šikudová Venujem mojim rodičom Zuzana Černeková Venujem môjmu otcovi in memoriam Wanda Benešová Venujem Ome a Opovi Zuzana Haladová Venujem mojim rodičom a bratovi Júlia Kučerová Obsah Predslov x I Predspracovanie obrazu 1 Spracovanie obrazu vo frekvenčnej oblasti 1.1 Načo slúžia diskrétne lineárne transformácie? . . . . . . . 1.1.1 Príklad . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Použitie . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Lineárna transformácia obrazu. . . . . . . . . . . . 1.2 Fourierova transformácia . . . . . . . . . . . . . . . . . . . . 1.2.1 Fourierov rad . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Spojitá Fourierova transformácia . . . . . . . . . . 1.2.3 Dvojdimenzionálna Fourierova transformácia . . 1.2.4 Vlastnosti Fourierovej transformácie . . . . . . . . 1.2.5 Diskrétna Fourierova transformácia (DFT) . . . . 1.2.6 DFT ako špeciálny prípad lineárnej transformácie 1.2.7 Dvojrozmerná DFT . . . . . . . . . . . . . . . . . . . 1.3 Výpočet diskrétnej Fourierovej transformácie . . . . . . . . 1.3.1 Výpočet z definície . . . . . . . . . . . . . . . . . . . 1.3.2 Výpočet pomocou maticových operácií . . . . . . . 1.3.3 Rýchla Fourierova transformácia (FFT) . . . . . . 1.3.4 Doplnenie nulami . . . . . . . . . . . . . . . . . . . 1.4 Príklady Fourierovej transformácie obrazu . . . . . . . . . i 2 2 3 4 5 5 5 7 8 9 12 13 15 15 15 16 17 21 22 O BSAH 1.5 1.6 2 ii Kosínusová transformácia . . . . . . . . . . . . . 1.5.1 Diskrétna kosínusová transformácia . . Filtrácia obrazu vo frekvenčnej oblasti . . . . . . 1.6.1 Filtrácia vybratých frekvenčných oblastí Spracovanie obrazu v priestorovej oblasti 2.1 Diskrétna konvolúcia . . . . . . . . . . . . 2.1.1 Diskrétna 2D konvolúcia . . . . . 2.1.2 Vlastnosti konvolúcie . . . . . . . 2.2 Výpočet konvolúcie . . . . . . . . . . . . . 2.2.1 Znázornenie výpočtu konvolúcie 2.3 Najdôležitejšie konvolučné masky . . . . 2.3.1 Vyhladzovacie filtre . . . . . . . . 2.3.2 Hranové filtre . . . . . . . . . . . . 2.4 Použitie konvolúcie . . . . . . . . . . . . . 2.5 Nelineárna filtrácia . . . . . . . . . . . . . 2.5.1 Zorad’ovacií filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 26 27 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 38 39 39 39 40 41 41 43 47 48 48 3 Konvolučná teoréma 4 Morfologické operácie 4.1 Matematická morfológia . . . . . . . . . . . . . . . . 4.1.1 Morfologické spracovanie obrazu . . . . . . 4.2 Základné pojmy a definície . . . . . . . . . . . . . . 4.2.1 Susednost’, súvislost’ . . . . . . . . . . . . . . 4.2.2 Minkowského suma . . . . . . . . . . . . . . 4.2.3 Štrukturálny element . . . . . . . . . . . . . 4.2.4 Morfologická transformácia . . . . . . . . . 4.3 Základné morfologické operácie . . . . . . . . . . . 4.4 Binárna dilatácia a erózia . . . . . . . . . . . . . . . . 4.4.1 Dilatácia . . . . . . . . . . . . . . . . . . . . . 4.4.2 Erózia . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Vlastnosti dilatácie a erózie . . . . . . . . . . 4.4.4 Použitie dilatácie a erózie . . . . . . . . . . . 4.4.5 Vzájomný vzt’ah medzi eróziou a dilatáciou 4.5 Morfologické otvorenie a uzavretie . . . . . . . . . . 4.5.1 Morfologické otvorenie . . . . . . . . . . . . 4.5.2 Morfologické uzavretie . . . . . . . . . . . . 4.6 Šedotónová dilatácia a erózia . . . . . . . . . . . . . 4.6.1 Nerovný štrukturálny element . . . . . . . . 4.6.2 Rovný štrukturálny element . . . . . . . . . 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 52 52 53 53 55 55 55 56 57 57 59 61 61 61 62 62 62 64 64 65 Obsah 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 Morfologický gradient . . . . . . . . . . . . . . . . . . . . . . Morfologická vrchná a spodná čast’ klobúka . . . . . . . . Granulometria . . . . . . . . . . . . . . . . . . . . . . . . . . Morfologická operácia Hit-or-Miss . . . . . . . . . . . . . . Vzdialenostná transformácia . . . . . . . . . . . . . . . . . Kostra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.12.1 Príklady algoritmických postupov výpočtu kostry . Transformácia rozvodím . . . . . . . . . . . . . . . . . . . . 4.13.1 Značková segmentácia rozvodím pre farebný obraz Geodetické metódy . . . . . . . . . . . . . . . . . . . . . . . 4.14.1 Geodetická vzdialenost’ . . . . . . . . . . . . . . . . Morfologická rekonštrukcia . . . . . . . . . . . . . . . . . . 4.15.1 Geodetická binárna dilatácia . . . . . . . . . . . . . 4.15.2 Geodetická binárna erózia . . . . . . . . . . . . . . 4.15.3 Morfologická rekonštrukcia a jej použitie . . . . . Morfologická šedotónová rekonštrukcia . . . . . . . . . . . 4.16.1 Geodetická šedotónová dilatácia a erózia . . . . . 4.16.2 Generovanie značiaceho obrazu . . . . . . . . . . . 4.16.3 Príklady použitia . . . . . . . . . . . . . . . . . . . . Príklad použitia morfologických operácií pre segmentáciu superpixelov . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.17.1 Vyhladenie morfologickou rekonštrukciou . . . . . 4.17.2 Generovanie značiek – semiačok pre značkovú transformáciu rozvodím . . . . . . . . . . . . . . . . . . 4.17.3 Transformácia rozvodím . . . . . . . . . . . . . . . 4.17.4 Vyhodnotenie . . . . . . . . . . . . . . . . . . . . . . 4.17.5 Výsledky . . . . . . . . . . . . . . . . . . . . . . . . . Zoznam použitej literatúry 68 70 71 73 75 75 76 76 78 79 79 79 80 81 81 82 82 83 84 85 87 88 88 89 90 92 II Príznaky 5 Príznaky v oblasti počítačového videnia 6 Príznaky tvaru 6.1 Binárny obraz . . . . . . . . . . . . . . 6.2 Opis tvaru založený na hranici oblasti 6.2.1 Ret’azcový Freemanov kód . . 6.2.2 Obvod . . . . . . . . . . . . . . 6.2.3 Krivost’ krivky . . . . . . . . . . 96 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 . 98 . 99 . 100 . 101 . 102 iii O BSAH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 105 105 106 107 108 110 111 112 113 113 113 115 115 115 117 Príznaky farby 7.1 Dominantná farba . . . . . . . . . . . . . . . . . . . . 7.2 Histogram farieb . . . . . . . . . . . . . . . . . . . . . 7.2.1 Histogram priestorového rozloženia farieb . 7.2.2 Ďalšie opisy priestorového rozloženia farieb 7.3 MPEG-7 . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Deskriptor dominantnej farby . . . . . . . . 7.3.2 Škálovatel’ný deskriptor farby . . . . . . . . 7.3.3 Deskriptor rozloženia farieb . . . . . . . . . 7.3.4 Deskriptor štruktúry farieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 118 118 120 120 122 123 123 124 124 Príznaky textúry 8.1 Autokorelácia . . . . . . . . . . . . . . 8.2 Matica opakovaných výskytov . . . . 8.3 Diskrétna Fourierova transformácia 8.4 Gaborove filtre . . . . . . . . . . . . . 8.5 MPEG-7 . . . . . . . . . . . . . . . . . 8.5.1 Prehl’adávanie textúr . . . . 8.5.2 Homogénne textúry . . . . . 8.5.3 Histogram lokálnych hrán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 129 129 130 131 133 133 134 135 6.3 6.4 6.5 7 8 9 iv 6.2.4 Signatúra . . . . . . . . . . . . . . . . . . 6.2.5 Fourierov opis . . . . . . . . . . . . . . . . Opis tvaru založený na oblasti . . . . . . . . . . . 6.3.1 Ťažisko a k nemu prislúchajúce príznaky 6.3.2 Príznaky odvodené z priemeru a obsahu 6.3.3 Osi oblasti . . . . . . . . . . . . . . . . . . 6.3.4 Opísaný obdĺžnik . . . . . . . . . . . . . . 6.3.5 Topologické príznaky . . . . . . . . . . . 6.3.6 Morfologické príznaky . . . . . . . . . . . Šedotónový obraz . . . . . . . . . . . . . . . . . . 6.4.1 Projekcie . . . . . . . . . . . . . . . . . . . 6.4.2 Opisné štatistiky . . . . . . . . . . . . . . 6.4.3 Energia a entropia . . . . . . . . . . . . . MPEG-7 . . . . . . . . . . . . . . . . . . . . . . . . 6.5.1 Tvar kontúry . . . . . . . . . . . . . . . . 6.5.2 Tvar regiónu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lokálne príznaky 138 9.1 Lokálne vs. globálne príznaky . . . . . . . . . . . . . . . . . 138 9.2 Lokálne príznaky . . . . . . . . . . . . . . . . . . . . . . . . 140 Obsah 9.3 9.4 9.5 9.6 9.7 Metódy detekcie a deskripcie lokálnych príznakov 9.3.1 Harrisov detektor rohov . . . . . . . . . . . 9.3.2 FAST . . . . . . . . . . . . . . . . . . . . . . 9.3.3 SIFT . . . . . . . . . . . . . . . . . . . . . . 9.3.4 SURF . . . . . . . . . . . . . . . . . . . . . . 9.3.5 BRIEF . . . . . . . . . . . . . . . . . . . . . 9.3.6 ORB . . . . . . . . . . . . . . . . . . . . . . . 9.3.7 Porovnávanie deskriptorov . . . . . . . . . Registrácia objektov . . . . . . . . . . . . . . . . . . Využitie lokálnych príznakov . . . . . . . . . . . . 9.5.1 Spájanie panorám . . . . . . . . . . . . . . 9.5.2 Stereo rekonštrukcia . . . . . . . . . . . . . 9.5.3 Vlastná kalibrácia kamery . . . . . . . . . . 9.5.4 Sledovanie objektov . . . . . . . . . . . . . 9.5.5 Vyhl’adávanie obrazov . . . . . . . . . . . . Prípad použitia: Klasifikácia malieb . . . . . . . . . 3D lokálne príznaky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 142 142 143 147 148 148 150 150 151 151 152 152 152 153 153 156 10 Predspracovanie príznakov 158 10.1 Príznaky bez rozmeru . . . . . . . . . . . . . . . . . . . . . . 160 10.2 Škálovanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 11 Výber príznakov 11.1 Filter a obálka . . . . . . . . . . . . . 11.2 Dopredný výber . . . . . . . . . . . . 11.3 Spätný výber . . . . . . . . . . . . . . 11.4 Kombinovaný výber . . . . . . . . . . 11.5 Ohodnotenie príznakov . . . . . . . . 11.5.1 Štatistická závislost’ . . . . . 11.5.2 Konzistencia . . . . . . . . . 11.5.3 Medzitriedna vzdialenost’ . . 11.5.4 Informačno-teoretické miery 11.5.5 Hodnotiace miery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 162 163 164 165 165 165 166 167 167 169 12 Redukcia príznakov 12.1 Metóda hlavných komponentov . . . . . . 12.1.1 Použitie PCA . . . . . . . . . . . . 12.1.2 Ako môže PCA znížit’ dimenziu? . 12.1.3 Vzt’ah medzi PCA a SVD . . . . . . 12.2 Fisherova lineárna disriminačná analýza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 170 172 174 176 176 . . . . . . . . . . . . . . . . . . . . v O BSAH Zoznam použitej literatúry 180 III Klasifikácia 13 Klasifikácia príznakov 188 14 Riadené klasifikátory 14.1 Bayesovská teória rozhodovania . . . . . . . . . . . . 14.1.1 Optimalita Bayesovho klasifikátora . . . . . 14.1.2 Rozhodovacie hranice . . . . . . . . . . . . . 14.2 Techniky najbližších susedov . . . . . . . . . . . . . 14.3 Rozhodovacie stromy . . . . . . . . . . . . . . . . . . 14.3.1 Rozdel’ujúce kritérium . . . . . . . . . . . . 14.3.2 Ukončujúce kritérium . . . . . . . . . . . . . 14.3.3 Orezávanie rozhodovacích stromov . . . . . 14.3.4 Výhody a nevýhody rozhodovacích stromov 14.4 Diskriminačná analýza . . . . . . . . . . . . . . . . . 14.4.1 Lineárne diskriminačné funkcie . . . . . . . 14.4.2 Klasifikácia do dvoch tried . . . . . . . . . . 14.4.3 Určenie váh . . . . . . . . . . . . . . . . . . . 14.4.4 Vol’ba účelovej funkcie . . . . . . . . . . . . 14.4.5 Klasifikácia do K tried . . . . . . . . . . . . . 14.5 Mechanizmy podporných vektorov . . . . . . . . . . 14.5.1 Neseparovatel’né dáta . . . . . . . . . . . . . 14.6 Neurónové siete . . . . . . . . . . . . . . . . . . . . . 14.6.1 Aktivačné funkcie . . . . . . . . . . . . . . . 14.6.2 Viacvrstvový perceptrón . . . . . . . . . . . . 14.6.3 Učenie neurónovej siete . . . . . . . . . . . . 14.6.4 Rýchlost’ učenia sa neurónovej siete . . . . 14.6.5 Ukončenie učenia sa neurónovej siete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 192 193 194 195 196 199 200 201 203 203 203 204 205 207 209 210 215 218 219 220 221 224 226 15 Neriadené klasifikátory 15.1 Metóda K priemerov . . . . 15.1.1 Metóda C priemerov 15.2 Hierarchické zhlukovanie . 15.3 Samoorganizujúce sa mapy . . . . . . . . . . . . . . . . 228 228 230 231 233 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Hodnotenie kvality klasifikácie 238 16.1 Vzájomná validácia . . . . . . . . . . . . . . . . . . . . . . . 240 16.1.1 Náhodné prevzorkovanie . . . . . . . . . . . . . . . 240 vi Obsah 16.1.2 K-násobná vzájomná validácia . . . . . . . . . . . 16.1.3 Vrstvená K-násobná vzájomná validácia . . . . . 16.1.4 Vzájomná validácia s vynechaním jednej vzorky 16.2 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3 Chybová funkcia klasifikátora . . . . . . . . . . . . . . . . 16.4 Metódy porovnávania klasifikátorov . . . . . . . . . . . . 16.4.1 Matica zámen . . . . . . . . . . . . . . . . . . . . . 16.4.2 Koeficienty kvality klasifikácie . . . . . . . . . . . 16.4.3 ROC krivky . . . . . . . . . . . . . . . . . . . . . . 16.4.4 McNemarov test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zoznam použitej literatúry 240 241 241 241 242 244 244 245 247 252 254 IV Farba a vizuálne vnímanie 17 Svetlo a farba 17.1 Veličiny opisujúce svetlo . . . . 17.1.1 Rádiometrické veličiny 17.1.2 Fotometrické veličiny . 17.2 Funkcie spektrálnej hustoty . . 17.3 Geometrické vlastnosti svetla . 17.4 Žiarenie čierneho telesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 260 261 262 263 263 265 18 L’udský vizuálny systém 18.1 Štruktúra oka . . . . . . . . . . . . . . . . . . 18.2 Procesy prebiehajúce na sietnici . . . . . . 18.2.1 Trichromatické procesy . . . . . . . 18.2.2 Oponentné procesy v sietnici . . . . 18.2.3 Gangliové bunky a receptívne polia 18.3 Vizuálny kortex . . . . . . . . . . . . . . . . . 18.4 Poruchy farbocitu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 269 271 271 272 274 275 276 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Kolorimetria 19.1 Grassmanov experiment . . . . . . . . . . . . . . . . . . . . 19.2 Grassmanov zákon aditívneho miešania farieb . . . . . . . 19.3 Kolorimetrický priestor . . . . . . . . . . . . . . . . . . . . . 19.4 Štandardný kolorimetrický pozorovatel’ . . . . . . . . . . . 19.4.1 CIE 1931 štandardný kolorimetrický pozorovatel’ . 19.4.2 CIE 1964 doplnkový štandardný kolorimetrický pozorovatel’ . . . . . . . . . . . . . . . . . . . . . . . . 278 279 280 280 285 285 286 vii O BSAH 19.5 19.6 19.7 19.8 viii Kolorimetrická sústava CIE XYZ . CIE diagram chromatickosti . . . MacAdamove elipsy . . . . . . . . Štandardné iluminanty . . . . . . 19.8.1 Štandardné zdroje svetla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 289 293 294 296 20 Modely a priestory farieb 20.1 Homogénne priestory farieb . . . . . . . . . 20.1.1 CIE 1960 Yuv . . . . . . . . . . . . . 20.1.2 CIE 1964 U*V*W* . . . . . . . . . . . 20.1.3 CIE 1976 Yu’v’ . . . . . . . . . . . . . 20.1.4 CIE 1976 L*u*v* . . . . . . . . . . . . 20.1.5 CIE 1976 L*a*b* . . . . . . . . . . . . 20.1.6 CIE CAM02 . . . . . . . . . . . . . . 20.2 Hardvérovo orientované modely . . . . . . 20.2.1 Lineárny model RGB . . . . . . . . . 20.2.2 Model RGBA . . . . . . . . . . . . . . 20.2.3 Nelineárne priestory RGB . . . . . . 20.2.4 Model CMY . . . . . . . . . . . . . . 20.2.5 Model CMYK . . . . . . . . . . . . . 20.3 Modely farieb v televíznej a videotechnike . 20.3.1 Model YIQ . . . . . . . . . . . . . . . 20.3.2 Model YUV . . . . . . . . . . . . . . 20.3.3 Model YPbPr . . . . . . . . . . . . . 20.3.4 Model YCbCr . . . . . . . . . . . . . 20.3.5 Model Kodak Photo YCC . . . . . . 20.4 Používatel’sky orientované modely . . . . . 20.4.1 Model HSV . . . . . . . . . . . . . . 20.4.2 Model HSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 298 299 299 300 300 302 304 304 305 306 306 308 310 311 313 314 315 316 317 319 320 324 21 Vizuálne vnímanie a pozornost’ 21.1 Vizuálna pozornost’ . . . . . . . . . . . . . . . . . . 21.2 Určovanie významných oblastí v obraze . . . . . . 21.2.1 Sledovanie pohybu očí . . . . . . . . . . . . 21.2.2 Modely na detekciu významných oblastí . 21.2.3 Model pre rýchlu analýzu scény . . . . . . 21.3 Využitie detekcie významných oblastí v obraze . . 21.3.1 Hl’adanie najlepších pohl’adov na objekty 21.3.2 Kompresia obrazu . . . . . . . . . . . . . . 21.4 Príklad využitia: Hodnotenie kvality videa . . . . . 21.4.1 Detekcia významných oblastí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 327 329 330 334 339 344 344 344 345 345 Obsah 21.4.2 Hodnotenie kvality videa . . . . . . . . . . . . . . . 346 Zoznam použitej literatúry 348 V Dodatky A Vybrané témy z pravdepodobnosti A.1 Pravdepodobnost’ . . . . . . . . . . . . . . . . . . . . . . . . A.1.1 Nezávislost’ javov, podmienená pravdepodobnost’ A.2 Náhodná premenná . . . . . . . . . . . . . . . . . . . . . . . A.3 Číselné charakteristiky náhodnej premennej . . . . . . . . A.3.1 Momenty . . . . . . . . . . . . . . . . . . . . . . . . A.3.2 Kvantily . . . . . . . . . . . . . . . . . . . . . . . . . A.3.3 Modus . . . . . . . . . . . . . . . . . . . . . . . . . . A.4 Náhodné vektory . . . . . . . . . . . . . . . . . . . . . . . . A.4.1 Marginálne rozdelenie pravdepodobnosti . . . . . A.5 Číselné charakteristiky náhodného vektora . . . . . . . . . A.5.1 Združené momenty . . . . . . . . . . . . . . . . . . A.5.2 Marginálne charakteristiky . . . . . . . . . . . . . . A.5.3 Kovariancia . . . . . . . . . . . . . . . . . . . . . . . A.6 Normálne rozdelenie . . . . . . . . . . . . . . . . . . . . . . A.6.1 Viacrozmerné normálne rozdelenie . . . . . . . . . 354 354 356 358 359 360 362 363 363 364 364 364 365 366 367 367 B Vybrané témy z maticového počtu B.1 Singulárny rozklad matice . . . . . . . . . . . . . . . . . . . B.1.1 Úsporná forma SVD . . . . . . . . . . . . . . . . . . B.1.2 Vlastnosti SVD . . . . . . . . . . . . . . . . . . . . . 370 370 371 371 C Vybrané kapitoly z lineárnej algebry C.1 Vektorový priestor (Lineárny priestor) C.2 Lineárna kombinácia vektorov . . . . C.3 Lineárna transformácia . . . . . . . . . C.4 Báza vektorového priestoru . . . . . . 374 374 375 375 375 Zoznam použitej literatúry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 ix Predslov Vizuálna detekcia a rozpoznávanie objektov patrí v poslednom desat’ročí medzi najväčšie výzvy počítačového videnia. Potenciálne uplatnenie systémov detekcie a rozpoznávania objektov je vel’mi široké, od bezpečnostných systémov (napr. identifikácia oprávnených osôb), cez medicínske techniky (napr. detekcia tumorov), priemyselné aplikácie (napr. vizuálna inšpekcia výrobkov), robotiku (napr. navigácia robota v nedostupnom teréne) až po rozšírenú realitu a mnohé d’alšie. Úloha automaticky vyhl’adat’ objekt sa spravidla formuluje ako úloha segmentácie objektu, prípadne iba ako detekcia opísaného štvoruholníka, alebo ako rozpoznanie samotného objektu. Obrázok 0.1: * Detekcia objektu bez segmentácie Obrázok 0.2: * Detekcia objektu so segmentáciou x Obrázok 0.3: * Rozpoznanie objektu v obraze Predslov K úlohe detekcie môžeme pristupovat’ na rôznych stupňoch zovšeobecnenia. Bud’ rozpoznávame konkrétne inštancie jednotlivých objektov, alebo celú kategóriu objektov. Vizuálna detekcia a rozpoznávanie objektov je vel’mi komplexný problém. Musí sa zaoberat’ mnohými aspektmi, ktoré riešenie rozhodne neul’ahčujú. Príkladom sú: • nehomogénne a premenlivé osvetlenie scény, • meniace sa spektrálne charakteristiky osvetlenia a následne i farba snímaného objektu, • objekty, ktoré sa prekrývajú, • rôzne uhly snímania objektov kamerou, • v prípade rozpoznávania kategórií je samozrejme vel’kou výzvou i rôznorodost’ objektov v rámci jednej kategórie. Základný ret’azec operácií systému detekcie rozpoznávania môžeme znázornit’ nasledovne: Základné členenie tejto knihy korešponduje s týmto ret’azcom. Navyše bude čitatel’ oboznámený s problematikou farby a l’udského vnímania vizuálnej informácie, ktoré sú vel’mi dôležité pre riešenie detekcie a rozpoznávania objektov a zároveň majú presahy do iných významných odborov, ako sú počítačová grafika alebo interakcia človeka s počítačom. Na vstupe uvedeného ret’azca je digitálna kamera, z ktorej získame signál obrazu, či už farebný alebo čiernobiely. Úlohou predspracovania obrazu je odstránenie nežiaducich a pre d’alšie spracovanie rušivých javov ako sú napr. šum v signáli, zvýraznenie informácie (napr. kontúr objektov), ktorá je relevantná a naopak potlačenie informácie, ktorá nie je relevantná z pohl’adu danej úlohy. Dobrým príkladom je filtrácia pre odstránenie šumu, hornopriepustná filtrácia pre odstránenie nehomogenity osvetlenia, prevod do iných farebných priestorov alebo morfologické spracovanie. Ciel’om d’alšieho stupňa spracovania je získanie príznakov, ktoré budú dobre reprezentovat’ obrazovú informáciu dostatočne reprezentatívnym a diskriminatívnym spôsobom. Ak je našou úlohou napríklad detekcia l’udskej tváre v obraze, celý obraz budeme postupne prechádzat’ tzv. kĺzavým oknom a v každej jeho xi P REDSLOV pozícii bude úlohou klasifikátora rozhodnút’ medzi dvoma triedami – je alebo nie je tvár v tej časti obrazu, ktorú práve vyšetruje? Vstupom pre klasifikátor je práve vektor príznakov, na základe ktorého môže klasifikátor rozhodnút’. V procese návrhu môžeme vygenerovat’ vektor príznakov podstatne väčší, než ktorý bude použitý vo výslednom klasifikátore. Vhodné (relevantné) príznaky určíme metódami selekcie príznakov. V d’alšom rozhodovacom stupni klasifikátor na základe vektora príznakov rozhodne o príslušnosti k triede. Každý systém vizuálneho rozpoznávania objektov musí byt’ najskôr naučený na úlohu, pre ktorú je určený. Definovanie rozhodovacej úlohy pomocou súboru deterministických podmienok sa používa skôr zriedkavo. Príkladom môžu byt’ niektoré systémy priemyselnej inšpekcie, kde v reprodukovatel’ných podmienkach systém vyhodnotí namerané veličiny, napr. rozmery objektu. Záujem vedcov a výskumníkov sa však koncentruje predovšetkým na metódy na princípe umelej inteligencie. Metódy detekcie a rozpoznávania objektov môžeme podl’a základného prístupu k riešeniu rozdelit’ na: • metódy založené na globálnom opise, • metódy založené na lokálnych príznakoch. Väčšina metód založených na globálnom opise používa metódu kĺzavého okna, ktoré vyberie určitý región obrazu a tento je vyhodnotený porovnávaním s danými vzorovými reprezentáciami objektov. Tento prístup sa úspešne používa napr. pri detekcii tváre podl’a autorov Viola Jones. Principiálne však má niekol’ko nedostatkov, napr. škálovú a rotačnú nezávislost’ dosahujeme porovnávaním s otočeným vzorom v rôznej škále, čo je výpočtovo náročné. Prípadné prekryvy objektov alebo zmena tvaru nerigidných objektov vel’mi znižujú pravdepodobnost’ správnej detekcie. Druhou alternatívou je využitie lokálnych príznakov. Tieto metódy pracujú smerom zdola nahor, od opisu pomerne malého okolia mnohých kl’účových bodov až po rozhodnutie, či tieto určité zostavy lokálnych deskriptorov patria k detegovanému objektu. Najjednoduchší postup pozostáva z troch základných krokov: 1. Extrakcia lokálnych príznakov. Lokálne príznaky sa počítajú v okolí detegovaných kl’účových bodov a to nezávisle najskôr na vzorovom obraze objektu a potom v obraze, ktorý vyšetrujeme. 2. Porovnanie lokálnych príznakov tak, aby sa našli korešpondencie podobných. 3. Overenie, či spárované príznaky sa nachádzajú v konzistentnej geometrickej konfigurácii. xii Predslov Obrázok 0.4: * Príklad párovania lokálnych príznakov Vel’mi perspektívne (v tomto vydaní knihy zatial’ bez podrobnejšieho opisu) sa javia metódy nazývané ako „vrecia príznakov“. Základná myšlienka sa dá vyjadrit’ nasledovne. Najskôr sa vygeneruje kódová kniha nazývaná vizuálny slovník. S jednotlivými inštanciami lokálnych príznakov sa d’alej pracuje na základe indexu v kódovej knihe (tzv. vizuálne slovo), ku ktorému patria. Uplatňujú sa metódy tvorby histogramov podl’a príslušnosti jednotlivých príznakov k vizuálnym slovám, metódy prieniku týchto histogramov alebo spätného indexovania. Tieto metódy sú vel’mi sl’ubné hlavne pre úlohy vyhl’adávania objektov vo vel’kých databázach. Ciel’om tejto vedeckej monografie je zoznámit’ čitatel’a s teóriou vizuálnej detekcie a rozpoznávania objektov a uviest’ príklady moderných aplikácií, v ktorých je táto teória využívaná. Členenie knihy je nasledovné. Prvá kapitola sa zaoberá obrazom, jeho snímaním a prechodom od analógového signálu k digitálnemu. Ďalej nasleduje čast’ Predspracovanie obrazu, kde sa čitatel’ dozvie princípy filtrácie vo frekvenčnej oblasti, v priestorovej oblasti a morfologického spracovania obrazu spolu s príkladmi použitia týchto metód. V časti nazvanej Príznaky sú predstavené početné spôsoby výpočtu globálnych príznakov reprezentujúcich tvar objektu, farbu, textúru ako i lokálne príznaky. Vhodným príkladom využitia globálnych a lokálnych príznakov je klasifikácia malieb na fotografiách. Posledná kapitola tejto časti sa zaoberá metódami vhodného výberu príznakov. V časti Klasifikácia sú opísané najvýznamnejšie klasifikačné metódy rozdelené podl’a toho, či sú riadené (s učitel’om) alebo neriadené (bez učitel’a). Samostatnou kapitolou sú spôsoby hodnotenia kvality klasifikácie. Posledná čast’ monografie sa nazýva Farba a vizuálne vnímanie. Opisuje základné fyzikálne a biologické pojmy používané v počítačovom vixiii P REDSLOV dení, metódy kolorimetrie a modely rôznych farebných priestorov. Kapitola o vizuálnej „výraznosti“ (saliency) v obraze a sledovaní pozornosti pozorovatel’a uzatvára túto čast’. Príkladom súčasného využitia výraznosti je hl’adanie najlepších pohl’adov na objekty alebo detekcia oblasti záujmu pre zlepšenie kódovania obrazu a videa. V doplnku čitatel’ nájde prehl’ad vybraných tém z matematiky, ktoré sú nutné pre pochopenie teoretických častí knihy. Pod’akovanie Autorky by rady pod’akovali kolegom a priatel’om, ktorí pomohli pri realizácii tejto knihy. Obálku navrhol pán Spyridon Giochalas. Fotografie poskytli Dr. Barbora Benešová, Mgr. Peter Berger, Dr. Martina Bátorová a autorky. Obrázky kreslili Dr. Ivana Varhaníková, Spyridon Giochalas a autorky. S korektúrou textu pomohol doc. Andrej Ferko, a vylepšeniami prispeli recenzenti prof. Ivan Bajla, ÚMER SAV, Bratislava, prof. Jaroslav Polec, ÚT FEI STU, Bratislava a doc. Jarmila Pavlovičová, ÚT FEI STU, Bratislava. Pod’akovanie patrí aj agentúre KEGA, ktorá finančnou podporou projektu 068UK-4/2011 umožnila vydanie publikácie. xiv Č AS Ť I P REDSPRACOVANIE OBRAZU K APITOLA 1 Spracovanie obrazu vo frekvenčnej oblasti Najskôr odporúčame čitatel’ovi pripomenút’ si kapitoly z lineárnej algebry, ktoré sú potrebné pre spracovanie obrazového signálu vo frekvenčnej oblasti. Na pomoc uvádzame v dodatku C najdôležitejšie základné pojmy a definície. Vektorový priestor – Lineárny priestor (vid’ C.1), Lineárna kombinácia (vid’ C.2), Lineárna transformácia (vid’ C.3) a Báza vektorového priestoru (vid’ C.4). Teoretické základy spracovania vo frekvenčnej oblasti budú v d’alšom výklade najskôr objasnené pre 1-dimenzionálny signál a vysvetlená teória bude d’alej rozšírená na obrazový, čiže 2-dimenzionálny signál. 1.1 Načo slúžia diskrétne lineárne transformácie? Fourierova transformácia je jedným z najdôležitejších matematických nástrojov používaných pri spracovaní signálov. Popri Diskrétnej Fourierovej transformácii (DFT) našla významné uplatnenie v technickej praxi i Diskrétna kosínusová Transformácia (DCT). DFT a DCT sú spolu s vlnkovou transformáciou (Wavelet transform) najpoužívanejšie pri filtrácii obrazu. DFT a DCT patria medzi lineárne transformácie, ktoré nám umožňujú reprezentovat’ číslicový vstupný signál ako lineárnu kombináciu diskrétnych bázových funkcií (vid’ C.2 a C.4). Lineárne transformácie DFT a DCT teda umožňujú vzájomne jednoznačný prevod signálu (priamo i spätne) medzi reprezentáciou signálu v časovej/priestorovej doméne a frekvenčnej doméne. 2 1.1. Načo slúžia diskrétne lineárne transformácie? Obidve transformácie patria do rodiny tzv. goniometrických transformácií. 1.1.1 Príklad Pre ilustráciu si najskôr ukážeme jednoduchý príklad. Obrázok 1.1: Príklad spektrálnej analýzy sínusového signálu. Na obrázku 1.1 hore je znázornený číslicový vstupný signál, ktorý je generovaný ako jednoduchý sínusový signál. Spektrum je počítané z časového okienka ktoré zodpovedá piatim periódam sínusového signálu. Hodnoty signálu boli nadôvažok ešte zmenené pripočítaním kladnej konštanty, dôsledkom čoho má tento vstupný signál nenulovú strednú hodnotu. Obrázok 1.1 dole ilustruje výstup frekvenčnej analýzy tohoto signálu, konkrétne po transformovaní do frekvenčnej oblasti prostredníctvom diskrétnej Fourierovej transformácie. Vl’avo dole je magnitúdové spektrum a vpravo dole je fázové spektrum. Očakávame, že magnitúdové spektrum bude mat’ nenulový nultý koeficient, pretože vstupný signál má nenulovú strednú hodnotu. (Nultý koeficient je nazývaný tiež ako jednosmerná zložka, tzv. DC komponent.) Očakávame tiež, že v spektre uvidíme 3 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI jednu výraznú spektrálnu hodnotu, ktorá zodpovedá frekvencii vstupného sínusového signálu. Na obrázku 1.1 dole vidíme, že vypočítané magnitúdové spektrum je symetrické okolo koeficientu s indexom nula v strede spektra. Spektrálny koeficient s indexom nula reprezentuje jednosmernú zložku signálu, teda v našom prípade strednú hodnotu signálu. Podl’a očakávania je nenulový. V spektre tiež vidíme nenulový 5. spektrálny koeficient symetricky rozložený do dvoch častí magnitúdového spektra, ktorý indikuje frekvenciu vstupného sínusového signálu. Poznámka: Fourierovské magnitúdové spektrum je pre reálne signály vždy symetrické . 1.1.2 Použitie V technickej praxi je výpočet spektra vel’mi významný nástroj, pretože umožňuje analýzu a spracovanie signálu selektívne podl’a jednotlivých frekvencií obsiahnutých v signáli. Výhodne môžeme frekvenčnú analýzu použit’ pre opis a tvorbu príznakov, napr. rôznych textúrových vzorov. Dôležitým príkladom použitia je aj filtrácia obrazu, a to priamo vo frekvenčnej oblasti. Takto môžeme odfiltrovat’ napr. vysokofrekvenčné zložky, alebo naopak odfiltrovat’ nízkofrekvenčné zložky obrazu. Po odfiltrovaní vysokých frekvencií z obrazu zmiznú jemné hrany a obraz bude pôsobit’ rozmazane. Naopak, ak odfiltrujeme nízke frekvencie, tak získame hranový obraz. Samozrejme záleží od konkrétneho návrhu filtra. Vo frekvenčnej oblasti môžeme tiež cielene odstránit’ určitú konkrétnu rušivú zložku obrazu, ktorá má periodický charakter, a ktorú vieme v spektre lokalizovat’. Ďalšou významnou vlastnost’ou je dekorelácia spektrálnych koeficientov. Z tohoto pohl’adu má výborné vlastnosti DCT, čo predurčuje jej použitie pri kompresii dát, napr. v norme JPEG. Transformovaním obrazu pomocou priamej alebo spätnej lineárnej transformácie takpovediac „prepíname“ medzi • priestorovou doménou obrazu (alebo časovou doménou, ak sa jedná o jednodimenzionálne signály meniace sa v čase) a • spektrálnou doménou daného vektorového priestoru, do ktorého transformujeme (napr. Fourierovho). Ak vypočítané hodnoty nemeníme, tak priamym a spätným transformovaním nedochádza k žiadnej strate informácie (až na malé odchýlky spôsobené limitovanou pres4 1.2. Fourierova transformácia nost’ou výpočtu). Spektrum daného signálu teda obsahuje kompletnú informáciu o danom signáli. 1.1.3 Lineárna transformácia obrazu. Diskrétna lineárna transformácia v prípade 1-dimenzionálneho signálu prirad’uje postupnosti hodnôt číslicového signálu postupnost’ spektrálnych koeficientov. Ako už bolo spomenuté, ciel’om diskrétnej Fourierovej transformácie je reprezentácia signálu ako lineárnej kombinácie goniometrických funkcií, ktoré tvoria bázu. Získané súradnice sú vlastne spomínané váhové koeficienty lineárnej kombinácie a v technickej praxi ich nazývame spektrálne koeficienty. Fourierova transformácia je definovaná nad oborom komplexných čísiel a spektrálne koeficienty sú komplexné čísla, pozostávajú z reálnej a imaginárnej zložky. V praxi sa častejšie používa prepočet reálnej a imaginárnej zložky na magnitúdu a fázu komplexného čísla, teda máme spektrum magnitúdové a fázové. 1.2 Fourierova transformácia Ako prvý publikoval francúzsky matematik Jean Baptiste Joseph Fourier v roku 1822 myšlienku, že každú periodickú funkciu je možné vyjadrit’ ako súčet sínusových a kosínusových funkcií o rôznych frekvenciách vynásobených násobnými koeficientami. Význam Fourierovej vety o reprezentácii periodického signálu je prevratný, ked’že každú periodickú funkciu môžeme reprezentovat’ ako Fourierov rad. V centre záujmu nášho d’alšieho výkladu bude predovšetkým Diskrétna Fourierova Transformácia dvoch premenných pre spracovanie číslicového signálu obrazu a jej praktické využitie. Pre úplnost’ však stručne najskôr uvedieme tiež definíciu Fourierovho radu a definíciu spojitej Fourierovej transformácie. 1.2.1 Fourierov rad Máme periodický signál, ktorý matematicky môžeme zapísat’ ako funkciu f (x) s periódou T > 0. Túto periodickú funkciu môžeme interpretovat’ ako jej rozvoj na nekonečný rad sínusových a kosínusových funkcií. 5 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Na intervale [−π, π] je Fourierov rad funkcie f (x) potom definovaný ako f (x) = a0 + ∞ (an cos(nx) + b n sin(nx)). (1.1) k=1 Fourierov rad môžeme teda rozpísat’ na jednotlivé členy nasledovne. f (x) = a0 + a1 cos(x) + b 1 sin(x) + a2 cos(2x) + b 2 sin(2x) + .... (1.2) Intuitívne si môžeme predstavit’, že akýkol’vek spojitý periodický signál aproximujeme váhovaným súčtom spojitých sínusových a kosínusových funkcií s rôznou uhlovou frekvenciou. Nasledujúci obrázok 1.2 ilustruje prvých 18 týchto funkcií na intervale [−π, π]. Obrázok 1.2: Ukážka kosínusových C0-C17 a sínusových funkcií S0-S17 s rôznou uhlovou frekvenciou. Ak by sme použili iba kosínusové funkcie, tak by sme mohli aproximovat’ iba párne funkcie. (Párne funkcie sú funkcie, pre ktoré platí f (−x) = f (x) na intervale [−π, π], teda sú symetrické okolo y-novej osi podobne ako funkcia kosínus). Podobne, ak by sme použili iba sínusové funkcie, tak by sme mohliaproximovat’ iba nepárne funkcie. (Nepárne funkcie sú funkcie, pre ktoré platí, že: f (−x) = − f (x) na intervale [−π, π], teda sú symetrické okolo nuly podobne ako sínus.) Pre aproximáciu l’ubovol’ného periodického signálu Fourierovym radom teda potrebujeme kombináciu sínusových aj kosínusových funkcií. Príklad. Obrázok 1.3 ilustruje aproximáciu zvolenej funkcie Fourierovym radom. Konkrétne sme zvolili obdĺžnikovú funkciu (na obr. znázornená červenou). Pre názornost’ sú zobrazené iba prvé tri postupné aproximácie pomocou Fourierovho radu. Každá d’alšia postupná aproximácia 6 1.2. Fourierova transformácia by d’alej zmenšila rozdiel medzi obdĺžnikovou funkciou a jej aproximáciu, v limitnom prípade sa chyba aproximácie bude blížit’ k nule a počet sínusových funkcií aproximácie sa bude blížit’ nekonečnu. Pretože naša obĺžniková funkcia je nepárna, uplatia sa iba sínusové zložky, kosínusové členy majú nulové váhovacie koeficienty. Obrázok 1.3: Aproximácia obdĺžnikovej funkcie f(x) ako Fourierovho radu, čiastočné súčty 1., 3., a 5. člena. Harmonická analýza. Rozklad periodického signálu na Fourierov rad sa často nazýva aj harmonická analýza. Takéto označenie sa často používa v technickej praxi. Terminológia, ktorú potom používame je nasledovná: nultý koeficiet nazývame nultou harmonickou. Je to priemerná hodnota signálu, oznčujeme ju tiež z angličtiny ako DC komponent. Prvý koeficient je základná frekvencia signálu. Ďalšie koeficienty prislúchajú násobným frekvenciám základnej frekvencie a nazývame ich druhá harmonická, tretia harmonická . . . f (x) = a0 + a1 cos(x) + b 1 sin(x) + a2 cos(x) + b 2 sin(x) + DC základná harmonická 2. harmonická + a3 cos(x) + b 3 sin(x) . . . 3. harmonická (1.3) 1.2.2 Spojitá Fourierova transformácia Spojitá Fourierova transformácia v porovnaní s Fourierovým radom (vid’ 1.2.1) rozširuje možnost’ reprezentácie periodických signálov aj na neperiodické signály spojité v čase, avšak za podmienky, že obsah plochy (v absolútnej hodnote) pod grafom funkcie je konečný ∞ | f (x) | dx < ∞. (1.4) −∞ 7 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Definícia spojitej Fourierovej transformácie. Fourierovou transformáciou spojitej funkcie f (x) jednej premennej nazveme funkciu F (u), ktorá je definovaná vzt’ahom F (u) = ∞ −∞ f (x)e − j 2πux dx, (1.5) inverzná spojitá Fourierova transformácia je potom definovaná ako f (x) = ∞ −∞ F (u)e j 2πux du, kde j= (1.6) −1, e j θ = cos θ + j sin θ, a d’alej platí, že 2π f = ω, kde ω je uhlová frekvencia v radiánoch [rad] a f je frekvencia v [Hz]. 1.2.3 Dvojdimenzionálna Fourierova transformácia Nech f (x, y) je spojitá integrovatelná funkcia, a nech F (u, v) je integrovatel’ná. Potom pre výpočet spojitej dvojdimenzionálnej Fourierovej transformácie platí F (u, v) = ∞ ∞ −∞ −∞ f (x, y)e − j 2π(ux+v y ) dxdy, (1.7) a pre výpočet spätnej dvojdimenzionálnej Fourierovej transformácie platí vzt’ah f (x, y) = ∞ ∞ −∞ −∞ F (u, v)e j 2π(ux+v y ) dudv, kde j= (1.8) −1, e j θ = cos θ + j sin θ. Ako už bolo spomenuté, F (u, v) je z oboru komplexných čísiel a pre interpretáciu je výhodné použit’ nasledovný zápis. F (u) = |F (u)| e iϕ(u) , 8 (1.9) 1.2. Fourierova transformácia kde magnitúdové spektrum počítame s použitím vzt’ahu |F (u)| = R 2 (u) + I 2 (u) 1 2 , a fázové spektrum počítame podl’a nasledovného vzt’ahu ϕ(u) = arctan I (u) . R(u) 1.2.4 Vlastnosti Fourierovej transformácie V tomto odstavci si stručne, bez dôkazov, uvedieme najdôležitejšie vlastnosti Fourierovej transformácie: Linearita. Fourierova transformácia patrí medzi lineárne transformácie, linearita je jej základná vlastnost’. Majme transformačný pár: funkciu f 1 (t ) a k nej príslušné spektrum F 1 (u). Ďalej majme druhý transformačný pár: funkciu f 2 (t ) a k nej príslušné spektrum F 2 (u). Takéto páry budeme označovat’ ako: f 1 (t ) ⇐⇒ F 1 (u), f 2 (t ) ⇐⇒ F 2 (u). Ďalej sú dané konštanty K 1 a K 2 . Potom platí, že K 1 f 1 (t ) + K 2 f 2 (t ) ⇐⇒ K 1 F 1 (u) + K 2 F 2 (u). (1.10) Veta o posunutí v čase. V anglickej literatúre ju nájdeme pod názvom time shifting. Majme transformačný pár: funkciu f (t ) a k nej príslušné spektrum F (u). Ked’ signál f (t ) posunieme v čase o t0 , tak pre jeho spektrum platí f (t − t0 ) ⇐⇒ e − j 2πuT0 F (u). (1.11) Na strane spektra po posunutí signálu v čase pribudol multiplikatívny člen, spektrum bude vynásobené komplexnou jednotkou e − j 2πuT0 . Magnitúdové spektrum posunutého signálu zostáva teda nezmenené, zmení sa len fázové spektrum. 9 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Veta o podobnosti. Nazývaná je tiež ako veta o zmene mierky času (time scaling). Majme transformačný pár: funkciu f (t ), k nej príslušné spektrum F (u) a konštantu a. Potom platí veta f (at ) ⇐⇒ 1 F (u/a). |a| (1.12) „Roztiahnutie“ signálu v časovej osi sa prejaví ako „zúženie“ signálu jeho spektra, čo je ilustrované na obrázku 1.4 1 0.035 0.03 0.8 0.025 0.6 0.02 0.4 0.015 0.01 0.2 0.005 0 0 −0.2 −0.005 −0.01 −6 −4 −2 0 2 4 6 −0.4 −6 −4 −2 0 2 4 6 −40 −20 0 20 40 60 −200 −100 0 100 200 300 −3 3.5 x 10 1 3 0.8 2.5 0.6 2 0.4 1.5 1 0.2 0.5 0 0 −0.2 −0.5 −1 −60 −40 −20 0 20 40 60 −0.4 −60 −4 8 x 10 1 7 0.8 6 0.6 5 4 0.4 3 0.2 2 1 0 0 −0.2 −1 −2 −300 −200 −100 0 100 200 300 −0.4 −300 Obrázok 1.4: Ilustrácia vety o podobnosti. Na x-ovej osi je premenná x pre vstupný signál resp. premenná u pre spektrum. Na y-novej osi je amplitúda signálu resp. spektra. 10 1.2. Fourierova transformácia Veta o symetrii. Vyjadruje dualitu signálu a jeho spektrálneho obrazu. Majme transformačný pár: funkciu f (t ) a k nej príslušné spektrum F (u). Potom platí f (t ) ⇐⇒ F (−u). (1.13) Parsevalova teoréma. Parsevalova teoréma hovorí, že energia vstupného signálu f (t ) a energia jeho spektra F (u) sa rovnajú ∞ ∞ | f (t )|2 dt = |F (u)|2 du. (1.14) −∞ −∞ Vybrané transformačné páry funkcií. Niektoré funkcie majú špeciálny význam pre prax, preto si uvedieme tie najdôležitejšie. Transformačný pár funkcií sinc(t ) ⇐⇒ obdĺžniková funkcia. me funkciu sinc(t ) nasledovne sinc(t ) = 1 t =0 sin(t )/t t > 0. Definuj- (1.15) Spektrum funkcie sinc(t ) bude obdĺžniková funkcia F(u), ako ilustruje obrázok 1.5. Obrázok 1.5: Funkcia sinc(t) a jej reálne spektrum. Obrázok 1.6: Obdĺžniková funkcia a jej reálne spektrum. Tieto dva páry funkcií a ich spektier sú vel’mi dôležité pre objasnenie niektorých javov pri filtrácii obrazu, napr. pri filtrácii tzv. idálnym filtrom 11 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI opísaným v kapitole 1.6. Dôležité je tiež poznamenat’, že funkcia sinc( ) je definovaná pre definičný obor [−∞, ∞], a teda nie je fyzikálne realizovatel’ná. Gaussova funkcia. Pre Gaussovu funkciu definovanú ako 2 f (t ) = e −a t , (1.16) môžeme vypočítat’ prostredníctvom Fourierovej transformácie jej Fourierov obraz. π (−π2 u 2 /a) F (u) = e . (1.17) a Transformačný pár Gaussovej funkcie je ilustrovaný na nasledujúcom obrázku 1.7. Obrázok 1.7: Gaussova funkcia a jej reálne spektrum. Fourierovým spektrálnym obrazom Gaussovej funkcie je teda znovu Gaussova funkcia, pričom samozrejme platí veta o podobnosti. „Širšej“ Gaussovej funkcii ako vstupný signál zodpovedá „užšia“ Gaussova funkcia v spektrálnej oblasti. 1.2.5 Diskrétna Fourierova transformácia (DFT) Ekvivalentom spojitej Fourierovej transformácie pre spojié signály je Diskrétna Fourierova transformácia (DFT) pre diskrétne signály. Diskrétna Fourierova transformácia (DFT) je na rozdiel od spojitej Fourierovej transformácie definovaná iba pre periodické signály. Prechod od spojitej k diskrétnej Fourierovej transformácii si matematicky môžeme odvodit’ ak budeme predpokladat’, že určitý úsek signálu x(t) signálu bol vzorkovaním prevedený na diskrétny a tento navzorkovaný úsek sa bude periodicky opakovat’. 12 1.2. Fourierova transformácia Priama transformácia DFT. F (u) = DFT je matematicky vyjadrená vzt’ahom 1 N−1 f (n)e − j 2πun/N , N n=0 (1.18) pre u = 0, 1, 2, ..., N − 1. Spätná transformácia IDFT. sledovne. f (n) = Inverzná (spätná) IDFT je definovaná naN−1 F (u)e j 2πun/N , (1.19) u=0 pre n = 0, 1, 2, ..., N − 1. 1.2.6 DFT ako špeciálny prípad lineárnej transformácie Postupnost’ vzoriek signálu F s(n) pre n = 0, 1...N − 1, ktorú získame digitalizáciou 1D signálu na konečnom intervale s počtom vzoriek N , si môžeme predstavit’ ako jeden vektor v N -rozmernom vektorovom priestore. Princíp lineárnej transformácie môžeme vysvetlit’ nasledovne. • Diskrétny signál F s(n) pre n = 0, 1...N −1, získaný digitalizáciou 1D signálu na konečnom intervale s počtom vzoriek N , môžeme reprezentovat’ ako jeden vektor v N -rozmernom komplexnom priestore CN (vid’ dodatok C.1) s ortonormálnou bázou Φ0 (vid’ dodatok C.4). (U reálnych signálov je imaginárna zložka signálu automaticky nulová.) F s(n) ∈ CN . (1.20) • Pomocou lineárnej transformácie (napr. Fourierovej) (vid’ dodatok C.3) môžeme súradnice každého vektora z N -rozmerného vektorového priestoru V1 s ortonormálnou bázou Φ0 transformovat’ do iných súradníc v N -rozmernom priestore V2 s novou bázou Φ (vid’ dodatok C.4). V našom prípade V 1 = V 2 = CN . • Spätne môžeme vyjadrit’ pôvodný číslicový signál ako sumu N vážených bázových funkcií bázy Φ (až na násobnú konštantu). • Tieto váhové koeficienty sú komlexné spektrálne koeficienty získané výpočtom danej lineárnej transformácie. 13 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Obrázok 1.8: Ilustratívny príklad bázových funkcií Φ0 a Φ. Diskrétne Fourierove bázové funkcie. Pre názornost’ si vizualizujeme 16 kosínusových a 16 sínusových diskrétnych Fourierových bázových funkcií pre N = 15. Definované sú ako súbor sínusových a kosínusových diskrétnych funkcií s rôznou uhlovou frekvenciou (vid’ def. v časti 1.2.5). Obrázok 1.9: Vizualizácia 16 bázových funkcií DFT. Vl’avo sú kosínusové funkcie, ktoré tvoria reálnu čast’ bázových vektorov, vpravo sú sínusové funkcie, ktoré tvoria imaginárnu čast’ bázových vektorov. 14 1.3. Výpočet diskrétnej Fourierovej transformácie 1.2.7 Dvojrozmerná DFT Ked’že v centre nášho záujmu je spracovanie digitálneho obrazu, ktorý je z pohl’adu spracovania signálu diskrétny dvojdimenzionálny signál, tak potrebujeme definovat’ dvojrozmernú DFT (označovaná tiež ako 2D DFT). Základnú definíciu 2D DFT môžeme zapísat’ ako F (u, v) = N−1 1 M−1 f (x, y)e − j 2π(ux/M+v y /N) , M N x=0 y =0 (1.21) pre u = 0, 1, 2, ..., M − 1, v = 0, 1, 2, ..., N − 1. Príslušnú inverznú 2D IDFT definujeme ako f (x, y) = M−1 N−1 F (u, v)e j 2π(ux/M+v y /N) , (1.22) u=0 v=0 pre x = 0, 1, 2, ..., M − 1, y = 0, 1, 2, ..., N − 1, kde • u, v sú súradnice vo frekvenčnej doméne (spektre), • x, y sú priestorové súradnice v obraze. 1.3 Výpočet diskrétnej Fourierovej transformácie Pre výpočet DFT máme viaceré možnosti. Uvedieme tie najdôležitejšie. 1.3.1 Výpočet z definície Najjednoduchší spôsob, ktorý sa nám pre výpočet DFT ponúka, je dosadenie hodnôt vstupného číslicového signálu priamo do definície 1.18 a postupný výpočet jednotlivých spektrálnych koeficientov. Výpočtová zložitost’. Pri vyhodnotení výpočtovej zložitosti môžeme abstrahovat’ od určitého počítača a vyhodnotit’ iba najhorší prípad výpočtovej zložitosti, či už časovej alebo pamät’ovej. Potom používame označenie vel’ké písmeno O. Výpočet DFT z definície má kvadratickú náročnost’ výpočtu O(n 2 ) , čo znamená, že počet krokov algoritmu bude v najhoršom prípade úmerný kvadrátu počtu vzoriek. Takáto kvadratická zložitost’ O(n 2 ) je samozrejme horšia než napr. lineárna zložitost’ O(n) alebo konštantná O(1), ktorá je nezávislá od dĺžky n. 15 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Vzhl’adom ku kvadratickej náročnosti výpočtu O(n 2 ) je výpočet DFT z definície pre aplikácie v rálnom čase prakticky nevhodný. Výpočet DFT z definície používame teda iba výnimočne, prakticky u všetkých softvérových nástrojov nájdeme podporu rýchlejších metód výpočtu. 1.3.2 Výpočet pomocou maticových operácií Vzt’ah 1.18 môžeme s pomocou substitúcie W = e 2π i u/N prepísat’ do maticového tvaru ako ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 1 1 ... 1 F0 f0 1 N−1 ⎜ F ⎟ ⎜1 ⎟ ⎜ f ⎟ W ... W ⎜ 1 ⎟ ⎜ ⎟ ⎜ 1 ⎟ ⎜ F ⎟ ⎜1 ⎟ 2 2N−2 ⎟ ⎜ W . . . W ⎜ 2 ⎟=⎜ ⎟ . ⎜ f2 ⎟ . (1.23) ⎜ . ⎟ ⎜. ⎜ ⎟ ⎟ .. .. ⎜ . ⎟ ⎜. ⎟ ⎜ .. ⎟ ⎝ . ⎠ ⎝. ⎠ ⎝ . ⎠ . . 2 F (N−1) f (N−1) 1 W N−1 . . . W (N−1) W Maticový zápis výpočtu DFT skrátene napíšeme ako F = W.f, (1.24) kde f je stĺpcový vektor vstupného signálu, F je stĺpcový vektor jeho Fourierovho spektra a W je Fourierova transformačná matica. Výpočet pomocou uvedeného maticovéha násobenia má rovnakú výpočtovú náročnost’ ako výpočet z definície: O(n 2 ). Napriek rovnakej teoretickej náročnosti sa dá očakávat’, že skutočný potrebný čas výpočtu môže byt’ kratší, a to v prípade, ked’ sú v použitom softvérovom nástroji už nachystané optimalizované funkcie pre maticové násobenie. Maticový zápis pre výpočet 2D DFT. Výpočet dvojrozmenrnej 2D DFT zapíšeme pomocou maticových operácií nasledovne. F = W.f.WT , (1.25) pričom f je maticová reprezentácia dvojdimenzionálneho signálu, v našom prípade obrazu, WT je transponovaná matica W, W je transformačná matica Fourierovej transformácie. 16 1.3. Výpočet diskrétnej Fourierovej transformácie 1.3.3 Rýchla Fourierova transformácia (FFT) V anglickej literatúre ju nájdeme pod názvom Fast Fourier Transform, skrátene FFT. Dnes existuje značný počet prístupov, ako optimalizovt’ výpočtovú náročnost’ DFT a teda urýchlit’ jej výpočet. Uvedieme pôvodný CooleyovTukeyov algoritmus nazvaný podl’a jeho autorov, publikovaný v roku 1965 [CT65]. Spolu s nástupom špeciálnych čipov pre spracovanie signálu (Digital Signal Processor DSP) v 70. a 80. rokoch 20. storočia priniesol algoritmus FFT hotovú „revolúciu“ v spracovaní signálu a otvoril možnost’ spracovania číslicového signálu v spektrálnej oblasti v reálnom čase. Pokúsime sa vo vel’mi skrátenej forme načrtnút’ iba jeho podstatu a postup výpočtu, podrobný výklad by bol nad rámec tejto knihy. Základný koncept FFT. Základný princíp FFT pre vektory s dĺžkou N s l’ubovol’ným základom (mixed-radix FFT), ktorý predstavili už autori Danielson a Lanczos v roku 1942, je faktorizácia. Ak N môže byt’ rozložené na súčin n f prirodzených čísiel, N = f 1 f 2 ... f N f , (1.26) tak výpočet DFT môže byt’ rozdelený na výpočet viacerých DFT pre každý činitel’ zvlášt’. Presnejšie povedané, výpočet DFT s dĺžkou N môže byt’ rozdelený na (N / f 1 ) výpočtov DFT s dĺžkou f 1 , (N / f 2 ) výpočtov DFT s dĺžkou f 2 , ... (N / f n f ) výpočtov DFTs s dĺžkou f n f . Celkový počet operácií pre tieto suboperácie potom bude: O(N ( f 1 + f 2 + ...+ f n f )). V prípade, že činitele N sú malé celé čísla, tak výpočtová náročnost’ bude podstatne menšia ako O(N 2 ). Príklad. Najskôr začneme s výpočtom DFT s celkovou dĺžkou, ha = N−1 g b WNab , (1.27) b=0 kde WN = exp(−2πi /N ). 17 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Potom rozdelíme túto sumu na párne a nepárne členy podl’a ich pozície vo vektore. ha = N/2−1 b=0 g 2b WNa(2b) + N/2−1 b=0 g 2b+1WNa(2b+1) . (1.28) Týmto konvertujeme DFT s dĺžkou N do dvoch výpočtov DFT s dĺžkou N /2, ha = N/2−1 b=0 ab g 2b W(N/2) + WNa N/2−1 b=0 ab g 2b+1W(N/2) . (1.29) Prvý člen predstavuje výpočet DFT elementov na párnych pozíciách g . Druhý člen predstavuje výpočet prvkov na nepárnych pozíciách g , prednásobený exponenciálnym činitel’om WNk . ab ab DFT(h) = W(N/2) DFT(g pár ne ) + W(N/2) DFT(g nepár ne ). (1.30) Obrázok 1.10: Rozdelenie DFT s dĺžkou N na dve DFT s dĺžkou N/2. Rozdelením DFT na párnu a nepárnu čast’ sme zredukovali počet operácií z N 2 (pre výpočet DFT s dĺžkou N ) na 2(N /2)2 (pre dva výpočty DFT, každý pre vektor s dĺžkou N /2). Môžeme pokračovat’ v takomto rozdel’ovaní d’alej rekurzívne log2 N krát ( tj. postupujeme k DFT o dĺžkach N /4 ,N /8 , ... až je dĺžka = 1), teda až pokial’ celý výpočet DFT nie je zredukovaný na výpočet DFT jedného prvku, čo je operácia s nulovou výpočtovou náročnost’ou. 18 1.3. Výpočet diskrétnej Fourierovej transformácie Výpočtová náročnost’ FFT. Ked’že N je mocninou čísla 2, výpočtová náročnost’ DFT dĺžky N = 2m môže byt’ znížená na mN /2 DFT výpočtov s dĺžkou 2, alebo O(N log 2 N ) operácií. Výpočtová náročnost’ v tomto prípade už nie je kvadratická, ale logaritmická, čiže O(N log2 N ). Motýlikový diagram. počtu FFT. Je základným prvkom signálového diagramu vý- Obrázok 1.11: Motýlikový diagram FFT. Exponenciálne členy WNa sú v anglickej literatúre nazývané tiež ako twiddle factors. Diagram, ktorý znázorňuje výpočet dvoch výstupných prvkov ako kombináciu dvoch vstupných prvkov pomocou sčítania, odčítania a násobenia exponenciálnym členom, sa nazýva motýlikový diagram (vid’ obr. 1.11 ). Je základným prvkom výpočtu FFT. Diagram výpočtu FFT. Nasledujúci diagram (vid’ obr. 1.12) znázorňuje signálový diagram: príklad výpočtu FFT pre N = 16. Výpočet algoritmu prebieha rekurzívne v 4 stupňoch. Obrázok 1.12: Graf výpočtu FFT pre vektor s dĺžkou 8. 19 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Obrázok 1.13: FFT – decimácia vo frekvencii. Obrázok 1.14: FFT – decimácia v čase. Decimácia vo frekvencii a decimácia v čase. V odbornej literatúre nachádzame dva typy algoritmu FFT: decimácia vo frekvencii a decimácia 20 1.3. Výpočet diskrétnej Fourierovej transformácie v čase. Ich zásadný rozdiel je zrejmý z nasledovných znázornených signálových diagramov výpočtu na obrázkoch 1.13 a 1.14. Bitovo invertované poradie prvkov. Poradie prvkov napíšeme ako bitový ret’azec. Jeho bitovo invertované poradové číslo potom získame tak, že tento bitový ret’azec interpretujeme opačným smerom zápisu, čiže odzadu smerom dopredu. V signálovom diagrame FFT je poradie prvkov bitovo invertované, a to na vstupe alebo na výstupe, podl’a toho, či sa jedná o FFT typu decimácia v čase alebo decimácia vo frekvencii. V algoritme decimácie vo frekvencii sú prvky preusporiadané bitovou inverziou na vstupe a v algoritme decimácie v čase sú naopak preusporiadané bitovou inverziou na výstupe. Optimalizácia výpočtu FFT. Algoritmus výpočtu FFT sa nechá paralelizovat’, je vhodný na rýchle hardvérové implementácie na špeciálnych čipoch i na výpočet pomocou grafického procesora GPU. Na záver si pripomeňme, že algoritmus FFT (Cooley–Tukey) je pre vektory s dĺžkou N = 2M . 1.3.4 Doplnenie nulami Metódu doplnenia nulami nájdeme v anglickej literatúre pod názvom zero padding. Používajú sa dva základné prístupy: • doplnenie nulami v spektrálnej oblasti, • doplnenie nulami v priestorovej oblasti. Doplnenie nulami v spektrálnej oblasti môžeme použit’ pre zvýšenie rozlíšenia vstupného obrazu. Novozískané hodnoty sú vlastne interpolované existujúce hodnoty obrazu, neobsahujú novú informáciu. Doplnenie nulami v priestorovej oblasti síce tiež podobne zvýši rozlíšenie, v tomto prípade rozlíšenie v spektrálnej oblasti, ale najčastejší dôvod použitia je ten, že štandartne používané algoritmy výpočtu FFT (napr. algoritmus Cooley–Tukey popísaný v odstavci 1.3.3 ) predpokladajú vstupný obraz, ktorého vel’kost je práve mocnina čísla 2. V prípade, že náš vstupný obraz túto podmienku nespĺňa, čo je v praxi vel’mi pravdepodobné, tak výhodne môžeme použit’ metódu doplnenia nulami. Postupujeme jednoducho. • Vytvoríme si obraz požadovanej vel’kosti (napr. s rozmermi, ktoré môžeme vyjadrit’ ako mocninu čísla 2). Tento je samozrejme väčší než náš vstupný obraz. 21 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI • Skopírujeme doňho pôvodný vstupný obraz a chýbajúce hodnoty doplníme nulami. Takto vytvorený obraz potom použijeme ako vstup pre FFT. Doplnením nulami zväčšíme vstupný obraz a tiež zvýšime jeho rozlíšenie v spektrálnej oblasti. Nezískame však však žiadnu novú, detailnejšiu informáciu, jemnejšie rozlíšenie v spektre je vlastne výsledkom interpolácie. Musíme si tiež byt’ vedomí skutočnosti, že týmto postupom vzniknú v signáli obrazu body nespojitosti, ktoré môžu negatívne ovplyvnit’ očakávané výsledky spektrálnho spracovania. 1.4 Príklady Fourierovej transformácie obrazu Uvedieme si niekol’ko príkladov transformačných párov pozostávajúcich z príkladu testovacieho obrazu a jeho magnitúdového spektra. Ciel’om je budovanie prvej intuitívnej predstavy ako správne interpretovat’ informáciu obsiahnutú v spektre obrazu. Na obrázku 1.15 je testovací obraz, ktorý je generovaný ako periodická textúra vertikálneho smeru. Jeho magnitúdové spektrum na obrázku 1.16 je i napriek logaritmickému merítku skoro celé čierne. Pozorný čitatel’ si všimne v tomto spektre dve maximá horizontálne symetrické poblíž stredu. Táto poloha indikuje, že ide o vertikálne periodické štruktúry s nízkou frekvencoiu, čo odpovedá vstupnému obrazu. Pre lepšiu názornost’ je na obrázku 1.17 znázornený horizontálny rez týmto obrazom kde sú dve symetrické maximá zretel’ne viditel’né. Obrázky 1.18 znázorňujú podobný príklad, ibaže periodická štruktúra obrazu je vodorovná a maximá v spektre sú vertikálne symetrické. Príklady na obrázkoch 1.20 až 1.24 sú analogické k predchádzajúcim, ibaže frekvencia periodickej štruktúry vo vstupných obrazoch (horizontálnom i vertikálnom) je vyššia. Dôležité je všimnút’ si, že poloha maxím v obidvoch prípadoch sa posunula od stredu smerom ku krajom, ked’že ide o vyššiu frekvenciu než v predchádzajúcom prípade. Na vizualizácii vstupných obrazov na obrázkoch 1.15 a 1.23 je viditel’ný jav, ktorý nastal porušením Nyquistovho kritéria pri vizualizácii. Tento jav podvzorkovania nazývame ako tzv. Moire efekt. Pre výpočet však bol použitý vstupný obraz s vysokým rozlíšením, ktorý nebol zat’ažený chybou podvzorkovania ako obrazy vizualizované. Na obrázkoch 1.27 až 1.30 je v spektre viditel’ný vplyv funkcie sinc( ). 22 1.4. Príklady Fourierovej transformácie obrazu Obrázok 1.15: Nízkofrekvenčnou vertikálnou periodickou textúrou. Obrázok 1.16: Magnitúdové spektrum v logaritmickej škále. 18 17 16 15 14 13 12 11 10 0 100 200 300 400 500 600 Obrázok 1.17: Rez magnitúdovým spektrom v logaritmickej škále. Obrázok 1.18: Obraz s nízkofrekvenčnou horizontálnou periodickou textúrou. Obrázok 1.19: Magnitúdové spektrum v logaritmickej škále. 23 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Obrázok 1.20: Príklad vysokofrekvenčnej vertikálnej periodickej textúry so zväčšeným detailom. Obrázok 1.21: Magnitúdové spektrum vysokofrekvenčnej vertikálnej periodickej textúry v logaritmickej škále. 18 17 16 15 14 13 12 11 0 100 200 300 400 500 600 Obrázok 1.22: Rez magnitúdovým spektrom v logaritmickej škále. Obrázok 1.23: Príklad vysokofrekvenčnej horizontálnej periodickej textúry so zväčšeným detailom. 24 Obrázok 1.24: Magnitúdové spektrum vysokofrekvenčnej horizontálnej periodickej textúry v logaritmickej škále. 1.4. Príklady Fourierovej transformácie obrazu Obrázok 1.25: Obraz s kruhovým objektom s priemerom 15 pixelov. Obrázok 1.26: Magnitúdové spektrum v logaritmickej škále. Obrázok 1.27: Obraz s kruhovým objektom s priemerom 75 pixelov. Obrázok 1.28: Magnitúdové spektrum v logaritmickej škále. 5 10 4 8 3 6 2 1 4 0 2 −1 0 −2 −3 0 100 200 300 400 500 600 Obrázok 1.29: Rez magnitúdovým spektrom z obr. 1.26 v logaritmickej škále. −2 0 100 200 300 400 500 600 Obrázok 1.30: Rez magnitúdovým spektrom z obr. 1.28 v logaritmickej škále. 25 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Na uvedených príkladoch teda 1.15 až 1.24 vidíme, že magnitúdové spektrum je vždy symetrické, odpovedajúcu odozvu v spektre nachádzame na transponovanej pozícii. Frekvencia zobrazená v spektre je v strede nulová a ku kraju obrazu sa frekvencia zvyšuje. Najvyššia frekvencia sa rovná polovici vzorkovacej frekvencie. 1.5 Kosínusová transformácia 1.5.1 Diskrétna kosínusová transformácia Bázové funkcie príslušné Diskrétnej kosínusovej transformácie (DCT) sú, na rozdiel od Fourierovej transformácie, definované iba pomocou kosínusovej funkcie, a to tak, aby báza bola úplná. To znamená, že každý vektor reálnych čísiel o rovnakej dimenzii ako dimenzia danej bázy DCT, je možné vyjadrit’ ako lineárnu kombináciu bázových vektorov DCT. Koeficienty, ktoré vypočítame prostredníctvom DCT sú na rozdiel od DFT iba z oboru reálnych čísiel. V praxi sa stretávame s viacerými definíciami kosínusovej transformácie, označenými spravidla ako DCT-I, DCT-II, DCT-III, DCT-IV. Všetky definujú úplnú bázu pomocou kosínusových funkcií. V spracovaní obrazu sa používa predovšetkým DCT-II definovaná nasledovne. F (u, v) = N−1 2y + 1 2x + 1 2C (u)C (v) N−1 uπ cos vπ , f (x, y) cos N 2N 2N x=0 y =0 (1.31) kde C (k) = 1 2 k = 0, 1 inak. DCT-II môžeme definovat’ pomocou maticovéha zápisu nasledovne T F = CN N f CN N, (1.32) a inverzná DCT-II je definovaná T f = CN N F CN N , kde 26 ⎧ ⎨ 1 l = 0, C N N (k, l) = N ⎩ 2 cos a 2k+1 lπ inak. N 2N (1.33) 1.6. Filtrácia obrazu vo frekvenčnej oblasti Obrázok 1.31: Vizualizácia bázových funkcií v tvare matíc vel’kosti 8 × 8 pre 2dimenzionálnu DCT-II. Vel’mi názorné je zobrazenie dvojdimenzionálnych bázových funkcií diskrétnej kosínusovej transformácie (vid’ obr. 1.31). Použitie diskrétnej kosínusovej transformácie. Diskrétna kosínusová transformácia (DCT) má pre fotorealistické obrazy vel’mi dobré dekorelačné vlastnosti a preto sa používa predovšetkým na kompresiu dát. Konkrétne napr. v norme pre kompresiu obrazu JPEG sa využíva DCT na transformovanie neprekrývajúcich sa regiónov obrazu o vel’kosti 8× 8 pixelov, pričom získané spektrálne koeficienty sú zaokrúhl’ované podl’a ich relevancie pre l’udské vizuálne vnímanie. 1.6 Filtrácia obrazu vo frekvenčnej oblasti Filtrácia obrazu patrí medzi základmé nástroje pre úpravu a vylepšenie kvality číslicového obrazu. Základná operácia filtrácie vo frekvenčnej oblasti je operácia násobenia, presnejšie povedané, v prípade obrazu použijeme násobenie dvoch matíc po prvkoch. Na nasledujúcom obrázku 1.32 je schématicky znázornený základný koncept filtrácie vo frekvenčnej doméne. 27 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Obrázok 1.32: Filtrácia v spektrálnej oblasti. Prvá matica je spektrum vstupného obrazu, ktoré získame výpočtom dvojdimenzionálnej diskrétnej Fourierovej transformácie zo vstupného obrazu. Druhá matica je spektrum filtra, ktorý chceme pre filtráciu použit’. Spektrum požadovaného filtra je nazývané tiež ako prenosová funkcia filtra. Spektrum požadovaného filtra môžeme navrhnút’ priamo vo frekvenčnej oblasti, alebo si ho môžeme odvodit’ z filtra daného v priestorovej oblasti. Obidve matice, spektrum obrazu i spektrum filtra, musia mat’ samozrejme rovnakú vel’kost’. Filter typu dolná a horná priepust’. Celý postup si ukážeme na príklade. Najskôr si však povieme, aké budú naše intuitívne očakávania. Ktoré zmeny filtrácia prinesie? Máme vstupný obraz, v našom príklade je na obraze vták na skale. Skala je pomerne texturovaná. Príspevok takejto textúry, jemných hrán ako i vel’mi malých prvkov v obraze, bude v spektre predovšetkým vo vyšších frekvenciách. Nízke frekvencie sú spekrálnym obrazom väčších plôch v obraze. 28 1.6. Filtrácia obrazu vo frekvenčnej oblasti Ak chceme odstránit’ drobné detaily z obrazu, ako napr. textúra na skale, tak odfiltrujeme vyššie frekvencie. Tým získame vyhladený a rozmazaný obraz bez jemných detailov. Na odfiltrovanie vysokých frekvencií a zachovanie nízkych frekvencií je vhodný filter, ktorý nazývame dolná priepust’ (low pass – LP filter). Naopak, ak chceme získat’ iba obraz s hranami a textúrou a zachované malé detaily, tak použijeme opačný filter, odfiltrujeme nízke frekvencie, použijeme tzv. hornú priepust’ (high pass – HP filter). Výpočet Fourierovho spektra vstupného obrazu. Najskôr transformujeme vstupný obraz do spektrálnej oblasti. Aby boli hodnoty spektra lepšie viditel’né, použijeme zaužívanú konvenciu pre vizualizáciu magnitúdového spektra v logaritmickej mierke. Obrázok 1.33: Vstupný šedotónový obraz – vták na skale. Obrázok 1.34: Magnitúdové spektrum (log škálované). Obrázok 1.35: Posunuté magnit. spektrum (log škálované). Magnitúdové spektrum po výpočte dostávame tak, ako ho vidíme na obrázku 1.34. Nízke frekvencie sú v rohoch obrazu a v strede spektra sú vysoké frekvencie, čo nezodpovedá zvyklostiam zobrazovania spektra. Preto v d’alšom kroku prehodíme jednotlivé kvadranty Fourierovho spektra tak, aby nízke frekvencie boli v strede obrazu spektra. Na centrálnej pozícii v strede spektra je potom DC komponent, ktorý zodpovedá priemernej hodnote jasu obrazu. DC komponent je spravidla dobre viditel’ný. Od stredu spektra ku krajom sú zobrazené stále vyššie frekvencie. Poznámka: Z teoretického pohl’adu, uvedené preorganizovanie kvadrantov zodpovedá takému DFT spektru, ktoré by sme vypočítali pre vstup29 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI ný signál na intervale x ∈ 〈−M/2, M/2 − 1〉 , y ∈ 〈−N /2, N /2 − 1〉, kde x, y sú priestorové súradnice a M, N sú rozmery spracovávaného obrazu, ked’že vstupný signál interpretujeme ako periodický signál, ktorý získame opakovaním spracovávaného vstupného signálu. Dolnopriepustná filtrácia. V nasledujúcom príklade si ukážeme dolnopriepustnú filtráciu, a to s použitím dvoch rôznych LP filtrov. • ideálny LP filter • Gaussov LP filter Obrázok 1.36: Ideálny LP filter vo frekvenčnej oblasti. Obrázok 1.37: Gaussov LP filter vo frekvenčnej oblasti. 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0 0.1 0 500 1000 1500 Obrázok 1.38: Rez ideálnym LP filtrom. 0 0 500 1000 1500 Obrázok 1.39: Rez Gaussovým LP filtrom. Hodnoty filtra sa pohybujú v rozsahu 〈0, 1〉 reálnych čísiel, operáciu násobenia teda musíme tiež počítat’ v obore reálnych čísiel. Nulové hodnoty filtra majú za následok úplné odstránenie príslušného spektrálneho 30 1.6. Filtrácia obrazu vo frekvenčnej oblasti komponentu, jednotková hodnota naopak zachová po vynásobení príslušnú spektrálnu zložku v pôvodnej hodnote. Ostatné hodnoty z intervalu (0, 1) lineárne váhujú príslušnú spektrálnú zložku. Ideálny filter. Ideálny filter má teoreticky nekonečne strmý prechod medzi priepustnou a nepriepustnou čast’ou v spektre filtra, čiže nežiadúce frekvenčné komponenty môžu byt’ selektívne úplne vynulované. Aj ked’ z pohl’adu návrhu sa javí skutočne ako ideálny (odtial’ názov), a to práve pre možnost’ vel’mi selektívnej filtrácie bez prechodových oblastí, tak v skutočnosti má jednu nepríjemnú vlastnost’. Táto vlastnost’ spôsobuje efekt rozvlnenia (v anglickej literatúre označovaný ako ringing efekt) a jej príčinou je jav, ktorý nazývame Gibbsov jav. Vysvetlíme ho v odstavci 1.6. Gaussov filter. Na rozdiel od ideálneho filtra, Gaussov filter má plynulý prechod medzi priepustnou a nepriepustnou čast’ou spektra, pričom hodnoty filtra sú dané dvojrozmernou Gaussovou funkciou. Násobenie v spektre a spätná Fourierova transformácia. Na nasledujúcom obrázku vl’avo je vizualizované spektrum po vynásobení ideálnym filtrom, ktorý použijeme pre spätnú 2D DFT a vpravo vidíme už výsledok po spätnej 2D DFT filtrovaného spektra. Filtrovaný obraz ideálnym filtrom (vid’ obrázok 1.41) je podl’a očakávania rozmazaný, detaily textúr na skale boli odfiltrované. Je tiež viditel’ný silne rušivý efekt rozvlnenia. Naproti tomu obraz filtrovaný Gaussovým LP filtrom (vid’ obrázok 1.43) je tiež rozmazaný ako sme predpokladali, nadôvažok nie je na ňom viditel’ný žiaden rušivý efekt. 31 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Obrázok 1.40: Spektrum filtrované ideálnym LP filtrom. Obrázok 1.41: Obraz po filtrácii ideálnym LP filtrom. Obrázok 1.42: Spektrum filtrované Gaussovým LP filtrom. Obrázok 1.43: Obraz po filtrácii Gaussovým LP filtrom. Hornopriepustná filtrácia. Ďalej si ukážeme filtráciu hornopriepustným filtrom. Pre tvorbu HP filtra vo frekvenčnej oblasti môžeme použit’ jednoduchý výpočet f H P f il t er (u, v) = 1, 0 − f LP f il t er (u, v). Jeho ciel’om je prepustit’ práve tie frekvenčné zložky, ktoré LP filter zadržal a naopak. 32 1.6. Filtrácia obrazu vo frekvenčnej oblasti Obrázok 1.44: Ideálny HP filter vo frekvenčnej oblasti. Obrázok 1.45: Gaussov HP filter vo frekvenčnej oblasti. Obrázok 1.46: Spektrum filtrované ideálnym HP filtrom. Obrázok 1.47: Obraz po filtrácii ideálnym HP filtrom. 33 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Obrázok 1.48: Spektrum filtrované Gaussovým HP filtrom. Obrázok 1.49: Obraz po filtrácii Gaussovým HP filtrom. Obraz, ktorý sme získali po filtrácii hornopriepustným filtrom obsahuje iba vysokofrekvenčné zložky obrazu, je zretel’ne vidiet’ textúra na skale a kontúry vtáka. (Výsledný obraz je zobrazený v absolútnej hodnote pre lepšiu vizualizáciu výsledného hranového obrazu.) Opät’ pozorujeme rušivý efekt rozvlnenia v obraz filtrovaný ideálnym filtrom (vid’ detail na obrázku 1.50) na rozdiel od Gaussovho, kde nevidíme žiaden rušivý efekt. Efekt rozvlnenia u ideálneho filtra. V odstavci 1.2.4 sme si ukázali, ze obdĺžniková funkcia má spektrum dané funkciou sinc( ) a naopak. Ideálny filter má chrakter obdĺžnikovej funkcie, jeho reprezentácia v časovej doméne alebo v priestorovej doméne (obraz) je teda práve funkcia sinc( ). V kapitole 3 za dozvieme, že podl’a konvolučnej teorémy je násobeniu v spektrálnej oblasti ekvivalentná operácia konvolúcie v časovej alebo priestorovej oblasti. Obrázok 1.50: Detail z obr. 1.47. 34 Obrázok 1.51: Detail z obr. 1.49. 1.6. Filtrácia obrazu vo frekvenčnej oblasti Vysvetlenie pre efekt rozvlnenia (ringing efekt) je teda nasledovné: násobenie ideálnym filtrom v spektre je ekvivalentné konvolúcii obrazu s funkciou typu sinc( ), ktorá zanechá efekt rozvlnenia. Na obrázkoch 1.50 a 1.51 je v detaile tento efekt dobre pozorovatel’ný. 1.6.1 Filtrácia vybratých frekven čných oblastí Filtrácia typu dolná alebo horná prieput’ filtruje vysoké, resp. nízke frekvencie z obrazového signálu. Môžeme však filtrovat’ i podl’a iných kritérií. Filtrácia vo frekvenčnej oblasti sa nám ponúka ako výborný nástroj, pokial’ vieme v spektre loklizovat’ príspevok toho signálu, ktorý chceme odstránit’. Uvedieme príklad. Ako vstupný obraz použijeme jednu z prvých snímok, ktoré boli v digitalizovanej forme prenesené cez Atlantik v 20. rokoch minulého storočia. (Vid’ obr. 1.52.) Na d’alšom obrázku 1.54 je znázornené spektrum, v ktorom vidíme niekol’ko lokálnych maxím. Tieto selektívne odstránime. Vybraté lokálne maximá takpovediac „vymažeme“ zo spektra násobením špeciálnym filtrom – viacnásobne použijeme Gaussov filter centrovaný na príslušné maximum. Takto filtrované spektrum vidíme na obrázku 1.55. Po spätnej filtrácii získame obraz znázornený na obrázku 1.56. Pri pohl’ade na vstupný a výstupný obraz vidíme, že periodické rušenie bolo touto filtráciou do značnej miery odstránené. Obrázok 1.52: Vstupný obraz. Obrázok 1.53: Detail. 35 1. S PRACOVANIE OBRAZU VO FREKVEN ČNEJ OBLASTI Obrázok 1.54: Spektrum vstupného obrazu. Obrázok 1.56: Výstupný obraz. Obrázok 1.55: Selektívne filtrované spektrum. Obrázok 1.57: Detail. V tejto kapitole sme si ukázali základný koncept filtrácie v spektrálnej oblasti. Na konkrétnom príklade je filtrácia ilustrovaná s použitím najzákladnejších typov filtrov, s ideálnym filtrom a Gaussovým filtrom. Každý z nich je ukázaný ako LP a HP filter. Taktiež sme ukázali príklad filtrácie vo frekvečnej oblasti cieleným odfiltrovaním niekol’kých vybratých oblastí v spektre. V d’alšej kapitole sa budeme venovat’ inému modelu filtrácie – filtrácii priamo v priestorovej doméne. 36 K APITOLA 2 Spracovanie obrazu v priestorovej oblasti Pre lineárnu filtráciu obrazu môžeme použit’ manipuláciu hodnôt obrazovej funkcie priamo v priestorovej doméne. Hovoríme potom o lineárnej filtrácii v priestorovej oblasti. Základný matematický nástroj pre lineárnu filtráciu je operácia konvolúcia, ktorej sa budeme venovat’ v d’alších odstavcoch. 2.1 Diskrétna konvolúcia Definíciu spojitej konvolúcie neuvádzame. (V prípade záujmu odkážeme čitatel’a na výbornú literatúru [OS75].) Ked’že pracujeme s diskrétnymi funkciami, ktoré používame pre reprezentáciu číslicového signálu, tak pre ich spracovanie potrebujeme konvolúciu v diskrétnej forme. Diskrétnu konvolúciu dvoch kauzálnych diskrétnych funkcií definujeme nasledovne. Sú dané funkcie f = ( f 0 , . . . , f N−1 )T ∈ CN , h = (h0 , . . . , h M−1 )T ∈ CN potom ich diskrétna konvolúcia je vektor g ∈ CM+N−1 pre členy ktorého platí N−1 g (x) = f (m)h(x − m), (2.1) m=0 pre x = 0, . . . , M + N − 2. Pre spracovanie obrazu je potrebná konvolúcia definovaná pre funkcie dvoch premenných, ktorú si vysvetlíme podrobnejšie v d’alšom odstavci. 38 2.2. Výpočet konvolúcie 2.1.1 Diskrétna 2D konvolúcia Diskrétnu konvolúciu o dvoch premenných zapíšeme nasledovne g (x, y) = M−1 N−1 f (m, n)h(x − m, y − n). (2.2) m=0 n=0 Pre skrátený zápis operácie konvolúcie používame znak „hviezdička“ f (x, y) ∗ h(x, y). (2.3) Funkcia f (x, y) je funkcia obrazu, ktorý ideme filtrovat’, h(x, y) je tzv. filtračné jadro, nazývané tiež filtračná maska alebo konvolučná maska. 2.1.2 Vlastnosti konvolúcie Komutatívnost’. Operácia konvolúcia je komutatívna, čo môžeme vyjardrit’ nasledovný vzt’ahom f (x) ∗ h(x) = h(x) ∗ f (x). (2.4) Vzt’ah medzi konvolúciou a koreláciou. Pojem lineárnej filtrácie obrazu v priestore sa v literatúre používa niekedy tiež pre výpočet filtrácie prostredníctvom korelácie (značená ◦). Matematicky môžeme vzt’ah medzi koreláciou a konvolúciou vyjadrit’ nasledovne f (x) ∗ h(−x) = f (x) ◦ h(x). (2.5) Pri lineárnej filtrácii obrazu to znamená, že použitá filtračná maska pre výpočet konvolúciou je transponovaná matica k matici, ktorú by sme použili na rovnakú filtráciu obrazu prostredníctvom korelácie. 2.2 Výpočet konvolúcie Pre výpočet konvolúcie používame postup výpočtu daný definíciou. Implementácia operácie konvolúcie, ako kl’účovej funkcie spracovania obrazu, je však už desat’ročia v centre záujmu expertov a dnes máme k dispozícii vysoko optimalizované implementácie, napr. pre Intel procesory v knižnici Intel Integrated Performance Primitives (IPP), ktorú používajú Matlab, OpenCV a d’alšie softvérové nástroje pre spracovanie obrazu. Filtračné jadro spravidla definujeme tak, aby jeho vel’kost’ bola nepárna. Napr. 3 × 3, 5 × 5 ... 15 × 15 ... V tomto prípade je stredová pozícia 39 2. S PRACOVANIE OBRAZU V PRIESTOROVEJ OBLASTI pixela, na ktorú zapíšeme výslednú hodnotu, jednoznačne daná. Ak zvolíme inú pozíciu, tak vstupný a výstupný obraz budú voči sebe, okrem zmeny danej filtráciou, aj vzájomne posunuté. (Môže íst’ samozrejme aj o zámer.) 2.2.1 Znázornenie výpo čtu konvolúcie Príklad. Názorne si ukážeme výpočet jedného prvku konvolvovaného obrazu (vid’ 2.1). Máme príklad matice obrazu znázornený čiernou a konvolučné jadro vel’kosti 3 × 3 znázornené červenou farbou. Obrázok 2.1: Príklad výpočtu konvolúcie. f (2,4) = 13.0,3+25.0,5+24.0,3+19.0, 5+ 26.1.0 + 20.0,5 + 24.0, 3 + 25.0,5 + 13.0, 3 = 92.7 Samotný postup výpočtu je daný definíciou 2.1. Jednoducho povedané, pre každú posunutú pozíciu konvolučného jadra počítame sumu súčinov hodnoty konvolučného jadra a príslušného pixelu obrazu. 40 2.3. Najdôležitejšie konvolučné masky Okraj obrazu. Je zrejmé, že výpočet hodnôt konvolúcie na okraji obrazu musíme riešit’ zvláštnym spôsobom. V praxi sa používa niekol’ko stratégií. • Doplnenie chýbajúcich hodnôt pre výpočet konvolúcie nulovými hodnotami, alebo inou konštantou. • Zrkadlenie. Chýbajúce hodnoty sa doplnia zrkadlovo rovnaké ku hodnotám pixelov na kraji obrazu. • Zmenšenie výstupného obrazu. Tento postup je z programátorského hl’adiska najmenej vhodný, hlavne pri viacnásobnom sekvenčnom použití filtrácie. Vel’kost’ obrazu je potom rôzna v rôznych štádiách spracovania, čo musíme zvlášt’ zohl’adnit’ pri výpočte. Spravidla použijeme uvedený prvý alebo druhý spôsob, avšak musíme si byt’ vedomí, že okraje filtrovaného obrazu (podl’a vel’kosti konvolučného jadra) sú pre exaktné vyhodnotenie teoreticky nevhodné. V praxi to zväčša problém nespôsobuje, ked’že vel’kost’ filtra sa volí pokial’ možno malá i z dôvodu výpočtovej náročnosti. Zisk filtra. Pokial’ nie je našim zámerom obraz pri filtrovaní konvolúciou zároveň zosvetlit’ alebo stmavit’, tak zisk filtra (angl. gain) musí byt’ rovný jednej. Filter v tomto prípade navrhneme tak, aby súčet všetkých hodnôt konvolučného jadra bol rovný jednej. 2.3 Najdôležitejšie konvolučné masky Filtráciu konvolúciou používame predovšetkým vtedy, ked’ potrebujeme obraz vyhladit’, rozmazat’ hrany, odstránit’ šum alebo ak chceme získat’ hranový obraz. Ako už vieme, v prvom prípade realizujeme filter dolnopásmová priepust’, v druhom prípade naopak filter hornopásmová priepust’. Dôležitý je samozrejme vhodný návrh konvolučnej masky. Konvolučnú masku si môžeme aj sami navrhnút’ alebo odvodit’, v tejto kapitole d’alej uvedieme príklady najznámejších, často používaných konvolučných masiek. 2.3.1 Vyhladzovacie filtre Medzi najznámejšie vyhladzovacie filtre patria priemerovací filter a Gaussov filter. 41 2. S PRACOVANIE OBRAZU V PRIESTOROVEJ OBLASTI Priemerovací filter. Priemerovací filter má členy filtračného jadra definované tak, aby výsledkom konvolúcie bol vždy aritmetický priemer okolia bodu daného vel’kost’ou použitého filtračného jadra. Príklad filtračného jadra priemerovacieho filtra vel’kosti 7 × 7 je ⎡ 1 ⎢1 ⎢ ⎢1 1 ⎢ ⎢ ⎢1 49 ⎢ ⎢1 ⎢ ⎣1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Obrázok 2.2: Vstupný obraz – detail nohy vtáka. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ⎤ 1 1⎥ ⎥ 1⎥ ⎥ ⎥ 1⎥ . ⎥ 1⎥ ⎥ 1⎦ 1 (2.6) Obrázok 2.3: Príklad obrazu filtrovaného priemerovacím filtrom. Na obrázkoch 2.2 a 2.3 je príklad filtrácie uvedeným priemerovacím filtrom filtrom vel’kosti 7 × 7. Gaussov filter. Gaussov filter má filtračné jadro odvodené od Gaussovej dvojrozmernej funkcie definované nasledovne 1 h(m, n) = M m N n e −(m 2 +n 2 ) 2σ2 e −(m 2 +n 2 ) 2σ2 . (2.7) Prvý člen v tomto vzt’ahu je váhovací faktor tak, aby zisk celého filtra bol rovný jednej. Ukážme si príklad Gaussovho filtra vel’kosti 7 a σ = 3. 42 2.3. Najdôležitejšie konvolučné masky ⎡ 0.0113 ⎢0.0149 ⎢ ⎢0.0176 ⎢ ⎢ h = ⎢0.0186 ⎢ ⎢0.0176 ⎢ ⎣0.0149 0.0113 0.0149 0.0197 0.0233 0.0246 0.0233 0.0197 0.0149 0.0176 0.0233 0.0275 0.0290 0.0275 0.0233 0.0176 0.0186 0.0246 0.0290 0.0307 0.0290 0.0246 0.0186 0.0176 0.0233 0.0275 0.0290 0.0275 0.0233 0.0176 0.0149 0.0197 0.0233 0.0246 0.0233 0.0197 0.0149 ⎤ 0.0113 0.0149 ⎥ ⎥ 0.0176 ⎥ ⎥ ⎥ 0.0186 ⎥. ⎥ 0.0176 ⎥ ⎥ 0.0149 ⎦ 0.0113 Obrázok 2.4: Gaussov filter h vel’kosti 7 × 7, σ = 3. Obrázok 2.5: Vstupný obraz – detail nohy vtáka. Obrázok 2.6: Príklad obrazu filtrovaného Gaussovým filtrom. Na obrázkoch 2.5 a 2.6 je príklad filtrácie uvedeným Gaussovým filtrom. 2.3.2 Hranové filtre Ďalším, vel’mi často používaným typom filtra sú hranové filtre. 43 2. S PRACOVANIE OBRAZU V PRIESTOROVEJ OBLASTI Prewittov filter. Prewittov filter pozostáva z dvoch konvolučných jadier: vertikálneho a horizontálneho. Ich použitím pre konvolúciu získame zvlášt vertikálny a zvlášt’ horizontálny príspevok k hrane v danom bode. Tieto dve informácie môžeme použit’ pre výpočet gradientu. Pod gradientom funkcie f (x, y) rozumieme dvojrozmerný vektor, ktorého súradnice sú parciálne diferencie funkcie f podl’a x a y. Môžeme tiež vypočítat’ uhol, ktorý tento vektor zviera, podl’a vzt’ahu 2.15. Konvolučná maska vertikálneho Prewittovho filtra je daná v tvare ⎡ 1 ⎣0 −1 1 0 −1 ⎤ 1 0 ⎦. −1 (2.8) Konvolučná maska horizontálneho Prewittovho filtra je daná ako ⎡ 1 ⎣1 1 0 0 0 ⎤ −1 −1⎦ . −1 (2.9) Z vypočítaných vektorov môžeme vyjadrit’ v každom pixeli obrazu magnitúdu a fázu. G= Gx 2 + G y 2 , Θ = arctan G y , Gx . (2.10) (2.11) Zisk filtra je u tohto filtra nulový. Je však dôležité si uvedomit’, že pri programovaní operácie filtrácie s použitím Prewittovho filtra potrebujeme pre výstupný filtrovaný vertikálny a horizontálny obraz dátový typ, ktorý obsahuje aj záporné čísla (napr. integer alebo float). Vypočítané diferencie môžu byt’ totižto kladné alebo záporné podl’a toho, či odpovedajúca hrana vo vstupnom obraze je nábežná alebo dobežná. Vizualizované sú preškálované obrazy, kde nulová hodnota z hranového obrazu bola posunutá na úroveň 127 z rozsahu 0 – 225. (Z tohoto dôvodu sú vizualizované obrazy šedé.) 44 2.3. Najdôležitejšie konvolučné masky Obrázok 2.7: Obraz filtrovaný horizontálnym Prewittovým filtrom. Obrázok 2.8: Obraz filtrovaný vertikálnym Prewittovým filtrom. Prewittov filter je vel’mi podobný Sobelovmu filtru uvedenému v d’alšom odstavci, vizuálne je rozdiel medzi obrazom filtrovaným Prewittovým alebo Sobelovým filtrom sotva rozpoznatel’ný. Obidva tieto typy filtrov sa používajú pre výpočet gradientu. Sobelov filter. Sobelov filter patrí medzi najpopulárnejšie hranové fitre. Konvolučná maska vertikálneho Sobelovho filtra je definovaná v tvare ⎡ 1 ⎣0 −1 2 0 −2 ⎤ 1 0 ⎦. −1 (2.12) Analogicky môžeme vyjadrit’ konvolučnú masku horizontálneho Sobelovho filtra ako ⎤ ⎡ 1 0 −1 ⎣2 0 −2⎦ . (2.13) 1 0 −1 Ak chceme získat’ komletný hranový obraz, tak použijeme vasledovný vzt’ah na výpočet magnitúdy z predchádzajúcej x-ovej a y-novej hodnoty. G= Gx 2 + G y 2 , Θ = arctan G y , Gx . (2.14) (2.15) Na obrázkoch 2.9 a 2.10 je príklad filtrácie horizontálnym Sobelovým filtrom a vertikálnym Sobelovým filtrom. 45 2. S PRACOVANIE OBRAZU V PRIESTOROVEJ OBLASTI Obrázok 2.9: Obraz filtrovaný horizontálnym Sobelovým filtrom. Obrázok 2.11: Vstupný obraz – detail nohy vtáka. Obrázok 2.10: Obraz filtrovaný vertikálnym Sobelovým filtrom. Obrázok 2.12: Magnitúda obrazu filtrovaného Sobelovým filtrom. Laplacian. Diskrétny Laplaceov operátor je často používaný pri spracovaní obrazu a detekcii pohybu. Diskrétny Laplacian je definovaný ako suma druhej diferencie v danom pixeli vzhl’adom na okolie pixela. Často používaná definícia Laplaceovho operátora vel’kosti 3 × 3 je ⎡ 0 ⎣1 0 46 1 −4 1 ⎤ 0 1⎦ . 0 (2.16) 2.4. Použitie konvolúcie Obrázok 2.13: Vstupný obraz – detail nohy vtáka. Obrázok 2.14: Obraz z obrázku 2.13 filtrovaný Laplaceovým filtrom. Na obrázku 2.13 je detail obrazu vtáka. Laplaceov operátor, ktorý sme použili pri filtrácii Laplacianom tohoto obrázku bol definovaný ako ⎡ 0, 5 ⎣ 0 0, 5 0 −2 0 ⎤ 0, 5 0 ⎦. 0, 5 (2.17) Na obrázku 2.14 vidíme hranový obraz po filtrácii Laplacianom. Obrázok 2.15: Absolútna hodnota hranového obrazu (detail nohy vtáka) filtrovaného Laplaceovým filtrom. Na obrázku 2.15 môžeme pozorovat’ dvojité hrany, ktoré sú pôvodne nábežnou a dobežnou hranou príslušnej kontúry. 2.4 Použitie konvolúcie Celkovo môžeme konštatovat’, že konvolúcia je vel’mi účinný nástroj pre spracovanie obrazu. Podl’a ciel’a použitia môže odstraňovat’ alebo zvý47 2. S PRACOVANIE OBRAZU V PRIESTOROVEJ OBLASTI razňovat’ detaily, vypočítat’ hrany, prípadne počítat’ mieru podobnosti medzi daným filtrom a obrazom. 2.5 Nelineárna filtrácia Medzi nelineárne filtre patria predovšetkým zorad’ovacie filtre, kde špeciálnym prípadom je filter maxima, minima alebo medián. 2.5.1 Zorad’ovacií filter V anglickej literatúre sa označujú názvom order-statistic filter. Na rozdiel od lineárnej filtrácie nepočítame konvolúciu. Zorad’ovacie filtre nám výpočtovo pripomínajú skôr morfologickú filtráciu. Obraz postupne prechádzame filtračnou maskou, ktorá obsahuje iba jednotky a nuly. Ich význam je podobný ako ich poznáme u plochého štrukturálneho elementu – jednotky definujú pozície pixelov, ktoré sa aktívne podiel’ajú na výpočte. U zorad’ovacieho filtra zoradíme podl’a vel’kosti všetky prvky dané maskou a vyberieme výstupný prvok, ktorý je v poradí prvý, alebo posledný, alebo stredný – podl’a toho, aký zorad’ovací filter počítame – filter minima, maxima alebo mediánový filter. Pozíciu výstupného prvku môžeme tiež definovat’ podl’a potreby na l’ubovol’nej inej pozícii v zoradenej postupnosti. Mediánový filter. Mediánový filter vyberie zo zoradenej postupnosti danej zorad’ovacím filtrom ten prvok, ktorý je na strednej pozícií. Je výborným nástrojom pre odstránenie šumu z obrazu, predovšetkým impulzového šumu alebo šumu typu sol’ a korenie (salt and pepper). Obraz rušený šumom typu sol’ a korenie obsahuje jednotlivé pixely šumu, ktoré sú rozmiestnené rôzne v priestore obrazu a ktoré majú bielu alebo čiernu farbu. (Šum typu sol’ a korenie môže mat’ i iné dve úrovne jasu, kombinácia bielej a čiernej je najčastejšia.) 48 2.5. Nelineárna filtrácia Obrázok 2.16: Vstupný zašumený obraz. Obrázok 2.17: Mediánovo filtrovaný obraz. Na obrázku 2.16 je nekvalitný vstupný obraz vel’kosti 192 × 228 pixelov, ktorý obsahuje šum typu sol’ a korenie. Na obrázku 2.17 je tento obraz po filtrácii mediánovým filtrom o vel’kosti 5 × 5. 49 K APITOLA 3 Konvolučná teoréma V predchádzajúcich kapitolách sme si najskôr objasnili princíp lineárnej filtrácie obrazu v spektrálnej doméne a potom lineárnej filtrácie v priestorovej doméne. V tejto kapitole, ktorá je síse malá svojím rozsahom strán, ale vel’mi významná svojim obsahom, si povieme vzájomný súvis uvedených dvoch prístupov. Konvolučná teoréma dáva do priamej vzájomnej relácie lineárnu filtráciu v spektrálnej oblasti a lineárnu filtráciu v priestorovej oblasti a to nasledovne. Konvolučná teoréma. Konvolučná teoréma nám hovorí, že operácia násobenia v spektrálnej doméne je ekvivalentná operácii konvolúcie v priestorovej doméne a tiež naopak, operácia konvolúcie v spektrálnej doméne je ekvivalentná operácii násobeniu v priestorovej doméne. Matematicky tento vzt’ah ekvivalencie zapíšeme nasledovne. Máme funkciu f (x,y) a jej Fourierove spektrum F(u,v), d’alej máme funkciu h(x,y) a jej Fourierove spektrum a H(u,v). Potom platí f (x, y) ∗ h(x, y) ⇔ F (u, v)H (u, v), (3.1) f (x, y)h(x, y) ⇔ F (u, v) ∗ H (u, v). (3.2) V praxi to znamená, že sa môžeme rozhodnút’ pre jednu alebo druhú alternatívu lineárnej filtrácie. Podl’a autorov Gonzales a Woods ( [GW08]) je filtrácia vo frekvenčnej oblasti intuitívnejšia. Najdôležitejšie faktory, 50 ktoré môžu ovplyvnit’ naše rozhodnutie je rýchlost’ výpočtu a vel’kost’ filtračného jadra. Pre efektívny výpočet je spravidla výhodnejšie počítat’ filtráciu vo frekvenčnej oblasti prostredníctvom FFT. Ďalší dôležitý fakt je, že fitrácia vo frekvenčnej oblasti zachováva vel’kost’ obrazu. Konvolučná teoréma nám tiež umožňuje odvodit’ postup nazývaný dekonvolúcia. 51 K APITOLA 4 Morfologické operácie Za svoj názov vd’ačí matematická morfológia pravdepodobne biologickej morfológii, ktorá sa podl’a encyklopédie Britannica venuje všeobecným aspektom biologických foriem a usporiadania častí tvarov rastlín a zvierat. Pojmom morfing (morphing) sa označujú animačné techniky počítačovej grafiky, pri ktorých sa zobrazený objekt plynule zmení na iný daný objekt, ktorý môže byt’ vizuálne i značne odlišný. 4.1 Matematická morfológia Vo všeobecnosti môžeme o matematickej morfológii v spracovaní obrazu skonštatovat’, že sa zaoberá štúdiom objektov z pohl’adu ich tvaru, geometrie a topológie, pričom používa kombinácie metód z teórie množín, topológie a diskrétnej matematiky. Matematická morfológia teda poskytuje výkonný prístup k spracovaniu obrazu a d’alších diskrétnych dát. 4.1.1 Morfologické spracovanie obrazu Morfologické spracovanie obrazu využíva informáciu o susedných pixeloch v topologickom okolí spracovávaného pixela. Morfologické operácie boli primárne definované a využívané pre binárne obrazy. Nepopieratel’ný význam však majú i morfologické operácie definované pre šedotónové obrazy a môžu byt’ aplikované i pre viackanálové (napr. farebné obrazy). Morfologické operácie, ktoré sú defino52 4.2. Základné pojmy a definície vané pre dvojdimenzionálne dáta, môžeme tiež rozšírit’ i na trojdimenzionálne dáta. 4.2 Základné pojmy a definície Najskôr si zavedieme základné pojmy potrebné pre vysvelenie samotných morfologických operácií. 4.2.1 Susednost’, súvislost’ Zavedenie niektorých základných pojmov si vyžaduje definície vybraných metrík, ktorými meriame vzdialenosti medzi dvomi bodmi obrazu. Metrika. Pre obrazové body p, q so súradnicami (x1, y1) a (x2, y2) definujeme D ako metriku ak D(p, q) ≥ 0, (4.1) D(p, q) = 0 vtedy a práve iba vtedy ak p = q, D(p, q) = D(q, p), (4.2) D(p, z) ≤ D(p, q) + D(q, z). (4.3) Euklidovská vzdialenost’. Euklidovská vzdialenost’ medzi bodmi p a q v obraze je definovaná vzt’ahom D E (p, q) = (x1 − x2)2 + (y1 − y2)2 . (4.4) Vzdialenost’ v mestských blokoch „City block distance“. Vzdialenost’ medzi dvomi bodmi v obraze je v tomto prípade daná počtom krokov (jednotkovej vel’kosti) po pravouhlej diskrétnej mriežke D 4 (p, q) = |x1 − x2| + |y1 − y2|. (4.5) Samotný názov „vzdialenost’ v mestských blokoch“ evokuje predstavu pohybu v meste. 53 4. M ORFOLOGICKÉ OPERÁCIE Šachovnicová vzdialenost’ „Chessboard distance“. V prípade, že pravouhlú mriežku rozšírime o diagonálne prepojenia medzi susednými bodmi (vid’ obr. 4.1), tak môžeme definovat’ šachovnicovú vzdialenost’ nasledovne D 8 (p, q) = max(|x1 − x2|, |y1 − y2|). (4.6) 4-susednost’ a 8-susednost’. Ďalším dôležitým pojmom je 4-susednost’ a 8-susednost’. 4-susedia daného obrazového elementu sú body s jednotkovou vzdialenost’ou v metrike „vzdialenost’ v mestských blokoch“. Podobne 8-susedia daného bodu sú body s jednotkovou vzdialenost’ou, avšak v šachovnicovej vzdialenosti. 4-súvislost’, 4-spojitý komponent, 8-súvislost’, 8-spojitý komponent. 4-spojitý resp. 8-spojitý komponent definujeme nasledovne. Množina čiernych pixelov F je 4-spojitý resp. 8-spojitý komponent, ak pre každú dvojicu obrazových bodov p i a p j v F existuje postupnost’ pixelov p i , ..., p j tak , že • všetky obrazové body v postupnosti sú v množine F , t. j. sú čierne na obr. 4.1, • každé 2 pixely, ktoré sú vedl’a seba v postupnosti, spĺňajú podmienku 4-susednosti, resp. 8-susednosti. Čiže daná oblast’ je 4-spojitý resp. 8-spojitý komponent, ak medzi jej l’ubovol’nými dvomi vnútornými bodmi existuje cesta zo spojníc spĺňajúcich podmienku 4-susednosti, resp. 8-susednosti. Obrázok 4.1: Ukážka mriežky 4-súvislosti a 8-súvislosti. 54 4.2. Základné pojmy a definície 4.2.2 Minkowského suma Matematickým základom pre binárnu matematickú morfologickú operáciu dilatácie je Minkowského suma. Minkowského suma bodových množín A a B je bodová množina ! C= Ab , (4.7) b∈B kde A je množina A posunutá o vektor b, teda množina Ab = a + b | a ∈ A. "b označuje zjednotenie (union) množín. Minkowského sumu množín A a B označujeme C = A ⊕ B. (4.8) 4.2.3 Štrukturálny element V definíciach morfologických operácií je obsiahnutý prvok, ktorý sa nazýva štrukturálny element. V horeuvedenej Minkowského sume je vstupný obraz označený A a štrukturálny element je tu označený ako B. V d’alšom výklade už budeme označovat’ štrukturálny element ako S. Štrukturálny element je charakteristický svojím tvarom, ktorý je daný usporiadaním pixelov s hodnotou 1. Typicky sa používajú štrukturálne elementy štvorcové, elipsové, krížikové alebo l’ubovol’ne definovaného usporiadania v závislosti od konkrétneho použitia. Dôležitým parametrom je i poloha výsledného pixela. Tento bod je tiež nazývaný počiatok alebo kotevný bod (origin, anchor). Štrukturálny element je teda bodová množina – obraz s vel’kost’ou menšou než vstupný obraz. Jeho typický rozmer býva pomerne malý, napr. 3 × 3, 5 × 5,..21 × 21 atd’. Rovný (flat) štrukturálny element obsahuje výlučne iba hodnoty 0 a 1, jednotky v ňom definujú okolie (neighborhood) kotevného bodu. Pre intuitívnu predstavu zjednodušene môžeme konštatovat’, že hodnota 1 označuje vlastne tie pixely v štrukturálnom elemente, ktoré sa „aktívne“ podiel’ajú na stanovení novej hodnoty v počiatku (v kotevnom bode). 4.2.4 Morfologická transformácia Morfologickú transformáciu môžeme definovat’ ako matematickú reláciu medzi dvomi bodovými množinami, a to množinou obrazu a množinou štrukturálneho elementu. 55 4. M ORFOLOGICKÉ OPERÁCIE 4.3 Základné morfologické operácie Aplikovanie morfologickej transformácie na obraz F zodpovedá výpočtu transformácie pri systematickom posune štrukturálneho elementu S po obraze. Výsledok transformácie v každej polohe zodpovedá danej morfologickej relácii. Pre výpočet základných morfologických operácií sa teda používa mechanizmus podobný ako pri filtrácii, ked’ každý pixel obrazu je nahradený svojou novou hodnotou vypočítanou daným algoritmom s využitím hodnôt jeho topologických susedov. Binárna dilatácia zväčšuje plochu bieleho objektu na čiernom pozadí a binárna erózia naopak zmenšuje plochu bieleho objektu na čiernom pozadí. V prípade čierneho objektu na bielom pozadí by bola situácia analogicky opačná. Tento výklad vychádza z konvencie, že pixel s hodnotou 1 je biely a pixel s hodnotou 0 je čierny. Predpokladáme tiež, že binárne objekty sú biele objekty na čiernom pozadí. Pre intuitívnu predstavu, s určitou dávkou nepresnosti, môžeme povedat’, že väčší štrukturálny element má za následok väčšie zmeny hraničných oblastí, čiže i plocha objektu sa viac zväčší. Podl’a tvaru štrukturálneho elementu môžeme usúdit’, aký tvar budú mat’ detailné zmeny na okrajoch objektu. Štrukturálny element hranatého tvaru (štvorec, obdĺžnik...) sa prejaví po dilatovaní kontúrami objektu, v ktorých je hranatý tvar štrukturálneho elementu poznatel’ný. Naopak, u elipsovitého štrukturálneho elementu budeme očakávat’ nové kontúry skôr zaoblené. Výhodne môžeme tiež využit’ nasledovnú stratégiu výpočtu. Rovnakú morfologickú operáciu s nezmeneným štrukturálnym elementom opakovane aplikujeme vo viacerých iteráciach za sebou. V softvérových podporách výpočtu morfologických operácií (knižnice pre spracovanie obrazu) spravidla nachádzame tento postup už implementačne pripravený. Medzi základné morfologické operácie patria • dilatácia (dilation) 4.4 • erózia (erosion) 4.4.2 a ich základné kombinácie pod názvami • morfologické otvorenie (opening) 4.5 • morfologické uzavretie (closing) 4.5 56 4.4. Binárna dilatácia a erózia 4.4 Binárna dilatácia a erózia 4.4.1 Dilatácia Operáciu binárnej dilatácie spracovávaného obrazu F a štrukturálneho elementu S značíme F ⊕ S. (4.9) Binárna dilatácia vyplýva z uvedenej definície Minkowského sumy zjednotenie (union) posunutých bodových množín F a S. Binárnu dilatáciu môžeme teda zapísat’ ako F⊕S = ! Fs , (4.10) s∈S kde Fs je množina F posunutá o vektor s, teda množina Fs = f + s | f ∈ F. (4.11) Ako bolo už spomenuté, morfologickým dilatovaním zväčšíme plochu bielej binárnej oblasti. Použitý štrukturálny element je dôležitý, pretože determinuje ako presne budú okraje binárnej oblasti menené. Obrázok 4.2 ilustruje príklad výpočtu výslednej hodnoty dilatácie pre okolie jedného bodu. Okolie bodu dané štrukturálnym elementom je vypočítané ako zjednotenie (v tomto prípade môžeme hovorit’ o logickom súčte) tých hodnôt obrazu, ktorým zodpovedajú jednotkové hodnoty pixelov v štrukturálnom elemente. Výsledná hodnota je zapísaná do výstupného obrazu na pozíciu počiatku (typicky stredu) štrukturálneho elementu. V prípade binárneho obrazu má teda výsledný pixel hodnotu 1, ak aspoň jedna hodnota spomedzi pixelov obrazu selektovaných korešpondujúcimi jednotkovými hodnotami štrukturálneho elementu je tiež nenulová, čiže jednotková. 57 4. M ORFOLOGICKÉ OPERÁCIE Obrázok 4.2: Dilatácia – binárny obraz. Vl’avo je vstupný, vpravo výstupný obraz. Štrukturálny element je znázornený červenou farbou. V tomto prípade je jednotková výsledná hodnota daná logickým súčtom núl s jedinou jednotkovou hodnotou (na pozícii v druhom riadku, tret’om stĺpci). Nasledujúci obrázok 4.3 ilustruje, ako operácia dilatácie zmenila tvar bielej oblasti (binárneho objektu). Biele objekty bol zväčšené, tým sa spojili do jedného objektu a čierne „diery“ vnútri objektov boli odstránené. Obrázok 4.3: Vl’avo je binárny vstupný obraz, vpravo je dilatovaný výstupný obraz. (Použitý bol štrukturálny element je znázornený na obrázku 4.4). V tomto i nasledujúcich príkladoch bol použitý štrukturálny element ako je znázornený na obrázku 4.4. 58 4.4. Binárna dilatácia a erózia Obrázok 4.4: Štrukturálny element použitý v d’alších príkladoch. 4.4.2 Erózia Operáciu erózie spracovávaného obrazu F a štrukturálneho elementu S označujeme F S. (4.12) Binárnu eróziu môžeme definovat’ ako prienik všetkých posunov obrazu F o vektory −s, kde s ∈ S FS = # Fs , (4.13) s∈S kde Fs = f − s | f ∈ F. (4.14) Postup výpočtu je znázornený na obrázku 4.5. Tu vidíme príklad výpočtu výslednej hodnoty erózie pre okolie jedného bodu. Pre okolie bodu dané štrukturálnym elementom je vypočítaný prienik (v tomto prípade môžeme hovorit’ o logickom súčine) zo všetkých hodnôt obrazu, ktoré zodpovedajú jednotkovým hodnotám v štrukturálnom elemente. Výsledná hodnota je zapísaná do výstupného obrazu na pozíciu počiatku (typicky stredu) štrukturálneho elementu. 59 4. M ORFOLOGICKÉ OPERÁCIE Obrázok 4.5: Erózia – binárny obraz. Vl’avo je vstupný, vpravo výstupný obraz. Štrukturálny element je znázornený červenou farbou. V tomto prípade je jednotková výsledná hodnota daná prienikom (logickým súčinom) na pozíciách, kde hodnoty v štrukturálnom elemente sú jednotkové. Obrázok 4.6: Vl’avo je binárny vstupný obraz, vpravo je erodovaný výstupný obraz. (Použitý bol štrukturálny element je znázornený na obrázku 4.4). Obrázok 4.6 ilustruje stenčenie objektov na obrázku následkom morfologického erodovania. Objekty a časti objektov (napr. stred písmena E), ktoré sú menšie ako použitý štrukturálny element, boli eróziou odstránené. 60 4.4. Binárna dilatácia a erózia 4.4.3 Vlastnosti dilatácie a erózie Uved’me si vlastnosti binárnej dilatácie a erózie. Dilatácia, práve tak ako erózia je • komutatívna, čiže platí A ⊕ B = B ⊕ A, • asociatívna, čiže platí A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C, • invariantná voči posunutiu, čiže platí A ⊕ (B + x) = (A⊕)B + x. • Dilatácia a erózia sú vzájomne duálne operácie. Dilatovanie obrazu je ekvivalentné erodovaniu komplementárneho obrazu a naopak. Z pohl’adu použitia erózie a dilatácie je nutné si uvedomit’, že • vel’kost’ štrukurálneho elementu je vhodné volit’ ako nepárne číslo. Potom je poloha stredu štrukturálneho elemenu jednoznačná. Ak táto podmienka nie je splnená, môžeme doplnit’ do štrukturálneho elementu nuly a tým ho zväčšt’ na vel’kost’ danú nepárnym číslom. • funkcie na výpočet dilatácie musia ošetrit’ výpočet na okraji obrazu, napr. doplnením nulových hodnôt, ked’že pre výpočet sú potrebné i v skutočnosti neexistujúce hodnoty mimo obraz. 4.4.4 Použitie dilatácie a erózie Dilatáciu binárnych obrazov úspešne využívame v prípadoch, ked’ potrebujeme cielene zväčšit’ binárne oblasti alebo odstránit’ diery v týchto binárnych oblastiach. Podl’a požadovaného účinku a požadovanej morfologickej zmeny tvaru binárnych oblastí v obraze, volíme zodpovedajúcu vhodnú vel’kost’ a vhodný tvar štrukturálneho elementu. Eróziou zase naopak môžeme odstránit’ objekty, ktoré sú menšie ako rozmery štrukturálneho elementu. Príklad erózie, kde sú odstránené nežiaduce detaily je na obrázku 4.7. 4.4.5 Vzájomný vzt’ah medzi eróziou a dilatáciou Ak použijeme postupne operácie erózie a dilatácie s rovnakým štrukturálnym elementom, tak za určitých okolností sa môže výsledný obraz rovnat’ vstupnému, ale neplatí to všeobecne. Erózia a dilatácia nemusia byt’ vždy vzájomne inverzné! Ak je napríklad eróziou malý objekt úplne odstránený, tak ho následná dilatácia už nedokáže zrekonštruovat’. Táto vlastnost’ samozrejme môže 61 4. M ORFOLOGICKÉ OPERÁCIE Obrázok 4.7: Vl’avo je binárny vstupný obraz, vpravo je erodovaný obraz. Môžeme si všimnút’, že malé biele detaily zo vstupného obrazu erodovaním zmizli na úkor čiernych oblastí. niekedy ovplyvnit’ výsledky negatívne, avšak často ju využívame cielene, napr. práve pre odstránenie malých objektov. 4.5 Morfologické otvorenie a uzavretie 4.5.1 Morfologické otvorenie Uvedieme definíciu morfologického otvorenia. Operáciu erózie, nasledovanú dilatovaním erodovaného obrazu s použitím rovnakého štrukturálneho elementu pre obidve operácie, nazývame morfologické otvorenie. Zapíšeme ako (F S) ⊕ S. (4.15) Príklad morfologického otvorenia je na obrázku 4.8 . 4.5.2 Morfologické uzavretie Ak sú operácie erózie a dilatácie použité v opačnom poradí, tak hovoríme o morfologickom uzatvorení. Operácia dilatácie, nasledovaná erodovaním dilatovaného obrazu s použitím rovnakého štrukturálneho elementu pre obidve operácie, nazývame morfologické uzavretie. Zapíšeme ako (F ⊕ S) S. 62 (4.16) 4.5. Morfologické otvorenie a uzavretie Obrázok 4.8: Príklad morfologického otvorenia. Vl’avo je vstupný obraz, vpravo je výstupný obraz. (Použitý bol štrukturálny element znázornený na obrázku 4.4). Príklad morfologického uzavretia: Obrázok 4.9: Príklad morfologického uzatvorenia. Vl’avo je vstupný obraz, vpravo je výstupný obraz. (Použitý bol štrukturálny element znázornený na obrázku 4.4). Obidve operácie, morfologické otvorenie i morfologické uzatvorenie, približne zachovávajú vel’kost’ objektov. Rozdiely pozorujeme predovšetkým ako zmeny v detailoch, ktorých vel’kost’ je porovnatel’ná s použitým štrukturálnym elementom. Avšak i kontúry vel’kých objektov sa môžu tvarom štrukturálneho elementu zmenit’, napr kruhový štrukturálny elemnent kontúry objektov takpovediac „zaoblí“. Z príkladu na obrázku 4.8 vidíme, že operácia morfologicé otvorenie odstránila malé biele objekty v l’avej dolnej časti obrazu. Objekty v pravej dolnej časti obrazu boli väčšie než použitý štrukturálny element a preto odstránené neboli. Ďalší jav, ktorý pozorujeme, je odstránenie výčnelku v strede písmena E. Naopak, z príkladu na obrázku 4.9 vidíme, že operácia morfologicé uzatvorenie odstránila malé tmavé oblasti vo vnútri bieleho objektu, v na63 4. M ORFOLOGICKÉ OPERÁCIE šom prípade vo hviezde, ktoré označujeme ako „diery“ alebo „otvory“ (holes) v objekte. Ďalej vidíme, že objekty, medzi ktorými bola malá medzera (vzhl’adom k použitému štrukturálnemu elementu) sa spojili. Toto spojenie blízkych objektov pozorujeme medzi vel’kými objektami písmena E a hviezdy a tiež v dolnej časti obrazu, kde pospájané malé objekty vytvorili jeden objekt krivkovitého tvaru. 4.6 Šedotónová dilatácia a erózia Koncept binárnej dilatácie a erózie je možno rozšírit’ na šedotónové obrazy. Najskôr uvedieme pôvodnú definíciu [HS87], kde obor funkčných hodnôt štrukturálneho elementu môže byt’ z oboru celých alebo reálnych čísiel a je funkciou, ktorá nemusí byt’ konštantná na svojom definičnom obore. Takýto štrukturálny element nazývajú autori v článku [VT96] nerovným štrukturálnym elementom (non-flat structuring element), nájdeme ho i označený ako 3D štrukturálny element pre 2D obrazy. Nesmieme si však tento štrukturálny element zamieňat’ s 3D štrukturálnym elementom pre 3D obrazy! 4.6.1 Nerovný štrukturálny element Šedotónová dilatácia s použitím nerovného štrukturálneho elementu (po anglicky non-flat structuring element) je definovaná v bode f, ktorý je zároveň kotevným bodom štrukturálneho elementu S, nasledovne F ⊕ S = max{F(f − s) + S}, s∈S (4.17) kde S je nerovný štrukturálny element. Postup výpočtu je ilustrovaný na jednodimenzionálnom signále na obrázku 4.10. K okoliu bodu f, pre ktorý počítame šedotónovú dilatáciu, je najskôr štrukturálny element pripočítaný a potom je výsledná hodnota daná maximálnou hodnotou týchto súčtov. Šedotónová erózia s nerovným štrukturálnym elementom. Šedotónová erózia s nerovným štrukturálnym elementom je definovaná ako F S = min{F(f + s) − S}, s∈S kde S je nerovný štrukturálny element. 64 (4.18) 4.6. Šedotónová dilatácia a erózia Obrázok 4.10: Šedotónová dilatácia ilustrovaná na 1-dimenzionálnom signále. Definícia erózie je podobná definícii dilatácie, ibaže operácia sčítania je nahradená odčítaním a namiesto maxima vyhl’adávame minimum. 4.6.2 Rovný štrukturálny element V praxi je bežne používaný prístup k výpočtu šedotónovej dilatácie a erózie, ktorý je založený na zjednodušenej definícii. Používa rovný štrukturálny element (flat structuring element), ktorý obsahuje hodnoty 0 a 1 (podobne ako pre binárne obrazy), a teda definuje okolie (neighborhood) daného bodu. Výstupná hodnota je potom maximum (u dilatácie) alebo minimum (u erózie) hodnôt obrazu v definovanom okolí daného bodu. Šedotónová dilatácia. Šedotónová dilatácia s rovným štrukturálnym elementom je definovaná ako F ⊕ S = max{F(f − s)}, s∈S (4.19) kde S je rovný štrukturálny element. 65 4. M ORFOLOGICKÉ OPERÁCIE Obrázok 4.11: Ukážka šedotónovej dilatácie s rovným štrukturálnym elementom. Postup výpočtu ilustrovaný na 2D obraze je na obrázku 4.12. Obrázok 4.12: Výpočet šedotónovej dilatácie. Rovný štrukturálny element je znázornený červenou farbou. Jednoducho formulované, hodnota výsledného pixela po dilatovaní sa rovná maximálnej hodnote zo všetkých pixelov obrazu, ktoré sú selektované korešpondujúcimi jednotkovými hodnotami v štrukturálnom elemente. Ide teda vlastne o ekvivalent zorad’ovacieho filtra (order-statistic filter) maxima v prípade dilatácie a zorad’ovacieho filtra minima v prípade erózie (vid’ 2.5.1). 66 4.6. Šedotónová dilatácia a erózia Obrázok 4.13: Príklad šedotónovej dilatácie. Vl’avo je vstupný obraz, vpravo je výstupný obraz. (Použitý bol štrukturálny element znázornený na obrázku 4.4). Šedotónovú dilatáciu použijeme napr. vtedy, ked’ potrebujeme odstránit’ lokálne minimá menšie ako štrukturálny element alebo ked’ potrebujeme zväčšit’ svetlé oblasti v obraze. Samozrejme dôkladne musíme zvážit’ vel’kost’ a tvar štrukturálneho elementu. Šedotónová erózia s rovným štrukturálnym elementom. eróziu definujeme vzt’ahom F S = min{F(f + s)}, s∈S Šedotónovú (4.20) kde S je rovný štrukturálny element (obr. 4.14). Obrázok 4.14: Výpočet šedotónovej erózie. Rovný štrukturálny element je znázornený červenou farbou. 67 4. M ORFOLOGICKÉ OPERÁCIE Šedotónová erózia nachádza uplatnenie napr. v prípade, ked’ chceme odstránit’ malé lokálne minimá, čiže oblasti v obraze svetlej farby, ktorých vel’kost’ je menšia ako vel’kost’ použitého štrukturálneho elementu. Ako ilustráciu uvádzame príklad na obrázku 4.15. Obrázok 4.15: Príklad šedotónovej erózie. Vl’avo je vstupný obraz, vpravo je výstupný obraz. (Použitý bol štrukturálny element znázornený na obrázku 4.4). Pre zaujímavost’ si zdôrazníme rozdiel medzi šedotónovou dilatáciou a filtráciou konvolúciou. Tento rozdiel je je úplne principiálny, spočíva v použití rozdielnych matematických operácií. Namiesto súčtu u konvolúcie je u dilatácie výber maxima, namiesto násobenia medzi hodnotami obrazu a filtračným jadrom pri konvolúcii je operácia súčtu u šedotónovej dilatácie. Rozdiel je i v tom, že filtračné jadro je transponované. 4.7 Morfologický gradient Pre získanie informácie reprezentujúcej hrany v obraze nám základná teória spracovania obrazu ponúka mnohé prístupy. Jednou z možností je využitie morfologických operácií. Odčítaním pôvodného obrazu od morfologicky dilatovaného, prípadne erodovaného obrazu, počítame morfologický gradient. Samozrejme je potrebné zvážit’ absolútnu hodnotu a vhodné preškálovanie vypočítaného rozdielu. Ďalšou možnost’ou je vypočítat’ rozdiel medzi erodovaným a dilatovaným obrazom, ktoré sme získali morfologickým spracovaním rovnakého vstupného obrazu. Postup výpočtu morfologického gadientu MG môžeme zapísat’ ako MG = (F ⊕ S) − (F S). 68 (4.21) 4.7. Morfologický gradient Binárny morfologický gradient. Pre extrakciu obrysu objektu (boundary extraction) binárneho obrazu môžeme použit’ operáciu morfologický gradient. Príklad morfologického gradientu pre binárny obraz je na obrázku 4.16. Obrázok 4.16: Príklad binárneho morfologického gradientu. Vl’avo je vstupný obraz, vpravo je výstupný obraz. Ako vidíme, morfologický gradient nám pre binárne obrazy umožňuje získat’ kontúry binarizovaných oblastí. Morfologický gradient však môžeme využit’ i pre šedotónový obraz. Šedotónový morfologický gradient. Príklad morfologického gradientu pre šedotónový obraz je na nasledujúcom obrázku 4.17. Obrázok 4.17: Príklad šedotónového morfologického gradientu. Vl’avo je vstupný obraz, vpravo je výstupný obraz. Pre uvedený príklad šedotónového morfologického gradientu sme použili štrukturálny element vel’kosti 47×47 kruhového tvaru, pričom vel’kost’ vstupného obrazu bola 610 × 536 pixelov. 69 4. M ORFOLOGICKÉ OPERÁCIE 4.8 Morfologická vrchná a spodná čast’ klobúka Kombinovaním základných morfologických a aritmetických operácií vznikajú d’alšie typy morfologických operácií, ako sú napr. morfologická vrchná a spodná čast’ klobúka. V anglickej literatúre nachádzame tieto morfologické operácie pod názvami Top-hat a Bottom-hat. Morfologická operácia vrchná čast’ klobúka (Top-hat). Morfologická operácia vrchná čast’ klobúka vznikne odčítaním morfologického otvorenia od pôvodného obrazu. Môžeme ju zapísat’ ako F − ((F S) ⊕ S). (4.22) Morfologická operácia spodná čast’ klobúka (Bottom-hat). Duálna morfologická operácia spodná čast’ klobúka naopak vznikne odčítaním pôvodného obrazu od morfologického uzavretia pôvodného obrazu. Zapíšeme ju nasledovne. ((F ⊕ S) S) − F. (4.23) Príklad použitia morfologickej operácie vrchná čast’ klobúka (Top-hat) pre šedotónový obraz je na obrázku 4.18. Použitý štrukturálny element je kruhového tvaru o vel’kosti 47 × 47 a vel’kost’ vstupného obrazu je 584 × 515 pixelov. Vo výstupnom obraze si všimneme výrazné oblasti, ktoré vo vstupnom obraze predstavujú svetlý objekt na tmavom pozadí, pričom jeden rozmer objektu je menší ako vel’kost’ štrukturálneho elementu. Obrázok 4.18: Príklad operácie vrchná čast’ klobúka. Vl’avo je vstupný obraz, vpravo je výstupný obraz. Môžeme pozorovat’ zvýraznené oblasti, napr. tam kam ukazuje červená šípka, ktoré odpovedajú oblastiam s rozmerom menším ako štrukturálny element, pričom sú tieto oblasti svetlé na tmavom pozadí. 70 4.9. Granulometria Obrázok 4.19: Príklad operácie spodná čast’ klobúka. Vl’avo je vstupný obraz, vpravo je výstupný obraz. Podobne ako v predchádzajúcom príklade môžeme pozorovat’ zvýraznené oblasti, napr. tam kam ukazujú červené šípky, ktoré odpovedajú oblastiam s rozmerom menším ako štrukturálny element. Na rozdiel od predchádzajúceho prípadu sú tieto oblasti tmavé na svetlom pozadí. Príklad použitia morfologickej operácie spodná čast’ klobúka (Bottomhat) pre šedotónový obraz vidíme na obrázku 4.19. Použitý štrukturálny element je rovnaký ako v predchádzajúcom príklade vrchnej časti klobúka, ale na výstupnom obraze pozorujeme opačný jav než vpredchádzajúcom príklade. Dominantné oblasti, pozorovatel’né vo výstupnom obraze, odpovedajú tým oblastiam vstupného obrazu, ktoré sú tmavé a sú na svetlom pozadí, pričom jeden rozmer takéhoto objektu je menší ako vel’kost’ štrukturálneho elementu. 4.9 Granulometria Morfologické operácie môžeme výhodne použit’ v úlohách, ktoré si kladú za ciel’ odhadnút’ počet, vel’kost’, prípadne distribúciu určitých častíc (particles) v obraze. Postup je jednoduchý. V prípade, že detegované častice sú svetlejšie než pozadie a sú pravidelných tvarov, tak použijeme operáciu morfologického otvorenia (opening) so štrukturálnym elementom, ktorého vel’kost’ sa bude menit’. (Je vhodné, aby tvar štrukturálneho elementu kopíroval typický tvar detegovaných častíc.) Operáciu otvorenie aplikujeme opakovane, pričom vel’kost’ štrukturálneho elementu sa každý raz zväčší. Pri každom kroku vyhodnotíme rozdiel sumy všetkých pixelov (surface area) v obraze pred a po operácii otvorenia. Získame graf na obrázku 4.22. 71 4. M ORFOLOGICKÉ OPERÁCIE Obrázok 4.20: Vstupný obraz pre príklad morfologického vyhodnotenia granulometrie. Obrázok 4.21: Morfologické otvorenie s postupne sa zväčšujúcim štrukturálnym elementom. Obrázok 4.22: Závislost’ zmeny sumy hodnoty jasu pred a po operácii morfologického otvorenia pre štrukturálne elementy kruhového tvaru s rôznymi polomermi. 72 4.10. Morfologická operácia Hit-or-Miss Na x-ovej osi je vynesený polomer štrukturálneho elementu, na yovej osi je príslušný rozdiel súm intenzity obrazu (surface area) pred a po operácii morfologického otvorenia. Z grafu vidíme dominantné vrcholy, ktoré zodpovedajú vel’kostiam častíc, ktoré sú najvýznamnejšie zastúpené. 4.10 Morfologická operácia Hit-or-Miss „Hit-or-Miss“ morfologická operácia (známa i pod názvami „Hit-or-Miss Transform“ alebo „Hit-and-Miss Transform“) patrí medzi všeobecne známe binárne morfologické operácie, ktoré môžu byt’ použité na hl’adanie konkrétnych objektov na pozadí. „Hit-or-Miss“ je definovaná pre dva komplementárne štrukturálne elementy a pracuje s binárnym obrazom na vstupe i na výstupe. Dva komplementárne štrukturálne elementy Shm1 a Shm2 môžeme zapísat’ ako Shm = (Shm1, Shm2), (4.24) kde Shm1 je štrukturálny element asociovaný s detegovaným objektom a Shm2 je štrukturálny element asociovaný s pozadím. Morfologická operácia „Hit-or-Miss“ je potom HM = (F Shm1) ∩ (Fc Shm2), (4.25) kde F je pôvodný binárny obraz , Fc je jeho komplementárny obraz. Morfologická operácia „Hit-or-Miss“ je vhodná na detekciu všetkých binárnych objektov, ktoré zodpovedjú danému štrukturálnemu elementu Shm1 („hit“) a zároveň štrukturálny element Shm2 („miss“) definuje ich nutné pozadie. Inými slovami Shm1 definuje pixely, ktoré musia byt’ jednotkové a zároveň Shm2 definuje pixely okolia, ktoré nesmú byt’ jednotkové, čiže musia byt’ nulové. Je zrejmé, že základná definícia morfologickej operácie „Hit-or-Miss“ deteguje iba objekty s tvarom presne zodpovedajúcim daným štrukturálnym elementom. Ak ju chceme využit’ i na menej reštriktívnu detekciu, tak je vhodná implementácia s tzv. kompozitným štrukturálnym elementom (vid’ obrázok 4.23), ktorá akceptuje tri rôzne hodnoty v štrukturálnom elemente Shm = (Shm1, Shm2, Shm3). (4.26) Príklad na obrázku 4.24 ilustruje použitie kompozitného štrukturálneho elementu pri detekcii objektu, v tomto prípade číslice 6. 73 4. M ORFOLOGICKÉ OPERÁCIE Obrázok 4.23: Príklad kompozitného štrukturálneho elementu. Pixely zobrazené bielou farbou zodpovedajú štrukturálnemu elementu Shm1 ( „hit“), pixely znázornené čiernou zodpovedajú štrukturálnemu elementu Shm2 ( „miss“), šedé pixely znamenajú ignorovat’. Obrázok 4.24: Príklad použitia „Hit-or-Miss“ transformácie s kompozitným štrukturálnym elementom. Z uvedeného príkladu je zrejmé, že pomocou „Hit-or-Miss“ transformácie sa nám podarilo detegovat’ číslicu „6“ pre ktorú sme definovali štrukturálne elementy. K uvedenej metóde je potrebné ešte podotknút’, že nie je ani škálovo ani rotačne invariantná. 74 4.11. Vzdialenostná transformácia 4.11 Vzdialenostná transformácia V anglickej literatúre nájdeme vzdialenostnú transformáciu pod názvom „distance transform“. Máme binárny obraz, v ktorom nulové hodnoty označujú pozadie. Vzdialenostná transformácia nahradí každý nenulový bod obrazu (pixel) jeho vzdialenost’ou k najbližšiemu pixelu pozadia. Najčastejšie používaná metrika pre výpočet vzdialenostnej transformácie je Euklidovská metrika. Príklad vzdialenostnej transformácie je na d’alšom obrázku 4.25. Obrázok 4.25: Príklad vzdialenostnej transformácie s Euklidovou metrikou. Vl’avo je vstupný obraz, vpravo je výstupný obraz. 4.12 Kostra Morfologická operácia kostra (anglicky Skeleton) je definovaná pre binárne obrazy. Samotná definícia kostry vychádza z definície maximálneho kruhu. • Maximálny kruh B(p, r ) so stredom p a polomerom r , r ≥ 0 je množina bodov, pre vzdialenost’ ktorých od stredu p platí d ≤ r . • Maximálny kruh B vpísaný do množiny X sa dotýka hranice množiny X v dvoch a viacerých bodoch. • Kostra je potom zjednotenie stredov maximálnych kruhov. 75 4. M ORFOLOGICKÉ OPERÁCIE 4.12.1 Príklady algoritmických postupov výpo čtu kostry Výpočet podl’a definície vpisovania maximálnych kruhov. stup je výpočtovo vel’mi náročný a prakticky sa nepoužíva. Tento po- Sekvenčné stenčovanie. Oblast’ sa eroduje vhodným štrukturálnym elementom tak, aby nebola porušená súvislost’ kostry. Príklad kostry počítanej sekvenčným stenčovaním je na obrázku 4.26. Obrázok 4.26: Príklad výpočtu kostry (skeleton). Vl’avo je vstupný binárny obraz, vpravo je obraz kostry. Pomocou vzdialenostnej transformácie. Tento postup patrí pravdepodobne medzi najpoužívanejšie. Umožňuje rýchly výpočet. 4.13 Transformácia rozvodím Originálny anglický názov je Watershed trasformation. Táto morfologická operácia je pre šedotónové obrazy. Koncept transformácie rozvodím je založený na predstave obrazu ako topografického reliéfu, kde vysoké intenzity zodpovedajú pohoriam a nízke zase údoliam. Existujú dva základné algoritmické prístupy – Zhora nadol a Zdola nahor. Zhora nadol. Pri tomto prístupe je potrebné nájst’ pre každý pixel cestu vedúcu do minima v oblasti zodpovedajúcej zbernej nádrži. Pixely sa usporiadajú podl’a toho, v ktorom minime sa skončí ich cesta. Každý bod topologického priestoru, čiže každý pixel v obraze, patrí do jednej z týchto kategórií: 76 4.13. Transformácia rozvodím • je regionálnym minimom, • alebo existuje z tohto bodu práve jedna cesta do regionálneho minima, • alebo s rovnakou pravdepodobnost’ou existuje cesta do viacerých miním. V poslednom prípade je pixel označený ako súčast’ vysegmentovanej hranice rozvodia. Zdola nahor. Pri druhom prístupe každé minimum reprezentuje jednu zbernú nádrž a stratégia spočíva v plnení týchto nádrží smerom nahor. Ak by pri napĺňaní malo dôjst’ k spojeniu dvoch nádrží, tak sa vytvorí umelá hranica (watershed), ktorá tomu zabráni. Práve vytvorené hranice sú výstupom segmentácie rozvodím. Značková segmentácia rozvodím. Pre niektoré aplikácie je vhodné použitie vopred daných značiek pre polohu miním. Tento algoritmický prístup vyžaduje využit’ aj iný zdroj informácie, či už získaný automaticky alebo manuálne, pre riadenie transformácie rozvodím. V praxi sa teda stretávame s implementáciami segmentácie rozvodím s použitím algoritmov, ktoré využívajú značky – semiačka pre definovanie polohy minima. Na druhej strane sú v praxi používané i implementácie segmentácie rozvodím, ktoré pracujú bez značiaceho obrazu a výpočet polohy lokálnych miním je ich súčast’ou. Obrázok 4.27: Príklad transformácie rozvodím. Vl’avo je vstupný obraz, vpravo presegmentovaný výstupný obraz. 77 4. M ORFOLOGICKÉ OPERÁCIE Obrázok 4.28: Príklad transformácie rozvodia. Vl’avo je vstupný obraz z obr. 4.27 vyhladený gaussovým filtrom. Vpravo je výstup transformácie rozvodia vyhladeného vstupu. Typickým problémom pri použití transformácie rozvodím je presegmentovanie (oversegmentation), ked’ sa uplatnia príliš mnohé lokálne minimá (často na úrovni šumu v obraze) a výsledná segmentácia rozvodím nesleduje iba dominantné oblasti, ale vygeneruje vel’ké množstvo malých segmentov. V prípade, že nechceme presegmentovanie generovat’ zámerne (napr. pri tvorbe tzv. „superpixelov“), tak použijeme metódy pre vyhladenie lokálnych miním – či už pomocou jednoduchej dolnopriepustnej filtrácie, ako je demonštrované na príklade 4.28, kde bol obraz vyhladený konvolučne Gaussovským filtrom o vel’kosti 51 × 51, alebo sofistikovanejšími metódami, ako napr. morfologická rekonštrukcia. (Vid’ d’alej 4.15). 4.13.1 Značková segmentácia rozvodím pre farebný obraz Meyer navrhol efektívny algoritmus výpočtu značkovej segmentácie rozvodím metódou rastúcich regiónov. Tento algoritmus bol publikovaný v [Mey92]. • Inicializácia. Značkám (semiačkam) je priradený jednoznačný identifikátor (číslo). Každý región si zachová hodnotu identifikátora tej značky, ktorá bola jeho zdrojom. Potom je vygenerovaná usporiadaná postupnost’ s takým počtom úrovní priority, kol’ko je úrovní šedej v obraze. Všetky body susediace so značkou (semiačkom) sú vložené do tejto usporiadanej postupnosti. 78 4.14. Geodetické metódy • Rast značiek do regiónov. Ak má bod vo svojom okolí jeden a práve len jeden identifikátor regiónu, tak je priradený do tohoto regiónu. Jeho susedia bez identifikátorov, ktorí sú stále ešte nezaradení do usporiadanej postupnosti, sú vložení do usporiadanej postupnosti s rovnakým príslušnou prioritou ako vo fáze inicializácie. • Pokial’ jeden bod susedí s dvomi regiónmi s rôznymi identifikátormi, tento bod sa stane hraničným bodom a dostane špeciálne označenie charakterizujúce hranice. Použité metrika podobnosti d medzi bodom p a regiónom r je daná rozdielom vo farbe nasledovne: d = max{|p r − r r |, |p g − r g |, |p b − r b |}. 4.14 (4.27) Geodetické metódy Geodetické metódy riadia morfologické operácie tak, aby operovali len na časti obrazu. Ak sa má napríklad rekonštruovat’ objekt a my máme značku, ktorá nám daný objekt ukazuje, tak je vhodné obmedzit’ rekonštrukciu iba na hranice objektu. 4.14.1 Geodetická vzdialenost’ Ústredným pojmom geodetických metód je geodetická vzdialenost’. Je to cesta medzi dvoma bodmi, ktorá je obmedzená tým spôsobom, že musí ležat’ vo vnútri danej množiny. Obrázok 4.29: Príklad geodetickej vzdialenosti. 4.15 Morfologická rekonštrukcia Morfologická rekonštrukcia je založená na iteratívnom procese, pri ktorom sa opakuje výpočet geodetickej binárnej dilatácie, alebo sa opakuje 79 4. M ORFOLOGICKÉ OPERÁCIE výpočet geodetickej binárnej erózie. V prvom prípade hovoríme o rekonštrukcii dilatáciou, v druhom prípade hovoríme o rekonštrukcii eróziou. 4.15.1 Geodetická binárna dilatácia Okrem spracovávaného obrazu, označovaného tiež ako maskovací obraz (mask image) F a štrukturálneho elementu S, potrebujeme d’alší, tzv. značiaci obraz (marker image) G. Maskovací obraz je vlastne vstupný spracovávaný obraz. Vstupom pre prvý krok iteratívneho procesu je značiaci obraz G. Na tento sa najskôr aplikuje operácia dilatácie s daným štukturálnym elementom S a následne prienik s maskovacím obrazom F. Výstup týchto operácií je vstupom pre d’alšiu iteráciu. Postup sa opakuje až po dosiahnutie nemenného stavu v maskovacom obraze. Túto vlastnost’ nazývame idempotencia. Iteratívny proces geodetickej dilatácie maskovacieho obrazu F podl’a značiaceho obrazu G s použitím štrukturálneho elementu S zapíšeme nasledovne D(0) = F, G D(1) G (n) DG = (F ⊕ S) # (4.28) G, (n−1) = D(1) (F)), G (DG (4.29) (4.30) (n) DG je výstup geodetickej dilatácie po n-tej iterácii podl’a značiaceho obrazu G. Obrázok 4.30: Príklad geodetickej dilatácie. 80 4.15. Morfologická rekonštrukcia Postupnými iteráciami dochádza k vypĺňaniu tých súvislých oblastí, ktoré boli označené v značiacom obraze. Selektované oblasti, ktoré neboli označené v značiacom obraze sú v priebehu výpočtu vymazané, až po ukončení výpočtu úplne zmiznú. Je vhodné zvolit’ malý štrukturálny element, napr vel’kosti 3×3. Väčšie štrukturálne elementy by takpovediac „preklenuli“ medzeru zodpovedajúcej vel’kosti medzi dvomi samostatnými súvislými oblast’ami. Pokial’ túto vlastnost’ nepoužívame cielene, napr. na spojenie blízkych súvislých oblastí, tak príliš vel’ký štrukturálny element môže spôsobit’ nežiadúci efekt. 4.15.2 Geodetická binárna erózia Podobne ako geodetickú dilatáciu, definujeme i geodetickú eróziu = F, D(0) G D(1) G (n) DG = (F S) ! (4.31) G, (n−1) = D(1) (F)), G (DG (4.32) (4.33) (n) DG je výstup geodetickej erózie po n-tej iterácii podl’a značiaceho obrazu G. Geodetická erózia je duálna operácia ku geodetickej dilatácii. Iteratívny výpočet prebieha rovnako, avšak s tým rozdielom, že operácia dilatácie je nahradená eróziou a namiesto prieniku s maskovacím obrazom, počítame zjednotenie s maskovacím obrazom. Čiže pri geodetickej erózii je na obraz F postupne aplikovaná erózia, pričom po každej erózii je na erodovaný obraz ešte aplikujeme zjednotenie s maskou G, čím sa zabráni prílišnej erózii F pod zvolenú minimálnu hranicu, definovanú maskou. 4.15.3 Morfologická rekonštrukcia a jej použitie Rekonštrukcia obrazu eróziou F vzhl’adom na značiaci obraz G pomocou erózie je definovaná ako geodetická erózia F vzhl’adom na G až do okamihu dosiahnutia nemenného stavu. Duálna definícia je pre rekonštrukcia obrazu dilatáciou. Diery v binárnom obraze môžeme interpretovat’ ako regionálne minimá, ktoré nie sú priamo spojené s okrajom obrazu. Rekonštrukciu obrazu môžeme použit’ na vyplňovanie dier, ked’že odstraňuje všetky minimá, ktoré nie sú spojené s okrajom obrazu F. 81 4. M ORFOLOGICKÉ OPERÁCIE Opakovanie geodetickej dilatácie umožňuje rekonštrukciu súvislých regiónov v obraze F, ktoré boli pôvodne označené pomocou značky v značiacom obraze G. Naopak, súvislé regióny v obraze F, ktoré neboli označené v značiacom obraze G, aplikovaním geodetickej dilatácie zmiznú. 4.16 Morfologická šedotónová rekonštrukcia Metódu pod názvom „Morfologická šedotónová rekonštrukcia“ publikoval Luc Vincent v článku [Vin93a]. Je to vel’mi účinná metóda na spracovanie obrazu s využitím regionálnych maxím. Najskôr definujeme geodetickú dilatáciu a geodetickú eróziu pre šedotónové obrazy. 4.16.1 Geodetická šedotónová dilatácia a erózia Definícia šedotónovej geodetickej dilatácie je odvodená od binárnej geodetickej dilatácie (vid’ odstavec 4.15.1) s tým rozdielom, že operácia dilatácie je v tomto prípade šedotónová dilatácia a prienik množín je nahradený výberom minimálnej hodnoty po bodoch medzi množinami. Iterovaním takto definovanej šedotónovej geodetickej dilatácie maskovacieho obrazu F s použitím značiaceho obrazu G získame šedotónovú morfologickú rekonštrukciu. Zapíšeme ako D(0) = F, G D(1) G (n) DG = (F ⊕ S) $ (4.34) G, (n−1) = D(1) (DG (F)), G (4.35) (4.36) pričom % značí výber minimálnej hodnoty po bodoch, (n) DG je výstup šedotónovej geodetickej dilatácie po n-tej iterácii podl’a značiaceho obrazu G. D(0) = F, G D(1) G (n) DG = (F S) & (4.37) G, (n−1) = D(1) (F)), G (DG pričom ' značí výber maximálnej hodnoty po bodoch, 82 (4.38) (4.39) 4.16. Morfologická šedotónová rekonštrukcia (n) DG je výstup šedotónovej geodetickej erózie po n-tej iterácii podl’a značiaceho obrazu G. Šedotónovú rekonštrukciu ilustruje nasledovný príklad. Pre vykonanie operácie šedotónovú rekonštrukcie potrebujeme najskôr vytvorit’ značiaci obraz G, ktorý riadi spracovanie. Značiaci obraz G(x,y) musí spĺňat’ podmienku G(x, y) ≤ F(x, y). (4.40) Obrázok 4.31: Morfologická šedotónová rekonštrukcia v 1D. Na obr. 4.31 je ilustrovaný jednodimenzionálny prípad morfologickej šedotónovej rekonštrukcie. Funkcia F tu reprezentuje vstupné hodnoty (masku) v šedotónovej škále, G reprezentuje značiaci obraz. Morfologická šedotónová rekonštrukcia odstráni regionálne maximá. Ktoré maximá budú odstránené, aká bude miera ich odstránenia – toto je určované použitým značiacim obrazom G. 4.16.2 Generovanie zna čiaceho obrazu Spôsob a konkrétny algoritmus generovania značiaceho obrazu je priamo závislý od aplikácie pre ktorú túto operáciu spracovania chceme použit’. Uvedieme niektoré najpoužívanejšie prístupy • Morfologická erózia • Odčítanie konštantnej hodnoty od vstupného obrazu • Sofistikované prístupy Prvé dva menované prístupy zaručujú splnenie podmienky (4.40). Ak vytvárame značiaci obraz iným algoritmom, musíme splnenie tejto podmienky garantovat’. 83 4. M ORFOLOGICKÉ OPERÁCIE 4.16.3 Príklady použitia Vyhladenie a odstránenie lokálnych maxím z obrazu. Zlepšenie kvality obrazu (image enhancement) odstránením tej časti signálu, ktorá má pre danú aplikáciu rušivý charakter, je často používaný prístup pri predspracovaní obrazu. Morfologická šedotónová rekonštrukcia nám umožňuje odstránit’ rušivé lokálne extrémy bez porušenia hrán. Ak chceme odstránit’ lokálne maximá so známymi požiadavkami na ich maximálnu vel’kost’, prípadne so známymi požiadavkami na ich tvar, tak je vhodné vytvorit’ značiaci obraz s použitím morfologickej erózie. Na obrázku 4.32 je ukážka úpravy mikroskopických obrazov zliatiny Inconel ako bola publikovaná v článku [BRJ06]. Šedotónová rekonštrukcia bola použitá dvakrát, a to najskôr na mikroskopický obraz a potom na invertovaný obraz po rekonštrukcii. Značiaci obraz bol generovaný sofistikovaným algoritmom so zámerom definovat’ oblasti, ktoré majú byt’ chránené pred vyhladením, ako sú napríklad hrany regiónov odpovedajúcich zrnám v oceli. Obrázok 4.32: Príklad vylepšenie kvality obrazu šedotóvovou morfologickou rekonštrukciou. Vl’avo je vstupný obraz, v strede je obraz po morfologickej rekonštrukcii, vpravo ukážka jedného z dvoch použitých značiacich obrazov. Extrakcia lokálnych maxím. V niektorých aplikáciách je dôležitým krokom extrahovanie lokálnych extrémov. V tomto prípade môžeme získat’ tieto dáta odčítaním výstupného obrazu od vstupného ako je ukázané na obrázku 4.33. 84 4.17. Príklad použitia morfologických operácií pre segmentáciu superpixelov Obrázok 4.33: Odčítanie rekonštruovaného obrazu od vstupného. 4.17 Príklad použitia morfologických operácií pre segmentáciu superpixelov Superpixely sú segmenty obrazu, ktoré môžu slúžit’ ako základné jednotky d’alšieho spracovania obrazu. Ich ciel’om je znížit’ redundanciu v obraze a zvýšit’ účinnost’ z hl’adiska d’alšieho spracovania úlohy. Metódy na výpočet superpixelov využívajú rôzne prístupy, ako napr. metódy posunu stredov (Mean-shift) [CMM02], priestorovo koherentné zhlukovanie s použitím rezov grafov (Graph Cuts) [ZK04], entropickú segmentáciu superpixelov (Entropy Rate Superpixel Segmentation) [Liu+11], jednoduché lineárne iteratívne zhlukovanie (Simple Linear Iterative Clustering (SLIC)), prípadne iteratívne algoritmy ako TurboPixels [Lev+09]. Na obrázku 4.34 je ukážka segmentovania na superpixely. Postup, ktorý je d’alej popísaný, demonštruje výpočet superpixelov práve s použitím morfologických operácií, ktoré sme uvádzali v tejto kapitole. Nejedná sa už o jednoduchú morfologickú operáciu, ale sofistikovaný prístup, ktorý kombinuje viaceré morfologické metódy. Výsledkom je rýchly spôsob segmentácie obrazu do superpixelov pomocou morfologického spracovania vhodný pre aplikácie v reálnom čase alebo takmer v reálnom čase. Algoritmus v tejto forme doteraz nebol publikovaný. Ďalej ho budeme skrátene nazývat’ MSS (Morphological Superpixel Segmentation). Požiadavky na navrhovanú metódu môžeme deklarovat’ nasledovne • Výpočet musí byt’ dostatočne rýchly pre využitie v aplikáciách bežiacich v reálnom čase. 85 4. M ORFOLOGICKÉ OPERÁCIE Obrázok 4.34: Ukážka segmentovania na superpixely. • Vytvorené superpixely musia mat’ dostatočne malú varianciu v rámci jedného superixela a naopak môžu mat’ vel’kú varianciu medzi rôznymi superpixelmi. • Musí byt’ garantovaná priestorová koherencia v obraze. • Hranice segmentovaných superpixelov musia sledovat’ hranice pravidelných obdĺžnikových oblastí, pokial’ nie je v blízkosti významná hrana (saliency edge). • Lokálne priestorové maximá a lokálne minimá v obraze, ktorých plocha je malá v porovnaní s požadovanou vel’kost’ou segmentovaného superpixela (bez ohl’adu na zodpovedajúcu hodnotu intenzity tohoto lokálneho extrému, budú považované za irelevantné a nebudú prispievat’ k segmentácii. Nový prístup na báze morfologického spracovania. Navrhovaný prístup na báze morfologického spracovania pracuje s 8-súvislost’ou, čím je garantovaná priestorová koherencia. Kl’účová otázka je, ktoré hrany sú výrazné hrany a majú prispievat’ k tvorbe hrán superpixelov a ktoré sú nepodstatné, a teda majú byt’ ignorované? Pre riešenie tohoto problému sú v prvom kroku vyhladené malé lokálne extrémy v obraze a tým odstránené hrany s lokálnou signifikanciou. Algoritmus potom pozostáva z d’alej uvedených základných krokov. 86 4.17. Príklad použitia morfologických operácií pre segmentáciu superpixelov • Najprv využijeme morfologickú rekonštrukciu obrazu na odstránenie irelevantných lokálnych extrémov v obraze s ciel’om odstránit’ nepodstatné hrany. • Potom generujeme značky pre značkovú transformáciu rozvodím (Watershed trasformation). Za týmto účelom použijeme sofistikovaný postup zaplavenia vo vstupnom obraze vytvorenom ako rozdiel medzi pôvodným obrazom a obrazom filtrovaným Gaussovým filtrom. • V d’alšom kroku prebehne výpočet samotnej morfologiskej značkovej transformácie rozvodia. 4.17.1 Vyhladenie morfologickou rekonštrukciou Použitá metóda bola uvedená v [Vin93a] a je popísaná v kapitole 4.15. Výber vhodnej metódy generovania značiaceho obrazu silne závisí na požadovanej aplikácii. V tejto navrhovanej metóde je značiaci obraz generovaný morfologickou eróziou. Parameter s, ktorý udáva vel’kost’ štrukturálneho elementu, môže byt’ priamo odvodený z maximálneho priemeru oblastí lokálnych extrémov, ktoré majú byt’ odstránené. Experimentálne bol stanovený tento parameter na hodnotu s = 7, pričom samotný výpočet prebehol 6-krát: 3-krát pre jednotlivé R,G,B kanály (odstránenie lokálnych maxím) and 3-krát pre jednotlivé R,G,B kanály invertovaného obrazu (odstránenie lokálnych miním). Príklad výstupu morfologickej rekonštrukcie je na nasledujúcom obrázku 4.35. Obrázok 4.35: Vl’avo je vstupný obraz. Vpravo je obraz vyhladený morfologickou rekonštrukciou. 87 4. M ORFOLOGICKÉ OPERÁCIE 4.17.2 Generovanie zna čiek – semia čok pre zna čkovú transformáciu rozvodím Semiačko je značka počiatku rastúcich regiónov. V anglickej literatúre sa semiačka označujúako termínom seeds. Superpixely musia na jednej strane rešpektovat’ požiadavku na ich pravidelné rozmiestnenie a zároveň sledovat’ významné hrany objektov na strane druhej. Jednou z možností je generovanie značiek v pravidelnej mriežke. Túto štandartnú metódu zároveň využijeme ako referenčnú metódu pre vyhodnotenie tejto navrhnutej metódy. Vstupom je vyhladený obraz, ktorý sme získali v predchádzajúcom kroku. Hranový obraz v d’alšom kroku vytvoríme ako rozdiel obrazu po rozmazaní Gaussovým filtrom a pôvodným obrazom. Výstup d’alej slúži na tvorbu značiek nasledovným postupom • Najskôr je každé semiačko umiestnené do stredu pravidelne vytvorenej mriežky. • Metódou rastúcich regiónov s použitím 8-súvislosti v obraze F sú tieto oblasti riadené parametrom p, ktorý určuje kedy sa zastaví rast regiónu. Zároveň je rast obmedzený pravidelne vygenerovanou mriežkou. Parameter p je vlastne maximálna tolerovaná diferencia vo farbe medzi pixelom a jeho okolím patriacim do jeho 8-susedného okolia vo funkcii pre výpočet rastúcich regiónov. Vplyv rôznych hodnôt parametra p je demonštrovaný na nasledujúcich obrázkoch 4.36. Obrázok 4.36: Vplyv rôznych hodnôt parametra p. Hodnota parametra na obrázkoch zl’ava doprava: 0, 1, 2. 4.17.3 Transformácia rozvodím V d’alšom kroku bola počítaná transformácia rozvodia pre farebný vstupný obraz tak, ako bola popísaná v odstavci 4.13.1. Sekvencia obrázkov 4.37 demonštruje jednotlivé kroky algoritmu. 88 4.17. Príklad použitia morfologických operácií pre segmentáciu superpixelov Obrázok 4.37: Zl’ava doprava: vstupný obraz, obraz po morfologickej rekonštrukcii, značky pre transformáciu rozvodia (zelené), hranice superpixelov po transformácii rozvodia, hranice superpixelov znázornené v obraze. 4.17.4 Vyhodnotenie Vyhodnotenie obnovenia hraníc (Boundary Recall) Pre vyhodnotenie obnovenia hraníc (Boundary Recall) je potrebná referencia ručne segmentovaných hrán objektov (saliency edges), ktoré majú byt’ sledované hranicami suprpixelov. Použitý súbor testovacích obrazov „Berkeley Segmentation Dataset and Benchmark“ [Mar+01] tieto referenčné dáta poskytuje. Pretože aj pri manuálnej segmentácii objektov sa opakované pokusy neprekrývajú s presnost’ou na jeden pixel, je vhodné zaviest’ určitú toleranciu i pre vyhodnocovanie. Štandartne sa pri vyhodnocovaní tohoto testovacieho súboru používa tolerančná odchýlka k = 2 pixely. Potom počítame vyhodnotenie pre obnovennie hranice (Boundary recall) BR podl’a vzt’ahu BR = TP TP +FN (4.41) Pričom hodnoty TP (skratka z angl. true positive) a FN (skratka z angl. false negative) získame nasledovne. TP sú tou čast’ou referenčných dát (ground truth), ktoré sa nachádzajú s uvedenou toleranciou k = 2 pixely v Euklidovskej vzdialenosti od najbližšej hranice vytvorených superpixelov. FN sú tou čast’ou referenčných dát (ground truth), ktoré nemajú s uvedenou toleranciou k = 2 pixely v Euklidovskej vzdialenosti žiadne hranice vytvorených superpixelov. 89 4. M ORFOLOGICKÉ OPERÁCIE Chyba podsegmentovania (Undersegmentation Error) Chyba podsegmentovania (Undersegmentation Error) je vysvetlená pomocou obrázku 4.38. Obrázok 4.38: Chyba podsegmentovania. Modrou farbou je znázornený objekt, červenou farbou sú znázornené hranice superpixelov. Modrý objekt z referenčného súboru je chybne rozdelený do znázorneného superpixelu, pričom vzniknú dve časti: vnútorná A a vonkajšia B. Ako chybový údaj je vyhodnotená tá plocha vnútornej alebo vonkajšej časti superpixela, ktorá generuje menšiu chybu. Celkovo sa potom vyhodnocuje podiel plôch v pomere: súčet chybových plôch ku celkovej ploche segmentu z referenčného súboru. 4.17.5 Výsledky Prezentovaná morfologická metóda na výpočet superpixelov (MSS) bola vyhodnotená s použitím nástroja Superpixel Benchmark Toolbox [NP12], ktorý umožňue porovnávanie úspešnosti akejkol’vek novej metódy s najvýznamnejšími, doteraz publikovanými, metódami (vid’ rešerš v kapitole 4.17). Metóda bola vyhodnotená s použitím uvedených metrík uvedených v odstavci 4.17.4 a to v závislosti na počte superpixelov v obraze ako premenlivého parametra. Na grafoch v obrázku 4.39 sú znázornené výsledky porovnania popísanej metódy (MSS) s metódou SLIC, transformáciou rozvodia s rovnomernou mriežkou (WS – regular grid watershed segmentation) a s jednoduchým generovaním superpixelov v tvare pravidelnej mriežky (BOX). Z grafov na obrázku 4.39 vidíme, že výsledky pomocou popísanej metódy sú konzistentne lepšie v porovnaní s ostatnými metódami včetne metódy SLIC, ktorá patrí v súčasnosti medzi najprominentnejšie. Po vyhodnotení časovej výpočtovej náročnosti vidíme, že metóda MSS je tiež 90 4.17. Príklad použitia morfologických operácií pre segmentáciu superpixelov Obrázok 4.39: Vl’avo sú výsledky vyhodnotenia obnovenia hraníc (Boundary recall). Vpravo je vyhodnotená chyba podsegmentovania (Undersegmentation error). konzistentne rýchlejšia než metóda SLIC, ktorá patrí v súčasnosti medzi najrýchlejšie. Rozlíšenie obrazu 192 × 108 384 × 216 960 × 540 1344 × 756 1920 × 1080 SLIC MSS 33 ms 127 ms 766 ms 1511 ms 3132 ms 26 ms 33 ms 118 ms 228 ms 470 ms Tabul’ka 4.1: Priemerný čas potrebný pre výpočet superpixelov (Intel Core i3 processor clocked at 2.27 GHz). Popísaná metóda demonštruje možnosti uplatnenia morfologických operácií a predovšetkým ich kombinovanie pre riešenie zložitejších úloh. 91 Zoznam použitej literatúry [Ber30] D. Bernoulli. „Fourier Series“. (1830), str. 1–10. [BRJ06] W. Benesova, A. Rinnhofer a G. Jakob. „Determining the Average Grain Size of Super-Alloy Micrographs“. IEEE International Conference on Image Processing. IEEE 1-4244-0480-0, 2006, str. 2749–2752. [CMM02] D. Comaniciu, P. Meer a S. Member. „Mean shift: A robust approach toward feature space analysis“. IEEE Transactions on Pattern Analysis and Machine Intelligence 24 (2002), str. 603– 619. [CT65] W. J. Cooley a J. W. Tukey. „An algorithm for the machine calculation of complex Fourier series“. Math. Comp (1965), str. 297–301. [GW01] R. Gonzalez a R. Woods. Digital Image Processing. Druhé vyd. Prentice Hall, 2001. [GW08] R. C. Gonzalez a R. E. Woods. Digital Image Processing. Tretie vyd. Prentice Hall, 2008. [Hla12] V. Hlaváč. „Fourierova transformace v 1D a 2D“. Prednáška (2012). [HS05] V. Hlaváč a M. Sedláček. Zpracování signálů a obrazů, skriptum. Vydavatelství ČVUT, 2005. 92 Zoznam použitej literatúry [HS87] R. M. Haralick a S. R. Sternberg. „Image Analysis Morphology“. IEEE transactions on pattern analysis and machine intelligence July (1987), str. 532–550. [JB89] L. Jaroslavskij a I. Bajla. Metódy a systémy číslicového spracovania obrazov. Alfa, Bratislava, 1989. [KR96] G. Kotuliaková a J. Rozinaj. Číslicové spracovanie signálov. Bratislava: FABER, 1996. [Lev+09] A. Levinshtein a kol. „TurboPixels: Fast Superpixels Using Geometric Flows“. IEEE Transactions on Pattern Analysis and Machine Intelligence 31.12 (2009), str. 2290–2297. [Lih02] J. Lihov. „Algebra a jej vety II.“ (2002), str. 1–29. [Liu+11] M.-Y. Liu a kol. „Entropy rate superpixel segmentation“. Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. CVPR ’11. Washington, DC, USA: IEEE Computer Society, 2011, str. 2097–2104. [Mar+01] D. Martin a kol. „A Database of Human Segmented Natural Images and its Application to Evaluating Segmentation Algorithms and Measuring Ecological Statistics“. Proc. 8th Int’l Conf. Computer Vision. Zv. 2. Júl 2001, str. 416–423. [Mey92] F. Meyer. „Color image segmentation“. Image Processing and its Applications, 1992., International Conference on. 1992, str. 303–306. [NP12] P. Neubert a P. Protzel. „Superpixel Benchmark and Comparison“. Proc. of Forum Bildverarbeitung. Regensburg, Germany. 2012. [NT02] R. Neumann a G. Teisseron. „Extraction of dominant points by estimation of the contour fluctuations“. Pattern Recognition 35 (2002), str. 1447–1462. [Ond+07] Ondráček O. a kol. Biosignály. Bratislava: Vydavatelstvo STU v Bratislave, 2007. [OS75] A. V. Oppenheim a R. W. Schafer. Digital signal processing. Prentice-Hall, 1975. [PPP05] J. Pavlovičová, M. Partyk a J. Polec. Číslicove spracovanie obrazu. Bratislava, Vydavatelstvo STU v Bratislave, 2005. [RY00] K. Rao a P. Yip. The transform and data compression handbook. 2000. 93 [SHB07] M. Sonka, V. Hlavac a R. Boyle. Image Processing, Analysis, and Machine Vision. Tretie vyd. Cengage Learning, 2007. [Vin93a] L. Vincent. „Morphological grayscale reconstruction in image analysis: applications and efficient algorithms“. Image Processing, IEEE Transactions on 2.2 (1993), str. 176–201. [Vin93b] L. Vincent. „Morphological Grayscale Reconstruction in Image Analysis: Applications and Efficient Algorithms“. IEEE Transactions on Image Processing, 2.2 (1993), str. 176–201. [VT96] M. Van Droogenbroeck a H. Talbot. „Fast computation of morphological operations with arbitrary structuring elements“. Pattern Recognition Letters 17.14 (dec. 1996), str. 1451–1460. [Vyr06] R. Výrut. „Minkowského suma“. Geometry and Computer Graphics. Nové Město na Moravě, 2006. [ZK04] R. Zabih a V. Kolmogorov. „Spatially Coherent Clustering Using Graph Cuts“. CVPR (2). 2004, str. 437–444. Č AS Ť II P RÍZNAKY K APITOLA 5 Príznaky v oblasti počítačového videnia V tejto časti knihy sa budeme zaoberat’ príznakmi a ich prípravou na proces klasifikácie. Objekt v oblasti počítačového videnia je útvar reprezentovaný oblast’ou v segmentovanom obraze. Príznakom sa rozumie výsledok merania, ktoré kvantifikuje nejakú vlastnost’ objektu. Viacero jednotlivých príznakov sa spája do príznakového vektora (vektora príznakov). Práca s príznakmi ul’ahčuje následné úlohy klasifikácie, lebo znižuje objem spracovávaných dát. Ak by sme obraz s rozmermi 1920×1080 pixelov reprezentovali ako jeden vektor intenzít, jeho rozmer by bol 2073600. Ak by sme tento obraz opísali napríklad 256-triednym histogramom intenzít, znížime objem spracovávaných údajov 8100-krát. Typy príznakov môžeme určovat’ podl’a niekol’kých kritérií. Na základe úrovne abstrakcie definujeme nasledovné triedy príznakov. Nízkoúrovňové príznaky opisujú základné vlastnosti objektov, ako tvar, farbu, textúru, hrany, rohy atd’. Strednoúrovňové príznaky vzniknú spojením nízkoúrovňových príznakov, ako napríklad kontrast, použitá paleta farieb alebo súpis základných tvarov v obraze. Spojením informácie o farbe objektu, textúre, umiestnení a pod. vieme určit’ sémantické kategórie (voda, sneh, skala, vegetácia, . . .). Takisto využitím nízkoúrovňových príznakov vieme detegovat’ napríklad l’udské tváre. Vysokoúrovňové príznaky sú príznaky najvyššej úrovne, ktoré opisujú sémantiku zobrazenej scény – napríklad osoba sediaca na pláži (obraz obsahuje vodu, piesok, oblohu a osobu v určitej vzájomnej konštelácii). 96 Obrázok 5.1: Príklad segmentácie obrazu. Zl’ava pravidelná segmentácia bez prekryvu, pravidelná segmentácia s prekryvom v strede, nepravidelná segmentácia s prekryvom v strede a segmentácia podl’a obsahu obrazu. Nízkoúrovňové príznaky môžeme delit’ na bodové, lokálne a globálne. Bodové príznaky opisujú každý bod pozíciou, intenzitou alebo farbou. Globálne príznaky opisujú celý obraz alebo časti (objekty) vzniknuté segmentáciou obrazu. Segmentácia môže byt’ pravidelná s prípadným prekryvom, alebo založená na obsahu obrazu (obr. 5.1). Medzi globálne príznaky patria napríklad dominantná farba, textúra, tvar oblasti atd’., s ktorými sa bližšie oboznámime v kapitolách 6, 7 a 8. Lokálne príznaky, ktorým je venovaná kapitola 9, opisujú body a ich najbližšie okolie. Ďalej si ukážeme, ako príznaky pripravit’ na proces klasifikácie (kap. 10) a ako určit’ vhodné príznaky (kap. 11 a kap. 12). Vektor príznakov ako deskriptor objektu by mal spĺňat’ určité podmienky: • dva rovnaké objekty musia mat’ rovnaké deskriptory a naopak, dva rovnaké deskriptory musia opisovat’ rovnaké objekty, • podobné objekty musia byt’ klasifikovatel’né do jednej triedy, ak majú podobné (blízke) deskriptory, • príznaky by mali byt’ invariantné. Najmä voči rotácii, posunutiu, škálovaniu. Invariantnost’ voči afinným a perspektívnym transformáciám je vhodná najmä, ak máme rozpoznat’ objekty snímané z rôznych zorných uhlov, • deskriptor by mal byt’ kompaktný. Mal by obsahovat’ najmenšiu množinu informácií, ktorá je potrebná na identifikáciu daného objektu a jeho odlíšenie od objektov iných tried. 97 K APITOLA 6 Príznaky tvaru 6.1 Binárny obraz Príznaky tvaru sa najl’ahšie hl’adajú v binárnych obrazoch, ktoré dostaneme po segmentácii obrazu na objekty (obr. 6.1). Jednotlivé vysegmentované oblasti sú oddelené od pozadia, ktoré je reprezentované nulou. V prípade, že tieto oblasti netvoria jeden objekt, môžeme identifikovat’ jednotlivé objekty pomocou algoritmu 6.1. Tento algoritmus pracuje so 4- alebo 8-susednost’ou (pozri kap. 4.2.1) a podl’a toho určí použitú masku (obr. 6.2). Príklad jednotlivých krokov algoritmu je na obrázku 6.3. Obrázok 6.1: Segmentácia obrazu na oblasti. V prvom prípade oblasti netvoria jeden objekt. 98 6.2. Opis tvaru založený na hranici oblasti (a) (b) (c) Obrázok 6.2: Masky používané v algoritme 6.1. (a) Maska pre 4-susednost’. (b) Maska pre 8-susednost’. (c) Kolízia pre masku 4- a 8-susednosti. 1. prechod skenuj obraz, nájdi nenulový bod obrazu P ak sú susedné pixely určenej masky nulové bodu P priraď nové označenie inak ak všetky nenulové pixely majú rovnaké označenie bodu P priraď toto označenie inak bodu P priraď ľubovoľné označenie z hodnôt pod maskou zaznamenaj kolíziu do tabuľky ekvivalencie 2. prechod skenuj obraz, zjednoť označenie podľa tabuľky ekvivalencie Algoritmus 6.1: Identifikácia oblastí v binárnom obraze. 6.2 Opis tvaru založený na hranici oblasti Oblast’ je definovaná svojím vnútrom a hranicou. Bod oblasti leží na hranici, ak aspoň jeden z jeho susedov nepatrí oblasti. Hranicu väčšinou hl’adáme algoritmom sledovania hranice, kde po nájdení prvého hraničného bodu postupujeme v smere (alebo proti smeru) hodinových ručičiek a označujeme d’alšie body hranice. Na to, aby sme určili, či bod je hraničný, musíme vediet’, či je oblast’ 4- alebo 8-susedná. Rôzne typy susednosti oblasti vedú k rôznym hraniciam. Susednost’ hranice a oblasti je vždy komplementárna. To znamená, že hranica 4-susednej oblasti je 8-susedná a naopak, ako vidíme na obrázku 6.4. 99 6. P RÍZNAKY TVARU (a) Vstup do algoritmu – seg- (b) 1. prechod algoritmu mentované oblasti. s vyznačenými kolíziami. (c) 2. prechod algoritmu. Obrázok 6.3: Ilustrácia vstupu a výstupov algoritmu 6.1 pri použití masky 6.2(a). (a) Vysegmentovaná oblast’. (b) 8-susedná hranica 4-su- (c) 4-susedná hranica 8-susednej oblasti. sednej oblasti. Obrázok 6.4: Oblast’ a jej hranica pre rôznu susednost’ oblasti. 3 2 0 4 5 1 6 7 (a) 2 0 4 6 (b) Obrázok 6.5: Kódovanie použité vo Freemanovom kóde. (a) Kódovanie 8-susedného objektu. (b) Kódovanie 4-susedného objektu. 6.2.1 Ret’azcový Freemanov kód Pre 8-susednú hranicu kódujeme 8-okolie bodu číslami 0, . . . 7 ako na obrázku 6.5. Ret’azcový (Freemanov) kód hranice objektu je potom postupnost’ čísel, ktorá obsahuje informáciu, ktorým smerom hranica z daného bodu pokračuje. Ret’azcový kód začína vo zvolenom začiatočnom bode. Príklad ret’azcového kódu objektu na obrázku 6.6 začínajúci v bode P je 221171076555443. 100 6.2. Opis tvaru založený na hranici oblasti Obrázok 6.6: Freemanov ret’azcový kód hranice z obrázka 6.4(b). Problémom ret’azcového kódu je vol’ba začiatočného bodu a neinvariantnost’ voči rotácii. Prvý problém spôsobí, že dva rovnaké objekty budú mat’ rôzne ret’azcové kódy, ak nezvolíme rovnaký začiatočný bod. Riešením je cyklický posun kódu tak, aby vzniklo najmenšie prirodzené číslo, čo v podstate znamená nájdenie referenčného začiatočného bodu hranice. Ked’ sa takto upravené ret’azcové kódy dvoch objektov zhodujú, majú objekty rovnaký tvar. Pre oblast’ na obrázku 6.6 je referenčným bodom bod Q a cyklicky posunutý kód je 076555443221171. Invariantnost’ voči rotácii rieši diferenčný ret’azcový kód, ktorý nekóN duje smer ako Freemanov kód, ale zmenu smeru. Nech {c i }i=1 je pôvodný ( )N Freemanov kód oblasti. Diferenčný kód c i i=1 získame nasledovne c i * = (c i+1 − c i ) mod 8 (c 1 − c N ) mod 8 pre 1 ≤ i < N , pre i = N . (6.1) Diferenčný ret’azcový kód objektu na obrázku 6.6 začínajúci v bode P je 070627777007077. Vhodnost’ použitia Freemanovho alebo diferenčného kódu závisí od kvality segmentácie. 6.2.2 Obvod Z Freemanovho kódu l’ahko vypočítame obvod (perimeter) objektu (6.2) O = N p + Nn ∗ 2, pričom N p , resp. Nn je počet párnych resp. nepárnych číslic v kóde. Predpokladáme štvorcový obrazový bod so stranou dĺžky 1. Takto definovaná dĺžka hranice nie je invariantná voči otočeniu. Horizontálne, vertikálne a diagonálne hrany (so sklonom ±45◦ ) sú odme101 6. P RÍZNAKY TVARU κ(t)=ρ-1(t) f(t) Obrázok 6.7: Krivost’ v bode spojitej parametricky zadanej krivky sa rovná prevrátenej hodnote polomeru vpísanej kružnice v danom bode. rané presne, ale dĺžka ostatných hrán vykazuje určitú chybu. Táto chyba je najväčšia pre hrany so sklonom ±22, 5◦ . Tento problém sa dá riešit’ úpravou váh a miernym zvýšením chyby dĺžky horizontálnych, vertikálnych a diagonálnych hrán O = N p ∗ 0, 948 + Nn ∗ 1, 340, (6.3) alebo pridaním počtu rohov Nr (miest, kde sa mení kód) do výpočtu O = N p ∗ 0, 980 + Nn ∗ 1, 406 − Nr ∗ 0, 091. (6.4) 6.2.3 Krivost’ krivky Krivost’ v bode spojitej parametricky zadanej krivky sa rovná prevrátenej hodnote polomeru vpísanej kružnice v danom bode (obr. 6.7). Rovnako krivost’ vyjadruje zmenu v smere dotyčnice. Algoritmy na počítanie krivosti kriviek v digitalizovaných obrazoch sú rôzne. Jednou možnost’ou je určenie uhlovej zmeny pozdĺž hranice oblasti. Krivost’ je potom daná vzt’ahom κ(t ) = φt +1 − φt −1 , (6.5) kde φt je smer gradientu množiny bodov definujúcich segment krivky. Smer gradientu určíme pomocou detektora hrán alebo priamo vypočítame pomocou vzt’ahu + φt = arctan kde (x t , y t ) určuje bod na krivke. 102 , y t −1 − y t +1 , x t −1 − x t +1 (6.6) 6.2. Opis tvaru založený na hranici oblasti 05 06 07 41 42 43 10 16 17 52 53 54 20 21 27 63 64 65 30 31 32 74 75 76 (a) 05 06 07 12 13 14 56 57 51 20 23 24 67 61 62 30 35 34 71 72 73 40 45 46 (b) Obrázok 6.8: Príznaky krivosti pre (a) konvexné a (b) konkávne uhly. Príznaky krivosti Tieto príznaky sa definujú pre konkávne a konvexné uhly medzi za sebou nasledujúcimi segmentami hranice. Na obrázku 6.8 sú uvedené možnosti. Máme teda 16 príznakov (8 pre konvexné a 8 pre konkávne uhly). Priemerná energia zakrivenia Tento pojem z teórie elasticity vyjadruje množstvo energie potrebné pri transformácii uzavretej krivky na kruh s rovnakým obvodom. Počíta sa ako EZ = L 1 κ2 (t ), L t =1 (6.7) kde κ(t ) je krivost’ hranice v bode t a L je dĺžka hranice. 103 6. P RÍZNAKY TVARU 140 130 120 110 100 B A 90 80 C 70 A 60 (a) 50 C B 100 150 200 250 300 350 (b) Obrázok 6.9: Signatúra ako vzdialenost’ jednotlivých bodov krivky od t’ažiska. V útvare (a) sú vyznačené body, ktoré sú zvýraznené aj vo funkcii vzdialenosti (b). Obrázok 6.10: Mnohouholník nie je hviezdicovitý, preto niektorým uhlom zodpovedá viacero bodov krivky. 6.2.4 Signatúra Signatúra je 1D signál opisujúci 2D krivku. Najpoužívanejšou signatúrou krivky je vzdialenost’ jednotlivých bodov krivky od referenčného bodu ako funkcia uhla (obrázok 6.9). Týmto referenčným bodom býva napríklad t’ažisko. Takto definovaná signatúra je korektne zadaná, ak opisujeme hviezdicovitý mnohouholník a referenčný bod umiestnime do jeho jadra. Jadro mnohouholníka M = V1 . . .V N tvoria body P , pre ktoré všetky úsečky PVi , ležia vnútri mnohouholníka M. V prípade, že mnohouholník nie je hviezdicovitý, a teda jeho jadro je prázdne alebo, ak referenčný bod umiestnime mimo jadra, nastáva situácia nakreslená na obrázku 6.10. Aj vtedy môžeme použit’ signatúru definovanú vzdialenost’ou (maximálnou alebo minimálnou pre daný uhol), ale výsledná funkcia nebude spojitá. 104 6.3. Opis tvaru založený na oblasti A A B B (a) (b) Obrázok 6.11: Pri reprezentácii objektu pomocou hranice (a) je vzdialenost’ bodov A a B polovica obvodu. Pri reprezentácii oblast’ou (b) sú body blízko seba. Medzi signatúry patria napríklad postupnost’ x-ových a y-ových súradníc x(n), y(n), postupnost’ komplexných čísel z(n) = x(n) + i .y(n), ret’azcový kód, krivost’ krivky. 6.2.5 Fourierov opis Názov Fourierov opis označuje množinu príznakov založených na Fourierovej transformácii (pozri kap. 1.2), ktoré sú jednými z najpopulárnejších spôsobov opisu tvaru. Spoločným prvkom týchto príznakov je, že skúmaný tvar je reprezentovaný pomocou 1D alebo 2D signatúry (pozri kap. 6.2.4), na ktorú sa aplikuje Fourierova transformácia. Z tejto sa potom vypočítajú Fourierove deskriptory. Deskriptor môžu tvorit’ priamo koeficienty DFT, prípadne normalizované koeficienty DFT. 6.3 Opis tvaru založený na oblasti Na obrázku 6.11 vidíme situáciu, ktorá ilustruje rozdiel medzi reprezentáciou oblasti pomocou hranice a celkovej oblasti (hranica a vnútro). Ak uvažujeme iba o hranici objektu, body A a B sú od seba vzdialené o polovicu obvodu, ale v rámci oblasti sú tieto body blízko seba. Niektoré z príznakov uvedených v tejto kapitole sa dajú počítat’ z hraničných bodov (napr. t’ažisko, priemer), ale zvyčajne sa počítajú z celej oblasti. Hl’adanie hranice len kvôli týmto príznakom by bolo krokom navyše. Medzi jednoduché opisy tvaru patria príznaky odvodené z priemeru a obsahu, príznaky súvisiace s osami objektu alebo opísané obdĺžniky. Tieto príznaky môžu jednoducho identifikovat’ chybu produktu na výrobnej linke, ale na komplexnú klasifikáciu objektov nie sú postačujúce, pretože viaceré objekty rôzneho tvaru môžu mat’ rovnaký priemer a ob105 6. P RÍZNAKY TVARU Obrázok 6.12: Oba objekty (čierny aj modrý) majú rovnaký obsah. Obrázok 6.13: Ťažisko objektu. sah (pozri obr. 6.12). Vhodnejšími príznakmi sú kostra alebo štatistické momenty. 6.3.1 Ťažisko a k nemu prislúchajúce príznaky Ťažisko Ťažisko objektu (nazývané aj centroid) je bod, ktorého súradnice sa vypočítajú ako priemer x-ových a y-ových súradníc pixelov objektu. Súradnice t’ažiska nemusia byt’ nutne celočíselné. Ak potrebujeme identifikovat’ pixel zodpovedajúci geometrickému t’ažisku, musíme jeho súradnice zaokrúhlit’. Vzdialenost’ od t’ažiska k hranici Určité vlastnosti objektov opisujú aj vzdialenosti od t’ažiska k hranici – minimálna D min , maximálna D max , priemerná D mean , prípadne ich pomery alebo histogram vzdialeností. Tieto príznaky sa dajú použit’ napríklad na rozlíšenie kruhových (D max ≈ D min ) a elipsových útvarov. PoD mi n D max max mery D D mi n , D mean a D mean sú bez rozmeru (pozri kap. 10.1), takže sú škálovo invariantné. Príznaky zahŕňajúce D mean sú menej náchylné na šum. 106 6.3. Opis tvaru založený na oblasti Obrázok 6.14: Priemer objektu. 6.3.2 Príznaky odvodené z priemeru a obsahu Obsah Obsah objektu vyjadruje počet bodov patriacich objektu A= I (x, y), (6.8) (x,y )∈I mg kde I (x, y) = 1, ak bod patrí objektu a I (x, y) = 0, ak bod patrí pozadiu. V prípade, že máme objekt reprezentovaný pomocou N hraničných N bodov {xi , y i }i=1 , vypočítame obsah nasledovne 1 --N−1 (xi+1 + xi )(y i+1 − y i )- , A= 2 - i=0 (6.9) kde (x0 , y 0 ) = (x N , y N ). Iný vzorec na výpočet obsahu je . /N N / (y i − ȳ)2 , A = 0 (xi − x̄)2 + i=1 (6.10) i=1 kde (x̄, ȳ ) sú súradnice t’ažiska. Pri nekonvexnom objekte a objekte s dierami sa musíme rozhodnút’, či do obsahu budeme započítavat’ aj diery a zálivy na okrajoch. Tento obsah tvorí rozdiel medzi obsahom konvexného obalu a čistým obsahom objektu. Priemer Priemer objektu (obr. 6.14) je maximálna vzdialenost’ medzi bodmi objektu P = max d(Q, R). (6.11) Q,R∈Ob j 107 6. P RÍZNAKY TVARU Obrázok 6.15: Komplexnost’ kruhu je 1. Komplexnost’ druhého objektu je vyššia. Efektívny priemer Efektívny priemer je priemer kruhu, ktorý má rovnaký obsah A ako skúmaný objekt 1 d =2 A . π (6.12) Kruhovitost’ Kruhovitost’ (alebo kompaktnost’) udáva, ako vel’mi je objekt podobný kruhu a je daná pomerom obsahu objektu A a obsahu kruhu A K s rovnakým obvodom O A . (6.13) C= AK Ked’že AK = O2 , 4π (6.14) tak 4πA . (6.15) O2 Kruhovitost’ je maximálna pre kruh (C = 1) a blíži sa k nule pre dlhé tenké objekty. C= Komplexnost’ Miera komplexnosti objektu je často používaným príznakom, ktorého definícia však nie je jednotná. Viacerí autori používajú prevrátenú hodnotu kompaktnosti, ktorá stúpa, čím viac sa odlišuje objekt od kruhu (pozri obr. 6.15). Ďalším používaným príznakom je pomer obsahu a obvodu objektu, prípadne iné vzt’ahy funkcií obsahu a obvodu. 6.3.3 Osi oblasti Dôležité vlastnosti objektu sa dajú opísat’ príznakmi založenými na vlastných číslach a vektoroch. 108 6.3. Opis tvaru založený na oblasti (a) Hlavná a vedl’ajšia os objektu. (b) Charakteristická elipsa. Obrázok 6.16: Súvislost’ charakteristickej elipsy s hlavnou a vedl’ajšou osou objektu. Charakteristická elipsa má rovnaký centrálny moment druhého rádu (varianciu) ako opisovaný objekt. Hlavná a vedl’ajšia os Smer, v ktorom objekt dosahuje najväčšiu dĺžku, sa nazýva hlavná os. Na ňu kolmá je vedl’ajšia os (obr. 6.16(a)). Tieto smery sa dajú určit’ vypočítaním vlastných vektorov kovariančnej matice, pričom za prvky náhodného vektora berieme body objektu. Podrobnejšie o výpočte vlastných vektorov píšeme v kapitole 12.1.1. Charakteristická elipsa Charakteristická elipsa má rovnaký centrálny moment druhého rádu (varianciu) ako opisovaný objekt (obr. 6.16(b)). Z charakteristickej elipsy vieme odvodit’ niekol’ko príznakov, napríklad percento obsahu elipsy pokryté objektom PO = A Ob j ek t 2 El i psa A El i psa .100 %, (6.16) .100 %, (6.17) alebo percento nepokrytia objektu elipsou NO = A Ob j ek t −El i psa A Ob j ek t použitel’né napr. pri detekcii tvárí. Pomer hlavnej a vedl’ajšej dĺžky Hlavná a vedl’ajšia dĺžka sú dĺžky objektu v smere hlavnej a vedl’ajšej osi. Pomer týchto dĺžok je bezrozmerný príznak (zvaný aj elongácia alebo 109 6. P RÍZNAKY TVARU Obrázok 6.17: Pomer hlavnej a vedl’ajšej dĺžky sa dá využit’ napríklad na klasifikáciu druhov motýl’ov. (a) MER (b) AABB Obrázok 6.18: Opísaný obdĺžnik MER sa nemení s rotáciou objektu. Vel’kost’ osovo zarovnaného obdĺžnika AABB sa mení. excentricita, po anglicky aspect ratio) opisujúci tvar objektu (pozri obrázok 6.17). 6.3.4 Opísaný obd ĺžnik Opísaný obdĺžnik je najmenší obdĺžnik, ktorý obsahuje celý objekt. Príznakom je vel’kost’ (šírka a dĺžka) obdĺžnika alebo ich kombinácia. Poznáme dva typy opísaných obdĺžnikov. MER Obdĺžnik na obrázku 6.18(a) sa nazýva minimálny opísaný obdĺžnik (minimal enclosing rectangle – MER). Jeho strany sú zarovnané s hlavnou a vedl’ajšou osou objektu. AABB Obdĺžnik na obrázku 6.18(b) má hrany rovnobežné s osami x a y. Nazýva sa osovo zarovnaný opísaný obdĺžnik (axis aligned bounding box – AABB). Ako vidíme tento príznak nie je invariantný voči rotácii objektu. 110 6.3. Opis tvaru založený na oblasti Obrázok 6.19: Objekt zložený z 11 súvislých oblastí (jednotlivé písmená a diakritika) so 6 dierami (písmená o, p, g, a). Eulerovo číslo tohto objektu je 5. Hranatost’ Pomocou MER vieme určit’ hranatost’ objektu, čiže ako vel’mi sa podobá na svoj minimálny ohraničujúci obdĺžnik. Hodnota hranatosti je daná pomerom obsahov objektu A a jeho MER A ME R Hr = A A ME R . (6.18) 6.3.5 Topologické príznaky Eulerovo číslo Eulerovo číslo charakterizuje topológiu objektu, nie jeho tvar. Je dané rozdielom počtu súvislých oblastí objektu a počtu dier v objekte. Na obrázku 6.19 vidíme objekt zložený z 11 súvislých oblastí (jednotlivé písmená a diakritika) so 6 dierami (písmená o, p, g, a). Eulerovo číslo tohto objektu je 5. Deravost’ Diery v objektoch opisuje aj pomer ich obsahu A D k obsahu vyplneného objektu A V O Der = AD . AV O (6.19) Tento príznak sa dá využit’ pri optickom rozpoznávaní textu. Konvexnost’ Región je konvexný, ak pre každé dva body regiónu patrí regiónu aj ich spojnica. Konvexný obal objektu je najmenší konvexný útvar obsahujúci daný objekt (obr. 6.20). 111 6. P RÍZNAKY TVARU Obrázok 6.20: Konvexný obal objektu. Tvar objektu môžeme charakterizovat’ vzt’ahom Conv 1 = OC H , O (6.20) kde Conv 1 charakterizuje „mieru konvexity“ objektu. Čím je objekt „konvexnejší“, tým viac sa jeho obvod O približuje obvodu konvexného obalu OC H . Podobným príznakom opisujúcim „mieru konvexity“ je pomer obsahov objektu A a konvexného obalu AC H Conv 2 = A . AC H (6.21) Oba príznaky nadobúdajú hodnoty z intervalu (0, 1〉. Konvexný útvar má oba príznaky rovné 1. 6.3.6 Morfologické príznaky Kostra Medzi hlavné morfologické príznaky opisujúce tvar objektu patrí kostra (pozri kap. 4.12). Jej problémom však je, že šum na hranici objektu vel’mi ovplyvňuje výsledný tvar kostry. Hrúbka Kostru môžeme vytvárat’ pomocou vzdialenostnej transformácie alebo postupnou eróziou objektu. Hrúbka objektu je potom daná počtom erózií potrebných na zmiznutie objektu alebo maximálnou hodnotou vzdialenostnej transformácie. 112 6.4. Šedotónový obraz Obrázok 6.21: Horizontálna a vertikálna projekcia jednoduchého objektu. 6.4 Šedotónový obraz So šedotónovým obrazom sme sa zoznámili v kapitole 4.2. Zo šedotónového obrazu vieme získat’ bohatšiu informáciu o tvare objektu ako z binárneho. 6.4.1 Projekcie Projekcia (alebo profil) je definovaná ako súčet intenzít v danom smere. Väčšinou sa používajú projekcie v x-ovom a y-ovom smere (obr. 6.21), z ktorých vieme určit’ šírku a výšku AABB. Pr o j x (i ) = Pr o j y ( j ) = N I (i , j ), (6.22) I (i , j ), (6.23) j =1 M i=1 kde M × N sú rozmery obrazu a I (i , j ) sú intenzity (v binárnom obraze {0, 1}). Pomocou projekcií sa dá napríklad určit’ umiestnenie očí vo vysegmentovanej tvári (obr. 6.22(a)), alebo vymedzit’ riadky pri rozpoznávaní textu (obr. 6.22(b)). 6.4.2 Opisné štatistiky Histogram Histogram intenzít bodov obrazu je funkcia, ktorá pre každú úroveň intenzity udáva počet pixelov v obraze s touto intenzitou. Aby sme mohli 113 6. P RÍZNAKY TVARU (a) (b) Obrázok 6.22: Použitie projekcií na (a) určenie umiestnenia očí a úst vo vysegmentovanej tvári a (b) vymedzenia riadkov pri rozpoznávaní textu. pomocou histogramu porovnávat’ rôzne vel’ké obrazy, používame normalizované hodnoty relatívnych početností hodnôt intenzít v danom obraze P (i ) = N (i )/N , (6.24) kde N (i ) je počet pixelov s intenzitou i a N je počet všetkých bodov obrazu. Z tvaru histogramu vieme určit’ napríklad, či je obraz nízko kontrastný (histogram je „úzky“, t. j. zaberá len malý interval intenzít – obr. 6.23(a)) alebo určit’ objekt v popredí (ak je histogram bimodálny – objekt je tvorený pixelmi s tou istou hodnotou intenzity, pozadie zasa pixelmi s inou konštantnou intenzitou – obr. 6.23(b)). Ďalšie vlastnosti môžeme opísat’ štatistickými momentami. Štatistické momenty Štatistické momenty opisujú tvar objektu. Detailnejšie sú opísané v dodatkoch A.3.1 a A.5.1. Momenty nižších rádov opisujú geometrické vlastnosti objektu – t’ažisko, obsah, zmenu tvaru. Tieto momenty sa počítajú priamo z objektu, prípadne z jeho hranice. Momenty vyšších rádov sa používajú na opis projekcií objektu (šikmost’ a špicatost’). Existuje niekol’ko metód ako kombinovat’ momenty, aby sme dostali príznaky invariantné voči rotácii, posunutiu a škálovaniu. Najznámejšími sú Huove momenty, ktoré sú kombináciou normalizovaných centrálnych momentov (pozri kap. A.5.1). Poznáme aj rotačné momenty, ktoré sú definované v polárnych súradniciach a ortogonálne momenty, ktoré miesto neortogonálnej bázy x p y q používajú ortogonálne Legendreove, Čebyševove alebo Zernikeove polynómy. 114 6.5. MPEG-7 0 128 255 (a) Histogram málo kontrastného obrazu zaberá len malý interval intenzít. 0 128 255 (b) Pomocou bimodálneho histogramu vieme oddelit’ objekt od pozadia. Obrázok 6.23: Použitie histogramu na určenie vlastností obrazu, alebo objektov v obraze. 6.4.3 Energia a entropia Histogram intenzít alebo projekcie môžeme charakterizovat’ aj energiou E a entropiou H (kap. 11.5.4) E= B (P (i ))2 , (6.25) i=1 H =− B P (i ) log2 P (i ). (6.26) i=1 6.5 MPEG-7 Norma MPEG-7 definuje niekol’ko príznakov opisujúcich tvar objektu. Dva opisujú 2D objekty a dva 3D objekty. V tejto kapitole si priblížime deskriptor kontúry (ContourShape) a deskriptor regiónu (RegionShape) pre 2D objekty. 6.5.1 Tvar kontúry Deskriptor tvaru kontúry je založený na reprezentácii kontúry v škálovom priestore krivosti (Curvature Scale Space – CSS). Táto reprezentácia je vel’mi kompaktná – priemerná vel’kost’ je 14 bytov. 115 6. P RÍZNAKY TVARU 980 970 F 970 E 960 F 960 E 950 950 940 940 A A D 930 D 930 920 B C B 920 C 910 910 900 K 890 520 540 560 L 580 600 30 A 620 640 660 B C 900 520 540 D 560 580 F 600 620 640 660 G 25 20 15 K L 10 5 0 100 200 300 400 500 Obrázok 6.24: Deskriptor tvaru kontúry. V hornom riadku je kontúra v dvoch štádiách vyhladenia s vyznačenými inflexnými bodmi. Zodpovedajúce hodnoty σ sú v CSS diagrame vyznačené červenou. Vidíme, že body K a L postupným vyhladením zanikli. Kontúru objektu postupne vyhladzujeme Gaussovym filtrom, skúmame krivost’ výslednej krivky a zaznamenávame inflexné body kontúry do CSS diagramu. V CSS diagrame sú na horizontálnej osi indexy bodov na kontúre (1, . . . N ) a na vertikálnej osi jednotlivé hodnoty σ. Výsledný deskriptor tvoria potom lokálne maximá grafu. So zvyšujúcim sa parametrom σ Gaussovho jadra sa krivka postupne vyhladzuje a počet inflexných bodov klesá. Na obrázku 6.24 vidíme kontúru v dvoch štádiách vyhladenia s vyznačenými inflexnými bodmi. Vidíme, že body K a L postupným vyhladením zanikli. Zodpovedajúce hodnoty σ sú v CSS diagrame vyznačené červenou. Nevýhodou tohto deskriptora je, že aj malé „vlnky“ na kontúre, ktoré l’udský vizuálny systém nevyhodnotí ako podstatné, dokážu vytvorit’ vel’ké maximá v CSS diagrame. Tento problém sa rieši orezaním CSS diagramu. 116 6.5. MPEG-7 6.5.2 Tvar regiónu Deskriptor RegionShape používa množinu ART (Angular Radial Transform) koeficientov F nm rádu n a m F nm = 1 2π 0 0 Vm,n (ρ, θ) f (ρ, θ)dρdθ, (6.27) kde f (ρ, θ) je obrazová funkcia v polárnych súradniciach a Vm,n (ρ, θ) je separovatel’ná ART bázová funkcia Vm,n (ρ, θ) = 1 (j mθ) e cos(πnρ). π (6.28) Výsledný deskriptor používa 35 koeficientov F nm (n < 3, m < 12) normalizovaných koeficientom |F 00 | a kvantovaných na 4 bity, spolu teda má 140 bitov. 117 K APITOLA 7 Príznaky farby Farebný obraz je väčsinou reprezentovaný v trojrozmernom priestore farieb. Existujú rôzne priestory farieb (pozri kap. 20), každý z nich sa používa pri iných úlohách počítačového videnia. 7.1 Dominantná farba Najjednoduchším opisom farebného obrazu je prevládajúca, dominantná farba. Dominantných farieb môže byt’ viac, ak každá pokrýva dostatočne vel’kú čast’ obrazu. Deskriptorom dominantných farieb je väčšinou množina dvojíc (farba, percentuálne zastúpenie v obraze). Problémom je, že nevieme, ako sú rovnako zafarbené body umiestnené v obraze. 7.2 Histogram farieb Na farebný obraz v priestore RGB sa môžeme pozerat’ ako na 3 šedotónové obrazy. Z týchto potom extrahujeme príznaky opísané v kapitole 6.4 a zorad’ujeme ich za seba. V prípade histogramu farieb určíme histogramy jednotlivých farebných kanálov P c = [Nc=0 , . . . Nc=255], kde c ∈ {R,G, B} (obr. 7.1). Výsledný histogram farieb potom bude P RGB = [P R |PG |P B ]. 118 (7.1) 7.2. Histogram farieb 7000 6000 5000 4000 3000 2000 1000 0 0 100 200 300 400 500 600 700 Obrázok 7.1: Obraz a jeho histogram jednotlivých farebných kanálov. (a) Dva obrazy obsahujúce rôzne farby. R0 R127 R255 G127 G255 B127 B255 (b) Rovnaký histogram oboch obrazov. Obrázok 7.2: Ilustrácia problému s histogramom farieb po zložkách. Obrazy obsahjúce rôzne farby môžu mat’ rovnaký histogram. Nevýhodou tohoto prístupu je, že farebne rôzne obrazy môžu mat’ rovnaký deskriptor. Táto situácia je znázornená na obrázku 7.2, ked’ histogramy červenej, zelenej a modrej zložky obrazu sú rovnaké, ale farby na obrazoch sú rôzne. Riešením tohto problému je kvantizácia farieb (výber reprezentatívnych farieb napríklad pomocou metódy K priemerov – pozri kap. 15.1) a následné určenia histogramu jednotlivých farieb. Ďalšou nevýhodou histogramu zložiek aj histogramu kvantovaných farieb je, že nevystihujú priestorové rozloženie farieb v obraze (obr. 7.3). 119 7. P RÍZNAKY FARBY Obrázok 7.3: Dva obrazy obsahujúce rovnaké farby, ale na rôznych miestach obrazu. 7.2.1 Histogram priestorového rozloženia farieb Aby sme opísali aj rozloženie farieb v obraze, použijeme histogram priestorového rozloženia farieb, kde pre každú farbu okrem počtu pixelov majúcich túto farbu, zaznamenáme aj priemerné umiestnenie bi = (x̄i , ȳ i ) (priemer x-ovej a y-ovej súradnice bodov s danou farbou) a štandardnú odchýlku umiestnenia x̄i = ȳ i = 1 σi = 1 Ai 1 N .A i 1 M.A i x, (7.2) y, (7.3) d(p, bi ), (7.4) c(p)=C i c(p)=C i c(p)=C i kde A i je obsah oblasti majúcej farbu C i , p = (x, y) je bod obrazu a M × N je rozmer obrazu. Ak je štandardná odchýlka malá, vieme, že farba je sústredená na malú oblast’ obrazu. Ak je vel’ká, farba je rozmiestnená po celom obraze. 7.2.2 Ďalšie opisy priestorového rozloženia farieb Ďašími alternatívami sú rozdelenie obrazu na bloky a extrakcia histogramu v týchto blokoch, prípadne quad-tree rozdelenie obrazu, kde každý list stromu má vlastný histogram. Farebný korelogram Farebný korelogram je podobný matici opakovaných výskytov (kap. 8.2). Do matice sa zapisujú počty výskytov dvojíc (ci , c j ) farieb bodov v určenej 120 7.2. Histogram farieb A A A A B C C C A D E E E C C C A E D E F F F F E E G G F H I I G G G G F H H H G G J J H H K K G L J J H H J J G J J M J J J N Obrázok 7.4: Štyri kvantované farby a určenie spojitých oblastí A–N. Tabul’ka 7.1: Počty bodov v oblastiach. Počet väčší ako prah je zvýraznený. Región A B C D E F G H I J K L M N Farba Vel’kost’ 6 1 6 2 7 6 10 8 2 11 2 1 1 1 vzdialenosti k -( )Mk (i , j ) = - (p) | f (p) = c i & f (q) = c j &|d(p, q) = k| - , (7.5) kde d je vzdialenost’ bodov. Vektor farebnej koherencie Farebnú koherenciu definujeme ako stupeň príslušnosti farebných bodov k spojitej oblasti. Bod, ktorý je svojou farbou osamotený, prípadne patrí do malého súvislého regiónu, je nekoherentný. Body, ktoré svojou farbou tvoria dostatočne vel’ké spojité oblasti, sú koherentné. Výpočet vektora farebnej koherencie začína kvantovaním farieb do palety niekol’kých reprezentatívnych farieb. Potom sa určia spojité regióny jednotlivých farieb palety (obr. 7.4). Následne spočítame body v jednotlivých regiónoch (tab. 7.1) a určíme, či je daný región koherentný alebo nie, podl’a zadanej prahovej vel’kosti regiónu. V našom príklade berieme prah 4. Nakoniec pre každú farbu palety spočítame body v koherentých a nekoherentných regiónoch. Označme αi počet pixelov v koherentných a βi 121 7. P RÍZNAKY FARBY Tabul’ka 7.2: Počty koherentných a nekoherentných pixelov jednotlivých farieb. Farba α β 15 0 23 0 6 6 10 4 Obrázok 7.5: Príklad neurčitých regiónov. Oblast’ neurčitosti príslušnosti k jednotlivým blokom je modelovaná elipsou. v nekoherentných regiónoch farby i (tab. 7.2). Potom vektor farebnej koherencie je ( ) (α1 , β1 ), . . . (αK , βK ) , (7.6) kde K je počet farieb palety. V našom príklade {(15, 0), (23, 0), (6, 6), (10, 4)}. Farebné momenty neurčitých regiónov Obraz môžeme rozdelit’ aj na neurčité (fuzzy) bloky, kde príslušnost’ bodu k bloku nie je daná striktne, ale pomocou funkcie príslušnosti Rr ∈ 〈0, 1〉. Príklad takéhoto rozdelenia je na obrázku 7.5. Oblast’ neurčitosti príslušnosti k jednotlivým blokom je modelovaná elipsou. Funkcia členstva sa potom použije aj pri extrakcii prvých troch centrálnych momentov pre jednotlivé farebné kanály. Regióny teda opisujú tri trojice (priemerná farba, variancia a šikmost’) váhované príslušnost’ou k regiónu. 7.3 MPEG-7 Norma MPEG-7 definuje štyri deskriptory opisujúce farebnú informáciu v statických obrazoch. Ide o deskriptor dominantnej farby, škálovatel’ný 122 7.3. MPEG-7 Tabul’ka 7.3: Počty tried HSV histogramu Počet tried Odtieň Saturácia Hodnota 16 4 2 2 32 8 2 2 64 8 2 4 128 8 4 4 256 16 4 4 deskriptor farby, deskriptor rozloženia farieb a deskriptor štruktúry farieb. Farebné priestory, ktoré norma opisuje, sú RGB, HSV, YCrCb a nový HMMD (hue-min-max-diff ) priestor, pričom hue má rovnaký význam ako v priestore HSV, max a min sú maximum a minimum R,G, B hodnôt a diff je rodiel medzi týmito hodnotami. 7.3.1 Deskriptor dominantnej farby Tento deskriptor opisuje N najdominantnejších reprezentatívnych farieb v obraze. Pre každú farbu obsahuje jej súradnice vo farebnom priestore a percentuálne zastúpenie v obraze. Reprezentatívne farby sú určené zhlukovacou metódou (napríklad metódou K priemerov – kap. 15.1). Okrem týchto základných informácií obsahuje deskriptor aj opis rozloženia farby v obraze, a to konkrétne informácie o variancii každej farby a priestorovej koherentnosti (ako „vel’mi“ sú spojené body majúce dominantnú farbu). Norma nestanovuje, ako presne túto koherentnost’ počítame. Môžeme použit’ už spomenutý vektor farebnej koherencie. Deskriptor sa používa najmä pri výbere a prezeraní obrazov z databázy podl’a jednej, či viacerých významných farieb. 7.3.2 Škálovatel’ný deskriptor farby Tento deskriptor kóduje histogram hodnôt HSV pomocou Haarovej transformácie. Histogram má 256 tried. Odtieň je kvantovaný do 16, saturácia a hodnota do 4 tried. Hodnoty v histograme sú orezané na 11-bitové čísla. Tieto sú potom nelineárne namapované na 4-bitové čísla. Toto mapovanie preferuje nízke hodnoty, ktoré sa vyskytujú s vyššou frekvenciou. Táto reprezentácia je stále dost’ priestorovo náročná (1024 bitov/histogram). Aby sme potrebné miesto zmenšili, je na tento histogram potom aplikovaná 1D Haarova transformácia (HT). Výsledkom je škálovatel’ný deskriptor, ktorý podl’a počtu použitých koeficientov HT reprezentuje histogramy s rôznym počtom tried (pozri tabul’ku 7.3). 123 7. P RÍZNAKY FARBY Obrázok 7.6: Obraz rozdelený do 8 × 8 blokov a priemerná farba v blokoch. 1 2 9 10 18 19 3 4 5 6 7 8 11 12 13 14 15 17 20 21 22 23 16 26 27 28 29 30 25 31 24 33 34 35 36 37 38 39 32 41 42 43 44 45 46 47 40 49 50 51 52 53 54 55 48 58 59 60 61 62 63 56 57 64 Obrázok 7.7: Cik-cak prechod bloku koeficientov v deskriptore rozloženia farieb. 7.3.3 Deskriptor rozloženia farieb Tento deskriptor sa počíta v priestore YCbCr a používa sa hlavne pri vyhl’adávaní obrazov podl’a náčrtku. Základom je vektor reprezentatívnych farieb. Obraz sa rozdelí na 8 × 8 blokov a vypočíta sa priemerná farba týchto blokov (obr. 7.6). Táto informácia je potom transformovaná 8 × 8 diskrétnou kosínusovou transformáciou (pozri kap. 1.5) do 3 × 64 koeficientov DC TY , DC TC b , DC TCr . Výsledný deskriptor dostaneme cik-cak prechodom bloku koeficientov (obr. 7.7), aby sme koeficienty pre nízke frekvencie umiestnili vedl’a seba. 7.3.4 Deskriptor štruktúry farieb Tento deskriptor je generalizáciou histogramu farieb, ktorý obsahuje aj informáciu o rozložení farieb v obraze. Na opis štruktúry farieb využíva štrukturálny element rozmeru 8×8 a do histogramu zapisuje počet štrukturálnych elementov, ktoré danú farbu obsahujú. 124 7.3. MPEG-7 Tabul’ka 7.4: Počty tried HSV histogramu v deskriptore štruktúry farieb. Komponent Odtieň Intenzita Podpriestor diff 0 1 2 3 4 0 1 2 3 4 Počet kvantovacích úrovní pre K CSD tried K =184 120 64 32 1 1 1 1 8 4 4 4 12 12 6 3 12 12 4 2 24 12 4 2 8 8 8 8 4 4 4 2 4 4 4 4 4 4 4 2 2 4 4 2 Obraz je prevedený do HMMD priestoru, a farby sú kvantované do palety vel’kosti 32, 64, 120 alebo 184. Paletu vytvoríme nasledovne. Celý priestor HMMD je rozdelený na 5 podpriestorov podl’a hodnôt súradnice diff. V každom z týchto podpriestorov sú súradnice odtieň a intenzita (definovaná ako (max+min)/2) kvantované podl’a požadovaného počtu farieb v palete tak, ako je uvedené v tabul’ke 7.4. Štrukturálny element má konštantnú vel’kost’ pre rôzne vel’ké obrazy. Škálovaný je priestor, ktorý tento element pokrýva (obr. 7.8). Nech W a H sú širka a výška obrazu, potom E × E je priestor, ktorý štrukturálny element pokrýva, kde ( ) p = max 0; 0, 5log 2 W H − 8 , (7.7) K = 2p , (7.8) E = 8K . (7.9) Ked’ vieme, aký priestor štrukturálny element pokrýva, môžeme vypočítat’ histogram. Pre každú pozíciu štrukturálneho elementu zistíme, ktoré farby obsahuje. Týmto farbám potom zvýšime hodnotu v histograme (obr. 7.9). Výsledný histogram je následne normalizovaný počtom pozícií štrukturálneho elementu a nelinárne kvantovaný do 8 bitov/trieda. 125 7. P RÍZNAKY FARBY Obrázok 7.8: Vl’avo je štrukturálny element vel’kosti 8 × 8 pre malé obrazy. Pre väčšie obrazy (vpravo) sa priestor, pokrytý týmto elementom, škáluje. Farba P(ci) c1 +1 c2 +1 c3 +1 c4 Obrázok 7.9: Vytvorenie histogramu. Pre každú pozíciu štrukturálneho elementu zistíme, ktoré farby obsahuje. Týmto farbám potom zvýšime hodnotu v histograme. Aj ked’ sa farba c3 nachádza v štrukturálnom elemente 2×, histogram sa zvýši o 1. 126 K APITOLA 8 Príznaky textúry Textúra je vel’mi t’ažko definovatel’ná vlastnost’ obrazu. Pre nás textúra bude rozpoznatel’ná charakteristická variácia intenzít v regióne obrazu, ktorá sa dá opísat’ a dajú sa podl’a nej určit’ hranice tohto regiónu. Zmena intenzity môže byt’ rýchla, pomalá, môže mat’ prevládajúci smer, alebo môže byt’ porovnatel’ná vo všetkých smeroch, môže sa pravidelne opakovat’ alebo byt’ nepravidelná atd’. Pravidelnost’ je najpoužívanejšou vlastnost’ou textúr. Na opis textúr existuje mnoho metód využívajúcich napríklad rôzne filtre v priestorovej a frekvenčnej oblasti, autoregresívne modely, Mar- Obrázok 8.1: Príklady rôznych textúr. 128 8.1. Autokorelácia kovove náhodné polia, Gaborove filtre, koeficienty vlnkovej transformácie, metódy fraktálnej geometrie, priestorové vzt’ahy intenzít, lokálne binárne vzory (local binary patterns – LBP), Haarove koeficienty a iné. 8.1 Autokorelácia Jedným z prvých prístupov k charakterizácii textúr bola autokorelácia, ktorá opisuje lokálne zmeny intenzity, ako aj opakovatel’nost’ vzorov. Nie je však schopná opísat’ mieru zrnitosti. Korelácia súvisí s konvolúciou (pozri kap. 2.1). Autokorelácia je korelácia signálu s rovnakým rovnakým signálom ρ(u, v) = MN (M − u)(N − v) M−u x=1 N−v y =1 I (x, y)I (x + u, y + v) , M N 2 x=1 y =1 I (x, y) kde I (x, y) je textúra rozmerov M × N a (u, v) posun v smere x a y. 8.2 Matica opakovaných výskytov Nedostatky autokorelácie odstraňuje matica opakovaných výskytov (cooccurence matrix, MOV). Ako už jej názov naznačuje, matica obsahuje počty výskytov dvojíc intenzít v určenom smere a vzdialenosti. Matica je štvorcová, počet riadkov a stĺpcov sa rovná počtu úrovní jasu v obraze -( )Md (i , j ) = - (x, y) | f (x, y) = i & f (x + d x , y + d y ) = j - , (8.1) kde d = (d x , d y ) je vektor posunutia. Na obrázku 8.2 je ukážka matice opakovaných výskytov pre jednoduchý príklad textúry. Vektor posunutia je d = (1, 0). Pre praktické použitie sa MOV normalizuje počtom výskytov jednotlivých dvojíc a používa sa symetrická MOV daná ako Mds (i , j ) = Md (i , j ) + M−d (i , j ). (8.2) Najčastejšie sa používajú vektory posunutia (1, 0), (1, 1), (0, 1) a (−1, 1). Z takto vytvorených MOV sa následne extrahujú štatistické príznaky ako entropia, energia, momenty, inverzné momenty, maximálna hodnota, korelácia, kontrast, homogénnost’ a d’alšie. Niektoré často používané príznaky sú uvedené v tabul’ke 8.1, kde L je počet úrovní jasu v obraze. 129 8. P RÍZNAKY TEXTÚRY 6 6 0 6 0 6 0 6 0 Obrázok 8.2: Príklad pravidelnej textúry a jej matica opakovaných výskytov pre vektor posunutia d = (1,0). Červenou je vyznačených 6 výskytov usporiadanej dvojice (čierna, šedá). Tabul’ka 8.1: Príznaky počítané z MOV rozmeru L × L. 8.3 Kontrast C= 1 (L−1)2 Energia H= L i=1 Homogénnost’ S= L i=1 L−1 2 k k=0 i,j ;|i− j |=k Md (i , j ) L 2 j =1 Md (i , j ) Md (i,j ) L j =1 1+|i− j | Diskrétna Fourierova transformácia Fourierove (kap. 1.2) fázové a amplitúdové spektrá sa dajú využit’ na opis textúry. Nech F (u, v) je výsledok Fourierovej transformácie skúmanej textúry. Potom F (u, v) = R(u, v) + i I (u, v), (8.3) kde R(u, v) je reálna a I (u, v) imaginárna zložka spektra. Spektrá využívané pri opise textúr sú uvedené v tabul’ke 8.2. Tabul’ka 8.2: Fourierove spektrá. 130 3 Amplitúdové spektrum |F (u, v)| = R 2 (u, v) + I 2 (u, v) Fázové spektrum I (u,v) φ(u, v) = arctan R(u,v) Výkonové spektrum P (u, v) = |F (u, v)|2 = R 2 (u, v) + I 2 (u, v) 8.4. Gaborove filtre 8.4 Gaborove filtre L’udským vizuálnym systémom sú inšpirované Gaborove filtre. 2D Gaborov filter je Gaussove jadro modulované plošnou sínusovou vlnou h(x, y, λ, θ, ψ, σx , σ y ) = g (x , y , θ, σx , σ y )e(x , θ, λ, ψ), (8.4) kde g (x , y , θ, σx , σ y ) je Gussove jadro 4 5 2 67 2 1 x y exp − + g (x , y , θ, σx , σ y ) = , 2πσx σ y 2σ2x 2σ2y (8.5) e(x , θ, λ, ψ) je komplexná sínusoida e(x , θ, λ, ψ) = exp 2πi f x + ψ = , + x = exp i 2π + ψ = λ + , + , x x = cos 2π + ψ + i sin 2π + ψ λ λ (8.6) a (x , y ) = (x cos θ + y sin θ, −x sin θ + y cos θ). (8.7) Gaborov filter sa dá rozložit’ na reálnu a imaginárnu zložku nasledovne 4 5 2 67 , + 2 1 y x x hRe (x, y, Ω) = + ψ , (8.8) exp − + cos 2π 2πσx σ y λ 2σ2x 2σ2y 4 5 2 67 , + 2 1 y x x h I m (x, y, Ω) = + ψ . (8.9) exp − + sin 2π 2πσx σ y λ 2σ2x 2σ2y Parametre Ω = {λ, θ, ψ, σx , σ y } sú opísané v tabul’ke 8.3 a graficky znázornené na obrázku 8.3(a). Tabul’ka 8.3: Parametre Gaborovych filtrov λ vlnová dĺžka θ orientácia, smer šírenia vlny ψ fázový posun harmonickej zložky σx , σ y smerodajná odchýlka, určuje elipticitu Gaussovho jadra 131 8. P RÍZNAKY TEXTÚRY x y σy σx θ y x (a) (b) Obrázok 8.3: Hlavné parametre Gaborovho filtra a banka filtrov tvorená zmenou parametrov. Pre klasifikáciu textúr sa používa množina Gaborovych filtrov s rôznymi parametrami, aby sa zachytili rôzne vlastnosti textúr (škála, orientácia). Príklad takejto množiny, ktorá sa nazýva banka filtrov je na obrázku 8.3(b). Obrázok 8.4 znázorňuje niekol’ko realizácií Gaborovho filtra s rôznymi parametrami Ω a obrázok 8.5 aplikáciu týchto filtrov na originálny obraz. Príznaky textúry potom získame tak, že na obraz I (x, y) aplikujeme reálnu a imaginárnu zložku každého z banky filtrov J Re (x, y, Ω) = I (x, y) ∗ hRe (x, y, Ω), (8.10) J I m (x, y, Ω) = I (x, y) ∗ h I m (x, y, Ω). (8.11) Energia E a magnitúda M odozvy filtra je daná nasledovne 2 (x, y, Ω) + J I2m (x, y, Ω), E (x, y, Ω) = J Re M(x, y, Ω) = E(x, y, Ω). (8.12) (8.13) Priemerná energia celého obrazu Ē (x, y, Ω) = 1 E (x, y, Ω), N x y (8.14) kde N je počet pixelov obrazu. Príznakový vektor môžu tvorit’ hodnoty priemerov a štandardných odchýlok magnitúd odoziev jednotlivých filtrov. 132 8.5. MPEG-7 (a) θ = 0. (b) θ = 2π/5. (c) θ = 4π/5. Obrázok 8.4: Niekol’ko realizácí Gaborovho filtra pre rôzne hodnoty θ a vlnové dĺžky λ = {10,30}. (b) θ = 0, λ = 10. (c) θ = 2π/5, λ = 10. (d) θ = 4π/5, λ = 10. (e) θ = 0, λ = 30. (f) θ = 2π/5, λ = 30. (g) θ = 4π/5, λ = 30. (a) Vstupný obraz. Obrázok 8.5: Vstupný obrázok filtrovaný filtrami z obrázka 8.4. 8.5 MPEG-7 Norma MPEG-7 uvádza tri deskriptory textúry na rôzne použitie. Deskriptor na prehl’adávanie textúr charakterizuje hlavné vlastnosti textúr – smerovost’, regulárnost’ a zrnitost’. Deskriptor homogénnych textúr počíta lokálne štatistiky frekvenčných vlastností textúry a používa sa na vyhl’adávanie podobných textúr. V prípade nehomogénnych textúr môžeme využit’ histogram lokálnych hrán. V nasledujúcich častiach opíšeme tieto deskriptory detailnejšie. 8.5.1 Prehl’adávanie textúr Deskriptor na prehl’adávanie textúr je 12-bitový deskriptor, ktorý opisuje dvomi bitmi regularitu textúry, šiestimi (2 × 3) bitmi smery, ktoré najviac 133 8. P RÍZNAKY TEXTÚRY Obrázok 8.6: Textúry s rôznou mierou pravidelnosti zoradené od najmenej po najviac pravidelnú. Obrázok 8.7: Textúry s rôznou mierou zrnitosti. vystihujú orientáciu textúry a štyrmi (2 × 2) bitmi škály, ktoré najviac vystihujú hrubost’ (zrnitost’) textúry. Textúry môžu mat’ viacero charakteristických smerov a škál, preto deskriptor opisuje 2 maximálne hodnoty. Pravidelnost’ textúry je hodnotená číslami {0, 1, 2, 3}, kde 0 značí neregulárnu (náhodnú) textúru. Periodická textúra s pevne definovaným smerom a zrnitost’ou je hodnotená číslom 3 (obr. 8.6). Smer (orientácia) a škála textúry sa dajú zistit’ napr. pomocou banky Gaborovych filtrov (kap. 8.4). Smer opisujú hodnoty {0, . . . 6}, kde 0 znamená, že textúra nemá dominantný smer. Čísla {1, . . . 6} určujú smery od 0◦ po 150◦ v 30◦ krokoch. Ak má textúra len jeden dominantný smer, zapíše sa jeho hodnota do oboch políčok smeru, rovnako ako ked’ má jednu dominantnú škálu. Škála (zrnitost’) je hodnotená na stupnici {0, 1, 2, 3}, kde 0 hovorí o jemnej textúre a 3 o vel’mi zrnitej textúre. Príklad rôzne zrnitých textúr je na obrázku 8.7. 8.5.2 Homogénne textúry Tento deskriptor používa banku 30 Gaborovych filtrov, ktoré pokrývajú 6 orientácií a 5 škál (obr. 8.8). Z odoziev týchto 30 filtrov sa vypočíta energia a jej štandardná odchýlka a d’alej priemer a štandardná odchýlka intenzity obrazu. Deskriptor teda pozostáva zo 62 údajov ( ) E 1 , Std(E 1 ), . . . E 30 , Std(E 30 ), I¯, Std(I ) . 134 (8.15) 8.5. MPEG-7 x y Obrázok 8.8: Banka 30 Gaborovych filtrov pre deskriptor homogénnych textúr. (a) Štyri typy smerových hrán, jedna izotropná oblast’. 1 -1 1 1 1 -1 -1 -1 √2 0 0 -√2 0 √2 2 -2 -√2 0 -2 2 (b) Filtre zodpovedajúce typom hrán. Obrázok 8.9: Rôzne typy detegovaných textúr. 8.5.3 Histogram lokálnych hrán Tento deskriptor zachytáva distribúciu piatich typov hrán v textúre. Štyri typy sú smerové hrany (horizontálne, vertikálne a 2 diagonálne) a piaty typ zachytáva izotropné oblasti (obr. 8.9(a)). Postup vytvárania deskriptora je na obrázku 8.10. Pôvodný obraz sa rozdelí na 4 × 4 bloky a z každého bloku sa vypočíta histogram lokálnych hrán. Vel’kost’ výsledného deskriptora je teda 16 blokov × 5-hodnotový histogram = 80 hodnôt. Histogram každého bloku sa vypočíta d’alším rozdelením tohoto bloku na daný počet podblokov. Vel’kost’ týchto podblokov sa mení s rozlíšením obrazu, pretože ich počet je konštantný. Každý podblok je následne aproximovaný 2 × 2 super-pixelovou oblast’ou priemerných intenzít, na 135 8. P RÍZNAKY TEXTÚRY Obrázok 8.10: Pôvodný obraz sa rozdelí na 4 × 4 bloky a z každého bloku sa vypočíta histogram lokálnych hrán. Histogram každého bloku sa vypočíta d’alším rozdelením tohoto bloku na daný počet podblokov. Každý podblok je následne aproximovaný 2 × 2 super-pixelovou oblast’ou priemerných intenzít. ktorú sú aplikované hranové filtre uvedené na obrázku 8.9(b). Ak je maximálna odozva týchto filtrov väčšia ako stanovený prah, zvýši sa zodpovedajúca trieda histogramu bloku. 136 K APITOLA 9 Lokálne príznaky Dôležitým krokom pri rozpoznávaní objektov je extrakcia príznakov. V tejto kapitole predstavíme nový typ príznakov – lokálne príznaky. Porovnáme lokálne a globálne príznaky na konkrétnych príkladoch, budeme sa venovat’ všeobecnému opisu tohto druhu príznakov a zadefinujeme základné časti algoritmu extrakcie lokálnych príznakov. Ďalej opíšeme niektoré konkrétne algoritmy ako napríklad Harrisov detektor rohov, SIFT, SURF a ORB a porovnávanie príznakových vektorov. Pozrieme sa na tieto príznaky v kontexte registrácie obrazov a predstavíme si niektoré typické aplikácie využívajúce lokálne príznaky ako napríklad spájanie panorám, stereo-rekonštrukcia, alebo vyhl’adávanie obrazov. Na konci kapitoly podrobnejšie rozoberieme konkrétne použitie opísaných metód v prípadovej štúdii a načrtneme použitie lokálnych príznakov pre 3D dáta. 9.1 Lokálne vs. globálne príznaky Ako sme už spomínali v predchádzajúcich kapitolách, v počítačovom videní extrahujeme informáciu o obraze pomocou príznakov. Existuje vel’a rôznych druhov príznakov založených napríklad na farbe, textúre alebo tvare. Pri rozpoznávaní objektov rozlišujeme vo všeobecnosti dve úlohy: 1. Rozpoznávanie kategórií objektov (napríklad chrobáky, bicykle) 2. Rozpoznávanie konkrétnych objektov (napríklad Jankova plyšová panda, Manetova mal’ba: Raňajky v tráve) 138 9.1. Lokálne vs. globálne príznaky Obrázok 9.1: Príklady dvoch úloh rozpoznávania objektov. Vrchný riadok: Rozpoznávanie kategórie objektov, v tomto prípade chrobákov. Spodný riadok: Rozpoznávanie konkrétneho objektu, v tomto prípade Zamkovského chata v Tatranskom národnom parku. Pre ilustráciu uvádzame príklady obrazov pre obe úlohy na obrázku 9.1. Pri týchto úlohách môžeme využit’ globálne príznaky, ktoré analyzujú obraz ako celok a extrahujú jednu hodnotu (alebo vektor hodnôt) pre celú maticu pixelov obrazu a lokálne príznaky, ktoré najskôr hl’adajú v obraze zaujímavé body („interesting points“) a extrahujú potom príznaky z okolia týchto bodov. Jeden obraz je teda opísaný takým množstvom hodnôt (vektorov hodnôt), aký je počet zaujímavých oblastí v obraze. Pre lepšiu ilustráciu rozdielu týchto dvoch typov príznakov uvádzame nasledujúci príklad. Máme databázu obrazov (napr. všetky obrázky v databáze Flickr 1 ) a chceme v nej vyhl’adat’ obraz. Pri vyhl’adávaní obrazu pre dopyt Západ slnka (pozri obrázok 9.2), využijeme globálne príznaky farby, lebo takýto obraz vieme asi najlepšie opísat’ pomocou dominantných farieb, typických pre západ slnka, a ich výskytu v celom obraze. Ked’ sa však pozrieme na vyhl’adávanie dopytu ovečka Tilia (pozri obrázok 9.3), tak tušíme, že prístup z prvého príkladu by v tomto prípade 1 http://www.flickr.com/ 139 9. L OKÁLNE PRÍZNAKY Obrázok 9.2: Príklad vyhl’adaných obrazov pre dopyt „Západ slnka“. Na vyhl’adanie takéhoto typu obrazu použijeme globálne príznaky farby. Obrázok 9.3: Príklad vyhl’adaných obrazov pre dopyt ovečka Tilia. Na vyhl’adanie takéhoto typu obrazu použijeme lokálne príznaky, ktoré nám v tomto prípade lepšie opíšu hl’adaný objekt. nefungoval, ak by na obraze boli aj iné objekty, resp., keby bol objekt viditel’ný len čiastočne. Ked’ vyhl’adávame konkrétny objekt, chceme, aby bol identifikovaný aj v prítomnosti iného objektu (objektov), zaradený do zložitejšej scény, aj natočený, škálovaný, čiastočne prekrytý alebo zobrazený pri inom osvetlení. V tejto chvíli prichádzajú na rad lokálne príznaky, ktoré nám pomôžu vyhl’adávat’ a opisovat’ konkrétne oblasti patriace objektu v obraze. 9.2 Lokálne príznaky Počet extrahovaných lokálnych príznakov z obrazu závisí od počtu detegovaných zaujímavých bodov. Ak máme napríklad obraz bielej steny, žiadne lokálne príznaky z neho extrahovat’ nevieme, lebo na obraze nie sú žiadne lokálne zaujímavé body. 140 9.3. Metódy detekcie a deskripcie lokálnych príznakov Ako sme už naznačili v predchádzajúcom texte, proces získavania lokálnych príznakov (LP) sa skladá z dvoch častí: 1. Vyhl’adávanie zaujímavých bodov (IP), 2. Opis zaujímavých bodov a ich okolia vo forme príznakov (deskriptor). Ked’ hovoríme o LP, je dôležité spomenút’, že väčšina týchto metód sa snaží hl’adat’ a vytvárat’ také opisné vektory zaujímavých bodov, ktoré zostanú rovnaké, aj ked’ bude objekt, ktorý hl’adáme natočený, škálovaný a podobne. Preto zvyčajne hovoríme o invariantnosti týchto príznakov vzhl’adom na nejakú transformáciu. Príznaky môžu byt’ invariantné geometricky a rádiometricky. Rádiometrickou invariantnost’ou myslíme nezávislost’ od osvetlenia scény. Geometrickou invariantnost’ou myslíme nezávislost’ od rôznych geometrických transformácií. Pri rozpoznávaní objektov môžeme mat’ na mysli dva druhy transformácií: afinné transformácie a projektívne transformácie. Afinné transformácie zobrazujú priamku na priamku alebo bod a zachovávajú pomery medzi bodmi ležiacimi na priamke. Patria sem všetky podobnostné transformácie (posunutie, otočenie, škálovanie a zrkadlenie) plus skosenie a projekcia a ich skladanie. Ak v počítačovom videní uvažujeme planárny objekt zosnímaný dvoma kamerami z dostatočnej vzdialenosti (objekt pokrýva iba malú čast’ obrazu), považujeme transformáciu objektu medzi obrazmi za afinnú. Ak podmienka dostatočnej vzdialenosti neplatí, považujeme transformáciu za projektívnu. V oblasti lokálnych príznakov sa budeme najčastejšie zaoberat’ metódami invariantnými voči afinným transformáciám. V nasledujúcej sekcii sa budeme venovat’ detektorom a deskriptorom lokálnych príznakov, pričom uvedieme aj známe metódy ktoré implementujú oba procesy. Medzi najznámejšie a najpoužívanejšie patria metódy SIFT a SURF. Nové metódy však neustále pribúdajú, preto sa pokúsime naznačit’ výskum v tejto oblasti. 9.3 Metódy detekcie a deskripcie lokálnych príznakov Táto sekcia je rozdelená na dve časti. V prvej si predstavíme niektoré známe detektory lokálnych príznakov. V druhej časti si najskôr predstavíme jeden z prvých (a doteraz používaných) kompletných algoritmov na získanie lokálnych príznakov SIFT a potom metódu SURF, ktorá predstavuje výrazné urýchlenie metódy SIFT bez straty presnosti. Ďalej predsta141 9. L OKÁLNE PRÍZNAKY víme metódy na počítanie binárnych deskriptorov ako je BRIEF a napokon metódu ORB. Okrem algoritmov, ktoré budú v tejto časti opísané, existuje vel’ké množstvo d’alších metód ako sú SUSAN detektor [SB95], Wangov a Bradyho detektor [WB95], alebo deskriptory DAISY [TLF08], FREAK [AOV12] a BRISK [LCS11]. 9.3.1 Harrisov detektor rohov Harrisov detektor rohov bol publikovaný v [HS88]. Tento detektor využíva deriváciu šedotónového obrazu. Pre obrázok I (x, y) sa Harrisov detektor M(x, y) definuje pomocou matice derivácií I x , I y (resp.diferencií) intenzity obrazu I : I x2 Ix I y M(x) = w(x, y) , (9.1) Ix I y I y2 x,y kde w(x, y) je funkcia okna, ktorá je daná ako vážená suma (Gaussovým jadrom), I x , I y sú derivácie v smere osi x a y. Pre detekciu rohov sú dôležité vlastné hodnoty matice M, teda (λ1 , λ2 ), ktoré vyjadrujú varianciu v dvoch hlavných smeroch. Ak je variancia v oboch smeroch vel’ká (teda vlastné hodnoty λ1 , λ2 sú dostatočne vel’ké), leží bod na rohu, a ak je vel’ká len jedna z hodnôt, leží na hrane. Zjednodušene si môžeme predstavit’, že našou snahou je nájst’ také (dostatočne malé) oblasti v obraze, ktoré, keby sme vystrihli a priložili k rovnako vel’kým oblastiam v ich okolí, rozdiel by bol výrazný. V [HS88] využívajú namiesto vlastných hodnôt mieru: R(x) = det(M(x)) − k trace(M(x))2 , (9.2) pričom, ak hodnota R pre bod x presiahne zvolený prah, bod je klasifikovaný ako roh, teda detegovaný ako zaujímavý bod. Táto miera bola zjednodušená a zefektívnená v článku [ST94], kde autori použili: R(x) = min(λ1 , λ2 ), (9.3) Detektor využívajúci túto mieru je známy pod názvom „Good features to track“, alebo Shi-Tomasi detektor. 9.3.2 FAST Detektor FAST bol publikovaný v [RD06]. Je prvým detekčným algoritmom, ktorý vychádza z AST („Accelerated Segment Test“ – akcelerovaného segmentového testu). Skratka FAST vlastne znamená príznaky z AST 142 9.3. Metódy detekcie a deskripcie lokálnych príznakov Obrázok 9.4: Detekcia zaujímavých bodov pomocou metódy FAST. P je skúmaný bod, v ktorého okolí vo vzdialenosti r = 3 je 11 susediacich bodov (1 – 7, 13 – 16), ktorých intenzita je vyššia ako P. Bod P je detegovaný ako zaujímavý bod. („features from AST“). Algoritmus pre každý bod P obrazu preskúma jeho okolie vel’kosti Bresenhamovho (rasterizovaného) kruhu s polomerom r . Ak je v okolí n susediacich pixelov, pre ktoré platí, že ich intenzita je vyššia v porovnaní so skúmaným pixelom o viac ako t , alebo menšia o viac ako t , potom je skúmaný pixel považovaný za zaujímavý bod. Algoritmus používa hodnotu polomeru r = 3 a najlepšie výsledky dosahuje pri n = 9. Na vytvorenie poradia, v ktorom sa budú jednotlivé pixely testovat’, sa využívajú rozhodovacie stromy skonštruované z trénovacej množiny dát, v prípade FASTu autori využili „ID3 – Iterative dichotomizer“ (kap. 14.3). Na obrázku 9.4 môžeme vidiet’ detegciu bodu P s kruhovým okolím polomeru r = 3 a počtom potrebných bodov n = 9. Body okolia 1 – 6 a 14 – 16 majú väčšiu intenzitu ako P , preto môžeme P považovat’ za zaujímavý bod. 9.3.3 SIFT SIFT („Scaleable Invariant Feature Transform“) je technika vytvorená Lowem [Low02], ktorá predstavuje škálovo a rotačne invariantný detektor a deskriptor zaujímavých bodov. V prvom kroku algoritmu SIFT sú detektorom nájdené zaujímavé body v obraze a v druhom kroku je vytvorený deskriptor pre každý z týchto bodov. Na konkrétne implementácie metód detektora a deskriptora sa zameriame v nasledujúcich častiach Detektor: SIFT využíva na vyhl’adávanie zaujímavých bodov tzv. škálový priestor (alebo škálovú pyramídu), ktorý vytvára s využitím rozdielu 143 9. L OKÁLNE PRÍZNAKY Obrázok 9.5: Škálovacia pyramída so 4 oktávami a 5 obrazmi v každej oktáve. Obrazy sú v rámci každej oktávy opätovne filtrované Gaussiánom. Nová oktáva obsahuje obrazy s polovičnou šírkou a výškou oproti predchádzajúcej oktáve. Gaussiánov (Difference of Gaussians – DoG). Obraz je podvzorkovaný do k vel’kostí – „oktáv“. V každej oktáve je vytvorených n d’alších obrazov opätovným filtrovaním pôvodného obrazu Gaussiánom. Príklad 1D Gaussiánu: g (x) = 1 2πσ e −x 2 /2σ2 , (9.4) kde hodnota σ označuještandardnú odchýlku a jej hodnota pre všetky vyhladzovania je 2. Teda pri prvom vyhladzovaní v prvej oktáve dostaneme z pôvodného obrazu A, obraz B pomocou Gaussiánu so štandardnou odchýlkou σ = 2. Nasledujúci obraz C dostaneme z B pomocou vyhladenia Gaussiánom so σ = 2, obraz C by sme z A dostali pomocou vyhladenia Gaussiánom, opät’ so 144 9.3. Metódy detekcie a deskripcie lokálnych príznakov Obrázok 9.6: Lokálne extrémy boli nájdené porovnávaním pixelu (biely bod) s okolím 3×3×3 (čierne body), teda 3×3 okolím v aktuálnom, predchádzajúcom a nasledujúcom obraze. σ = 2. Škálová pyramída so 4 oktávami a 5 obrazmi v každej oktáve je zobrazená na obraze 9.5. V rámci každej oktávy sa potom všetky susedné obrazy odčítajú, čím vznikne n − 1 obrazov v každej oktáve. Rozdiel Gaussiánov, ako bol opísaný v tejto časti, sa využíva preto, lebo predstavuje aproximáciu škálovo normalizovaného Laplaciánu z Gaussiánu (pozri kapitolu o hranových detektoroch). Výhodou použitia Gaussiánu je jeho separovatel’nost’, teda možnost’ použitia dvoch 1D filtrov namiesto jedného 2D filtra, pre zníženie komplexnosti výpočtu. Vo vytvorenom škálovom priestore sa potom hl’adajú lokálne extrémy v okolí 3 × 3 × 3. Okolie 3 × 3 × 3 znamená, že sa v rámci obrazu, v ktorom sa skúmaný bod nachádza, hl’adá v okolí 3 × 3, ale taktiež sa hl’adá aj v okolí 3 × 3 na nasledovnom a predchádzajúcom obrazu v rámci škálového priestoru (pozri obrázok 9.6). Tieto lokálne extrémy (teda minimá alebo maximá) sú identifikované ako zaujímavé body. Oktáva, v ktorej bol zaujímavý bod nájdený, bude predstavovat’ „škálu“ daného zaujímavého bodu a určí vel’kost’ okolia, ktoré sa použije pri extrakcii deskriptora. Deskriptor: Pre každý zaujímavý bod je vypočítaná hodnota deskriptora z histogramov orientácií pre 16 štvorcových oblastí v jeho okolí (vel’145 9. L OKÁLNE PRÍZNAKY Obrázok 9.7: Príklad vytvorenia deskriptora z okolia kl’účového bodu pri metóde SIFT. Na obraze sú použité štyri (2 × 2) regióny namiesto šestnást’(4 × 4). Každú oblast’ vzorkujeme 16 bodmi, v ktorých sa vypočíta vel’kost’ a orientácia gradientu (malé šípky v l’avom obraze). Z týchto sa potom vytvoria výsledné histogramy orientácií (šípky v pravom obraze). kost’ oblastí je závislá od škály daného zaujímavého bodu). V prvom kroku je dôležité zistit’ dominantnú orientáciu každého kl’účového bodu a potom vytvorit’ deskriptor bodu relatívne k tejto orientácii. Každú oblast’ potom navzorkujeme 16 bodmi a v každom z nich (A i j ) vypočítame vel’kost’ (Mi j ) a orientáciu Ri j gradientu nasledovne: Mi j = (A i j − A i+1,j )2 + (A i j − A i,j +1 )2 , (9.5) Ri j = atan2(A i j − A i+1,j , A i,j +1 − A i j ). (9.6) kde atan2 je hodnota arcus tangens s oborom hodnôt (−π, π〉 ⎧ y arctan x ⎪ ⎪ ⎪ y ⎪ ⎪ ⎪ arctan x + π ⎪ ⎪ ⎪ ⎨arctan y − π x atan2(y, x) = ⎪ + π2 ⎪ ⎪ ⎪ ⎪ π ⎪ −2 ⎪ ⎪ ⎪ ⎩ nedef. x > 0, y ≥ 0, x < 0, y < 0, x < 0, y > 0, x = 0, (9.7) y < 0, x = 0, y = 0, x = 0. Týmto hodnotám sú priradené váhy pomocou Gaussovho kruhového okna (pozri obrázok 9.7). Z váhovaných hodnôt v 16 bodoch sú potom vytvorené histogramy orientácií, pričom každý histogram 146 9.3. Metódy detekcie a deskripcie lokálnych príznakov pokrýva jednu zo šestnástich (4 × 4) oblastí z okolia zaujímavého bodu. Dĺžka šípky v histograme predstavuje sumu vel’kostí gradientov v blízkosti daného smeru v oblasti. V každom histograme je 8 smerov, čo pri počte 4 × 4 oblastí znamená 128 hodnôt deskriptora pre jeden zaujímavý bod. 9.3.4 SURF SURF („Speeded Up Robust Features“) je technika, ktorú autori Bay et al. [Bay+08] považujú za vylepšenie SIFTu a iných podobných techník. SURF obsahuje podobne ako SIFT detektor na nájdenie a deskriptor na opísanie zaujímavých bodov. Detektor: SURF, podobne ako SIFT deteguje zaujímavé body v škálovej pyramíde, namiesto Gaussiánov však využíva aproximáciu Gaussiánov druhej parciálnej derivácie v smere y a xy pomocou „box filtrov“. Na vytvorenie škálového priestoru sa pri tejto metóde nevyužíva zmenšovanie obrazu a následná konvolúcia, ale naopak, konvolúcia pôvodného obrazu s postupne sa zväčšujúcimi filtrami. Na nájdenie zaujímavých bodov je na obraz aplikované potlačenie nemaximálnych hodnôt v okolí 3 × 3 × 3 (okolie 3 × 3 × 3 je okolie spomínané pri technike SIFT). Deskriptor: Pre vytvorenie deskriptora zaujímavých bodov je potrebné v prvom kroku zistit’ jeho orientáciu a v druhom kroku vytvorit’ štvorcovú oblast’ zarovnanú podl’a tejto orientácie (z nej sa bude deskriptor extrahovat’). Pre určenie orientácie zaujímavého bodu sa najskôr vypočítajú odozvy Haarovho waveletu v x-ovom a yovom smere v kruhovom okolí bodu s priemerom 6s, pričom s je vel’kost’ aktuálnej škály. Vypočítaným odozvám sú potom priradené váhy pomocou Gaussovho kruhového okna a sú reprezentované ako vektor v priestore. Dominantná orientácia zaujímavého bodu je najdlhší z vektorov vypočítaných ako suma vertikálnych a horizontálnych odoziev, získaných pomocou otočného okna ako suma všetkých odoziev v danej orientácii. V d’alšom kroku je vytvorená v okolí zaujímavého bodu štvorcová oblast’ zarovnaná podl’a orientácie. Oblast’ je rozdelená na 4 × 4 subregióny, pričom v každom sú vypočítané 4 príznaky na 5 × 5 pravidelne rozmiestnených bodoch. Príznakmi sú: suma odoziev Haarovho waveletu v horizontálnom a vertikálnom smere a suma absolútnych hodnôt odoziev Haarovho waveletu v horizontálnom a vertikálnom smere. Des147 9. L OKÁLNE PRÍZNAKY kriptor zaujímavého bodu potom obsahuje 4 hodnoty pre každú zo 16 oblastí (spolu 64 hodnôt). 9.3.5 BRIEF Deskriptor: BRIEF alebo Binárne robustné invariantné elementárne príznaky (Binary Robust Invariant Elementary Features) je deskripčná metóda, ktorá bola navrhnutá a popísaná v [Cal+10]. BRIEF je binárny deskriptor, ktorý opisuje záplatu priloženú k obrazu, kde každý bit zodpovedá jednému výsledku binárneho testu na rozdiel intenzity. Môžme si to predstavit’ tak, že v okolí nejakého bodu obrázku rozsypeme n zápaliek. Potom sa pozrieme pod koncové a počiatočné body zápaliek a pre každú zápalku porovnáme ich hodnotu. Výsledný deskriptor dĺžky n bude obsahovat’ 1, ak pre danú zápalku bola hodnota intenzity pod počiatočným bodom vyšia a 0 naopak. Pre záplatu p (pre príklad záplaty pozri obrázok 9.8), je vektor príznakov dĺžky n bitov definovaný f n (p) = 2i−1 τ(p; xi , yi ), (9.8) 1≤i≤n kde τ(p; x, y) = 0 ak p(x) ≤ p(y), 1 ak p(x) > p(y), (9.9) kde p(x) je intenzita v bode x. 9.3.6 ORB Detektor: Detektor, ktorý využíva metóda ORB, sa nazýva oFAST a je modifikáciou metódy FAST. Rozdiel spočíva v tom, že detektor oFAST prahuje rozdiel intenzít medzi centrálnym pixelom a pixelami v jeho kruhovom okolí s priemerom 9 pixelov. Na nájdenie n zaujímavých bodov algoritmus nastaví najskôr nižší prah tak, aby vyhovelo viac ako n bodov. Následne tieto body utriedi na základe Harrisovej miery 9.3, predstavenej v [HS88] a vyberie n najlepších bodov. Deskriptor: Ako deskriptor využíva ORB modifikáciu BRIEFu, nazvanú rBRIEF, teda BRIEF s rotáciou. Rotácia detegovaného zaujímavého bodu je extrahovaná s použitím t’ažiska intenzity okolia. Metóda vychádza z toho, že vektor zo zaujímavého bodu do t’ažiska (t’ažiska intenzity okolia) indukuje rotáciu. Ked’ zvolíme okolie zaují148 9.3. Metódy detekcie a deskripcie lokálnych príznakov Obrázok 9.8: Príklad záplaty s 32 čiarami, vytvárajúcej deskriptor dĺžky 32 bitov. mavého bodu ako záplatu s vel’kost’ou r , môžeme vypočítat’ centroid C záplaty ako + , m 10 m 01 C= , , (9.10) m 00 m 00 kde m pq sú momenty záplaty, pre ktoré platí, že m pq = x p y q I (x, y). (9.11) x,y Orientácia takejto záplaty je potom θ = atan2(m 01 , m 10 ). (9.12) V časti venovanej BRIEFu sme spomínali binárne testy na rozdiel intenzít a spôsob, ako sa počítajú. Pre každú množinu príznakov obsahujúcu N binárnych testov na pozícii xi , yi môžeme definovat’ maticu 2 × N + , x1 . . . xn S= . (9.13) y1 . . . yn Pre rBRIEF autori použili orientáciu θ a jej zodpovedajúcu maticu rotácie Rθ na zostrojenie matice S θ = Rθ S. (9.14) 149 9. L OKÁLNE PRÍZNAKY Vektor príznakov pre metódu rBRIEF sa potom vypočíta takto g n (p, θ) := 2i−1 τ(p; xi , yi ). (9.15) (xi ,yi )∈S θ Pridanie rotačnej invariancie však spôsobuje problém so stratou variancie v rBRIEFe. Na zníženie korelácie medzi jednotlivými binárnymi testami autori navrhli metódu učenia sa na získanie „dobrej“ podmnožiny binárnych testov. Algoritmom je greedy („pažravé“) prehl’adávanie množiny nekorelovaných testov s priemerom blízko 0,5 vo všetkých možných binárnych testoch na záplate s vel’kost’ou 31 × 31 pixelov. 9.3.7 Porovnávanie deskriptorov Dôležitým krokom pri využívaní lokálnych príznakov je aj vzájomné porovnávanie extrahovaných deskriptorov zaujímavých bodov medzi obrazmi a objektami. Klasickým prístupom je v tomto smere metóda brute force, teda porovnávanie každý s každým. Pri tejto metóde deskriptory porovnávame postupne so všetkými deskriptormi z nejakej databázy, alebo extrahovanými z druhého obrazu a počítame vzdialenosti medzi nimi, pričom deskriptor s najmenšou vzdialenost’ou je najlepším kandidátom na zhodu. Ked’že takýto spôsob porovnávania je vd’aka svojej vysokej zložitosti časovo náročný, v praxi sa používajú rôzne vylepšenia s využitím usporiadania deskriptorov do stromov, alebo s použitím binárneho hashovania. 9.4 Registrácia objektov Doteraz sme v tejto kapitole hovorili najmä o využití lokálnych príznakov pri detekcii a rozpoznávaní objektov. V počítačovom videní je často okrem rozpoznania objektov dôležitá aj registrácia. Len pre príklad uvedieme, že registrácia je dôležitým krokom napríklad v rozšírenej realite (augmented reality), kde slúži na určenie správneho umiestnenia virtuálnych objektov v reálnom prostredí. Podl’a Zitovej [ZF03] poznáme štyri typy registrácie 1. 2. 3. 4. 150 Multitemporálna registrácia, Multimodálna registrácia, Registrácia scény a modelu, Multipohl’adová registrácia. 9.5. Využitie lokálnych príznakov Lokálne príznaky sa dajú priamočiaro použit’ pri poslednom type registrácie, pričom pri ostatných typoch je ich použitie závislé od konkrétnych podmienok. Ak by sme napríklad chceli zarovnávat’ jeden rez z počítačovej tomografie (CT) s rezom z rovnakého miesta z magnetickej rezonancie (MRI) pri spracovaní medicínskych dát (pri multimodálnej analýze), nebolo by možné použit’ metódy ako SIFT bez väčších modifikácií. Dôvodom je fakt, že dáta zosnímané týmito dvoma metódami zvýrazňujú úplne iné štruktúry (CT – kosti, MRI – mäkké tkanivá), a preto lokálne zaujímavé body v týchto obrazoch nekorešpondujú. Proces registrácie obsahuje okrem detekcie príznakov aj d’alšie kroky. Celkovo sú fázy registrácie štyri 1. 2. 3. 4. Detekcia príznakov, Párovanie príznakov, Zistenie modelu transformácie, Prevzorkovanie a transformácia modelu. Prvé dve fázy sme predstavili v predchádzajúcich častiach tejto kapitoly. Pre viac informácií o d’alších dvoch fázach pozri [ZF03]. 9.5 Využitie lokálnych príznakov Lokálne príznaky sa, okrem spomínaného rozpoznávania objektov, využívajú aj pre mnohé iné aplikácie z oblastí počítačového videnia, počítačovej grafiky alebo napríklad aj robotiky. 9.5.1 Spájanie panorám Jednou z prvých aplikácií bolo „zošívanie“ panorám, kde lokálne príznaky slúžia na nájdenie korešpondenčných bodov medzi jednotlivými snímkami. Nájdenie dvojíc korešpondujúcich bodov je pri zošívaní panorám dôležité kvôli vzájomnej registrácii dvoch snímkov. Niektoré aplikácie na spájanie panorám stále využívajú manuálne alebo poloautomatické zadávanie korešpondujúcich bodov kvôli väčšej robustnosti. Problém hl’adania korešpondujúcich bodov na dvoch fotografiách obsahuje z transformácií: transláciu, rotáciu a v určitých prípadoch aj škálovanie. Vol’nými nástrojmi na vytváranie panorám s využitím lokálnych príznakov, sú napríklad Autopano2 alebo Autostich3 . 2 http://autopano.kolor.com/ 3 http://cs.bath.ac.uk/brown/autostitch/autostitch.html 151 9. L OKÁLNE PRÍZNAKY 9.5.2 Stereo rekonštrukcia Ďalším populárnym typom aplikácie lokálnych príznakov je 3D rekonštrukcia. Podobne ako v predchádzajúcom prípade lokálne príznaky slúžia na nájdenie korešpondencií medzi obrazmi, z ktorých chceme rekonštruovat’ scénu (objekt). Tieto obrazy sú typicky nasnímané pomocou dvoch kamier (stereorekonštrukcia), ktoré sú umiestnené v známej vzájomnej pozícii určenej v procese kalibrácie kamery. 9.5.3 Vlastná kalibrácia kamery V počítačovom videní zvyčajne aproximujeme reálnu kameru modelom štrbinovej kamery. Kalibrácia kamery je proces zist’ovania vnútorných a vonkajších parametrov kamery, ktoré reprezentujú geometriu štrbinovej kamery. Vonkajších parametrov kamery je šest’ a hovoria o polohe a orientácii kamery v 3D priestore. Sú to 3 parametre rotácie a 3 parametre translácie. Vnútorných parametrov kamery je pät’ a sú nezávislé od polohy a orientácie kamery v priestore. Metódy kalibrácie rozdel’ujeme na 1. Kalibráciu zo známej scény (použitie kalibračného objektu so známou geometriou, napríklad šachovnice). 2. Kalibráciu z neznámej scény (použitie viacerých snímok). Pri kalibrácii z neznámej scény, teda autokalibrácii, sa používa niekol’ko rôznych snímok rovnakej scény namiesto známeho kalibračného objektu. Z týchto snímok sa extrahujú dvojice korešpondujúcich bodov a z nich sa vypočíta fundamentálna matica. Fundamentálna matica je matica 3 × 3, ktorá dáva do súvisu korešpondujúce body v stereo zobrazení. Z fundamentálnej matice sa potom určia vnútorné parametre kamery a relatívna pozícia kamery (až na projektívnu transformáciu v 3D priestore). Tak ako v predchádzajúcich aplikáciách, lokálne príznaky nám poslúžia na vyhl’adanie korešpondencií v snímkach. Použitie metódy SIFT na vlastnú kalibráciu bolo opísané v [LH06]. Pre podrobnejšie informácie o kalibrácii kamery odporúčame [SHB98]. 9.5.4 Sledovanie objektov Podobne sa lokálne príznaky využívajú aj pri sledovaní (tracking) objektov vo videu. Tu sa hl’adajú korešpondencie medzi lokálne zaujímavými bodmi detegovanými na sledovanom objekte a nasledujúcimi snímkami 152 9.6. Prípad použitia: Klasifikácia malieb sekvencie. Tieto korešpondencie potom umožňujú sledovat’ pohyb (bodov) objektu medzi snímkami. Špecifické pre tieto tri typy aplikácií je, že snímky, na ktorých hl’adáme korešpondenciu, sú zväčša nasnímané v krátkom časovom odstupe (alebo v rovnakom čase pri stereorekonštrukcii), pod rovnakým osvetlením, v rovnakom prostredí a v podobnej škále. 9.5.5 Vyhl’adávanie obrazov Lokálne príznaky našli využitie aj pri CBIR („Content based image retrieval“) , teda vyhl’adávaní obrazov na základe ich obsahu. Vyhl’adávanie obrazov je neoddelitel’nou súčast’ou vyhl’adávačov od roku 2001, ked’ Google zaviedol Image search. Pôvodne sa obrazy vyhl’adávali iba na základe ich opisu, resp. na základe textu, ktorý sa nachádzal na stránke v blízkosti obrazu. S príchodom CBIR sa začali obrazy vyhl’adávat’ aj na základe vizuálneho obsahu, teda na základe výskytu a rozloženia farieb alebo textúry. V súčasnosti CBIR systémy obsahujú ovel’a sofistikovanejšie možnosti na vyhl’adávanie, ako je napríklad vyhl’adávanie na základe používatel’om zadanej kontúry, alebo vyhl’adávanie obrazov obsahujúcich používatel’om zadané objekty. V tejto fáze prichádzajú na rad lokálne príznaky, ktoré sa používajú na detekciu hl’adaných objektov. Predstavili sme niektoré klasické aplikácie pre využitie lokálnych príznakov, existuje však mnoho d’alších možností na využitie tohto typu príznakov, ktoré tu neboli predstavené a nechávame ich na čitatel’ovej fantázii. V nasledujúcej časti pre úplnost’ rozoberieme krok po kroku konkrétny prípad použitia. 9.6 Prípad použitia: Klasifikácia malieb Opíšeme prípad použitia lokálnych príznakov pre rozpoznávanie malieb na fotografiách (budeme vychádzat’ z [Hal10]). Predstavme si, že sme sa práve vrátili z výstavy v galérii a prezeráme si fotografie, ktoré sme tam vytvorili. Pri prezeraní zistíme, že fotografia mal’by, ktorá sa nám najviac páčila, a ktorú sme chceli použit’ ako tapetu na počítači sa nám vel’mi nevydarila. Rozhodneme sa teda vyhl’adat’ kvalitnejšiu fotografiu vo virtuálnej galérii na internete. Vo väčšine týchto galérií sa vyhl’adávajú mal’by len na základe názvu, autora alebo roku vyhotovenia. Čo však robit’, ak nevieme ani autora ani názov mal’by? Predstavme si na vyhl’adanie názvu obrazu nasledujúcu funkciu. Táto funkcia má na vstupe fotografiu a na 153 9. L OKÁLNE PRÍZNAKY výstupe názov mal’by z databázy, ktorá je čo najpodobnejšia zadanej fotografii. Databáza obrazov, nazvime ju databáza originálov, s ktorými je náš obraz porovnávaný, obsahuje pre každý obraz jeho názov a súbor hodnôt extrahovaných deskriptorov detegovaných lokálne zaujímavých bodov (pre príklad dopytových obrazov a obrazov z databázy fotografií pozri obr. 9.9). Ak by sme ako metódu na extrakciu lokálnych príznakov použili metódu SIFT, potom by pre každý obraz v databáze existoval súbor vel’kosti n × 128 celých čísel, pričom n je počet zaujímavých bodov v obraze. Vo fáze vyhl’adávania by sme najskôr vypočítali lokálne príznaky pre vstupný (dopytový) obraz a tieto postupne porovnali s lokálnymi príznakmi (uloženými vo forme súborov) všetkých obrazov databázy. Výsledkom každého porovnania súborov je počet zhôd medzi deskriptormi zaujímavých bodov dopytového obrazu a obrazu z databázy. Najlepší kandidát na správnu klasifikáciu (teda názov obrazu) je potom obraz s najväčším počtom zhôd so vstupným obrazom. Vo všeobecnosti môžeme za základnú metriku pri porovnávaní deskriptorov pri metóde SIFT, resp. pri metódach používajúcich celočíselné deskriptory, považovat’ Euklidovskú vzdialenost’. Využit’ sa však teoreticky dajú aj iné metriky, ako napríklad Manhattanská vzdialenost’. Pri metódach, ktoré využívajú binárne deskriptory (BRIEF, ORB), teda opisujú zaujímavé body vektormi obsahujúcimi len 0 a 1, sa za štandardnú metriku považuje Hammingova vzdialenost’. Pre porovnanie Euklidovská vzdialenost’ je vyjadrená nasledovne. Majme dva body v Euklidovskom priestore p = (p 1 , p 2 , ...p n ) a q = (q 1 , q 2 , ...q n ). Potom vzdialenost’ medzi p a q je 1 n de (p, q) = (p i − q i )2 . (9.16) i=1 Ked’ však p = (p 1 , p 2 , . . . p n ) a q = (q 1 , q 2 , . . . q n ) sú dva binárne ret’azce, môžeme ich podobnost’ vyjadrit’ ako Hammingovu vzdialenost’ nasledovne n dh (p, q) = δ(p i , q i )/n, (9.17) i=1 kde δ(p, q) = 0 ak = (p i > 0 ∧ q i > 0) ∨ (p i = 0 ∧ q i = 0), 1 ak = inak. (9.18) Výhodou Hammingovej vzdialenosti je jej vel’mi rýchly a efektívny výpočet. Pri porovnávaní vel’kej databázy príznakov predstavuje výrazné 154 9.6. Prípad použitia: Klasifikácia malieb (a) (b) Obrázok 9.9: Príklad obrazov z databázy originálov (a) a dopytových obrazov (b). Databáza originálov obsahuje obrazy zosnímané vo vysokom rozlíšení pod konštantným osvetlením a s minimálnym šumom. Dopytové obrazy boli zosnímané turistami pri návšteve galérie a slúžia ako dopyt pre vyhl’adanie názvu, resp. korešpondujúceho originálu z databázy originálov. 155 9. L OKÁLNE PRÍZNAKY zrýchlenie oproti použitiu Euklidovskej vzdialenosti. Táto skutočnost’ je jedným z hlavných dôvodov úspechu nových metód využívajúcich binárne deskriptory. Na rozhodnutie, či je určená vzdialenost’ deskriptorov dostatočne malá, aby sa dali deskriptori považovat’ za zhodné, sa používa bud’ jednoduché prahovanie, alebo napríklad metóda druhého najbližšieho suseda („second nearest neighbour“). Táto metóda najskôr utriedi jednotlivé porovnávané deskriptory podl’a vzdialenosti a za zhodu považuje najbližší deskriptor vtedy, ak jeho vzdialenost’ je 0,6 krát menšia ako vzdialenost’ druhého najbližšieho deskriptora. Ak ako názov hl’adaného obrazu zvolíme vždy názov kandidáta z najväčším počtom zhôd bezohl’adu na počet zistených zhôd sa môže stat’, že aj obraz, ktorý v databáze nemáme, označíme názvom najlepšieho kandidáta. Pri finálnom vyhodnotení sa v týchto prípadoch zvýši počet obrazov zaradených do nesprávnej triedy. Pre zníženie počtu zlých klasifikácií treba používat’ prah na minimálny počet zhôd pre správnu klasifikáciu. Ak použijeme prah príliš nízky, môže sa stat’, že množstvo obrazov nepatriacich do žiadnej kategórie bude nesprávne klasifikované ako do kategórie patriace, ako v spomínanom prípade („false positive“). Ked’ však nastavíme prah príliš vysoko, bude vel’a obrazov z databázy klasifikovaných, ako keby do nej nepatrili („false negative“). Aby sme sa vyhli tejto situácii, správnu hodnotu prahu môžeme natrénovat’ na malej časti testovacej databázy (kap. 16). 9.7 3D lokálne príznaky Doteraz sme sa v kapitole venovali len lokálnym príznakom v obrazoch, teda 2D príznakom. S príchodom cenovo dostupných zariadení, ako napríklad Kinect od Microsoftu, poskytujúcich RGBD dáta(3 farebné kanály R,G,B a hĺbková informácia), sa objavili aj metódy extrahujúce lokálne príznaky v RGBD alebo 3D dátach. Pri RGBD dátach sa ako možnost’ priamočiarej extrakcie lokálnych príznakov, namiesto informácie o intenzite, ponúka využitie hĺbkovej informácie („depth image“). Na prvý pohl’ad je zrejmé, že tak, ako sme predpokladali zmenu intenzity na hranách v 2D obraze, môžeme predpokladat’, že na hranách 3D objektov nachádzajúcich sa v scéne bude nastane zmena hĺbkovej informácie. K informácii z hĺbkovej mapy môžeme pristupovat’ aj inak, prostredníctvom jej projekcie do mračna bodov. Lokálne príznaky sa potom namiesto z 2D dát extrahujú z 3D mračna bodov. V takejto reprezentácii môžeme jednotlivé mračná bodov z jednej scény navzájom registrovat’ 156 9.7. 3D lokálne príznaky a spájat’. Registrácia mračien bodov sa v štandardne robí v dvoch krokoch. V prvom sa snažíme mračná približne zarovnat’ použitím jednej transformácie a v druhom kroku použijeme iteratívnu metódu (napríklad „ICP – Iterative Closest point“ [BM92]) na finálne zarovnanie. V prvom kroku sa na približné zarovnanie dajú použit’ modifikované metódy na extrakciu 2D lokálnych príznakov. Po zovšeobecnení môžeme povedat’, že spájanie mračien bodov je 3D analógia zošívania 2D panorám. Algoritmy ako SIFT či SURF, pôvodne vyvinuté na 2D dáta, sa uplatnili aj v mračnách bodov alebo iných reprezentáciách 3D objektov, ako sú napr. volumetrické dáta. Napr. v [Kno+10] autori navrhli a implementovali modifikáciu algoritmu SURF – 3D (SURF pre voxelizované (voxel – 3D pixel) dáta), ktorý namiesto kruhového okolia bodu, pracuje so sférickým okolím. Pre prácu s mračnami bodov (spájanie mračien bodov) odporúčame dynamicky sa rozvíjajúcu Open Source knižnicu PCL (Point Cloud Library)4 . 4 http://pcl.org 157 K APITOLA 10 Predspracovanie príznakov V predchádzajúcich kapitolách sme videli, že príznakov opisujúcich obraz je mnoho. Čím viac príznakov extrahujeme z obrazu, tým viac informácie o obraze máme, čím zvyšujeme presnost’ následnej klasifikácie. Zároveň však stúpa zložitost’ extrakcie, zvyšuje sa pravdepodobnost’, že viaceré príznaky zachytávajú rovnakú informáciu a rastie zložitost’ trénovania klasifikátora. Tomuto javu sa hovorí „prekliatie“ dimenzionality. Riešením je zníženie počtu príznakov. K znižovaniu môžeme pristúpit’ dvomi základnými spôsobmi. Prvým z nich je výber príznakov (kap. 11), kde z pôvodných príznakov vyberieme podmnožinu, ktorá rovnako dobre klasifikuje dáta ako pôvodná množina príznakov. Druhým spôsobom je redukcia príznakov (kap. 12), pri ktorej transformujeme pôvodnú množinu do menejrozmernej množiny. Predtým, než pristúpime k znižovaniu dimenzie, musíme rozhodnút’, či príznaky treba predspracovat’, alebo nie. Ciel’om predspracovania príznakov je úprava dát do formátu vhodného pre používaný klasifikátor, prípadne transformácia dát, ktorá zlepší výsledok klasifikácie. Podl’a typu dát delíme príznaky na nemetrické a metrické. Nemetrické sa d’alej delia na kvalitatívne a poradové. • Kvalitatívne (nominálne) príznaky umožňujú rozlíšit’ klasifikačné triedy, ale neumožňujú ich porovnat’. Takéto dáta nájdeme napríklad pri klasifikácii geometrických útvarov podl’a tvaru (kruh, štvorec, . . .) alebo fotografií l’udí podl’a pohlavia (žena, muž). 158 • Poradové (ordinálne) príznaky umožňnujú usporiadanie príznakov podl’a ich hodnoty, ale nehovoria o vzt’ahu týchto hodnôt. Ak napríklad zaznamenáme pre objekty len ich poradie podl’a obsahu a nie konkrétnu hodnotu obsahu objektov, nevieme povedat’, o kol’ko alebo kol’ko krát je objekt na prvom mieste väčší ako objekt na druhom mieste. Metrické príznaky môžu byt’ diskrétne alebo spojité a delia sa na intervalové a pomerové. • Intervalové (kardinálne) príznaky sú výsledkom merania v určených jednotkách. Dokážeme z nich určit’, o kol’ko je jedna hodnota vyššia ako druhá. Všetky inštancie jedného príznaku musia byt’ merané v rovnakých jednotkách. Nemôžeme merat’ obvod jedného objektu v pixeloch a druhého v centimetroch. Ak intervalovú premennú repezentujeme histogramom, ide už o poradovú premennú. • Pomerové príznaky sú vyjadrené v škále s absolútnym nulovým bodom. Vieme z nich určit’ kol’kokrát je jedna hodnota väčšia ako druhá. Pomer je nezávislý na jednotkách merania, avšak meranie aj vzt’ažná hodnota musia byt’ vyjadrené v rovnakých jednotkách. Pri spracovaní dát sú častým problémom chýbajúce údaje, ktoré sa nepodarilo pre niektoré objekty získat’, alebo sa stratili v priebehu spracovania. Tento problém môžeme riešit’ viacerými prístupmi. Príznak, ktorému chýbajú niektoré hodnoty, môžeme pre všetky objekty ignorovat’. Ak však rôznym objektom chýbajú hodnoty rôznych príznakov, nemusí byt’ tento prístup vhodný. Chýbajúci údaj potom môžeme nahradit’ priemernou, najčastejšou alebo náhodnou hodnotou. Prípadne môžeme príznaky, ktoré sú riedko obsadené, spojit’ do jednoho. Potom k nemu pristupujeme ako k nominálnemu príznaku. V nameraných dátach sa môžu vyskytovat’ aj hodnoty, ktoré sa objavujú s vel’mi nízkou pravdepodobnost’ou. Tieto prvky nazývame odl’ahlé údaje alebo odl’ahlé pozorovania (outliery). Pri normálnom rozdelení je obvyklé považovat’ za odl’ahlú tú hodnotu, ktorá je vzdialená od strednej hodnoty viac ako o 2,24 smerodajných odchýlok. Pravdepodobnost’, že hodnota bude považovaná za odl’ahlú, je 0,025. K odl’ahlým údajom musíme pristupovat’ premyslene. Ak ich vylúčime z dát, riskujeme stratu užitočnej informácie. Na druhej strane, ak ich zahrnieme do tréningu klasifikátora, riskujeme kontamináciu údajov a zníženie presnosti klasifikácie. Existujú robustné štatistické metódy, 159 10. P REDSPRACOVANIE PRÍZNAKOV 170 80 165 160 váha (lb) váha (kg) 75 70 155 150 65 145 60 155 160 165 170 175 výška (cm) 180 185 (a) Zelená vzorka je bližšie k modrej. 140 50 60 70 výška (inch) 80 (b) Zelená vzorka je bližšie k červenej. Obrázok 10.1: Vplyv výberu jednotiek merania na vzdialenost’ vzoriek. ktoré berú do úvahy odl’ahlé údaje, ale minimalizujú ich účinok. Príkladom robustnej opisnej štatistiky je modus alebo medián na rozdiel od priemeru, ktorý robustný nie je. 10.1 Príznaky bez rozmeru Pri intervalových príznakoch je vzdialenost’ v priestore príznakov ovplyvnená výberom jednotiek. Je rozdiel, či meriame dĺžku v centrimetroch alebo palcoch, ako vidno na obrázku 10.1. V niektorých riešených problémoch môže byt’ výhodné príznaky najprv normalizovat’, čím získame pomerovú škálu (bezrozmerné príznaky). Normalizácia však môže zmenšit’ mieru separácie tried. Treba zistit’, či sú normalizované príznaky vhodnejšie a rozhodnút’ sa kvalifikovane. Bezrozmerný príznak je určený pomer príznaku a určitej referenčnej hodnoty. Referenčná hodnota môže byt’ najväčšia/najmenšia hodnota v množine, prípadne iná významná hodnota vzt’ahujúca sa k množine dát (napr. fyzikálne konštanty, jednotky SI, . . .). 10.2 Škálovanie Bezrozmerné príznaky dostaneme aj škálovaním. Poznáme niekol’ko základných škálovacích metód. 160 10.2. Škálovanie Lineárne škálovanie na jednotkový interval Pri škálovaní na jednotkový interval sa maximálna hodnota dát U zobrazí na jednotku a minimálna hodnota L na nulu x̃ = x −L U −L (10.1) Lineárne škálovanie na jednotkovú dlžku vektora Viacrozmerné príznaky môžeme normalizovat’ na jednotkové vektory x̃i = xi . x (10.2) Lineárne škálovanie na nulový priemer a jednotkovú varianciu Pri normalizácii môžeme využit’ aj štatistické vlastnosti príznakov tak, že novovzniknuté dáta budú mat’ nulový priemer a jednotkovú varianciu x̃i = xi − μ̂ , σ̂ (10.3) kde μ̂ je výberový priemer a σ̂ výberová štandardná odchýlka. Pravidlo 3σ Využitím pravidla 3σ môžeme dáta z normálneho rozdelenia škálovat’ tak, aby 99 % dát ležalo v intervale 〈0, 1〉 x̃i = x i −μ 3σ 2 +1 . (10.4) 161 K APITOLA 11 Výber príznakov Pri výbere príznakov ponecháme v príznakovom vektore, ktorý bude vstupovat’ do klasifikácie, len relevantné príznaky, ktoré zachytávajú najviac informácie o objektoch. K identifikácii relevantných príznakov pristupujeme dvomi spôsobmi, ktoré sa líšia tým, či na výber používame konkrétny klasifikátor, alebo nie. 11.1 Filter a obálka Filter (obr. 11.1) pri výbere príznakov nepoužíva klasifikátor, ale určuje všeobecnú vhodnost’ príznakov na základe štatistických, geometrických alebo informačno-teoretických mier. Nie Celá množina príznakov Výber príznakov Podmnožina Hodnotenie Hodnotiace miery Trénovacie dáta Áno Hodnotenie kvality Testovacie dáta Dobré alebo Stop? Testovanie Klasifikácia Klasifikátor Najlepšia podmnožina Trénovacie dáta Obrázok 11.1: Postup výberu príznakov pri použití filtra. 162 11.2. Dopredný výber Nie Celá množina príznakov Výber príznakov Podmnožina Klasifikátor Účelová funkcia Dobrá? Trénovacie dáta Áno Hodnotenie kvality Testovanie Testovacie dáta Klasifikácia Klasifikátor Najlepšia podmnožina Trénovacie dáta Obrázok 11.2: Postup výberu príznakov pri použití obálky. Na druhej strane obálka (wrapper, obr. 11.2) zist’uje vhodnost’ príznakov na základe výsledkov daného klasifikátora. Príznaky s lepšími výsledkami potom tvoria vybranú podmnožinu. V oboch prípadoch môžeme hodnotit’ jednotlivé príznaky samostatne, alebo hodnotit’ celé podmnožiny príznakov. Hodnotenie jednotlivých príznakov je efektívne, l’ahko implementovatel’né, ale nemusí odhalit’ nadbytočnost’ niektorých príznakov, prípadne koreláciu medzi príznakmi. Taktiež je problémom určit’ správne počet príznakov, ktoré budú vybraté do výslednej podmnožiny. Hodnotenie podmnožín je náročnejšie. Pri D príznakoch máme 2D podmnožín, ktoré treba ohodnotit’. Najjednoduchší výber príznakov je dopredná alebo spätná metóda. Rôzne kombinácie dopredného a spätného výberu, metódy exponenciálneho prehl’adávania (vetvenie a orezávanie, lúčové hl’adanie atd’.) alebo randomizované algoritmy (simulované žíhanie, genetické algoritmy atd’.) patria už medzi sofistikovanejšie prístupy. 11.2 Dopredný výber Ak chceme z D príznakov vybrat’ K (K < D), pri jednokrokovom prístupe ohodnotíme všetky príznaky zvolenou mierou a priamo vyberieme K najlepších. Tento prístup málokedy funguje, pretože neberie do úvahy vzt’ahy medzi príznakmi. Môže nastat’ situácia, ked’ príznaky, ktoré boli samostatne ohodnotené ako najlepší a najhorší, spolu najlepšie klasifikujú dáta. Túto možnost’ jednokrokový prístup neodhalí. Pri iteratívnom prístupe začíname s prázdnou množinou vybraných príznakov X̃ . V každom kroku vyberieme príznak, ktorý najviac obohatí 163 11. V ÝBER PRÍZNAKOV množinu X̃ a tento do množiny pridáme. Postup opakujeme, kým nedosiahneme K príznakov (pozri algoritmus 11.1). Nevýhodou tohto prístupu je, že niektoré príznaky sa môžu stat’ nadbytočnými postupom času (po pridaní iných), ale už ich nevieme odstránit’. začni prázdnou množinou X̃ = opakuj pre každý príznak xi ∈ X \ X̃ prerátaj skóre X̃ ∪ {xi } vyber príznak s najvyšším skóre kým nevyberieš K príznakov Algoritmus 11.1: Iteratívny dopredný výber príznakov. 11.3 Spätný výber Pri spätnom výbere naraz alebo postupne odstraňujeme príznaky. Pri jednokrokovom prístupe ohodnotíme všetky príznaky zvolenou mierou a odstránime D − K najhorších. Pri iteratívnom prístupe začíname s množinou X̃ obsahujúcou všetky príznaky. Postupne z nej odoberáme príznaky, ktorých odstránenie maximalizuje ohodnotenie zvyšných príznakov. Postup opakujeme, kým nedosiahneme K príznakov (pozri algoritmus 11.2). Nevýhodou je, že už odstránené príznaky nemôžeme opätovne pridat’, aj keby ich pridanie klasifikáciu zlepšilo. začni celou množinou príznakov X̃ = X opakuj pre každý príznak xi ∈ X̃ prerátaj skóre X̃ \ {xi } odstráň príznak, ktorý maximalizuje skóre kým neodstrániš D-K príznakov Algoritmus 11.2: Iteratívny spätný výber príznakov. 164 11.4. Kombinovaný výber 11.4 Kombinovaný výber Plus L mínus R výber je generalizáciou dopredného a spätného výberu. Odstraňuje ich nevýhody tým, že zavádza čiastočný backtracking. Problémom zostáva určenie vhodných hodnôt L a R. Pri tejto metóde opakovane pridávame L a odoberáme R príznakov v stanovenom poradí (pozri algoritmus 11.3). – L>R: začni prázdnou množinou opakuj iteratívne pridaj L príznakov iteratívne odober R príznakov kým nemáš K príznakov – L<R: začni celou množinou príznakov opakuj iteratívne odober R príznakov iteratívne pridaj L príznakov kým nemáš K príznakov Algoritmus 11.3: Kombinovaný výber príznakov. 11.5 Ohodnotenie príznakov Vhodnost’ príznakov záleží na zvolenej miere podobnosti príznakov. Pri filtri sa používa konzistencia príznakov, medzitriedna vzdialenost’, štatistická závislost’ alebo informačno-teoretické miery. Pri jednokrokovom výbere sa používajú univariátne metódy, ohodnocujúce vždy jeden príznak. Pri iteratívnom postupe používame multivariátne metódy, kde ohodnocujeme množinu príznakov. Pri obálke sa vyhodnocuje dosiahnutá chyba klasifikátora. 11.5.1 Štatistická závislost’ Mierou štatistickej závislosti je korelačný koeficient. Základná myšlienka takéhoto hodnotenia príznakov je, že príznak (alebo množina príznakov) vhodný na klasifikáciu je silno korelovaný s predikovanou triedou a zároveň nekorelovaný s inými príznakmi. 165 11. V ÝBER PRÍZNAKOV (a) ρ = −1 (b) ρ ∈ (−1,0) (c) ρ = 0 (d) ρ ∈ (0,1) (e) ρ = 1 Obrázok 11.3: Hodnoty korelačného koeficientu ρ blízke ±1 značia lineárnu závislost’. Pearsonov (lineárny) korelačný koeficient dvoch premenných X a Y je ρ X ,Y = Cov(X , Y ) E [(X − μ X )(Y − μY )] = , σ X σY σ X σY (11.1) kde Cov(X , Y ) je kovariancia premenných (pozri dodatok A.5.3). Tento koeficient nadobúda hodnoty 〈−1, 1〉, pričom ρ X ,Y = ±1, ak premenné sú lineárne závislé a ρ X ,Y = 0, ak sú nekorelované (obr. 11.3). Nulový korelačný koeficient neznamená nezávislost’ dát. Platí to len v prípade dát s Gaussovym rozdelením. Silná závislost’ poukazuje na zbytočnost’ niektorých dát. Nízka korelácia neznamená absenciu vzt’ahu medzi dátami. Medzi dátami môže existovat’ nelineárny vzt’ah. Korelácia však neznamená kauzalitu. Kladná korelácia znamená, že dané dva javy sa vyskytujú často spolu, ale neznamená, že by jeden jav bol príčinou druhého. Príčinou oboch môže byt’ iný (aj nepozorovaný) jav. Multivariátny prístup je nasledovný. Majme množinu X̃ obsahujúcu vzorky reprezentované k vybranými príznakmi, ktoré chceme ohodnotit’. Nech r x y je priemer korelačných koeficientov medzi týmito k príznakmi a klasifikačnou triedou a r xx je priemer korelačných koeficientov všetkých dvojíc príznakov v X̃ . Potom ohodnotenie množiny X̃ pomocou korelačných koeficientov je dané nasledovne kr x y J X̃ = 3 . k + k(k − 1)r xx (11.2) 11.5.2 Konzistencia Nekonzistencia nastáva, ak vzorky s rovnakými príznakmi v podmnožine patria rôznym triedam. Mieru konzistencie môžeme vyjadrit’ pomocou 166 11.5. Ohodnotenie príznakov maximálneho počtu nekonzistentných vzoriek patriacich jednej klasifikačnej triede. Nech v množine X̃ vzoriek reprezentovaných K vybranými príznakmi existuje M rovnakých vzoriek x. Označme m i počet týchto vzoriek patriacich do triedy ωi . Potom platí, že Ci=1 m i = M, kde C je počet klasifikačných tried. Označme N J (x) = M − max m i , (11.3) i potom miera konzistencie množiny X̃ je J X̃ = 1 − x∈Uni que ( X̃ ) N J (x) N , (11.4) kde Unique X̃ je množina všetkých vzájomne rôznych vzoriek z X̃ . 11.5.3 Medzitriedna vzdialenost’ Príznak i budeme preferovat’ pred príznakom j , ak lepšie separuje klasifikačné triedy, t. j. ak ich vzdialenost’ je väčšia pri použití príznaku i . Množinu príznakov ohodnotíme nasledovne. Označme d X̃ (x, y) zvolenú metriku (Euklidovská, City Block – Manhattan, Chessboard . . . pozri kapitolu 4.2.1). Potom v danej metrike je vzdialenost’ dvoch tried pri použití K príznakov D X̃ (ωi , ω j ) = 1 d (x, y). |ωi ||ω j | x∈ωi y∈ω j X̃ (11.5) Potom množinu X̃ ohodnotíme ako C C P (ωi ) P (ω j )D X̃ (ωi , ω j ). J X̃ = i=1 (11.6) j =i+1 11.5.4 Informa čno-teoretické miery Príznak i je vhodnejší na klasifikáciu než príznak j , ak je väčší jeho informačný zisk. Na určenie informačného zisku musíme zadefinovat’ potrebné pojmy z teórie informácií. Entropia V teórii informácií entropia určuje mieru neurčitosti daného javu. Kol’ko informácie získame, ked’ sa dozvieme, akú hodnotu y nadobudla náhod167 11. V ÝBER PRÍZNAKOV ná premenná Y ? Miera takejto informácie zodpovedá „stupňu prekvapenia“. Ked’ sa dozvieme, že premenná Y nadobudla vysoko nepravdepodobnú hodnotu, dostaneme viac informácie, ako ked’ sa dozvieme, že nadobudla vel’mi pravdepodobnú hodnotu. Matematicky to môžeme vyjadrit’ ako h(y) = − log2 p(y), (11.7) kde p(y) = P (Y = y). Záporné znamienko zabezpečuje nezápornú hodnotu informácie. Ak teraz chceme zistit’, kol’ko informácie je celkovo v náhodnej premennej, vypočítame to spriemerovaním informácie všetkých hodnôt, ktoré môže náhodná premenná nadobudnút’. Informačná (Shannonova) entropia diskrétnej náhodnej premennej Y , ktorá nadobúda hodnoty Y = {y} s pravdepodobnost’ou P (Y = y) = p(y) je daná vzt’ahom H (Y ) = − p(y) log2 p(y). (11.8) y ∈Y Príklad 11.1: Určime entropiu binárnej náhodnej premennej Y , pričom p(1) = P (y = 1) = p a p(0) = P (y = 0) = 1 − p. Entropia tejto premennej je H (Y ) = −(p(1) log2 p(1) + p(0) log2 p(0)) = = −p log2 p − (1 − p) log2 (1 − p). (11.9) Hodnota entropie je závislá od hodnoty p. Pre p = 1 je entropia nulová, čo zodpovedá faktu, že premenná Y nadobúda hodnotu 1 s pravdepodobnost’ou 100 % (žiadna neurčitost’). Rovnako pre p = 0, kde Y nadobúda hodnotu 0. Pre ostatné hodnoty p je entropia nenulová a maximálna je pre p = 0, 5, ako vidno na obrázku 11.4. Tento výsledok opät’ korešponduje s faktom, že neurčitost’ hodnoty, ktorú premenná Y nadobudne, je najvyššia, ak hodnoty 1 a 0 majú rovnakú pravdepodobnost’ výskytu. Podmienená entropia Špecifická podmienená entropia H (Y |X = x) je entropia príznaku (javu) Y počítaná z tých vzoriek, v ktorých príznak X dosahuje hodnotu x H (Y |X = x) = − P (Y = y|X = x) log2 P (Y = y|X = x). (11.10) y ∈Y Potom podmienená entropia H (Y |X ) je priemernou špecifickou podmienenou entropiou Y H (Y |X ) = P (X = x)H (Y |X = x). (11.11) x∈X 168 11.5. Ohodnotenie príznakov 1 0.8 0.6 H 0.4 0.2 0 0 0.2 0.4 p 0.6 0.8 1 Obrázok 11.4: Entropia ako funkcia pravdepodobnosti pre náhodnú premennú s dvomi možnými hodnotami 1 a 0. Entropia je maximálna, ked’ premenná dosiahne hodnoty 1 a 0 s rovnakou pravdepodobnost’ou p = 0,5. Vzájomná informácia Vzájomná informácia (v literatúre nazývaná aj informačný zisk) udáva, ako sa zníži neurčitost’ premennej Y , ak poznáme premennú X I (Y ; X ) = H (Y ) − H (Y |X ). (11.12) Pre vzájomnú informáciu platí I (Y ; X ) = H (Y ) − H (Y |X ) = = H (X ) − H (X |Y ) = I (X ; Y ). (11.13) Vzájomná informácia pomáha odhalit’ aj nelineárne vzt’ahy medzi premennými. Ak Y a X sú nezávislé, tak I (Y ; X ) = 0, lebo H (Y |X ) = H (Y ). Pri hodnotení množiny príznakov X̃ , použijeme multivariátnu vzájomnú informáciu I (Y ; X̃ ) J X̃ = I (Y ; X̃ ) = H (Y ) − H (Y | X̃ ). 11.5.5 Hodnotiace miery Hodnotiace miery používané pre metódu obálky merajú tzv. prediktívnu schopnost’ množiny príznakov. Účelovou funkciou, ktorú vyhodnocujeme pre kôzne klasifikátory, je väčšinou odhad chyby klasifikácie (detailne opísaný v kapitole 16), niekedy môže zahŕňat’ aj cenu natrénovania klasifikátora. 169 K APITOLA 12 Redukcia príznakov Pri redukcii transformujeme pôvodnú množinu vektorov príznakov do menej-dimenzionálnej. Pri transformácii sa stráca pôvodný význam príznakov (dĺžka hrany, obsah objektu atd’.), na druhej strane premietnutie do menej dimenzionálneho priestoru môže zvýšit’ separovatel’nost’ tried, a tak zlepšit’ klasifikáciu. Vektory príznakov môžeme transformovat’ bez znalosti klasifikačnej triedy tak, že minimalizujeme stratu informácie pri transformácii. Jednou z takýchto metód je metóda hlavných komponentov. V prípade, že poznáme klasifikačnú triedu, hl’adáme také premietanie, ktoré maximalizuje medzitriednu vzdialenost’. Medzi tieto metódy patrí Fisherova lineárna diskriminačná analýza. 12.1 Metóda hlavných komponentov Metóda hlavných komponentov (principal component analysis – PCA) otočí súradnicovú sústavu tak, aby prvá os bola v smere najväčšej variability a d’alšie boli na ňu kolmé v smeroch najväčšej zvyšnej variability. V nasledujúcom texte budeme pod vektorom rozumiet’ stĺpcový vektor. Majme N D-rozmerných vektorov príznakov x1 , . . . xN . Postupne nájdeme ortonormálne vektory {b1 , . . . bD }, t. j. také, že bTi b j = δi j , kde δi j je Kroneckerova δ. Priemetom vektora xi do smeru b1 je xi1 = bT1 xi . 170 12.1. Metóda hlavných komponentov Priemerom všetkých vektorov premietnutých do smeru b1 je x̄1 = bT1 x̄, N kde x̄ = N1 i=1 xi a varianciou premietnutých vektorov je V ar 1 = = N N 1 1 (xi1 − x̄1 )2 = (bT xi − bT1 x̄)2 = N i=1 N i=1 1 N 1 (bT (xi − x̄))2 = bT1 Σb1 , N i=1 1 (12.1) kde Σ je kovariančná matica pôvodných príznakov. Chceme teda nájst’ taký vektor b1 , aby sme maximalizovali varianciu V ar 1 . Jedná sa o maximalizačnú úlohu s obmedzením – vektor b1 je jednotkový, preto použijeme Lagrangeovu metódu neurčitých koeficientov. Majme maximalizačnú úlohu max bT1 Σb1 , b1 aby bT1 b1 = 1. Nech λ je Lagrangeov neučitý koeficient, potom maximalizujeme funkciu L = bT1 Σb1 − λ(bT1 b1 − 1). (12.2) ∂L = 2Σb1 − 2λb1 ≡ 0 ∂b1 (12.3) Položením dostaneme Σb1 = λb1 , a to znamená, že b1 je vlastným vektorom a λ vlastným číslom matice Σ. Pretože platí bT1 Σb1 = λbT1 b1 = λ, potom λ musí byt’ najväčšie vlastné číslo, aby výraz bT1 Σb1 bol maximálny. Vlastný vektor b1 prislúchajúci najväčšiemu vlastnému číslu sa nazýva prvý hlavný komponent. Vektor b2 nájdeme obdobne. Tentoraz budeme maximalizovat’ varianciu V ar 2 = bT2 Σb2 . Jedná sa o maximalizačnú úlohu s obmedzením – vektor b2 je jednotkový a kolmý na vektor b1 , preto opät’ použijeme Lagrangeovu metódu neurčitých koeficientov. Majme maximalizačnú úlohu max bT2 Σb2 , b2 (12.4) aby bT2 b2 = 1, (12.5) bT1 b2 (12.6) = 0. 171 12. R EDUKCIA PRÍZNAKOV Nech λ a μ sú Lagrangeove neučité koeficienty, potom maximalizujeme funkciu L = bT2 Σb2 − λ(bT2 b2 − 1) − μbT1 b2 . (12.7) ∂L = 2Σb2 − 2λb2 − μb1 ≡ 0 ∂b2 (12.8) Položením a po úprave dostaneme Σb2 = λb2 , teda b2 je tiež vlastným vektorom matice Σ. Ked’že b1 prislúcha najväčšiemu vlastnému číslu, aby sme maximalizovali V ar 2 , b2 musí prislúchat’ druhému najväčšiemu vlastnému číslu. Vektor b2 sa nazýva druhý hlavný komponent. Týmto postupom dostaneme, že j -ty hlavný komponent b j je vlastný vektor prislúchajúci v poradí j -temu najväčšiemu nenulovému vlastnému číslu. Vektory prislúchajúce nulovým vlastným číslam nie sú jednoznačne určené. Poznáme teda smery otočených bázových vektorov {b1 , . . . bD } a chceme zistit’, kde má ležat’ nový počiatok súradnicovej sústavy, aby suma štvorcov vzdialeností medzi pôvodnými a premietnutými vektormi bola minimálna. Nech je počiatočným bodom nejaký bod p, potom súradnice (v pôvodnom priestore) premietnutého vektora xi sú yi = p+ N j =1 y i j b j . Suma štvorcov vzdialeností (pri predpoklade ortonormality) je E= N ||xi − yi ||2 = i=1 = N N ||xi − (p + i=1 ||xi − p||2 − 2 i=1 N N j =1 i=1 N j =1 y i j b j )||2 = y i j bTj (xi − p) + N N j =1 i=1 y i2j . (12.9) L’ahko zistíme, že podmienkami minimalizácie sú y i j = bTj (xi − x̄) a p = x̄. 12.1.1 Použitie PCA Pri použití PCA postupujeme nasledovne: 1. Najprv originálne vektory príznakov {x1 , . . . xN } vycentrujeme, t. j. odčítame od nich priemer x̄ a posunieme počiatok súradnicovej sústavy do bodu x̄ (dvojrozmerný prípad je ukázaný na obrázku 12.1). Kovariančná matica Σ je rovnaká pre centrované aj pôvodné príznaky, preto môžeme používat’ PCA na centrované príznaky. 172 12.1. Metóda hlavných komponentov 10 6 8 4 6 2 4 0 2 −2 0 −4 −2 −6 −4 −2 0 2 4 6 −6 −8 8 (a) Originálne dáta. −6 −4 −2 0 2 4 6 8 (b) Transformované dáta. Obrázok 12.1: Transformácia dát pomocou PCA. 2. Následne vypočítame maticu Σ Σ= N 1 1 (xi − x̄)(xi − x̄)T = XXT , N i=1 N (12.10) kde [X]D×N = [x1 − x̄, . . . xN − x̄]. 3. Vypočítame vlastné vektory matice Σ Σb j = λ j b j . (12.11) 4. a nakoniec vypočítame súradnice premietnutých vektorov xi = D j =1 bTj (xi − x̄) = BT (xi − x̄) = BT X, (12.12) kde B = [b1 , . . . bD ]. V praxi sa často stretávame s prípadmi, že počet vektorov príznakov je ovel’a menší než dimenzia týchto vektorov N < D. Hodnost’ matice X je r = rank(X) = rank(Σ) ≤ N a najviac r vlastných hodnôt je nenulových. Vtedy je neefektívne počítat’ vlastné čísla D × D matice Σ = N1 XXT , ked’ typické algoritmy majú výpočtovú zložitost’ O(D 3 ). Nech X je D × N matica centrovaných príznakov, potom platí Σb j = λ j b j , 1 XXT b j = λ j b j , N 1 T T X XX b j = λ j XT b j , N 1 T X Xp j = λ j p j , N (12.13) 173 12. R EDUKCIA PRÍZNAKOV kde p j = XT b j je vlastný vektor N × N matice N1 XT X. Vypočítame teda vlastné vektory p j so zložitost’ou O(N 3 ) a z nich určíme vektory b j : 1 T X Xp j = λ j p j , N 1 XXT Xp j = λ j Xp j , N ΣXp j = λ j Xp j , (12.14) kde Xp j je vlastný vektor matice Σ prislúchajúci vlastnému číslu λ j , a teda b j ∝ Xp j a zostáva nám učit’ normalizačnú konštantu, aby ||b j || = 1 za predpokladu, že ||p j || = 1 bj = 1 N λj Xp j . (12.15) 12.1.2 Ako môže PCA znížit’ dimenziu? Predpokladajme, že Σ má plnú hodnost’ a všetky vlastné vektory sú jednoznačne určené. Potom vezmeme len prvých K vlastných vektorov. Zostáva otázkou, aké K zvolit’. Existuje niekol’ko metód, ktoré určujú vhodné K . Predpokladajme, že λ j sú usporiadané zostupne. Scree graf Podiel variability zachytenej v j -tom hlavnom komponente je λj D j =1 λ j . (12.16) Ked’ tieto podiely nanesieme na y-ovú os grafu, pričom x-ová os zodpovedá zostupne usporiadaným vlastným číslam, ide o tzv. „scree“ graf (obr. 12.2), kde optimálne K je určené bodom zlomu. Kumulatívny pomer zachytenej variability Môžeme použit’ aj kumulatívny pomer zachytenej variability K j =1 λ j D j =1 λ j . (12.17) Poväčšine sa K volí také, aby tento pomer bol väčší ako 0,9 alebo 0,95. 174 podiel zachytenej variability 12.1. Metóda hlavných komponentov bod zlomu 1 2 3 4 5 6 7 poradie vlastných čísiel Obrázok 12.2: Scree graf. Vidíme, že v bode zlomu, od štvrtého najväčšieho vlastného čísla začínajú vlastné čísla zachycujúce málo variability. Optimálny počet vlastných čísiel je 3. Kaiserovo kritérium Ďalšou možnost’ou je Kaiserovo kritérium, ktoré volí také K , že hodnota λK +1 je menšia ako priemer hodnôt λ D 1 λj . D j =1 λK +1 < (12.18) Andersonov test Anderson zaviedol testovanie hypotézy, že posledných D − K vlastných čísel je rovnakých H0 : λK +1 = λK +2 = . . . = λD , (12.19) H1 : neplatí H0 . (12.20) Testovacia štatistika je V = n(D − K ) ln a , c (12.21) kde a= D j =K +1 λ j (12.22) D −K a 5 c= D 9 j =K +1 6 λj 1 D−K . (12.23) Táto veličina má χ2 rozdelenie s 0, 5(D − K + 2)(D − K − 1) stupňami vol’nosti. 175 12. R EDUKCIA PRÍZNAKOV 10 8 FLDA hlavný smer 6 4 2 PCA hlavný smer 0 −2 −4 −6 −10 −8 −6 −4 −2 0 2 4 6 8 10 Obrázok 12.3: Dáta dvoch klasifikačných tried s vyznačenými hlavnými smermi určenými metódami PCA a FLDA. 12.1.3 Vzt’ah medzi PCA a SVD Na výpočet vlastných vektorov matice Σ môžeme použit’ aj singulárny rozklad matice (singular value decomposition – SVD, pozri dodatok B.1). Ak k matici centrovaných príznakov X = [x1 − x̄, . . . xN − x̄] zostrojíme maticu Y = 1 XT , potom YT Y = N1 XXT = Σ. N Teda ak pre SVD matice Y platí Y = USVT , (12.24) tak V sú vlastné vektory matice YT Y = Σ a S má na diagonále odmocninu vlastných čísel matice Σ. Takto môžeme použit’ SVD namiesto PCA a nemusíme vyčíslovat’ maticu Σ. 12.2 Fisherova lineárna disriminačná analýza PCA a SVD nemusia byt’ vždy vhodnými metódami na znižovanie dimenzie, ak potrebujeme príznaky klasifikovat’ do tried. Patria medzi neriadené metódy, lebo o dátach nemáme informáciu, do ktorej klasifikačnej triedy patria, snažíme sa len odhalit’ smery najväčšej variability v dátach. Metódy, ktoré využívajú informáciu o klasifikačných triedach, nazývame riadené. Medzi riadené metódy patrí aj Fisherova lineárna disriminačná analýza (FLDA). Príklad rozdielu medzi PCA a FLDA transformáciou dát je na obrázku 12.3. 176 12.2. Fisherova lineárna disriminačná analýza Metóda FLDA maximalizuje medzitriednu variabilitu a zároveň minimalizuje vnútrotriednu variabilitu premietnutých príznakov. Teda príznaky z jednej triedu budú premietnuté blízko pri sebe a príznaky z rôznych tried čo najd’alej od seba. Majme N D-rozmerných vektorov príznakov x1 , . . . xN , ktoré patria do ( )C C klasifikačných tried ω j j =1 , pričom triede ω j patrí N j príznakov. Priemer vektorov patriacich triede ω j je 1 1 x= x. x̄ j = - -ω j - x∈ω N j x∈ω j j (12.25) Variabilita v jednotlivých triedach je (x − x̄ j )(x − x̄ j )T . Sj = (12.26) x∈ω j Celkový priemer všetkých príznakov je x̄ = N 1 xi . N i=1 (12.27) Celková variabilita v dátach je S= N (xi − x̄)(xi − x̄)T . (12.28) i=1 Táto variabilita sa dá zapísat’ ako súčet medzitriednej (SM ) a vnútrotriednej variability (SV ): S = SM + SV , (12.29) N j (x̄ j − x̄)(x̄ j − x̄)T , (12.30) kde SM = SV = C j =1 C j =1 x∈ω j (x − x̄ j )(x − x̄ j )T = C j =1 Sj . (12.31) Povedzme, že chceme nájst’ taký smer w, ktorý by nám pomohol klasifikovat’ príznaky do jednotlivých tried. Priemetom vektora xi do smeru w je xi = wT xi . Priemerom vektorov patriacich triede ω j premietnutých do smeru w je x̄ j = wT x̄ j . 177 12. R EDUKCIA PRÍZNAKOV O variabilitách premietnutých príznakov platí: Q = QM + QV , (12.32) kde Q= N (wT xi − wT x̄)(wT xi − wT x̄)T = wT Sw, (12.33) N j (wT x̄ j − wT x̄)(wT x̄ j − wT x̄)T = wT SM w, (12.34) i=1 QM = QV = C j =1 C j =1 x∈ω j (wT x − wT x̄ j )(wT x − wT x̄ j )T = wT SV w. (12.35) Fisherova lineárna disriminačná analýza hl’adá vektor w, ktorý maximalizuje hodnotu J (w) = wT SM w , wT SV w (12.36) kde Fisherovo kritérium J je skalár pre konkrétny vektor w. To znamená, že w maximalizuje medzitriednu a zároveň minimalizuje vnútrotriednu variabilitu premietnutých príznakov. Položením dJ = (wT SM w)2SV w − (wT SV w)2SM w ≡ 0 dw (12.37) dostaneme SM w = J SV w. Ked’ predpokladáme, že SV je regulárna, potom SV−1 SM w = J w, a teda J je vlastné číslo a w je vlastný vektor matice SV−1 SM . Vidíme, že J maximalizujeme tak, že za w vezmeme vlastný vektor zodpovedajúci najväčšiemu vlastnému číslu. V prípade C klasikačných tried môžeme určit’ C − 1 projekčných vektorov w j , ktoré usporiadame do projekčnej matice W = [w1 |w2 | . . . |wC −1 ]. Projekciou príznaku xi je potom yi = WT xi . Fisherove kritérium je v tomto prípade J (w) = |WT SM W| |WT SV W| , (12.38) kde J je skalár pre konkrétnu maticu W. WT SM W a WT SV W sú matice rozmerov (C − 1) × (C − 1), preto použijeme determinant, aby sme dostali podiel skalárov. 178 12.2. Fisherova lineárna disriminačná analýza Riešením FLDA sú také vektory w j , ktoré sú zovšeobecnenými1 vlastnými vektormi prislúchajúcimi zovšeobecneným vlastným číslam matíc SM a SV , a teda spĺňajú (SM − SV λ)w = 0. (12.39) Zovšeobecnené vlastné čísla a vektory matíc SM a SV môžeme vypočítat’ ako vlastné čísla a vektory matice SV−1 SM , ktorá však nie je symetrická, preto je táto úloha náročná. Alebo môžeme použit’ nasledovný spôsob. Maticu SV , ktorá je štvorcová a symetrická rozložíme na SV = UΦUT , ( )D kde Φ = diag( ϕi i=1 ) má na diagonále vlastné čísla a U sú ortonormálne vlastné vektory matice SV . Zadefinujme matice :( )D ; SV1/2 =UΦ1/2 UT , kde Φ1/2 = diag ϕ1/2 , i i=1 :( ; ) D , SV−1/2 =UΦ−1/2 UT , kde Φ−1/2 = diag ϕ−1/2 i i=1 (12.40) (12.41) pre ktoré platí SV = SV1/2 SV1/2 , SV−1 = SV−1/2 SV−1/2 a SV−1/2 SV1/2 = I. Preto SM w − SV λw = 0, SM (SV−1/2 SV1/2 )w − λSV (SV−1/2 SV1/2 )w = 0 SV−1/2 SM SV−1/2 c − λc = 0, (12.42) | SV−1/2 , (12.43) (12.44) kde c = SV1/2 w. Matica SV−1/2 SM SV−1/2 je symetrická, preto nájdenie vlastných čísel je jednoduchší problém. 1 Pre štvorcové matice A a B je zovšeobecnený vlastný vektor c prislúchajúci zovšeobenenému vlastnému číslu λ definovaný ako nenulové riešenie rovnice (A − Bλ)c = 0. 179 Zoznam použitej literatúry [AMK00] S. Abbasi, F. Mokhtarian a J. Kittler. „Enhancing CSS-based shape retrieval for objects with shallow concavities“. Image and Vision Computing 18.3 (2000), str. 199–211. [AOV12] A. Alahi, R. Ortiz a P. Vandergheynst. „FREAK: Fast retina keypoint“. Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on. IEEE. 2012, str. 510–517. [Ban+09] H. Bang a kol. „Robust object recognition using a color cooccurrence histogram and the spatial relations of image patches“. Artificial Life and Robotics 13.2 (2009), str. 488–492. [Bay+08] H. Bay a kol. „Speeded-Up Robust Features (SURF)“. Computer Vision and Image Understanding 110.3 (2008), str. 346– 359. [BH83] J. F. Boyce a W. J. Hossack. „Moment Invariants for Pattern Recognition“. Pattern Recogn. Lett. 1.5-6 (júl 1983), str. 451– 456. [Bis06] C. M. Bishop. Pattern Recognition and Machine Learning. Secaucus, NJ, USA: Springer-Verlag New York, Inc., 2006. [BM92] P. Besl a N. McKay. „A Method for Registration of 3-D Shapes“. IEEE Transactions on Pattern Analysis and Machine Intelligence 14 (1992), str. 239–256. 180 Zoznam použitej literatúry [Cal+10] M. Calonder a kol. „BRIEF: Binary Robust Independent Elementary Features“. Computer Vision ? ECCV 2010. Ed. K. Daniilidis, P. Maragos a N. Paragios. Zv. 6314. Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2010, str. 778– 792. [CBL09] S. A. Chatzichristofis, Y. S. Boutalis a M. Lux. „Img(Rummager): An Interactive Content Based Image Retrieval System“. Similarity Search and Applications, International Workshop on (2009), str. 151–153. [CC00] L. d. F. Costa a R. Cesar. Shape Analysis and Classification: Theory and Practice. Boca Raton, FL, USA: CRC Press, Inc., 2000. [CD99] M. Comer a E. Delp. „Segmentation of textured images using a multiresolution Gaussian autoregressive model“. Image Processing, IEEE Transactions on 8.3 (1999), str. 408–420. [Cin+99] L. Cinque a kol. „Color-based image retrieval using spatialchromatic histograms“. Multimedia Computing and Systems, 1999. IEEE International Conference on. Zv. 2. 1999, 969–973 vol.2. [CJ83] G. R. Cross a A. K. Jain. „Markov Random Field Texture Models“. Pattern Analysis and Machine Intelligence, IEEE Transactions on PAMI-5.1 (1983), str. 25–39. [CM09] J. Chamorro-Martinez a P. Martinez-Jimenez. „A comparative study of texture coarseness measures“. Image Processing (ICIP), 2009 16th IEEE International Conference on. 2009, str. 1337–1340. [Dav04] E. R. Davies. Machine Vision: Theory, Algorithms, Practicalities. 3rd. Elsevier, 2004. [DHS01] R. O. Duda, P. E. Hart a D. G. Stork. Pattern Classification (2nd Edition). Wiley-Interscience, 2001. [EH11] B. S. Everitt a T. Hothorn. An Introduction to Applied Multivariate Analysis with R. New York: Springer-Verlag, 2011. [FSZ09] J. Flusser, T. Suk a B. Zitová. Moments and Moment Invariants in Pattern Recognition. Wiley & sons, 2009. [GSP06] M. Gavrielides, E. Sikudova a I. Pitas. „Color-based descriptors for image fingerprinting“. Multimedia, IEEE Transactions on 8.4 (2006), str. 740–748. 181 Z OZNAM POUŽITEJ LITERATÚRY 182 [Hal10] Z. Haladová. „Rozpoznávanie a klasifikácia maliarskych plátien na fotografiách turistov“. Diplomová práca. Bratislava: Univerzita Komenského, 2010. [HGS08] T. Hurtut, Y. Gousseau a F. Schmitt. „Adaptive image retrieval based on the spatial organization of colors“. Computer Vision and Image Understanding 112.2 (2008), str. 101–113. [HH87] P. Hebák a J. Hustopecký. Vícerozměrné statistické metody s aplikacemi. SNTL/Alfa, 1987. [HS88] C. Harris a M. Stephens. „A combined corner and edge detector“. In Proc. of Fourth Alvey Vision Conference. 1988, str. 147– 151. [HSD73] R. Haralick, K. Shanmugam a I. Dinstein. „Textural Features for Image Classification“. Systems, Man and Cybernetics, IEEE Transactions on SMC-3.6 (1973), str. 610–621. [Hu62] M. K. Hu. „Visual pattern recognition by moment invariants“. Information Theory, IRE Transactions on 8.2 (1962), str. 179– 187. [Hua+97] J. Huang a kol. „Image indexing using color correlograms“. Computer Vision and Pattern Recognition, 1997. Proceedings., 1997 IEEE Computer Society Conference on. 1997, str. 762–768. [JF90] A. Jain a F. Farrokhnia. „Unsupervised texture segmentation using Gabor filters“. Systems, Man and Cybernetics, 1990. Conference Proceedings., IEEE International Conference on. 1990, str. 14–19. [KBG10] S. Kiranyaz, M. Birinci a M. Gabbouj. „Perceptual Color Descriptor Based on Spatial Distribution: A Top-down Approach“. Image Vision Comput. 28.8 (aug. 2010), str. 1309–1326. [KCC89] J. M. Keller, S. Chen a R. M. Crownover. „Texture description and segmentation through fractal geometry“. Computer Vision, Graphics, and Image Processing 45.2 (1989), str. 150–166. [Kno+10] J. Knopp a kol. „Hough Transform and 3D SURF for Robust Three Dimensional Classification“. Computer Vision – ECCV 2010. Ed. K. Daniilidis, P. Maragos a N. Paragios. Zv. 6316. Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2010, str. 589–602. [LC05] K. L. Lee a L. H. Chen. „An efficient computation method for the texture browsing descriptor of MPEG-7.“ Image Vision Comput. 23.5 (2005), str. 479–489. Zoznam použitej literatúry [LCS11] S. Leutenegger, M. Chli a R. Y. Siegwart. „BRISK: Binary robust invariant scalable keypoints“. Computer Vision (ICCV), 2011 IEEE International Conference on. IEEE. 2011, str. 2548– 2555. [LH06] J. Liu a R. Hubbold. „Automatic Camera Calibration and Scene Reconstruction with Scale-Invariant Features“. Advances in Visual Computing. Ed. G. Bebis a kol. Zv. 4291. Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2006, str. 558–568. [Low02] D. G. Lowe. „Distinctive Image Features from Scale-Invariant Keypoints“. International Journal of Computer Vision 60.2 (2002), str. 91–110. [LP89] F. Lamoš a R. Potocký. Pravdepodobnost’ a matematická štatistika; Štatistické analýzy. Alfa, 1989. [NA08] M. Nixon a A. Aguado. Feature extraction and image processing. Academic Press. Academic, 2008. [PC96] R. Porter a N. Canagarajah. „A robust automatic clustering scheme for image segmentation using wavelets“. Image Processing, IEEE Transactions on 5.4 (1996), str. 662–665. [PJW00] D. K. Park, Y. S. Jeon a C. S. Won. „Efficient Use of Local Edge Histogram Descriptor“. Proceedings of the 2000 ACM Workshops on Multimedia. MULTIMEDIA ’00. Los Angeles, California, USA: ACM, 2000, str. 51–54. [PR79] D. Proffitt a D. Rosen. „Metrication errors and coding efficiency of chain-encoding schemes for the representation of lines and edges“. Computer Graphics and Image Processing 10.4 (1979), str. 318–332. [PR92] J. Prokop a A. P. Reeves. „A survey of moment-based techniques for unoccluded object representation and recognition“. CVGIP: Graphical Models and Image Processing. 1992, str. 438– 460. [Pra01] W. K. Pratt. Digital Image Processing: PIKS Inside. New York, NY, USA: John Wiley & Sons, Inc., 2001. [PZ96] G. Pass a R. Zabih. „Histogram Refinement for Content-Based Image Retrieval“. IEEE Workshop on Applications of Computer Vision. 1996, str. 96–102. 183 Z OZNAM POUŽITEJ LITERATÚRY 184 [RD06] E. Rosten a T. Drummond. „Machine learning for high-speed corner detection“. European Conference on Computer Vision. Zv. 1. Máj 2006, str. 430–443. [RM08] T. Raykov a G. Marcoulides. An Introduction to Applied Multivariate Analysis. Taylor & Francis, 2008. [RSZ99] A. Rao, R. Srihari a Z. Zhang. „Spatial color histograms for content-based image retrieval“. Tools with Artificial Intelligence, 1999. Proceedings. 11th IEEE International Conference on. 1999, str. 183–186. [SB95] S. M. Smith a J. M. Brady. „SUSAN - A New Approach to Low Level Image Processing“. International Journal of Computer Vision 23 (1995), str. 45–78. [SD96] M. A. Stricker a A. Dimai. „Color indexing with weak spatial constraints“. Storage and Retrieval for Image and Video Databases (SPIE). Zv. 2670. 1996, str. 29–40. [Sha+09] H. Shao a kol. „Application Research of Homogeneous Texture Descriptor in Content-Based Image Retrieval“. Information Engineering and Computer Science, 2009. ICIECS 2009. International Conference on. 2009, str. 1–4. [SHB98] M. Sonka, V. Hlavac a R. Boyle. Image Processing: Analysis and Machine Vision. Druhé vyd. CL-Engineering, 30.1998. [ST94] J. Shi a C. Tomasi. „Good features to track“. Computer Vision and Pattern Recognition, 1994. Proceedings CVPR ’94., 1994 IEEE Computer Society Conference on. Jún 1994, str. 593–600. [Tea80] M. R. Teague. „Optical calculation of irradiance moments“. Appl. Opt. 19.8 (apr. 1980), str. 1353–1356. [TK10] S. Theodoridis a K. Koutroumbas. Pattern Recognition. Štvrté vyd. Academic Press, 2010. [TLF08] E. Tola, V. Lepetit a P. Fua. „A Fast Local Descriptor for Dense Matching“. Conference on Computer Vision and Pattern Recognition. 2008. [VS82] A. Vossepoel a A. Smeulders. „Vector code probability and metrication error in the representation of straight lines of finite length“. Computer Graphics and Image Processing 20.4 (1982), str. 347–364. [WB95] H. Wang a M. Brady. „Real-time corner detection algorithm for motion estimation“. Image and Vision Computing 13.9 (1995), str. 695–703. [Wu+00] P. Wu a kol. „A texture descriptor for browsing and similarity retrieval“. Signal Processing: Image Communication 16.1–2 (2000), str. 33–43. [Wu+99] P. Wu a kol. „A texture descriptor for image retrieval and browsing“. Content-Based Access of Image and Video Libraries, 1999. (CBAIVL ’99) Proceedings. IEEE Workshop on. 1999, str. 3– 7. [YWB74] I. T. Young, J. E. Walker a J. E. Bowie. „An Analysis Technique for Biological Shape“. Information and Control 25 (1974), str. 357–370. [ZF03] B. Zitová a J. Flusser. „Image registration methods: a survey“. Image and Vision Computing 21 (2003), str. 977–1000. [ZL04] D. Zhang a G. Lu. „Review of shape representation and description techniques“. Pattern Recognition 37 (2004), str. 1–19. [ZZ05] H. Zhang a D. Zhao. „Spatial Histogram Features for Face Detection in Color Images“. Advances in Multimedia Information Processing - PCM 2004. Ed. K. Aizawa, Y. Nakamura a S. Satoh. Zv. 3331. Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2005, str. 377–384. Č AS Ť III K LASIFIKÁCIA K APITOLA 13 Klasifikácia príznakov S klasifikáciou sa stretávane každodenne bez toho, aby sme si to uvedomili. Napríklad v obchodnom dome je tovar umiestnený do jednotlivých oddelení na základe určitých klasifikačných kritérií. V oddelení odevov nájdeme napríklad nohavice a košele, v odelení zeleniny rajčiny a šalát, v oddelení ovocia pomaranče a jablká. Táto klasifikácia je robená na základe typu/druhu tovaru. Ak by však tento obchodný dom zaviedol iné klasifikačné kritériá, napríklad za jediný príznak tovaru by zvolil jeho farbu a otvoril by oddelenie zelených tovarov, našli by sme tu spolu jablká, šalát aj košele. Vidíme teda, že alternatívne kritériá výberu príznakov vedú k rôznemu výsledku klasifikácie. Klasifikácia je komplexný proces, ktorého súčast’ou je výber príznakov, mier, kritérií, parametrov atd’. a nie iba slepé použitie niektorého klasifikátora na všetky dostupné príznaky. V počítačovom videní klasifikácia znamená porozumenie, z akých typov objektov pochádzajú príznaky, čiže určenie triedy objektu na základe príznakov získaných z objektu. Regresná úloha je podobná klasifikačnej s hlavným rozdielom, že ciel’ová premenná je číselná. Regresný model môže predpovedat’ napr. rýchlost’ vetra v závislosti od teploty, tlaku a vlhkosti alebo cenu bytu v závislosti od plochy, lokality, vybavenia a pod. Pri klasifikácii podl’a určitého pravidla vieme zaradit’ vektor x opisujúci objekt O do jednej z možných klasifikačných tried. Toto pravidlo rozdel’uje priestor na oblasti, kde všetky vektory v danej oblasti opisujú objekty z jednej klasifikačnej triedy. Tieto oblasti sa nazývajú rozhodova188 ω2 ω1 ω3 ω1 ω2 Obrázok 13.1: Rozhodovacie oblasti tried ω1 a ω2 nie sú spojité, rozhodovacia oblast’ triedy ω3 je spojitá. cie oblasti. Rozhodovacia oblast’ môže, ale nemusí byt’ súvislá (obrázok 13.1). Hranice medzi oblast’ami sa nazývajú rozhodovacie hranice. Podl’a toho, aké informácie klasifikátory používajú, môžeme ich rozdelit’ nasledovne Príznakové metódy využívajú na klasifikáciu príznaky extrahované z objektov. Medzi tieto metódy patria • Štatistické metódy, ktorých ciel’om je minimalizácia počtu nesprávne klasifikovaných objektov na základe ich štatistických vlastností. Ak pre triedu ωi platí P (x, ωi ) > P (x, ω j =i ), zarad’ujú vektor x opisujúci objekt O do triedy ωi . Bližšie sú opísané v kapitole 14.1. • Ďalšia množina metód využíva vzdialenosti medzi príznakmi. Sem patria napríklad techniky najbližších susedov (kap. 14.2), diskriminačná analýza (kap. 14.4), mechanizmy podporných vektorov (kap. 14.5), metóda K priemerov (kap. 15.1) alebo hierarchické zhlukovanie (kap. 15.2). • Medzi biologicky inšpirované metódy patria neurónové siete (kap. 14.6) alebo samoorganizujúce mapy (kap. 15.3). • Metódou, ktorá využíva pravidlá a dokáže klasifikovat’ aj nemetrické príznaky, sú rozhodovacie stromy (kap. 14.3). Syntaktické metódy identifikujú štruktúru objektov. Na opis objektu využívajú elementárne (d’alej nedelitel’né) prvky objektu zvané primitíva a relácie medzi nimi. Takéto relačné štruktúry možno znázornit’ pomocou grafov. Základná myšlienka spočíva v tom, že takýto opis objektu tvorí slovo jazyka nad nejakou abecedou. Úlohou 189 13. K LASIFIKÁCIA PRÍZNAKOV klasifikácie je rozhodnút’ pomocou určenia gramatiky, ktorá slovo vygenerovala, do ktorého jazyka skúmané slovo patrí. Hybridné metódy sú kombináciou predchádzajúcich metód, ked’ príznakovými metódami identifikujeme primitíva na vytvorenie syntaktického opisu objektu. Mnohé reálne problémy sa riešia hybridným prístupom. Existuje aj iné roztriedenie klasifikačných metód na riadené a neriadené. Neriadené metódy. Rozhodovacie oblasti môžeme určovat’ čisto na základe podobnosti údajov x, bez toho aby sme vedeli, do ktorej triedy opisované objekty skutočne patria. Všetky premenné v modeli sú rovnocenné, žiadna z nich neriadi proces učenia. Takto skonštruované klasifikátory sa nazývajú neriadené a proces ich učenia sa je učením bez učitel’a. Do tejto skupiny patria metóda K priemerov (kap. 15.1), hierarchické zhlukovanie (kap. 15.2), Kohonenove siete (samoorganizujúce mapy) (kap. 15.3). . . Riadené metódy. Ak existuje jedna ciel’ová premenná, ktorá riadi proces učenia tak, aby ostatné premenné (prediktory) čo najlepšie predpovedali hodnotu ciel’ovej premennej, hovoríme o riadených klasifikátoroch a o učení sa s učitel’om. Medzi riadené klasifikátory patria: Bayesovské modely (kap. 14.1), techniky najbližších susedov (kap. 14.2), rozhodovacie stromy (kap. 14.3), diskriminačná analýza (kap. 14.4), mechanizmy podporných vektorov (kap. 14.5), neurónové siete (kap. 14.6). . . Pri klasifikácii musíme vyhodnocovat’ aj dosiahnutú chybu. V prípade dvoch možných klasifikačných tried, chybná klasifikácia nastane, ak vektor x opisujúci objekt O patrí regiónu R 1 (klasifikačná trieda ω1 ), ale objekt patrí klasifikačnej triede ω2 a naopak. Matematicky to môžeme zapísat’ ako P (chyba) = P (x ∈ R 1 , ω2 ) + P (x ∈ R 2 , ω1 ) = P (x, ω2 )dx + P (x, ω1 )dx. R1 R2 (13.1) Ak sú hodnoty P (x, ωk ) porovnatel’né (čo je ekvivalentné s podmienkou P (ωk |x) 1), zvyšuje sa neistota pri zaradení objektu do tried. V takom prípade je v niektorých klasifikátoroch zaradená možnost’ odmietnutia klasifikácie. Napríklad pri rozpoznávaní číslic bude 11 klasifikačných rozhodnutí ω0 , ω1 , . . . ω9 , ωNezaradené . Nezaradené objekty budú tie, 190 pre ktoré platí ∀ωk : P (ωk |x) ≤ φ. Nastavením prahu φ vieme ovplyvnit’ počet nezaradených objektov. Ak nastavíme φ = 1, všetky objektu budú nezaradené a ak pri K klasifikačných triedach nastavíme φ < 1/K , všetky objekty budú zaradené. V prípadoch, ked’ je nesprávna klasifikácia rôznych objektov penalizovaná rôzne, nestačí minimalizovat’ počet nesprávne klasifikovných objektov. V medicínskej diagnostike je nesprávne zaradenie zdravého pacienta medzi chorých pri nasadení liečby s malými vedl’ajšími účinkami menej nebezpečné ako neliečenie vážne chorého pacienta. Čiže cena nesprávneho zaradenia do triedy ωChorý je nižšia ako cena nesprávneho zaradenia do triedy ωZdravý . Tomuto problému aj iným metódam ohodnotenia kvality klasifikácie sa budeme venovat’ v kapitole 16. 191 K APITOLA 14 Riadené klasifikátory 14.1 Bayesovská teória rozhodovania Ak poznáme rozloženie pravdepodobnosti, z ktorého príznaky pochádzajú, alebo ak ho vieme odhadnút’, môžeme na klasifikáciu príznakov použit’ Bayesovský prístup. Výhodou tohto prístupu je, že vieme identfikovat’ prvky, ktoré sa vyskytujú s vel’mi nízkou pravdepodobnost’ou (odl’ahlé hodnoty). Bayesovský klasifikátor klasifikuje objekt do triedy ωi , do ktorej s najväčšou pravdepodobnost’ou patrí vzhl’adom na príznaky x. Na to, aby sme túto (aposterioriórnu) pravdepodobnost’ P (ωi |x) vedeli spočítat’, potrebujeme poznat’ • podmienené rozdelenie pravdepodobnosti P (x|ωi ) pre každú klasifikačnú triedu ωi , • apriórnu pravdepodobnost’ P (ωi ) pre každú klasifikačnú triedu ωi (pred pozorovaním vektora x), • nepodmienené rozdelenie pravdepodobnosti P (x) – určuje pravdepodobnost’ vektora x bez ohl’adu na triedu. Tieto pravdepodobnosti môžeme určit’ zo vzájomnej pravdepodobnosti P (x, ωi ). Naivný Bayesovský klasifikátor vychádza z predpokladu, že efekt, ktorý má hodnota (každého) príznaku na danú triedu, nie je ovplyvnený hodnotami ostatných príznakov. 192 14.1. Bayesovská teória rozhodovania P(x,ω1) R1 P(x,ω1) P(x,ω2) R2 R1 (a) L’ubovol’ný prah – väčšia dosiahnutá chyba. P(x,ω2) R2 (b) Optimálny prah – Bayesov klasifikátor. Obrázok 14.1: Porovnanie dosiahnutej chyby pri l’ubovol’nom a optimálnom prahu. Rozdiel oproti opimálnemu prahu je vyznačený tmavšou výplňou. Na výpočet aposterioriórnych pravdepodobností každej triedy použijeme Bayesovo pravidlo (pozri kapitolu A.1.1) P (ωi |x) = P (x|ωi )P (ωi ) . P (x) (14.1) Bayesov klasifikátor potom priradí vzorku x do triedy ωi , ak pre každé j = i platí P (x|ωi )P (ωi ) P (x|ω j )P (ω j ) ≥ . P (x) P (x) (14.2) Hodnota P (x) = Kj=1 P (x|ωi )P (ω j ) sa vyskytuje na oboch stranách nerovnice, preto vzorka x patrí do triedy ωi ∗ , ktorej rozhodovacia funkcia di (x) = P (x|ωi )P (ωi ) (14.3) dosiahne najvyššiu hodnotu i ∗ = argmax di (x). i (14.4) 14.1.1 Optimalita Bayesovho klasifikátora Pri klasifikácii do dvoch rovnako pravdepodobných tried (P (ω1 ) = P (ω2 )) sa dá dosiahnutá chyba klasifikácie vyjadrit’ ako P (chyba) = P (x, ω2 )dx + P (x, ω1 )dx, (14.5) R1 R2 kde R i je rozhodovacia oblast’ triedy ωi . Na obrázku 14.1(a) vidíme príklad rozhodovacích oblastí. Chyba, ktorú tento klasifikátor dosiahol, je 193 14. R IADENÉ KLASIFIKÁTORY 5 5 5 4 4 4 3 3 3 2 2 2 1 1 0 0 0 −1 −1 −1 −2 −2 −2 −3 −3 −4 −5 1 −3 −4 −2 0 2 4 6 −5 8 −4 −4 −2 0 2 4 6 −5 8 (a) Rovnaké diagonálne (b) Rovnaké diagonálne matice – rovnaké variancie, matice – rôzne variancie, nulová kovariancia. nulová kovariancia. 5 5 4 4 3 3 2 2 1 −2 0 2 4 6 8 (c) Rovnaké matice – rôzne kovariancie, nenulová kovariancia. 1 0 0 −1 −1 −2 −2 −3 −3 −4 −5 −4 −4 −2 0 2 4 6 8 (d) Rôzne diagonálne matice – rôzne variancie, nulová kovariancia. −5 −2 0 2 4 6 8 (e) Rôzne matice – rôzne variancie, nenulová kovariancia. Obrázok 14.2: Rozhodovacie hranice troch klasifikačných tried pre rôzne typy kovariančných matíc. V prípade (a), (b) a (c) sú kovariančné matice v triedach rovnaké a rozhodovacie hranice sú lineárne. V prípade (d) a (e) sú kovariančné matice v triedach rôzne a rozhodovacie hranice sú nelineárne. V týchto dvoch prípadoch vidíme aj pohl’ad na väčšiu oblast’, z ktorej výrez pochádza. zjednotením červenej a modrej oblasti. Červená vznikne nesprávnou klasifikáciou objektom triedy ω2 do triedy ω1 , modrá pri klasifikácii objektov triedy ω1 do triedy ω2 . Dosiahnutú chybu minimalizujeme, ked’ objekty, pre ktoré P (x, ω1 ) > P (x, ω2 ) zaradíme do triedy ω1 a naopak (obr. 14.1(a)). Vieme, že P (x, ωi ) = P (ωi |x)P (x) = P (x|ωi )P (ωi ). Preto do triedy ω1 zaradíme objekty, pre ktoré P (x|ω1 ) > P (x|ω2 ), čo pri predpoklade rovnakej pravdepodobnosti tried zodpovedá Bayesovmu rozhodovaciemu kritériu (14.4). 14.1.2 Rozhodovacie hranice Tvar rozhodovacej hranice v Bayesovskom rozhodovaní záleží na hodnotách kovariančnej matice (obr. 14.2). V prípade rovnakých kovariančných matíc tried sú rozhodovacie hranice lineárne, pri rôznych kovariančných 194 14.2. Techniky najbližších susedov (a) (b) Obrázok 14.3: Príklad klasifikácie neznámej vzorky metódou najbližších susedov v závislosti na K. (a) Pre K = 3 parí neznámy objekt do červenej triedy a (b) pre K = 7 do modrej triedy. maticiach to už neplatí. Obrázok 14.2 obsahuje príklady rôznych typov kovariančných matíc a im zodpovedajúcich rozhodovacích hraníc. 14.2 Techniky najbližších susedov Tieto techniky sa nazývajú podl’a toho, že klasifikáciu vzorky ovplyvňujú len jej najbližší susedia. Na obrázku 14.3 vidíme vzorky patriace do dvoch klasifikačných tried a neznámu vzorku, ktorú chceme klasifikovat’. V prípade, že o klasifikácii rozhodujú traja najbližší susedia, tak neznáma vzorka patrí do červenej triedy. Pseudokód metódy najbližších susedov je opísaný algoritmom 14.1. Vidíme, že postup je vel’mi jednoduchý, má však vel’kú nevýhodu, že pri klasifikácii potrebuje mat’ k dispozícii všetky trénovacie dáta a pre každú neznámu vzorku musíme spočítat’ vzdialenosti ku všetkým trénovacím dátam. Nájdi K najbližších susedov vzorky Klasifikuj vzorku do triedy, do ktorej patrí väčšina z K susedov Algoritmus 14.1: Algoritmus klasifikácie metódou najbližších susedov. Pri metóde najbližších susedov treba rozhodnút’, ako budeme určovat’ „blízkost’“ dát, čiže akú metriku použijeme. Toto rozhodnutie urobíme na základe vlastností trénovacích dát. Na obrázku 14.4(a) vidíme, že pri husto vzorkovaných dátach môžeme použit’ Euklidovskú metriku 195 14. R IADENÉ KLASIFIKÁTORY (a) (b) (c) Obrázok 14.4: Príklad vhodnosti metrík pre metódu K najbližších susedov. (a) Pri dostatočne hustom vzorkovaní trénovacích dát je vhodná Euklidovská metrika. (b) Pri redšom vzorkovaní už táto metrika nie je vhodná. (c) Pre takto rozložené dáta sa javí lepšia Mahalanobisova metrika. a vzorka bude klasifikovaná správne. Toto ale neplatí v prípade riedko vzorkovaných dát na obrázku 14.4(b). V tomto prípade by bolo vhodnejšie zvolit’ metriku, ktorá preferuje vzdialenost’ v y-ovom smere pred vzdialenost’ou v x-ovom smere. Mohli by sme použit’ napríklad Mahalanobisovu metriku ako na obrázku 14.4(c). Druhá premenná, ktorú treba určit’, je počet susedov K , ktorí určujú klasifikačnú triedu. Na obrázku 14.3 vidíme, že pri K = 3 neznáma vzorka patrí do červenej triedy a pri K = 7 do modrej triedy. Pre K = 1 dostávame Voronoiov diagram a hl’adáme, do ktorej Voronoiovej bunky vzorka patrí (obrázok 14.5). Ked’ sa K zvyšuje, rastie rád Voronoiovho diagramu, hranica oblastí sa vyhladzuje (obrázok 16.1), môže rást’ chyba pri tréningu a klesat’ chyba pri testovaní. Optimálnu hodnotu K zistíme pomocou vzájomnej validácie (pozri kap. 16). 14.3 Rozhodovacie stromy Klasifikátory väčšinou určujú príslušnost’ na základe vzdialenosti príznakov. Ak sa však medzi príznakmi vyskytujú nominálne dáta, pojem vzdialenosti stráca zmysel. Príkladom môže byt’ klasifikácia jedla podl’a chuti (sladká, slaná, horká . . .). V takomto prípade je vhodné použit’ na klasifikáciu rozhodovacie stromy. Rozhodnutie o zaradení triedy a postup, ako sme k nemu dospeli, sú usporiadané do stromovej štruktúry, kde uzly 196 14.3. Rozhodovacie stromy 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Obrázok 14.5: Metóda K najbližších susedov pre K = 1 vytvorí Voronoiov diagram. Pri klasifikácii hl’adáme, do ktorej Voronoiovej bunky vzorka patrí. opisujú testy hodnôt jednotlivých príznakov. Z uzlov vychádza tol’ko vetiev, kol’ko rôznych hodnôt test nadobúda, väčšinou sa pracuje s binárnymi stromami. Listy stromu zodpovedajú klasifikačným triedam (obr. 14.6). Podl’a počtu nominálnych hodnôt, ktoré môžu príznaky nadobúdat’, vytvárame binárne alebo n-árne stromy. Binárne stromy môžeme vyrobit’ aj z príznakov s viacerými hodnotami tak, že sa v uzle budeme postupne pýtat’ na konkrétne hodnoty (obr. 14.6b)). Pri vytváraní binárneho rozhodovacieho stromu musíme určit’ nasledovné body. Rozhodovacie porovnanie treba určit’ v každom uzle. Porovnanie zist’uje, aký je vzt’ah hodnoty určeného príznaku k zvolenej prahovej hodnote (napr. p j ≤ 7, chut’ = sladká). Každý uzol t skúma dáta podmnožiny X t trénovacej množiny a rozdel’uje ju na dve podmnožiny X t A , X t N . Podmnožina X t A obsahuje dáta, pri ktorých bolo porovnanie splnené (odpoved’ na porovnanie je „Áno“), druhá podmnožina obsahuje zvyšné dáta (odpoved’ „Nie“). Koreň stromu skúma celú množinu trénovacích dát. V každom uzle platí # X t A X t N = 0, ! Xt A XtN = Xt . Rozdel’ujúce kritérium sa stanovuje v rámci stromu a určuje prahovú hodnotu a príznak, ktoré budú vystupovat’ v rozhodovacom porovnaní. Ukončujúce kritérium riadi rast stromu. Pravidlá určujú klasifikačnú triedu v listoch. 197 14. R IADENÉ KLASIFIKÁTORY a d ? ? c b e f ? g h (a) Strom s viacnásobným vetvením. b b,d ? a,b ? e d ? c f ? g g,h ? h (b) Binárny strom. Obrázok 14.6: Príklady rozhodovacích stromov. Algoritmus 14.2 zobrazuje proces vytvárania jednoduchého binárneho rozhodovacieho stromu, bez orezávania. Orezávaním stromov sa zaoberá kapitola 14.3.3. PROC RozhStrom (X) vytvor strom T s jediným vrcholom V IF je splnené ukončovacie kritérium THEN označ V ako list a zaraď do určenej triedy ELSE nájdi príznak P a prahovú hodnotu H pomocou rozdeľujúceho kritéria vyhodnoť rozhodovacie porovnanie urči množiny XtA , XtN TA=RozhStrom(XtA) TN=RozhStrom(XtN) spoj uzol V s TA hranou označenou A spoj uzol V s TN hranou označenou N END IF RETURN T Algoritmus 14.2: Základný algoritmus tvorby rozhodovacieho stromu. Pôvodná myšlienka rozhodovacích stromov pochádza od psychológov Hunta, Marina a Stonea, ktorí v 60. rokoch 20. storočia modelovali koncept l’udského učenia sa. Ich CLS (Concept Learning System) bol binárny rozhodovací strom, ktorý bol navrhnutý tak, aby minimalizoval cenu klasifikácie objektu skladajúcu sa z ceny určenia klasifikačnej triedy a ceny chybnej klasifikácie. 198 14.3. Rozhodovacie stromy ID3 (Iterative Dichotomiser 3) je iteratívny algoritmus vyvinutý z CLS. Z náhodne vybranej podmnožiny trénovacích dáta (nazývanej okno) sa vytvorí rozhodovací strom a otestuje sa na zvyšných dátach. V prípade, že všetky dáta sú klasifikované správne, proces končí. Ak sú niektoré dáta klasifikované nesprávne, pridajú sa do okna a vytvorí sa nový rozhodovací strom. Takto sa dá nájst’ strom klasifikujúci všetky trénovacie dáta správne v priebehu niekol’kých iterácií pre množiny do 30 000 objektov opísaných 50-miestnym vektorom príznakov. ACLS je generalizáciou ID3. Príznaky môžu nadobúdat’ neobmedzené celočíselné hodnoty. To umožnilo použitie tohto algoritmu v reálnych problémoch ako je rozpoznávanie obrazov. C4.5 algoritmus vylepšil ID3 niekol’kými vlastnost’ami. Vie narábat’ so spojitými aj diskrétnymi dátami, dokáže ošetrit’ chýbajúce dáta, vie váhovat’ jednotlivé príznaky a používa spätné orezanie stromu. Jeho d’alším vylepšením je C5.0. CART (Classification and Regression Trees) konštruuje binárny strom. Uzly sa delia na základe tzv. rozdvojovacieho (twoing) kritéria a strom je následne orezaný. Algoritmus generuje aj regresné stromy, kde v listoch nie je klasifikačná trieda, ale reálne číslo. Pri regresných stromoch sa v uzloch minimalizuje stredná kvadratická chyba. 14.3.1 Rozdel’ujúce kritérium Rozdel’ujúce kritérium ohodnocuje príznaky a do uzlov sa priradí test na najdôležitejší príznak. Dôležitost’ príznaku môžeme merat’ „nedokonalost’ou rozdelenia“, ktorú vyjadríme hodnotou vzájomnej informácie, entropie atd’. Dokonalé rozdelenie v uzle nastane, ak všetky objekty v jednej vetve patria do tej istej klasifikačnej triedy. Každé z kritérií je vhodné pre iný druh problémov. Viacerí autori však argumentujú, že vol’ba rozdel’ujúceho kritéria v mnohých prípadoch nie je podstatná a má len malý vplyv na kvalitu výslednej klasifikácie. Entropia Delenie za základe minimálnej entropie (kap. 11.5.4) sa používa v algoritme ID3. Giniho index Giniho index použitý v algoritme CART udáva ako často bude náhodne vybraný objekt nesprávne klasifikovaný, ak bude náhodne klasifikovaný 199 14. R IADENÉ KLASIFIKÁTORY podl’a rozdelenia tried v množine. Majme m klasifikačných tried. Nech je v uzle U relatívna početnost’ objektov jednotlivých tried pi = |{x | x ∈ ωi }| . |U | (14.6) Potom GI = m p i (1 − p i ) = 1 − i=1 m i=1 p i2 , (14.7) kde p i zodpovedá pravdepodobnosti výberu objektu z triedy i a (1 − p i ) pravdepodobnosti nesprávnej klasifikácie tohto objektu. Ak sú všetky dáta v jednej triede, Giniho index dosahuje minimálnu hodnotu 0. Kolmogorovove–Smirnovove kritérium Kolmogorovove–Smirnovove (KS) kritérium hodnotí maximálny rozdiel distribučných funkcií. Pre triedy ωi a ω j s kumulatívnymi distribučnými funkciami F i (x) a F j (x) je KS kritérium je dané nasledovne K S(ωi , ω j ) = max |F i (x) − F j (x)|. x (14.8) Viacnásobný test Do testov môže vstupovat’ viacero príznakov spoločne. Väčšina viacnásobných testov je lineárnou kombináciou príznakov. Na nájdenie najlepšej kombinácie sa používa pažravý algoritmus, lineárne programovanie alebo lineárna diskriminačná analýza. Použitie viacnásobného testu znižuje hĺbku rozhodovacieho stromu a vyhladzuje rozhodovacie hranice, ako vidno na obrázku 14.7. 14.3.2 Ukončujúce kritérium Medzi bežné ukončovacie kritériá patria: • Všetky objekty v skúmanej množine patria do jednej klasifikačnej triedy. • Strom dosiahol maximálnu stanovenú hĺbku. • Počet objektov klasifikovaných v danom uzle je menší ako stanovený prah. • Ohodnotenie najlepšieho príznaku je nižšie ako stanovený prah. 200 14.3. Rozhodovacie stromy x2 < t1 t3 x1 < t2 t1 t5 x1 < t4 x2 < t5 t2 x2 < t3 t4 (a) Postupné vyhodnotenie jednoduchých testov. x2=ax1+b x2-ax1<b (b) Jeden viacnásobný test. Obrázok 14.7: Viacnásobný test zmenšuje hĺbku rozhodovacieho stromu. 14.3.3 Orezávanie rozhodovacích stromov Vylepšením základného algoritmu 14.2 je tzv. orezávanie rozhodovacieho stromu, ktoré zahŕňa odstránenie listov alebo celých podstromov. Ak odstránenie prinesie zvýšenie kvality klasifikácie, zvolené uzly sa odstránia a ich rodič sa zmení na list, do ktorého sa priradí klasifikačná trieda podl’a najpravdepodobnejšieho objektu z trénovacej množiny objektov, ktoré po tento list spadajú. Stromy môžeme orezávat’ už počas vytvárania, alebo orezávame hotový strom. Orezanie počas generovania rozhodovacieho stromu je zahrnuté v ukončovacom kritériu „Ohodnotenie najlepšieho príznaku je nižšie ako stanovený prah“. Toto kritérium zastaví vetvenie stromu, aj ked’ dáta v podstrome nepatria len do jednej triedy. Môže však nastat’ situácia, že delenie o úroveň nižšie by malo pozitívny vplyv na kvalitu klasifikácie. 201 14. R IADENÉ KLASIFIKÁTORY Pri orezávaní hotových stromov sa dáta rozdelia na trénovaciu a testovaciu (validačnú) množinu. Pomocou trénovacej množiny sa vytvorí strom a validačná množina sa použije na hodnotenie kvality klasifikácie. Orezávanie uzlov Použitím validačnej množiny sa vyráta chyba klasifikácie stromu. Každý uzol sa berie ako možný kandidát na odstránenie. Pre každý uzol sa zráta, ako sa zmení chyba klasifikácie, keby sa tento uzol odstránil (anglický názov metódy je reduced-error prunning). Odstránia sa jednotlivé uzly, pri ktorých sa chyba klasifkácie zníži. Ak takéto uzly neexistujú, odstránia sa uzly, pri ktorých sa chyba nemení. Ak by odstránenie l’ubovol’ného uzlu prinieslo zvýšenie chyby klasifikácie, všetky uzly zostávajú v strome a proces orezávania sa skončí. Inak sa prepočíta chyba klasifikácie v novovzniknutom orezanom strome a proces sa opakuje. Orezávanie podstromov Táto metóda orezávania (po anglicky cost-complexity prunning) ohodnocuje zmenu kvality klasifikácie pri odstránení celého podstromu a jeho náhrade listovým uzlom. Ak sa chyba po náhrade listovým uzlom zmenší, daný podstrom je možné odrezat’. V prvej fáze orezávania sa vygenerujú stromy T0 , . . . T N , kde T0 je originálny strom a T N je strom tvorený len koreňom. V druhej fáze sa vypočíta validačná chyba pre všetky vytvorené stromy T0 , . . . T N . Strom s najnižšou chybou je potom výsledný klasifikačný strom. Postupnost’ stromov T0 , . . . T N sa vytvára orezávaním podstromov, ktoré vykazujú najnižšiu chybu (cost-complexity, CC ) pri odstránení. Majme strom T , ktorý klasifikuje dáta s chybou Er r (T ). CC stromu T je CC (T ) = Er r (T ) + αL(T ), (14.9) kde L(T ) je počet listov stromu T . Ak odstránime zo stromu T podstrom S, tento novovytvorený strom TS bude mat’ CC (TS ) = Er r (TS ) + αL(TS ), (14.10) pričom L(TS ) = L(T ) − L(S) + 1. Tieto dva stromy budú mat’ rovnakú CC , ak α= Er r (TS ) − Er r (T ) . L(S) − 1 (14.11) Strom Ti+1 je tvorený zo stromu Ti nahradením podstromu, ktorý minimalizuje hodnotu α. 202 14.4. Diskriminačná analýza 14.3.4 Výhody a nevýhody rozhodovacích stromov Medzi hlavné výhody rozhodovacích stromov patrí ich jednoduchá interpretácia, aj pre laických používatel’ov rôznych klasifikátorov. Ďalej je to možnost’ klasifikácie numerických a aj kategorických dát a nízka výpočtová náročnost’. Na druhej strane, vytvorenie optimálneho rozhodovacieho stromu je NP úplný problém a používané heuristiky nezaručujú optimalitu vytvoreného stromu. Rozhodovacie stromy sú vhodné v problémoch, kde existuje niekol’ko vel’mi relevantných príznakov, inak môže vzniknút’ privel’mi komplexné stromy obsahujúce viaceré kópie určitých podstromov. 14.4 Diskriminačná analýza Jednou z úloh diskriminačnej analýzy (DA) je určit’, ktoré príznaky sú dôležité pri klasifikácii objektov do jednotlivých tried (pozri kapitolu 12). Ďalšou úlohou DA je na základe trénovacej množiny vytvorit’ pravidlá, ktoré každý nový objekt zaradia do jednej zo skupín tak, aby chyba klasifikácie bola čo najmenšia. Táto DA môže byt’ lineárna alebo kvadratická. V tejto kapitole predpokladáme, že klasifikačné triedy sú lineárne separovatel’né, t. j. existuje nadrovina rozdel’ujúca priestor tak, že vektory rôznych tried ležia v rôznych polpriestoroch. 14.4.1 Lineárne diskrimina čné funkcie Výhodou lineárnych diskriminačných funkcií (lineárnych klasifikátorov) je ich jednoduchost’ a nízka výpočtová náročnost’. Budeme sa zaoberat’ funkciami, ktoré sú lineárnou kombináciou zložiek x, čo sa dá napísat’ ako f (x) = wT x + b, (14.12) kde w je váhový vektor a b je prah (alebo posunutie). Pri technikách najbližších susedov sú všetky body trénovacej množiny potrebné na určenie triedy každého nového bodu. Pri lineárnom klasifikátore nie je trénovacia množina po určení (natrénovaní) vektora w nad’alej potrebná. 203 14. R IADENÉ KLASIFIKÁTORY x3 x r F xp ω1 ω2 w -b ║w║ x2 f(x)=0 x1 Obrázok 14.8: Nadrovina F určená parametrami w a b. Vzdialenost’ bodu x od nadroviny je r . 14.4.2 Klasifikácia do dvoch tried Majme vektory príznakov patriace dvom rôznym klasifikačným triedam ω1 a ω2 . Rovnica nadroviny je wT x + b = 0. (14.13) Hodnota f (x) = wT x + b je nulová pre body ležiace na rozdel’ujúcej nadrovine, záporná resp. kladná pre body ležiace mimo nadroviny. Úlohou lineárneho klasifikátora je nájst’ taký váhový vektor w (normálový vektor nadroviny) a prah b, aby platilo: f (x) ≥ 0 pre x ∈ ω1 , (14.14) f (x) < 0 pre x ∈ ω2 . (14.15) f (x) Tvrdenie 1. Hodnota w určuje geometrickú vzdialenost’ bodu x od nadroviny F určenej parametrami w a b (pozri obrázok 14.8). Dôkaz. Nech xp je kolmý priemet x do F . Potom x sa dá vyjadrit’ ako x = xp + r w , w (14.16) kde |r | je vzdialenost’ od priemetu. Hodnota r je kladná, ak x leží v rovnakom polpriestore ako vektor w. Vieme, že f (xp ) = 0 (bod xp leží na F ). 204 14.4. Diskriminačná analýza Potom f (x) = wT x + b = wT (xp + r w )+b w wT w w 2 w = f (xp ) + r w = r w , = wT xp + b + r (14.17) a teda r= f (x) . w (14.18) Podobne vieme ukázat’, že b je vzdialenost’ F od počiatku súradnicovaj sústavy. 14.4.3 Určenie váh Aby sme jednoduchšie zistili váhy a prah, zapíšeme lineárny klasifikátor ako f (x) = uT y, (14.19) T T kde u = b, wT a y = 1, xT . Pri určovaní váhového vektora u zo vzt’ahu (14.19), nedelíme problém na samostané hl’adanie vektora w a prahu b. Takýto prechod do D + 1 rozmerného priestoru (nazvime ho y-priestor) zachováva vzdialenosti pôvodných vektorov x aj u nových vektorov y. Rozdel’ujúca nadrovina F̂ definovaná ako uT y = 0 prechádza počiatkom súradnicovej sústavy y-priestoru, hoci v pôvodnom priestore nadrovina f (x) F mohla byt’ umiestnená l’ubovol’ne. Vzdialenost’ vektora y od F̂ je u . Táto vzdialenost’ je menšia alebo rovná vzdialenosti vektora x od F , lebo u ≥ w. Majme N vzoriek y1 , . . . yN patriacich dvom rôznym klasifikačným triedam ω1 a ω2 . Vzorku yi zaradíme do triedy ω1 , ak uT yi > 0 a do triedy 205 14. R IADENÉ KLASIFIKÁTORY oblasť riešení y2 oblasť riešení u z2 u y1 nadrovina z1 nadrovina (a) Vektory yi (b) Vektory zi Obrázok 14.9: Vektory yi po normalizácii podl’a vzt’ahu (14.20). Všetky dáta ležia v jednom podpriestore určenom nadrovinou. ω2 , ak uT yi < 0. Ak by sme zaviedli nasledovnú normalizáciu * yi pre y ∈ ω1 , zi = −yi pre y ∈ ω2 , (14.20) tak hodnota uT zi > 0 pre všetky zi (pozri obrázok 14.9). Naším problémom je teda nájst’ váhový vektor u, aby platilo uT zi > 0 pre všetky zi . Existuje niekol’ko metód ako tento vektor určit’. Zavedieme skalárnu účelovú funkciu O(u), ktorej hodnota je minimálna, ked’ u je riešením nášho problému. Nájdenie takého u sa rieši gradientnou metódou. Gradientná metóda je iteratívna. Začíname s náhodne zvoleným vektorom u1 , vypočítame gradient ∇O v bode u1 a aktualizujeme hodnotu u tak, že vyberieme vektor z okolia u1 v smere najväčšej negatívnej zmeny gradientu ui+1 = ui − η(i )∇O -u , (14.21) i kde η(i ) je (pozitívna) rýchlost’ učenia v kroku i , ktorá určuje vel’kost’ kroku. Výber vhodných vel’kostí je dôležitý, lebo ak zvolíme nízku hodnotu, konvergencia je pomalá a ak zvolíme príliš vysokú hodnotu, proces môže správne riešenie „preskočit’“ a divergovat’. Ak prepokladáme, že účelová funkcia je diferencovatel’ná, môžeme pomocou Taylorovho rozvoja určit’ rýchlost’ učenia nasledovne. Funkcia O(a) je v okolí bodu ui aproximovaná 1 O(a) ≈ O(ui ) + ∇O T (a − ui ) + (a − ui )T H(a − ui ), 2 (14.22) kde H je matica druhých pariálnych derivácií funkcie O (Hesseho matica). H a ∇O sú vyhodnotené v bode ui (rovnako v d’alšom texte). Pre 206 14.4. Diskriminačná analýza a = ui+1 dostávame 1 O(ui+1 ) ≈ O(ui ) − η(i )∇O2 + η2 (i )∇O T H∇O. 2 (14.23) L’ahko ukážeme, že hodnota (14.23) je minimalizovaná pre η(i ) = ∇O2 ∇O T H∇O . (14.24) Druhou možnost’ou na hl’adanie riešenia u je použitie Newtonovho algoritmu, pričom namiesto vzt’ahu 14.21 použijeme na zmenu hodnoty ui vzt’ah ui+1 = ui − H−1 ∇O. (14.25) 14.4.4 Vol’ba ú čelovej funkcie Pozrime sa teraz na výber účelovej funkcie. Naším ciel’om je minimalizácia počtu nesprávne klasifikovaných vzoriek. Takáto funkcia je po častiach konštantná, preto nie je vhodná na použitie v gradientnej metóde. Lepšou vol’bou je po častiach lineárna perceptrónová funkcia OP = (−uT z), (14.26) z∈Z kde Z je množina nesprávne klasifikovaných vzoriek. V prípade, ked’ je táto množina prázdna, definujeme O P ≡ 0. Vieme, že pre nesprávne klasifikované vzorky platí uT z ≤ 0, a preto O P nadobúda nezáporné hodnoty. Nulovú hodnotu nadobúda pre váhové vektory, ktoré sú riešením nášho problému, ked’ nemáme nesprávne klasifikované vzorky. Pre funkciu definovnú vzt’ahom 14.26 platí ∇O P = (−z) (14.27) z∈Z a vzt’ah (14.21) nadobudne tvar ui+1 = ui + η(i ) z, (14.28) z∈Z i kde Z i je množina nesprávne klasifikovaných vzoriek v kroku i . Tomuto prístupu sa hovorí dávkový, pretože vyhodnocuje všetky neklasifikované vzorky naraz. Jednoduchším riešením je vyhodnocovat’ vzorky po jednej, ako je to uvedené v algoritme 14.3. 207 14. R IADENÉ KLASIFIKÁTORY inicializuj u0 = 1, i=0, k=0 opakuj ak zk je nesprávne klasifikovaný ui+1 = ui + zk i=i+1 koniec ak k=(k+1) mod N kým existuje nejaký nesprávne klasifikovaný vektor z j Algoritmus 14.3: Algoritmus hl’adania váhového vektora. oblasť riešení z2 oblasť riešení z2 z1 z1 (a) Oblast’ riešení bez okraja pre perceptrónovú funkciu (14.29). (b) Vplyv normalizačného člena v perceptrónovej funkcii (14.30). Obrázok 14.10: Oblast’ riešení perceptrónovej funkcie. Podobnou účelovou funkciou je kvadratická funkcia OQ = (uT z)2 , (14.29) z∈Z i ktorá má na rozdiel od O P spojitý gradient. Problémom tejto funkcie je, že je možno až príliš hladká a gradientná metóda môže konvergovat’ na hranici oblasti riešení (pre a = 0). Oblast’ riešení je znázornená na obrázku 14.10(a). Druhým problémom je, že dlhšie vektory vzoriek z vplývajú na hodnotu OQ viac, ako kratšie. Oba tieto problémy rieši funkcia obsahujúca normalizačný člen z2 a člen určujúci okraj v oblasti riešení OR = 208 1 (uT z − )2 . 2 z∈Z i z2 (14.30) 14.4. Diskriminačná analýza Vplyv týchto členov na oblast’ riešení je znázornený na obrázku 14.10(b). V tomto prípade Z i je množina vzoriek, pre ktoré platí uT z ≤ . Gradient tejto funkcie je ∇O R = uT z − z. 2 z∈Z i z (14.31) Pri použití účelovej funkcie (14.30) nastáva nesprávna klasifikácia, ak uT z ≤ . Algoritmus 14.3 sa preto zmení na algoritmus 14.4. inicializuj u0 = 0, i=0, k=0 opakuj k=(k+1) mod N ak uT zk ≤ z = zk T z ui+1 = ui + η(i ) −u z z2 i=i+1 koniec ak kým uT z j > pre všetky z j Algoritmus 14.4: Algoritmus hl’adania váhového vektora s okrajom. 14.4.5 Klasifikácia do K tried Pri klasifikácii do viacerých tried môžeme postupovat’ dvomi spôsobmi. 1. Pre každú klasifikačnú triedu vytvoríme rozhodovaciu funkciu, ktorá oddelí vzorky tejto triedy od vzoriek ostatných tried. V tomto prípade máme K rozhodovacích funkcií. 2. Pre každú dvojicu rôznych klasifikačných tried vytvoríme rozhodovaciu funkciu oddel’ujúcu vzorky týchto dvoch tried bez ohl’adu na vzorky ostatných tried. V tomto prípade máme K (K − 1)/2 rozhodovacích funkcií. Oba tieto prístupy môžu viest’ k situácii, kde čast’ priestoru príznakov nie je zaradená do žiadnej klasifikačnej triedy (pozri obrázok 14.11). Tento problém vyrieši vytvorenie množiny K rozhodovacích funkcií ( )K f k (x) k=1 a zaradenie vzorky x do tej klasifikačnej triedy, ktorej hodnota po dosadení je najväčšia x ∈ ωi ⇔ ∀ j =i f i (x) > f j (x). (14.32) 209 14. R IADENÉ KLASIFIKÁTORY F13 F3... F1... F12 ω2 F23 ω2 F2... ω3 ω1 F4... ω4 F24 ω3 ω1 neurčená oblasť ω4 F34 F14 (a) (b) Obrázok 14.11: Klasifikácia do viacerých tried (a) oddelením jednej triedy od ostatných a (b) oddelením dvojíc tried. Takto vytvorený klasifikátor sa nazýva lineárny stroj. Tento stroj delí priestor na K konvexných regiónov. Ak sa dva regióny R i a R j dotýkajú, potom hranica medzi týmito regiónmi leží na nadrovine Fi j danej rovnicou f i (x) = f j (x), a teda platí wi T x + b i = wj T x + b j , T (wi − wj ) x + b i − b j = 0. (14.33) (14.34) Podl’a (14.18) je vzdialenost’ vzorky x od Fi j daná f i (x) − f j (x) < < . <wi − wj < (14.35) Vidíme, že v prípade lineárneho stroja nie sú dôležité samostatné váhové vektory, ale ich rozdiel. Pre K klasifikačných tried existuje K (K −1)/2 nadrovín Fi j , ale nie všetky regióny musia byt’ susedné, preto hraníc medzi regiónmi je väčšinou menej (pozri obrázok 14.12). V prípade lineárneho stroja, ak by bola každá trieda reprezentovaná jednou vzorkou, klasifikácia je rovnaká ako pri technike jedného najbližšieho suseda (pozri kap. 14.2, obrázok 14.5). 14.5 Mechanizmy podporných vektorov Lineárny klasifikátor z predchádzajúcej kapitoly vyberie niektorý z váhových vektorov ležiacich v oblasti riešení. Výsledkom môže byt’ rozdel’ujúca nadrovina, ktorá síce dobre klasifikuje trénovacie dáta, ale pri testovacích dátach dosahuje vel’kú chybu (pozri obr. 14.13). Čiatočným rieše210 14.5. Mechanizmy podporných vektorov F25 F12 ω2 F23 ω5 ω1 ω3 F13 F34 F14 ω4 F35 F45 Obrázok 14.12: Lineárny stroj pre 5 klasifikačných tried. (a) Nadrovina príliš blízko (b) Nadrovina príliš (c) Nadrovina dostatočne trénovacích dát. blízko trénovacích dát. d’aleko od trénovacích dát. Obrázok 14.13: Nadrovina určená perceptrónom môže byt’ príliš blízko trénovacím dátam. ním je použie účelovej funkcie O R , avšak optimálna hodnota parametra nie je určená. Tento problém riešia mechanizmy podporných vektorov (support vector machines - SVM). SVM určujú rozdel’ujúcu nadrovinu tak, aby testovacie dáta mali čo najväčšiu vol’nost’. Snažia sa nájst’ nadrovinu čo najviac vzdialenú od trénovacích vzoriek (pozri obr. 14.13(c)). Podpornými vektormi sú potom tie vzorky každej triedy, ktoré sú najbližšie k rozdel’ujúcej nadrovine. Vzdialenost’ medzi podpornými vektormi rôznych tried sa nazýva rozpätie (margin, pozri obr. 14.14). Našou úlohou je nájst’ takú nadrovinu reprezentovanú váhovým vektorom, ktorá túto vzdialenost’ maximalizuje. Rovnica nadroviny má tvar (14.13). Bez ujmy na všeobecnosti môžeme predpokladat’, že pre podporné vektory platí wT x+b = ±1 (podl’a príslušnosti k triede ω1 , resp. ω2 ). Potom podl’a vzt’ahu (14.18) je 211 14. R IADENÉ KLASIFIKÁTORY nadrovina podporný vektor podporný vektor podporný vektor rozpätie Obrázok 14.14: Podpornými vektormi sú tie vzorky každej triedy, ktoré sú najbližšie k rozdel’ujúcej nadrovine. Vzdialenost’ medzi podpornými vektormi rôznych tried sa nazýva rozpätie (margin). vel’kost’ rozpätia rovná 2 . w (14.36) Naša optimalizačná úloha je teda w∗ = argmax 2 . w (14.37) To je ekvivalentné k minimalizačnej úlohe (w∗ , b ∗ ) = argmin 1 w2 , 2 (14.38) aby wT xi + b ≥ 1 pre x ∈ ω1 , T w xi + b ≤ −1 pre x ∈ ω2 . (14.39) (14.40) Podmienky (14.39) a (14.40) môžeme vyjadrit’ jednou podmienkou (wT xi + b)k i ≥ 1, (14.41) kde * ki = 1 −1 pre x ∈ ω1 , pre x ∈ ω2 . (14.42) Minimalizačnú úlohu (14.38) vyriešime pomocou Lagrangeovej metódy 212 14.5. Mechanizmy podporných vektorov neurčitých koeficientov L(w, b, αi ) = = N 1 w2 − αi ((wT xi + b)k i − 1) 2 i=1 N N 1 w2 − αi (wT xi + b)k i + αi , 2 i=1 i=1 (14.43) aby αi ≥ 0. (14.44) Riešenie hl’adáme pomocou derivácií Lagrangiánu N ∂L = w− αi k i xi ≡ 0 ∂w i=1 (14.45) N ∂L = − αi k i ≡ 0 ∂b i=1 (14.46) (wT xi + b)k i − 1 ≥ 0 (14.47) αi ≥ 0 (14.48) αi ((w xi + b)k i − 1) = 0 (14.49) T Podmienky (14.45) – (14.49) sa nazývajú Kuhn-Tuckerove (KT) podmienky. Z (14.45) vidíme, že váhový vektor vypočítame ako w= N αi k i xi . (14.50) i=1 Ďalej zo vzt’ahov (14.47) – (14.49) vyplýva αi = 0 ⇔(wT xi + b)k i − 1) > 1, T αi > 0 ⇔(w xi + b)k i − 1) = 1, (14.51) (14.52) čiže pre body ležiace vnútri oblasti ω1 alebo ω2 sú Lagrangeove multiplikátory nulové (vzt’ah (14.51)) a pre body ležiace na okraji oblasti (podporné vektory) sú multiplikátory nenulové (vzt’ah (14.52)). Táto situácia je znázornená na obrázku 14.15. Preto váhový vektor ovplyvňujú len podporné vektory xi ∈ SV w= xi ∈SV αi k i xi . (14.53) 213 14. R IADENÉ KLASIFIKÁTORY α=0 α>0 α=0 α=0 α=0 α=0 α>0 α>0 α=0 α=0 α=0 α=0 Obrázok 14.15: Lagrangeove multiplikátory sú nenulové pre podporné vektory. Aby sme našli hodnoty αi , vyriešime duálny problém. Do rovnice (14.43) dosadíme vzt’ah (14.45) a s využitím vzt’ahu (14.46) dostaneme duálnu maximalizačnú úlohu k minimalizačnej úlohe (14.38). 5 6 N N 1 T α = argmax αi − αi α j k i k j xi x j , 2 i=1 j =1 i=1 ∗ N (14.54) aby N αi k i = 0, (14.55) i=1 αi ≥ 0. (14.56) Ku klasifikácii potom pristupujeme nsledovne 1. Úlohu (14.54) vyriešime metódami kvadratického programovania. 2. Určíme množinu podporných vektorov xi ∈ SV , pre ktoré αi > 0. 3. Pomocou vzt’ahu (14.47) určíme hodnotu 5 6 1 T αi k i xi x j . kj − b= |SV | x j ∈SV xi ∈SV (14.57) 4. Dosadením (14.53) do (14.12) zistíme hodnotu klasifikačnej funkcie f (x) = xi ∈SV αi k i xTi x + b. (14.58) V nasledovnej kapitole sa pozrieme, ako pristupovat’ k neseparovatel’ným dátam. 214 14.5. Mechanizmy podporných vektorov 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (a) Dáta separovatel’né, ak pripustíme (b) Dáta neseparovatel’né ani pri nenulomalú nenulovú chybu. vej tolerancii. Obrázok 14.16: Dva typy lineárne neseparovatel’ných dát. 14.5.1 Neseparovatel’né dáta Neseparovatel’nost’ dát môže mat’ viac príčin. V prípade, že rozdelenie pravdepodobnoti dát v jednotlivých triedach sa prekrýva, dáta nie sú lineárne separovatel’né s nulovou chybou (obrázok 14.16(a)). Ak zoslabíme podmienku nulovej tolerancie chyby, môže použit’ modifikovaný SVM klasifikátor s vol’ným rozpätím. Druhým typom dát sú dáta, ktoré nie sú lineárne separovatel’né ani pri nenulovej tolerancii chyby (obrázok 14.16(b)). Tento problém rieši nelineárny SVM klasifikátor. SVM s vol’ným rozpätím Podmienku nulovej chyby zoslabíme zavedením druhotných premenných ξi , ktoré určujú vol’nost’ chybnej klasifikácie. S týmito premennými sa minimalizačná úloha (14.38) zmení na (w∗ , b ∗ , ξ∗i ) = argmin N 1 w2 + C ξi , 2 i=1 (14.59) aby (wT xi + b)k i ≥ 1 − ξi , (14.60) kde konštanta C určuje penalizáciu za chybnú klasifikáciu a ovplyvňuje vel’kost’ rozpätia. Pri riešení tohto problému opät’ prejdeme cez Lagrangián k duálnemu problému (14.54). Táto duálna úloha sa nemení, mení sa len podmienka (14.56) na 0 ≤ αi ≤ C . (14.61) Vhodnú hodnotu C nájdeme vzájomnou validáciou (pozri kap. 16). 215 14. R IADENÉ KLASIFIKÁTORY Obrázok 14.17: Dáta na obrázku vl’avo nie sú v 2D priestore lineárne separovatel’né. Po prechode do 3D priestoru už lineárne separovatel’né sú, ako vidno na obrázku vpravo. Nelineárny SVM Druhou možnost’ou riešenia pre lineárne neseparovatel’né dáta je prejst’ do viacrozmerného priestoru. Na obrázku 14.17 vl’avo vidíme príklad dát, ktoré sú separovatel’né, ale nie lineárne. Ak by sme tieto dáta previedli do trojrozmerného priestoru predpisom ⎛ ⎞ + , x12 x1 ⎠, φ: → ⎝ x22 (14.62) x2 2x1 x2 dáta by boli separovatel’né. Táto situácia je znázornená na obrázku 14.17 vpravo. Duálna maximalizačná úloha (14.54) pre transformované dáta je nasledovná 5 6 N N N 1 ∗ T α = argmax αi − αi α j k i k j φ(xi ) φ(x j ) , (14.63) 2 i=1 j =1 i=1 aby N αi k i = 0, (14.64) i=1 αi ≥ 0. (14.65) Po vyriešení tejto úlohy určíme pomocou vzt’ahu (14.47) hodnotu 6 5 1 T b= αi k i φ(xi ) φ(x j ) . (14.66) kj − |SV | x j ∈SV xi ∈SV 216 14.5. Mechanizmy podporných vektorov Hodnota klasifikačnej funkcie je αi k i φ(xi )T φ(x) + b. f (x) = (14.67) xi ∈SV Vidíme, že vo všetkých vzt’ahoch vystupuje vektor φ(xi ) vždy len v skalárnom súčine s iným transformovaným vektorom. Táto skutočnost’ sa dá využit’ tak, že nemusíme určit’ ako presne vyzerá transformácia φ, ale stačí určit’ ako vyzerá skalárny súčin v transformovanom priestore K (x, y) = φ(x)T φ(y). Úloha (14.63) sa zmení na 5 6 N N N 1 ∗ αi − αi α j k i k j K (xi , x j ) . α = argmax 2 i=1 j =1 i=1 (14.68) (14.69) Hodnotu b vypočítame ako 6 5 1 αi k i K (xi , x j ) b= kj − |SV | x j ∈SV xi ∈SV a hodnotu klasifikačnej funkcie ako αi k i K (xi , x) + b. f (x) = (14.70) (14.71) xi ∈SV Takže namiesto transformácie každého príznakového vektora do viacrozmerného priestoru počítame hodnotu funkcie K ( ) pôvodných vektorov. Tento výpočtový trik sa nazýva kernelový trik a funkcia K ( ) je kernelová funkcia alebo jadro. Príklad 14.1: Určime funkciu K ( ) pre transformačnú funkciu zo vzt’ahu (14.62). K (x, y) = (x12 , x22 , ⎞ y 12 2 ⎠= 2x1 x2 ). ⎝ y 2 2y 1 y 2 ⎛ = x12 y 12 + x22 y 22 + 2x1 y 1 x2 y 2 = 2 = (x1 y 1 + x2 y 2 ) = T = (x y) 2 (14.72) (14.73) (14.74) (14.75) 217 14. R IADENÉ KLASIFIKÁTORY 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 −1 −1 −0.8 −0.6 (a) Polynomiálne jadro. −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 (b) Gausovské jadro. Obrázok 14.18: Klasifikácia lineárne neseparovatel’ných dát pomocou nelineárnych SVM s rôznymi jadrami. Na to, aby funkcia K ( ) bola platnou kernelovou funkciou, musí existovat’ funkcia φ( ) taká, aby platil vzt’ah (14.68). Podl’a Mercerovej podmienky, každá symetrická, kladne semidefinitná funkcia je platnou kernelovou funkciou. Funkcia je symetrická, ak K (xi , x j ) = K (x j , xi ) (14.76) ∀a ∈ RN , aT Ka ≥ 0, (14.77) a kladne semidefinitná ak kde KN×N je Grammova matica s prvkami k i j = K (xi , x j ). Medzi najpoužívanejšie jadrá patria polynomiálne jadrá K (x, y) = (a + xT y)p (14.78) a Gaussovské jadrá K (x, y) = e − x−y2 2σ2 . (14.79) Obrázok 14.18 ukazuje použitie týchto jadier na klasifikáciu lineárne neseparovatel’ných dát. 14.6 Neurónové siete Neurónové siete (artificial neural networks – ANN) sú siete pospájaných uzlov (neurónov), medzi ktorými sa presúva informácia. Každý uzol vyšle d’alej informáciu na základe vstupu, ktorý dostane. Postup je opísaný algoritmom 14.5. 218 14.6. Neurónové siete pre uzol U výstupy z uzlov predchádzajúcej vrstvy tvoria vstupy do uzla U tieto vstupy sa prenásobia váhami a spočítajú na túto sumu sa aplikuje nelineárna aktivačná funkcia φ tento výstup sa pošle dalej Algoritmus 14.5: Postup prenosu informácie medzi uzlami v neurónovej sieti. (a) (b) Obrázok 14.19: Rôzne typy neurónových sietí. (a) Dopredná siet’. (b) Spätná siet’ (Hopfieldova). Existuje viacero druhov neurónových sietí. Ak informácia v sieti postupuje len jedným smerom od vstupov k výstupom, siet’ tvorí orientovaný acyklický graf. Túto siet’ nazývame dopredná (obr. 14.19(a)). V tejto kapitole sa budeme hlbšie zaoberat’ len základným typom doprednej siete – viacvrstvovým perceptrónom. Každá siet’, ktorá netvorí acyklický graf, sa nazýva spätná. Príkladom takejto siete je Hopfieldova siet’ (obr. 14.19(b)), ktorá tvorí kompletný graf a váhy sú symetrické w(i → j ) = w( j → i ). Medzi neurónové siete patria aj neriadené metódy. Z nich sa budeme v kapitole 15.3 zaoberat’ Kohonenovou siet’ou. 14.6.1 Aktiva čné funkcie Existuje niekol’ko často používaných aktivačných funkcií. Môže to byt’ napríklad prahová funkcia, ktorá mapuje kladné vstupy na hodnotu jedna 219 14. R IADENÉ KLASIFIKÁTORY 1 1 0.5 0.5 0 0 1 2 1/2 1/3 1/4 −0.5 −1 −6 −4 −2 0 2 4 1 2 1/2 1/3 1/4 −0.5 6 −1 −6 −4 −2 0 2 4 6 (a) Logistická funkcia pre rôzne hodnoty (b) Hyperbolický tangens pre rôzne hodparametra α. noty parametra β. Obrázok 14.20: Používané aktivačné S-funkcie. a záporné na hodnotu nula alebo mínus jedna * φ(x) = 1 0 ak x ≥ 0, inak. (14.80) Táto funkcia však nie je diferencovatel’ná, čo potom robí problém pri trénovaní siete (viac v kapitole 14.6.3). Lepšou vol’bou aktivačnej funkcie je logistická funkcia (pre α = 1 nazývaná sigmoida) φ(α, x) = 1 , 1 + e −αx (14.81) alebo hyperbolický tangens φ(β, x) = tanh(βx) = e βx − e −βx e βx + e −βx . (14.82) Obe tieto funkcie majú graf pripomímajúci tvar S, budeme ich preto nazývat’ S-funkcie. Presný tvar závisí od parametrov α a β (obr. 14.20). V problémoch rozpoznávania sa väčšinou v skrytých vrstvách používajú S-funkcie a vo výstupnej vrstve lineárna aktivačná funkcia. Nelineárna funkcia v skrytých vrstvách umožňuje sieti zachytit’ nelineárne vzt’ahy medzi vstupom a výstupom siete. 14.6.2 Viacvrstvový perceptrón Základným typom neurónovej siete je dopredná siet’ nazývaná aj viacvrstvový perceptrón (multilayer perceptron – MLP). Táto neurónová siet’ má niekol’ko vrstiev – vstupnú, výstupnú a nula alebo viac skrytých vrstiev. Schematické znázornenie jednotlivých vrstiev neurónovej siete je na 220 14.6. Neurónové siete Obrázok 14.21: Príklad jednovrstvovej a viacvrstvovej siete. obrázku 14.21. Vstupnú vrstvu tvoria priamo dáta z vektorov príznakov. Z výstupnej vrstvy vychádzajú údaje, na základe ktorých sú vstupné dáta klasifikované. 14.6.3 Učenie neurónovej siete Podstatou učenia neurónovej siete je určenie váhovej matice (váhových vektorov v jednotlivých vrstvách). Hodnoty váhovej matice, ktoré minimalizujú zvolené optimalizačné kritérium, určujeme pomocou gradientovej metódy. Gradientová metóda hl’adá minimum funkcie pomocou derivácie. Jednoduchý gradientný algoritmus pre neurónové siete je spätné šírenie (propagácia) chyby. Učenie začína inicializáciou náhodnej váhovej matice. Vektory príznakov z trénovacej množiny postupne prichádzajú na vstup a „prebublajú“ siet’ou na koniec. Výstupný vektor sa potom porovná požadovanou klasifikáciou a určí sa hodnota kritéria E . Následne sa chyba spätne šíri a upravujú sa hodnoty váhovej matice. Na určenie jednotlivých váh použijeme gradientnú metódu (pozri aj vzt’ah (14.21)) W ← W + ΔW, (14.83) ΔW = −η ∇E -W . (14.84) kde Označme w i(k) váhu od i -teho neurónu v (k-1)-vej vrstve do j -teho j neurónu v k-tej vrstve (pozri obrázok 14.22). 221 14. R IADENÉ KLASIFIKÁTORY 1 1 0 1 i yi(k-1) wij(k) w0j(k) Σ vi(k) yj(k) Φ N(k) N(k-1) Obrázok 14.22: Presun medzi vrstvami siete. Výstupy z vrstvy k − 1 prenásobené váhou vstupujú do neurónov vrstvy k, kde sa spočítajú a na tento súčet sa aplikuje aktivačná funkcia. Potom pre konkrétnu váhu w i j Δw i(k) = −η j ∂E ∂w i(k) j . (14.85) Ďalej označme y (k) výstup j -teho neurónu v k-tej vrstve. Potom vstup j do tohto neurónu tvorí = v (k) j (k−1) N i=1 w i(k) y (k−1) + w 0(k) , j i j (14.86) kde N (k−1) je počet neurónov v (k-1)-vej vrstve a w 0(k) je prah. Na tento j vstup aplikujeme aktivačnú funkciu φ, a teda výstupom tohto neurónu je : ; (k) (k) = φ y (k) v . (14.87) j j Vzt’ah (14.85) môžeme pomocou derivácie zloženej funkcie teraz napísat’ ako Δw i(k) j = −η ∂E ∂v (k) j ∂v (k) ∂w i(k) j j . (14.88) Pre poslednú parciálnu deriváciu vo vzt’ahu (14.88) platí ∂v (k) j ∂w i(k) j 222 = y i(k−1) . (14.89) 14.6. Neurónové siete Označme δ(k) j =− ∂E ∂v (k) j = ∂E ∂y (k) j ∂y (k) ∂v (k) j j , (14.90) potom Δw i(k) = η δ(k) y i(k−1) . j j (14.91) Problémom zostáva vyčíslit’ δ(k) . Rozoberieme si situáciu pre viacj vrstvové siete. V takomto prípade musíme rozlišovat’ medzi šírením chyby vo výstupnej vrstve a v skrytých vrstvách. Šírenie chyby vo výstupnej vrstve Vyčíslime jednotlivé parciálne derivácie vo vzt’ahu (14.90). Pre výstupnú vrstvu k = m platí, že =− δ(m) j ∂E ∂v (m) j = ∂E ∂y (m) j ∂y (m) ∂v (m) j j . (14.92) Potom ∂y (m) j ∂v (m) j = φ (v (m) ). j (14.93) Vo výstupnej vrstve je chyba neurónu daná chybou, akú jeho výstup nadobúda voči očakávanému výstupu. Často požívaným optimalizačným kritériom je stredná kvadratická chyba (MSE) E(W) = M 1 (y (m) − o j )2 , 2 j =1 j (14.94) kde pre daný vstup a váhy W, o j je očakávaný výstup neurónovej siete v uzle j a M je počet neurónov vo výstupnej vrstve. Potom ∂E ∂y (m) j = y (m) −oj , j (14.95) čiže δ(m) = (o j − y (m) )φ (v (m) ). j j j (14.96) 223 14. R IADENÉ KLASIFIKÁTORY 1 1 wij(k) i 1 wjh(k+1) j δh N(k) N(k-1) h (k+1) N(k+1) Obrázok 14.23: Šírenie chyby spätne medzi vrstvami. Šírenie chyby v skrytých vrstvách Pre k-tu vrstvu platí ∂y (k) j ∂v (k) j = φ (v (k) ). j (14.97) Chyba j -teho neurónu v k-tej skrytej vrstve sa propaguje zo všetkých neurónov (k+1)-vej vrstvy (obr. 14.23). Preto s využitím vzt’ahov (14.90) a (14.86) ∂E ∂y (k) j = (k+1) N ∂E ∂v h(k+1) h=1 ∂v h(k+1) ∂y (k) j =− (k+1) N h=1 = δ(k+1) w (k+1) . h jh (14.98) Z toho vyplýva, že = φ (v (k) ) δ(k) j j (k+1) N h=1 δ(k+1) w (k+1) . h jh (14.99) 14.6.4 Rýchlost’ u čenia sa neurónovej siete Na rýchlosti učenia sa závisí, či siet’ pri trénovaní dosiahne globálne minimum chybovej funkcie. Obrázok 14.24 ilustruje rôzne prípady vol’by rýchlosti učenia sa. Chybová funkcia je znázornená čiernou a krok učenia sa červenou farbou. Vel’mi nízka rýchlost’ učenia sa (obr. 14.24(a)) 224 14.6. Neurónové siete (a) Nízka rýchlost’ učenia sa. (b) Optimálna rýchlost’ učenia sa. (c) Vysoká rýchlost’ učenia sa. (d) Vel’mi vysoká rýchlost’ učenia sa. Obrázok 14.24: Rýchlost’ učenia sa neurónovej siete. Chybová funkcia je znázornená čiernou a krok (rýchlost’) učenia sa červenou farbou. Pri nízkej rýchlosti môže riešenie uviaznut’ v lokálnom minime. Pri optimálnej rýchlosti dosihneme globálne minimum. Privysokej rýchlosti tiež, ale riešenie môže predtým oscilovat’. Pri vel’mi vysokej rýchlosti učenia sa môže riešenie divergovat’. znamená pomalý tréning, ktorý môže skončit’ v lokálnom minime, z ktorého sa už nedostane. Pri optimálnej rýchlosti (obr. 14.24(b)) je tréning síce tiež pomalý, ale dosiahne globálne optimum. Vysoká rýchlost učenia sa (obr. 14.24(c) a 14.24(d)) zabezpečí rýchlejší tréning, ale môže proces hl’adania môže oscilovat’ a pri vel’mi vysokých rýchlostiach až divergovat’. Vel’mi často sa používa premenlivá rýchlost’ učenia sa daná heuristikou, že váhy ANN majú byt’ malé. Na začiatku procesu nastavíme rýchlost’ učenia sa na určitú hodnotu a vypočítame nové váhy. Určíme chybu, akú siet’ dosiahne pri týchto nových váhach. Ak nová chyba prevýši starú o stanovený prah, ideme zlým smerom. Preto sa nové váhy zahodia a rýchlost’ učenia sa sa zníži. Malé zvýšenie chyby povolíme kvôli možnosti dostat’ sa z lokálneho minima. V prípade, že nová chyba je vyššia ako stará o menej než stanovený prah, váhy sa upravia. Ak by nová chyba bola nižšia než stará, tak smerujeme k minimu, môžeme upravit’ váhy a zvýšit’ rýchlost’ učenia sa. 225 14. R IADENÉ KLASIFIKÁTORY (a) Trénovacie dáta. (b) Testovacie dáta. Obrázok 14.25: Ukážka preučeného klasifikátora. Chyba dosiahnutá na trénovacích dátach je síce nízka, ale chyba na testovacích dátach je vel’mi vysoká. 14.6.5 Ukončenie u čenia sa neurónovej siete Jednou z možností kedy ukončit’ tréning je nastavit’ maximálny počet iterácií. Tento prístup neberie vôbec do úvahy, ako sa vyvíja dosiahnutá chyba siete, a preto môže skončit’ d’aleko od optimálneho výsledku. Zdalo by sa, že ideálnym kritériom zastavenia je, ked’ dosiahneme globálne minimum chybovej funkcie. Problémom je vel’mi dlhý čas tréningu, pričom dosiahnutie globálneho optima nie je zaručené. Ked’ z požiadavky globálneho minima zl’avíme, zastavíme učenie, ked’ chyba klesne pod stanovený prah. Čo to ale znamená z hl’adiska kvality klasifikátora? Kvalitu klasifikátora hodnotíme podl’a toho, ako dobre klasifikuje neznáme dáta. Nízka chyba dosiahnutá pri tréningu nezaručuje správnu klasifikáciu neznámych dát. Klasifikátor sa totiž môže dostat’ do stavu preučenia. Prípadne, ked’ trénovacia množina nezodpovedala rozdeleniu reálnych dát, niektoré vzt’ahy medzi dátami sa klasifikátor nemusel „naučit’“. 226 14.6. Neurónové siete 3 10 2 Chyba 10 testovacie dáta 1 10 trénovacie dáta 0 10 0 2 4 6 8 10 Trénovacie epochy Obrázok 14.26: Chyba pri učení ANN dosiahnutá na trénovacích a testovacích dátach. Vidíme, že koniec trénovania by mal nastat’ v epoche 7, ked’ chyba na testovacích dátach začala narastat’. Problém preučenia ilustrujeme na obrázku 14.25. Vl’avo vidíme množinu trénovacích dát, a výsledný klasifikátor, ktorý sa snažil minimalizovat’ dosiahnutú chybu. Na pravom obrázku sú rozhodovacie hranice preučeného klasifikátora aplikované na testovacie dáta. Vidíme, že chyba, ktorú tento klasifikátor na týchto dátach dosiahne je vel’mi vel’ká. Riešením tohto problému je rozdelit’ množinu dát na trénovaciu a testovaciu a počas tréningu vyhodnocovat’ chybu na oboch množinách. Typický priebeh týchto chýb je znázornený na obrázku 14.26. Na začiatku tréningu chyba oboch množín klesá až do okamihu, ked’ klasifikátor vstúpi do stavu preučenia. Tréning ukončíme, ked’ sa chyba v testovacej množine začne zvyšovat. Spôsobom, ako rozdelit’ množinu na trénovaciu a testovaciu čast’, sa venujeme v kapitole 16. 227 K APITOLA 15 Neriadené klasifikátory Neriadené metódy klasifikácie používame, ked’ k vstupným dátam neexistuje informácia o tom, do ktorej klasifikačnej triedy patria. Tieto metódy sa snažia odhalit’ vnútornú štruktúru dát a rozdelit’ dáta do zhlukov zodpovedajúcich jednotlivým klasifikačným triedam. V oblasti počítačového videnia sa používajú v klasifikácii objektov pri hl’adaní reprezentatívnych vektorov tried, pri kvatovaní farieb na určenie palety alebo pri segmentácii obrazu na oddelenie objektov. Zhlukovacie metódy sa dajú podl’a typu výsledného rozdelenia priestoru rozdelit’ nasledovne. Nehierarchické metódy sú najpoužívanejšími metódami, ktoré vytvárajú rozdelenie priestoru na konečný počet zhlukov. Zhluky sa tvoria na základe určených metrík (vzdialenost’, podobnost’, . . .) a postupne sa iteratívne zlepšujú, kým nie je dosiahnutá stabilita zhlukov. Príkladom je metóda K priemerov (kap. 15.1). Hierarchické metódy vytvoria hierarchickú stromovú štruktúru rozdelení priestoru. Používajú sa prístupy zhora nadol (rozdel’ujúci prístup – zhluky sa postupne delia) a zdola nahor (aglomeratívny prístup – zhluky sa postupne spojujú). Hierarchické metódy sú bližšie opísané v kapitole 15.2. 15.1 Metóda K priemerov Najpoužívanejšou a najjednoduchšou metódou hl’adania zhlukov v dátach patrí metóda K priemerov. Jej základnou myšlienkou je určenie zhlu228 15.1. Metóda K priemerov (a) Inicializácia prie- (b) Priradenie vekto- (c) Určenie nových (d) Priradenie vektomerov. rov k priemerom. priemerov. rov k priemerom. Obrázok 15.1: Prvé 4 kroky algoritmu K priemerov (alg. 15.1). kov a ich priemerov. Počet zhlukov K je daný vopred. Je to iteratívna metóda, kde zhluky a ich priemery sa postupne upravujú (algoritmus 15.1). Inicializácia priemerov Iterovanie, kým nenastane konvergencia 1. Priradenie vektorov k jednotlivým priemerom 2. Určenie nových priemerov Algoritmus 15.1: Základný algoritmus metódy K priemerov. (0) (0) Prvým krokom je inicializácia priemerov µ (0) 1 , µ2 , . . . µK . V klasickom algoritme sa zoberie prvých K vektorov xi , alebo sa priemery určia náhodne (rovnomerne z oboru hodnôt dát). V iteratívnej časti algoritmu striedame dva kroky. Najprv sa priradia vektory do zhlukov určených priemermi. Vektor xi priradíme do zhluku ) C k(t ) s priemerom µ(t , ak pre všetky j ∈ {1, . . . K } k ) ≤ xi − µ(tj ) . xi − µ(t k (15.1) Po priradení všetkých vektorov vypočítame nové priemery +1) = µ(t k 1 |C k(t ) | x∈C (t) k x. (15.2) Ilustrácia inicializácie a prvých troch krokov algoritmu je na obrázku 15.1. Algoritmus K priemerov konverguje k lokálnemu optimu, globálne optimum nie je zaručené. Účelová funkcia je O= K x − µk . (15.3) k=1 x∈C k 229 15. N ERIADENÉ KLASIFIKÁTORY Na dosiahnutie globálneho minima účelovej funkcie návod neexistuje. Klasifikácia záleží na počte zhlukov K a na inicializácii priemerov. Na určenie „správneho“ počtu zhlukov môžeme použit’ vzájomnú validáciu (kap. 16). Na určenie počiatočných priemerov existujú rôzne heuristiky, ktoré využívajú znalosti o dátach (napríklad rozdelenie pravdepodobnosti). 15.1.1 Metóda C priemerov Vylepšením metódy K priemerov je použitie neurčitých (fuzzy) zhlukov. Základný algoritmus je rovnaký ako pri metóde K priemerov (alg. 15.1), avšak vektor xi nie je striktne priradený zhluku C k , ale pomocou funkcie členstva Rk (xi ) ∈ 〈0, 1〉 je určená pravdepodobnost’ priradenia vektora xi do zhluku C k . Platí, že K Rk (xi ) = 1. (15.4) k=1 Účelová funkcia v tomto prípade je O= K Rk (x)x − µk . (15.5) k=1 x∈C k Pri iterovaní algoritmu sa vektorom zmení funkcia členstva ⎛ ⎞ 2 ⎞−1 ⎛ m−1 (t ) C − µ x i ⎜ ⎟ k ⎠ Rk(t +1) (xi ) = ⎝ ⎝ ⎠ , (t ) j =1 xi − µ j (15.6) kde m ∈ 〈1, ∞) je parameter určujúci váhu, akou vektory prispievajú k určeniu členstva a priemeru. V literatúre sa uvádza 〈1, 1; 5〉 ako vhodný interval na výber m. V prípade, že vektor xi koliduje s priemerom μ j , tak Rk(t +1) (xi ) = * 1 ak k = j , 0 inak. (15.7) Následne sa vypočítajú nové priemery N i=1 +1) = : µ(t k 230 : Rk(t +1) (xi ) ;m (t +1) N (xi ) i=1 R k xi ;m . (15.8) 15.2. Hierarchické zhlukovanie A B C D A B C D Obrázok 15.2: Postupnost’ vytvárania zhlukov vyjadrená dendrogramom. 15.2 Hierarchické zhlukovanie Hierarchické zhlukovacie metódy sa delia podl’a prístupu na Aglomeratívne: Pri tomto type zhlukovania začíname s počtom zhlukov rovným počtu dát. Každý vektor príznakov tvorí zhluk. Postupne spájame najbližšie zhluky a tým vytvárame stromovú štruktúru zvanú dendrogram (obr. 15.2). Na konci postupu je jediný zhluk, obsahujúci všetky vektory príznakov. V d’alšom texte opíšeme metódy spájania zhlukov. Rozdel’ujúce: Tento prístup je opačný – začíname s jediným zhlukom a postupne ho delíme. Nevýhodou tohto prístupu je, že hl’adanie optimálneho rozdelenia množiny na dve podmnožiny má vysokú zložitost’ (treba preskúmat’ 2n−1 − 1 možností, kde n je mohutnost’ množiny). Preto sa tieto metódy využívajú len pre malé množiny dát. Nevýhodou oboch prístupov je, že v každom kroku hl’adajú lokálne optimálne rozdelenie. V d’alších krokoch sa zhluky nedajú preskupit’, aj keby to rozdelenie v tomto kroku zlepšilo. Pri aglomeratívnom prístupe musíme v každom kroku určit’ dva najpodobnejšie zhluky. Po každom vytvorení nového zhluku musíme prepočítat’ podobnost’ s ostatnými zhlukmi, ktorých vzájomné podobnosti zostávajú nezmenené. Podobnost’ sa určuje vzdialenost’ou medzi zhlukmi. Vzdialenost’ môže byt’ definovaná rôzne. Nech S(C i ,C j ) je podobnost’ zhlukov a d( ) zvolená metrika (Euklidovská, Hammingova, Manhattan, . . .). Potom najpoužívanejšie metódy na určenie podobnosti sú Centroidná: Podobnost’ je definovaná vzdialenost’ou priemerov zhlukov S(C i ,C j ) = d(µi , µ j ). (15.9) 231 15. N ERIADENÉ KLASIFIKÁTORY A B C D Obrázok 15.3: Pri metóde maximálnej vzdialenosti bude pre body z obrázka 15.2 v druhom kroku vytvorený „nepravý“ zhluk. Vidíme, že body B, C a D tvoria prirodzený zhluk, avšak metóda maximálnej vzdialenosti vytvorí zhluk naznačený červenou farbou. Obrázok 15.4: Metóda minimálnej vzdialenosti identifikuje zhluky, ktoré kompletné linkovanie ani cetroidná metóda neodhalia. Maximálna: Spočítajú sa vzájomné vzdialenosti všetkých prvkov zhlukov a vyberie sa najväčšia S(C i ,C j ) = max d(x, y). x∈C i ,y∈C j (15.10) Nazýva sa aj metóda najvzdialenějšieho suseda (úplné linkovanie). Vytvára skoro sférické zhluky približne rovnakej vel’kosti. Zabraňuje vzniku zret’azených zhlukov. Výskyt odl’ahlých hodnôt môže viest’ k vzniku „nepravých“ zhlukov (obr. 15.3). Minimálna: Podobná metóda ako predchádzajúca, ale vyberie sa najmenšia vzdialenost’ S(C i ,C j ) = min x∈C i ,y∈C j d(x, y). (15.11) Je to metóda najbližšieho suseda (jednoduché linkovanie). Nevýhodou je, že sa môžu zret’azit’ zhluky, ktoré sú na vzdialenejších koncoch výrazne nepodobné. Na druhej strane dokáže identifikovat’ zhluky, ktoré kompletné linkovanie ani cetroidná metóda neodhalia (obr. 15.4). Priemerná: V tomto prípade sa spočíta nevážený priemer vzdialeností S(C i ,C j ) = 232 1 d(x, y). |C i ||C j | x∈C i ,y∈C j (15.12) 15.3. Samoorganizujúce sa mapy B A A B C C D (a) Pri metóde minimálnej vzdialenosti budú v druhom kroku spojené zhluky A+B a C+D. D (b) Pri metóde maximálnej vzdialenosti budú v druhom kroku spojené zhluky A+C a B+D. Obrázok 15.5: Porovnanie zhlukov pri metóde minimálnej a maximálnej vzdialenosti. O(t1) O(t2) O(t3) O(t3) O(t2) O(t1) Obrázok 15.6: Usporiadanie neurónov SOM do mriežky alebo lineárne. Táto metóda nie je príliš citlivá na odchýlky. Odl’ahlé hodnoty nemajú výrazný vplyv na výsledné rozdelenie priestoru. Existuje aj metóda využívajúca vážený priemer, kde sa vel’kost’ (mohutnost’) zhluku berie ako váha. Použitie rôznych metód vedie k rôznym výsledným rozdeleniam. Na obrázku 15.5 je porovnanie rozdelení pre minimálnu a maximálnu metódu. 15.3 Samoorganizujúce sa mapy Samoorganizujúce sa mapy (SOM, alebo Kohonenove siete) sú typom neriadených neurálnych sietí, v ktorých sú neuróny v určitom topologickom vzt’ahu. Pri ANN (kap. 14.6) sú neuróny vo vrstvách nezávislé a váhy sa upravujú bez ohl’adu na susedné neuróny. SOM sú jednovrstvové siete, kde sú neuróny umiestnené v mriežke (väčšinou 1D alebo 2D, pozri obr. 15.6). Každý neurón teda obsahuje in233 15. N ERIADENÉ KLASIFIKÁTORY (a) (b) Obrázok 15.7: Dva priestory SOM. V priestore váh (a) môžu byt’ na začiatku trénovania siete váhy topologicky blízkych susedov d’aleko od seba. Farebné spojnice ilustrujú polohu uzlov jedného riadka mriežky SOM v priestore váh (b). formáciu o svojom topologickom okolí. Vstupné dáta sú porovnávané s váhovým vektorom každého neurónu a siet’ je trénovaná algoritmom „vít’az berie všetko“. Inicializácia Učenie siete: 1. Vstup vektora príznakov 2. Určenie víťazného neurónu 3. Víťaz berie všetko Algoritmus 15.2: Základný algoritmus učenia sa SOM. Základný postup pri učení SOM je opísaný v algoritme 15.2. Prvým krokom je inicializácia váhových vektorov. Tieto inicializujeme náhodnými hodnotami z daného intervalu (podl’a riešeného problému). Váhové vektory majú rovnaký rozmer ako vektory príznakov. Pri SOM musíme rozlišovat’ medzi topologickým vzt’ahom dvoch neurónov v mriežke a vzt’ahom ich váhových vektorov v Euklidovskom priestore (obr. 15.7), a to hlavne pri 2D vektore príznakov. Vo fáze učenia sa siete prichádzajú na vstup jednotlivé vektory príznakov x a určí sa vít’azný neurón i ∗ , ktorého váhový vektor je v zmysle Euklidovskej vzdialenosti najbližšie x i ∗ = argmin x − wi . i (15.13) Ďalším krokom je úprava váhového vektora vít’azného neurónu, ako aj neurónov v jeho topologickom okolí (obr. 15.8). Tieto váhové vektory 234 15.3. Samoorganizujúce sa mapy vstup víťaz Obrázok 15.8: Úprava váhového vektora vít’azného neurónu a neurónov v jeho topologickom okolí. sa posunú smerom k x podl’a vzt’ahu wi (t + 1) = wi (t ) + α(t )O(i , i ∗, t )x − wi (t ), (15.14) kde O(i , i ∗ , t ) je funkcia určujúca okolie vít’azného neurónu a α(t ) ∈ (0, 1) je rýchlost’ učenia. Funkcia okolia aj rýchlost’ učenia sa s časom zmenšujú, čím zaručia ukončenie učenia. Na začiatku procesu sa rýchlo mení dostatočne vel’ké okolie vít’azného neurónu. Tu sa náhodne inicializované váhové vektory dostanú do približne výsledného usporiadania a potom s postupne zmenšujúcim sa okolím a pomalšou zmenou vektorov sa dolad’ujú presné hodnoty. V učení teda rozpoznávame fázu usporiadavania a fázu dolad’ovania. Okolie môže byt’ pravouhlé (ak sú neuróny usporiadané v pravouhlej mriežke), definované funkciou * 1 ak wi ∗ (t ) − wi (t ) ≤ σ(t ), O(i , i ∗ , t ) = (15.15) 0 inak alebo gaussovské, definované ako O(i , i ∗ , t ) = exp + wi ∗ (t ) − wi (t ) σ(t ) ,2 , (15.16) pričom hodnota parametra σ(t ) klesá so zvyšujúcim sa t , a tým sa okolie v čase zmenšuje. Pri pravouhlom okolí sa všetky body okolia menia s rovnakou váhou, pri gaussovskom sú body na okraji okolia menej významne posunuté. Príklad trénovania siete je na obrázku 15.9. Mriežka je štvorcová s rozmermi 10 × 10. Vstupnými vektormi sú rovnomerne rozdelené náhodné čísla z oblasti 〈−1, 1〉 × 〈−1, 1〉. V prvej etape sú váhy náhodne inicializované na hodnoty v oblasti 〈−0, 5; 0, 5〉 × 〈−0, 5; 0, 5〉. V d’alších etapách sa 235 15. N ERIADENÉ KLASIFIKÁTORY (a) Náhodné čísla z oblasti 〈−0,5;0,5〉 × 〈−0,5;0,5〉. (b) Váhy po 100 iteráciách. (c) Váhy po 200 iteráciách. (d) Váhy po 600 iteráciách. (e) Váhy po 3000 iteráciách. (f) Váhy po 7000 iteráciách. Obrázok 15.9: Tréning SOM na rovnomerne rozdelených dátach. (a) Inicializácia. (b), (c) a (d) Fáza usporiadavania. (e) a (f ) Fáza dolad’ovania. 1 1 0.9 .9 0.8 .8 0.7 .7 0.6 .6 0.5 .5 0.4 .4 0.3 .3 0.2 .2 0.1 0 .1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (a) Inicializácia pravidelnej mriežky. 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (b) Usporiadanie po 250 iteráciách. Obrázok 15.10: SOM tréning pre nerovnomerne rozložené dáta. Body mriežky (váhové vektory) sa presúvajú smerom k zhlukom dát. váhové vektory usporiadavajú (etapy 200 – 600), potom nastáva fáza dolad’ovania. Vidíme, že váhové vektory sa upravia tak, aby odhalili štruktúru trénovacích dát. V prípade nerovnomerne rozdelených vstupných dát sa váhové vektory presunú smerom do jednotlivých zhlukov dát, ako vidno na obrázku 15.10. 236 K APITOLA 16 Hodnotenie kvality klasifikácie Aby sme vedeli určit’ kvalitu klasifikácie, musíme definovat’ a vediet’, ako sa klasifikátor správa pri dátach, s ktorými sa doteraz nestretol. Chybou je ked’ má klasifikátor 100% účinnost’ na dátach, na ktorých bol natrénovaný a na neznámych dátach zlyhá. Takémuto stavu sa hovorí preučenie. Klasifikátor sa naučil „naspamät’“ určitú množinu dát. Preto pri určovaní kvality klasifikátora používame dve množiny dát – trénovacie a testovacie dáta. Trénovacie dáta sa používajú na učenie (trénovanie) klasifikátora. Testovacie dáta na určenie chybovosti (error rate) už natrénovaného klasifikátora. Aby sme mohli určit’ chybu, musíme aj pri testovacích dátach poznat’ triedu, do ktorej dáta patria. Preto trénovaciu aj testovaciu množinu dát vyrobíme z pôvodnej množiny dát (s určenou klasifikačnou triedou). Problém môže nastat’, ak máme napríklad málo dát, alebo sa pri rozdelení dostanú do trénovacej množiny dáta jedného typu a do testovacej dáta druhého. Preto existujú metódy ako vybrat’ vzorky do testovacej množiny. Medzi ne patria napríklad metódy vzájomnej validácie alebo bootstrap. Okrem odhadu chyby klasifikátora sa metódy vzájomnej validácie používajú aj na určenie optimálnych parametrov klasifikátorov. Pri použití jednotlivých možných hodnôt skúmaného parametra odhadneme chybu výsledného parametra metódou vzájomnej validácie a následne vyberieme tú hodnotu parametra, ktorá dáva najmenšiu odhadnutú chybu. Príkladom môže byt’ určenie vstupnej hodnoty K v metóde K najbližších susedov (obr. 16.1), alebo v metóde K priemerov. 238 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 1 (a) K = 1, tréning, dosiahnutá chyba 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (b) K = 1, testovanie, dosiahnutá chyba 0,1667 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (c) K = 7, tréning, dosiahnutá chyba 0,0565 0 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (d) K = 7, testovanie, dosiahnutá chyba 0,1637 0.1 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (e) K = 15, tréning, dosiahnutá chyba 0,0565 0 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (f) K = 15, testovanie, dosiahnutá chyba 0,1488 0.1 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (g) K = 51, tréning, dosiahnutá chyba 0,0734 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (h) K = 51, testovanie, dosiahnutá chyba 0,1339 Obrázok 16.1: Dosiahnutá chyba pri trénovaní a testovaní metódy K najbližších susedov. 239 16. H ODNOTENIE KVALITY KLASIFIKÁCIE dáta s určenou klasifikačnou triedou Obrázok 16.2: Náhodné prevzorkovanie pre K = 4. Červeno označené vzorky boli vybrané do testovacej množiny. 16.1 Vzájomná validácia Pri vzájomnej validácii sa rozdelenie pôvodnej množiny na trénovaciu a testovaciu vykoná K -krát za sebou. Pre každé rozdelenie sa zistí dosiahnutá chyba E i . Odhadnutá chyba E klasifikátora je potom priemerom jednotlivých zistených chýb E= K 1 Ei . K i=1 (16.1) Medzi metódy vzájomnej validácie patria náhodné prevzorkovanie, K-násobná vzájomná validácia, vrstvená K-násobná vzájomná validácia a vzájomná validácia s vynechaním jednej vzorky. 16.1.1 Náhodné prevzorkovanie Ako názov metódy napovedá, dáta sa z pôvodnej množiny do testovacej vyberajú náhodne, bez vrátenia naspät’. Pri každom z K výberov (t’ahov) sa vytvorí testovacia množina M vzoriek, ktorá v jednotlivých výberoch môže obsahovat’ aj rovnaké vzorky a niektoré vzorky sa do testovacej množiny vôbec nedostanú. Táto situácia je znázornená na obrázku (16.2). 16.1.2 K-násobná vzájomná validácia Aby sme zabránili opakovaniu sa vzoriek v jednotlivých testovacích množinách, rozdelíme pôvodnú množinu na K rovnako vel’kých podmožín. Každá z týchto podmožín je raz použitá ako testovacia množina. V tomto 240 16.2. Bootstrap dáta s určenou klasifikačnou triedou (a) Dáta vyberáme zaradom. dáta s určenou klasifikačnou triedou (b) Dáta vyberáme tak, aby zopovedali rozdeleniu pravdepodobnosti. Obrázok 16.3: Obyčajná a vrstvená 4-násobná vzájomná validácia. Červeno označené vzorky boli vybrané do testovacej množiny. prípade je každá vzorka použitá na trénovanie aj testovanie, ako vidíme na obrázku 16.3(a). 16.1.3 Vrstvená K-násobná vzájomná validácia Aby sme zabezpečili, že trénovacie a testovacie množiny sú vyvážené, rozdelíme množinu dát X tak, aby podmnožiny zachovávali distribúciu jednotlivých tried. Podiel (pravdepodobnost’) vzoriek jednotlivých tried je rovnaký v pôvodnej množine X aj v každej z jej podmnožín X 1 , . . . X K tak, ako je znázornené na obrázku 16.3(b). 16.1.4 Vzájomná validácia s vynechaním jednej vzorky Ak máme k dispozícii málo dát, snažíme sa trénovat’ klasifikátor na čo najväčšej množine, aby zachytil všetky vzt’ahy medzi dátami. V tomto prípade testujeme na jedinej vzorke. Táto situácia zodpovedá K-násobnej vzájomnej validácii, kde K je rovné počtu vzoriek. 16.2 Bootstrap Aj pri metóde bootstrap delíme množinu dát K krát a počítame priemernú dosiahnutú chybu. Rozdiel je v tom, že pri tejto metóde sa v jednom výber môže v trénovacej množine jedna vzorka vyskytovat’ viackrát. Do trénovacej množiny vyberáme vzorky náhodne s opakovaním. V každom výbere je vel’kost’ trénovacej množiny rovná vel’kosti pôvodnej mno241 16. H ODNOTENIE KVALITY KLASIFIKÁCIE dáta Obrázok 16.4: Možná realizácia výberu vzoriek do trénovacej a testovacej množiny metódou bootstrap. Vzorky, ktoré sa nedostanú do ténovacej množiny tvoria testovaciu množinu. žiny. Vzorky, ktoré sa nedostanú do trénovacej množiny sa použijú na testovanie. Vel’kost’ testovacej množiny sa tak v jednotlivých výberoch mení. Príklad možnej realizácie metódy je na obrázku 16.4. Pri tejto metóde sa pravdepodobnost’, že vzorka skončí v testovacej množine, rovná 0,368. Pozrime sa na jednu konkrétnu vzorku. Pravdepodobnost’, že ju nevyberieme do trénovacej množiny je 1 − 1/N . Ked’že výber opakujeme N -krát, pravdepodobnost’, že vzorku nevyberieme ani raz je + , 1 N 1− ≈ e −1 = 0, 368. N (16.2) Klasifikátor teda trénujeme na 63,2 % dát. Preto sa tejto metóde hovorí aj 0,632 bootstrap. 16.3 Chybová funkcia klasifikátora Chyby klasifikátora sa delia na dva typy. Povedzme, že sa v obraze snažíme detegovat’ konkrétny objekt. Ak sa tento objekt v obraze vyskytuje a náš klasifikátor ho deteguje, dosiahne správne pozitívny výsledok (true positive – TP). Ak by ho nedetegoval, dopustí sa chyby typu II a jeho výsledok je nesprávne negatívny (false negative – FN). V prípade, že objekt sa v obraze nevyskytuje a klasifikátor ho deteguje, nastáva chyba typu I a výsledok je nesprávne pozitívny (false positive – FP). V prípade, že klasifikátor určí, že objekt nie je prítomný, dostávane správne negatívny vý242 16.3. Chybová funkcia klasifikátora sledok (true negative – TN). Tabul’ka 16.1 dáva názorný prehl’ad možných výsledkov klasifikátora. Tabul’ka 16.1: Typy a identifikácia možných výsledkov klasifikátora. Skutočnost’ objekt sa Rozhodnutie – objekt sa vyskytuje nevyskytuje Správna klasifikácia Chyba typu II Správne pozitívny výsl. Nesprávne negatívny výsl. Chyba typu I Správna klasifikácia Nesprávne pozitívny výsl. Správne negatívny výsl. vyskytuje nevyskytuje Niektoré chyby klasifikácie môžu byt’ závažnejšie (majú horšie následky) – napríklad neodhalenie smrtel’nej choroby v medicíne, ktorá by sa dala l’ahko liečit’ liekmi, ktoré nemajú vedl’ajšie účinky. Teda neklasifikovanie choroby v prípade chorého človeka má horšie následky ako nasadenie liekov u zdravého človeka. Číselne môžeme „stratu“ v prípade správnej klasifikácie vyjadrit’ nulou a v prípade nesprávnej klasifikácie nejakou nenulovou hodnotou. Toto ohodnotenie sa nazýva funkcia straty L(s, a) : S × A → R+ 0, (16.3) kde S je priestor stavov (skutočných klasifikačných tried) a A je priestor akcií (výstupov klasifikátora). Najčastejšie používanou funkciou straty je 0-1 funkcia L(s, a) = 1 − δsa , kde δsa je Kroneckerova delta (tab. 16.2(a)). V niektorých aplikáciách (detekcia spamu, medicína atd’.) sa používa nesymetrická funkcia straty (tab. 16.2(b)). Tabul’ka 16.2: Ohodnotenie chýb klasifikátora. Skutočnost’ zdravý chorý Rozhodnutie zdravý chorý 0 1 1000 0 (a) Rôzne hodnotené chyby. Skutočnost’ nie tvár tvár Rozhodnutie nie tvár tvár 0 1 1 0 (b) Rovnako hodnotené chyby. Pomocou funkcie straty L( ) môžeme vyjadrit’ očakávanú podmienenú stratu pri klasifikácii vzorky x patriacej triede ω nasledovne Rω (x) = L(ω, ψ)P (ψ|x). (16.4) ψ∈A 243 16. H ODNOTENIE KVALITY KLASIFIKÁCIE Tabul’ka 16.3: Príklad matice zámen pre klasifikáciu číslic. číslica 1 2 3 4 5 6 7 8 9 0 1 87 0 0 0 0 0 0 0 0 0 2 0 88 0 0 0 0 1 0 0 0 3 0 1 75 0 0 0 0 15 4 0 4 0 0 1 79 0 0 0 0 0 1 klasifikácia 5 6 7 1 0 0 0 0 0 0 0 0 0 0 0 79 6 0 8 80 1 0 0 83 0 1 0 0 0 0 0 1 0 8 0 0 10 0 0 0 0 65 10 0 9 0 1 4 0 0 0 0 7 71 0 0 0 1 0 0 4 2 0 0 0 90 R 0 1 3 0 1 0 0 0 1 1 Celková očakávaná podmienená strata pri použití tohto klasifikátora je R= Rω (x)dx = L(ω, ψ)P (ψ|x)dx, (16.5) ω∈S R ω ω∈S ψ∈A R ω kde R ω je rozhodovacia oblast’ triedy ω. 16.4 Metódy porovnávania klasifikátorov Okrem vyčíslenia očakávanej straty môžeme klasifikátory porovnávat’ na základe iných vlastností. Jednou z nich je matica zámen (alebo kontingenčná tabul’ka). Z matice zámen môžeme pre binárne klasifikátory (klasifikujú do dvoch tried) vypočítat’ niekol’ko koeficientov kvality klasifikácie. 16.4.1 Matica zámen Matica zámen je kontingnečnou tabul’kou, do ktorej zapisujeme počty vzoriek klasifikované do jednotlivých tried. Príkladom matice zámen pri klasifikácii číslic je tabul’ka 16.3. V tejto matici je špeciálny stĺpec označený R, ktorý dovol’uje klasifikátoru „nevyjadrit’ sa“ (reject option), ak hodnota klasifikačného kritéria nepresiahla stanovaný prah klasifikácie pre žiadnu triedu. Z tejto matice môžeme vidiet’, že klasifikátor nie je úplne dobre natrénovaný, lebo si zamieňa číslice 3, 8 a 9 a tiež 5 a 6. Mohlo by sa zdat’, 244 16.4. Metódy porovnávania klasifikátorov 1 1 98.86 2 3 4 5 6 7 8 9 0 R 0 0 0 1.136 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4.444 1.111 0 0 2.198 0 0 0 0 0 100 90 2 0 95.65 1.087 1.087 1.087 1.087 3 0 0 4 0 0 0 100 5 0 0 0 0 87.78 6.667 6 0 0 0 0 8.791 87.91 1.099 7 0 1.19 0 0 0 0 98.81 8 0 0 17.05 0 0 1.136 0 73.86 7.955 0 0 9 0 0 4.651 0 0 0 0 11.63 82.56 0 1.163 0 0 0 0 1.075 0 1.075 0 80 80.65 1.075 10.75 4.301 0 3.226 0 0 70 60 50 40 30 20 10 0 0 96.77 1.075 0 Obrázok 16.5: Vizualizácia percentuálnych podielov matice zámen z tabul’ky 16.3. že klasifikátor rozpoznáva rovnako dobre číslice 4 a 5, lebo majú na diagonále rovnaký počet vzoriek. Problémom tejto matice však je, že počet vzoriek v jednotlivých triedach nie je konštatný. V takomto prípade sa niekedy do matice zámeny dáva miesto absolútnych počtov klasifikovaných vzoriek, ich percentuálny podiel v jednotlivých triedach. Mnohorozmerné matice zámen sa lepšie vizualizujú pomocou teplotných máp, ako vidno na obrázku 16.5. Pre binárne klasifikátory, ktoré klasifikujú dáta do dvoch tried, zodpovedajú údaje v matici zámen jednotlivým typom klasifikácie TP, TN, FP, FN. 16.4.2 Koeficienty kvality klasifikácie Z hodnôt TP, TN, FP, FN môžeme vypočítat’ nasledovné koeficienty kvality klasifikácie. Citlivost’ testu Citlivost’ klasifikátora je daná pomerom správne pozitívnych výsledkov k počtu hl’adaných objektov skutočne sa vyskytujúcich v dátach TPR = TP . TP + FN (16.6) 245 16. H ODNOTENIE KVALITY KLASIFIKÁCIE Táto hodnota je ovplyvňovaná hodnotou FN. Čím vyšší počet nesprávne negatívnych výsledkov, tým nižšia citlivost’ klasifikátora. Znamená to, že klasifikátor nevie odhalit’ všetky výskyty objektu. Ideálny klasifikátor nemá nesprávne negatívne výsledky a dosahuje 100% citlivost’. Citlivost’ sa nazýva aj senzitivita, miera skutočnej pozitivity (true positive rate – TPR) a v oblasti získavania informácií úplnost’ alebo záchyt (recall). Výlučnost’ testu Výlučnost’ klasifikátora sa meria pomerom skutočne negatívnych výsledkov k počtu vzoriek neobsahujúcich hl’adaný objekt TNR = TN . TN + FP (16.7) Je to miera ako dobre dokáže klasifikátor určit’ negatívne vzorky. Čím viac nesprávne pozitívnych, tým nižšia hodnota TNR. Vysoká výlučnost’ sa vyžaduje napríklad pri testovaní výrobkov na výrobnej linke, kde sa výrobky, ktoré neprejdú testom, zahadzujú. Pri nízkej výlučnosti je medzi zahodenými vel’ké množstvo fungujúcich výrobkov. Ideálny klasifikátor má 100% výlučnost’. Výlučnost’ sa nazýva aj špecificita alebo miera skutočnej negativity (true negative rate – TNR). S výlučnost’ou klasifikátora súvisí aj miera nesprávnej pozitivity FPR = FP = 1 − TNR. FP + TN (16.8) Prediktívna hodnota V medicíne sa používa prediktívna hodnota testu, čo je vlastne posteriórna pravdepodobnost’. Pozitívna prediktívna hodnota (PPH) testu je pravdepodobnost’, že pacient skutočne má danú chorobu, ked’ test vyšiel pozitívne. Čím menej je nesprávne pozitívnych výsledkov, tým viac sa hodnota PPH blíži k jednotke PPH = TP . TP + FP (16.9) PPH sa v oblasti získavania informácií nazýva presnost’ (precision). Negatívna prediktívna hodnota testu určuje pravdepodobnost’, že pacient je skutočne zdravý, ak test vyšiel negatívne. Čím menej nesprávne 246 16.4. Metódy porovnávania klasifikátorov negatívnych výsledkov, tým vyššia hodnota NPH NPH = TN . TN + FN (16.10) Prediktívna hodnota závisí od rozdelenia pravdepodobnosti choroby v skúmanej populácii (apriórna pravdepodobnost’). Účinnost’ Počet správnych výsledkov klasifikácie (pozitívnych alebo negatívnych) v pomere k počtu všetkých skúmaných vzoriek nazývame účinnost’. Čím menej nesprávnych výsledkov, tým vyššia účinnost’ Eff = TP + TN . TP + FP + TN + FN (16.11) Účinnost’ voláme aj efektívnost’ alebo správnost’ (accuracy). F1 skóre V oblasti získavania informácií sa na hodnotenie kvality dolovacích metód používa vážený harmonický priemer úplnosti a presnosti nazývaný F skóre Fβ = (1 + β2 )(PPH.TPR) . β2 PPH + TPR (16.12) Najčastejšie sa používa F1 skóre, kde váha presnosti a úplnosti je rovnaká (β = 1) F1 = 2PPH.TPR . PPH + TPR (16.13) 16.4.3 ROC krivky Pôvodne z oblasti rádiológie sa do oblasti klasifikácie dostal pojem ROC krivka. ROC je z anglického Receiver Operating Characteristics – hodnota opisujúca prevádzkovú charakteristiku príjímača (radaru). ROC krivka opisuje vzt’ah citlivosti a miery nesprávnej pozitivity, kde na x-ovej osi je FPR a na y-ovej TPR. ROC krivka je vhodná pri binárnych klasifikátoroch, ktoré klasifikačné kritérium vyhodnocujú voči nejakému prahu, prípadne obsahujú nejaký premenný parameter, ktorého optimálna hodnota sa dá určit’ práve z analýzy ROC krivky. 247 16. H ODNOTENIE KVALITY KLASIFIKÁCIE P(x,ω1) P(x,ω2) TN TP FP FN Robjekt Rpozadie Obrázok 16.6: Rozdelenie pravdepodobnosti s vyznačeným klasifikačným prahom a určenými hodnotami TP, TN, FP, FN. Vytvorenie ROC krivky Ako príklad si uved’me klasifikátor, ktorý zaradí vzorku do klasifikačnej triedy na základe hodnoty jediného príznaku. Ak x < h, tak vzorka patrí do triedy ω1 , inak do ω2 . Parametrom tohto klasifikátora je hodnota prahu h. Nech trieda ω1 reprezentuje objekt a trieda ω2 pozadie obrazu. Potom obrázok 16.6 ilustruje hodnoty TP, TN, FP, FN pri danom rozdelení pravdepodobnosti. Ked’ meníme prah h, menia sa hodnoty FPR a TPR. Pre každú hodnotu prahu zanesieme bod (FPR, TPR) do grafu, ako je vidno na obrázku 16.7. Pri h = 0 sú všetky vzorky klasifikované ako pozadie (negatívne). To znamená, že FP = 0 a aj TP = 0 a teda aj FPR = 0 a TPR = 0 (bod A na obrázku). Postupným zvyšovaním prahu sa zvyšuje hodnota TPR, pričom FPR môže byt’ nulová, prípadne skoro nulová (bod B na obrázku). Pri určitej hodnote prahu sa začne zvyšovat’ aj hodnota FPR (bod C na obrázku). V bode D na obrázku je prah Bayesovho klasifikátora (porovnaj s obrázkom 14.1(b)). Od bodu E je hodnota FPR približne 100 %, čiže všetky objekty máme správne klasifikované. Posledným bodom ROC krivky je bod (100 %,100 %), ked’ všetky vzorky sú klasifikované ako objekt. V praxi nemôžeme vyhodnotit’ všetky možné hodnoty parametra klasifikátora (napríklad, ked’ zmena parametra vyžaduje nové trénovanie klasifikátora) a výsledná krivka je schodovitá. Preto sa ROC krivka generuje pomocou vzájomnej validácie, ked’ v niekol’kých behoch vygenerujeme ROC krivky a spriemerujeme ich. Prípadne použijeme rôzne štatistické metódy odhadov rozdelenia pravdepodobnosti, z ktorých potom vygenerujeme ROC krivku. 248 16.4. Metódy porovnávania klasifikátorov 100% D E F G P(x,ω1) P(x,ω2) C TPR B A A 0% FPR B C D E F G 100% Obrázok 16.7: Body ROC krivky zodpovedajú rôznym hodnotám klasifikačného prahu. Výber parametra klasifikátora pomocou ROC krivky Oblast’ medzi bodom A a C na obrázku 16.7 je oblast’ prísneho klasifikátora, kde vel’mi málo vzoriek objektov je klasifikovaných ako objekt. Na druhej strane v tejto oblasti nemáme skoro žiadne nesprávne pozitívne klasifikácie. Oblast’ medzi bodmi E a G je oblast’ nedbanlivého klasifikátora, kde všetky vzorky objektov klasifikujeme správne, ale za cenu vel’mi vysokých hodnôt FP. Oblast’ optimálneho klasifikátora leží medzi bodmi C a E. Parameter výsledného klasifikátora potom môžme vybrat’ podl’a toho, čo je ciel’om klasifikácie. Ak je náš klasifikátor jedným z prvých v rade za sebou idúcich klasifikátorov, môžeme ho skonštruovat’ ako nedbalý, niekde v okolí bodu E, pričom sa spol’ahneme na to, že nasledujúce klasifikátory postupne znížia FPR. Ako najlepší sa často vyberá klasifikátor, ktorý leží na ROC krivke čo najbližšie k l’avému hornému rohu, a teda maximalizuje citlivost’ a zároveň výlučnost’. Ďaším používaným bodom je bod s rovnakou hodnotou citlivosti a výlučnosti. Tento leží na prieniku ROC krivky s druhou diagonálou. Priebeh ROC krivky Tvar ROC krivky závisí od toho, ako dobre sa dajú odseparovat’ vzorky jednotlivých tried. Na obrázku 16.8 sú uvedené tri základné typy ROC kriviek. V prvej situácii vieme nájst’ ideálny prah, ked’ klasifikátor správne identifikuje všetky vzorky objektu aj pozadia. Táto situácia je v reálnych aplikáciách vel’mi zriedkavá. Príkladom typickej ROC krivky je krivka pre 249 16. H ODNOTENIE KVALITY KLASIFIKÁCIE 100% P(x,ω1) P(x,ω2) TPR 0% 100% FPR Obrázok 16.8: Tvar ROC krivky zodpovedá rozdeleniu pravdepodobnosti. 100% A C B TPR 0% FPR 100% Obrázok 16.9: Porovnanie troch klasifikátorov pomocou ROC kriviek. rozdelenie v strede, kedy sa pri klasifikácii snažíme minimalizovat’ dosiahnutú chybu. V najhoršom prípade, ked’ rozdelenia pravdepodobnosti obidvoch tried splývajú, ROC krivka splýva s diagonálou a kvalita klasifikácie je rovnaká, ako keby sme si hádzali mincou.1 Porovnanie kvality klasifikátora pomocou ROC kriviek Na obrázku 16.9 je porovnanie výsledkov rôznych klasifiátorov. Problémom je určit’, ktorý z klasifikátorov je lepší. Vidíme, že klasifikátor C dosahuje horšie výsledky než klasifikátory A a B. Medzi týmito dvomi však nie je jeden jednoznačne lepší. Pri nízkych hodnotách FPR sa javí ako lepší klasifikátor B, ale klasifikátor a dosiahne vyššiu citlivost’, pre vyššie hodnoty FPR. Jednou z možností, ako určit’, ktorý z A a B je lepší, je spočítat’ obsah plochy pod krivkou. 1 Ak by ROC krivka nášho klasifikátora ležala v šedej oblasti, smutne sklopíme hlavu a ideme vrátit’ titul. 250 16.4. Metódy porovnávania klasifikátorov 100% ROC(t0) TPR 0% t0 FPR 100% Obrázok 16.10: Obsah oblasti pod ROC krivkou obmedzená maximálne tolerovanou hodnotou FPR = t0 . AUC hodnota Integrál ROC krivky vyjadruje plochu pod ROC krivkou. Tomu zodpovedá aj anglické označenie AUC (area under the curve). Hodnota AUC sa pohybuje v intervale 〈0, 5; 1〉, pričom hodnotu 1 dosahuje ideálny klasifikátor a 0,5 náhodný. Kvalita klasifikátora sa pomocou hodnoty AUC dá vyjadrit’ pomocou stupnice v tabul’kách 16.4. Závisí od typu riešeného problému, ktorú tabul’ku použijeme. Tabul’ka 16.4: Dve používané tabul’ky AUC hodnôt. Rozpätie 0,5 – 0,6 0,6 – 0,7 0,7 – 0,8 0,8 – 0,9 0,9 – 1,0 Stupnica zlyhávajúci slabý priemerný dobrý vynikajúci Rozpätie 0,5 – 0,75 0,75 – 0,92 0,92 – 0,97 0,97 – 1,0 Stupnica priemerný dobrý vel’mi dobrý vynikajúci V niektorých aplikáciách nemá zmysel uvažovat’ parametre klasifikátora, pri ktorých sa dosahuje vysoká hodnota FPR. V tomto prípade sa nepočíta integrál na celom obore 〈0, 1〉, ale len po nejakú maximálne tolerovanú hodnota FPR = t0 , ako je znázornené na obrázku 16.10. 251 16. H ODNOTENIE KVALITY KLASIFIKÁCIE Štatistické porovnanie Štatisticky sa rozdielnost’ dvoch klasifikátorov pomocou hornoty AUC dá porovnat’ použitím nasledovnej testovacej štatistiky CR = AUC 1 − AUC 2 , Std(AUC 1 − AUC 2 ) (16.14) ktorá má (0, 1) normálne rozdelenie. Hypotéza H0 je, že rozdiel medzi hodnotami AUC je nulový. 16.4.4 McNemarov test Majme klasifikátory K1 a K2, ktorých kvalitu chceme porovnat’. Na výpočet testovacej štatistiky McNemarovho testu pre oba klasifikátory určíme nasledovné hodnoty • • • • n00 : počet vzoriek správne klasifikovaných oboma klasifikátormi, n01 : počet vzoriek správne klasifikovaných K1 ale nesprávne K2, n10 : počet vzoriek nesprávne klasifikovaných K1 ale správne K2, n11 : počet vzoriek nesprávne klasifikovaných oboma klasifikátormi. Následne vypočítame testovaciu štatistiku M= (|n01 − n10 | − 1)2 , n01 + n10 (16.15) ktorá má χ2 rozdelenie s jedným stupňom volnosti. To znamená, že ak M > 3, 84, potom s 95% spol’ahlivost’ou môžeme zamietnut’ nulovú hypotézu, že oba klasifikátory majú rovnakú chybovost’. 252 Zoznam použitej literatúry [Ami02] Y. Amit. 2D object detection and recognition: models, algorithms, and networks. The MIT Press,Cambridge, Massachusetts, 2002. [Bis06] C. M. Bishop. Pattern Recognition and Machine Learning. Secaucus, NJ, USA: Springer-Verlag New York, Inc., 2006. [Bra97] A. P. Bradley. „The use of the area under the ROC curve in the evaluation of machine learning algorithms“. Pattern Recognition 30 (1997), str. 1145–1159. [CC00] L. d. F. Costa a R. Cesar. Shape Analysis and Classification: Theory and Practice. Boca Raton, FL, USA: CRC Press, Inc., 2000. [CDB86] R. L. Cannon, J. V. Dave a J. Bezdek. „Efficient Implementation of the Fuzzy c-Means Clustering Algorithms“. Pattern Analysis and Machine Intelligence, IEEE Transactions on 8.2 (1986), str. 248–255. [DG06] J. Davis a M. Goadrich. „The Relationship Between PrecisionRecall and ROC Curves“. Proceedings of the 23rd International Conference on Machine Learning. ICML ’06. Pittsburgh, Pennsylvania: ACM, 2006, str. 233–240. [DK09] F. De la Torre a T. Kanade. „Discriminative Cluster Analysis“. Theory and Novel Applications of Machine Learning. Ed. M. Er a Y. Zhou. In-teh, Croatia, 2009. 254 Zoznam použitej literatúry [DZ00] B. Dawant a A. Zijdenbos. „Image segmentation“. Handbook of Medical Imaging. Ed. J. M. Fitzpatrick a M. Sonka. Zv. 2. SPIE Press, Bellingham, WA, 2000. Kap. 2. [Far97] I. Farkaš. „Samoorganizujúce sa mapy“. Úvod do teórie neurónových sietí. Ed. V. Kvasnička a kol. IRIS, Bratislava, 1997, str. 142–189. [Faw06] T. Fawcett. „An Introduction to ROC Analysis“. Pattern Recogn. Lett. 27.8 (jún 2006), str. 861–874. [FP02] D. A. Forsyth a J. Ponce. Computer Vision: A Modern Approach. Prentice Hall Professional Technical Reference, 2002. [FP91] D. Fisher a M. Pazzani. „Computational Models of Concept Induction“. Concept Formation: Experience and Knowledge in Unsupervised Learning. Ed. D. Fisher, M. Pazzani a P. Langley. San Mateo, CA: Morgan Kaufmann, 1991, str. 3–44. [Kru+13] R. Kruse a kol. Computational Intelligence – A Methodological Introduction. Texts in Computer Science. Springer, 2013. [MH84] B. J. McNeil a J. A. Hanley. „Statistical Approaches to the Analysis of ROC curves“. Medical Decision Making 4.2 (1984), str. 136–149. [MM01] W. Martinez a A. Martinez. Computational Statistics Handbook with MATLAB. Chapman & Hall/CRC Computer Science & Data Analysis. Taylor & Francis, 2001. [MR10] O. Maimon a L. Rokach, ed. Data Mining and Knowledge Discovery Handbook. Druhé vyd. Springer, 2010. [NA08] M. Nixon a A. Aguado. Feature extraction and image processing. Academic Press. Academic, 2008. [Náv+02] P. Návrat a kol. Umelá inteligencia. Vydavatel’stvo STU, Bratislava, 2002. [Ora+13] M. Oravec a kol. Metódy strojového učenia na extrakciu príznakov a rozpoznávanie vzorov. Zv. II. FELIA s.r.o., 2013. [PWG02] S. W. Perry, H. S. Wong a L. Guan. Adaptive Image Processing: A Computational Intelligence Perspective. Boca Raton, FL, USA: CRC Press, Inc., 2002. [Qui86] J. R. Quinlan. „Induction of Decision Trees“. Mach. Learn. 1.1 (mar. 1986), str. 81–106. [SA96] P. Sinčák a G. Andrejková. Neurónové siete (Inžiniersky prístup). Zv. I. ELFA Press, Košice, 1996. 255 [SS01] L. G. Shapiro a G. C. Stockman. Computer Vision. Prentice Hall, 2001. [Sze10] R. Szeliski. Computer Vision: Algorithms and Applications. Springer London, 2010. [TK10] S. Theodoridis a K. Koutroumbas. Pattern Recognition. Štvrté vyd. Academic Press, 2010. Č AS Ť IV FARBA A VIZUÁLNE VNÍMANIE K APITOLA 17 Svetlo a farba Osvetlenie je dôležitou a nepostrádatel’nou zložkou životného prostredia. Slúži materiálnym aj kultúrnym potrebám, jeho úroveň je významným ukazovatel’om úrovne spoločnosti [CIE13]. rastúca energia rastúca vlnová dĺžka 0,0001nm 0,01nm 100m 10nm 0,01cm 1μm 1cm 1m gama Röntgenové UV Infračervené mikrovlnné rádiové vlny radar žiarenie žiarenie žiarenie žiarenie žiarenie viditeľné svetlo 400 500 600 700 vlnová dĺžka (nanometre) Obrázok 17.1: Elektromagnetické vlny. Viditel’né spektrum spolu s menami neviditel’ných vĺn. Podl’a Maxwellovej teórie elektromagnetických vĺn má svetlo charakter elektromagnetického vlnenia s rozličnými dĺžkami. Fakt, že dokážeme vnímat’ farby, spôsobuje schopnost’ oka reagovat’ na elektromagnetické vlny určitej dĺžky. Len vel’mi úzka čast’ elektromagnetického spektra (vi258 ditel’ná čast’ spektra) sa nazýva svetlo. Nachádza sa v rozsahu vlnových dĺžok medzi 360 nm a 780 nm. Viditel’né farby v tomto rozsahu sa nazývajú spektrálne, čisté farby. Teda čisté farby zodpovedajú jednotlivým vlnovým dĺžkam. Presnejšie povedané tento rozsah vlnových dĺžok je viditel’ným svetlom pre človeka. Niektoré druhy živočíchov vnímajú iné rozsahy. Napríklad včely ho majú posunutý smerom ku kratším vlnovým dĺžkam, a teda môžu „vidiet’“ ultrafialové žiarenie. Naopak niektoré plazy vnímajú ako viditel’né aj to, čo je pre človeka už neviditel’né infračervené žiarenie. Rozsah vnímaných vlnových dĺžok je daný predovšetkým tým, že v oblasti viditel’ného svetla je maximum elektromagnetického žiarenia dopadajúceho na zemský povrch zo Slnka. Na obrázku 17.1 je zobrazený interval farieb zodpovedajúci rôznym vlnovým dĺžkam spolu s menami neviditel’ných vĺn. Svetelné vlnenie je priečne vlnenie, pri ktorom intenzita elektrického a intenzita magnetického pol’a H sú kolmé na smer postupu vlpol’a E aH sú na seba kolmé. Elektromagnetická vlna nenia a zároveň vektory E je znázornená na obrázku 17.2. Svetelné vlnenie má periodickú povahu a môžeme ho rozložit’ na zložky so sínusovým priebehom monochromatického žiarenia. Monochromatické žiarenie sa prejavuje vždy jednou určitou farbou, preto sa nazýva aj jednofarebné svetlo alebo spektrálna farba. Spektrálna krivka je graf intenzity v závislosti od vlnovej dĺžky. E S H Obrázok 17.2: Elektromagnetická vlna. Elektromagnetické vlnenie, a teda aj svetlo, charakterizujú tri základné vlastnosti: • amplitúda (svietivost’), • frekvencia (alebo farba), • polarizácia (uhol vlnenia). 259 17. S VETLO A FARBA Svetelné vlnenie môžeme charakterizovat’ vlnovými dĺžkami λ alebo frekvenciami f . Vzt’ah medzi nimi je daný ako pomer λ= v , f (17.1) kde v je fázová rýchlost’. Elektromagnetické vlny sa šíria dokonca aj vo vákuu. Vtedy je vzt’ah medzi frekvenciou a vlnovou dĺžkou (λ) elektromagnetického žiarenia f λ=c , (17.2) kde c je rýchlost’ svetla vo vákuu. Energia E vlny súvisí s jej frekvenciou podl’a vzt’ahu E =hf , (17.3) kde h je Planckova konštanta, nazvaná podl’a nemeckého fyzika Maxa Plancka. Existujú optické javy, ktoré sa nedajú opísat’ pomocou Maxwellovej elektromagnetickej teórie. Možno ich však vysvetlit’ pomocou kvantového modelu svetla. Podl’a kvantovej teórie sa svetlo skladá z mnohých diskrétnych svetelných kvánt – fotónov. Energia fotónu sa vyjadruje v jednotkách elektrovolt (eV). Fotón ako častica elektromagnetického pol’a je daná okrem energie aj svojou hmotnost’ou a hybnost’ou. Pokojová hmotnost’ fotónu je nulová, inak by sa nemohol pohybovat’ rýchlost’ou svetla. Kvôli dualite častice a vlnenia má svetlo vlastnosti aj vlnové aj časticové. 17.1 Veličiny opisujúce svetlo Elektromagnetické vlnenie je nositel’om energie. Dôležitým faktorom popri vel’kosti hustoty energie žiarenia je aj jej priestorové rozloženie. Vlnenie sa môže líšit’ tiež svojím spektrálnym zložením. Aby bolo možné elektromagnetické žiarenie využit’, je potrebné jeho energetické charakteristiky poznat’ a vediet’ ich merat’. Týmto meraním sa zaoberá rádiometria. Vlastnosti svetla, bez ohl’adu na detektor a jeho vlastnosti, opisujú rádiometrické veličiny. Ak chceme merat’ vlastnosti svetla podl’a jeho účinku na l’udské oko, používame fotometrické veličiny. 260 17.1. Veličiny opisujúce svetlo 17.1.1 Rádiometrické veli činy Rádiometrické veličiny sa niekedy nazývajú aj energetické, preto sa na ich označenie používa index e. V nasledujúcom texte si uvedieme základné rádiometrické veličiny. Žiarivý tok Žiarivý tok Φe je energia vyžiarená telesom za jednotku času (resp. výkon vyžiarený, absorbovaný, alebo prenášaný vlnením) Φe = dE , dt jednotka W. Intenzita vyžarovania Intenzita vyžarovania Me je energia vyžiarená jednotkovou plochou za jednotku času M= dΦe , dS jednotka W.m −2 . Žiarivost’ Žiarivost’ I e je energia vyžiarená bodovým zdrojom v danom smere do malého priestorového uhla Ie = dΦe , dΩ jednotka W.sr −1 , kde sr je označenie pre steradián, jednotku priestorového uhla. Doteraz definované veličiny opisujú žiarenie ako celok, bez ohl’adu na to, aké vlnové dĺžky sú v ňom obsiahnuté. Spektrálna hustota žiarivého toku Spektrálna hustota žiarivého toku Φeλ je energia vyžiarená za jednotku času, ktorá pripadá na interval vlnových dĺžok dλ Φeλ = dΦe . dλ 261 17. S VETLO A FARBA Celkový žiarivý tok Celkový žiarivý tok získame integrovaním cez celý interval vlnových dĺžok (λ1 , λ2 ), v ktorom zdroj emituje žiarenie Φe = λ2 λ1 Φeλ dλ. 17.1.2 Fotometrické veli činy Všetky fotometrické veličiny a jednotky sa definovali na základe fyzikálnych veličín a jednotiek prostredníctvom kriviek spektrálnej citlivosti l’udského oka V(λ) pre denné (fotopické) a V’(λ) pre nočné (skotopické) videnie (vid’ kapitolu 18). Svietivost’ Fotometrická veličina charakterizujúca bodový zdroj je svietivost’. Je to veličina, ktorá vyjadruje schopnost’ približne bodového zdroja vyvolat’ v danom smere zrakový vnem. Jej jednotkou je kandela (cd), ktorá patrí medzi základné jednotky sústavy SI a od nej sa odvodzujú jednotky ostatných fotometrických veličín. Je analógiou k žiarivosti a zapisuje sa I= dΦ , dΩ jednotka cd (kandela). Svetelný tok Odvodené fotometrické jednotky sú lúmen a lux. Lúmen (lm) je jednotkou svetelného toku. Ked’ bodový zdroj svetla vysiela svetelné žiarenie v smere určenom uhlom α do malého priestorového uhla, v ktorého vrchole sa nachádza, hovoríme o svetelnom toku dΦ = I α dΩ, jednotka cd.sr, tj. lúmen (lm). Osvetlenie Ak bodový zdroj so svietivost’ou I vysiela svetelný tok dΦ do malého priestorového uhla dΩ, pri kolmom dopade na malú plochu dS spôsobuje na nej osvetlenie E= dΦ , dS Jednotkou osvetlenia je lux. 262 jednotka lm.m−2 , tj. lux. 17.2. Funkcie spektrálnej hustoty Jas Plošné svetelné zdroje charakterizuje jas L. Jas vyjadrujeme ako podiel svietivosti plošného elementu v danom smere k priemetu plošného elementu do roviny kolmej na uvažovaný smer. 17.2 Funkcie spektrálnej hustoty V 17. storočí urobil Isaac Newton radikálny objav, ked’ rozložil biele svetlo na spojité spektrum farieb pri prechode svetla cez sklenený hranol (vid’ obrázok 17.3) a vyvrátil tak predchádzajúcu teóriu, že farby vznikajú zmiešavaním svetla a tmy (temnoty). biele o svetl Obrázok 17.3: Rozklad bieleho svetla na spektrum farieb po prechode cez sklenený hranol. V súčasnosti pod pojmom spektrum rozumieme rozklad žiarenia podl’a vlnových dĺžok alebo frekvencií. Spektrum môže byt’ spojité alebo nespojité v závislosti od skupenstva látkových objektov vysielajúcich žiarenie. Nespojité spektrum sa ešte rozdel’uje na čiarové a pásové spektrum. Spektrum charakterizujeme pomocou pomerného spektrálneho zloženia žiarenia, ktoré zobrazuje závislost’ pomernej spektrálnej hustoty žiarivého toku od vlnovej dĺžky. Svetlo vyžarované zo zdroja vo väčšine prípadov obsahuje žiarenie viacerých vlnových dĺžok. Spektrálna krivka intenzity žiarenia pre takéto zdroje svetla je znázornená na obr. 17.4. Energia svetla sa vypočíta ako plocha pod spektrálnou krivkou. 17.3 Geometrické vlastnosti svetla Základným pojmom geometrickej optiky je svetelný lúč. Svetelný lúč dopadajúci na povrch látky sa čiastočne odrazí, čiastočne prejde látkou a čiastočne ho látka pohltí. Dopadajúci lúč sa odrazí podl’a zákonov odrazu. 263 17. S VETLO A FARBA 500nm 400nm 600nm 700nm Obrázok 17.4: Spektrálna krivka intenzity žiarenia pre svetlo s viacerými vlnovými dĺžkami. Svetlo riadia tieto zákony geometrickej optiky 1. Zákon priamočiareho šírenia svetla: V homogénnom prostredí sa svetlo pohybuje po priamkach (svetelné lúče). 2. Zákon odrazu: Odrazený lúč leží v rovine dopadu určenej normálovým vektorom dopadu v danom bode dopadu a uhol medzi normálou a oboma lúčmi je komplementárny. 3. Zákon lomu (Snell–Descartes): Lúč prechádzajúci z jedného prostredia do druhého mení na rozhraní týchto prostredí svoj smer. n1 n2 r1 α1 α1 α2 r1 r2 Obrázok 17.5: Čiastočný odraz a lom svetelného lúča dopadajúceho na rozhranie dvoch priesvitných materiálov. Podl’a zákona lomu, ak r 1 je lúč dopadajúci na rozhranie dvoch priesvitných materiálov s indexami lomu n1 a n2 (vid’ obr. 17.5), a r 2 je lomený 264 17.4. Žiarenie čierneho telesa lúč, potom r 1 , r 2 a normála na rozhranie sú koplanárne a pre uhly α1 a α2 medzi normálou a dvomi lúčmi platí vzt’ah n1 . sin α1 = n2 . sin α2 . (17.4) Proces formovania obrazu pozostáva z troch častí: osvetlenie, odrazivost’ materiálu a pozorovanie. Materiály v scéne interagujú s prichádzajúcim svetlom a spôsobujú jeho reflexiu, odraz. Farba objektu je daná spektrom dopadajúceho svetla a svetlom absorbovaným a/alebo odrazeným (vlastnost’ami objektu). V prípade matných materiálov použijeme Lambertov model odrazu. Hovoríme, že intenzita odrazeného svetla od povrchu je nezávislá od uhla pozorovania. 17.4 Žiarenie čierneho telesa Každé teleso s teplotou vyššou ako je absolútna nula (0 K tj. –273,15 ◦ C) vyžaruje do okolia elektromagnetické žiarenie. Vlnová dĺžka, na ktorej toto teleso najviac vyžaruje, závisí od jeho teploty. Čím väčšia je teplota telesa, tým kratšiu vlnovú dĺžku má žiarenie, ktoré vysiela do priestoru. Táto vlnová dĺžka sa dá jednoducho vypočítat’ podl’a Wienovho zákona posunu, ktorý hovorí, že vlnová dĺžka λmax , na ktorú pripadá maximum vyžarovania čierneho telesa, je nepriamo úmerná termodynamickej teplote T b λmax = , T kde b = 2, 898.10−3 m K je konštanta a T je teplota povrchu telesa v Kelvinoch. Schopnost’ telesa vysielat’ elektromagnetické žiarenie úzko súvisí s jeho schopnost’ou pohlcovat’ žiarenie, pretože teleso pri konštantnej teplote je v termodynamickej rovnováhe so svojím okolím, teda získava pohlcovaním energie od okolia rovnaké množstvo energie, ako do okolia odovzdáva. Príklad: Železnú tyč v tme pri izbovej teplote okolo 20 ◦ C (293 K) neuvidíme. Do okolia vyžaruje elektromagnetické žiarenie s vlnovou dĺžkou okolo 10 μm, čo je vlnová dĺžka neviditel’ného, infračerveného žiarenia. Ked’ ju však začneme zahrievat’, začne sa jej teplota zvyšovat’ a s ňou sa bude skracovat’ vlnová dĺžka žiarenia, ktorá pri určitej teplote začne patrit’ do viditel’nej časti spektra, na ktorú sú citlivé naše oči. Rozžeravenú tyč začne byt’ vidno a nadobudne červenú farbu. 265 17. S VETLO A FARBA Ako sme už spomenuli vyššie, väčšina telies, ktoré poznáme, čast’ žiarenia na ne dopadajúceho odrazí, čast’ pohltí, a čast’ žiarenia nimi prejde. Aby bolo možné jednoducho pracovat’ so žiarením telies, bol zavedený fyzikálny model – absolútne čierne teleso. Je to idealizované teleso, ktoré žiadne žiarenie neodrazí ani cezeň žiadne neprejde, ale dokonale pohltí všetku energiu svetla, ktoré naň dopadá a tú vyšle v podobe tepelného žiarenia. V praxi sa ako čierne teleso správa napríklad dutina so začiernenými vnútornými stenami a malým otvorom, z ktorého žiarenie vystupuje. Ako sa mení teplota, odtieň farby žiarenia sleduje čiaru teplotných žiaričov, tzv. Planckovu krivku (Planckian locus). Planckova krivka opisuje spektrálne rozdelenie intenzity žiarenia čierneho telesa pri vyznačených teplotách. Túto závislost’ popísal v roku 1900 Max Planck (1858 – 1947), ktorý získal za myšlienku existencie kvánt energií v roku 1918 Nobelovu cenu za fyziku. S rastúcou teplotou sa vlnová dĺžka maximálneho vyžarovania skracuje a tiež sa zväčšuje množstvo vyžarovanej energie. To znamená, že ak sa povie, že nejaké žiarenie zodpovedá žiareniu čierneho telesa s teplotou x Kelvinov, tak spektrálna krivka tohto žiarenia bude Planckova krivka príslušnej vlnovej dĺžky. Opísali sme parameter farby svetla zodpovedajúci vyžarovaniu čierneho telesa, a to parameter teploty. Môžeme teda hovorit’ o farebnej teplote svetelného zdroja. Je to teplota čierneho telesa, ktorého farba žiarenia sa naň najviac podobá. Svetlo určitej farebnej teploty má farbu tepelného žiarenia vydávaného čiernym telesom, zahriatym na túto teplotu. Vel’a prirodzených zdrojov svetla môže byt’ aproximovaných žiarením ideálneho čierneho telesa. 266 K APITOLA 18 L’udský vizuálny systém Zrak je pre človeka zo všetkých zmyslov považovaný za najdôležitejší. Pomocou zraku vníma človek asi 80 % všetkých informácií zo svojho okolia. Zmyslovým orgánom zraku je oko, ktorým človek vníma vizuálne obrazy okolitého sveta. Fakt, že dokážeme vnímat’ farby, spôsobuje schopnost’ oka reagovat’ na elektromagnetické vlny určitej dĺžky. Svetlo, teda elektromagnetické žiarenie z okolitého sveta, sa cez našu optickú sústavu „oko“ prenáša na receptorové bunky (tyčinky a čapíky) na sietnici, kde vyvolávajú chemickú reakciu. Tieto potom prenášajú vyvolané vzruchy pomocou nervových vlákien do mozgu, ktorý ich spracuje na vnímaný obraz. V rôznych častiach oka nastáva pohlcovanie rôznych vlnových dĺžok žiarenia. Tento fakt sa dá využit’ napríklad pri operáciách oka, ale predovšetkým chráni oko pred poškodením. Žiarenie je pohlcované pomocou rozkladu proteínov a iných látok, čím sa spotrebováva energia. Vyššie dávky nevhodného žiarenia spôsobujú slzenie, zvýšenie teploty a tlaku v oku, zápaly a podobne. • 100 – 315 nm – absorbuje sa prevažne v rohovke, zvyšok sa rozptýli v sklovci, • 315 – 400 nm – absorbuje sa prevažne v šošovke za pomoci premeny proteínov, • 400 – 780 nm – viditel’né svetlo je oko schopné v priebehu 0,25 sekundy zredukovat’ pomocou zreničky na znesitel’né množstvo, ale na kratších vlnových dĺžkach už nedokáže tak rýchle zareagovat’, 268 18.1. Štruktúra oka • 780 – 1400 nm – prechádza cez šošovku a dopadá na sietnicu, kde môže spôsobit’ aj vážne poškodenie. • viac ako 1400 nm – je absorbované v rohovke. Spôsobuje silné slzenie a zvyšovanie teploty a tlaku sklovca. 18.1 Štruktúra oka Svetlo vstupuje do oka cez šošovku (lens). Zmenou tvaru šošovky sa mení ohnisková vzdialenost’, zabezpečuje sa ostré premietnutie obrazu na sietnicu. Toto prispôsobenie šošovky sa nazýva akomodácia. Pred šošovkou sa nachádza kruhovitý sval nazývaný dúhovka (iris). Najdôležitejšou úlohou dúhovky je regulácia množstva svetla vstupujúceho do oka. Dúhovka má centrálny okrúhly pohyblivý otvor – zreničku (pupil), ktorá sa môže zužovat’ alebo rozširovat’. Vo vnútri oka sa nachádza svetlocitlivá membrána – sietnica (retina). Sietnica je vlastným orgánom zraku a tvorí vnútornú vrstvu oka. Pokrýva celú dutinovú stranu očnej gule. Zachytáva obraz a zrakovým nervom ho posiela do zrakových centier v mozgu. Je tvorená z dvoch druhov svetlocitlivých receptorov (fotoreceptorov) – čapíkov (cones) a tyčiniek (rods). Štruktúra oka je znázornená na obrázku 18.1. sietnica zrenička šošovka žltá škvrna sklovec rohovka dúhovka zrakový nerv Obrázok 18.1: Priečny rez okom zobrazujúci jeho štruktúru. V strede sietnice, približne oproti zreničke oka, leží žltá škvrna kruhovitého až eliptického tvaru o priemere asi 3 mm. V jej strede je preliačina, ktorá sa nazýva fovea centralis. Väčšina čapíkov je sústredených vo vnútri tejto malej oblasti. Toto miesto leží vo vrchole optickej osi oka a predstavuje miesto najostrejšieho videnia, pretože sa do neho premieta 269 18. L’ UDSKÝ VIZUÁLNY SYSTÉM Počet receptorov na štvorcový milimeter 180 000 Slepá škvrna 160 000 140 000 Tyčinky Tyčinky 120 000 100 000 80 000 60 000 40 000 20 000 Čapíky Čapíky 0 80 60 50 40 30 20 10 0 10 20 30 40 50 60 70 80 Uhol (stupne) Obrázok 18.2: Distribúcia tyčiniek a čapíkov v sietnici. Čapíky sú väčšinou sústredené v centre sietnice, v žltej škvrne. Priestorové rozlišovanie je preto výrazne slabšie na perifériách. centrálny lúč. V oblasti žltej škvrny sú nakopené len čapíky, ktoré tu majú najväčšiu hustotu. Tyčinky sa nachádzajú zväčša na periférii sietnice. Distribúcia tyčiniek a čapíkov v sietnici je znázornená na obrázku 18.2. Tyčinky a čapíky Na sietnici je neuniformné rozloženie čapíkov a tyčiniek. Vo fovei pri maximálnej hustote čapíkov je ich 150 tis. – 200 tis./mm2 . Tyčinky obsahujú látku citlivú na achromatické svetlo, nazývanú rodopsin. Na základe fotochemických reakcií očného rhodopsinu je vnímaná intenzita svetla. Čapíky obsahujú obdobnú látku iodopsin, ktorý je zložený z viacerých látok citlivých na svetlo modrej, zelenej a červenej farby. Tieto organické farbivá senzibilizujú čapíky a tyčinky. Čapíky slúžia na farebné videnie v jasných svetelných podmienkach, pri svetlosti > 1cd/m2 , ked’ sú dobre viditel’né a rozpoznatel’né farby – denné videnie (photopic vision). Tyčinky neumožňujú farebné videnie, sú použité pri vel’mi slabom svetle, približne pri svetlosti < 0, 01cd/m2 , ked’ sú viditel’né iba šedotónové obrysy objektov – nočné videnie (scotopic vision). Tyčinky sú približne 25-krát citlivejšie než čapíky. Na súmračnom videní (mesopic vision) sa podiel’ajú čiastočne tyčinky aj čapíky, aktivuje sa pri 0, 01 − 1cd/m 2 , ked’ farby nie sú jasne viditel’né. 270 18.2. Procesy prebiehajúce na sietnici 18.2 Procesy prebiehajúce na sietnici Počas histórie skúmania farebného videnia sa formovali dve základné teórie a to trichromatická teória a teória oponentných procesov, obe ešte pred objavením svetlocitlivých buniek v oku. Trichromatická teória sa spája s menami Th. Younga a H. Helmholtza. Nezávisle na sebe dospeli k záveru, že všetky farby spektra môžeme vytvorit’ zmiešaním troch základných monochromatických farieb. Young za tieto tri základné farby považoval červenú, žltú a modrú, Helmholtz zase červenú, zelenú a fialovú. Filozofickým pozadím oponentnej teórie je koncept J. W. Goetheho. Goethe si všimol, že niektoré farby sa k sebe vel’mi dobre hodia a niektoré sa spolu takmer nikdy nevyskytujú. Goetheho teória je filozofickým podkladom fyziologických výskumov, ktoré neskôr zrealizoval Ewald Hering a vytvoril teóriu oponentných farieb. V l’udskom oku sú skutočne práve tri typy farebných receptorov, na ktorých prebiehajú mechanizmy na báze trichromatizmu, no spracovanie informácie z nich, prebiehajúce v hlbších štruktúrach sietnice a mozgovej kôre, má charakter oponentných procesov. 18.2.1 Trichromatické procesy L’udský vizuálny systém je založený na troch typoch čapíkov uložených na sietnici oka. Prvý typ čapíkov reaguje na červenú čast’ farebného spektra a teda na dlhé vlny. Druhý typ reaguje na zelenú čast’ spektra s vlnami strednej dĺžky. A tretí typ reaguje na modrú čast’ farebného spektra, kde sa nachádzajú krátke vlny. Maximálna odozva prvého typu čapíkov je pri vlnovej dĺžke 559 nm, druhého typu pri 531 nm a tretieho typu 419 nm. Na základe niektorých zistení môžu mat’ niektoré ženy tetrachromatický vizuálny systém – štyri typy čapíkov. Pomer počtu čapíkov citlivých na dlhé L , stredné M a krátke S vlny je L : M : S = 60 : 30 : 5. Tento pomer sa mení v závislosti od človeka, pomer L : M môže byt’ u l’udí s normálnym videním od 2,7 : 1 až po 16,5 : 1. Vnem z modrého kanálu ovplyvňuje aj tvorbu melatonínu a teda biologické hodiny: spánok/bdenie. Dynamický rozsah l’udského vizuálneho systému pokrýva rozsah intenzity svetla približne 1012 . Rozlišujeme adaptáciu na svetlo a na tmu. Adaptáciu na svetlo môžeme merat’ v sekundách, avšak adaptácia na tmu trvá minúty. Pri chromatickej adaptácii sa samostatne prispôsobujú jednotlivé primárne farebné kanály (L, M, S). Svetlocitlivé receptory ( ) merajú množstvo svetla vstupujúceho do retiny. Nech S i (λ), i ∈ r, g , b je krivka odozvy jednotlivých typov čapíkov citli271 18. L’ UDSKÝ VIZUÁLNY SYSTÉM vých na červenú, zelenú a modrú čast’ spektra. E (λ) je (irradiance) svetelné žiarenie s vlnovou dĺžkou λ dopadajúce na receptor. Potom celkové množstvo merané jedným receptorom môžeme vypočítat’ Q i = S i (λ) E (λ) dλ. (18.1) Pri pozorovaní matného povrchu je žiarivost’ E, dopadajúca na receptor, vypočítaná ako produkt medzi odrazenou energiou objektu R a množstva energie L dopadajúceho na objekt E (λ) = R (λ) L (λ) , takže celkovú energiu môžeme prepísat’ ako Q i = S i (λ) R (λ) L (λ) dλ. (18.2) (18.3) 18.2.2 Oponentné procesy v sietnici Trichomatická teória farebného videnia nie je schopná vysvetlit’ fenomén oponentných farieb. Táto skutočnost’ viedla Ewalda Heringa k navrhnutiu oponentného princípu kódovania farieb. Oponentné procesy prebiehajú v sietnici. Sietnica (obr. 18.3) je komplikovaný viacúrovňový orgán. V zadnej časti sietnice sú uložené čapíky a tyčinky. Gangliové bunky (ganglion retinal cells) sa nachádzajú v prednej časti sietnice a v strednej časti medzi týmito dvomi úrovňami sú bipolárne bunky (bipolar cells). V tejto štruktúre sa nachádzajú aj horizontálne a amakrinné bunky, ktoré slúžia na horizontálnu výmenu informácií. Zaujímavé je, že prichádzajúce svetlo musí najprv prejst’ cez úrovne v opačnom poradí, aby dosiahlo úroveň kde sa nachádzajú fotoreceptory. Odozva vychádzajúca z fotosenzitívnych receptorov je kombinovaná v gangliových bunkách sietnice, kde sa formujú tri oponentské kanály (obr. 18.4). Jeden achromatický čierno-biely a dva chromatické červenozelený a žlto-modrý. Z gangliovej bunky sa pošle pulzový signál cez optický nerv do vizuálnej časti mozgovej kôry, kde je spracované samotné vnímanie farieb. V retine je 100 až 126 miliónov fotoreceptorov, z toho približne 95 až 120 miliónov tyčiniek a 5 až 6 miliónov čapíkov. Ked’že na prenos informácie existuje len asi 1 milión gangliových buniek, je zrejmé, že táto musí byt’ nejakým spôsobom komprimovaná. Ak by bol každý fotoreceptor spojený s individuálnou bunkou, neurónové vlákno by muselo mat’ 272 18.2. Procesy prebiehajúce na sietnici tyčinky a čapíky horizontálne bunky bipolárne bunky amakrinné bunky gangliové bunky svetlo Obrázok 18.3: Štruktúra sietnice pozostávajúca z troch úrovní. Svetlo musí prejst’ najprv pomedzi gangliové a bipolárne bunky, aby sa dostalo k fotosenzitívnym čapíkom a tyčinkám. Informácia potom prechádza v opačnom poradí naspät’ do gangliových buniek a odtial’ cez optický nerv do mozgu. Informácia sa vymieňa aj postranne cez horizontálne a amakrinné bunky. L M S L M S L M S + - + - achromatický kanál chromatické kanály Obrázok 18.4: Tri oponentské procesy pozostávajúce z jedeného achromatického kanála a dvoch chromatických. Chromatické kanály kombinujú červeno-zelenú a žlto-modrý informáciu. vel’kú hrúbku. A teda je zrejmé, že predtým, ako sa zraková informácia z jednotlivých čapíkov pošle do mozgu, dochádza už v sietnici na gagliových bunkách k jej vel’kému predspracovaniu. V mieste, kde optický nerv opúšt’a oko, sa nenachádzajú žiadne fotoreceptory. Toto miesto sa nazýva slepá škvrna. 273 18. L’ UDSKÝ VIZUÁLNY SYSTÉM 18.2.3 Gangliové bunky a receptívne polia Bipolárne bunky prenášajú signály od receptorových buniek ku gangliovým bunkám. Axóny (nervové výbežky) gangliových buniek formujú očný nerv. Jedna gangliová bunka je spojená s viacerými fotoreceptormi cez bipolárne bunky. Gangliové bunky prijímajú vstup okrem bipolárnych aj z amakrinných buniek. Všetky receptory, ktoré ovplyvňujú výstup jednej gangliovej bunky, patria oblasti, ktorá sa nazýva receptívne pole gangliovej bunky. Receptívne polia susedných sietnicových gangliových buniek sa výrazne prekrývajú. Väčšina gangliových buniek má približne kruhové receptívne pole. To znamená, že malý kruh buniek na sietnici vysiela svoje signály do jednej gangliovej bunky. Tento kruh sa ešte delí na vnútorný (centrum) a vonkajší (okolie). Gangliové bunky vedia rozlíšit’, či svetlo dopadá do centra alebo do okolia a podl’a toho reagujú. Ked’ svetlo dopadá do centra projekčného pol’a bunky, jedna skupina gangliových buniek sa aktivizuje, tieto sa nazývajú bunky s aktivizovaným centrom (on-center cells). Ked’ svetlo dopadá na plochu ich okolia, sú inhibované. Bunky s neaktívnym centrom (off-center cells) sú inhibované, ked’ svetlo dopadá na ich centrum. Avšak, ked’ na centrum svetlo prestane dopadat’, na chvíl’u sa aktivizujú. Aktívne sú vtedy, ked’ svetlo dopadá na ich okolie [Dob05]. - - + - ++ - - - - - + - ++ - - - - - + - ++ - - - + + + - - + - ++ - - - - -- + + + + + + + - -+ + + + + + - -+ + + + + + - -+ + Obrázok 18.5: Receptívne polia sietnicových gangliových oponentných buniek s aktívnym a s neaktívnym centrom. Štyri červeno-zelené a štyri žlto-modré typy oponentských buniek. Ako možno vidiet’ na obrázku 18.5 receptívne polia buniek môžu byt’ červeno-zelené alebo žlto-modré. Z predchádzajúceho výplýva, že vnem „červeno-zelenej“ farby neexistuje, pretože ak je bunka excitovaná červeným svetlom, zapne sa červený kanál a zároveň na druhom čapíku je signál zo zeleného kanála in274 18.3. Vizuálny kortex hibovaný. Obidva kanály nepracujú synchrónne ale skôr antagonisticky, bud’ vnímame predmet červený, alebo zelený. Takisto existencia buniek citlivých na modrú a žltú umožňuje vysvetlit’, prečo nikdy nevidíme farbu, ktorá by bola žltkasto modrá. Bud’ totiž vidíme modrú, alebo vidíme žltú. 18.3 Vizuálny kortex Spracovanie vizuálnej informácie sa deje v mozgovej kôre (cortex). Tvar objektu, jeho farba, smer pohybu sa spracováva v rôznych častiach vizuálnej časti mozgovej kôry. Tieto informácie sa delia na dve cesty – „čo“ a „kde“. Tvar a farba sa spracováva pomocou „čo“ cesty a priestorová informácia sa spracováva pomocou „kde“ cesty, ktorá taktiež rieši pohyb. Toto delenie sa začína už v sietnici. Ďalšie delenie sietnicových gangliových buniek je na M bunky (magno – vel’ké) a P bunky (parvo – malé). Vel’ké bunky sú citlivé na vel’ké objekty a vedia sledovat’ rýchle zmeny v podnetoch. Nesú najmä informáciu o hrubých črtách predmetov a pohybe. Malých buniek je viac, majú menšie receptívne polia, nesú najmä informáciu o farbe a detailoch. V obidvoch skupinách sa vyskytujú ako off-center, tak on-center bunky [Dob05]. Asi 80 % sietnicových gangliových buniek sú P bunky. Reagujú na vysoké frekvencie a sú citlivé na rôzne vlnové dĺžky. Asi 10 % buniek je M buniek. Tie reagujú na nízke frekvencie a nie sú citlivé na vlnové dĺžky. Zvyšných 10 % buniek je tvorených asi ôsmimi d’alšími typmi buniek [Ebn07]. Zaujímavost’: Treba si uvedomit’, že obraz na našej sietnici sa neustále mení, pretože naše oči neustále vykonávajú sakády, tj. malé pohyby, ktorými sa zameriavajú stále na inú čast’ okolia. Ak by sme sa pozerali bez pohybu očí stále na jedno a to isté miesto, bunky, ktoré sú zodpovedné za prenos zrakovej informácie, by sa unavili, a obraz by sa nám pomaly vytratil. Tieto bunky potrebujú zmenu, aby boli aktívne. Vyskúšajte si napríklad uprene sa pozerat’ na bodku na čistom liste papiera. Ak sa pozeráte skutočne sústredene, po čase vám bodka zmizne [Dob05]. Zraková kôra sa delí na viacero oblastí. Okrem primárnej zrakovej oblasti označovanej ako V1, rozoznávame ešte d’alšie dôležité oblasti ako V2, V3, V4 a V5 (MT), ktoré prispievajú k d’alšiemu spracovaniu zrakovej informácie. 275 18. L’ UDSKÝ VIZUÁLNY SYSTÉM Informáciu o pohybe prenáša najmä aktivita M-buniek. Prechádza oblast’ou V2 do oblasti MT a d’alej do parietálnej kôry. Informáciu o tvare nesie najmä aktivita buniek P. Z oblasti V2 prechádza do oblasti V4 a d’alej do temporálnej kôry. Zo sietnice je informácia o farbe (z troch typov čapíkov, z ktorých je každý citlivý na iné vlnové dĺžky; typ S na krátke, M na stredné a L na dlhé) vedená do kôry P-bunkami, o ktorých sme hovorili vyššie. Avšak tieto bunky zároveň vedú aj informáciu o jase, respektíve kontraste. Farba sa v P-bunkách spracováva podobným princípom, na akom fungujú „oncenter“ a „off-center“ neuróny. Jeden typ P-buniek mieša signály z L a M čapíkov, druhý zasa signály z S čapíkov oproti kombinácii signálu z L a M čapíkov. Vznik obrazov na sietnici sprevádza jav iradiácie. Predmety, ktoré majú vyšší jas ako okolie, sa zdajú byt’ o niečo väčšie ako rovnako vel’ké predmety nižšieho jasu. 18.4 Poruchy farbocitu Pri vnímaní farieb môžu nastat’ rôzne poruchy. Porucha farbocitu môže byt’ vrodená alebo získaná. Existujú tri druhy vrodených porúch. Prvým typom je dichromázia, pri ktorej jeden druh čapíkov chýba. Podl’a toho, ktorý, rozlišujeme Protanope – chýbajú čapíky citlivé na červenú farbu, Deuteranope – chýbajú čapíky citlivé na zelenú farbu, Tritanope – chýbajú čapíky citlivé na modrú farbu. L’udia trpiaci na protanopiu alebo deuteranopiu nerozlišujú červenú a zelenú farbu. Touto poruchou farbocitu je postihnutých približne 8 % mužov a 0,5 % žien. Ďalším typom poruchy farbocitu je anomálna trichromázia. Pri tejto poruche je znížená citlivost’ jedného typu čapíkov, čo spôsobuje posun farebného spektra a človek má posunuté vnímanie farieb. Tretím typom je monochromázia, pri ktorej človek nerozlišuje farby vôbec. Existujú však aj poruchy vnímania farieb, tvarov a pohybu spôsobené poškodením častí mozgu, kde sa táto informácia spracováva. Takou je napríklad achromatopsia, ked’ človek nerozoznáva farby z dôvodu poškodenia mozgu v oblasti V4. Poškodenie určitých častí oblasti V1 a V2 spôsobuje chromatopsiu, kedy človek nie je schopný vidiet’ tvary a formy, 276 18.4. Poruchy farbocitu ale farbu rozoznáva. Alebo akinetopsia spôsobená poškodením oblasti V5, ktorá spracováva informácie o pohybe a stereoskopickej hĺbke a pri ktorej človek nie je schopný vidiet’ objekty, ktoré sú v pohybe. 277 K APITOLA 19 Kolorimetria Za posledných tristo rokov poznáme viacero pokusov definovat’ farebné modely. Tie väčšinou vychádzali z aktuálnych vedomostí o farebnom vnímaní človeka. V mnohých prípadoch práve farebné modely mali vysvetlit’, ako vnímanie farieb funguje. V roku 1801 Thomas Young prišiel s teóriou, že iba tri primárne farby sú postačujúce na vytvorenie všetkých farieb. Táto teória bola potvrdená v roku 1960, ked’ boli objavené tri typy fotoreceptorov v sietnici. Na začiatku 20. storočia bola vytvorená medzinárodná vedecko-technická organizácia zameraná na študijné riešenie základných otázok rozvoja svetelnej techniky - Medzinárodná komisia pre osvetl’ovanie (Commission Internationale de l’Eclairage – CIE). Aktuálne združuje viac ako 40 krajín sveta. Numerickým opisom l’udského vnímania farieb sa v súčasnosti zaoberá kolorimetria. Dnešný kolorimetrický aparát vychádza väčšinou z uznesení CIE. Medzi jej najvýznamnejšie odporučenia patria: • definícia parametrov štandardného pozorovatel’a, • definícia štandardných iluminantov, • definícia priestorov farieb a • diferenčné formuly farby. Až v roku 1931 bol na základe biologických aspektov vnímania farieb, navrhnutý prvý matematicky presný farebný model – CIE XYZ. 278 19.1. Grassmanov experiment Od roku 1993 nadväzuje na prácu CIE Medzinárodné konzorcium pre farbu (International Color Consortium, ICC), a to metodikou farebného manažmentu (color management). 19.1 Grassmanov experiment V roku 1853 Hermann G. Grassmann urobil nasledujúci experiment. Pozorovatel’ovi ukázal dva panely, jeden osvetlený nejakou farbou a druhý tromi primárnymi svetelnými zdrojmi červenou (R), zelenou (G) a modrou (B). Pozorovatel’ mal za úlohu menit’ intenzity troch primárnych zdrojov svetla tak, aby farba vzniknutá ich zmiešaním bola okom nerozoznatel’ná od danej farby. Experiment je znázornený na obrázku 19.1. Obrázok 19.1: Grassmanov experiment porovnávania farieb. Pozorovatel’ sleduje cez malý otvor panel rozdelný na dve časti, kde dolná čast’ je osvetlená testovanou farbou a horná čast’ primárnymi svetel’nými zdrojmi, ktoré sú zmiešavané aditívne. Tento experiment predpokladá metamerizmus farieb, čo znamená, že rovnaký farebný podnet môže vzniknút’ pôsobením farebných podnetov rôzneho spektrálneho zloženia. Takéto podnety potom nazývame, metamerné farebné podnety. V uskutočnenom experimente zistili, že nie pre všetky zvolené farby vieme nájst’ vhodné intenzity primárnych zdrojov tak, aby sme úspešne našli „rovnaký“ farebný pár. Preto presunuli červenú farbu na panel spolu s hl’adanou farbou. A tak bolo zistené, že pre určitú čast’ vlnových dĺžok viditel’ného spektra je hodnota koeficientov záporná, obzvlášt’ pre červenú farbu. Podobné experimenty sa neskôr stali základom kolorimetrie. 279 19. KOLORIMETRIA 19.2 Grassmanov zákon aditívneho miešania farieb Grassman na základe experimentu formuloval princíp aditívneho miešania farieb (additive mixture): „Celková intenzita výsledného zmiešaného svetla sa rovná sume intenzít jednotlivých zmiešavaných svetiel.“ [Gra53] L’ubovol’nú farbu môžeme vyjadrit’ ako lineárnu kombináciu troch farieb, pričom žiadna z týchto farieb nesmie byt’ lineárnou kombináciou zostávajúcich dvoch. Toto sa nazýva 1. Grassmanov zákon miešania farieb (Grassman’s assumption of additivity, alebo aj Grassman’s Law). Grassmannov predpoklad aditivity je základom systému kolometrie. Napriek tomu, že v posledných desat’ročiach bolo opakovane zistené zlyhanie aditivity [VV11; Oic07; WS00; SB59], jeho platnost’ je vo všeobecnosti axiomaticky akceptovaná. Cena za zmenu celého CMS (color management system) by bola príliš vysoká. 19.3 Kolorimetrický priestor Farba Q môže byt’ namiešaná pomocou RQ jednotiek červenej, GQ jednotiek zelenej a BQ jednotiek modrej farby. Q = RQ .R + GQ .G + BQ .B, (19.1) kde Q je daný farebný podnet (color stimulus), R, G, B sú primárne farebné podnety (primary stimuli of unit amounts) a RQ , GQ , BQ trichromatické zložky (tristimulus values). Táto rovnica sa nazýva kolorimetrická rovnica. Každý farebný podnet môžeme teda reprezentovat’ vektorom v 3-dimenzionálnom priestore nazývanom kolorimetrický priestor (tristimulus space). Osi v tomto priestore sú tvorené farebnými podnetmi R, G a B. Kolorimetrický priestor (R, G, B) spolu s farebným podnetom Q je znázornený na obrázku 19.2. Vyjadrenie v 3D priestore nie je v praxi vždy vyhovujúce. Lepšie sa Q reprezentuje v 2D priestore. Takáto reprezentácia môže byt’ napríklad pomocou jednotkovej roviny kde R + G + B = 1. Ak hodnoty R, G, B nor280 19.3. Kolorimetrický priestor malizujeme dostaneme chromatické súradnice R , R +G +B G , g= R +G +B B . b= R +G +B r= (19.2) Takáto jednotková rovina tvorí trojuholník – diagram chromatickosti, ktorý nazývame aj Maxwellov farebný trojuholník (Maxwell color triangle). GQ Q G=1 R+G+B=1 R R=1 RQ O B B=1 B Obrázok 19.2: (R, G, B) – kolorimetrický priestor. Primárne podnety R, G, B sú reprezentované ako vektory jednotkovej dĺžky so spoločným začiatkom v bode O. Farebný podnet Q je reprezentovaný ako trichromatický vektor Q s komponentami dĺžky RQ , G Q , BQ . Trichromatický vektor pretína jednotkovú rovinu (R + G + B = 1) v bode Q. Jednotková rovina obsahuje (r, g, b) – chromatický diagram, v ktorom Q reprezentuje chromatický bod Q [WS00]. Ak testovaný farebný podnet je monochromatický, výsledkom je množina spektrálnych trichromatických zložiek (spectral tristimulus values). Výpočet (19.1) môžeme urobit’ postupne pre všetky spektrálne monochromatické podnety s vlnovou dĺžkou λ. Potom môžeme zapísat’ Q(λ) = R(λ).R + G(λ).G + B(λ).B, (19.3) kde R(λ), G(λ) a B(λ) je množina spektrálnych trichromatických zložiek nameraná vzhl’adom na primárne farebné podnety R, G and B. 281 19. KOLORIMETRIA Nech Q dostaneme aditívnym miešaním monochromatických podnetov Q(λ) v rozsahu farebného spektra 380 – 780 nm s delením stupnice vlnových dĺžok na 1 nm, potom Q= 780 Q(λ). (19.4) λ=380 Obzvlášt’ dôležitá je množina spektrálnych trichromatických zložiek získaná pre všetky monochromatické podnety Q(λ) daného farebného stimulu Q, ktoré majú jednotkovú spektrálnu hustotu žiarenia, v každej vlnovej dĺžke λ v celom viditel’nom spektre. Takýto podnet sa nazýva podnet s izoenergetickým spektrom a označuje sa E. Trichromatické zložky takejto kolorimetrickej sústavy sa vyjadrujú trichromatickými členitel’mi. Kolorimetrická rovnica pre farebný podnet izoenergetického spektra E (λ) je nasledová E (λ) = r¯(λ)R + ḡ (λ)G + b̄(λ)B, (19.5) kde r¯(λ), ḡ (λ), b̄(λ) je množina trichromatických členitel’ov nameraná vzhl’adom na primárne merné podnety R(λ), G(λ), B(λ) a zápis pomocou malého písmenka s čiarkou nad písmenom je štandardné označenie pre vyjadrenie pre špeciálny prípad izoenergetického spektra. Súhrn trichromatických členitel’ov pre všetky vlnové dĺžky vytvára spektrálne krivky trichromatických členitel’ov (color matching functions – CMF). Z obrázka 19.3 je zrejmé, že pre niektoré hodnoty λ potrebujeme záporné množstvo červeného farebného podnetu R. Pre hodnotu λ = 475 sú kolorimetrické hodnoty farebných podnetov r (λ) = −0, 045, g (λ) = 0, 032 a b(λ) = 0, 186. Takže môžeme zapísat’ E λ = −0, 045R + 0, 032G + 0, 186B. (19.6) Záporné množstvo červeného farebného podnetu R znamená, že pri porovnávaní farieb potrebujeme pridat’ 0,045R k E λ , aby sme ju „desaturovali“. Trichromatické zložky každého podnetu Q(λ) vzhl’adom na primárne farebné podnety R(λ), G(λ) a B(λ) sa dajú získat’ zo spektrálnych kriviek trichromatických členitel’ov nasledovne: R(λ) = r¯(λ)Q(λ), G(λ) = ḡ (λ)Q(λ), B(λ) = b̄(λ)Q(λ). (19.7) 282 19.3. Kolorimetrický priestor 0,4 () () () 0,2 0,1 0,0 480 580 680 780 λ/nm -0,1 Obrázok 19.3: Spektrálne krivky trichromatických členitel’ov r¯(λ), ḡ (λ), b̄(λ) monochromatického podnetu E (λ) v systéme reálnych primárnych podnetov R, G, B s vlnovými dĺžkami λR = 700, λG = 546,1 a λB = 435,8. Následne z (19.3), (19.4) a (19.7)dostaneme 6 6 5 6 5 5 780 780 780 b̄(λ)Q(λ) B r¯(λ)Q(λ) R + ḡ (λ)Q(λ) G + Q= λ=380 λ=380 λ=380 (19.8) Z rovnice vyplýva, že ak máme danú krivku pomerného spektrálneho zloženia (spectral power distribution function – SPD) nejakého podnetu Q a množinu spektrálnych kriviek trichromatických členitel’ov nameranú vzhl’adom na primárne podnety R, G a B, trichromatické zložky podnetu Q vzhl’adom na R, G a B môžeme vypočítat’ ako jednotlivé sumy každej zložky v celom rozsahu vlnových dĺžok. Dva podnety Q 1 a Q 2 s rôznymi SPD vyvolajú rovnaký farebný podnet, tj. sú metamérmi, ak platia nasledujúce rovnice 780 λ=380 780 r¯(λ)Q 1 (λ) ḡ (λ)Q 1 (λ) = = λ=380 780 λ=380 780 λ=380 780 r̄ (λ)Q 2 (λ), ḡ (λ)Q 2 (λ), λ=380 b̄(λ)Q 1 (λ) = 780 b̄(λ)Q 2 (λ). λ=380 (19.9) 283 19. KOLORIMETRIA Ak aplikujeme rovnice (19.2) na spektálne trichromatické hodnoty, dostaneme chromatické súradnice r (λ) = g (λ) = b(λ) = r¯(λ) r¯(λ) + ḡ (λ) + b̄(λ) ḡ (λ) r¯(λ) + ḡ (λ) + b̄(λ) b̄(λ) r¯(λ) + ḡ (λ) + b̄(λ) , , , (19.10) kde r (λ) + g (λ) + b(λ) = 1. 2,0 1,5 1,0 0,5 -1,0 -0,5 0,0 0,5 1,0 -0,5 Obrázok 19.4: Chromatický diagram v systéme chromatických súradníc r, g, s vyznačenými vlnovými dĺžkami λR = 700, λG = 546,1 a λB = 435,8 primárnych podnetov R, G, B. Na obrázku 19.4 je znázornený rg-diagram chromatickosti. Tvorí ho pravouhlý trojuholník a spektrálna krivka (locus) monochromatických podnetov od 380 nm do 780 nm. Priamka spájajúca dva konce tejto krivky sa nazýva priamka sýtych purpurov (purple line). Chromatické body R, 284 19.4. Štandardný kolorimetrický pozorovatel’ G, B monochromatických primárnych podnetov R, G, B sú reprezentované vrcholmi trojuholníka. Chromatický bod E podnetu s izoenergetickým spektrom E sa nachádza v strede trojuholníka so súradnicami r E = g E = 1/3. Trichromatické zložky podnetu Q so spojitým pomerným spektrálnym zložením žiarenia (radiant power distribution) P λ môžeme zapísat’ v tvare R = G = B = 780 λ=380 780 λ=380 P λ r¯(λ)dλ, P λ ḡ (λ)dλ, 780 λ=380 P λ b̄(λ)dλ. (19.11) 19.4 Štandardný kolorimetrický pozorovatel’ Ako je zrejmé z predchádzajúcej kapitoly, medzi l’ud’mi s normálnym farebným videním sú stále významné individuálne rozdiely, preto je potrebné definovat’ nejaký štandard. CIE ustanovila dvoch štandardných kolorimetrických pozorovatel’ov. Štandardný kolorimetrický pozorovatel’ je množina spektrálnych kriviek trichromatických členitel’ov, ktoré reprezentujú vlastnosti trichromatických členitel’ov l’udskej populácie s normálnym farebným videním. 19.4.1 CIE 1931 štandardný kolorimetrický pozorovatel’ Na základe experimentov Guilda a Wrighta [FBH97] definovala v roku 1931 Medzinárodná komisia pre osvetl’ovanie krivky trichromatických členitel’ov r¯(λ), ḡ (λ), a b̄(λ), pre vlnové dĺžky od λ = 380 po 780 nm, s delením stupnice vlnových dĺžok λ = 5 nm a tak ustanovila CIE 1931 štandardného kolorimetrického pozorovatel’a (standard colorimetric observer). Tieto krivky platia pre pozorovanie malých farebných plôch s pozorovacím uhlom 2◦ . Za základ kolorimetrickej sústavy RGB prijala trojicu merných podnetov s vlnovými dĺžkami 700 nm, 546,1 nm a 435,8 nm. Táto sústava je prispôsobená tak, aby chromatické súradnice podnetu s izoenergetickým spektrom boli rovnaké. Činitele jasu v tomto systéme sú v pomere 1 : 4,5907 : 0,0601, čo zodpovedá vyžiarenej energii v pomere 72,0962 : 1,3791 : 1. Kolorimetrickú sústavu RGB môžeme charakterizo285 19. KOLORIMETRIA 2,0 1,8 1,6 () () () 1,4 1,2 1,0 0,8 0,6 0,4 0,2 0,0 380 430 480 530 580 630 680 730 780 λ/nm Obrázok 19.5: Spektrálne krivky trichromatických členitel’ov x̄(λ), ȳ(λ), z̄(λ) podl’a CIE 1931 štandardného kolorimetrického pozorovatel’a pre monochromatický podnet E (λ) v systéme imaginárnych primárnych podnetov X, Y, Z. vat’ hodnotami trichromatických členitel’ov r̄ (λ), ḡ (λ) a b̄(λ), ktoré platia pre normálneho kolorimetrického pozorovatel’a. V roku 1971 odporučila CIE hodnoty štandardného kolorimetrického pozorovatel’a pre rozšírený interval 360nm – 830nm a s delením stupnice vlnových dĺžok λ = 1nm. 19.4.2 CIE 1964 doplnkový štandardný kolorimetrický pozorovatel’ V praxi sa môžeme stretnút’ s prípadom, že viditel’né žiarenie, ktoré vyvolá farebný podnet, vniká do oka pod väčším uhlom ako 2◦ . Preto bol v roku 1964 ustanovený CIE 1964 doplnkový štandardný kolorimetrický pozorovatel’ (supplementary standard colorimetric observer) pre vel’ké pozorovacie pole s uhlom 10◦ a trojica merných podnetov s vlnovými dĺžkami R = 645,2 G = 526,3 B = 444,4 nm. Podrobný opis vývoja a vlastnosti CIE štandardného kolorimetrického pozorovatel’a je v časti 3.3.3 knihy Colour Science autorov Wyszecki a Stiles [WS00]. Najnovšie špecifikácie pre spektrálne krivky trichromatických členitel’ov sú publikované na webstránke CIE1 . 1 http://www.cie.co.at 286 19.5. Kolorimetrická sústava CIE XYZ 19.5 Kolorimetrická sústava CIE XYZ Aby všetky viditel’né farby mohli byt’ definované iba pomocou koeficientov s nezápornými hodnotami, pôvodné spektrálne krivky trichromatických členitel’ov boli modifikované na celo-pozitívny systém. V roku 1931 CIE zaviedla tri imaginárne farebné podnety (imaginary primary stimuli) X, Y a Z a systém CIE XYZ (1931) sa stal základom kolorimetrie. Tieto podnety nie sú fyzicky realizovatel’né, existujú iba ako matematická konštrukcia. Výsledné krivky reprezentujúce kolorimetrické členitele priemerného pozorovatel’a nameraná s ohl’adom na imaginárne podnety X, Y, Z sú označené x̄(λ), ȳ(λ), and z̄(λ) (obr. 19.5). Kolorimetrická sústava CIE XYZ bola navrhnutá tak, aby členitel’ ȳ(λ) mal rovnaký priebeh ako krivka citlivosti l’udského oka pri dennom videní. Projekciou 3-D farebného priestoru do roviny X + Y + Z = 1 dostaneme (x, y)-chromatický diagram (obr. 19.6). Projekcia je definovaná ako x = y = z = X , X +Y + Z Y , X +Y + Z Z = 1 − x − y. X +Y + Z (19.12) Farba v tomto priestore je určená dvomi súradnicami x, y. Tretia súradnica, z, môže byt’ tiež definovaná, ale vd’aka transformácii je redundantná. Nové primárne podnety X, Y, Z ležia zvonku mimo domény vektorov reprezentujúcich reálne podnety. Ich reprezentatívne body v diagrame chromatickosti nie sú zahrnuté medzi reálnymi podnetmi. Ležia zvonka chromatického regiónu ohraničeného spektrálnou krivkou a čiarou sýtych purpurov, ktorá spája dva konce spektrálnej krivky. Trojuholník vytvorený z bodov XYZ úplne ohraničuje spektrálnu krivku a čiaru purpurov. Toto zaistí, že chromatické súradnice xyz a korešpondujúce trichromatické hodnoty XYZ akéhokol’vek farebného podnetu nebudú negatívne. Rovina XZ zobrazuje v kolorimetrickom priestore XYZ farebné podnety s nulovým jasom. Pretína diagram chromatickosti v priamke, ktorá sa nazýva alychna. V kolorimetrickej sústave CIE XYZ 1931 diagram chromatickosti nie je rovinou rovnakých jasov. Hodnoty trichromatických členitel’ov, ktoré platia pre štandardného kolorimetrického pozorovatel’a, sú použité na stanovenie trichromatických zložiek podnetu so známym spektrálnym zložením žiarenia. Pri ur287 19. KOLORIMETRIA 1.0 0.9 (Y) 520 0.8 540 510 0.7 560 0.6 500 580 0.5 y 0.4 0.3 600 620 490 700 0.2 0.1 0.0 480 460 (Z) 0.1 (X) 380 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 x Obrázok 19.6: CIE 1931 chromatický diagram so súradnicovým systémom xy a vyznačenými bodmi kadiel’ prechádzajú osi súradnicového systému XYZ. Diagram je ohraničený spektrálnou krivkou s označeniami vlnových dĺžok v nanometroch. čovaní trichromatických zložiek X, Y, Z rozlišujeme výpočet pre farebný podnet svetelného zdroja a pre farebný podnet objektu. Nech Q je farebný podnet svetelného zdroja s krivkou pomerného spektrálneho zloženia Q(λ), potom vzt’ahy pre stanovenie trichromatických zložiek X, Y, Z pre podnet Q sú: X Y = = k k 780 λ=380 780 Q(λ)x̄(λ) λ, Q(λ) ȳ(λ) λ, λ=380 Z = k 780 Q(λ)z̄(λ) λ, λ=380 (19.13) 288 19.6. CIE diagram chromatickosti kde k je normalizačný faktor zvyčajne nastavený na 683 lm/W, preto hodnota Y môže byt’ použitá priamo na určenie jasu L (luminance). V prípade, ked’ je žiarenie odrazené od objektu je Q(λ) súčinom spektra iluminanta S(λ) a spektrálneho činitel’a β(λ). Spektrálny činitel’ β(λ) ovplyvňuje výsledné spektrum v dôsledku odrazu alebo prechodu svetla telesom. Vzt’ahy pre stanovenie trichromatických zložiek X, Y, Z pre farebný podnet objektu dostaneme X Y = = k k 780 λ=380 780 S(λ)β(λ)x̄(λ) λ, S(λ)β(λ) ȳ(λ) λ, λ=380 Z = k 780 S(λ)β(λ)z̄(λ) λ. λ=380 (19.14) CIE vytvorila tento priestor farieb na základe imaginárnych farebných podnetov, a preto nie je žiadne zariadenie schopné zobrazit’ tieto farby. Využíva sa zväčša na účely konverzie farieb medzi dvomi rôznymi priestormi. Farebné podnety XYZ reprezentujú abstraktné farby. CIE 1931 RGB and CIE 1931 XYZ sú prvé matematicky definované priestory farieb. Môžeme pracovat’ aj s alternatívnym priestorom daným zložkami x, y, Y a označovaným ako CIE xyY. Chromatické súradnice x, y špecifikujú odtieň farby a saturáciu a Y zložka reprezentuje jas. Tento priestor je často používaný v praxi na určenie farieb. 19.6 CIE diagram chromatickosti CIE diagram chromatickosti je diagram v tvare podkovy, po obvode ohraničený krivkou reprezentujúcou čisté monochromatické farby od 380 nm do 780 nm. Priamka spájajúca dva konce tejto krivky sa nazýva priamka sýtych purpurov (purple line). Bielu farbu dostaneme zložením všetkých farieb a nachádza sa v t’ažisku. Na obrázku 19.7 je zobrazený reprezentant bielej farby CIE štandardný iluminant D 65 . V diagrame chromatickosti sa nachádzajú iba farby s maximálnym jasom. Preto napríklad, hnedá farba nie je v CIE diagrame, avšak je to oranžovo-červená so zníženým jasom. V CIE diagrame určujeme chromatickost’ farby pomocou dominantnej vlnovej dĺžky (farebný tón/odtieň) a čistoty farby (sýtost’ farby). Sý289 19. KOLORIMETRIA tost’ farby, čiže jej saturácia, sa zvyšuje od stredu oblasti bielych farieb smerom k okraju diagramu. Na okraji sa nachádza spektrálna krivka s čistými farbami. Farebný odtieň sa mení pohybom po krivke. Chromatický bod E podnetu s izoenergetickým spektrom E sa nachádza v strede so súradnicami xE = y E = 1/3. 0.9 520 0.8 -λd(S2) 540 510 0.7 560 0.6 λd(S1) 500 580 0.5 y S1 0.4 0.3 600 D65 490 S3 620 S4 S2 700 0.2 0.1 0.0 480 λc(S1) 0.1 P(S2) 380 0.2 0.3 0.4 x 0.5 0.6 0.7 0.8 Obrázok 19.7: CIE 1931 chromatický diagram zobrazujúci vlastnosti dominantných a doplnkových vlnových dĺžok. Dominantná vlnová dĺžka farebného podnetu S 1 , určená vzhl’adom k CIE štandardnému iluminantu D 65 je λd (S 1 ). K nej doplnková vlnová dĺžka je λc (S 1 ). Farebný podnet S 2 nemá dominantnú vlnovú dĺžku, je určený doplnkovou vlnovou dĺžkou −λd (S 2 ). Farby S 3 a S 2 nazývame komplementárne. Dominantná a doplnková vlnová dĺžka Dominantná vlnová dĺžka (dominant wavelength) farebného podnetu je vlnová dĺžka monochromatického spektrálneho podnetu, ktorý ked’ zmiešame s nejakým achromatickým podnetom v správnom pomere, zís290 19.6. CIE diagram chromatickosti kame požadovaný farebný podnet. V CIE diagrame nájdeme dominantnú vlnovú dĺžku, ak urobíme spojnicu od bieleho svetla cez uvažovaný farebný podnet. Achromatické podnety sa väčšinou udávajú ako CIE štandardný iluminant A alebo D65, ktoré majú neutrálnu farbu a chýba im odtieň farby. Farebný podnet S 1 zobrazený na obrázku 19.7 má dominantnú vlnovú dĺžku, určenú vzhl’adom k CIE štandardnému iluminantu D 65 , λd (S 1 ). Nie všetky farebné podnety majú dominantnú vlnovú dĺžku. Pre purpurové farby ju nemožno určit’, pre tieto farby definujeme doplnkovú vlnovú dĺžku (complementary wavelength). Ak túto zmiešame s uvažovaným farebným podnetom v správnom pomere, dostaneme achromatické svetlo. Táto vlnová dĺžka sa zapisuje so záporným znamienkom. Farebný podnet S 2 na obrázku 19.7 nemá dominantnú vlnovú dĺžku. Môžeme ho však definovat’, vzhl’adom k CIE štandardnému iluminantu D 65 , pomocou doplnkovej vlnovej dĺžky –λd (S 2 ). Čistota farby Čistota farby je definovaná v diagrame chromatickosti ako pomer vzdialeností, ktorý udáva posun chromatického bodu daného podnetu od achromatického bodu smerom k spektrálnej krivke alebo k priamke sýtych purpurov. Čistota farby súvisí so saturáciou farby vnímanou za určitých pozorovacích podmienok. Pre bod chromatický S 1 na obrázku 19.7 určíme čistotu farby ako pomer |D 65 S 1 | : |D 65 λd (S 1 )|. Pre určenie čistoty farby bodu S 2 však potrebujeme najprv nájst’ bod P (S 2 ), ktorý leží na priesečníku priamky sýtych purpurov a spojnice bodov S 2 a D 65 . Čistota farby bodu S 2 je potom pomer vzdialeností |D 65 S 2 | a |D 65 P (S 2 )|. Komplementárne farby Páry farieb, ktoré ak zmiešame v správnom pomere dávajú achromatické svetlo, sa nazývajú komplementárne farby. Na obrázku 19.7 sú komplementárne farby S 3 a S 4 . Významné sú monochromatické komplementárne farby. Komplementárne sú aj farby dané vlnovými dĺžkami λd (S 1 ) a λc (S 1 ). Pre farby s vlnovými dĺžkami od 493,3 nm po 566,5 nm neexistujú monochromatické komplementárne farby, ich komplementárne farby ležia v oblasti purpurových farieb. Bod na spektrálnej krivke označený ako –λd (S 2 ) má komplementárnu farbu P (S 2 ) ležiacu na priamke purpurov. Achromatické svetlo je väčšinou definované pomocou CIE štandardných iluminantov, ktoré sa nachádzajú približne na Planckovej krivke. 291 19. KOLORIMETRIA 0.9 520 0.8 540 510 0.7 560 0.6 A 500 0.5 y 580 P3 0.4 0.3 620 D65 490 700 P2 0.2 0.1 600 B P1 480 0.0 380 0.1 0.2 0.3 0.4 x 0.5 0.6 0.7 0.8 Obrázok 19.8: CIE 1931 chromatický diagram zobrazujúci pákové pravidlo. Farebné podnety na úsečke AB získame aditívnym zložením farieb A a B. Farebné podnety vnútri trojuholníka P 1 P 2 P 3 získame kombináciou základných farieb P 1 , P2 a P3 . Štandardné biele svetlo (iluminant C) sa nachádza blízko bodu x = y = z = 1/3. Pákové pravidlo Ak máme v diagrame chromatickosti dva body A a B, potom všetky body úsečky AB, tj. farebné prechody z farby A do B získame aditívnym zložením týchto dvoch farieb (obr. 19.8). Toto nazývame pákové pravidlo. Podobne aj v prípade trojuholníka P 1 P 2 P 3 , kde vnútorné body trojuholníka získame kombináciou základných farieb P 1 , P 2 a P 3 . Pri pohl’ade na CIE diagram vidno, že nevieme zostrojit’ trojuholník, ktorý by pokrýval celú plochu. Z toho vyplýva, že nie je možné nájst’ také 3 základné farby, ktoré by určovali všetky farby. Farebný rozsah, ktorý dostaneme zložením zvolených základných farieb sa nazýva gamut farieb. Farebný gamut 292 19.7. MacAdamove elipsy môže byt’ udaný rôznymi polygónmi umiestnenými v diagrame chromatickosti. 19.7 MacAdamove elipsy 0.9 850 0.6 840 810 0.7 820 0.2 0.8 800 860 y 0.4 0.3 200 250 490 700 0.5 0.1 0.0 460 360 0.1 0.5 0.3 0.4 x 0.8 0.2 0.7 0.6 Obrázok 19.9: MacAdamove elipsy zobrazené v CIE 1931 chromatickom diagrame, 10 krát zväčšené oproti svojej skutočnej vel’kosti. Chromatický diagram je značne nelineárny. Vzdialenosti v CIE diagrame chromatickosti nezodpovedajú vnímanému rozdielu medzi farbami. Ak zmiešame farby s rovnakou úrovňou jasu v rovnakom pomere, výsledná farba nebude vždy ležat’ presne v strede medzi týmito dvomi farbami. V 40. rokoch 20. storočia sa David MacAdam zaoberal vizuálnou citilivost’ou na rozdiel farieb a jeho závery dnes poznáme pod názvom MacAdamove elipsy. MacAdamove elipsy sú regióny v diagrame chromatickosti, ktoré obsahujú farby l’udským okom nerozlíšitel’né. Teda na 293 19. KOLORIMETRIA kontúre elipsy sa nachádzajú sotva rozlíšitel’né farby (just noticeable differences). MacAdamove elipsy sú získané štatistickými meraniami vizuálnych vlastností vzorky populácie. Tvar a vel’kost’ elíps závisí od umiestnenia v CIE diagrame. Na obrázku 19.9 je zobrazených všetkých 25 MacAdamových elíps v pomere 10 : 1 v porovnaní so skutočnými vel’kost’ami. Vizuálna citlivost’ na malé rozdiely vo farbe je dôležitý faktor na určenie presnosti pri porovnávaní farieb najmä v priemysle. Na základe práce MacAdama boli vytvorené nové farebné priestory s ciel’om dosiahnut’ perceptuálnu jednotnost’. Najvýznačnejšie sú CIELUV a CIELAB, ktoré sú opísané v častiach 20.1.4 a 20.1.5. Aj ked’ oproti CIE 1931 boli dosiahnuté vylepšenia, MacAdamove elipsy sú takmer kruhové, žiaden z týchto priestorov nie je úplne bez distorzie. 19.8 Štandardné iluminanty Pri určovaní farby objektov je dôležité svetlo, ktoré tento objekt osvetl’uje. Aby sme mohli farbu presne merat’, potrebujeme poznat’ spektrálne zloženie tohto svetla. Medzinárodná komisia pre osvetl’ovanie definovala množinu štandardných iluminantov používaných v kolorimetrii. Pod pojmom iluminant rozumieme prirodzený svetelný zdroj, ktorý je určený pomerným spektrálnym zložením žiarenia dopadajúceho na objekt, ktorý je pozorovaný pozorovatel’om. CIE štandardný iluminant A CIE štandardný iluminant A (obr. 19.10) reprezentuje žiarovkové svetlo s farebnou teplotou 2856 K. Bol definovaný CIE v roku 1931. CIE iluminanty B a C V roku 1931 spolu so štadardným iluminantom A boli definované aj iluminanty B a C (obr. 19.10). Iluminant B reprezentuje priame slnečné svetlo s korelovanou farebnou teplotou 4874 K. Iluminant C reprezentuje priemerné denné svetlo s korelovanou farebnou teplotou 6774 K. Obidva sú však považované za nevhodné pre reprezentovanie prirodzeného denného svetla kvôli ich nepresnosti v oblasti ultrafialového spektra. V súčasnosti sa nepoužívajú a podl’a odporúčania CIE z roku 2004 [CIE04], iluminant C nie je štandardom CIE. 294 19.8. Štandardné iluminanty 300 250 Štandardný iluminant A Iluminant B 200 Iluminant C 150 100 50 0 300 350 400 450 500 550 600 650 700 750 λ/nm Obrázok 19.10: Relatívne spektrálne krivky CIE iluminantov A, B a C. CIE iluminanty D Iluminanty D tvoria hlavnú skupinu iluminantov zodpovedajúcich rôznym typom denného svetla (priame slnečné svetlo, slnečné svetlo s rôznymi stupňami oblačnosti, svetlo za jasného dňa, zatiahnutá obloha) (obr. 19.11). CIE štandardný iluminant D65 reprezentuje denné svetlo v nulovej nadmorskej výške s farbou teploty približne 6504K. Bol odporučený CIE v roku 1964 ako hlavný iluminant pre aproximáciu priemerného denného svetla pre kolorimetriu. CIE ho odporúča použit’ vždy, ked’ je to možné. V prípade ak sa použit’ nedá, treba brat’ do úvahy D50 (5000 K), D55 (5503 K) alebo D75 (7504 K). D50 svetlo na obzore (Horizon Light) D55 ranné/poobedňajšie svetlo (Mid-morning / Mid-afternoon Daylight) D65 svetlo na poludnie (Noon Daylight) D75 svetlo zo severnej oblohy na severnej pologuli (North Sky Daylight) CIE iluminant E Iluminant E je teoretický iluminant s izoenergetickým spektrom, čiže jeho pomerné spektrálne zloženie je uniformné cez viditel’né spektrum. 295 19. KOLORIMETRIA 140 120 100 80 60 Iluminant D65 Iluminant D50 Iluminant D55 Iluminant D75 40 20 0 300 350 400 450 500 550 600 650 700 750 λ/nm Obrázok 19.11: Relatívne spektrálne krivky CIE iluminantov skupiny D. Iluminant E nezodpovedá žiareniu čierneho telesa, a preto sa nevyjadruje vo farebnej teplote. CIE iluminanty F Iluminanty F je séria zodpovedajúca rôznym fluorescenčným lampám s označeniami F1 až F12. 19.8.1 Štandardné zdroje svetla CIE rozlišuje medzi iluminantami a zdrojmi svetla. Kým iluminant je daný špecifickým spektrálnym zložením žiarenia dopadajúceho na pozorovaný objekt, pod zdrojom svetla rozumieme fyzické zariadenie vyžarujúce svetlo, ako lampa alebo slnko. Iluminanty sú dôležité pre kolorimetrické výpočty, a preto potrebujeme mat’ aj ich fyzikálne realizácie. Iluminant nie je vždy presne realizovaný svetelným zdrojom. CIE odporúča nasledovné štandardné zdroje pre aproximaciu iluminantov. Štandardný zdroj A Štandardný zdroj A je plynom plnená žiarovka s volfrámovým vláknom (500 W) s farebnou teplotou 2854 K. 296 19.8. Štandardné iluminanty Štandardné zdroje D, simulátory denného svetla Pre iluminanty skupiny D CIE neodporúča žiadne umelé svetelné zdroje, kvôli ich zložitému spektrálnemu zloženiu. CIE však odporúča simulátory denného svetla pre účely kolorimetrie. Kvalita simulátora môže byt’ meraná pomocou CIE indexu metamerizmu. Podl’a knihy [WS00] je vhodným simulátorom iluminantu D65 napríklad xenónová výbojka s filtrom (filtered high-presure xenon arc lamp – Xe5). Štandardné zdroje F V prípade, že treba vybrat’ iba zopár typických fluorescenčných lámp, CIE odporúča používat’ prioritne iluminanty F2, F7 a F11. CIE v technickej správe CIE15:2004, uvádza aj novú množinu fluorescenčných lámp s označením FL3.1 – FL3.15, kde FL3.15 je odporučená ako simulátor iluminantu D65. 297 K APITOLA 20 Modely a priestory farieb 20.1 Homogénne priestory farieb V priestore XYZ aj v CIE diagrame nezodpovedajú lineárne vzdialenosti na rôznych miestach priestoru subjektívne vnímaným rozdielom vo farbe a naopak. Takáto nehomogénnost’ je problémom pre aplikácie, kde je potrebné merat’ rozdiel farieb. Vývoj formuly pre výpočet rozdielu dvoch farieb (color difference formulae), ktorá bola nevyhnutná najmä pre priemysel, bol problematický. Nájst’ veličinu, ktorá by uspokojivo opísala rozdiel vnímaný pozorovatel’om medzi dvoma danými farebnými podnetmi, spočíva v schopnosti pozorovatel’a posúdit’ relatívnu vel’kost’ farebného rozdielu týchto dvoch farebných podnetov. Hodnotenie pozorovatel’a sa mení v závislosti od pozorovacích podmienok. Preto boli pre rôzne experimentálne podmienky vyvinuté rôzne formuly. Boli snahy vyvinút’ farebný priestor, ktorý bude vnemovo rovnomerný, čo znamená, že rozdiel farieb medzi dvoma bodmi (dvomi farbami) jednotkovej vzdialenosti v takomto priestore je rovnako vnímaný pre všetky farby. Tieto vlastnosti sa nepodarilo dosiahnut’ v žiadnom z fyzicky a technicky orientovaných priestorov. Treba si ale uvedomit’, že neexistuje farebný priestor, ktorý by nebol skreslený. Preto, ak hovoríme o „homogénnom“ priestore, myslíme „viac-menej“ homogénny priestor. Homgénne priestory farieb sú zaujímavé v rôznych oblastiach počítačového videnia, obzvlášt’, ak porovnávame podobné farby. Tieto modely sú nezávislé od 298 20.1. Homogénne priestory farieb zariadenia. Avšak transformácie do iných priestorov farieb sú výpočtovo vel’mi náročné. Toto môže byt’ problémom najmä vtedy, ked’ spracovávame video v reálnom čase. Homogénne priestory farieb majú využitie najmä v tých aplikáciách počítačového videnia, v ktorých sa snažíme priblížit’ k l’udskému spôsobu vnímania farieb, ako je výber obrazov z databázy (image retrieval), alebo ohodnotenie kvality obrazu (image quality assessment). Nie je výhodné použit’ ich tam, kde nie je priame spojenie medzi l’udským vizuálnym systémom ako v prípade sterea, alebo sledovania pohybu (motion tracking) kvôli vel’kej časovej náročnosti pri nelineárnych transformáciách z RGB. Bolo vyvinutých viacero homogénnych priestorov farieb, v ktorých sa chceli ich autori priblížit’ k homogénnosti. Prvý pokus urobil v roku 1935 D. B. Judd. V nasledujúcom texte uvedieme tie priestory, ktoré boli prijaté komisiou CIE. Najvýznamnejšie z nich sú priestory CIELAB a CIELUV. Farebný priestor CIELAB sa používa pri opise farieb matných materiálov a povrchov, kým CIELUV je obvykle vhodný pre opis farby svetla. 20.1.1 CIE 1960 Yuv V roku 1937 navrhol David MacAdam farebný priestor Yuv, ktorý CIE prijala v roku 1960 ako štandardný homogénny farebný diagram. V literatúre sa môžeme stretnút’ s označeniami CIEYUV (1960), CIE–uv (1960) alebo CIE UCS 1960 (uniform chromaticity-scale) diagram. Nové súradnice u a v sú dosiahnuté pomocou lineárnej transformácie 2x , 6y − x + 1, 5 3y , v= 6y − x + 1, 5 u= (20.1) kde x, y sú z priestoru Yxy. Transformácia 20.1 má zabezpečit’, že v novovzniknutom chromatickom diagrame bude vektor jednotkovej vel’kosti vnímaný pre všetky farby rovnako. Rozdielová nerovnomernost’ je značne, ale nie dostatočne, redukovaná. Tretia súradnica je redundantná. 20.1.2 CIE 1964 U*V*W* Günther Wyszecki na základe CIE 1960 UCS vytvoril farebný priestor CIE 1964 (U ∗V ∗W ∗ ), tiež označovaný skratkou CIEUVW, v ktorom bola nelinearita oproti CIE 1960 UCS lepšie redukovaná. Neskôr ho nahradil CIE 299 20. M ODELY A PRIESTORY FARIEB 1976 L*u*v*. Wyszeckeho priestor je definovaný nasledovne U∗ = 13W ∗ (u − u0 ), ∗ = 13W ∗ (v − v 0 ), W∗ = 25Y (1/3) − 17, V (1 ≤ Y ≤ 100), (20.2) kde u, v sa rovná 4x 4X = , X + 15Y + 3Z −2x + 12y + 3 6Y 6y v= = , X + 15Y + 3Z −2x + 12y + 3 u= a u0 , v 0 sú hodnoty premenných u, v, pre achromatickú farbu umiestnenú v začiatku (U ∗ , V ∗ ) – systému. Pre farby objektov je postačujúce, ak výber u0 , v 0 zodpovedá iluminantu. X , Y , Z sú trichromatické zložky a x, y sú chromatické súradnice. 20.1.3 CIE 1976 Yu’v’ Na základe neskorších výskumov CIE v roku 1976 modifikovala UCS 1960. Išlo o lineárnu transformáciu priestoru Yuv, kde Y a u zostáva nezmenené a v súradnica je 1,5 násobkom v. V CIE 1976 UCS je rozdielová nelinearita v porovnaní s UCS 1960 mierne redukovaná, ale stále nie dost’. Hodnoty u , v môžu byt’ definované pomocou trichromatických zložiek X , Y , Z alebo pomocou chromatických súradníc x, y nasledovne u v 4x 4X = , X + 15Y + 3Z −2x + 12y + 3 9y 9Y = . = 1, 5v = X + 15Y + 3Z −2x + 12y + 3 =u = (20.3) 20.1.4 CIE 1976 L*u*v* CIE 1976 L ∗ u ∗ v ∗ je prvý takmer homogénny priestor farieb odporučený CIE, určený pre farebné svetelné zdroje. Je vylepšenou verziou CIE 1964 U ∗V ∗W ∗ . Je to nelineárny farebný priestor, ale konverzie sú vratné. De300 20.1. Homogénne priestory farieb finovaný je nasledovne L∗ = ∗ = v∗ = u ⎧ : ;1/3 ⎪ ⎨ 116 YY − 16, n : ; ⎪ ⎩ 903, 3 Y , Yn ∗ ak Y Yn > 0, 008856, ak Y Yn ≤ 0, 008856, 13L (u − un ), 13L ∗ (v − v n ), (20.4) kde hodnoty u , v sú definované podl’a 20.3 a hodnoty un , v n dostaneme, ak do 20.3 dosadíme za X, Y, Z trichromatické hodnoty X n , Yn , Z n , opisujúce biely referenčný bod. Obvykle sú dané spektrálnym zložením žiarenia jedného zo štandardných CIE iluminantov D65 alebo A. Pri týchto podmienkach sú X n , Yn , Z n trichromatické zložky štandardného iluminanta s Yn rovným 100. Krivka pre L ∗ je pre hodnoty menšie ako 0, 008856 lineárna. Podl’a štandardizácie CIE je najlepšia aproximácia tejto krivky funkcia x 0,4 . Nelineárny vzt’ah s Y je použitý na priblíženie sa k logaritmickej odozve oka. Hodnoty L ∗ sa pohybujú v rozmedzí 0 až 100 a relatívny jas Y /Yn v rozmedzí 0 až 1. V priestore L ∗ u ∗ v ∗ je pre konštantné L ∗ zapracovaný (u , v )-chromatický diagram, ktorý je projektívnou transformáciou CIE 1931 (x, y)-chromatického diagramu. Priamky v (x, y)-chromatickom diagrame zostanú po transformácii do (u , v )-diagramu zachované. Toto je dôležitá vlastnost’ v prípade, že farebné podnety sú zmiešavané aditívne. Ked’že pozícia bodov v (u ∗ , v ∗ )-diagrame závisí od hodnoty L ∗ , nie sú v jednoznačnom vzt’ahu k chromaticite. Avšak pre konštantné L, priamky z (x, y)chromatického diagramu alebo z (u , v )-chromatického diagramu zostanú priamkami aj v (u ∗ , v ∗ )-diagrame. Rozdiel farieb Nech [L 1 , u1 , v 1 ] a [L 2 , u2 , v 2 ] sú dve rôzne farby z L ∗ u ∗ v ∗ priestoru. Potom rozdiel týchto dvoch farieb je jednoducho Euklidovská vzdialenost’ ∗ E uv = (L 1 − L 2 )2 + (u1 − u2 )2 + (v 1 − v 2 )2 . (20.5) ∗ menší ako 1 je nepostrehnutel’ný, rozdiely v rozmedzí 1 až Rozdiel E uv 4 môžu a nemusia byt’ postrehnutel’né v závislosti od toho, z ktorej časti farebného priestoru pochádzajú. Rozdiel väčší ako 4 je postrehnutel’ný. 301 20. M ODELY A PRIESTORY FARIEB Polárne súradnice V praxi je často výhodnejšie použit’ polárne súradnice, ktoré lepšie vystihujú vnímanie l’udského oka, ako karteziánske. Sú vyjadrené prostredníctvom oddelených komponentov ako vnímaná svetlost’ (lightness L ∗ ), chroma (C ∗ ) a tón farby (hue huv ). Niekedy sa používa aj psychometrické nasýtenie (saturation suv ), čo je vlastne pomer chromy a svetlosti. Aby tento priestor bol viac priaznivý pre používatel’a, CIE definovala dva analogické priestory C I E LC Huv a C I E LH S uv . Chroma, tón farby a saturáciu pre L ∗ u ∗ v ∗ vypočítame nasledovne C∗ = huv = s uv = : ;0,5 u ∗2 + v ∗2 , + ∗, v arctan ∗ , u C∗ . L∗ (20.6) Výhodou takejto reprezentácie je, že je oddelená jasová zložka od farebnej, čo môže byt’ výhodou napríklad pri segmentácii objektov, kde nechceme, aby jas (osvetlenie, tieňovanie) ovplyvňoval výsledok. 20.1.5 CIE 1976 L*a*b* V roku 1976 bol vytvorený aj model CIE L ∗ a ∗ b ∗ , ktorý je určený pre farebné objekty s difúznym povrchom. Takýto priestor prvýkrát navrhol Hunter v roku 1948 a ide o d’alšiu transformáciu kolorimetrického priestoru CIEXYZ. V súčasnosti pod skratkou Lab rozumieme priestor CIE 1976 L ∗ a ∗ b ∗ označovaný aj skratkou CIELAB, ktorý je podobný Hunterovmu Lab priestoru. Rozdiel je iba v spôsobe, ako vypočítame koeficienty. CIE L ∗ a ∗ b ∗ je oponentný trojdimenzionálny farebný priestor, ktorý sa skladá z jasovej zložky L ∗ a dvoch farebných zložiek a ∗ a b ∗ . Hodnoty jasovej zložky L ∗ sa pohybujú od 0 (čierna) po 100 (biela). Farebné zložky tvoria dve osi, pričom záporné hodnoty osi a ∗ zodpovedajú zelenej farbe a oproti tomu kladné hodnoty komplementárnej fialovej farbe. Na osi b ∗ zodpovedajú záporné hodnoty modrej a kladné k nej komplementárnej žltej farbe. 302 20.1. Homogénne priestory farieb L∗ = a∗ = b∗ = ⎧ : ;1/3 ⎪ ⎨ 116 YY − 16, ak n : ; ⎪ ⎩ 903, 3 Y , ak Yn + , + , X Y 500 f −f , Xn Yn + , + , Y Z 200 f −f , Yn Zn Y Yn > 0, 01, Y Yn ≤ 0, 008856, (20.7) kde f (t ) = ⎧ ⎨ t 1/3 , ak Y Yn > 0, 01, ⎩ 7, 787t + 16 , 116 ak Y Yn ≤ 0, 008856. X n , Yn , Z n sú trichromatické hodnoty opisujúce biely referenčný bod, ktorý reprezentuje perfektne matné biele teleso osvetlené CIE štandardným iluminantom D65, A alebo C. Pri týchto podmienkach sú X n , Yn , Z n trichromatické zložky štandardného iluminanta s Yn rovným 100. Treba si všimnút’ vo vzorci tretiu odmocninu, ktorá bola zavedená z dôvodu získania homogénneho izotropného farebného telesa (isotropic color solid). L ∗ má škálu rozdelenú približne rovnomerne podl’a vnímanej sensitivity. Treba podotknút’, že rozdiely medzi rovnako vzdialenými bodmi na osi Y sú viac postrehnutel’né v tmavších častiach než vo svetlých. L ∗ je identická s L ∗ v CIELUV, ale pre a ∗ a b ∗ neexistuje jednoduchý vzt’ah k zložkám u ∗ a v ∗ z CIELUV. Ked’že pozícia a ∗ a b ∗ závisí od hodnoty L ∗ , nie je možné ich zakreslit’ do roviny, a preto na rozdiel od CIELUV, CIELAB nemá chromatický diagram. V priestore CIELAB priamky z (x, y)-chromatického diagramu nie sú namapované na priamky ako v CIELUV, ale ich obrazy sú zakrivené. Polárne súradnice Podobne ako pre CIELUV, CIE definovala analogický priestor CIELCH vyjadrený pomocou polárnych súradníc, ktoré môžeme vypočítat’ nasledovne: : ;0,5 C∗ = a ∗2 + b ∗2 , + ∗, a h ab = arctan ∗ . b (20.8) 303 20. M ODELY A PRIESTORY FARIEB Ked’že CIELAB nemá chromatický diagram, saturácia nie je v tomto priestore definovaná. Rozdiel farieb Formula pre rozdiel farieb je definovaná ako Euklidovská vzdialenost’ v 3D priestore CIELAB ∗ E ab = 3 L∗ 2 + a ∗2 + b∗2. (20.9) 20.1.6 CIE CAM02 CIE sa snažila zakomponovat’ do svojich modelov čoraz viac fenomén vzhl’adu farby, aby lepšie modelovali l’udské vnímanie farieb. Ako výsledok takéhoto snaženia vznikol v roku 2002 model CIECAM02. Model vzhl’adu farby (Color appearance model – CAM) modeluje spôsob, akým l’udský vizuálny systém vníma farby objektov pri rôznych svetelných podmienkach a s rôznym pozadím. Farby v obraze, ktorý sledujeme, môžu byt’ v takomto modeli prispôsobené, aby vyzerali rovnako pri rôznych svetelných podmienkach. Toto umožňuje vyvinút’ spôsob ukladania obrazov nezávislý od zariadenia. Napríklad, ak je obraz naskenovaný do počítača a sú známe osvetl’ovacie podmienky, pomocou CAM ho môžeme transformovat’ do internej reprezentácie a následne, ak má byt’ tento obraz zobrazený na monitore alebo vytlačený pri známych svetelných podmienkach, môže byt’ transformovaný z jeho internej reprezentácie do takej, aby bol vizuálne rovnaký ako pôvodný – skenovaný. CIECAM02 je momentálne najzložitejší používaný farebný model. Berie do úvahy osvetl’ujúci zdroj, osvetlenie okolia, pozadie, farebnú škálu a mnoho d’alších vplyvov. Jeho predchodcom bol CIECAM97. 20.2 Hardvérovo orientované modely V nasledujúcom texte budeme používat’ pojmy farebný priestor a farebný model. Preto si najprv vysvetlime rozdiel medzi nimi. Farebný model je abstraktný matematický model, opisujúci spôsob, ako môžeme farby reprezentovat’ pomocou n-tíc čísiel. Obvykle sú to tri alebo štyri hodnoty alebo farebné komponenty. Ak je takýto model asociovaný s presným predpisom, ako sú jednotlivé komponenty interpretované, hovoríme o farebnom priestore. Napríklad AdobeRGB a sRGB sú dva rôzne farebné priestory, obidva založené na RGB modeli. 304 20.2. Hardvérovo orientované modely Niektoré farebné priestory, ako ProphotoRGB, obsahujú všetky farby, ktoré sú v Adobe RGB a Adobe RGB obsahuje takmer všetky farby z sRGB. Vo všeobecnosti, ak konvertujeme jeden farebný priestor do druhého, môžeme dostat’ farby, ktoré sú mimo ciel’ového priestoru. Takéto farby nemôžu byt’ reprezentované v novom priestore farieb presne, označujeme ich „farby mimo gamut“. 20.2.1 Lineárny model RGB Základnými (primárnymi) farbami modelu RGB sú R – (Red) červená, G – (Green) zelená, B – (Blue) modrá. Ostatné farby sa vyjadrujú aditívnym skladaním týchto farieb. Vyjadrujeme ich pomocou váhového súčtu jednotlivých zložiek. Môžeme to prirovnat’ k rozsvecovaniu farebných svetiel. Čím majú zložky jednotlivých farieb väčšiu hodnotu, tým je výsledná farba svetlejšia. Skladaním primárnych farieb tvoríme takzvané sekundárne farby. V tomto modeli sú to modrozelená (cyan), fialová (magenta) a žltá (yellow). Model RGB je reprezentovaný jednotkovou kockou umiestnenou v začiatku súradnicovej sústavy Euklidovského priestoru, E 3 , v jeho prvom oktante (obr. 20.1). Jednotlivé osi súradnicového systému reprezentujú množstvo príslušnej farebnej zložky vo výslednej farbe. Intenzita základných farieb sa v tomto modeli pohybuje v intervale 〈0, 1〉. Z toho vyplýva, že množina základných farieb vo vrcholoch kocky predstavuje 8 farieb, ktoré tvoria primárne, sekundárne farby, biela a čierna. Vrchol [0, 0, 0] (tj. stred súradnicového systému) zodpovedá čiernej farbe (black). Naproti tomu vrchol [1, 1, 1] zodpovedá bielej farbe (white). Farby ležiace na diagonále medzi týmito vrcholmi zodpovedajú odtieňom šedej (gray). Pri technickej implementácii je rozsah najčastejšie kódovaný pomocou 8 bitov (tj. 256 dielov). Intenzitu každého obrazového bodu môžeme teda opísat’ 24 bitmi, čo predstavuje presnost’ resp. farebnú hĺbku „true color“. V RGB farebnom modeli môžeme vytvorit’ 2563 = 16, 8 milióna farieb. Pre l’udské oko by postačovalo aj delenie na 100 dielov namiesto 256. Pri praktickom nastavovaní sa preto používa percentuálne nastavenie jednotlivých zložiek. Daný model je v porovnaní s inými modelmi najviac technicky orientovaný. Tento model sa používa pre farebné monitory. Všetky monitory a televízory tvoria farby tak, že na obrazovke na každý bod svietia tri lúče: červený, zelený a modrý. Avšak RGB model nie je vel’mi efektívny pri 305 20. M ODELY A PRIESTORY FARIEB B (0,0,1) (0,1,0) (1,0,0) G R Obrázok 20.1: Model RGB reprezentovaný jednotkovou kockou. V osiach sa nachádzajú primárne farby R, G, B a v počiatočnom bode [0,0,0] sa nachádza čierna farba. práci s reálnymi obrazmi. Medzi zložkami v RGB modeli je vel’ká korelácia a pri akejkol’vek modifikácii obrazu treba spravidla modifikovat’ všetky tri zložky. 20.2.2 Model RGBA V tomto prípade je k červenému, zelenému a modrému kanálu pridaný d’alší, tzv. alfa-kanál. Ten uchováva informáciu o priehl’adnosti (transparency). Alfa-kanál má väčšinou rovnaký rozsah ako ostatné tri kanály a určuje, v akom pomere bude daná farba zmiešaná s farbou na pozadí obrazu • Hodnota 0 znamená úplne priehl’adný objekt, • Hodnoty z intervalu (0, 1) znamenajú čiastočne priesvitný objekt, • Hodnota 1 znamená úplne nepriesvitný objekt. 20.2.3 Nelineárne priestory RGB Aby sme mohli jednoznačne definovat’ farebný priestor, potrebujeme chromatické súradnice troch primárnych farieb a referenčnú bielu farbu. V praxi bolo vyvinutých množstvo RGB priestorov s rôznymi primárnymi farbami a referenčnou bielou, aj ked’ väčšinou ich hodnoty nie sú prístupné pre používatel’a. Pri manipulácii s multimédiami používatelia väčšinou predpokladajú, že všetky obrazy sú reprezentované rovnakým RGB 306 20.2. Hardvérovo orientované modely priestorom, avšak ak nemáme k dispozícii chromatické súradnice primárnych farieb, akékol’vek manipulovanie s obrazom nie je presné. Gama korekcia Rôzne zariadenia majú odlišné fotosenzory. Aby sme dostali presnú reprodukciu farby na rôznych zariadeniach, pridáva sa tzv. gama korekcia. Gama korekcia slúži na kompenzáciu nelinearity televíznej obrazovky, kde napríklad trojnásobne silnejšiemu napätiu nezodpovedá 3× jasnejší svit daného miesta obrazovky. Pôvodné lineárne signály sa označujú RGB, po gama korekcii R’G’B’. Pre rôzne zariadenia môže byt’ použitá rôzna hodnota gama. Aj ked’ by bolo možné zvolit’ tri primárne farby tak, aby pokryli čo najväčšiu plochu v CIE xy-diagrame, sú väčšinou volené tak, aby luminofory boli vyrobitel’né a energetické nároky neboli príliš vysoké. Zakreslením bodov reprezentujúcich jednotlivé primárne farby do CIE xy-chromatického diagramu dostaneme paletu farieb zobrazitel’ných na danom zariadení. Toto sa nazýva gamut zariadenia. Každý RGB farebný priestor je definovaný pre špecifické zariadenie so svojími RGB a gama hodnotami. Referenčná biela je farba referenčného bieleho podnetu. Ako referenčná biela sa väčšinou používa jeden z CIE štandardných iluminantov (D65, C, D50 . . . ). Bolo navrhnutých vel’a rozličných množín kriviek trichromatických členitel’ov, aby sme mohli správne vizualizovat’ farbu na displejoch, čo má za následok rôzne RGB štandardy, napr. NTSC-RGB, PAL-RGB a sRGB. Proces prispôsobenia hodnôt farieb pre rôzne zariadenia (napr. kameraRGB, monitorRGB, printerRGB) má na starosti systém správy farieb (CMS). Farebný priestor sRGB Farebný priestor sRGB má primárne farebné podnety definované v štandarde ITU-R BT.709 (tab. 20.1). Na rozdiel od iných RGB priestorov, gama pre sRGB sa nedá vyjadrit’ jedným číslom. Gama korekcia pozostáva z lineárnej časti (gama 1,0) v tmavých hodnotách a nelineárnej časti na zvyšku intervalu. Hodnoty gama prechádzajú od 1,0 až po 2,4. Celková približná gama hodnota je 2,2. Transformácia z CIE XYZ na sRGB je nasledovná ⎡ ⎤ ⎡ R sRGB 3, 2410 ⎣G sRGB ⎦ = ⎣−0, 9692 B sRGB 0, 0556 −1, 5374 1, 8760 −0, 2040 ⎤ ⎡ ⎤ −0, 4986 X 0, 0416 ⎦ . ⎣Y ⎦ . 1, 0570 Z (20.10) 307 20. M ODELY A PRIESTORY FARIEB Tabul’ka 20.1: Chromatické súradnice primárnych podnetov R, G, B priestoru sRGB dané vo farebnom priestore xyY. Chromatické súradnice x y Y Červená R 0,6400 0,3300 0,2126 Zelená G 0,3000 0,6000 0,7153 Modrá B 0,1500 0,0600 0,0721 Biely bod D 65 0,3127 0,3290 1,0000 sRGB je odporúčaný farebný priestor pre Internet a od roku 2007 je najviac používaným RGB priestorom. Môže byt’ použitý pre editovanie a ukladanie obrazov určených na publikovanie na webe, avšak jeho farebná škála je limitovaná. Pokrýva približne 36 % viditel’ných farieb. Obrazy určené na profesionálnu tlač môžu preto stratit’ na kvalite. V tom prípade je lepšie použit’ iný farebný priestor, napr. Adobe RGB, ktorý má inú farebnú škálu. Farebný priestor Adobe RGB Farebný priestor Adobe RGB vyvinula firma Adobe Systems v roku 1998 tak, aby obsahoval väčšinu farieb dosiahnutel’ných v CMYK tlačiarňach pomocou reprezentácie hodnôt RGB na monitore. Tento priestor obsahuje približne 52 % viditel’ných farieb, a oproti sRGB má rozsiahlejší gamut hlavne v oblasti fialovo – zelených farieb. Farebný priestor Adobe Wide Gamut RGB Spoločnost’ Adobe System navrhla aj d’alší RGB priestor Adobe Wide Gamut RGB. Tento pokrýva až 77,6 % viditel’ných farieb vd’aka čisto spektrálnym primárnym podnetom, ktorých chromatické súradnice spolu s bielym bodom D 50 sú v tabul’ke 20.2. 20.2.4 Model CMY Základnými farbami modelu CMY sú C – (Cyan) modrozelená, tyrkysová, M – (Magenta) fialová, purpurová, Y – (Yellow) žltá. 308 20.2. Hardvérovo orientované modely Tabul’ka 20.2: Chromatické súradnice primárnych podnetov R, G, B priestoru Adobe Wide Gamut RGB. Chromatické súradnice CIE x CIE y Vlnové dĺžky Červená R 0,7347 0,2653 700 nm Zelená G 0,1152 0,8264 525 nm Modrá B 0,1566 0,0177 450 nm Biely bod D 50 0,3457 0,3585 Model CMY vychádza z maliarskeho miešania farieb, pri ktorom pridávaním hodnôt jednotlivých farebných zložiek dostávame výslednú farbu tmavších odtieňov, ide o tzv. subtraktívne miešanie farieb. Môžeme si to predstavit’ ako nanášanie filtrov, kde napr. žltý pri dopade bieleho svetla všetky vlnové dĺžky pohltí, odrazí iba žltú (obrázok 20.2). Obrázok 20.2: Princíp maliarskeho miešania farieb. Z bieleho svetla sa po dopade na žltý filter odrazia iba vlnové dĺžky zodpovedajúce žltej farbe, všetky zvyšné vlnové dĺžky pohltí filter. Farebný model CMY sa najčastejšie reprezentuje ako jednotková kocka umiestnená v osiach C, M, Y (obr. 20.3). Intenzita základných farieb sa v tomto modeli pohybuje v intervale 〈0, 1〉. Vo vrcholoch kocky sa nachádzajú tzv. základné farby. Vrchol [0, 0, 0] zodpovedá bielej farbe a vrchol [1, 1, 1] čiernej farbe. Farby ležiace na diagonále medzi týmito vrcholmi zodpovedajú odtieňom šedej. Ich nárast je v opačnom smere ako v modeli RGB. 309 20. M ODELY A PRIESTORY FARIEB Y (0,0,1) (0,1,0) M (1,0,0) C Obrázok 20.3: Model CMY reprezentovaný jednotkovou kockou. V osiach sa nachádzajú sekundárne farby C, M, Y a v počiatočnom bode [0,0,0] sa nachádza biela farba. Transformácie medzi modelom RGB a modelom CMY Transformácia RGB na CMY je daná Cyan Magenta Yellow = = = 1 − Red, 1 − Green, 1 − Blue. (20.11) Inverzná transformácia CMY na RGB je nasledovná Red Green Blue = = = 1 − Cyan, 1 − Magenta, 1 − Yellow. (20.12) 20.2.5 Model CMYK Subtraktívne miešanie je vhodné na tlačiarenské účely, hlavne pri atramentových tlačiarňach, kde sa uplatňuje model CMYK (K – black or key), v ktorom je pridaná čierna farba. Pri tlači sa výsledná farba v skutočnosti nemieša, ale postupne sa nanášajú jednotlivé farby v podobe vzorov natočených pod rôznym uhlom. Takýto postup ale nie je dostatočne presný a pri tlačení čiernej farby dostaneme skôr tmavohnedú, resp. tmavošedú. Preto sa pridáva zvlášt’ čierna farba, ktorá je väčšinou v samostatnom toneri a tlačí sa samostatne. Ďalší dôvod je ekonomický, pri tvorbe čiernej sa míňajú všetky tri farebné tonery, čo je finančne náročné. Vytlačený do310 20.3. Modely farieb v televíznej a videotechnike kument alebo obraz odráža svetlo, ktoré ho osvetl’uje. Niektoré svetlo je pohltené, zvyšné odrazené. Priestor CMYK je taktiež neintuitívny pre používatel’ov a takisto ako iné uvedené modely farieb nelineárny na vnímanie. Farebné priestory RGB a CMYK sú závislé od zariadenia, na ktorom sa používajú. CMYK taktiež závisí od atramentu a od použitého papiera. S rozličnými zariadeniami dostaneme rôzne prenosové charakteristiky medzi špecifikovanými CMY(K) hodnotami a množstvom farby na papieri. Konverzie sú dané systémom správy farieb (CMS), ktoré využívajú profily farieb. Napriek tomu konverzie nemôžu byt’ úplne presné, pretože sú tu vel’mi odlišné gamuty. Transformácie medzi CMY a CMYK Na prevod farieb medzi CMY a CMYK je často uvádzaná nasledovná vel’mi jednoduchá transformácia Transformácia CMY na CMYK je daná K = min (C , M, Y ) , C = (C − K ) / (1 − K ) , M = (M − K ) / (1 − K ) , Y = (Y − K ) / (1 − K ) . (20.13) Transformácia CMYK na CMY je nasledovná C = min(1,C (1 − K ) + K ), M = min(1, M(1 − K ) + K ), Y = min(1, Y (1 − K ) + K ). (20.14) Táto nenáročná transformácia je skôr ilustratívna, ak sa použije na tlač, výsledná reprodukcia farieb bude vel’mi zlá. Vhodnejšie je vypočítat’ konverziu z RGB do CMY(K) cez trichromatické zložky XYZ. 20.3 Modely farieb v televíznej a videotechnike Modely farieb opísané v tejto časti sú asi najmenej známe zo všetkých uvedených v tejto kapitole. Používajú sa najmä tam, kde sa spracovanie 311 20. M ODELY A PRIESTORY FARIEB obrazu a počítačové videnie stretáva s televíznou alebo videotechnikou. Po rozšírení čiernobieleho televízneho signálu na farebný bolo potrebné nájst’ spôsob, ako tento signál komprimovat’, pretože prenos farebného signálu v podobe RGB by vyžadoval trikrát väčšiu kapacitu čiernobieleho signálu. S využitím vlastností l’udského oka, ktoré je ovel’a citlivejšie na zmeny v jase ako vo farbe bola oddelená jasová zložka od zložiek vyjadrujúcim farebu. Zároveň bolo treba zachovat’ spätnú kompatibilitu, aby sa mohli nad’alej používat’ aj čiernobiele prijímače. Pridaný farebný signál nesmel viditel’ne ovplyvňovat’ kvalitu čiernobieleho signálu a zároveň tento musel byt’ jednoducho vyfiltrovatel’ný. V rôznych častiach sveta vznikli viaceré systémy na kódovanie farebného signálu a každý riešil spätnú kompatibilitu na čiernobiely signál po svojom. Spoločnou vlastnost’ou všetkých modelov je ich oddelená jasová zložka (luma) od chromatickej. Ked’že vel’ké percento jasu je tvorené zelenou primárnou farbou, chromatické zložky sú založené na zvyšných dvoch primárnych farbách červenej a modrej. Prvá chromatická zložka je vytvorená odpočítaním hodnoty lumy od nelineárnej modrej (B’–Y’) a druhá odpočítaním lumy z nelineárnej červenej (R’–Y’). Tieto zložky sa nazývajú chroma. Zložky modelov sú počítané z nelineárnych gama korigovaných hodnôt R’G’B’ a preto, vždy ked’ je použitá gama korekcia, používa sa apostrof väčšinou pri jasovej zložke, napríklad Y’CbCr. V rôznych aplikáciách sa používajú rozdielne škálovacie faktory na (B’–Y’) a (R’–Y’). Škálovacie faktory Y´PbPr sú optimalizované pre analógové video. V modeli Y’CbCr je škálovanie vhodné pre digitálne video ako štúdiové video, JPEG a MPEG. Kodak Photo YCC používa škálovacie faktory optimalizované pre gamut farebného filmu. Y’UV je škálovanie vhodné pre medzikrok vo formovaní kompozitných NTSC a PAL video signálov. Vo všeobecnosti môžeme zapísat’ Y = k r R + k g G + k b B, Cb = B −Y, Cr = R −Y, (20.15) kde k r , k g a k b sú vhodné koeficienty a k r + k g + k b = 1. Polárne súradnice Chromatické komponenty (B’–Y’) a (R’–Y’) môžeme vyjadrit’ pomocou polárnych súradníc, aby sme lepšie reprezentovali perceptuálne atribúty 312 20.3. Modely farieb v televíznej a videotechnike ako odtieň farby a saturáciu. Hodnoty môžeme vypočítat’ nasledovne: + , B −Y H = tan−1 , R −Y 3 (B − Y )2 + (R − Y )2 . S = (20.16) Tieto modely sú vnemovo nehomogénne, takže nie je vhodné používat’ na meranie rozdielu medzi dvomi farbami euklidovskú vzdialenost’. 20.3.1 Model YIQ Farebný model YIQ bol zavedený americkou komisiou NTSC (National Television Standard Committee) v roku 1953. Je tu oddelená jasová zložka od farebných. Y zložka (luma) zodpovedá vnímanému jasu a je to zložka, ktorú využívajú čiernobiele televízne prijímače, kým zložky I a Q kódujú chromatickú informáciu. Vd’aka oddelenej jasovej zložke je možná manipulácia s jasom bez ovplyvnenia farebnej zložky, napríklad pri ekvalizácii histogramu. Zložka I znamená in-phase (činná zložka) a nesie informáciu o tóne farby v rozmedzí medzi oranžovou a modrozelenou. Zložka Q znamená quadrature (kvadrant), a nesie informáciu o tóne farby medzi zelenou a purpurovou. Chromatické zložky spoločne kódujú odtieň farby aj saturáciu. Tento model berie do úvahy fakt, že l’udské oko je výrazne citlivejšie na zmeny v jase ako v odtieni farby alebo saturácii, a preto sa používa väčšia šírka pásma pre Y ako pre I a Q. Väčšia šírka pásma pre zložku Y umožňuje aj lepšie vysporiadanie sa s vizuálnymi chybami spôsobenými kvantizáciou počas prenosu alebo spracovania. Zložka Y je vytvorená tak, že gama korekcia sa najskôr aplikuje na lineárny model RGB a potom sa vypočíta váhovaný súčet nelineárnych komponentov R’G’B’. Výsledná zložka vyjadruje jas, nie je však rovnaká ako CIE Y, napriek tomu, že použité označenie je rovnaké. Presné škálovanie farebných osí bolo definované tak, aby zodpovedalo spektrám žiarenia luminoforov používaným v televíznych obrazovkách v rôznych častiach sveta. Gama korekcia používaná NTSC pre CRT je 2,2. Biely bod systému je štandardný iluminant C. Koeficienty, ktoré zodpovedajú NTSC červenému, zelenému a modrému luminoforu CRT obrazovky, sú štandardizované v ITU-R Rec. BT. 601. Luma je vypočítaná z nelineárnych komponentov R’G’B’ nasledovne Y601 = 0, 299R + 0, 587G + 0, 114B . (20.17) 313 20. M ODELY A PRIESTORY FARIEB Transformácie medzi RGB a YIQ Transformácia z R’G’B’ do Y’IQ je daná ⎡ ⎤ ⎡ 0, 299 0, 587 Y ⎣ I ⎦ = ⎣0, 596 −0, 274 0, 211 −0, 523 Q ⎤⎡ ⎤ 0, 114 R 0, 322 ⎦ ⎣G ⎦ . 0, 312 B Inverzná transformácia z Y’IQ do R’G’B’ je ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ R 1, 000 0, 956 0, 621 Y ⎣G ⎦ = ⎣1, 000 −0, 272 −0, 647 ⎦ ⎣ I ⎦ . Q B 1, 000 −1, 105 1, 702 (20.18) (20.19) Polárne súradnice Ak uvažujeme polárne súradnice, transformáciu pre odtieň farby a saturáciu môžeme vyjadrit’ nasledovne + , Q HY IQ = tan−1 , I S Y IQ = I 2 + Q 2. (20.20) 20.3.2 Model YUV Tento model sa používal na prenos televízneho signálu v európskej norme PAL a SECAM. Podobne ako pri modeli YIQ, aj v tomto modeli je oddelená jasová zložka od farebnej. Zvyšné dva signály obsahujú informáciu o vel’kosti farebných zložiek obrazu. Symboly U a V tu nesmieme spájat’ s U a V CIE YUV (1960). Zložka Y priestoru YUV je identická s Y v priestore YIQ. Zložka U sa niekedy označuje aj ako B–Y a V ako R–Y. Farebné zložky sa pohybujú v rozsahu –0,5 do +0,5 a jasová zložka má rozsah 0 až 1. YUV je podobný priestoru YIQ, rozdiel je iba v 33-stupňovom otočení farebných osí I = −U . sin(33◦ ) + V. cos(33◦ ), Q = U . sin(33◦ ) + V. cos(33◦ ). (20.21) Norma pre YUV bola špecifikovaná Európskou vysielacou úniou (European Broadcasting Union – EBU). 314 20.3. Modely farieb v televíznej a videotechnike Transformácie medzi RGB a YUV Biely bod systému je D65 a súradnice farieb YUV dostaneme transformáciou z RGB nasledovne ⎤⎡ ⎤ ⎡ ⎤ ⎡ R 0, 299 0, 587 0, 114 Y ⎣U ⎦ = ⎣−0, 147 −0, 289 0, 436 ⎦ ⎣G ⎦ . (20.22) 0, 615 −0, 515 −0, 100 B V Inverzná transformácia je potom daná ⎡ ⎤ ⎡ R 1, 000 0, 000 ⎣G ⎦ = ⎣1, 000 −0, 395 B 1, 000 2, 032 ⎤⎡ ⎤ 1, 140 Y −0, 581⎦ ⎣U ⎦ 0, 000 V (20.23) Y’UV nie je absolútny farebný priestor. Je to v podstate spôsob kódovania RGB informácie a aktuálna zobrazená farba závisí od množiny primárnych farebných podnetov RGB. 20.3.3 Model YPbPr Y’PbPr je model luma-chroma pre prenos analógového videa cez siet’. Používajú sa rozdielne koeficienty pre SDTV a HDTV, ktoré upravujú štandardy ITU (International Telecommunication Union). Koeficienty pre štandardné video SDTV sú dané normou ITU-R BT.601-5, a pre HDTV ich upravuje štandard ITU-R BT.709-5. Transformácie medzi RGB a YPbPr Nasledujúci vzt’ah opisuje konverziu z RGB formátu do farebného formátu YPbPr. V prípade SDTV je použitá nasledovná matica ⎡ ⎤ ⎡ Y 0, 299 ⎣P b ⎦ = ⎣−0, 169 Pr 0, 500 0, 587 −0, 331 −0, 419 ⎤⎡ ⎤ 0, 114 R 0, 500 ⎦ ⎣G ⎦ −0, 081 B (20.24) Súčet koeficientov v prvom riadku matice je 1. V každom zo zvyšných dvoch riadkov je súčet koeficientov rovný 0. Hodnota 0,5 vyjadruje maximálny rozsah zložiek Pb a Pr pre modrú a červenú primárnu farbu. Inverzná transformácia pre SDTV je daná vzt’ahom ⎡ ⎤ ⎡ ⎤⎡ ⎤ R Y 1, 000 0, 000 1, 402 ⎣G ⎦ = ⎣1, 000 −0, 334 −0, 714 ⎦ ⎣P b ⎦ . (20.25) B 1, 000 1, 772 0, 000 Pr 315 20. M ODELY A PRIESTORY FARIEB 20.3.4 Model YCbCr Tento medzinárodný štandard pre digitálne video nezávisí od štandardu skenovania a primárnych parametrov systému, preto nemá chromatické súradnice, CIE XYZ matice ani úvahu o bielom bode, či CRT gama. Zaoberá sa len digitálnym vyjadrením R’G’B’ signálov v Y’CbCr podobe. S týmto modelom sa môžeme stretnút’ napríklad pri zápise rastrových obrazov do JPEG formátu. Existuje viacero spôsobov vzorkovania kompletnej farebnej informácie obrazu. Uvedieme si tie najpoužívanejšie: 4 : 4 : 4 nekomprimovaný obraz, šírka pásma pre farebné zložky je rovnaká ako pre jasovú, teda pre každý pixel máme aj jasovú aj kompletnú chromatickú informáciu 4 : 2 : 2 farebné zložky sú skomprimované na polovicu, t. j. pre každý druhý pixel máme iba jasovú informáciu 4 : 1 : 1 horizontálne rozlíšenie farby je štvrtinové, čiže šírka pásma pre farbu je polovičná oproti šírke pásma pre zložku luma 4 : 2 : 0 horizontálne vzorkovanie je oproti 4 : 1 : 1 dvojnásobné, ale Cb, Cr farebné zložky sú vzorkované iba v každom druhom riadku, teda vertikálne rozlíšenie je oproti 4 : 1 : 1 polovičné. Takže celkové množstvo dát je rovnaké ako pri 4 : 1 : 1 Y’CbCr je definované v štandarde Rec. ITU-R BT. 601 pre štúdiovú kvalitu komponentného digitálneho videa. Signál pre jas je kódovaný 8 bitmi. Nie je však využitý celý rozsah 256 hodnôt. Y’ s ofsetom 16 má rozsah 219, od hodnoty 16 pre čiernu po 235 pre bielu farbu. Chromatické zložky s ofsetom 128 majú rozsah ±112, od 16 po hodnotu 240 vrátane. Transformácie medzi RGB formátom a YCbCr pre SDTV Nasledovné rovnice opisujú konverziu farby z RGB formátu do YCbCr pre TV so štandardným rozlíšením (SDTV) (podl’a ITU-R BT.601) ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ Y 16 0, 257 0, 504 0, 098 R ⎣C b ⎦ = ⎣128⎦ + ⎣−0, 148 −0, 291 0, 439 ⎦ ⎣G ⎦ . (20.26) Cr 128 0, 439 −0, 368 −0, 071 B Inverzná konverzia je daná vzt’ahom ⎤⎡ ⎡ ⎤ ⎡ ⎤ Y − 16 R 1, 000 0, 000 1, 140 ⎣G ⎦ = ⎣1, 000 −0, 395 −0, 581 ⎦ ⎣C b − 128⎦ . B 1, 000 2, 032 0, 000 Cr − 128 316 (20.27) 20.3. Modely farieb v televíznej a videotechnike Rozsah hodnôt pre jasovú a chromatické zložky rezervuje priestor, ktorý je potrebný pri pretečení napríklad v kombinácii so zariadením analógového videa. Pre počítačové aplikácie používajúce farebné formáty RGB a YCbCr je v mnohých prípadoch použitý plný 8-bitový rozsah bez rezervovaného priestoru. Farebný formát s plným rozsahom sa používa napríklad v JPEG obrazoch. Transformácie medzi R’G’B’ a Y’CbCr s využitím 8-bitového rozsahu Konverzia R’G’B’ farieb do Y’CbCr s využitím celého 8-bitového rozsahu je nasledovná ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ Y 0 0, 229 0, 587 0, 114 R ⎣C b ⎦ = ⎣128⎦ + ⎣−0, 169 −0, 331 0, 500 ⎦ ⎣G ⎦ . (20.28) Cr 128 0, 500 −0, 419 −0, 081 B Inverzná transformácia farebného formátu YCbCr s využitím celého 8 bitového rozsahu naspät’ do RGB je ⎡ ⎤ ⎡ ⎤⎡ ⎤ R 1, 000 0, 000 1, 400 Y ⎣G ⎦ = ⎣1, 000 −0, 343 −0, 711 ⎦ ⎣C b − 128⎦ . (20.29) B 1, 000 1, 765 0, 000 Cr − 128 Y’CbCr pre HDTV Pre HDTV sa používajú odlišné koeficienty ako pre SDTV, rozsah použitých hodnôt je však rovnaký ako pre SDTV s rezervovaným priestorom v záhlaví a päte. Parametre priestoru Y´CbCr pre HDTV sú definované v štandarde ITU-R BT.709. 20.3.5 Model Kodak Photo YCC Tento farebný priestor vyvinuli vo firme Kodak na kódovanie obrazov systémom FotoCD. Je odvodený z gama korigovaných R´G´B´ hodnôt s použitím bieleho bodu, primárnych podnetov a hodnoty gama definovaných v štandarde ITU-R BT.709. Je podobný priestoru Y´CrCb, rozdiel je len v gamute týchto priestorov. Gamut priestoru YCC bol prispôsobený farebnému gamutu fotografického filmu, zatial’ čo gamut Y´CrCb je orientovaný na luminofory NTSC systému. Transformácia RGB dát na 8-bitový formát Y’C1C2 Pri kódovaní dát najprv aplikujeme gama korekciu na hodnoty RGB. Potom R’G’B’ dáta transformujeme na zložky luma a dve chroma zložky 317 20. M ODELY A PRIESTORY FARIEB takto Y = 0, 299R + 0, 587G + 0, 114B , C1 = −0, 299R − 0, 587G + 0, 886B , C2 = 0, 701R − 0, 587G − 0, 114B . (20.30) Koeficienty pre C1 dostaneme, ak uvažujeme, že signál (B − Y ) dosahuje extrémne hodnoty v modrej t. j. R = 0, G = 0, B = 1 a teda Y = 0, 114 a B −Y = 0, 886, a v žltej t. j. R = 1, G = 1, B = 0, Y = 0, 886 a B −Y = −0, 886. Podobne dostaneme hodnoty pre C2. Extrémy signálu (R − Y ) sú pre červenú a modrozelenú a teda ±0, 701. Následne dáta s reálnymi hodnotami prevedieme na FotoYCC dáta s celočíselnými hodnotami, ktoré sú uložené ako 8-bitové čísla. Y8bi t = C 18bi t = 255 Y , 1, 402 156 + 111, 4.C 1, C 28bi t = 137 + 135, 64.C 2. (20.31) Obidve chroma zložky sú komprimované faktorom 2 horizontálne aj vertikálne. Asymetrická škála medzi C 1 a C 2 je navrhnutá firmou KODAK tak, aby zachytila rozsiahly farebný gamut podobne ako fotografický film a vystihla typické rozloženie farieb v reálnych scénach. Kodak YCC môže obsiahnut’ viac informácií než bežné zobrazovacie jednotky. Prevod z YCC do RGB preto nie je jednoduchý opak prevodu RGB na YCC, ale závisí od ciel’ového zobrazovacieho systému. Inverzná transformácia 8-bitového formátu Y’C1C2 na 24-bitové RGB Prevod dát z formátu FotoYCC naspät’ na 24-bitové RGB dostaneme tak, že najprv obnovíme zložky luma a chroma s reálnymi hodnotami nasledovne Y = 1, 3584.Y8bi t , C1 = 2, 2179. (C 18bi t − 156) , C2 = 1, 8215. (C 28bi t − 137) . (20.32) 318 20.4. Používatel’sky orientované modely A potom vypočítame nelineárne R’G’B’ zložky R = Y + C 2, = Y − 0, 194C 1 − 0, 509C 2, = Y + C 1. G B (20.33) Treba dbat’ na dve skutočnosti a) výsledok RGB hodnôt je v rozsahu 0 až 346 (namiesto zvyčajne používaného rozsahu 0 až 255). Na konverziu pomocou nelineárnej funkcie na 8-bitové dáta je obyčajne použitá vyhl’adávacia tabul’ka. b) ak sa luminofory displeja líšia od ITU-R BT.709 primárnych zložiek, potom bude potrebná d’alšia konverzia cez farebný priestor nezávislý od zariadenia, ako napríklad CIE XYZ. 20.4 Používatel’sky orientované modely Doposial’ opísané modely sú hardvérovo orientované a pre bežného používatel’a môže byt’ vel’mi t’ažké vyjadrit’ niektoré farby (napr. hnedú) pomocou jednotlivých zložiek napríklad v systéme RGB. Preto boli navrhnuté takzvané používatel’sky orientované farebné modely, vhodnejšie pre intuitívne vnímanie farieb. Základnými použitými parametrami v nich sú • farebný odtieň (hue), • sýtost’ farby (saturation), • jasová zložka (value, lightness, brightness, luminance). Tieto modely umožňujú používatel’ovi intuitívne špecifikovat’ farby a jednoducho si vybrat’ danú farbu. Vychádzajú z maliarskeho spôsobu vnímania farieb. Tieto modely sú však len jednoduchou lineárnou transformáciou z RGB priestoru, a tak majú aj podobné vlastnosti. Sú vhodné napríklad na výber farieb (color picker) alebo v softvéroch zameraných na editovanie obrazu. Všetky používatel’sky orientované modely sú vnemovo nehomogénne. Používatel’ské modely na rozdiel od hardvérovo orientovaných ako RGB alebo CMY, umožňujú menit’ iba jeden parameter farby, kým zvyšné dva zostanú zachované. Túto dôležitú vlastnost’ môžeme využit’ napríklad pri ekvalizácii histogramov. 319 20. M ODELY A PRIESTORY FARIEB Predstavitel’mi tejto skupiny sú modely HSV (HSB), HSL (HLS), HSI a HCI (Hue Chroma Intensity). Model HSV (V – value) sa niekedy nazýva HSB (B – brightness). Model HSL používa ako tretiu zložku svetlost’ (L – lightness), zatial’ čo model HSI intenzitu. Všetky tieto modely sú podobné, výraznejšie sa líšia v jasovej zložke. V nasledujúcom texte uvádzame stručné vysvetlenie jednotlivých pojmov. Intenzita svetla (Intensity) alebo aj svietivost’ je celkové množstvo svetla prechádzajúce cez určitú oblast’. Meria sa v kandelách (cd). Jas (Luminance) je fotometrická veličina, definovaná ako merná veličina svietivosti. Označuje sa L a vyjadruje sa v kandelách na meter štvorcový (cd/m2 ). Jasnost’ alebo aj vnímaný jas (Brightness) je absolútna vnímaná intenzita svetla v psychologickom zmysle. Svetlost’ (Lightness) je vnímaná intenzita svetla vzhl’adom k referenčnej bielej farbe. Intenzita a jas sú fyzikálne veličiny, zatial’ čo vnímaný jas a svetlost’ sú atribúty vizuálnej percepcie. 20.4.1 Model HSV Hlavnými parametrami v modeli HSV sú odtieň farby (H – hue), sýtost’ (S – saturation) a jasová hodnota (V – value). Odtieň farby určuje dominantnú spektrálnu farbu, sýtost’ určuje prímes ostatných farieb a jasová hodnota množstvo bieleho (bezfarebného) svetla. Model HSV pochádza zo 70. rokov. Formálne ho prvýkrát opísal Alvy Ray Smith v roku 1978 v augustovom čísle časopisu Computer Graphics. V rovnakom čísle opísali Joblove a Greenberg model HSL, ktorého dimenzie označili ako hue, relative chroma, a intensity. Pre priestorové zobrazenie HSV modelu väčšinou používame tvar obráteného pravidelného šest’bokého ihlana (hexcone model), ktorého vrchol leží v začiatku súradnicovej sústavy, v bode [0, 0, 0] a predstavuje čiernu farbu. HSV ihlan vytvoríme deformáciou RGB kocky (obr. 20.4). Ak si predstavíme RGB kocku, potom hlavná diagonála vedúca z čierneho bodu do bieleho bodu definuje jasovú os. Ked’ pozeráme pozdĺž tejto diagonály na RGB kocku, vidíme šest’uholník. Je to vlastne premietnutie RGB kocky na rovinu kolmú na telesovú uhlopriečku. Ak pozeráme na menšiu kocku, vidíme menší šest’uholník. Každá rovina s konštantnou súradnicou V v priestore HSV vytvára šest’uholník. 320 20.4. Používatel’sky orientované modely H odtieň farby Obrázok 20.4: Vl’avo: projekcia RGB kocky pozdĺž hlavnej diagonály. Vpravo: HSV model. Saturácia (sýtost’ farby) sa určuje ako vzdialenost’ od stredovej osi jasu po danú farbu. Tón farby, súradnica H je však uhlová z intervalu 〈0◦ , 360◦ 〉. Jasová hodnota V je určená stredovou osou. Hodnoty jasu na nej klesajú od bielej farby v strede podstavy ihlanu až k čiernej vo vrchole ihlanu. V ostatných vrcholoch šest’uholníka na obvode podstavy ihlana sú umiestnené základné farby (červená – R, žltá – Y, zelená – G, modrozelená – C, modrá – B a fialová – M), kde červená je pri 0◦ , a zvyšné sú rozdelené po 60◦ . Komplementárne farby sú od seba vzdialené 180◦ . Pri cyklickej zmene farby H sa mení vždy len jedna zo súradníc RGB. Vel’kost’ najväčšej zo súradníc RGB je zhodná s hodnotou V. Farby s plnou saturáciou sa nachádzajú na plášti ihlanu. Vzhl’adom na to, že odtieň farby sa meria ako uhol, je nespojitý v oblasti červených farieb v bode 0◦ = 360◦ . Toto si treba uvedomit’ pri riešení úloh počítačového videnia. Nedostatky modelu HSV Nedostatkom tohto modelu je jeho ihlanový tvar, ktorý spôsobuje, že bod s konštantnou hodnotou jasu V a konštantnou saturáciou S sa pri zmene hodnoty H pohybuje po šest’uholníku a preto zmena farebného odtieňa nie je plynulá (obr. 20.5). Tento nedostatok odstraňuje HSL model, kde je „šest’uholník nahradený kruhom“. Plynulý nie je ani prechod medzi čiernou a bielou farbou. Farby s nízkou intenzitou môžu byt’ zobrazené ako plne saturované. Napríklad farba [R,G, B] = [0, 01; 0; 0] má saturáciu 1, aj ked’ pre všetky praktické účely je nerozlíšitel’ná od čiernej, ktorá má saturáciu 0. A preto 321 20. M ODELY A PRIESTORY FARIEB S H 0° Obrázok 20.5: Saturácia a odtieň farby určený v modeli HSV. tmavé regióny obrazu majú často vel’mi zašumené hodnoty saturácie. Ďalším problémom tohto modelu sú singularity. Pre achromatické farby je saturácia 0 a odtieň farby je nedefinovaný. Prevod z RGB do HSV Uvedieme vzt’ahy pre konverziu z RGB do HSV podl’a Travisa ([Tra91]). Pri konverzii RGB na HSV (uvažujúc normalizované hodnoty RGB) najprv nájdeme maximálne a minimálne hodnoty z RGB trojice. Potom saturácia S je S= max − min max (20.34) a hodnota (Value) V sa rovná maximu V = max . (20.35) Odtieň farby H sa potom vypočíta takto. Najprv vypočítame R’G’B’ 322 R = G = B = max −R , max − min max −G , max − min max −B . max − min 20.4. Používatel’sky orientované modely Ak saturácia S = 0, potom odtieň farby nie je definovaný (farba nemá žiadne zafarbenie, preto je achromatická). Ak R = max a G = min, tak H = 5 + B Ak R = max a G = min, tak H = 1 − G Ak G = max a B = min, tak H = R + 1 Ak G = max a B = min, tak H = 3 − B tak H = 3 + G Ak R = max, H = 5 − R. Inak Odtieň farby je potom konvertovaný na stupne vynásobením 60, čím dostaneme HSV s S medzi 0 a 1, a H medzi 0 až 360. Spätná konverzia z HSV do RGB Na spätnú konverziu z HSV na RGB najprv zoberieme odtieň farby H v rozsahu 0 až 360 a vydelíme 60 Hex = H . 60 Potom vypočítame hodnoty a, b, c, p, q p = !Hex" , q = Hex − p, a = V (1 − S), b = V (1 − S ∗ q), c = V (1 − S ∗ (1 − q)). kde ! " je dolná celá čast’ čísla. Nakoniec vypočítame RGB takto: Ak p = 0, t ak [R,G, B] = [V, c, a] Ak p = 1, t ak [R,G, B] = [b,V, a] Ak p = 2, t ak [R,G, B] = [a,V, c] Ak p = 3, t ak [R,G, B] = [a, b,V ] Ak p = 4, t ak [R,G, B] = [c, a,V ] Ak p = 5, t ak [R,G, B] = [V, a, b] Treba si pamätat’, že HSV je iba mapovanie určitého RGB farebného priestoru. Je to viac-menej vyjadrenie originálneho RGB priestoru v inom 323 20. M ODELY A PRIESTORY FARIEB súradnicovom priestore. Saturované farby v HSV sú farby nachádzajúce sa na hrane zodpovedajúceho RGB trojuholníka v chromatickom diagrame. Ked’že sa neuvádza, či je HSV odvodené od lineárneho alebo nelineárneho priestoru RGB a väčšinou nevieme ani presné hodnoty trichromatických zložiek RGB, hovoríme, že HSV je systém závislý od zariadenia, vo význame, že nie je absolútny kolorimetrický priestor, ale relatívny vzhl’adom ku gamutu RGB, ktorý opisuje. 20.4.2 Model HSL Podobný modelu HSV je aj model HSL, ktorý je na rozdiel od HSV reprezentovaný dvojitým kužel’om (bi-cone model) (obr. 20.4). Niekedy reprezentuje aj pomocou kužel’a alebo gule. Vo vrcholoch hore a dole sa nachádza biela a čierna farba. Stredovú os tvorí svetlost’ (lightness). Svetlost’ používame v súvislosti s farbami, napríklad svetlozelená, tmavozelená farba. V HSL dvojitom kuželi klesá počet farieb od stredu smerom hore k bielej farbe aj smerom dole k čiernej farbe. Maximum farieb v tomto modeli je pri hodnote svetlosti 0,5. V HSV ihlane počet farieb klesá s hodnotou parametra jasu. Hore pri základni, kde je aj najväčší počet farieb, je hodnota parametra jasu rovná 1, čiže najvyšší jas. Zatial’ čo HSV má vel’ké množstvo farieb s maximálnou hodnotou jasu, HSL má iba jednu – bielu. Dôsledkom tohto je, že dve farby s rovnakým odtieňom farby a maximálnou saturáciou budú v modeli HSV svetlejšie než v modeli HSL. Tvar modelu HSL zodpovedá viac skutočnosti, že najviac rôznych farieb vnímame pri priemernej svetlosti. Schopnost’ rozlišovania farebných odtieňov skutočne klesá so stmavovaním aj so zosvetl’ovaním základnej čistej farby. V HSV 100% jas zodpovedá vel’mi saturovaným farbám, čo ich robí neprirodzenými. Saturácia v modeli HSL sa pohybuje pri danej svetlosti od plne nasýtenej farby po sivú. V modeli HSV sa saturácia pohybuje hore na základni od plne nasýtených až po bielu farbu. Nedostatky Nevýhodou priestorov HSV a HSL je, že odtieň farby v týchto priestoroch nie je lineárne závislý od hodnoty farebného odtieňa v priestore RGB a ani jeho zmena nie je spojitá. Preto sa hrana v kocke RGB zobrazí ako oblúk v modeloch HSV a HSL. Toto je nevýhoda hlavne pri interpoláciách. Ked’že obidva farebné modely sú odvodené od RGB modelu, majú 324 20.4. Používatel’sky orientované modely 120° 60° 0° 180° 240° 300° H odtieň farby Obrázok 20.6: Model HSL. Po obvode sa mení odtieň farby, na strednej osi sa mení svetlost’ (lightness) a saturácia sa pohybuje od strednej osi po okraj. aj jeho gamut. Transformácia medzi nimi prebieha v konštantnom čase bezstratovým algoritmom. Pri prevode HSL na RGB musíme dávat’ pozor, aby sme netransformovali hodnoty mimo RGB kocky. Predpokladajme, že máme červenú farbu s [R,G, B] = [1, 0, 0]. Ak ju transformujeme do HSL, dostaneme [H , S, L] = [0, 1, 1/2]. Toto je maximálne saturovaná farba pri intenzite 1/2 a je nemožné d’alej zvyšovat’ intenzitu na hodnotu 1 a zároveň zachovat’ rovnakú saturáciu. 325 K APITOLA 21 Vizuálne vnímanie a pozornost’ V tejto časti sa budeme venovat’ vizuálnemu vnímaniu a pozornosti. Do l’udského oka vstupuje každú sekundu vel’ké množstvo dát (108 − 109 bitov). Ked’že l’udské vnímanie je obmedzené a l’udia nedokážu vnímat’ všetky tieto vstupné informácie naraz, je vel’mi dôležité informácie triedit’ na základe ich dôležitosti. Tento proces prebieha v l’udskom vizuálnom systéme automaticky, avšak z hl’adiska aplikácií je potrebné zistit’, na ktoré oblasti v scéne sa upriamuje pozornost’ človeka a kde v scéne sa tieto oblasti nachádzajú. Takéto oblasti sú označované ako významné. L’udské vizuálne vnímanie závisí od množstva faktorov – vizuálnych vlastností pozorovanej scény, medzi ktoré patrí napr. farba, textúra, intenzita, orientácia. Preto treba zohl’adňovat’ tieto faktory pri skúmaní scény a určovaní významných oblastí v nej. Avšak l’udia pri vnímaní scény využívajú aj vnemovú inteligenciu – vedomost’, ktorú získavajú skúsenost’ami pri pozorovaní. Táto vedomost’ vel’kou mierou prispieva ku konečnému vizuálnemu vnemu. Významné oblasti scény nesú pre pozorovatel’a potenciálne dôležitú informáciu a poznatky o ich výskyte v obraze majú vel’mi široké využitie v praxi, napr. pri kompresii a kódovaní obrazu, v rozpoznávaní, detekcii, kategorizácii objektov, pri segmentácii obrazu, odstraňovaní artefaktov, renderovaní, spracovaní multimédií, orezávaní obrazu [Gol08]. V nasledujúcich častiach si objasníme pojem vizuálnej pozornosti. Budeme sa bližšie venovat’ dvom najzákladnejším spôsobom určovania oblastí, ktoré prit’ahujú l’udskú pozornost’: sledovaniu pohybu očí a tvorbe máp významných oblastí. 326 21.1. Vizuálna pozornost’ Vizuálna pozornosť Psychofyzika Výpočtové modelovanie Modely využívajúce filtre Prístup zdola-nahor Vizuálne vyhľadávanie Neurofyziológia Modely využívajúce neurónové siete Prístup zhora-nadol Kontextové modely Úlohovo orientované modely Obrázok 21.1: Graf rozdelenia štúdií vizuálnej pozornosti. 21.1 Vizuálna pozornost’ Vizuálna pozornost’ vel’mi vplýva na vnímanie, na pamät’ (l’udia sú schopní si niečo zapamätat’, len ak na to sústredia svoju pozornost’), na jazyk (čítanie zahŕňa pozornost’ na text slovo po slove) aj na riešenie problémov (úspech v riešení problémov závisí od toho, ktorý problém zaujme pozornost’ človeka) [Gol08]. Na obrázku 21.1 je zobrazený graf, ktorý znázorňuje rozdelenie štúdií vizuálnej pozornosti. Z neho je zrejmé, že vizuálna pozornost’ je oblast’ výskumu, ktorá je vel’mi zaujímavá a zaoberajú sa ňou vedci z rôznych vedných odvetví [BI13]. Pri vnímaní scény sa rozlišujú dva hlavné prístupy • zdola-nahor (bottom-up), • zhora-nadol (top-down). Pomocou týchto dvoch prístupov sa vizuálna pozornost’ rozdel’uje na endogénnu, ktorá využíva prístup zhora-nadol a exogénnu založenú na prístupe zdola-nahor. Exogénna pozornost’ je zameraná na vonkajšie podnety, upozorňuje na výrazné časti automaticky a má rýchly časový priebeh. Existuje široká škála exogénnych vizuálnych atribútov na zachytenie pozornosti, ako sú napríklad priestorové vnemy, náhle vizuálne zmeny jasu, farby atd’. V endogénnej časti je pozornost’ určovaná subjektom. Je známa ako ciel’ovo riadená pozornost’. Endogénna pozornost’ je riadená pozorovatel’om, závislá na ňom a je pomalá z dlhodobého časového hl’adiska. 327 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť Existuje viacero modelov vizuálneho vnímania, ktoré využívajú tieto prístupy oddelene. Avšak vo všeobecnosti takmer každý model vizuálneho vyhl’adávania je založený na vzájomnej interakcii medzi týmito prístupmi. Oba hlavné prístupy sú navzájom nezávislé. Prístup zdola-nahor Postupnost’ udalostí, ktoré sa začali stimuláciou receptorov, je zarad’ovaná medzi exogénne. Je riadená stimulmi, kde sa automaticky, bez vonkajších podnetov, pozornost’ zameriava na výraznejšie časti obrazu. Túto pozornost’ môže ovplyvnit’ vel’ké množstvo podnetov, ako sú napríklad zmeny vo farbe, zmena polohy, intenzity. Všetky tieto zmeny l’udské oko zachytáva a podvedome upriamuje pozornost’ práve na ne. Množstvo psychologických výskumov ukázalo, že vizuálny systém je vysoko citlivý na vlastnosti v obraze, ako sú napríklad hrany, náhle zmeny vo farbe, intenzite, náhle pohyby. Procesy zdola-nahor sú nezávislé na úlohe, ktorú pozorovatel’ rieši. Snažia sa predvídat’, ktoré časti pozorovanej scény môžu pritiahnut’ viac pozornosti, a podl’a toho vytvárajú mapy významných oblastí v obraze. Tieto procesy môžu byt’ využívané napríklad pri automatickej detekcii významných oblastí v scénach, v strojovom videní, pri inteligentnej kompresii obrazu atd’. Pri analyzovaní scény pomocou prístupov zdola-nahor sú medzi významné objekty zaradené napríklad červené jablko na zelenom strome, horiaca sviečka v tmavej miestnosti, alebo pery a oči na tvári, ktoré sú považované za jej najvýraznejšie časti. Pri pozorovaní scény, v ktorej sa nachádza vel’ké množstvo rovnakých objektov, ktoré by samostatne boli určené ako výrazné, sa tieto objekty stávajú nevýraznými. Ked’ pozorovatel’ porovnáva dve fotografie jabloní s červenými jablkami, kde na jednej je iba jedno a na druhej je vel’ké množstvo jabĺk, v prvom prípade si jablko všimne, ale v druhom prípade sú jablká odfiltrované a pozorovatel’ si všíma iné výrazné oblasti a objekty [CCM03]. Prístup zhora-nadol Vizuálne vnímanie je ovel’a komplikovanejšie, než len vnímanie energie na receptoroch, čo sa deje pri procesoch založených na prístupe zdolanahor. Preto je pri procesoch založených na prístupe zhora-nadol pozorovanie scény čiastočne ovládané pozorovatel’om. Toto ovládanie sa deje pridaním dodatočnej informácie ako napríklad tým, že človek je pri pozorovaní nových scén ovplyvnený vecami, ktoré už videl v minulosti. Toto 328 21.2. Určovanie významných oblastí v obraze b) pridané vedomosti (zhora-nadol) svetlo obraz mole elektrické signály a) vstupné dáta (zdola-nahor) moľa Obrázok 21.2: Pozorovanie mole je ovplyvnené kombináciou a)vstupných dát a b) predošlých vedomostí. pozorovanie zahŕňa skúsenosti pozorovatel’a, avšak môže byt’ vel’mi pomalé. Ako príklad prístupov zhora-nadol je možné použit’ pozorovanie kôry stromu. Pri procesoch zdola-nahor sa určí farba kôry, rozlišujú sa hrany a textúra, ale až pri pridaní d’alšej informácie je možné určit’, že na kôre stromu sa nachádza mol’a (obr. 21.2). Pri využívaní prístupov zhora-nadol môže byt’ ako prídavná informácia použitá úloha, ktorú ma pozorovatel’ vyriešit’. Avšak, ak má pozorovatel’ napríklad nájst’ určitý objekt v scéne, môže prehliadnut’ iné výrazné oblasti v nej. Preto môže nastat’ situácia, kde niektoré objekty významné pri detekcii pomocou prístupov zdola-nahor nemusia byt’ považované za významné pri prístupe zhora-nadol. Skúmaním vizuálnej pozornosti a procesov zhora-nadol sa zaoberal aj ruský psychológ Yarbus už v roku 1965. Jeho výskum spočíval v zaznamenávaní fixácií a skokov oka pozorovatel’ov, ktorí mali úlohu skúmat’ danú scénu a odpovedat’ na položené otázky. Pohyby očí sa výrazne menili v závislosti od daných otázok [CCM03]. 21.2 Určovanie významných oblastí v obraze Pri mnohých aplikáciách z oblasti grafiky, dizajnu a HCI je vel’mi dôležité porozumenie tomu, kam človek zameriava svoju vizuálnu pozornost’. Tieto informácie sa využívajú napríklad pri automatickom orezá329 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť vaní obrazu, vytváraní náhl’adov, pri vyhl’adávaní konkrétneho obrazu v databáze. Môžu byt’ použité taktiež pri kompresii videa, nefotorealistickom renderingu, adaptívnom zobrazovaní obrazu na malých displejoch. Vo všeobecnosti je vzhl’adom na uvedené aplikácie potrebné čo najlepšie, najpresnejšie a najrýchlejšie detegovat’ oblasti záujmu. Na určenie takýchto oblastí sú k dispozícii dva hlavné prístupy • sledovanie pohybu očí („eye tracking“), • modely na detekciu významných oblastí. Pre niektoré aplikácie sú používané dáta získané pomocou sledovania pohybu očí. Hlavný princíp spočíva v sledovaní a zaznamenávaní pohybov očí pozorovatel’a. Pozorovatel’ sleduje scénu a systém zaznamenáva pohyby jeho oka, čím sa zist’uje, kam sa zameriava jeho pozornost’. Avšak takýto spôsob zist’ovania významných oblastí je finančne a časovo náročný, a preto nie je vždy možné ho používat’. Z týchto dôvodov je vel’mi potrebné detegovat’ významné oblasti aj iným spôsobom. Ako alternatíva sú preto navrhované a používané modely na detekciu pravdepodobnosti výskytu významných oblastí v obraze. 21.2.1 Sledovanie pohybu o čí Oči a ich pohyby sú vel’mi dôležité pri vyjadrení potrieb, túžob a emocionálneho rozpoloženia človeka. Z toho dôvodu návrh robustných techník na detekciu očí a ich pohybu zohráva kl’účovú úlohu pri vývoji rôznych techník interakcie človeka s počítačom, vytváranie používatel’ských rozhraní, zist’ovaní oblastí záujmu pozorovatel’a. Detekcia očí a sledovanie ich pohybu je atraktívnou oblast’ou výskumu už mnoho rokov a v súčastnosti je využívaná v mnohých aplikáciách. Je to jedna z netradičných techník, ktorá sa využíva pri interakcii človeka s počítačom. Prehl’ad techník na sledovanie pohybu očí Geometrické a pohybové charakteristiky očí sú unikátne, čo umožňuje využitie ich detekcie pri rôznych aplikáciách. Hardvérový systém na sledovanie polohy a pohybu očí sa nazýva „eye tracker“. Vo všeobecnosti existujú dva hlavné prístupy na monitorovanie pohybov očí – meranie pozície očí v závislosti na hlave pozorovatel’a a meranie orientácie očí v priestore. V rámci softverového riešenia „eye trackera“ existuje vel’ké množstvo rôznych prístupov [AF13]. V tejto časti si bližšie opíšeme dva z nich 330 21.2. Určovanie významných oblastí v obraze Obrázok 21.3: Sledovanie pohybov očí s fixnou polohou hlavy. • sledovanie pohybu očí pomocou senzorov, • sledovanie pohybu očí pomocou techník počítačového videnia. Sledovanie pohybu očí pomocou senzorov Niektoré systémy analyzujú pohyby očí na základe elektrických potenciálov pomocou elektrookulogramu (EOG). Pre každé oko sú v jeho blízkosti umiestnené dva páry elektród, ktoré zaznamenávajú elektrický potenciál. Na základe týchto informácií je možné určit’ polohu očí. Sledovanie pohybu očí pomocou techník počítačového videnia Vel’ké množstvo metód na sledovanie polohy a pohybu očí využíva techniky počítačového videnia s použitím kamery, ktorá sníma jedno, alebo obe oči a následne spracováva tieto informácie. Pozícia kamery môže byt’ rôzna. V niektorých prístupoch sa využíva kamera pripevnená k hlave pozorovatel’a, čo je vel’mi výhodné pri systémoch, kde používatel’ pozoruje svoje okolie. V prípade sledovania obrazov na monitore sa bežne využíva fixné postavenie kamery a hlavy pozorovatel’a (obrázok 21.3). Pomocou týchto techník sa riešia dve hlavné otázky • určovanie pozície očí vzhl’adom na pozorovanú scénu, • sledovanie pohybu očí. Určovanie pozície očí a sledovanie ich pohybu je stále vel’mi náročná úloha, pri ktorej je potrebné riešit’ viacero problémov ako napríklad stupeň otvorenia očí, variabilita vo vel’kosti očí, pozícia hlavy a podobne. Rôzne techniky rozpoznávania obrazcov a redukcie dimenzie príznakov sa ukázali ako vel’mi efektívne pri sledovaní pohybu očí. Redukcia 331 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť Obrázok 21.4: Ukážka systému na sledovanie pohybov očí pomocou techník počítačového videnia. príznakov pomocou PCA efektívne pomohla znížit’ počet hlavných komponentov obrazu oka pre lepšiu detekciu. Taktiež sa využíva neurónová siet’, ktorá je trénovaná počas kalibrácie kamery, kde sa používatel’ovi postupne zobrazuje niekol’ko bodov, ktoré má pozorovat’. Avšak využívanie klasifikácie čiastočne spomal’uje celý proces určovania pozície a pohybu očí. Jedným z d’alších prístupov sú systémy využívajúce kruhový tvar zreničky a detekciu hrán. V [CK07] bol navrhnutý systém využívajúci detekciu tváre a Gaborove filtre. Potenciálna oblast’ zodpovedajúca tvári je určovaná detekciou pokožky a následne sa tento predpoklad overí s geometrickým vzorom štruktúry tváre. Ďalej sú na oblasti s pravdepodobným umiestnením očí aplikované štyri Gaborove filtre (0, π/4, π/2, 3π/4), ked’že zrenička nemá žiaden dominantný smer, a teda ich kombináciou môže byt’ jednoducho určená. V prípade [KBW08] je využívaný algoritmus detekcie najdlhšej čiary, ktorý je založený na predpoklade, že zrenička má kruhový tvar. Je nájdená najdlhšia vertikálna a horizontálna čiara, kde ich prienik určuje stred zreničky. Vel’ké množstvo systémov využíva tiež kruhovú Houghovu transformáciu a jej kombináciu s detekciou hrán. Ďalší spôsob detekcie pohybu očí je určovanie polohy zreničky, kde existujú dva hlavné prístupy: metóda tmavej zreničky a svetlej zreničky. Metóda využívajúca tmavú zreničku je založená na kontraste zreničky s dúhovkou. Avšak v tomto prípade môže nastat’ problém pri používatel’och s vel’mi tmavými očami, kde je kontrast príliš nízky. Metóda svetlej zreničky využíva odraz infračerveného svetla od sietnice, čo spôsobuje, 332 21.2. Určovanie významných oblastí v obraze že zrenička sa zdá byt’ biela v obraze oka, čím sa rieši problém s kontrastom. Niektoré zo systémov sú založené na porovnávaní oka s jeho vzorom. Pomocou tohto prístupu bol navrhnutý aj systém, ktorý umožňoval prirodzené pohyby hlavy pri sledovaní očí a minimalizoval potrebu kalibrácie systému. Kombináciou rôznych techník sledovania pohybu očí sú vytvárané hybridné systémy. Jeden z takýchto systémov je založený na detekcii zreničky. Vychádza z jej intenzity, tvaru a vel’kosti. Je využívané špeciálne infračervené osvetlenie, pri ktorom sa zrenička javí svetlejšia ako zvyšok snímanej tváre. Jej intenzita je používaná ako primárny príznak pre detekciu, avšak v snímanom obraze sa môžu objavit’ iné rovnako svetlé objekty. Preto sa využívajú aj prídavné informácie o zreničke, ako jej vel’kost’ a tvar. V iných prípadoch sa využíva napríklad kombinácia systémov zachytávania tmavej a svetlej zreničky, odrazu od rohovky s metódou iteratívnej krivky na efektívnu detekciu zreničky a mnoho d’alších. Využitie systémov na sledovanie pohybu očí Oblast’ výskumu určovania polohy a pohybu očí sa stala atraktívnou hlavne kvôli vel’kému množstvu aplikácií, ktoré môžu využívat’ robustné metódy sledovania pohybu očí. Jednou z hlavných oblastí využitia sú alternatívne spôsoby pre komunikáciu človeka s počítačom. Považujú sa za jednoduchšie ako napríklad ovládanie hlasom, alebo EEG/ECG signálmi. Taktiež dosahujú vyššiu presnost’. Ako príklad môžeme uviest’ systémy, ktoré sa využívajú pre kontrolu prístupu a podpory technológií pomocou snímania očí. Jeden z takýchto systémov je určený na písanie pomocou pohybov očí, ktorého výstupom je text konvertovaný na reč. Rovnako je možné pomocou očí kontrolovat’ rôzne systémy vrátane elektronických vozíkov, alebo televízneho ovládača. Detekcia očí môže byt’ taktiež využívaná pri biometrickom rozpoznávaní používatel’ov. V tomto prípade sa systém používa na lokalizáciu očí a následne dúhovky, čo je prvý a vel’mi dôležitý krok pri rozpoznaní používatel’a na základe dúhovky. Ďalšou vel’mi zaujímavou aplikáciou týchto systémov je využitie v optometrii. Použitie týchto systémov môže dopomôct’ k odhadu zorného uhla jednotlicva, najmä určit’ jeho slepý uhol. E-learningové systémy sú v súčastnosti vel’mi rozšírené. Avšak aj napriek tomu, že používatelia sú väčšinou zvyknutí na prácu s počítačom, učenie s použitím takýchto systémov môže byt’ dost’ odlišné. Pri interakcii používatel’a s vyučujúcim je vel’mi dôležitá emočná čast’ tohto vzt’ahu, 333 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť ktorá však v takomto prípade chýba. Preto je možné využívat’ snímanie očí a ich pohybu na sledovanie používatel’ových aktivít, správanie a emočné rozpoloženie používatel’a. Na základe týchto informácií môže byt’ určený čas na vykonávanie danej úlohy. Na základe interpretácie pohybov očí môže byt’ rozpoznávané, či má používatel’ t’ažkosti s porozumením úlohy, je unavený alebo v strese. V automobilovom priemysle sa sledovanie pohybu očí využíva na rozvoj monitorovania a asistencie pri systémoch využívaných v autách. Sledovanie pohybu očí je napríklad využívané na varovanie vodiča v prípade, že začne byt’ vel’mi unavený alebo zaspí počas jazdy. Únava vodiča môže byt’ detekovaná analýzou prahu žmurkania, stavu očí (otvorené / zatvorené) a rovnako aj určovaním času, kedy pohl’ad vodiča zostáva v rovnakom smere. 21.2.2 Modely na detekciu významných oblastí Model vizuálnej pozornosti je opis pozorovaného a predpovedaného správania l’udskej vizuálnej pozornosti. Modely na detekciu významných oblastí môžu využívat’ prirodzený jazyk, blokové diagramy, matematické prístupy, algoritmy alebo výpočty. Ich úlohou je detegovat’ oblasti, ktoré s najväčšou pravdepodobnost’ou prit’ahujú pozornost’ pozorovatel’a. Modelovaniu systémov na simuláciu vizuálnej pozornosti sa vedci aktívne venujú už vyše 25 rokov. Bolo vytvorené vel’ké množstvo modelov, ktoré sa úspešne používajú v počítačovom videní, robotike, kognitívnych systémoch. Tieto modely sa zameriavajú na zachytenie významných oblastí v obraze a ich d’alšie použitie [BI13], [Gol08]. V súčasnosti existuje vel’ké množstvo modelov na detekciu významných oblastí inšpirovaných biologickými procesmi, ktoré sú založené na prístupe zdola-nahor (napr. [IKN98], [HRC05]). Tieto modely sú však iba základným opisom správania sa l’udského vizuálneho systému. Detegujú významné oblasti použitím nízkoúrovňových príznakov, ako sú farba, intenzita, orientácia, textúra, pohyb. Taktiež používajú stratégiu vít’aza, nemožnost’ návratu, detekciu na rôznych úrovniach a podobne. Najväčším obmedzením týchto modelov je neprítomnost’ d’alšej informácie, ktorá by v kombinácii s nízkoúrovňovými príznakmi pomohla presnejšie určit’ významné oblasti v obraze. Preto je pri navrhovaní nových a presnejších modelov vel’mi dôležitý kognitívny proces a využitie sémantickej informácie. Prvá otázka, ktorá sa naskytne pri uvažovaní nad využitím kognitívneho procesu, je existencia miesta v l’udskom mozgu, kde sa lokalizuje mapa významných oblastí. Avšak podl’a doterajších výskumov také mie334 21.2. Určovanie významných oblastí v obraze sto neexistuje. Toto vysvetl’uje fakt, že významnost’ oblastí v pozorovanom obraze neurčujú iba nízkoúrovňové príznaky, ale taktiež naše vedomosti, spomienky, očakávania. Vizuálne a kognitívne procesy sú vel’mi úzko prepojené a v súčasnosti nie je možné určit’, ktoré z nich v danom čase pozorovania určujú rozloženie vizuálnej pozornosti. Pri určovaní presnosti modelov založených na procesoch zdola-nahor sa preto využíva sledovanie očí. Avšak aj pri sledovaní očí nemôžeme zabúdat’ na procesy, ktoré ovplyvňujú vnímanie zo sémantického hl’adiska. Napríklad pri vol’nom pozorovaní scény sú výrazné iné oblasti ako pri pozorovaní scény s určitou úlohou. Výraznost’ týchto oblastí je ovplyvnená aj správaním, myšlienkami a spomienkami pozorovatel’a. Vel’mi dobrým prístupom je charakterizácia významnosti oblastí pomocou analýzy dát získaných sledovaním očí. Tento bol využitý v práci [Jud+09] a dáva vel’mi dobré výsledky. Rozdelenie modelov na detekciu významných oblastí V roku 1998 bol vytvorený jeden z prvých modelov založený na simulácii biologického vnímania scény využívajúci procesy zdola-nahor, detekciu nízkoúrovňových príznakov [IKN98]. Odvtedy vzrastal záujem o tému detekcie významných oblastí. Niektoré d’alšie modely už využívajú kombináciu nízkoúrovňových a vysokoúrovňových príznakov (napr. detekcia pokožky, tváre, textu). Tieto kombinácie dokážu pomôct’ pri riešení vel’mi špecifických úloh ako napríklad detekcia chodcov. V súčasnosti sa výskum nachádza iba na začiatku tvorby týchto výpočtových modelov, ktoré by popri nízkoúrovňových príznakoch využívali aj pridanú informáciu, čím by sa zlepšila a spresnila detekcia významných oblastí obrazu. Existujú dva hlavné prístupy vo výskume vizuálnej pozornosti. Prvý z prístupov sa zameriava na využitie metód pozornosti v počítačovom videní. Táto čast’ demonštruje dôležitost’ redukcie informácií pre d’alšie spracovanie. Hlavnou motiváciou pre druhý prístup, ktorý skúma pozornost’ v biologickom videní, je vysvetlenie procesov pozornosti pre charakteristiky biologického, špeciálne l’udského videnia (obr. 21.5). Výpočtové modely patria do prieniku týchto dvoch prístupov skúmania pozornosti. Tieto modely zahŕňajú formálny popis vizuálnej pozornosti. Hlavnou motiváciou pre ich vytvorenie je redukcia množstva informácií, ktoré je potrebné spracovat’ [Tso11]. Modely na detekciu významných oblastí v obraze môžu byt’ kategorizované na základe vel’kého množstva rôznych príznakov a prístupov. V [BI13] bolo preskúmaných viac ako 65 modelov na detekciu význam335 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť pozornosť v biologickom videní pozornosť v počítačovom videní data-fitting modely operácie záujmu na bodoch/oblastiach aktívne videnie popisné modely perceptuálna organizácia algoritmické modely metódy využívajúce predpovede výpočtové modely pozornosti v biologickom videní selektívne usmerňovanie mapa významných oblastí časové značenie neočakávaná pozornosť Obrázok 21.5: Diagram znázorňujúci výskum vizuálnej pozornosti. ných oblastí. Následne bol navrhnutý prístup kategorizácie týchto modelov, ktorý na základe 13 rôznych faktorov rozdel’uje modely do 8 základných skupín. Faktory rozdelenia modelov do skupín sú nasledovné: 1. Procesy zdola-nahor 2. Procesy zhora-nadol 3. Informácia o priestore a čase 4. Typ úlohy (vol’né pozorovanie scény, vizuálne vyhl’adávanie, interaktívna úloha) 5. Priestorovo alebo objektovo založené 6. Príznaky (intenzita, farba, textúra, orientácia, pohyb, tváre, detekcia horizontu, optický tok atd’.) 7. Typ modelu 8. Statické vizuálne stimuly (napr. fotografie) 9. Dynamické vizuálne stimuly (napr. videá, hry) 336 21.2. Určovanie významných oblastí v obraze 10. Syntetické stimuly (hry, virtuálne prostredie, mal’by) 11. Prírodné stimuly (fotografie, videá prírodných scén) 12. Spôsob hodnotenia modelu (Kullbackova-Leiberova divergencia, použitie ROI, ...) 13. Použitá databáza Faktory 1 až 8 priamo opisujú vlastnosti modelov a faktory 9 až 13 s nimi nie sú priamo spojené. Na základe predchádzajúcich faktorov môžeme modely rozdelit’ do ôsmich kategórií, avšak niektoré modely môžu patrit’ aj viacerým kategóriám. Prvou z kategórií sú kognitívne modely. Skoro všetky modely sú priamo, alebo nepriamo spojené s kognitívnymi procesmi. Jeden z najznámejších modelov patriaci do tejto kategórie [IKN98] je založený na správaní a neurónovej architektúre vizuálneho systému primátov. Tento model sa stal základom pre mnoho d’alších modelov (napr. [Dha03]) a stal sa štandardom pre porovnávanie nových modelov. Existuje vel’mi vel’a jeho modifikácií ako napríklad pridanie detekcie kontrastu v pohybe, slúžiaceho na detekciu významných oblastí vo videu. Bayesovské modely (napr. [Oli+03]) využívajú kombináciu prístupu zdola-nahor s predchádzajúcimi znalost’ami, napríklad kontext scény. Pretože majú možnost’ učit’ sa z dát, môžu napríklad využit’ štatistiku prírodných scén alebo iných príznakov, ktoré prit’ahujú pozornost’ pozorovatel’a. Informačné modely sú založené na predpoklade, že určená poloha významných oblastí slúži na maximalizáciu informácie získanej z prostredia. Tieto modely (napr. [BT05]) vyberajú tie oblasti v obraze, ktoré nesú najviac informácií a ostatné vyradia. Modely patriace do kategórie rozhodovacích modelov (napr. [GV04]) boli vel’mi úspešné v aplikáciách počítačového videnia, ako je klasifikácia, ked’že dosahovali vysokú presnost’ v predpovedi fixácií pohl’adu používatel’a. Grafové modely (napr. [AL10]) využívajú techniky ako skryté Markovove modely, dynamické bayesovské siete a podmienené náhodné polia na určenie vzt’ahov medzi náhodnými premennými. Na základe týchto vzt’ahov sa tvoria mapy významných oblastí. Medzi modelmi využívajúcimi spektrálnu analýzu a modelmi ostatných kategórií je vel’ký rozdiel. Kým iné modely spracovávajú obraz 337 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť (a) (b) (c) (d) (e) (f) Obrázok 21.6: Modely na detekciu významných oblastí: (a) Originálny obraz, Mapa významných oblastí detekovaná pomocou (b) [IKN98], (c) [HKP07], (d) [Zha+08], (e) [EE13], (f ) [GZT10]. 338 21.2. Určovanie významných oblastí v obraze v priestorovej doméne, tento typ modelov (napr. [Ach+09]) deteguje významné oblasti v obraze vo frekvenčnej doméne. V modelovaní vizuálnej pozornosti sa využívajú aj prístupy strojového učenia s využitím učenia modelov na základe informácií získaných použitím sledovania pohybov očí alebo významných oblastí označených používatel’mi. V tomto prípade je dôležité podotknút’, že modely patriace do kategórie modelov s využitím klasifikácie príznakov (napr. [Kie+09]), nemusia byt’ založené len na prístupe zdola-nahor, ked’že využívajú príznaky, ktoré sú význačné pre prístupy zhora-nadol (napr. detekcia tvárí, textu). Modely, ktoré nepatria do žiadnej z predchádzajúcich kategórií tvoria skupinu iných modelov. Napríklad v [RC02] bolo predstavené meranie významnosti oblastí použitím viacnásobných príznakov založených na koncepte teórie hier. Ďalší spôsob detekcie významných oblastí bol postavený na základe porovnávaní s predlohou [Rao+02]. Schéma detekcie významných oblastí založená na hranách v šedotónovom obraze bola navrhnutá v [Ros09]. Na obrázku 21.6 sú znázornené mapy významných oblastí. Každý zo zobrazených modelov patrí do inej kategórie. Výsledné mapy významných oblastí (saliency maps) sú vel’mi rozdielne v závislosti od prístupu a v súčasnosti nie je možné presne určit’ najlepší prístup na určovanie významných oblastí v obraze. 21.2.3 Model pre rýchlu analýzu scény V tejto časti si opíšeme jeden zo základných modelov [IKN98]. Bol navrhnutý v roku 1998 a slúži ako základ pre vel’ký počet modelov, rovnako ako aj referenčný model pre porovnávanie úspešnosti detekcie. Je založený na správaní a štruktúre neurónov vizuálneho systému primátov. Kombinuje viacúrovňové príznaky do jednej mapy významných oblastí. Používa dynamickú neurónovú siet’, ktorá vyberá oblasti záujmu v poradí od najvýraznejších po menej výrazné. Tento systém rieši zložitý problém porozumenia scény výpočtovo efektívnym spôsobom. Na vstupe sú použité farebné obrazy v rozlíšení 640×480 pixelov, z ktorých je pomocou Gaussových pyramíd vytvorených 9 obrazov rôznych vel’kostí určených na d’alšie spracovanie. Tieto sú zmenšenou kópiou pôvodného obrazu v pomere 1 : 1 (škála 0) až 1 : 256 (škála 8). Každý príznak je vypočítaný pomocou operácií zameraných na stred (center-surround), ked’že vizuálne neuróny sú najcitlivejšie v malej oblasti (stred), zatial’ čo na podnety zo širšej oblasti sú neuróny menej citlivé. Zameranie na stred je v tomto modeli implementované pomocou 339 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť Vstupný obraz Lineárne filtrovanie Farba Intenzita Orientácia Rozdiel a normalizácie založené na vzdialenosti od stredu Mapy príznakov (12 máp) (6 máp) (24 máp) Kombinácia a normalizácia cez rôzne veľkosti Mapy viditeľnosti Lineárna kombinácia Mapa významných oblastí WTA IOR Pozície označujúce vizuálnu pozornosť Obrázok 21.7: Základná architektúra modelu pre rýchlu analýzu scény. rozdielu medzi jemnými a hrubými mierkami. V strede je reprezentácia pixela s vel’kost’ou c ∈ {2, 3, 4}, v širšom okolí je pixel reprezentovaný vel’kost’ami s = c + δ, kde δ ∈ {3, 4}. Rozdiel medzi dvoma mapami „“ je získaný pomocou interpolácie na jemnejšiu vel’kost’ a následným odčítaním. Na obrázku 21.7, je znázornená schéma modelu [IKN98]. Určovanie príznakov Zo vstupného obrazu vo formáte RGB (r – červená, g – zelená, b – modrá) je získaná mapa pre intenzitu I = (r +g +b)/3, ktorá slúži ako vstup na vytvorenie Gaussovskej pyramídy I (δ), kde δ ∈ {0, ..., 8}. Kanály r,g,b sú normalizované. Následne sú vytvorené farebné kanály: R = r − (g + b)/2 pre červenú, G = g − (r + b)/2 pre zelenú, B = b − (r + g )/2 pre modrú a Y = (r + g )/2 − |r − g |/2 − b pre žltú (záporné hodnoty sú nastavené na 0). Z týchto kanálov sú vytvorené štyri Gaussovské pyramídy R(δ), G(δ), B(δ) a Y (δ). Neuróny cicavcov sú citlivé na náhlu zmenu intenzity ako napríklad tmavý stred obklopený svetlým okolím, alebo svetlý stred obklopený tma340 21.2. Určovanie významných oblastí v obraze vým okolím. Oba spomenuté typy citlivosti na zmenu intenzity model prepája, čím vznikne 6 máp I (c, s), kde c ∈ {2, 3, 4} a s = c + δ, kde δ ∈ {3, 4} I (c, s) = |I (c) I (s)|. (21.1) Druhou množinou sú mapy pre farebné kanály, ktoré sú v mozgovej kôre reprezentované pomocou systému „dvojíc oponentov“. V strede oblasti vnímania sú neuróny stimulované jednou farbou (napr. červená) a potláčané druhou farbou (napr. zelená), avšak v širšej oblasti je to naopak. Takto navzájom pôsobiace dvojice farieb sú červená/zelená, zelená/červená, modrá/žltá a žltá/modrá. Toto viedlo k vytvoreniu RG(c, s) mapy pre červenú a zelenú farbu a BY (c, s) mapy pre modrú a žltú farbu RG(c, s) = |(R(c) − G(c)) (G(s) − R(s))|, (21.2) BY (c, s) = |(B(c) − Y (c)) (Y (s) − B(s))|. (21.3) Posledná množina máp pre orientáciu je získaná z I pomocou orientovaných Gaborovych pyramíd O(δ, θ), kde δ ∈ {0, ..., 8} reprezentuje vel’kost’ a θ ∈ {0◦ , 45◦ , 90◦ , 135◦ } orientáciu. Mapy pre orientáciu predstavujú lokálne zmeny medzi stredom a okolím O(c, s, θ) = |O(c, θ) O(s, θ)|. (21.4) Pomocou týchto vzt’ahov je vytvorených 42 máp príznakov: šest’ pre intenzitu, dvanást’ pre farbu a dvadsat’štyri pre orientáciu. Tvorba mapy významných oblastí Pri kombinácii všetkých máp nastáva situácia, ktorá spôsobuje, že oblasti, ktoré sú vel’mi výrazné iba v niektorých z kombinovaných máp, môžu zaniknút’. Preto treba uplatnit’ normalizačný operátor N ( ), ktorého aplikácia pozostáva z troch krokov 1. normalizovanie hodnôt mapy na pevný rozsah v rozmedzí {0, ..., M} s ciel’om odstránit’ rozdiely medzi mapami, 2. nájdenie pozície lokálneho maxima M a vypočítanie priemernej hodnoty m všetkých týchto maxím, 3. globálne vynásobenie mapy (M − m)2 . V prípade, že je v mape vel’ký rozdiel, najvýraznejšia oblast’ vystúpi do popredia. Ak je rozdiel malý, mapa neobsahuje nič výrazné a je potlačená. 341 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť Mapa pre orientáciu Ľubovoľné jednotky Ľubovoľné jednotky Mapa pre intenzitu Obrázok 21.8: Normalizačný operátor N (). Mapy sú následne kombinované do troch „máp viditel’nosti“ pre intenzitu I , farbu C a orientáciu O s vel’kost’ou δ = 4. Tieto mapy sú získané pomocou sčítania „⊕“, ktoré sa skladá z redukcie každej mapy na rovnakú vel’kost’ a následnom sčítaní pixel po pixeli. Mapy pre intenzitu I a farbu C sú získané nasledovne I = ⊕4c=2 ⊕c+4 s=c+3 N (I (c, s)), (21.5) C = ⊕4c=2 ⊕c+4 s=c+3 [N (RG(c, s)) + N (BY (c, s))]. (21.6) Pre orientáciu sú najprv vytvorené štyri mapy kombináciou šiestich máp s danou orientáciou θ, ktoré sú následne sčítané + , 4 c+4 O= N ⊕c=2 ⊕s=c+3 N (O(c, s, θ)) . (21.7) θ∈{0◦ ,45◦ ,90◦ ,135◦ } Tieto tri mapy sú normalizované a sčítané do výslednej mapy významných oblastí ; 1: S = N (I ) + N (C ) + N (O) . (21.8) 3 342 21.2. Určovanie významných oblastí v obraze Maximum výslednej mapy v danom čase ukazuje najvýznamnejšie miesto, na ktoré by mala byt’ zameraná pozornost’. L’udská vizuálna psychika funguje na princípe skúmania scény so zákazom vracat’ sa na už navštívené oblasti. Tento fakt je využitý v danom modeli, kde je najprv spustená súbežná extrakcia príznakov, výstupom sú tri mapy kontrastov pre farbu C , intenzitu I a orientáciu O. Tieto mapy sú kombinované, čím vznikne mapa významných oblastí. Následne sa táto mapa prechádza a pomocou kroku IOR sa postupne určujú najvýznamnejšie oblasti. V neurónovej implementácii, bol vytvorený model mapy významných oblastí (saliency map, SM) ako 2D vrstvy presakujúcich neurónov s vlastnost’ou „integrate-and-fire“ a s vel’kost’ou štyri. Tieto neuróny majú kapacitu, ktorá zahŕňa určitú hodnotu a prah. Ked’ je daný prah dosiahnutý, vytvorí sa „hrot“ a kapacitný náboj je nastavený na nulu. Potom je SM daná ako 2D vít’az berie všetko (winner take all, WTA) neurónovej sieti, v ktorej nájdená výrazná oblast’ ostáva a ostatné sú potlačené. Neuróny dostávajú vstupy z mapy S a sú všetky nezávislé. Potenciál neurónov v SM patriacich najvýraznejšej oblasti vzrastá najrýchlejšie. Každý SM neurón excituje jeho príslušný WTA neurón. Všetky WTA neuróny sa tiež vyvíjajú nezávisle od seba pokial’ jeden („vít’az“) nedosiahne prahovú hodnotu. Toto vyvolá tri súbežné mechanizmy 1. oblast’ pozornosti (focus of attention, FOA) je posunutá na miesto vít’azného neurónu, 2. globálne sa spustí WTA a inicializuje na predvolenú hodnotu všetky neuróny, 3. v SM sa dočasne aktivuje lokálne potlačenie v oblasti s vel’kost’ou a umiestnením novej FOA. Takto je možná dynamická zmena FOA prostredníctvom povolenia nasledujúcej výraznej oblasti stat’ sa „vít’azom“. Taktiež sa nevraciame na už spracované FOA. Tento model je výpočtovo nenáročný a má jednoduchú architektúru. Dokáže dobre detegovat’ oblasti vizuálnej pozornosti v scéne. Rýchlo určuje napríklad dopravné značky rôznych tvarov, farieb a textúru aj napriek tomu, že nebol navrhnutý na túto úlohu. Z výpočtového hl’adiska je hlavnou výhodou tohto modelu paralelná implementácia nielen vo výpočtovo náročnej fáze extrakcie príznakov, ale aj v systéme zaostrovania na výrazné oblasti. Využitie neurónových sietí sa ukázalo ako účinné pri reprodukcii niektorých výkonov vizuálneho systému primátov. Jeho účinnost’ však závisí od implementovaných príznakov. 343 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť 21.3 Využitie detekcie významných oblastí v obraze Detekcia významných oblastí v obraze a sledovanie pohybu očí majú široké využitie. Sledovanie pohybu očí sa využíva aj pri zist’ovaní chorôb pacientov, ktoré sa môžu prejavovat’ napríklad pomalšími pohybmi očí. Detekcia významných oblastí v obraze má široké využitie v počítačovom videní, segmentácii obrazu, detekcii objektov, dynamickom osvetl’ovaní, interakcii medzi človekom a počítačom, kompresii obrazu, pri tvorbe náhl’adov, retargetingu. Rovnako sa využíva pri navrhovaní reklamných plagátov, dizajne webových stránok. V tejto časti si podrobne opíšeme niektoré spôsoby využitia detekcie významných oblastí v obraze. 21.3.1 Hl’adanie najlepších pohl’adov na objekty V prípade virtuálnych múzeí a tvorbe ciest po týchto múzeách je vel’mi užitočné nájst’ najlepšie pohl’ady na zobrazované exponáty, pomocou ktorých môžeme čo najlepšie navrhnút’ virtuálnu prechádzku daným múzeom. Jeden zo spôsobov hl’adania najlepších pohl’adov na objekty je založený na detekcii významných oblastí v obraze [KVC13]. Hlavná myšlienka spočíva v predpoklade, že čím viac detailov môžeme vidiet’ na danom objekte, tým je pohl’ad naň lepší. V prípade, že máme viacero možných pohl’adov na daný objekt detegujeme významné oblasti na každom z nich. Následne použijeme segmentáciu obrazu pomocou povodí (watershed). Čím viac segmentov získame, tým je daný pohl’ad na objekt detailnejší. 21.3.2 Kompresia obrazu Existujú dva hlavné spôsoby kompresie dát: stratová a bezstratová. Stratová kompresia sa používa v prípade informácií ako napríklad zvuk a obraz. Avšak pri vel’mi vel’kej kompresii strácame potrebnú informáciu. Tento problém rieši kompresia obrazu, ktorá využíva oblasti záujmu (regoin of interest ROI). Jej princíp spočíva v určení ROI a kódovaní týchto oblastí s väčšou kvalitou v porovnaní s ostatnými oblast’ami v obraze. Existuje viacero spôsobov na určovanie týchto oblastí a jedným z nich je práve využitie detekcie významných oblastí v obraze. Jedným z najrozšírenejších spôsobov kompresie dát s použitím ROI je štandard JPEG 2000. 344 21.4. Príklad využitia: Hodnotenie kvality videa 21.4 Príklad využitia: Hodnotenie kvality videa Video je jedným z najrozšírenejších spôsobov zachytávania vizuálnej informácie. Pre väčšinu populácie slúži na relax, zábavu, avšak vel’mi dôležitú úlohu zohráva pri komunikácii sluchovo hendikepovaných osôb. Ked’že je vizuálna informácia rozhodujúca pre sluchovo hendikepovaných l’udí, umožňuje im komunikovat’ osobne používaním posunkovej reči, niektoré časti hovoriacej osoby sú dôležitejšie, ako iné. Preto je informácia o týchto vizuálne relevantných častiach vel’mi dôležitá. S použitím informácie o výskyte týchto oblastí môžu byt’ navrhnuté objektívne metódy hodnotenia kvality videa, ktoré môžu pomôct’ k skvalitneniu komunikácie nielen sluchovo hendikepovaných osôb. Existuje vel’ké množstvo objektívnych metrík na hodnotenie kvality videa. Medzi takéto metriky patria napríklad SSIM (Structural Similarity), VQM (Video Quality Metrics), PSNR (Peak signal-to-noise Ratio). Všetky zo spomínaných metód však pracujú s obrazom ako s celkom. Existuje niekol’ko modifikácií ako napríklad metrika 3SSIM, ktorá obraz rozdelí na základe textúry na 3 úrovne, kde každej z úrovní pridelí určitú váhu. Avšak ani toto rozdelenie nie je dostatočné. Zrozumitel’nost’ posunkovej reči je vel’mi dôležitá pre dorozumievanie sa sluchovo hendikepovaných osôb. Preto bola navrhnutá technika hodnotenia kvality videa, ktorá berie do úvahy informáciu o významných oblastiach v obraze. Pomocou tejto techniky je každému pixelu obrazu pridelená váha s hodnotou od 0 do 255. Toto zvýšenie počtu váh na pixel dáva vel’mi dobré výsledky v porovnaní s inými technikami [KPT12]. 21.4.1 Detekcia významných oblastí Pre pozorovatel’a sú vel’mi dôležité zmeny v nízkoúrovňových príznakoch, ako sú farba, intenzita, textúra. Avšak zo sémantického hl’adiska sa pozorovatelia zameriavajú na osoby, tváre, objekty. Pri komunikácii sluchovo hendikepovaných sú z tohto hl’adiska najdôležitejšie ruky a tvár, ktoré je možné spoločne určit’ pomocou detekcie pokožky. V navrhnutom prístupe bol na detekciu významných oblastí použitý model, ktorý je založený na kombinácii príznakov farby, intenzity, textúry a detekcie pokožky. Základný model pozostáva z nasledovných krokov 1. Tvorba máp príznakov pre farbu, intenzitu, textúru a detekciu pokožky, 2. Tvorba mapy potlačenia, 345 21. V IZUÁLNE VNÍMANIE A POZORNOS Ť (a) (b) (c) Obrázok 21.9: Ukážka detekcie významných oblastí na účely hodnotenia kvality videa: (a) vstupná snímka, (b) mapa významných oblastí, (c) kombinácia Y kanála vstupnej snímky z modelu YUV s mapou významných oblastí. 3. Tvorba výslednej mapy významných oblastí. V prvom kroku sa vytvoria mapy pre príznaky farby, intenzity, textúry a pre detekciu pokožky. Následne sa z týchto máp vytvorí mapa potlačenia a mapa kombinácií. Mapa kombinácií vzniká súčtom všetkých máp príznakov. Táto mapa obsahuje významné oblasti, avšak obsahuje aj nesprávne určené významné oblasti. Preto je vytvorená mapa potlačenia, ktorá potlačí tieto nesprávne významné oblasti. Kombináciou mapy potlačenia a mapy kombinácií vzniká výsledná mapa významných oblastí (obr. 21.9(b)). 21.4.2 Hodnotenie kvality videa Hlavná myšlienka tohto prístupu spočíva v použití máp detegovaných významných oblastí na určenie váh pre hodnotenie kvality videa. Pomocou tejto mapy môže byt’ každá snímka videa rozdelená na 256 rôznych úrovní podl’a významnosti. Prístup bol testovaný na videách zachytávajúcich osobu komunikujúcu slovenskou znakovou rečou, ktoré mali rôzne úrovne kvality. Výsledky získané pomocou objektívnych metrík hodnotenia kvality videa sa pomocou Pearsonovho korelačného koeficientu porovnávali s hodnotením sluchovo hendikepovanými používatel’mi, ktorých úlohou bolo pre každé video určit’ mieru zrozumitel’nosti. Základné metriky, ako SSIM, VQM a PSNR boli modifikované použitím máp významných oblastí. Tieto nové metriky sú označené ako S-SSIM, S-VQM a S-PSNR. V tabul’ke 21.1 sú znázornené výsledné hodnoty Pearsonovho korelačného koeficientu pre porovnávané techniky. Čím je jeho hodnota bližšia 1, tým je daná 346 21.4. Príklad využitia: Hodnotenie kvality videa metrika úspešnejšia. Z výsledkov zobrazených v tabul’ke je zrejmé, že použitie máp detekcie významných oblastí na určenie váh pre každý pixel v obraze značne zvyšuje úspešnost’ daných metrík. Objektívna metrika S-VQM S-SSIM VQM SSIM 3SSIM S-PSNR PSNR Pearsonov korelačný koeficient 0,98447 0,97869 0,97624 0,964678 0,93052 0,91398 0,91 Poradie 1 2 3 4 5 6 7 Tabul’ka 21.1: Porovnanie objektívnych metrík na ohodnocovanie kvality videa pomocou Pearsonovho korelačného koeficientu 347 Zoznam použitej literatúry [Ach+09] R. Achanta a kol. „Frequency-tuned Salient Region Detection“. IEEE International Conference on Computer Vision and Pattern Recognition (CVPR 2009). 2009, str. 1597–1604. [AF13] A. Al-Rahayfeh a M. Faezipour. „Eye Tracking and Head Movement Detection: A State-of-Art Survey“. IEEE Journal of Translational Engineering in Health and Medicine 1 (2013). [AL10] T. Avraham a M. Lindenbaum. „Esaliency (Extended Saliency): Meaningful Attention Using Stochastic Image Modeling“. IEEE Transactions on Pattern Analysis and Machine Intelligence 32.4 (2010), str. 693–708. [BI13] A. Borji a L. Itti. „State-of-the-Art in Visual Attention Modeling“. IEEE Transactions on Pattern Analysis and Machine Intelligence 35.1 (2013), str. 185–207. [BT05] N. D. B. Bruce a J. K. Tsotsos. „Saliency Based on Information Maximization.“ NIPS. 2005. [BVM08] L. Busin, N. Vandenbroucke a L. Macaire. „Color spaces and image segmentation“. Advances in Imaging and Electron Physics 151 (2008), str. 65–168. [CCM03] A. Chalmers, K. Cater a D. Maflioli. „Visual Attention Models for Producing High Fidelity Graphics Efficiently“. Proceedings of the 19th Spring Conference on Computer Graphics. SCCG ’03. Budmerice, Slovakia: ACM, 2003, str. 39–45. 348 Zoznam použitej literatúry [CIE04] CIE. 15: Technical Report: Colorimetry, 3rd edition. Tech. spr. International Commission on Illumination, 2004. [CIE13] CIE. Slovenský národný komitét medzinárodnej komisie pre osvetl’ovanie. 2013. [CK07] Y.-W. Chen a K. Kubo. „A Robust Eye Detection and Tracking Technique Using Gabor Filters“. IIH-MSP. IEEE, 2007, str. 109– 112. [Dém13] A. Démuth. Teórie percepcie. Filozofická fakulta Trnavskej univerzity v Trnave, 2013. [Dha03] L. I. N. Dhavale. „Realistic avatar eye and head animation using a neurobiological model of visual attention“. Proc. SPIE. SPIE Press, 2003, str. 64–78. [Dob05] M. Dobeš. Základy neuropsychológie. Spoločenskovedný ústav SAV, Košice, 2005. [Ebn07] M. Ebner. Color Constancy. Wiley & Sons, Inc., 2007. [EE13] E. Erdem a A. Erdem. „Visual saliency estimation by nonlinearly integrating features using region covariances“. Journal of Vision 13.4 (2013), str. 1–20. [Fai05] M. D. Fairchild. Color Appearance Models. Wiley-IS&T, Chichester, UK, 2005. [FBH97] H. S. Fairman, M. H. Brill a H. Hemmendinger. „How the CIE 1931 color-matching functions were derived from Wright-Guild data“. Color Research & Application 22.1 (1997), str. 11–23. [FP02] D. A. Forsyth a J. Ponce. Computer Vision: A Modern Approach. Prentice Hall Professional Technical Reference, 2002. [FR98] A. Ford a A. Roberts. Colour Space Conversions. 1998. [Gev+12] T. Gevers a kol. Color in Computer Vision: Fundamentals and Applications. Wiley & Sons, Inc., 2012. [Gev01] T. Gevers. „Color-Based Retrieval“. Advances in Computer Vision and Pattern Recognition. Ed. M. S. Lew. Springer, 2001, str. 11–49. [Gol08] B. E. Goldstein. Cognitive Psychology: Connecting Mind, Research and Everyday Experience. Belmont: Thomson Wadsworth, 2008. 349 Z OZNAM POUŽITEJ LITERATÚRY 350 [Gra53] H. Grassmann. „Theory of Compound Colors“. Annalen der Physilc und Chemie 19 (1853), str. 53–60. Translation published in Philosophical Magazine, 4, pp. 254-264 (1854). Reprinted in Selected Papers in Colorimetry – Fundamentals, D. L. MacAdam, Editor, SPIE Milestone Series, Volume MS77, (1993). [GV04] D. Gao a N. Vasconcelos. „Discriminant saliency for visual recognition from cluttered scenes“. In Proc. NIPS. 2004, str. 481– 488. [GW08] R. C. Gonzalez a R. E. Woods. Digital Image Processing. Tretie vyd. Prentice Hall, 2008. [GZT10] S. Goferman, L. Zelnik-manor a A. Tal. „Context-aware saliency detection“. in [IEEE Conf. on Computer Vision and Pattern Recognition. 2010. [HKP07] J. Harel, C. Koch a P. Perona. „Graph-based visual saliency“. ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 19. MIT Press, 2007, str. 545–552. [Hor89] P. Horňák. Svetelná technika. ALFA, 1989. [HRC05] Y. Hu, D. Rajan a L.-T. Chia. „Adaptive local context suppression of multiple cues for salient visual attention detection.“ ICME. IEEE, 2005, str. 346–349. [IKN98] L. Itti, C. Koch a E. Niebur. „A Model of Saliency-Based Visual Attention for Rapid Scene Analysis“. IEEE Trans. Pattern Anal. Mach. Intell. 20.11 (nov. 1998), str. 1254–1259. [Jud+09] T. Judd a kol. „Learning to Predict Where Humans Look“. IEEE International Conference on Computer Vision (ICCV). 2009. [KBW08] T. Kocejko, A. Bujnowski a J. Wtorek. „Eye mouse for disabled“. Human System Interactions, 2008 Conference on. Máj 2008, str. 199–202. [Kie+09] W. Kienzle a kol. „Center-surround patterns emerge as optimal predictors for human saccade targets“. en. Journal of Vision 9.5:7 (máj 2009), str. 1–15. [KPT12] J. Kucerova, J. Polec a D. Tarcsiova. „Video Quality Assessment using Visual Attention Approach for Sign Language“. 6.5 (2012), str. 181–186. Zoznam použitej literatúry [KVC13] J. Kucerova, I. Varhanikova a Z. Cernekova. „Best View Methods Suitability for Different Types of Objects“. Proceedings of the 28th Spring Conference on Computer Graphics. SCCG ’12. Budmerice, Slovakia: ACM, 2013, str. 55–61. [Mus10] V. Muszková. „Fyziologické a Psychologické Princípy Zrakovej Percepcie“. Diplomová práca. Masarykova univerzita Brno, Lékařská fakulta, 2010. [Oic07] B. Oicherman. „Effects of colorimetric additivity failure and of observer metamerism on cross-media colour matching“. Dizertačná práca. The University of Leeds UK, Department of Colour Science, 2007. [Oli+03] A. Oliva a kol. Top-Down Control of Visual Attention in Object Detection. 2003. [Poy97] C. Poynton. Frequently Asked Questions about Color. 1997. [PP10] M. Petrou a C. Petrou. Image Processing: The Fundamentals. Druhé vyd. Wiley & Sons, Inc., 2010. [Pra07] W. K. Pratt. Digital Image Processing. Štvrté vyd. Wiley & Sons, Inc., 2007. [Rao+02] R. P. Rao a kol. „Eye movements in iconic visual search“. Vision Research 42 (2002), str. 1447–1463. [RC02] O. Ramström a H. I. Christensen. „Visual Attention Using Game Theory.“ Biologically Motivated Computer Vision. Ed. H. H. Bülthoff a kol. Zv. 2525. Lecture Notes in Computer Science. Springer, 2002, str. 462–471. [Reb10] Rebrová, K. and Takáč, M. „Vnímanie a pomenovávanie farieb a farebných kategórií“. Umelá inteligencia a kognitívna veda II. Ed. V. Kvasnička a kol. Bratislava, 2010, str. 411–436. [RF95] E. Ružický a A. Ferko. Počítačová Grafika a Spracovanie Obrazu. Sapientia, 1995. [Ros09] P. L. Rosin. „A simple method for detecting salient regions.“ Pattern Recognition 42.11 (2009), str. 2363–2371. [Rus11] J. C. Russ. The Image Processing Handbook. 6. vyd. CRC Press, 2011. [SB59] W. S. Stiles a J. M. Burch. „N.P.L. colour-matching investigation: final report (1958)“. Optica Acta: International Journal of Optics 6.1 (1959), str. 1–26. 351 [SH11] R. Shapley a M. J. Hawken. „Color in the Cortex: single- and double-opponent cells“. Vision Research 51.7 (2011), str. 701– 717. [SHB07] M. Sonka, V. Hlavac a R. Boyle. Image Processing, Analysis, and Machine Vision. Tretie vyd. Cengage Learning, 2007. [Ska93] V. Skala. Světlo, barvy a barevné systémy v počítačové grafice. Advances in Computer Vision and Pattern Recognition. Academia Praha, 1993. [ŠMS11] A. Štrba, V. Mesároš a D. Senderáková. SVETLO – vlny, lúče, fotóny. Enigma publishing s.r.o., Nitra, 2011. [SS01] L. G. Shapiro a G. C. Stockman. Computer Vision. Prentice Hall, 2001. [Tra91] D. Travis. Effective Color Displays. Theory and Practice. Academic Press, 1991. [Tso11] J. K. Tsotsos. A Computational Perspective on Visual Attention. MIT Press, 2011, str. I–XVI, 1–308. [Umb10] S. E. Umbaugh. Digital Image Processing and Analysis: Human and Computer Vision Applications with CVIPtools. Druhé vyd. CRC Press, 2010. [VV11] M. Vik a M. Viková. „Odchylky od platnosti Grassmanových zákonů – problém současné kolorimetrie?“: Světlo 1 (2011), str. 52–54. [WS00] G. Wyszecki a W. S. Stiles. Color Science, Concepts and Methods, Quantitative Data and Formulae. Druhé vyd. Wiley & Sons, Inc., 2000. [Žár+04] J. Žára a kol. Moderní počítačová grafika. Druhé vyd. Computer Press, Brno, 2004. [Zha+08] L. Zhang a kol. „SUN: A Bayesian framework for saliency using natural statistics.“ J Vis 8.7 (2008), str. 32.1–20. Č AS Ť V D ODATKY D ODATOK A Vybrané témy z pravdepodobnosti A.1 Pravdepodobnost’ Pravdepodobnost’ môžeme definovat’ rôznymi spôsobmi. Klasická (Laplaceova) definícia. P (A) = NNA . Pravdepodobnost’ je daná relatívnou početnost’ou výsledku A v N pokusoch. Limitná definícia. P (A) = limN→∞ NNA . Pravdepodobnost’ intuitívne chápeme ako relatívnu početnost’ v nekonečne vel’kom počte pokusov. Axiomatická (Kolmogorovova) definícia. Pole javov A je σ-algebra na Ω, t. j. systém podmnožín priestoru Ω obsahujúci Ω a uzavretý voči doplnku a zjednoteniu Ω∈A, C A∈A ⇒ A ∈A, ! An ∈ A . (∀n ∈ N : A n ∈ A ) ⇒ (A.1) (A.2) (A.3) n∈N Pravdepodobnost’ je funkcia P : A → 〈0, 1〉, ktorá spĺňa nasledovné vlastnosti P( P (Ω) = 1, ! An ) = P (A n ), n∈N n∈N ak javy A n sú po dvoch disjunktné. 354 (A.4) (A.5) A.1. Pravdepodobnost’ Usporiadaná trojica (Ω, A , P ) tvorí tzv. pravdepodobnostný priestor. Funkcia P môže predstavovat’ mieru na σ-algebre A . Ostatné definície sú špeciálnymi prípadmi axiomatickej definície, v praxi sa však pri výpočte pravdepodobnosti často využívajú. Množina všetkých možných výstupov náhodnej premennej sa nazýva výberový priestor. Jednotlivé (rovnako pravdepodobné) prvky sa nazývajú elementárne javy. Každú podmnožinu výberového priestoru nazveme (náhodný) jav. Jav môže byt’ diskrétny (napr. hod kockou alebo mincou, počet detí v rodine. . .) alebo spojitý (napr. rozmer nejakého výrobku, výška hráčov basketbalového mužstva. . .). Nech A je jav reprezentujúci hod kockou. Potom výberový priestor je 1, 2, . . . 6 a elementárne javy sú počty bodov na stranách kocky. Javom môže byt’ „padne párne číslo“. Rozkladom výberového priestoru nazývame súbor vzájomne disjunktných neprázdnych javov, ktorých zjednotením je celý výberový priestor. Opačný jav k javu A, t. j. AC , sa nazýva aj jav doplnkový alebo komplementárny. Zrejme A a AC je najjednoduchší rozklad. Pre každý jav platí P (AC ) = 1 − P (A). Prienik A∩B nastáva práve vtedy, ked’ nastanú oba javy A a B . Pravdepodobnost’ P (A ∩ B) sa nazýva vzájomná alebo združená pravdepodobnost’ a označuje sa aj P (A, B). Zjednotenie A ∪B nastáva práve vtedy, ked’ nastane aspoň jeden z javov A a B. Vlastnosti pravdepodobnosti Nech A, B ∈ A , potom P () = 0 (A.6) C P (A ) = 1 − P (A) (A.7) A ⊆ B ⇒ P (A) ≤ P (B) (A.8) P (B\A) = P (B) − P (A ∩ B) (A.9) A ⊂ B ⇒ P (B\A) = P (B) − P (A) (A.10) P (A ∪ B) = P (A) + P (B) − P (A ∩ B) (A.11) A ∩ B = ⇒ P (A ∪ B) = P (A) + P (B) (A.12) C C C (A.13) C C C (A.14) P (A ∪ B) = 1 − P ((A ∪ B) ) = 1 − P (A ∩ B ) P (A ∩ B) = 1 − P ((A ∩ B) ) = 1 − P (A ∪ B ) 355 A. V YBRANÉ TÉMY Z PRAVDEPODOBNOSTI A.1.1 Nezávislost’ javov, podmienená pravdepodobnost’ Podmienená pravdepodobnost’ P (A|B) je definovaná vzt’ahom P (A|B) = P (A ∩ B) , P (B) (A.15) kde P (B) = 0. Podmienená pravdepodobnost’ hovorí o pravdepodobnosti, že nastane jav A za podmienky, že nastal jav B. Z tejto definície vyplýva P (A ∩ B) = P (A|B).P (B) = P (B|A).P (A). Javy A a B nazveme nezávislé, ak platí P (A ∩ B) = P (A).P (B). Pre nezávislé javy preto platí P (A|B) = P (A). To znamená, že to, či nastane jav B neovplyvní pravdepodobnost’, že nastane jav A. A platí to aj naopak P (B|A) = P (B). Príklad 1.1: Aká je pravdepodobnost’, že pri hode mincou padne hlava dvakrát za sebou? Pri férovej minci je pravdepodobnost’, že padne hlava 0,5. Výsledok druhého hodu (B) je nezávislý od výsledku prvého hodu (A). Preto výsledná pravdepodobnost’ P (A ∩ B) = P (A).P (B) = 0, 5.0, 5 = 0, 25. Príklad 1.2: Z krabice, v ktorej sa nachádza 10 červených a 5 modrých ponožiek, vytiahneme naslepo postupne dve ponožky. Aká je pravdepodobnost’, že sme ako druhú vytiahli modrú ponožku? V tomto prípade sa nejedná o nezávislé javy, lebo vytiahnutím prvej ponožky sa zmení počet kusov v krabici a tým aj pravdepodobnost’ vytiahnutia druhej ponožky. Označme si A jav, ked’ bola vytiahnutá ako prvá červená a B, ked’ modrá ponožka. Jav C je vytiahnutie modrej ponožky v druhom t’ahu. Potom platí P (A) = 10/15 a P (B) = 5/15. Podmienené pravdepodobnosti sú nasledovné P (C |A) = P (C ∩ A)/P (A) a P (C |B) = P (C ∩ B)/P (B). Po vytiahnutí prvej ponožky zostane v krabici už len 14 kusov. Ked’ sme vytiahli červenú ponožku, zostalo 9 červených a 5 modrých ponožiek, a preto P (C |A) = 5/14. Ked’ sme vytiahli modrú, zostalo 10 červených a 4 modré ponožky, preto P (C |B) = 4/14. Výsledná pravdepodobnost’, že v druhom t’ahu vytiahneme modrú ponožku je P (C ) = P ((C ∩ A)∪(C ∩ B)), pretože bud’ vytiahneme červenú a modrú (C ∩ A) alebo (∪) dve modré (C ∩ B). Tieto javy sú nezlučitel’né (nemôžu nastat’ oba naraz), a preto P (C ) = P (C ∩ A)+P (C ∩ B). Z definície podmienenej pravdepodobnosti potom vyplýva P (C ) = P (C |A).P (A) + P (C |B).P (B) = 5 10 4 5 7 1 . + . = = . 14 15 14 15 21 3 (A.16) Teda pravdepodobnost’, že v druhom t’ahu vytiahneme modrú ponožku, je 1/3. 356 A.1. Pravdepodobnost’ M Nech {A i }i=1 je rozkladom priestoru Ω (teda pravdepodobnost’ javu B je daná M P (B) = M i=1 P (A i ) = 1). P (B|A i )P (A i ). Potom (A.17) i=1 Je zrejmé, že l’ubovolný jav B ∈ Ω je zjednotením javov (B ∩ A 1 ), "M . . . (B ∩ A M ), čiže B = i=1 (B ∩ A i ). Tieto javy sú disjunktné, preto P (B) = M P (B ∩ A ). Z definície podmienenej pravdepodobnosti (A.15) potom i i=1 vyplýva (A.17). M V reálnych aplikáciách nás často zaujíma, ktorý z javov {A i }i=1 viedol k javu B. Hl’adáme teda P (A k |B). Z (A.15) a (A.17) vieme, že P (A k |B) = = P (B|A k ).P (A k ) = P (B) P (B|A k ).P (A k ) M i=1 P (B|A i )P (A i ) (A.18) . (A.19) Vzt’ah (A.19) sa nazýva Bayesov vzorec a udáva, ako zistíme aposteriórnu pravdepodobnost’ javu A k za predpokladu, že nastal jav B (P (A k |B)), ak M pre javy {A i }i=1 poznáme apriórnu pravdepodobnost’ javov (P (A i )) a podmienené pravdepodobnosti P (B|A i ). Príklad 1.3: Na konci výrobnej linky je tester, ktorý s pravdepodobnost’ou 0,999 vyradí chybný výrobok. S pravdepodobnost’ou 0,01 však vyradí aj kvalitný výrobok. Kazivost’ výrobkov je 0,1 (jeden z desiatich výrobkov je chybný). Aká je pravdepodobnost’, že vyradený výrobok je skutočne chybný? Priestor výrobkov rozložíme na chybné P (A ch ) = 0, 1 a kvalitné P (A k v ) = 0, 9. Vyradenie výrobku je jav B, pričom podmienené pravdepodobnosti sú P (B|A ch ) = 0, 999 a P (B|A k v ) = 0, 01. Pomocou Bayesovho vzorca hl’adáme pravdepodobnost’ P (B|A ch ).P (A ch ) = P (B|A ch )P (A ch ) + P (B|A k v )P (A k v ) 0, 999.0, 1 . = 0, 999.0, 1 + 0, 01.0, 9 P (A ch |B) = (A.20) Pravdepodobnost’, že vyradený výrobok je skutočne chybný, je približne 0,9174. 357 A. V YBRANÉ TÉMY Z PRAVDEPODOBNOSTI 1 P(X≥b) F(d) P(b≤X<d) P(X=b) P(X<b) F(b) 0 a b c d e x Obrázok A.1: Distribučná funkcia diskrétnej premennej. A.2 Náhodná premenná Pojmom náhodná premenná (veličina) označujeme funkciu, ktorej hodnota je určená výsledkom náhodného pokusu. Prirad’uje číselnú hodnotu každému elementárnemu javu. Pre náhodnú premennú X : Ω → R platí, že množina {ω ∈ Ω|X (ω) < x} je náhodný jav. Hodnota funkcie sa nedá pred uskutočnením pokusu určit’, ale dokážeme ju opísat’ rozdelením pravdepodobnosti. Rozdelenie pravdepodobnosti náhodnej premennej definovanej na pravdepodobnostnom priestore (Ω, A , P ) opisujeme pomocou distribučnej funkcie F : R → 〈0, 1〉 definovanej ako F (x) = P (X < x). (A.21) P (X < x) znamená pravdepodobnost’, s akou náhodná premenná X nadobúda hodnotu menšiu ako x. Distribučná funkcia je neklesajúca a zl’ava spojitá a platí limx→−∞ F (x) = 0 a limx→∞ F (x) = 1. Náhodná premenná môže byt’ diskrétna alebo spojitá. Distribučná funkcia pre diskrétne premenné je „schodovitá“ funkcia ako na obr. A.1. Príklad distribučnej funkcie spojitej premennej je na obr. A.2. Vzt’ahy medzi pravdepodobnost’ou a distribučnou funkciou sú nasledovné (ako vidno na obrázkoch A.1a A.2) ∀a < b; a, b ∈ R P (X ≥ a) = 1 − F (a) = ∞ f (x)dx b f (x)dx P (a ≤ X < b) = F (b) − F (a) = a * limx→a + F (x) − F (a), diskrétne premenné P (X = a) = 0, spojité premenné. 358 (A.22) a (A.23) (A.24) A.3. Číselné charakteristiky náhodnej premennej 1 P(X≥b) F(d) P(b≤X<d) F(b) P(X<b) 0 a b c d x e Obrázok A.2: Distribučná funkcia spojitej premennej. 0.4 1 0.8 F(x) P(x) 0.3 0.2 0.6 0.4 0.1 0 1 0.2 2 3 x 4 0 −2 5 (a) Pravdepodobnostná funkcia. 0 2 x 4 6 8 (b) Distribučná funkcia. Obrázok A.3: Príklad pravdepodobnostnej a zodpovedajúcej distribučnej funkcie diskrétnej premennej. Distribučnú funkciu diskrétnej premennej určíme ako F (x) = P (xi ) x i <x a pre spojitú premennú F (x) = (A.25) x −∞ f (t )dt , (A.26) kde f (t ) je hustota rozdelenia pravdepodobnosti (ekvivalent pravdepodobnostnej = funkcie P (x)). Hustota pravdepodobnosti je nezáporná fun∞ kcia a platí −∞ f (x)dx = 1, limx→−∞ f (x) = 0 a limx→∞ f (x) = 0. Tieto vzt’ahy opisujú obrázky A.3 a A.4. A.3 Číselné charakteristiky náhodnej premennej Charakterizujú vlastnosti náhodnej premennej a umožňujú porovnávat’ premenné. V d’alšom texte opíšeme len charakteristiky spojitých premenných. Pre diskrétne premenné platia obdobné vzt’ahy. 359 A. V YBRANÉ TÉMY Z PRAVDEPODOBNOSTI 0.4 1 0.8 F(x) f(x) 0.3 0.2 0.6 0.4 0.1 0 −4 0.2 −2 x 0 2 0 −4 4 (a) Hustota rozdelenia pravdepodobnosti. −2 0 x 2 4 (b) Distribučná funkcia. Obrázok A.4: Vzt’ah hustoty rozdelenia pravdepodobnosti a zodpovedajúcej distribučnej funkcie spojitej premennej. A.3.1 Momenty Začiatočný moment r-tého rádu je definovaný ako ∞ x r f (x)dx. μr = E(X r ) = −∞ (A.27) Okrem začiatočných momentov sa používajú aj centrálne momenty, kde od hodnôt pôvodných dát odčítame ich priemer ∞ μr = E((X − E(X ))r ) = (x − E(X ))r f (x)dx. (A.28) −∞ Využívajú sa najmä centrálne momenty druhého, tretieho a štvrtého rádu. Stredná hodnota Vyjadruje hodnotu, „okolo“ ktorej sa sústred’ujú všetky hodnoty náhodnej premennej. Nazýva sa aj priemer (expected value, mean), značí sa E(X ) alebo μ μ= ∞ −∞ x f (x)dx. (A.29) Vidíme, že začiatočný moment prvého rádu je vlastne priemer. Rozptyl Rozptyl (tiež variancia, disperzia, stredná kvadratická odchýlka) je centrálny moment druhého rádu a vyjadruje variabilitu hodnôt dát okolo strednej hodnoty. Označuje sa σ2 alebo V (X ), prípadne Var(X ) ∞ (x − E(X ))2 f (x)dx. (A.30) Var(X ) = −∞ 360 A.3. Číselné charakteristiky náhodnej premennej (a) Pozitívne zošikmené rozdelenie. (b) Symetrické rozdelenie. (c) Negatívne zošikmené rozdelenie. Obrázok A.5: Šikmost’. Pri praktických výpočtoch sa používa vzt’ah Var(X) = E(X 2 ) − (E(X ))2 . (A.31) Smerodajná (alebo štandardná) odchýlka označovaná σ alebo Std(X ) je daná druhou odmocninou rozptylu 3 (A.32) Std(X) = Var(X ). Šikmost’ Podiel tretieho centrálneho momentu a tretej mocniny smerodajnej odchýlky vyjadruje mieru symetrie rozdelenia pravdepodobnosti vzhl’adom na normované (štandardné) normálne rozdelenie N (0, 1) (pozri kapitolu A.6) μ α3 = 33 . (A.33) σ Podl’a hodnoty, akú nadobúda α3 hovoríme o symetrickom (α3 = 0), negatívne (α3 < 0) alebo pozitívne (α3 > 0) zošikmenom rozdelení (obr. A.5). Špicatost’ Podiel štvrtého centrálneho momentu a štvrtej mocniny smerodajnej odchýlky vyjadruje relatívnu plochost’ rozdelenia pravdepodobnosti vzhl’adom na normované (štandardné) normálne rozdelenie N (0, 1) α4 = μ4 σ4 . (A.34) Pre N (0, 1) je α4 = 3, preto sa používa normovaná hodnota α4 − 3 a podl’a tejto hodnoty hovoríme o normálnej (0), menšej (< 0) alebo väčšej (> 0) špicatosti rozdelenia (obr. A.6). 361 A. V YBRANÉ TÉMY Z PRAVDEPODOBNOSTI >0 0 <0 Obrázok A.6: Normálna (0), menšia (< 0) a väčšia (> 0) špicatost’ rozdelenia. A.3.2 Kvantily Kvantil Q p je hodnota, pre ktorú platí, že pravdepodobnost’, že náhodná veličina X má hodnotu menšiu ako Q p , je 100p % P (X < Q p ) = p. (A.35) Kvantily tvoria vlastne inverznú funkciu k distribučnej funkcii. Pre spojité rozdelenie je kvantil Q p číslo, pre ktoré platí F (Q p ) = p. (A.36) Hodnoty kvantilov jednotlivých rozdelení nájdeme v štatistických tabul’kách. Hodnoty charakterizujú polohu dát. Ich rozdiel (rozpätie) používame na charakteristiku variability. Niektoré dôležité kvantily majú vlastné mená. Medián Medián je kvantil deliaci súbor na dve polovice. Je to teda Q 0,5 . Znamená to, že polovica hodnôt dát je menšia a polovica väčšia ako medián. Kvartil Kvartily delia súbor na štvrtiny. Sú to Q 0,25 (dolný kvartil), Q 0,5 a Q 0,75 (horný kvartil). Rozdiel horného a dolného kvartilu určuje medzikvartilové rozpätie Q 0,75 − Q 0,25 , ktoré je znázornené na obrázku A.7. Decil Decily delia súbor na desatiny. Sú to Q 0,1 , Q 0,2 ,. . . Q 0,9 . Medzidecilové rozpätie je rozdiel Q 0,9 − Q 0,1 . Percentil Percentily delia súbor na stotiny. Sú to Q 0,01 , Q 0,02 ,. . . Q 0,99 . Medzipercentilové rozpätie je rozdiel Q 0,99 − Q 0,01 . 362 A.4. Náhodné vektory Q0,5 - medián Obrázok A.7: Medzikvartilové rozpätie. modus priemer modus priemer modus medián priemer medián (a) Pozitívne zošikmené rozdelenie. medián (b) Symetrické rozdelenie. (c) Negatívne zošikmené rozdelenie. Obrázok A.8: Modus, medián a priemer pre rôzne zošikmené rozdelenia pravdepodobnosti. A.3.3 Modus Modus je najčastejšie sa opakujúca hodnota v súbore. Vzt’ah medzi priemerom, modusom a mediánom je znázornený na obrázku A.8. A.4 Náhodné vektory Náhodnú veličinu chápeme ako výsledok náhodného pokusu. Takýto výsledok však nemusí byt’ opísaný jedným číslom, ale usporiadanou n-ticou čísiel. Príkladom je kontrola produkcie v potravinárskom priemysle, kde napríklad pri mäsových výrobkoch sa pri meraní zist’uje množstvo soli, obsah vody, obsah tuku, obsah dusitanov. Čiže každé meranie je reprezentované usporiadanou štvoricou. Podobne ako rozdelenie pravdepodobnosti náhodnej premennej definujeme združené rozdelenie pravdepodobnosti náhodného vektora. Pre N -rozmerný vektor (X 1 , . . . X N ) platí F (x1 , . . . x N ) = P ((X 1 < x1 )& . . . &(X N < x N )) = = P (X 1 < x1 , . . . X N < x N ). (A.37) 363 A. V YBRANÉ TÉMY Z PRAVDEPODOBNOSTI Združenú distribučnú funkciu diskrétneho náhodného vektora určíme ako F (x1 , . . . x N ) = ... X 1 <x 1 X N <x N P (x1 , . . . x N ) (A.38) a pre spojitú premennú F (x1 , . . . x N ) = x 1 −∞ x N ... −∞ f (t1 , . . . t N )dt1 . . . dt N , (A.39) kde f (t1 , . . . t N ) je hustota rozdelenia pravdepodobnosti (ekvivalent pravdepodobnostnej funkcie P (x1 , . . . x N )). A.4.1 Marginálne rozdelenie pravdepodobnosti Pri náhodných vektoroch (v oblasti počítačového videnia a klasifikácie sú to vektory príznakov) potrebujeme často poznat’ aj marginálne rozdelenie jednotlivých zložiek vektora. Marginálne rozdelenie zložky i vypočítame pomocou združenej hustoty pravdepodobnosti nasledovne F i (xi ) = P (X 1 < ∞, . . . X i < xi , . . . X N < ∞) = ∞ ∞ xi ... ... f (t1 , . . . t N )dt1 . . . dt N . = −∞ −∞ −∞ (A.40) Zložky náhodného vektora sú vzájomne nezávislé, práve vtedy ked’ F (x1 , . . . x N ) = F 1 (x1 ) . . . F N (x N ). (A.41) A.5 Číselné charakteristiky náhodného vektora Aj náhodné vektory opisujeme číselnými charakteristikami. Rodel’ujeme ich na skalárne, vektorové a maticové charakteristiky. A.5.1 Združené momenty Obecný združený moment (r 1 , . . . r N )-tého rádu je definovaný ako r μr 1 ,...r N = E(X 1r 1 X 2r 2 . . . X NN ) = ∞ ∞ r r ... x11 . . . x NN f (x1 , . . . x N )dx1 . . . dx N . = −∞ 364 −∞ (A.42) A.5. Číselné charakteristiky náhodného vektora Ked’ od hodnôt dát odčítame priemer, môžeme vypočítat’ centrálny združený moment (r 1 , . . . r N )-tého rádu definovaný ako μr 1 ,...r N = E((X 1 − E(X 1 ))r 1 (X 2 − E(X 2 ))r 2 . . . (X N − E(X N ))r N ) = ∞ ∞ = ... (x1 − E(X 1 ))r 1 . . . (x N − E(X N ))r N f (x1 , . . . x N )dx1 . . . dx N . −∞ −∞ (A.43) Príkladom použitia momentov v 2D úlohách počítačového videnia sú škálovo invariantné momenty (i , j )-teho rádu ηi,j = : μi,j 1+ μ0,0 i+j 2 ; (A.44) a Huove momenty, ktoré sú škálovo, translačne aj rotačne invariantné I 1 =η2,0 + η0,2 I 2 =(η2,0 − η0,2 )2 + 4η21,1 (A.45) .... Zvyšné Huove momenty sú uvedené v [Hu62]. A.5.2 Marginálne charakteristiky Marginálne charakteristiky opisujú jednotlivé zložky náhodného vektora. Opíšeme si strednú hodnotu a rozptyl, momenty vyšších rádov získame obdobne. Stredná hodnota Stredná hodnota E(X) náhodného vektora X je vektor stredných hodnôt jednotlivých zložiek E(X) = (E(X 1 ), . . . E(X N )) . (A.46) Stredná hodnota E(X) je vlastne vektorom začiatočných združených momentov (r 1 , . . . r N )-tého rádu, kde jeden z indexov r i je rovný 1 a ostatné sú nulové. 365 A. V YBRANÉ TÉMY Z PRAVDEPODOBNOSTI Rozptyl Podobne, rozptyl Var(X) náhodného vektora X je vektor rozptylov jednotlivých zložiek Var(X) = (Var(X 1 ) . . . Var(X N )) . (A.47) Rozptyl Var(X) je vlastne vektorom centrálnych združených momentov (r 1 , . . . r N )-tého rádu, kde jeden z indexov r i je rovný 2 a ostatné sú nulové. A.5.3 Kovariancia Vzt’ah medzi dvomi náhodnými veličinami X i , X j určuje kovariancia Cov(X i , X j ) = E((X i − E(X i ))(X j − E(X j )), (A.48) a teda centrálny moment (r 1 , . . . r N )-tého rádu, kde indexy r i = r j = 1 a ostatné sú nulové. Kladná kovariancia hovorí, že hodnoty náhodných premenných sa pohybujú rovnakým smerom (zvýšením jednej sa zvýši aj druhá). Z vlastností kovariancie vyplýva aj vzt’ah, ktorý sa používa na praktický výpočet jej hodnoty Cov(X i , X j ) = E(X i X j ) − E(X i )E(X j ). (A.49) Cov(X i , X i ) = E(X i2 ) − (E(X i ))2 = Var(X i ) (A.50) Cov(X i , X j ) = Cov(X j , X i ). (A.51) Ďalej platí a Na opis vzt’ahov jednotlivých zložiek náhodného vektora X sa používa kovariančná matica Σ, kde Σi j = Cov(X i , X j ) = E((X i − μi )(X j − μ j )), (A.52) a teda ⎡ Var(X 1 ) ⎢ Cov(X , X ) 2 1 ⎢ Σ=⎢ .. ⎢ ⎣ . Cov(X N , X 1 ) 366 Cov(X 1 , X 2 ) Var(X 2 ) .. . Cov(X N , X 2 ) ··· ··· .. . ··· ⎤ Cov(X 1 , X N ) Cov(X 2 , X N )⎥ ⎥ ⎥. .. ⎥ ⎦ . Var(X N ) (A.53) A.6. Normálne rozdelenie 0.2 0.15 0.1 0.05 0 4 2 y 0 −2 −4 −4 −2 0 2 4 x Obrázok A.9: Dvojrozmerné normálne rozdelenie so nulovým priemerom a jednotkovou kovariančnou maticou. A.6 Normálne rozdelenie V oblasti spracovania obrazu, počítačového videnia a rozpoznávania objektov pracujeme väčšinou s predpokladom, že dáta majú normálne rozdelenie. Hovoríme, že náhodná premenná má normálne (Gaussove) rozdelenie s parametrami μ a σ (X ∼ N (μ, σ)), ked’ pre jej funkciu hustoty platí f (x) = (x−μ)2 1 − e 2σ2 . σ 2π (A.54) A.6.1 Viacrozmerné normálne rozdelenie Zápis X ∼ N (µ, Σ) znamená, že N -rozmerný vektor X = (X 1 , . . . X N ) má normálne (Gaussove) rozdelenie s parametrami µ a Σ. Toto platí, ak združená funkcia hustoty vektora X je , + 1 1 f (x) = 3 (A.55) exp − (x − µ)T Σ−1 (x − µ) , 2 (2π)N |Σ| kde µ je vektor stredných hodnôt a Σ je kovariančná matica vektora X. Pre dvojrozmerné normálne rozdelenie má funkcia hustoty pravdepodobnosti kopcovitý tvar (obr. A.9), ktorý závisí na kovariančnej matici, ako je znázornené na obrázku A.10. 367 A. V YBRANÉ TÉMY Z PRAVDEPODOBNOSTI 4 4 0.1 3 2 2 0.08 0.08 1 0 0.06 y y 1 −1 0 0.06 −1 0.04 −2 −3 −4 −4 −3 −2 −1 0.1 3 −3 0.02 0 x 1 2 3 0.04 −2 0.02 −4 −4 −3 −2 −1 4 (a) Var(X ) = 2, Var(Y ) = 1, Cov(X ,Y ) = 0 0 x 1 2 3 4 (b) Var(X ) = 1, Var(Y ) = 2, Cov(X ,Y ) = 0 4 0.14 3 0.12 2 0.1 y 1 0 0.08 −1 0.06 −2 0.04 −3 −4 −4 −3 −2 −1 0 x 1 2 3 4 0.02 (c) Var(X ) = Var(Y ) = 1, Cov(X ,Y ) = 0 4 0.12 4 3 2 1 0.08 0 0.06 −1 −2 0.04 −3 0.1 2 y y 1 −4 −4 −3 −2 −1 0.12 3 0.1 0.08 0 0.06 −1 −2 0.04 −3 0 x 1 2 3 4 0.02 −4 −4 −3 −2 −1 0 x 1 2 3 4 0.02 (d) Var(X ) = 2, Var(Y ) = 1, Cov(X ,Y ) = −0,5 (e) Var(X ) = 2, Var(Y ) = 1, Cov(X ,Y ) = 0,5 Obrázok A.10: Vrstevnice dvojrozmerného normálneho rozdelenia so stredom (0,0) a rôznymi kovariančnými maticami. 368 D ODATOK B Vybrané témy z maticového počtu B.1 Singulárny rozklad matice Singulárne číslo a singulárne vektory matice A sú nezáporné číslo σ a nenulové vektory u a v také, že Av = σu, H A u = σv, (B.1) (B.2) kde AH je Hermitovsky (komplexne združená) transponovaná matica. Pre reálne matice, s ktorými budeme pracovat’, platí AH = AT . Z toho vyplýva, že v je vlastný vektor matice AT A a u vlastný vektor matice AAT prislúchajúce vlastnému číslu λ = σ2 . Dôkaz uvedieme neskôr v kapitole B.1.2. V maticovom zápise: AV = US, (B.3) T (B.4) T A U = VS , kde U = [u1 , . . . uN ], V = [v1 , . . . vD ] a S = diag(σ1 , . . . σrank(A) ). Zápis A = USVT sa nazýva singulárny rozklad matice A. Rozmerovo [A]N×D = [U]N×N [S]N×D VT D×D . 370 (B.5) (B.6) B.1. Singulárny rozklad matice B.1.1 Úsporná forma SVD Ak r = rank(A) ≤ min(N , D) a matice U, S a V sa dajú zapísat’ ako blokové nasledovne U= U1 U3 S= diag(σ1 , . . . σr ) 0 VT = V1 V2 U2 U4 , V3 V4 (B.7) 0 0 S1 0 = 0 0 , , (B.8) (B.9) kde 0 je nulová matica, potom A= U1 U3 U2 U4 = U1 U3 (N×r ) S1 0 V1 V2 0 0 V3 V4 = [S1 ](r ×r ) [V1 |V3 ](r ×D) . (B.10) (B.11) Takémuto vyjadreniu sa hovorí úsporná forma SVD, pretože rátame len r stĺpcov matice U a r riadkov matice VT . B.1.2 Vlastnosti SVD Ak A je reálna štvorcová symetrická matica, potom A = USUT , (B.12) kde S má na diagonále vlastné čísla matice A a U sú ortonormálne vlastné vektory matice A. Dôkaz. S má na diagonále vlastné čísla matice A, U sú ortonormálne vlastné vektory matice A, potom AU = US, (B.13) −1 A = USU . (B.14) Pre ortonormálne matice platí UT = U−1 a teda A = USUT . Ak A je reálna matica, tak A = USVT , (B.15) kde S má na diagonále odmocninu vlastných čísel matice AAT , U sú vlastné vektory matice AAT a V sú vlastné vektory matice AT A. 371 B. V YBRANÉ TÉMY Z MATICOVÉHO PO ČTU Dôkaz. Pre singulárny rozklad matice platí AV = US, (B.16) T (B.17) T A U = VS , a teda AT AV = AT US = VST S, T T T (B.18) AA U = AVS = USS . (B.19) AT A = VST SVT , (B.20) Z toho vyplýva T T T AA = USS U , (B.21) a teda U sú vlastné vektory matice AAT a V sú vlastné vektory matice AT A. Označme σi vlastné čísla matice AAT . Pretože platí eig(AB) = eig(BA), σi sú zároveň vlastné čísla matice AT A. Potom ST S = SST = diag({σi }). Nech S = diag({λi }). Z toho vyplýva, že ST S = SST = diag({λ2i }), a teda λi = σi , a teda S má na diagonále odmocniny vlastných čísel matice AAT . 372 D ODATOK C Vybrané kapitoly z lineárnej algebry Pre hlbší popis uvedených pojmov odkážeme čitatel’a na podrobnejšiu literatúru teórie maticového počtu ([Kra06]). C.1 Vektorový priestor (Lineárny priestor) Reálny vektorový priestor Reálny vektorový priestor V je neprázdna množina prvkov nazývaných vektory, v ktorej je definovaná operácia sčítanie, ktorá každej dvojici vektorov u ∈ V, v ∈ V prirad’uje vektor u +v ∈ V a operácia násobenia vektorov reálnym číslom, ktorá každej dvojici α ∈ R, u ∈ V , prirad’uje vektor αu ∈ V ; pričom tieto operácie majú tieto vlastnosti: 1. u + v = v + u pre všetky u, v ∈ V. 2. (u + v) + w = u + (v + w) pre všetky u, v, w ∈ V. 3. Existuje vektor o ∈ V ; zvaný nulový vektor, tak, že ν + o = ν pre všetky ν ∈ V. 4. Ku každému vektoru ν ∈ V existuje jednoznačne určený vektor−ν tak, že ν + (−ν) = o. 5. (αβ)ν = α(βν) pre všetky α, β ∈ R a pre všetky v ∈ V. 6. 1.ν = ν pre všetky v ∈ V. 374 C.2. Lineárna kombinácia vektorov 7. (α + β)ν = αν + βν pre všetky α, β ∈ R a pre všetky v ∈ V. 8. α(u + ν) = αu + αν pre všetky u, v ∈ V. Komplexný vektorový priestor Analogicky sa definuje komplexný vektorový priestor. Reálny a komplexný vektorový priestor budeme nazývat’ spoločným názvom vektorový priestor. Číslo potom bude v prípade reálneho vektorového priestoru znamenat’ reálne číslo, v prípade komplexného vektorového priestoru číslo bude znamenat’ komplexné číslo. Čísla budeme tiež nazývat’ skaláry. C.2 Lineárna kombinácia vektorov Operácie sčítanie vektorov a násobenie vektorov číslami umožňujú zaviest’ pojem lineárna kombinácia vektorov. Ak sú α1 , ..., αn l’ubovol’né čísla aν1 , ..., νn l’ubovol’né vektory, tak vektor α1 ν1 + ... + αn νn (C.1) nazývame lineárnou kombináciou vektorov ν1 , ..., νn s koeficientami α1 , ..., αn . C.3 Lineárna transformácia Pojmom lineárne zobrazenie (lineárna transformácia) sa v matematike označuje také zobrazenie medzi vektorovými priestormi V1 a V2, ktoré zachováva vektorové operácie sčítanie a násobenie skalárom. C.4 Báza vektorového priestoru Bázou vektorového priestoru V nazývame taký sytém Φ vektorov vo V, pre ktoré sú splnené nasledovné podmienky: 1. Φ je lineárne nezávislý 2. Φ generuje celý priestor V (úplná báza) 375 C. V YBRANÉ KAPITOLY Z LINEÁRNEJ ALGEBRY Nech a1 ...a N ∈ V . Potom a_{1}...a_{N } tvoria bázu V práve vtedy, ked’ každý vektor z V je možné vyjadrit’ ako lineárnu kombináciu vektorov a1 ...a N a to jednoznačne. Ak vektory a1 ...a N tvoria bázu priestoru V, a pre s ∈ V platí, že s = s1 a1 +...+s N a N . Potom koeficienty s1 ...s N sa nazývajú súradnice vektora s vzhl’adom k danej báze. 376 Zoznam použitej literatúry [HT13] M. Hamala a M. Trnovska. Nelineárne programovanie, teória a algoritmy. Druhé vyd. EPOS, 2013. [Hu62] M. K. Hu. „Visual pattern recognition by moment invariants“. Information Theory, IRE Transactions on 8.2 (1962), str. 179– 187. [Kor03] J. Korbaš. Lineárna algebra a geometria I. Vydavatel’stvo UK, Bratislava, 2003. [Kra06] E. Krajník. Základy maticového počtu. ČVUT, Praha, 2006, str. 165. [Lit11] M. Litschmannová. Vybrané kapitoly z pravděpodobnosti. Skriptá. VŠB TU Ostrava, Fakulta elektrotechniky a informatiky, 2011. [Nav07] M. Navara. Pravděpodobnost a matematická statistika. Skriptá. FEL ČVUT, Praha, 2007. [PJ11] A. Pázman a K. Janková. Pravdepodobnost’ a štatistika. Vydavatel’stvo UK, Bratislava, 2011. [Zla11] P. Zlatoš. Lineárna algebra a geometria. Skriptá. FMFI UK, Bratislava, 2011. 378 Počítačové videnie. Detekcia a rozpoznávanie objektov Autorský kolektív: RNDr. Elena Šikudová, PhD. RNDr. Zuzana Černeková, PhD. Ing. Vanda Benešová, CSc. RNDr. Zuzana Haladová RNDr. Júlia Kučerová Recenzenti: Prof. Ivan Bajla, ÚMER SAV, Bratislava Prof. Jaroslav Polec, ÚT FEI STU, Bratislava Doc. Jarmila Pavlovičová, ÚT FEI STU, Bratislava Obálka: Spyridon Giochalas Vydavatel’stvo: Wikina, Livornská 445, 109 00 Praha 10 1. vydanie Náklad: 100 Počet strán: 397 Nepredajné Vydané s podporou grantu KEGA 068UK-4/2011 ISBN: 978-80-87925-07-2