Riconoscimento di facce in immagini generiche.

Transcript

Riconoscimento di facce in immagini generiche.
Emanuele Torrenti - “Riconoscimento di facce in immagini generiche”
1
Riconoscimento di facce in immagini generiche.
di Emanuele Torrenti
Abstract
Nell'articolo di due studiosi dell'Università Jiao Tong di
Shanghai, Zhi-Gang Fan e Bao-Liang Lu, qui analizzato, dal
titolo “Fast recognition of multi-view faces with feature
selection”, viene proposto un metodo discriminativo per il
riconoscimento di facce in vista multipla, con selezione
delle caratteristiche, utilizzando support vector machines.
Sfruttando
la relazione statistica fra selezione delle
caratteristiche e classificazione multi-classe, i due compiti
vengono integrati in un'unica struttura perseguendo
efficacemente l'obiettivo di una selezione discriminativa di
caratteristiche. Il processo di classificazione può essere reso
più veloce senza degradare le prestazioni di
generalizzazione per mezzo del metodo proposto. Gli
esperimenti condotti sul database UMIST, contenente facce
in vista multipla, mostrano come il metodo proposto possa
accelerare il processo di riconoscimento senza inficiare il
tasso di successo, surclassando in prestazioni i tradizionali
metodo di subspazio kernel.
Keywords: Face Recognition, Machine Learning, Multiclass Classification, Support Vector Machines.
1 Introduzione
I
y k =W T x k
k =1,2 , ... , n
1
dove yk sono i vettori di caratteristiche, di dimensione m; W
è una matrice di trasformazione di dimensione n x m con
colonne ortonormali e xk sono i vettori di input, di
dimensione n. La matrice W deve essere scelta come quella
che massimizzi la dispersione dei vettori y.
Uno svantaggio di tale approccio consiste nel fatto che la
dispersione che si tenta di massimizzare non è dipendente
soltanto dalla dispersione presente fra le classi, ma sovente
si tratta di una dispersione entro la classe [2]. Il primo tipo
di dispersione è certamente utile ai fini della classificazione;
il secondo tipo certamente no, poiché si tratta di
informazione non voluta. Ad esempio, la maggior parte della
variazione fra le classi è data da differenze di luminosità [2].
Se la PCA opera su immagini con differenti condizioni di
luminosità, la matrice W ottima conterrà componenti tali da
proiettare nello spazio delle caratteristiche le variazioni
dovuti a tali differenze di illuminazione. Per ovviare a
questo inconveniente, è stato proposto di scartare le prime
tre componenti principali, in modo da scartare le differenze
causate dall'illuminazione; ciò, purtroppo, non è sempre
corretto ed un simile approccio rischia di far perdere
informazioni utili ai fini della classificazione [2].
l riconoscimento di facce in vista multipla è un compito
complesso, ancor più del riconoscimento in vista
frontale. Diverse tecniche di riconoscimento sono state
sviluppate nel corso degli ultimi decenni, ma molte sono
applicabili solo alle facce in vista frontale. Le difficoltà nel
riconoscimento in viste multiple sono ovvie, a causa di
manifold non lineari presenti nello spazio dei dati. La
comprensione della struttura globale di tali manifold è la
chiave per la risoluzione di questo problema.
1.1 Metodi alternativi
I metodi subspaziali rappresentano il classico paradigma per
il riconoscimento facciale[16]. Il metodo Eigenface
rappresenta una prima innovazione rispetto alle precedenti
tecniche. Esso utilizza la Principal Component
Analysis(PCA) per generare un sottospazio che sia più
espressivo per il riconoscimento e la rappresentazione di
facce. La PCA è una tecnica per la riduzione della
dimensionalità, ed è anche nota come trasformata discreta di
Karhunen-Loeve. Dato uno spazio ad alta dimensionalità in
input, ovvero lo spazio delle immagini a livelli di grigio, di
dimensione n, pari al numero di pixel, questo viene mappato
mediante una trasformazione lineare in uno spazio a ridotta
dimensionalità, lo spazio delle caratteristiche, di dimensione
m. Una tale trasformazione è schematizzabile come segue:
Figura 1: Alcune Eigenfaces provenienti dai
laboratori AT&T di Cambridge. Fonte:
Wikipedia
Il metodo Fisherfaces, proposto in [2], è un esempio di
Emanuele Torrenti - “Riconoscimento di facce in immagini generiche”
metodo subspaziale discriminante. Esso utilizza la Linear
Discriminant Analysis(LDA) di Fisher per la ricerca di un
insieme di caratteristiche che possano separare al meglio
classi di facce, realizzando allo stesso tempo una riduzione
della dimensionalità prima della classificazione. Ciascuna
nuova dimensione è una combinazione lineare dei valori dei
pixel e forma un template. Le combinazioni lineari ottenute
per mezzo della LDA di Fisher sono dette Fisherfaces.
Anche questo metodo adotta una trasformazione lineare per
mezzo di una matrice W, tale da massimizzare il rapporto
fra dispersione fra classi e dispersione entro la classe.
Figura 2: L'immagine di sinistra, tratta dal database
Yale, rappresenta una persona che indossa degli
occhiali. L'immagine di destra è una Fisherface
utilizzata in [2] per determinare se una persona
indossa degli occhiali.
L'algoritmo Bayesiano, che utilizza un sottospazio
probabilistico è proposto in [11] e risolve il problema della
classificazione attraverso la classificazione di variazioni
intrapersonali ed extrapersonali.
2
metodo LDA è introdotta per risolvere efficacemente i
problemi non lineari e derivare un insieme di vettori di base
che siano un discriminante ottimale nello spazio delle
caratteristiche.
Per meglio comprendere il motivo per cui spesso occorre
mappare lo spazio di input in uno a dimensionalità
maggiore, si consideri il seguente esempio, tratto da [13].
Figura 3: Problema con due classi di dati non
linearmente separabili in R2
In figura 3 è possibile osservare un esempio di problema con
due classi di dati non linearmente separabili in R2. Le due
classi sarebbero certamente separabili da una superficie
decisionale quadratica(come un'ellisse o una circonferenza,
ad esempio). Tuttavia, mappando lo spazio di input in uno
tridimensionale:
La Independent Component Analysis(ICA) rappresenta una
generalizzazione della Principal Component Analysis, ed è
stata applicata al riconoscimento di facce in [1]. Essa
produce un sottospazio non ortogonale per la
rappresentazione ed il riconoscimento di facce. In [1], il
riconoscimento viene effettuato mediante combinazione dei
risultati di due architetture. Nella prima, si trattano le
immagini come variabili aleatorie ed i pixel come risultati;
nella seconda, le immagini sono trattate come risultati ed i
pixel come variabili aleatorie.
Tuttavia, tutti i metodi lineari appena menzionati non sono
applicabili al riconoscimento di facce in viste multiple a
causa della distribuzione non lineare di pattern facciali. A
causa di questi problemi non lineari, sono stati proposti,
negli ultimi anni, alcuni metodi alcuni metodi di subspazio
kernel. Questi metodi subspaziali non lineari combinano i
punti di forza dei tradizionali metodi subspaziali e gli
algoritmi kernel-machine per la risoluzione di problemi non
lineari. Il metodo Kernel PCA[13] combina la PCA e le
kernel machine per formare un metodo PCA non lineare. La
Kernel Direct Discriminant Analysis(KDDA)[10] combina i
punti di forza dei metodi LDA e degli algoritmi kernel
machine per il riconoscimento di facce.
Inizialmente, lo spazio dato in input viene mappato in
maniera non lineare in uno spazio di caratteristiche implicito
e ad alta dimensionalità, nel quale si spera che la
distribuzione di pattern facciali sia linearizzata e
semplificata. Successivamente, una nuova variante del
Figura 4: Il problema di figura 3 mappato in uno
spazio tridimensionale, nel quale le classi sono
linearmente separabili.
le classi diventano linearmente separabili. In questo esempio
è stata utilizzata una trasformazione del tipo
 x1, x2    x1, x2, x21  x22  .
