You are on page 1of 98

ACADEMIA TEHNIC MILITAR

Facultatea de Sisteme Electronice i Informatice


Militare
SPECIALIZAREA "CALCULATOARE I SISTEME
INFORMATICE PENTRU APRARE I SECURITATE
NAIONAL"

ALGORITM DE IDENTIFICARE A IMPOSTORILOR
PENTRU APLICAII DE RECUNOATERE FACIAL

Realizator:
Std. sg. maj. Lidia-Bianca DUNREANU


Coordonator tiinific:
Cpt. dr. ing. tefan-Adrian TOMA

Conine ________file
Inventariat sub nr. ______
Poziia din indicator: ____
Termen de pstrare: _____



NECLASIFICAT
4 din 100

ABSTRACT

The face plays an essential role in social relationships, communication and
emotions. The ability to detect human faces is pretty robust, despite large changes
in the visual stimulus due to viewing conditions, expression, aging and other
disruptive factors such as the presence of glasses, beard or hairstyle changes.
Biometric systems based on facial recognition can often be attacked in
various forms: attacks on image capture devices face, on the transmission channel,
the storage system or even recognition system itself. These attacks are carried out
primarily through physical forcing the client to appear in front of the image sensor,
a person can change his appearance to resemble the customer and the impostor may
use a prerecorded image of the client to scam the system.
The algorithm presented in this paper is designed to resolve the last attack on
biometric systems, verifying if facing a system that takes two pictures
simultaneously is a real person or an image of the person.
To achieve the goal of realizing an algorithm able to detect the impostor in
front of a facial recognition system the paper has been divided into two parts:
1. The first part consists in the study of facial recognition, biometric
systems in general and their errors and fraud.

2. The second part consists in the study of the algorithm for detecting the
impostor, details of the steps followed to deploy the application and
the results of its testing.

The final result of this paper is a functional application for the detection of
an impostor in facial recognition process.




NECLASIFICAT
5 din 100

REZUMAT

Faa joac un rol esenial n relaiile sociale, n comunicarea identitii i a
emoiilor. Capacitatea uman de a detecta fee este destul de robust, n ciuda
schimbrilor mari n stimulul vizual datorate condiiilor de vizualizare, expresiei,
mbtrnirii i altor factori perturbatori precum prezena ochelarilor, a brbii sau
schimbri ale coafurii.
Sistemele biometrice care se bazeaz pe recunoatere facial pot fi adesea
atacate sub diverse forme: atacuri asupra dispozitivelor de captare a imaginii feei,
asupra canalului de transmisie, asupra sistemului de stocare sau chiar asupra
sistemului de recunoatere propriu-zis. Aceste atacuri se realizeaz n primul rnd
prin forarea fizic a clientului pentru a aprea n faa senzorului de prelevare a
imaginii, n al doilea rnd o persoan i poate schimba nfiarea pentru a semna
cu clientul i n al treilea rnd impostorul poate folosi o imagine prenregistrat a
clientului pentru a nela sistemul.
Algoritmul pe care l propun n aceast lucrare are rolul de a rezolva ultimul
atac asupra sistemelor biometrice, verificnd dac n faa unui sistem care preia
dou imagini simultan este o persoan real sau imaginea fotografiat a acestei
persoane.
Pentru a atinge obiectivul de a realiza un algoritm capabil s detecteze
impostorul din faa unui sistem de recunoatere facial aceast lucrare a fost
mprit n dou pri:
1. Prima parte const n studiul procesului de recunoatere facial, a
sistemelor biometrice n general i a erorilor acestora, precum i
modalitile de fraudare a acestora.
2. A doua parte const n studiul algoritmului de detecie a impostorului,
detalierea pailor urmai pentru a implementa aplicaia, precum i
rezultatele testrii acesteia.

Rezultatul final al acestei lucrri este implementarea funcional a unei
aplicaii pentru detectarea impostorului n procesul de recunoatere facial.




NECLASIFICAT
6 din 100

CUPRINS

ABSTRACT .......................................................................................................... 4
REZUMAT............................................................................................................ 5
LIST DE FIGURI ............................................................................................... 8
LIST DE TABELE ........................................................................................... 10
1. INTRODUCERE ................................................................................................. 11
1.1 Scopul lucrrii .............................................................................................. 13
1.2 Structura lucrrii .......................................................................................... 13
2. SISTEME BIOMETRICE PENTRU RECUNOATERE FACIAL ............... 14
2.1 Introducere...................................................................................................... 14
2.2 Sistemele biometrice ...................................................................................... 15
2.3 Erorile sistemelor biometrice ......................................................................... 19
2.3.1 Erorile sistemelor de verificare ............................................................... 19
2.3.2 Erorile sistemelor de identificare ............................................................ 23
2.4 Sistemul de recunoatere facial .................................................................... 23
2.5 Aplicaii ale sistemelor de recunoatere facial ............................................. 25
2.6 Modaliti de fraudare .................................................................................... 27
3. ALGORITMUL DE DETECIE A IMPOSTORULUI .................................... 29
3.1 Realizarea sistemului...................................................................................... 29
3.2 Descrierea algoritmului .................................................................................. 31
3.2.1 Preluare imagini ...................................................................................... 32
3.2.2 Detecie facial ........................................................................................ 32
3.2.3 Detecia punctelor de interes ................................................................... 39
3.2.4 Stabilirea corespondenei punctelor din imagini .................................... 43
3.2.5 Calcularea adncimilor ............................................................................ 48
3.2.6 Corectarea erorilor ................................................................................... 49


NECLASIFICAT
7 din 100

3.2.7 Gruparea punctelor de interes ................................................................. 51
3.2.8 Decizia ..................................................................................................... 52
4. REZULTATE EXPERIMENTALE ................................................................... 54
4.1 IMPLEMENTARE ......................................................................................... 54
4.1.1 Instalarea bibliotecii OpenCV ................................................................. 54
4.1.2 Instalarea coleciei de funcii mexopencv ............................................... 62
4.1.3 Implementarea algoritmului .................................................................... 64
4.2 REZULTATE ................................................................................................. 73
5. CONCLUZII ....................................................................................................... 85
5.1 Direcii viitoare de cercetare .......................................................................... 86
ANEXA A ........................................................................................................... 87
BIBLIOGRAFIE ................................................................................................. 98




NECLASIFICAT
8 din 100

LIST DE FIGURI

Figura 2.1 - nscrierea n sistem[2]. ........................................................................ 17
Figura 2.2 - Sistem de verificare[2]. ....................................................................... 17
Figura 2.3 Sistem de identificare[2]. .................................................................... 18
Figura 2.4 Calculul FNMR i FMR[2]. ................................................................. 21
Figura 2.5 Curba ROC[2]. .................................................................................... 22
Figura 2.6 Blocurile componente ale feei.[12] .................................................... 97
Figura 3.1- Sistemul practic. .................................................................................. 30
Figura 3.2 Sistemul teoretic[4]. ............................................................................. 30
Figura 3.3- Paii algoritmului. ................................................................................. 31
Figura 3.4 Preluarea imaginilor. ............................................................................ 32
Figura 3.5Tipuri de trsturi (A,B cu dou dreptunghiuri, C cu trei
dreptunghiuri, D cu patru dreptunghiuri)[5]. ........................................................ 33
Figura 3.6 Exemplu de calculare a imaginii integrale [6]. .................................... 34
Figura 3.7 Forme ale caracteristicilor Haar[6] ...................................................... 35
Figura 3.8 Calcularea unui dreptunghi R dup formula L
4
- L
3
-L
2
+L
1
[6] ........... 35
Figura 3.9 Cascada de detecie. ............................................................................. 37
Figura 3.10 Prima i a doua trstur selectat de algoritmul AdaBoost[5]. ........ 38
Figura 3.11- Imaginile fr fundal. ......................................................................... 39
Figura 3.12 Trsturi extrase[8]. ........................................................................... 42
Figura 3.13 Detecia punctelor de interes cu algoritmul Harris. ........................... 43
Figura 3.14 Corespondena punctelor de interes. .................................................. 48
Figura 3.15 Triangularea. ...................................................................................... 48
Figura 3.16 - Baza de date a impostorilor. .............................................................. 50
Figura 4.1 Verificare dac FFMPEG instalat. ....................................................... 58
Figura 4.2 Configurare OpenCV. .......................................................................... 59
Figura 4.3 Configurare fiier bash.bashrc. ........................................................... 60
Figura 4.4 Exemplu calibrare folosing OpenCV. ................................................ 61
Figura 4.5 Localizare bibliotec libstdc++.so.6. ................................................... 63
Figura 4.6 Implementare algoritm. ......................................................................... 64
Figura 4.7 Preluare imagini. .................................................................................. 65
Figura 4.8 Detectare facial. ................................................................................. 66


NECLASIFICAT
9 din 100

Figura 4.9 Imaginile procesate(fr fundal). ......................................................... 66
Figura 4.10 Detecie puncte de interes. ................................................................. 67
Figura 4.11 Corespondena punctelor de interes. .................................................. 67
Figura 4.12 Alegerea numrului de clustere. ........................................................ 69
Figura 4.13 Stabilirea valorii de prag T. ............................................................... 70
Figura 4.14 Rata potrivirii false(FMR)=0. ............................................................ 71
Figura 4.15 Rata nepotrivirii false(FRR)=0. ......................................................... 71
Figura 4.16 Echilibru ntre FMR i FRR. ............................................................. 72
Figura 4.17 - Imagini provenite de la camerele Logitech. ...................................... 73
Figura 4.18 Alegerea valorii de prag T pentru primul experiment. ...................... 74
Figura 4.19 Rezultate obinute pentru noi subieci testai. .................................... 75
Figura 4.20 Rezultatele testrii pe noi subieci reali i impostori. ........................ 76
Figura 4.21 Variaia mediei pentru subieci reali. ................................................. 77
Figura 4.22 Variaia mediei pentru subieci reali. ................................................ 78
Figura 4.23 Imagini ale subiecilor reali preluate cu telefonul HTC EVO 3D. .... 79
Figura 4.24 Preluare imagini impostori cu telefonul HTC EVO 3D. ................... 79
Figura 4.25 Alegerea valorii T pentru al doilea experiment. ................................ 80
Figura 4.26 Introducerea unor subieci reali noi n baza de date studiat anterior
.................................................................................................................................. 81
Figura 4.27 Variaia mediei algoritmului la testarea a dou imagini ale subiecilor
reali. .......................................................................................................................... 82
Figura 4.28 - Variaia mediei algoritmului la testarea a dou imagini ale
impostorilor. ............................................................................................................. 83




NECLASIFICAT
10 din 100

LIST DE TABELE

Tabel 3.1 Algoritmul AdaBoost. ............................................................................ 36
Tabel 3.2 Algoritmul Harris[19]. .......................................................................... 43
Tabel 3.3 Algoritmul Lucas-Kanade piramidal[21]. .............................................. 46
Tabel 3.4 Algoritmul K-means............................................................................... 52
Tabel 3.5 Algoritm de calculare a mediei. ............................................................. 53



NECLASIFICAT
11 din 100


Capitolul 1

INTRODUCERE

Faa unei persoane reprezint caracteristica cea mai important n
recunoaterea unei persoane. Capacitatea uman de a recunoate feele este
remarcabil: putem recunoate mii de figuri nvate de-a lungul vieii i identifica
feele familiare dintr-o singur privire chiar dup ani de zile. Aceast capacitate
este destul de robust, n ciuda schimbrilor mari n stimulul vizual datorate
condiiilor de vizualizare, expresiei, mbtrnirii i altor factori perturbatori precum
prezena ochelarilor, a brbii sau schimbri ale coafurii.
Identitatea unei persoane este reprezentat de un set extins, complex, variabil
n timp i nu ntotdeauna uor de definit de trsturi personalizate, de natur
anatomic, fiziologic sau comportamental . O parte din aceste caracteristici pot fi
folosite pentru implementarea sistemelor biometrice capabile s recunoasc i s
valideze autenticitatea identitii unei persoane, ca de exemplu amprentele, forma
geometric a minii, urechea, vocea, faa sau irisul.[1]
Spre deosebire de metodele tradiionale de identificare a unei persoane,
precum legitimaiile, parolele sau codurile PIN (Personal Identification Number)
care pot fi transmise altor persoane sau ghicite, informaiile biometrice nu pot fi
pierdute, furate sau uitate , ns uneori pot fi reproduse cu o bun acuratee pentru a
frauda sistemele de recunoatere: de exemplu cu fotografia unei fee, impresia unei
amprente digitale sau nregistrarea unei voci.
Pentru definirea i msurarea performanelor trebuie avute n vedere
urmtoarele elemente ce compun un sistem biometric ideal:
toi membrii populaiei posed caracteristicile pe care sistemul le identific
fiecare semntur biometric a unei persoane difer de semnturile tuturor
celorlalte persoane din populaia supus analizei
semntura biometric nu variaz semnificativ n funcie de condiiile
particulare n care este extras
sistemul rezist tentativelor de fraudare a semnturilor. [1]


NECLASIFICAT
12 din 100

Avantajul folosirii sistemelor biometrice bazate pe recunoatere facial este
c poate fi folosit i n scopuri de supraveghere, pe lng cutarea teroritilor, a
criminalilor sau a copiilor disprui, deoarece este o tehnic neinvaziv (nu
presupune contact direct ntre subiect i senzor) i astfel subiecii nu tiu c sunt
scanai.
Sistemele biometrice care se bazeaz pe recunoatere facial pot fi adesea
atacate sub diverse forme: atacuri asupra dispozitivelor de captare a imaginii feei,
asupra canalului de transmisie, asupra sistemului de stocare sau chiar asupra
sistemului de recunoatere propriu-zis. Aceste atacuri se realizeaz n primul rnd
prin forarea fizic a clientului pentru a aprea n faa senzorului de prelevare a
imaginii, n al doilea rnd o persoan i poate schimba nfiarea pentru a semna
cu clientul i n al treilea rnd impostorul poate folosi o imagine prenregistrat a
clientului pentru a nela sistemul.[22]
Atacurile care folosesc imaginea prenregistrat a clientului reprezint cea mai
simpl i cea mai ieftin metod de atac, din moment ce faa persoanelor este foarte
uor accesibil publicului (poate fi descrcat de pe paginile web sau capturat fr
acordul subiectului). Impostorul poate roti, deplasa sau ndoi fotografia n faa
camerelor, exact ca o persoan real pentru a nela sistemul de autentificare.
O metod de protecie mpotriva acestor atacuri ale impostorului se bazeaz pe
detecia micrii feei, cum ar fi clipitul ochilor i micrile scurte, involuntare ale
prilor feei i capului. Totui, aceast metod este n continuare uor de nelat
prin folosirea unui scurt filmule a utilizatorului real pe un laptop n faa sistemului
de recunoatere facial.
O alt metod de securizare a sistemelor de recunotere facial mpotriva
atacurilor impostorului a fost conceput astfel nct s pun utilizatorul s se uite
ntr-o direcie aleatoriu aleas de ctre sistem. Sistemul estimeaz apoi poziia
capului bazndu-se pe detecia i urmrirea caracteristicilor principale ale feei i
apoi verific dac direcia feei s-a schimbat.
O alt modalitate de protecie mpotriva atacului cu imagini prenregistrate se
bazeaz pe calcularea adncimilor din dou imagini preluate simultan de la dou
camere identice.



