La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Laurea Specialistica in Ingegneria Informatica Tesi di Laurea

Presentazioni simili


Presentazione sul tema: "Corso di Laurea Specialistica in Ingegneria Informatica Tesi di Laurea"— Transcript della presentazione:

1 Corso di Laurea Specialistica in Ingegneria Informatica Tesi di Laurea
UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica Tesi di Laurea ANALISI COMPARATIVA DI TECNICHE DI RAPPRESENTAZIONE PER IL RICONOSCIMENTO AUTOMATICO DI VOLTI Il titolo del presente lavoro è: Analisi comparativa di tecniche di rappresentazione per il riconoscimento automatico di volti. Relatore Prof. Marco Maggini Candidato Duccio Picinotti Correlatore Dott. Lorenzo Sarti A.A. 2007/2008

2 Introduzione Sistemi biometrici per il riconoscimento automatico
impronte digitali iride firma autografa faccia Obiettivi maggior livello di sicurezza maggior comodità per gli utenti abbassamento costi di gestione

3 Riconoscimento facciale
Pro metodo meno invasivo ha molti più campi applicativi Contro variabilità maggiore a parità di soggetto: il volto di una singola persona può cambiare molto al variare delle espressioni o dell’angolo di ripresa necessita di modelli più complessi e pesanti

4 Applicazioni pratiche
Applicazioni pratiche del riconoscimento facciale automatico in parallelo ad altre misure biometriche per il riconoscimento sicuro di un individuo apparati di identificazione biometrica al posto di Bancomat e Smartcard eliminazione delle password (rimarrebbero solo in caso di problemi di identificazione) eliminazione delle chiavi di casa o dell’auto (rimarrebbero solo in caso di malfunzionamenti) controllo degli accessi in edifici che necessitano sicurezza riconoscimento criminali/terroristi in luoghi pubblici come stazioni ed aeroporti (usato al Super Bowl) nelle investigazioni scientifiche per riconoscimento di criminali schedati alle votazioni per evitare voti multipli uso di apparati più generali di riconoscimento oggetti per robot

5 Sistemi commerciali di riconoscimento
Sono in grado di riconoscere i volti anche variando (robustezza): variazione posa: angolazione e distanza dalla videocamera variazione dell’intensità e distribuzione dell’illuminazione cambiamenti intrinseci del volto: espressioni, capigliatura, invecchiamento, occhi chiusi, presenza o meno di occhiali…. occlusioni parziali del volto Applicazioni commerciali (eseguono sia autenticazione one-to-one sia identificazione one-to-many) TrueFace di Miros: buona efficienza e modesta richiesta di risorse TrueFace Network: per controlli di accesso via protocolli di rete TrueFace ID: specifico per scopi di sorveglianza TrueFace Engine: personalizzabile in base ad esigenze specifiche FaceIt di Visionic: diffuso in ambito governativo e bancario FaceIt Sentinel: prodotto entry-level a basso costo FaceIt Survillance: per la sorveglianza

6 Obiettivi della tesi face recognition e non face detection (si è usato OpenCV per questo) obiettivo principale: implementare più algoritmi di riconoscimento per valutarne l’accuratezza, la velocità, vantaggi e svantaggi uso del dataset di foto di volti XM2VTS multi-modale (Centre for Vision, Speech an Signal Processing, CVSSP, University of Surrey, Sussex UK): 295 soggetti 8 differenti posizioni per ogni individuo 720 x 576 pixel ogni immagine suddivisione dataset 6 foto per ogni individuo (75%) -> Training-set 2 foto per ogni individuo (25%) -> Test-set Error rate % come stima della probabilità d’errore e quindi dell’accuratezza dell’algoritmo di classificazione script Matlab© per l’estrazione features e la classificazione

