Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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.
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:
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.
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.
6
Extragere de
Achiziție și
preprocesare
trăsaturi și Clasificare Decizie
reprezentare
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.
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ă
8
specialitate există câteva răspunsuri, arătând că aproximativ 5 imagini sunt de ajuns pentru a
acoperi toate unghiurile de vedere.
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.
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.
a) Codare predictivă;
b) Transformate liniare;
c) Cuantificare.
𝑦𝑛 = 𝑊𝑥𝑛 , 𝑛 = 1 … 𝑁 (3)
12
𝐷
𝑥𝑛 = ∑ 𝑤𝑖,𝑛 𝑢𝑖 , 𝑛 = 1 … 𝑁 (3.1)
𝑖=1
Î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:
𝑀 𝐷
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:
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:
∑𝐾
𝐽=1 𝐼𝑗
𝐼̅ = (3.8)
𝑘
𝐼𝑗𝑐𝑒𝑛𝑡𝑟𝑎𝑡 = 𝐼𝑗 − 𝐼 ̅ (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)
𝑘
∑𝑗𝑖=1 λ𝑖
(3.12)
∑(𝑀×𝑁)
𝑗=1 λ𝑗
Graficul care este menționat mai sus poate defini numărul de valori şi de
vectori semnificativi.
15
𝐷
𝑥×𝑦
𝐶𝑜𝑠. 𝑢𝑛𝑔ℎ𝑖𝑢𝑙𝑢𝑖 𝑑𝑖𝑛𝑡𝑟𝑒 𝑣𝑒𝑐𝑡𝑜𝑟𝑖: 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:
16
Fig. 3. Metoda PCA (Analiza pe Componente Principale)
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)
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 𝑤 𝑆𝑊 𝑤
𝑆𝐵 = (𝑚2 − 𝑚1 )(𝑚2 − 𝑚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.
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ă.
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.
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.
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ă.
Î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
22
Fig. 4.3. Filtru Median. Imagine cu erori în partea stângă. Imaginea filtrată în partea dreaptă.
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.
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
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.
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)
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ă
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.
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:
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ă.
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.
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
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:
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.
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.
36
Creșterea este formată de restrângere, care foarfecă regiunile, care au
vecinii mai mult neselectați.
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.
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.
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.
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.
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.
Fig. 4.33. Imagine alb negru cu o singură regiune (stânga). În imaginea din dreapta există o cruce
care marchează centrul imaginii.
𝐴= ∑ 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)
𝐴
(𝑦,𝑥)∈𝑅
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:
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 (𝑦𝑘 , 𝑥𝑘 )}|
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.
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:
1
𝜇𝑦𝑦 = × ∑ (𝑦 − 𝑦̅)2 (4.8)
𝐴
(𝑦,𝑥)∈𝑅
1
𝜇𝑥𝑥 = × ∑ (𝑥 − 𝑥̅ )2 (4.9)
𝐴
(𝑦,𝑥)∈𝑅
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:
𝑎𝑟𝑐𝑡𝑎𝑛 (4.11)
−2𝜇𝑦𝑥
2
√8 × (𝜇𝑦𝑦 + 𝜇𝑥𝑥 + √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 ) + 4 × 𝜇𝑦𝑥
2 ) (4.12)
Dacă µyx != 0 şi µyy <= µxx, atunci axa majoră este orientată la un unghi de:
2
(−2𝜇𝑦𝑥 √𝜇𝑦𝑦 + 𝜇𝑥𝑥 + √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 ) + 4 × 𝜇𝑦𝑥
2 ) (4.14)
44
2
√8 × (𝜇𝑦𝑦 + 𝜇𝑥𝑥 + √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 ) + 4 × 𝜇𝑦𝑥
2 ) (4.15)
2
√8 × (𝜇𝑦𝑦 + 𝜇𝑥𝑥 − √(𝜇𝑦𝑦 − 𝜇𝑥𝑥 ) + 4 × 𝜇𝑦𝑥
2 ) (4.16)
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.
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.
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.
Î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.
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