Sunteți pe pagina 1din 3

Tem de cas: Algoritmul PCA i aplicaiile sale n recunoaterea feelor

Aspecte teoretice
n literatur au fost propuse numeroase tehnici de recunoatere/autentificare a feelor, cu grade de complexitate, constrngeri, performane i arii de aplicabilitate foarte diverse. n mod special, identificarea, extragerea i ierarhizarea setului de trsturi semnificative care va constitui semntura fiecrei fee supuse analizei continu s reprezinte un subiect de larg interes. Paleta foarte larg de opiuni din aceast categorie poate fi clasificat innd cont de o serie de criterii precum natura informaiilor extrase (distingem trsturi rezultate din geometria specific feelor, respectiv n urma aplicrii unei proceduri de proiecie pe subspaii liniare sau neliniare specifice), aria imaginii supuse procesrii (vom regsi metode, denumite holistice, care prelucreaz ntreaga imagine, respectiv soluii orientate pe zone limitate situate n jurul punctelor fiduciale), gradul de localizare spaial a trsturilor, natura real (eventual binar) sau complex a semnturii, modularitatea arhitecturii, robusteea n raport cu numeroasele surse de variabilitate specifice acestor aplicaii. De multe ori alegerea metodei de extragere a trsturilor semnificative este strns legat de tipul clasificatorului ce urmeaz a fi utilizat n vederea furnizrii deciziei. Mai mult, dimensiunea i particularitile bazei de date disponibile impun constrngeri suplimentare n privina alegerii soluiei adecvate. Algoritmul PCA a fost aplicat cu succes la recunoaterea feelor, sub denumirea generic Eigenfaces i este descris pe larg n materialul pus la dispoziie. Materia prim o constituie ansamblul imaginilor disponibile n baza de date, formate din matrici cu valori reale (eventual binare). Fiecare astfel de matrice, presupus de dimensiune (MxN), este mai nti transformat ntr-un vector de aceeai lungime, prin concatenarea coloanelor corespunztoare. Algoritmul de procesare presupune parcurgerea urmtorilor pai: a) Se calculeaz valoarea medie a imaginilor care formeaz setul de antrenare (presupus a avea K fotografii):
K

Ij
I=
j =1

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


I centrat = Ij I j

b) Se calculeaz aa-numita scatter matrix, care reprezint aproximarea matricii de covarian a imaginilor din baza de date (aproximarea este cu att mai bun cu ct avem mai multe imagini la dispoziie):
S= 1 A AT K

unde matricea A are pe coloane cte o fotografie centrat:

A= I centrat I 2centrat ........I k centrat ( M N ) k 1


Matricea S este simetric i are dimensiuni (M*N)x(M*N).

c) Se calculeaz valorile i vectorii proprii ai matricii S (vectorii proprii ai matricii S n cazul lucrului cu imagini reprezentnd fee poart denumirea Eigenfaces). d) Se ordoneaz valorile proprii ale matricii S n sens descresctor. Se traseaz un grafic care exprim pierderea de informaie n raport cu factorul de compresie. Astfel, dac notm cu i ,
i = 1 ( M N ) , valorile proprii sortate ale matricii S, graficul anterior se refer la raportul (pe

abscis avem j = 1 ( M N ) ):

i =1 ( MxN )

i
j

j =1

Graficul anterior permite estimarea numrului de valori i vectori proprii considerai semnificativi (adic aceia care pstreaz cea mai mare parte din energia imaginilor originale). e) 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 centrat proprii semnificativi. Pentru fiecare imagine (centrat) I j se obine proiecia pe baza relaiei:
W jT = I j centratT VPCA

VPCA = E1E2 E3 ......E N max unde N max este numrul maxim de vectori proprii reinui, E j sunt vectorii proprii semnificativi, iar vectorii W j au dimensiunea ( N max 1) i pot fi privii ca semnturile asociate imaginilor originale. f) Clasificarea imaginilor test presupune mai nti determinarea semnturii fiecrei imagini n raport cu subpaiul determinat anterior (i care depinde exclusiv de imaginile din setul de antrenare!) i gsirea acelei imagini din baza de date de antrenare a crei semntur este cea mai apropiat de semntura imaginii de test. Aprecierea similitudinii dintre astfel de perechi de imagini se realizeaz folosind o metric convenabil aleas. Opiunea uzual este distana Euclidean (L2), ns se pot utiliza i alte msuri precum funcia de autocorelaie sau cosinusul unghiului dintre 2 vectori.

