Sunteți pe pagina 1din 51

Universitatea POLITEHNICA din București

Facultatea de Automatică şi Calculatoare


Departamentul de Automatică şi Informatică Industrială

LUCRARE DE DISERTAŢIE

RECUNOAȘTEREA FACIALĂ

Coordonator Absolvent
Pr. Univ. Dr. Ing. Dan Popescu Ing. Marian-Daniel Bălteanu

București, 2016
Cuprins
DETECTAREA FEȚEI ....................................................................................................... 2
1. Abordări și soluții în detectarea feței ..................................................................... 2
1.1 Metoda bazată pe cunoștiințe ............................................................................... 3
1.2 Metoda bazată pe caracteristici invariante ........................................................... 4
1.3 Metoda bazată pe modele..................................................................................... 4
1.4 Metoda bazată pe apariție .................................................................................... 4
RECUNOAȘTEREA FACIALĂ ........................................................................................ 6
2.1 Reprezentarea feței............................................................................................... 8
2.2. Obținerea identității .......................................................................................... 10
2.3. Procesare locală sau globală ............................................................................. 11
ALGORITMI DE RECUNOAȘTERE FACIALĂ ......................................................... 12
3.1 Analiza pe Componente Principale (PCA) ........................................................ 12
3.2 Analiza Discriminatorie Liniară (LDA)............................................................. 17
FAZE ALE RECUNOAȘTERII FACIALE .................................................................... 20
4.1 Achiziția de imagine .......................................................................................... 20
4.1.1 Dispozitiv de captură a imaginii ..................................................................... 20
4.1.2 Condiții de iluminare ...................................................................................... 21
5. Prelucrarea imaginii ............................................................................................. 21
5.1 Filtru de netezire ................................................................................................ 21
5.1.1 Filtru mediu ..................................................................................................... 21
5.1.2 Filtru median ................................................................................................... 22
5.1.3 Segmentarea Reddi ......................................................................................... 23
6. Detectarea de muchie ........................................................................................... 23
6.1 Detectarea de muchie Prewitt ............................................................................ 23
6.2 Detectarea de muchie Susan .............................................................................. 24
7. Egalizarea de histogramă ..................................................................................... 25
7.1 Segmentarea culorii de bază .............................................................................. 25
7.2 Transformarea morfologică ............................................................................... 25
8. Segmentarea ......................................................................................................... 27
8.1 Culoarea bazată pe regiuni selectate .................................................................. 28
9. Prelucrarea feței ................................................................................................... 28
9.1 Minimalizarea zonei de interes .......................................................................... 35
10. Selectarea regiunii .............................................................................................. 36
10.1 Netezirea conturului ......................................................................................... 38
11. Extragerea caracteristicilor ................................................................................ 41
11.1 Caracteristici în funcție de distanță și rație ...................................................... 41
12. Alte caracteristici ............................................................................................... 41
12.1 Proprietăți geometrice ...................................................................................... 41
13. Căutarea în baza de date .................................................................................... 45
13.1 Căutarea fețelor ................................................................................................ 46
14. Aplicația ............................................................................................................. 46
BIBLIOGRAFIE ................................................................................................................ 48
INTRODUCERE
Această lucrare, abordează o serie de aspecte necesare pentru a dezvolta un sistem automat,
care poate să detecteze, și să recunoască fețe umane în supraveghere video. Consider această
tehnologie, una foarte inteligentă și foarte utilă.

Sistemele biometrice și supravegherea video sunt două domenii în plină dezvoltare care
atrag interesul atât al industriei cât și al comunității științifice. O aplicație importantă în aceste
sisteme este recunoașterea facială, care constă în identificarea unei persoane pe baza imaginii feței
sale. Deși acest domeniu de cercetare este vechi de mai bine de 30 de ani, o activitate mult mai
mare se poate observa după anul 1991. Această activitate a condus la dezvoltarea de algoritmi
eficienți și la introducerea de produse comerciale, fiind bazate pe acești algoritmi.

În ultima perioadă, sistemele de recunoaștere facială au înregistrat o creștere destul de


mare. În plus, această tehnologie a fost inclusă în serviciile online și mobile pentru a identifica,
autentifica sau verifica persoanele fizice. Această tehnologie, care în trecut reprezenta una dintre
temele de tipul științifico-fantastic, este acum disponibilă pentru a putea fi utilizată atât de
instituțiile publice, cât și de cele private. Câteva din exemplele utilizării acestei tehnologii în
serviciile online și mobile include printre altele rețelele sociale și smartphone-urile.

Identitatea unei personae nu este reprezentată doar de actele oficiale pe care le deţine, ci și
de un set complex, care nu este mereu uşor de caracterizat de trăsături personalizate, cu ar fi cele
comportamentale, fiziologice sau anatomice. Anumite caracteristici se pot utiliza, împreună cu
tehnicile de procesare a semnalelor, pentru a dezvolta aşa-numitelor sisteme biometrice, care au
capacitatea de a recunoaște sau de a valida autenticitatea identităţii unor persoane. Ca și informaţii
biometrice, în acest moment se utilizează în mod special amprentele, vocea, faţa, irisul, și
geometria mâinii. De obicei, metodele normale de identificare precum legitimaţiile sau parolele,
informaţiile sistemelor de recunoaștere facială se pot pierde, fura sau uita, dar uneori acestea ar
putea fi reproduse cu o acurateţe foarte mare pentru a “înșela” sistemele automate de recunoaştere.

Metodologiile de evaluare a sistemelor biometrice contorizează precizia unde aceste


sisteme de recunoaștere facial tind către perfecțiune. Sunt cuprinse în vedere două modele de
aplicaţii, și anume, de identificare, respectiv de verificare. Într-un sistem de identificare, fotografia
persoanei care nu a fost recunoscută este afișată la deschiderea sistemului, iar apoi va fi comparată
cu cele disponibile dintr-o bază de date. Sistemul oferă ca și răspuns identitatea persoanei a cărei
imagine se aseamănă cel mai bine cu cea din baza de date. De regulă, există şi posibilitatea ca
sistemul să decidă că persoana necunoscută nu seamănă cu nicio altă persoană din baza de date.

1
DETECTAREA FEȚEI
1. Abordări și soluții în detectarea feței
De-a lungul timpului au existat numeroase tipuri de abordäri, ca metode, tehnici dar și
algoritmi, pentru găsirea unor soluții optime, fiabile, performante și eficiente, pentru tratarea
problemei detectării feței umane în imagini digitale. Primul sistem pentru detectarea fețelor a fost
dezvoltat în anul 1970. La inceputul anului 1990, dezvoltarea tehnicilor de recunoaștere facială a
făcut necesară crearea unor algoritmi mult mai performanți pentru detectarea acestora, ca un prim
pas în recunoașterea facială. Detectarea facială, poate fi privită ca un caz particular al detectării
modelelor de obiecte, presupunând localizarea acestora în imagini digitale, indiferent de orientare,
poziționare, condiții de ilummare, scalare, particularități și expresie facială. Acestui domeniu i s-
a acordat o atenție mult mai mare în ultimii 18 ani, în principal datorită creșterii numărului de
aplicații comerciale și din domeniul legal care necesită autentificarea personală pe de o parte și,
pe de altă parte, dezvoltarea unui număr destul mare de dispozitive de captură la un preț accesibil.

Această tehnică de detectare a fețelor umane este una dificilă, practic destul de greu de
rezolvat complet și riguros. Cu toate acestea, această tehnică este una foarte simplă pentru ochiul
uman, el percepe foarte repede dar și foarte bine detectarea feței. Problema nu se datorează numai
din cauza trăsăturilor sau particularităților fizionomice, ci în mare parte din cauza percepției în
imagini 2D, din prisma poziției sau orientării. În special, această problemă se datorează lumini sau
umbrelor care se regăsesc în imagine, precum și din cauza mediului inconjurător.

Toate metodele care au fost studiate ani la rând au avut ca scop obținerea unor rezultate
care să poată rezolva toate situațiilor care ar putea fi întâlnite, indiferent de particularitățile,
poziționare, dimensiune, fundal sau iluminare. O cerință cerută de majoritatea a fost accea de a
produce rezultate în timp real. Anumite produse s-au realizat mai bine, iar altele mai puțin bine.
Sistemelor software de detecție a fețelor umane sunt realizate de două componente, rata / procentul
fals-pozitiv, adică detectarea unor fețe care de fapt în realitate ele nu există, precum și rata /
procentul fals-negativ , adică nedetectarea unei fețe care de fapt în realitate este o față umană.
Realizarea unui astfel de sistem presupune ca aceste două componente sa fie cât mai mici, de
preferat 0 (zero).

Trebuie precizat faptul că acest sistem pentru detectarea fețelor umane nu pot fi o știință
exacta, indiferent de ce metode s-ar utiliza. De exemplu, și ochiul uman poate fi înșelat de o
imagine 2D care îți lasă impresia că ar conține o față umană deși în realitate aceasta nu există.
Dealtfel, cu acest caz se pot confrunta și algoritmii utilizați pentru detecție. Acest fenomen se
referă la recunoașterea imediată a unei fețe umane dar într-o anumită zonă care nu o conține și în
mod natural. Putem exemplifica câteva astfel de cazuri, iar printre cele mai frumoase se află o
fotografie care a fost dusă în regiunea Cydonia de pe planeta Marte care îți lasă impresia că ar
conține o față umană sculptată pe niște stânci, sau chiar desele apariții ale formelor care sunt

2
formate fenome ale naturii, precu norii sau chiar frunzelor copacilor. În concluzie, sistemele de
detectare a fețelor umane pot fi înșelate uneori de astfel de situații, deci se poate spune că există
fals-pozitive și fals-negative.

În continuare, vom enumera principali probleme pe care le putem întâlni în detectarea


fețelor umane:

 Poziția, orientarea, sau anumite caracteristici faciale;


 Prezența sau absența unor componente estetice, spre exemplu, barbă sau
ochelari;
 Expresia facială;
 Mascarea fețelor de alte obiecte sau chiar alte fețe;
 Condițiile de realizare a imaginii.

De obicei, toate metodele pe care le utilizăm, necesită destul de multe iterații, analize,
comparații dar și timp pentru a fi realizate cât mai bine. Anumte metode se folosesc de anumite
faze precedente ale unor clasificatoare de mai multe tipuri, folosind rețele neuronale sau modele
Markov, în timp ce alte metode se folosesc de cunoștiințe, iar altele îmbină cele două tipuri în
anumite etape de analiză. Acești algoritmi utilizați pentru detectarea fețelor umane se pot împărți
în patru categorii:

1.1 Metoda bazată pe cunoștiințe


Această metodă se folosește de cunoștințele pe care le are fie despre geometria feței
umane, fie despre caracteristicile faciale. Dacă utilizăm metodele bazate pe cunoștiințe, putem
spune că acestea utilizează anumite metode pentru a putea descrie forma, textura sau alte
caracteristici faciale.

De obicei acestea utilizează o abordare ierarhlcă deoarece prin această abordare se poate
verifica imaginea în diferite rezoluții. În partea superioară se pot găsi posibile fețe umane dacă se
folosește o descriere a geometriei feței. În partea inferioară se obțin caracteristicile faciale dar și
zonele care sunt identificate ca parte dintr-o față sau nu, care sunt bazate pe niște reguli deja
cunoscute. Problema acesti metode o constituie faptul că nu poate găsi un mod cât mai efficient
pentru a redacta cunoștințele despre fețele umane în regui foarte bine definite.

