Jiří Matas. Detekce objektů pomocí scanning window

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

2.8.9 Parametrické rovnice a nerovnice s absolutní hodnotou

( ) Kreslení grafů funkcí metodou dělení definičního oboru I. Předpoklady: 2401, 2208

Nerovnice s absolutní hodnotou

3.2.4 Podobnost trojúhelníků II

SUPPORT VECTOR MACHINES

( ) Neúplné kvadratické rovnice. Předpoklady:

2.7.2 Mocninné funkce se záporným celým mocnitelem

DUM 11 téma: Nástroje pro transformaci obrázku

1.3.1 Kruhový pohyb. Předpoklady: 1105

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

Př. 3: Dláždíme čtverec 12 x 12. a) dlaždice 2 x 3 12 je dělitelné 2 i 3 čtverec 12 x 12 můžeme vydláždit dlaždicemi 2 x 3.

Kvadratické rovnice pro studijní obory


4.2.7 Voltampérová charakteristika rezistoru a žárovky

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

Kvadratické rovnice pro učební obory

CERTIFIKOVANÉ TESTOVÁNÍ (CT) Výběrové šetření výsledků žáků 2014

Lokální a globální extrémy funkcí jedné reálné proměnné

STEREOMETRIE. Vzdálenost bodu od přímky. Mgr. Jakub Němec. VY_32_INOVACE_M3r0113

1.1.1 Kvadratické rovnice (dosazení do vzorce) I

Rozpoznávání v obraze

( ) ( ) ( ) 2 ( ) Rovnice s neznámou pod odmocninou II. Předpoklady: 2715

Dopravní úloha. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Zákonitosti, vztahy a práce s daty

(a) = (a) = 0. x (a) > 0 a 2 ( pak funkce má v bodě a ostré lokální maximum, resp. ostré lokální minimum. Pokud je. x 2 (a) 2 y (a) f.

Metodika pro učitele

a) Slovní úlohy o směsích b) Slovní úlohy o pohybu c) Slovní úlohy o společné práci

Výsledky testování školy. Druhá celoplošná generální zkouška ověřování výsledků žáků na úrovni 5. a 9. ročníků základní školy. Školní rok 2012/2013

Název: VY_32_INOVACE_PG3309 Booleovské objekty ve 3DS Max - sčítání a odčítání objektů

2.7.1 Mocninné funkce s přirozeným mocnitelem

Funkce rostoucí, funkce klesající I

VOLBA TYPU REGULÁTORU PRO BĚŽNÉ REGULAČNÍ SMYČKY

Umělá inteligence. Příklady využití umělé inteligence : I. konstrukce adaptivních systémů pro řízení technologických procesů

Kvantové počítače algoritmy (RSA a faktorizace čísla)

Svobodná chebská škola, základní škola a gymnázium s.r.o. pochopení pojmů a výpočtů objemů a obvodů

Metodika - Postupy optimálního využití moderních komunikačních kanálů

Sekvenční logické obvody

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

Výsledky testování školy. Druhá celoplošná generální zkouška ověřování výsledků žáků na úrovni 5. a 9. ročníků základní školy. Školní rok 2012/2013

Využití EduBase ve výuce 2

PNG (Portable Network Graphics)

Nyní jste jedním z oněch kouzelníků CÍL: Cílem hry je zničit soupeřovy HERNÍ KOMPONENTY:

Pro vš echny body platí U CC = ± 15 V (pokud není uvedeno jinak). Ke kaž dému bodu nakreslete jednoduché schéma zapojení.

Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 1 (celkem 7) Číselné soustavy

Tvorba trendové funkce a extrapolace pro roční časové řady

Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

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

Pingpongový míček. Petr Školník, Michal Menkina. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Zvyšování kvality výuky technických oborů

Windows 10 (6. třída)

IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE

Microsoft Office. Word styly

Úpravy skříní a čelních ploch pro úchopovou lištou

Svobodná chebská škola, základní škola a gymnázium s.r.o.

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Matematika 9. ročník

4.6.6 Složený sériový RLC obvod střídavého proudu

Novinky v Maple T.A. 10

SWI120 ZS 2010/ hookey.com/digital/

Rovnice s neznámou pod odmocninou a parametrem

Kapitola I - Množiny bodů daných vlastností I.a Co je množinou všech bodů v rovině, které mají od daných dvou různých bodů stejnou vzdálenost? I.

PROČ RAAM? Přednáška o tom, proč jsem se rozhodnul startovat na RAAM. Zpracoval : Jiří Hledík

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

INMED Klasifikační systém DRG 2014

Postup práce s elektronickým podpisem

Vzdělávací oblast: Matematika a její aplikace. Obor vzdělávací oblasti: Seminář z matematiky. Ročník: 7. Poznámky