NECLASIFICAT
13 din 100

1.1 Scopul lucrrii

Obiectivul acestei lucrri este de a implementa un algoritm de detecie a
impostorilor pentru aplicaii de recunoatere facial descris n articolul [4] care s
contribuie astfel la creterea nivelului de securitate al acestor aplicaii.
Paii urmai pentru a putea atinge obiectivul acestei lucrri sunt urmtorii:
1. nregistrarea a dou imagini simultan de la dou camere poziionate
corespunztor.
2. n imaginile nregistrate sunt detectate feele.
3. Se selecteaz punctele de interes din prima imagine. Un punct de interes
reprezint un punct n care funcia imagine are variaii importante n toate direciile.
4. Se stabilete o coresponden ntre punctele din prima imagine cu cele din cea
de-a doua imagine.
5. Se calculeaz adncimile punctelor folosind un algoritm de triangulare.
6. Decizia se ia n funcie de tabela de adncimi calculat, deoarece pentru o
imagine printat a impostorului aceasta va semna cu cea a unei suprafee plane.

1.2 Structura lucrrii

n continuare lucrarea este structurat astfel: n capitolul 2 este prezentat
procesul de recunoatere facial, n capitolul 3 este prezentat algoritmul de detecie
a impostorilor n aplicaiile de recunoatere facial, iar n capitolul 4 vor fi
prezentate rezultatele experimentale ale algoritmului implementat.



NECLASIFICAT
14 din 100

Capitolul 2

SISTEME BIOMETRICE PENTRU RECUNOATERE
FACIAL

n acest capitol sunt prezentate noiuni generale privind sistemele
biometrice, particulariznd apoi pentru sistemele care folosesc recunoaterea
facial.

2.1 Introducere

Recunoaterea feelor reprezint un proces pe care toate persoanele l fac fr
efort, ns rmne o problem dificil n domeniul calculatoarelor, unde cercetarea
pentru obinera unor soluii tehnologice utile este n plin dezvoltare.
Problema recunoaterii faciale poate fi rezumat ca identificarea unei
persoane din imagini ale feei i implic mai multe domenii: recunoaterea
formelor, biometrie i securitate, procesarea numeric a semnalelor.
Recunoaterea automat a feelor umane cuprinde o varietate de tehnologii
diferite. La cel mai nalt nivel, tehnologiile sunt cel mai bine difereniate n funcie
de mediul de intrare folosit: lumina vizibil, infrarou sau date tridimensionale.
Pn n prezent, domeniul s-a concentrat pe imagini fotografice, n nuane de gri i
acum se dezvolt interesul pentru recunoaterea feelor n videoclipuri color.
Fiecare mediu de intrare utilizat pentru recunoaterea facial aduce robusteea n
anumite condiii, de exemplu imaginile n infrarou sunt practic invariante la
condiii de luminozitate, pe cnd cele tridimensionale sunt, n teorie, invariante la
poziia capului. Totui, imagistica n spectrul luminii vizibile va rmne domeniul
de proeminen pentru cercetare i aplicaii de recunoatere facial din cauza
cantitii mari de date i a echipamentului de captur ieftin.[22]



NECLASIFICAT
15 din 100

2.2 Sistemele biometrice

Biometria reprezint tiina identificrii sau verificrii identitii unei
persoane pe baza caracteristicilor fizice msurabile, robuste i particulare sau
comportamentale ale acesteia.
Caracteristica msurabil se refer la faptul c trstura trebuie s fie uor
de prezentat unui senzor, detectat i convertit ntr-un format digital i
cuantificabil. Aceast msurabilitate permite potrivirea n cteva secunde i astfel
automatizeaz procesul.[23]
Robusteea unei caracteristici se refer la msura n care caracteristica sau
trstura este supus unor modificri semnificative n timp. Aceste modificri pot
aprea ca rezultat al mbtrnirii, mbolnvirii sau expunerii la substane chimice. O
caracteristic robust nu se modific semnificativ n timp, n timp ce una mai puin
robust va fi afectat de schimbri. De exemplu, irisul, care se modific foarte
puin peste ani, este mai robust dect vocea cuiva.[23]
Particularitatea este o msur a variaiilor sau diferenelor n abloanele
biometrice din rndul populaiei. Cu ct este mai mare gradul de particularitate, cu
att mai individual este identificatorul. Un grad mai sczut de particularitate indic
un ablon biometric frecvent ntlnit n rndul populaiei. Irisul i retina au grade
mai mari de particularitate dect geometria minii sau a degetelor.[23]
Caracteristicile fizice sunt msurate la un moment de timp i includ:
amprentele digitale, faa, geometria minii, irisul, retina, forma urechii, mirosul,
reflexia pielii, termogramele etc.
Caracteristicile comportamentale presupun msurarea variaiei acestora pe o
durat de timp i includ: scrisul, vocea, mersul, modul de tastare, micarea buzelor
etc.
Pentru definirea i msurarea performanelor trebuie avute n vedere
urmtoarele elemente ce compun un sistem biometric ideal:
toi membrii populaiei posed caracteristicile pe care sistemul le identific
fiecare semntur biometric a unei persoane difer de semnturile tuturor
celorlalte persoane din populaia supus analizei
semntura biometric nu variaz semnificativ n funcie de condiiile
particulare n care este extras .
sistemul rezist tentativelor de fraudare a semnturilor.[1]


NECLASIFICAT
16 din 100

Un sistem biometric practic trebuie s aib acuratee a recunoaterii i vitez
acceptabile, cu cerine rezonabile privind resursele, s nu fie nociv utilizatorilor, s
fie acceptat de grupul int i suficient de robust la diferite metode de fraudare.
Un sistem biometric poate opera n:
modul verificare: Sistemul biometric autentific identitatea unei persoane prin
compararea caracteristicii biometrice curente cu modelul biometric de referin al
acelei persoane, stocat anterior n sistem. Acesta efectueaz o comparaie 1:1
pentru a determina dac identitatea pretins de ctre individ este cea adevrat.
Sistemul de verificare respinge sau accept identitatea susinut.
modul identificare: Sistemul recunoate un individ prin compararea
caracteristicii biometrice curente cu ntreaga baz de date de modele biometrice de
referin. Acesta efectueaz comparaii de tipul 1: N pentru a determina identitatea
individului. ntr-un sistem de identificare, sistemul stabilete identitatea subiectului
(sau nu, dac subiectul nu este nregistrat n baza de date a sistemului) fr ca
acesta s pretind a avea o identitate.[2]

Fazele realizrii unui sistem biometric sunt urmtoarele:
1. Realizarea modulului de nscriere responsabil de nregistrarea utilizatorilor
n baza de date a sistemului biometric. n faza de nscriere, caracteristica biometric
a utilizatorului este mai nti scanat cu un cititor biometric pentru a se obine o
reprezentare numeric primar a caracteristicii. Apoi, este efectuat n general un
control de calitate pentru a se asigura c eantionul biometric obinut poate fi
prelucrat corespunztor n etapele urmtoare. Pentru a facilita compararea,
reprezentarea numeric primar este de obicei prelucrat mai departe de ctre un
extractor de caracteristici pentru a genera o reprezentare compact denumit ablon
biometric. n funcie de aplicaie, ablonul biometric poate fi stocat n baza de date
central a sistemului biometric sau poate fi nregistrat pe o cartel magnetic sau pe
un smartcard emis individului.[2]
Schema bloc care reprezint nscrierea unei persoane n sistem este
reprezentat n figura 2.1.



NECLASIFICAT
17 din 100


Figura 2.1 Modulul de nscriere [2].

2. Realizarea sistemului de verificare care este responsabil de verificarea
indivizilor la punctul de acces. n timpul acestei faze, este introdus numele
utilizatorului sau codul PIN cu ajutorul unei tastaturi; cititorul biometric scaneaz
caracteristica individului i o convertete ntr-un format digital, care este mai
departe procesat de extractorul de caracteristici pentru a produce o reprezentare
digital compact. Reprezentarea rezultat este furnizat comparatorului de
caracteristici, care o compar cu ablonul unui singur utilizator (regsit din baza de
date a sistemului pe baza codului PIN al utilizatorului).[2]
Schema bloc a unui sistem de verificare este reprezentat n figura 2.2.


Figura 2.2 - Sistem de verificare[2].

ntr-un sistem de identificare, nu este furnizat nici un cod PIN i sistemul
compar reprezentarea biometric de intrare cu abloanele biometrice ale tuturor
utilizatorilor din baza de date a sistemului; ieirea este fie identitatea unui utilizator
nscris sau un mesaj de eroare precum utilizator neindentificat. Deoarece


NECLASIFICAT
18 din 100

identificarea n bazele mari de date este intens computaional, sunt utilizate adesea
tehnici de clasificare i indexare pentru a limita numrul de abloane biometrice cu
care trebuie comparat intrarea[2].
Schema bloc care reprezint un sistem de identificare este prezentat n
figura 2.3.


Figura 2.3 sistem de identificare[2].

O aplicaie biometric poate opera ntr-un mod de recunoatere pozitiv sau
negativ:
- n recunoaterea pozitiv, sistemul stabilete dac persoana este cea care
pretinde c este. Scopul unei recunoateri pozitive este prevenirea folosirii
aceleiai identiti de ctre mai multe persoane. De exemplu, dac numai
Dunreanu este autorizat s ptrund ntr-o anumit arie de securitate, atunci
sistemul i va permite accesul numai acestuia. Dac sistemul nu reuete s
potriveasc ablonul nregistrat al lui Dunreanu cu intrarea, rezult o
respingere; altfel, rezult o acceptare;
- ntr-o aplicaie de recunoatere negativ, sistemul stabilete dac persoana
este cea care pretinde c nu este. Scopul recunoaterii negative este
prevenirea folosirii mai multor identiti de ctre o singur persoan. De
exemplu, dac Dunreanu a primit deja ajutoare sociale i acum pretinde c
este Ionescu i dorete s primeasc ajutoare sociale n numele acestuia,
sistemul va stabili dac Ionescu nu este ceea ce pretinde a fi. Dac sistemul
nu reuete s potriveasc intrarea biometric a lui Ionescu cu baza de date a
persoanelor care au primit deja ajutoare sociale, rezult o acceptare; altfel,
rezult o respingere.[2]


NECLASIFICAT
19 din 100


Arhitectura unui sistem biometric generic include urmtoarele module:
a) un senzor utilizat pentru colectarea infomaiilor primare i conversia acestora
n format digital
b) un algoritm de procesare de semnal care va extrage o semntur biometric
adecvat
c) o baz de date n care se stocheaz semnturi provenind de la o populaie de
subieci
d) o procedur de comparaie a semnturii corespunztoare unei persoane
necunoscute cu cele stocate n baza de date
e) o procedur de decizie (complet automat sau asistat de ctre om) care
utilizeaz rezultatul comparaiei anterioare n vederea efecturii unei aciuni.[1]

2.3 Erorile sistemelor biometrice

Specificaiile tehnice ale unui sistem biometric de autentificare includ de
obicei cerine precum erorile maxime permise. Unele dintre aceste erori sunt
inerente, autentificarea biometric fiind n esen o aplicaie de recunoatere a
formelor; alte erori sunt specifice sistemelor biometrice de autentificare. Ceea ce
este evident este c orice sistem biometric de autentificare va avea erori i c
valoarea real a acestor erori nu poate fi calculat sau stabilit teoretic; este posibil
s obinem doar estimri statistice ale erorilor utiliznd baze de date de test de
eantioane biometrice.
Comparatorul unui sistem biometric preia dou eantioane de date
biometrice i determin un scor care indic similitudinea acestora. ntr-un sistem de
verificare acest scor se utilizeaz ca un mijloc de a determina dac cele dou
eantioane biometrice provin de la acelai caracteristic biometric real.[2]

2.3.1 Erorile sistemelor de verificare

Fie T ablonul biometric stocat al unei persoane i I reprezentarea biometric
a intrrii curente. Atunci ipotezele de nul i alternativ sunt urmtoarele:
H0 : I T , intrarea nu provine de la aceeai persoan ca i ablonul;
H1 : I = T , intrarea provine de la aceeai persoan ca i ablonul.


NECLASIFICAT
20 din 100



Deciziile comparatorului biometric sunt dup cum urmeaz:
D0 : persoana nu este cine pretinde a fi;
D1 : persoana este cine pretinde a fi.[2]

Verificarea implic compararea reprezentrilor biometrice T i I utiliznd un
scor de similitudine s (T, I ). Dac scorul de potrivire este mai mic dect pragul
sistemului t, atunci se ia decizia D0 , altfel se ia decizia D1. O astfel de formulare a
testrii ipotezelor conine n mod inerent dou tipuri de erori:
Tipul I: potrivire fals (se decide D1 cnd H0 este adevrat);
Tipul II: nepotrivire fals (se decide D0 cnd H1 este adevrat).

