• No results found

Facial expression recognition

N/A
N/A
Protected

Academic year: 2021

Share "Facial expression recognition"

Copied!
84
0
0

Loading.... (view fulltext now)

Full text

(1)

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

BRNO UNIVERSITY OF TECHNOLOGY

FAKULTA ELEKTROTECHNIKY

A KOMUNIKAČNÍCH TECHNOLOGIÍ

FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION

ÚSTAV BIOMEDICÍNSKÉHO INŽENÝRSTVÍ

DEPARTMENT OF BIOMEDICAL ENGINEERING

ROZPOZNÁVÁNÍ VÝRAZU TVÁŘE

FACIAL EXPRESSION RECOGNITION

DIPLOMOVÁ PRÁCE

MASTER'S THESIS

AUTOR PRÁCE

AUTHOR

Bc. Markéta Vránová

VEDOUCÍ PRÁCE

SUPERVISOR

Ing. Martin Mézl

(2)

Diplomová práce

magisterský navazující studijní obor Biomedicínské inženýrství a bioinformatika Ústav biomedicínského inženýrství

Studentka: Bc. Markéta Vránová ID: 147524 Ročník: 2 Akademický rok: 2015/16

NÁZEV TÉMATU:

Rozpoznávání výrazu tváře

POKYNY PRO VYPRACOVÁNÍ:

1) Seznamte se s metodami detekce obličeje v obrazových datech. 2) Proveďte rešerši dostupných metod pro rozpoznání výrazu tváře ve statickém obraze nebo videu. 3) Realizujte základní algoritmy pro detekci obličeje v obraze. Metodu otestujte na vhodných datech. 4) Realizujte algoritmy pro základní rozpoznávání výrazu tváře a proveďte testování na referenčních snímcích. 5) Zrealizujte snímání databáze alespoň deseti dobrovolníků. Na takto získaných datech proveďte testování algoritmů. 6) Proveďte diskuzi dosažených výsledků.

DOPORUČENÁ LITERATURA:

[1] YANG, M. H., KRIEGMAN D. J., AHUJA, N. Detecting faces in images: a survey. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2002, vol. 24, no. 1, p. 34-58.

[2] MISHRA, B. et al. Facial expression recognition using feature based techniques and model based techniques: A survey. 2015 2nd International Conference on Electronics and Communication Systems (ICECS). IEEE, 2015, : 589-594.

Termín zadání: 8.2.2016 Termín odevzdání: 20.5.2016 Vedoucí práce: Ing. Martin Mézl

Konzultant diplomové práce:

prof. Ing. Ivo Provazník, Ph.D., předseda oborové rady

UPOZORNĚNÍ:

Autor diplomové práce nesmí při vytváření diplomové práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení § 11 a následujících autorského

(3)

ABSTRAKT

Tato práce se zabývá automatickým rozpoznáním výrazů tváře v barevných obrazech. Nejprve jsou podle barvy kůže detekovány obličeje v obrazech. Detekce využívá barevných prostorů RGB, HSV a YCbCr. Následuje automatický ořez oblasti obličeje provedený rozměřením okrajů obličeje podle pozic základních rysů (oči, nos a ústa). Z oblasti obličeje je pomocí banky filtrů získán vektor příznaků. Práce uvádí dvě různé realizace Gaborových filtrů a je doplněna o návrh vlastní banky filtrů. Získaný vektor příznaků vstupuje do neuronové sítě, která obraz klasifikuje. Neuronová síť byla naučena na množině obrazů z AR databáze určené pro rozpoznávání výrazů. Výstupem je přiřazení výrazu obličeje v obraze k některému z předem určených výrazů. Práce uvádí testování parametrů neuronových sítí a dále prezentuje a diskutuje dosažené výsledky.

KLÍČOVÁ SLOVA

Rozpoznání výrazů tváře, výraz tváře, neuronová síť, klasifikace, Gaborovy filtry, detekce obličeje, barva kůže, detekce podle barvy, barevný obraz, barevné prostory

ABSTRACT

This project deals with automatic recognition of facial expression in colour pictures. At first, the colour-based face detection is accomplished, three colour spaces are used: RGB, HSV and YCbcCr. As next, the pictures are automatically cropped so that only the face region is present. It is accomplished by computing the borders of the face region based on knowledge of position of eyes, nose and mouth. From the face region, the feature vector is obtained using a bank of Gabor filters. The project introduces two different kinds of Gabor filters and proposes a new bank of filters. The feature vector is used as an input to the neural network. The neural network was trained on a set of pictures from AR database created for facial expression recognition. The output of the network is the facial expression the input picture was assigned to. This project mentions the testing for different settings of the neural network and presents and discuss the recognition results of the network.

KEYWORDS

Facial Expression detection, facial expression, neural network, classification, Gabor filters, face detection, skin colour, colour-based detection, colour pictures, colour spaces

(4)

VRÁNOVÁ, M. Rozpoznání výrazu tváře. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav biomedicínského inženýrství, 2016. 72 s. Diplomová práce. Vedoucí práce: Ing. Martin Mézl.

(5)

PROHLÁŠENÍ

Prohlašuji, že svou diplomovou práci na téma Rozpoznání výrazu tváře jsem vypracovala samostatně pod vedením vedoucího diplomové práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce.

Jako autor uvedené diplomové práce dále prohlašuji, že v souvislosti s vytvořením této diplomové práce jsem neporušila autorská práva třetích osob, zejména jsem nezasáhla nedovoleným způsobem do cizích autorských práv osobnostních a/nebo majetkových a jsem si plně vědoma následků porušení ustanovení § 11 a následujících zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon), ve znění pozdějších předpisů, včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č. 40/2009 Sb.

V Brně dne 18. 5. 2016 ...

(podpis autora)

PODĚKOVÁNÍ

Děkuji svému vedoucímu diplomové práce Ing. Martinu Mézlovi za ochotnou pomoc a dobré připomínky a vedení mé diplomové práce.

V Brně dne 18. 5. 2016 ...

(6)

OBSAH

Seznam obrázků vii

Seznam tabulek ix

Úvod 1

1 Digitální reprezentace obrazu 2

1.1 Barevné prostory ... 2

1.1.1 Barevný prostor RGB (RGBA) ... 2

1.1.2 CMY (CMYK) ... 3 1.1.3 HSV prostor ... 4 1.1.4 HSL prostor ... 5 1.1.5 YCbCr prostor ... 6 1.1.6 YIQ ... 7 1.1.7 YUV ... 8 1.1.8 CIE L*a*b ... 8

1.1.9 Další barevné prostory ... 9

1.2 Barevné formáty ... 10

1.2.1 Kompresní metody ... 10

1.2.2 Používané barevné formáty ... 11

2 Detekce obličeje v obraze 13 2.1 Příznakové metody (Feature-based Approach) ... 14

2.1.1 Metody využívající základní charakteristiky pixelu nebo jeho malého okolí (Low-level Analysis) ... 15

2.1.2 Metody hledání rysů obličeje (Feature Analysis) ... 16

(7)

2.2 Metody založené na obrazové informaci (Image-based Approach) ... 19

2.2.1 Lineární podprostorové metody ... 20

2.2.2 Neuronové sítě ... 20

2.2.3 Statistické metody ... 21

2.2.4 Viola-Jones algoritmus ... 21

2.2.5 Skrytý Markovský model ... 23

2.3 Morfologické operace ... 23

2.3.1 Eroze ... 24

2.3.2 Dilatace ... 24

3 Metody rozpoznávání výrazu obličeje 25 3.1 Metody extrakce příznaků ... 25

3.1.1 Metody s geometrickým přístupem ... 25

3.1.2 Metody založené na šabloně ... 26

3.1.3 Metody založené na jasové informaci barevného obrazu ... 26

3.1.4 Metody založené na vzhledu (Appearance Based Approach) ... 26

3.1.5 Jiné možné rozdělení metod extrakce příznaků ... 27

3.2 Klasifikátory výrazů obličeje ... 28

3.2.1 Skryté Markovské modely (HMM) ... 28

3.2.2 Neuronová síť ... 28

3.2.3 Support Vector Machine (SVM) ... 30

3.2.4 AdaBoost ... 30

3.2.5 Algoritmus nejbližších sousedů (K-Nearest-Neighbor, KNN) ... 30

3.2.6 Eigenface (eigenpicture, eigenvector) ... 30

3.2.7 Fisherfaces ... 31

3.2.8 Bayesovksá klasifikace (Bayesian classification) ... 31

(8)

4 Detekce obličeje a obličejových rysů 33 4.1 Detekce obličeje podle barvy kůže v barevných prostorech RGB, HSV a

YCbCr ... 33

4.2 Aplikace morfologických operací ... 35

4.3 Detekce charakteristických rysů obličeje ... 36

4.3.1 Detekce středů očí ... 36

4.3.2 Detekce středu úst ... 38