9.2.5 Sčítání pravděpodobností I

Klasifikace a rozpoznávání

1 Typografie. 1.1 Rozpal verzálek. Typografie je organizace písma v ploše.

Paradigmata programování 1

Systém zvukové signalizace a spouštění motoru na základě stavu světla

AUTORKA Barbora Sýkorová

MASTER PL- Electronic

Opakované měření délky

Semestrální práce NÁVRH ÚZKOPÁSMOVÉHO ZESILOVAČE. Daniel Tureček zadání číslo 18 cvičení: sudý týden 14:30

Přepočet přes jednotku - podruhé II

PŘIJÍMACÍ ZKOUŠKY I.termín

BAREVNÉ PALETY A MONOCHROMATICKÉ ZOBRAZOVÁNÍ

Uplatnění nových informačních technologií ve výuce a na zdravotnickém pracovišti. Marie Marková

Manuál TimNet Boiler

Přístupový systém VX800N. Vid

Lekce 5 Jaký, jaká, jaké?

4.5.2 Magnetické pole vodiče s proudem

POSLECH. M e t o d i c k é p o z n á m k y k z á k l a d o v é m u t e x t u:

JAK PŘIDAT UŽIVATELE PRO ADMINISTRÁTORY

PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK

Identifikátor materiálu: ICT-1-06

NOVÁ ÉRA TECHNOLOGIE SPLACHOVÁNÍ

Kapitola 7: Integrál. 1/14

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

Označování dle 11/2002 označování dle ADR, označování dle CLP

Základy dokumentační fotografie

Dualita v úlohách LP Ekonomická interpretace duální úlohy. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

ŠŤASTNÝ A BEZPEČNÝ DOMOV je více než bezpečný dům

IDEA StatiCa novinky

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

= musíme dát pozor na: jmenovatel 2a, zda je a = 0 výraz pod odmocninou, zda je > 0, < 0, = 0 (pak je jediný kořen)

Historie výpočetní techniky Vývoj počítačů 4. generace. 4. generace mikroprocesor

Transkript:

Detekce objektů pomocí scanning window Jiří Matas Center for Machine Perception Department of Cybernetics, Faculty of Electrical Engineering Czech Technical University, Prague

