klasifikace a rozpoznávání

36
Klasifikace a rozpoznávání Úvod do problematiky

Upload: ziva

Post on 04-Jan-2016

52 views

Category:

Documents


0 download

DESCRIPTION

Klasifikace a rozpoznávání. Úvod do problematiky. CareTaker project. Dohledové kamery Trajektorie osob Klasifikace (HMM) Rozpoznání „nestandardních“ Rozpoznání „podivných“ objektů (kolo v metru). Graph@FIT. 2. FIT Participation in TRECVID 2007 High-level feature extraction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Klasifikace a rozpoznávání

Klasifikace a rozpoznávání

Úvod do problematiky

Page 2: Klasifikace a rozpoznávání

CareTaker project

• Dohledové kamery• Trajektorie osob

– Klasifikace (HMM)– Rozpoznání

„nestandardních“• Rozpoznání „podivných“

objektů (kolo v metru)

Graph@FIT 2

Page 3: Klasifikace a rozpoznávání

FIT Participation in TRECVID 2007High-level feature extraction

• Úkol: Pro daný shot videa určit, zda vykazuje daný rys• Systém se učí z dat, která jsou kolektivně anotována

pomocí webové aplikace (klíčové snímky)• Pak posoudí sekvence (jejich klíčové snímky), které

nikdy neviděl• Data: databáze odvysílaných naučných pořadů BBC

(stovky hodin, tj. stovky GB)• Kategorie (high-level features) jsou na dalším slajdu,

některé fakt „nedetekovatelné“

Page 4: Klasifikace a rozpoznávání

High Level Feature Extraction1. Sports: Shots depicting any sport in action

2. Entertainment: DROPPED

3. Weather: Shots depicting any weather related news or bulletin

4. Court: Shots of the interior of a court-room location

5. Office: Shots of the interior of an office setting

6. Meeting: Shots of a Meeting taking place indoors

7. Studio: Shots of the studio setting including anchors, interviews and all events that happen in a news room

8. Outdoor: Shots of Outdoor locations

9. Building: Shots of an exterior of a building

10. Desert: Shots with the desert in the background

11. Vegetation: Shots depicting natural or artificial greenery, vegetation woods, etc.

12. Mountain: Shots depicting a mountain or mountain range with the slopes visible

13. Road: Shots depicting a road

14. Sky: Shots depicting sky

15. Snow: Shots depicting snow

16. Urban: Shots depicting an urban or suburban setting

17. Waterscape_Waterfront: Shots depicting a waterscape or waterfront

18. Crowd: Shots depicting a crowd

19. Face: Shots depicting a face

20. Person: Shots depicting a person (the face may or may not be visible)

21. Government-Leader: DROPPED

22. Corporate-Leader: DROPPED

23. Police_Security: Shots depicting law enforcement or private security agency personnel

24. Military: Shots depicting the military personnel

25. Prisoner: Shots depicting a captive person, e.g., imprisoned, behind bars, in jail or in handcuffs, etc.

26. Animal: Shots depicting an animal, not counting a human as an animal

27. Computer_TV-screen:Shots depicting a television or computer screen

28. Flag-US: Shots depicting a US flag

29. Airplane: Shots of an airplane

30. Car: Shots of a car

31. Bus: Shots of a bus

32. Truck: Shots of a truck

33. Boat_Ship: Shots of a boat or ship

34. Walking_Running: Shots depicting a person walking or running

35. People-Marching: Shots depicting many people marching as in a parade or a protest

36. Explosion_Fire: Shots of an explosion or a fire

37. Natural-Disaster: Shots depicting the happening or aftermath of a natural disaster such as earthquake, flood, hurricane, tornado, tsunami

38. Maps: Shots depicting regional territory graphically as a geographical or political map

39. Charts: Shots depicting any graphics that is artificially generated such as bar graphs, line charts, etc. (maps should not be included)

Page 5: Klasifikace a rozpoznávání

Detekce obličeje a výrazu

• detekce obličeje – skenování obrazu AdaBoost klasifikátorem (klasifikace výřezů

na obsahuje obličej/neobsahuje obličej)– Parametrizace výřezu pomocí Haarových vlnek, o kterých bude

řeč určitě v 12 • Rozpoznávání výrazů

– pomocí podobných kasfikátorů, jako pro detekci 4 výrazy = 4 binár klasifikátory, každý rozhoduje mezi jedním výrazem a ostatními. Odezvy klasifikátorů jsou spojeny.

• Detekce obličeje – druhé demo– ukázka aplikace v dohledových systémech – - na detekci by navazovalo například rozpoznávání osob podle

obličeje (hledání vrahů, teroristů, a opozičních živlů)

Page 7: Klasifikace a rozpoznávání

