38
Face recognition Using PCA and EST Jakub Barták a Zdeněk Běhan MFF UK

Face recognition

Embed Size (px)

DESCRIPTION

Face recognition. Using PCA and EST. Jakub Barták a Zdeněk Běhan. MFF UK. Co je naším cílem. Natrénovat neuronovou síť tak aby byla schopna rozpoznat jednotlivé lidi na fotografiích splňujících nějaké základní podmínky. Problémy. Face detection Zisk vstupních dat - PowerPoint PPT Presentation

Citation preview

Page 1: Face recognition

Face recognition

Using PCA and EST

Jakub Barták a Zdeněk Běhan MFF UK

Page 2: Face recognition

Co je naším cílemNatrénovat neuronovou síť tak aby byla

schopna rozpoznat jednotlivé lidi na fotografiích splňujících nějaké základní podmínky

Page 3: Face recognition

ProblémyFace detectionZisk vstupních datVelikost vstupního prostoru

Page 4: Face recognition

Face detection problem V komplexních řešeních

problému face recognition je třeba řešit problém nalezení obličeje v obrázku.

Používá se zpravidla detekce očí.

Page 5: Face recognition

Face detection problem Další problémy:

Natočení tváře v rovině kamery & v ose těla

Částečné zakrytí tváře Osvětlení a další…

Page 6: Face recognition

Face detection problemFace detection proto v našem případě

neřešíme Vstupní data získáváme přímým focením

proti bílé zdi za konstatního osvětlení konstantního natočení tváře (čelem do kamery) Přesto o nich nelze prohlásit že jsou ideální…

Page 7: Face recognition

Vstupní data – zisk dat

Page 8: Face recognition

Vstupní data – zisk datFotky 13 lidí Od každého člověka 11 fotek s různými výrazy

Page 9: Face recognition

Vstupní data – zisk dat Problémy

Rozdílné osvětlení Máznuté fotky Žádný model není

dokonalý…. (tedy například různé natočení hlavy)

Page 10: Face recognition

Vstupní data - preprocesing Ruční preprocesing

Nalezení obličeje a zisk čtvercové fotky se středem v obličeji Převedení z barevných fotografií na černobílé

Page 11: Face recognition

Vstupní data - preprocesing Strojový preprocesing

Resizing na 64x64 pixelu Normalizace intenzity na rozmezí 0-255

Page 12: Face recognition

Vstupní data - summaryMáme tedy k dispozici 143 normalizovaných

fotografiíFotografie se liší ve dvou aspektech

Výrazy v obličeji (žádoucí) Centralizace a natočení obličeje (nežádoucí)

Page 13: Face recognition

Face recognition - úvodNaším cílem je roztřídit 143 prvků správně do

13 tříd (v každé bude 11 prvků).Hodláme využít neuronovou síť

Page 14: Face recognition

Face recognition - úvodProblém: Velikost vstupního prostoru a jeho

řídkost Naše fotografie obsahují 4096 pixelů (64x64), kde

každý pixel může nabývat hodnot 0-255 Velikost vstupního prostoru je tedy 2564096 (což je

hodně) V prostoru této velikosti máme 143 vektorů (což je

málo)

Page 15: Face recognition

Face recognition – PCA Vstupní prostor je však silně korelovaný.

Všechny lidské tváře mají zhruba stejný tvar – ovál s výraznými znaky typu nos, oči a ústa

Některé z těchto určujících znaků jsme si zničili variací výrazů, ale doufáme že to nebude vadit.

Pomocí PCA a EST najdeme bázi nového prostoru, která bude využívat výše zmíněné korelace a pomůže nám zmenšit dimenzi.

Page 16: Face recognition

Principal Component Analysis (PCA)

Statistická metoda umožňující zmenšit dimenzi vstupního prostoru dat Umožňuje nalézt bázi nového prostoru jehož

bázové vektory odpovídají znakům které nejvíce určují vstupní prostor

První bázový vektor pak odpovídá nejvíce určujícímu znaku, druhý bázový vektor druhému nejvíce určujícímu znaku atd.

Page 17: Face recognition

Eigen Space Transformation (EST)

• Využívá se při face recognition relativně často

• Umožnuje provést transformaci vstupního prostoru s minimalizací ztráty informace (ve smyslu nejmenších čverců)

Page 18: Face recognition

Eigen Space Transformation (EST)

• Přetvoříme obrázky z matice 64x64 na vektor 1x4096 a vytvoříme matici těchto vektorů

• Máme tedy matici velikosti A=4096x143 (fotek je celkem 143)

