AIL 072 Rozpoznvn vzor Jana tanclov Jana Stanclovamff

  • Slides: 26
Download presentation
AIL 072 - Rozpoznávání vzorů Jana Štanclová Jana. Stanclova@mff. cuni. cz LS 2/0 Zk

AIL 072 - Rozpoznávání vzorů Jana Štanclová Jana. Stanclova@mff. cuni. cz LS 2/0 Zk

Literatura • Richard O. Duda, Peter E. Hart, David G. Stork – Pattern Classification,

Literatura • Richard O. Duda, Peter E. Hart, David G. Stork – Pattern Classification, Second Edition, A Wiley-Interscience Publication, 2000 • Sergios Theodoridis, Konstantinos Koutroumbas – Pattern Recognition, Second Edition, Elsevier Academic Press, 2003 • Supervised and Unsupervised Pattern Recognition, Feature Extraction and Computational Intellingence, CRC Press, 2000

Rozpoznávání vzorů • člověk umí: – – rozpoznat obličeje rozumět mluveným slovům číst ručně

Rozpoznávání vzorů • člověk umí: – – rozpoznat obličeje rozumět mluveným slovům číst ručně psaný text dotykem rozpoznat klíč v kapse => skrývají v sobě proces rozpoznávání vzorů • rozpoznávání vzorů (pattern recognition) je disciplína, jejímž cílem je klasifikace objektů do tříd • objekty = obrázky, signály, . . . podle aplikace => obecně pojem vzory (patterns)

Troška historie • v západním světě můžeme najít základy rozpoznávání již u Platóna a

Troška historie • v západním světě můžeme najít základy rozpoznávání již u Platóna a Aristotela – rozeznávali esenciální a druhotné vlastnosti – cílem rozpoznávání vzorů je nalezení esenciální vlastnosti • ve východních světech např. patriarcha Zenu Bodhidharma – konfrontace procesů v mysli, identifikace objektů a klasifikace • novověk – před 1960 jako výstup teoretického výzkumu v oblasti statistiky – s rozvojem počítačů potřeba aplikací na rozpoznávání vzorů => požadavek na další teoretický rozvoj – rozponávání vzorů je součástí „strojového vnímání“

Aplikace rozpoznávání vzorů • „machine vision“ – obrázky nasnímáme kamerou a jejich analýzou dostaneme

Aplikace rozpoznávání vzorů • „machine vision“ – obrázky nasnímáme kamerou a jejich analýzou dostaneme popis scény • rozpoznávání znaků – OCR (optical character recognition) • rozpoznávání ručně psaných textů – čtení bankovních šeků – automatické třídící stroje na poštách • online rozpoznávání ručně psaných textů – tužkové počítače • počítačová diagnóza – pomáhá doktorům dělat rozhodnutí • rozpoznávání řeči

Ilustrační příklad • třídění ulovených ryb – losos × mořský okoun • první prototyp

Ilustrační příklad • třídění ulovených ryb – losos × mořský okoun • první prototyp systému:

Prototyp systému 1. snímání dat – 2. kamera nasnímá rybu předzpracování – 3. signály

Prototyp systému 1. snímání dat – 2. kamera nasnímá rybu předzpracování – 3. signály z kamery jsou předzpracovány (nastavení průměrných intenzit světla, odstranění pozadí, izolace obrazu jedné ryby, . . . ) extrakce příznaků – 4. obraz s izolovanou rybou je „poslán“ k extrakci vybraných příznaků/vlastností klasifikace – naměřené příznaky se „pošlou“ ke klasifikaci, která rozhodne, co to je za rybu

Jak udělat klasifikátor? • externí informace „okouni jsou delší než lososi“ – zkusíme použít

Jak udělat klasifikátor? • externí informace „okouni jsou delší než lososi“ – zkusíme použít délku jako příznak pro klasifikaci – hledáme kritickou délku l* na základě trénovacích vzorů • výsledný histogram délek:

Jak udělat klasifikátor? • externí informace „okouni jsou delší než lososi“ – zkusíme použít

Jak udělat klasifikátor? • externí informace „okouni jsou delší než lososi“ – zkusíme použít délku jako příznak pro klasifikaci – hledáme kritickou délku l* na základě trénovacích vzorů • výsledný histogram délek: => průměrně je losos kratší, ale jako samostatné kritérium to nestačí