Tuttavia,
la
miglior
separabilità ottenibile con l'aumento della dimensionalità si
paga con una maggiore complessità computazionale [13].
Tuttavia, questi metodi kernel non riescono ancora risolvere
in maniera efficace problemi di esempio di dimensione
Emanuele Torrenti - “Riconoscimento di facce in immagini generiche”
limitata. Soffrono, infatti, del cosiddetto “small sample size
problem”, riscontrabile nei compiti di pattern recognition ad
alta dimensionalità quando il numero di esempi disponibili è
inferiore alla loro dimensionalità [10]. Inoltre il loro
processo di classificazione risulta oltremodo lento a causa
degli enormi tempi di calcolo nelle kernel machine.
Per velocizzare il processo di riconoscimento di facce in
viste multiple e mantenere le prestazioni di
generalizzazione, gli autori propongono un metodo che fa
uso di support vector machines(SVM). A differenza dei
metodi subspaziali, questo metodo di selezione
discriminativa di caratteristiche basato su SVM(SVM-DFS)
seleziona direttamente più caratteristiche discriminative
senza combinare linearmente le caratteristiche originali.
Motivato dal successo della teoria dell'apprendimento
statistico[15] su piccoli problemi di esempio, il metodo
SVM-DFS integra la selezione di caratteristiche e la
classificazione multi-classe in un unica e consistente
struttura realizzando efficacemente l'obiettivo della
selezione discriminativa di caratteristiche, secondo la
relazione statistica fra selezione di caratteristiche e
classificazione multi-classe.
Le SVM sono state progettate originariamente per la
classificazione binaria e le SVM multi-classe operano
sempre combinando i risultati di molteplici classificatori
binari[12]. Sfruttando le caratteristiche delle SVM, è
possibile ordinare alcune caratteristiche discriminative per la
selezione delle caratteristiche. In [5] un metodo ricorsivo
basato su SVM per l'eliminazione di caratteristiche è stato
proposto per selezionare caratteristiche per problemi di
classificazione binaria. Il metodo SVM-DFS, utilizzando
SVM multi-classe, è specificamente pensato per problemi di
classificazione multi-classe. Per testare i vantaggi di tale
metodo rispetto ai tradizionali metodi di subspazio kernel,
sono stati condotti degli esperimenti usando sia SVM-DFS
che KDDA per metterli a confronto.
2 Selezione discriminativa di
caratteristiche basata su SVM(SVMDFS)
Il metodo proposto da Zhi-Gang Fan e Bao-Liang Lu è detto
SVM-DFS. E' pensato per problemi di classificazione multiclasse e fa uso di SVM.
2.1 SVM multi-classe
SVM(Support Vector Machine) è una tecnica di machine
learning che trae il suo fondamento nella teoria
dell'apprendimento statistico.
Sulla base del concetto di dimensione VC(VapnikChervonenkis) è possibile ottenere i limiti costruttivi sul
tasso di convergenza del processo di apprendimento, che
sono indipendenti dalla distribuzione.
La dimensione VC di un classificatore è una misura della
capacità di un algoritmo di classificazione statistica ed è uno
dei concetti chiave dell'omonima teoria sulla classificazione
statistica, ad opera di Vapnik e Chervonenkis [15]. In
maniera informale, la dimensione VC può essere intesa la
complessità del classificatore, ed è pari al numero di vettori
3
che il classificatore è in grado di separare in due classi.
Considerando un classificatore lineare, che opera in ℝ2
(una retta), possiamo affermare che questo ha dimensione
VC pari a 3. Già con quattro punti, può risultare impossibile
operare una classificazione lineare. E' necessario introdurre
un classificatore più complesso, ad esempio una
polinomiale, per poter operare la separazione.
Figura 5: Separazione fra due classi di dati nel
piano. a) E' sempre possibile separare linearmente
tre punti; b) Non sempre è possibile farlo per quattro:
sarebbe infatti possibile disporre i dati in modo tale
che occorrano due iperpiani per la separazione. La
dimensione VC del classificatore che opera in R2 è,
dunque, 3.
La nuova comprensione del meccanismo dietro la
generalizzazione, modifica sia il fondamento teorico della
generalizzazione che l'approccio algoritmico al pattern
recognition. Le SVM rappresentano un'innovazione teorica
ed hanno elevata capacità di generalizzazione e di
apprendimento in spazi ad elevata dimensionalità con un
numero ridotto di dati di allenamento. Ciò è ottenuto
minimizzando sia il limite sull'errore empirico che la
complessità del classificatore. Con probabilità almeno 1- h,
la disuguaglianza:
R≤R emp 