7 Aspetti problematici Aspetti problematici del riconoscimento facciale automatico estrazione delle features: attributi necessari per eseguire la classificazione trovare un compromesso fra compressione dei dati in ingresso, per diminuire carico computazionale, e l’efficacia del classificatore Metodologie di riduzione della dimensionalità Lineari Principal Component Analysis (PCA) Linear Discriminat Analysis o di Fisher (LDA) Singular Value Decomposition (SVD) Non Lineari Kernel PCA Radial Basis Function (RBF) Self-Organizing Map o Mappe di Kohonen (SOM)

8 Tecniche di classificazione
Una volta calcolate le features si usano i classificatori automatici: classificatore bayesiano con assunzione gaussiana o con mistura di gaussiane classificatore K-NN con distanza euclidea classificatore K-NN con distanza auto-appresa con SNN classificatore K-NN con distanza dal centroide di ogni soggetto

9 Classificatore bayesiano
Classificatore bayesiano (T. di Bayes) ω1,…, ωc classi x € Rn features come variabile aleatoria P(ωi|x) probabilità a posteriori (posterior probability) di ωi data l’osservazione x P(x|ωi) verosomiglianza (likelihood o class conditional) di x data ωi-> da stimare P(ωi) probabilità a priori di ωi (prior probability) P(x,ωi) probabilità congiunta (joint probability) di x e ωi p(x) fattore di normalizzazione chiamato “evidenza” (può essere tolto poiché indipendente da classe ωi) Discriminante della classe: si massimizza la posterior probability

10 Stima parametrica supervisionata
Stima parametrica supervisionata della verosomiglianza “dati n campioni appartenenti ad una data classe Y={y1, .., yn}, distribuiti i.i.d. secondo una certa funzione di forma nota p(y, θ), stimare un vettore di p-parametri θ=(θ1, .., θp)” stima a massima verosomiglianza, si massimizza: se si assume p(yk| θ) gaussiana multivariata poi si sostituisce la verosomiglianza nel T. di Bayes e si trova la posterior probability e quindi il discriminante

11 Stima non-parametrica supervisionata
non si fanno assunzioni su forma della distribuzioni di probabilità n campioni i.i.d. x1, .., xn Parzen Window: stima mediante combinazione lineare di funzioni finestra (kernel), simmetriche rispetto al loro baricentro e volumetricamente normalizzate, mediate negli n campioni a disposizione (si sostituisce verosomiglianza nel T. Bayes) funzione finestra ipercubica (ipercubo centrato in x0 e di lato hn)

12 Classificatore K-NN classificatore K-Nearest Neighbor (K-NN) sia Yn = {x1, x2, …, xn} il campione di training etichettato con le classi di appartenenza e x0 il pattern da classificare regola di decisione K-NN considera i K pattern di Yn più vicini al punto x0, a minima distanza euclidea, e assegna x0 alla classe ωi se e solo se è quella avente frequenza più alta rispetto a tutte le altre in questo sotto-campione di K osservazioni K=1 -> classificatore Nearest Neighbor K elevati -> stima troppo “mediata” della posterior probability (si allontana troppo da punto x0)

13 Reti Neurali di Similarità (SNN) 1/2
MLP con coppie (x, y) in input e output fSNN(x, y) € {0,1} simile/dissimile, usato al posto della distanza euclidea in K-NN

14 Reti Neurali di Similarità (SNN) 2/2
Proprietà delle SNN, dato il set di pesi e soglie θ fSNN(x, y, θ) ≥ 0 (non negatività, data da funzione attivazione sigmoidale nell’output layer) fSNN(x, y, θ) = fSNN(y, x, θ) (simmetria, data dall’architettura doppia e a pesi condivisi della slide precedente) La distanza in uscita non è una metrica, cioè non valgono fSNN(x, y, θ) ≤ fSNN(x, z, θ) + fSNN(z, y, θ) (disug. triangolare) fSNN(x, x, θ) = 0 (autosimilarità, può comunque essere appresa dai dati)