Jak udělat klasifikátor? • zkusíme jiný příznak – světlost šupin ryby – pozor při

Jak udělat klasifikátor? • zkusíme jiný příznak – světlost šupin ryby – pozor při předzpracování - změna osvětlení může změnit barvu šupin! – hledáme kritickou světlost x* na základě trénovacích vzorů • výsledný histogram světlosti šupin ryb:

Jak udělat klasifikátor? • zkusíme jiný příznak – světlost šupin ryby – pozor při

Jak udělat klasifikátor? • zkusíme jiný příznak – světlost šupin ryby – pozor při předzpracování - změna osvětlení může změnit barvu šupin! – hledáme kritickou světlost x* na základě trénovacích vzorů • výsledný histogram světlosti šupin ryb: => lepší klasifikátor - třídy jsou lépe oddělené

Cena špatného rozhodnutí • uvažujme špatné rozhodnutí při klasifikaci: – kousek lososa v konzervě

Cena špatného rozhodnutí • uvažujme špatné rozhodnutí při klasifikaci: – kousek lososa v konzervě okouna => „může být“ – kousek okouna v konzervě lososa => „špatné“ => redukce počtu okounů, které jsou klasifikováni špatně

Cena špatného rozhodnutí • uvažujme špatné rozhodnutí při klasifikaci: – kousek lososa v konzervě

Cena špatného rozhodnutí • uvažujme špatné rozhodnutí při klasifikaci: – kousek lososa v konzervě okouna => „může být“ – kousek okouna v konzervě lososa => „špatné“ => redukce počtu okounů, které jsou klasifikováni špatně => např. posunutí rozhodovací hranice do menších hodnot světlosti • obecně: existuje celková cena spojená s rozhodnutím – cílem je udělat rozhodovací pravidlo takové, aby minimalizovalo cenu klasifikace => teorie rozhodování

Výběr více příznaků • zkusíme více příznaků: – x 1. . . světlost šupin

Výběr více příznaků • zkusíme více příznaků: – x 1. . . světlost šupin – x 2. . . šířka ryby • naměřené příznaky zaneseme do 2 D-prostoru příznaků, který chceme rozdělit na dvě oblasti (oblast lososa a oblast okouna): => celková cena klasifikátoru je menší než u jednoho příznaku

Další vývoj klasifikátoru 1. použít další příznaky - poloha očí, úhel hřbetní ploutve, .

Další vývoj klasifikátoru 1. použít další příznaky - poloha očí, úhel hřbetní ploutve, . . . 2. použít komplexnější rozhodovací kritérium - ne přímka, ale složitější křivka

Další vývoj klasifikátoru 1. použít další příznaky - poloha očí, úhel hřbetní ploutve, .

Další vývoj klasifikátoru 1. použít další příznaky - poloha očí, úhel hřbetní ploutve, . . . 2. použít komplexnější rozhodovací kritérium - ne přímka, ale složitější křivka => správná klasifikace „známých“ ryb, ale špatná klasifikace „neznámých“ ryb => model není schopen generalizace

Zlepšení generalizace klasifikátoru • • použít více trénovacích vzorů – lepší oddělení tříd nepožadovat

Zlepšení generalizace klasifikátoru • • použít více trénovacích vzorů – lepší oddělení tříd nepožadovat příliš složitá rozhodovací kritéria – – slabší výkon na trénovacích datech zlepší se celková generalizace Jak odhadnout, zda náš systém bude dobře generalizovat? => hlavní problém statistického rozpoznávání vzorů

Reprezentace dat • typické reprezentace – vektory reálných čísel – uspořádaný seznam atributů, –.

Reprezentace dat • typické reprezentace – vektory reálných čísel – uspořádaný seznam atributů, –. . . • dobrá reprezentace dat – vzory, které vedou ke stejné akci, jsou si navzájem „blízké“ – vzory, které vedou k různé akci, jsou si navzájem „vzdálené“ • základní techniky v praxi – malé množství příznaků (jednodušší rozhodovací oblasti, snadno naučíme klasifikátor) – když máme nedostatečná data => musíme přidat další znalost problematiky

Obory příbuzné k rozpozn. vzorů • testování hypotéz – rozhodujeme, zda hypotézu zamítnout či

