Klasifikace a rozpoznávání

Podobné dokumenty
Rozpoznávání v obraze

Vojtěch Franc Centrum strojového vnímání, Katedra kybernetiky, FEL ČVUT v Praze Eyedea Recognition s.r.o MLMU

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Optimální rozdělující nadplocha 4. Support vector machine. Adaboost.

Lineární diskriminační funkce. Perceptronový algoritmus.

Vojtěch Franc. Biometrie ZS Poděkování Janu Šochmanovi za slajdy vysvětlující AdaBoost

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

BOOSTING A EVOLUČNÍ ALGORITMY

Detekce obličeje v obraze s využitím prostředí MATLAB

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Roman Juránek. Fakulta informačních technologíı. Extrakce obrazových příznaků 1 / 30

Fakulta informačních technologíı. Extrakce obrazových příznaků 1 / 39

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Studentská tvůrčí a odborná činnost STOČ 2017

Kombinování klasifikátorů Ensamble based systems

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Lineární klasifikátory

Předzpracování dat. Lenka Vysloužilová

KLASIFIKAČNÍ A REGRESNÍ LESY

Kybernetika a umělá inteligence, cvičení 10/11

Miroslav Čepek. Fakulta Elektrotechnická, ČVUT. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Vytěžování znalostí z dat

Rosenblattův perceptron

Support Vector Machines (jemný úvod)

Strojové učení Marta Vomlelová

Vytěžování znalostí z dat

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie

Využití detektoru Viola-Jones pro lokalizaci obličeje a očí v barevných obrazech

geekovo minimum počítačového Nadpis 1 Nadpis 2 Nadpis 3

Strojové učení se zaměřením na vliv vstupních dat

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Úloha - rozpoznávání číslic

Vytěžování znalostí z dat

Statistické metody v digitálním zpracování obrazu. Jindřich Soukup 3. února 2012

Whale detection Brainstorming session. Jiří Dutkevič Lenka Kovářová Milan Le

Vytěžování znalostí z dat

ROZ1 CVIČENÍ VI. Geometrická registrace (matching) obrazů

Odečítání pozadí a sledování lidí z nehybné kamery. Ondřej Šerý

Umělé neuronové sítě

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Pokročilé neparametrické metody. Klára Kubošová

Extrakce a selekce příznaků

Moderní systémy pro získávání znalostí z informací a dat

Strukturální regresní modely. určitý nadhled nad rozličnými typy modelů

Přednáška 13 Redukce dimenzionality

ANALÝZA A KLASIFIKACE DAT

Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner

Fiala P., Karhan P., Ptáček J. Oddělení lékařské fyziky a radiační ochrany Fakultní nemocnice Olomouc

Co vše lze poznat z obrázků?

Pokročilé neparametrické metody. Klára Kubošová

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Statistická teorie učení

Rozdělování dat do trénovacích a testovacích množin

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

UČENÍ A DETEKCE OBJEKTŮ RŮZNÝCH TŘÍD V OBRAZE MULTI OBJECT CLASS LEARNING AND DETECTION IN IMAGE

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Neuronové časové řady (ANN-TS)

DATA MINING KLASIFIKACE DMINA LS 2009/2010

Trénování sítě pomocí učení s učitelem

DETEKCE HRAN V BIOMEDICÍNSKÝCH OBRAZECH

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Pokročilé neparametrické metody. Klára Kubošová

5. Umělé neuronové sítě. neuronové sítě. Umělé Ondřej Valenta, Václav Matoušek. 5-1 Umělá inteligence a rozpoznávání, LS 2015

Algoritmy a struktury neuropočítačů ASN - P11

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Strojové učení Marta Vomlelová

Náhodné signály. Honza Černocký, ÚPGM

Hodnocení klasifikátoru Test nezávislosti. 14. prosinec Rozvoj aplikačního potenciálu (RAPlus) CZ.1.07/2.4.00/