În cazul în care regulile acestei metode sunt mult prea stricte, nu vom putea obține
detectarea fețelor deoarece sistemul nu permite acest lucru până când toate regulile nu sunt admise.
O primă problemă pe care o putem întalni este accea când regulile sunt prea generale, iar acestea
conduc la obținerea unui rezultat fals-pozitive. O a doua problem pe care o putem întâlni este accea
că metoda nu poate funcționa în condiții optime dacă sunt variații de lumină sau diferite orientări
ale capului.

3
1.2 Metoda bazată pe caracteristici invariante
În principiu această metodă poate găsi anumite caracteristici indiferent de lumnozitate
sau de modul în care a fost realizată imaginea. Pentru aceasta au fost folosite anumite caracteristici
structurale, cum ar fi textura, forma sau culoarea pielii. Prin utilizarea filtrelor multi-rezoluție se
extrag caractensticile faciale locale. După ce acestea au fost extrase se construiesc anumite modele
care afișează relațiile dintre caracteristici și în tot acest timp se verifică existența feței.

Pentru verificarea fețelor se folosesc rețele neuronale, potrivirea de grafuri, sau arbori de
decizie. Utilizarea culorii pielii este necesară în imaginile color deoarece se folosește ca element
de identificare inițială a posibilelor fețe. Segmentarea imagini pentru schema de culoare se
efectuează destul de repede.

Pentru ca acuratețea sistemelor de detectare facială să fie mai ridicată, anumite tehnici
utilizează un mix de caracteristici, de exemplu folosirea texturii, formei și culorii pielii pentru a
identifica fețele iar mai apoi a caracteristicilor faciale pentru a putea fi verificate. În cazul în care
imaginea este coruptă sau deformată, această metodă este nu ne poate ajuta.

1.3 Metoda bazată pe modele


Primul pas pe care il face această metodă este acela de a detecta capul unei personae,
bazându-se pe filtre sau detectări de contur. În pasul al doilea se extrag contururile caracteristicilor
faciale folosind cunoștințe despre geometria feței.. În continuare se va calcula relația dintre
caracteristicile obținute din imagine și modelele deja stabilite ale caracterlsticilor faciale. Acele
metode care utilizează modele sau template-uri predefinite sunt destul de sensibile la scalare. În
cele din urmă, au fost admise modele deformabile, iar prin utilizarea acestora se poate modifica
geometria feței cu modele elastice care permit scalarea și rotația. Acest model folosește parametri
care sunt pe placul informației de intensitate.

1.4 Metoda bazată pe apariție


De regulă folosirea acestei metode conduce la un număr destul de mare de tipuri de
variații. Sistemul de detectate facial poate fi descris ca o problemă de recunoașterea formelor. Se
folosesc anumite tehnici pentru a analiza și memora proprietățile statistice sau modelele pixelilor.
Cei mai întalniți algoritmi pentru această metodă sunt, rețele neuronale, modele Markov,
eigenfaces și analiza discriminatore liniară. Utilitatea acestor metode poate fi învățată într-o
măsură probabilistică. Caracteristica rezultată dintr-o imagine e o variabilă oarecare și care este
caracterizată de parametrii de densitate. În final se utilizează un clasificator Bayesian pentru a
putea clasifica subimaginile.

4
Dimensiunea lui x nu ne permite să folosim direct un clasificator Bayesian. O altă metodă
utilă este funcția de discriminare care de regulă micșorează dimensiunea imaginii iar apoi rețelele
neuronale conduc la obținerea rezultatului.

5
RECUNOAȘTEREA FACIALĂ
Fața este un element central în viața socială a unui individ. Aceasta este una dintre
trăsăturile cele mai folosite pentru a diferenția persoanele între ele. Regiuni specializate ale
creierului uman, cum ar fi aria fusiformă a feței, ajută la recunoasterea facială. Astfel, abilitatea
umană de a identifica fețe este dezvoltată foarte bine. Oamenii pot recunoaște o figură dintre sutele
învățate pe parcursul vieții, chiar și după lungi perioade în care nu au mai avut contact vizual cu
informația respectivă. Având un rol atât de important în evoluția umană, această capacitate s-a
dezvoltat la un nivel ridicat, oamenii fiind capabili să recunoască o figură în ciuda alterării unei
imagini sau schimbărilor ce pot surveni în vizualizare: exprimarea diferitor emoții, unghiuri
nefavorabile, luminozitate prea scăzută etc.
Pe măsură ce societatea evoluează, s-a acordat o atenție din ce în ce mai mare acestui
subiect. Astfel, au apărut ramuri ale cercetării ce s-au orientat pe aceasta problemă. De asemenea,
mediul comercial a devenit interesat de o noua zonă posibil profitabilă. Cifre ce stau la baza acestei
afirmații sunt chiar valoarea pieței aplicațiilor biometrice: în 2006, valora peste 2 miliarde de
dolari, pentru ca în 2010 să ajungă la 5.5 miliarde de dolari. Rata de creștere fiind de 25%.
Dezvolarea continuă a dus la un maxim în anul 2016, când vânzările au atins 11 miliarde de dolari.
.
Chiar dacă lucrurile sunt pe un drum favorabil acestei noi industrii, există și problema
acurateții metodelor existente în acest moment. Astfel, nu s-a ajuns la încă la nivelul la care alte
industrii sau servicii să se poată baza total pe sprijinul acestor dispozitive. Exemple de astfel de
domenii sunt controlul identității călătorilor în aeroporturi sau în zonele vamale. Ar aduce mari
beneficii, deoarece automatizarea acestui proces ar mări considerabil viteza cu care se efectuează
controalele, iar nu în ultimul rând, ar eficientiza din punct de vedere economic industriile
respective.

Există numeroși factori care îngreunează funcționarea optimă, cum ar fi: unghiul la care
este așezată fața, perioada dintre momentele producerii imaginilor, precum și trăsături ce țin de
demografie: rasa, vârsta, s.a.m.d. O altă condiție necesară, însă ce prezintă dificultăți este
asigurarea unui rezultat corect considerând transformări elementare precum schimbarea rezoluției,
rotația sau translația.

Schema generală prezentă în sistemele de recunoaștere facială este prezentată în Fig. 2. Un


rol aparte îl are modul în care se extrag „semnăturile” specifice fețelor, dar și a modului de
clasificare, acestea fiind proiectate unul în funcție de celălalt. Pentru a obține informația
caracteristică unei fețe există două modalități majore de abordare, fiecare prezentând diverse
avantaje și dezavantaje. Alegerea este de interes pentru recunoaștere, dar și pentru verificare.

6
Extragere de
Achiziție și
preprocesare
trăsaturi și Clasificare Decizie
reprezentare

Fig. 2. Schema bloc a unui sitem de recunoaștere facială

Prima categorie este cea a algoritmilor ce se bazează pe analiza statistică a imaginilor


disponibile. Aceștia au ca pas final găsirea unei baze reprezentative în funcție de care celelalte
imagini sa poată fi scrise sub forma unei combinații liniare de vectori ai bazei. Câteva metode
reprezentative sunt: Analiza pe Componente Principale (PCA), Analiza Discriminatorie Liniară
(LDA) și Analiza pe Componente Independente (ICA).

Cea de-a doua categorie este cea a algoritmilor bazați pe evaluarea unor caracteristici
geometrice ce descriu distanțe între puncte semnificative de la nivelul feței. Exemple în acest sens
sunt metodele Elastic Bunch Graph Matching și Local Feature Analysis.

Câteva inovații în domeniu, ca urmare a studiilor recente sunt:


 Extensii de tip nucleu (kernel) ale unor metode clasice de proiecție pe subspații
liniare, ce stau la baza algoritmilor de tip Kernel PCA/LDA/ICA.
 Algoritmi ce au ca și fundament reprezentarea în funcție de baze cu bună localizare
spațială, respectiv metode urmărind împărțirea fețelor în componente diferite (
grupate în jurul unor zone reprezentative: gura, nasul, ochii – o altă denumire a lor
fiind și cea de puncte fiduciale
 Analiza imaginilor 3D și folosirea tehnicilor de morfism ( care au ca scop formarea
unor imagini virtuale ale unei fețe având ca și punct de pornire o serie de imagini
făcute din unghiuri nefavorabile.
 În ultimul timp, un număr mare de articole se concentrează pe o abordare
fundamentată pe aproximarea și modelarea distribuției spațiale a imaginilor ce
reprezintă fețe sub forma varietăților matematice (manifolds)
O trăsătura importantă este asigurarea unei toleranțe mari în raport cu sursele de
variabilitate ale acestor aplicații (acoperire parțială, poziție, transformări geometrice, grad de
iluminare variabil). Deasemenea, este important să fie elaborate metode capabile să ofere rezultate
rezonabile în condițiile în care există baze de date cu o dimensiune redusă. Un factor important
este și detecția automată a punctelor fiduciale. Succesul sistemelor performante de recunoaștere

7
sau verificare este dependent de o înțelegere temeinică a conținutului informației despre imaginile
care reprezintă fețe umane. Deasemenea, acest lucru poate fi folositor și în alte aplicații de patter
recognition.
În continuare vor fi prezentate principalele idei critice referitoare la acest subiect, cu
soluțiile aferente. Mai jos este o figură (Fig 2.1.) ce consemnează aceste aspecte.

Reprezentarea
feței

Utilizarea Obținerea
clasificatorului identității

Transformări
elementare

Performanțele de
Codarea
reprezentare și
senzorială
rezoluție
Procesare
locală sau
globală

Fig. 2.1. Aspecte specifice aplicației de recunoaștere facială

2.1 Reprezentarea feței


Pentru a reprezenta imaginea, aceasta este transformată într-un vector de dimensiune N2.
Imaginile ce reprezintă fețe sunt doar un mic subspațiu al spațiului multidimensional. Modificări
obișnuite cum ar fi schimbarea luminozității, rotațiile sau translațiile definesc simple subregiuni
compacte dacă au amplitudine mică. În cazul în care transformările sunt mai generale, cum ar fi
acoperirea parțială, schimbările de scală, rotațiile mari, subregiunile feței devin non-convexe.

Un astfel de exemplu este prezentat în Figura 2.1, arătând că o nu se creeaza o imagine


validă a unei fețe dintr-o combinație liniară dintre o față și versiunea sa rotită. Deasemenea,
asemănarea dintre varianta originală a pozei și cea transformată se deteriorează rapid corelat cu
creșterea amplitudinii parametrilor ce produc tranformările respective. În Figura 2.3, este
reprezentat acest lucru, unde măsura asemănării dintre vectorii comparați este funcția corelație.
Metodele de procesare a feței fundamentate pe o singură imagine au o performanță limitată din
cauza atributului „non-convex”. Astfel este produsă o problemă: câte imagini bidimensionale sunt
necesare pentru reprezentarea unei fețe, indiferent de orientarea acesteia? În literatura de

8
specialitate există câteva răspunsuri, arătând că aproximativ 5 imagini sunt de ajuns pentru a
acoperi toate unghiurile de vedere.

Fig. 2.2. Exemplu indicând non-convexitatea spațiului fețelor: imaginea originală,


versiunea rotită, combinație liniară între fețe

Fig. 2.3. Asemănarea dintre imaginea originală a feței și versiunea ei transformată se


deteriorează rapid pe măsura creșterii valorii parametrilor ce definesc transformarea: a)transalație
pe axa X; b)transalație pe axa Y; c)rotație d)modificarea scalară