15 Estrattori di features 1/2
aspetto più delicato del riconoscimento facciale servono a ridurre la dimensionalità di un problema computazionalmente oneroso -> estrarre dai dati in input, con poche perdite, informazione rilevante ai fini della classificazione metodologie di riduzione della dimensionalità standard lineari/non lineari PCA , LDA, SVD Kernel PCA, SOM, RBF

16 Estrattori di features 2/2
Estrattori di features utilizzati: Active Shape Model (ASM) sfrutta solo i parametri di “forma” del volto: lineamenti facciali come ovale, bocca, naso, occhi e sopraccigli Active Appearance Model (AAM) sfrutta solo la texture dell’immagine cioè l’intera informazione presente nei pixel. Considera solo l’ellisse del volto (usa ground-truth) Eigenfaces trasforma le immagini in un piccolo set di features chiamato eigenfaces, usate come componenti principali per il training-set. Riconoscimento proiettando nuove immagini nel sotto-spazio degli eigenfaces (chiamato face-space) e comparando la posizione con quella delle facce del training-set

17 Active Shape Model (ASM) 1/3
Active Shape Model (ASM): modello di forma “attivo”, usato software scritto da Ilaria Castelli n=68 landmark di riferimento ognuno con due coordinate (xi,yi): occhi, bocca, naso, sopraccigli e ovale calcolo automatico dei landmark nel nuovo volto e successiva classificazione contorno medio calcolato sul training-set partendo da ground-truth 1a fase: posizionamento shape media considerando il centro del bounding-box trovato con OpenCV 2a fase: allineamento iterativo shape, spostamento punti in modo da minimizzare le somme delle distanze dalla shape media convergenza quando c’e’ poca differenza fra shape di 2 iterazioni successive

18 Active Shape Model (ASM) 2/3
problema: individuare le nuove posizioni in cui spostare i landmark edge detection: tecniche per individuare brusche variazioni dei livelli di illuminazione (si trovano i contorni degli oggetti): si basano su calcolo derivate prime e seconde dei livelli di grigio ricerca edge “principali” problema: rumore -> soluzione: filtri vari (Gabor, ..) di solito ci si sposta lungo la normale alla shape passante per il punto in esame nel lavoro di Ilaria Castelli si usano delle reti neurali addestrate per spostarsi all’interno di una sezione ellittica nell’intorno del punto considerato nella direzione più verosimile

19 Active Shape Model (ASM) 3/3
una volta calcolati i landmark si esegue riduzione di dimensionalità con PCA calcolo shape media dal training-set allineato (s=numero soggetti del training-set) calcolo matrice covarianza S dei dati (2n x 2n) individuare i t modi di variazione in grado di spiegare la maggior parte dell’intera varianza λT, ottenuta come somma degli autovalori di S (in ordine crescente) vogliamo che venga spiegata una certa percentuale f (99%) della varianza e si sceglie t in modo che ogni shape appartenente al training-set può essere approssimata combinando la shape media con una somma pesata dei primi t autovettori dove φ=(φ1|..|φt) è una matrice 2n x t costituita dai primi t autovettori di S e b è un vettore t-dimensionale contenente i coefficienti di pesatura degli autovettori il vettore b che contiene i parametri del modello deformabile, usato poi per la classificazione, viene calcolato come

20 Active Appearance Model (AAM) 1/4
Active Appearance Model (AAM): modello di apparenza “attivo”, usato software scritto da Stefano Melacci ricerca landmark con ASM ritaglio del volto tramite i landmark: vengono tolti sfondo, capelli e orecchie normalizzazione alla shape media viene usato approccio statistico simile agli Eigenfaces ridimensionamento immagini a causa di problemi di memoria

