Sunteți pe pagina 1din 15

Cuprins

1. Prezentare --------------------------------------------------------------------------------------------2
2. Segmentarea culorii --------------------------------------------------------------------------------3
3. Procesarea morfologica ---------------------------------------------------------------------------- 4
4. Conectarea regiunilor analizate ------------------------------------------------------------------- 7
Rejectia bazata pe geometrie
------------------------------------------------------------------ 7

4.1.

Rejectia bazata pe numarul lui Euler


-------------------------------------------------------- 8

4.2.

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


Generarea sablonului
------------------------------------------------------------------------- 10

5.1.

Algoritmul potrivirii sablonului


------------------------------------------------------------- 11

5.2.

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

Pragurile intensitatii

5
Deschidere
Umplerea
Deschidere
gaurilor
morfologica
morfologica

I = rgb2gray(segmentare culorii)

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

Da

Ingus
ta?

respinge

Nu

scurt
a?

Da

respinge

Da

respinge

Nu
Ingus
t si
inalt?

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

S-ar putea să vă placă și