4.3.3 Detekce špičky nosu ... 38

4.3.4 Automatický ořez obličeje ... 39

5 Rozpoznávání výrazů obličeje 44 5.1 Databáze obličejů ... 44

5.1.1 AR Face Database ... 44

5.1.2 Vlastní databáze ... 45

5.2 Extrakce příznaků z obrazu ... 46

5.2.1 První banka Gaborových filtrů ... 46

5.2.2 Druhá banka Gaborových filtrů ... 47

5.2.3 Vlastní návrh banky filtrů ... 49

5.3 Neuronová sít ... 51

5.4 Výsledky rozpoznávání výrazu tváře ... 55

6 Závěr 59

Literatura 61

Seznam zkratek 66

(9)

SEZNAM OBRÁZKŮ

Obrázek 1-1 Rozmístění barev v jednotkové krychli (vlevo) a princip vytváření barevných odstínů ze tří základních barev RGB (červená, zelená a modrá)

[19] ... 3

Obrázek 1-2 Rozmístění barev v jednotkové krychli (vlevo) a princip vytváření barevných odstínů ze tří základních barev CMY (azurová, purpurová a žlutá) [19] ... 4

Obrázek 1-3 Zobrazení kombinace tří parametrů HSV prostoru (barevný tón, sytost a jas) a barev vycházejících z těchto parametrů [19] ... 5

Obrázek 1-4 Zobrazení kombinace tří parametrů HSL prostoru (barevný tón, sytost a světlost) a barev vycházejících z těchto parametrů [19] ... 5

Obrázek 1-5 Zobrazení kanálů různých barevných prostorů [9] ... 7

Obrázek 1-6Znázornění kanálů U a V prostoru YUV udávajících barvu pixelu [55] ... 8

Obrázek 1-7 Zobrazení prostoru CIE L*a*b [19] ... 9

Obrázek 2-1 Znázornění posuvu okna po obraze a příklady masek Haarových filtrů (a-f) [42s] ... 22

Obrázek 4-1 Ukázka zdařilé detekce úst, očí a nosu. a) detekce úst v prostoru RGB, b) detekce očí první metodou, c) detekce očí druhou metodou, d) detekce očí třetí metodou, e) detekce očí, nosu a úst pomocí Viola-Jones algoritmu .... 39

Obrázek 4-2 Ukázka méně zdařilé detekce úst, očí a nosu. a) detekce úst v prostoru RGB, b) detekce očí první metodou, c) detekce očí druhou metodou, d) detekce očí třetí metodou, e) detekce očí, nosu a úst pomocí Viola-Jones algoritmu ... 39

Obrázek 4-3 Zobrazení ručního výběru oblasti obličeje pomocí funkce imrect ... 41

Obrázek 4-4 Ukázka zdařilého automatického ořezu obrazu z AR databáze a) vstupní obraz, b) binární obraz po detekci bravy kůže, c) upravený binární obraz oblasti obličeje, d) obraz po automatickém ořezu ... 42

Obrázek 4-5 Ukázka méně zdařilého automatického ořezu obrazu z vlastní databáze a) vstupní obraz, b) binární obraz po detekci bravy kůže, c) upravený binární obraz oblasti obličeje, d) obraz po automatickém ořezu ... 42

Obrázek 4-6 Ukázka nezdařilého automatického ořezu obrazu z vlastní databáze a) vstupní obraz, b) binární obraz po detekci bravy kůže, c) upravený binární obraz oblasti obličeje, d) obraz po automatickém ořezu ... 42

(10)

Obrázek 4-7 Ukázka srovnání manuálního a automatického ořezu obrazů obličeje, obrazy a), c) a e) - manuální ořez, obrazy b), d), f) - automatické ořezy... 43 Obrázek 4-8 Vývojový diagram algoritmu pro vyhledání oblasti obličeje v barevném

vstupním obrazu a následný ořez ... 43 Obrázek 5-1 Ukázka obrazů databáze AR s různými výrazy obličeje bez manuálního

ořezu, a) neutrální výraz, b) smích, c) vztek, d) řev ... 44 Obrázek 5-2 Ukázka obrazů vlastní databáze s různými výrazy obličeje bez manuálního

ořezu, a) neutrální výraz, b) úsměv, c) vztek, d) smích (s otevřenou pusou), e) překvapení ... 45 Obrázek 5-3 Vývojový diagram rozpoznávání výrazu tváře ... 46 Obrázek 5-4 Banka deseti Gaborových 2D filtrů podle rovnice 5.1 ... 47 Obrázek 5-5 Příklad výstupních obrazů po konvoluci s Gaborovými filtry z první banky ... 47 Obrázek 5-6 Banka deseti Gaborových 2D filtrů (reálná složka) podle rovnice 5.4 ... 48 Obrázek 5-7 Příklad výstupních obrazů po konvoluci s Gaborovými filtry z druhé banky ... 49 Obrázek 5-8 Banka deseti 2D filtrů podle rovnice 5.7 ... 50 Obrázek 5-9 Frekvenční charakteristiky 1., 2., 3. a 5. filtru získaných podle rovnice 5.7

po aplikaci Fourierovy transformace ... 50 Obrázek 5-10 Výsledky po aplikaci vlastní banky filtrů ... 50 Obrázek 5-11 Vývojový diagram procesu rozpoznávání výrazu obličeje v obraze ... 55

(11)

SEZNAM TABULEK

Tabulka 4-1 Přehled podmínek pro barvu kůže pro jednotlivé kanály prostorů RGB, HSV a YCbCr [50] ... 34 Tabulka 4-2 Střední hodnoty poměrů vzdáleností mezi význačnými body obličeje ... 40 Tabulka 5-1 Výsledky testování počtů skrytých vrstev sítě a počtů neuronů ve skrytých

vrstvách pro neuronové sítě učené na vektorech příznaků získaných pomocí 1. banky filtrů ... 52 Tabulka 5-2 Výsledky testování počtů skrytých vrstev sítě a počtů neuronů ve skrytých

vrstvách pro neuronové sítě učené na vektorech příznaků získaných pomocí 2. banky filtrů ... 53 Tabulka 5-3 Výsledky testování počtů skrytých vrstev sítě a počtů neuronů ve skrytých

vrstvách pro neuronové sítě učené na vektorech příznaků získaných pomocí 3. banky filtrů ... 54 Tabulka 5-4 Úspěšnost klasifikace pro různé sady obrazů klasifikované sítí se 2

skrytými vrstvami (100, 20), příznaky získány pomocí první banky filtrů . 56 Tabulka 5-5 Úspěšnost klasifikace pro různé sady obrazů klasifikované sítí s jednou

skrytou vrstvou se 20 neurony, příznaky získány pomocí druhé banky filtrů ... 56 Tabulka 5-6 Úspěšnost klasifikace pro různé sady obrazů klasifikované sítí se 2

(12)

SEZNAM PŘÍLOH

A Výsledky klasifikace výrazů pomocí neuronové sítě...68 A.1 Výsledky klasifikace výrazů pomocí neuronové sítě naučené na výstupech

vlastní banky filtrů ...68 A.2 Výsledky klasifikace výrazů pomocí neuronové sítě naučené na výstupech

první banky Gaborových filtrů ...69 A.3 Výsledky klasifikace výrazů pomocí neuronové sítě naučené na výstupech

druhé banky Gaborových filtrů ... 70 B Vlastní databáze obrazů ... 71 C Soupis souborů přiložených na cd ... 72

(13)

ÚVOD

Detekce obličeje v obraze a rozpoznání výrazu tváře je předmětem zájmu mnoha výzkumných týmů, protože neexistuje žádný deterministický způsob, jak v obraze obličeje najít, jak najít různé rysy obličeje a jak zjistit výraz obličeje. Existují metody, které tuto problematiku dobře řeší, ale zpravidla předpokládají určité vlastnosti všech vstupních obrazů. Úkolem je tedy vytvořit algoritmus, který bude univerzální a bude schopen fungovat pro různé obrazy s různorodými obličeji (různá velikost, různý počet obličejů v obraze a jejich pozice, různá barva kůže pro různé etnické skupiny osob, různé pozadí a podobně).

Detekce obličejů v obraze je první krok v rozpoznávání výrazů obličeje a je důležitou součástí počítačového vidění a mnoha biometrických aplikací, například automatické rozpoznání obličejů osob, komunikace člověka s počítačem nebo vyhledávání obličejů v obsáhlých databázích. V této práci je detekce obličeje provedena podle barvy kůže s využitím několika barevných prostorů. Metoda neklade speciální požadavky na vstupní obrazy a je relativně jednoduchá. Výběr oblasti obličeje je doplněn o detekci hlavních rysů obličeje, které pomáhají výběr oblasti obličeje zpřesnit.

