minilogo.gif (2094 bytes)

Riconoscimento automatico del volto

left.gif (1019 bytes) up.gif (1014 bytes) right.gif (1020 bytes)

Riconoscimento generico

Negli algoritmi di riconoscimento generico vengono utilizzate tecniche di varia natura per correggere gli effetti prospettici dovuti alla posa del soggetto, all'illuminazione e alla natura tridimensionale della testa. Tali tecniche trovano prevalente applicazione laddove occorra autentificare o identificare un soggetto non cooperativo o non cosciente di essere ripreso, o comunque quando le condizioni di ripresa non possano essere adeguatamente controllate.

In una sommaria classificazione, gli approcci al riconoscimento generico possono essere suddivisi in:

Quando nell'immagine sono presenti barbe, calvizie o sfondi non uniformi, viene solitamente usata la trasformata di Karhunen-Loeve [50] [63], poiché essa tratta l'intera immagine, sia il volto che lo sfondo, come un unico pattern; in simili circostanze, in cui vanno affrontati sia gli aspetti locali che quelli globali del riconoscimento, vengono utilizzate tecniche basate sulle auto-facce (Fig. 5), che peraltro, oltre ad essere computazionalmente molto complesse, si sono dimostrate veramente utili solo su una quantità relativamente piccola di immagini. Se l'immagine di un volto viene trattata come un vettore di variabili aleatorie, gli autovettori della sua matrice di covarianza costituiscono una base ortonormale che può essere determinata mediante la trasformata di Karhunen-Loeve; poiché agli autovettori associati agli autovalori più significativi corrispondono immagini ancora simili a un volto, a tali autovettori viene dato appunto il nome di auto-facce.

fig-05.gif (100025 bytes)

Fig. 5 Esempio di auto-facce [11].

Di fatto esistono diverse altre tecniche che sono altrettanto in grado di estrarre caratteristiche facciali estese su un'intera regione: le wavelet di Gabor, ad esempio, che formano una base completa sebbene non ortogonale [17], hanno nella versione bidimensionale un comportamento molto simile a quello dei campi recettivi della retina nel sistema visivo umano, e consentono dunque di rappresentare il volto come una collezione di regioni caratteristiche di estensione variabile.

Una recente indagine [87] sulle prestazioni di alcune tecniche per il riconoscimento generico su quattro diversi database di dimensioni moderate ha condotto alle seguenti conclusioni:

5.1    Modelli rigidi

Tutte le tecniche basate sulla forma della testa hanno bisogno di due o più immagini dello stesso soggetto riprese da differenti punti di vista, al fine di produrre modelli 3-D o 2½-D della testa. Il sistema proposto in [32], ad esempio, richiede in ingresso una vista frontale ed una di profilo. Dopo aver segmentato la testa nella vista frontale, i particolari degli occhi vengono estratti mediante template matching, ossia confronto con modelli campione, ovviamente dopo localizzazione della regione pupillare basata sulla conoscenza a priori della struttura della testa. Un approccio analogo viene usato nel caso della vista laterale, dove si estrae in primo luogo la curva del profilo e quindi si stima la posizione del naso e della punta del mento sfruttando principalmente i vincoli di tangenza tra i contorni. Dopo opportuna normalizzazione, i punti caratteristici di entrambe le immagini portano a identificare cinque regioni: i due occhi, il naso, la bocca e il profilo. Su questi punti caratteristici viene applicato il processo di confronto, costituito da una procedura di correlazione opportunamente corretta contro gli effetti generali dell'illuminazione. Le varie regioni vengono pesate in maniera differente a seconda dell'affidabilità della loro localizzazione e del loro contenuto informativo, portando così ad una valutazione quantitativa dei risultati del confronto. È importante notare come in questo lavoro il processo di confronto venga applicato solo ad una regione limitata del profilo, contrariamente a quanto proposto in [84] dove viene invece usata l'intera geometria dei punti caratteristici estratti.

