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