Dalším krokem je rozpoznání výrazu obličeje, které může být využito například pro zjednodušení komunikace člověka s počítačem pomocí změny výrazu nebo pro analýzu lidských emocí. Rozpoznávání výrazu probíhá v oblasti obličeje ve vstupním obrazu a je realizováno pomocí neuronové sítě. Do ní vstupují příznaky obrazu získané pomocí banky několika dvourozměrných filtrů. Výstupem je rozpoznaný výraz obličeje.

V teoretické části této práce jsou popsány digitální reprezentace obrazu, metody detekce obličeje a metody rozpoznávání výrazů obličejů. V praktické části je popsán postup detekce obličeje, realizace bank filtrů, realizace neuronové sítě a testování jejích parametrů.

Pro detekci obličeje byly testovány různé podmínky určující bravu kůže v různých barvených prostorech. V oblasti barvy kůže byly detekovány hlavní rysy obličeje, pomocí kterých byl vytvořen automatický výběr oblasti obličeje. Pro výpočet vektoru příznaků obrazu byly implementovány tři banky filtrů, z toho dvě banky obsahují Gaborovy filtry a třetí banka obsahuje vlastní navržené filtry. Na vektorech příznaků získaných pomocí těchto bank filtrů byly naučeny neuronové sítě. Práce uvádí testování parametrů neuronových sítí a posouzení jejich vlivu na přesnost rozpoznávání výrazu. Neuronové sítě, které vykazují pro jednotlivé banky filtrů nejlepší výsledky, byly testovány na obrazech z databáze pro rozpoznávání výrazů a na obrazech z vlastní databáze. Práce uvádí dosažené výsledky rozpoznávání výrazů pomocí neuronové sítě.

(14)

1

DIGITÁLNÍ REPREZENTACE OBRAZU

Všechny obrazy, které jsou zpracovávány při detekci obličeje nebo hledání rysů obličeje, jsou uloženy a zpracovávány v digitální podobě. Šedotónový obraz je uložen jako matice bodů, každý bod odpovídá jednomu pixelu obrazu, hodnota každého bodu udává hodnotu jasu daného pixelu. Barevné obrazy jsou uloženy pomocí několika matic, jejich počet je odvozen od použití konkrétních barevných prostorů, které jsou popsány v kapitole 1.1. Způsob uložení obrazových dat je popsán v kapitole 1.2, jsou uvedeny používané barevné formáty. [9], [25], [27]

1.1

Barevné prostory

Při práci s barevným obrazem je důležitou otázkou, jak barvy popsat nebo reprezentovat. Za tímto účelem existují různé barevné prostory, které budou v následujících podkapitolách popsány. Jejich využití závisí především na vlastnostech jednotlivých prostorů, na jejich výhodách a nevýhodách. [19], [27]

1.1.1 Barevný prostor RGB (RGBA)

Tento prostor funguje na základě aditivního sčítání barev, tři kanály odpovídají třem barvám: R - red - červená, G - green - zelená, B - blue - modrá. Intenzitu jednotlivých složek lze zadávat buďto celočíselně (v rozsahu 0-255) nebo hodnotami z rozsahu <0,1>. Nulová hodnota všech kanálů dá výslednou černou barvu, naopak maximální hodnoty ve všech kanálech představují barvu bílou. Kombinování tří základních barev je znázorněno na obrázku 1-1. Výsledná barevná hloubka je 24 bitů, a je možné dostat 2563 různých barevných odstínů (neboť každý kanál může nabývat 256 různých odstínů, prostor má tři kanály, a výsledná barva může být jakákoli kombinace hodnot tří kanálů), což je více než 16 milionů barev. Kanál A u prostoru RGBA představuje tak zvaný alfa kanál, který určuje průhlednost barvy, využívá se například ve formátech PNG a GIF. RGB prostor se využívá k zobrazování a ukládání dat.

(15)

Obrázek 1-1 Rozmístění barev v jednotkové krychli (vlevo) a princip vytváření barevných odstínů ze tří základních barev RGB (červená, zelená a modrá) [19]

Vyjádřením jednotlivých barev jako poměr dané barvy ku všem barvám je možné dosáhnout normalizovaných barev RGB. Normalizovaný prostor RGB umožňuje odfiltrovat vliv osvětlení a je proto využívaný v detekci barvy kůže. Výpočet normalizovaných barev z RGB barev je realizovaný pomocí následujících rovnic [21]:

(1.1) (1.2) (1.3)

R,G,B představují kanály prostoru RGB, r, g, b označují normalizované barvy. Z

těchto rovnic vyplývá, že r+g+b = 1 a proto k reprezentaci normalizovaných barev postačí pouze hodnoty r a g, a hodnota b může být dopočítána využitím faktu, že součet všech tří normalizovaných složek je roven jedné. [19], [21]

1.1.2 CMY (CMYK)

Tento prostor využívá subtraktivního míchání barev, tři barevné kanály jsou následující:

C - cyan - azurová, M - magenta - purpurová, Y - yellow - žlutá. Nulové hodnoty všech

kanálů odpovídají barvě bíle, maximální hodnoty ve všech kanálech odpovídají černé barvě, znázorněno je to na obrázku 1-2. V polygrafii se používá prostor CMYK, kdy je navíc přiřazen kanál K - black - černá.

(16)

Obrázek 1-2 Rozmístění barev v jednotkové krychli (vlevo) a princip vytváření barevných odstínů ze tří základních barev CMY (azurová, purpurová a žlutá) [19]

Nevýhodou obou výše zmíněných prostorů je, že si člověk na základě znalostí tří nebo čtyř hodnot jednotlivých kanálů těžko dokáže představit výslednou barvu.

Převod mezi RGB a CMY prostory je možný na základě následující rovnice [19]:

, (1.4)

kde R,G,B jsou kanály barevného prostoru RGB a C,M,Y jsou kanály prostoru CMY. [19], [21], [27]

1.1.3 HSV prostor

HSV prostor (někdy též uveden jako HSB - B-brightness) je pro intuitivní zadávání barev vhodnější než předchozí prostory. Prostor je znázorněn pravidelným šestistěnným jehlanem. Jednotlivé složky prostoru udávají následující parametry: H (hue) - barevný tón je určen převládající spektrální barvou, je zadán jako úhel s hodnotami od 0° do 360°. S (saturation) - sytost, určena jako relativní vzdálenost osy jehlanu (hodnoty v rozmezí <0,1>), dominantní barvy leží na plášti jehlanu (hodnota S je rovna jedné). V (value) - jasová hodnota, nejnižší jas je ve vrcholu jehlanu a směrem k podstavě stoupá, což je znázorněno na obrázku 1-3. Střed podstavy jehlanu představuje bílou barvu (maximální jas, maximální sytost). [19], [21], [27]

(17)

Obrázek 1-3 Zobrazení kombinace tří parametrů HSV prostoru (barevný tón, sytost a jas) a barev vycházejících z těchto parametrů [19]

1.1.4 HSL prostor

Je možné se setkat také s názvy HSI či HSD, tyto názvy označují stejný prostor jako HSL, třetí kanál je nazván odlišně: L (lightness), I (intensity), nebo D (darkness). Tento prostor je znázorněn pomocí dvojice kuželů spojených podstavami (viz Obrázek 1-4). Prostor je popsán pomocí tří parametrů: H (hue) - barevný tón nebo odstín, opět zadán jako úhel. L (lightness) - světlost, nejnižší je u vrcholu spodního kuželu, naopak nejvyšší u vrcholu horního kuželu. S (saturation) - sytost, opět zadána jako relativní vzdálenost od osy kuželů. Tento model nejvíce odpovídá skutečnosti, že nejvíce barev člověk vnímá při průměrné světlosti, což na obrázku odpovídá oblasti spojených podstav dvou kuželů. Obrázek 1-4 znázorňuje zmíněné kužely a několik hlavních barev rozmístěných v objemu kuželů. [19], [21], [27]

Obrázek 1-4 Zobrazení kombinace tří parametrů HSL prostoru (barevný tón, sytost a světlost) a barev vycházejících z těchto parametrů [19]

(18)

1.1.5 YCbCr prostor

Formát YCbCr má opět tři kanály, první kanál Y prezentuje světelnost podobně jako u HSL na základě intenzity všech tří RGB komponent. Druhý a třetí kanál Cb a Cr reprezentují barvy, Cb komponenta je založena na základě rozdílu modré barvy (B z prostoru RGB) a světelnosti (Y), Cr komponenta je založena na rozdílu červené barvy (R z prostoru RGB) a světelnosti (Y). Zbývající informace pro zelenou barvu může být dopočítána z předchozích dvou komponent. Lidské oko je citlivější na změny ve světelnosti (Y komponenta) než na změny barev.

Převod obrazu z RGB prostoru do YCbCr prostoru je možný podle následující rovnice [54]: , (1.5) kde Y, Cb, Cr jsou kanály prostoru YCbCr a R, B, G jsou kanály prosotru RGB.

