minilogo.gif (2094 bytes)

Riconoscimento automatico del volto

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

Riconoscimento frontale

Col termine riconoscimento frontale, come già accennato in precedenza, si indicano quelle tecniche che, nella fase di pre-elaborazione, estraggono caratteristiche facciali da viste frontali del soggetto, solitamente al fine di confrontarle con quelle esistenti in un database. Tali operazioni, oltre ad avere indiscutibilmente una certa motivazione biologica (sembra infatti accertato che sia proprio questo il metodo adottato dai bambini al di sotto dei dieci anni per riconoscere i volti [19] [41]), hanno altresì lo scopo di ridurre la dimensionalità dei dati e la loro ridondanza intrinseca, rendendo così più veloce ed efficiente il processo di ricerca e confronto. Questa fase può essere assimilata a un processo di alto livello, in quanto determina un insieme di caratteristiche facciali su cui vengono individuati elementi geometrici come linee, cerchi, archi, etc.; nel contempo, essa è anche un processo di basso livello, in quanto basato su operatori di filtraggio dedicati all'estrazione e all'identificazione delle caratteristiche su un input direttamente legato ai pixel dell'immagine. La fase successiva consiste nella determinazione di opportuni parametri metrici, come le posizioni relative, le distanze e le angolazioni delle caratteristiche facciali, e nella loro integrazione al fine di quantificare il tasso finale di somiglianza.

Il processo completo di riconoscimento viene di norma suddiviso in quattro fasi principali:

Ciascuna di queste fasi, in particolare la seconda e la terza, presenta di norma una grande varietà di problemi specifici, per la cui soluzione la ricerca propone di volta in volta algoritmi specifici di varia natura.

Il primo passo importante nell'identificazione di un volto consiste dunque nella segmentazione, ossia nella sua localizzazione nel contesto dell'immagine presentata come input (Fig. 2); tale problema è stato affrontato prevalentemente secondo due direttrici principali: l'approccio locale e l'approccio globale.

fig-02a.gif (34229 bytes)     fig-02b.gif (5716 bytes)
(a) (b)
fig-02c.gif (1958 bytes) fig-02d.gif (15127 bytes)
(c) (d)
Fig. 2 Esempio di segmentazione [11]: (a) immagine originale, (b) estrazione dei contorni, (c) aggregazione dei bordi, (d) localizzazione del volto.

Nei metodi locali vengono innanzitutto isolate e identificate alcune importanti caratteristiche peculiari (features) del volto umano, come gli occhi, la bocca, e così via; la localizzazione del volto viene allora determinata in base alla localizzazione relativa delle singole caratteristiche. Benché non vi siano ragioni evidenti per privilegiare alcune caratteristiche rispetto alle altre, gli occhi [15] [60] [85] e le labbra [15] sono storicamente quelle più usate nella fase di segmentazione (Fig. 3).

fig-03a.gif (26857 bytes)     fig-03b.gif (26125 bytes)
(a) (b)
Fig. 3 Localizzazione delle feature [11]: (a) immagine originale, (b) punti caratteristici e loro posizione.

Il problema dell'identificazione di una data caratteristica facciale può a sua volta essere affrontato in diversi modi, ad esempio ricorrendo a modelli deformabili [37] [85], oppure ricorrendo alla trasformata generalizzata di Hough per localizzare profili suscettibili di descrizione analitica a partire dai contorni estratti dall'immagine del soggetto [60]. Sono inoltre stati usati operatori generalizzati di simmetria per la localizzazione degli occhi e della bocca [68], sono state impiegate tecniche di decomposizione in valori singolari (SVD, singular value decomposition) per la descrizione delle forme da localizzare [44], e sono state utilizzate tecniche basate sulla decomposizione in wavelet [17] per individuare i punti di massima curvatura delle caratteristiche cercate [56].

Nell'approccio globale (o olistico), invece, il volto viene trattato come entità unica, e viene localizzato facendo solitamente ricorso a tecniche derivate dalla visione artificiale basata su modelli (model-based vision). In [33] viene ad esempio utilizzato un modello del volto estremamente semplice, costituito da due segmenti rettilinei corrispondenti ai due lati del volto e da due archi corrispondenti alla sommità del capo e al mento. Altre tecniche usate di frequente per la localizzazione del contorno del volto utilizzano algoritmi di template matching (ossia il confronto quantitativo con configurazioni campione) oppure particolari architetture di reti neurali [64].

Un volto può inoltre essere considerato, in maniera astratta, come un punto in uno spazio dei volti (face space), che può essere definito e caratterizzato con tecniche di analisi delle componenti principali (PCA, principal component analysis [46]) applicate a un insieme sufficientemente vasto e variegato di volti campione [76]; il volto da identificare può allora essere proiettato in tale spazio, ad esempio mediante l'espansione di Karhunen-Loeve (KLT, Karhunen-Loeve transform) [50] [63] e le differenze tra volti possono così essere espresse quantitativamernte in termini di distanza generalizzata. Per ulteriori dettagli su questa classe di metodi, si veda la Sez. 5.