Obory příbuzné k rozpozn. vzorů • testování hypotéz – rozhodujeme, zda hypotézu zamítnout či ne – pravděpodobnost padne pod „prahovou hodnotu“ => hypotézu zamítneme – př. H: „všechny ryby na pásu patří do stejné třídy“ A: „všechny ryby na pásu patří do dvou tříd “ • „image processing“ – rotace obrázku, zvýšení kontrastu, . . • extrakce příznaků – vstupem je vzor a na výstupu jsou hodnoty příznaků (typicky příznaků bývá méně) – ztráta informace => nebývá možná zpětná rekonstrukce – klasifikace je ještě radikálnější ztráta informace

Obory příbuzné k rozpozn. vzorů • regrese – hledá funkční popis dat s cílem

Obory příbuzné k rozpozn. vzorů • regrese – hledá funkční popis dat s cílem predikovat hodnoty pro nové vstupy – nejznámější je lineární regrese – př. můžeme se domnívat, že délka lososa se lineárně mění s jeho váhou => naměříme hodnoty a najdeme koeficienty regrese • interpolace – známe hodnoty pro některé vstupy – chceme najít funkci, která nám charakterizuje hodnoty i pro ostatní vstupy – př. víme, jak se mění délka lososa v závislosti na věku lososa pro první dva týdny života => chceme zjistit tuto závislost od věku 2 týdnů do 2 let => většina těchto oborů se používá jako první krok při rozpoznávání vzorů

Systémy na rozpoznávání vzorů

Systémy na rozpoznávání vzorů

Systémy na rozpoznávání vzorů 1. snímání – 2. kamerou nebo mikrofonem nasnímáme vstup segmentace

Systémy na rozpoznávání vzorů 1. snímání – 2. kamerou nebo mikrofonem nasnímáme vstup segmentace a shlukování – – 3. izolování nasnímaných objektů od pozadí a jiných objektů jeden z nejtěžších kroků extrakce příznaků – – měření vlastností objektů, které jsou užitečné pro klasifikaci snaha naměřit takové příznaky, které budou podobné pro objekty stejné třídy příznaky by měly být invariantní vůči tranformacím a škálování (např. tvar, barva, druh „textury“) extrakce příznaků je závislá na úloze

Systémy na rozpoznávání vzorů 4. klasifikace – – 5. vstupní příznaky se ohodnotí a

Systémy na rozpoznávání vzorů 4. klasifikace – – 5. vstupní příznaky se ohodnotí a podle toho se určí kategorie složitost klasifikátoru závisí na různorodosti příznaků ve stejné třídě (vliv šumu) šum = vlastnost nasnímaných objektů, která nemá vztah ke skutečnému modelu ale vznikne díky náhodnosti ve světě nebo na senzorech problém v praxi: ne vždy je možné zjistit hodnoty všech příznaků pro daný objekt „post-processing“ – – – podle rozhodnutí klasifikátoru se provedou příslušné akce účinnost klasifikátoru se měří poměrem chyby (procento chybně klasifikovaných vzorů) => cílem je minimalizace chyby po-zpracování může využívat informace o kontextu

Návrh systému

Návrh systému

Návrh systému 1. sběr dat – 2. sběr trénovacích i testovacích dat výběr příznaků

Návrh systému 1. sběr dat – 2. sběr trénovacích i testovacích dat výběr příznaků – – 3. zásadní krok závisí zcela na daném problému (je možné využít apriorní informace) výběr modelu – 4. pro dané příznaky je nutné najít dobrý model učení klasifikátoru – 5. použijeme všechny (popř. jen trénovací) data pro nastavení parametrů klasifikátoru ohodnocení klasifikátoru – – ohodnotíme klasifikátor a může se ukázat, že je nutné zopakovat některé kroky (klasifikátor je málo naučen, špatná volba příznaků, . . . ) pozor na přeučení systému !

Učení klasifikátoru • učení s učitelem – učitel má informaci o správné kategorii či

Učení klasifikátoru • učení s učitelem – učitel má informaci o správné kategorii či o chybě klasifikace pro každý trénovací vzor • učení bez učitele (klastrování) – neznáme správnou kategorii či chybu klasifikace – systém sám vytváří „přirozené shluky“ vstupních vzorů • posilované učení – klasifikátoru předložíme vstup – zjistíme předběžnou kategorii – na základě učitele (= informace o správné kategorii) poopravíme klasifikátor