Změkčování hranic v klasifikačních stromech

Fakulta informačních technologií VUT Brno. Předmět: Srovnání klasifikátorů Autor : Jakub Mahdal Login: xmahda03 Datum:

ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

Klasifikace hudebních stylů

Metodika vyhledávání mapových značek na digitalizovaných starých mapách

PŘEDNÁŠKA KURZU MPOV

KLASIFIKACE DOKUMENTŮ PODLE TÉMATU

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

8-9. Pravděpodobnostní rozhodování a predikce. Gerstnerova laboratoř katedra kybernetiky fakulta elektrotechnická ČVUT v Praze

DETEKCE SKUPIN OSOB V DATABÁZI OBRAZŮ

7. Rozdělení pravděpodobnosti ve statistice

NG C Implementace plně rekurentní

Vytěžování znalostí z dat

Obsah přednášky. 1. Principy Meta-learningu 2. Bumping 3. Bagging 4. Stacking 5. Boosting 6. Shrnutí

Pravděpodobně skoro správné. PAC učení 1

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Vojtěch Franc. Biometrie ZS 2016

KYBERNETIKA A UMĚLÁ INTELIGENCE. 2. Pravděpodobnostní rozhodování a klasifikace

Analýza a zpracování digitálního obrazu

Dálkový průzkum Země. Klasifikace obrazu

Úvod do optimalizace, metody hladké optimalizace

Potlačování šumu v mikroskopických snímcích pomocí adaptivního non-local means filtru

IDENTIFIKACE BIMODALITY V DATECH

Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně

Zpracování obrazů. Honza Černocký, ÚPGM

Transkript:

Klasifikace a rozpoznávání Prezentace přednášek Ústav počítačové grafiky a multimédií

Téma přednášky Boosting Michal Hradiš UPGM FIT Brno University of Technology

Obsah: Co je to boosting? Algoritmus AdaBoost Slabé klasifikátory Využití algoritmu AdaBoost Modifikace algoritmu AdaBoost Počítačové vidění / Klasifikátor typu AdaBoost 3

Dostihy a sázky Počítačové vidění / Klasifikátor typu AdaBoost 4

Boosting Kombinace velmi špatných klasifikátorů do silného klasifikátoru Počítačové vidění / Klasifikátor typu AdaBoost 5

Boosting - historie 1984 Probably Approximatly Correct framework (Valiant) 1988 Can weak classifiers be boosted? 1989 First polynomial boosting alg. (Schapire) 1990 Boosting by majority (Freund) 1995 AdaBoost (Freund & Schapire) 1997 Generalized AdaBoost (Schapire & Singer) obrovské množství variací boosting algoritmů Počítačové vidění / Klasifikátor typu AdaBoost 6

Klasifikace formálně Vstup Trénovací data: Výstup Klasifikátor Binární klasifikace {( x y ), K, ( x, y m )}, Χ, y Υ 1, 1 m xi h : Χ Υ Υ = 1, +1 { } i Pojmy Příznak (feature) Vektor příznaků (feature vector) Klasifikátor klasifikační pravidlo (classifier, classification rule) Trénovací datová sada Validační datová sada Testovací datová sada Počítačové vidění / Klasifikátor typu AdaBoost 7

Co to je AdaBoost AdaBoost je zkratka pro Adaptive boosting Historicky se jedná o metodu, která umožňuje VHODNÉ spojení několika klasifikátorů s relativně špatnou úspěšností, tzv. SLABÝCH klasifikátorů do jednoho tzv. SILNÉHO klasifikátoru, který je úspěšnější než kterýkoli z oněch slabých klasifikátorů AdaBoost může být a také je užíván ke konstrukci silných klasifikátorů na základě velmi jednoduchých slabých klasifikátorů, které mají jako vstup pouze jeden příznak (threshold, histogram, rozhodovací strom) Počítačové vidění / Klasifikátor typu AdaBoost 8