Rata potrivirii false (FMR) este probabilitatea erorii de tipul I (numit i
nivelul de semnificaie al testului ipotezelor) iar rata nepotrivirii false (FNMR) este
probabilitatea erorii de tipul II[2]:
FMR = P(D1|H0 = adevrat) (2.1)
FNMR = P(D0|H1 = adevrat) (2.2)
Pentru a evalua acurateea unui sistem biometric se colecteaz scoruri
generate de acelai utilizator (distribuia p(s|H1 = adevrat) a unor asemenea
scoruri este numit n mod tradiional distribuia scorurilor utilizatorilor legitimi), i
scoruri generate de utilizatori diferii (distribuia p(s|H0 = adevrat) a unor
asemenea scoruri este numit n mod traditional distribuia scorurilor impostorilor).
Figura 2.4 ilustreaz grafic calculul FMR i FNMR din distribuiile scorurilor
utilizatorilor legitimi i ale impostorilor[2]:
(|


(2.3)
(|


(2.4)



NECLASIFICAT
21 din 100


Figura 2.4 calculul FNMR i FMR[2].

Exist un compromis ntre FMR i FNMR: dac scdem t pentru ca sistemul
s fie mai tolerant la variaiile intrrii i zgomotului, atunci FMR(t) crete. Dac t
crete pentru ca sistemul s fie ct mai sigur, atunci FNMR(t) crete.

Proiectantul sistemului poate s nu cunoasc dinainte aplicaia particular
pentru care va fi utilizat sistemul (sau acelai sistem poate fi proiectat pentru o
varietate larg de aplicaii). Astfel, este recomandabil s se raporteze performanele
sistemului pentru toate punctele de operare (pragurile t). Aceasta se face prin
trasarea curbei ROC. Curba ROC este graficul FMR n funcie de (1 FNMR) din
figura 2.5[2].


NECLASIFICAT
22 din 100


Figura 2.5 curba ROC[2].

Indicatori pentru a exprima eficacitatea unui sistem sunt:
Rata erorilor egale (EER) reprezint rata erorii corespunztoare pragului t
pentru care rata potrivirii false i cea a nepotrivirii false sunt egale:
FMR(t )= FNMR(t ). n practic, deoarece distribuiile scorurilor de potrivire
nu sunt continue (datorit numrului limitat de perechi de scoruri care se
potrivesc i cuantificrii scorurilor de ieire), poate s nu existe un punct
EER exact. n acest caz, n loc de o singur valoare, trebuie raportat un
interval. Dei EER este un indicator important, n practic, un sistem
biometric este rar utilizat n punctul de operare corespunztor lui EER, i
adesea este stabilit un prag mai strict pentru a reduce FMR n ciuda unei
creteri a FNMR.[2]
Zero FNMR este cea mai mic FMR la care nu are loc nici o nepotrivire
fals.[2]
Zero FMR este cea mai mic FNMR la care nu are loc nici o potrivire
fals.[2]
Rata erorii de achiziie (FTC) este asociat cu funcia de achiziie a
sistemului biometric i indic frecvena cu care dispozitivul nu reuete s
capteze automat caracteristica biometric cnd aceasta este prezentat
senzorului. O rat nalt a erorii de achiziie face ca dispozitivul biometric s
fie dificil de utilizat.[2]
Rata erorii de nscriere (FTE) reprezint frecvena cu care utilizatorii nu se
pot nscrie n sistemul de recunoatere. Exist un compromis ntre FTE i


NECLASIFICAT
23 din 100

acurateea sistemului (FMR i FNMR). Erorile de nscriere au loc n general
cnd sistemul biometric efectueaz un control de calitate pentru a se asigura
c numai abloanele de bun calitate sunt stocate n baza de date a sistemului
i le respinge pe cele de calitate slab. Prin urmare, baza de date conine doar
abloane de bun calitate i acurateea sistemului (FMR i FNMR) se
mbuntete.[2]
Rata erorii de potrivire (FTM) este frecvena cu care eantionul de intrare
nu poate fi prelucrat sau potrivit cu un ablon valabil datorit calitii
insuficiente. Aceasta este diferit de eroarea de nepotrivire fals; de fapt,
ntr-o eroare de potrivire sistemul nu poate lua o decizie, n timp ce ntr-o
eroare de nepotrivire fals sistemul decide greit c cele dou intrri nu
provin de la acelai persoan[2].

2.3.2 Erorile sistemelor de identificare

Fie FNMR
N
i FMRN rata nepotrivirii false i respectiv rata potrivirii false n
cazul identificrii, atunci:
FNMR
N
= FNMR ; de fapt, probabilitatea nepotrivirii false a intrrii cu
ablonul utilizatorului este aceeai ca n modul verificare;[2]
FMR
N
= 1 (1 FMR)
N
; de fapt, o potrivire fals are loc atunci cnd
intrarea se potrivete fals cu unul sau mai multe abloane din baza de date.
FMRN se calculeaz atunci ca unu minus probabilitatea ca s nu aib loc nici
o nepotrivire fals cu nici unul dintre abloanele bazei de date. n expresia de
mai sus (1 FMR) este probabilitatea c intrarea nu se potrivete fals cu un
singur ablon i (1 FMR)
N
este probabilitatea c aceasta nu se potrivete
fals cu nici unul din abloanele bazei de date. Dac FMR este foarte mic,
atunci expresia de mai sus poate fi aproximat de FMRN N FMR i de
aceea putem afirma c probabilitatea potrivirii false n cazul identificrii
crete liniar cu mrimea bazei de date[2].

2.4 Sistemul de recunoatere facial

Recunoaterea facial este o form de prelucrare computerizat care
folosete fee pentru a ncerca s identifice o persoan sau s verifice identitatea pe
care o pretinde o persoan.


NECLASIFICAT
24 din 100

Recunoaterea facial are o serie de puncte forte pentru a fi folosit, n
detrimentul altor metode biometrice n anumite circumstane i puncte slabe care o
fac nepotrivit pentru alte aplicaii. Sistemele biometrice de recunoatere facial
reprezint primul sistem biometric pe care oamenii l folosesc pentru a se
recunoate unii pe alii.
Recunoaterea feei are avantajul de omniprezen deoarece fiecare are o fa
i o afieaz(spre deosebire de amprentele digitale care sunt capturate cu o mai
mare dificultate i nu toate persoanele au amprente care sunt bune pentru a fi
folosite la recunoatere).

Paii n procesul de recunoatere facial sunt urmtorii:

1. nregistrarea imaginii
Capturarea poate fi fcut scannd digital o fotografie existent sau folosind
o camer pentru a prelua imaginea instantanee a subiectului. Cum filmarea este
o secven rapid de imagini individuale, poate fi folosit de asemenea ca o
surs de imagini faciale.[1]

2. Detecia feei n imagine
Este necesar un program care detecteaz locaia fiecrei fee din imaginea
captat. Unele sisteme folosesc o combinaie de tonuri ale pielii i texturi ale
feei pentru a determina locaia feei i o imagine piramidal pentru a permite
feelor de diferite dimensiuni s fie detectate. Recent, au fost dezvoltate sisteme
care permit detecia feelor chiar daca nu sunt n totalitate cu faa la camer.[1]

3. Extragerea trsturilor (pentru generarea ablonului)
Dup ce programul a detectat o fa, aceasta poate fi analizat pentru a
extrage trsturile i a realiza ablonul.
Exist 2 abordri majore pentru a obine informaia caracteristic unei fee,
cu avantaje i dezavantaje specifice, ce pot fi folosite pentru extragerea
semnturilor de interes att pentru aplicaii de recunoatere, ct i pentru cele
de verificare, diferene aprnd datorit tipului de clasificator utilizat:
a) algoritmi bazai pe analiza statistic a imaginilor disponibile, al cror scop
const n identificarea unei baze reprezentative n raport cu care s poat fi


NECLASIFICAT
25 din 100

exprimat orice imagine sub forma unei combinaii liniare de vectori ai bazei.
Din aceast categorie fac parte metode precum Analiza pe Componente
Principale (PCA)[14], Analiza Discriminatorie Liniar (LDA)[3] i Analiza pe
Componente Independente (ICA)[15] prezentate n anexa A.
b) algoritmi bazai pe msurarea unor trsturi geometrice referitoare la distane
ntre puncte semnificative de pe suprafaa feei. Ca exemple putem enumera
metodele Elastic Bunch Graph Matching[16] i Local Feature Analysis[17] [1],
prezentate n anexa A.[1]

4. Compararea ablonului
Al patrulea pas al algoritmului l reprezint compararea ablonului generat la
pasul al treilea cu cele din baza de date a feelor cunoscute. ntr-o aplicaie de
identificare, acest proces arat ct de similar este ablonul generat cu cele din
baza de date. ntr-o aplicaie de verificare, ablonul generat este comparat doar
cu unul din baza de date a crui identitate pretinde c o are.[1]

5. Decizia
Ultimul pas este reprezentat de decizia n funcie de gradul de asemnare
determinat la pasul anterior, dac este suficient pentru a declara o potrivire.
Regulile dup care se ia decizia, pragul este configurat de obicei de ctre
utilizator care tie cum trebuie s se comporte sistemul n ceea ce privete
securitatea i funcionalitatea.[1]

2.5 Aplicaii ale sistemelor de recunoatere facial

Domeniile n care se aplic recunoaterea facial sunt urmtoarele:

Controlul accesului
Verificarea feei, compararea unei fee cu un singur ablon nregistrat este un
procedeu utilizat de ctre calculatoarele personale pentru autentificare. Deoarece
camerele web de la calculatoare au devenit din ce n ce mai rspndite, utilizarea
acestora pentru recunoatere facial la logare a devenit posibil. Astfel de sisteme
de verificare pe baz de calculator pot fi extinse pentru a controla accesul la servicii
de reea, la documente criptate sau tranzacii.


NECLASIFICAT
26 din 100

Verificarea facial este folosit n aplicaii ca chiocuri pe baz de cecuri (de
exemplu Mr. Payrolls) fr supraveghere uman. Invenia are nregistrai un
milion de cumprtori.
Bncile au fost foarte conservatoare n folosirea sistemelor biometrice
deoarece acestea risc s piard mult mai mult prin intermediul clienilor
nemulumii de a fi respini fals dect ar putea obine prin prevenirea fraudelor.
Clienii sunt reticeni la alte msuri mpovrtoare suplimentare de securitate, deci
pentru o acceptare mai bun sunt necesare sisteme de achiziie pasive cu
probabiliti mici de respingere fals.[22]

Identificare
Exist ri care testeaz recunoaterea facial n probleme de natur social.
Acest tip de aplicaie este de identificare, unde un nou aplicant care se nregistreaz
n sistem este verificat cu toat baza de date pentru a se asigura c nu pretinde a
avea mai multe identiti. Din pcate, recunoaterea facial nu este n momentul
actual capabil s identifice o persoan din milioanele nregistrate, aa c sunt
folosite date demografice pentru a ngusta cutrile. Este necesar intervenia
omului pentru a examina alarmele false pe care acest sistem le produce. Ar fi fost
mai potrivit un sistem bazat pe amprente sau pe iris, dar este de preferat cel bazat
pe recunoatere facial deoarece este mai acceptat n rndul populaiei i mai puin
intruziv. n diferite state din SUA se folosete recunoaterea facial pentru a se
asigura c persoanele nu obin mai multe carnete de conducere.[22]

Supraveghere
Supravegherea reprezint principalul domeniu n care se aplic recunoaterea
facial. Recunoaterea facial n secvenele video poate fi aplicat fr participarea
activ a subiectului i fr tiina acestuia. Cutarea poate fi fcut n timp real
pentru a cuta lista cu persoanele de interes, criminali, suspeci la locul crimelor.
Guvernul SUA este interesat n a perfeciona aceast tehnic prin folosirea mai
multor camere orientabile, lungimi de und invizibile i procesarea avansat a
semnalelor[18].



NECLASIFICAT
27 din 100


2.6 Modaliti de fraudare

Aplicaiile de verificare (autentificare) trebuie s asigure un compromis
rezonabil ntre FAR(rata de acceptare fals) i FRR (rata de rejecie fals), astfel
nct s minimizeze probabilitatea de acces la resurse protejate a unor persoane
neautorizate fr a deranja excesiv pe utilizatorii autorizai. Alegerea concret a
unor valori limit pentru aceste erori depinde nemijlocit de aplicaie i de
restriciile aferente, astfel nct vor exista ntotdeauna mijloace care pot fi folosite
n tentative de fraudare.[22]
n cazul aplicaiilor de autentificare a feelor, un studiu recent publicat n
revista german ct a artat c unul dintre sistemele cele mai bune de pe pia,
FaceVACS produs de ctre firma Cognitec (una dintre ctigtoarele detaate ale
ultimei competiii Face Recognition Vendor Test!), poate fi fraudat prin prezentarea
n faa senzorului optic a unei fotografii corespunztoare unei persoane autorizate
sau rularea unui scurt fiier video. Ca urmare, firma a introdus o procedur
suplimentar de detecie a prezenei fizice a unei persoane n faa senzorului (Live-
Check), ns acest element a ngreunat accesul utilizatorilor autorizai. De altfel,
rularea unei nregistrri n care o persoan i mic uor capul dintr-o parte n alta
a pclit din nou sistemul[1].
Sistemele biometrice care se bazeaz pe recunoatere facial pot fi adesea
atacate sub diverse forme:
atacuri asupra dispozitivelor de captare a imaginii feei
asupra canalului de transmisie
asupra sistemului de stocare sau chiar asupra sistemului de recunoatere
propriu-zis.[22]

Aceste atacuri se realizeaz n primul rnd prin forarea fizic a clientului
pentru a aprea n faa senzorului de prelevare a imaginii, n al doilea rnd o
persoan i poate schimba nfiarea pentru a semna cu clientul i n al treilea
rnd impostorul poate folosi o imagine prenregistrat a clientului pentru a nela
sistemul.[22]
Atacurile care folosesc imaginea prenregistrat a clientului reprezint cea
mai simpl i cea mai ieftin metod de atac, din moment ce faa persoanelor este
foarte uor accesibil publicului (poate fi descrcat de pe paginile web sau
capturat fr acordul subiectului). Impostorul poate roti, deplasa sau ndoi


NECLASIFICAT
28 din 100

fotografia n faa camerelor, exact ca o persoan real pentru a nela sistemul de
autentificare.[22]
O metod de protecie mpotriva acestor atacuri ale impostorului se bazeaz
pe detecia micrii feei, cum ar fi clipitul ochilor i micrile scurte, involuntare
ale prilor feei i capului. Totui, aceast metod este n continuare uor de nelat
prin folosirea unui scurt filmule a utilizatorului real pe un laptop n faa sistemului
de recunoatere facial.[22]
O alt metod de securizare a sistemelor de recunotere facial mpotriva
atacurilor impostorului a fost conceput astfel nct s pun utilizatorul s se uite
ntr-o direcie aleatoriu aleas de ctre sistem. Sistemul estimeaz apoi poziia
capului bazndu-se pe detecia i urmrirea caracteristicilor principale ale feei i
apoi verific dac direcia feei s-a schimbat.[22]
Metoda de protecie mpotriva atacului cu imagini prenregistrate pe care eu
am implementat-o se bazeaz pe calcularea adncimilor din dou imagini
stereoscopice preluate simultan de la dou camere identice[4]. n imaginile preluate
se realizeaz detecia facial, se selecteaz punctele de interes din prima imagine i
apoi se stabilete corespondena punctelor din cea de-a doua imagine, urmnd s se
calculeaz adncimile punctelor folosind un algoritm de triangulare i decizia
lundu-se n funcie de tabela de adncimi calculat, deoarece pentru o imagine
printat a impostorului aceasta va semna cu cea a unei suprafee plane.



NECLASIFICAT
29 din 100

Capitolul 3

ALGORITMUL DE DETECIE A IMPOSTORULUI

n acest capitol voi detalia realizarea sistemului experimental i paii
algoritmului de detecie a impostorului n aplicaii de recunoatere facial
implementat n articolul [4] .

3.1 Realizarea sistemului

Sistemul este compus din dou camere web Logitech QuickCam Orbit AF cu
distana focal de 3.7 mm i rezoluie de 160x120 pixeli. Camerelor le sunt asociate
punctele de coordonate Rr(Or, Xr, Yr, Zr) pentru cea din dreapta i Rl(Ol, Xl, Yl,
Zl) pentru cea din stnga. Camerele au axul optic paralel, iar distana ntre centrele
optice este de 7.5 cm. Sistemul practic este prezentat n figura 3.1, iar cel teoretic n
figura 3.2.