21 Active Appearance Model (AAM) 2/4
si campiona l’intensità dei livelli di grigio dell’immagine normalizzata e ritagliata per formare un vettore delle texture gim per limitare l’effetto di una variazione globale di luce si applica una offset β e un fattore di scala α g=(gim- βI)/α α e β sono scelti in modo da far combaciare gim con quello della media dei dati normalizzati, cioè dove n è il numero degli elementi del vettore di texture gim applicando la PCA ai dati normalizzati si ottiene un modello lineare del tipo dove Pg è un insieme di modi di variazione ortogonali e bg è un gruppo di parametri dei livelli di grigio nuove texture dell’immagine possono essere ricavate variando i parametri bg ,α e β (processo iterativo) i parametri bg (modi) vengono usati direttamente per la classificazione

22 Active Appearance Model (AAM) 3/4
iterazioni dell’algoritmo AAM: posa della texture media e modifica iterativa della texture fino a ricalcare la texture del nuovo volto aspetto più critico: posizionamento iniziale texture media sul centro degli occhi

23 Active Appearance Model (AAM) 4/4
fino ad ora si è usata la sola Texture ma si può estendere il modello usando l’Appearance (Texture + Shape ASM) considerando oltre ai modi bg anche quelli bs dell’ASM si mette tutto in un’unico vettore costruendo la parte dovuta agli ASM nello stesso modo di AAM dove Ws è una matrice diagonale con i pesi da applicare ad ogni parametro di forma (di solito Ws=rI, con r2 rapporto fra variazione totale nella texture e la variazione totale nella shape normalizzata) si applica la PCA al vettore combinato b e si arriva al modello dove Pc sono gli autovettori e c è un vettore con i parametri di appearance (usati per la classificazione)

24 Eigenfaces 1/4 Eigenfaces : “auto-facce”, usato mio script Matlab©
immagine come vettore bidimensionale di livelli di grigio NxN o come un punto in uno spazio N2: le immagini del volto non saranno distribuite in maniera casuale in questo grande spazio -> potrebbero essere rappresentate anche in un sottospazio, chiamato “face-space”, accoppiando le correlazioni fra immagini mediante PCA ogni vettore che rappresenta un volto viene considerato come combinazione lineare dell’immagine del volto originale i vettori della PCA (che sono gli autovettori della matrice di covarianza) vengono chiamati “eigenfaces”

25 Eigenfaces 2/4 sia Γ1, .., ΓM il training-set dei volti
definiamo la faccia media ogni volto differisce da quello medio del vettore la matrice di covarianza C, N2xN2 è, determina N2 autovettori ed autovalori, troppo elevato se il numero di immagini è minore della dimensione dello spazio di ogni singola figura (M<<N2) allora ci saranno solamente M-1 autovettori invece dei precedenti N2 (i rimanenti saranno associati all’autovalore 0 ) -> si trovano M autovettori della matrice, MxM, L=ATA le immagini degli eigenface calcolate dagli autovettori di L formano una base mediante la quale descrivere tutte le immagini dei volti dato che non è richiesta una ricostruzione accurata del volto per la classificazione si usa un valore M’<M di autovettori (i più significativi, con autovalore associato più grande)

26 Eigenfaces 3/4 una volta calcolati gli autovettori una nuova immagine viene trasformata nelle sue componenti eigenfaces (proiettandola nel “face-space”) mediante l’operazione descrive la proiezione delle immagini nel sottospazio definito dagli autovettori principali uk i pesi ωk trovati per la nuova immagine Γ formano un vettore ΩT=[ω1, .., ωM’] che descrive il contributo di ogni “eigenface” nel rappresentare la nuova immagine, trattando gli “eigenfaces” come una base per tutte le immagini di volti ΩT viene usato come features per la classificazione: per trovare il volto più simile alla nuova faccia si trova la classe k che minimizza la distanza euclidea (Ωk è il vettore che descrive la k-ma classe)

