Vous êtes sur la page 1sur 49

` UNIVERSITA DEGLI STUDI DI TRIESTE ` FACOLTA DI INGEGNERIA Dipartimento di Ingegneria Industriale e dellInformazione

Tesi di Laurea Triennale in INGEGNERIA INFORMATICA

BIOMETRIA MULTIMODALE PER ACCESSO SICURO AD INFORMAZIONI SENSIBILI

Laureando:

Relatore:

Enrico PELIZZON

Prof. Ing. Enzo MUMOLO

Anno Accademico 2010/2011

Ai miei genitori

Indice
Introduzione 1 La biometria multimodale 2 Strumenti utilizzati 2.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 2.1.2 2.2 Scheda audio USB . . . . . . . . . . . . . . . . . . . . TS-7800 . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 8 8 8 9 10 10 10 11 12 15 17 17 17 19 19 21 22 23 25

Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 2.2.2 2.2.3 Cross-compilatore . . . . . . . . . . . . . . . . . . . . Autenticazione vocale . . . . . . . . . . . . . . . . . . Software vario . . . . . . . . . . . . . . . . . . . . . .

3 Biometria basata sulla voce 4 Biometria delle impronte digitali 5 Algoritmi di fusione 5.1 Livelli di fusione e architetture . . . . . . . . . . . . . . . . . 5.1.1 5.2 Fusione a livello di matching score . . . . . . . . . . .

Combinazione tra biometrie basata sulla logica Fuzzy . . . . . 5.2.1 5.2.2 5.2.3 5.2.4 La Logica Fuzzy . . . . . . . . . . . . . . . . . . . . . Sistemi fuzzy . . . . . . . . . . . . . . . . . . . . . . . Struttura generale di un sistema fuzzy . . . . . . . . . Denizione di un sistema fuzzy . . . . . . . . . . . . .

5.3

Il metodo fuzzy realizzato . . . . . . . . . . . . . . . . . . . . i

INDICE 5.3.1 5.3.2 5.3.3 Insiemi fuzzy . . . . . . . . . . . . . . . . . . . . . . . Insieme di regole . . . . . . . . . . . . . . . . . . . . . Funzione di integrazione nonlineare ottenuta . . . . .

ii 26 27 27 29 29 29 31 31 31 32 33 34 34 34 35 36 36 37 38 40 43 44 45

6 Implementazione in ambiente PC 6.1 6.2 SPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ALIZE e LIA RAL . . . . . . . . . . . . . . . . . . . . . . . .

7 Implementazione in ambiente ARM 7.1 Modica del software della scheda ARM . . . . . . . . . . . . 7.1.1 7.1.2 7.2 7.3 7.4 Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . Creazione memory card . . . . . . . . . . . . . . . . .

Alsa-lib e amixer . . . . . . . . . . . . . . . . . . . . . . . . . SoX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmi per lidenticazione vocale . . . . . . . . . . . . . 7.4.1 7.4.2 SPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . ALIZE e LIA RAL . . . . . . . . . . . . . . . . . . . .

8 Risultati sperimentali 8.1 Sistema di autenticazione vocale . . . . . . . . . . . . . . . . 8.1.1 8.1.2 8.2 Training . . . . . . . . . . . . . . . . . . . . . . . . . . Test . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Sistema dopo la fusione . . . . . . . . . . . . . . . . . . . . .

9 Conclusioni Elenco delle gure Bibliograa

Introduzione
La crescente richiesta di servizi resi attraverso reti telematiche ha reso sempre pi` attuale e pressante la necessit` di garantire la sicurezza nel trattau a mento e nella trasmissione dei dati. Mentre si sono sviluppate molte risorse e sforzi nello sviluppo di strumenti per la rma digitale, lanello debole in tutti i sistemi di sicurezza ` lautenticazione, ovvero la verica dellidentit` e a personale di colui che accede al sistema. La biometria fornisce una risposta ecace al requisito dellautenticazione, provvedendo delle metodologie per riconoscere lidentit` personale sulla base di caratteristiche siche dellutena te. I vantaggi sono numerosi: si evita luso del PIN e password che possono possono essere sottratti, ceduti, dimenticati o smarriti, si pu` variare la tolo leranza del sistema verso falsi allarmi sulla base dei requisiti di sicurezza, ` e estremamente dicile contraare i dati per laccesso. Le applicazioni potenziali di queste tecnologie sono molteplici e spaziano dal controllo accessi a quello delle presenze, dalla sorveglianza automatica alla protezione di risorse di valore, dalla sicurezza di reti di calcolatori alle transazioni sicure in Internet. La verica degli accessi ai servizi informatici e la sorveglianza ambientale sono attualmente fra i campi applicativi pi` u promettenti per queste nuove tecnologie. La biometria si propone di denire delle misure di caratteristiche umane invarianti e degli strumenti per eettuare delle stime di tali misure per consentire la verica dellidentit`. a Esitono molte misure biometriche attualmente in fase di studio: le impronte digitali, le caratteristiche del parlato, le caratteristiche del volto, la geometria della mano, la struttura delliride, la struttura della retina, la postura del corpo e altri ancora. Un sistema di riconoscimento biometrico si propone quindi di riconoscere (confronto di 1 a N) ovvero di autenticare (confronto di 1 a 1) lidentit` di una persona per accedere a determinate risorse. a Per eettuare il riconoscimento ovvero lautenticazione ` necessario denire e quali caratteristiche estrarre dai dati biometrici acquisiti (per esempio da unimpronta digitale o dal parlato), e come elaborarle per estrarre uno o pi` u parametri che siano caratteristici della persona in esame. Obiettivo di questa tesi ` la denizione di un sistema di riconoscimento e biometrico multimodale usando la verica della voce e la verica delle im1

INDICE

pronte digitali. Una prima implementazione verr` fatta in ambiente PC e a verr` fatta anche una implementazione in tempo reale su una architettura a ARM della verica dellidentit` utilizzando la voce. a Per il raggiungimento degli obiettivi questa tesi sar` strutturata in tre fasi a volte al raggiungimento di obiettivi specici: - Per la prima fase verr` messo a punto un sistema che eettua la verica a dellidentit` utilizzando la voce. La parte riguardante le impronte digitali a verr` messa a punto in unaltra tesi. Inoltre verr` avviata lacquisizione di a a un database biometrico multimodale per il test degli algoritmi. - Per la seconda fase verr` proposto un algoritmo per la fusione multi-modale a delle due biometrie considerate. - Per la terza fase della tesi verr` realizzato un dimostratore in tempo reale su a architettura ARM dellalgoritmo di verica dellidentit` mediante parlato. a Questa tesi ` stata strutturata nel seguente modo. Il Capitolo 1 descrive in e generale la biometria multimodale. Il Capitolo 2 descrive gli strumenti hardware utilizzati, cio` la scheda con il processore ARM con i relativi strumenti e software collegati. I Capitoli 3 e 4 descrivono gli algoritmi di elaborazione vocale per la verica biometrica e per la verica con le impronte digitali. Il Capitolo 5 tratta il problema della fusione sensoriale. I Capitoli 6 e 7 descrivono limplementazione in ambiente PC e su scheda ARM rispettivamente. Il Capitolo 8 riporta i risultati sperimentali. Nel Capitolo 9, inne, sono state riportate alcune considerazioni conclusive.

Capitolo 1

La biometria multimodale
Con il termine biometria si intende la scienza che ha come oggetto di studio la misurazione delle variabili siologiche o comportamentali tipiche degli organismi, attraverso metodologie matematiche e statistiche. Il campo di applicazione principale della biometria ` quello dellidenticae zione e autenticazione degli individui, anche se ` possibile riscontrare delle e applicazioni anche in campi dierenti, quali ad esempio medicina e farmacia. I modi di funzionamento di un sistema biometrico sono sostanzialmente due, riconoscimento e verica. Nel primo caso il problema che ci si pone ` quello di scegliere lidentit` e a corretta di una persona avendo a disposizione un database contenente le informazioni relative a un determinato numero di persone. (Figura 1.1)

Figura 1.1: Processo di riconoscimento Nel secondo caso, invece, si ` interessati a confermare lidentit` dichiarata e a da una persona. (Figura 3.3) In questa tesi lattenzione ` posta sul secondo caso, quello della verica e biometrica. In entrambi i casi, il sistema comprende due diverse modalit` di funzionaa mento. La prima modalit` ` detta di addestramento (o enrollment), durante la ae 3

CAPITOLO 1. LA BIOMETRIA MULTIMODALE