Tento formát je vhodný pro ukládání a přenos obrazových dat včetně videa. Využívají ho formáty JPEG (pro obrazy) a MPEG (pro video) při kompresi dat. Při přenosu jsou z důvodu citlivosti lidského oka informace o světelnosti komprimovány méně než informace o barvě.

Pro analogový signál lze použít prostor YPbPr odpovídající prostoru YCbCr pro diskrétní signál. Zmíněný prostor byl využíván u analogových televizních signálů. [19], [21], [50]

Uložení informace o barvě pixelů obrazu do několika kanálů různých barevných prostorů je znázorněno na obrázku 1-5. Je patrné, že v barevném prostru RGB je vliv osvětlení ve všech kanálech, zatímco například u YCbCr prostoru osvětlení ovlivňuje pouze jeden kanál.

(19)

Obrázek 1-5 Zobrazení kanálů různých barevných prostorů [9]

1.1.6 YIQ

Y udává světelnost, I a Q jsou barevné složky. I udává barevný rozsah od oranžové

barvy po azurovou, to je výhodou při detekce barvy obličeje u mongoloidní rasy. Q udává barevnou škálu mezi purpurovou a zelenou. Lidské oko je citlivější na změny v kanále I než v kanále Q, díky tomu může být kanál Q přenášen s menší přesností než kanál I. Převodem RGB prostoru na YIQ prostor dojde k potlačení pozadí ostatních barev a díky tomu je možné detekovat i obličeje relativně malé vůči celkové velikosti obrazu. Tento barevný prostor se využívá pro televizní signál ve Spojených státech. Televizi zobrazující pouze šedotónový obraz postačí pouze Y kanál.

Převod z RGB se realizuje podle následující rovnice [55]:

, (1.6)

(20)

jsou tři barevné složky prostoru RGB (červená, zelená, modrá). [19], [21], [27], [55]

1.1.7 YUV

YUV prostor se v Evropě využívá pro televizní signál, oproti YIQ je barevný prostor pootočen o 33°. Převod z RGB prostoru je možný posle následující rovnice [55]:

(1.7)

Obrázek 1-6 znázorňuje rozložení barevných odstínů v závislosti na hodnotách kanálů U a V. Z obrázku je zřejmé, že je barevný prostor vůči prostoru YIQ pootočen, u YUV udává kanál U barevný rozsah od zeleno oranžové barvy po modrou, kanál V barevný rozsah od zelené barvy po červenou. [19], [21], [27], [55]

Obrázek 1-6Znázornění kanálů U a V prostoru YUV udávajících barvu pixelu [55]

1.1.8 CIE L*a*b

CIE L*a*b je název prostoru, kde L značí osu světelnosti, rozpětí hodnot je od 0 do 100, přičemž nula odpovídá tmavému odstínu (černé barvě) a hodnota 100 odpovídá maximální světelnosti (bílé barvě). Na svislou osu L jsou kolmé osy a a b, osa a udává rozpětí os zelené barvy k červené, osa b udává rozpětí barev od modré po žlutou. Prostor L*a*b je znázorněn na obrázku 1-7. [19], [21], [27], [55]

(21)

Obrázek 1-7 Zobrazení prostoru CIE L*a*b [19]

1.1.9 Další barevné prostory

CIE-xyz - je numerický model senzitivity barvy vytvořený podle vnímání barev u lidí s normálním barevným viděním. Tento model reprezentuje průměrné barevné spektrum, které je pro člověka viditelné. Sítnice lidského oka obsahuje tři typy receptorů pro každou z barev: červená, zelená a modrá. Složky CIE-xyz prostoru odpovídají uvedeným barvám.

CIE L*u*v - je úprava prostoru CIE-xyz, tento prostor se na navíc snaží dosáhnout perceptuální uniformity. Využívá se při práci s barevnými světelnými zdroji.

TSL - je barvený prostor, který definuje barvu pomocí odstínu, saturace a světlosti. Jelikož převod z RGB prostoru do TSL prostoru využívá normalizovaných kanálů r a g RGB prostoru, je TSL vhodný pro segmentaci barvy pokožky, neboť jeho složky T a S nejsou ovlivněny osvětlením.

YES - Y složka reprezentuje svítivost, je počítána jako vážená suma kanálů RGB prostoru. složky E a S udávají barvené faktory, E odpovídá rozdílu červené a zelené složky RGB prostoru, S je rovno rozdílu žluté a modré barvy.

(22)

1.2

Barevné formáty

V této kapitule jsou uvedeny používané barevné formáty, které slouží pro uložení obrazových dat. Jelikož tyto formáty zpravidla využívají kompresi dat pro snížení velikosti dat/souborů, jsou používané kompresní metody v této kapitole uvedeny také.

Ještě než budou jmenovány konkrétní kompresní metody a barevné formáty, je na místě uvést typy obrazů, se kterými se lze setkat. Obrazy lze rozdělit podle počtu bitů, které připadají na jeden pixel obrazu. Tento parametr se nazývá barevná hloubka. Mezi jednobitové obrazy patří černobílý obraz, kde pixel může mít pouze dvě barvy: černou nebo bílou. Osmibitovou barevnou hloubku mají šedotónové obrazy. Dvaceti čtyř bitová hloubka je u obrazů, jejichž pixely mají tři různé kanály. Tyto obrazy jsou barevné, příkladem mohou být RGB nebo YUV barevné prostory. Obrazy se čtyřmi kanály (RGBA, CMYK) mají třiceti dvou bitovou hloubku. Lze se setkat i s větší bitovou hloubkou (48 nebo 96 bitů), ale nejběžnější obrazy mívají bitovou hloubku 32 nebo 24 bitů. [19], [29], [31], [51], [54]

1.2.1 Kompresní metody

Pro uložení obrazů v určitém formátu se využívají kompresní metody, které sníží objem dat a tím sníží i nároky na paměť v místě uložení nebo v případě přenosu sníží nároky na rychlost přenosu dat. Kompresní metody lze rozdělit do dvou skupin podle zachování informace při kompresi dat. Bezeztrátová komprese při změně dat informace uchovává, naopak u ztrátové komprese dochází k ztrátě určité informace. V této kapitole budou uvedeny nejčastější metody komprese obrazů.

Run Length Encoding (RLE) je metoda kódování informace vhodná pro obrazy s většími plochami konstantních hodnot, nedochází ke ztrátě informací. V místě výskytu opakovaných hodnot na určitém řádku je jako první informace uložena hodnota pixelů, a jako druhá počet pixelů, které mají tuto hodnotu. Pokud jsou na řádku více než dva pixely za sebou shodné, bude komprese účinná a dojde k poklesu objemu dat. Pokud by obraz podmínky větších ploch nesplňoval, mohlo by dojít k negativní kompresi neboli k nárůstu dat. Této kompresní metody využívá formát PCX.

Huffmanovo kódování (CCITT) je opět bezeztrátová komprese, používána je například u formátu TIFF. Nejčastěji používané hodnoty jsou kódovány kódem s malou velikostí (1b), méně používané hodnoty jsou kódovány kódem o větší velikosti.

Slovníkové kódování (LZW) je dalším příkladem bezeztrátové komprese, využíváno je u formátů GIF, PNG, ZIP nebo ARJ. Využívá slovník se slovy o různých délkách. Delší slova vznikají kombinací kratších slov.

(23)

frekvenční oblasti, využívá ji formát JPEG. DCT není samo o sobě kompresní metodou, protože nezpůsobuje zmenšení objemu dat, ale po převodu dat do frekvenční oblasti a menších úpravách vysvětlených u formátu JPEG se ve frekvenční oblasti hodnoty velmi často opakují. Toho využívá Huffmanovo kódování, které u opakujících se hodnot v datech způsobuje zmenšení objemu dat.

[19], [25], [28], [29]

1.2.2 Používané barevné formáty

BMP (BitMaP) je formát vytvořený pro ukládání rastrové grafiky. BMP soubory jsou uloženy ve formátu nezávislém na zařízení, tedy způsobem, který není závislý na uspořádání pixelů nebo na interních metodách práce s barvou. BMP umožňuje ukládání dat ve čtyřech různých formátech: dvoubarevné obrázky (1 bit na pixel), mohou být vybrány libovolné dvě barvy, nemusí se jednat pouze o černobílý obraz. Dále šestnáctibarevné obrazy (4 bity na pixel), které využívají barevnou paletu o délce 64 bitů. Obrazy s barevnou hloubkou 256 (8 bitů na pixel), kdy má barevná paleta délku 1024 bitů. A nebo tak zvané Tru Color obrazy (24 bitů na pixel), které umožňují uložit 16 milionů barev, každý pixel je přímo reprezentován svou barvou a není třeba používat barevnou patelu.

GIF (Graphic Interchange Format) využívá bezeztrátovou LZW kompresní metodu a tím velmi zmenší objem dat. Tohoto formátu se využívá pro přenos dat po síti, poskytuje možnost prokládání řádků. Pro rozpoznání obrazu není nutně potřeba celého objemu dat (stačí polovina nebo čtvrtina objemu dat). Lze také uložit více obrazů do jednoho souboru (zobrazení jako animovaný GIF). Tato skutečnost ale přináší jednu nevýhodu, formát je schopen uložit maximálně 256 barevných odstínů.