Co to je AdaBoost Slabý klasifikátor Jediná podmínka chyba menší než 0.5 např.: práh jednoho příznaku, neuronová síť, naivní Bayes Často bývá jejich množina nekonečná ( x ), Χ { 1, 1} {h( x )}is infinite h t + Silný klasifikátor Lineární kombinace slabých klasifikátorů f ( x) α h ( ) = t T t t x H ( x) = sign( f ( x) ), Χ { 1, 1} H ( x) = sign[ α h ( x) + α h ( x) + α h ( x) Kα ( x) ] 1 1 2 2 3 3 T ht Počítačové vidění / Klasifikátor typu AdaBoost 9

Algoritmus AdaBoost Vstupní data: Distribuční funkce přes data (D t (i) je váha pro každé x i ) Opakuj T-krát: {( x y ), K, ( x, y m )}, Χ, y Υ 1, 1 m xi Vyber nebo vytvoř slabý klasifikátor minimalizující chybu na datech váženou pomocí D t (i) α t Výpočet váhy ( ) slabého klasifikátoru podle velikosti jeho chyby Upravení distribuční fce D t (i) (převážení dat). Váha u dobře klasifikovaných dat klesá, naopak u špatně klasifikovaných stoupá. Díky tomuto se nevybere v každém kroku stejný slabý klasifikátor. Váha vzorku lze přímo převést na výsledek klasifikátoru. i Počítačové vidění / Klasifikátor typu AdaBoost 10

Algoritmus AdaBoost FREUND, Y., SCHAPIRE, R. 1997. A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and System Sciences, 55(1):119--139. Počítačové vidění / Klasifikátor typu AdaBoost 11

AdaBoost - chyba na trénovacích datech AdaBoost minimalizuje chybu na trénovacích datech (exp. fce.) Skutečná chyba v kroku t je shora ohraničena pomocí: { i H( x ) } < [ 2 ε ( ε )] εt t ( i )[ yi h t ( x i )] 1 εtr = i y i t 1 m T Trénovací chyba klesá exponenciálně rychle Pokud se stále daří hledat slabé klasifikátory s chybou menší než 0.5, chyba na trénovacích datech v limitě klesne k nule t m = D i = 1 0,2 0,18 0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0 0 10 20 30 40 50 60 70 80 90 Počítačové vidění / Klasifikátor typu AdaBoost 12

AdaBoost - chyba na testovacích datech Existuje i teoretický a spočitatelný horní odhad chyby na testovacích datech (generalizace) založený na Margin Theory (složité) spojitost s SVM Praktické poznatky Na většině dat nemá tendenci se přetrénovat chyba na testovacích datech stále mírně klesá nebo stagnuje i pro vysoká T Dobrá generalizace Problém se šumem v datech Počítačové vidění / Klasifikátor typu AdaBoost 13

Margin theory Větší margin ----> lepší generalizace Does AdaBoost produce maximal margin NO, but is reasonably close Produces large margin classifiers (in hypotheses space) Počítačové vidění / Klasifikátor typu AdaBoost 14

Odolnost vůči šumu AB důvěřuje všem datům Existují i modifikace, které jsou více robustní vůči šumu, ale to vždy vyžaduje nastavení míry spolehlivosti dat Počítačové vidění / Klasifikátor typu AdaBoost 15

AdaBoost - souhrn vlastností Výsledný (silný) klasifikátor je lineární kombinací jednoduchých (slabých) klasifikátorů, ale NENÍ lineárním klasifikátorem Dobrá generalizace většinou se nepřetrénuje Není příliš odolný vůči šumu v datech První iterace trvá stejně dlouho jako 100. i 1000. iterace. Informace o úspěšnosti klasifikace dříve vybraných slabých klasifikátorů na jednotlivé vzory je obsažena v distribuční funkci (vahách) D t (i) Jsou známy rozumné horní odhady (meze) pro trénovací i testovací chybu Dobrý teoretický základ Počítačové vidění / Klasifikátor typu AdaBoost 16