9
2.2. Obținerea identității
Tehnicile de obținere a identității feței umane sunt împărțite în două categorii majore, după
cum s-a și discutat anterior:
a) Tehnica geometrică, ce are ca bază extragerea pozițiilor relative și a altor parametri
dependenți de anumite puncte particulare cum ar fi nasul, colțurile gurii, bărbia sau
ochii.
b) Tehnica ce are ca fundament anumite modele, în care se construiesc întâi matrice
cu valori ale intensității luminoase a pixelilor ce formează imaginile de referință și
de test, apoi aceste matrici sunt procesate în scopul obținerii unor rezultate ce pot
fi comparate cu ajutorul unui tip de măsură a similitudinii. Există cazuri în care sunt
folosite mai multe modele.

Capacitatea distinctivă a informației rezultate direcționeaza ce procedeu de extragere a


identității va fi ales. Deoarece imaginile cu fețe sunt redate sub formă de matrice de dimensiuni
destul de mari, sunt folosite metode de compresie ce pot fi liniare sau neliniare, cum ar fi Analiza
pe Componente Principale (PCA) ce ajută la obținerea unei reprezentări de dimensiuni mult mai
mici decat în situația inițială, fără a se pierde considerabil calitatea. O altă variantă este alegerea
Analizei Discriminatorii Liniare (LDA) pentru a putea identifica acele direcții din „spațiul fețelor”
de-a lungul cărora separarea „semnăturilor” este maximă. Un alt mod de a aborda problema este
ca spațiul fețelor să fie organizat în mod ierarhic, urmând ca apoi să se facă o partiționare sub
formă de structură de tip arbore. Nevoia de a asigura invarianța la transformări comune poate
influența și modul de codare al imaginilor originale. Recent, unele cercetări s-au orientat către așa
numitul „optical flow”, o metodă bazată pe redarea variației în intensitate dintre două imagini
diferite ale aceleiași persoane. Un lucru important ce trebuie menționat este legat de reprezentarea
imaginilor în domeniul frecvență: o importanță mult mai mare o are informația de fază în
comparație cu cea de amplitudine în vederea discriminării. Un exemplu ce ilustreaza acest lucru
este in Fig 2.4.

Fig. 2.4. Imagini reconstituite utilizând infromația de amplitudine corectă și faza


corespunzătoare celeilalte persoane

10
2.3. Procesare locală sau globală
Asemănănător creierului uman, unde modularitatea este o trăsătură fundamentală ce a stat
la baza multor studii de cercetare în domeniul neurofiziologiei, dar și al rețelelor neurale artificiale,
modularitatea are aplicabilitate și în modelele de recunoaștere facială. Astfel, se pot enumera ca și
avantaje față de structurile nemodulare: deprecierea mai lentă a performanțelor odată cu creșterea
complexității aplicației considerate, un timp mai mic de antrenare, o ințelegere mai facilă a
diverselor componente ale sistemelor complexe. În domeniul recunoașterii fețelor, modularitatea
este legată și de abordarea locală, în care semnăturile sunt extrase în jurul punctelor fiduciale cum
ar fi nasul, gura sau ochii. Aici se găsesc metodele Elastic Bunch Graph Matching și Local Feature
Analysis, dar și cele ce folosesc filtrele Gabor. Un alt avantaj al acestui tip de abordare este
rezolvarea mai ușoară a problemelor date de orientarea variabilă a capului în raport cu aparatul de
fotografiat. În antiteză se găsesc metodele holistice, ce extrag semnături considerând întreaga față
nefragmentată.

11
ALGORITMI DE RECUNOAȘTERE FACIALĂ
Pentru sistemul de recunoaştere facială au fost definite mai multe nivele de complexitate,
decizii și performanţe. Identificarea și extragerea rămân pe departe cele mai semnificative trăsături
necesare pentru a crea caracteristicile fiecărei fețe, de altfel acesta rămâne și un subiect foarte
important. Această metodă poate fi secvențată dar numai atunci când se ia în considerare crterii
ca, informații colectate de la fiecare față, metode de prelucrare a imaginii, procesări de imagini și
localizarea trăsăturilor.

De obicei algoritmul se alege în funție de ce clasificator utilizăm pentru a obține decizia


finală. În plus, baza de date impune constângeri în funcție de dimensiunea și particularitățile sale
pentru obținerea celei mai bune soluţii. În continuare sunt prezentati doar câțiva dintre cei mai buni
algoritmi.

3.1 Analiza pe Componente Principale (PCA)


În general pentru testele sistemului de renunoaștere facială se utilizează baze de date cu o
capacitate de stocare foarte mare. Utilizarea unei asemenea baze de date poate conduce la o
funționare mai bună a sistemului deoarece poate stoca imaginea chiar și dacă aceasta este afectată.
Dealtfel, utilizarea unei baze de date cu o capacitate de stocare mare poate îngreuna semnificativ
implementarea anumitor metode, în plus crește și volumul de calcul. Pentru a evita aceste probleme
se utilizează metodele de compresie pentru a diminua mărimea datelor originale, dar și aceste nu
într-un mod oarecare deoarece pierderile de informație nu trebuie să fie prea mari. Aceste metode
de compresie fac parte de obicei dintr-una din următoarele categorii:

a) Codare predictivă;
b) Transformate liniare;
c) Cuantificare.

În continuare vom insera algoritmul de compresie, denumit Analiza pe Componente


Principale (PCA). Putem considera N vectori xn care sunt deținuți de un spaţiu vectorial de o
mărime D, iar acestora li se alătură matricea [W]MxN printr-o transformată liniară și un set de
vectori de o mărime M < D:

𝑦𝑛 = 𝑊𝑥𝑛 , 𝑛 = 1 … 𝑁 (3)

În spaţiul original, Vectorul xn se poate scrie ca și o combinaţie liniară a unei baze


ortonormate {ui, i = 1...D}, astfel:

12
𝐷

𝑥𝑛 = ∑ 𝑤𝑖,𝑛 𝑢𝑖 , 𝑛 = 1 … 𝑁 (3.1)
𝑖=1

iar coeficienţii wi,n se calculează prin relaţia:

𝑤𝑖,𝑛 = 𝑢𝑖𝑇 𝑥𝑛 , 𝑛 = 1 … 𝑁 (3.2)

În cazul în care dorim să păstrăm doar un set mai mic de M termeni din ecuația (3.2), iar
coeficienţii wi,n să fie schimbați astfel:

𝑀 𝐷

𝑥̌𝑛 = ∑ 𝑤𝑖,𝑛 𝑢𝑖 + ∑ 𝑐𝑖 𝑢𝑖 , 𝑛 = 1 … 𝑁 (3.3)


𝑖=1 𝑖=𝑀+1

Principul de bază al acestei metodei PCA este de a găsi minimizarea erorii dintre seturile
de vectori 𝑥𝑛 şi 𝑥̌𝑛 :

𝑁 𝑁 𝐷
1 1 2
𝐸 = ∑‖𝑥𝑛 − 𝑥̈ 𝑛 ‖2 = ∑ ∑ (𝑤𝑖,𝑛 − 𝑐𝑖 ) (3.4)
2 2
𝑛=1 𝑛=1 𝑖=𝑀+1

Metoda Karhunen-Loeve (KLT) ne arată faptul că este formată din vectorii xn:
𝑁
1
𝑆 = 𝐸{(𝑋 − 𝑋̅)(𝑋 − 𝑋̅)𝑇 } ≈ ∑(𝑋𝑛 − 𝑋̅)(𝑋𝑛 − 𝑋̅)𝑇 (3.5)
𝑁
𝑛=1

unde 𝑋̅ alege valorarea medie a procesului, fiind reprezentată de vectorii Xn. Valorile constantelor
Ci sunt relatate astfel:

𝑁
1
𝑐𝑖 = ∑ 𝑤𝑖,𝑛 = 𝑢𝑖𝑇 𝑥̅ (3.6)
𝑁
𝑛=1

În cazul în care dorim folosirea acestor rezultate pentru compresarea datelor este nevoie de
realizarea următorilor paşi:

I. Obținerea valorii medii vectorului 𝑋̅;


II. Aflarea valorilor pentru λi şi pentru vectorii Ui pentru matriciea S;
III. Utilizarea relaţiei 3.4 pentru orice număr M < D de vectori ai matricii S,
denumită și matrice de autocovarianță.

13
Multiple sisteme arată o rată destul de mare a energiei semnalelor de la imaginile originale
care se poate găsi doar pentru câteva componente principale, iar modul de selecție se efecturază
de euația:

𝐷
1
𝐸= ∑ 𝜆𝑖 (3.7)
2
𝑖=𝑀+1

Problemele care apar în momentul calculelor sunt datorate faptului că necesită o memorie
destul de bună și a calculelor foarte complexe. O soluție optima pentru abordarea acestei probleme
este de a schimba baza metodei KLT cu cea a Transformatei Cosinus Discretă. În context, mai
mulți cercetători au descries un număr foarte mare de rețele neuronale, în mare parte de tip linear
și care pot implementa metoda PCA. Această metodă PCA care este descrisă mai sus afost utilizată
pentru sistemele de recunoaştere facială, care poartă denumirea de Eigenfaces. Obiectul este
format din imaginile aflate în baza de date și care sunt alcătuite din matrici. În continuare, toate
matricele care sunt de dimensiune MxN sunt corelate într-un vector cu dimeniunea original a
matricelor. Pentru realizarea metodei de procesare este necesară urmarea paşilor:

I. Calculăm valoarea medie pentru imaginile din setul de antrenare:

∑𝐾
𝐽=1 𝐼𝑗
𝐼̅ = (3.8)
𝑘

iar imaginile sunt făcute la o valoare medie nulă:

𝐼𝑗𝑐𝑒𝑛𝑡𝑟𝑎𝑡 = 𝐼𝑗 − 𝐼 ̅ (3.9)

II. Calculăm matricea supranumită scatter matrix, această matrice este mult
mai fiabilă atunci cand are la dispoziție mai multe imagini:

1
𝑆= 𝐴 × 𝐴𝑇 (3.10)
𝑘

unde matricea A pune în fiecare coloană câte o imagine:

𝐴 = [𝐼1𝑐𝑒𝑛𝑡𝑟𝑎𝑡 𝐼2𝑐𝑒𝑛𝑡𝑟𝑎𝑡 … 𝐼𝑘𝑐𝑒𝑛𝑡𝑟𝑎𝑡 ](𝑀×𝑁)×𝑘 (3.11)

III. Calculăm valorile şi vectorii pentru matricia S. Pentru a diminua timpul de


calcul putem proceda astfel, obținem valorile şi vectorii matricii AT A.
Aceste valori ale matricii sunt mereu pozitive.
14
IV. Sortăm valorile matricii S descrescător. Desenăm un grafic care ne arată ce
înformații au fost pierdute. În continuare, notăm cu λ1, 𝑖 = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
1 … (𝑀 × 𝑁),
valorile matricii S, iar abscisă e 𝑗 = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
1 … (𝑀 × 𝑁):

∑𝑗𝑖=1 λ𝑖
(3.12)
∑(𝑀×𝑁)
𝑗=1 λ𝑗

Graficul care este menționat mai sus poate defini numărul de valori şi de
vectori semnificativi.

V. Imaginile originale sunt afișate în zona descrisă de vectorii reprezentativi,