PNG (Portable Network Graphics) je taktéž primárně určen k přenosu dat po síti, může sloužit ale i pro archivaci dat. Využívá bezeztrátovou kompresi algoritmu LZ77. Pixely jsou rozděleny do pěti skupin. Pixely první skupiny nejsou nijak upravovány, je uložena přímo jejich hodnota. Po pixely druhé skupiny (Sub) je ukládán rozdíl tohoto pixelu a pixelu vlevo od něj. Ve třetí skupině (Up) je ukládán rozdíl daného pixelu a pixelu na stejné pozici o řádek výše. Čtvrtá skupina (Average) ukládá průměr z daného pixelu a sousedních pixelů vlevo a nahoře. Poslední skupina (Paeth) ukládá hodnotu získanou z daných pixelů a tří sousedních (vlevo, nahoře a vpravo nahoře) metodou, kterou navrhl A. W. Paeth. Formát ukládá barevnou hloubku 24 bitů.

TIFF (Tagged Image File Format) je vhodný formát pro grafiku o velkém objemu dat. Podporuje 32 bitovou hloubku a bezeztrátovou kompresi LZW. Je schopen uložit více obrazů do jednoho souboru.

(24)

efektivně využita ztrátová komprese. Nejvíce používanou ztrátovou kompresí je technika JPEG komprese. (Zkratka JPEG vyjadřuje Joint Photographic Experts Group.) JPEG se nejvíce hodí pro fotografie a podobné obrazy, které jsou charakterizovány jemnými detaily a kontinuální změnou tónu barev. Obraz je nejprve převeden do YCbCr prostoru, transformace je realizována podle rovnice uvedené v kapitole 1.1.5.

Dále je každá složka obrazu v YCbCr prostoru je podvzorkována a zvlášť zpracovávána. Každá složka je převedena na frekvenční reprezentaci pomocí diskrétní kosinové transformace. Vstupem do výpočtu diskrétní kosinové transformace je matice pixelů, výstupem je matice koeficientů, reprezentujících amplitudy frekvenčních komponent obrazu. Komprese i dekomprese touto metodou je poměrně výpočetně náročná. Komprese se neprovede na celém obraze, ale obraz je nejprve rozdělen na čtverce o straně 8 pixelů a každý z těchto čtverců je převeden na frekvenční reprezentaci zvlášť. Převod obrazu do frekvenční oblasti nepřináší žádnou kompresi objemu dat, ale transformuje data do podoby, která může být komprimována způsobem, který minimalizuje možnost poznat ztrátu dat. Informace o vysokých frekvencích mohou být zanedbány, protože vysoké frekvence příliš nepřispívají ke vnímané kvalitě obrazu. Budou ponechány například jen hodnoty vysokých frekvencí dělitelné číslem 4 beze zbytku, a to pouze hodnoty do určité meze. Tím se výrazně sníží počet hodnot pro vysoké frekvence. Čísla kvantizačních úrovní bývají uvedena v kvantizační matici, výsledky diskrétní kosinové transformace jsou vyděleny kvantizační maticí a následně zaokrouhleny. Kvantizační přístup redukuje velikost uložených dat. Jelikož se ve výsledné matici čísla (především nuly) často opakují, využívá se Huffmanova kódování, které snižuje objem dat. Aby komprese byla co nejúčinnější, jsou koeficienty výsledné matice zpracovány takzvanou zig-zag metodou, která maximalizuje počet opakování nulových hodnot za sebou v jedné linii.

Před zobrazením obrazu je postup opačný, nejprve je provedena dekomprese bezeztrátových metod, které byly použity při kompresi. Následuje násobení bloků 8x8 pixelů kvantizační maticí a inverzní kosinová transformace. Bloky odpovídající jednotlivým složkám obrazu (Y, Cb, Cr) jsou sloučeny do matic. Jelikož při kompresi došlo ke snížení objemu dat, je nyní nutné chybějící data dopočítat, aby matice měly stejný rozměr jako původní obraz. Poslední operací je převod obrazu z YCbCr prostoru do RGB.

JPEG formát je standard a jeho kodéry a dekodéry jsou implementovány ve všech běžně používaných zařízeních jako jsou počítače, telefony, tablety a další.

(25)

2

DETEKCE OBLIČEJE V OBRAZE

Před tím než bude možné vyhledávat jednotlivé objekty či rysy obličeje, je třeba stanovit oblast obličeje, kde se budou tyto objekty hledat. Sníží se tím nejenom výpočetní náročnost algoritmu, ale i pravděpodobnost chybné detekce, například detekce objektů v pozadí mimo obličej. V této kapitole budou uvedeny různé algoritmy pro detekci tváře. Detekce tváře je využívána například pro rozpoznávání obličejů za účelem identifikaci osob, zpracování obrazů na základě jejich obsahu, videokonference nebo počítačové vidění. Lidská tvář může být velmi různorodá co do tvaru, barvy pleti a rozmístění objektů obličeje, což znesnadňuje automatickou detekci tváře například pro počítačové vidění.

Metody detekce obličeje lze dělit podle různých aspektů. Podrobněji rozepsáno bude rozdělení na základě přístupu, jakým uvedené metody využívají informace z obrazu.

V tomto rozdělení jsou první skupinou příznakové metody (Feature-based methods). Metody spadající do této kategorie využívají znalosti o tváři přímo a používají klasické metody detekce založené na primárních parametrech jednotlivých pixelů nebo menšího okolí daného pixelu. Hledání určitých příznaků v obraze mohou předcházet jednoduché operace, díky kterým je získána jiná reprezentace obrazu, například hranová reprezentace určená z malého okolí každého pixelu. Pro detekci tváře se často využívá měření vzdáleností mezi příznaky, úhlů mezi nimi nebo plocha příznaků v obraze. Metody této kategorie mohou využívat také například znalost tvaru obličeje nebo znalost barvy pleti. Je logické, že tyto metody byly nejvíce publikovány v sedmdesátých letech, když bylo počítačové vidění, detekce určitých objektů v obraze a podobné úlohy na počátku svého rozvoje. Přednostmi metod této skupiny je relativní jednoduchost algoritmů jednotlivých metod a s tím spojená vyšší rychlost algoritmu v porovnání s druhou skupinou metod. Příznakové metody fungují bez jakýchkoli znalostí nebo informací, které musí být vloženy před samotnou detekcí obličeje.

Druhou skupinou jsou metody založené na obrazové informaci (Image based methods). Tyto metody přistupují k detekci tváře jako k obecnému problému a nahlížejí na obraz jako na jeden celek. K detekci obličeje v obraze využívají množinu obrazů se vzorovými obličeji a proces učení algoritmu. Vstupní obraz je pak přímo klasifikován na části odpovídající obličeji a na části, kde se obličej nevyskytuje. Algoritmus pracuje buď s celým vstupním obrazem, nebo s jeho výřezy, a bere pouze jasovou informaci obrazu, která byla vstupem algoritmu. Na rozdíl od první skupiny metod zde nejsou

(26)

získávány žádné další příznaky obrazu. Jelikož jsou metody této skupiny poměrně nové, byly jednotlivé metody publikovány později než metody první skupiny. Metody této skupiny mohou dávat přesnější výsledky než příznakové metody. Ovšem tyto metody jsou založeny na výrazně složitějších algoritmech a často vyžadují obecné apriorní znalosti vložené před detekcí v konkrétních obrazech. Další nevýhodou může být časově náročné učení algoritmů.

Vedle rozdělení na základě přístupu k informacím obrazu lze metody také rozdělit podle velikosti oblasti, ze které budou brány informace, podle nichž bude detekce obličeje provedena. Při detekci každého jednotlivého pixelu je na základě rozhodovacího pravidla dané metody rozhodnuto, zda tento pixel odpovídá hledané oblasti či ne. Pokud bude v potaz bráno určité okolí každého pixelu, v každém okolí bude rozhodnuto, zda se v něm nalézá hledaný objekt. Velikost okolí může být během procesu detekce postupně zvětšována (nebo zmenšována) v závislosti na velikosti obličeje v obraze. Výstupem bude obdélník, který v obraze vyznačí oblast, v níž se hledaný objekt nachází. Obdobnou metodou je využití podvzorkování obrazu, kdy je obraz vždy převzorkován na poloviční velikost. Díky tomu lze také zachytit v obraze obličeje různých velikostí.

Jednotlivé metody budou představeny v následujících podkapitolách. Jsou řazeny podle přístupu, jakým využívají informace z obrazu. [6], [8], [12], [16], [17], [21], [22], [26], [34], [56]

2.1

Příznakové metody (Feature-based Approach)

