Rilevamento di volti basato su feature in immagini digitali

Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Rilevamento di volti basato su feature in
immagini digitali
Seminario giovani, A.A. 2006/07
Augusto Destrero1
[email protected]
1 Dipartimento
di Informatica e Scienze dell’Informazione
Università di Genova
12 aprile 2007
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Sommario
1
Lavorare su immagini digitali
2
Face detection
3
Feature selection
4
Verso un face detector...
5
Oltre la face detection
6
Applicazioni
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Le immagini come matrici
Un’immagine digitale può essere pensata come una
matrice o un vettore
Un numero per ogni pixel (0: nero - 255: bianco)
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Le immagini come matrici
Una immagine di faccia...
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Le immagini come matrici
Una immagine di faccia... vista dal computer
255
159
160
156
150
162
174
190
201
201
192
185
180
179
182
184
125
117
122
102
100
122
144
164
179
176
167
157
150
145
146
146
121
124
134
99
101
127
148
165
181
183
173
161
154
153
157
157
123
139
142
90
95
128
148
162
176
179
169
163
164
167
165
152
129
145
139
89
92
129
148
159
168
168
166
168
173
169
157
141
143
140
133
105
118
133
146
152
156
161
165
168
165
154
144
140
158
141
139
120
130
136
141
139
136
144
143
141
140
138
139
136
164
145
145
127
131
130
122
116
115
119
115
110
117
131
142
141
A. Destrero
163
148
143
129
122
117
114
121
130
139
133
111
118
140
152
149
164
155
149
141
128
125
130
145
160
175
162
123
123
143
151
150
164
158
152
142
128
122
124
133
147
159
142
112
123
141
149
148
159
147
135
119
107
101
100
103
108
113
107
103
121
142
151
143
154
138
126
115
114
107
102
99
101
104
107
111
118
132
140
132
140
133
124
117
128
128
129
125
133
143
140
134
132
132
133
126
123
135
113
108
122
132
145
148
154
169
172
164
151
138
133
128
101
108
96
82
104
123
145
165
169
154
140
134
133
138
146
150
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Face detection
Perché non è facile?
E’ molto improbabile trovare una faccia in un’immagine
arbitraria
→ molti falsi positivi
Dimensioni immagine:
384x222px
∼ 6.5 · 105 test in una
ricerca multiscala a partire
da 19x19px
Solo 11 facce!
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Face detection basata sul colore
Forse l’idea maggiormente intuitiva
“The spectral reflectance of human skin is independent on
the human race and on the wavelength of the exposed
light” [R.R. Anderson et al., 1985]
Usiamo lo spazio di colore YUV
formato standard in flussi video
le componenti U e V (componenti croma) portano
l’informazione sul colore del pixel
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Il color pelle sul piano UV
Il colore della pelle umana occupa una regione limitata del
piano UV [A. Elgammal e M. Abdel-Mottaleb, 1999]
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Esempi di segmentazione della pelle
E’ possibile definire il color pelle sul piano UV in termini di
due valori medi mU e mV e due tolleranze tU e tV
Se le componenti U e V di un pixel sono in questo range lo
possiamo considerare un pixel di pelle
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Video
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Note sul video
Una buona segmentazione
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Note sul video
Una regione marcata come pelle in maniera errata
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Note sul video
In alcune condizioni l’informazione di colore può essere persa
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Svantaggi dell’approccio basato sul colore
E’ difficile impostare le soglie senza avere troppi falsi
positivi (ad es. vestiti, capelli, ...)
E’ sempre necessario adattare le soglie alle particolari
condizioni di lavoro
Dati valori accettabili per le soglie è ancora necessario
distinguere i volti da altre regioni di pelle (mani, spalle, ...)
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Face detection basata su feature
Feature rettangolari
Descrizione dell’immagine con feature rettangolari [Viola e Jones, 2001]
Una feature è una semplice misura sulle intensità dell’immagine
Maggiore robustezza per cambi di illuminazione
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Feature rettangolari
Sono un set overcompleto
In un’immagine 19x19 si possono calcolare circa 64000
feature
Solo poche di queste feature sono rilevanti per distinguere
un volto
Feature rilevante Feature irrilevante
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Selezionare le feature per face detection
Feature selection, obiettivi:
→ ridurre il numero di variabili
→ mantenere le più informative
→ rimuovere le feature irrilevanti o ridondanti
Quante feature ci servono?
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Imparare dagli esempi
Dataset MIT+CMU
19x19px
Training set 2000
facce/nonfacce
Validation set 429
facce/nonfacce
Le immagini di volti
sono ben registrate
e ritagliate
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Feature selection come problema inverso
Il problema è nella forma
Af = g
A è una matrice NxM formata da N esempi descritti da M
feature
g è un vettore di etichette assegnate alle due classi (1 per
le facce, −1 per le non-facce)
f è sparso → solo poche componenti (feature) sono
rilevanti per risolvere il problema
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
L’algoritmo
Thresholded Landweber [Daubechies et al., 2004]
Minimizzare: kAf − gk2 + 2τ |f |
Il minimo si può calcolare iterativamente (f0 arbitrario):
ft+1 = Sτ [ft + A? (g − Aft )]
f(n) = f(n) − τ sign(f(n) ) if |f(n) | ≥ τ
0
otherwise
τ controlla la sparsità della soluzione → il numero di
feature scartate
dove Sτ =
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Come scegliamo τ e il numero di iterazioni?
Due metodi:
τ tale che il 90% delle feature venga scartato in circa 1000
iterazioni
iterare fino a che kft+1 − ft k raggiunge un minimo, τ scelto
con cross-validation
τ
1 · 10−5
2 · 10−5
5 · 10−5
1 · 10−4
2 · 10−4
5 · 10−4
err. sul validation set
0.021
0.020
0.022
0.023
0.027
0.135
A. Destrero
feature selezionate
1791
1303
867
581
247
66
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Prima selezione delle feature
Campionamento random
Partire dall’intero set di feature
(A : 64000 · 4000 ' 1Gb) non è
computazionamente efficiente
Dividiamo il set di feature in 200
sotto-insiemi di 6400 feature
ciascuno estratte a caso con
ripetizione
Applichiamo l’algoritmo su ogni
sotto-insieme
Scegliamo τ per scartare il 90%
delle feature in circa 1000 iterazioni
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Seconda selezione delle feature
Ancora thresholded Landweber...
Teniamo solo le feature con
rapporto 1 fra numero di
selezioni ed estrazioni (circa
4600)
Ripetiamo l’algoritmo di
feature selection sulle feature
rimaste
Scegliamo τ con
cross-validation
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Seconda selezione delle feature
Le feature ottenute
...
247 feature (disegnate su un esempio arbitrario di faccia)
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Terza selezione delle feature
Studio delle correlazioni
E’ evidente una residua
ridondanza nelle feature
E’ ragionevole filtrare
ulteriormente le feature
Scartiamo feature
geometricamente simili, vicine
e con valori correlati (secondo
il test di Spearman)
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Terza selezione delle feature
Le feature ottenute
...
247
⇓
42
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Cascade of classifiers
Viola e Jones nel 2001 proposero una struttura di
classificatori via via più complessi: cascade
L’idea è quella di scartare velocemente regioni di immagine
“facili” da classificare
Classificatori semplici e veloci scartano
la grande maggioranza delle regioni di
immagine
Classificatori più complessi vengono
usati solo dove serve per abbattere il
numero di falsi positivi
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Cascade of classifiers
Viola e Jones nel 2001 proposero una struttura di
classificatori via via più complessi: cascade
L’idea è quella di scartare velocemente regioni di immagine
“facili” da classificare
Classificatori semplici e veloci scartano
la grande maggioranza delle regioni di
immagine
Classificatori più complessi vengono
usati solo dove serve per abbattere il
numero di falsi positivi
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Come costruiamo la cascata?
1
A partire dal set S di feature selezionate
2
Si scelgono almeno 3 feature mutualmente distanti
3
Si testa su un validation set un classificatore SVM che usa
queste feature come componenti
Il classificatore ha una performance accettabile (HR:
99,5% - FP: 50%)?
4
SI Si salva lo stadio della cascata, si rimuovono le feature usate dal
set S e si ritorna al passo 2
NO Si aggiunge un’altra feature di S distante da tutte le feature usate
e si ritorna al passo 3
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Risultati sul test set CMU
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Raccolta di falsi positivi e riallenamento del sistema
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Risultati sul test set CMU dopo il retraining
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Un piccolo trucco...
Filtraggio dei rilevamenti
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Stessa procedura per rilevamento di occhi
Training 1000
occhi/nonocchi
Validation 244
occhi/nonocchi
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Risultati
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Uno scenario reale
Setting non
collaborativo
Viste semi-frontali
Pochi esempi
negativi difficili per
face detection
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Video
Skin/Face/Eyes detection
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Applicazione 1
Contapersone
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Applicazione 2
“Anonimizzatore”
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Lavori in corso
Face validation
Il nostro input
Metodi globali sui livelli di grigio: PCA
Metodi locali: estrazione di corner, descrittori SIFT
Metodi dinamici: modello ARMA
A. Destrero
Rilevamento di volti basato su feature in immagini digitali
Lavorare su immagini digitali
Face detection
Feature selection
Verso un face detector...
Oltre la face detection
Applicazioni
Grazie
http://slipguru.disi.unige.it
A. Destrero
Rilevamento di volti basato su feature in immagini digitali