h −log
,
l
l

2
si mantiene vera per l'insieme delle funzioni limitate. La
quantità (1- h) è la confidenza con cui il bound è valido.
Nella disuguaglianza, R è il rischio atteso, Remp  è
il rischio empirico, l è il numero di esempi di allenamento, h
è la dimensione VC del classificatore adoperato e . ,.
è l'indice di confidenza VC del classificatore, che limita
l'errore di generalizzazione.
La quantità . ,. vale:



 
h −log 
h
2l
1
,
=
1log
− log
l
l
l
h
l
3
E' noto che all'aumentare di h(dimensione VC), il rischio
empirico diminuisce, ma aumenta l'indice di confidenza del
classificatore. L'approccio di minimizzazione del rischio
strutturale cerca di trovare un compromesso fra i due
termini.
Il fatto di poter controllare sia l'errore nell'insieme di
allenamento sia la complessità del classificatore ha
consentito alle SVM di essere applicate con successo a
Emanuele Torrenti - “Riconoscimento di facce in immagini generiche”
compiti di apprendimento
dimensionalità[15].
su
spazi
ad
elevata
L'algoritmo SVM formula il problema di allenamento come
quello che trova, fra tutti i possibili iperpiani di separazione,
quello che massimizza la distanza dall'elemento più vicino
delle due classi. In pratica, ciò è determinato risolvendo un
problema di programmazione quadratica. La forma generale
della funzione decisionale di una SVM per un punto x è data
da:
f  x =sign

∑
support vectors
y i i K  xi , x −b

 4