Příznakové metody lze rozdělit do tří skupin. Při hledání obličeje v obraze jsou jako nejjednodušší postup aplikovány jednoduché metody zpracování obrazu, které na výstupu dávají některou ze základních charakteristik obrazu (Low-level Analysis). Metody využívají vlastností jednotlivých pixelů (například stupeň šedi či barva pixelu) nebo vlastnosti lokálního okolí pixelu, a výstupem je silueta objektu. Výsledky mohou být nejednoznačné kvůli skutečnosti, že informace pochází pouze z hodnot jednoho pixelu nebo malého okolí pixelu a chybí komplexní pohled na vlastnosti obrazu. U metody hledání rysů obličeje (Feature Analysis) je tvář brána z více globálního pohledu s ohledem na její tvar. Díky tomu je nejednoznačnost výsledků v porovnání s analýzou základních charakteristik obrazu výrazně nižší a lze lépe určit pozice obličeje v obraze. Třetí skupina využívá aktivních kontur (Active Shape Model), vyhledává komplexní prvky obličeje, jako jsou rty nebo zornice. [21], [26], [56]

(27)

2.1.1 Metody využívající základní charakteristiky pixelu nebo jeho

malého okolí (Low-level Analysis)

Každá z metod této podskupiny využívá některou ze základních charakteristik pixelu, případně jeho malého okolí. Metody v této kapitole jsou řazeny podle těchto charakteristik.

Hrany - Za jeden z nejzákladnějších příznaků obrazů se dá považovat hranová reprezentace. Pomocí sledování hrany (s omezením zakřivení kvůli omezení sledování falešných hran) lze nalézt objekty v obraze, v tomto případě především objekty obličeje. Před samotným sledováním hran je nutno provést úpravu hran (ztenčení, propojení a pod.). Na hrany uvnitř obličeje je aplikována příznaková analýza s využitím znalosti tvaru a pozice hlavy. Pomocí této metody lze v obraze rozpoznat například brýle na obličeji. Pro hranovou detekci se používají různé operátory, mezi často užívané operátory patří Sobelův operátor nebo LoG (Laplacian of Gaussian).

Jasová informace šedotónového obrazu – Jasovou informaci lze také využít pro detekci obličeje v obraze. Některé objekty obličeje jako například obočí, rty nebo zornice mají nižší jasové hodnoty než okolní kůže. Takto mohou být rozpoznány jednotlivé části obličeje. V oblasti obličeje jsou prahováním vyhledána lokální minima jasu, která odpovídají zmíněným objektům obličeje. Lokální maxima (světlý pixel obklopen osmi tmavými pixely) v oblasti obličeje odpovídají světlým oblastem obličeje, například špičce nosu. Detekovaná místa jsou srovnána s šablonou ideálního obličeje. Před samotnou detekcí je obraz na vstupu nejprve upraven např. ekvalizací histogramu nebo úpravou kontrastu pro lepší detekci lokálních jasových minim a maxim.

Jiný přístup využívající šedotónovou informaci je založen na skutečnosti, že pokud bude sníženo rozlišení obrazu, zaniknou mikroskopické příznaky a oblast obličeje se stane jednotnou. Uniformní oblasti jsou hledány pomocí skupiny pravidel určující jednotnost oblasti, ověření uniformní oblasti je možné pomocí existence typických rysů obličeje v těchto oblastech získaných jako lokální minima z obrazu s vysokým rozlišením (stejný princip jako je uveden výše).

Jasová informace barevného obrazu - V porovnání s šedotónovým obrazem přináší barevný obraz více informací, neboť určitá jasová hodnota šedotónového obrazu odpovídá více různým barevným odstínům barevného obrazu. Pokud by barva pozadí byla předem známá, je detekce hlavy, případně těla, před pozadím jednoduchá operace. Pokud bude obličej hledán podle barvy kůže, je důležité vědět, že variace barvy lidské pleti se pohybuje v určitém prostorovém shluku a rozdíly barvy kůže u jednotlivců (včetně různých ras) jsou poměrně malé. Pro barvu kůže existují různé podmínky v závislosti na zvoleném barevném prostoru. Je vhodné použít prostory, kde osvětlení objektu ovlivňuje pouze jednu složku, a další dvě složky jsou na osvětlení nezávislé, pro

(28)

tyto dvě složky budou určeny podmínky, za kterých daný pixel odpovídá barvě kůže. V případě použití barevného prostoru, ve kterém osvětlení ovlivňuje všechny složky, je vhodné před detekcí vliv osvětlení odstranit. Barevné prostory jsou uvedeny v kapitole č.1.1.

Obecně může být segmentace na základě barvy kůže provedena pomocí stanovení určitých hranic, které rozliší pixely odpovídající barvě kůže od ostatních pixelů. Barva kůže může být zobrazena v grafu nebo histogramu, odkud lze odhadnout zmíněné hranice. Tuto metodu lze kromě nalezení obličejů využít také pro rozeznávání příkazů zadaných pohybem ruky.

Tato metoda není příliš robustní, problémy mohou být způsobeny osvětlením scény nebo různorodostí barvy lidské kůže. Nicméně implementace této metody je jednoduchá a algoritmus je poměrně rychlý. Za určitých podmínek nemusí být nevýhody této metody zásadní, nebo se dá těmto nevýhodám předejít. Jelikož byla tato metoda vybrána pro řešení detekce tváře a implementována v prostředí Matlab, bude podrobněji popsána v kapitole č.4.

Pomocí pohybu – Informaci o pohybu dostupnou z videa lze využít k nalezení pohybujících se objektů. Ve videu lze odlišit pohybující se popředí (osobu) vůči statickému pozadí. Pohybující se objekty jsou extrahovány odečtením dvou obrazů s rozdílným časovým parametrem (zbude pouze to, co je na obrázcích odlišné, tedy objekty, které v časovém intervalu mezi dvěma snímky změnily polohu). Tento princip je jednoduchý a efektivní, není ovlivněn charakterem pozadí. Pokud se ovšem ve videu vyskytne více pohybujících se objektů, z nichž některé neodpovídají hledaným osobám nebo obličejům, tento algoritmus selhává. V takovém případě by bylo třeba tuto metodu zkombinovat s jinou metodou, která odliší falešné pohybující se objekty od objektů, které má metoda skutečně detekovat. Při detekci očí v obličeji může být využita skutečnost, že oči při natáčení videa mrkají (blinking detection).

Jiný způsob, jak nelézt pohybující se objekty, je metoda s využitím odhadu kontur pohybujících se objektů. Výsledky v porovnání s předchozí metodou využívající video jsou věrohodnější, zžejmé je to především, pokud je pohyb objektů ve videu nepatrný. [21], [24], [34], [53], [60]

2.1.2 Metody hledání rysů obličeje (Feature Analysis)

Analýza využívající základní charakteristiky jednotlivých pixelů nebo malého okolí pixelu dává nejednoznačné výsledky. Příkladem mohou být u detekce na základně barvy kůže chybně stanovené regiony kůže v pozadí, kde se barva podobá barvě kůže. Metody hledání rysů tyto problémy nejednoznačnosti odstraní. Je využívána znalost tvaru obličeje, detekce obličejových částí je porovnána s geometrií tváře a chybně

(29)

detekované oblasti jsou rozpoznány a označeny jako mimobličejové části.

V následujících odstavcích budou popsány přístupy využívající znalost geometrie tváře. První přístup zahrnuje různé způsoby hledání rysů obličeje založené na relativní pozici rysů vůči celému obličeji. Důvěryhodnost detekce jednotlivých rysů je zvyšována nalezením dalších rysů v okolí. Druhý přístup využívá flexibilního uspořádání rysů v obličeji s využitím různých modelů obličeje.

První přístup – hledání rysů - Nejprve se určí významné rysy obličeje. Při hledání dalších méně významných rysů jsou využívány informace o pozici významných rysů, což usnadňuje detekci ostatních rysů. Správnost detekce je ověřena na základě geometrického rozložení nalezeného rysu vůči významným rysům obličeje. Významným rysem mohou být například oči, využívá se jejich symetrie a víceméně neměnné velikosti vůči obličeji.

Příkladem hledání rysů může být algoritmus, který zveřejnil De Silva a kolektiv v [33], kde je nejprve určena oblast, která bude pokládána za vrcholek hlavy, a postupným prohledáváním směrem dolů od vrcholku hlavy se hledá rovina očí, která se vyznačuje vyšším počtem hran (v hranové reprezentaci vstupního obrazu) než okolí. Vzdálenost roviny očí od vrcholku hlavy bude brána jako referenční a bude využita pro nastavení flexibilní obličejové masky. Tento algoritmus lze použít pro snímky s čelním postavením obličeje nebo snímky s natočením tváře o méně než 30°. Nevýhodou algoritmu je, že nedokáže správně detekovat jednotlivé rysy obličeje, pokud se na obličeji vyskytují brýle, nebo pokud je čelo zakryto vlasy.

