19
Cuprins 1. Prezentare ------------------------------------------------------------ --------------------------------2 2. Segmentarea culorii ------------------------------------------------------------ --------------------- 3 3. Procesarea morfologica ------------------------------------------------------------ ---------------- 4 4. Conectarea regiunilor analizate ------------------------------------------------------------ ------- 7 4.1. Rejectia bazata pe geometrie --------------------------------------------------------- --------- 7 4.2. Rejectia bazata pe numarul lui Euler -------------------------------------------------------- 8 5. Potrivirea sablonului ------------------------------------------------------------ ----------------- 10 5.1. Generarea sablonului --------------------------------------------------------- ---------------- 10 1

Recunoasterea Fetei

Embed Size (px)

Citation preview

Page 1: Recunoasterea Fetei

Cuprins

1. Prezentare --------------------------------------------------------------------------------------------2

2. Segmentarea culorii --------------------------------------------------------------------------------- 3

3. Procesarea morfologica ---------------------------------------------------------------------------- 4

4. Conectarea regiunilor analizate ------------------------------------------------------------------- 7

4.1. Rejectia bazata pe geometrie ------------------------------------------------------------------ 7

4.2. Rejectia bazata pe numarul lui Euler -------------------------------------------------------- 8

5. Potrivirea sablonului ----------------------------------------------------------------------------- 10

5.1. Generarea sablonului ------------------------------------------------------------------------- 10

5.2. Algoritmul potrivirii sablonului ------------------------------------------------------------- 11

6. Concluzii ------------------------------------------------------------------------------------------- 13

Bibliografie

1

Page 2: Recunoasterea Fetei

Recunoasterea fetei

1. Prezentare

Scopul acestui proiect este detectarea si localizarea fetei umane. Pentru a ilustra intregul

proces pe parcurs sunt prezentate un set de sapte imagini.

Problema detectarii fetei umane a fost studiata intens, iar in timp un spectru larg de tehnici au

fost folosite: analiza culorilor, metoda sabloanelor, retele neuronale, SVM(support vector

machines), metoda rejectiei maxime si modelul bazat pe detectie. Un algoritm care sa

functioneze pentru toate tipurile de iluminari, culoare a fetei, dimensiuni si geometrie, imagine

de fundal este greu de implementat. Drept urmare, detectia fetei ramane mai mult arta decat

stiinta.

Metoda descrisa mai jos utilizeaza rejectia bazata pe clasificare. Detectorul consta dintr-

un set de metode care indeparteaza regiunile ce nu apartin fetei. Prima data, culorile ce nu apartin

pielii sunt indepartate utilizand segmentarea culorilor. Un set de operatii morfologice sunt

aplicate pentru a filtra zgomotul obtinut in urma primului proces. Regiunile ramase sunt

conectate si clasificate in functie de geometrie si numarul de orificii. Iar la sfarsit un sablon este

folosit pentru identificarea a zero sau mai multe fete in fiecare regiune. O schema bloc a

detectorului este ilustrata in figura de mai jos:

2

Page 3: Recunoasterea Fetei

Figura 1. Schema bloc a sistemului

2. Segmentarea culorii

Principalul avantaj al segmentarii culorii fetei il reprezinta rejectia regiunilor ce nu

apartin pielii umane din imaginea initiala. Aceasta tehnica tine cont de toate tipurile de culori ale

pielii de la toate rasele precum si de variatia acesteia in lumina.

Alegem HSV(Hue, Saturation, Value – nuanta de culoare, saturatie, valoare) spatiul

culorilor pentru segmentare deoarece scoate informatiile de crominanta din cele de luminanta.

De altfel ne putem concentra numai asupra nuantei de culoare si saturatiei. Histogramele(fig. 2)

ne arata ca cele doua componente H si S pentru fata sunt grupate. Aceasta informatie a fost

utilizata pentru a defini praguri adecvate pentru spatiul H si S care sa corespunda fetelor.

Valorile pragurilor au fost integrate in rutina de segmentare a culorilor.

3

Page 4: Recunoasterea Fetei

Fi

gura 2. Histograme pentru componentele H si S pentru imaginea 1

In timpul executiei detectorului, segmentarea are loc astfel:

1. Imaginea primita este transformata la o scara de 2:1 pentru a imbunatati eficienta

computatiei.

2. Imaginea rezultata este convertita la spatial HSV.

3. Toti pixelii din afara lui H si S sunt indepartati(marcati cu negru).

Rezultatul obtinut se poate vedea in figura 3:

4

Page 5: Recunoasterea Fetei

Figura 3. Imaginea dupa pragurile histogramei.

3. Procesarea morfologica

In figura 3 putem observa cum segmentarea culorilor a rejectat toate culorile ce nu reprezinta

pielea din imaginea introdusa. Imaginea rezultata dupa prelucrare este putin dezordonata si