NECLASIFICAT
30 din 100


Figura 3.6- Sistemul practic.


Figura 3.7 Sistemul teoretic[4].



NECLASIFICAT
31 din 100

Preluare imagini
Detecie facial
Detecie puncte de
interes
Stabilirea corespondenei
punctelor din imagini
Calcularea adncimilor
Corectarea erorilor
Gruparea punctelor de
interes
Decizia
3.2 Descrierea algoritmului

Algoritmul const n mai muli pai: preluarea imaginilor de la cele dou
camere simultan, detecie facial, procesare imagini, calculare adncimi pe care o
s i detaliez n continuare. Schema logic a acestor pai este prezentat n figura
3.3.

















Figura 3.8- Paii algoritmului.


NECLASIFICAT
32 din 100

3.2.1 Preluare imagini

Imaginile sunt preluate simultan de la cele dou camere care au distana
focal 3.7 mm i avnd centrele optice la 7.5 cm, faa persoanei trebuie s fie n
centru, bine ncadrat i de preferat s ocupe jumtate din imaginea realizat. n
figura 3.4 am prezentat un exemplu de imagini realizate de sistemul experimental.


3.2.2 Detecie facial

Exist mai muli algoritmi folosii pentru detecia fetelor, fiecare avnd
propriile sale puncte slabe i puncte forte. Unii algoritmi folosesc tonuri de culoare,
unii contururi, abloane complexe, reele neuronale sau filtre. Toi aceti algoritmi
implic un efort de calcul impresionant.
O imagine este o matrice n care se reprezint intensitatea luminii, fiecare
element al matricii numindu-se pixel. Analiza acestor pixeli pentru detectarea feei
consum timp i este dificil de realizat din cauza variaiilor largi de form i
culoare a feelor umane.
P. Viola i M. Jones au elaborat un algoritm [5], numit Haar Classifiers,
pentru a detecta rapid orice obiect, inclusiv chipurile umane, folosind AdaBoost
classifier cascades[6] care se bazeaz pe caracteristici de tip Haar asemntoare i
nu pe pixeli.
Procedura de detectare a obiectelor clasific imaginile bazndu-se pe
valoarea trsturilor simple. Se utilizeaz caracteristicile n locul pixelilor deoarece
sistemul bazat pe acestea este mai rapid dect cel bazat direct pe pixeli.
Figura 3.9 preluarea imaginilor.


NECLASIFICAT
33 din 100

Caracteristicile pe care le folosete algoritmul sunt de trei tipuri. Valoarea
unei trsturi de dou dreptunghiuri este diferena ntre suma pixelilor din cele
dou regiuni dreptunghiulare. Regiunile au aceeai dimensiune i form i sunt
orizontal sau vertical adiacente. O trstur de trei dreptunghiuri calculeaz suma
celor dou dreptunghiuri exterioare sczut din suma dreptunghiului din mijloc. O
trstur de patru dreptunghiuri calculeaz diferena perechilor de dreptunghiuri de
pe diagonal. Cele 3 tipuri de trsturi au fost reprezentate n figura 3.5.

Figura 3.10 tipuri de trsturi (A,B cu dou dreptunghiuri, C cu trei dreptunghiuri, D cu
patru dreptunghiuri)[5].

Trsturile dreptunghiulare pot fi calculate foarte rapid folosind o
reprezentare intermediar pentru imagine care se numete imagine integral.
Imaginea integral n punctul (x,y) conine suma pixelilor de deasupra i din stnga
punctului (x,y), inclusiv. Formula dup care se calculeaz este urmtoarea:

( ) (


(3.1)

unde:
ii(x,y) reprezint imaginea integral
i(x,y) reprezint imaginea original.



NECLASIFICAT
34 din 100

Folosind urmtoarea pereche de relaii recurente putem calcula
imaginea integral printr-o singur trecere peste imaginea original:
( ) ( ) ( ) (3.2)
( ) ( ) ( ) (3.3)

unde:
s(x,y) este suma cumulativ pe rnduri
s(x,-1)=0
ii(-1,y)=0

Un exemplu de calculare a imaginii integrale este prezentat n figura 3.6.
Partea colorat reprezint suma pixelilor de deasupra i din stnga punctului (x,y),
iar imaginea integral se calculeaz pentru matricea de 3x3 dat n figur.


Figura 3.11 exemplu de calculare a imaginii integrale [6].
Caracteristicile Haar utilizeaz variaiile valorilor intensitii i ale
contrastului ntre grupuri adiacente rectangulare de pixeli. Variaiile contrastului
dintre grupurile de pixeli sunt folosite pentru a determina zonele luminate i
ntunecate din fotografie. Caracteristicile Haar sunt compuse din dou sau trei
dreptunghiuri. Faa clientului este scanat i caut caracteristici Haar de nivelul
corespunztor. Ponderea i dimensiunea fiecrei caracteristici sunt generate
folosind algoritmul de nvare supervizat AdaBoost. Formele caracteristicilor
sunt prezentate n figura 3.7, unde zonele de alb i negru sunt multiplicate cu
greutile corespunztoare i adunate apoi pentru a rezulta valoarea caracteristicii
Haar. Aria unui dreptunghi este calculat folosind imaginea integral. Coordonatele


NECLASIFICAT
35 din 100

fiecrui col al dreptunghiului pot fi folosite pentru a calcula suma tuturor punctelor
de deasupra i din stnga acelui punct folosind imaginea integral. Folosind fiecare
col, aria poate fi calculat rapid, denumit n continuare aria dreptunghiului
integrat, aa cum este prezentat n figura 3.8.

Figura 3.12 Forme ale caracteristicilor Haar


Figura 3.13 calcularea unui dreptunghi R dup formula L
4
- L
3
-L
2
+L
1
[6]
Clasificatorii de trsturi Haar folosesc aria dreptunghiului integrat pentru a
calcula valoarea caracteristicii, nmulind ponderea fiecrui dreptunghi cu aria sa i
adunnd rezultatele. Mai muli clasificatori de trsturi Haar compun o etap. Un
comparator de etap adun toate rezultatele de la clasificatorii de trsturi Haar
dintr-o etap i compar rezultatul cu o valoare de etap prag.
ntr-o imagine, numrul clasificatorilor de trsturi Haar este foarte mare,
mult mai mare dect numrul pixelilor. Pentru a putea asigura o clasificare rapid,
procesul de nvare trebuie s exclud o mare parte din trsturi i s se axeze pe
un set de caracteristici critice. Acest lucru este obinut printr-o simpl modificare a
algoritmului AdaBoost: the weak learner este constrns astfel nct fiecare


NECLASIFICAT
36 din 100

clasificator slab returnat s poat s depind doar de o singur trstur. Ca
rezultat, fiecare etap a procesului de nvare care selecteaz un nou clasificator
slab, poate fi vzut ca un proces de selecie a unei trsturi. n forma sa original,
algoritmul de nvare AdaBoost este folosit pentru antrenarea unui algoritm
simplu(denumit uneori slab) privind perfomanele de clasificare.
Deoarece numrul trsturilor dreptunghiulare depete 180.000 pentru
fiecare imagine, procesarea setului complet ar fi foarte scump i ar dura foarte
mult. Din aceast cauz, propunerea lui Viola i Jones este c un numr mic de
trsturi pot fi combinate pentru a forma un clasificator eficient.
Astfel, algoritmul de nvare slab este conceput pentru a selecta o singur
trstur dreptunghiular care separ cel mai bine exemplele pozitive de cele
negative. Pentru fiecare trstur, the weak learner determin pragul optim al
funciei de clasificare, astfel nct s fie ct mai puine instane greit clasificate.
Un clasificator slab

() care conine o trstur

, un prag

i o paritate

care indic direcia semnului inegalitii este reprezentat astfel:

() {

()




(3.4)

n tabelul (3.1) este prezentat algoritmul de nvare AdaBoost[5]:
Tabel 3.1 Algoritmul AdaBoost.
Sunt date imaginile (

) (

) n care

pentru exemplele
negative i

pentru cele pozitive.


Se iniializeaz ponderile

pentru

unde m i l reprezint
numrul de exemple negative, respectiv pozitive.
Pentru t=1 la T execut:
1. Normalizarea ponderilor astfel nct

s fie o distribuie
probabilistic.


(3.5)
2. Pentru fiecare trstur j se antreneaz un clasificator h
j
care este
restricionat s foloseasc o singur trstur i se evalueaz eroarea
sa


(3.6)


NECLASIFICAT
37 din 100


3. Se alege clasificatorul h
t
cu cea mai mic eroare

.
4. Se modific ponderile astfel:


(3.7)

unde:
o

dac x
i
este clasificat corect
o

altfel
o

.

Clasificatorul puternic final este:
() {

()





(3.8)
unde

.


Cascada de clasificatori de caracteristici Haar reprezint o serie de filtre care
sunt reprezentate de mai multe etape pe care trebuie s le treac un candidat pentru
a-i fi detectat faa. Un rezultat pozitiv la primul clasificator declaneaz evaluarea
celui de-al doilea clasificator care a fost ajustat s obin rate de detecie crescute.
Procesul continu pn cnd iese un rezultat negativ, clientul fiind apoi respins i
ieindu-se din cascad. Acest proces este reprezentat n figura 3.9.







Imagine pentru procesare
Clasificator 1
Adevrat
Fals
Clasificator 2
Adevrat
Fals
Fals
Clasificator 3
Adevrat
Procesare
ulterioar
Respingere subiect
Figura 3.14 Cascada de detecie.


NECLASIFICAT
38 din 100

Etapele cascadei sunt construite prin antrenarea clasificatorilor folosind
algoritmul AdaBoost i ajustnd valoarea pragului astfel nct s se minimizeze
nepotrivirile false. Valoarea pragului este setat implicit de ctre algoritmul
AdaBoost pentru a obine o rat de eroare sczut pe datele de antrenare. n
general, o valoare de prag mic obine rate de detectare i de potrivire fals mari.
De exemplu, un prim clasificator de etap excelent poate fi construit cu ajutorul
unui clasificator de dou trsturi n care s-a redus valoarea pragului pentru a
minimiza nepotrivirile false. Msurat pe un set de antrenare pentru validare,
valoarea de prag poate fi ajustat astfel nct s detecteze 100% din fee cu o rat a
potrivirilor false de 40%. n figura 3.10 este prezentat un astfel de clasificator cu
cele dou trsturi prezentate pe rndul de sus, iar pe rndul de jos sunt suprapuse
pe o imagine de antrenare. Prima trstur msoar diferena intensitii dintre
regiunea ochilor i o regiune de-a lungul obrajilor i se bazeaz pe faptul c
regiunea ochilor este adesea mai nchis la culoare dect cea a obrajilor. A doua
trstur compar intensitile din zona ochilor cu intensitatea din zona situat
deasupra nasului[5].

Figura 3.15 Prima i a doua trstur selectat de algoritmul AdaBoost[5].

Procesul de antrenare al cascadei implic dou tipuri de abordri: n
majoritatea cazurilor, clasificatorii cu mai multe trsturi vor obine rate de
detectare mari i rate de potrivire fals mici. n acelai timp, clasificatorii cu mai
multe trsturi necesit mai mult timp de procesare. n principiu, s-ar putea defini
un proces de optimizare n care numrul etapelor de clasificatori, numrul
trsturilor din fiecare etap i valoarea de prag a fiecrei etape s fie alese
corespunztor pentru a minimiza numrul trsturilor evaluate. Din pcate,
realizarea acestei optimizri este o problem deosebit de dificil.


NECLASIFICAT
39 din 100

n practic, este folosit un cadru foarte simplu pentru a produce un
clasificator eficient: fiecare etap din cascad reduce rata falsei potriviri i scade
astfel rata de detecie. Este selectat un obiectiv pentru reducerea minim a
potrivirilor false i scderea maxim a ratei de detecie. Fiecare etap este antrenat
prin adugarea trsturilor pn cnd ratele de detecie i a potrivirilor false din
obiectiv sunt atinse (aceste rate sunt determinate prin testarea detectorului pe un set
de validare). Sunt adugate etape pn cnd obiectivul global pentru ratele de
detecie i de potriviri false sunt atinse.
Algoritmul elaborat de P. Viola i M. Jones pentru detectarea feei folosete
o cascad de 38 de clasificatori ce cuprind 6061 de trsturi. Primele 5 etape
cuprind 1, 10, 25, respectiv 50 de trsturi, urmnd ca celelalte etape s aib din ce
n ce mai multe trsturi[5].
n urma aplicrii algoritmului elaborat de P. Viola i M. Jones este realizat
detecia feelor n cele dou imagini, urmnd s eliminm fundalul care nu ne
intereseaz. Imaginile procesate o s arate ca n figura 3.11.





3.2.3 Detecia punctelor de interes

Un punct de interes reprezint un punct n care funcia imagine are variaii
importante n toate direciile. Un col poate fi definit ca intersecia a dou muchii.
Detecia acestor puncte se face doar n regiunea n care a fost detectat anterior faa
persoanei din imagine.
Detectoarele de puncte de interes nu sunt foarte robuste i uneori necesit
supravegherea unui expert pentru prevenirea erorilor individuale. Performanele
detectoarelor de puncte de interes sunt analizate pe baza abilitii detectrii unor
coluri n imagini multiple, care sunt similare, dar nu identice, de exemplu, aceeai
imagine avnd diferite luminoziti, translaii, rotaii i alte transformri.
Figura 3.16 - Imaginile fr fundal.


NECLASIFICAT
40 din 100

Algoritmul dezvoltat de Harris i Stephens[7] are ca obiectiv identificarea
unor puncte de interes cu anumite proprieti bine definite:
numr redus n comparaie cu trsturi tip muchie;
invarian la rotaie i mici fluctuaii de iluminare;
invarian la modificri liniare ale factorului de scalare;
invarian la transformri afine. [8]

Principiul de detecie al punctelor de interes se bazeaz pe folosirea funciei
de autocorelaie local pentru un punct de coordonate (x,y).

Definim funcia de autocorelaie c:

( ) ( ),( ) ( )-

()()

(3.9)

unde W(x,y) reprezint o vecintate cu centrul n punctul de coordonate (x,y), iar
w(u,v) nucleul gaussian

()

()

. Folosind dezvoltarea Taylor, funcia


( ) poate fi aproximat prin:
( ) ( )

( )

( )
( ) [

( )

( )] [

]

(3.10)


unde

sunt derivatele pariale ale funciei I(x,y) i pot fi calculate astfel:


,

-
(3.11)

,

-






NECLASIFICAT
41 din 100

Din (3.2.9) i (3.2.10) rezult c funcia de autocorelaie poate fi
transformat n urmtoarea formul:
( )
( ) ([

( )

( )] [

])
, -
[

( )

( )

( )

( )

( )
( )

( )

( ) ( )

( )

]



(3.12)

Notm:
( )
[

( )

( )

( )

( )

( )
( )

( )

( ) ( )

( )




(3.13)

Aceast matrice se gsete ntr-o izomorfie cu funcia de autocorelaie,
rezultnd astfel posibilitatea evalurii proprietilor funciei c(.) prin proprietile
matricei A .[8]
Structurm matricea A sub urmtoarea form:
( ) [


]
(3.14)

i fcnd apel la strnsa legtur ntre valorile proprii i direciile vectorilor proprii
ataai, rezult trei cazuri:
i) dac
1
,
2
(cele dou valori proprii ale lui A ) sunt mici, atunci funcia de
autocorelaie indic o regiune omogen.
ii) Dac
1

2
atunci trstura gsit este muchie;
iii) Dac
1
i
2
sunt mari atunci avem un punct de interes. [8]
Evaluarea celor 3 cazuri se poate realiza prin ataarea unei funcii rspuns:
() () ,()-

(3.15)


NECLASIFICAT
42 din 100


unde
()


(3.16) ()


Rezult astfel:
{


||


(3.17)

Aceste valori pot fi vzute i n urmtoarea figur:

Figura 3.17 Trsturi extrase[8].
Fiecrui punct de interes din algoritmul lui Harris i se poate ataa o valoarea
de col pentru a putea controla calitatea trsturilor extrase prin creterea sau
descreterea valorii cv n urma comparrii valorii acesteia cu o valoare de prag.
Formula de calculare a lui cv este dat de urmtoarea formul:


NECLASIFICAT
43 din 100


()
()


(3.18)

Algoritmul Harris este descris n tabelul 3.2.
Tabel 3.2 Algoritmul Harris[19].

1. Pentru fiecare pixel din imagine P(x,y) se calculeaz matricea de
autocorelaie M.
2. Se calculeaz matricea funciei de rspuns R(x,y) n fiecare pixel P(x,y).
3. Se filtreaz R(x,y) prin valoarea de prag (dac R < T => R=0).
4. Se aplic non-maximum suppresion, adic se rein maximele locale.
5. Toate punctele rmase (R!=0) vor fi colurile rezultate.


n urma aplicrii algoritmului elaborat de Harris, punctele de interes din
prima imagine se regsesc n figura 3.11.

Figura 3.18 detecia punctelor de interes cu algoritmul Harris.

3.2.4 Stabilirea corespondenei punctelor din imagini

Stabilirea corespondenei punctelor de interes din cele dou imagini
presupune detectarea micrii punctelor de interes gsite n a doua imagine, acest
lucru fiind realizat prin calcularea fluxului optic. Fluxul optic reprezint micarea
aparent a pattern-urilor de intensitate din imagine i poate fi msurat direct din
imagine.


NECLASIFICAT
44 din 100

Toate metodele de msurare a fluxului optic au la baz ecuaia constantei
intensitii imaginii care pleac de la presupunerea c intensitatea luminoas a unui
punct din scen rmne constant:
()

(3.19)

Unde:

[




(3.20)

() ( )


(3.21)
[

]
(3.22)

Majoritatea metodelor de estimare a fluxului optic se bazeaz pe algoritmi
iterativi care ncearc s gseasc pentru fiecare pixel din imagine un vector de
deplasamanent care minimizeaz urmtoarea funcie rezidual[9]:
() (

) (( ) (

))



(3.23)
unde ( ) este un punct n imaginea I(t), iar (

) este noua locaie


a punctului n imaginea J de la momentul (t+t).

Algoritmul Lucas-Kanade calculat pe o piramid de imagini
Cel mai util algoritm existent pentru calculul fluxului optic bazat pe trsturi
este algoritmul de tip piramidal LucasKanade prezentat de Bouguet. Aceasta are o
precizie i o acuratee sporit i este capabil s urmreasc deplasamente mari
pentru coluri.[20]



NECLASIFICAT
45 din 100

Iniializri
Fie punctul u(x,y) un punct n imaginea I (t). Cutm locaia v = u+d n
imaginea J (t+t). Scopul este gsirea vectorului de deplasament d, iar soluia este
minimizarea funciei reziduale (3.13).
Se construiete reprezentarea piramidal a imaginilor I i J:
*



(3.24)
*



unde m este nivelul piramidei (L=0 reprezint rezoluia iniial).
Imaginea de la nivelul L se obine din cea de la nivelul L-1 prin decimare
ponderat (gaussian).
Coordonatele lui u n piramid:


(3.25)

( )

( )

( )

( )

( )

( ))

( )

( )

( )

( ))




(3.26)

Funcia rezidual pentru calculul lui d la nivelul L este:

)
(

( )

))