aceștia sunt într-un număr de nouă ori mai mic decât numărul total. Afișarea
imaginilor rezidă în excutarea produsului scalar dintre imagini şi matrice.
Imaginea centrată, 𝑖𝑗𝑐𝑒𝑛𝑡𝑟𝑎𝑡 rezultă din ecuația:

𝑊𝑗𝑇 = 𝐼𝑗𝑐𝑒𝑛𝑡𝑟𝑎𝑡𝑇 × 𝑉𝑃𝐶𝐴 (3.13)

𝑉𝑃𝐶𝐴 = [𝐸1 𝐸2 𝐸3 … 𝐸𝑁𝑚𝑎𝑥 ] (3.14)

unde Nmax înseamnă numărul vectorilor, Ej înseamnă numărul vectorilor


semnificativi, iar vectorii Wj au mărimea (Nmax x 1).

VI. Acest pas necesită producerea caracteristicilor pentru fiecăre imagine în


parte care se bazează foarte mult pe fotografiile setului de antrenare dar şi
găsirea imagini care să fie cât mai identică cu cea originală. Aprecierea
Similitudinea fotografiilor se realizează prin utilizarea unei metrici. De
obicei, se utilizează distanţa euclidiană, dar pot fi folosite funcţii de
autocorelaţie sau Mahalanobis. Acestea sunt definite astfel:

𝐷𝑖𝑠𝑡𝑎𝑛ț𝑎 𝐸𝑢𝑐𝑙𝑖𝑑𝑖𝑎𝑛ă: 𝑑𝐿2 (𝑥, 𝑦) = ∑(𝑥𝑖 − 𝑦𝑖 )2 (3.15)


𝑖=1

𝐷𝑖𝑠𝑡𝑎𝑛ț𝑎 𝑀𝑎𝑛ℎ𝑎𝑡𝑡𝑎𝑛: 𝑑𝐿1 (𝑥, 𝑦) = ∑|𝑥𝑖 − 𝑦𝑖 | (3.16)


𝑖=1

15
𝐷

𝐹𝑢𝑛𝑐ț𝑖𝑎 𝑑𝑒 𝑖𝑛𝑡𝑒𝑟𝑐𝑜𝑟𝑒𝑙𝑎ț𝑖𝑒: 𝐶[𝑘] = ∑ 𝑥𝑖 × 𝑦𝑖+𝑘 (3.17)


𝑘=−𝐷

𝑥×𝑦
𝐶𝑜𝑠. 𝑢𝑛𝑔ℎ𝑖𝑢𝑙𝑢𝑖 𝑑𝑖𝑛𝑡𝑟𝑒 𝑣𝑒𝑐𝑡𝑜𝑟𝑖: cos(𝑥, 𝑦) = (3.18)
‖𝑥‖ × ‖𝑦‖

∑𝐷
𝑖=1 𝑥𝑖 × 𝑦𝑖
𝐷𝑖𝑠𝑡𝑎𝑛ț𝑎 𝑀𝑎ℎ𝑎𝑙𝑎𝑛𝑜𝑏𝑖𝑠: 𝑑𝑀 (𝑥, 𝑦) = (3.19)
√𝜆𝑖

Simplitatea tehnici PCA este principala condiție care conduce la descrierea acestuia ca un
avantaj. Acești vectori pot fi calculați într-un mod offline şi online, utilizând diferite reţele
neuronalele pentru a potrivi valorile acestora, pe parcurs ce apar informații noi. Totodată,
implementarea algoritmului PCA pentru sistemele de recunoaştere facială, deține și câteva
dezavantaje care conduc la scădere de performanță, cum ar fi:

 Cel mai mare dezavantaj îl constituie faptul că nu acordă importanță


componentelor deoarece nu ajută și la îndreptarea discriminării. În Figura 3
se poate observa un exemplu ilustrativ, care evidențiază faptul că cele două
clase se pot despărți.

 De asemenea, un al doilea dezavantaj al metodei PCA îl redă caracterul


global. Dezavantajul se poate echilibra paţial folosind arhitecturi modulare.
Totodată, putem folosi arhitecturi în care modul se poate perfecționa în
recunoaștere aceleiași personae.

 Al treilea dezavantaj constă în faptul că algoritmul PCA a demonstrat că


este foarte senzorial față de translaţii pe orizontală sau verticală, rotaţii și
variaţii care pot influența identitatea persoanei, în plus, poate afecta rularea
sistemului de recunoaștere facială.. În același timp, pentru a echilibra puțin
balanța din cauza acestui dezavantaj, a fost oferită tehnica standard pentru
a selecta cât mai bine fotografiile. De regulă, nu se ia în calcul proiecția de
pe lângă primul vector, pentru că este senzorial la caracteristicile de
iluminare.

16
Fig. 3. Metoda PCA (Analiza pe Componente Principale)

3.2 Analiza Discriminatorie Liniară (LDA)


După cum a fost specificat anterior, datele de lucru sunt proiectate pe subspațiul obținut de
setul vectorilor semnificativi ai matricei de autocorelație și chiar dacă nu micșorează eroarea de
reconstrucție, nu duc neapărat și la îmbunătățirea performanțelor de clasificare. Analiza

Discriminatorie Liniară este o altă metodă liniară de natură statistică ce ajută la


identificarea direcțiilor din spațiu pe care ar trebui sa fie efectuate proiecțiile pentru a mări
discriminabilitatea datelor procesate. Se consideră un caz simplu pentru demonstrarea acestei
metode: setul de vectori x este clasificat în două categorii cu câte N1 și N2 exemplare.

Astfel, vectorul w definește o direcție din spațiu ce are aceeași dimensiune ca și vectorii x,
astfel încât să se poata proiecta pe el datele de lucru ca în relația y = wT × x. Pentru a alege cărei
categorii dintre cele două aparține vectorul x se compară mărimea scalară y cu o mărime prag
aleasă convenabil. Astfel se va găsi direcția ce va asigura cea mai mare rată de clasificare corecta,
adică pe care separarea dintre clase este maximă. O abordare ar fi alegerea direcției care
maximizează separabilitatea proiecțiilor valorilor medii, adica valoarea maximă a expresiei:

𝑚2 − 𝑚1 = 𝑤 𝑇 × (𝒎𝟐 − 𝒎𝟏 ) (3.20)

unde m1 și m2 reprezintă valorile medii:

17
1 1
𝑚1 = 𝑁 ∑𝑛∈𝐶1 𝑋𝑛 ; 𝑚2 = 𝑁 ∑𝑛∈𝐶2 𝑋𝑛 (3.21)
1 2
Este necesară introducerea unei constrângeri adiționale deoarece, după cum se observă în
expresia 2.17, valoarea poate fi maximizată oricât variind mărimea vectorului w. O astfel de
constrângere poate fi impunerea normei pentru a fi constantă. Cu ajutorul metodei multiplicatorilor
Lagrange, problema de optimizare conduce la w∼(m2 –m1) .

Se poate ca cea mai buna variantă să nu fie aceasta deoarece este posibil ca direcția de
maximă separabilitate să nu coincidă cu separarea cea mai bună a proiecțiilor valorilor medii, mai
ales când datele sunt foarte dispersate în spațiu. Astfel, o abordare mai corectă este cea care
urmărește valoarea maximă a unei funcții caracterizate ca raportul dintre proiecțiile valorilor medii
și dispersia datelor pe direcția lui w:

(𝑚2 − 𝑚1 )2 𝑤 𝑇 𝑆𝐵𝑤
𝐽(𝑤) = = 𝑇 (3.22)
𝜎12 + 𝜎22 𝑤 𝑆𝑊 𝑤

unde matricile SB şi SW sunt determinate prin:

𝑆𝐵 = (𝑚2 − 𝑚1 )(𝑚2 − 𝑚1 )𝑇

𝑆𝑊 = ∑ (𝑋𝑛 − 𝑚1 ) (𝑋𝑛 − 𝑚1 )𝑇 + ∑ (𝑋𝑛 − 𝑚2 ) (𝑋𝑛 − 𝑚2 )𝑇 (3.23)


𝑛∈𝐶1 𝑛∈𝐶2
Se poate demonstra că maximalizarea funcţiei J(w) conduce la concluzia:

𝑤~𝑆𝑤−1 (𝑚2 − 𝑚1 ) (3.24)

Se poate ca rezultatul calcului să ducă la o matrice SW proporțională cu matricea unitate,


atunci matricea se numește izotropă, împrăștierea datelor fiind regulată. În acest caz, condiția
devine ca și la început la w∼(m2 –m1). Pentru orice număr de categorii C≥2, metoda Analizei
Discriminatorii Lineare poate fi generalizată cu indicația că numărul de direcții discriminatorii
maxim de aflat este C-1.

Acest lucru reprezintă un inconvenient mare dacă e nevoie de extragerea unor semnături
semnificative în cazul în care dimensiunea datelor este mare, dar numărul de clase este limitat. O
soluție la această problema o reprezintă o etapa ce precede metoda: se reduce dimensiunea
vectorilor originali, cu ajutorul tehnicii Analizei pe Componente Principale.

Ca și dezavantaje putem aminti cazul în care numărul vectorilor este insuficient, cum ar fi
pentru aplicațiile biometrice unde nu există decât un număr redus de fotografii ale unei persoane.
Valorile medii și mai apoi ale matricilor SB, SW nu sunt relevante statistic. Un alt inconvenient

18
prezentat de ambele metode trasate anterior este că trăsăturile semnificative sunt identificate
utilizând doar datele de intrare, fără a lua în calcul etichetele corespunzătoare categoriilor cărora
aparțin. În sfârșit, trebuie amintit că în literatura de specialitate au fost folosite și metode neliniare
derivate din acestea, cum ar fi cele ce au ca și bază arhitecturile speciale de rețele neurale artificiale.

19
FAZE ALE RECUNOAȘTERII FACIALE
Complexitatea sistemului de recunoaștere facială conduce la divizarea sa în mai multe faze.
Aceste faze sunt împărțite într-un mod inteligent, iar rezultatul lor este adus într-un singut loc, mai
exact la punctul de întâlnire dintre ele. Fiecare dintre aceste faze conține una sau mai multe
informații, prelucrând pașii care transformă faza de intrare în rezultatul dorit, dar numai atunci
când transfromarea se poate realiza.

4.1 Achiziția de imagine


Această fază obține imagini folosind un dispozitiv de captură. Imaginile pot fi obținute din
mai multe surse. Există deja două moduri pentru a putea obține imagini digitale, precum, scanarea
unei poze, imagini sau înregistrări video obținute cu un webcam, fotografierea cu o cameră video
de înaltă calitate, sau se pot utiliza și alte surse.

4.1.1 Dispozitiv de captură a imaginii


Achiziția de imagine este primul pas care se realizează în procesul de prelucrare a imaginii.
Imaginea de intrare necesită un format digital, iar aceasta poate fi obținută din mai multe surse.
Cel mai simplu mod de a obține o imagine digitală este de a realiza poza cu camera web de la
laptopul propriu sau cu un aparat de fotografiat normal și de o calitate la standardele din ziua de
astăzi. Această metoda este simplă, iar rezultatul obținut este o imagine digitală de o calitate bună..
Cel mai des utilizat dispozitiv pentru aceast pas al recunoașterii faciale este o cameră web.

Aceasta poate sa capteze în format digital imagini sau înregistrări video. Rezolutia acestor
camere web este de regulă una mai scăzută decât a unora realizate cu un aparat foto profesional.
Calitatea imaginii (în mod special, acuratețea culoriilor) este de obicei una scăzută, deoarece
senzorii CMOS care sunt folosiți în interiorul acestor camere web. Tot aici, putem menționa și
camerele web CCD capabile de a captura imagini de o calitate bună, dar totuși rezoluția acestora
este una mai mică.