prezinta zgomot. O serie de operatii morfologice au loc pentru curatirea acesteia, asa cum se

observa in figura 4. Scopul este acela de a termina cu o imagine masca ce poate fi aplicata

imaginei de intrare, obtinand numai culoare pielii fara zgomote.

Imagine segmentata

I = rgb2gray(segmentare culorii)

5

Conversie in gri

Pragurile intensitatii

Page 6: Recunoasterea Fetei

Imaginea masca

Figura 4. Procesarea morfologica asupra imaginei segmentate

Descrierea pasilor din figura de mai sus:

1. Cum operatiile morfologice lucreaza asupra intensitatii imaginii, imaginea segmentata

prin culoare este convertita intr-o imagine cu nuante de gri.

2. Pragurile de intensitate sunt folosite pentru a transforma regiunile intunecate in regiuni

mai mici ce pot fi indepartate de deschiderea morfologica. Pragul este destul de mic

pentru a nu indeparta portiuni din fata, ci numai a crea gauri in ea.

3. Deschiderea morfologica este folosita pentru a indeparta obiecte mici din imagine in timp

ce forma si dimensiunea obiectelor mari este pastrata. Definitia “deschiderii” morfologice

a unei imagini este o eroziune urmata de o dilatare, utilizand acelasi element pentru

ambele operatii. O structura tip element sub forma de disc si raza 1 este folosita.

6

Deschidere morfologica

Umplerea gaurilor

Deschidere morfologica

Page 7: Recunoasterea Fetei

4. Umplerea gaurilor este realizata pentru a mentine fata ca o conexiune de regiuni in

anticiparea unei deschideri morfologice mult mai mari. Altfel, imaginea masca va contine

multe cavitati si gauri in fata.

5. Deschiderea morfologica este realizata pentru a indeparta obiecte mici pana la medii ce

sunt mai mici decat dimensiunea fetei. O structura tip element sub forma de disc si raza 6

este folosita.

Imaginea masca rezultata este reprezentata in figura 5. Rezultatul aplicarii mastii

versiunii cu nuante de gri asupra imaginei introduse este reprezentata in Figura 6.

Figura 5. Imaginea masca generata in urma operatiilor morfologice

7

Page 8: Recunoasterea Fetei

Figura 6. Rezultaul in urma aplicarii unei masti asupra imaginei in gri

4. Conectarea regiunilor analizate

Imaginea rezultata in urma procesarii morfologice inca contine cateva regiuni non-faciale.

Majoritatea acestora sunt mainile, bratele, regiuni ale vestimentatiei ce se potrivesc culorii pielii

si cateva portiuni din fundal. La conectarea regiunilor analizate sunt utilizate statistici de la

imaginea de baza(imaginea initiala) pentru a clasifica fiecare regiune din imagine.

4.1. Rejectia bazata pe geometrie

Definim patru clase de regiuni ce au o probabilitate destul de mare a fi regiuni non-faciale cu

ajutorul unei casete de delimitare:

Ingust – regiuni ce au latime ingusta

Scurt – regiuni ce au inaltime mica

Ingust si inalt – regiuni ce au latime mica, dar sunt inalte

8

Page 9: Recunoasterea Fetei

Lat dar scurt – regiuni ce au latime mare, dar sunt scurte ca inaltime

Nu definim clasa “lat si inalt” deoarece interfereaza cu regiunile marice contin multiple fete.

Regiunea conectata

Da respinge

Nu

Da respinge

Nu

Da respinge

Nu

Da respinge

Nu

Accepta

Figura 6. Diagrama pentru rejectia bazata pe geometria regiunilor

4.2. Rejectia bazata pe numarul lui Euler

Numarul lui Euler pentru o imagine este definit ca numarul obiectelor din imagine minus

numarul total al gaurilor din aceste obiecte. Analiza numarului lui Euler este bazata pe faptul ca

regiunile ochilor, nasului si buzelor sunt mai intunecate fata de restul regiunilor faciale, astfel

sunt marcate drept orificii. O schema adaptiva este folosita pentru a genera pragul pentru fiecare

9

Ingusta?

scurta?

Ingust si inalt?

Lat si scurt?

Page 10: Recunoasterea Fetei

regiune conectata. Prima data, intelesul si deviateia standart a nivelului intensitatii regiunii

suntcalculate. In cazul in care exista o mare raspandire(ex: raportul dintre inteles la deviatia

standard este mare), pragul este o functie a ceea ce se intelege. Acest fapt impiedica

fragmentarea fetelor mai intunecate in mai multe regiuni conectate dupa trasarea pragurilor.

Altfel, pragul este setat mare(multiplu al deviatiei standard) pentru a ne asigura ca chipurile

luminoase sunt contabilizate.