Cerine
1. Baza de date utilizat este disponibil n fiierul data_olivetti.asc. Aceasta conine cte 10 fotografii ale unui grup de 40 de persoane. Fiecare fotografie are dimensiunea de 32x32 pixeli i este plasat pe cte o coloan a matricii de date menionate anterior (n acest scop, fiecare fotografie este transformat dintr-o matrice cu dimensiunile de 32x32 ntr-un vector cu dimensiunea 1024x1). Fiecare grup consecutiv de cte 10 fotografii corespunde unei anumite persoane. Afiai ntr-o imagine fotografiile corespunzatoare primei persoane (cele 10 fotografii vor fi plasate ntr-un singur grafic, pe 2 rnduri cu cte 5 poze). Indicaie: Modificarea dimensiunilor unei matrici (cu pstrarea numrului total de valori ale acesteia) se face apelnd funcia reshape.m. Pentru a afia o fotografie, transformai mai nti valorile matricii 32x32 corespunztoare n nivele de gri folosind funcia mat2gray.m, dup care folosii funcia imshow.m.

2. Efectuai experimente repetate pentru determinarea performanelor de recunoatere a feelor utiliznd algoritmul PCA. n acest scop, apelai fiierul de comenzi test_eigenfaces.m. Performanele obinute sunt reflectate n valoarea parametrului hit_rate_all, care arat procentajul de recunoatere corect obinut ntr-un set de experimente succesive. inei cont de urmtoarele observaii: - pentru utilizarea algoritmului n acest gen de aplicaii este necesar ca baza de date avut la dispoziie s fie mprit n 2 subseturi: un set de antrenare (Train), care va fi utilizat pentru obinerea matricii VPCA pe baza creia se obin apoi semnturile corespunzatoare fiecrei fotografii, respectiv un set de testare (Test), care va permite evaluarea performanelor algoritmului. n acest scop, cele 10 poze corespunztoare fiecrei persoane vor fi alocate separat celor 2 subseturi de date, numrul de poze alocat setului de Train fiind definit de variabila no_train din fiierul test_eigenfaces.m. - numrul de vectori proprii semnificativi care vor intra n componena matricii VPCA se alege cu ajutorul parametrului thresh. De exemplu, thresh=0.05 semnific faptul c numai 5% dintre vectorii proprii ai matricii S (definite n paragraful Aspecte teoretice) sunt pstrai. - fiecare dintre vectorii proprii semnificativi ai matricii S are dimensiunea de 1024x1. Pentru a putea fi interpretai, acetia trebuie redimensionai sub forma unor matrici de dimensiune 32x32, apoi afiai urmnd procedura descris la punctul 1. - exist posibilitatea de a afia imaginile aproximate folosind un numr redus de vectori proprii (semnificativi) ai matricii S. Imaginile reconstruite sunt disponibile n variabilele denumite data_train_reconstruct i data_test_reconstruct. 2.1 Efectuai cte 10 experimente repetate (no_trials=10) alocnd cte 5 fotografii ale fiecrei persoane setului de antrenare (no_train=5) i variind numrul de vectori proprii semnificativi pstrai. n acest scop, efectuai experimente pentru thresh={0.05; 0.1; 0.15}. 2.2 Efectuai cte 10 experimente repetate (no_trials=10) pstrnd un numr fix de vectori proprii semnificativi (de exemplu, thresh=0.05) i variind numrul de poze ale fiecrei persoane alocate setului de Train. n acest scop alegei no_train={3, 5, 7}. 2.3 Pentru unul dintre experimente (de exemplu, thresh=0.05 i no_train=5) trasai graficul valorilor proprii sortate ale matricii S (adic graficul

i =1

( MxN )

j =1

j ).

2.4 Pentru unul dintre experimente, afiai ntr-un singur grafic imaginile reprezentnd primii 10 vectori proprii semnificativi.

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