Figura 1.2: Processo di verica quale vengono raccolti ed elaborati i dati relativi alla caratteristica biometrica che si intende utilizzare al ne di creare un modello rappresentativo della persona. La seconda modalit` di funzionamento, invece, ` quella che realizza cona e cretamente il riconoscimento o la verica dellidentit` utilizzando i modelli a creati durante la fase di addestramento. Un sistema biometrico pu` essere sostanzialmente suddiviso in quattro imo portanti componenti (o moduli): Modulo di acquisizione: Ha il compito di rilevare, utilizzando appositi sensori, le informazioni relative alla caratteristica biometrica considerata. Modulo di estrazione dei parametri: Estrae, a partire dai dati precedentemente acquisti, una serie di parametri caratteristici dellinformazione biometrica. Modulo di confronto: Confronta i parametri precedentemente calcolati con i modelli posseduti dal sistema producendo un risultato, detto score. Modulo di decisione: Stabilisce lidentit` o autorizza la persona a basandosi sullo score ottenuto. Le performance di un sistema biometrico possono essere valutate attraverso due parametri caratteristici, il numero dei falsi positivi (FAR) e il numero dei falsi negativi (FRR). Facendo variare la soglia di accettazione con cui viene confrontato lo score ottenuto ` possibile ottenere diversi valori dei e fattori FAR e FRR. Riportando in un graco, detto DET (Detection Error Trade-o), entrambe le grandezze, ` possibile osservare la relazione che intercorre tra le stesse e facendo variare il livello di soglia. Il punto del graco in cui FRR e FAR si equivalgono ` detto Equal Error Rate (ERR). Valori bassi dellERR portano e a considerare il sistema pi` accurato rispetto al caso di valori elevati. u Lidenticazione e lautenticazione delle persone rivestono un ruolo importante quando si ha a che fare con informazioni sensibili. Le caratteristi-

CAPITOLO 1. LA BIOMETRIA MULTIMODALE

che biometriche che si intendono utilizzare devono quindi possedere alcune caratteristiche fondamentali: Robustezza: La caratteristica si deve preservare nel tempo. Unicit`: La variabilit` della caratteristica deve essere elevata allina a terno della popolazione. Universalit`: Ogni persona, in linea teorica, deve essere in possesso a di tale caratteristica. Accessibilit`: La caratteristica deve poter essere acquisita in modo a semplice. ` E possibile riscontrare dei problemi nellutilizzo di una sola caratteristica biometrica dovuti al fatto che, nella pratica, nessuna caratteristica biometrica risponde completamente alle propriet` esposte. Si consideri, ad esema pio, il caso di piccole ferite o tagli, presenti sui polpastrelli, che potrebbero comportare un risultato che non coincide con le aspettative. Ulteriori problemi dipendono dalle caratteristiche tecniche degli strumenti utilizzati per lacquisizione e lelaborazione dei dati e dalleventualit` che, a al momento dellacquisizione dei dati, si presentino dei disturbi, dovuti ad agenti esterni, non completamente controllabili. Un ultimo problema che ` opportuno prendere in cosiderazione riguarda gli e attacchi al sistema che potrebbero essere messi in atto da individui malintenzionati. Ci` diviene di particolare importanza quando il sistema ` messo o e a protezione di dati ed informazioni particolarmente sensibili e di valore elevato. La soluzione che ` possibile attuare per cercare di risolvere (almeno in parte) e questi problemi ` rappresentata dalla fusione di pi` informazioni biometrie u che. Ci si riferisce a questa soluzione utilizzando il termine biometria multimodale. Le informazioni utilizzate possono fare riferimento sia ad una singola caratteristica biometrica sia a diverse caratteristiche biometriche. A seconda delle informazioni biometriche utilizzate, ` possibile individuare i seguenti e scenari di fusione: Singola biometria, sensori multipli: Vengono utilizzati diversi sensori, generalmente con caratteristiche diverse, per acquisire la stessa caratteristica biometrica. Biometria multipla: Vengono utilizzate due caratteristiche biometriche diverse. (e.g. voce e impronte digitali)

CAPITOLO 1. LA BIOMETRIA MULTIMODALE

Singola biometria, acquisizioni multiple: La caratteristica biometrica viene acquisita diverse volte. Singola biometria, unit` multiple: Vengono utilizzati due elea menti appartenenti alla stessa caratteristica biometrica. (e.g. impronte relative a due dita diverse) Singola biometria, confronto multiplo: Si utilizzano diverse modalit` di confronto utilizzando le stesse informazioni biometriche. a Utilizzando la separazione in moduli precedentemente formalizzata, ` possie bile individuare tre tipi di fusione: 1. Fusione a livello di estrazione dei parametri: I parametri relativi alle singole informazioni biometriche vengono estratti separatamente e sono fusi in ununica entit` che verr` utilizzata dal sistema a a nei moduli successivi. (Figura 1.3)

Figura 1.3: Fusione a livello di estrazione dei parametri 2. Fusione a livello di confronto: I risultati di somiglianza con i template presenti allinterno del sistema sono calcolati singolarmente per ogni informazione biometrica. Successivamente avviene la fusione porta alla generazione di un risultato unico che sar` utilizzato dal a modulo di decisione. (Figur1 1.4)

Figura 1.4: Fusione a livello di confronto

CAPITOLO 1. LA BIOMETRIA MULTIMODALE

3. Fusione a livello di decisione: In questo caso ci` che viene fuso o sono le singole decisioni calcolate separatamente per ogni informazione biometrica. La fusione ha come risultato la decisione nale del sistema. (Figura 1.5)

Figura 1.5: Fusione a livello di decisione

Nel nostro caso specico, quello che si vuole realizzare ` un sistema multie modale che realizza la fusione a livello di confronto degli score ottenuti da un sistema biometrico che fa uso delle impronte vocali e da un sistema che utilizza le impronte digitali.

Capitolo 2

Strumenti utilizzati
2.1 Hardware

La scheda ARM utilizzata ` il modello TS-7800 prodotto dalla Technologic e Systems. Bench sia possibile eseguire le fasi di porting e di sviluppo delle varie applie cazioni direttamente sulla scheda ARM, si ` scelto di utilizzare un computer e host, basato sullarchitettura x86, per la compilazione e il test degli stessi. La scelta ` dovuta a questioni di comodit` e velocit` di sviluppo. e a a

2.1.1

Scheda audio USB

Figura 2.1: Scheda audio USB Linterazione vocale con la scheda ARM, da parte dellutente, avviene mediante lutilizzo di una scheda audio USB, Aureon Dual USB prodotta dallazienda Terratec.

CAPITOLO 2. STRUMENTI UTILIZZATI