Il metodo appena descritto sfrutta pesantemente le informazioni geometriche ricavate dalle immagini frontali e di profilo; tuttavia, esso non opera ancora su un modello esplicito della testa. Viceversa, in [3] viene proposto un algoritmo modulare per l'estrazione di forme da viste multiple con illuminazione variabile, mediante il quale con un processo iterativo si riesce a pervenire alla stima di un modello 2½-D della testa costituito da una mappa di profondità e da una corrispondente mappa di struttura; da tali mappe è poi possibile sintetizzare senza alcuna limitazione ogni altra vista della testa. Il modulo di stima della probabilità, che è uno dei sottoprocessi nell'algoritmo di stima del modello, è in grado di calcolare la probabilità di un insieme specifico di parametri di forma e di struttura, e può dunque essere utilizzato anche come modulo di riconoscimento. Ad ogni modo, la pubblicazione si dilunga prevalentemente sulla stima del modello della testa senza tuttavia fornire alcun risultato sugli esperimenti di riconoscimento.

Una tecnica simile viene proposta in [26], ma viene però utilizzato un algoritmo diverso per l'estrazione di forme da viste multiple. A partire da una sequenza di immagini della testa, vengono combinati due algoritmi per l'estrazione di forme dai contorni e dalla distribuzione locale di luminanza, e viene poi ricostruito un modello della testa rappresentato mediante un set di mappe di profondità. Il riconoscimento vero e proprio ha luogo regolando, con un procedimento iterativo, l'orientamento di una particolare mappa di profondità assieme alla corrispondente mappa di struttura, finché viene ottenuta una vista che, nell'ambito di un semplice processo di template matching, costituisce il miglior adattamento all'immagine da riconoscere. In alternativa, le mappe di profondità e di struttura possono essere applicate al modulo di probabilità descritto in [3] per generare un valore di probabilità da assegnare al modello di volto.

Allo scopo di determinare stime ancora più accurate del modello della testa, in [62] vengono usati dati registrati mediante uno scanner rotativo Cyberware che portano alla sintesi di un modello "medio" della testa rappresentato da dati di profondità e di struttura. Sotto l'ipotesi che la direzione di vista dell'immagine registrata sia nota, il modello può essere utilizzato per calcolare nuove viste della stessa testa. La pubblicazione dimostra anche come la sovrapposizione reciproca di regioni visibili della testa non pregiudichi l'accuratezza del riconoscimento neanche in presenza di cambiamenti notevoli del punto di vista.

Mentre i metodi citati finora operano su immagini riprese sotto condizioni abbastanza streattamente controllate, il lavoro descritto in [14] opera su documenti multimediali contenenti sequenze video non controllate, sulle quali andrebbe dunque eseguita un'analisi accurata del movimento del corpo per arrivare a stabilire l'identità della persona in movimento. Questo lavoro preliminare illustra le linee fondamentali di un insieme di tecniche basate sugli invarianti proiettivi per ottenere l'identificazione del soggetto a partire da una stima della posizione della testa ottenuta mediante modelli. Contrariamente ai metodi descritti in precedenza, che mirano a determinare un modello accurato della sola testa del soggetto, in [14] viene utilizzato un modello 3-D a maglie (mesh model) per l'intero corpo.

5.2    Modelli di Markov nascosti

Sebbene i modelli di Markov nascosti [67] siano usati da oltre dieci anni nel riconoscimento del parlato e siano stati proposti recentemente anche per il riconoscimento dei gesti, essi hanno trovato applicazione nel riconoscimento del volto solo in pochissimi lavori di ricerca [1] [61] [71].