Regiunea pragului este folosita pentru calcularea numarului lui Euler e. Daca e >= 0(ex: mai

putin de doua gauri), regiunea este respinsa. Deoarece chipul are cel putin doua orificii

corespunzatoare ochilor.

Numarul lui Euler pentru fiecare regiune conectata a imaginii initiale este ilustrat in

Figura 7.

Figura 7. Numarul lui Euler pentru regiunile conectate din imaginea initiala

Rezultatul conexiunii analizei regiunilor este ilustrat in Figura 8.

10

Page 11: Recunoasterea Fetei

Figura 8. Rezultatul in urma conectarii regiunilor analizare

5. Potrivirea sablonului

Ideea de baza a sablonului este de a gasi o imagine(sablon) ce se potriveste imaginii

create de program pana acum, reprezentativa pentru fete. Gasirea unui sablon este o adevarata

provocare, deoarece un sabon ar trebui sa se potriveasca cu orice chip indiferent de marimea si

caracteristicile acestuia.

5.1. Generarea sablonului

Observam ca dupa segmentarea culorii, intensitatea imaginii obtinute contine fete cu

regiunea gatului, astfel modificam sablonul in asa fel incat sa contina si zona gatului. Acest

procedeu a fost realizat prin scaderea intensitatii imaginii dupa segmentarea culorii, separand

regiunile conectate, iar apoi selectand manual toate fetele si facand o medie intre ele. Daca

incercam algoritmul sablonului cu cele doua tipuri de sabloane, se poate observa ca sablonul ce

include regiunea gatului da rezultate mai bune. Ambele sabloane sunt ilustrate in figura 9.

11

Page 12: Recunoasterea Fetei

Figura 9. Sabloane: a) fara regiunea gatului b) cu regiunea gatului

5.2. Algoritmul potrivirii sablonului

Rasucim imaginea obtinuta de la analiza regiunilor conectate cu sablonul nostru.

Rezultatele sunt relativ bune daca ne raportam la un singur chip(convolutia are un varf pentru

aceste regiuni). Pentru regiunile ce contin mai multe fete unite, o simpla convolutie nu este

suficienta. O problema evidenta a fost modul de a detecta varfurile convolutiei. Alta a fost aceea

ca fetele din spatele altora nu erau inregistrate ca fiind suficient de inalte. De asemenea am

observat ca metoda de potrivire a sablonului era dependenta mai mult de forma sablonului decat

de caracteristicile acestuia, astfel utilizarea unui singur chip drept sablon are rezultate slabe.

Pentru a rezolva aceasta problema, am modificat algoritmul de potrivire a sablonului. In loc sa

facem numai o singura rotire(convolutie) si sa detectam varfurile, am facut o convolutie, ne-am

uitat la coordonatele maxime ale varfului, am marcat regiunea printr-un dreptunghi negru(de

marimea sablonului) in jurul acestor coordonate si am repetat procesul pana cand valoarea

varfului maxim a fost sub pragurile impuse. In figura 10 se poate observa o regiune ce contine

sase fete conectate. Figura 11 ne arata algoritmul potrivirii sablonului in actiune. Rezultate sunt

cu mult peste cele obtinute atunci cand facem o singura convolutie.

Un dezavantaj este acela ca in cazul fetelor mai mari, algoritmul le marcheaza de mai multe ori.

Pentru a rezolva aceasta problema, intoducem o cale adaptiva de a marca cu negru regiunea din

jurul coordonatelor varfului maxim, unde un dreptunghi mai mare a fost utilizat pentru a acoperi

fetele mari.

12

Page 13: Recunoasterea Fetei

Observati faptul ca fetele mai mari sunt aproape tot timpul in partea de jos a imaginii,

dimensiunea dreptunghiului a fost aleasa diferit, in functie de locul unde au fost localizate

coordonatele varfului. Rezultatul este acela ca putem separa toate fetele dintr-un grup.

Figura 10. O regiune din imaginea 7 continand sase fete alaturate

Figura 11. Metoda sablonului in actiune: Imagini successive sunt detectate a -> f

13

Page 14: Recunoasterea Fetei

Imaginea initiala

No

Coordonatele vectorului

Yes

Figura 12. Algoritmul potrivirii sablonului

6. Concluzii:

In cele descrise mai sus a fost prezentat un detector al fetei cu acuratete si timp de rulare

destul de bun. Algoritmul descris este sensibil la culori si nu va functiona pentru o imagine in

gri. Cea mai grea parte a proiectului a fost conectarea fetelor detectate.

14

Varful >=pragul?

Circonvolutie

(x,y) – coordonatele varfului

Marcarea cu negru in jurul coordonatelor (x,y)

Page 15: Recunoasterea Fetei

Bibliografie:

http://www.stanford.edu/class/ee368/Project_07/reports/ee368group10.pdf

15