• Naším cílem je nalézt vlastní vektory matice AxAT, které budou vytvářet bázi nového prostoru. Když je seřadíme podle velikosti vlastních čísel příslušných každému vlastnímu vektoru, dostaneme přesně bázi kterou popisuje PCA.

Page 19: Face recognition

Eigen Space Transformation (EST)

Problémem je, že matice X= AxAT je matice velikosti 4096x4096 a spočítat v ní vlastní vektory by bylo „lehce“ obtížné

Page 20: Face recognition

Eigen Space Transformation (EST)

Spočítáme proto vlastní vektory matice X´ =ATxA, tedy matice velikosti 143x143 což je výrazně jednodušší a pak využijeme vztahu λi = λ’i ei = λi

-1/2*A*e’I

Kde λi je vlastní číslo příslušné matici X, λ’i je vlastní číslo příslušné matici X’. ei a e’i jsou pak vlastní vektory příslušné těmto vlastním číslům.

Page 21: Face recognition

Eigen Space Transformation (EST) A takhle vypadají výsledky (10 nejvýznamnějších vlastních

vektorů):

Page 22: Face recognition

Eigen Space Transformation (EST) 10 nejméně významných vlastních vektorů

Page 23: Face recognition

Eigen Space Transformation (EST)

Z takto získaných vlastních vektorů jsme vybrali 40 nejvýznamnějších a ty zvolili za bázi nového prostoru.

Pomocí této nové báze jsme aproximovali původní vektory a snížili tak dimenzi z původní 4096 na 40.

To už by neuronová síť měla zvládnout.Přesnost aproximace byla +- 0.5 bodu intenzity

Page 24: Face recognition

Neural network training• A taky že zvládla.

• Použili jsme síť Learning Vector Quantization (LVQ) s 20 skrytými neurony a síť byla schopna se naučit rozpoznávat bez chyby během 68 epoch.

Page 25: Face recognition

Experimenty s neuronovou sítí• Na závěr jsme se rozhodli ještě se sítí trochu

experimentovat.

• Při trénování s 13 skrytými neurony si síť pletla dvě dvojice lidí

Page 26: Face recognition

Experimenty s neuronovou sítí…Přidali jsme další neuron do skryté vrstvy (14

celkem) Sít se zlepšila a už špatně řadí pouze jednoho

člověka. Za to si ho plete se dvěma

Page 27: Face recognition

Experimenty s neuronovou sítí…• Na správné rozpoznání pomohlo až 20 neuronů

ve skryté vrstvě (síť se naučila za 68 epoch)

Page 28: Face recognition

Experimenty s neuronovou sítí…Při dalších pokusech jsme rozdělili fotografie do

dvou skupin. První tvořila trénovací skupinu, druhá pak testovací. Při rozdělení 8:3 (trénovací:testovací) a původním

nastavení (20 vnitřních neuronů) si síť pletla 2 lidi Při rozdělení 5:6 již lidi 3 Při rozdělení 2:9 měla síť pořád 93% úspěšnost

Page 29: Face recognition

Experimenty s neuronovou sítí…Rozdělení 1:10

Sít má k dispozici pouze jedinou fotografii aby se naučila rozpoznávat.

83.8% úspěšnost

Page 30: Face recognition

Použitá literatura• Recognizing humans by gait via parametric

canonical space (Artificial Intelligence in Engineering volume 13)

University of Southampton

Page 31: Face recognition

Slovo závěrem• Hlavní těžiště práce jednoznačně spočívalo v

redukci velikosti vstupního prostoru a to správným postupem.

• Cestou jsme narazili na bezpočet různě obtížných problému, ale nebáli jsme se je vyřešit. Jak řekl největší český vynálezce všech dob je třeba se nebát, protože někdo musí říct „Tudy ne, přátelé“

Page 32: Face recognition

Slovo závěrem…• Pokus o spočítání vlastních čísel na matici

velikosti 4096x4096

>>eigenVectors = eig(images*images’);…2 minuty…10 minut…20 minut“f*ck”CTR+C>>

Page 33: Face recognition

Slovo závěrem…• Pár pokusů zobrazit nějaké obrázky v Matlabu

(hlavní vlastní vektor):

Page 34: Face recognition

Slovo závěrem…• Hlavní vlastní vektor podruhé…

Page 35: Face recognition

Slovo závěrem…• Ani zobrazit černobílý obrázek nemusí být

triviální…

Page 36: Face recognition

Slovo závěrem…• …

Page 37: Face recognition

Některé pokusy se na vás zkrátka projeví…

Zdeněk Běhan a Jakub Barták

Page 38: Face recognition

Opravdu, ale už opravdu konec…• A to je vše přátelé

• Prostor pro dotazy…