Un HMM opera generalmente su sequenze di segnali unidimensionali coerenti, detti vettori di feature (ma con significato leggermente differente da quello che è stato qui finora attribuito al termine), mentre un'immagine è solitamente rappresentata come matrice bidimensionale. Questo problema di rappresentazione può essere risolto ad esempio applicando all'immagine una finestra mobile che ne copra l'intera larghezza e che possa essere spostata dall'alto in basso; i valori di luminanza delle finestre in tutte le possibili posizioni vengono quindi applicati al processo HMM come vettori di feature unidimensionali. Per evitare il troncamento di caratteristiche facciali significative, come pure per trasporre integralmente informazioni legate al contesto nella sequenza di vettori di feature, è necessario che finestre contigue presentino una regione comune di sovrapposizione. Il volto umano può di fatto essere suddiviso in regioni orizzontali come la fronte, gli occhi, il naso, etc., che rimangono riconoscibili anche quando vengono osservate separatamente. In tal modo il volto viene modellato come un HMM lineare da sinistra a destra avente cinque stati: la fronte, gli occhi, il naso, la bocca e il mento.

Il processo completo di riconoscimento inizia con una fase di pre-elaborazione e procede poi in quattro fasi principali:

  1. i vettori di feature di un set di immagini campione vengono utilizzati per costruire un dizionario (codebook);
  2. usando il dizionario come riferimento, vengono quantizzati tutti i vettori di feature;
  3. il modello HMM viene addestrato per ciascuna persona presente nel database;
  4. nella fase di riconoscimento vera e propria, l'immagine viene prima applicata al modulo di pre-elaborazione e alle fasi 1 e 2, e quindi, per ogni persona (ossia per ogni modello) presente nel database, viene determinata la probabilità di produzione dell'immagine di partenza.

Questa procedura fornisce pertanto un punteggio (score) legato a ciascun individuo del database, in ordine decrescente di probabilità per ciascun modello.

5.3   Modelli deformabili

In contrasto con l'approccio "fisico" del riconoscimento basato sulla forma del volto, l'idea che sta alla base delle tecniche di riconoscimento che usano modelli deformabili consiste nel codificare le regioni comprendenti le caratteristiche facciali più significative in una descrizione matematica e nell'introdurre una funzione di somiglianza a cui viene delegata la decisione quantitativa sulle relazioni tra le descrizioni di volti differenti. Poiché è impossibile inglobare tutti i possibili parametri di un'immagine facciale in un singolo modello, si è fatto ricorso a procedure specifiche atte a determinare le componenti essenziali del modello e le loro caratteristiche.

Una di tali procedure, usata da vari ricercatori per l'estrazione automatica delle caratteristiche facciali, utilizza la decomposizione dell'immagine in wavelet [17]. In [66], ad esempio, viene presentato un adattamento della decomposizione in wavelet come elemento basilare dei filtri di ricerca e confronto nell'identificazione e l'analisi delle sottili differenze tra volti. La capacità delle wavelet di codificare informazioni sia locali che globali minimizza l'effetto delle variazioni dello sfondo e delle espressioni facciali. In questo sistema AFR due banchi di filtri di ricerca e confronto hanno il compito di localizzare le caratteristiche facciali e, rispettivamente, di identificare volti sconosciuti. Il primo set di filtri determina la posizione del volto entro l'immagine e localizza il naso e gli occhi, producendo così cinque caratteristiche facciali rappresentate da un vettore ad altrettante componenti. L'identificazione avviene calcolando un valore di somiglianza fra ciascuna caratteristica del soggetto ignoto e la corrispondente caratteristica di un candidato nel catalogo dei volti noti; l'insieme dei valori così ottenuti viene poi integrato in un punteggio totale per quel candidato. L'iterazione di questa procedura su tutte le immagini del catalogo conduce alla fine all'identificazione del soggetto.

In [66] viene presentato anche un algoritmo per la normalizzazione dell'illuminazione, dove vengono corrette sia le variazioni di luminanza all'interno di un singolo volto non uniformemente illuminato, sia quelle tra volti diversi o ripresi in diverse condizioni di illuminazione; è possibile in tal modo procedere a un confronto più sicuro tra i due volti. La normalizzazione viene realizzata essenzialmente trasformando l'istogramma di un'immagine nell'istogramma dell'altra mediante una forma generalizzata di equalizzazione.