27 Eigenfaces 4/4 si possono presentare 4 casi per il vettore Ω vicino sia al face-space sia ad una classe di volti del training-set: individuo riconosciuto ed identificato vicino al face-space ma non ad una classe di volti del training-set: individuo sconosciuto lontano dal face-space ma vicino ad una classe di volti del training-set: falso positivo, scartato in quanto l’immagine non rappresenta un volto poiché molto distante dallo spazio in cui ci si aspetterebbe fosse un volto lontano sia dal face-space sia da tutte le classi di volti del training-set: immagine senza nessun volto

28 Mistura di esperti 1/2 1 ipotesi per esperto

29 Mistura di esperti 2/2 2 ipotesi per esperto

30 Risultati sperimentali – Considerazioni 1/4
Inquadrature con parti nascoste o mosse Utilizzate comunque anche se mai riconosciute

31 Risultati sperimentali – Considerazioni 2/4
Localizzazioni ASM errate Uso dei punti di ground-truth

32 Risultati sperimentali – Considerazioni 3/4
Problema in caso di un volto nuovo non presente nel dataset si risolve apprendendo una distanza di soglia (fra features) al di sopra della quale considerare i volti come sconosciuti -> se troppo bassa ho troppi rigetti, se troppo alta potrebbe condurre a riconoscere anche soggetti che non sono presenti nel dataset uso di un’ulteriore soglia per controllare inizialmente se nell’immagine sia presente effettivamente un volto Problemi maggiori quando il soggetto in esame risulta completamente diverso dai volti della stessa persona appresi nel training-set

33 Risultati sperimentali – Considerazioni 4/4
Esperimenti con K-NN al variare di K (da 1 a 1770) andamenti dell’Error rate % molto simili: diminuzione fino a minimo assoluto, fluttuazioni in aumento per poi ridiminuire allo stesso valore di K=1 per K=1770. se K=1770 ritorno allo stesso Error rate % del caso K=1 alcune volte saranno riportate solamente le prove per K fino a 10 o 20 perchè in questo range si hanno i risultati migliori Variante del classificatore K-NN con distanza dal centroide invece che da tutti i soggetti (indipendente da K) risultati migliori eccetto che per gli Eigenfaces Variante normalizzando le features -> risultati identici poichè rapporto fra feature massima e minima di soli 2,5 Dove non specificato tutte le prove sono state eseguite solo sui livelli di grigio (conversione da RGB)

34 Risultati sperimentali ASM 1/3
Classificatore parametrico gaussiano con ASM uso 36 parametri b estratti con ASM vedi tabella dell’ n %: percentuale di volti identificati se si considera riconosciuto un individuo quando compare fra le n classi più probabili scelte dal classificatore n n % 1 18,0 11 43,1 2 24,6 12 44,1 3 28,6 13 45,1 4 30,8 14 46,6 5 33,6 15 48,0 6 34,9 16 48,5 7 36,6 17 49,2 8 38,1 18 50,3 9 39,2 19 50,8 10 40,2 20 51,7 risultati scadenti anche aumentando n -> features b insufficienti e molto “confuse” fra soggetto e soggetto, anche con i ground-truth

35 Risultati sperimentali ASM 2/3
Classificatore parametrico gaussiano con ASM uso le 68 coordinate dei ground-truth vedi tabella dell’ Error rate %: si variano gli elementi usati occhi meno rappresentativi della bocca naso è meno rappresentativo della bocca ma più degli occhi sopraccigli con varianza troppo alta servono poco ovale molto importante Features Elementi non usati n Error rate % coordinate nessuno 1 100,0 2 occhi sopraccigli 69,0 61,5 bocca sopraccigli 70,5 58,9 sopraccigli 63,7 55,6 Elementi usati b + coordinate ovale occhi 67,6 58,6 ovale naso 66,3 56,6 ovale bocca 63,9 54,2 risultati leggermente migliori rispetto ai parametri b

36 Risultati sperimentali ASM 3/3
Classificatore parametrico con mistura di gaussiane multivariate e ASM parametri da stimare mixing parameters soluzione iterativa Prove con c=2 e c=6 problemi di inversione delle matrici di covarianza Anche se il metodo è più generale i risultati sono comparabili con quelli precedenti