Odată cu avansarea tehnicii în echipamentele digitale, acestea permit utilizarea mai


eficientă a dispozitivelor de înregistrare video. Aparatele analogice de fotografiat mai vechi, cu un
card care obține o înregistrare video la o calitate bună, permite o viteză de capturare mai mare (de
regulă standard PAL 25Hz sau NTSC 29.999Hz TV semnal cadre/secunda ) și o calitate bună a
fotografiei. Camerele complet digitale permit o viteză mult mai mare și de o calitate mult mai
bună.

Senzorii de tipul CMOS cu o calitate medie sau senzorii CCD cu o calitate mai bună, poate
realiza imaginile direct în format digital. Aceste dispozitive pot stoca imaginea în format digital,
sau o pote transfera către alt echipament digital. O calitate mai bună a imaginii conduce la rezultate

20
mult mai precise dar pentru această aplicație s-a utilizat pentru captura imaginilor o cameră web.
Aparatele de fotografiat digitale sunt o tehnologie foarte bună și au o dezvoltare rapidă a
dispozitivelor de capturare.

Acestea diferă în rezoluția dispozitivelor pentru generarea semnalelor, senzorii lor sunt
CCD, iar camerele cu senzori CMOS sunt considerate echivalente cu cele din categoria camerelor
web. Aparatele de fotografiat bune sunt considerate cele care au peste 13 mega-pixeli. Acestea pot
fi folosite pentru capturarea fotografiilor, în sistem digital, daca au o interfață corespunzatoare.
Acest lucru este satisfăcut de 99% dintre aparatele de fotografiat, care au cel puțin unul în serie
sau cea mai frecventă interfață întalnită, USB.

4.1.2 Condiții de iluminare


Condițiile de iluminare pentru achiziția de imagine au multe influențe asupra algoritmilor.
Dacă nu se asigură condițiile optime, atunci imaginea capturată poate fi nefolositoare. Algoritmii
au unele cerințe, mai mult, funcționează numai în condiții de iluminare, care trebuie să fie bine
definite. Aceaste condiții esențiale au făcut posibilă utilizarea unor algoritmi mai simpli pentru a
recunoaște o față.

5. Prelucrarea imaginii
În acest pas al prelucrarii includem operațiuni simple, care aplică operații aritmetice pentru
fiecare pixel al imaginii, și rezultând o imagine cu caracteristici mai mari. Aceste operații variază
în funcție de lumină, culorile intense de la muchia de detectare complexă dar și de algoritmii de
segmentare. În continuare, sunt prezentate cele mai utilizate filtre.

5.1 Filtru de netezire


Acest filtru poate aduce semnalul de eroare al imaginii, dacă dispozitivul de capturare este
de o calitate mai scăzută sau condițiile ambientale nu sunt favorabile. De asemenea, imaginea
capturată trebuie să fie mare înainte de a se aplica alt proces.

5.1.1 Filtru mediu


Acest filtru netezește valorile pixelilor, cu un impact mai scăzut sau poate chiar unul mediu
asupra valorilor pixelilor vecini. Miezurile pot fi de mai multe tipuri. Acest filtru este necesar
atunci când eroarea este distribuită într-un mod uniform în imagine. În cazul în care aceștia sunt
distribuiți la întamplare, atunci vor fi prezenți în rezultat. Un minus al acestui filtru este faptul că
netezește nu doar erorile, dar și detaliile care ne sunt folositoare. În final, după ce filtrul a fost
aplicat, imaginea rezultată va deveni cenușie ca în Figura 4, datorită unei muchii ascuțite.

21
Fig. 4. Filtru mediu. Imaginea cu erori se află în partea stângă iar rezultatul filtrului
mediu non-importanta se află în partea dreaptă.

5.1.2 Filtru median


Utilizarea acestui filtru este foarte utilă atunci când erorile sunt prezente. Aceast filtru
modifică unii pixeli ai imaginii prin distribuirea lor într-un mod aleatoriu. Acești pixeli particulari
au o valoare a intensității care mai mare sau mai mica decât a celorlalți din jurul lor. Acest filtrul
median se aplică pentru fiecare pixel cu o matice de mască mai largă, după cum urmează (2N +
1)*(2N + 1). Intensitatea valorii pixelilor din matrice este sortată într-un mod crescător în funcție
de ordinea sortării cu ajutorul acestei ecuații, (2N+ 1)*(2N+ 1). După ce calculul a fost realizat,
rezultatul filtrului este primit de la două valori.

În urma acestei selecții se elimină pixelii care au o diferență mai mare între ei și valorile
vecinilor. De exemplu, în cazul matricei 3 x 3 (N=3), dacă pixeli vecini ai valorii 9 sunt aceiași ca
în Figura 4.1, atunci rezultatul sortării este 2, 2, 3, 3, 4, 3, 6, 8, 9 iar acesta este rezultatul valorii
pixelului current care se va schimba din 9 în 4. După cum se poate observa în Figura 4.2, anumiți
pixeli pot fi schimbați, depinzând de pixelul vecin.

2 3 6 7 8 x x x x x
3 4 5 8 9 x 5 6 7 x
6 6 9 5 6 x 5 5 5 x
7 4 2 3 4 x 6 3 3 x
8 2 3 2 2 x x x x x
Fig. 4.1 Fig. 4.2

Pentru o imagine reală, originalul și imaginile rezultate arată ca în Figura 4.3.

22
Fig. 4.3. Filtru Median. Imagine cu erori în partea stângă. Imaginea filtrată în partea dreaptă.

5.1.3 Segmentarea Reddi


Acest algoritm Reddi a apărut la începutul anului 1984. Prin utilizarea algoritmului de
segmentare Otsu putem segmenta o imagine în trei regiuni gri, precum, regiunile obiectului
strălucitor, regiunea umbrei de mijloc și regiunea întunecoasă pentru fundal. Acest algoritm
interactiv ne oferă ca și rezultat două praguri de sensibilitate pentru lumină, mijloc respectiv
regiunile strălucitoare.

Fig. 4.4 Imaginea originala în partea stângă, urmând imaginile întunecate, umbrite și cele
de mijloc.

6. Detectarea de muchie
În acest moment exista mai mulți algoritmi utili pentru detectarea muchiei. Unii dintre ei
au apărut chiar în urmă cu 10-20 de ani. De asemenea, exostă altii care sunt mai noi iar aceștia
diferă de cei vechi prin imbunatatiri adăugate de-a lungul timpului.

6.1 Detectarea de muchie Prewitt


Această detectare este considerată a fi una dintre cele mai simple, vechi dar și printre cei
mai rapizi algoritmi. Acest algoritm funcționează pe bazaa derivarii imaginii bidimensionale și se
realizează utilizând rasucirea cu Kernel. Derivarea foloseste numai 0 1, valorile a doi pixeli vecini.
Muchia se detectează numai dacă valoarea derivatei este mai mare decât o valoare specificată, de
regulă aceasta este determinată din intregul set de valori.

23
1 1 1 1 1 0 0 0 -2 x
1 1 1 1 3 -1 -1 -1 -1 x
2 2 2 2 2 -6 -5 -5 -5 x
8 8 7 7 7 0 1 0 0 x
7 8 7 7 7 x x x x x
Fig. 4.5 Fig. 4.6

6.2 Detectarea de muchie Susan


Această metodă a pornit de la algoritmul detectării de muchie principal și de la alți
algoritmi care au fost derivați. Prezintă un algoritm de valoare prin forma sa unică dar și o textură
mai largă a imaginii. În imaginea rezultată, fața este mai puțin texturată, din acest motiv accesul
ține cont că aceasta este mai valoroasă iar acest lucru este efectuat de către detectarea de muchie
Susan.

Detectarea de muchie Susan a fost lansată la începutul anului 1995. O mască circulară
conține un pixel de mijloc care este prezentat în cinci modele de imagini. Fiecare luminozitate a
pixelului din interiorul măștii este comparată cu luminozitatea mijlocului măștii, după aceea poate
fi arătată o suprafață a măștii care are o luminozitate similară cu cea a nucleului, iar această
suprafață poartă denumirea de “USAN”, Univalue Segment Assimilating Nucleus. Fiecărui punct
din imagine îi este asignată o suprafață cu o luminozitate apropiată, iar aceasta este baza modelului
Susan.

Metoda detectării de muchie utilizează un frame care este conceput înainte de detectare, și
care este conturat pe fiecare pixel al imagii. Muchia detectorului de masca SUSAN poate fi rotundă
sau rectangulară. Din cele studiate, s-a ajuns la concluzia că, pentru a obține cele mai bune rezultate
se utilizează măști complexe circulare. Masca este situată la Fiecare punct din imagine este cuprins
de o mască iar fiecăre pixel din interiorul măștii este comparat cu cel din mijloc.

Fig. 4.7. Detectarea de muchie Susan

24
7. Egalizarea de histogramă
O imagine pe care se doreste utilizarea egalizării de histogramă este deseori modificată. În
urma egalizării, imaginea obținută trebuie să utilizeze orice nivel disponibil iar rezultatul trebuie
să conțină același număr de pixeli pentru fiecare nivel de gri. Harta de Aceste nivele de gri nu vor
putea schimba imaginea, dar câteva regiuni vor deveni mai vizibile. Sensibilitatea pentru
egalizarea de histogramă se definește utilizând histograma H(i) a imaginii.

Fig. 4.8. Imaginea originală cu histogramă (sus) și imaginea netezită cu histogramă (jos)

7.1 Segmentarea culorii de bază


Această segmentare funcționează pe baza informației imagini color, și poate utiliza una sau
chiar mai multe spații de culori disponibile, cum ar fi RGB, HSV, HIS și CMY. Histogramele sunt
diferite pentru fiecare frecvență de culore construită iar domeniile color memorate anterior sunt
aplicate pentru a obține regiunea dorită. Această segmentare a culorii este utilizată pentru a putea
detecta fețele umane.

7.2 Transformarea morfologică


O imagine binară de intrare poate fi transformată cu ajutorul operațiilor morfologice
utilizând o structură a unui element S, care este o imagine binară dar mult mai mică. Forma

25
reprezintă structura elementului. Aici poate intra una de orice dimensiune, chiar și cu o structură
arbitrară. În continuare, în Figura 4.9 sunt prezentate câteva dintre elementele de structură.

1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
Square(3) Box(3,5)

1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1
Disk(5) Ring(5)
Fig. 4.9. Elemente de structură

Eroziunea imaginii binare B, structurând elementul S, este definită astfel:


B□S = {b | b + s □ B, □s □S};
Dilatarea imaginii binare B, structurând elementul S, este definită astfel:
B□S = U Sb;
Deschiderea unei imagini binare B, structurând elemental S, este definită astfel:
B○S = (B□S) □S;
Închiderea unei imagini binare B, structurând elementul S, este definită astfel:
B□S = (B□S) □S;
Eroziunea, dilatarea, deschiderea și închiderea exemplului aplicat matricei binare din
Figura 4.10 poate fi văzută în Figura 4.11.

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 0
1 1 1 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 1 0
1 1 1 1 0 1 1 1 1 0
1 0 0 0 1 1 1 1 1 0
1 0 0 1 0 0 1 1 1 0
1 1 1 0 0 0 1 1 1 0
1 1 1 0 0 0 1 1 1 0
Fig. 4.10. Exemplu de matrice