La maggior parte dei metodi basati su modelli deformabili utilizza algoritmi pilotati dai dati (data driven). In [52] [58] [81], ad esempio, viene proposto un algoritmo in cui il volto viene rappresentato sotto forma di un grafo elastico ai cui nodi vengono assegnate le caratteristiche facciali. Le feature sono ottenute mediante convoluzione del volto con wavelet di Gabor [17] calcolate nelle posizioni dei nodi, riuscendo così ad integrare in una sola descrizione non solo le caratteristiche locali ma addirittura l'intera regione comprendente ciascuna feature. Una volta estratte le feature, si procede alla generazione del grafo mediante confronto di un grafo campione con l'immagine reale; allo scopo, viene usata una procedura di ottimizzazione in cui la posizione, le dimensioni e la struttura interna del grafo vengono alterate elasticamente in modo da massimizzare la somiglianza del grafo in costruzione con le caratteristiche dell'immagine. Il grafo etichettato risultante viene quindi confrontato con un certo numero di grafi di riferimento precalcolati, che rappresentano la "conoscenza" relativa a un volto generalizzato, e il confronto dà esito positivo solo se sono soddisfatte certe condizioni di significatività. Il metodo dei grafi elastici è "robusto" rispetto alle variazioni di posa, di dimensioni e di espressione facciale della testa, ed è in grado di operare anche con condizioni abbastanza variabili di illuminazione.

Modelli deformabili analoghi vengono anche usati nel sistema di controllo accessi ZN-Face descritto in [52], che opera su immagini acquisite in maniera semi-automatica. Il sistema, dedicato peraltro in prevalenza all'identificazione anziché al riconoscimento di un volto, fornisce un risultato in circa 3.5 secondi e può manipolare vasti database costituiti da oltre 1000 soggetti. (Per ulteriori informazioni sulla versione corrente del sistema ZN-Face, si veda la Sez. 8.4.)

In [81] il metodo dei grafi elastici viene modificato in modo che i nodi nei diversi grafi facciano riferimento sempre alla stessa regione facciale locale. Diventa così possibile rivelare nell'immagine certe ulteriori caratteristiche della persona da riconoscere, come ad esempio il sesso, la barba o gli occhiali, ed apportare di conseguenza miglioramenti significativi al tasso di riconoscimento, essendo di fatto sufficiente verificare se il grafo col migliore adattamento al modello ricostruito del volto del soggetto si riferisce ad un individuo maschio o femmina, e se mostra o meno evidenza di barba o occhiali.

Il problema del riconoscimento basato su una singola immagine, ripresa però da punti di vista variabili, viene affrontato in [58] introducendo una trasformazione geometrica che agisce sui punti caratteristici codificati nel grafo, detti jets. In tal modo, se sono note le normali alle superfici in corrispondenza dei nodi del grafo e se è noto l'angolo tra due viste differenti, allora il grafo può essere trasformato dall'una all'altra vista semplicemente moltiplicando ciascun jet per la matrice associata alla corrispondente trasformazione geometrica. Assumendo un insieme fisso di normali, la posa e le normali desiderate vengono trovate ottimizzando il riconoscimento su un training set costituito da viste frontali e di mezzo profilo.

Poiché i metodi fin qui descritti sono robusti solamente rispetto alle variazioni di illuminazione, è stato proposto di separare la geometria dall'illuminazione per ottenere così migliori risultati in presenza anche di variazioni di contrasto. Il contributo riportato in [16], ad esempio, propone di decomporre il volto in un vettore di configurazioni (vettore di forma) e in un volto privo di forma (vettore di struttura). Da un insieme di volti di riferimento, le variazioni di forma vengono estratte, codificate manualmente in vettori di feature contenenti i 34 punti facciali più significativi, e ordinate infine per importanza, formando così una nuova base indipendente di auto-facce. In tal modo, diventa facile proiettare ciascun volto sulla base di riferimento e calcolarne le componenti rispetto a ciascuna auto-faccia. Mediante una trasformazione strutturale, ciascun volto dell'insieme di riferimento viene trasformato in una forma standardizzata, la forma "media" dell'insieme di riferimento. Mediante analisi in componenti principali [46] si decompongono quindi i volti trasformati in autovettori che descrivono le variazioni di luminosità, e vengono nuovamente calcolate le componenti di ogni volto rispetto a questi autovettori. Alla fine, il riconoscimento viene portato a termine confrontando il vettore delle componenti dell'immagine con le componenti dell'insieme di riferimento, usando ad esempio una metrica euclidea.

