Relatore
Prof. Marco Maggini
Candidato
Duccio Picinotti
Correlatore
Dott. Lorenzo Sarti
A.A. 2007/2008
Introduzione
Sistemi biometrici per il riconoscimento automatico
1. impronte digitali
2. iride
3. firma autografa
4. faccia
Obiettivi
1. maggior livello di sicurezza
2. maggior comodità per gli utenti
3. abbassamento costi di gestione
Riconoscimento facciale
Pro
1. metodo meno invasivo
2. ha molti più campi applicativi
Contro
1. variabilità maggiore a parità di soggetto: il volto di una
singola persona può cambiare molto al variare delle
espressioni o dell’angolo di ripresa
2. necessita di modelli più complessi e pesanti
Applicazioni pratiche
Applicazioni pratiche del riconoscimento facciale automatico
1. in parallelo ad altre misure biometriche per il
riconoscimento sicuro di un individuo
2. apparati di identificazione biometrica al posto di Bancomat
e Smartcard
3. eliminazione delle password (rimarrebbero solo in caso di
problemi di identificazione)
4. eliminazione delle chiavi di casa o dell’auto (rimarrebbero
solo in caso di malfunzionamenti)
5. controllo degli accessi in edifici che necessitano sicurezza
6. riconoscimento criminali/terroristi in luoghi pubblici come
stazioni ed aeroporti (usato al Super Bowl)
7. nelle investigazioni scientifiche per riconoscimento di
criminali schedati
8. alle votazioni per evitare voti multipli
9. uso di apparati più generali di riconoscimento oggetti per
robot
Sistemi commerciali di riconoscimento
Sono in grado di riconoscere i volti anche variando (robustezza):
1. variazione posa: angolazione e distanza dalla videocamera
2. variazione dell’intensità e distribuzione dell’illuminazione
3. cambiamenti intrinseci del volto: espressioni, capigliatura,
invecchiamento, occhi chiusi, presenza o meno di occhiali….
4. occlusioni parziali del volto
Applicazioni commerciali (eseguono sia autenticazione one-toone sia identificazione one-to-many)
 TrueFace di Miros: buona efficienza e modesta richiesta di risorse
1.
TrueFace Network: per controlli di accesso via protocolli di rete
2.
TrueFace ID: specifico per scopi di sorveglianza
3.
TrueFace Engine: personalizzabile in base ad esigenze specifiche
 FaceIt di Visionic: diffuso in ambito governativo e bancario
1.
FaceIt Sentinel: prodotto entry-level a basso costo
2. FaceIt Survillance: per la sorveglianza
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):
1. 295 soggetti
2. 8 differenti posizioni per ogni individuo
3. 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
Aspetti problematici
Aspetti problematici del riconoscimento facciale automatico
1. estrazione delle features: attributi necessari per eseguire la
classificazione
2. trovare un compromesso fra compressione dei dati in
ingresso, per diminuire carico computazionale, e l’efficacia
del classificatore
Metodologie di riduzione della dimensionalità

Lineari
1.
Principal Component Analysis (PCA)
2. Linear Discriminat Analysis o di Fisher (LDA)
3. Singular Value Decomposition (SVD)
 Non Lineari