26
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
Eroziunea Dilatarea

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0
1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0
1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0
1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0
0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0
0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0
0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 0
0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
Deschiderea Închiderea
Fig. 4.11. Transformări morfologice

8. Segmentarea
Algoritmul segmentării poate fi definită ca printr-o imagine color primită intr-un mod
aleatoriu, iar fața care este recunoscută în imagine trebuie să fie recunoscută și atunci cand nu
există fundal. Omul poate realiza acestă diferență foarte ușor, mai exact diferența dintre culorile
feței umane și ale fundalului, folosindu-se de o vedere tridimensională dar și cunoscând tiparul
unei fețe. Pentru un computer nu este disponibilă întotdeauna opțiunea unei fotografii 3D, dealtfel
această metodă este utilizată foarte rar. Contutul și tiparul feței sunt caracteristici foarte complexe
complexe și care pot fi reprezentate într-un oarecare mod numai de modele complexe dar în același
timp acestea nu sunt destul de eficiente pentru suprafețele mari. De multe ori acestea vor fi aplicate
doar în zona feței detectate și utilizate în algoritmul detectării feței umane.

În acest moment există mai multe lucrări care se ocupă cu segmentarea imaginii. Câteva
dintre acestea urmăresc cazuri mai generale, altele doresc extragerea de regiuni și obiecte. O

27
alternativă destul de utilă ar putea fi textura bazată pe segmentare. În anumite zone specifice fața
are texturi particulare. De exemplu, pielea, părul, ochii, gura, nasul pot fi identificate, mai mult
aceste caracteristici poate conduce la detectarea feței.

În continuare vor fi prezentate regiunile satisfăcătoare ale feței selectate dar și o


aproximație pentru a mări precizia găsirii feței, pentru această ultimă parte sunt prezentate două
metode.

8.1 Culoarea bazată pe regiuni selectate


Începem prin obținerea informației despre culoarea fiecărui pixel, dar și despre regiunile
feței care ar putea fi selectate. De obicei, cea mai des întalnită problemă în acest caz este cea a
culorii bazată pe segmentare, din cauza variației culorilor care depind foarte mult de luminozitatea
pe care o are imaginea. Au fost utilizate mai multe moduri dar ca și rezultat s-a ales utilizarea unui
mod mixt. Pentru acest mod mixt utilizam logaritmul RGB ca suprafață de culoare, iar în
continuare suprafața este comparată cu RGB, HSI sau HSV.

Fig. 4.12. Extragerea culorii


9. Prelucrarea feței
În urma executării pasului anterior am obținut o imagine în care cea mai mare regiune este
zona feței. Mai este necesară o observație După cum se poate observa în Figura 4.12, o parte din
față poate conține zone negre, iar gura, ochii, spracenele și fruntea au o culoare diferită de restul
feței. Zonele care rămaân neselectate constitue partea regiunii învecinate. Putem rezolva acestă
problemă, aplicând algoritmul de umplere în cascadă, iar zonele cu care nu se învecinează se vor
umple .

28
După acest pas se poate aplica metoda de realizare pas cu pas a unei regiuni.Această metodă
este considerată bună dar nu poate fi optimă, acest fiind un dezavantaj major, în plus necesită și
două faze. Este nevoie de un algoritm combinat, care a fost construit pentru a face toate calculele
în același timp utilizand structuri de date.

848
44
848
Fig. 4.13 Vecinătatea pixelului

Pixeli din jurul unui anumit pixel se numesc pixeli vecini. Metoda care urmează va calcula
doi pixeli care fac parte dintr-o singură zonă, iar aceștia pot obține o cale de legatură între ei. În
cazul în care avem o legătura de opt pixeli, partea complementară a imaginii trebuie să conțină și
o legătură de patru pixlei dar aceștia se vor afla pe verso.

Această metodă propune o scanare pas cu pas de sus în jos și de la stanga la dreapta
imaginii, iar fiecărui pixel în parte i se va determina culoarea. Toți pixelii dintr-o regiune sunt
formați din acceași culoare, iar fiecare pixel din această regiune este reprezentat de o valoare
nuerică. Pentru această metodă există trei variante:

 Atunci când pixelul este de mascare, culoarea sa este reprezentată de un număr


întreg pozitiv;
 Atunci când pixelul este de fundal, culoare sa este reprezentată prin 0 (zero);
 Atunci când pixelul este de interior, culoarea sa este reprezentată de un număr
întreg negativ.

Din cele studiate, toți pixelii de interior prelucrați sunt înconjurați numai de pixeli de
mascare sau de interior, iar acesta s-ar putea schimba într-un pixel de margine doar în cazul în care
se știu destul de bine pixeli vecini de bordurare.

De regulă pixeli sunt notați cu numere întregi, iar acestea sunt pot fi subliniate. În cazul în
care se întalnește semnul ?, acesta este utilizat doar atunci când culoarea pixelului nu este
cunoscută. Atunci când pixelul este boldat, înseamnă că pixelului din mijloc se află în procesul de
căutare al culorii.

29
Fig. 4.14. Clasificarea pixelilor

A. Pixeli de mascare
Pentru această metodă se efectuează o căutare a culoarii pixelului superior și a celui din
partea dreaptă sus (N-NE) și a celui din partea stângă și stânga sus. Se procedează astfel deoarece
scanarea sus-jos, stânga-dreapta ne ajută să identificăm dacă există pixeli de culori diferite îmbinați
iar atunci aceștia vor obține acceași culoare.

Daca partea din stânga, stânga sus și dreapta, dreapt sus pot fi puncte de măsurare și sunt
egale ca în Figura 4.15 A, pixelul vecin va obține culoarea vecinătații. În cazul în care partea din
dreapta sus și partea din stânga, stânda sus pot fi considerați pixeli de fundal ca în Figura 4.15 B,
pixelul va obține o culoare nouă.

Daca partea de sus și dreapta sus sau stânga și dreapta sunt pixeli de fundal ca în Figura
4.15 C, culoarea pixelului nu poate fi considerată a fi una de fundal. Dacă partea de sus, dreapta
sus și stânga, dreapta pot fi considerați pixeli de mascare ca în Figura 4.15 D, cele două regiuni
care sunt văzute ca regiuni diferite, în realitate acestea sunt de fapt o singură regiune fiind unită
printr-un singur pixel.

Cele două zone trebuie să fie unite iar pixelul care asigură unirea va obține culoarea
pixelului înconjurător. Astfel, după ce au fost unite cele două zone, culoarea care predomină
imaginea va deveni o culoare mult mai slabă. Daca partea din stânga și stânga sus este mai mare
decât partea de sus și dreapta sus, atunci culoarea pixelilor care rămân în același loc se vor modifica
deoarece pe linia următoare pixelii trebuie să utilizeze culoarea corectă a pixelului superior.

30
6 6 6 6 6 0
6 6 ? 0 6 ?
? ? ? ? ? ?
A B

0 0 0 0 6 0
0 7 ? 7 6 ?
? ? ? ? ? ?
C D
Fig. 4.15 Principalele patru scenarii pentru o mască

B. Pixelii de fundal
Atunci când legatura deumplere a fost finalizată, se vor verifica doar vecinii din partea
superioră dar și cei din partea stângă a pixelului de fundal. Pentru aceasta există patru variante:

 Atunci când unul dintre vecini este un pixel de bordurare ca în Figura 4.16 A, se
consideră și acel pixel ca fiind unul de bordurare.
 Atunci când doar un singur pixel dintre cei vecini este considerat punct de interior
ca ân Figura 4.16 B sau există și varianta în care există doi pixeli vecini și cu
aceeași culoare, atunci se ajunge la rezultatul în care pixelul curent este considerat
punct de interior pentru regiunea actuală.
 Atunci când pixeli vecini sunt considerați de interior, dar au culori diferite ca în
Figura 4.16 D, atunci se procedează ca la pixeli de mascare, iar cele două se unifică
si devine o singură culoare. În cazul în care cei doi pixeli vecini sunt considerați
puncte de mascare ca în Figura 4.16 E, atunci iși va face apariția o nouă zonă
internă.

Fig. 4.16. Scenarii pentru un punct de fundal

Informațiile despre fiecare pixel de interior sunt stocate într-o în care se află numai pixeli
vecini de mascare de aceeași culoarea ca a celor de interior. În urma acestui pas se poate ajunge
la unire zonelor de mascare. Metoda poate fi eficientă dacă se utilizează secvența, n m 1,

31
unde 1 reprezintă modul extins al setului de adăugare, unificare. Acest algoritm are o
Performanță acestui algoritm o reprezintă metoda de inserare

În Figura 4.27 este reprezentată funcționalitatea acesti algoritm, iar în Figura 4.26 este
reprezentat rezultatul selecției care a fost aplicată pe rezultatul obținut în urma selecției de culoare.

Fig. 4.17. Zona maximă de regiuni cu regiunile feței de culoare

32
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0

0 1 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0

0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0

0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0

0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0

0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0

0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0

0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0

0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0

0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0

0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0

0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0

0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0

0 1 0 1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0

0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0

0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

33
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 1 1 1 1 1 0 2 0 3 0 0 0 0 0 0 0 0

0 1 1 5 5 5 1 0 0 2 0 3 0 0 0 0 0 0 0 0

0 0 1 5 7 5 1 0 0 2 2 2 2 2 2 2 2 2 0 0

0 0 1 5 5 5 1 0 0 2 8 2 9 2 10 10 10 2 0 0

0 0 1 5 5 5 1 0 0 2 8 2 9 2 10 11 10 2 0 0

0 0 1 1 1 1 1 0 0 2 8 8 8 2 10 10 10 2 0 0

0 0 0 0 0 0 0 0 0 2 8 8 8 8 8 8 8 2 0 0

0 2 2 2 2 2 2 2 2 2 8 8 8 8 13 8 8 2 0 0

0 2 14 14 14 14 14 14 14 2 2 2 2 2 2 2 2 2 0 0

0 2 14 15 15 15 15 15 14 2 0 0 0 0 0 0 0 0 0 0

0 2 14 15 17 15 18 15 14 2 0 0 0 0 0 0 0 0 0 0

0 2 14 15 17 15 18 15 14 2 0 0 19 19 19 19 19 19 19 0

0 2 14 15 14 14 14 14 14 2 0 0 19 20 20 20 20 19 19 0

0 2 14 15 15 15 15 15 14 2 0 0 19 20 20 20 19 0 0 0

0 2 14 14 14 14 14 14 14 2 0 0 19 0 0 0 0 0 22 0

0 2 2 2 2 2 2 2 2 2 0 0 19 19 19 19 19 19 19 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Fig. 4.18. Exemplu de rezultat al algoritmului de umplere

34
9.1 Minimalizarea zonei de interes
Rezultatele obținute din implementarea pasului de mai sus nu pot fi mereu corecte. Deseori
se pot selecta mai multe fețe sau chiar să nu fie selectată toată suprafața feței, ci doar o anumită
zonă sau mai multe zone diferite. Cu toate acestea, această metodă de mascare poate să nu ofere
rezultatul final, în schimb poate oferi mai multe informații utile care ne vor ajuta la obținera
rezultatului final.