Una delle prime dimostrazioni dell'impiego di reti neurali nel riconoscimento del volto è riportata nell'ormai classico lavoro di Kohonen sulle mappe auto-associative [51]. Una rete neurale può essere assimilata ad una struttura computazionale parallela ad informazione distribuita, avente la forma di un grafo orientato, in cui i nodi sono costituiti dalle unità di elaborazione (dette neuroni) e i rami dalle interconnessioni tra di essi (sinapsi); ad ogni connessione è associato un coefficiente, per il quale viene moltiplicato il segnale che si propaga sulla connessione stessa. Benché il paradigma neurale (detto anche connessionistico) possa vantare come suo principale punto di forza l'analogia biologica col funzionamento del sistema nervoso animale, la gran parte della letteratura sul riconoscimento di volti mediante reti neurali presenta purtroppo risultati di esperimenti dove vengono utilizzate solo poche categorie di volti, rendendo così molto difficile quantificare l'accuratezza del metodo. Tuttavia, la grande varietà di architetture neurali conosciute, i progressi teorici che si vanno accumulando nel campo e la sempre migliore comprensione dei meccanismi dei sistemi nervosi biologici lasciano presumere, in accordo con [35], che questa classe di tecniche è probabilmente l'unica destinata a risolvere in futuro il problema AFR in maniera definitiva.

Nel metodo presentato in [20] vengono estratte le prime 50 componenti principali dell'immagine; la dimensionalità dei dati ottenuti viene quindi ridotta a 5 mediante una rete neurale autoassociativa, e la rappresentazione risultante viene applicata a un classificatore neurale implementato con un perceptron multistrato standard. In [79] viene invece usata una rete neurale gerarchica, mentre in [7] le reti neurali vengono applicate al problema della determinazione del sesso del soggetto raffigurato nell'immagine.

In [59] il riconoscimento viene invece eseguito utilizzando le linee di isodensità, cioè i confini delle aree a luminanza approssimativamente costante presenti nell'immagine quantizzata; tali aree, essendo correlate ai rilievi sul volto umano, consentono quindi di tener conto in qualche modo anche della natura tridimensionale del volto.

La procedura proposta in [75] prevede la rappresentazione e la rivelazione di oggetti su scale multiple, usando come base un reticolo di campionamento radiale non uniforme. Sia la localizzazione che la classificazione delle caratteristiche facciali vengono ottenute mediante codifica attraverso banchi di filtri visuali, detti campi recettivi, definiti come mappe auto-organizzate à la Kohonen [51]. La combinazione dei filtri visuali col campionamento radiale non uniforme permette di determinare i codici delle feature in maniera relativamente invariante rispetto all'illuminazione; tali codici vengono infine raggruppati in codici facciali compatti per la successiva identificazione.

Nel sistema descritto in [18] l'affidabilità del riconoscimento è basata sull'analisi e la descrizione dell'iride dell'occhio umano, che è per sua natura dotata sia della complessità che dell'unicità necessarie, e appare dunque essere una caratteristica facciale identificatrice estremamente importante. Nel lavoro citato viene presentato un algoritmo in tempo reale in cui le variazioni locali di fase nella struttura dell'iride vengono demodulate mediante wavelet bidimensionali di Gabor [17]; il risultato dell'analisi viene poi convertito in un codice di iride lungo 173 bit. L'autore sostiene di aver ottenuto un alto tasso di riconoscimento corretto con semplice ricerca esaustiva sul database, ad una velocità di circa 10 000 confronti al secondo.

Il problema della sensibilità degli algoritmi di riconoscimento alla posa e alla illuminazione viene affrontato in [80] utilizzando immagini riprese nell'infrarosso anziché nello spettro del visibile. I tre algoritmi di riconoscimento (codifica della trasformata delle proiezioni in scala di grigi, auto-facce, filtri di ricerca) utilizzati per garantire un confronto affidabile tra il visibile e l'infrarosso appartengono solitamente alla categoria dei riconoscimenti generici; tuttavia il confronto è basato solo su immagini frontali riprese in condizioni alquanto controllate di posa, illuminazione e temperatura. Sono consentite piccole variazioni nella posa, nella temperatura e nella geometria (ad esempio, facce silenziose e facce parlanti), ma esse non vengono in realtà corrette o normalizzate in alcun modo – ed è questa la ragione per cui questo approccio può in definitiva essere assegnato alla categoria del riconoscimento frontale. La conclusione che si può trarre dagli esperimenti descritti in [80] è che le immagini nell'infrarosso e nel visibile si comportano in maniera molto simile sotto i tre algoritmi utilizzati, con un lieve vantaggio del primo per le immagini all'infrarosso e degli altri due per le immagini nel visibile. Inoltre, i test di riconoscimento basati (a) su vari particolari facciali più il volto stesso, (b) sui soli particolari facciali, (c) sul solo volto, mostrano che il volto nel suo insieme contribuisce al riconoscimento più con le immagini nel visibile che non con quelle all'infrarosso.

Altri metodi frequentemente usati nel riconoscimento frontale, infine, sono i momenti algebrici [44] e il confronto di modelli elastici [10] [85]; di questi ultimi si parlerà più diffusamente nella Sez. 5.3.

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:38