1.
Kernel PCA
2. Radial Basis Function (RBF)
3. Self-Organizing Map o Mappe di Kohonen (SOM)
Tecniche di classificazione
Una volta calcolate le features si usano i classificatori automatici:
1. classificatore bayesiano con assunzione gaussiana o con
mistura di gaussiane
2. classificatore K-NN con distanza euclidea
3. classificatore K-NN con distanza auto-appresa con SNN
4. classificatore K-NN con distanza dal centroide di ogni
soggetto
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
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
Stima non-parametrica supervisionata
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)
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)
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
Reti Neurali di Similarità (SNN) 2/2
Proprietà delle SNN, dato il set di pesi e soglie θ
1.
2.
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
1.
2.
fSNN(x, y, θ) ≤ fSNN(x, z, θ) + fSNN(z, y, θ) (disug. triangolare)
fSNN(x, x, θ) = 0 (autosimilarità, può comunque essere appresa dai
dati)
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
Estrattori di features 2/2
Estrattori di features utilizzati:
1. Active Shape Model (ASM) sfrutta solo i parametri di “forma”
del volto: lineamenti facciali come ovale, bocca, naso, occhi
e sopraccigli
2. 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)
3. 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
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 trainingset partendo da ground-truth
1a fase: posizionamento shape media
considerando il centro del boundingbox 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
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
Active Shape Model (ASM) 3/3
una volta calcolati i landmark si esegue riduzione di dimensionalità con
PCA
1.
calcolo shape media dal training-set allineato (s=numero soggetti del
training-set)
2.
calcolo matrice covarianza S dei dati (2n x 2n)
3.
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)
4.
vogliamo che venga spiegata una certa percentuale f (99%) della varianza
e si sceglie t in modo che
5.
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
6.
il vettore b che contiene i parametri del modello deformabile, usato poi
per la classificazione, viene calcolato come
Active Appearance Model (AAM) 1/4
Active Appearance Model (AAM): modello di apparenza “attivo”, usato software
scritto da Stefano Melacci
1.
ricerca landmark con ASM
2. ritaglio del volto tramite i landmark: vengono tolti sfondo, capelli e orecchie
3.
normalizzazione alla shape media
4. viene usato approccio statistico simile agli Eigenfaces
ridimensionamento immagini a causa di problemi di memoria
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
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
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)
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”
Eigenfaces 2/4
1.
2.
3.
sia Γ1, .., ΓM il training-set dei volti
definiamo la faccia media
ogni volto differisce da quello medio del vettore
4.
la matrice di covarianza C, N2xN2 è, determina N2 autovettori ed
autovalori, troppo elevato
5.
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)
6.
7.
Eigenfaces 3/4
8. 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
9. 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
10. Ω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 kma classe)
Eigenfaces 4/4
si possono presentare 4 casi per il vettore Ω
1. vicino sia al face-space sia ad una classe di volti del training-set:
2.
3.
4.
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 trainingset: 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 trainingset: immagine senza nessun volto
Mistura di esperti 1/2
1 ipotesi per esperto
Mistura di esperti 2/2
2 ipotesi per esperto
Risultati sperimentali – Considerazioni 1/4
Inquadrature con
parti nascoste o
mosse
Utilizzate
comunque anche
se mai
riconosciute
Risultati sperimentali – Considerazioni 2/4
Localizzazioni
ASM errate
Uso dei punti di
ground-truth
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
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)
Risultati sperimentali ASM 1/3
uso 36 parametri b estratti con ASM
vedi tabella dell’ Hit @ n %: percentuale di volti identificati se si
considera riconosciuto un individuo quando compare fra le n
classi più probabili scelte dal classificatore
n
Hit @ n %
n
Hit @ 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
Classificatore
parametrico
gaussiano
con ASM
risultati scadenti anche
aumentando n -> features
b insufficienti e molto
“confuse” fra soggetto e
soggetto, anche con i
ground-truth
Risultati sperimentali ASM 2/3
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 %
1
100,0
2
100,0
occhi
sopraccigli
1
69,0
2
61,5
bocca
sopraccigli
1
70,5
2
58,9
1
63,7
2
55,6
n
Error rate %
ovale
occhi
1
67,6
2
58,6
ovale
naso
1
66,3
2
56,6
ovale
bocca
1
63,9
2
54,2
nessuno
coordinate
sopraccigli
Features
b
+
coordinate
Elementi
usati
Classificatore
parametrico
gaussiano
con ASM
risultati leggermente
migliori rispetto ai
parametri b
Risultati sperimentali ASM 3/3
parametri da stimare
mixing parameters
soluzione iterativa
Classificatore
parametrico
con mistura
di gaussiane
multivariate
e ASM
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
Risultati sperimentali K-NN con ASM 1/3
K
Error rate %
K
Error rate %
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
81,7
81,7
81,7
81,7
81,2
81,5
81,0
80,5
81,2
81,4
80,3
80,5
80,7
81,0
81,0
81,2
81,0
80,5
80,5
20
30
40
50
60
70
80
90
100
200
300
400
500
600
700
800
900
1000
1770
81,4
80,7
82,5
82,4
82,7
82,5
82,9
83,4
83,1
86,4
86,4
85,6
84,9
85,4
85,8
84,9
84,1
84,1
81,7
Classificatore
K-NN e ASM
risultati comparabili
a quelli del
classificatore
gaussiano ->
parametri b
insufficienti
 versione con