Druhý přístup - konstelační analýza (constellation analysis) - Zatímco některé metody zmíněné výše jsou závislé na heuristických informacích snímků pořízených za určitých podmínek a nejsou proto dostatečně robustní k obecnému hledání obličejů v jakékoliv scéně, druhý typ přístupů seskupuje příznaky obličeje do kombinace pomocí robustnějších metod, jako například statistická analýza.

Pro výskyt jednoho i více obličejů v obraze může být použit pravděpodobnostní model tváře. Jednotlivé rysy tváře jsou získány pomocí hranové reprezentace. Rysy jsou zařazeny do různých skupin rysů, což umožňuje větší flexibilitu detekce a redukuje chybné detekce rysů. Algoritmus je schopen správně detekovat tváře v obraze i bez některých chybějících rysů. Do jisté míry je schopen se vypořádat i s problémy vzniklými posunutím, natočením nebo změnou měřítka obličeje. Úspěšnost tohoto postupu je asi 92%, největší počet chyb detekce tváře způsobuje větší natočení hlavy ve snímcích. Algoritmus je schopen správně detekovat i za přítomností brýlí na obličeji, několik chybějících rysů také nezpůsobí chyby detekce a ani malé změny v natočení nebo měřítku neznemožní správnou detekci rysů obličeje.

(30)

obličeje. Obraz je nejprve pomocí gradientního operátoru převeden na čelní zobrazení. Pomocí Houghovy transformace jsou hledány objekty elipsovitého tvaru, které by mohly odpovídat lidským obličejům. Tyto objekty jsou následně poskytnuty vzorové šabloně, která potvrdí nebo vyvrátí skutečnost, že dané objekty odpovídají lidské tváři.

[21], [33], [34]

2.1.3 Metoda aktivních kontur

Aktivní modely zobrazují skutečný fyzikální vzhled rysů. V okolí každého pixelu jsou hledány lokální rysy. V těsném okolí určitého rysu bude aktivní tvarový model interagovat s lokálními příznaky obličeje (např. hrany a jas) a bude se postupně deformovat, aby se přiblížil tvaru daného rysu. Existují tři typy aktivních tvarových modelů pro vyhledávání rysů v obličeji. První typ využívá obecnou tvarovou konturu, které se říká snake (had). Druhý typ využívá deformovatelnou šablonu a třetí typ pracuje s konturou sestavenou z určitého počtu bodů rozmístěných v prostoru (PDM).

Snakes - pro vyhledání hranice hlavy, na začátku je had inicializován v okolí hranice hlavy, pak se přibližuje hranám v jeho okolí a dostává tvar hranice hlavy. Vývoje hada je dosaženo minimalizací funkce energie hada. Nedostatek této metody spočívá v tom, že často část hada přilne ke špatnému rysu obličeje. Had také není schopen přilnout ke tvaru nekonvexních objektů, což je způsobeno minimalizací zakřivení. Výhodou hada ale je, že na rozdíl od jiných zmíněných metod dokáže detekovat brýle na obličeji.

Deformovatelná šablona - Stejně jako je had schopný se deformovat podle tvaru objektů v jeho blízkosti, lze použít i masku, která se bude deformovat. A sice na základě nejstrmějšího sestupu kombinace několika lokálních charakteristik (a sice na základě energie, hran a jasu). Jako příklady lze uvézt šablonu oka, nebo úst.

Point Distributed Models (PDM) - Kontura se sestává z určitého počtu bodů, kterým jsou přiřazené prostorové souřadnice. Variace těchto bodů je napřed provedena na trénovací množině objektů (s různým tvarem, velikostí a s různým umístěním), přičemž jsou získány variace velikosti tváře a tvaru významných rysů (oči, rty a jiné). Pomocí analýzy hlavních komponent (PCA) jsou variace rysů v trénovací množině použity jako lineární flexibilní model. Model zahrnuje průměr všech rysů trénovací množiny a způsoby změn pozice každého bodu. Výhodou PDM je fakt, že metoda dává kompaktní parametrický popis. Může být použita i pro interpretaci výrazu tváře. [21], [47]

Aktivní vzhledový model (AAM Active Appearance Model) - Tento model je zobecněním metody aktivních kontur, využívá více informací z celé oblasti zájmu

(31)

obrazu, na rozdíl od metody aktivních kontur, která využívá pouze informace z nejbližšího okolí hran nebo vybraných bodů. Model obsahuje informace o tvaru tváře, která je uložena pomocí bodů spojených do 2D sítě trojúhelníků, a o její textuře, vyjádřené jasem jednotlivých pixelů uvnitř trojúhelníkové sítě. V trénovací množině obrazů jsou snímky s ručně vyznačeným výskytem tváře s požadovaným počtem klíčových bodů. Snímky jsou upraveny tak, aby na všech byly tváře stejné velikosti a se stejným natočením. Následně je vypočítán střední tvar modelu a pomocí PCA je vypočtena transformační matice a vektor parametrů, který definuje povolenou deformaci modelu. Obdobně se vypočítá i střední textura modelu, opět se vychází z transformační matice a z vektoru parametrů pro povolené změny v textuře.

Se znalostí středního tvaru a střední textury je možné vytvořit nové tváře modelu, a sice pomocí afinní transformace, kdy je každému pixelu středového tvaru vypočtena nová pozice. Metoda umí generovat tváře s rozlišením pohlaví nebo věku, pokud jsou tyto rozdíly zahrnuty do trénovacímnožiny obrazů.

Při nasazení modelu na nový snímek je požadována minimalizace odchylky mezi novým snímkem a snímkem modelu (nejlepší je využití středního modelu), minimalizace respektuje povolenou deformaci tvaru a povolenou změnu textury.

[14], [21], [37], [47], [56], [63]

2.2 Metody založené na obrazové informaci (Image-based

Approach)

Modely rysů obličeje narážejí na nepředvídatelnost podoby tváře a okolní podmínky, což velmi znesnadňuje nalezení obličeje. Většina zmíněných příznakových metod vyžaduje více či méně čelní postavení obličeje. Příznakové metody nejsou schopny spolehlivě nalézt větší počet tváří v různorodém pozadí.

Tento problém se snaží vyřešit metody založené na obrazové informaci, u nichž není vyžadována znalost tváře (specifických rysů a pod.). Tím se sníží potenciál chyb vznikajících kvůli neúplným či nesprávným informacím o tváři.

Základem metod založených na obrazové informaci je trénování algoritmu, kdy jsou obrazy trénovací množiny zařazeny do jedné ze dvou tříd: "s obličejem" nebo"bez obličeje". 2D matice intenzit vstupního obrazu je pak porovnána s těmito dvěma třídami a podle toho je rozhodnuto o výskytu obličeje ve vstupním obraze. Nejjednodušší algoritmy založené na obrazové informaci spočívají v porovnávání se vzory (templatematching), ale jejich výsledky nejsou vždy stoprocentně správné.

(32)

Většina metod patřících do této kategorie používá k detekci tváře postupné zpracování částí obrazu pod posouvajícím se oknem. V části, která se právě nalézá pod posuvným oknem, proběhne kompletní prohledávání možného výskytu tváře a je rozhodnuto, jestli se ve výřezu hledaná tvář nachází či nikoli. Různé algoritmy se odlišují velikostí okna, ve kterém dochází k prohledávání, mírou podvzorkování obrazu, překryvem oken či počtem iterací. Velikost okna se může během průběhu algoritmu postupně měnit. Výstupem metod založených na obrazové informaci je obdélník vyznačující oblast (včetně její velikosti), kde se hledaný objekt nachází.

Metody založené na obrazové informaci lze rozdělit do tří kategorií: lineární podprostorové metody, neuronové sítě a statistické metody. [14], [21], [23], [56]

2.2.1 Lineární podprostorové metody

V této skupině technik se lze často setkat s využitím PCA - analýzou hlavních komponent, LDA - lineární diskriminační analýzy, nebo s využitím faktorové analýzy (FA). V případě využití PCA jsou na soubor různých obrazů lidského obličeje nejprve nalezeny hlavní komponenty distribuce tváří, udány jsou ve vektorech vlastních hodnot (vlastní hodnoty kovariační matice distribuce). Každá z tváří souboru může být aproximována lineární kombinací největších vektorů vlastních hodnot s příslušnými vahami. Tato metoda může být použita i pro rozpoznávání obličejů.

Detektor rysů obličeje může využívat DFFS (distance-from-face-space, indikátor existence tváře pomocí pozorování globálního minima distanční mapy) generovaného z vlastních vektorů (vlastní vektory očí, nosů, úst) trénovací množiny obrazů. Tento detektor je schopný detekovat tváře pod různými úhly, v případě že trénovací množina obsahuje obrazy také pod různými úhly.