Alla stessa, verr` collegato, attraverso i connettori audio standard da 3.5mm, a un microfono analogico. Di seguito sono riportate le speciche tecniche riferite alla scheda audio: Frequenza massima di campionamento: 48kHz Risoluzione di campionamento: 16bit Ingressi audio: 1 jack da 3.5mm Uscite audio: 1 jack da 3.5mm Compatibile con gli standard USB 1.1/USB 2.0 Bassi consumi Dal sito del produttore (www.terratec.net) ` possibile osservare come, per e il suo funzionamento, non siano necessari driver aggiuntivi. Per i sistemi linux ` suciente abilitare, a livello kernel, il supporto per le schede audio e di tipo USB.

2.1.2

TS-7800

Il modello TS-7800 ` un Single Board Computer (SBC) basato sul processore e Marvell Orion 88F5182, un processore ARM9 funzionante ad una frequenza operativa di 500MHz (con possibilit` di funzionamento a 333MHz attraverso a labilitazione del jumper JP3). La scheda ` dotata di 128MB di ram di tipo DDR e di una memoria ash di e tipo NAND con una capacit` totale di 512MB, espandibile mediante schea de SD e micro-SD, dalle quali ` possibile eettuare il boot di un sistema e precedentemente installato. La comunicazione con la scheda pu` avvenire sia mediante la porta seriale o (utilizzando un cavo seriale di tipo null-modem) sia utilizzando il connettore ethernet (Gigabit Ethernet) presente sulla scheda. Per eettuare la comunicazione utilizzando la porta seriale ` suciente abilie tare il jumper JP2 sulla scheda ed utilizzare il programma Putty scegliendo come parametri: 115200 baud, dati a 8 bit senza parit`, 1 bit di stop. a Mentre, per la comunicazione attraverso cavo ethernet, ` suciente collee garsi allindirizzo IP 192.168.0.50 utilizzando SSH. La scheda presenta inoltre il supporto per il collegamento di un tastierino numerico (porta A/D) e di un display LCD (porta LCD).

CAPITOLO 2. STRUMENTI UTILIZZATI

10

Figura 2.2: Scheda ARM TS-7800

2.2
2.2.1

Software
Cross-compilatore

Anch i programmi possano funzionare in ambiente ARM ` necessario e e che siano compilati mediante lutilizzo di un compilatore che consenta di eettuare il cosiddetto cross-compiling, ovvero la generazione di programma che sia eseguibile da un processore basato su unarchitettura diversa rispetto al programma che esegue il compilatore. Nel nostro caso, il compilatore verr` eseguito su un computer basato sullara chitettura x86, mentre, i programmi generati, funzioneranno sulla scheda, basata sullarchitettura ARM. In particolare, la versione utilizzata si basa sul compilatore GCC, nella versione 3.4.4, ed ` disponibile allindirizzo ftp://ftp.embeddedarm.com/ e ts-arm-sbc/ts-7800-linux/cross-toolchains/.

2.2.2

Autenticazione vocale

Per eettuare lestrazione dei parametri mel-cepstrali relativi ai campioni vocali ` stato utilizzato il programma sfbcep del pacchetto software SPro, e nella sua versione 4.0. Per realizzare lautenticazione vocale si ` deciso di utilizzare gli strumenti e software facenti parte del pacchetto open source denominato Mistral. Il software utilizza ALIZE, una piattaforma software che facilita lo sviluppo di programmi applicativi nel campo dellautenticazione e del riconoscimento

CAPITOLO 2. STRUMENTI UTILIZZATI vocale.

11

Tra i vari software resi disponibili, quelli che sono di nostro interesse sono quelli facenti parte del pacchetto LIA RAL. In particolare, i programmi che saranno utilizzati fanno parte del sottopacchetto LIA SpkDet: EnergyDetector NormFeat TrainWorld TrainTarget ComputeTest

2.2.3

Software vario

Il programma utilizzato per la registrazione dei suoni sulla scheda ARM ` e SoX (Sound eXchange), che, oltre ad essere leggero, consente di eettuare una conversione diretta del rate audio durante lacquisizione. La versione del programma utilizzata ` la 14.3.2, i cui le sorgenti sono disponibili e allindirizzo http://sox.sourceforge.net/. Il sistema operativo presente sulla scheda ARM ` un sistema linux basato e sulla distribuzione Debian, mentre il computer host ` dotato del sistema e operativo Ubuntu 10.04.

Capitolo 3

Biometria basata sulla voce

Figura 3.1: Rappresentazione graca di un segnale vocale La biometria basata sulla voce ha come oggetto di studio lutilizzo delle caratteristiche acustiche proprie dellimpronta vocale di ogni persona per ni di riconoscimento e autenticazione. Le caratteristiche vocali, che si ` visto caratterizzare al meglio le diverse e persone, riettono sia propriet` anatomiche, quali ad esempio la dimensione a e la forma di bocca e gola, sia propriet` comportamentali, come il tono della a voce o la cadenza del parlato. I sistemi di verica vocale si possono suddividere in due gruppi: Text-dependent: In questo caso, le parole che le persone utilizzeranno ` per richiedere la verica della propria identit` sono note a priori. E a questo il caso delle password o delle parole dordine. Text-indipendent: Nel secondo caso, invece, lautenticazione non ` e limitata ad un insieme denito di parole. 12

CAPITOLO 3. BIOMETRIA BASATA SULLA VOCE

13

Lapproccio per la verica verica biometrica basata sullimpronta vocale correntemente pi` utilizzato fa uso di modelli di misture gaussiane (GMM). u Questi modelli vengono creati a partire da una serie di coeecienti melcepstrali, e sono una combinazione di funzioni di probabilit` di tipo gausa siano, ognuna delle quali ` detta componente e viene presa in considerazioe ne con un dierente peso, che permettono di descrivere le caratteristiche dellimpronta vocale. Come per gli altri sistemi di verica biometrica, anche in questo caso si rende necessaria, prima della fase di funzionamento del sistema nale, una fase denominata di traning. In questa fase viene dapprima creato, a partire da una serie di le audio relative a un elevato numero di persone, un modello a misture gaussiane rappresentativo delle persone non autorizzate. Successivamente vengono creati i modelli relativi alle persone che devono essere considerate autorizzate allutilizzo del sistema, uno per ognuna di esse. Per la creazione delle stesse, viene inoltre utilizzato il modello del Mondo creato in precedenza, al ne di adattare i modelli nel caso vengano rilevate delle somiglianze signicative. Ogni persona autorizzata sar`, a questo punto, in possesso del proprio a personale modello, che dovr` utilizzare al momento della richiesta di verica. a Il processo di verica si basa sul calcolo della probabilit` di somiglianza al a modello del Mondo piuttosto che al modello in possesso della persona. Nel nostro caso particolare, alla persona che richiede la verica verr` richiesta a la registrazione di un breve campione vocale, dal quale verranno estratti, e successivamente confrontati con i modelli a disposizione, i relativi coecienti mel-cepstrali. Il risultato della verica ` rappresentato da un numero che esprime il rappore to tra la probabilit` che la persona sia chi dichiara di essere e la probabilit` a a che, al contrario, faccia parte del Mondo. Le performance ottenibili utilizzando sistemi di autenticazione basati sullimpronta vocale risultano essere variabili, in quanto lacquisizione di campioni vocali pu` essere soggetta ad alcuni problemi. o In particolare, i problemi principali sono dovuti a: Condizioni ambientali: Fanno parte di questa categoria tutti i disturbi dovuti alle condizioni esterne rispetto al sistema e al parlatore. Esempi di questo tipo di disturbo sono rumori di sottofondo e il riverbero dovuto alla conformazione degli ambienti interni. Condizioni del parlatore: In questa categoria, invece, ricadono tutti i disturbi dovuti alle condizioni psicosiche della persona che

CAPITOLO 3. BIOMETRIA BASATA SULLA VOCE

14

intende eettuare lautenticazione. Lo stato emotivo e la presenza di malattie, come ad esempio un semplice rareddore, possono modicare in modo signicativo le caratteristiche dellimpronta vocale, rendendo la persona irriconoscibile dal sistema. Lo schema di funzionamento del sistema nel nostro caso ` mostrato nella e Figura 3.2 e nella Figura 3.3.

TrainWorld

Modello Mondo

File Audio

sfbcep

EnergyDetector

NormFeat

TrainTarget

Modello Target

Figura 3.2: Sequenza di training

Modello Mondo

File Audio

sfbcep

EnergyDetector

NormFeat

ComputeTest

Risultato

Modello Target

Figura 3.3: Sequenza di verica Come si evince da entrambe gure, dopo aver ottenuto i coecienti melcepstali (utilizzando il programma sfbcep) ` presente una fase intermedia e che ha lo scopo di eettuare una normalizzazione degli stessi. Il programma EnergyDetector consente, attraverso la rilevazione dellenergia del segnale vocale a partire dai coecienti calcolati in precendenza, di isolare le parti parlate rispetto ai momenti di silenzio. A partire dai risultati del passo precedente, il programma FeatNorm effettua la normalizzazione dei coecienti che verranno quindi utilizzati dai programmi TrainWorld e TrainTarget, nel caso del training, e ComputeTest, nel caso della verica.

Capitolo 4

Biometria delle impronte digitali

Figura 4.1: Scansione di unimpronta digitale La biometria che fa uso delle impronte digitali sfrutta le particolari caratteristiche tipiche dellepidermide di alcune zone del corpo. In particolare, presentano queste caratteristiche, dette dermatogli, i polpastrelli delle dita, le palme delle mani e le piante dei piedi. Per questioni di comodit` relative allacquisizione vengono usualmente utia lizzate solamente i dermatogli relativi ai polpastrelli delle dita. Al lato pratico, un dermatoglifo ` il risultato dellalternarsi di creste, aventi e ampiezze che vanno dai 100 ai 300 micron, e di valli, delle dimensioni di circa 500 micron. Lutilizzo delle impronte digitali a ni identicativi si basa sulle propriet` a di persistenza e di unicit` delle stesse. a Esse, infatti, si formano nel feto al settimo mese di gravidanza e non subisco` no variazioni nel corso della vita. E stato osservato come, anche a seguito di traumi o tagli, le caratteristiche si mantengano inalterate dopo la ricrescita della pelle danneggiata. La seconda propriet`, al contrario, viene ritenuta vera sulla base di risultati a empirici, ma di fatto non ` mai stata provata a livello scientico. e 15

CAPITOLO 4. BIOMETRIA DELLE IMPRONTE DIGITALI

16

Lacquisizione delle immagini relative ai dermatogli ` considerato il pi` e u critico dellinterno di un sistema di autenticazione basato sulle impronte digitali. Le prestazioni nali di un sistema dipendono in larga parte dalla qualit` delle immagini acquisite. a In presenza di sensori di scarsa qualit`, quindi, le prestazioni possono risula tare inadeguate. Le principali tecnologie utilizzate per eettuare lacquisizione dei dettagli relativi ai dermatogli sono di tipo ottico, capacitivo e ad ultrasuoni. Gli algoritmi utilizzati per eettuare lidenticazione possono essere suddivisi concettualmente in due famiglie, a seconda delle caratteristiche delle immagini che utilizzano. La prima famiglia fa uso delle cosiddette minuzie, ovvero specici dettagli delle creste, le informazioni spaziali delle quali vengono rilevate al momento dellacquisizione. Le minuzie vengono classicate a seconda della loro forma:

Figura 4.2: Tipi di minuzie osservabili La seconda famiglia, al contrario, considera le caratteristiche a livello generale delle creste, quali lorientazione, lo spessore o la densit`. a Queste caratteristiche sono dette pattern e, anche in questo caso, ` possibile e eettuare la seguente classicazione generale:

Figura 4.3: Tipi di pattern osservabili

Capitolo 5

Algoritmi di fusione nella biometria multimodale


5.1 Livelli di fusione e architetture

Nella realizzazione di un sistema multibiometrico, devono essere considerati un numero vario di fattori. Questi includono, ad esempio, la scelta del numero di tratti; il livello nel sistema nel quale le informazioni fornite della varie caratteristiche dovrebbero essere integrate, la metodologia adottata per attuare tale combinazione; anche la valutazione del compromesso tra costo e performance del matching rappresenta un parametro di valutazione importante. La scelta del numero di biometrie da integrare ` quasi sempre e guidata dalla natura dellapplicazione, dalloverhead introdotto dalle biometrie multipli (risorse di calcolo e costo, ad esempio) e la correlazione tra le biometrie considerate. Considerando un telefono cellulare dotato di telecamera, ad esempio, pu` sembrare ovvio combinare le caratteristiche di o un volto e impronte digitali di un utente. Una volta ottenuta linformazione delle biometrie componenti il sistema attraverso i sensori dedicati, sorge la necessit` di unire in qualche modo quanto acquisito in una determinaa ta forma allo scopo di ricavare una risposta quanto pi` chiara possibile al u problema dellidenticazione. Tale processo di unione prende il nome di fusione; a seconda di dove si verica, il sistema assume una connotazione architetturale specica e dierente dalle altre. In questa tesi si propone una metodologia di fusione a livello di matching score.

5.1.1

Fusione a livello di matching score

In un sistema multibiometrico costruito con questa architettura, i parametri rappresentativi vengono creati indipendentemente da ogni sensore e succes17

CAPITOLO 5. ALGORITMI DI FUSIONE

18

sivamente confrontati con i template generati nella fase di enrollment, i quali sono memorizzati separatamente per ciascun tratto biometrico. Ogni sottosistema calcola a questo punto il proprio punteggio di similarit`. I a punteggi individuali cos` ottenuti vengono combinati in un punteggio totale (tipicamente uno scalare), che viene inne consegnato al modulo di decisione. Il usso di processo allinterno di un sottosistema ` lo stesso che in un e singolo sistema biometrico, permettendo in tal modo limpiego di algoritmi consolidati sia per lestrazione delle feature che per il matching. I punteggi di similarit` relativi a ciascun sistema unimodale considerato vengono quindi a normalizzati e combinati impiegando una delle seguenti strategie. La pi` semplice forma di combinazione ` la regola della somma, che consiste u e nel considerare la media pesata dei punteggi ottenuti dal riscontro sui singoli sottosistemi. Questa strategia pu` essere applicata adottando pesi uguali per o ogni tratto oppure computando pesi specici per ogni utente. Una estensione della regola della somma ` lanalisi discriminante lineare, e che trasforma i vettori di punteggio N-dimensionali (dove N corrisponde al numero di biometrie impiegate) in un nuovo sottospazio, nel quale la separazione tra le classi di punteggio degli utenti genuini e degli impostori ` massimizzata. I parametri ottimali per questa trasformazione vengono e calcolati anticipatamente basandosi su un determinato training set. Basandosi su dati sperimentali, nora si ` osservato come la regola della somma e raggiunga le migliori prestazioni. Una nuova e pi` importante direzione ` u e rappresentata da una particolare estensione alla regola della somma, un approccio che suggerisce di applicare pesi specici per ogni utente ai tratti individuali in modo da essere combinati impiegando delle soglie, allo scopo di rendere ulteriormente accurata la decisione nale. Unaltra strategia popolare di fusione ` quella a livello di decisione. La fusione a livello di dee cisione rappresenta unarchitettura di sistema piuttosto disaccoppiata, con ogni sottosistema che si comporta esattamente come un singolo sistema biometrico. Sono disponibili varie strategie per combinare le diverse decisioni nella decisione di autenticazione nale. Si spazia dal voto a maggioranza, a sosticati metodi basati su base statistica (come la fusione Bayesiana). Nella pratica, tuttavia, gli sviluppatori sembrano preferire il metodo pi` semplice: u lunione booleana. Le strategie maggiormente utilizzate per quanto concerne questultimo tipo di unione, sono le seguenti: la AND rule richiede una decisione aermativa da parte di tutti i moduli di verica (unanimit`). Un approccio di questo tipo porter` a a ad ottenere un basso livello di falsi positivi, ma aumenter` in maniera a cospicua i false negativi; la OR rule prova ad autenticare lutente impiegando una singola biometria. Nel caso in cui questo fallisca, si tenta lautenticazione con la