37 Risultati sperimentali K-NN con ASM 1/3
Classificatore K-NN e ASM K Error rate % 1 81,7 20 81,4 2 30 80,7 3 40 82,5 4 50 82,4 5 81,2 60 82,7 6 81,5 70 7 81,0 80 82,9 8 80,5 90 83,4 9 100 83,1 10 200 86,4 11 80,3 300 12 400 85,6 13 500 84,9 14 600 85,4 15 700 85,8 16 800 17 900 84,1 18 1000 19 1770 risultati comparabili a quelli del classificatore gaussiano -> parametri b insufficienti versione con distanza da centroide: Error rate 76,6 %

38 Risultati sperimentali K-NN con ASM 2/3
Classificatore K-NN e ASM variando le features K Error rate % coordinate b + coordinate Elementi non usati Elementi usati occhi sopraccigli bocca sopraccigli sopraccigli ovale occhi ovale naso ovale bocca 1 64,6 69,3 60,5 72,0 67,3 65,9 2 3 63,7 68,1 59,7 71,5 66,8 64,7 4 62,5 59,8 70,3 66,6 64,0 5 62,9 67,8 60,7 71,0 66,4 64,4 6 67,4 61,3 71,2 65,8 64,1 7 63,4 61,5 72,2 66,1 64,2 8 66,3 63,9 9 67,6 63,6 70,5 10 65,6 66,7 risultati leggermente migliori

39 Risultati sperimentali K-NN con ASM 3/3
Classificatore K-NN e ASM variando le features (distanza da centroide) Error rate % coordinate b + coordinate Elementi non usati Elementi usati occhi sopraccigli bocca sopraccigli sopraccigli ovale occhi ovale naso ovale bocca 62,0 65,6 58,6 69,5 64,9 65,2 risultati leggermente migliori

40 Risultati sperimentali K-NN con AAM 1/5
Classificatore K-NN e AAM mh=192 vc=0, Texture 775 modi – Appearance 26 modi K K-NN Centroide Texture Appearance Error rate % 1 13,4 52,9 7,6 49,2 2 3 15,8 4 17,6 52,5 5 20,7 52,4 6 21,9 53,4 7 24,0 55,1 8 26,1 54,4 9 26,4 10 27,8 54,6 risultati molto buoni

41 Risultati sperimentali K-NN con AAM 2/5
Classificatore K-NN e AAM mh=96 vc=0, Texture 733 modi – Appearance 26 modi K K-NN Centroide Texture Appearance Error rate % 1 13,9 52,9 7,1 49,2 2 3 16,1 4 18,0 52,5 5 20,7 52,4 6 22,4 53,4 7 24,7 55,1 8 26,1 54,4 9 26,9 10 28,0 54,6 vc=cost mh dimezzato Error rate % praticamente inalterato con tempi di calcolo però migliori

42 Risultati sperimentali K-NN con AAM 3/5
Classificatore K-NN e AAM mh=96 vc=0, Texture 443 modi – Appearance 17 modi K K-NN Centroide Texture Appearance Error rate % 1 11,5 58,8 8,0 56,8 2 3 14,2 57,6 4 15,1 58,6 5 17,8 58,3 6 19,0 59,7 7 20,3 60,2 8 22,4 60,5 9 24,2 10 24,7 60,8 vc diminuito mh=cost Error rate % migliora nel K-NN standard e peggiora di poco col centroide

43 Risultati sperimentali K-NN con AAM 4/5
Classificatore K-NN e AAM mh=48 vc=0, Texture 523 modi – Appearance 26 modi K K-NN Centroide Texture Appearance Error rate % 1 14,6 52,9 8,0 49,3 2 3 17,1 4 19,0 52,4 5 21,4 6 22,9 53,4 7 24,6 55,1 8 25,8 53,9 9 26,8 54,2 10 27,8 54,4 vc=cost mh dimezzato Error rate % , nonostante i parametri di texture siano diminuiti, peggiora nel K-NN standard e peggiora di poco col centroide