distanza da
centroide: Error
rate 76,6 %
Risultati sperimentali K-NN con ASM 2/3
Error rate %
K
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
Classificatore
K-NN e ASM
2
64,6
69,3
60,5
72,0
67,3
65,9
variando le features
3
63,7
68,1
59,7
71,5
66,8
64,7
4
62,5
68,1
59,8
70,3
66,6
64,0
5
62,9
67,8
60,7
71,0
66,4
64,4
6
63,7
67,4
61,3
71,2
65,8
64,1
7
63,4
67,8
61,5
72,2
66,1
64,2
8
64,0
68,1
62,5
71,5
66,3
63,9
9
64,6
67,6
63,6
70,5
66,8
64,6
10
65,6
66,7
63,6
72,2
67,6
64,1
risultati
leggermente
migliori
Risultati sperimentali K-NN con ASM 3/3
Error rate %
coordinate
Classificatore
K-NN e ASM
b + coordinate
variando le features
Elementi non usati
occhi
sopraccigli
62,0
bocca
sopraccigli
65,6
Elementi usati
sopraccigli
58,6
ovale
occhi
69,5
ovale
naso
64,9
(distanza da centroide)
ovale
bocca
65,2
risultati
leggermente
migliori
Risultati sperimentali K-NN con AAM 1/5
mh=192 vc=0,97
Texture 775 modi – Appearance 26 modi
K-NN
K
Texture
Centroide
Appearance
Texture
Appearance
Error rate %
1
13,4
52,9
7,6
49,2
2
13,4
52,9
“
“
3
15,8
52,9
“
“
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
54,4
“
“
10
27,8
54,6
“
“
Classificatore
K-NN e AAM
risultati molto
buoni
Risultati sperimentali K-NN con AAM 2/5
mh=96 vc=0,97
Texture 733 modi – Appearance 26 modi
K-NN
K
Texture
Centroide
Appearance
Texture
Appearance
Error rate %
1
13,9
52,9
7,1
49,2
2
13,9
52,9
“
“
3
16,1
52,9
“
“
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
54,4
“
“
10
28,0
54,6
“
“
Classificatore
K-NN e AAM
vc=cost
mh dimezzato
Error rate %
praticamente inalterato
con tempi di calcolo
però migliori
Risultati sperimentali K-NN con AAM 3/5
mh=96 vc=0,93
Texture 443 modi – Appearance 17 modi
K-NN
K
Texture
Centroide
Appearance
Texture
Appearance
Error rate %
1
11,5
58,8
8,0
56,8
2
11,5
58,8
“
“
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
60,5
“
“
10
24,7
60,8
“
“
Classificatore
K-NN e AAM
vc diminuito
mh=cost
Error rate % migliora
nel K-NN standard e
peggiora di poco col
centroide
Risultati sperimentali K-NN con AAM 4/5
mh=48 vc=0,97
Texture 523 modi – Appearance 26 modi
K-NN
K
Texture
Centroide
Appearance
Texture
Appearance
Error rate %
1
14,6
52,9
8,0
49,3
2
14,6
52,9
“
“
3
17,1
52,9
“
“
4
19,0
52,4
“
“
5
21,4
52,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
“
“
Classificatore
K-NN e AAM
vc=cost
mh dimezzato
Error rate % , nonostante i
parametri di texture siano
diminuiti, peggiora nel K-NN
standard e peggiora di poco col
centroide
Risultati sperimentali K-NN con AAM 5/5
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
Classificatore
K-NN e AAM
Risultati sperimentali K-NN con Eigenfaces 1/2
usato il 100 % dei modi
su tutta l’immagine
K
coordinate
senza sopraccigli + YCbCr
Eigenfaces
Eigenfaces
b + Eigenfaces
1
33,2
33,2
33,2
24,7
2
33,2
33,2
33,2
24,7
3
40,3
40,3
40,3
24,7
4
47,3
47,5
47,5
26,4
5
53,7
53,7
53,7
28,3
6
59,1
59,1
59,1
28,5
7
62,7
62,7
62,7
28,6
8
66,4
66,4
66,4
30,7
9
67,6
67,6
67,6
32,0
10
69,7
69,8
69,8
31,9
Classificatore
K-NN e
Eigenfaces
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
Risultati sperimentali K-NN con Eigenfaces 2/2
usato il 100 % dei modi -> risultati migliori ritagliando l’ovale
sull’ovale ritagliato
K
Eigenfaces
b + Eigenfaces
coordinate
senza sopraccigli
YCbCr
1
28,6
28,6
28,6
20,2
2
28,6
28,6
28,6
20,2
3
31,7
31,7
31,7
20,2
4
34,2
34,4
34,4
21,9
5
37,1
37,1
37,1
23,8
6
39,5
39,5
39,5
24,0
7
41,2
41,2
41,2
24,1
8
43,6
43,6
43,6
26,2
9
44,7
44,7
44,7
27,5
10
45,3
45,4
45,4
27,4
Classificatore
K-NN e
Eigenfaces
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
Risultati sperimentali K-NN con SNN 1/2
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
No Validazione
K
K-NN
standard
Classificatore
K-NN e SNN
Validazione
Centroide
K-NN
standard
Centroide
Error rate % disastroso
Error rate %
1
95,7
91,3
90,7
86,4
2
95,7
“
90,7
“
3
96,1
“
91,0
“
4
96,3
“
91,4
“
Migliori risultati
usando il centroide,
comparabili a quelli
del classificatore
parametrico gaussiano
Risultati sperimentali K-NN con SNN 2/2
variante che sfrutta sia la distanza auto-appresa con
SNN sia quella euclidea
solo
norma
solo
SNN
norma+SNN
norma*SNN
Tipo norma
(K = 1)
Classificatore
K-NN e SNN
Error rate %
1
68,5
90,0
68,5
89,0
2
65,0
90,0
65,0
89,0
∞
76,0
90,0
76,5
89,5
Frobenius
65,0
90,0
65,0
89,0
Error rate % rimane
disastroso
Risultati comunque
peggiori di quando
viene usata la sola
norma euclidea
Risultati sperimentali K-NN con Mistura di esperti 1/2
1 ipotesi per esperto
classificatore con distanza dal centroide
non si hanno grandi miglioramenti
rispetto al solo metodo AAM
Classificatore
a mistura di
esperti AAM e
Eigenfaces
Centroide
Classificatore
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
AAM
+
Eigenfaces su YCbCr
11,7
11,2
12,4
AAM
+
Eigenfaces su YCb
7,1
6,8
7,8
Risultati sperimentali K-NN con Mistura di esperti 2/2
2 ipotesi per esperto
classificatore con distanza dal centroide
si hanno dei lievi miglioramenti
rispetto al solo metodo AAM
Classificatore a
mistura di
esperti AAM e
Eigenfaces
Centroide
Classificatore
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
AAM
+
Eigenfaces su RGB
3,2
3,2
3,2
AAM
+
Eigenfaces su RG
3,4
3,4
3,2
AAM
+
Eigenfaces su R
3,9
3,9
4,1
AAM
+
Eigenfaces su Y
3,9
3,9
4,1
AAM
+
Eigenfaces su Cb
8,5
8,5
8,6
AAM
+
Eigenfaces su Cr
7,5
6,9
7,8
AAM
+
Eigenfaces su YCr
2,2
2,2
2,5
AAM
+
Eigenfaces su CbCr
8,8
8,8
9,0
Riepilogo test con ASM
Classificatore
Gaussiano
standard
Features
Error
rate %
b
82,0
coordinate
63,7
b + coordinate
63,9
b
80,3
K = 11
coordinate
59,7
K=3
b + coordinate
63,9
K=8
b
80,3
coordinate
59,7
b + coordinate
63,9
K-NN
centroide
Note
n=1
Riepilogo test con AAM
Classificatore
Features
Error
rate %
mh = 192
vc = 0,97
mh = 96
vc = 0,97
standard
mh = 96
vc = 0,93
mh = 96
vc = 0,90
mh = 48
vc = 0,97
K-NN
mh = 192
vc = 0,97
mh = 96
vc = 0,97
centroide
mh = 96
vc = 0,93
mh = 96
vc = 0,90
mh = 48
vc = 0,97
Note
Classificatore
Features
AAM Texture
13,4
K=1
AAM Appearance
52,9
K=1
AAM Texture
13,9
K=1
AAM Appearance
52,9
K=1
AAM Texture
11,5
K=1
AAM Appearance
57,6
K=3
AAM Texture
10,7
K=1
AAM Appearance
65,4
K=5
AAM Texture
14,6
K=1
AAM Appearance
52,4
K=5
AAM Texture
7,6
AAM Appearance
49,2
AAM Texture
7,1
AAM Appearance
49,2
AAM Texture
8,0
AAM Appearance
56,8
AAM Texture
7,8
AAM Appearance
62,9
AAM Texture
8,0
AAM Appearance
49,3
Riepilogo test con Eigenface e SNN
Classificatore
Features
non
cropped
Error
rate %
Note
Classificatore
Eigenfaces
33,2
K=1
Eigenfaces + b
33,2
K=1
Eigenfaces + coordinate
33,2
K=1
Eigenfaces + RGB
24,9
K=1
Eigenfaces + YCbCr
24,7
K=1
Eigenfaces
28,6
K=1
Eigenfaces + b
28,6
K=1
Eigenfaces + coordinate
28,6
K=1
SNN
90,7
SNN+distanza euclidea
65,0
K-NN
cropped
K-NN
centroide
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
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
Scarica

Error rate - Tesionline