CAPITOLO 5. ALGORITMI DI FUSIONE

19

biometria successiva (` suciente una sola risposta aermativa). Una e politica di questo tipo si traduce in un basso FNR (False Negative Rate), in cambio di un alto FPR (False Positive Rate); una regola molto pi` interessante e la cosiddetta random rule, secondo u la quale viene scelto a caso un tratto biometrico dal pool di tratti disponibili. Qualche considerazione, inne, sulla normalizzazione del matching score. I sistemi biometrici multimodali consolidano le prove fornite da diverse sorgenti biometriche e tipicamente di ottengono migliori prestazioni nel riconoscimento rispetto a quelli basati su di una singola caratteristica biometrica. Sebbene la fusione delle informazioni in un sistema multimodale, come analizzato nel paragrafo precedente, possa essere realizzata a vari livelli, lintegrazione al livello di matching score rappresenta lapproccio pi` utilizzato u comunemente, dovuto soprattutto alla facilit` di accesso e combinazione dei a punteggi generati dai dierenti matcher. Siccome loutput dei punteggi di similarit` forniti dai diversi tratti analizzati ` eterogeneo, la normalizzazione a e dei punteggi diventa un fattore necessario al ne di portare questi punteggi in un dominio comune, prima di combinarli.

5.2

Combinazione tra biometrie basata sulla logica Fuzzy

Il metodo di combinazione proposto in questa tesi si basa su alcune regole fuzzy, tramite le quali ` possibile costruire una funzione NonLineare per la e combinazione delle score ottenute dalle diverse biometrie. In questo paragrafo verr` fatta una breve descrizione della logica Fuzzy. In seguito verr` a a denita la funzione NonLineare usata per combinare le varie biometrie.

5.2.1

La Logica Fuzzy

Un sistema di controllo elabora delle informazioni (ottenute classicando le grandezze caratteristiche del sistema controllato) al ne di prendere una decisione riguardante le variabili manipolabili di controllo del sistema. Il controllore pu` essere un algoritmo che determina i comandi di attuazione o in base ai dati sensoriali provenienti dal sistema osservato e ad una descrizione dellevoluzione del sistema fornita da un modello matematico. I modelli matematici, per quanto accurati, non sempre rispecchiano il comportamento reale del sistema, soprattutto quando le informazioni che lo riguardano sono vaghe o incerte a causa del rumore che si sovrappone alle misure. Di conseguenza si rendono necessari limpiego di una strumentazione precisa

CAPITOLO 5. ALGORITMI DI FUSIONE

20

e accurata e il ricorso ad operazioni di precondizonamento dei segnali. I modelli inoltre, possono essere molto complessi e spesso sono non lineari, dicili da stabilizzare. Tutti questi fattori determinano un aumento dei costi sia in termini economici che computazionali. In alternativa, il controllore pu essere un sistema esperto che suddivide le esperienze sensoriali in categorie. A fronte di nuove esperienze, richiamando le precedenti classicazioni, in grado di riconoscere situazioni analoghe a quelle gi sperimentate e di dedurre le azioni da intraprendere. In base a regole del tipo IF [antecedente] THEN [conseguente] , il sistema esperto confronta linformazione ricevuta in ingresso con le classi descritte nella parte antecedente delle regole. Se linformazione trova riscontro in una delle classi, viene attivata la regola corrispondente: la parte conseguente della regola determina lazione da intraprendere. Le regole, che costituiscono la base di conoscenza dellesperto, sono la sintesi di quanto appreso dal comportamento del sistema da controllare nelle fasi di studio e progetto. Possono essere anche ricavate da una serie di dati campione ottenuti da misure eettuate su sistemi analoghi a quello considerato, oppure da una descrizione verbale del suo funzionamento fornita da un esperto umano. Si pu` osservare che parte delle parole di un linguaggio naturale fa riferimeno to a classi. Da un punto di vista logico-matematico le classi sono insiemi. Un oggetto delluniverso del discorso in una logica di tipo binario o risponde ad una certa caratteristica e quindi appartiene allinsieme degli oggetti da essa accomunati oppure non vi appartiene. Un sistema di controllo che si basi su un criterio di classicazione cos` netto pu` intraprendere unazione o erronea se la misura di cui dispone ` aetta da incertezza. Non sempre si ` e e in grado di misurare lentit` del rumore che si sovrappone al segnale misua rato e quindi ` necessario cautelarsi aumentando la granularit` degli insiemi e a di classicazione senza tuttavia risolvere i casi in cui un dato, pur essendo stato attribuito ad un certo insieme, potrebbe in realt` appartenere ad un a insieme diverso e dare luogo, di conseguenza, ad una azione indesiderata. La teoria degli insiemi fuzzy fornisce gli strumenti matematici necessari ad eseguire gli schemi del ragionamento approssimato basato su regole, quando le informazioni a disposizione sono incerte, incomplete, imprecise o vaghe. La funzione di appartenenza (o membership function) [8], utilizzata per denire un insieme fuzzy, consente di esprimere in forma matematica le variabili linguistiche di un linguaggio come quello umano, che ` intrinsecamente e impreciso. Se ` dato un insieme di oggetti U , detto universo del discorso, e si considera e un suo generico elemento u, un insieme fuzzy A nelluniverso U ` carattee rizzato da coppie ordinate (u, A (u)) dove A (u) ` la funzione a valori reali e A : U [0, 1] detta funzione di appartenenza.

CAPITOLO 5. ALGORITMI DI FUSIONE

21

Il valore assunto dalla funzione di appartenenza di un insieme fuzzy per un dato elemento, esprime il grado di appartenenza dellelemento allinsieme. Lo stesso elemento pu` appartenere ad un altro insieme fuzzy con un grado o di appartenenza diverso. La logica fuzzy fa ricorso a variabili linguistiche, come ad esempio veloce, lento, lontano, vicino, che non qualicano in maniera esatta una grandezza. Gli insiemi fuzzy sono lespressione matematica delle variabili linguistiche: il grado di appartenenza di un dato allinsieme fuzzy rappresenta lanit` a del dato al signicato della variabile linguistica. Ad esempio si deniscono le variabili linguistiche Alta, Media e Bassa riferite alle possibili temperature di una stanza giudicate da un gruppo di persone. Una temperatura di 22 gradi pu` essere considerata sia media che alta, con un certo grado di veridicit` per o a entrambi gli attibuti, a seconda della sensibilit` dei singoli, ma dicilmente a qualcuno aermer` in modo categorico che si tratta di una temperatura a Media o Alta. Le funzioni di appartenenza che deniscono gli insiemi fuzzy hanno la caratteristica comune di essere monotone negli intervalli esterni a quelli che comprendono lelemento o gli elementi con grado di appartenenza massimo. Nellambito dei sistemi di controllo, le funzioni maggiormente impiegate sono quelle di forma triangolare e trapezoidale. I loro parametri di denizione occupano poco spazio di memoria, si possono calcolare rapidamente e in modo preciso e, quindi, sono adatte per la realizzazione di applicazioni in tempo reale.

5.2.2

Sistemi fuzzy

Si distinguono due tipi principali di sistemi fuzzy: il modello Mamdani il modello Takagi-Sugeno I sistemi in logica fuzzy basati sul modello Mamdani sono sistemi di regole del tipo: Rk : IF (x1 is Ak1 ) AND ( x2 is Ak2 ) THEN (uj is Fkj ) La parte antecedente delle regole ` la composizione, mediante gli operatoe ri logici AND, OR e NOT di proposizioni xi is Aki , dove xi ` il valore e misurato dellingresso i-esimo, mentre Aki ` linsieme fuzzy tra quelli in e cui la variabile relativa allingresso i-esimo ` stata suddivisa che determina e lattivazione della regola. La parte conseguente della regola ` a sua volta e costituita da proposizioni uj is Fkj che descrivono a quale insieme fuzzy

CAPITOLO 5. ALGORITMI DI FUSIONE

22

(tra quelli in cui stata suddivisa) appartiene la variabile duscita uj quando gli ingressi xi attivano la k-esima regola. I sistemi modello Takagi-Sugeno sono basati su regole del tipo: Rk : IF (x1 is Ak1 ) AND ( x2 is Ak2 ) THEN uj = fk (x1 , x2 xn ) Le parti conseguenti sono funzioni fk () dei valori xi osservati delle variabili di ingresso. Gli insiemi fuzzy Aki di una regola rappresentano un particolare regime di funzionamento del sistema, mentre la funzione fk () descrive, in forma analitica, la dinamica del sistema durante tale regime. Le funzioni solitamente utilizzate sono lineari, quadratiche e trigonometriche. I loro parametri possono essere scelti con le tecniche dei minimi quadrati a partire da misure delle grandezze caratteristiche del sistema ottenute per vari regimi di funzionamento. In generale i sistemi fuzzy possono essere visti come degli approssimatori universali di una legge di controllo che lega gli ingressi e le uscite di un sistema. Il teorema di Stone-Weierstra aerma che una funzione continua pu` essere approssimata con qualsiasi livello di accuratezza mediante una o opportuna scelta di insiemi fuzzy di ingresso-uscita e di regole che soddisno le condizioni del teorema. Si tratta solo di un teorema di esistenza che non fornisce indicazioni sui parametri degli insiemi e sulle regole da adottare per approssimare la legge di controllo.

5.2.3

Struttura generale di un sistema fuzzy

Un sistema fuzzy (Fig. 5.1) ` suddiviso, da un punto di vista funzionale, in e tre moduli: fuzzicazione inferenza defuzzicazione Nella fase di fuzzicazione, per ogni regola Rk si determina il grado di appartenenza di ogni ingresso misurato xi allinsieme fuzzy Aki della proposizione xi is Aki . Gli insiemi Aki vengono modicati in base a questo valore. Tramite gli operatori deniti per i connettivi logici AND e OR (rispettivamente una norma T e una conorma T [8]) si combinano gli insiemi di ciascuna regola. Il risultato di questultima operazione rappresenta il grado di attivazione della k-esima regola che pu essere visto come il livello di considerazione che la regola deve avere nel decidere quale azione intraprendere per una particolare congurazione degli ingressi.

CAPITOLO 5. ALGORITMI DI FUSIONE

23

Nel modello di Mamdani, linferenza consiste nel modicare per ogni regola Rk linsieme fuzzy Fkj , denito nella proposizione uj is Fkj , in base al grado di attivazione della regola. Gli insiemi duscita modicati - uno per ciascuna regola - vengono successivamente aggregati in un unico insieme fuzzy che rappresenta il valore linguistico delluscita per la specica congurazione degli ingressi. Inne con loperazione di defuzzicazione si produce, dallinsieme fuzzy ottenuto per aggregazione, il segnale di controllo conseguente ai valori di ingresso. Solitamente vengono utilizzati i seguenti metodi di defuzzicazione: Media dei massimi Media pesata dei centri Metodo del baricento Centro delle somme. Essi operano sulla funzione che descrive linsieme fuzzy delluscita ottenuto in seguito allinferenza e restituiscono il valore pi signicativo dellascissa, che il valore assunto dalluscita del sistema. La scelta del metodo di defuzzicazione deve essere eettuata tenendo conto di come esso risponde ai requisiti di funzionamento del sistema. Se una piccola variazione del valore degli ingressi non deve portare ad uneccessiva variazione delluscita defuzzicata, il metodo della media dei massimi ` inae deguato. I metodi della media dei massimi e della media pesata sono i meno costosi in termini di complessit` computazionale. I metodi del baricentro e a del centro delle somme pesate sono pi` accurati, ma richiedono una maggior u mole di calcoli. Nel modello di Takagi-Sugeno, la defuzzicazione non ` necessaria: luscita e ` la somma dei valori delle funzioni duscita delle regole, pesati dai gradi di e attivazione delle stesse, divisa per la somma dei gradi di attivazione: u(x) =
r k=1 k (x)fk (x)

r k=1 k )

x: congurazione degli ingressi k : grado di attivazione della k-esima regola

5.2.4

Denizione di un sistema fuzzy

La forma delle funzioni di appartenenza, il numero delle regole, la molteplicit` delle proposizioni antecedenti e conseguenti deniscono la struttura del a

CAPITOLO 5. ALGORITMI DI FUSIONE

24

Ingressi
Fuzzificazione

Insiemi Fuzzy

Inferenza

Regole Fuzzy

Defuzzificazione

Uscite
Figura 5.1: Struttura di un sistema fuzzy modello fuzzy. La denizione della struttura determina la essibilit dellalgoritmo nellapprossimazione di un sistema, mentre la taratura dei parametri consente di migliorare laderenza ai dati reali. Nel denire la struttura si devono considerare le seguenti scelte [7]: Variabili di ingresso e uscita: la scelta guidata dalla conoscenza pregressa del sistema e dallo scopo dellalgoritmo. Numero e forma delle funzioni di appartenenza: un numero elevato di insiemi fuzzy migliora laccuratezza dellalgoritmo a scapito di un maggior consumo di risorse di calcolo. In genere si sceglie un numero dispari di insiemi fuzzy per ciascuna variabile, in modo da ottenere una simmetria rispetto ad una classe centrale; spesso le due classi estreme sono costituite da trapezi rettangoli che, nel caso delle variabili di uscita, non devono essere troppo estesi anch lalgoritmo non divenga e insensibile. Inne, ci deve essere una suciente sovrapposizione tra coppie di insiemi adiacenti per sfruttare meglio le caratteristiche di ` approssimazione dellalgoritmo fuzzy in presenza di dati incerti. E opportuno che la sovrapposizione non riguardi pi di due classi e che non si prolunghi oltre il valore con grado di appartenenza massimo della classe adiacente. Struttura delle regole: la denizione delle regole ` determinata dalle e conoscenze disponibili e dal grado di accuratezza e essibilit` che si a richiedono allalgoritmo. In linea di principio per un sistema fuzzy con n ingressi, m insiemi fuzzy per ciascuno di essi e l uscite, potrebbero essere potenzialmente denite mn l regole che, in generale, non sono tutte necessarie per gli scopi desiderati.

CAPITOLO 5. ALGORITMI DI FUSIONE

25

Meccanismo di inferenza, operatori logici, tipo di defuzzicazione: i modelli Takagi-Sugeno possono essere visti come degli approssimatori lineari a tratti con parametri che dipendono dagli ingressi, e si prestano ad approssimare leggi di controllo ottenute mediante misure, con regole ricavate utilizzando metodi di identicazione del sistema quali il fuzzy clustering dei dati, oppure ricorrendo alla linearizzazione di Lyapunov nellintorno di determinati punti di lavoro [9]. I modelli Mamdani si prestano ai casi in cui la stategia di controllo del sistema ` di tipo euristico e imita le conoscenze di un operatore umano e le e uscite possono essere descritte con attributi linguistici. Se si desidera implementare metodi di ottimizzazione o autoapprendimento basati sui dati, ` opportuno ricorrere ad operatori logici (norme e conorme e T) dierenziabili quali il prodotto e la somma. Taratura dei parametri : tra le diverse metodologie proposte per la taratura delle regole e delle funzioni di appartenenza sono da segnalare i metodi di tipo statistico-adattativo, quelli basati sul criterio di discesa del gradiente, quelli basati su algoritmi genetici e, inne, quelli basati su reti neurali.

5.3

Il metodo fuzzy realizzato

Partiamo dalle misura di identit` legate alle singole biometrie. Il sistema a Fuzzy parte dalle due misure descritte nel seguito: U F e U S , calcolate come segue. Per limpronta vocale calcoliamo un indice: U S = log mentre per limpronta digitale: U F = log P (OF |utente,F ) P (OF |impostore,F ) P (OS |utente,S ) P (OS |impostore,S )

Questi due indici sono normalizzati linearmente nellintervallo [01] mediante la valutazione del minimo e massimo come di seguito indicato. Nel caso del sistema biometrico basato sullimpronta vocale, il risultato ha subito una normalizzazione sullintervallo [0.8, 1.5], mentre, nel caso del sistema biometrico basato sullimpronta digitale, la normalizzazione ` stata eettuata e sullintervallo [2.24, 1.56]. Cos` facendo, ` stato possibile associare ad entrambi i risultati lo stesso e insieme fuzzy. Gli indici normalizzati sono forniti al sistema fuzzy denito nei prossimi paragra.

CAPITOLO 5. ALGORITMI DI FUSIONE

26

5.3.1

Insiemi fuzzy

Nella Figura 5.2 e nella Figura 5.3 sono mostrati gli insiemi fuzzy utilizzati nei due test. La dierenza tra i due ` rappresentata dalla forma dellinsieme e Med , che nel caso del primo test ha una forma trapezoidale, mentre nel secondo test ha una forma triangolare.

0,75

"Low"
0,5

"Med"

"High"

0,25

0,25

0,5

0,75

Figura 5.2: Insiemi fuzzy utilizzati nella prima sequenza di test

0,75

"Low"
0,5

"Med"

"High"

0,25

0,25

0,5

0,75

Figura 5.3: Insiemi fuzzy utilizzati nella seconda sequenza di test

CAPITOLO 5. ALGORITMI DI FUSIONE

27

Per il processo di defuzzicazione ` stato utilizzato il metodo del Centro di e Gravit` (COG). a

5.3.2

Insieme di regole

Come prima cosa si assegnano gli ingressi del sistema: x1 = U S e x2 = U F . Gli ingressi sono normalizzati tra 0 . . . 1 e applicati alle regole per trovare gli insiemi fuzzy della variabile duscita. Il valore numerico delluscita viene trovato applicando il metodo del centroide. Le regole fuzzy utilizzate per entrambi i test sono le seguenti: R1 : IF (x1 is High) AND ( x2 is High) THEN (u is High) R2 : IF (x1 is Med) AND ( x2 is Med) THEN (u is Med) R3 : IF (x1 is Low) AND ( x2 is Low) THEN (u is Low) R4 : IF (x1 is High) AND ( x2 is Low) THEN (u is Med) R5 : IF (x1 is Low) AND ( x2 is High) THEN (u is Med) R6 : IF (x1 is Med) AND ( x2 is High) THEN (u is Med) R7 : IF (x1 is Med) AND ( x2 is Low) THEN (u is Low) R8 : IF (x1 is High) AND ( x2 is Med) THEN (u is Med) R9 : IF (x1 is Low) AND ( x2 is Med) THEN (u is Low) dove con x1 si indica il risultato del sistema di verica basato sullimpronta vocale, x2 rappresenta il risultato del sistema di verica basato sullimpronta digitale e u rappresenta il valore di uscita.

5.3.3

Funzione di integrazione nonlineare ottenuta

Il sistema fuzzy realizzato e descritto nei paragra precedenti costruisce una funzione non lineare con la quale si integrano i due ingressi: u = F (x1 , x2 ). La forma della funzione F (.) ` riportata nella gura seguente. e

CAPITOLO 5. ALGORITMI DI FUSIONE

28

0.8

0.6

0.4

0.2

0 1 0.8 0.6 0.4 0.6 0.4 0.2 0 0 0.2 0.8 1

UF

Figura 5.4: Funzione NonLineare per integrare i due ingressi provenienti dalle due biometrie ottenuta con le regole riportate

Capitolo 6

Implementazione in ambiente PC
6.1 SPro

I le sorgenti del pacchetto software SPro sono disponibili allindirizzo http ://www.irisa.fr/metiss/guig/spro/download.html. La congurazione e la compilazione degli stessi viene eettuata con i comandi:
./configure --prefix=/spro/ make && make install

6.2

ALIZE e LIA RAL

Sia i le sorgenti della libreria ALIZE che quelli relativi al pacchetto software LIA RAL sono reperibili dal sito del progetto Mistral, in particolare allindirizzo http://mistral.univ-avignon.fr/download.html. I le sorgenti relativi alla libreria ALIZE sono stati estratti nella cartella /alize/. La congurazione e la compilazione vengono eettuate utilizzando i comandi:
./configure make && make install

Il le della libreria compilato sar` a questo punto contenuto allinterno della a cartella /alize/lib/. Al contrario, per la compilazione del pacchetto LIA RAL, i sorgenti del quale sono stati posizionati nella cartella /LIA RAL, ` neccessario modicare il e 29

CAPITOLO 6. IMPLEMENTAZIONE IN AMBIENTE PC le cong.txt.ex. In particolare la linea:


ALIZE DIR=<home directory>/alize

30

La successiva fase di compilazione viene avviata eseguendo lo script install.sh. A questo punto si decide di creare la cartella /liaral/, che conterr` i tutti a i le necessari al funzionamento del sistema di identicazione secondo la seguente organizzazione:

Figura 6.1: Organizzazione dei le


bin/: Contiene i le eseguibili dei programmi che verranno utilizzati cfg/: Contiene i le di congurazione data/: Contiene i le audio da utilizzare features/: Contiene i le dei parametri cepstrali estratti e normalizzati gmm/: Contiene i modelli del Mondo e dei Target lbl/: Contiene i le di label creati dal programma EnergyDetector lists/: Contiene le liste dei le utilizzati dai vari programmi res/: Contiene i le dei risultati dellesecuzione del programma ComputeTest

Capitolo 7

Implementazione in ambiente ARM


7.1 Modica del software della scheda ARM

Prima di realizzare la fase di porting vera e propria, si ` resa necessaria una e fase intermedia che prevede la ricompilazione del kernel linux presente sulla scheda ARM al ne di abilitare il supporto per le schede audio di tipo USB.

7.1.1

Kernel

Sul sito del produttore della scheda ARM, vengono messi a disposizione due diverse versioni del kernel adattate per il funzionamento specico sulla scheda stessa. In particolare la versione 2.6.21 e la versione 2.6.34. Si ` scelto di utilizzare la versione 2.6.34 in quanto, a seguito di test prelimie nari, si ` vericata limpossibilit` di eettuare la registrazione di suoni dalla e a scheda USB, nonostante essa fosse riconosciuta correttamente, da parte della versione 2.6.21. Dopo aver scaricato dal sito del produttore della scheda (ftp://ftp.embedde darm.com/ts-arm-sbc/ts-7800-linux/sources/) i sorgenti in formato tarball ed averli scompattati nella cartella /kernel/, ` necessario eettuare e una modica al le Makele, in particolare la riga contenente la denizione delle variabili ARCH e CROSS COMPILE, inserendo larchitettura del sistema target e il presso del path del compilatore che verr` utilizzato. Nel a nostro caso:
ARCH = arm CROSS COMPILE = <home directory>/crosstool/bin/arm-none-linux-gnueabi-

31

CAPITOLO 7. IMPLEMENTAZIONE IN AMBIENTE ARM

32

Il comando successivo genera la congurazione di default fornita dal produttore:


make ts7800 defconf

Attraverso il menu di congurazione del kernel, si passa poi allabilitazione dei moduli relativi allaudio, in particolare abilitando il supporto per le periferiche USB:
make menuconfig

Figura 7.1: Congurazione del kernel Lultimo passo da eettuare ` quello di avviare la compilazione del kernel e e dei relativi moduli:
make make modules make modules install INSTALL MOD PATH=/kernel/

Arrivati a questo punto, la cartella /kernel/arch/arm/boot/ conterr` il kera nel ricompilato (zImage), mentre allinterno della cartella /kernel/lib/modules/2.6.34/ saranno contenuti i moduli del kernel abilitati in fase di congurazione.

7.1.2

Creazione memory card

Per il test del nuovo kernel, ` possibile utilizzare una memory card di tipo e SD. La scheda ARM, infatti, consente di eettuare il boot di un sistema installato allinterno di una scheda SD/MicroSD abilitando il jumper JP1 presente sulla scheda.

CAPITOLO 7. IMPLEMENTAZIONE IN AMBIENTE ARM

33

Prima di caricare il kernel, precedentemente compilato, sulla memory card, ` e necessario dividere la stessa in quattro partizioni, seguendo la congurazione fornita: Partizione Partizione Partizione Partizione 1 2 3 4 Vuota. Dimensione: 4MB Kernel Linux. Dimensione: 4MB Initrd in formato busybox. Dimesione: 4MB Debian Linux lesystem di tipo ext3.

Tabella 7.1: Partizioni memory card Il produttore della scheda ARM mette a disposizione delle immagini binarie, caricabili direttamente allinterno di una memory card, che rispettano ` la struttura delle partizioni appena citata. E possibile quindi utilizzare limmagine fornita per creare una memory card che abbia una struttura valida e, successivamente, modicare solamente la seconda partizione della stessa, inserendo il kernel compilato in precedenza:
dd if=2.6.34-512mb-sd.dd of=/dev/sdcard dd if=zImage of=/dev/sdcard2

La memory card cos` ottenuta risulta essere valida ed ` quindi possibile e copiare i moduli precedentemente creati, utilizzando una chiavetta USB oppure mediante ssh collegandosi allindirizzo IP 192.168.0.50, nella cartella /lib/modules/2.6.34/ contenuta nella partizione 4. Il modulo necessario per il funzionamento della scheda audio USB (snd-usbaudio) sar` inne abilitato attraverso il comando: a
modprobe snd-usb-audio

7.2

Alsa-lib e amixer

` E stato riscontrato un inconveniente relativamente ai driver audio ALSA. Infatti, al momento del collegamento del dispositivo audio USB, il volume dello stesso viene posto a zero. Leggendo la documentazione dei driver ` possibile rilevare come, eettivamente, lunmuting del dispositivo debba e essere fatto a mano. Si ` quindi deciso di utilizzare il programma amixer contenuto allinterno e ` del pacchetto software denominato alsa-utils. E un piccolo programma, a linea di comando, che consente la gestione dei volumi dei vari dispositivi controllati dai driver ALSA. Il programma necessita della libreria alsa-lib, che dovr` quindi essere ricoma pilata utilizzando il cross-compiler per poter funzionare correttamente sulla

CAPITOLO 7. IMPLEMENTAZIONE IN AMBIENTE ARM

34

scheda ARM. I sorgenti della libreria e dei programmi sono disponibili per il download allindirizzo http://www.alsa-project.org. Dopo aver decompresso i sorgenti della libreria alsa-lib, per ottenere la libreria compatibile con il sistema ARM, ` suciente eseguire i seguenti e comandi:
CC=/crosstool/bin/arm-none-linux-gnueabi-gcc ./configure --host=arm -linux --prefix=/alsalib/ make && make install

La libreria, assieme ai relativi le di header, verr` creata nella cartella a /alsalib/. I comandi da eseguire per la compilazione del programma amixer sono simili ai precedenti, con la sola dierenza che, al momento della congurazione, ` e necessario specicare anche il path della libreria compilata in precedenza:
CC=/crosstool/bin/arm-none-linux-gnueabi-gcc ./configure --disablexmlto --disable-alsamixer --with-alsa-prefix=/alsalib/lib/ --with-a lsa-inc-prefix=/alsalib/include/ --host=arm-linux

Spostandosi poi nella cartella amixer/ (siamo interessati solamente a questo programma) ` suciente utilizzare il comando make per ottenere il le e eseguibile corrispondente.

7.3

SoX

Dopo aver decompresso i sorgenti, ` suciente lanciare il comando: e


CC=/crosstool/bin/arm-none-linux-gnueabi-gcc ./configure --host=arm -linux --prefix=/sox/

A questo punto, con il comando make && make install, verr` avviata la a compilazione, che avr` come risultato il programma compilato per funzioa nare sulla scheda ARM allinterno della cartella /sox/.

7.4
7.4.1

Programmi per lidenticazione vocale


SPro

Anche in questo caso, il porting degli stessi risulta molto semplice utilizzando i comandi:
CC=/crosstool/bin/arm-none-linux-gnueabi-gcc ./configure --host=arm -linux --prefix=/spro-arm/ make && make install

CAPITOLO 7. IMPLEMENTAZIONE IN AMBIENTE ARM

35

7.4.2

ALIZE e LIA RAL

La compilazione per la scheda ARM risulta molto simile alla stessa eettuata per lambiente x86. Al ne di mantenere una versione compilata dei programmi per entrambe le piattaforme, i le sorgenti relativi alla libreria ALIZE, in questo caso, sono stati estratti nella cartella /alize-arm/. La congurazione viene eettuata con il comando:
CC=/crosstool/bin/arm-none-linux-gnueabi-gcc CXX=/crosstool/bin/ar m-none-linux-gnueabi-g++ ./configure --host=arm-linux

Prima di eettuare la compilazione per la scheda ARM, si rende necessaria una modica ai le /alize-arm/Makele e /alize-arm/src/Makele, modicando la linea dei le relativa alla denizione della variabile dambiente CXXFLAGS come segue:
CXXFLAGS = -O3 -ffast-math -Wall -march=armv5te

A questo punto la compilazione viene eettuata eseguendo i comandi:


make && make install

I sorgenti relativi al pacchetto LIA RAL che verranno compilati per la piattaforma ARM sono stati posizionati nella cartella /LIA RAL ARM. Prima di avviare la compilazione, ` necessario ricompilare, utilizzando il crosse compiler, la libreria SVD contenuta nella cartella /LIA RAL ARM/LIA S pkDet/CovIntra/src/SVDLIBC. Per fare ci` ` necessario eetuare una mooe dica al le /LIA RAL ARM/LIA SpkDet/CovIntra/src/svdlibc.Makele, in particolare modicando la riga:
CC = <home directory>/crosstool/bin/arm-none-linux-gnueabi-gcc -Wall -O4 -march=armv5te

La compilazione viene successivamente avviata utilizzando il comando:


make -f ../svdlibc.Makefile

e A questo punto, per compilare il pacchetto LIA RAL, ` suciente modicare il le cong.txt.ex ed utilizzare lo script install.sh per avviare la compilazione. Le linee del le modicate in questo caso sono le seguenti:
ALIZE DIR=<home directory>/alize-arm CPP=<home directory>/crosstool/bin/arm-none-linux-gnueabi-g++ AR=<home directory>/crosstool/bin/arm-none-linux-gnueabi-ar RANLIB=<home directory>/crosstool/bin/arm-none-linux-gnueabi-ranlib

I le cos` ottenuti saranno organizzati allinterno del lesystem della scheda ARM nella cartella /liaral/ con la stessa struttura utilizzata nel PC host.

Capitolo 8

Risultati sperimentali
La prima parte dei test prevede lesecuzione di alcune prove per vericare lecienza del sistema di autenticazione vocale, mentre la fase successiva prevede una serie di test che interessano il sistema complessivo dopo la fusione. Entrambi i test sono stati eettuati in ambiente PC.

8.1

Sistema di autenticazione vocale

Per testare la parte di sistema relativa allidenticazione basata sullimpronta vocale, si ` deciso di utilizzare una serie di campioni vocali provenienti e da 20 diverse persone. Per la registrazione degli stessi ` stato utilizzato il e programma Audacity. In particolare, ai soggetti veniva richiesto di leggere una serie di 30 parole per 4 volte, che verranno utilizzate per la prima fase di training e per la successiva fase di test. I le audio sono stati registrati con un leggero rumore di sottofondo in modo da valutare le prestazioni dei programmi in presenza di un sistema che presenta dei disturbi (il rapporto segnale/rumore medio dei le ` stato e quanticato in circa 20dB). I le delle varie persone sono stati divisi in 2 gruppi, il primo dei quali, formato dai le relativi a 16 persone, sar` utilizzato per la creazione del a modello relativo al Mondo, mentre il secondo, formato dai le delle restanti persone (che saranno quindi considerate autorizzate), verr` utilizzato per la a creazione di 4 modelli Target. Per il training del Mondo sono stati utilizzati tutti i le delle 16 persone selezionate, per un totale, quindi, di 64 le. Al contrario, per la creazione dei vari modelli delle persone autorizzate,

36

CAPITOLO 8. RISULTATI SPERIMENTALI

37

sono stati utilizzati solamente 2 le dei 4 le disponibili per ognuna delle 4 persone. La fase di test ` stata invece eettuata dividendo (sempre mediante lutilizzo e di Audacity) le parole dei restanti le, ottenendo cos` un totale di 240 le con cui eettuare i test. I le di ogni persona autorizzata sono quindi stati testati con i modelli Target creati in precedenza.

8.1.1

Training

La sequenza dei comandi impartita per la realizzazione della fase di training ` la seguente: e
for line in ls -1 data/ | cut -d. -f1; do (( bin/sfbcep -F WAVE -l 20 -d 10 -w Hamming -m -p 16 -e -D -k 0 -i 300 -u 3400 data/$line .wav features/$line.prm )); done

Eettua lestrazione dei coecienti mel-cepstrali da tutti i le contenuti allinterno della cartella data/ salvandoli nella cartella features/.
bin/EnergyDetector --config cfg/EnDe.cfg --inputFeatureFilename list global seg.lst --featureFilesPath features/ --labelFilesPath lbl/

Eettua la rilevazione dellenergia dei le vocali, specicati allinterno del le list global seg.lst, a partire dai parametri cepstrali per individuare le parte nelle quali ` eettivamente presente la voce. I le di uscita verranno salvati e nella cartella lbl/.
bin/NormFeat --config cfg/NormFeat.cfg --inputFeatureFilename list gl obal seg.lst --featureFilesPath features/ --labelFilesPath lbl/

Eettua la normalizzazione dei parametri cepstrali utilizzando i corrispondenti le contenuti nella cartella lbl/.
bin/TrainWorld --config cfg/TrainWorld.cfg --inputFeatureFilename lis t world model.lst --featureFilesPath features/ --mixtureFilesPath gmm/ --labelFilesPath lbl/ --outputWorldFilename world model

Crea il modello del Mondo utilizzando i le specicati allinterno del le list world model.lst.
bin/TrainTarget --config cfg/TrainTarget.cfg --featureFilesPath featu res/ --mixtureFilesPath gmm/ --labelFilesPath lbl/ --targetIdList list target.lst --inputWorldFilename world model

Crea i modelli dei vari Target utilizzando le informazioni contenute allinterno del le list target.lst.

CAPITOLO 8. RISULTATI SPERIMENTALI

38

8.1.2

Test

Per la fase di test sono stati creati 4 diversi le (richiesti dal programma ComputeTest), allinterno di ognuno dei quali vengono specicati i nomi dei le e dei modelli da utilizzare per lattuazione dei test. Il comando seguente verr` quindi eseguito per 4 volte, una per ogni le: a
bin/ComputeTest --config cfg/ComputeTest.cfg --ndxFilename lists/listf ileXXXXXX.ndx --inputWorldFilename world model --outputFilename res/ri sultatiXXXXXX.res

Il risultato di un singolo test ` rappresentato da un valore di tipo oat. Per e valutare, quindi, la positivit` di un risultato ` necessario impostare un valore a e di soglia oltre il quale il test viene considerato superato. A partire dai risultati ottenuti e facendo variare il valore della soglia da un minimo di -2.0 a un massimo di 2.0 (con incrementi di 0.05), sono stati calcolati i seguenti dati (considerati in percentuale):
Corretta Verifica Positiva (CVP): Rappresentano i casi in cui ci si aspetta e si ottiene un risultato positivo della verica Falsi Negativi (FRR): Rappresentano i casi in cui ci si aspetta un risultato positivo e si ottiene un riscontro negativo dalla verica Corretta Verifica Negativa (CVN): Rappresentano i casi in cui ci si aspetta e si ottiene un risultato negativo della verica Falsi Positivi (FAR): Rappresentano i casi in cui ci si aspetta un risultato negativo e si ottiene un riscontro positivo dalla verica ` Accuratezza: E la media aritmetica dei valori CVP e CVN

Lultimo passo prevede la produzione di alcuni graci a partire dai dati ottenuti, in particolare i graci DET (Detection Error Trade-o), ROC (Relative Operating Characteristic) e EER (Equal Error Rate).

CAPITOLO 8. RISULTATI SPERIMENTALI

39

Figura 8.1: Detection Error Trade-o

Figura 8.2: Relative Opeation Characteristic

CAPITOLO 8. RISULTATI SPERIMENTALI

40

Dagli stessi ` possibile osservare che il valore dellEER, ovvero il punto nel e quale le percentuale dei falsi positivi e quella dei falsi negativi si equivalgono, si attesta intorno al 5.50%.

8.2

Sistema dopo la fusione

Il passo successivo consiste nellintegrazione dei risultati ottenuti in precedenza con i risultati dei test condotti sul sistema biometrico che fa uso delle impronte digitali. Le persone che sono state utilizzate per condurre i test utilizzando le impron` te digitali sono le stesse utilizzate in precedenza. E stato quindi possibile eettuare i test del sistema complessivo semplicemente associando ad ogni risultato ottenuto dal sistema vocale il corrispondente risultato fornito dalla verica basata sulle impronte digitali. Lesperimento di fusione sensoriale, a questo punto, prevede lapplicazione della logica Fuzzy utilizzando i due risultati numerici associati ad ogni singolo test. I risultati numerici forniti dai due diversi sitemi di verca biometrica sono abbastanza diversi tra di loro. Ci` ` dovuto al fatto che, per il calcolo dei oe risultati, vengono utilizzati approcci e piattaforme software diverse.

CAPITOLO 8. RISULTATI SPERIMENTALI

41

Anche nel caso dei risultati relativi al sistema di verica basato sulle impronte digitali e quelli relativi al sistema complessivo dopo la fusione, sono stati calcolati gli stessi parametri evidenziati nel caso del singolo sistema basato sulla voce, con il ne di mettere in luce gli eventuali miglioramenti (o peggioramenti) portati dalla fusione. Nella Figura 8.3 ` riportato il graco DET che mette a confronto le prestae zioni relative a:
Sistema unimodale basato su impronta vocale (Blu) Sistema unimodale basato su impronta digitale (Rosso) Sistema multimodale basato su impronta vocale e impronta digitale nel caso della prima sequenza di test (Viola) Sistema multimodale basato su impronta vocale e impronta digitale nel caso della seconda sequenza di test (Verde)

Figura 8.3: Detection Error Trade-o (DET) Finale Come si evince dal graco risultati, la fusione dei risultati provenienti dai singoli sistemi unimodali porta ad un miglioramento a livello di accuratezza del sistema nale in entrambe le sequenze di test, tuttavia, utilizzando gli insiemi fuzzy mostrati in Figura 5.3, si ottengono risultati migliori.

CAPITOLO 8. RISULTATI SPERIMENTALI

42

Il valore dellEqual Error Rate, infatti, raggiunge un valore pari a circa 1.70% nel primo caso, mentre nel secondo lo stesso si attesta intorno all1.10%.

Capitolo 9

Conclusioni
In questa tesi ` stato realizzato un insieme di strumenti Hardware e Software e che, prendendo in considerazione le molteplici scelte realizzative, supportano la progettazione di un sistema di autenticazione multibiometrico, usando le biometrie della voce e dellimpronta digitale. Lalgoritmo di fusione dei dati biometrici ` basato sulla logica fuzzy, che consentir` di modicare facilmente e a le regole di fusione. La realizzazione del progetto ha portato allo sviluppo di un dimostratore sul processore ARM della verica biometrica mediante la voce che permette di vericarne le potenzialit`. Sviluppi futuri, potranno interessare limplea mentazione di nuove regole di fusione dei risultati, il testing distribuito del sistema con parametri biometrici diversi da quelli descritti in precedenza e lutilizzo di algoritmi di riconoscimento pi` sosticati. u

43

Elenco delle gure


1.1 1.2 1.3 1.4 1.5 2.1 2.2 3.1 3.2 3.3 4.1 4.2 4.3 5.1 5.2 5.3 5.4 Processo di riconoscimento . . . . . . . . . Processo di verica . . . . . . . . . . . . . . Fusione a livello di estrazione dei parametri Fusione a livello di confronto . . . . . . . . Fusione a livello di decisione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 6 6 7 8 10 12 14 14 15 16 16 24 26 26 28 30 32 39 39 41

Scheda audio USB . . . . . . . . . . . . . . . . . . . . . . . . Scheda ARM TS-7800 . . . . . . . . . . . . . . . . . . . . . . Rappresentazione graca di un segnale vocale . . . . . . . . . Sequenza di training . . . . . . . . . . . . . . . . . . . . . . . Sequenza di verica . . . . . . . . . . . . . . . . . . . . . . . . Scansione di unimpronta digitale . . . . . . . . . . . . . . . . Tipi di minuzie osservabili . . . . . . . . . . . . . . . . . . . . Tipi di pattern osservabili . . . . . . . . . . . . . . . . . . . . Struttura di un sistema fuzzy . . . . . . . . . . . . . . . . . . Insiemi fuzzy utilizzati nella prima sequenza di test . . . . . . Insiemi fuzzy utilizzati nella seconda sequenza di test . . . . . Funzione NonLineare per integrare i due ingressi provenienti dalle due biometrie ottenuta con le regole riportate . . . . . . Organizzazione dei le . . . . . . . . . . . . . . . . . . . . . . Congurazione del kernel . . . . . . . . . . . . . . . . . . . . Detection Error Trade-o . . . . . . . . . . . . . . . . . . . . Relative Opeation Characteristic . . . . . . . . . . . . . . . . Detection Error Trade-o (DET) Finale . . . . . . . . . . . .

6.1 7.1 8.1 8.2 8.3

44

Bibliograa
[1] Dessimoz D., Richiardi J., Champod C., Drygajlo A., Multimodal Biometrics for Identity Documents, 2005 [2] National Institute of Standards and Technology(NIST), An Introduction to Computer Security: The NIST Handbook, 1995 [3] National Science and Technology Council(NSTC), Subcommittee on Biometrics http://www.biometrics.gov/Documents/speakerrec.pdf [4] Technologic Systems - TS-7800 SBC http://www.embeddedarm.com/ products/board-detail.php?product=TS-7800 [5] Wikipedia parlatore http://it.wikipedia.org/wiki/Riconoscimento_del_

[6] Arun Ross, Anin Jain, Information fusion in biometrics, 2003 [7] Massimiliano Veronesi, Antonio Visioli, Logica fuzzy: applicazioni, 2000 teoria ed

[8] Hung T. Nguyen, Nadipuram R. Prasad, Carol L. Walker, Elbert A. Walker, A First Course in FUZZY and NEURAL CONTROL, 2003 [9] D. Driankov, A. Saotti, Fuzzy Logic Techniques for Autonomous Vehicle Navigation, 2001

45