44 Risultati sperimentali K-NN con AAM 5/5
Classificatore K-NN e AAM Considerazioni generali a parità di vc, cambiando le dimensioni dell’immagine, i risultati usando l’appearance sono rimasti identici, dato che anche il numero di modi su cui fare la classificazione rimangono costanti nel caso dell’uso dell’appearance si è visto anche come l’accuratezza, a causa dei pochi parametri a disposizione, è sempre risultata molto bassa diminuendo la dimensione dell’immagine, adoperando le texture con il centroide, si sono avuti dei risultati all’incirca identici (7÷8 %), ma col vantaggio di una grossa riduzione nel tempo di calcolo in tutti i test eseguiti si può notare come l’errore sia molto minore, praticamente dimezzato in certi casi, usando il classificatore basato sui centroidi, che fra l’altro risulta molto più veloce di quello standard

45 Risultati sperimentali K-NN con Eigenfaces 1/2
Classificatore K-NN e Eigenfaces usato il 100 % dei modi K su tutta l’immagine Eigenfaces b + Eigenfaces coordinate senza sopraccigli + Eigenfaces YCbCr 1 33,2 24,7 2 3 40,3 4 47,3 47,5 26,4 5 53,7 28,3 6 59,1 28,5 7 62,7 28,6 8 66,4 30,7 9 67,6 32,0 10 69,7 69,8 31,9 Error rate % aumenta continuamente all’aumentare di K Usando tutti i canali di colore risultati leggermente migliori Eigenfaces migliore di ASM ma peggiore di AAM

46 Risultati sperimentali K-NN con Eigenfaces 2/2
Classificatore K-NN e Eigenfaces usato il 100 % dei modi -> risultati migliori ritagliando l’ovale K sull’ovale ritagliato Eigenfaces b + Eigenfaces coordinate senza sopraccigli YCbCr 1 28,6 20,2 2 3 31,7 4 34,2 34,4 21,9 5 37,1 23,8 6 39,5 24,0 7 41,2 24,1 8 43,6 26,2 9 44,7 27,5 10 45,3 45,4 27,4 Error rate % aumenta continuamente all’aumentare di K Usando tutti i canali di colore risultati leggermente migliori Eigenfaces migliore di ASM ma peggiore di AAM

47 Risultati sperimentali K-NN con SNN 1/2
Classificatore K-NN e SNN si sono usati i parametri b calcolati con ASM uso distanza calcolata con SNN al posto di quella euclidea dentro il classificatore K-NN addestramento SNN variando numero di neuroni nel layer nascosto, numero di epoche e con o senza validation-set (per evitare overfitting) è stata usata la rete neurale che aveva dato risultati d’apprendimento migliori K No Validazione Validazione K-NN standard Centroide Error rate % 1 95,7 91,3 90,7 86,4 2 3 96,1 91,0 4 96,3 91,4 Error rate % disastroso Migliori risultati usando il centroide, comparabili a quelli del classificatore parametrico gaussiano

48 Risultati sperimentali K-NN con SNN 2/2
Classificatore K-NN e SNN variante che sfrutta sia la distanza auto-appresa con SNN sia quella euclidea Tipo norma (K = 1) solo norma solo SNN norma+SNN norma*SNN Error rate % 1 68,5 90,0 89,0 2 65,0 76,0 76,5 89,5 Frobenius Error rate % rimane disastroso Risultati comunque peggiori di quando viene usata la sola norma euclidea

49 Risultati sperimentali K-NN con Mistura di esperti 1/2
Classificatore a mistura di esperti AAM e Eigenfaces 1 ipotesi per esperto classificatore con distanza dal centroide non si hanno grandi miglioramenti rispetto al solo metodo AAM Classificatore Centroide mh = 192 vc = 0,97 mh = 96 vc = 0,97 mh = 48 vc = 0,97 Error rate % AAM + Eigenfaces su YCbCr e Gray 15,6 15,3 16,3 Eigenfaces su YCbCr 11,7 11,2 12,4 Eigenfaces su YCb 7,1 6,8 7,8

