Professional Documents
Culture Documents
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.
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:
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.
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:
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
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.
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
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 11. Metoda sablonului in actiune: Imagini successive sunt detectate a -> f
13
Imaginea initiala
Circonvolutie
No Coordonatele vectorului
Yes
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