AdaBoost modifikace Real AdaBoost Slabé klasifikátory dávají reálné hodnoty (už ne +1, -1, ale 4.2345) Velmi dobré a prospěšné Mnohem rychlejší konvergence (kratší klasifikátor) Pravděpodobně i lepší úspěšnost klasifikátoru na testovacích datech Real AdaBoost by měl být vaší první volbou, velmi často má v praktických úlohách nejlepší výsledky (i když existují algoritmy, které by měly mít teoreticky lepší vlastnosti) Počítačové vidění / Klasifikátor typu AdaBoost 17

Slabé klasifikátory Threshold Nalezen nejlepší (minimalizující kritérium z AB) v jednom průchodu Rozhodovací stromy Rekurzivní threshold Biny Najdi rozsah hodnot příznaku Rozsah rozděl na x stejných binů Pro každý bin vlastní predikce Raději náhodné transformace, než na začátku udělat PCA Počítačové vidění / Klasifikátor typu AdaBoost 18

Využití AB Pro co se hodí Když je velké množství příznaků (1000 10M) Když nevíte, jak transformovat data (jaké příznaky počítat), můžete zkusit všechno možné a AB si něco vybere Když potřebujete jednoduše vytvořit slušně rychlý klasifikátor Když chcete spojit několik klasifikátorů Počítačové vidění / Klasifikátor typu AdaBoost 19

Příklad: detekce střihu Příznaky Vzdálenost RGB histogramů Absolutní rozdíl hodnot pixelů (a také umocněný) Korelace Na gridu 4 x 4 Střední hodnota, medián, standard. odchylka, 4000 příznaků Slabé klasifikátory rozhodovací stromy AdaBoost je tu střih / není tu střih Počítačové vidění / Klasifikátor typu AdaBoost 20

Detekce obličeje Počítačové vidění / Klasifikátor typu AdaBoost 21

Detekce objektů v obraze s klasifikátory Skenování obrazu klasifikátorem Invariance vůči posunu = posun klasifikátoru Invariance vůči zvětšení = zvětšení klasifikátoru / zmenšení obrazu Invariance vůči rotaci = rotace obrazu Problém - milióny možných pozic (rychlost) Problém - objekty nejsou 2D c 1 Klasifikátor Pozadí Rogalo Počítačové vidění / Klasifikátor typu AdaBoost 22

Kaskáda klasifikátorů pro detekci Předpoklady: Potřebujeme nízkou False Alarm Rate (milióny pozic) Potřebujeme vysokou rychlost Máme neomezenou zásobu trénovacích dat pro třídu pozadí (náhodné výřezy z obrázků bez hledaného objektu) Každý stupeň kaskády zahodí výřezy, které určitě nejsou hledaným objektem, jinak se pokračuje dalším stupněm Postupně jsou stupně složitější F 1 < F 2 < F 3 Data se zahazují i při trénování Zahozená data se doplňují V obraze je většina výřezů bez hledaného objektu -> nízká doba vyhodnocení Počítačové vidění / Klasifikátor typu AdaBoost 23

Viola&Jones detekce obličeje Kaskáda klasifikátorů Stupně vytvořené pomocí alg. AdaBoost Jednoduché slabé klasifikátory threshold Vstupem slabých klasifikátorů nejsou hodnoty pixelů původního obrazu Transformace obrazu pomocí Haarových příznaků Využívá naše vědomosti o obrazu korelace sousedních pixelů Extrahují informace o lokální frekvenci Je jich hodně (180 000 v 24x24) -> AdaBoost má z čeho vybírat Rychlý výpočet pomocí integrálního obrazu 1,5 1 0,5 0-0,5-1 -1,5 VIOLA, P., JONES, M. 2001 Rapid object detection using a boosted cascade of simple features. In CVPR. Počítačové vidění / Klasifikátor typu AdaBoost 24