50 Risultati sperimentali K-NN con Mistura di esperti 2/2
Classificatore a mistura di esperti AAM e Eigenfaces 2 ipotesi per esperto classificatore con distanza dal centroide si hanno dei lievi miglioramenti rispetto al solo metodo AAM Classificatore Centroide mh = 192 vc = 0,97 mh = 96 vc = 0,97 mh = 48 vc = 0,97 Error rate % AAM + Eigenfaces su Gray 6,3 6,8 6,9 Eigenfaces su RGB 3,2 Eigenfaces su RG 3,4 Eigenfaces su R 3,9 4,1 Eigenfaces su Y Eigenfaces su Cb 8,5 8,6 Eigenfaces su Cr 7,5 7,8 Eigenfaces su YCr 2,2 2,5 Eigenfaces su CbCr 8,8 9,0

51 Riepilogo test con ASM Classificatore Features Error rate % Note
Gaussiano b 82,0 n = 1 coordinate 63,7 b + coordinate 63,9 K-NN standard 80,3 K = 11 59,7 K = 3 K = 8 centroide

52 Riepilogo test con AAM Classificatore Features Error rate % Note K-NN
standard mh = 192 vc = 0,97 AAM Texture 13,4 K = 1 AAM Appearance 52,9 mh = 96 vc = 0,97 13,9 mh = 96 vc = 0,93 11,5 57,6 K = 3 mh = 96 vc = 0,90 10,7 65,4 K = 5 mh = 48 vc = 0,97 14,6 52,4 centroide 7,6 49,2 7,1 8,0 56,8 7,8 62,9 49,3

53 Riepilogo test con Eigenface e SNN
Classificatore Features Error rate % Note K-NN non cropped Eigenfaces 33,2 K = 1 Eigenfaces + b Eigenfaces + coordinate Eigenfaces + RGB 24,9 Eigenfaces + YCbCr 24,7 28,6 centroide SNN 90,7 SNN+distanza euclidea 65,0

54 Conclusioni Metodi singoli su livelli di grigio (Error rate %)
ASM scadenti sia con classificatore gaussiano che con K-NN-> features insufficienti, anche con ground-truth (59 %) Eigenfaces cropped migliore ma ancora deludenti (33 %) AAM e appearance migliore di ASM ma ancora scadente (49 %) AAM e texture migliore come metodo singolo (7 %) SNN risultati pessimi (90 %) Metodi con mistura di esperti, usati spesso nei sistemi commerciali di riconoscimento (Error rate %) AAM su livelli di grigio + Eigenfaces su RGB risultati migliori in assoluto (3 %) -> contro: complessità computazionale e velocità di riconoscimento Risultati soddisfacenti e tali da poter già provare ad implementare il metodo in un sistema reale

55 Sviluppi futuri Miglioramento dell’errore commesso dai classificatori
usare altre misure di distanze: DistBoost, MPDK, RCA e Xing uso di autoassociatori per la compressione dati (senza usare PCA o LDA) Velocizzare gli algoritmi: training, riconoscimento vero e proprio, ri-training (quando deve essere riconosciuto un nuovo soggetto) uso di logiche digitali parallele in applicazioni reali Provare altre misture di esperti mettere dei “pesi” ai singoli metodi usati nella mistura usare tutti e 3 i canali di colore, oltre a quello del grigio, per tutti i metodi usati nella mistura Provare tutti i classificatori su altri dataset come FERET, etc… per vedere se le considerazioni fatte continuano a valere


Scaricare ppt "Corso di Laurea Specialistica in Ingegneria Informatica Tesi di Laurea"

Presentazioni simili


Annunci Google