În continuare, se va determina pixelul situat cel mai sus, respectiv cel mai jos iar de aici se
obține modelul de jos și cel de sus al mascării ca în Figura 4.19 A,B dar și diferența ca în Figura
4.19c. Obținerea numărului de pixeli din fiecare coloană este o informație utilă și care ne ajută la
finalizarea următorilor pași. După acest pas, începem de la coloana cu cel mai mare numar de
pixeli, iar fiecare coloană trebuie verificată, deoarece vrem sa nu avem neclarități asupra
îndeplinirii următoarelor condiții:

 Pragul T1 este mai mic decât diferența sus-jos;


 Pixelii din partea dreaptă să fie mai mari decât cei din stânga sau cel puțin
unul dintre ei să fie mai mare decât pragul T2.

Fig. 4.19. Selectarea marginilor din dreapta și stânga

Pentru acest pas, în cazul în care condițiile nu se potrivesc, distanțe laterale primare sunt
afișate în Figura 4.19. În momentul în care metoda de mascarea nu este suficient de precisă, aceasta
nu selectează toată zona feței, iar aceste zone pierdute se măresc cu ajutorul unei zone numite

35
tampon. În Figura 4.20 sunt afișate modelele stânga-dreapta, diferența stânga-dreapta dar și
numărul pixelilor.

Fig. 4.20. Selectarea marginilor de sus și de jos

10. Selectarea regiunii


Orice zonă găsită în imagine va fi caracterizată ca fiind zona cu față sau de fundal. În
continuare este prezentată abordarea acestui subiect ce a fost dezvoltat pe bază de cunoaștere și
observație a structurilor și proprietăților feței.

Ca punct de pornire această fază începe prin identificarea regiunii. Un identificator unic
este alocat fiecărei regiuni și explicându-i-se un algoritm de culoare liniar. Regiunea care deține
un pixel în stânga sus va fi considerată specială, adică regiune de fundal. Această zonă, rezultată
din aflarea profilului, unde pixeli de margine nu sunt marcați, cu toate că sunt puncte ale profilului
care înconjoară toate celelalte regiuni.

 Căsuța de legătură a regiunilor;


 Valorile medii ale componentelor R, G si B ale regiunii;
 Centrul aglomerat al regiunii;
 Suprafața regiuni;
 Dacă suprafața este mai mare sau nu decât pragul suprafeței ales;
 Dacă culoarea regiunii este mai mult culoare pura 85% sau mai mult este
dată de componentele R G sau B, creșterea fiind arătată în Figura 24.

36
Creșterea este formată de restrângere, care foarfecă regiunile, care au
vecinii mai mult neselectați.

De asemenea, se va determina fiecare regiune învecinată și numărul de pixeli de graniță


pentru regiuni. Dacă suprafața unei regiuni este prea mică, zona va fi unită cu o regiune învecinată
a cărei culoare nu diferă prea mult de accea a regiunii de bază iar suprafața este mai mare decât
suprafața zonei de bază, iar pixelul învecinat comun este valoarea maximă între regiunile
învecinate disponibile. Regiunile mic și selectate sunt unite și li se determină proprietățile iar
vecinii sunt combinați. Centrul algorimului, zonei care nu este fundal se consideră centrul feței.
Raza cea mai dintâi a feței este dată de jumătatea părții exterioare, iar cea mai centrală zonă a
regiunilor cu raza rezultată mai mică de 30 pixeli, atunci raza este considerata de 30.

Intensitatea minimă a regiunilor ce pot fi selectate se obține calculând 80% din media
suprafeței sumei componentelor R, G și B care se va împărți la 3 și se va reține această operație
deoarece dacă nu ținem seama, trebuie să foloim de fiecare dată formula, altfel pierdem. Apoi
centrul mesei este recalculat drept centrul zonelor cu intensităti mai mari decât minimul calculat.

După ce determinăm acest centru mult mai exact recalculăm din nou centrul regiunilor cu
internsitate corectă și centrul cel mai aprorpait de raza maximă, dupa care raza este recalculată la
valoarea minimă, drept minimul distanței dintre centrul zonei de margine și se va corecta ca în
primul caz.

Aceată fază este urmată de faza selecției regiunii. Fiecare zonă cu centrul mai apropiat de
centrul determinat decât de rază este selectat drept regiunea feței ca în Figura 4.21. Dacă
intensitatea este mai mare decât minimul intensității zonei, atunci culoarea regiunii este luată în
calcul pentru determinarea culorii medii a zonelor selectate. Pe curba de selecție se calculează
casuța de legatură a feței.

Fig. 4.21. Selectarea regiunii inițiale

37
Se arată în continuare creșterea regiunii inițiale. Acest algoritm anexează regiunile de
selecția curentă, până când vor fi adăugate mai multe zone. Rezultatul selecției de regiuni este
arătat în Figura 4.23.

Fig. 4.22. Selectarea regiunilor după creștere

Fig. 4.23. Selectarea regiunilor după scădere

10.1 Netezirea conturului


Forma obținută cuprinde zone cu o importanță mai scăzută care în mod obligatoriu au fost
șterse sau adăugate feței. Conturul feței umane poate fi mărit dar numai în faza finală. Pentru
aceasta, sunt prezentați urmatorii pasi:

a) Sunt completate profilele interioare

Fig. 4.24. Determinarea unghiului minim

38
b) Conturul formei se poate obține prin distanța de la punctul de contur pana
la centrul măști. Această distanță va fi memorată pe un vector de lungime
MAX_PI, unde i reține distanța conturului din i. Lungimea minimă a
centrului vector Max_PI pâna la unghiul θi 2 π este importantă
deoarece θ rezolutiei lui θi dacă este prea mare, mai mare decât conturul
înmagazinat în Ri, Valoarea MAX_PI se calculează astfel încăt rezoluția să
poată defini că raza cea mai mare, considerată rază maximă, adică
Rmax=200. În Figura 4.24, se observă distanța de un pixel.

În continuare, rezultă valoarea MAX_PI=1256, iar rotunjită ajunge la valoarea


MAX_PI=1250. Apoi, Valorile Ri sunt recalulate, ca fiind valori radiare, iar conturul se schimbă
în imaginea de fundal cu valoarea θi.

Fig. 4.25. Exemplu de Ri multiplu

c) Anumite valori θ, sau Ri, pot rămâne intacte doar atunci când conturul are o
valoare care oșcilează, iar aceste valori pot fi interpretate liniar utilizând
pixeli înconjurători. Trebuie avut în vedere faptul că Ri este un tampon
circular. Atunci când prima valoare a lui Ri nu conține o valoare, adică este
nedefinită, în acel moment pixelul vecin din partea dreaptă trebuie căutat la
capătul vectorului Ri, iar în momentul în care ultima valoare Ri este tot
nedefinită, atunci pixelul vecin din partea dreaptă trebuie să fie căutat la

39
începutul vectorului Ri ca în Figura 4.26.

Fig. 4.26. Căutarea valorilor în vectorul Ri

d) În urma acestor pași urmează o mediană cu lățimea de aproximativ 30 de


pasi și de o filtrare cu lățimea de aproximatic 100 de pași.
e) Conturul feței umane trebuie să fie foarte bine realizat și să fie apropiat de
valoarea profilurilor feței.
f) După obținerea rezultatului de la punctul e, acesta este trecut iarăși printr-
un filtru dar de această dată printr-un filtru median de 30 de pași lățime,
respectiv unul de 100 pași lățime.
g) Ri poate reconstrui conturul feței umane ca în Figura 4.27 iar din conturul
măști rezultă imaginea feței finale ca în Figura 4.28.

Fig. 4.27. Conturul feței

Fig. 4.28. Masca feței finale

40
11. Extragerea caracteristicilor
Ţinta imaginii segmentate regăseşte faţa în imagine. Pentru a realiza etapa de extragere a
caracteristicilor, această regiune va fi controlată pentru a se găsi caracteristicile necesare. În cazul
în care se găsesc mai multe caracteristici, căutarea feţei se va realiza mult mai uşoară dar în același
timp și mult mai exact. Obiectivul principal al acestei etape este acela de a se extrage cât mai multe
caracteristici ale feţei. În continuare sunt prezentate câteva caracteristici care au fost identificate şi
extrase, apoi sunt prezentate alte metode.

11.1 Caracteristici în funcție de distanță și rație


În prima fază vom încerca să extragem cele mai importante caracteristici, apoi vom încerca
găsirea poziţiei lor prin utilizarea algoritmilor de design. O zonă specifică de interes (ROI) este
asignată fiecarui algoritm care defineşte o zonă de căutare pentru rezultatul algoritmului. Regiunea
de interes este calculată în funcţie de parametrii.

12. Alte caracteristici


Din imaginea feței umane pot fi extrase și alte caracteristici. Aceste caracteristici se pot
obține prin calcule locale sau globale. Putem exemplifica câteva caracteristici locale ca, aria,
perimetru sau orientara. De asemenea, pot fi aplicate și transformări Fourier.

12.1 Proprietăți geometrice

Fig. 4.33. Imagine alb negru cu o singură regiune (stânga). În imaginea din dreapta există o cruce
care marchează centrul imaginii.

În paragraful următor vor fi prezentate proprietăţile geometrice ale regiunii R. Se


presupune că pixeli sunt de formă pătratică. Aria lui R este:

𝐴= ∑ 1 (4.1)
(𝑦,𝑥)∈𝑅

Centroid-ul (𝑥̅ , 𝑦̅) este locația medie a pixelilor în setul R. Deși, x și y sunt numere întregi
𝑥̅ și 𝑦̅ sunt numere reale.

41
1
𝑦̅ = × ∑ 𝑦 (4.2)
𝐴
(𝑦,𝑥)∈𝑅

1
𝑥̅ = × ∑ 𝑥 (4.3)
𝐴
(𝑦,𝑥)∈𝑅

Lungimea perimetrului P a unei regiuni este o altă proprietate. O simplă definire a


perimetrului unei regiuni fără găuri este setul pixelilor graniţei interioare. Un pixel al unei regiuni
este un pixel de graniţă dacă are pixeli vecini care se află în afara regiuni. Când se foloseşte 8,
conectivitatea pentru a determina dacă un pixel din regiune este conectat cu un pixel din afara
regiuni, setul rezultat de pixeli de perimetru este 4, conectat.

Când se foloseşte 4, conectivitatea pentru a determina dacă un pixel din regiune este
conectat cu un pixel din afara regiuni, setul rezultat de pixeli de perimetru este 8, conectat. Aceasta
este motivaţia definiţiei perimetrului 4 şi 8 conectivităţii:

𝑃4 = {(𝑦, 𝑥) ∈ 𝑅|𝑁8(𝑦,𝑥) − 𝑅 ≠ Ɵ} (4.4)

𝑃8 = {(𝑦, 𝑥) ∈ 𝑅|𝑁4(𝑦,𝑥) − 𝑅 ≠ Ɵ} (4.5)

Fig. 4.34. Perimetrii. În partea stângă se află perimetrul 4-conectivitate, respectiv în partea
dreaptă cel 8-conectivitate.

Lungimea calculată |P| a perimetrului P, pixeli din P trebuie ordonaţi într-o secvenţă
P={(y0,x0),…,(yk-1,xk-1)}, fiecare pereche de pixeli succesivi din secvenţă fiind vecini, inclusiv
primul si ultimul. Apoi lungimea perimetru |P| este definită ca:

|𝑃| = |{𝑘|(𝑦𝑘+1 , 𝑥𝑘+1 ) ∈ 𝑁4 (𝑦𝑘 , 𝑥𝑘 )}| + √2 × |{𝑘|(𝑦𝑘+1 , 𝑥𝑘+1 ) ∈ 𝑁8 (𝑦𝑘 , 𝑥𝑘 ) − 𝑁4 (𝑦𝑘 , 𝑥𝑘 )}|