Un'altra tecnica per il riconoscimento da vista singola è presentato in [53], in cui viene utilizzata una rappresentazione del volto simile a quella descritta in [52] [75]. Con palese riferimento ai campi recettivi (RF, receptive fields), cioè alle regioni sensibili del sistema visivo negli organismi animali, il modello utilizzato rappresenta le immagini facciali come vettori di attività di campi recettivi sovrapposti. Oggetti simili ai volti appartenenti ad una stessa categoria inducono pattern simili nello spazio RF, sotto condizioni ampiamente variabili di vista, posa, illuminazione ed – entro certi limiti – anche di espressione facciale. Lo schema di riconoscimento proposto in [53] è costituito da tre moduli: il primo modulo utilizza classificatori a funzioni a base radiale (RBF, radial basis functions), che accettano rappresentazioni dell'immagine nello spazio RF ad alta frequenza, e rivela così le condizioni di vista; mediante una trasformazione specifica per ogni categoria associata alle condizioni di vista rivelate, il secondo modulo trasforma le rappresentazioni nello spazio RF a bassa frequenza nella predizione di una rappresentazione prototipo per l'immagine in ingresso; nel terzo e ultimo modulo, l'identificazione del volto avviene ancora mediante classificatori RBF per il confronto nello spazio a bassa frequenza della rappresentazione predetta con quella dei volti noti. Poiché entrambi i classificatori richiedono addestramento su due distinti database, che possono essere aggiornati con le trasformazioni di categoria via via trovate, il sistema è capace di migliorare con l'esperienza.

Una posizione speciale tra i metodi con modelli deformabili è mantenuta dalle tecniche di morphing, con cui si ricercano i parametri ottimali (i cosiddetti campi di morphing) nella rappresentazione della transizione lineare da un'immagine all'altra. L'algoritmo proposto in [4], ad esempio, genera i campi di morphing ottimali partendo dalla distorsione della geometria e dell'illuminazione e massimizzando la probabilità in senso bayesiano del campo di morphing. Il metodo non richiede alcun addestramento, e viene derivato dalla teoria degli invarianti e dei gruppi di trasformazioni. In [4] viene anche dimostrato come, assumendo oggetti rigidi con superfici lambertiane prive di ombre e trascurando le occlusioni, tutti i possibili morphing tra le immagini di una singola persona possano essere confinati in un sottospazio a 5 dimensioni dello spazio generale di morphing. Benché questi vincoli non siano sempre applicabili ai volti, è lecito assumere che i cinque autovettori più significativi della matrice di morphing, calcolati su almeno tre immagini diverse, governino le principali variazioni tra i volti di persone diverse. Il riconoscimento a questo punto avviene calcolando il morphing dall'immagine incognita rispetto alle immagini di riferimento di tutti i possibili candidati, proiettando quindi i parametri risultanti nello spazio pentadimensionale di ciascuna persona, e usando infine la norma del vettore differenza come punteggio del confronto. I test riportati in [4] mostrano risultati eccellenti nel morphing tra due persone con viste e illuminazioni differenti. Sebbene non vengano forniti risultati di esperimenti di riconoscimento, alcuni test preliminari dimostrano come i campi di morphing siano particolarmente adatti al riconoscimento sotto condizioni variabili di vista e di illuminazione.

minilogo.gif (2094 bytes)

Riconoscimento automatico del volto

left.gif (1019 bytes) up.gif (1014 bytes) right.gif (1020 bytes)

© 1997-2003 Paolo Marincola (Rome, Italy)
e-mail:
pmaNOSPAM@acm.org (eliminare i caratteri "NOSPAM" per ottenere l'indirizzo esatto)
Commenti, osservazioni e suggerimenti sono estremamente graditi.

Last revised: 2003-12-06 22:39