Jak takový klasifikátor pracuje?

Page 8: Klasifikace a rozpoznávání
Page 9: Klasifikace a rozpoznávání

Snímání

• Co se dá o rozpoznávaných předmětech zjistit?– obraz, tlak, teplota, hmotnost, zvuk, pach ?– jak tyto veličiny prakticky získat, jde to vůbec a kolik

to bude stát ?– jaké vlastnosti bude mít snímač a převod

veličinačíslo ?• šum• linearita• kalibrace• stárnutí• atd.

Page 10: Klasifikace a rozpoznávání

Segmentace a seskupování

• Rozpoznávané vzorky by mely byt izolované a neměly by s překrývat…ale to často neplatí:

Page 11: Klasifikace a rozpoznávání

Segmentace a seskupování

• Příklady:– Při rozpoznávání řeči se signál

rozdělí do krátkých úseků fixní délky, které jsou nejprve zpracovávaný samostatně a teprve později začne klasifikátor uvažovat tyto segmenty v kontextu segmentů okolních

– V předchozí demonstraci jsme viděli, že se v obraze nejprve detekuje obličej pomocí spousty jednoduchých klasifikátorů soustředících se na různé oblasti v obraze. Na detekovaný obličej byla poté aplikována detekce výrazu v obličeji

Page 12: Klasifikace a rozpoznávání

Extrakce příznaků• Příznaky musí umožnit rozlišovat mezi třídami musí být

diskriminativní.• Jedná se o předzpracování vstupu do následujícího klasifikátoru

– Redukce dimenzí– Invariance vůči:

• translace (mÍsto v obrázku, čas v řeči)• rotace• scale (velikost v obrázku, volume v řeči)• occlusion (zakrytí objektu vs. Maskování šumem)• projective distorition (úhel pohledu, optika)• rate (rychlost v řeči - intra- a inter-speaker variabilita)• deformace• atd.

– Dekorelace…ale o tom ještě bude řeč v samostatné přednášce o příznacích.

Page 13: Klasifikace a rozpoznávání

Extrakce příznakůBude průměr jablka / granátu dobrým příznakem?

Průměr [mm]

Č

etno

st

Podíl červené barvy [%]

Page 14: Klasifikace a rozpoznávání

Extrakce příznaků

Granáty

Jablka

Č

etno

st [

mm

]

Podíl červené barvy [%]

Nic moc, ale alespoň trochu lepší

Intuitivně už bychom mohli začít rozpoznávat, nastavením prahu tak aby bylo co nejvíce vzorů, které jsme zatím viděli rozpoznáno správně

Page 15: Klasifikace a rozpoznávání

Extrakce příznaků

Č

etno

st

Váha [dkg]

Granáty

Jablka

Když se tak díváme na histogramy příznaků, asi nás budou pro rozpoznávání zajímat jejich pravděpodobnostní rozložení …ale to už zase předbíháme.

Page 16: Klasifikace a rozpoznávání

Vícerozměrné příznaky

• Co když se podíváme na váhu a podíl červené barvy současně. Pro rozpoznávání to tady vypadá už docela nadějně. Tak hurá na to.

Váha [dkg]

P

odíl

červ

ené

barv

y [%

]

• U jablek je váha korelovaná s červeností

Granáty

Jablka

Page 17: Klasifikace a rozpoznávání
Page 18: Klasifikace a rozpoznávání

Klasifikace

O co nám jde je najít vhodnou rozhodovací linii (decision boundary) přece oddělit vzorky jedné třídy od druhé.…to se nám to krásně povedlo…ale možná

to nebude to pravé

Page 19: Klasifikace a rozpoznávání

Generalizace

V našem přikladu byly data náhodně vygenerovány z gaussovského rozložení. Pokud si takových dat „nasbíráme“ víc, už s našim výsledkem nebudeme tak spokojeni. Systém negeneralizuje na nová data.

Page 20: Klasifikace a rozpoznávání

Lineární klasifikátor

•Bohužel, rozpoznávání z takto vybraných příznaku nebude nikdy bez chyb, protože jejich rozložení se překrývají. Budeme tuto chybu chtít alespoň minimalizovat

•Omezeni schopnosti detailně modelovat rozhodovací línii vedlo ke zlepšení generalizace. Oddělení tříd prostou přímkou nebo obecně hyper-rovinou teď vypadá o mnoho přijatelněji. O tom jak takovou rovinu určit bude samostatná přednáška.

Page 21: Klasifikace a rozpoznávání

Lineární klasifikátor• V příští přednášce si ukážeme, že pro tento případ, kdy mají jednotlivé třídy gaussovské rozložení, dosáhneme nejlepší úspěšnosti při oddělení tříd kvadratickou křivkou.

Page 22: Klasifikace a rozpoznávání