(3.27)



NECLASIFICAT
46 din 100

Fereastra de integrare are pentru fiecare nivel L aceeai dimensiune
constant:
(

) (

) (3.28)

Calculul fluxului optic:

) (3.29)



(3.30)

, -

(3.31)

(3.32)


Algoritmul Lucas-Kanade piramidal este prezentat n tabelul 3.3:
Tabel 3.3 Algoritmul Lucas-Kanade piramidal[21].

For L=L
m
,0,-1 //pentru fiecare nivel L din piramid
Punctul u(x,y) va avea n imaginea I
L
coordonatele:


(3.33)

Se calculeaz derivatele imaginii I
L
dup formulele:

( )

( )

( )



(3.34)
(3.35)

( )

( )

( )



Matricea de autocorelaie se calculeaz dup formula:
[

( )

( )

( )

( )

( )

( )
]


(3.36)

Iniializare algoritm Lukas-Kanade iterativ
Se iniializeaz vectorii de flux optic cu 0:


NECLASIFICAT
47 din 100

, -

(3.37)

For k=1,K,1 // K se poate limita la 20 sau se poate impune condiia ca
//norma factorului de corecie

(ex: th=0.03)

1. Se calculeaz imaginea diferen:

( )

( )


(3.38)

2. Se calculeaz vectorul de eroare al imaginii diferen:

( )

( )

( )

( )
]


(3.39)

3. Se calculeaz corecia pentru fluxul optic la pasul k:


(3.40)

4. Se actualizeaz fluxul optic la pasul k:


(3.41)

End (pentru k)

Fluxul optic final la nivelul L:


(3.42)

Estimarea pentru nivelul L-1 (nivelul urmtor):

)
(3.43)

End (pentru L)

Vectorul pentru fluxul optic final este dat de formula:

(3.44)

Locaia corespondent n imaginea J este urmtoarea:
(3.45)

Am folosit algoritmul Lucas-Kanade implementat pentru o piramid de
imagini deoarece folosirea algoritmului iterativ care folosea doar ferestre nu oferea


NECLASIFICAT
48 din 100

o bun vitez de procesare pentru detecia unor micri semnificative n a doua
imagine. Am ales numrul de piramide pe care se lucreaz ca fiind 3, la fiecare
nivel crendu-se o nou imagine cu o rezoluie de 2
L
ori mai mic.
Dup selectarea punctelor de interes de la pasul anterior, aplicnd algoritmul
prezentat am obinut noile coordonate ale punctelor n cea de-a doua imagine,
prezentate n figura 3.14.

3.2.5 Calcularea adncimilor

Dup ce am stabilit corespondena ntre punctele de interes din imaginea din
stnga i cea din dreapta, o s calculm adncimea folosind triangularea,
exemplificat n figura 3.15.
Figura 3.20 Triangularea.
f
O
z
B
Z
Y
Y
f
y
1
y
2

2









Figura 3.19 Corespondena punctelor de interes.


NECLASIFICAT
49 din 100