dove ai sono i parametri di Lagrange ottenuti nel passo di
ottimizzazione; yi sono le etichette di classe e K(. , .) è la
funzione di kernel, che può essere di vario tipo. La funzione
lineare è K(x,y)= xy; la funzione a base radiale
−1
2
∥x – y∥ ;
gaussiana(RBF)
è K  x , y=exp
la
2
2

funzione polinomiale è K  x , y= xy1 n .

Le SVM sono originariamente progettate per la
classificazione binaria. Le SVM multi-classe sono estensioni
delle SVM binarie. Attualmente, esistono due approcci per
le SVM multi-classe. Uno consiste nel costruire e combinare
diversi classificatori binari, mentre l'altro procede
considerando direttamente tutti i dati in una formulazione di
ottimizzazione[12]. La combinazione di classificatori binari
può avvenire secondo tre modalità: “uno contro tutti”, “uno
contro uno”, “alcuni contro alcuni”[9].
2.1.1 Metodi per le SVM multi-classe:
“uno contro tutti” e “uno contro uno”
Le SVM “uno contro tutti” costruiscono k modelli di SVM,
dove k è il numero di classi. La i-esima SVM è allenata con
tutti gli esempi nella classe i-esima aventi etichetta positiva
e tutti gli altri esempi aventi etichetta negativa. Si può
determinare che x si trova nella classe avente il più elevato
valore della variabile decisionale.
classe di x≡arg max f i  x
i∈[1, k ]
5
Una SVM multi-classe uno contro uno costruisce k(k – 1)/2
classificatori in cui ognuno è allenato sui dati delle due
classi. La funzione di decisione per la classificazione fra la
classe i-esima e la classe j-esima è f ij  x . Dopo che tutti
i classificatori sono stati costruiti, il testing futuro adopera
una strategia di voto di tipo “il maggiore vince”. Se
f ij  x indica che x è nella classe i-esima, allora il voto
per la classe i-esima viene incrementato di una unità.
Altrimenti, viene incrementato il voto per la classe j-esima.
A questo punto si predice che x è nella classe con voto più
alto.
In [12], tutti questi approcci sono studiati con attenzione e
viene mostrato come il metodo “uno contro tutti” sia
accurato tanto quanto ogni altro. L'unico metodo di
formulazione di ottimizzazione è generalmente complicato e
lento ad allenarsi, inoltre non è il più accurato. Quando il
4
numero di classi k nella multi-classificazione è grande, il
numero k(k – 1)/2 dei classificatori modulari del metodo
“uno contro uno” sarà molto grande e la velocità di risposta
all'allenamento del modello finale di classificazione sarà
molto lenta.
Piuttosto, il metodo “uno contro tutti” ha soltanto k
classificatori modulari e può avere una risposta più veloce
rispetto al metodo “uno contro uno”. Nel lavoro che
analizzo, considerando i tempi di risposta dei classificatori,
sono state utilizzate SVM multi-classe “uno contro tutti”.
2.2 Selezione delle caratteristiche nella
classificazione binaria
Nel caso lineare della classificazione binaria, l'equazione
della funzione decisionale può essere formulata come
segue(cfr. figura 6):
f  x =signw · x −b
6
dove w è ottenuto a partire da:
w=
∑
support vectors
y i i xi
7
Il prodotto interno fra un vettore di pesi
w= w1, w 2, ... , w n
e
un
vettore
di
input
x= x 1, x 2, ... , xn 
determina il valore di f(x).
Intuitivamente, le caratteristiche in ingresso in un
sottoinsieme di x che sono pesate dal sottoinsieme con più
grande valore assoluto di w influenzano molto la decisione
della classificazione. Se il classificatore opera
correttamente, il sottoinsieme di caratteristiche in input con
il peso più grande potrebbe corrispondere alla caratteristica
con maggior contenuto informativo[5]. Dunque, i pesi wi
della funzione di decisione lineare possono essere usati
come criteri di ordinamento delle caratteristiche. Secondo
tale ordinamento possiamo scegliere la caratteristica più
discriminativa per la classificazione binaria.
Emanuele Torrenti - “Riconoscimento di facce in immagini generiche”
5
esempi negativi, l indica il numero di SV  , l−
indica il numero di SV − , xi , k indica la k-esima
caratteristica del vettore di supporto i nello spazio di input
ℝn . Il ck più grande indica che la caratteristica k-esima
dello spazio di input può dare maggior contributo al
mantenimento di un margine ampio. Dunque, può ck
assistere |wk| per l'ordinamento delle caratteristiche. La
soluzione consiste nel combinare le due prove, ovvero
ordinando le caratteristiche secondo ck|wk| .
Nel caso non lineare della classificazione binaria, una
funzione di costo J è calcolata a partire dagli esempi di
allenamento per l'ordinamento delle caratteristiche. DJ(i)
indica il cambiamento, nella funzione di costo J causato
dalla rimozione di una data caratteristica o, in maniera
equivalente, portando il suo peso a zero. DJ(i) può essere
adoperata come criterio per la classificazione delle
caratteristiche. In[5], DJ(i) è calcolata espandendo J nella
serie di Taylor del secondo ordine. All'ottimo di J, il termine
di primo grado può essere trascurato, producendo:
Figura 6: Classificazione binaria. Le
due classi sono separate per mezzo di
iperpiani. Gli esempi lungo gli iperpiani
sono detti “vettori di supporto”.
L'iperpiano centrale è detto “ottimo” ed
ha distanza massima da ambo le classi.
2
DJ i=
Inoltre, i vettori di supporto possono essere usati come
prova per l'ordinamento delle caratteristiche[6][3].
Assumendo che la distanza fra l'iperpiano ottimale e i vettori
di supporto sia D, l'iperpiano ottimale può essere visto come
un iperpiano separatore D-margine posto al centro di un
intervallo [-D, D]. Secondo [15], l'insieme degli iperpiani
separatori D-margine ha la dimensione VC, h, limitata dalla
disuguaglianza:
[ ] 
2
h≤min
R
, n 1
2

