Riconoscimento del volto
Sia le informazioni visive globali che le caratteristiche locali (morfologia di occhi, naso) sono fondamentali nella percezione e nel riconoscimento del volto.
Studi sul riconoscimento del volto documentano infatti che gli uomini si concentrano subito, quando questi sono presenti, su elementi predominanti come grosse orecchie, naso aquilino, occhi strabici, ecc.
Si è messo in evidenza che le caratteristiche interne (naso, bocca, occhi) ed esterne (forma della testa, capelli) sono utilizzate per riconoscere volti non familiari, mentre i volti familiari sono riconosciuti principalmente grazie alle caratteristiche interne.
Si è anche dimostrato che vengono ricordati più facilmente i volti attraenti, seguiti dai volti meno attraenti, ed infine i volti né belli né brutti, più difficili da identificare poiché non accompagnati da informazioni supplementari sul gradimento estetico .
Una serie di immagini frontali di volti
Interessante è anche la teoria secondo la quale gli uomini riconoscono gente della propria razza meglio che gente di razze diverse.
Questo si può spiegare con il fatto che gli uomini codificano nel proprio cervello i canoni di una faccia "media" della gente che sono abituati a vedere, e questa faccia media varia per razze diverse.
Purtroppo ancora molte delle teorie che sono state formulate presentano punti contraddittori e si basano su insiemi relativamente ristretti di individui. Nonostante questo alcuni ricercatori hanno trovato in questi studi alcuni spunti per il progetto e la costruzione di sistemi automatici o semiautomatici basati sul riconoscimento del volto.
Queste applicazioni presentano un'ampia gamma di problematiche differenti e che richiedono soluzioni tecniche adeguate. Esistono importanti parametri per la valutazione di queste applicazioni. In qualsiasi problema di "pattern recognition" la qualità della risposta dipende direttamente dalle limitazioni che si impongono sulle immagini di input e sullo spazio di ricerca.
I vincoli sulle immagini possono includere formati predefiniti, sfondi che semplificano la suddivisione dell'immagine in componenti elementari (segmentazione) e controlli di qualità dell'immagine.
I vincoli sulle basi di dati possono includere limiti geografici e limiti su attributi legati all'immagine (descrittori). In generale il riconoscimento del volto richiede che il sistema fornisca in output un insieme di immagini rappresentanti il soggetto identificato.
Se il sistema non è in grado di fornire queste immagini allora il soggetto "non è riconosciuto". L’ individuazione di immagini simili a quelle descritte da una persona richiede che il concetto di similarità utilizzato dal sistema sia il più possibile corrispondente a quello comune dell'uomo.
Definizione del Problema
Attraverso alcuni criteri è possibile tentare di classificare i problemi di riconoscimento automatico. L'acquisizione del volto può essere eseguita sia su una sequenza di fotogrammi, che da una immagine fissa: secondo questa distinzione i problemi si dividono in "riconoscimento statico" e "riconoscimento dinamico".
Il riconoscimento statico è caratterizzato da una buona qualità dell'immagine dove solitamente lo sfondo e l'illuminazione sono controllati.
Inoltre, nei casi di foto relative a documenti, come patenti o passaporti si ha una buona cura nella posa del soggetto che è spesso frontale e senza particolari espressioni.
Per tale motivo il problema di localizzare ed isolare il volto è relativamente semplice; le problematiche esistenti consistono nel mantenere una buona precisione anche per archivi di grandi dimensioni.
Il riconoscimento dinamico presenta invece sfondi e pose irregolari: talvolta questa difficoltà è in parte compensata dalla disponibilità di una sequenza di fotogrammi
Immagine contenente un numero di volti tra cui quello da individuare
Una ulteriore distinzione la si può fare tra applicazioni che richiedono ricerche di somiglianza: si parlerà così di sistemi che svolgono confronti esatti (exact matching) e sistemi che si basano su un concetto di somiglianza.
In generale il processo di riconoscimento può essere scomposto in quattro fasi :
1. Fase di pre-elaborazione: consiste nel garantire che l'immagine cui viene applicato il processo di riconoscimento soddisfi alcuni standard richiesti: ad esempio che il volto sia situato al centro dell' immagine e costituisca buona parte della stessa; che lo sfondo soddisfi certi vincoli, e così via.
Solitamente questa fase è svolta dalle apparecchiature atte al prelevamento dell'immagine, tramite meccanismi che tendono ad impedire all'utente di fornire immagini distorte: un esempio possono essere i sensori che permettono di acquisire l'immagine solo quando il soggetto si trovi ad una distanza accettabile.
2. Fase di segmentazione o localizzazione : consiste nella esatta localizzazione del volto o di alcune parti che lo compongono. Questa fase nasce dall'esigenza di caratterizzare, attraverso alcuni tratti caratteristici (occhi, naso, ecc.), la faccia di un soggetto.
Le maggiori difficoltà nascono proprio dal fatto che le caratteristiche dell'immagine e del soggetto ripreso dipendono da un insieme di fattori:
a) difficoltà nel definire matematicamente e geometricamente cosa è una faccia: non è ancora stata data una definizione formale di cosa sia un volto, non esiste quindi un formalismo che possa indicare la strada per determinare un dato oggetto all'interno dell'immagine;
b) la distanza del soggetto dalla telecamera: la distanza dalla telecamera di un soggetto influisce decisamente sulle prestazioni del sistema di localizzazione;
c) le condizioni di illuminazione: un'immagine è strettamente influenzata dal tipo di illuminazione; se la luce è proiettata in modo uniforme tutte le parti del volto sono poste in risalto, ma se la luce non è uniforme un'immagine in cui i particolari sono poco distinguibili;
d) l'allineamento del volto con l'asse della verticale: la faccia nell'immagine può essere ruotata rispetto all'asse verticale; il sistema deve quindi essere in grado di riconoscere la rotazione ed anche di normalizzare la posizione riportandola nella direzione verticale;
e) lo sfondo dell'immagine: lo sfondo è uno dei fattori che maggiormente influenza la complessità della ricerca nell'immagine, infatti uno sfondo uniforme rappresenta una zona dell' immagine che è semplice da escludere dalla ricerca del volto, al contrario se lo sfondo è complesso o casuale l'intera area dell'immagine deve essere attentamente analizzata.
3. Fase di estrazione dei particolari : è forse il cuore di tutto il processo di riconoscimento del volto. Un particolare è una caratteristica utile per distinguere un volto da un altro; può essere estratto dall'immagine tramite processi di varia natura. Solitamente più elevato è il numero di particolari estratti, più alta è la capacità di discernimento tra facce simili. Alcuni particolari interessanti sono, ad esempio, il colore degli occhi o dei capelli, la forma del naso o della bocca. Questi particolari vengono solitamente detti locali perché dipendono da e si riferiscono a una zona particolare e ristretta dell'immagine.
4. Fase di riconoscimento : una volta che all'immagine è stato associato un vettore di valori, il problema del riconoscimento si riduce a problemi già ampiamente studiati in letteratura: la parte caratteristica di questi sistemi concerne dunque principalmente la modalità di estrazione dei particolari
Estrazione di caratteristiche e Riconoscimento
L'estrazione dei particolari locali è forse il metodo più immediato di elaborazione dell'immagine di un volto umano: l'osservazione di caratteristiche quali colore degli occhi e dei capelli, la carnagione ed altre simili, è la maniera più naturale con la quale l'uomo è abituato a descrivere il volto di un suo simile.
Questo spiega il perché i primi algoritmi sviluppati per l'estrazione di particolari da un'immagine di un volto cercano di emulare questo comportamento umano.
Analizziamo, anche qui, molto brevemente i vari metodi:
-
Sakai - ed altri, utilizzano un'immagine digitalizzata a 8 livelli di grigio. Una griglia 3x3 viene utilizzata per determinare i pixel con la massima intensità in modo da ridurre l'informazione all'essenziale. Questi pixel vengono collegati con segmenti seguendo una sagoma predefinita per definire il contorno del volto.
- Reisfeld e Yeshurun - descrivono un operatore simmetrico generalizzato da applicare sull'immagine in modo da localizzare gli occhi e la bocca all'interno del viso. La motivazione dell'approccio risiede nella natura simmetrica del volto lungo la linea verticale che passa per il naso. L'operatore applicato determina i punti nell'immagine a cui corrisponde un alto grado di simmetria.
Grazie a questo operatore la ricerca dei particolari locali di un'immagine riporta una frequenza di successi del 95%, e all'interno dell' immagine e del suo orientamento: ancora una volta l'algoritmo proposto risulta però computazionalmente intenso.
Gran parte degli studi sulla estrazione dei particolari si basano su conoscenze specifiche riguardanti ogni singolo particolare. Con tali approcci si tenta di costruire un modello parametrico (expert o template) per ogni particolare ricercato: recentemente ne è stato sviluppato uno per l'occhio umano che contiene 11 parametri variabili.
Il Riconoscimento si compone di tre fasi in cui si può scomporre il problema :
- decidere su quali particolari effettuare il riconoscimento (decidere con quali parametri caratterizzare un volto);
- estrarre automaticamente i parametri scelti dall'immagine digitalizzata di un volto;
- classificare sulla base dei dati acquisiti i volti considerati.
Un metodo molto utilizzato per caratterizzare un volto umano è la parametrizzazione geometrica, ovvero la misura di distanze e angoli tra punti fissi come le estremità degli occhi, del naso o la punta del mento.
Un algoritmo di questo tipo, proposto da Kanade, si compone di due fasi: la prima, dopo una localizzazione approssimata dei particolari, effettua una ricerca locale più raffinata; in seguito vengono effettuate 16 misurazioni di angoli, distanze e aree, che vanno a costituire il vettore dei dati così ottenuti viene normalizzato rispetto alla lunghezza del naso.
Una volta estratti tutti i vettori caratteristici della foto a disposizione è possibile definire un classificatore che utilizza una semplice distanza fra i vettori come criterio di classificazione.
Il problema maggiore che si incontra in questo tipo di applicazioni è la dimensione di memoria secondaria richiesta dalle misure estratte da ogni foto nel caso di archivi di grandi popolazioni.
Un interessante studio è stato svolto al fine di comprendere meglio quali siano le caratteristiche peculiari del riconoscimento del volto rispetto ad altri problemi di riconoscimento. Per quanto riguarda i particolari locali è emerso che la regione degli occhi e quella della bocca sono le regioni più importanti al fine del riconoscimento e tra queste due la più importante rimane quella degli occhi. Ciò permette di stabilire una gerarchia di valori fra particolari locali che non si può ignorare in fase di riconoscimento trattando ogni particolare con lo stesso "peso".
Criteri generali di valutazione delle applicazioni
Il principale problema per la valutazione di sistemi biometrici di riconoscimento è la necessità di compiere gli esperimenti su basi di dati estese. E' inoltre importante che le immagini di esempio siano il più possibile simili in senso statistico alle immagini che saranno trattate nell'applicazione. Il metodo di valutazione dovrebbe riflettere i costi, o altri aspetti assimilabili, causati da un errato riconoscimento. Il sistema dovrebbe, inoltre, dare una risposta del tipo "non riesco a riconoscere l'immagine" in quanto è errato forzare sempre il riconoscimento.
Il problema del riconoscimento del volto è diverso da altri sistemi di riconoscimento biometrici (come ad esempio quelli basati su impronte digitali) in quanto vi sono volti oggettivamente simili che anche un osservatore umano non riesce a discriminare. Bisogna quindi che il sistema fornisca in output una lista possibilmente corta di volti candidati alla corrispondenza con il volto in input.
Chiaramente più la lista è lunga e più è alta la possibilità che l'eventuale operatore umano si sbagli nel dare la risposta corretta. Se il sistema non è assistito da un operatore è necessario minimizzare all'ottimo la somma di FAR (1) e FRR.(2)
Esistono casi in cui è preferibile ridurre al minimo possibile l'indice FAR sacrificando un piccolo aumento di FRR
Nella valutazione di questi sistemi molto spesso sono stati utilizzati set di dati molto "puliti" e poco realistici.
Viene raccomandato quindi l'utilizzo di basi di dati di immagini reali per la valutazione del sistema di riconoscimento in modo da aumentare la robustezza del sistema.
(1) FAR (Falsa Rejecton Rate) Percentuale di falsi rifiuti,cioè la percentuale di utenti autorizzati ed erroneamente respinti.Corrisponde alla probabilità di non riconoscere chi è autorizzato.
(2) FRR (False Acceptance Rate) : Percentuale di false accettazioni , ossia la percentuale di utenti non autorizzati ed erroneamente accettati. Corrisponde alla probabilità di accettare chi non è autorizzato.