PCA je vhodný intuitivní způsob vytvoření podprostoru reprezentujícího objekt určité třídy. Nicméně PCA není nutně vždy optimální. Oblast obličeje může být lépe reprezentována rozdělením do podtříd. Takové metody využívají obvykle kombinace vícerozměrných Gaussianů. [12], [21], [56]

2.2.2 Neuronové sítě

Neuronové sítě jsou často používány k různým úlohám zahrnujícím rozeznávání objektů, kromě hledání lidské tváře mohou vyhledávat a klasifikovat jednotlivé rysy tváře. U detekce lidské tváře je využita jasová reprezentace a následuje korekce osvětlení a vyvážení histogramu. Neuronová sít posuzuje okno o určité velikosti (např. 20x20 pixelů). Pro detekci tváře může být neuronová sít navržena s jednou skrytou vrstvou a určitým počtem neuronů v ní, které se zabývají různě velkými podoblastmi

(33)

okna. Pro dosažení lepších výsledků lze použít více neuronových sítí a jejich výstupy zkombinovat například logickými operátor AND či OR, nebo použít výsledek prezentovaný největším počtem neuronových sítí. [12], [14], [21], [56], [62]

2.2.3 Statistické metody

Tyto metody popisují obrazy s charakteristickými obličeji pomocí statistiky, například pomocí histogramu nebo invariantního momentu. Algoritmy mohou pro extrakci rysů obličeje využít odčítání po sobě jdoucích výřezů, autokorelace nebo invariantní moment. Výhodou metody je to, že nalezení rysů obličeje není ovlivněno rotací, translací nebo změnou měřítka.

Mezi statistické metody patří metoda založená na Bayesově síti, což je pravděpodobnostní grafický model založen na Bayesově vzorci, systémy založené na informační teorii nebo metodě podpůrných vektorů SVM (Support Vector Machine). SVM patří mezi metody strojového učení a je založena na principu strukturální minimalizace rizik klasifikační metody. SVM s jádrovou funkcí tvaru polynomu druhého stupně je trénován s dekompozičním algoritmem, který zaručuje dosažení globálního optima. Trénovací data jsou zatříděna do kategorií podle prostorového rozmístění v nadrovině. [14], [21], [60], [62], [67]

2.2.4 Viola-Jones algoritmus

Viola-Jones detektor se používá pro detekci tváře, řadí se mezi metody založené na obrazové informaci a vyhledává předem určené objekty. Algoritmus využívá tří základních částí, které umožňují označit tento postup jako real time, neboli proces, který lze aplikovat v reálném čase a mohl by být použit i ve videu. Jsou to výhody integrálního obrazu, učení klasifikace pomocí metody Adaboost a kaskádová struktura klasifikace.

Kaskáda klasifikátorů na základě informativních Haarových příznaků rozhoduje o přítomnosti tváře v aktuální oblasti obrazu. Kaskádou klasifikátoru se rozumí určitý počet jednoduchých klasifikátorů, kterými postupně prochází aktuální oblast obrazu, dokud není u některého klasifikátoru oblast vyhodnocena jako oblast bez přítomnosti tváře a klasifikace je ukončena, nebo dokud oblast neprojde všemi klasifikátory. Jednotlivé klasifikátory jsou tvořeny rozhodovacími stromy alespoň se dvěma úrovněmi. Rozhodování v každém klasifikátoru se provádí jednou ze čtyř následujících pomocných metod: Discrete Adaboost, Real Adaboost, Gentle Adaboost nebo Logitboost. Informativní Haarovy příznaky jsou výstupy Haarových filtrů, jsou to čísla, která odpovídají rozdílu sum jasových hodnot pod světlou a pod tmavou částí Haarova

(34)

filtru. Příklady masek Haarových filtrů jsou uvedeny na obrázku 2-1 pod písmeny a až f.

Obrázek 2-1 Znázornění posuvu okna po obraze a příklady masek Haarových filtrů (a-f) [42s]

Rozhodování o přítomnosti hledaného objektu probíhá postupně na výřezech obrazu a každý výřez je označen jako hledaný objekt (v tomto případě se jedná o tvář), nebo jako pozadí. Výřezem se rozumí oblast, která se v dané chvíli nachází pod oknem o určité velikosti. Okno se v průběhu algoritmu postupně posouvá, až projde celou plochu obrazu. Posouvání okna po vstupním obraze je naznačeno na obrázku 2-1 šedým obdélníkem ABCD. Velikost okna a tím i velikost výřezu se může v průběhu algoritmu postupně zmenšovat nebo zvětšovat. Využití informativních Haarových příznaků výrazně urychluje tento algoritmus. Kromě toho se pro urychlení také využívá sumačního obrazu, čímž se sníží výpočetní náročnost a počet přístupů k paměti procesoru. Konkrétní Haarovy filtry, a tedy i Haarovy příznaky, které budou použity, jsou vybrány v procesu učení, které je zprostředkováno například metodou Adaboost. Učení probíhá na malých obrazech o velikosti například 19x19 pixelů. Musí být zastoupeny obě skupiny obrazů, to znamená skupina s výskytem tváře v obraze i skupina obrazů bez tváře.

Metoda Adaboost - Její název je zkratkou slov adaptive boosting. Pokud předchozí klasifikátory chybně rozpoznaly hledaný objekt, dochází u v následujícím kroku ke zlepšení klasifikátoru. Metoda je citlivá na odlehlá data a na šum. Po trénování klasifikátorů se provádí výpočet chybovosti klasifikátorů a nejméně chybový klasifikátor je zařazen do množiny základních klasifikátorů. Tento postup se opakuje pro různé nastavení vah vstupujících do výpočtu.

(35)

2.2.5 Skrytý Markovský model

Skrytý Markovský model využívá Markovský proces, který obsahuje skryté neznámé parametry, a dokáže efektivně popsat statistický model náhodné informace. Tento model se dá využít k rozpoznání řeči, nebo rozpoznání obličejů nebo ke klasifikaci pohybu ve videu. Výhodou metod rozpoznávajících obličeje je, že je odolná vůči změně rysů obličeje a vůči natočení hlavy. [21], [49]

Úspěšnost detekce metod založených na obrazové informaci se pohybuje mezi 73 a 95% v závislosti na zvolení konkrétní metody a jejích parametrů. [21] Vzhledem k tomu, že úspěšnost metod byla testována na velmi komplexní databázi obrazů, obsahující barevné i šedotónové obrazy, rozmanité úhly natočení hlav osob, komiksové obrazy nebo obrazy kreslené rukou, dají se dosažené výsledky považovat za velmi dobré. Na rozdíl od příznakových metod zde nejsou překážkou detekce ani brýle na obličeji, menší části obličeje zakryté vlasy nebo výskyt více obličejů v jednom obraze.

Detekci obličeje v obraze mohou komplikovat proměnlivé parametry v obrazech, jako jsou například různé pozice a natočení tváře (pohled zepředu, z profilu, aj.), osvětlení scény, orientace obrazu, různé výrazy tváře. Pokud všechny vstupní obrazy spojují určité vlastnosti, například podobné osvětlení nebo čelní postavení hlavy, mohou být použity jednodušší algoritmy a detekce bude méně časově náročná. Také vhodně zvolená kombinace některých uvedených metod může dát lepší výsledky než jednotlivé metody. [12], [21], [59], [66]

2.3

Morfologické operace

Metody detekce obličeje bývají často doplněny o morfologické operace, které pomáhají pročistit detekované oblasti v binárním obraze tak, aby výsledné oblasti detekce odpovídaly oblastem obličejů. Cílem morfologických operací v tomto případě je odstranit malé detekované oblasti, které neodpovídají oblastem obličejů, a odlišit od sebe jednotlivé objekty v binárním obraze. Objekty by měly být jednolité a měly by mít hladký obvod.

References

Related documents

Tutti gli animali sono risultati nuovamente negativi alla ricerca virale e positivi agli anticorpi anti NS2-3, evidenziando perciò che la presenza di BVDV rilevato al primo

Determinación del efecto ejercido por el extracto acuoso de chañar sobre la germinación y crecimiento del tubo germinativo de conidios de B. cinerea durante 16 h con el

In the introduction to the VCS called Source Code Control System, Eric Allman in 1980 (Nyman 73) notes “Creating a branch ‘forks off’ a version of the program.” By this process a

This lesson demonstrates spiraling curriculum because students are asked to pull their prior knowledge from 7 th grade in order to factor using the greatest common factor

role of each stage ust &amp;e aligned to support the supply chain strategy... 3nderstanding the custoer and supply chain uncertainty. 2. 3nderstanding the supply

This policy ensures a risk screening/assessment is undertaken and plan of care is developed for each patient/consumer to meet his or her individual needs, with agreed outcomes,

We focused our intent only on VoIP infrastructure but honeypot images can contain various honeypots or different honeypots in each image connected to the only one

The paper extends the known evolving SNN (eSNN) model [6], [7]), that utilises rank-order spike coding (ROSC) and RO learning rule (described in section 2 with temporal spike