Cu aria A si perimetrul P definite, o măsură comună a circularităţii regiunii este lungimea


perimetrului la pătrat împărţită la arie:

42
|𝑃|2
𝐶= (4.7)
𝐴

Un concept foarte util este cutia de restrângeri, un dreptunghi cu părţi orizontale şi verticale
care îngrădesc regiunea și ating cele mai extreme puncte de sus, jos, stânga şi dreapta.

Fig. 4.35 Cutie de încadrare

Momentele spaţiale sunt deseori utilizate pentru a descrie forma unei regiuni. Există trei
momente spaţiale de ordinul al doilea pentru o regiune. Ele sunt definite astfel:

 Momentul de oridnul al doilea vertical

1
𝜇𝑦𝑦 = × ∑ (𝑦 − 𝑦̅)2 (4.8)
𝐴
(𝑦,𝑥)∈𝑅

 Momentul de oridul al doilea orizontal

1
𝜇𝑥𝑥 = × ∑ (𝑥 − 𝑥̅ )2 (4.9)
𝐴
(𝑦,𝑥)∈𝑅

 Momentul de ordinul al doilea amestecat

1
𝜇𝑦𝑥 = × ∑ (𝑦 − 𝑦̅) × (𝑥 − 𝑥̅ ) (4.10)
𝐴
(𝑦,𝑥)∈𝑅

Deci µyy măsoară variaţia orizontală, µxx măsoară variaţia orizontală, iar µyx măsoară
variaţia orizontală şi verticală. Aceste valori sunt adesea folosite ca descriptori de formă, deoarece
sunt invariabili la traziţie şi schimbare de scală a unei forme 2D. Momentele spaţiale secunde au
valoarea şi importanţă pentru regiunea de oricare formă. Dacă regiunea este o elipsă, axa minoră
şi majoră şi orientarea axei de majore poate fi determinată după cum urmează:

43
 Dacă µyx = 0 şi µyy > µxx , atunci axa majoră este orientată la un unghi de
90ş în sens invers ceasornic faţă de axa orizontală şi are o lungime de 4 ×
√𝜇𝑥𝑥 . Axa minoră are o lungime de 4 × √𝜇𝑦𝑦 .

 Dacă µyx = 0 şi µyy <= µxx, atunci axa majoră este orientată la un unghi de
0ş în sens invers ceasornic faţă de axa orizontală şi are o lungime de 4 ×
√𝜇𝑦𝑦 . Axa minoră are o lungime de 4 × √𝜇𝑥𝑥 .

 Dacă µyx != 0 şi µyy > µxx, atunci axa majoră este orientată la un unghi de:

√𝜇𝑦𝑦 + 𝜇𝑥𝑥 + √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 )2 + 4 × 𝜇𝑦𝑥


2

𝑎𝑟𝑐𝑡𝑎𝑛 (4.11)
−2𝜇𝑦𝑥

în sens invers acelor de ceasornic față de axa orizontală și are o lungime


de:

2
√8 × (𝜇𝑦𝑦 + 𝜇𝑥𝑥 + √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 ) + 4 × 𝜇𝑦𝑥
2 ) (4.12)

Axa minoră are o lungime de:

√𝜇𝑦𝑦 + 𝜇𝑥𝑥 − √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 )2 + 4 × 𝜇𝑦𝑥


2 (4.13)

 Dacă µyx != 0 şi µyy <= µxx, atunci axa majoră este orientată la un unghi de:

2
(−2𝜇𝑦𝑥 √𝜇𝑦𝑦 + 𝜇𝑥𝑥 + √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 ) + 4 × 𝜇𝑦𝑥
2 ) (4.14)

în sens invers acelor de ceasornic față de axa orizontală și are o lungime


de:

44
2
√8 × (𝜇𝑦𝑦 + 𝜇𝑥𝑥 + √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 ) + 4 × 𝜇𝑦𝑥
2 ) (4.15)

Axa minoră are o lungime de:

2
√8 × (𝜇𝑦𝑦 + 𝜇𝑥𝑥 − √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 ) + 4 × 𝜇𝑦𝑥
2 ) (4.16)

Fig. 4.37. Elipsa înconjurătoare

Sunt prezente câteva metode pentru detectarea caracteristicilor şi extragerea lor. Aceşti
algoritmi sunt creaţi pentru analiza expresiilor, dar informaţia formelor caracteristicilor feţei poate
fi folosită foarte uşor ca proprietate globală a feţei. Pentru detectarea unei proprietăţi locale se
poate folosi reţeaua wavelet. Această rețea detectează forma dintr-o faţă necunoscută, folosind un
set de feţe cunoscute, care deja au semne pentru toate caracteristicile ce pot fi detectate.

13. Căutarea în baza de date


Căutare în baza de date se realizează prin următorii pași:

45
 Precizia caracteristicilor extrase: Caracteristicile fețelor umane trebuie să
fie cât mai bine identificate, și să aibe o formă stabilă şi invariabilă. Aceste
caracteristici nu ar trebuie sa fie alterate din cauza condițiilor de iluminare,
barbă sau vârstă.
 De regulă căutarea în baza de date ar trebui să obțină o cantitate cât mai
mare de informaţii despre fața umană. În această căutare nu ar trebui să se
țină cont de caracteristici cu ar fi pupila, deoarece nu sunt semnificative. De
partea cealaltă, trebuie să se țină cont de forma feţei deoarece dimensiunile
feţei sunt necesare pentru o căutare precisă.
 În procesul de identificare a unei fețe umane există mai multe moduri, care
dețin abordări diferite, și totodată care au avantaje şi dezavantaje.

13.1 Căutarea fețelor


Metodele de asemănare, dar şi cele mai utilizate sunt bazate în general pe calculele
statistice, iar pentru fiecare persoană din baza de date se definește o zonă a caracteristicilor. În
cazul în care caracteristicile nu sunt precise, atunci setul de parametri poate oșcila în domenii foarte
mari care va conduce la intersecţia nedorită de metode diferite, ceea ce înseamnă că identitatea nu
va fi detectată. În plus, abordările statistice au fost unele de încredere, lăsând la o parte orice
valoare care se află în exteriorul parametrilor acceptați.

Această metodă de căutare a fețelor utilizează combinaţiile distanţei liniare minime.


Distanța liniară se utilizează deoarece trebuie să definească distanţa de la vectorul de verificare
până la clasă.

O altă metodă este cea a celei mai apropiate linii de caracteristici. Două puncte ale unei
caracteristici pentru o anumită persoană pot fi constatate de linia de caracteristici care trece prin
cele două puncte. Această linie de caracteristici poate să obțină mai multe variaţii ale imaginii
decât punctul original şi în acest mode se extinde mărimea bazei de date. Din experimentele făcute
am observat faptul că, o clasificare se poate baza pe acea distanţă minimă începând de la
caracteristica de verificare până la fiecare linie de caracteristică.

14. Aplicația
Aplicația denumită Reacunașterea Facială, este una foarte inteligentă dar în același timp și
una foarte utilă. După cum își are și denumirea, această aplicație poate recunoaște persoanele pe
care le-a mai văzut, mai exact persoanele care au un set de imagini în baza de date a aplicației.
Realizarea acestei aplicații s-a efectuat în limbajul de programare C++, unde au fost introduse
biblioteci ale OpenCV-ului.

În primul pas, aplicația detectează în ce zonă a imaginii se află fața unei persoane sau a mai
multor persoane, iar în cazul în care în imagine se află doar o singură persoană, fața acesteia va fi

46
încadrată într-un frame (fereastră) ca în Figura 4.39, în caz contrar, toate fețele prezente în imagine
vor fi încadrate în mai multe frame-uri.

În pasul al doilea, după ce fața a fost detectată, aplicația captează imaginea feței și o
transformă în grayscale. Odată cu această acțiune, imaginea iși schimbă extensia și devine de tipul
.pgm (Portable Gray Map) ca în Figura 4.38. Acest format a fost creat pentru a putea fi învățat
mult mai usor de către computer. De asemenea, fiecare pixel este reprezentat ca un număr zecial
ASCII de o dimensiune arbitrară, totodată aceștia conțin un spațiu alb înainte și după, și trebuie sa
existe cel puțin un caracter de spațiu alb între oricare alți doi pixeli. În plus, nicio line nu ar trebui
să fie mai lungă de 70 de caractere.

Fig. 4.38. Transformarea imaginii capturate în grayscale

În continuare, se introduc în baza de date imagini cu fețele tuturor persoanelor pe care le-
a detectat dar nu și pentru cele care se află deja în baza de date.

Fig. 4.39. Detectarea și recunoașterea facial

47
BIBLIOGRAFIE

[1] http://scs.etc.tuiasi.ro/iciocoiu/courses/ESL/homeworks/hw2/Capitolul1.pdf
[2] http://documents.tips/documents/tehnici-pentru-recunoasterea-fetei.html
[3] http://rria.ici.ro/ria2013_2/art03.pdf
[4] REDD84 S.S. Reddi, S.F. Rudin and H.R. Keshavan, "An Optimal Threshold Scheme
for image Segmentation", IEEE Trans.actions on Systems, Man, and Cybernetics, Vol. 14,
pp. 661- 665, July/August 1984.
[5] OTSU79 N. Otsu, "A Threshold Selection Method from Gray-Level Histograms",
IEEE Trans.actions on Systems, Man, and Cybernetics, Vol. 9, pp. 62 - 66, 1979.
[6] Shan, S., Chang, Y., Gao, W., Cao, B., “Curse Of Mis-Alignment In Face Recognition:
Problem And A Novel Mis-Alignment Learning Solution”, Proc. AFGR, pp. 314-320, 2004.
[7] REDD84 S.S. Reddi, S.F. Rudin and H.R. Keshavan, "An Optimal Threshold Scheme
for image Segmentation", IEEE Trans.actions on Systems, Man, and Cybernetics, Vol. 14,
pp. 661- 665, July/August 1984.
[8] OTSU79 N. Otsu, "A Threshold Selection Method from Gray-Level Histograms", IEEE
Trans.actions on Systems, Man, and Cybernetics, Vol. 9, pp. 62 - 66, 1979.
[9] Kreutz, M., Volpel, B., Jansen, H., "Scale-Invariant Image Recognition Based on Higher Order
Autocorrelation Features", Pattern Recognition, vol. 29, no. 1, pp. 19-26, 1996
[10] Kurita, T., Hotta, K., Mishima, T., "Scale and rotation invariant recognition method using
high-order local autocorrelation features of log-polar image", Proc. Asian Conf. on Computer
Vision, pp. 89-96, 1998
[11] Lai, J.H., Yuen, P.C., Feng, G.C., "Face Recognition Using Holistic Fourier Invariant
Features", Pattern Recognition, vol. 34, pp. 95-109, 2001
[12] Simard, P.Y., Le Cun, Y.A., Denker, J.S., Victorri, B., "Transformation Invariance in Pattern
Recognition – Tangent Distance and Tangent Propagation", Int. J. Imaging System and
Technology, vol. 11, Issue 3, pp. 181-194, 2001
[13] Zhao, W., Chellappa, R., Rosenfeld, A., Phillips, P.J., “Face Recognition: A Literature
Survey”, ACM Computing Surveys, pp. 399-458, 2003

48

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