8
dove R è un raggio di sfera che limita i vettori x∈ X . La
disuguaglianza (8) mostra la relazione fra il margine D e la
dimensione VC: un D maggiore implica una dimensione VC
minore. Di conseguenza, per ottenere un'elevata capacità di
generalizzazione, si dovrebbe mantenere elevato il margine
dopo la selezione delle caratteristiche. Tuttavia, a causa del
fatto che dopo la selezione delle caratteristiche le
dimensioni dello spazio di input vengono ridotte, anche il
margine, tipicamente, viene ridotto, ma occorre fare tutto il
possibile affinché la riduzione sia quanto più limitata
possibile.
Quindi, nel processo di selezione delle caratteristiche, si
dovrebbero selezionare preferibilmente caratteristiche che
rendano il margine più ampio possibile. Questa è un'altra
prova per la classificazione delle caratteristiche. Per
comprendere ciò, si considerino dei coefficienti ck è dati da:
ck =
∣
1
1
x i ,k −
∑
l  i∈ SV 
l−
∑
j ∈SV −
x j ,k
∣
9
dove SV  indica i vettori di supporto che appartengono
agli esempi positivi, SV − quelli che appartengono agli
1∂ J
2
 Dw i 
2
2 ∂ wi
10 
Dove il cambio di peso Dwi corrisponde alla rimozione della
caratteristica i.
Per le SVM non lineari con funzione di decisione non
lineare f(x), la funzione di costo J, essendo minimizzata, è:
1 T
T
J =  H − v
2
11
dove H è la matrice con elementi yh y k K  x h , x k  ,  è
il vettore dei parametri di Lagrange =1, 1, ... , n  , e v
è un vettore ad n dimensioni di 1(uno) [5]. Per calcolare il
cambiamento nella funzione di costo causato dalla
rimozione di una componente di input i, è sufficiente
lasciare invariato il vettore alfa e ricalcolare la matrice H.
Ciò corrisponde a calcolare K(xh (−i), xk (−i)), producendo
la matrice H(-i), in cui tale notazione indica la rimozione
della caratteristica i-esima. Di conseguenza, il criterio di
classificazione delle caratteristiche per le SVM non lineari
è:
DJ i=
1 T
  H −T H −i  
2
12
Il calcolo di DJ(i) è un po' più oneroso rispetto al caso
lineare. Pertanto, il cambiamento nella matrice H deve
essere calcolato solo per i vettori di supporto, il che lo rende
accessibile per un piccolo numero di vettori di supporto.
Per convenienza di rappresentazione, sia nel caso lineare che
in quello non lineare della classificazione binaria, si
indicherà il criterio per l'ordinamento delle caratteristiche
come ri per l'i-esima caratteristica nello spazio di input ℝn
. Nel caso lineare della classificazione, ri è:
r i=c i∣w i∣
13
Emanuele Torrenti - “Riconoscimento di facce in immagini generiche”
Mentre nel caso non lineare si ha:
r i=
1 T
T
 H − H −i 

