Professional Documents
Culture Documents
(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
, un prag
i o paritate
() {
()
(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
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
()
()
( )
( )
( ) [
( )
( )] [
]
(3.10)
unde
,
-
(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 (
(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
(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
(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
()
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)
(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
)(
(2.4.20)
unde :
- (
) probabiliti apriori
- este media celor C clase
-
)(
(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/