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

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

Deschidere
Umplerea
Deschidere
gaurilor
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.

6
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
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
Da respinge
ta?

Nu

scurt Da respinge
a?

Nu

Ingus Da respinge
t si
inalt?

Nu

Lat si Da respinge
scurt
?

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