2
6
Un simile spazio degli eventi, in cui gli eventi sono a due a
due disgiunti e la loro unione dà luogo allo spazio stesso è
rappresentato in figura 7:
14
Utilizzando il criterio di ordinamento ri , è possibile
selezionare più caratteristiche discriminative per la
classificazione binaria.
2.3 Selezione delle caratteristiche nella
classificazione multi-classe
Nel caso della classificazione multi-classe, si utilizzerà il
metodo “uno contro tutti” per le SVM multi-classe. Poiché
le SVM sono state pensate originariamente per la
classificazione binaria, il modo in cui esse possano essere
estese per la classificazione binaria è ancora oggetto di
ricerche [12][7]. In [12], tutti gli approcci per le SVM sono
studiati con cura, evidenziando come il metodo “uno contro
tutti” sia accurato tanto quanto ogni altro.
Nel lavoro analizzato è stato scelto il metodo “uno contro
tutti” poiché esso risponde più velocemente del metodo
“uno contro uno”, soprattutto se il numero di classi è molto
elevato. Il problema della classificazione multi classe è
molto più difficile rispetto al caso binario quando i dati
possiedono un'elevata dimensionalità e la dimensione degli
esempi è ridotta. Pare che l'accuratezza della classificazione
degradi molto rapidamente al crescere del numero di
classi[8], pertanto la selezione delle caratteristiche nella
classificazione multi classe è un compito più difficile
rispetto al caso binario.
Si dovrebbe essere molto attenti nell'estendere la selezione
delle caratteristiche dal caso binario a quello multi-classe.
Per mezzo della relazione statistica fra la classificazione di
caratteristiche e i sotto modelli multipli di SVM multi
classe, nel lavoro qui analizzato viene proposto il metodo
SVM-DFS per la selezione delle caratteristiche.
Le SVM multi-classe “uno contro tutti” costruiscono k
funzioni di decisione, dove k è il numero di classi. La
funzione di decisione j-esima, f j  x , è costruita con tutti
gli esempi nella classe j-esima aventi etichetta positiva e
tutti gli altri aventi etichetta negativa. La è u f j  x n sotto
modello di classificazione binaria per la distinzione della
classe j-esima rispetto a tutte le altre. La r ij , calcolata a
partire dalla f j  x , indica il criterio di ordinamento della
caratteristiche relativo alla caratteristica i-esima secondo il
f j  x . Nella
sotto modello di classificazione binaria
teoria di probabilità vi sono eventi certi, E, ed eventi
impossibili, Ø. Si consideri  j l'evento che la classe jesima sia vera. Secondo la teoria delle probabilità, gli eventi
1, 2, ... , k costituiscono una partizione dello spazio
degli esempi:
E= 1∪ 2∪...∪k
15
e
∅= i∩ j , i≠ j
16
Figura 7: Spazio degli eventi, in cui gli eventi
sono a due a due disgiunti. L'unione di tutti gli
eventi dà luogo allo spazio degli eventi stesso.
Sia P  j  la probabilità a priori che la classe j-esima sia
vera. Si definisca un evento casuale Si come “l'i-esima
caratteristica
è
selezionata
come
caratteristica
discriminativa”. Sia P S i∣ j  la probabilità che accada
Si condizionata da  j . Quando si ha l'evento ,  j il jesimo sotto modello di classificazione binaria, f j  x , è
efficace per la determinazione del risultato finale di
classificazione. Sotto il sotto modello di classificazione, è
possibile calcolare P S i∣ j  attraverso il criterio di
ordinamento delle caratteristiche : r ij
P  S i ∣ j =
r ij
17
n
∑ r tj
t =1
Secondo il teorema sulla probabilità totale, P S i  può
essere calcolato per mezzo di P S i∣ j  e P  j  :
k
P  S i =∑ P  S i ∣ j  P  j 
18
j=1
A questo punto P S i  , può essere usato come criterio di
classificazione di caratteristiche per l'intero problema di
classificazione multi-classe. L'algoritmo SVM-DFS ordina
le caratteristiche decrementando il valore di P S i  e
seleziona le più elevate M caratteristiche come
discriminanti, dove M è il numero di caratteristiche da
selezionare, che può essere valutato allenando nuovamente i
classificatori SVM con le M caratteristiche selezionate. M
dovrebbe essere scelto in maniera tale che il margine i di
ogni sotto modello SVM f i  x riallenato sia ampio a
sufficienza.
i =
1
∥w i ∥
19
Emanuele Torrenti - “Riconoscimento di facce in immagini generiche”
dove w(i) indica il vettore di pesi del sotto modello. f i  x
Secondo [15],
2
∥wi  ∥ =
∑
 i
j
20
support vectors
dove a ij sono i parametri di Lagrange per il sotto modello
f i  x . Si definisca un coefficiente L:
k
L=∑ P i 
i=i

∑
support vectors
i 
j