Osnova přednášky: Formulace úlohy detekce třídy objektů. Rěšení pomocí scanning window, tj. metodou detekce se strukturou navrženou ve článku Viola-Jones [2001]. Metodu vyložíme na příkladu detekce obličejů. Metoda byla úspěšně použita na mnoho tříd, např.: { automobil, pohled zezadu; SPZ; znak-neznak { chodci; obličej, přední pohled; oči Na rozdíl od úloh image retrieval a object recognition detekujeme (rozpoznáváme) objekty, které jsme nikdy neviděli, ale víme, že jsou z dané třídy 2/25

Formulace úlohy Detekce obličejů I. 3/25

Definice obličeje: není to tak jednoduché 4/25

Co je ještě obličej 5/25

Formulace úlohy Detekce obličejů II. Co je to obličej? Typická definice: { uživatel dodá L o výřezů, které považuje za obličeje { uživatel dodá L n obrázků, v kterých nejsou obličeje (vzdáváme nalezení nějaké formální definice obličeje typu část těla zdravého jedince druhu homo sapiens, která ) Jak specifikovat pozici obličeje : pozice obličeje je dána obdélníkem Obdélník je považován za správnou lokalizaci tehdy (např.): { jsou-li uvnitř obě oči a pusa, a vzdálenost očí je větší jak půl hrany delší strany obdélníka (obličej musí mít oči, ústa ) { a tento obličej nemá lepší vysvětlení jiným obdélníkem Poznámka: nejedná se o objevné, hluboké definice, ale zachycují požadavky typických aplikací. Lze mít jiné definice, ale musím si je ujasnit. Standardní význam slova nestačí, není dost přesný. (zkuste najít definici muž-žena, pojmy se zdají dost jasné.) 6/25

Formulace úlohy Detekce obličejů III. Detektor obličejů v obrázku je algoritmus (funkce), který má na vstupu obrázek, a na výstupu seznam obdélníků, o kterých se domnívá, že obsahují obličej. Detektor je typicky implementován pomocí klasifikátoru výřezů. Klasifikátor výřezu (oken) je algoritmus (funkce), který má na vstupu obdélníkový výřez, a na výstupu jeden bit, obličej-neobličej. Rozhodnutí ale nejsou v jednotlivých oknech nezávislá (viz jiný výřez nevysvětluje obličej lépe na předchozí straně). V praxi řeší aplikace funkce potlačení nemaxim (non-maximum suppression). Správné řešení: úlohy formulovat ne jako klasifikaci výřezů, ale jako značkovací problém (labelling problem). Jaké jsou charakteristiky detektoru obličejů? Jaké jsou požadované vlastnosti? 7/25

Chyby detektoru obličejů 8/25

Chyby detektoru obličejů 1. detekce chybí (false negative) 2. detekce přebývá (false positive) 3. lokalizace Problémy: chyba lokalizace nebo 1. + 2., kde je hranice? co je to vlastně obličej??? 9/25

Požadavky na detektor, měření kvality. 1. vysoká úspěšnost detekce na obličejích, tj. malý počet přehlédnutých obličejů 2. nízký počet halucinací obličejů, tj. malý počet falešných detekcí 3. co nejpřesnější lokalizace 4. rychlost detekce (mnoho aplikací nutně vyžaduje práci v reálném čase, např. ostření fotoaparátu na základě detekce obličeje) 5. další požadavky? Poznámky. Požadavky 1. a 2. jdou pro sobě. 1. lze splnit tak, že všechny výřezy jsou klasifikovány jako obličej, 2. pokud obličej nikdy nehlásím. Těžké je udržet nízký počet 1. a 2. zároveň Požadavek 4. jde proti 1. a 2. Rychlé rozhodování dělá více chyb (viz. třeba šachy) Požadavek 4. jde proti 3. (viz třeba střelba) 10/25

Detekce obličejů metodou Viola Jones (2001) Problém detekce obličejů implementován jako ověření všech nenatočených čtvercových oken v obrázku, a přesto fungoval už v roce 2001 v reálném čase na standardním počítači! (Lze zobecnit na množinu obdélníkových oken, i natočených) Do té doby jsem si myslel, že to není možné, neboť: { oken je hodně (odhadněte počet v 10 Mpix obrázku!) { v každém okně se vyhodnocuje složitá funkce, která musí rozpoznat všechna pozadí od všech obličejů V roce 2001 už bylo zřejmé, že vyučované klasifikátory dosahují lepších výsledků než ručně vytvořené algoritmy (vyučovaný klasifikátor nalézá rozhodovací funkci na základě příkladů) Už před rokem 2001 existoval velmi dobrý naučený detektor (Schneiderman-Kanade, 1998). Obrázek zpracovával přes noc, učil se měsíce. 11/25

Detekce obličejů metodou Viola Jones (2001) Průlom #1: Sekvenční rozhodování VJ si uvědomili, že rychlost detektoru závisí na rychlosti klasifikace neobličejů (je jich o mnoho řádu více než obličejů), navrhli kaskádu klasifkátorů v kaskádě se rozhododuje sekvenčně sekvenční klasifikace je známa od 40 let, ale učení pro sekvenční klasifikátory bylo opomíjeno. algoritmus WaldBoost kvazioptimálně řeší kompromis mezi rychlostí a přesností u klasifikátoru typu AdaBoost. Stage 1 Stage 2 Stage N Input Signal (Image Window) 1 Weak Classifier 5 Weak Classifiers 60% 60% 1200 Weak Classifiers Class 1 (Face) 40% Class 2 (Non-Face) 40% 12/25

Detekce obličejů metodou Viola Jones (2001) Průlom #2: Bootstrap VJ učili složitější klasifikátory jen na příkladech, které prošly jednoduššími klasifikátory na počátku kaskády. Výsledek: kaskáda se mohla učit na řádově větším počtu příkladů V mnoha problémech platí: čím víc dat při učení máš, tím jsi lepší Receiver operating characteristic % Detection 0 100 % False Pos 0 50 vs false neg determined by IMAGE SUB-WINDOW Classifier 1 T Classifier 2 T Classifier 3 T FACE F F F NON-FACE NON-FACE NON-FACE 13/25

Detekce obličejů metodou Viola Jones (2001) Průlom #3: Rychlé vyčislitelné příznaky VJ použili k popisu obličejů příznaky, které lze vypočítat extrémně rychle. Rozdíly jasů se používaly často, ale jako hladké funkce (rozdíly Gaussiánu, Gaborovy filtry) Aproximace po částech konstantními funkcemi, tzv. Haar wavelety, je o několik řádů rychlejší, a jen o málo méně vhodné Pro výřez 24x24 pixelů, existuje ~160,000 možných příznaků, které vybrat? 14/25

Rychlý výpočet Haar waveletů řádkový součet: s(x, y) = s(x 1, y) + i(x, y) Integralní obrázek : ii(x, y) = ii(x, y 1) + s(x, y) ii(x, y-1) s(x-1, y) MATLAB: ii = cumsum(cumsum(double(i)), 2); i(x, y) Obrázek 0 1 1 1 1 2 2 3 1 2 1 1 1 3 1 0 Integrální obrázek 0 1 2 3 1 4 7 11 2 7 11 16 3 11 16 21

Rychlý výpočet Haar waveletů Hodnoty A,B,C,D vyčteme z integrálního obrázku D B Součet hodnot jasů v původním obrázku lze vypočítat takto: sum = A B C + D C A Na každý obdélník potřebujeme jen 3 sčítání! Poznámka: pomocí integrálního obrázku lze počítat poměrně velkou třídu konvolucí (polynomy, sinus, cosinus) Příznaky lze napočítat pro libovolné měřítko stejně rychle.

Detekce obličejů metodou Viola Jones (2001) Průlom #4: Moderní metodu strojového učení AdaBoost (Schapire a Freund, 1997), která učí klasifikátor a zároveň vybírá příznaky. Výhody AdaBoostu: Teoreticky podložený (dobrá generalizace) Velmi malá chyba v mnoha aplikacích Velice jednoduchý ( just 10 lines of code [R. Schapire]) R. Schapire and Y. Freund získali v roce 2003 Godelovu cenu (jedna z nejprestižnějších cen v teoretické computer science) Poznámky : odstup od výsledku v oblasti strojového učení k jeho použití v počítačovém vidění je velmi krátký k průlomu v počítačovém vidění došlo přenosem znalosti 17/25

AdaBoost - příklad Taken from A Tutorial on Boosting by Yoav Freund and Rob Schapire

ROUND 1 AdaBoost - příklad

První klasifikátor

ROUND 2 AdaBoost - příklad

Vybrány dva klasifikátory

Vybrány dva klasifikátory

Výsledný klasifikátor

AdaBoost: Algoritmus typically where the weights of incorrectly classified examples are increased so that the base learner is forced to focus on the hard examples in the training set From [R. Schapire, NE&C03]

Detector obličejů Adaboost První dva příznaky vybrané metodou Adaboost: Tyto dva příznaky mají 100% detekci a 50% falešných poplachů.

Diskretrizovaný prostor testovaných oken Klasifikátor okna lze naučit tak, že nemusím testovat každé okno Stačí přibližně: posun o 10% šířky okna zvětšení o 15% šířky okna rotovat o +- 15 stupňů Poznámka: o rychlosti (počtu oken) rozhoduje velikost nejmenšího detekovaného obličeje. Celkový čas je součet geometrické řady s q=1/1.15 2 ;s ¼ 4t 0 27/25

Příznaky používané pro V-J detektory Výhoda měřítkové nezávislosti Haarových příznaků není příliš důležitá. Pro jakékoliv příznaky mohu vytvořit pyramidu, většinu času výpočtu zabere zpracování nejvyššího rozlišení (viz. pozn.) Používá se proto celá řada příznaků, mezi nejpopulárnější patří { LBP(local binary patterns), které dosahují např. v úloze detekce obličejů lepší výsledky než Haarovy příznaky { HOG (histogram of oriented gradients), ¼ zobecnění SIFTu na mřížku NxM, dobré výsledky v detekci chodců Příznaky lze v AdaBoostu kombinovat, tj. nemusím řešit úlohu nejlepších přiznaků Příznaky ale musí mít přibližně stejnou výpočetní složitost, nebo musí byt alg. AdaBoost upraven. Poznámka: o rychlosti (počtu oken) rozhoduje velikost nejmenšího detekovaného obličeje. Celkový čas je součet geometrické řady s q=1/1.15 2 ;s ¼ 4t 0 28/25

Slabiny detektorů typu V-J Použití pro třídu objektů s velkým rozsahem aspektů je problematické, s dimenzí prostoru rychle roste počet oken (ze 5D: 2D pozice, 1D měřítko, orientace, aspekt) a le v aplikacích často existují silná omezení (měřítko je funkcí polohy, např. sledování dopravy). Učení detektoru může trvat hodně dlouho, složitost je typicky O(TxFxL), kde T je velikost trénovací množiny, F počet příznaků vyžadujících nový průchod dat a L je délka klasifikátoru AdaBoost Nemá žádný model geometrie a fotometrických změn (až na jasovou normalizaci okna) 29/25

Ukázky aplikací V-J detektoru Boosted Classifier for Car Detection, David C. Lee, Carnegie Mellon University 30/25

Ukázky aplikací V-J detektoru License Plate Detection Using AdaBoost, Louka Dlagnekov Department of Computer Science & Engineering UC San Diego 31/25

Ukázky aplikací V-J detektoru 32/25

Detekce obličejů pár poznámek V roce 2001 byl publikován článek V-J. V roce 2009 je implementován (samozřejmě ve velmi vylepšené verzi) v mnoha digitálních fotoaparátech. Pro detekci ve videosekvencích (např. chodců) lze použít i příznaky napočtené na více snímky (např. změny jasu v čase Otázky? 33/25

Thank you for your attention. 34