Formulele matematice (3.46) - (3.48) calculeaz adncimile:
(

(3.46)
(

(3.47)

)
(3.48)


Notm:

(3.49)

(3.50)
Rezult:
()


(3.51)

Z(d) reprezint adncimea pentru punctele de interes, d reprezint distana
ntre punctele de interes din cele dou imagini, B reprezint distana ntre centrele
optice ale celor dou camere, iar f este distana focal a celor dou camere.

3.2.6 Corectarea erorilor

Dup calcularea adncimilor, se observ mici erori, adic unele valori mult
prea mari pentru calcularea adncimilor pentru faa subiectului pe care o s le
corectm prin calcularea unui indice dintr-o baz de date a impostorilor creat
anterior. Baza de date este realizat prin captarea a dou imagini cu cele dou
camere a fotografiei printate a feei impostorului din 3 unghiuri diferite:
perpendicular pe axul optic, nclinat fotografia spre stnga i nclinat spre
dreapta. Am folosit 12 fotografii ale impostorilor, rezultnd astfel o baz de date de
72 de imagini preluate de cele dou camere identice.



NECLASIFICAT
50 din 100

n Figura 3.16 sunt prezentate cte dou imagini din cele trei unghiuri.


Figura 3.21 - Baza de date a impostorilor.

Relaia de calcul pentru indicele este urmtoarea:



(3.52)

n aceast relaie, reprezint media adncimilor tuturor punctelor de interes
din imaginea j din baza de date a impostorilor i Z
i
este adncimea punctului de
interes i.
Dup calcularea indicelui , se corecteaz erorile dup urmtorul calcul
simplu:

Z= {



(3.53)




NECLASIFICAT
51 din 100

3.2.7 Gruparea punctelor de interes

Gruparea punctelor de interes se realizeaz pentru reducerea calculelor
urmtoare, ntruct timpul de execuie ar fi mult prea mare.
Gruparea punctelor de interes se poate realiza prin aplicarea algoritmului
K-means, acesta calculnd pentru fiecare cluster cte un centroid.
Scopul gruprii punctelor este identificarea a K clase n tabela adncimilor,
astfel nct datele din fiecare clas s fie suficient de similare, iar cele din clase
diferite s fie suficient de diferite. Fiecare clas urmeaz s aib un reprezentant
care va fi considerat centrul clasei.
Metoda de grupare K-Means este o procedur iterativ de obinere a
centroizilor claselor pentru un set de date de intrare i se bazeaz pe deplasarea
iterativ a centroizilor ctre centrul de greutate al fiecrei clase care se poate
modifica la fiecare iteraie.
mprirea n clase se face astfel nct s se minimizeze funcia obiectiv J,
definit de formula:

()


(3.54)

unde:
N
k
reprezint numrul de puncte din clasa K,
K este numrul de clase,
c
k
este centrul clase k,
X
i
(k)
vectorul X
i
din clasa k.

Paii algorimului K-Means sunt prezentai n tabelul 3.4.



NECLASIFICAT
52 din 100

Tabel 3.4 Algoritmul K-means.

1. Sunt atribuii aleator cei N vectori n K clase i se calculeaz mediile
claselor.

2. Pentru fiecare din cei N vectori se calculeaz distana fa de centrele
claselor i se atribuie vectorul X
i
clasei k pentru care

()

este
minim.

3. Dup ce a fost parcurs tot setul de puncte i s-au reetichetat toi vectorii, se
recalculeaz centroizii claselor i se reia algoritmul de la pasul 2. Algorimul
se oprete atunci cnd nu mai are loc nicio reetichetare a vreunui vector.


3.2.8 Decizia

Decizia n ceea ce privete autenticitatea persoanei din faa camerelor web se
ia n funcie de tabela de adncimi, deoarece pentru o imagine printat a
impostorului, aceasta va semna cu cea a unei suprafee plane.
Din punctele din imaginea din stnga, se aleg 4 puncte A, B, C i M de
coordonate (x,y,z) pentru fiecare, cte unul din fiecare centroid calculat anterior, z
reprezentnd adncimea preluat de la centroidul gruprii n care se afl punctul de
interes. Se calculeaz apoi vectorii AB, AC i AM, apoi determinantul celor trei
puncte, urmnd s se calculeaz media tuturor determinanilor calculai (

cazuri)
din centroizi.
Decizia final se ia n funcie de valoarea pragului T stabilit experimental,
astfel:

Decizie = {




(3.55)
Algoritmul de calculare a mediei este descris n tabelul 3.5.



NECLASIFICAT
53 din 100

Tabel 3.5 Algoritm de calculare a mediei.

1. Definim variabila sum fiind suma tuturor determinanilor. Iniializm
sum=0.
2. Definim variabila contor fiind numrul determinanilor. Iniializm
contor=0.
3. Definim variabila n fiind numrul centroizilor calculai la pasul anterior din
algoritm.
4. B reprezint un tabel de dimensiuni 3x n pentru centroizi.
5. D reprezint un tabel de dimensiuni 3x3 pentru vectori.
( )
{




{

{


sum=sum+det(D)
contor=contor+1
}
}
}
6. Media este apoi calculat cu formula:


|(

)(

)(

)|



(3.2.49)

7. Decizia final se ia n funcie de valoarea pragului T stabilit experimental,
astfel:

Decizie = {




(3.2.50)




NECLASIFICAT
54 din 100

Capitolul 4

REZULTATE EXPERIMENTALE

4.1 IMPLEMENTARE

Pentru implementarea algoritmului de detecie a impostorului prezentat la
pasul anterior au fost folosite:
Sistem de operare Ubuntu 11.04
Matlab R2009b , versiunea pentru Linux
Biblioteca OpenCV
Colecia de funcii OpenCV pentru Matlab- mexopencv
Camera web Logitech Webcam Sphere AF

4.1.1 Instalarea bibliotecii OpenCV

OpenCV este o bibliotec gratuit dezvoltat n anul 1999 de ctre Intel
pentru sistemele de operare Windows, Linux, Mac OS i Android care permite
dezvoltarea de software pentru prelucrarea imaginilor computerizat.
OpenCV este folosit pentru sarcini foarte complexe care implic i
cunotine n domeniul graficii asistate de calculator i intelegenei artificiale.
Funciile pe care le ofer OpenCV sunt urmtoarele:
Algoritmi generali de viziune artificial i procesare de imagini
(complexitate de nivel mic si mediu)
Aceti algoritmi includ: detecia marginilor, liniilor, colurilor, procesarea
eliptic, piramidele de imagini pentru procesarea de imagine pe mai multe


NECLASIFICAT
55 din 100

nivele, potrivirea abloanelor, precum i diverse transformri (Fourier,
cosinus discret i transformri de distan).

Module de viziune artificial de nivel nalt
Pe lng detecia, urmrirea i focalizarea feei acestea includ i variante de
flux optic care folosete micarea camerei pentru delimitarea unei structuri 3D
precum i de calibrare i ajustare automat a multor parametri.

Eantionare de imagini i transformri de vedere
Adesea este util s procesm un grup de pixeli ca fiind o singur unitate.
OpenCV include funcii ce permit extragerea unei regiuni dintr-o imagine i
tratarea pixelilor corespunztori ca un singur grup, funcii de redimensionare,
modificare, nvluire i aplicare de efecte de perspectiv.

Metode pentru crearea i analiza imaginilor binare
Imaginile binare sunt folosite n mod frecvent n cadrul sistemelor de
inspecie /control al calitii care scaneaz produsele pentru detectarea
imperfeciunilor sau pentru numrarea subansamblelor. Reprezentarea binar
este foarte util i atunci cnd se urmrete localizarea i delimitarea spaial a
unui obiect ce urmeaz a fi manipulat de ctre un robot.

Metode pentru calcularea informaiilor 3D
Aceste funcii sunt utile pentru a realize mapri i localizri prin folosirea
unei configuraii stereo sau cu multiple unghiuri de viziune prin intermediului
unui singur aparat foto.

Rutine matematice pentru procesarea i analiza de imagini i de viziune
artificial
OpenCV include algoritmi folosii n mod uzual n analiza liniar, statistici i
geometrie computerizat.

Grafic
Aceste interfee permit editarea unui text sau a unui desen deasupra unei
imagini. n afar de multe posibiliti ce privesc dezvoltarea creativitii sau
amuzamentul, aceste funcii sunt folosite n domeniul marcrii i etichetarii. De
exemplu, dac dezvoltam un software care are ca scop detecia obiectelor, este
foarte util s putem eticheta imagini ntregi, sau poriuni ale acestora, cu
mrimea i locaia din care provin.



NECLASIFICAT
56 din 100

Metode GUI
OpenCV include propriile sale interfee pentru realizarea ferestrelor din
cadrul interfeelor software. Aceste funcii asigur o multi platform API ce
permite afiarea imaginilor, acceptarea i procesarea datelor furnizate de
utilizator prin intermediul mouse-ului i al tastaturii, precum i posibiliatea
implementrii slider-elor.

Structuri de Date i algoritmi
Cu aceste interfee se pot stoca , caut , salva i manipula n mod eficient
seturi, colecii i liste de imagini i se pot realiza grafice i arbori structurali.

Salvarea datelor
Aceste metode asigur interfee uor de folosit pentru stocarea datelor pe
hard disk i refolosirea acestora[10].

Pentru a putea instala librria OpenCV, trebuie s avem instalate urmtoarele:
Un mediu de dezvoltare pentru a putea construi OpenCV

sudo apt-get install build-essential cmake pkg-config
(4.1)

Librrii I/O pentru imagini

sudo apt-get install libjpeg62-dev libtiff4-dev
libjasper-dev
(4.2)

Librria GTK pentru crearea interfeelor grafice.

sudo apt-get install libgtk2.0-dev
(4.3)

Librrii video I/O

sudo apt-get install libavcodec-dev libavformat-dev
libswscale-dev libv4l-dev
(4.4)

Opional: librrii video streaming


NECLASIFICAT
57 din 100


sudo apt-get install libdc1394-22-dev libxine-dev
libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
(4.5)

Opional: mediul de dezvoltare Python i librria numeric Python

sudo apt-get install python-dev python-numpy
(4.6)

Opional: librria de procesare paralel (librria TBB de la Intel )

sudo apt-get install libtbb-dev
(4.7)

Opional: librria Qt

sudo apt-get install libqt4-dev
(4.8)


Instalarea i configurarea bibliotecii OpenCV:
1. Descrcai librria OpenCV 2.4.3 pentru linux de pe www.opencv.org.

2. Dezarhivai librria

tar -xvf OpenCV-2.4.3.tar.bz2
(4.9)

3. Mutai-v n directorul OpenCV-2.4.3

cd OpenCV-2.4.3
(4.10)

4. Generm fiierul Makefile folosind cmake. Aici putem defini care pri
din OpenCV vrem s fie compilate. Dac vrem s folosim Python i TBB,
aici o s setm asta. Executai n consol i observai c este un punct la
finalul liniei, argument pentru cmake pentru a indica fiierul curent.



NECLASIFICAT
58 din 100

cmake -D WITH_TBB=ON -D
BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=OFF
-D INSTALL_C_EXAMPLES=ON -D
INSTALL_PYTHON_EXAMPLES=ON -D
BUILD_EXAMPLES=ON .

(4.11)

5. Verificai dac nu exist erori la execuia comenzii i dac FFMPEG =1.
Altfel, nu vei putea s citeti sau s scrii video.

Figura 4.1 Verificare dac FFMPEG instalat.
6. Compilai OpenCV.

make
(4.12)


7. Instalai OpenCV.

sudo make install
(4.13)

8. Acum trebuie s configurm OpenCV. Deschidei fiierul opencv.conf cu
urmtoarea comand:

sudo gedit /etc/ld.so.conf.d/opencv.conf
(4.14)


NECLASIFICAT
59 din 100


9. Adugai la finalul fiierul (este posibil s fie gol) i salvai.

/usr/local/lib
(4.15)


Figura 4.2 configurare OpenCV.

10. Rulai codul urmtor pentru a configura librria:

sudo ldconfig
(4.16)

11. Deschidei fiierul bash.bashrc n consol:

sudo gedit /etc/bash.bashrc
(4.17)

12. Adaug urmtoarele 2 linii la finalul fiierului i apoi salveaz:


NECLASIFICAT
60 din 100

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pk
gconfig
(4.18)
export PKG_CONFIG_PATH
(4.19)

n figura 4.3 este prezentat fiierul bash.bashrc configurat.

Figura 4.3 configurare fiier bash.bashrc.

13. nchidei consola i restartai calculatorul, altfel OpenCV nu va merge
corect.

Verificare instalare

Putei verifica dac este instalat corect rulnd un demo. Executai
urmtoarele n consol:

cd OpenCV-2.4.3/samples/cpp
(4.20)
make
(4.21)


NECLASIFICAT
61 din 100



Acum exemplele sunt construite n OpenCV-2.4.3/bin. Un exemplu este
calibrarea unei table de ah. Rulai n consol:

OpenCV-2.4.3/bin/calibration_artificial
(4.22)

Rezultatul este prezentat n figura 4.4:


Figura 4.4 exemplu calibrare folosing OpenCV.



NECLASIFICAT
62 din 100

4.1.2 Instalarea coleciei de funcii mexopencv

Acest pachet software ofer funcii mex n matlab care interfaeaz funcii
din OpenCV. De asemenea, conine i o clas C++ care face conversia ntre tipurile
de date din Matlab i cele din OpenCV. Pachetul este potrivit pentru folosirea
prototipurilor din OpenCV n Matlab, folosirea OpenCV ca toolbox extern n
Matlab.

Pentru a putea instala pachetul, trebuie s avem instalate urmtoarele:
Matlab R2009b
OpenCV (versiune mai mare de 2.4.0)
Compilatorul g++
Utilitarul make pentru compilare
Utilitarul pkg-config

Asigurai-v c ai configurat OpenCV la pasul anterior pentru ca pkg-config s
recunoasc calea ctre OpenCV.

Paii pentru compilarea pachetului:
1. Descrcai pachetul de pe
http://www.cs.stonybrook.edu/~kyamagu/mexopencv/ .
2. Dezarhivai pachetul i mutai-v n folderul respectiv.
3. n consol, pentru a construi pachetul i a plasa toate funciile n +cv/,
tastai:
make
(4.23)

Dac Matlab nu este instalat n /usr/local/matlab , specificai locul
unde avei instalat programul:

make MATLABDIR=/Applications/MATLAB_R2009.app
(4.24)



NECLASIFICAT
63 din 100

4. Testai funcionalitatea bibliotecii:
make test
(4.25)

Dac apar erori n test, atunci este o incompatibilitate ntre o bibliotec a
sistemului i biblioteca intern din Matlab. Acest lucru se rezolv prin ncrcarea
nainte de a porni Matlab-ul a bibliotecii libstdc++.so.6.

Localizai libstdc++.so.6 prin comanda :
locate libstdc++.so.6
(4.26)












De fiecare dat cnd vrei s pornii Matlab-ul, tastai n consol:
LD_PRELOAD=/usr/lib/i386-linux-
gnu/libstdc++.so.6/usr/local /matlab/bin/matlab
(4.27)


Figura 4.5 localizare bibliotec libstdc++.so.6.


NECLASIFICAT
64 din 100

4.1.3 Implementarea algoritmului

Implementarea algoritmului de detecie a impostorului am realizat-o n
Matlab. Funciile din mexopencv pe care le-am folosit sunt prezentate la fiecare pas
al algoritmului n figura 4.6.

Figura 4.6 Implementare algoritm.

Preluare imagini
Detecie facial
Detecie puncte de
interes
Stabilire coresponden
puncte de interes
Calculare adncimi
Corectarea erorilor
Gruparea punctelor de
interes
Decizia
cv.VideoCapture
cv.CascadeClassifier
cv. goodFeaturesToTrack
cv. calcOpticalFlowPyrLK
kmeans


NECLASIFICAT
65 din 100


n continuare o s detaliez la fiecare pas al algoritmului descris n capitolul 3
funciile folosite i rezultatele obinute dup utilizarea acestora.
1. Preluare imagini
Implementarea primului pas al algoritmului presupune captarea celor dou
imagini de la cele dou camere simultan. Am realizat acest lucru folosind funcii
din clasa cv.VideoCapture care capteaz fluxuri video sau citesc fiiere video.
n urma apelrii simultane a funciei read pentru citirea frame-ului , vor fi
captate cele dou imagini simultan prezentate n figura 4.7.


2. Detecia feei
Pentru implementarea celui de-al doilea pas am ales s folosesc clasa
cv.CascadeClassifier care implementeaz algoritmul propus de P.Viola pe care
l-am descris anterior n capitolul 3.
Constructorul acestei clase ncarc o cascad de clasificatori bazai pe
trsturi Haar dintr-un fiier, urmnd s foloseasc funcia detect pentru a putea
detecta obiecte de diferite mrimi n imaginea de intrare. Obiectele detectate
sunt returnate ca o matrice de celule ce conine dreptunghiuri(coordonatele
[x,y,w,h] reprezentnd punctul de coordonate (x,y) de unde se ncepe desenarea
dreptunghiului de lime w i nlime h).
n urma utilizrii acestei funcii pe o singur imagine este detectat faa
subiectului ca n figura 4.8.
Figura 4.7 Preluare imagini.


NECLASIFICAT
66 din 100


Figura 4.8 Detectare facial.
Deoarece nu avem nevoie dect de prelucrarea feei n continuare, am
nlturat fundalul din cele dou imagini utilizate, acestea fiind prezentate n figura
4.9.


3. Detecia punctelor de interes
Pentru a detecta punctele de interes din prima imagine am aplicat funcia
cv.goodFeaturesToTrack oferit de mexopencv pentru imaginea procesat la pasul
anterior. Aceasta folosete algoritmul de detectare Harris prin precizarea
parametrului UseHarrisDetector .
Rezultatele sunt returnate ntr-un vector de celule care reprezint coordonatele
punctelor de interes selectate de algoritm. Aceste rezultate sunt evideniate prin
colorarea punctelor corespunztoare n figura 4.10.
Figura 4.9 Imaginile procesate(fr fundal).


NECLASIFICAT
67 din 100


Figura 4.10 Detecie puncte de interes.

4. Stabilirea corespondenei ntre punctele de interes din imagini
Pentru stabilirea corespondenei ntre punctele de interes selectate de algoritmul
de la punctul anterior am folosit funcia cv.CalcOpticalFlowPyrLK . Aceasta
primete ca parametri de intrare prima i a doua imagine procesate i vectorul de
celule returnat de funcia cv.goodFeaturesToTrack folosit la pasul anterior.
Funcia returneaz noile coordonate ale punctelor de interes din prima imagine ntr-
un vector de celule.
Pentru a evidenia corespondena punctelor calculate de funcie, acestea sunt
colorate ca n imaginile din figura 4.11.


5. Calcularea adncimilor
Dup stabilirea corespondenei dintre cele dou imagini, avem n cei doi
vectori de celule coordonatele punctelor i putem calcula adncimea folosind
formula matematic dat de triangulare , aspect explicat n capitolul 3. innd
cont de distana focal a camerelor, de distana dintre acestea i de distana
Figura 4.11 Corespondena punctelor de interes.


NECLASIFICAT
68 din 100

dintre cele dou puncte de coordonate (x
1
,y
1
) i (x
2
,y
2
) calculat prin formula
matematic urmtoare:

(



(4.28)
putem calcula foarte uor adncimea fiecrui punct pe care o stocm ntr-un
vector.

6. Corectarea erorilor
Observarea micilor erori la adncimea punctelor a condus la realizarea unei
baze de date a impostorilor pentru calcularea indicelui , aspect prezentat n
capitolul 3. Pentru a realiza acest lucru, am construit o funcie care s returneze
valoarea pentru ntreaga baz de date, urmnd s fie aplicat formula (3.46)
pentru a corecta erorile.

7. Gruparea punctelor de interes
Pentru micorarea timpului de calcul al algoritmului, trebuie grupate
punctele de interes, acest lucru realizndu-se cu ajutorul funciei kmeans
aplicat cu parametrii de intrare vectorul adncimilor i numrul de clustere n
care s se realizeze gruparea. Am stabilit numrul de clustere fiind n=10 n
urma testrii algoritmului pentru mai multe valori i observrii valorilor mai
stabile pentru toate imaginile procesate. n figura 4.12 sunt prezentate
rezultatele n urma testrii programului pentru 6 imagini ale impostorilor cu
valorile de cluster n=5 , n=6, n=7 i n=10.
Se observ n figur c pentru valoarea n=10 mediile determinanilor
rezultate de algoritm sunt cel mai grupate, fiind cel mai aproape de 0, putnd fi
astfel stabilit o valoare de prag ulterior mult mai uor. Punctele
corespunztoare valorii n=5 variaz foarte mult i nu se poate stabili valoarea
respectiv.


NECLASIFICAT
69 din 100


Figura 4.12 Alegerea numrului de clustere.

8. Decizia
Decizia dac subiectul este persoan real sau impostor se ia n funcie de
compararea valorii mediei determinanilor returnat de algoritm cu valoarea de
prag stabilit pe baz experimental. Stabilirea acestei valori a pragului este o
problem deosebit de dificil deoarece conteaz foarte mult intensitatea luminii
n momentul realizrii experimentelor, poziia subiectului n faa camerelor,
ncadrarea corespunztoare a feei la procesarea imaginilor pentru persoanele
reale, iar la impostori conteaz foarte mult fotografia care este pus n faa
camerelor, poziia feei n imagine, umbrele asupra persoanei, unghiul la care
este inut aceasta.
Pentru un experiment realizat cu 17 persoane reale i 17 fotografii ale
impostorilor, realizate n faa camerelor prezentate pn acum n aceast lucrare,
n condiii de luminozitate medie, aproximativ acelai timp al zilei am obinut
rezultatele mediei determinanilor prezentate n figura 4.13.


NECLASIFICAT
70 din 100


Figura 4.13 Stabilirea valorii de prag T.

Subiecii reali au fost testai n faa sistemului realizat din cele dou camere
montate n acelai loc, faa subiectului fiind bine ncadrat, iar imaginile
impostorilor ncercnd s aib aceeai orientare ca i cei reali. Valoarea medie pe
care o putem stabili trebuie s reduc numrul falsei acceptri n sistem a
impostorilor, dar totodat s nu fie prea mare nici numrul falsei respingeri a
subiecilor reali. Avem urmtoarele cazuri posibile:
a) Dac dorim ca rata potrivirii false(FMR) n sistem s fie 0, atunci valoarea
pragului ar trebui s fie aleas T=230 dup cum se observ n figura 4.14.
Acest lucru conduce la o rat a nepotrivirii false(FRR) foarte mare, ceea ce
va supra utilizatorul care dorete s utilizeze aplicaia.


NECLASIFICAT
71 din 100


Figura 4.14 Rata potrivirii false(FMR)=0.
b) Dac dorim ca rata nepotrivirii false(FRR) s fie 0, atunci valoarea pragului
ar trebui aleas T = -37 aa cum se observ i n figura 4.15. Alegerea acestei
valori de prag permite accesul n sistem a unui numr foarte mare de
impostori, adic sistemul are o rat de potrivire fals(FMR) foarte mare.

Figura 4.15 Rata nepotrivirii false(FRR)=0.

T=230
T=-37


NECLASIFICAT
72 din 100

c) Dac dorim s existe un numr ct mai mic de impostori admii n sistem,
adic o rat de potrivire fals(FMR) mic, trebuie s alegem valoarea de prag
T=36 aa cum se observ n tabelul 4.16. n aceast situaie rata de
nepotrivire fals este i ea cea mai mic.

Figura 4.16 Echilibru ntre FMR i FNMR.




T=36


NECLASIFICAT
73 din 100

4.2 REZULTATE

Am ncercat s testez algoritmul pentru mai multe cazuri, astfel nct s pot
analiza stabilirea valorii de prag n funcie de diferite condiii. n continuare o s
prezint cazurile n care au fost realizate testele.
A. Testri cu camerele Logitech AF care au distana focal de 3.7 mm i au fost
montate astfel nct distana ntre axul optic s fie 75mm. Rezoluia la care
au fost realizate testele este de 120x160 pixeli. Am studiat 15 imagini ale
subiecilor reali i 12 imagini ale impostorilor, realizate n aceleai condiii
de luminozitate, sistemul fiind configurat la fel pentru toate. n figura 4.17
sunt prezentate nite exemple de imagini studiate.





Figura 4.17 - Imagini provenite de la camerele Logitech.

Valorile pentru media determinanilor pentru toate imaginile sunt
prezentate n figura 4.18, de unde se trage concluzia c valoarea pragului T


NECLASIFICAT
74 din 100

poate fi aleas n urma experimentelor fiind T=36 astfel nct s existe un
raport echitabil ntre FMR i FNMR (2/5).

Figura 4.18 Alegerea valorii de prag T pentru primul experiment.
Am realizat apoi alte imagini de test unor subieci reali pentru a
observa dac se ncadreaz deasupra pragului ales. Rezultatele se observ n
figura 4.19, unde se vede c din 4 subieci reali testai doar unul este respins
de sistem.
T=36


NECLASIFICAT
75 din 100


Figura 4.19 Rezultate obinute pentru noi subieci testai.

n continuare am ncercat s testez sistemul pe ali 8 subieci, att reali,
ct i impostori. Am observat c rata de eroare raportat la valoarea de prag
stabilit anterior este de 2/8. Rezultatele sunt prezentate n figura 4.20.

Rulnd aplicaia de mai multe ori pe aceleai imagini de test ale unui
subiect, am observat c media returnat variaz. Aceast variaie se
datoreaz alegerii aleatoare a diferitelor puncte din interiorul unui cluster
pentru a calcula media determinanilor celor trei vectori rezultai n urma
selectrii a 4 puncte.

Variaia valorilor realizat pentru dou imagini ale subiecilor reali
este prezentat n figura 4.21, n care am ales subiecii reali cu cele mai
multe puncte detectate, respectiv cele mai puine (punctele de interes se
observ n tabelul 4.1). Am testat apoi variaia mediei i pentru impostori,
alegnd tot imaginile cu cele mai multe puncte de interes detectate, respectiv
cele mai puine (evideniate n tabelul 4.2). Rezultatul variaiei pentru
impostori se observ n figura 4.22.
T=36


NECLASIFICAT
76 din 100


Figura 4.20 Rezultatele testrii pe noi subieci reali i impostori.

Tabel 4.1 Numrul de puncte detectate n imaginile de test ale subiecilor
reali.





28 de
puncte
detectate





55 de
puncte
detectate
T=36


NECLASIFICAT
77 din 100



Figura 4.21 Variaia mediei pentru subieci reali.

Tabel 4.2 Numrul punctelor de interes detectate n imaginile de test ale
impostorilor.





53 de
puncte
detectate





13
puncte
detectate


NECLASIFICAT
78 din 100



Figura 4.22 Variaia mediei pentru impostori.

n urma studierii variaiei mediei determinanilor pentru imaginile de
test att ale subiecilor reali, ct i ale impostorilor, am tras concluzia c
aceast variaie este mai mic dac sunt detectate mai puine puncte tari de
interes n imagine.

B. Testri cu camerele de la un telefon HTC EVO 3D care au distana focal
4.8mm i distana ntre axele optice ale camerelor fiind de 63.5 mm. Toate
imaginile au fost realizate la rezoluia 1080x1920 pixeli.
n figura 4.23 sunt prezentate cteva imagini preluate cu aceaste
camere ale subiecilor reali, n diferite condiii de luminozitate. n figura 4.24
am prezentat cteva imagini ale impostorilor preluate cu aceleai camere.



NECLASIFICAT
79 din 100



Figura 4.23 Imagini ale subiecilor reali preluate cu telefonul HTC EVO 3D.



Figura 4.24 Preluare imagini impostori cu telefonul HTC EVO 3D.



NECLASIFICAT
80 din 100

n urma testrii programului pentru o baz de date ce conine 9 imagini ale
impostorilor i 9 imagini ale subiecilor reali n aceleai condiii de luminozitate,
putem stabili valoare de prag T n urma analizrii graficului din figura 4.25 la

, astfel nct s existe un raport echitabil ntre FMR i FNMR.



Figura 4.25 Alegerea valorii T pentru al doilea experiment.

Am realizat alte imagini cu subieci reali, n condiii diferite de luminozitate
fa de primele i avem urmtorul grafic prezentat n figura 4.26. Se observ astfel
c valorile noi care ar fi trebuit s fie majoritatea de partea dreapt a pragului T,
sunt de fapt n cealalt parte, astfel subiecii vor fi majoritatea respini de sistem.
Tragem de aici concluzia c nu putem aplica valoarea T stabilit n urma unor
experimente pentru identificarea unei imagini realizate n alte condiii de mediu
deoarece rata de fals respingere va fi foarte mare.
T=0.66


NECLASIFICAT
81 din 100


Figura 4.26 Introducerea unor subieci reali noi n baza de date studiat anterior.

O problem pe care am observat-o a fost schimbarea valorilor pentru aceeai
imagine a valorii mediei determinanilor returnat de algoritm la rulri consecutive
a programului. Variaia valorilor realizat pentru dou imagini ale subiecilor reali
este prezentat n figura 4.27. Aceast variaie se datoreaz alegerii diferitelor
puncte din interiorul unui cluster la calcularea determinanilor celor trei vectori
realizai din patru puncte. Se observ c este mai mic variaia pentru a doua
imagine, care are mai puine puncte tari de interes detectate, dup cum se observ
n tabelul 4.3.
Am testat apoi variaia a dou imagini ale impostorilor(prezentate n tabelul
4.4), cea cu cele mai multe puncte de interes detectate, respectiv cele mai puine.
Rezultatele sunt prezentate n figura 4.27.


T=0.66


NECLASIFICAT
82 din 100

Tabel 4.3 Numrul punctelor de interes detectate n imaginile de test ale subiecilor reali.





409 de
puncte
detectate






46 de
puncte
detectate



Figura 4.27 Variaia mediei algoritmului la testarea a dou imagini ale subiecilor reali.



NECLASIFICAT
83 din 100


Tabel 4.4 - Numrul punctelor de interes detectate n imaginile de test ale subiecilor reali.




116
puncte
detectate




1000
puncte
detectate


Figura 4.28 - Variaia mediei algoritmului la testarea a dou imagini ale impostorilor.


NECLASIFICAT
84 din 100

n urma testrilor, observm c rezoluia foarte mare a imaginilor ofer multe
puncte de interes detectate, dar i o variaie foarte mare a mediei algoritmului care
determin o cretere semnificativ a ratei de eroare.

Compararea rezultatelor obinute cu cele din articolul [4]
Valoarea de prag stabilit de mine n urma experimentelor realizate pe o baz
de imagini restrns a fost T=36, lucru ce a dus la o rat de eroare a algoritmului de
2/8 din 8 subieci noi introdui n sistem. Experimentele au fost realizate folosind 2
camere Logitech AF distana focal de 3.7 mm i rezoluie de 160x120 pixeli,
aezate la o distan de 75 mm.
Valoare algoritmului din articolul [4] este T=224.5, ce duce la o rat de
eroare aproape de 0, folosind un sistem experimental ce conine 2 camere cu
distana focal de 3.85mm i rezoluie de 640x480 pixeli.




NECLASIFICAT
85 din 100


Capitolul 5

CONCLUZII

Obiectivul acestei lucrri, implementarea unui algoritm de detecie a
impostorilor pentru recunoatere facial care s contribuie astfel la creterea
nivelului de securitate al aplicaiilor, a fost atins. Implementarea algoritmului
descris n capitolul 3 a fost realizat n Matlab, folosind colecia de funcii
mexopencv, pe un sistem de operare Ubuntu.
n prile anterioare ale lucrrii am studiat paii algoritmului i astfel am
reuit s implementez funciile specifice cu parametri corespunztori, care s ofere
o valoare de prag capabil s resping majoritatea impostorilor. n urma testrilor
bazei de date a impostorilor (coninnd 12 figuri ale impostorilor) i a unui set de
imagini preluate subiecilor reali ntr-un mediu nchis,unde luminozitatea este
medie, am setat valoarea de prag T=36. n condiiile acestea, sistemul de
recunoatere facial va avea o rat de potrivire fals(FMR), respectiv o rat de
nepotrivire fals(FNMR) de 2/8 subieci.
Consider c algoritmul implementat de mine ofer o siguran sistemelor de
recunoatere facial dac acesta este montat n aceleai condiii, faa subiectului
fiind bine ncadrat n cadru i pe direcie perpendicular pe axul optic al
camerelor.
n concluzie, consider c lucrarea aceasta este, prin form i coninut,
conform precizrilor i datelor iniiale, astfel s-a realizat o aplicaie software care
s detecteze impostorul i s creasc nivelul de securitate al aplicaiilor care
folosesc recunoaterea facial.



NECLASIFICAT
86 din 100

5.1 Direcii viitoare de cercetare

Direciile de cercetare viitoare sunt:
Mrirea bazelor de date pentru testare,att a subiecilor reali, ct i a
impostorilor, pentru ca valoarea de prag stabilit s fie mult mai precis.
Testarea performanelor aplicaiei cu diveri algoritmi de detectare a
punctelor de interes, de urmrire a fluxului optic.



NECLASIFICAT
87 din 100


ANEXA A

Algoritmi de generare a ablonului feei

Identificarea, extragerea i realizarea setului de trsturi specifice care va
constitui ablonul fiecrei fee analizate reprezint un subiect de mare interes.
Paleta de opiuni este vast i poate fi clasificat n funcie de o serie de criterii:
natura informaiilor extrase (trsturi rezultate din geometria feei n urma aplicrii
unei proceduri de proiecie pe subspaii liniare sau neliniare specifice), aria
imaginii procesate, gradul de localizare n spaiu a trsturilor, natura real sau
complex a semnturii, modularitatea arhitecturii, robusteea n raport cu sursele de
variabilitate ale sistemelor.
Voi prezenta cele mai cunoscute tehnici utilizate:

1. Analiza pe Componente Principale (PCA)

Dimensiunea mare a imaginilor din baza de date complic implementarea
diverselor tehnici de procesare i cresc volumul de calcul. Din aceast cauz se
dovedesc foarte utile tehnicile de compresie care sunt folosite pentru a reduce
dimensiunea datelor originale, cu pierdere de informaii ct mai mici.
Tehnicile de compresie sunt mprite n trei categorii:
a) Codare predictiv
b) Calcul de transformate liniare
c) Cuantizare vectorial.