21
E' possibile usare il coefficiente L per valutare M, che può
essere scelto in maniera tale che L sia piccolo abbastanza.
Dopo che le M caratteristiche discriminative sono state
selezionate attraverso il metodo SVM-DFS, i modelli SVM
devono essere riallenati usando i dati di allenamento per gli
ulteriori compiti di classificazione.
7
i tradizionali metodi di subspazio kernel, si utilizzeranno, a
parità di condizioni, i metodi KDDA[10] e SVM-DFS, a
parità di condizioni. I parametri sperimentali del metodo
KDDA sono impostati secondo [10]; inoltre si adopera una
funzione di kernel di tipo RBF.
In questi esperimenti sul SVM-DFS, il numero di
caratteristiche discriminative M selezionate è impostato a
2000, considerando sia il valore del coefficiente L che un
compromesso fra tempo di risposta dei classificatori e
accuratezza. Durante la selezione delle caratteristiche, il
kernel usato da SVM-DFS è sempre di tipo lineare.
Metodo
Correttezza(%)
Tempo di test(s)
KDDA
95.2239
2.9474
SVM-DFS-1
96.7164
0.0463
SVM-DFS-2
98.2090
1.0431
Tabella 1: Risultati del test. Confronto con il metodo KDDA
3 Esperimenti
3.2 Studio delle prestazioni sotto varie
dimensionalità
Sono stati condotti due insiemi di esperimenti per illustrare
l'efficacia dell'algoritmo SVM-DFS. In tutti gli esperimenti
riportati di seguito, è stato adoperato il database di facce
UMIST[4], un database contenente 575 immagini in scala di
grigio in vista multipla di 20 soggetti, che coprono una gran
varietà di pose, dal profilo alla vista frontale, nonché di
razze, generi e sembianze. Tutte le immagini in ingresso
hanno dimensione 112x92 ed i risultanti vettori in ingresso
hanno dimensione N=10304. La figura 8 mostra alcuni
esempi di immagini di un soggetto nel database.
Questo insieme di esperimenti consta di due sottoinsiemi:
SVM-DFS-L e SVM-DFS-R. Gli esperimenti nell'insieme
SVM-DFS-L adoperano il kernel lineare per la
classificazione dopo la selezione delle caratteristiche per
mezzo di SVM-DFS. Gli esperimenti nell'insieme SVMDFS-R adoperano il kernel RBF per la classificazione dopo
la selezione delle caratteristiche per mezzo di SVM-DFS.
Durante la selezione delle caratteristiche, il kernel utilizzato
da SVM-DFS è sempre di tipo lineare.
Il database complessivo è partizionato in due sottoinsiemi:
l'insieme di allenamento e l'insieme di test. Il primo è
composto da 240 immagini: 12 immagini per persona sono
scelte con cura secondo la posizione della faccia. Le
rimanenti 335 immagini sono usate per comporre l'insieme
di test. Tutti gli esperimenti sono effettuati su un PC
Pentium 4 @ 3.0GHz con 1.0 GB di RAM. Per
l'allenamento delle SVM il parametro C è impostato a
C=10000 e s è impostato ad un valore ottimale
nell'intervallo (10 – 1000).
Figura 9: Accuratezza del riconoscimento sotto varie
dimensionalità
Figura 8: Alcuni esempi di facce di un soggetto del
database UMIST
3.1 Confronto con un metodo di
subspazio kernel
Negli esperimenti, per confrontare il metodo SVM-DFS con
La figura 9 mostra l'accuratezza del riconoscimento sotto
varie dimensionalità che, di fatto, è il numero di
caratteristiche da selezionare. Utilizzando SVM-DFS, un
vario numero di caratteristiche è stato selezionato ed è stata
studiata la variazione dell'accuratezza causata dalla
variazione nella dimensionalità. In figura 9, si può osservare
che l'accuratezza è mantenuta in un ampio intervallo di
dimensionalità, approssimativamente da 2000 a 10304.
Inoltre, SVM-DFS-R è più accurato di SVM-DFS-L per
basse dimensionalità- L'ovvia ragione di ciò è che SVMDFS-R adopera un kernel non lineare e può costruire
Emanuele Torrenti - “Riconoscimento di facce in immagini generiche”
complicate superfici decisionali
classificazione non lineare.
non
lineari
per
la
8
multiple: SVM-DFS. Sono stati integrati due compiti,
selezione di caratteristiche e classificazione multi-classe, in
un unica struttura, realizzando efficacemente il compito
della selezione discriminativa di caratteristiche. Alla luce dei
risultati sperimentali ottenuti operando sul database UMIST,
è possibile osservare che SVM-DFS velocizza il processo di
riconoscimento di facce in viste multiple senza inficiare la
correttezza del riconoscimento. Per mezzo di un confronto
con il metodo KDDA, si è visto che SVM-DFS ha battuto in
prestazioni i tradizionali metodi di subspazio kernel.
5 Lavori futuri
In lavori futuri, gli autori utilizzeranno la trasformata
wavelet per il preprocessamento, prima di usare SVM-DFS.
Essi ritengono, infatti che il suo uso possa rendere SVMDFS più efficiente, rispetto all'analisi sul dominio spaziale,
ovvero sui pixel grezzi.
Figura 10: Tempo di test sotto varie dimensionalità
La figura 10 mostra il tempo di test sotto varie
dimensionalità. Il tempo di test è dato dalla somma di tutti i
tempi di test di ogni singolo test di esempio. E' possibile
notare che il tempo di test decrescere al decrescere della
dimensionalità, soprattuto per SVM-DFS-R.
Nella tabella 2, in cui “lineare” indica SVM-DFS-L, e
“RBF” indica SVM-DFS-R, vi sono i risultati complessivi
del test complessivo sotto varie dimensionalità. Per mezzo
di questi risultati sperimentali, è possibile osservare che
SVM-DFS può accelerare il processo di classificazione
senza inficiare il tasso di correttezza.
Dimensionalità
Correttezza(%)
Tempo di test(s)
Lineare
Lineare
RBF
RBF
10304
98.209 98.209 0.23706 5.40881
9000
98.209 98.209 0.20403 4.65001
8000
98.209 98.209 0.18185 4.15786
7000
97.910 98.508 0.15922 3.64945
6000
97.612 98.508 0.13707 3.10010
5000
97.612 98.209 0.11422 2.59109
4000
97.612 98.209 0.09724 2.12712
3000
97.313 98.209 0.07161 1.56305
2000
96.716 98.209 0.04625 1.04305
1000
92.836 97.313 0.01541 0.50737
500
91.343 97.612 0.00711 0.27816
200
80.299 94.030 0.00295 0.11150
100
56.418 82.388 0.00167 0.03569
Tabella 2: Tempi di test sotto varie dimensionalità
4 Conclusioni
Nel lavoro qui analizzato è stato presentato un metodo
discriminativo con selezione delle caratteristiche, per
l'impegnativo compito del riconoscimento di facce in viste
Bibliografia
[1] M. S. Bartlett, J. R. Movellan, and T. J. Sejnowski. Face
recognition by independent component analysis. IEEE
Trans. Neural Networks, 13(6):1450–1464, 2002.
[2] P. Belhumeur, J. Hespanha, and D. Kriegman.
Eigenfaces vs. fisherfaces: Recognition using class specific
linear projection. IEEE Trans. Pattern Analysis and Machine
Intelligence, 19(7):711–720, 1997.
[3] Z. G. Fan, K. A. Wang, and B. L. Lu. Feature selection
for fast image classification with support vector machines.
Proc. ICONIP 2004, LNCS 3316:1026–1031, 2004.
[4] D. B. Graham and N. M. Allinson. Characterizing
virtual eigensignatures for general purpose face recognition.
Face Recognition: From Theory to Applications, NATO ASI
Series F, Computer and Systems Sciences, 163:446–456,
1998.
[5] I. Guyon, J. Weston, S. Barnhill, and V. Vapnik. Gene
selection for cancer classification using support vector
machines. Machine Learning, 46:389–422, 2002.
[6] B. Heisele, T. Serre, S. Prentice, and T. Poggio.
Hierarchical classification and feature reduction for fast face
detection with support vector machine. Pattern Recognition,
36:2007–2017, 2003.
[7] C. Hsu and C. Lin. A comparison of methods for
multiclass support vector machines. IEEE Trans. Neural
Networks, 13(2):415–425, 2002.
[8] T. Li, C. Zhang, and M. Ogihara. A comparative study
of feature selection and multiclass classification methods for
tissue classification based on gene expression.
Bioinformatics, 20(15):2429–2437, 2004.
[9] B. L. Lu, K. A. Wang, M. Utiyama, and H. Isahara. A
part-versus-part method for massively parallel training of
support vector machines. Proc. IJCNN 2004, pages 735–
740, 2004.
[10] J. Lu, K. Plataniotis, and A. Venetsanopoulos. Face
recognition using kernel direct discriminant analysis
algorithms. IEEE Trans. Neural Networks, 14(1):117–126,
2003.
Emanuele Torrenti - “Riconoscimento di facce in immagini generiche”
[11] B. Moghaddam, T. Jebara, and A. Pentland. Bayesian
face recognition. Pattern Recognition, 33:1771–1782, 2000.
[12] R. Rifkin and A. Klautau. In defense of one-vs-all
classification. Journal of Machine Learning Research,
5:101–141, 2004.
[13] B. Scholkopf, A. Smola, and K. R. Muller. Nonlinear
component analysis as a kernel eigenvalue problem. Neural
9
Computation, 10(5):1299–1319, 1998.
[14] M. Turk and A. Pentland. Eigenfaces for recognition.
Journal of Cognitive Neuroscience, 3(1):71–86, 1991.
[15] V. Vapnik. The Nature of Statistical Learning Theory.
Springer-Verlag New York, 2000.
[16] X. Wang and X. Tang. Unified subspace analysis for
face recognition. Proc. ICCV 2003, 1:679–686, 2003.