Integrální obraz SAT(x,y) = SUM( I(x-i,y-j)) Suma intenzity v osově souměrném obdélníku: =A-B-C+D Výpočet Haarovy vlnky Rychlost nezávisí na velikosti Umožňuje zvětšovat klasifikátor F = W-B F = (A-B-D+E)-(B-C-E+F) F = A+2E-2B-D+C-F W B Počítačové vidění / Klasifikátor typu AdaBoost 25

Trénovací data Počítačové vidění / Klasifikátor typu AdaBoost 26

Vyhodnocování chyb CMU+MIT Dataset Počítačové vidění / Klasifikátor typu AdaBoost 27

AdaBoost Možnosti modifikace Greedy Criterion for Weak Learner Optimal prediction Weight update (cost function) Počítačové vidění / Klasifikátor typu AdaBoost 28

AdaBoost - modifikace Optimalizace silného klasifikátoru Float Boost, Boosting Chain, Kullback-Leibler Boosting, Totally Corrective Updates Maximum margin klasifikátory Linear Programming Boosting, ε-boosting, Arc-GV, Marginal AdaBoost, Coordinate Ascent Boosting Nejsou výrazně lepší (vhodnější) než Real AdaBoost Počítačové vidění / Klasifikátor typu AdaBoost 29

Multi-class AdaBoost Jde to Samostatné binární klasifikátory + hlasování 1-N, 1-1 Jeden velký binární problém Přidají se kategorické příznaky 1-N 1-1 příznaky ID třídy - nový label ANO/NE Příznaky ID třídy 1 ID třídy 2 - nový label 1.tř / 2.tř Vybírají se slabé klasifikátory, které přinesou informaci pro všechny poblémy, ale celkově složitější Existují i lepší možnosti, ale jsou složitější Počítačové vidění / Klasifikátor typu AdaBoost 30

Shrnutí AdaBoost Lineární kombinace slabých klasifikátorů Slabé klasifikátory bývají často velmi jednoduché, ale může to být ve skutečnosti cokoliv. Podmínka: Chyba slabého klasifikátoru musí být menší než 0.5 na vážených datech. Váhy vzorku nesou veškerou informaci o předchozích iteracích Alfa je funkcí vážené chyby slabého klasifikátoru Chování chyby na trénovacích datech Chování chyby na testovacích datech Počítačové vidění / Klasifikátor typu AdaBoost 31

Shrnutí Detekce v obraze pomocí klasifikátorů Skenování obrazu klasifikátorem (posun, zoom, rotace) Milióny pozic -> potřebujeme rychlý klasifikátor, nízká False Alarm Rate Kaskáda klasifikátorů Co to je? Proč? -> rychlost, nízká FAR, máme nekonečně vzorků pozadí Viola&Jones AdaBoost, Kaskáda, thresholdy, Haarovy příznaky, integrální obraz Integrální obraz a Haarovy příznaky Co je to integrální obraz? Jak se spočítá odezva Haarových příznaků? Jak rychle? Na čem se trénuje detektor Co je to ROC? Počítačové vidění / Klasifikátor typu AdaBoost 32

Odkazy DEMO: http://cmp.felk.cvut.cz/demos/facedetection/ Viola, P., Jones, M.: Rapid object detection using a boosted cascade of simple features. In CVPR, 2001. Freund, Y., Schapire, R..: A short introduction to boosting. J. Japan. Soc. for Artif. Intel. 14(5), 1999, s. 771-780. Schapire, R.: The boosting approach to machine learning: An overview. In MSRI Workshop on Nonlinear Estimation and Classification, Berkeley, CA, Mar. 2001. Schapire, R., Singer, Y.: Improved boosting algorithms using confidence-rated predictions. In: Machine Learning, 37(3), 1999, s. 297-336. Počítačové vidění / Klasifikátor typu AdaBoost 33