Bude klasifikován jako granát

Klasifikátor založený na K-nejbližších sousedech

• “Neparametricky klasifikátor” nemá žádné parametry, které by bylo potřeba trénovat či odhadovat.

• Klasifikátor si pamatuje všechna “trénovací data“.• K nově klasifikovanému vzoru najde K nejbližších vzorů z

trénovacích dat a vybere tu třídu, která je ve vybraných vzorech nejčastěji zastoupena.

Č

erve

nost

Váha

Granáty

Jablka •Můžu ale vůbec rovnávat váhu s červeností?

•Prvně bude potřeba obě veličiny normalizovat – převézt do srovnatelného dinamického rozsahu

Page 23: Klasifikace a rozpoznávání

1-nejbližší sousedOpět problém z generalizací – podobná klikatá rozhodovací hranice.

Page 24: Klasifikace a rozpoznávání

3-nejbližší sousedéO něco lepší výsledek. Zvýšení „počtu sousedů“ vede k vyhlazení rozhodovací hranice, přestože jsme model nijak nezjednodušili. Zde by se dalo mluvit o obdobě regularizace (viz další přednášky)

Page 25: Klasifikace a rozpoznávání

9-nejbližších sousedůRozhodovací linie už je dosti podobná optimální kvadratické křivce

Page 26: Klasifikace a rozpoznávání

9-nejbližších sousedůměkké rozhodnutí

Místo tvrdého rozhodnutí můžeme použít poměr mezi počtem sousedů z různých tříd jako „měkké“ měřítko důvěry (confidence), že vzor patří do té či oné třídy (pro K=9 máme pouze 10 úrovní).

Page 27: Klasifikace a rozpoznávání

31-nejbližších sousedůměkké rozhodnutí

Page 28: Klasifikace a rozpoznávání
Page 29: Klasifikace a rozpoznávání

Post-processing

• Závislé na konkrétním úkolu.• Využití dalších kontextových informací jiných než je

samotný vzor• Pokud je výstupem klasifikátoru měkké rozhodnutí, post-

processing se může přiklonit jedné variantě než té s nejlepším skóre:– např. integrace apriorní pravděpodobnosti (viz další přednáška)– Můžeme brát v úvahu ceny jednotlivých rozhodnutí. Co nás bolí

víc? Poslat jablko pyrotechnikovi nebo granát do marmeládovny.– Rozhodnutí pro konkrétní třídu pokud její skóre překročí jistý

práh Detekční úloha

Page 30: Klasifikace a rozpoznávání

Identifikace vs. detekce

• Identifikace vyber jednu z N možných tříd• V příchozích vzorech detekuj ty, které paří do třídy,

kterou hledáme. – Vzory, které detekovat nechceme nemusí patřit do omezeného

tříd (např. v telefonních hovorech hledáme hlas konkrétního mluvčího mezi hlasy všech možný mluvčích)

– Detekci proveď na základě měkkého rozhodnuti – skóre – a nastaveného prahu.

– Detekční práh je možné měnit podle požadované aplikace:• Práh nastavený nízko Hodně detekcí ale také hodně planých

poplachů• Práh nastavený vysoko opačný problém

Page 31: Klasifikace a rozpoznávání

Detection tradeoff (DET) křivka

Page 32: Klasifikace a rozpoznávání

The Design Cycle

• Data collection

• Feature Choice

• Model Choice

• Training

• Evaluation

• Computational Complexity

Page 33: Klasifikace a rozpoznávání
Page 34: Klasifikace a rozpoznávání

• Data Collection– How do we know when we have collected an adequately large

and representative set of examples for training and testing the system?• Feature Choice

– Depends on the characteristics of the problem domain. Simple to extract, invariant to irrelevant transformation insensitive to noise.

• Model Choice– Unsatisfied with the performance of our fish classifier and want

to jump to another class of model• Training

– Use data to determine the classifier. Many different procedures for training classifiers and choosing models

• Evaluation– Measure the error rate (or performance and switch from one

set of features to another one

The Design Cycle

Page 35: Klasifikace a rozpoznávání

Learning and Adaptation

• Supervised learningA teacher provides a category label or cost for

each pattern in the training set

• Unsupervised learningThe system forms clusters or “natural

groupings” of the input patterns

• Reinforcement learningA teacher only say whether the classifier is

correct or not on a training data.

Page 36: Klasifikace a rozpoznávání

k_nearest_neighbours in Matlab

function [output_class score]=k_nearest_neighbours(test_data, class1_examples, class2_examples, k)

euclidean_distances=dist([class1_examples class2_examples], test_data);[v i]=sort(euclidean_distances);score = sum(i(1:k,:) > size(class1_examples,1)) / k;output_class = score > 0.5;