Una din cele mai cunoscute metode de compresie din a doua categorie este
Analiza pe Componente Principale (Principal Component Analysis - PCA) sau
transformata Karhunen-Loeve.



NECLASIFICAT
88 din 100

Considerm N vectori x
n
care aparin unui spaiu vectorial de dimensiune D
crora le asociem cu ajutorul unei transformate liniare descrise de matricea [W]
MxN

un set de vectori cu o dimensiune mai mic M < D, conform relaiei:

(2.4.1)

Vectorul x
n
poate fi scris ca o combinaie liniar a elementelor unei baze
ortonormate *

+ astfel:


(2.4.2)

unde coeficienii w
i,n
sunt calculai astfel:


(2.4.3)

Dorim s reinem doar un set de M termeni din descompunerea (2.4.2), iar
restul coeficienilor w
i,n
s fie nlocuii cu valori constante:


(2.4.4)
Ideea fundamental a metodei PCA este de a gsi baza particular care
asigur minimizarea erorii ptratice medii dintre seturile de vectori

[1]:


(2.4.5)


NECLASIFICAT
89 din 100


Un rezultat fundamental cunoscut sub denumirea de transformata
Karhunen- Loeve (KLT) demonstreaz c aceast baz este format din vectorii
proprii ai matricii de autocovarian a vectorilor

[1]:

*(

)(

)(



(2.4.6)

unde reprezint valoarea estimat a valorii medii a procesului aleator reprezentat
de vectorii

. Valorile constantelor

sunt date de formula:



(2.4.7)

Utilizarea rezultatelor pentru compresia de date presupune executarea
urmtorilor pai succesiv:
a) Calcului valorii medii a vectorilor supui analizei.
b) Determinarea valorilor
i
i vectorilor u
i
ai matricii de autocovarian.
c) Aplicarea relaiei (2.5) pentru un numr M < D de vectori proprii
corespunztori celor mai mari valori proprii ale matricii de autocovarian S
(denumite componente principale). [1]

n practic, s-a dovedit c cea mai mare parte a semnalelor originale se gsete
acumulat numai ntr-un numr redus de componente principale, iar modalitatea de
selecie este justificat de expresia erorii ptratice medii din formula:



(2.4.8)



NECLASIFICAT
90 din 100

Metoda PCA descris anterior a fost aplicat la recunoaterea facial sub
denumirea generic Eigenfaces. Algoritmul utilizeaz datele din imagini sub
forma unor matrici de dimensiune (MxN) care este transformat ntr-un vector de
aceeai lungime, prin concatenarea coloanelor.

Paii algoritmului Eigenfaces sunt urmtorii:
1. Calculm valoarea medie a celor K fotografii care vor forma setul de antrenare:


(2.4.9)
i imaginile originale se aduc la valoarea medie nul (se centreaz) :

(2.4.10)

2. Se calculeaz matricea S simetric i de dimensiuni (M*N)x(M*N), denumit
scatter matrix care reprezint aproximarea matricii de covarian a tuturor
imaginilor din baza de date. O aproximare ct mai bun depinde de un numr ct
mai mare de imagini din baza de date.


(2.4.11)

Matricea A are pe coloane cte o fotografie centrat:

,

-
()
(2.4.12)

3. Calculm valorile i vectorii proprii ai matricii S (acestea poart denumirea
Eigenfaces).

Observaii:
a) se poate utiliza un artificiu care reduce volumul de calcul: se calculeaz
valorile i vectorii proprii ai matricii

i apoi se folosete relaia dintre




NECLASIFICAT
91 din 100

acetia din urm i vectorii proprii ai matricii S.
b) valorile proprii ale matricii S sunt ntotdeauna pozitive deoarece S este
real i simetric.

4. Ordonm descresctor valorile proprii alea matricii S i apoi se realizeaz un
grafic care exprim pierderea de informaie raportat la factorul de compresie.
Notnd cu

()


valorile sortate ale matricii S, graficul va avea pe
abscis ()


i va exprima raportul:

()



(2.4.13)
Acest grafic permite estimarea numrului de valori i vectori proprii care
sunt considerai semnificativi.

5. Se proiectez imaginile (centrate) originale pe spaiul descris de vectorii
proprii reprezentativi (tipic acetia sunt n numr de 5-10% din numrul total).
Proiecia const de fapt n efectuarea produsului scalar dintre fiecare imagine
original i o matrice avnd drept coloane numai vectorii proprii semnificativi.
Pentru fiecare imagine (centrat)

se obine proiecia pe baza relaiei[1]:



(2.4.14)


- (2.4.15)

unde:

N
max
reprezint numrul maxim de vectori proprii reinui,
E
j
sunt vectorii proprii semnificativi,
W
j
sunt vectori de dimensiune (N
max
x1) i pot fi privii ca semnturile
asociate imaginilor originale.


NECLASIFICAT
92 din 100


6. Clasificarea imaginilor test presupune mai nti determinarea semnturii
fiecrei imagini n raport cu subspaiul determinat anterior i gsirea imaginii din
baza de date de antrenare a crei semntura este cea mai apropiat de cea
determinat. Aprecierea gradului de asemnare dintre cele dou semnturi se face
folosind o metric din urmtoarele:

Distana euclidian

( ) (



(2.4.16)


Distana Manhattan

( ) |


(2.4.17)

Funcia de intercorelaie

,-



(2.4.18)

Distana Mahalanobis



NECLASIFICAT
93 din 100

( )



(2.4.19)


n cazul aplicrii metodei PCA la recunoaterea feelor, trebuie menionate
i o serie de dezavantaje, care limiteaz performanele sistemelor bazate pe acest
instrument de analiz:
- principalul dezavantaj const n faptul c ignorarea componentelor care
contribuie puin la energia imaginilor originale nu conduce automat i la
mbuntirea separrii (discriminrii) dintre diversele subclase de imagini
aparinnd unor persoane diferite (altfel spus, minimizarea erorii de reprezentare nu
nseamn neaprat mbuntirea performanelor de clasificare!).
- un alt dezavantaj al tehnicii PCA l reprezint caracterul global al acesteia, n
sensul c matricea de convarian (deci i valorile i vectorii proprii) este dedus
lund n considerare toate imaginile disponibile, care pot s conin o foarte mare
variabilitate din punct de vedere al nivelului de iluminare, orientrii, fundalului.
Acest dezavantaj poate fi compensat paial utiliznd arhitecturi modulare, n care
tehnica PCA se aplic pe subseturi de imagini care au caracteristici comune (de
exemplu, se calculeaz seturi de vectori proprii distinci pentru clasa imaginilor
reprezentnd vederi frontale, respectiv vederi nclinate la 30, 40). De
asemenea, se pot utiliza arhitecturi n care fiecare modul este specializat s
recunoasc numai imaginile reprezentnd o aceeai persoan.
- n cazul particular al analizei imaginilor reprezentnd fee, metoda PCA s-a
dovedit extrem de sensibil n raport cu normalizarea poziiei acestora: translaii pe
orizontal/vertical cu numai civa pixeli, mici rotaii sau variaii de scal pot
altera semnificativ semnturile extrase i, n consecin, pot degrada
performanele de recunoatere/autentificare. Ca urmare, este necesar o etap
(manual sau automat) de normalizare a aspectului imaginilor, care s precead


NECLASIFICAT
94 din 100

aplicarea propriu-zis a PCA. Alternativ, au fost propuse variante ale metodei
standard, care ncearc s compenseze acest dezavantaj prin filtrarea adecvat a
imaginilor originale. n particular, uneori se prefer ignorarea proieciei de-a lungul
primului vector propriu semnificativ, deoarece de regul acesta este sensibil la
nivelul global de iluminare al imaginilor[1].

2. Analiza Discriminatorie Liniar (LDA)

Proiecia datelor de lucru pe subspaiul generat de setul de vectori proprii
semnificativi ai matricii de autocorelaie minimizeaz eroarea de reconstrucie, dar
nu ofer automat i optimizarea performanelor de clasificare. Pentru a identifica
direciile din spaiu de-a lungul crora ar fi indicat s efectum proiecia pentru a
maximiza separarea (discriminabilitatea) datelor procesate se poate utiliza o alt
tehnic liniar de natur statistic, cunoscut sub denumirea Analiza
Discriminatorie Liniar ( Linear Discriminant Analysis -LDA).
LDA, ca i analiza componentelor principale, este o metod statistic de
selecie a caracteristicilor. Spre deosebire de PCA, unde se urmrete o proiecie n
sensul maximizrii matricii totale de covariaie, aici se caut o proiecie n sensul
maximizrii matricii de covariaie interclase SB si minimizrii matricii de
covariaie cumulat din interiorul claselor SW. Mai exact, LDA ncearc s
gseasc cea mai bun direcie de proiecie n care vectorii de antrenare aparinnd
n clase diferite sunt cel mai bine separai[3].
Algoritmul LDA[3] este prezentat n continuare:
Se dau C clase cu cte

( ) vectori n-dimensionali n fiecare clas.


S
B
reprezint matricea de covariaie ntre clase:

)(



(2.4.20)

unde :
- (

) probabiliti apriori
- este media celor C clase
-

este media fiecrei clase




NECLASIFICAT
95 din 100


S
w
reprezint matricea de covariaie din interiorul claselor:

)(



(2.4.21)


Se determin valorile proprii ale matricii

i valorile obinute se
ordoneaz descresctor.

|

| (2.4.22)

Se determin vectorii proprii care corespund valorilor proprii:

(2.4.23)

Matricea L de transformare LDA va fi compus din vectorii proprii
determinai anterior.

,

(2.4.24)

Fiecare vector de intrare X se va proiecta n spaiul LDA astfel:

(2.4.25)

Se vor obine numai m<n componente ale lui Y, restul de n-m vor fi nlocuite
cu valori de zero. Se va obine astfel vectorul

.



NECLASIFICAT
96 din 100

Pentru a vizualiza vectorul



Metoda LDA poate fi generalizat pentru probleme de clasificare cu un
numr oarecare de categorii C2 , cu observaia c numrul de direcii
discriminatorii posibil de determinat este egal cu (C-1). Aceast constrngere
poate reprezenta un dezavantaj major pentru extragerea unor semnturi
semnificative n condiiile n care avem la dispoziie date de dimensiune mare
aparinnd unui numr limitat de clase, motiv pentru care de multe ori aplicarea
metodei LDA este precedat de o etap prealabil de reducere a
dimensionalitii vectorilor originali, de obicei bazat pe aplicarea tehnicii PCA.
Mai mult, dac numrul de vectori disponibili este redus (iar acest lucru este
posibil n aplicaii biometrice unde, de exemplu, putem avea numai una sau
dou fotografii ale unei aceleeai persoane!), estimarea valorilor medii i, n
continuare, a matricilor S
B
i S
W
este nerelevant din punct de vedere statistic.
Un alt dezavantaj, pe care l prezint ambele tehnici descrise anterior, se refer
la faptul c identificarea setului de trsturi semnificative se face folosind
exclusiv datele de intrare, nu i eticheta corespunztoare categoriei crora
acestea aparin[1].


3. Analiza componentelor independente(ICA)

Analiza componentelor independente (Independent Component Analysis -
ICA) minimizeaz dependenele att de ordinul al doilea, ct i de ordin mai mare
al datelor de intrare i ncearc s gseasc baza de-a lungul creia datele sunt
statistic independente.

4. Elastic Bunch Graph Matching (EBGM)

Toate feele umane au o structur topologic similar. Feele sunt
reprezentate sub form de grafuri, cu noduri poziionate la punctele de reper(ochi,
nas) i muchii etichetate cu vectori de distane 2-D. Fiecare nod conine un set de
40 de coeficieni compleci ai undei Gabor la diferite niveluri i orientri(faza i
amplitudinea). Acetia sunt denumii jets. Recunoaterea se bazeaz pe grafice


NECLASIFICAT
97 din 100

etichetate. Un grafic etichetat este un set de noduri conectate prin muchii, nodurile
sunt etichetate cu jets, iar marginile sunt etichetate cu distane.[11]

5. Local Feature Analysis(LFA)

Algoritmul LFA presupune localizarea trsturilor individuale ale feei.
Aceste trsturi reprezint blocurile care alctuiesc orice imagine facial, ca n
figura 2.6.[13]

Figura 2.1 Blocurile componente ale feei.[12]






NECLASIFICAT
98 din 100

BIBLIOGRAFIE

[1] Iulian B. Ciocoiu. Capitolul 1- Aplicaii biometrice.Recunoaterea feelor.
[2] Spnu Stelian. Cursul de sisteme biometrice, ATM.
[3] S. Balakrishnam, A. Ganapathiraju. Linear Discriminant Analysis - A Brief
Tutorial, Institute for Signal and Information Processing Department of Electrical
and Computer Engineering Mississippi State University.
[4] "Imposter detection using facial stereoscopic images", in Procced. of 17th
European Signal Processing Conference, EUSIPCO-2009, pp. 740-743, August 24-
28, 2009, Glasgow, Scotland.
[5] P. Viola and M. Jones, Rapid object detection using a boosted cascade of
simple features, In Proceedings of the Computer Society Conference on Computer
Vision and Pattern Recognition, vol.1, pp. 511-518, 2001.
[6] M. Gopi Krishna, A. Srinivasulu, Prof (Dr.) T.K.Basak, Face Detection
System on Ada boost Algorithm Using Haar Classifiers, International Journal of
Modern Engineering Research (IJMER), Vol.2, Issue.6, Nov-Dec. 2012, pp-3996-
4000.
[7] C. Harris and M. Stephens, A Combined Corner and Edge Detector, in
Proceedings of 4th Alvey Vision Conference, pp.147-151, 1988.
[8] Adrian Burlacu, Algoritmi de procesare a imaginii pentru aplicaii de urmrire
a obiectelor n micare ,Tez de doctorat, Universitatea Tehnic Gheorghe
Asachi, Iai, 2009.
[9] Tiberiu Maria , P6 - Estimarea fluxului optic si urmrirea de trsturi n
secvene de imagini, Internet: http://users.utcluj.ro/~tmarita/HCI/P6/P6.pdf
[10] Horia Tanase , Tutorial.Procesare de imagini, Internet:
http://tutorialpi.freeiz.com/index-2.html
[11] L. Wiskott, J.-M. Fellous, N. Krueuger, C. von der Malsburg. Face
Recognition by Elastic Bunch Graph Matching, in Pattern Analysis and Machine
Intelligence, IEEE Transactions on (Volume:19 , Issue: 7 ), pp. 775 779, 1997.


NECLASIFICAT
99 din 100

[12] Bill Baker, Nadine Brown, Rick Hennings, Shobhana Misra, Saurabh Pethre.
Face recognition , Internet: http://www.docstoc.com/docs/26141204/FACE-
RECOGNITION
[13] Stefano Arca, Paola Campadelli, Raffaella Lanzarotti. A face recognition
system based on local feature analysis, in Proceeding AVBPA'03 Proceedings of
the 4th international conference on Audio- and video-based biometric person
authentication, pp. 182-189, Berlin, 2003.
[14] Turk, M., Pentland, A.P., "Eigenfaces for recognition", J. of Cognitive
Neuroscience, vol. 3, no. 1, pp. 71-86, 1991.
[15] Chengjun Liu and Harry Wechsler, Comparative Assessment of
Independent Component Analysis (ICA) for Face Recognition, Second
International Conference on Audio- and Video-based Biometric Person
Authentication, AVBPA99,Washington D. C. USA, March 22-24, 1999.
[16] Wiskott, L., Fellous, J.-M., Kruger, N., von der Malsburg, C., "Face
Recognition by Elastic Bunch Graph Matching", IEEE Trans. PAMI, vol. 17, no. 7,
pp. 775-779, 1997.
[17] Penev, P., Atick, J., "Local feature analysis: A general statistical theory for
object representation", Network: Computation in Neural Systems, vol. 7, no. 3, pp.
477-500, 1996.
[18] DARPA Extends Visionics Participation in Human ID at a Distance
Program, Internet: http://ir.l1id.com/releasedetail.cfm?releaseid=208485
[19] A. Koschan, M. Abidi. Digital Color Image Processing, Wiley & Sons, 2008,
pag 143 -144.
[20] Ing. Silviu BOTA, Detecia i urmrirea micrii din imagini
tridimensionale , Tez de doctorat, Universitatea Tehnic Cluj-Napoca, Facultatea
de Automatic i Calculatoare, Cluj-Napoca, 2011.
[21] J-Y. Bouguet, Pyramidal Implementation of the Lucas Kanade Feature
Tracker : Description of the algorithm, in Intel Research Laboratory, Technical
Report, 1999.


NECLASIFICAT
100 din 100

[22] Andrew W. Senior and Ruud M. Bolle, Face recognition and its
applications, IBM T.J.Watson Research Center, Yorktown Heights.
[23] John D. Woodward, Jr., Christopher Horn,Julius Gatune, and Aryn Thomas,
Biometrics A Look at Facial Recognition, Internet: http://www.rand.org/

You might also like