Sunteți pe pagina 1din 15

Cuprins

1. Prezentare --------------------------------------------------------------------------------------------2 2. Segmentarea culorii --------------------------------------------------------------------------------- 3 3. Procesarea morfologica ---------------------------------------------------------------------------- 4 4. Conectarea regiunilor analizate ------------------------------------------------------------------- 7 4.1.

Rejectia bazata pe geometrie ------------------------------------------------------------------ 7 Rejectia bazata pe numarul lui Euler -------------------------------------------------------8

4.2.

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

Generarea sablonului ------------------------------------------------------------------------Algoritmul potrivirii sablonului -------------------------------------------------------------

10
5.2.

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

Bibliografie

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:

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.

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:

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

Conversie in gri

I = rgb2gray(segmentare culorii)

Pragurile intensitatii

5 Deschidere Umplerea gaurilor Deschidere morfologica morfologica

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.
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

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

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

Ingus ta?

Da

respinge

Nu
scurt a?

Da

respinge

Nu
Ingus t si inalt?

Da

respinge

Nu
Lat si scurt ?

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 regiune conectata. Prima data, intelesul si deviateia standart a nivelului intensitatii regiunii
9

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

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

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

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

Imaginea initiala

Circonvolutie

Varful >=pra gul?

No Coordonatele vectorului

(x,y) coordonatele varfului

Yes

Marcarea cu negru in jurul coordonatelor (x,y)

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

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

15