Corso di Laurea Magistrale in Sicurezza Informatica Biometria delle impronte digitali senza contatto tramite smartphone RELATORE Prof. Fabio SCOTTI TESI DI LAUREA DI Angelo BONISSI CORRELATORE Matr. 825762 Dott. Ruggero DONIDA LABATI Anno Accademico 2013/2014 ii Indice 1 Introduzione 1 2 Biometria delle impronte digitali 5 2.1 2.2 Sistema di riconoscimento biometrico . . . . . . . . . . . . . . . . . . 5 2.1.1 Cenni Storici . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.2 Caratteristiche . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.3 Autenticazione e identificazione . . . . . . . . . . . . . . . . . 10 Le impronte digitali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 Storia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2 Immutabilità e individualità . . . . . . . . . . . . . . . . . . . 14 2.2.3 Classificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3 Stato dell’arte 3.1 3.2 19 Sistemi bidimensionali . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.1.1 Acquisizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.2 Calcolo di un’immagine equivalente a quella a contatto . . . . 23 3.1.3 Confronto delle identità . . . . . . . . . . . . . . . . . . . . . 24 3.1.4 Sistemi rilevanti . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Sistemi tridimensionali . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.1 Acquisizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.2 Calcolo di un’immagine equivalente a quella a contatto . . . . 34 3.2.3 Confronto delle identità . . . . . . . . . . . . . . . . . . . . . 36 3.2.4 Livello commerciale . . . . . . . . . . . . . . . . . . . . . . . . 37 iii iv INDICE 4 Approccio proposto 39 4.1 Acquisizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2 Miglioramento delle immagini (preprocessing) . . . . . . . . . . . . . 4.2.1 Segmentazione . . . . . . . . . . . . . . . . . . . . . . . . . . 41 41 4.2.2 Normalizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2.3 4.2.4 Selezione dell’ultima falange . . . . . . . . . . . . . . . . . . . Conversione in immagini equivalenti al tocco . . . . . . . . . . 51 53 Estrazione delle caratteristiche e confronto . . . . . . . . . . . . . . . 56 4.3.1 4.3.2 NIST Biometric Image Software (NBIS) . . . . . . . . . . . . Minutia Cylinder-Code (MCC) . . . . . . . . . . . . . . . . . 57 62 Template multi-risoluzione . . . . . . . . . . . . . . . . . . . . . . . . 67 4.3 4.4 5 Risultati sperimentali 69 5.1 Ambiente di test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Configurazione dell’ambiente di acquisizione . . . . . . . . . . 5.1.2 Configurazione del sistema di calcolo . . . . . . . . . . . . . . 69 69 71 5.2 Segmentazione del dito . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Metodo Otsu . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Analisi del colore della pelle . . . . . . . . . . . . . . . . . . . 72 72 72 5.3 Riconoscimento biometrico . . . . . . . . . . . . . 5.3.1 Robustezza alla modalità di messa a fuoco 5.3.2 Robustezza alle condizioni di illuminazione 5.3.3 Invarianza alla distanza di acquisizione . . 5.3.4 Ridimensionamento in ambiente vincolato Ambiente non vincolato . . . . . . . . . . . . . . Template multi-risoluzione . . . . . . . . . . . . . Interoperabilità . . . . . . . . . . . . . . . . . . . 79 79 81 83 88 89 90 91 5.4 5.5 5.6 6 Conclusioni e sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Capitolo 1 Introduzione Nel campo della sicurezza informatica, l’interesse verso le tecnologie di tipo biometrico è in continuo aumento. I sistemi di riconoscimento biometrico distinguono una persona basandosi sulle sue caratteristiche fisiche o comportamentali. Esistono vari tratti biometrici, come le impronte digitali, il viso, la voce o l’iride. Un’impronta digitale rappresenta una riproduzione dell’epidermide del polpastrello di una delle dita della mano. Ogni impronta digitale è unica in quanto non esistono due individui con le medesime caratteristiche. Il riconoscimento biometrico dell’impronta digitale è una disciplina in continua evoluzione. Negli ultimi anni, è sempre maggiore l’interesse nel portare questa tecnologia in dispositivi mobili di consumo come telefoni cellulari e tablet. L’impronta digitale è tipicamente ottenuta premendo il dito contro la superficie di un sensore. Questa tecnologia so↵re di problemi intrinseci quali, ad esempio, l’igiene, la pulizia del sensore e l’impronta latente lasciata sullo stesso ad ogni acquisizione. Recentemente sta emergendo un interesse nei riguardi dei sistemi biometrici basati sulle impronte digitali acquisite senza contatto, tramite l’ausilio di fotocamere digitali. Gli studi in letteratura inerenti questi sistemi mirano a ridurre le problematiche intrinseche delle tecnologie tradizionali di riconoscimento biometrico delle impronte digitali, descritte in precedenza. In tale contesto, la maggior parte delle ricerche riguarda metodi basati sull’acquisizione delle impronte digitali attraverso le fotocamere professionali. Un settore meno esplorato consiste nello studio di sistemi di acquisizione ed elaborazione basati su fotocamere presenti nei comuni 1 2 CAPITOLO 1. INTRODUZIONE smartphone. I moderni smartphone possiedono caratteristiche hardware elevate. La loro potenza di calcolo e la loro memoria è sempre più vicina a quella di un normale computer. Inoltre, sono dotati di fotocamere ad alta risoluzione, in grado di mettere a fuoco anche a distanze ravvicinate e con un discreto numero di megapixel. Queste caratteristiche aprono alla possibilità di rilevare le impronte digitali attraverso uno smartphone. È già stato mostrato che sia possibile e↵ettuarne l’acquisizione in questo modo, tuttavia i risultati ottenuti non eguagliano le fotocamere professionali. Inoltre, tutti i lavori pubblicati catturano le immagini in un ambiente vincolato, ovvero con una distanza tra camera e dito fissa. Risulta di elevato interesse esplorare la possibilità di catturare le fotografie del dito in un ambiente non vincolato senza che questo possa degradare le prestazioni del sistema. Il presente lavoro si pone come obiettivo lo studio e l’implementazione di metodi innovativi per l’acquisizione e l’elaborazione delle caratteristiche delle impronte digitali acquisite utilizzando la fotocamera degli smartphone. Il sistema biometrico proposto segue quattro passi principali. Il primo passo consiste nell’acquisizione dell’immagine. Sono stati studiati metodi di acquisizione specifici per di↵erenti condizioni applicative, quali il tipo di illuminazione, la distanza tra la fotocamera e il dito e la tipologia di messa a fuoco. Il secondo passo è basato sulla trasformazione dell’immagine del dito in una impronta digitale simile a quella ottenibile con un lettore a contatto, cosı̀ da rendere il sistema compatibile con gli standard attuali. In ogni immagine viene individuato il polpastrello, separato dallo sfondo e dalle altre componenti della mano, viene normalizzata la risoluzione e viene migliorato il contrasto cosı̀ da risaltare le creste e le valli componenti l’impronta digitale. In particolare, la fase di normalizzazione è cruciale alla buona resa degli algoritmi di estrazione delle caratteristiche e confronto delle identità poiché i metodi più utilizzati in letteratura si basano sulle distanze euclidee tra due impronte digitali, i quali richiedono immagini con risoluzione nota a priori. Il terzo passo estrae caratteristiche distintive dalle impronte convertite, chiamate minuzie. In particolare, si ricorre ad algoritmi di confronto delle identità ben noti in letteratura: il software NIST Biometric Image Software (NBIS) e il Minutia Cylinder-Code (MCC). Il quarto passo compara due impronte digitali restituendo un indice di similitudine calcolato uti- 3 lizzando le informazioni ottenute dal passo precedente. Il sistema è stato valutato creando più dataset biometrici. Sono stati creati sei dataset acquisendo le immagini delle 10 dita di un soggetto. Questi dataset sono stati progettati per studiare il cambiamento delle prestazioni del sistema al mutare dei fenomeni quali illuminazione, distanza, messa a fuoco e il modello di smartphone. I risultati ottenuti hanno dimostrato la fattibilità del riconoscimento biometrico basato su immagini di impronte digitali acquisite utilizzando la fotocamera degli smartphone, mostrando un tasso di accuratezza adeguato a di↵erenti contesti applicativi. Il resto della tesi è organizzato nel modo seguente. Nel Capitolo 2 sono introdotti alcuni concetti riguardanti la biometria, prendendo in esame i punti fondamentali per lo sviluppo di un sistema di riconoscimento dell’impronta digitale. Nel Capitolo 3 sono analizzate le tecniche di acquisizione ed elaborazione dell’impronta digitale senza contatto, ponendo particolare attenzione allo stato dell’arte. Nel Capitolo 4 vengono presentati i metodi studiati e implementati per acquisire, elaborare, estrarre le caratteristiche e confrontare le impronte digitali. Nel Capitolo 5 sono riportati i risultati sperimentali e la descrizione dei test e↵ettuati. Nell’ultimo capitolo si presentano le conclusioni a cui si è giunti nel lavoro di tesi e vengono proposti dei possibili sviluppi futuri. 4 CAPITOLO 1. INTRODUZIONE Capitolo 2 Biometria delle impronte digitali 2.1 Sistema di riconoscimento biometrico Come descritto in [1], un sistema di riconoscimento biometrico è un sistema informatico che ha lo scopo di riconoscere una persona in base a una o più caratteristiche fisiologiche e/o comportamentali, confrontandole con dati precedentemente acquisiti e presenti nel database del sistema stesso. I dati vengono acquisiti mediante appositi sensori ed elaborati in maniera tale da essere utilizzabili nel sistema biometrico. 2.1.1 Cenni Storici Il primo metodo d’identificazione scientifico biometrico viene sviluppato nei laboratori del carcere di Parigi da Alphonse Bertillon (23 aprile 1853 - 13 febbraio 1914). Bertillon era figlio dello statistico Louis Bertillon e fratello del demografo - statistico Jacques. Nel 1870 viene nominato fotografo di servizio presso la prefettura di Parigi: annotando tutte le caratteristiche fisiche dei detenuti, fonda cosı̀ il primo laboratorio di polizia scientifica e d’identificazione dei criminali, inventa l’antropologia giudiziaria chiamata appunto Sistema Bertillon o Bertillonage, un sistema di identificazione rapidamente adottato in tutta l’Europa continentale e in seguito anche a Londra. Il suo metodo consiste nella rilevazione delle misure fisiche dei detenuti in quanto l’ossatura umana non cambia più dopo il ventesimo anno d’età ed ogni scheletro è 5 6 CAPITOLO 2. BIOMETRIA DELLE IMPRONTE DIGITALI Figura 2.1: Procedura per la rilevazione delle caratteristiche antropometriche con il sistema Bertillon, una serie di strumenti utilizzati, una parte delle misurazioni svolte sul volto e un detenuto in fase di rilevazione diverso per ciascun individuo. Il nome del detenuto, le descrizioni e le misure fisiche del corpo di un individuo (cranio, lunghezza degli arti, lunghezza delle dita e dei piedi, lunghezza del naso, caratteristiche dell’orecchio) e una foto segnaletica, frontale e laterale dell’individuo a mezzo busto, vengono annotate su una scheda detta “Osservazioni Antropometriche”. La Figura 2.1 mostra la procedura per la rilevazione delle caratteristiche antropometriche, una serie di strumenti utilizzati, una parte delle misurazioni svolte sul volto e un detenuto in fase di rilevazione. L’archivio cresce molto velocemente, è cosı̀ possibile riconoscere un soggetto nuovamente arrestato che presentava una falsa identità. Il problema maggiore che si evidenziò era per le misure, dovevano essere e↵ettuate con grande accuratezza, solo lo scopritore di questo sistema di classificazione era in grado di e↵ettuare i rilievi con la dovuta precisione. 2.1. SISTEMA DI RICONOSCIMENTO BIOMETRICO 7 Bertillon organizzò corsi di formazione per numerosi esponenti di polizie europee a Londra e Parigi, ma le misure prese da altri soggetti, pure addestrati erano imprecise e non cosı̀ affidabili come quelle del francese. La tecnica cadde gradualmente in disuso anche perché nel frattempo vi fu la scoperta dell’impronta digitale. Diversi sono i nomi legati a questa invenzione anche se i due nomi più significativi sono quello di Galton e di sir Henry, che impostarono in modo sistematico la classificazione delle impronte digitali e che, all’inizio di questo secolo, contribuirono a dare alle impronte digitali il valore criminologico che oggi ricoprono. In Italia questo metodo fu messo a punto da un funzionario di polizia, Giovanni Gasti. Un importante avanzamento tecnologico nell’utilizzo delle impronte digitali, soprattutto a fini criminologici, si è avuta una dozzina di anni fa, quando la crescente potenza dei sistemi di elaborazione permise alla polizia americana di mettere a punto il primo sistema AFIS (Automatic Fingerprint Identification System). Solo grazie all’utilizzo di questo dispositivo informatico, collegato ad un capiente database, l’impronta digitale ha raggiunto l’attuale importanza criminologica. 2.1.2 Caratteristiche Le caratteristiche prese in considerazione dal sistema di riconoscimento biometrico possono essere: Fisiologiche Ossia caratteristiche fisiche dell’individuo, come: • Le impronte digitali, • L’iride, • La retina, • L’altezza, • Il peso, • La sagoma della mano, 8 CAPITOLO 2. BIOMETRIA DELLE IMPRONTE DIGITALI • Il palmo della mano, • La vascolarizzazione, • La forma dell’orecchio, • La fisionomia del volto. Comportamentali Ossia azioni che l’individuo compie, come: • L’impronta vocale, • La scrittura grafica, • La firma, • Lo stile di battitura sulla tastiera, • I movimenti del corpo. La Figura 2.2 mostra alcuni tra i più famosi tratti biometrici. Le caratteristiche fisiologiche di un individuo sono solitamente più stabili rispetto a quelle comportamentali. I sistemi biometrici vogliono garantire l’identità della persona. Codici segreti e carte di identificazione verificano solo ciò che una persona conosce o possiede, come una password o un distintivo, ma non verificano l’identità della persona stessa. Inoltre, i sistemi di autenticazione basati sulla conoscenza di un segreto soffrono del fatto che questo può essere dimenticato per errore, indovinato o scoperto da malintenzionati. In quelli basati sul possesso di un oggetto (smart card, ecc.) vi è la possibilità di smarrimento o furto. I sistemi biometrici non so↵rono di queste debolezze in quanto si basano su caratteristiche appartenenti ad un individuo. Essi possono anche essere integrati ai sistemi di riconoscimento classici in modo da creare sistemi sempre più sicuri. Una caratteristica fisica/comportamentale per diventare un tratto biometrico deve possedere queste proprietà: • Universalità, ogni individuo, tranne rare eccezioni, possiede quel tratto. 2.1. SISTEMA DI RICONOSCIMENTO BIOMETRICO 9 Figura 2.2: Esempio di alcuni tra i più famosi tratti biometrici • Unicità, due o più individui non possono avere la stessa uguale caratteristica. • Permanenza, la caratteristica non deve modificarsi o scomparire con il passare del tempo. • Misurabilità, la caratteristica è quantificabile oggettivamente. • Performabilità, la caratteristica deve permettere un’accuratezza adeguata nel riconoscimento. • Accettabilità, le persone sono disposte a mostrare la caratteristica. 10 CAPITOLO 2. BIOMETRIA DELLE IMPRONTE DIGITALI • Circonvenzione. grado di difficoltà nell’ingannare il sistema con delle tecniche fraudolente. Il riconoscimento in un sistema biometrico è basato sulle caratteristiche estratte dal tratto biometrico scelto. Esse formano il campione, o template. Confrontando tra loro i template è possibile stabilire se provengono dallo stesso tratto biometrico o meno. 2.1.3 Autenticazione e identificazione I sistemi biometrici possono operare in due diverse modalità: autenticazione e identificazione. Il processo di autenticazione (verifica uno ad uno) si ha quando il soggetto dichiara la sua identità. Il sistema quindi e↵ettua un confronto tra il template ricavato dal campione rilevato in tempo reale e il template corrispondente presente nell’archivio. Per template si intende la rappresentazione numerica di un dato biometrico grezzo, recepibile da un sistema automatico di riconoscimento biometrico. L’identificazione (verifica uno a molti) si ha quando il template ricavato dal campione rilevato in tempo reale viene confrontato con tutti i template presenti nel database del sistema e viene poi associato ad un template oppure non riconosciuto (caso di reiezione). Il funzionamento di un sistema biometrico può essere diviso in due parti: registrazione (enrollment) e riconoscimento. La registrazione di un individuo consiste nell’acquisizione del tratto biometrico per la prima volta, l’elaborazione del dato e il salvataggio delle caratteristiche d’interesse in un template all’interno di un database insieme all’identità dell’individuo. La fase di riconoscimento invece consiste nell’acquisizione del tratto dell’individuo in un momento successivo, l’estrazione delle caratteristiche, la formazione del template e la ricerca dell’identità dell’individuo all’interno del database. Se il sistema è un sistema di autenticazione insieme al tratto verrà fornita l’identità dell’individuo. Se il sistema è un sistema d’identificazione viene fornito solo il tratto. 2.1. SISTEMA DI RICONOSCIMENTO BIOMETRICO 11 Le caratteristiche utilizzate in un sistema biometrico devono essere fortemente discriminanti tra individui diversi e invarianti per uno stesso individuo. Si dice appunto che le caratteristiche devono avere un’alta variabilità interclasse (molto diverse tra individui diversi) e una bassa variabilità intraclasse (poco diverse per lo stesso individuo). Il confronto (matching) tra due template produce come risultato un punteggio che indica il livello di similarità o dissimilarità tra i due template (matching score). Il riconoscimento in un sistema biometrico è basato su un parametro detto soglia. Se il punteggio di matching è maggiore di questa soglia l’individuo viene riconosciuto, altrimenti viene scartato. La soglia è uno dei parametri più importanti per la definizione di un sistema biometrico. Una soglia bassa potrebbe permetterebbe l’accesso a degli utenti illegittimi con caratteristiche simili a quelle di un individuo all’interno del database. Una soglia alta invece potrebbe non permettere l’accesso ad utenti legittimi a cui il tratto è un po’ cambiato o è stato rilevato in modo non ottimale. Due acquisizioni di un tratto biometrico per lo stesso individuo non producono mai un risultato identico in quanto molti fattori concorrono alla modifica, anche minima, delle condizioni di acquisizione. L’identificazione può essere e↵ettuata in due modi: 1. Identificazione positiva: quando si cerca di stabilire con elevata accuratezza che l’utente sia chi dice di essere, 2. Identificazione negativa: quando si cerca di stabilire con elevata accuratezza se l’utente non è chi dice di essere. Quando un individuo autorizzato viene autenticato si parla di genuino; quando un individuo non autorizzato riesce ad autenticarsi si parla di impostore. Di conseguenza un sistema biometrico presenta due tipologie di errore: • False Non Match Rate (FNMR): è la percentuale di falsi rifiuti, utenti autorizzati ma respinti per errore, il sistema non riesce a riconoscerli, 12 CAPITOLO 2. BIOMETRIA DELLE IMPRONTE DIGITALI • False Match Rate (FMR): è la percentuale di false accettazioni, utenti non autorizzati ma accettati per errore, il sistema quindi accetta delle persone non autorizzate. Qualunque sistema biometrico permette di regolare il rapporto tra i falsi rifiuti e le false accettazioni modificando la soglia decisionale. Un parametro valutativo dei sistemi biometrici è l’EER (Equal Error Rate). Esso rappresenta il punto di equilibrio del sistema, ovvero quando il tasso di falsi rifiuti è pari al tasso di false accettazioni. Più il suo valore è basso, migliore è il sistema in analisi. Lo studio degli indici di FNMR e FMR al variare della soglia permette l’impostazione di un sistema a bassa sicurezza ma con pochi errori di rifiuto (alti FMR e bassi FNMR), ad alta sicurezza ma con più falsi rifiuti (alti FNMR e bassi FMR) o equilibrato (valori di FMR e FNMR vicini all’EER). Infine un giudizio generale sulle prestazioni di un sistema biometrico può essere fatto anche mediante lo studio dell’area sottesa alla curva ROC (AUC). Quest’ultimo è un parametro valutativo calcolato in base al variare dei valori di sensibilità e specificità in funzione della soglia di riconoscimento. La sensibilità indica i Veri Positivi (TP), cioè i genuini correttamente riconosciuti, l’inverso della specificità indica invece i Falsi Positivi (FP), cioè gli impostori. Al variare della soglia impiegata per accettare i genuini e scartare gli impostori si ottengono diversi rapporti tra sensibilità e specificità. Un valore di AUC tendente al 100% indica ottimi valori di TP e FP per tutte le soglie utilizzate. 2.2 Le impronte digitali Come riportato in [2] e in [3], un’impronta digitale è un’impronta lasciata dai dermatoglifi dell’ultima falange delle dita delle mani. Un dermatoglifo è il risultato dell’alternarsi di creste e solchi. Dermatoglifi sono presenti sui palmi delle mani, sulle piante dei piedi e sui polpastrelli delle dita. Le creste variano in ampiezza da 100 ai 300 micron, mentre il periodo cresta-solco corrisponde all’incirca a 500 micron. La Figura 2.3 mostra le creste e le valli del dito di un uomo. Le impronte digitali 2.2. LE IMPRONTE DIGITALI 13 Figura 2.3: Creste e valli visibili sul dito di una mano sono utilizzate da molto tempo per l’identificazione degli esseri umani e per poterne rilevare la presenza su oggetti collegati a eventi criminosi. 2.2.1 Storia Per quanto riguarda i primordi della storia delle impronte digitali, sono state trovate tavolette babilonesi risalenti al 500 a.C. (e quasi contemporaneamente anche in Cina) riguardanti transazioni commerciali e recanti impronte impresse sulla loro superficie, probabilmente utilizzate come una specie di firma personale o di sigillo del documento. Lo studio vero e proprio delle impronte digitali, che va sotto il nome di dattiloscopia, a↵onda le sue radici in un passato molto più recente: le moderne tecniche si sono evolute da studi compiuti per la prima volta alla fine del XVII secolo d.C. Uno dei primi documenti scientifici riguardante le creste cutanee è stato il De externo tactus organo anatomica observatio, redatto nel 1665 dallo scienziato Marcello Malpighi, seguito nel 1684 dal botanico e fisico inglese Nehemiah Grew che si occupò di uno studio sulla struttura delle creste e dei pori. Successivamente, nel 1788, J. C. A. Mayer individuò e descrisse alcune caratteristiche ricorrenti delle impronte papillari, a↵ermando anche la loro unicità da individuo a individuo. La prima classificazione delle impronte digitali in nove categorie, basate sulla struttura generale delle creste, viene ideata nel 1823 con Jan Evangelista Purkyně, professore di 14 CAPITOLO 2. BIOMETRIA DELLE IMPRONTE DIGITALI anatomia all’Università di Breslavia. Nel 1880, lo scozzese Henry Faulds, medico e missionario in Giappone, in un articolo pubblicato sulla rivista scientifica Nature, suggerı̀ l’individualità delle impronte digitali e un loro possibile utilizzo nell’identificazione dei criminali. Quasi contemporaneamente, William James Herschel annunciò di averle già utilizzate per diversi anni in India a fini amministrativi, dimostrando cosı̀ la praticabilità dell’idea. Le ultime due importanti scoperte in questo campo furono apportate da Sir Francis Galton, che introdusse la struttura di minuzia nel 1888, e Sir Edward Henry, che nel 1899 realizzò un sistema di classificazione delle impronte digitali in grado di semplificare molto il processo di identificazione. In particolare, Sir Edward Henry in India nei primi anni del ventesimo secolo espanse il lavoro di Galton arrivando a definire cinque classi di base. Si può quindi ritenere che già nei primi anni del ventesimo secolo, la formazione e i principi generali alla base delle impronte digitali e della loro verifica fossero già ben compresi a tal punto da consentire un loro primo utilizzo nei tribunali di giustizia di diversi stati. 2.2.2 Immutabilità e individualità L’identificazione attraverso l’utilizzo delle impronte digitali è basata su due basilari premesse: l’immutabilità, secondo la quale le caratteristiche delle impronte digitali non cambiano attraverso il tempo, e l’individualità, la quale a↵erma che l’impronta è unica da individuo a individuo. Immutabilità Le impronte digitali si formano definitivamente nel feto al settimo mese di gravidanza e non cambiano per tutta la vita. In caso di graffi o tagli, la pelle dei polpastrelli ricresce con le stesse caratteristiche. Modificarle chirurgicamente è quasi impossibile: un medico riconoscerebbe a occhio nudo che la cresta originaria è stata sostituita da una cicatrice. Per trattare brevemente l’aspetto dal punto di vista biologico, la pelle è costruita da tre tipi di tessuto, epidermide e derma, che insieme formano la cute e l’ipoderma che si trova più in profondità. Mentre l’epidermide costituisce lo strato più 2.2. LE IMPRONTE DIGITALI 15 superficiale, il derma si trova immediatamente sotto a questa e quindi ha con lei intimi rapporti, perché la sostiene, la nutre e o↵re sede alle appendici epidermiche (le ghiandole e i peli). L’epidermide e il derma sono uniti tramite le papille dermiche, cioè dei prolungamenti conici di tessuto connettivo che dal derma si estendono a compenetrare l’epidermide. Il disegno superficiale della cute è in rapporto al variare della disposizione e dello spessore delle fibre connettive del derma e questo dà origine a una precisa disposizione papillare. Questo disegno è appunto cosı̀ tipico che è utilizzabile per l’identificazione di un individuo e, a meno di traumi o di interventi, la prima caratteristica di persistenza è assicurata quindi dalla ricrescita dello strato di pelle morta con le stesse esatte caratteristiche. Le impronte digitali fanno parte, insieme all’aspetto fisico, del fenotipo di un individuo, che si ritiene sia univocamente determinato dalla combinazione di uno specifico genotipo con uno specifico ambiente. La loro formazione è quindi simile a quella dei vasi sanguigni nell’angiogenesi; le caratteristiche generali cominciano a emergere con la definizione della pelle sui polpastrelli, ma allo stesso tempo la posizione del feto nell’utero e i flussi del liquido amniotico cambiano durante questo processo di formazione rendendolo unico. Questo micro ambiente varia da mano a mano e da dito a dito: esistono quindi molti fattori che variano durante tale sviluppo, anche se esiste un patrimonio genetico che in principio lo ha fortemente influenzato. Individualità Per quanto riguarda quindi la seconda premessa, l’individualità, essa viene ritenuta essere vera sulla base di risultati empirici, ma non ne è stata scientificamente dimostrata la validità assoluta. L’unicità di un’impronta digitale è un’ipotesi di lavoro che in senso matematico è difficile, se non impossibile, da provare. La dimostrazione opposta è sicuramente più facile da ottenere in teoria, trovando nella pratica due impronte digitali identiche di due dita diverse. L’uguaglianza di due impronte appartenenti a due persone diverse, dalla loro scoperta ad oggi non è stata mai provata. 16 CAPITOLO 2. BIOMETRIA DELLE IMPRONTE DIGITALI Figura 2.4: Esempio di minuzie di tipo biforcazione (nel quadrato) e terminazione (nel cerchio) 2.2.3 Classificazione A livello globale, lo schema di creste-valli esibisce una o più regioni caratterizzate da una forma particolare; esse vengono definite “regioni o punti singolari”. La presenza di tali regioni determina la classificazione dell’intera impronta digitale in una delle cinque classi definite da Sir Edward Henry. Già agli albori della loro utilizzazione infatti, appariva necessario un sistema di suddivisione delle impronte digitali in classi per rendere più veloce il processo di comparazione. Tali classi sono chiamate Right Loop (che è rilevabile con una frequenza del 31,7%), Left Loop (33,8%), Arch (3,7%), Tented Arch (2,9%) e infine, Whorl (27,97%). Si definisce questo tipo di analisi come di Primo livello. A livello locale invece, le discontinuità delle creste vengono chiamate minuzie, o “dettagli di Galton”, in onore del primo studioso che ne approfondı̀ lo studio e ne accertò la persistenza. Esse possono essere fatte corrispondere semplicisticamente alle terminazioni o alle biforcazioni delle creste (si veda l’esempio in Figura 2.4, dove il cerchio evidenzia una terminazione e il quadrato, una biforcazione). Si definisce questo tipo di analisi come di Secondo livello. Esiste anche un’analisi di terzo livello. In questo caso vengono analizzati i pori per la sudorazione distribuiti sulle creste e le creste non completamente formate 2.2. LE IMPRONTE DIGITALI 17 (incipient ridges) poste tra quelle completamente formate. I dettagli di terzo livello sono considerati altamente distintivi, ma sono rilevabili solo ad altissima risoluzione, almeno 1000 dpi, e in condizioni di acquisizione ideali. Tipi di impronte digitali L’impronta digitale è costituita non solo da linee ma anche dalla figura che esse creano, e non ne esistono cosı̀ tante come si potrebbe supporre. Ce ne sono circa sette tipi diversi: • Arch: Le linee vanno come le onde da un lato all’altro, • Tentarch: Come il precedente ma con un bastone crescente nel mezzo, • Left/right loop: Le linee partono da un lato e rientrano nel mezzo dello stesso lato, • Double loop: Come il precedente ma con due cappi interni che vanno in direzioni opposte, • Left/right pocket loop: Come il loop ma con un piccolo cerchio nel punto di svolta, • Whorl: Le linee formano una spirale, • Misto: Composto con varie figure. La Figura 2.5 mostra graficamente i diversi tipi di impronta digitale. 18 CAPITOLO 2. BIOMETRIA DELLE IMPRONTE DIGITALI Figura 2.5: Classificazione delle impronte digitali Capitolo 3 Stato dell’arte La maggior parte degli attuali sistemi di riconoscimento dell’impronta digitale effettuano l’acquisizione appoggiando il dito sul lettore, ne sono un esempio i sensori ottici o a stato solido. Questo tipo di sensori, detti a contatto, so↵rono dei seguenti problemi intrinseci: • L’immagine dell’impronta digitale presenta delle deformazioni dovute alla frizione del dito sul lettore, • Il contrasto dell’immagine può non essere uniforme per via di una pressione non costante del dito, della secchezza della pelle, delle malattie, del sudore, dello sporco e dell’umidità nell’aria, • Per ogni acquisizione, un’impronta latente resta sul sensore, introducendo un problema di sicurezza. Come mostrato in [4], in letteratura sono presenti recenti studi che mirano a superare questi problemi creando un sistema di riconoscimento delle impronte digitali senza contatto in cui il dito non viene più appoggiato su un lettore. Inoltre, questi sistemi possono aumentare l’accettazione dell’utilizzo dell’impronta digitale come tratto biometrico superando limitazioni culturali e di timore legate alla trasmissione delle malattie della pelle. L’acquisizione del tratto si basa su una o più fotocamere digitali. L’immagine ottenuta presenta notevoli di↵erenze rispetto a quella ottenibile con i 19 20 CAPITOLO 3. STATO DELL’ARTE Figura 3.1: Esempio di acquisizione e↵ettuata con tecnologie di↵erenti: (a) immagine a contatto catturata con il sensore CrossMatch V300; (b) immagine senza contatto ottenuta utilizzando una fotocamera Sony XCD-SX90CR. sensori a contatto. Un esempio di immagine ottenuta con le due tipologie di sensori è mostrata in Figura 3.1. È possibile osservare che le impronte digitali senza contatto presentano più riflessi e uno sfondo più complesso. In aggiunta, anche la pelle è da considerare come parte dello sfondo, dato che le caratteristiche analizzate consistono nelle creste poste sulla superficie del polpastrello. Altri problemi sono legati alla risoluzione incostante dell’immagine e alle distorsioni date dalla prospettiva. Per risolvere questi problemi, recenti studi hanno proposto varie soluzioni hardware e software. Tutti i sistemi presenti in letteratura possono essere suddivisi nei seguenti passi: • Acquisizione, • Calcolo di un’immagine a contatto equivalente, • Estrazione delle caratteristiche, • Confronto. Lo schema del processo di riconoscimento biometrico è mostrato nella Figura 3.2. Discriminando i sistemi in base al metodo di acquisizione, possiamo classificare i lavori presenti in letteratura in due grandi gruppi: acquisizione di dati bidimensionali 3.1. SISTEMI BIDIMENSIONALI 21 Figura 3.2: Schema del processo di riconoscimento biometrico senza contatto. e acquisizione di dati tridimensionali. I primi, solitamente, si basano su una sola fotocamera digitale, i secondi possono essere basati su viste multiple, luce strutturata o stereo-fotometria. La computazione di un’immagine a contatto equivalente ha come obiettivo di ottenere una buona visibilità delle creste che costituiscono l’impronta digitale con una risoluzione costante. Questo processo viene eseguito in modo differente dai due tipi di sistema. L’estrazione delle caratteristiche e il confronto sono solitamente e↵ettuati con gli algoritmi già utilizzati per le immagini a contatto. La risoluzione costante è un punto cruciale per il buon funzionamento di quest’ultimi algoritmi poiché spesso i confronti delle impronte digitali si basano sulla distanza euclidea tra le minuzie. Il capito è strutturato nel seguente modo: nella Sezione 3.1 sono presentati una serie di lavori basati sui sistemi bidimensionali. Nella Sezione 3.2 sono analizzati i sistemi tridimensionali. 3.1 Sistemi bidimensionali I sistemi di riconoscimento senza contatto basati su campioni bidimensionali presentano delle di↵erenze importanti tra loro. In letteratura, ci sono tecnologie basate 22 CAPITOLO 3. STATO DELL’ARTE su acquisizioni senza vincoli, integrabili anche in dispositivi mobili, e sistemi più complessi e vincolanti che mirano ad ottenere prestazioni migliori. 3.1.1 Acquisizione La modalità più semplice di acquisizione consiste nell’utilizzo di una singola fotocamera in condizioni di illuminazione non controllata. Uno studio delle impronte digitali rilevate tramite una webcam con illuminazione naturale è presentato in [5], e metodi basati sulla fotocamera dei telefoni cellulari sono descritti in [6, 7]. Le immagini catturate in questi modi, tuttavia, presentano un basso contrasto tra le creste e le valli delle impronte digitali. Per questo motivo, sono spesso utilizzate delle tecniche di illuminazione controllata, cosı̀ da migliorare la qualità delle immagini. Alcuni studi si basano su sistemi di illuminazione semplice composti da una singola fonte di luce [8, 9, 10, 11, 12, 13]. Altri studi utilizzano una luce di↵usa uniforme per migliorare il contrasto [14]. Ci sono studi basati su anelli di illuminazione appositamente progettati [15], che permettono di ottenere raggi di luce perpendicolari a tutta la superficie del dito. Sono stati e↵ettuati degli studi anche per comprendere qual è la lunghezza d’onda che illumina meglio le creste delle impronte digitali [16, 17]. È emerso che i raggi con maggiore lunghezza d’onda, come la luce bianca e gli infrarossi, tendono a penetrare la pelle e a essere assorbiti dall’epidermide. Per contro, la luce blu con una lunghezza d’onda di 500 nm ha un minore assorbimento da parte dell’emoglobina e permette una migliore visibilità delle creste. Il sistema di acquisizione descritto in [18] utilizza una luce rossa posizionata sopra l’unghia per focalizzare la luce trasmessa attraverso il dito in un sensore CCD. Questa tecnica permette di ottenere delle immagini più robuste alle malattie della pelle e all’invecchiamento, ma richiede un ambiente di acquisizione vincolato. Un altro aspetto dei sistemi di acquisizione è la distanza tra il dito e la fotocamera. La maggior parte dei sistemi e↵ettuano le acquisizioni a una distanza inferiore ai 10 cm dal sensore. Solo alcuni metodi catturano le immagini a una distanza maggiore di 20 cm [11, 12, 13, 14]. Per evitare la sfocatura da movimento e ottenere immagini con risoluzione costante, la maggior parte dei sistemi in letteratura utilizzano delle guide al posizionamento del 3.1. SISTEMI BIDIMENSIONALI 23 dito poste a una distanza fissa dal dispositivo di acquisizione. Ci sono anche studi in ambienti senza vincoli [11]. Data la forma curva del dito, le immagini catturate da una sola fotocamera presentano una risoluzione non costante. Nel tentativo di ridurre questo problema, alcuni sistemi utilizzano più fotocamere posizionata intorno al dito [19]. In letteratura, ci sono anche dei sistemi basati sull’acquisizione di più dita e sistemi capaci di catturare sia le impronte digitali che il percorso delle vene sottostanti [20]. 3.1.2 Calcolo di un’immagine equivalente a quella a contatto La gran parte dei sistemi di riconoscimento dell’impronta digitale senza contatto in letteratura e↵ettuano l’estrazione delle caratteristiche e il confronto con i metodi sviluppati per le immagini a contatto, cosı̀ da ottenere dei risultati compatibili con i metodi tradizionali, tra cui AFIS (Automated Fingerprint Identification Systems). Questi algoritmi, se applicati direttamente alle immagini senza contatto originali, tipicamente producono scarsi risultati. Come mostrato in [6], i software commerciali per il riconoscimento delle impronte digitali possono ottenere risultati sufficienti soltanto con immagini senza contatto di qualità molto alta. Al fine di ottenere delle immagini compatibili con i sistemi a contatto vanno dunque calcolate delle immagini equivalenti. Questo passaggio mira a ottenere delle immagini che rappresentano solo il percorso delle creste con una risoluzione costante. Un esempio di immagine equivalente al contatto è mostrato in Figura 3.3. Nei sistemi basati su una singola immagine, la computazione di un’immagine equivalente al contatto può essere divisa in due passaggi: miglioramento e normalizzazione della risoluzione. In letteratura ci sono vari metodi per il miglioramento di questo tipo di immagini. Quello proposto in [11, 12, 13, 6, 21, 14] prima di tutto e↵ettua una sottrazione dello sfondo e dunque applica degli algoritmi di filtraggio contestuali. Altre tecniche utilizzano algoritmi di miglioramento morfologici prima di applicare i metodi di filtraggio contestuale [8, 9, 10]. Ci sono anche dei metodi basati sulle tecniche di sottrazione dello sfondo e su i filtraggi in frequenza [5]. Dato che la maggior parte dei sistemi di riconoscimento dell’impronta digitale sono basati sulle tecniche di comparazione 24 CAPITOLO 3. STATO DELL’ARTE Figura 3.3: Esempio di immagine a contatto ottenuta da una senza contatto: (a) immagine senza contatto; (b) immagine equivalente al contatto. dell’identità che richiedono una risoluzione fissa dell’immagine (per esempio gli algoritmi di confronto delle minuzie), una fase di normalizzazione della risoluzione è solitamente svolta. Nella gran parte dei sistemi senza contatto, questa operazione è e↵ettuata con un coefficiente di ridimensionamento costante calcolato analizzando la distanza tra le fotocamere e il supporto di posizionamento del dito. Nei sistemi senza vincoli, questo coefficiente può soltanto essere stimato dalle immagini catturate [5]. I sistemi di acquisizione a due dimensioni, tuttavia, non possono ottenere delle immagini con una risoluzione costante in ogni parte del dito poiché so↵rono di deformazioni da prospettiva. Alcuni metodi in letteratura riducono questo problema calcolando un’immagine equivalente al tocco partendo da acquisizioni multiple del dito da più prospettive [19]. Un approccio di↵erente calcola l’immagine equivalente al tocco da una sequenza di frame che riprendono il dito muoversi in uno specchio ad anello. Un approccio software per la compensazione delle distorsioni da prospettiva dovute alla rotazione del dito è descritto in [14]. 3.1.3 Confronto delle identità La maggior parte dei sistemi di riconoscimento dell’impronta digitale senza contatto in letteratura è basata su algoritmi progettati per l’analisi delle minuzie in immagini 3.1. SISTEMI BIDIMENSIONALI 25 acquisite tramite il contatto. Nei sistemi senza vincoli, tuttavia, le tecniche tradizionali basate sulle minuzie possono ottenere scarsi risultati a causa della presenza di distorsioni da prospettiva, della risoluzione non costante dei campioni e del minore contrasto tra le creste e le valli componenti l’impronta digitale. Dei metodi di estrazione delle caratteristiche e confronto progettati per superare questi problemi sono stati quindi studiati. Il metodo descritto in [12] e↵ettua l’estrazione delle caratteristiche di primo livello utilizzando un classificatore a rete neurale. Da ogni immagine in ingresso al sistema vengono estratte due caratteristiche. La prima consiste nella classe dell’impronta digitale. Viene ottenuta dal classificatore PCASYS del National Institute of Standard and Technologies (NIST). Questa informazione descrive la struttura globale delle creste. Il software categorizza le immagini in sei classi: arch, left loop, right loop, scar, tented arch e whorl. La seconda caratteristica è un vettore contenente tutti i punti singolari (SP, singular point) dell’immagine. Questi sono zone dell’impronta digitale che corrispondono a forme delle creste predeterminate. Il confronto delle caratteristiche estratte viene e↵ettuato attraverso la famiglia delle “k-Nearest Neighbor classifier” con k (1, 3, 5, 10) e una rete neurale “Feed Forward (FF-Nr)” con un di↵erente numero di neuroni Nr (1, 3, 5, 10). Al fine di verificare l’accuratezza del metodo, gli autori hanno creato due database popolati a partire dalle stesse dita ma campionati in modo di↵erente: il primo database con un lettore di impronte digitali a contatto e il secondo con una fotocamera. Confrontando i risultati si può notare che le prestazioni con i due gruppi di immagini sono paragonabili. Una tecnica di confronto delle minuzie basata sulle reti neurali è proposta in [13]. Dopo una fase iniziale di conversione delle immagini senza contatto in immagini a contatto, vengono estratte le minuzie di secondo livello dalle impronte digitali attraverso il software Mindtct del NIST. Questo è uno dei software più utilizzati in letteratura per l’estrazione delle minuzie dalle impronte digitali. L’efficacia delle caratteristiche estratte viene verificata con più algoritmi. Nel dettaglio, è stato scelto il “Linear Bayes Normal Classifier (LDC)”, la famiglia delle “k-Nearest Neighbor classifier” con k (1, 3, 5, 10), la “Linear classifier by KL expansion of common covariance matrix (KLLDC)”, la “Linear classifier by PCA expansion on the joint data (PCA-LDC)” e una rete neurale “Feed Forward (FF-Nr)” con un di↵erente 26 CAPITOLO 3. STATO DELL’ARTE numero di neuroni Nr (1, 3, 5, 10). Con un database di 120 immagini di due dita, viene raggiunto un EER dello 0,8% con la FF-Nr 1. Il sistema descritto in [22] e↵ettua la comparazione dell’identità tramite le macchine a vettori di supporto. Insieme a un meccanismo di protezione del template, viene implementato un sistema biometrico con cifratura “end-to-end”. Come in tutti gli altri sistemi in esame, le immagini subiscono inizialmente una fase di preelaborazione. Essa è caratterizzata dalla segmentazione del dito basata sul colore della pelle, dagli operatori morfologici, dal ritaglio dell’area di interesse e dal miglioramento della visibilità delle creste attraverso la trasformata di Fourier breve (STFT, Short Time Fourier Transform). Dopo questa fase, una tecnologia nominata “Multiple Random Projections-Support Vector Machine (MRP-SVM)” è utilizzata per proteggere il template e migliorare le prestazioni. MRP in una prima fase si occupa di estrarre le caratteristiche, dunque esegue le proiezioni casuali matriciali. Se il template creato diviene compromesso, è sufficiente crearne uno nuovo con una nuova matrice casuale. Dal vecchio template non è possibile ricostruire l’impronta digitale originale poiché la funzione generatrice è unidirezionale. Nel passo successivo i template sono processati dalla SVM che discrimina genuini e impostori, calcolando infine l’EER. Il database è proprietario, sono 1938 immagini collezionate da 103 dita. L’ambiente di acquisizione è vincolato e la fotocamera è una Canon PowerShot Pro1. Il sistema raggiunge un EER del 3,63%, tuttavia la fase di ritaglio dell’impronta digitale non è automatizzata ma manuale. 3.1.4 Sistemi rilevanti In questa sezione sono analizzati alcuni tra i lavori più rilevanti nel campo dei sistemi biometrici basati sulle impronte digitali senza contatto. Acquisizione delle impronte digitali con una webcam In [5] gli autori mostrano come sia possibile rilevare l’impronta digitale fotografando un dito con una webcam Microsoft LifeCam VX-1000 a risoluzione di 640x480 pixel. Assume un ruolo importante un nuovo processo di miglioramento dell’immagine cat- 3.1. SISTEMI BIDIMENSIONALI 27 Figura 3.4: Struttura completa del metodo proposto in [5] turata, antecedente la fase di estrazione delle caratteristiche (detto preprocessing), per risolvere problemi comuni come la sfocatura data da un’errata messa a fuoco delle lenti o dal movimento del soggetto di fronte alla fotocamera. Inoltre è sempre presente il rumore elettronico specifico dei sensori CCD. Per valutare il sistema proposto ogni impronta digitale viene rilevata anche con un lettore tradizionale a contatto, il Cross Match Verifier 300. I due tipi di campioni vengono poi comparati. Nella fase iniziale, una volta che l’immagine è stata catturata, si eseguono le operazioni preliminari. Si applica un filtro per ridurre la sfocatura, si sottrae lo sfondo, si identifica la posizione precisa del dito nell’immagine, si calcola la frequenza delle creste e il loro orientamento. Terminate queste operazioni si ottiene un’immagine in cui restano visibili solo le creste delle impronte digitali. È dunque possibile procedere con i metodi classici di estrazione delle minuzie e di confronto. La Figura 3.4 mostra lo schema di questo processo. Il metodo proposto ottiene risultati inferiori rispetto al lettore a contatto preso come riferimento. Il sistema senza contatto ha un EER pari a 0,042 e un FNMR con FMR = 0,01 pari a 0,11. Il sistema a contatto ha un 28 CAPITOLO 3. STATO DELL’ARTE EER pari a 0,040 e un FNMR con FMR = 0,01 pari a 0,051. Sistema di controllo qualità per le immagini senza contatto In [7] viene implementato un sistema di controllo qualità per le impronte digitali catturate con gli smartphone. Un punto critico per le acquisizioni senza vincoli è la dinamicità dello sfondo che può causare errori nel rilevamento dell’impronta digitale. Invece di eseguire la segmentazione del dito, che secondo gli autori è un processo complesso e troppo costoso per le capacità hardware di un telefono, l’immagine viene divisa in blocchi e per ognuno di essi viene assegnato un punteggio di qualità. Combinando tutti i punteggi viene deciso se mantenere l’immagine o scartarla e tentare una nuova acquisizione. Il processo proposto per il calcolo del punteggio si divide nelle seguenti fasi: 1. Allenamento manuale di una macchina a vettori di supporto (SVM, dall’inglese Support Vector Machines) con i vari possibili scenari, 2. Allineamento dei blocchi in base all’orientamento delle creste tramite l’analisi in componenti principali (PCA, dall’inglese Principal Component Analysis) del gradiente, 3. Estrazione di sei caratteristiche normalizzate da ogni blocco basate sull’autocorrelazione e la trasformata discreta del coseno, 4. Assegnamento del punteggio di qualità da parte dell’SVM. Sono acquisite le dita di 25 persone, in totale 100 dita di↵erenti, ovvero 2100 immagini in tutto. Le immagini hanno uno sfondo dinamico. I punteggi sono divisi in tre gruppi: qualità bassa, media, alta. Per ogni gruppo viene calcolato l’EER, rispettivamente risulta pari a: 19,36%, 7,4% e 5,81%. Gli autori provano anche a classificare le impronte digitali con il software Neurotechnology VeriFinger 6.0. Esso mostra di non operare in modo ottimale con le impronte senza contatto e produce EER superiori e incoerenti con la scala della qualità bassa, media, alta precedentemente definita. 3.1. SISTEMI BIDIMENSIONALI 29 Immagini acquisite da smartphone e processate con VeriFinger Un approccio semplice è mostrato in [6]. Gli autori mettono alla prova l’SDK del software VeriFinger con le immagini delle impronte digitali acquisite senza contatto. Vengono utilizzati i telefoni cellulari Nokia X6 e HTC HD2, entrambi dotati di una fotocamera da 5 Mega pixel. Dai loro esperimenti deducono che le condizioni ideali per rilevare l’impronta digitale sono le seguenti: • Esposizione diretta alla luce del sole, senza flash, sia al chiuso che all’aperto, • La distanza tra il dito e la fotocamera è intorno ai 10 cm, • Il polpastrello è ben visibile, • L’orientamento a ritratto è preferito, • Nessuno zoom, modalità macro, • Le migliori immagini possono essere scattate dove lo sfondo è scuro, dal blu al nero. Il processo di elaborazione da loro proposto si divide nei seguenti passi: 1. Processo preliminare, modifica della dimensione dell’immagine, L’obiettivo è di rendere l’immagine più simile a quella che un lettore a contatto produrrebbe. Viene ritagliata e mantenuta solo la parte centrale dell’impronta digitale, come mostrato in Figura 3.5. 2. Estrazione delle minuzie con VeriFinger, 3. Confronto delle minuzie, Due immagini dello stesso dito sono processate per la verifica con l’SDK di VeriFinger. Un’immagine è usata come riferimento, l’altra come verifica. Il risultato è verificato manualmente. Gli autori, dai risultati che visionano, concludono che sia possibile confrontare le minuzie con il metodo proposto, a patto che le immagini siano di ottima qualità. 30 CAPITOLO 3. STATO DELL’ARTE Figura 3.5: Ritaglio dell’immagine cosı̀ da renderla più simile a un’impronta digitale a contatto come riportato in [6]. Algoritmi di preprocessing per migliorare il rilevamento del centro dell’impronta digitale In [8], gli autori mostrano una tecnica per segmentare, migliorare e trovare il centro dell’immagine di una impronta digitale. È loro parere che delle buone prestazioni in un sistema biometrico basato sulle impronte digitali senza contatto debba avere degli ottimi algoritmi di preparazione dell’immagine all’estrazione delle caratteristiche. Tra questi algoritmi va sottolineato quello che si occupa di trovare il centro dell’impronta digitale. La procedura di preprocessing dell’immagine è la seguente: 1. Conversione in scala di grigi e normalizzazione, 2. Determinazione della probabile posizione del dito, 3. Creazione di una maschera binaria con operatori morfologici per delimitare l’area del dito, 4. Ritaglio e miglioramento dell’area di interesse con le tecniche STFT (in inglese Short-Time Fourier Transform), 5. Calcolo dell’orientamento delle creste e del centro dell’impronta digitale. La fotocamera utilizzata è una Canon PowerShot Pro1, con 8 megapixel e uno zoom ottico Canon serie L. Le alte prestazioni di questo dispositivo permettono di mettere a fuoco il dito con una distanza minima di solo 3 cm, ottenendo un primo piano ben a 3.1. SISTEMI BIDIMENSIONALI 31 fuoco e uno sfondo molto sfocato. Questo aiuta a rilevare l’area del dito. L’ambiente di rilevamento è vincolato: la posizione della luce artificiale bianca, della fotocamera e del dito sono fissi sulla scrivania. La prima fase di preprocessing ha soprattutto lo scopo di uniformare la luminosità dell’immagine. Questo processo è importante dato che una illuminazione non costante è uno dei principali motivi che degradano le prestazioni del sistema.L’algoritmo di normalizzazione, per operare, calcola la media e la varianza dell’immagine. Nella seconda e terza fase un algoritmo viene allenato con 1056 di↵erenti tonalità della pelle, questo permette ad esso di segmentare l’area del dito. Nella quarta e quinta fase l’immagine viene divisa in blocchi parzialmente sovrapposti. Per ogni blocco viene analizzato l’orientamento delle creste e ridotto il rumore applicando gli operatori morfologici di chiusura e apertura. Infine, viene stimato il centro dell’impronta digitale rilevando il punto di maggiore curvatura delle creste. Su un totale di 1938 immagini, la tecnica proposta rileva correttamente le creste e il centro dell’impronta digitale nel 95,44% dei casi. Nei casi di errore, i problemi sono legati a una scarsa qualità dell’immagine a↵etta da sfocatura, movimento del soggetto o rughe troppo profonde nel dito. Stima della distorsione da prospettiva in ambienti di acquisizione non controllati In [14] gli autori propongo un nuovo metodo per sopperire ai problemi di distorsione da prospettiva e agli errori di allineamento imperfetto tra il dito e la fotocamera nei sistemi di riconoscimento basati su una sola camera. L’approccio proposto stima le di↵erenze di orientamento tra due acquisizioni senza contatto utilizzando una rete neurale e un modello tridimensionale della superficie del dito. L’utilizzo di una sola telecamera permette di aumentare i possibili scenari applicativi della biometria delle impronte digitali. Per esempio, questi sistemi possono essere adottati anche in dispositivi mobili dotati di fotocamera senza aggiungere nuovo hardware. Inoltre questo sistema è più robusto alla polvere e allo sporco, rispetto alle tecnologie a contatto. La distorsione da prospettiva può ridurre drasticamente l’accuratezza degli algoritmi 32 CAPITOLO 3. STATO DELL’ARTE di confronto dato che, la maggior parte di essi, richiede dei campioni con risoluzione costante. Gran parte di questi algoritmi, in e↵etti, sono basati sulla valutazione della distanza euclidea tra i punti delle minuzie. Ci sono molti contesti reali dove è difficile rispettare questi limiti. Scopo di questo articolo è la creazione di un sistema biometrico che possa operare anche in ambienti di acquisizione non controllati. L’approccio proposto usa una rete neurale e delle caratteristiche specificatamente progettate per stimare le di↵erenze nell’angolatura di rotazione tra le varie acquisizioni. Questa stima permette di calcolare un immagine tridimensionale sintetica che possa essere ruotata per migliorare il confronto. Nella fase di registrazione iniziale, vengono memorizzati più template della stessa acquisizione, ognuno con un angolo di rotazione di↵erente. Ogni template consiste in una serie di minuzie estratte utilizzando il software MINDTCT del National Institute of Standards and Technology (NIST). In aggiunta ci sono le informazioni relative alle deformazioni date dalla prospettiva, ovvero un vettore di 18 numeri reali estratti dalla forma del dito e il percorso delle creste. Nel database creato, pari a 800 impronte digitali senza contatto, il metodo proposto permette di ottenere un EER pari a 2,20%. L’uso di una rete neurale rende il processo robusto pur mantenendo basse le necessità computazionali. 3.2 Sistemi tridimensionali Rispetto ai sistemi bidimensionali, le tecnologie basate su dati tridimensionali forniscono più informazioni e campioni meno distorti. Il campione ottenuto, in e↵etti, è una ricostruzione metrica della pelle del dito. Per contro, questi sistemi, sono tipicamente basati su ambienti di acquisizione più complessi e costosi. Il processo di acquisizione può essere basato su di↵erenti strategie di ricostruzione tridimensionale, quali i metodi a viste multiple, le tecniche a luce strutturata, o i metodi di stereo fotometria. Anche il campione ottenuto presenta delle di↵erenze importanti. La maggior parte dei sistemi in letteratura calcola un’immagine equivalente al tocco per poter ottenere informazioni compatibili con l’esistente AFIS. I processi di estrazione delle caratteristiche e di confronto sono dunque e↵ettuati utilizzando algoritmi sviluppati 3.2. SISTEMI TRIDIMENSIONALI 33 Figura 3.6: Esempio di modelli 3D ottenuti con tecniche di↵erenti: (a) volume del dito con sovrimpresso l’immagine delle creste; (b) porzione di un modello tridimensionale delle creste e dei solchi. per i campioni a contatto. Ci sono anche studi preliminari sull’uso di algoritmi che lavorano direttamente sulle immagini tridimensionali. 3.2.1 Acquisizione Le tecniche dei sistemi di acquisizione tridimensionali presentano importanti di↵erenze tra loro. I sistemi basati su viste multiple possono semplicemente ottenere un campione composto dal volume del dito con sovrimpresso l’immagine bidimensionale del percorso delle creste. Invece, i sistemi basati sulla luce strutturata e la fotometria stereo possono stimare anche un modello tridimensionale delle creste e dei solchi. Tuttavia, questi sistemi richiedono una maggiore cooperazione da parte dell’utente. Egli deve restare fermo per tutto il tempo necessario all’acquisizione di un modello 3D, processo certamente più lento rispetto al catturare una fotografia del dito. La Figura 3.6 mostra un esempio del volume del dito con sovrimpresso il percorso delle creste e un modello 3D delle creste e dei solchi. 34 CAPITOLO 3. STATO DELL’ARTE Un dispositivo di acquisizione basato sulle tecniche di viste multiple è presentato in [23, 24]. L’ambiente di acquisizione è composto da cinque fotocamere posizionate lungo un semicerchio e orientate tutte al suo centro, ovvero dove il dito deve essere posto durante l’acquisizione biometrica. Vengono inoltre utilizzate cinque luci LED posizionate sempre intorno al dito. Il sistema di ricostruzione 3D utilizzato prima di tutto stima il volume del dito in modo grezzo attraverso la sua sagoma e dunque perfeziona il modello grazie alla triangolazione di una serie di punti fissati e algoritmi basati sulla correlazione. Il sistema presentato in [21] utilizza un ambiente di acquisizione basato su due fotocamere e della luce strutturata con un pattern statico proiettato per poter e↵ettuare una ricostruzione 3D veloce in un ambiente meno vincolato. Un altro sistema basato sulle tecniche di luce strutturata è presentato in [25, 26]. Questo sistema permette di stimare sia la forma 3D delle creste e dei solchi che l’aspetto visuale del percorso delle creste del dito. La ricostruzione tridimensionale è e↵ettuata tramite la proiezione di uno schema d’onda sinusoidale ruotato molte volte. La struttura delle creste è calcolata con le caratteristiche albedo. Un sistema di acquisizione basato sulla “photometric stereo” è descritto in [27]. Esso stima la forma 3D delle creste da una sequenza di fotogrammi catturati da una sola fotocamera. Vengono utilizzati sette LED disposti in modo simmetrico. L’algoritmo di ricostruzione tridimensionale utilizzato è basato sul riflesso uniforme della superficie lambertiana [28]. 3.2.2 Calcolo di un’immagine equivalente a quella a contatto Questo processo mira a ottenere delle immagini del percorso delle creste compatibili con i database biometrici già esistenti e con i software AFIS. Un esempio di immagine equivalente ottenuta da un modello tridimensionale del dito è mostrato in Figura 3.7. I modelli tridimensionali vengono mappati nello spazio a due dimensioni attraverso degli algoritmi che permettono di preservare le distanze tra i punti discriminanti dell’impronta digitale. Questo processo è comunemente chiamato “scartamento” o “svolgimento”, in inglese unwrapping o unrolling. L’ultimo passo consiste nel 3.2. SISTEMI TRIDIMENSIONALI 35 Figura 3.7: Esempio di un’impronta digitale equivalente al contatto ottenuta da un modello tridimensionale: (a) volume del dito e percorso delle creste; (b) immagine equivalente al contatto. miglioramento della struttura delle creste ed è basato sulle stesse strategie utilizzate per le immagini senza contatto bidimensionali. Gli algoritmi di scartamento in letteratura possono essere divisi tra quelli che utilizzano dei metodi parametrici (tecniche basate su dei modelli geometrici definiti in precedenza che approssimano la forma del dito) e quelli che usano dei metodi non parametrici (tecniche che non hanno assunzioni a priori sulla forma del dito). Un algoritmo semplice di unwrapping basato sulla strategia parametrica è proposto in [6] ed è basato sulla conversione del dito 3D in coordinate cilindriche. L’immagine ottenuta, tuttavia, presenta delle distorsioni lungo l’asse x non trascurabili. Il metodo descritto in [25] approssima la forma del dito utilizzando una serie di anelli, convertendo ogni anello in coordinate polari. Un altro metodo parametrico è descritto in [29]. Esso, prima di tutto, approssima la forma del dito a una sfera e dunque migliora il risultato attraverso una strategia di mappatura non lineare. La strategia non parametrica proposta in [6] mira a preservare la distanza tra i 36 CAPITOLO 3. STATO DELL’ARTE punti della superficie. Innanzitutto, essa divide il modello del dito in sezioni lungo la direzione verticale, e dunque spiega ogni fetta con un algoritmo di ricampionamento che cerca di preservare le distanze tra i punti appartenenti alla sezione. Un altro metodo non parametrico è presentato in [30]. Esso calcola il piano dei punti più adatto per ogni regione locale del modello 3D del dito, dunque svolge i punti per ogni piano minimizzando una funzione di costo che descrive il movimento esercitato tra ogni punto e i suoi vicini. Con l’obiettivo di migliorare la compatibilità tra le immagini equivalenti al tocco e i database già esistenti, il metodo proposto in [31] include una simulazione della pressione del dito appoggiato su un sensore a contatto. In letteratura, ci sono anche dei metodi per valutare la qualità delle immagini equivalenti al tocco ottenute tramite lo svolgimento di un modello tridimensionale [32]. 3.2.3 Confronto delle identità La maggior parte dei metodi in letteratura adottano delle tecniche di confronto progettate per le immagini a contatto. Degli studi preliminari sulle caratteristiche di Primo livello estratte dai modelli tridimensionali e delle tecniche sul confronto delle minuzie 3D sono riportati in [27]. Il sistema implementato svolge innanzitutto l’estrazione delle minuzie e il confronto su un database di immagini 2D. Viene utilizzata la distanza euclidea. Dunque si espandono i dettagli delle minuzie trovate nel campo del 3D. Si aggiunge la coordinata z e il corrispondente angolo sferico alle usuali coordinate 2D x, y e il relativo angolo. Con un database appositamente creato, composto da 1440 immagini senza contatto di 240 dita, le prestazioni del sistema 3D risultano leggermente peggiori del corrispondente 2D. Esse sono rispettivamente pari a 2,73% e 2,12%. Gli autori mostrano dunque interesse alla multi-biometria: unendo i sistemi 3D e 2D è possibile abbassare l’EER a 1,02%. Con l’obiettivo di ridurre lo sforzo necessario a collezionare i dati necessari per la progettazione e la valutazione degli algoritmi di estrazione delle caratteristiche e 3.2. SISTEMI TRIDIMENSIONALI 37 confronto, anche dei metodi per la simulazione di modelli tridimensionali sintetici sono stati studiati [33, 34]. 3.2.4 Livello commerciale In [35], gli autori mostrano le performance delle tecnologie 3D disponibili in commercio. Le impronte digitali tridimensionali sono state raccolte utilizzando uno scanner sviluppato dalla TBS North America. Esso utilizza una tecnologia di acquisizione delle impronte digitali 3D chiamata Surround Imager: il dispositivo è un gruppo di tre telecamere situate su un semicerchio che puntano al centro di quest’ultimo, ovvero dove il dito deve essere collocato durante l’acquisizione. Inoltre, il dispositivo contiene una schiera di LED verdi. La grande dimensione dello scanner è stata scelta per dissipare il calore generato dal sistema di illuminazione. È stato creato un database di 3000 immagini, composto da una doppia acquisizione delle 10 dita di 150 volontari. Un’ulteriore collezione di 3000 immagini, organizzate nello stesso modo, è stata e↵ettuata per confrontare le prestazioni con lo scanner 2D ottico a contatto CROSSMATCH Verifier 300 LC 2.0. Le operazioni di confronto sono tutte e↵ettuate con il software VeriFinger SDK. I primi risultati, ottenuti senza operazioni di preprocessing sulle immagini tridimensionali, mostrano un EER peggiore nel sistema 3D rispetto al corrispondente 2D. Successivamente, il contrasto dei campioni 3D viene migliorato utilizzando l’algoritmo “contrast-limited adaptive histogram equalisation (CLAHE)” . L’EER medio del sistema 3D diviene paragonabile a quello ottenuto nel sistema 2D, ovvero pari allo 0,07%. 38 CAPITOLO 3. STATO DELL’ARTE Capitolo 4 Approccio proposto Il funzionamento del sistema biometrico realizzato è schematizzato nella Figura 4.1. La prima fase consiste nell’acquisizione delle immagini attraverso la fotocamera di uno smartphone. Esse vengono trasferite a un computer per le successive fasi di preprocessing, estrazione delle caratteristiche e confronto. Il processo viene dettagliato nelle sezioni seguenti. Tutto il codice è stato scritto in ambiente MATLAB. Alcune istruzioni richiamano del codice binario esterno, quali gli eseguibili per l’estrazione delle minuzie e il confronto delle identità. I dettagli del codice utilizzato sono mostrati nelle apposite sezioni di questo capitolo. 4.1 Acquisizione L’ambiente di acquisizione non richiede particolari vincoli nel posizionamento del dito. È stato utilizzato un tavolo come appoggio del dito e lo smartphone viene inserito in un’apposita guida che lo sostiene al fine di garantire la misurabilità e la ripetibilità dei test. In questo modo viene ridotto l’e↵etto di sfocatura dovuto ai movimenti involontari del dito. L’immagine 4.2 mostra l’ambiente di acquisizione utilizzato. La guida che sostiene il telefono può essere posizionata a di↵erenti distanze dal tavolo di appoggio, da un minimo di 70 mm a un massimo di 150 mm. 39 40 CAPITOLO 4. APPROCCIO PROPOSTO Figura 4.1: Schema del sistema biometrico implementato nelle fasi di enrollment e verifica 4.2. MIGLIORAMENTO DELLE IMMAGINI (PREPROCESSING) 41 Figura 4.2: Configurazione dell’ambiente di acquisizione 4.2 Miglioramento delle immagini (preprocessing) La fase successiva all’acquisizione delle immagini consiste nel preprocessing, ovvero nel migliorare la visibilità delle impronte digitali nelle immagini. Lo schema in Figura 4.3 mostra i passi di questa fase. I dettagli vengono riportati nelle sezioni seguenti. 4.2.1 Segmentazione Il primo passo è la segmentazione del dito. Questo passo è necessario al fine di eliminare tutta la regione dell’immagine non necessaria, ovvero lo sfondo. Viene considerato sfondo anche il dito stesso, dato che la parte rilevante sono solo le creste su di esso nell’ultima falange. Viene inizialmente ricercata la regione dell’immagine rappresentante il dito e separata dal resto dell’immagine creando dunque una maschera binaria discriminante. Per fare questo sono stati implementati due metodi, i dettagli sono riportati nelle successive due sezioni. 4.2. MIGLIORAMENTO DELLE IMMAGINI (PREPROCESSING) 43 Metodo Otsu Il metodo Otsu è un metodo di sogliatura automatica dell’istogramma nelle immagini digitali. L’algoritmo assume che nell’immagine da sogliare siano presenti due distribuzioni di intensità e quindi calcola la soglia ottimale per separare queste due distribuzioni minimizzando la varianza intra-classe [36]. In MATLAB questo algoritmo è implementato nativamente con la funzione graythresh [37]. L’obiettivo, di questo metodo, è di separare l’immagine in due classi, il dito e lo sfondo. L’algoritmo compie i seguenti passi: 1. Riceve un’acquisizione originale in ingresso, 2. Calcola la soglia ottimale per dividere l’immagine in due classi tramite l’algoritmo di Otsu, 3. Con il parametro appena calcolato separa l’immagine originale in due livelli operando nel modo seguente, ⇢ 0, se I(x, y) > S M (x, y) = 1, altrimenti dove M è la maschera binaria, I è l’immagine in esame e S è il valore di soglia ottimale. 4. Applica un operatore morfologico di chiusura e poi un disco di erosione pari a 10 pixel, 5. Restituisce la maschera binaria ottenuta. L’immagine 4.4 mostra un esempio di funzionamento di questa procedura. Analisi del colore della pelle L’analisi del colore della pelle nello spazio colore YUV è il secondo metodo implementato per segmentare il dito. Il metodo filtra il colore della pelle, applica gli operatori morfologici per rifinire le regioni trovate e mantiene la più grande di esse. Nel dettaglio: 44 CAPITOLO 4. APPROCCIO PROPOSTO (a) Originale 1 (b) Segmentazione corretta dell’immagine 1 Figura 4.4: Esempio di immagine in ingresso e della maschera binaria in uscita dal metodo Otsu 1. L’immagine RGB viene convertita nello spazio colore YUV e il contrasto viene migliorato con il seguente metodo, IY U V (i, j, Y ) = (IRGB (i, j, R) + 2 ⇥ IRGB (i, j, G) + IRGB (i, j, B))/4 IY U V (i, j, U ) = IRGB (i, j, R) IRGB (i, j, G) IY U V (i, j, V ) = IRGB (i, j, B) IRGB (i, j, G) Dove IRGB è l’immagine originale, IY U V è l’immagine convertita nello spazio colore YUV e i, j sono le coordinate cartesiane del pixel in esame. 2. Per ogni pixel della maschera binaria si esegue la seguente decisione, ⇢ 1, se IY U V (x, y, U ) > LM IN ^ < LM AX M (x, y) = 0, altrimenti dove M è la maschera, IY U V (x, y, U ) è il valore del pixel alla posizione x, y nell’immagine convertita sul canale U ; LM IN e LM AX sono rispettivamente il valore minimo e massimo dell’intervallo di filtraggio sul canale scelto. 3. Si rimuovono tutti gli oggetti con dimensione inferiore a 100 pixel (regioni 8-connesse) nella maschera binaria con l’operatore morfologico di apertura, 4.2. MIGLIORAMENTO DELLE IMMAGINI (PREPROCESSING) (a) Immagine in ingresso (b) Maschera binaria 45 (c) Unione delle due immagini precedenti Figura 4.5: Esempi di segmentazione del dito filtrando il colore della pelle 4. Si rende più omogenea la maschera binaria con l’operatore morfologico di dilatazione utilizzando una maschera binaria di dimensione 4x4 pixel, 5. Si rilevano tutti gli oggetti (regioni 8-connesse) presenti nella maschera binaria e si mantiene solo l’oggetto con area maggiore supponendo che esso corrisponda al dito. Le immagini della Figura 4.5 mostrano un esempio di immagine in ingresso e in uscita da questo algoritmo. L’algoritmo utilizzato si basa su un’implementazione MATLAB disponibile pubblicamente [38]. 4.2.2 Normalizzazione La maggior parte degli algoritmi per l’estrazione e il confronto delle minuzie si basano sulla misurazione della distanza euclidea tra le loro coordinate spaziali. Di conseguenza, per il buon funzionamento degli algoritmi, è essenziale che le impronte digitali abbiano tutte la stessa risoluzione. In questo lavoro di tesi il software che estrae le minuzie, i cui dettagli sono mostrati nella sezione 4.3, è progettato per immagini a risoluzione costante pari a 500 PPI. In letteratura vi sono metodi che 46 CAPITOLO 4. APPROCCIO PROPOSTO normalizzano la risoluzione delle immagini di impronte digitali acquisite senza contatto a distanza predefinita dalla fotocamera. In caso di ambiente non vincolato, non è possibile conoscere a priori la distanza tra la camera e il dito. Di conseguenza non si può calcolare in modo preciso la scala di ridimensionamento a 500 PPI. In questa tesi è stato posto particolare interesse alla ricerca di un metodo che possa ridimensionare le immagini a 500 PPI a prescindere dalla loro distanza camera-dito. Nelle prossime sezioni sono descritti gli algoritmi studiati e implementati. Ambiente vincolato Viene definito ambiente vincolato un ambiente di acquisizione delle immagini in cui vi sono delle guide di posizionamento del dito e della fotocamera. Di conseguenza essi sono posti a una distanza tra loro nota e non possono essere liberamente mossi nello spazio. Questa configurazione garantisce la misurabilità e la ripetibilità dei test. In un ambiente di acquisizione vincolato, il ridimensionamento delle immagini alla risoluzione fissa risulta automatico in quanto la distanza tra il dito e la camera è nota a priori. Nella pratica, nel punto in cui si posiziona il dito per e↵ettuare l’acquisizione si va a posizionare un oggetto di dimensioni note e se ne valutano le dimensioni nello spazio dell’immagine (in pixel). L’oggetto deve essere posizionato parallelamente al piano focale del sensore di acquisizione al fine di ridurre al minimo la presenza di distorsioni prospettiche. Si determina la scala di ridimensionamento nel seguente modo. a scala = ⇥ 500 b dove: • a è la dimensione dell’oggetto di calibrazione visibile nell’immagine, espressa in pollici, • b è la risoluzione dell’immagine nel lato parallelo all’oggetto di calibrazione, espressa in pixel. La Figura 4.6 mostra un esempio di acquisizione del dito e la relativa immagine dell’oggetto di calibrazione. Nell’esempio l’immagine è stata scattata con un Samsung 4.2. MIGLIORAMENTO DELLE IMMAGINI (PREPROCESSING) (a) 47 (b) Figura 4.6: Aqcuisizione in ambiente vincolato: (a) immagine del dito e (b) immagine dell’oggetto di calibrazione, un righello Galaxy S4 e ha dimensione del lato maggiore di 4128 pixel, corrispondente a 81 mm di inquadratura. Ambiente non vincolato Viene definito ambiente non vincolato un ambiente di acquisizione delle immagini in cui non vi sono delle guide di posizionamento del dito e della fotocamera. Di conseguenza il dito può essere posizionato arbitrariamente nello spazio durante le acquisizioni. Questa configurazione permette di e↵ettuare dei test più simili ad alcune reali condizioni di acquisizione. In un ambiente di acquisizione non vincolato non è possibile conoscere con esattezza la distanza tra camera e dito. Nelle seguenti tre sezioni vengono presentati dei metodi di normalizzazione proposti per a↵rontare il problema. Metodo A - Approssimazione a un semicerchio Per stimare la distanza tra il dito e la camera, la punta del dito viene approssimata un semicerchio. Con tale misura è possibile stimare quanto il dito sia largo, e dunque quanto dista dalla camera. L’algoritmo che rileva il dito si basa sulla funzione MATLAB imfindcircles. Nel dettaglio, 48 CAPITOLO 4. APPROCCIO PROPOSTO 1. Per velocizzare i calcoli viene utilizzata una versione della maschera binaria ridotta a 1/10 della dimensione originale, 2. L’algoritmo analizza la maschera binaria alla ricerca di una sequenza di pixel che seguono una forma simile a un cerchio lungo un confine. Si definisce confine una linea tra due zone ad elevato contrasto nell’immagine, 3. Tra tutti i cerchi stimati, viene selezionato solo quello il cui centro è posto più vicino alla punta del dito. Nella pratica, supponendo che le dita siano tutte orientate come nell’Immagine 4.6 (a) e che l’origine degli assi sia in basso a sinistra, si seleziona il cerchio il cui centro ha le coordinate spaziali maggiori, 4. La funzione restituisce le coordinate x, y del centro del cerchio e il raggio, si salva quest’ultimo valore. Per stimare la distanza camera-dito, il raggio stimato viene normalizzato allo spazio dell’immagine iniziale. 5. La stima della distanza è calcolata nel modo seguente: scala = a b dove: • a è il raggio medio del cerchio che approssima il polpastrello, in pixel, quando la risoluzione è pari a 500 PPI. Il valore è stato stimato empiricamente e pari a 165 pixel. Questo parametro è stato ottenuto misurando il raggio delle 10 dita di un soggetto acquisite in 100 immagini e approssimando a circa il valore medio, • b è il raggio del cerchio che approssima il polpastrello appena misurato, espresso sempre in pixel. Il valore ottenuto è utilizzato come scala di ridimensionamento dell’immagine originale. In questa stima si suppone che tutte le dita abbiano la stessa dimensione. La Figura 4.7 mostrano degli esempi di maschere binarie con un cerchio che approssima la forma della punta del polpastrello. 4.2. MIGLIORAMENTO DELLE IMMAGINI (PREPROCESSING) 49 (a) Maschera binaria di un indice (b) Maschera binaria di un pollice Figura 4.7: Esempi di approssimazione della punta del polpastrello a un semicerchio 50 CAPITOLO 4. APPROCCIO PROPOSTO Figura 4.8: Larghezza del polpastrello Metodo B - Larghezza del polpastrello Un altro metodo per determinare la probabile distanza camera-dito consiste nel misurare quanto il dito sia largo lungo il suo lato minore. La Figura 4.8 mostra la dimensione in esame. Per e↵ettuare questa misurazione, vengono svolte le seguenti operazioni: 1. Supponendo che l’immagine sia orientata come nella Figura 4.8, viene analizzata la maschera binaria 150 pixel più a sinistra della punta del dito, ovvero dove circa è posizionata la linea rossa nell’immagine. Il valore è stato stimato empiricamente, 2. In tale punto sono conteggiati il numero di pixel che formano il dito lungo il lato minore, 3. Con la seguente formula si calcola la scala per ridimensionare l’immagine alla risoluzione di 500 PPI. scala = dove: a b 4.2. MIGLIORAMENTO DELLE IMMAGINI (PREPROCESSING) 51 • a è la larghezza media del dito, in pixel, quando la risoluzione è pari a 500PPI. Il valore è stato stimato empiricamente e pari a 400 pixel. Questo parametro è stato ottenuto misurando la larghezza delle 10 dita di un soggetto acquisite in 100 immagini e approssimando a circa il valore medio, • b è la larghezza del dito appena misurata, espressa sempre in pixel. Metodo C - Allineamento del polpastrello Per migliorare il ridimensionamento a 500 PPI è stata implementata una procedura per rilevare l’angolazione del dito rispetto agli assi dell’immagine. L’algoritmo svolge i seguenti passi: 1. Viene calcolato il rettangolo più piccolo che ingloba tutto il dito. Il rettangolo calcolato comprende il dito dalla punta del polpastrello alla base, 2. Il lato più corto del rettangolo stimato viene ridotto alla larghezza del polpastrello e si applica un ritaglio dell’immagine lungo il rettangolo ottenuto, La Figura 4.9 mostra come risulta l’immagine in esame dopo il ritaglio. 3. Approssimando il dito a un ellisse, viene analizzato il suo orientamento rispetto agli assi dell’immagine, 4. La stima fornisce un valore angolare che, applicato all’immagine originale, migliora l’allineamento del dito lungo gli assi, 5. Si procede dunque a misurare la larghezza del dito come descritto nella sezione precedente. Dagli esperimenti e↵ettuati l’allineamento del dito permette di migliorare le prestazioni del sistema. 4.2.3 Selezione dell’ultima falange La terza operazione antecedente l’estrazione delle caratteristiche e il confronto è il ritaglio dell’immagine. L’obiettivo di questo algoritmo è mantenere solo la zona 52 CAPITOLO 4. APPROCCIO PROPOSTO (a) (b) Figura 4.9: Ritaglio del dito per rilevare la sua angolazione rispetto gli assi dell’immagine: (a) maschera binaria originale e (b) maschera ritagliata dell’immagine in cui sono visibili le impronte digitali. La procedura implementata riceve in ingresso la maschera binaria e la relativa immagine originale con applicata la maschera binaria (Figura 5.3, immagini (b) e (c)) ed esegue i seguenti passi: 1. Vengono individuati tutti gli oggetti 8-connessi presenti nella maschera binaria, 2. Viene preso in considerazione l’oggetto più grande supponendo che esso sia sempre il dito, 3. Viene ricercato il rettangolo più piccolo che inglobi l’oggetto preso in esame. Il rettangolo comprende il dito dalla punta del polpastrello alla base, 4. Si modifica la dimensione del rettangolo appena ottenuto, riducendolo in modo che contenga solo il polpastrello del dito. Nel dettaglio, si calcola a quanti pixel X eseguire il taglio dell’immagine a partire dalla punta del polpastrello. Il calcolo di X dipende dal metodo di normalizzazione, in ambiente non vincolato, scelto: (a) Metodo A: si taglia dalla punta del dito a X = 3 ⇥ r. Dove r è il raggio misurato, 4.2. MIGLIORAMENTO DELLE IMMAGINI (PREPROCESSING) (a) 53 (b) Figura 4.10: Esempio di immagine in ingresso e in uscita dall’algoritmo di ritaglio (b) Metodo B o C: si taglia dalla punta del dito a X = 1, 2 ⇥ ld . Dove ld è la larghezza del dito misurata. 5. Si taglia il dito tramite il rettangolo calcolato. Il valore X è stato determinato empiricamente ed è pari a 27 mm. L’immagine 4.10 mostra un esempio di immagine in ingresso e in uscita dall’algoritmo. 4.2.4 Conversione in immagini equivalenti al tocco L’ultima operazione svolta dagli algoritmi di preprocessing è la conversione delle immagini senza contatto in immagini equivalenti al tocco, ovvero più simili a quelle che si sarebbero ottenute se si fosse utilizzato un lettore a contatto. Sono state implementate due tecniche: l’equalizzazione adattiva dell’istogramma a contrasto limitato e la sottrazione dello sfondo. I dettagli sono nelle due sezioni seguenti. Equalizzazione adattiva dell’istogramma a contrasto limitato L’equalizzazione adattiva dell’istogramma (AHE) è una tecnica di elaborazione digitale delle immagini usata per migliorarne il contrasto. Di↵erisce dall’ordinaria equalizzazione dell’istogramma poiché il metodo adattivo calcola diversi istogrammi, 4.2. MIGLIORAMENTO DELLE IMMAGINI (PREPROCESSING) (a) Immagine pre-CLAHE 55 (b) Immagine post-CLAHE Figura 4.12: Esempio di immagine a contrasto migliorato con il metodo CLAHE thisteq. Essa riceve in ingresso un’immagine in scala di grigi e la restituisce con il contrasto migliorato. L’immagine 4.12 mostra un esempio di immagine elaborata con questa funzione. Filtraggio in frequenza Un approccio di↵erente per la trasformazione dell’immagine del polpastrello in un’impronta digitale a contatto è mostrato in questa sezione. L’obiettivo è rimuovere tutto lo sfondo, ovvero la pelle e lasciare visibili solo le creste. All’immagine originale viene applicato il seguente processo: 1. Si converte l’immagine a colori in scala di grigi, 2. Si calcola lo sfondo con l’operatore morfologico di apertura utilizzando una maschera binaria di forma tonda con un raggio di 12 pixel, 3. Si sottrae lo sfondo all’immagine, in questo modo restano visibili soltanto le creste, 4. Si calcola il logaritmo dell’immagine per aumentare la visibilità delle creste, 56 CAPITOLO 4. APPROCCIO PROPOSTO (a) Immagine pre-filtraggio (b) Immagine post-filtraggio Figura 4.13: Esempio di immagine con sfondo sottratto e filtraggio in frequenza 5. Si invertono i colori, cosı̀ che le creste siano più scure delle valli, come nelle immagini a contatto, 6. Si riduce il rumore filtrando l’immagine con un filtro di Butterworth passa-basso di sedicesimo ordine impostato sulla frequenza ff e con dimensione df ⇥ df . I valori di ff e df sono stati stimati empiricamente sul dataset e rispettivamente pari a 0,05 Hz e 16 pixel. Un esempio di immagine ottenuta con questo metodo è mostrato in Figura 4.13. 4.3 Estrazione delle caratteristiche e confronto Terminata la fase di preprocessing, da una immagine del dito è stata ottenuta l’immagine dell’impronta digitale corrispondente, isolata da tutto il resto che era presente nell’immagine e ridimensionata alla risoluzione fissa di 500 PPI. I successivi passi da compiere sono l’estrazione delle caratteristiche, da cui si crea il template, e la verifica dell’identità, confrontando i template tra loro. Questi passi, nel presente lavoro di tesi, sono svolti con due metodi: il software NIST Biometric Image Software (NBIS) 4.3. ESTRAZIONE DELLE CARATTERISTICHE E CONFRONTO 57 e il software Minutia Cylinder-Code (MCC). Entrambi i software sono disponibili pubblicamente e gratuiti. I loro dettagli sono nelle prossime due sezioni. 4.3.1 NIST Biometric Image Software (NBIS) Introduzione Il software NIST Biometric Image Software (NBIS) [41] è sviluppato dal National Institute of Standards and Technology (NIST) per il Federal Bureau of Investigation (FBI) e il Department of Homeland Security (DHS). È stato creato da impiegati del governo degli Stati Uniti d’America, è liberamente distribuibile, considerato di pubblico dominio e scaricabile da internet. Il software NBIS è suddiviso in otto categorie, vi sono: • Un’implementazione dello standard ANSI/NIST-ITL 1-2007 (AN2K) “Data Format for the Interchange of Fingerprint, Facial, Scar Mark and Tattoo (SMT) Information”. L’implementazione contiene un set di programmi progettati per leggere, scrivere e modificare i file formattati secondo questo standard di scambio dati, • L’algoritmo Nist fingerprint image quality (NFIQ). Esso analizza l’immagine di un’impronta digitale e assegna un valore qualitativo da 1 (qualità alta) a 5 (qualità bassa) alla stessa. Immagini di alta qualità portano a prestazioni nettamente migliori gli algoritmi di estrazione e confronto delle caratteristiche, • Un classificatore a rete neurale delle impronte digitali basato sulle caratteristiche di primo livello, chiamato PCASYS. Esso categorizza le impronte digitali nelle classi arch, left o right loop, scar, tented arch o whorl. Il modulo include l’uso di una robusta rete neurale “Multi-Layered Perceptron (MLP)”. • Un rilevatore delle minuzie chiamato MINDTCT che automaticamente localizza e registra i punti di fine cresta e biforcazione in un’impronta digitale. Questo sistema include un valutatore della qualità della minuzia rilevata in base alle 58 CAPITOLO 4. APPROCCIO PROPOSTO condizioni dell’immagine intorno a essa. L’FBI Universal Latent Workstation utilizza MINDTCT, • Una collezione di programmi di utilità per le immagini (IMGTOOLS) per sup- portare il lavoro svolto sulle immagini delle impronte digitali. Viene aggiunto il supporto al formato JPEG, con o senza perdita e al formato dell’FBI Wavelet Scalar Quantization (WSQ) sia per la codifica che la decodifica. Inoltre è presente il supporto al “color component interleaving”, alla conversione dello spazio colore e la conversione dei file distribuiti nei database di impronte digitali del NIST, • Un algoritmo di confronto delle minuzie, BOZORTH3, delle impronte digitali. Esso può fare sia il confronto uno-a-uno che quello uno-a-molti. BOZORTH3 calcola un punteggio di confronto tra le minuzie di qualsiasi due template con l’obiettivo di aiutare a capire se essi sono stati creati a partire dallo stesso dito o no. Questo programma accetta i template generati dall’algoritmo MINDTCT, • Un algoritmo per la segmentazione delle impronte digitali, NFSEG, in grado di segmentare le quattro impronte poste in fondo a una scheda apposita in immagini separate. Il codice sorgente è scritto in C e sviluppato con il compilatore GNU gcc e gmake. Il sistema funziona con LINUX, Mac OS X e Windows NT (grazie alla libreria Cygwin). Procedura operativa In questo lavoro di tesi, l’estrazione delle caratteristiche dalle impronte digitali e il confronto segue una serie di passi: 1. Costruzione di un’impronta digitale in formato ANSI/NIST-ITL 1-2007 attraverso l’apposito eseguibile NBIS txt2an2k, 2. Creazione del template estraendo le caratteristiche dall’impronta digitale attraverso il programma MINDTCT, 4.3. ESTRAZIONE DELLE CARATTERISTICHE E CONFRONTO 59 3. Confronto tra due template con il software BOZORTH3 e salvataggio del punteggio di similitudine (match score) ottenuto. Innanzitutto viene definito su quale database di impronte digitali eseguire le operazioni appena descritte. Dunque vengono ripetuti i passi 1 e 2 per ogni impronta digitale presente nel database, cosı̀ da creare un database di template. Dopodiché viene svolto il confronto uno-a-molti, ovvero ogni template viene confrontato con tutti gli altri presenti. Se il confronto è tra due template dello stesso dito il matching score è memorizzato nella lista dei confronti tra genuini, altrimenti, se il confronto è tra due template di due dita di↵erenti il punteggio è salvato nella lista dei confronti tra impostori. Terminati tutti i confronti, attraverso la lista dei confronti dei genuini e quella degli impostori, viene calcolato l’EER per valutare l’affidabilità del sistema proposto. Metodo realizzato Entrando più nel dettaglio degli algoritmi utilizzati, MINDTCT riceve in ingresso un’impronta digitale e localizza tutte le minuzie rilevabili su di essa, assegnando a ognuna la posizione (coordinate spaziali x, y), l’orientamento (gradi decimali), il tipo di minuzia (fine cresta o biforcazione) e la qualità. MINDTCT restitutisce in uscita una rappresentazione delle minuzie compatibile con lo standard ANSI/NIST. La Figura 4.14 mostra un esempio di minuzie rilevate dal software MINDTCT. I cerchi rappresentano i fine cresta, i quadrati le biforcazioni e le linee indicano l’orientamento. Il processo di lavoro svolto da MINDTCT si divide nei passi seguenti: 1. Ricevere un immagine in ingresso, 2. Generare la mappa della qualità dell’immagine, 3. Binarizzare l’immagine, 4. Rilevare le minuzie, 5. Scartare le false minuzie, 60 CAPITOLO 4. APPROCCIO PROPOSTO Figura 4.14: Esempio di minuzie rilevate dal software MINDTCT 6. Fornire in uscita la lista delle minuzie. Nel dettaglio: Le immagini possono avere qualità di↵erente, questa può variare anche all’interno della stessa immagine. Specialmente in caso di impronte latenti, è importante analizzare l’immagine e determinare quali parti di essa sono degradate e di conseguenza da non prendere in considerazione. Ci sono varie misurazioni che possono fornire delle informazioni sulla qualità delle immagini. Per esempio, determinare il percorso che seguono le creste, il loro angolo di curvatura e rilevare le zone a basso contrasto può aiutare. Incrociando queste misurazioni è possibile marcare alcune zone dell’immagine come inaffidabili per il rilevamento delle minuzie. MINDTCT creando e unendo la low contrast map, la low flow map, e la high curve map crea una mappa generale contenente il livello di qualità per ogni blocco di immagine analizzato. Il valore 0 indica una bassa qualità, il valore 4 un’alta qualità. L’algoritmo progettato per la rilevazione delle minuzie funziona su immagini binarie dove i pixel neri rappresentano le creste e quelli bianchi le valli che compongono l’impronta digitale. Per creare quest’immagine binaria a partire da un’immagine a 4.3. ESTRAZIONE DELLE CARATTERISTICHE E CONFRONTO 61 Figura 4.15: Esempio di immagine in ingresso e in uscita dal processo di binarizzazione dell’impronta digitale scala di grigi, ogni pixel viene analizzato per determinare se va convertito in un pixel nero o bianco. Questo processo viene detto binarizzazione. Il valore binario che viene assegnato a un pixel dipende dall’orientamento delle creste, stabilito dagli algoritmi, nel blocco cui il pixel appartiene. Con il pixel in esame posto al centro del blocco, viene fatta ruotare una maschera a griglia sopra di esso fino a quando le righe della griglia sono parallele alla direzione delle creste. La Figura 4.15 mostra un esempio di risultato ottenibile con questo processo. Il rilevamento delle minuzie, svolto sull’immagine binarizzata, è una scansione metodica che individua particolari pattern di pixel che indicano la fine di una cresta o una biforcazione. Analizzando la lista di minuzie trovate, il software scarta quelle che formano isole, laghi, fori, le minuzie nelle regioni di scarsa qualità dell’immagine, le minuzie sui bordi dell’immagine, le sovrapposizioni, le minuzie che sono troppo larghe e che sono troppo strette (che probabilmente sono pori). Tra i vari file ottenibili in output da MINDTCT quello di maggiore interesse in questa tesi è un file testuale con estensione xyt. Esso contiene una minuzia per ogni riga di testo. Ogni riga quindi contiene le coordinare spaziali x, y, l’angolo theta e 62 CAPITOLO 4. APPROCCIO PROPOSTO la qualità della minuzia. Questo file è correttamente formattato per essere dato in ingresso al software di confronto dei template BOZORTH3. BOZORTH3 è un algoritmo di confronto delle minuzie. Esso utilizza la posizione x, y e l’orientamento theta per verificare se una minuzia è presente in due di↵erenti impronte digitali. Il programma costruisce una tabella per ogni impronta digitale in cui definisce la distanza e l’orientamento tra una minuzia e l’altra. Dopodiché confronta le due tabelle create e produce una terza tabella contenente le minuzie comuni tra le due. Quest’ultima tabella è utilizzata per creare il punteggio complessivo, detto in inglese, match score, che è direttamente proporzionale al numero di minuzie comuni trovate tra le due impronte digitali. L’algoritmo è progettato per essere insensibile alla rotazione e la traslazione delle dita in esame. Oltre al software NBIS, ho implementato il confronto delle minuzie anche con un programma di↵erente, il Minutia Cylinder-Code (MCC). Questo è un innovativo e più recente sistema che esegue i confronti tra le minuzie non solo a livello globale, come BOZORTH3, ma anche a livello locale, ovvero confinando i confronti nella zona circondante la minuzia in esame. L’obiettivo di tale sistema è migliorare ulteriormente le prestazioni rispetto a NBIS. 4.3.2 Minutia Cylinder-Code (MCC) Il software BOZORTH3 del NIST e↵ettua il confronto basandosi su tutte le minuzie estratte dalle impronte digitali. Sfortunatamente, gli algoritmi basati su questo tipo di confronto tendono a richiedere elevati tempi di calcolo e a essere deboli rispetto alle distorsioni non lineari dell’impronta digitale. Nell’ultimo decennio si è cercato di risolvere questi problemi introducendo delle tecniche di confronto locale delle minuzie. Le strutture dati delle minuzie confrontate in modo locale sono caratterizzate dall’essere invarianti alle trasformazioni globali dell’immagine, quali traslazione e rotazione, e inoltre permettono il confronto senza nessun allineamento a priori delle impronte digitali. Per contro, questo tipo di confronto trascura le caratteristiche globali individuabili tra due impronte, riducendo il numero di informazioni discriminatici disponibili. Tuttavia, i benefici dei confronti locali e globali possono essere 4.3. ESTRAZIONE DELLE CARATTERISTICHE E CONFRONTO 63 entrambi mantenuti implementando un sistema ibrido che esegue prima il confronto locale e poi una fase di consolidamento globale. Questo è l’obiettivo del software di confronto delle minuzue Minutia Cylinder-Code (MCC) [42], [43], [44]. I vantaggi principali di questo metodo sono: • È un algoritmo a raggio fisso che tollera meglio degli algoritmi basati sulla distanza euclidea le minuzie spurie o mancanti, • Rispetto agli algoritmi a raggio fisso più famosi utilizza una codifica delle minuzie a lunghezza fissa, non dinamica. Questo rende il calcolo della similitudine tra due template più semplice e veloce, • Il problema del rilevamento di molte false minuzie ai bordi dell’immagine, che si verifica con altri popolari software di estrazione delle minuzie, è gestito in modo efficiente ed efficacie, ovvero senza costi computazionali extra, • Le distorsioni a livello locale e le false minuzie di lieve entità sono tollerate efficacemente dagli algoritmi, • Rileva le zone con molto rumore nell’immagine e le scarta, • La versione basata sulla codifica in bit rende il template estremamente piccolo e il confronto veloce. Quest’ultimo è ridotto a una serie di operazioni elementari, quali AND e XOR, che possono essere implementati con efficienza anche su CPU elementari. Struttura del template MCC La rappresentazione MCC associa una struttura dati locale a ogni minuzia. Questa struttura memorizza le relazioni di spazio e direzione tra la minuzia in esame e quelle vicine poste in uno spazio predefinito, detto a raggio fisso. La struttura dati può essere rappresentata graficamente come un cilindro la cui base e altezza sono correlati al raggio e alla direzione delle minuzie, rispettivamente. Ogni cilindro è una struttura locale con le proprietà di essere: 64 CAPITOLO 4. APPROCCIO PROPOSTO Figura 4.16: Rappresentazione grafica di un template MCC • Invariante alle traslazioni e rotazioni, • Robusta alle distorsioni della pelle (che sono lievi a livello locale, rispetto il livello globale) e a lievi quantità di false minuzie, • con dimensione fissa. La Figura 4.16 rappresenta una struttura dati locale MCC (template). Misurazione della similitudine tra due template MCC La misura della similitudine tra due template, ovvero tra due cilindri (Ca e Cb ), è ottenuta come valore di correlazione tra due vettori (Eq. 4.1). L’immagine 4.17 mostra i template Ca e Cb . (a, b) = 1 kca|b cb|a k kca|b k + kcb|a k (4.1) Implementazione basata sui bit I template mostrati nella sezione precedente sono convertibili in un’implementazione basata sui bit. I cilindri possono essere trasformati in vettori binari con una apposita 4.3. ESTRAZIONE DELLE CARATTERISTICHE E CONFRONTO 65 Figura 4.17: Rappresentazione grafica di due template MCC funzione e il confronto tra essi viene e↵ettuato con un algoritmo adeguato (Eq. 4.2). L’immagine 4.18 mostra i template Ca e Cb basati sui bit. Bit (a, b) = 1 kca|b XOR cb|a k kca|b k + kcb|a k (4.2) Consolidamento del punteggio Per comparare facilmente due minuzie, un valore globale (global score) che rappresenta la loro similitudine nel complesso viene ottenuto a partire dalle similitudini locali. Come primo passo nR paia di confronti sono scelti tra quelli che hanno ottenuto i punteggi più elevati. Dopodiché i punteggi vengono normalizzati in base al rapporto tra la posizione locale e quella globale delle minuzie coinvolte. Infine, il punteggio globale è calcolato come la media dei nP confronti con la migliore efficienza selezionati dal gruppo nR . Software Development Kit (SDK) Una libreria basata su .NET che permette di sviluppare le applicazioni per l’estrazione delle caratteristiche e il confronto attraverso gli algoritmi Minutia Cylinder-Code (MCC) è pubblicamente disponibile in internet [45]. 66 CAPITOLO 4. APPROCCIO PROPOSTO Figura 4.18: Rappresentazione grafica di due template MCC basati sui bit Procedura operativa In questo lavoro di tesi, l’estrazione delle caratteristiche dalle impronte digitali e il confronto segue una serie di passi: 1. Costruzione di un’impronta digitale in formato ANSI/NIST-ITL 1-2007 attraverso l’apposito eseguibile NBIS txt2an2k, 2. Estrazione delle caratteristiche dall’impronta digitale attraverso MINDTCT, 3. Conversione dei dati estratti secondo lo standard ISO/IEC 19794-2 (2005), 4. Creazione del cilindro (template) con il software MccEnroller, 5. Confronto tra due template con il software MccMatcher e salvataggio del punteggio di similitudine (match score) ottenuto. Innanzitutto viene definito su quale database di impronte digitali eseguire le operazioni appena descritte. Dunque vengono ripetuti i passi 1 - 4 per ogni impronta digitale presente nel database, cosı̀ da creare un database di template. Dopodiché viene svolto il confronto uno-a-molti, ovvero ogni template viene confrontato con tutti gli altri presenti. Se il confronto è tra due template dello stesso dito il matching score è memorizzato nella lista dei confronti tra genuini, altrimenti, se il confronto è 4.4. TEMPLATE MULTI-RISOLUZIONE 67 tra due template di due dita di↵erenti il punteggio è salvato nella lista dei confronti tra impostori. Terminati tutti i confronti, attraverso la lista dei genuini e quella degli impostori, viene calcolato l’EER per valutare l’affidabilità del sistema proposto. I software MccEnroller e MccMatcher oltre a ricevere in ingresso le impronte digitali, ricevono ciascuno anche un file di configurazione dei parametri di funzionamento. Tra gli eseguibili del programma sono già presenti una serie di configurazioni predefinite che gli autori consigliano. La conversione delle minuzie estratte dal programma MINDTCT allo standard ISO/IEC 19794-2 (2005) avviene attraverso una procedura automatica che esegue i seguenti passi: 1. Lettura del template in formato xyt creato dal software MINDTCT, 2. Conversione degli angoli theta da decimali a radianti, 3. Inserimento delle seguenti 4 righe in capo al file in formato xyt, Larghezza dell’immagine dell’impronta digitale (pixel), Altezza dell’immagine dell’impronta digitale (pixel), Risoluzione dell’immagine dell’impronta digitale (PPI), Numero totale delle minuzie rilevate. 4. Salvataggio del file ottenuto in formato txt. 4.4 Template multi-risoluzione Al fine di migliorare l’accuratezza del riconoscimento biometrico in ambiente non controllato, è stato studiato un metodo che normalizza la risoluzione dell’immagine in ingresso a risoluzioni multiple, e↵ettua il confronto delle identità per ogni immagine ottenuta e applica una strategia di fusione dell’informazione per calcolare il maching score finale. Nell’ambiente non vincolato, le tre tecniche di ridimensionamento illustrate suppongono che tutte le dita abbiano la stessa dimensione. Questo abbassa la variabilità inter-classe. Un’ulteriore soluzione studiata per risolvere questi problemi 68 CAPITOLO 4. APPROCCIO PROPOSTO è la seguente. Ogni immagine presente nei database viene elaborata nella fase di preprocessing senza il ridimensionamento a 500 PPI. Al posto di tale processo, per ogni immagine si creano più versioni, ognuna contraddistinta da un valore di scala di ridimensionamento di↵erente. Nei test e↵ettuati gli algoritmi ridimensionano le immagini in 17 scale di↵erenti. Il parametro di ridimensionamento va da 0,3 a 1,1 con passo 0,05. Tale parametro è utilizzato nella seguente formula di ridimensionamento: IR = I O ⇥ S dove: IR è l’immagine ridimensionata; IO è l’immagine originale; S è il parametro di ridimensionamento. Per ogni immagine ottenuta vengono dunque estratte le caratteristiche e confrontate tra loro con uno dei metodi visti nelle sezioni precedenti. Fissando un immagine pivot per ogni gruppo di 17 immagini provenienti dalla stessa immagine originale, tutte le altre vengono confrontate con il sistema uno-a-molti. Per ogni gruppo di confronti di template a scale di↵erenti viene poi salvato solo il punteggio (match score) più elevato. Capitolo 5 Risultati sperimentali 5.1 5.1.1 Ambiente di test Configurazione dell’ambiente di acquisizione Sono stati acquisiti dati sia in ambiente vincolato che non vincolato. Per l’ambiente vincolato è stato costruito uno scheletro di metallo in grado di sostenere lo smartphone durante le acquisizioni. La Figura 4.2, del capitolo precedente, mostra l’ambiente di acquisizione utilizzato. L’ambiente mostrato in figura è composto da: • Quattro aste di metallo che formano lo scheletro di sostegno, • Uno smartphone Samsung Galaxy S4 con accelerometro orientato sul lato sinistro, • Un supporto universale da auto per cellulari, completo di asta flessibile e ventosa, • Una piastra di metallo che permette di mantenere la ventosa attaccata allo scheletro metallico, • Un foglio nero su cui appoggiare il dito. 69 70 CAPITOLO 5. RISULTATI SPERIMENTALI È stato scelto un foglio nero per evitare di acquisire anche l’ombra data dal dito. Questo facilita le fasi di elaborazione dell’immagine, specialmente la segmentazione del dito. Nella configurazione è stato provato a illuminare il dito con una lampada a LED verdi. Il risultato era peggiore rispetto l’illuminazione data dal flash LED incorporato nel telefono. Sul telefono è stata installata, dal Google Play Store, l’applicazione TeamViewerQS. Essa permette di interagire con l’interfaccia del telefono da remoto. L’applicazione TeamViewer è stata installata anche su un PC. Dunque è stato attivato il controllo remoto dello smartphone da PC. Cosı̀ facendo, per e↵ettuare le acquisizioni, non veniva toccato telefono, ma si interagiva con l’interfaccia dello smartphone da PC con il mouse. Questo permette di non muovere la fotocamera, migliorando la messa a fuoco e consentendo una maggiore ripetibilità dei test. Per l’ambiente non vincolato non viene utilizzata alcuna guida al posizionamento del telefono e del dito. Il telefono è tenuto in mano e inquadra un dito per volta nella fotocamera senza conoscere la distanza tra essi. Procedura di acquisizione Il sistema è stato valutato creando più dataset biometrici. Sono stati creati sei dataset acquisendo le immagini delle 10 dita di un soggetto. I dataset sono stati progettati per studiare il cambiamento delle prestazioni del sistema al mutare dei fenomeni quali illuminazione, distanza, messa a fuoco e il modello di smartphone. Di seguito, nella Tabella 5.1, sono riportati i dettagli delle acquisizioni di ogni dataset. Per valutare il cambiamento delle prestazioni del sistema al mutare dei fenomeni sono stati ideati i seguenti test. • Il mutare delle prestazioni del sistema al cambiare della modalità di messa a fuoco è studiato confrontando i risultati del DB1 e DB2, • La modalità di illuminazione è studiata con il confronto del DB2 e DB3, • L’influenza della distanza di acquisizione è studiata confrontando il DB2 e il DB4, 5.1. AMBIENTE DI TEST Dataset DB1 DB2 DB3 DB4 DB5 DB6 h (mm)* 85 85 85 125 85 Sconosciuta+ 71 Flash telefono Luce a soffitto Modalità messa a fuoco Modello telefono Sı̀ Sı̀ No Sı̀ Sı̀ Sı̀ No No Sı̀ Sı̀ Sı̀ Sı̀ Automatico Manuale Manuale Manuale Manuale Manuale Samsung Samsung Samsung Samsung LG G3 LG G3 Galaxy Galaxy Galaxy Galaxy N. foto acquisite S4 20 S4 40 S4 20 S4 20 40 20 * h: distanza tra la fotocamera e il piano di appoggio del dito. Il DB6 è caratterizzato da un ambiente di acquisizione senza guide al posizionamento del telefono e del dito, di conseguenza la distanza camera-dito non è nota. + Tabella 5.1: Parametri di acquisizione di ogni dataset • L’interoperabilità dei metodi implementati è studiata confrontando il DB2 e il DB5, • Il funzionamento dei metodi in un ambiente di acquisizione non vincolato è studiato con il DB6. Per ogni dito sono state e↵ettuate quattro acquisizioni consecutive. Tra ogni acquisizione la mano viene tolta e rimessa in posizione per rendere le acquisizioni più indipendenti tra loro. Non è stata posta alcuna guida per posizionare il dito in un punto fisso, ovvero il dito viene posizionato al centro del campo di visione della fotocamera semplicemente osservando l’anteprima dell’immagine fornita dallo schermo del telefono. 5.1.2 Configurazione del sistema di calcolo Il computer utilizzato durante gli esperimenti è un notebook datato 2010 con le seguenti caratteristiche: • Processore 2,26 GHz Intel Core 2 Duo, • RAM 2 GB 1067 MHz DDR3, 72 CAPITOLO 5. RISULTATI SPERIMENTALI • Sistema operativo Windows 7 Pro 64 bit, • MATLAB R2014b 64 bit Tutto il codice è stato scritto in ambiente MATLAB. Alcune istruzioni richiamano del codice binario esterno, quali gli eseguibili per l’estrazione delle minuzie e il confronto delle identità. I dettagli del codice utilizzato sono mostrati nel capitolo precedente (Cap. 4). 5.2 Segmentazione del dito Nel capitolo precedente sono stati illustrati due metodi per segmentare le dita dei database: Il metodo Otsu e l’analisi del colore della pelle nello spazio colore YUV. In questa sezione sono mostrati i risultati ottenuti con tali metodi. 5.2.1 Metodo Otsu Il metodo di Otsu è stato il primo metodo implementato. Esso non ha dimostrato di funzionare correttamente sull’intero gruppo di immagini dei database. La soglia di binarizzazione, automaticamente impostata, in alcune immagini non ha separato completamente il dito dallo sfondo. Osservando l’immagine 5.1 è possibile notare un esempio di corretto e non corretto funzionamento di questo codice. Il malfunzionamento è legato al colore dello sfondo, a volte troppo simile al colore del dito. 5.2.2 Analisi del colore della pelle L’analisi del colore della pelle nello spazio colore YUV è il secondo metodo implementato per segmentare il dito. A di↵erenza del metodo precedente, questo si è rivelato efficacie in tutte le immagini dei database (160 immagini). Sono state e↵ettuate anche 10 immagini di test con uno sfondo complesso e con dita di carnagione di↵erente. In tutti i casi l’algoritmo non ha fallito. Infine, è stato provato a e↵ettuare le acquisizioni con uno sfondo di colore rosso. In questo caso la segmentazione non è corretta 5.2. SEGMENTAZIONE DEL DITO 73 (a) Originale 1 (b) Segmentazione corretta dell’immagine 1 (c) Originale 2 (d) Segmentazione scorretta dell’immagine 2 Figura 5.1: Esempio di corretto e non corretto funzionamento del metodo Otsu 74 CAPITOLO 5. RISULTATI SPERIMENTALI 80 70 60 50 40 30 20 10 0 Figura 5.2: Canale U dell’immagine convertita nello spazio colore YUV poiché il colore dello sfondo e del dito sono troppo simili. Il metodo filtra il colore della pelle, applica gli operatori morfologici per rifinire le regioni trovate e mantiene la più grande di esse. In questo lavoro di tesi, l’intervallo di filtraggio scelto è da 20 a 90 considerando il canale U. I valori sono stati stabiliti con una serie di test, fino a ottenere l’intervallo più efficacie. La Figura 5.2 mostra il canale U di un’immagine convertita nello spazio colore YUV. La scala verticale sul lato destro della figura mostra quale tonalità di grigio viene presa in considerazione nell’intervallo 20 - 90. La Figura 5.3, la Figura 5.4, la Figura 5.5 e la Figura 5.6 mostrano una serie di test e↵ettuati con questo algoritmo. La prima immagine di ogni riga è l’immagine in ingresso, la seconda è la maschera binaria ottenuta con il filtraggio, la terza è l’unione delle due immagini precedenti in cui il dito risulta segmentato dallo sfondo. Tutte le immagini sono correttamente segmentate tranne l’ultima, in questa il colore dello sfondo è simile a quello della pelle. 5.2. SEGMENTAZIONE DEL DITO 75 (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 5.3: Esempi di segmentazione del dito filtrando il colore della pelle 76 CAPITOLO 5. RISULTATI SPERIMENTALI (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 5.4: Esempi di segmentazione del dito filtrando il colore della pelle 5.2. SEGMENTAZIONE DEL DITO 77 (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 5.5: Esempi di segmentazione del dito filtrando il colore della pelle 78 CAPITOLO 5. RISULTATI SPERIMENTALI (a) (b) (c) (d) (e) (f) (g) (h) (i) Figura 5.6: Esempi di segmentazione del dito filtrando il colore della pelle 5.3. RICONOSCIMENTO BIOMETRICO 5.3 79 Riconoscimento biometrico In questo lavoro di tesi sono stati implementati due sistemi di estrazione delle caratteristiche e confronto delle identità: il primo è basato su NIST Biometric Image Software (NBIS) versione 4.2.0 (30/10/2013) e il secondo su Minutia Cylinder-Code (MCC) versione 1.4. I software MccEnroller e MccMatcher componenti il Minutia Cylinder-Code, oltre a ricevere in ingresso le impronte digitali, ricevono ciascuno anche un file di configurazione dei parametri di funzionamento. Tra gli eseguibili del programma sono già presenti una serie di configurazioni predefinite che gli autori consigliano. Dai test effettuati sui database, i file di configurazione IcarCV2010PaperEnrollParameters.xml e IcarCV2010PaperMatchParameters.xml hanno ottenuto le prestazioni migliori tra le configurazioni predefinite disponibili. I due file vengono inseriti tra i parametri in ingresso dei rispettivi eseguibili MccEnroller e MccMatcher. Con questi file di configurazione viene utilizzata la codifica basata sui bit. Essa produce template di piccola dimensione (inferiori ai 50 KB) e rende elementari le operazioni di confronto (AND e XOR). Nelle sezioni seguenti sono mostrati i risultati ottenuti con i database creati. Come mostrato nella Tabella 5.1 ognuno dei database di↵erisce di una serie di parametri di acquisizione. Per comprendere come questi parametri influiscono sulle prestazioni del sistema sono stati creati più test. I dettagli sono nelle sezioni seguenti. 5.3.1 Robustezza alla modalità di messa a fuoco Il primo test svolto riguarda la modalità di messa a fuoco della fotocamera. I database che di↵eriscono in questo parametro sono il DB1 e DB2. Nel primo la messa fuoco è automatica, nel secondo è manuale. Analizzando visivamente le immagini acquisite si è notato che nelle prime il dito non risulta sempre perfettamente a fuoco. A volte la fotocamera mette a fuoco lo sfondo invece di dare priorità al dito. Nel secondo caso, impostando il focus manuale sul dito, tutte le immagini sono di ottima qualità. La Tabella 5.2 mostra come un’errata messa a fuoco possa abbassare le prestazioni del sistema. Nella tabella sono mostrati quattro test, disposti ognuno su una riga. Ogni 80 CAPITOLO 5. RISULTATI SPERIMENTALI Test N. Miglioramento delle immagini Confronto delle identità DB1 (%) EER database DB2 (%) DB1 + DB2 (%) 1 2 3 4 CLAHE Filt. freq. CLAHE Filt. freq. NBIS NBIS MCC MCC 7,1 6,5 0,7 1,4 0,3 0,3 0,0 0,0 9,3 8,9 3,0 3,2 Tabella 5.2: Test della modalità di messa a fuoco - EER test di↵erisce di un parametro dal precedente. I test 1 e 2 hanno gli stessi algoritmi di estrazione delle minuzie e confronto (NBIS) ma di↵eriscono nelle immagini in ingresso, nel primo caso sono trasformate a contatto con il metodo CLAHE, nel secondo tramite il filtraggio in frequenza. I test 3 e 4 hanno il secondo metodo di estrazione e confronto delle minuzie (MCC) e la stessa configurazione delle immagini in ingresso dei test 1 e 2. In tutti e quattro i test l’immagine è ridimensionata a 500 PPI tramite il metodo C (allineamento del dito agli assi dell’immagine e misurazione della sua larghezza). Nelle colonne sono mostrati i risultati in termini di EER per il DB1, il DB2 e la loro unione. Dalla tabella è immediatamente individuabile un deterioramento delle prestazioni a causa della sfocatura nel DB1. Inoltre si può notare che il metodo MCC è sempre più efficiente di NBIS. La trasformazione CLAHE risulta più efficacie abbinata a MCC, il filtraggio in frequenza a NBIS. Le prestazioni migliori sono ottenute per il DB2 utilizzando il metodo MCC, si raggiunge un EER pari a zero, ovvero tutti i genuini e gli impostori sono correttamente riconosciuti. Nel DB unificato le prestazioni peggiorano rispetto al DB1 e DB2 perché i campioni di questo database hanno qualità inferiore rispetto ai due database analizzati separatamente. In questo caso il risultato migliore è raggiunto dalla combinazione dei metodi CLAHE e MCC (Test N. 3). La Figura 5.7, la Figura 5.8 e la Figura 5.9 mostrano, rispettivamente, le curve ROC del DB1, del DB2 e del dataset complessivo (detto DB1 + DB2). Seguendo i valori degli EER, il grafico con le prestazioni migliori è quello riguardante il DB2. 5.3. RICONOSCIMENTO BIOMETRICO 81 100 98 96 100 - FNMR (%) 94 92 90 88 86 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 84 82 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.7: Curve ROC del DB1 5.3.2 Robustezza alle condizioni di illuminazione Il secondo test svolto riguarda le condizioni di illuminazione del dito. I database che di↵eriscono in questo parametro sono il DB2 e DB3. Nel primo l’illuminazione è data dal flash LED incorporato nel telefono, nel secondo è data dalle luci a soffitto della stanza. Analizzando visivamente le immagini acquisite si è notato che nelle prime le creste e le valli componenti l’impronta digitale hanno un elevato contrasto tra loro, questo le rende ben visibili. Nel secondo caso l’illuminazione più so↵usa della stanza abbassa il contrasto. Tuttavia, anche in questo caso, le creste e le valli sono visibili. Durante le acquisizioni è stato provato anche a fotografare il dito senza il flash acceso e senza le luci a soffitto accese. In questo caso non era possibile distinguere le creste e le valli. Di conseguenza, è stata scartata la possibilità di creare un database con tale condizioni di illuminazione. La Tabella 5.3 mostra le prestazioni del sistema in caso di illuminazione con il flash o con i neon a soffitto. Nella tabella sono mostrati quattro test, organizzati come nella tabella precedente. Dalla tabella si può notare che il metodo di illuminazione non influenza sensi- 82 CAPITOLO 5. RISULTATI SPERIMENTALI 100 99.5 100 - FNMR (%) 99 98.5 98 97.5 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 97 96.5 0 2 4 6 8 10 12 14 16 18 20 FMR (%) Figura 5.8: Curve ROC del DB2 Test N. Miglioramento delle immagini Confronto delle identità DB2 (%) EER database DB3 (%) DB2 + DB3 (%) 1 2 3 4 CLAHE Filt. freq. CLAHE Filt. freq. NBIS NBIS MCC MCC 0,3 0,3 0,0 0,0 0,3 0,3 0,0 0,6 1,0 1,4 0,0 0,3 Tabella 5.3: Test della modalità d’illuminazione - EER bilmente le prestazioni. Ciò è dovuto al fatto che in entrambi i casi il contrasto dell’impronta digitale era comunque sufficiente. Inoltre, nel dataset complessivo si può notare che il metodo MCC è sempre più efficiente di NBIS e CLAHE ha ottenuto risultati migliori del filtraggio in frequenza. Le prestazioni ottimali sono ottenute su tutti e tre i database con il metodo MCC accoppiato a CLAHE. Si raggiunge un EER pari a zero. La Figura 5.8, la Figura 5.10 e la Figura 5.11 mostrano, rispettivamente, le curve ROC del DB2, del DB3 e del dataset complessivo (detto DB2 + DB3). In coerenza con gli EER, i grafici con le prestazioni migliori sono quelli riguardanti il DB2 e il 5.3. RICONOSCIMENTO BIOMETRICO 83 100 98 96 100 - FNMR (%) 94 92 90 88 86 84 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 82 80 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.9: Curve ROC dell’unione dei database DB1 e DB2 DB3. 5.3.3 Invarianza alla distanza di acquisizione Il terzo test svolto riguarda la distanza h tra la camera e il dito. I database che di↵eriscono in questo parametro sono il DB2 e DB4. Nel primo la distanza è pari a 85 mm, nel secondo è 125 mm. Analizzando visivamente le immagini acquisite si è notato che riducendo la distanza a meno di 85 mm le immagini non erano a fuoco, oltre i 125 mm i dettagli delle creste iniziavano a essere indistinguibili. Dunque questi due valori sono stati scelti come limiti dell’intervallo h. Sono stati studiati tre metodi di ridimensionamento in caso di ambiente non vincolato, ovvero con immagini in cui la distanza camera-dito sia sconosciuta. Tutti e tre si basano sulla valutazione della dimensione del dito e stimano di conseguenza la distanza. Il metodo A approssima il polpastrello a un semicerchio e ne valuta il raggio, il metodo B misura la larghezza del dito e il metodo C allinea il dito agli assi dell’immagine e ne misura la larghezza. I risultati di questi tre metodi sono nelle seguenti tre sezioni. 84 CAPITOLO 5. RISULTATI SPERIMENTALI 100 99.5 100 - FNMR (%) 99 98.5 98 97.5 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 97 96.5 0 2 4 6 8 10 12 14 16 18 20 FMR (%) Figura 5.10: Curve ROC del DB3 Metodo A La Tabella 5.4 mostra le prestazioni del sistema con ridimensionamento attraverso il metodo dell’approssimazione del polpastrello a un semicerchio. Nella tabella sono mostrati quattro test, organizzati come nella tabella precedente. Dalla tabella si può notare che il metodo A ottiene dei valori di EER elevati, in alcuni casi oltre il 10 %. Ciò è dovuto al fatto che non sempre viene ben stimato il semicerchio che approssima il polpastrello. Non tutte le dita hanno la stessa forma tondeggiante, alcune sono più tozze, altre più a↵usolate. Nel dataset complessivo si può notare che il metodo MCC è sempre più efficiente di NBIS e CLAHE ha ottenuto risultati migliori del filtraggio in frequenza. La Figura 5.12, la Figura 5.13 e la Figura 5.14 mostrano, rispettivamente, le curve ROC del DB2, del DB4 e del dataset complessivo (detto DB2 + DB4). 5.3. RICONOSCIMENTO BIOMETRICO 85 100 100 - FNMR (%) 99.5 99 98.5 98 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 97.5 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.11: Curve ROC dell’unione dei database DB2 e DB3 Test N. Miglioramento delle immagini Confronto delle identità DB2 (%) EER database DB4 (%) DB2 + DB4 (%) 1 2 3 4 CLAHE Filt. freq. CLAHE Filt. freq. NBIS NBIS MCC MCC 1,8 6,6 0,0 3,0 1,1 3,4 0,8 0,0 10,7 12,3 6,8 10,0 Tabella 5.4: Test della distanza di acquisizione - metodo A - EER Metodo B La Tabella 5.5 mostra le prestazioni del sistema con ridimensionamento attraverso la misura della larghezza del dito. Sono mostrati quattro test, organizzati come nella tabella precedente. La tabella evidenzia che il metodo B ottiene sempre risultati migliori o uguali rispetto il metodo A, a eccezione del database unificato trasformato con CLAHE e confrontato con MCC. La Figura 5.15, la Figura 5.16 e la Figura 5.17 mostrano, rispettivamente, le curve ROC del DB2, del DB4 e del dataset complessivo (detto DB2 + DB4). 86 CAPITOLO 5. RISULTATI SPERIMENTALI 100 99 98 100 - FNMR (%) 97 96 95 94 93 92 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 91 90 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.12: Curve ROC del DB2 - Metodo A Test N. Miglioramento delle immagini Confronto delle identità DB2 (%) EER database DB4 (%) DB2 + DB4 (%) 1 2 3 4 CLAHE Filt. freq. CLAHE Filt. freq. NBIS NBIS MCC MCC 0,3 0,6 0,0 1,0 0,2 1,5 0,0 0,0 7,1 7,5 7,5 6,5 Tabella 5.5: Test della distanza di acquisizione - metodo B - EER Metodo C La Tabella 5.6 mostra le prestazioni del sistema con ridimensionamento attraverso la misura della larghezza del dito preceduto dall’allineamento di quest’ultimo lungo gli assi dell’immagine. Nella tabella sono mostrati quattro test, organizzati come nella tabella precedente. Le prestazioni ottenute con il metodo C risultano sempre migliori o uguali ai metodi A e B. Questo porta a concludere che il metodo C sia il migliore metodo di ridimensionamento implementato tra i tre analizzati per ridimensionare le impronte digitali acquisite in ambiente non vincolato. 5.3. RICONOSCIMENTO BIOMETRICO 87 100 99 98 100 - FNMR (%) 97 96 95 94 93 92 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 91 90 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.13: Curve ROC del DB4 - Metodo A Test N. Miglioramento delle immagini Confronto delle identità DB2 (%) EER database DB4 (%) DB2 + DB4 (%) 1 2 3 4 CLAHE Filt. freq. CLAHE Filt. freq. NBIS NBIS MCC MCC 0,3 0,3 0,0 0,0 0,2 0,3 0,0 0,0 5,9 6,4 4,2 6,0 Tabella 5.6: Test della distanza di acquisizione - metodo C - EER Dalla tabella si può notare che il DB2 e il DB4 hanno un EER intorno allo 0,3 % con il metodo NBIS e un EER pari a zero con il metodo MCC. Nel database unificato le prestazioni calano, nel migliore dei casi, a un EER pari a 4,2 %. Analizzando manualmente il database, si può notare che il ridimensionamento non è perfetto. Lo stesso dito non ha esattamente la stessa dimensione in tutte le acquisizioni. Per esempio, il dito indice nel DB2 e nel DB4 ha una dimensione media rispettivamente di 391 e 360 pixel e una deviazione standard rispettivamente di 2,9 e 2,4 pixel. Dunque all’interno dello stesso database il ridimensionamento è ben funzionante, ma unendo i due database la deviazione standard sale a 16,8 pixel e questo abbassa le prestazioni. 88 CAPITOLO 5. RISULTATI SPERIMENTALI 100 95 100 - FNMR (%) 90 85 80 75 70 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.14: Curve ROC dell’unione dei database DB2 e DB4 - Metodo A La Figura 5.8, la Figura 5.18 e la Figura 5.19 mostrano, rispettivamente, le curve ROC del DB2, del DB4 e del dataset complessivo (detto DB2 + DB4). In coerenza con gli EER, i grafici con le prestazioni migliori sono quelli riguardanti il DB2 e il DB4. 5.3.4 Ridimensionamento in ambiente vincolato In un ambiente di acquisizione vincolato il ridimensionamento delle immagini alla risoluzione fissa risulta semplice in quanto la distanza tra il dito e la camera è nota a priori. Essendo la procedura di acquisizione illustrata per i DB1, DB2, DB3 e DB4 caratterizzata da un ambiente vincolato, sono state ridimensionate le immagini calcolando il fattore di scala come illustrato nel capitolo precedente nella Sezione 4.2.2 Ambiente vincolato. Questa operazione è stata svolta per avere un paragone tra le prestazioni ottenibili nell’ambiente ideale (ambiente vincolato) e nell’ambiente non vincolato. La Tabella 5.7 mostra gli EER ottenuti con la normalizzazione svolta in ambiente vincolato come mostrato nel capitolo precedente. 5.4. AMBIENTE NON VINCOLATO 89 100 99.5 100 - FNMR (%) 99 98.5 98 97.5 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 97 96.5 0 5 10 15 FMR (%) Figura 5.15: Curve ROC del DB2 - Metodo B Test N. 1 2 3 4 Miglioramento delle immagini CLAHE Filt. freq. CLAHE Filt. freq. Confronto delle identità NBIS NBIS MCC MCC DB1 6,5 0,2 0,0 0,7 DB2 0,3 0,2 0,0 0,0 EER DB3 1,9 2,8 0,0 0,9 (%) database DB4 Dataset complessivo 1,6 3,9 0,3 3,2 0,0 2,3 0,0 3,9 Tabella 5.7: Risultati ottenuti in ambiente vincolato - EER 5.4 Ambiente non vincolato Per verificare le prestazioni degli algoritmi di normalizzazione in modo più approfondito è stata e↵ettuata un’ulteriore acquisizione di immagini con lo smartphone LG G3. In questo caso l’ambiente di acquisizione non ha alcun vincolo: il telefono è tenuto in mano e inquadra un dito per volta nella camera senza conoscere la distanza tra essi e senza alcuna guida al posizionamento. La distanza è dinamica, tra ogni acquisizione cambia da qualche millimetro a qualche centimetro. L’unico parametro fisso è il flash, impostato sempre attivo. Le immagini sono state processate con gli algoritmi che hanno dato i migliori risultati nei test precedenti. Nel dettaglio è 90 CAPITOLO 5. RISULTATI SPERIMENTALI 100 99 98 100 - FNMR (%) 97 96 95 94 93 92 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 91 90 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.16: Curve ROC del DB4 - Metodo B stato utilizzato il metodo C per normalizzare la risoluzione, il metodo CLAHE per la conversione in immagini a contatto e MCC per l’estrazione delle caratteristiche e il confronto. Con questa configurazione è stato raggiunto un EER pari all’1,6 %, è possibile concludere che gli algoritmi implementati potrebbero essere utilizzati con successo in applicazioni reali. 5.5 Template multi-risoluzione Al fine di risolvere i problemi di normalizzazione della risoluzione dei metodi illustrati fino a ora, è stato tentato anche un altro approccio. Con i template multi-risoluzione per ogni immagine acquisita vengono create più versioni che di↵eriscono nel valore del parametro di scala utilizzato per il ridimensionamento. Nei test e↵ettuati gli algoritmi ridimensionano le immagini in 17 scale di↵erenti. Il parametro di ridimensionamento va da 0,3 a 1,1 con passo 0,05. I risultati ottenuti sui database creati sono inferiori rispetto ai metodi visti nelle sezioni precedenti. Il test più ampio è stato svolto con il DB2 composto da 20 im- 5.6. INTEROPERABILITÀ 91 100 95 100 - FNMR (%) 90 85 80 75 70 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.17: Curve ROC dell’unione dei database DB2 e DB4 - Metodo B magini. Le immagini sono state convertite con il metodo del filtraggio in frequenza e processate con il software NBIS. L’EER raggiunto è pari a 5,8 %. Il valore è peggiore rispetto a tutti i risultati precedenti a eccezione del metodo di ridimensionamento A. Il risultato porta a preferire gli altri metodi, quale ad esempio, il ridimensionamento con il metodo C. 5.6 Interoperabilità Tra gli obiettivi di questa tesi c’è il rendere il codice scritto utilizzabile con qualsiasi dispositivo dotato di sufficienti caratteristiche hardware. Per orientarci al soddisfacimento di questo obiettivo è stata eseguita una acquisizione, nelle stesse condizioni del DB2, ma con uno smartphone di↵erente, l’LG G3, creando il DB5. Senza modificare il codice, questo è stato testato sul database DB5. I risultati ottenuti sono stati paragonati al database migliore tra quelli creati con il Samsung Galaxy S4 (DB2). È stato inoltre eseguito un test unendo i due database per valutare l’interoperabilità del sistema implementato. 92 CAPITOLO 5. RISULTATI SPERIMENTALI 100 90 80 100 - FNMR (%) 70 60 50 40 30 20 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 10 0 0 1 2 3 4 5 6 7 8 9 10 FMR (%) Figura 5.18: Curve ROC del DB4 - Metodo C La Tabella 5.8 mostra le prestazioni del sistema con il DB2, il DB5 e il dataset complessivo, nominato DB2 + DB5. La Figura 5.8, la Figura 5.20 e la Figura 5.21 mostrano, rispettivamente, le curve ROC del DB2, del DB5 e del dataset complessivo. In coerenza con gli EER, i grafici con le prestazioni migliori sono quelli riguardanti il DB2 e il DB5. Tutti i test mostrati fino ad ora comprendono dei database composti da 20 immagini l’uno (4 immagini per dito di una mano destra). Sono dunque stati e↵ettuati dei test ulteriori con il DB2 e il DB5 questa volta composti da 40 immagini l’uno. In Test N. Miglioramento delle immagini Confronto delle identità DB2 (%) EER database DB5 (%) DB2 + DB5 (%) 1 2 3 4 CLAHE Filt. freq. CLAHE Filt. freq. NBIS NBIS MCC MCC 0,3 0,3 0,0 0,0 0,3 0,2 0,0 0,0 8,4 8,9 4,2 4,5 Tabella 5.8: Test dell’interoperabilità con 20 immagini in ciascuno dei DB2 e DB5 EER 5.6. INTEROPERABILITÀ 93 100 95 100 - FNMR (%) 90 85 80 75 70 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.19: Curve ROC dell’unione dei database DB2 e DB4 - Metodo C questo caso è stato scelto di eseguire il test con solo la configurazione che ha fornito i risultati migliori nella tabella precedente, ovvero il metodo CLAHE seguito dagli algoritmi MCC. I risultati ottenuti sono i seguenti: • DB2 (40 immagini), EER = 0,3 % • DB5 (40 immagini), EER = 0,0 % • Dataset complessivo (80 immagini), EER = 2,7 % Dai risultati ottenuti è possibile concludere che il sistema implementato funziona correttamente anche confrontando le immagini acquisite da dispositivi di↵erenti. Il grafico 5.22 mostra le curve ROC corrispondenti ai test appena elencati. 94 CAPITOLO 5. RISULTATI SPERIMENTALI 100 99.9 99.8 100 - FNMR (%) 99.7 99.6 99.5 99.4 99.3 99.2 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 99.1 99 0 1 2 3 4 5 6 7 8 9 10 FMR (%) Figura 5.20: Curve ROC del DB5 100 98 96 100 - FNMR (%) 94 92 90 88 86 84 Test 1: CLAHE + NBIS Test 2: Filt + NBIS Test 3: CLAHE + MCC Test 4: Filt + MCC 82 80 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.21: Curve ROC dell’unione dei database DB2 e DB5 - 20 immagini per ogni database 5.6. INTEROPERABILITÀ 95 100 100 - FNMR (%) 95 90 DB2 DB5 DB2 + DB5 85 0 10 20 30 40 50 60 70 80 90 100 FMR (%) Figura 5.22: Curve ROC dell’unione dei database DB2 e DB5 - 40 immagini per ogni database 96 CAPITOLO 5. RISULTATI SPERIMENTALI Capitolo 6 Conclusioni e sviluppi futuri In questa tesi è stato studiato l’utilizzo di immagini di impronte digitali acquisite tramite la fotocamera di smartphone in sistemi di riconoscimento biometrico. Il sistema biometrico proposto segue quattro passi principali: • Acquisizione dell’immagine, • Conversione in immagine equivalente al tocco (preprocessing), • Estrazione delle caratteristiche e salvataggio nel template, • Confronto delle identità. Per il primo passo, sono stati studiati dei metodi di acquisizione specifici per di↵erenti condizioni applicative, quali il tipo di illuminazione, la distanza tra la fotocamera e il dito e la tipologia di messa a fuoco. Il secondo passo è basato sulla trasformazione dell’immagine del dito in una impronta digitale simile a quella ottenibile con un lettore a contatto, cosı̀ da rendere il sistema compatibile con gli standard attuali. In ogni immagine viene individuato il polpastrello, separato dallo sfondo e dalle altre componenti della mano, viene normalizzata la risoluzione e viene migliorato il contrasto cosı̀ da risaltare le creste e le valli componenti l’impronta digitale. In particolare, la fase di normalizzazione della risoluzione è cruciale alla buona resa degli algoritmi di estrazione delle caratteristiche e confronto delle identità poiché i metodi 97 98 CAPITOLO 6. CONCLUSIONI E SVILUPPI FUTURI più utilizzati in letteratura si basano sulle distanze euclidee tra due impronte digitali, i quali richiedono immagini con risoluzione nota a priori. Il terzo passo estrae le caratteristiche distintive dalle impronte convertite, chiamate minuzie. In particolare, si ricorre ad algoritmi di confronto delle identità ben noti in letteratura: il software NIST Biometric Image Software (NBIS) e il Minutia Cylinder-Code (MCC). Il quarto passo compara due impronte digitali restituendo un indice di similitudine calcolato utilizzando le informazioni ottenute dal passo precedente. Il sistema è stato valutato creando sei dataset biometrici. Questi dataset sono stati progettati per studiare il cambiamento delle prestazioni del sistema al mutare dei fenomeni quali illuminazione, distanza, messa a fuoco e il modello di smartphone. I database su cui gli algoritmi sono stati testati sono composti da 40 acquisizioni ottenute dalle 10 dita di un soggetto. Il metodo di normalizzazione della risoluzione delle immagini che ha ottenuto i migliori risultati sperimentali è il metodo C: allineamento del dito agli assi dell’immagine e misurazione della sua larghezza. Il metodo di conversione da immagini senza contatto a impronte a contatto che ha mostrato la maggiore precisione è l’Equalizzazione adattiva dell’istogramma a contrasto limitato (CLAHE). Il metodo di confronto delle identità che ha ottenuto la migliore accuratezza è il Minutia Cylinder-Code. Con questa configurazione del sistema è stato raggiunto un EER pari allo 0,0 %. I database che hanno fornito questi risultati sono il DB2, il DB3 e il DB5. Per contro, le prestazioni peggiori si verificano in caso di immagini non a fuoco e con la risoluzione normalizzata con il metodo A. Il test con il numero maggiore di immagini in esame conta 80 immagini, ottenute unendo il DB2 e il DB5. In questo caso è stato raggiunto un EER pari al 2,7 %. Il test con immagini acquisite a più distanze è stato svolto unendo il database DB2 e DB4 (rispettivamente 85 e 125 mm), ottenendo 40 immagini (8 per dito) e raggiungendo un EER pari al 4,2 %. Infine, il DB6, contenente 20 immagini acquisite senza alcuna guida al posizionamento raggiunge un EER pari all’1,6 %. I risultati ottenuti sono incoraggianti, le tecnologie sono futuribili. Sono immaginabili scenari applicativi nel settore dei dispositivi mobili, quali smartphone e tablet. È possibile implementare lo sblocco dello schermo del dispositivo tramite il riconoscimento dell’impronta acquisita con la fotocamera integrata invece della clas- 99 sica digitazione di un codice segreto. Inoltre, le applicazioni presenti sul dispositivo potrebbero permettere l’autenticazione ai loro servizi sempre con questi sistemi di riconoscimento biometrico basati su impronte digitali acquisite senza contatto. Sono auspicabili i seguenti sviluppi futuri: • Creazione di test con un maggior numero di utenti e in di↵erenti condizioni operative per validare i metodi proposti per applicazioni su larga scala; • Studio di algoritmi di miglioramento delle immagini adatti a di↵erenti condizioni operative. I metodi proposti hanno ottenuto risultati soddisfacenti nel contesto applicativo valutato, tuttavia hanno mostrato limiti in condizioni operative meno controllate; • Studio di metodi per l’estrazione delle caratteristiche dedicati a immagini senza contatto che potrebbero aumentare l’accuratezza rispetto a quelli progettati per i sistemi tradizionali; • Implementazione dei metodi proposti in smartphone e tablet, ad esempio basati su sistema operativo Android. 100 CAPITOLO 6. CONCLUSIONI E SVILUPPI FUTURI Bibliografia [1] “Biometrics: Overview,” 2014. http://biometrics.cse.msu.edu/info/ index.html. [2] “Fingerprint identification,” 2014. net/. http://fingerprintidentification. [3] D. R. Ashbaugh, “Ridgeology. modern evalutative friction ridge identification,” 2014. http://www.onin.com/fp/ridgeology.pdf. [4] R. Donida Labati, A. Genovese, V. Piuri, and F. Scotti, “Touchless fingerprint biometrics: a survey on 2d and 3d technologies,” WANGJÌ WANGLÙ JÌSHÙ XUÉKAN, vol. 15, pp. 325–332, 2014. [5] V. Piuri and F. Scotti, “Fingerprint biometrics via low-cost sensors and webcams,” in Biometrics: Theory, Applications and Systems, 2008. BTAS 2008. 2nd IEEE International Conference on, pp. 1–6, Sept 2008. [6] F. Han, J. Hu, M. Alkhathami, and K. Xi, “Compatibility of photographed images with touch-based fingerprint verification software,” in Industrial Electronics and Applications (ICIEA), 2011 6th IEEE Conference on, pp. 1034–1039, June 2011. [7] G. Li, B. Yang, and C. Busch, “Autocorrelation and dct based quality metrics for fingerprint samples generated by smartphones,” in Digital Signal Processing (DSP), 2013 18th International Conference on, pp. 1–5, July 2013. 101 102 BIBLIOGRAFIA [8] B. Hiew, A. Teoh, and D. Ngo, “Automatic digital camera based fingerprint image preprocessing,” in Computer Graphics, Imaging and Visualisation, 2006 International Conference on, pp. 182–189, July 2006. [9] B. Hiew, A. Teoh, and D. Ngo, “Preprocessing of fingerprint images captured with a digital camera,” in Control, Automation, Robotics and Vision, 2006. ICARCV ’06. 9th International Conference on, pp. 1–6, Dec 2006. [10] B. Hiew, A. Teoh, and Y. Pang, “Digital camera based fingerprint recognition,” in Telecommunications and Malaysia International Conference on Communications, 2007. ICT-MICC 2007. IEEE International Conference on, pp. 676–681, May 2007. [11] R. Donida Labati, V. Piuri, and F. Scotti, “Neural-based quality measurement of fingerprint images in contactless biometric systems,” in Neural Networks (IJCNN), The 2010 International Joint Conference on, pp. 1–8, July 2010. [12] R. Donida Labati, A. Genovese, V. Piuri, and F. Scotti, “Measurement of the principal singular point in contact and contactless fingerprint images by using computational intelligence techniques,” in Computational Intelligence for Measurement Systems and Applications (CIMSA), 2010 IEEE International Conference on, pp. 18–23, Sept 2010. [13] R. Donida Labati, V. Piuri, and F. Scotti, “A neural-based minutiae pair identification method for touch-less fingerprint images,” in Computational Intelligence in Biometrics and Identity Management (CIBIM), 2011 IEEE Workshop on, pp. 96–102, April 2011. [14] R. Donida Labati, A. Genovese, V. Piuri, and F. Scotti, “Contactless fingerprint recognition: A neural approach for perspective and rotation e↵ects reduction.,” in CIBIM, pp. 22–30, 2013. [15] Y. Song, C. Lee, and J. Kim, “A new scheme for touchless fingerprint recognition system,” in Intelligent Signal Processing and Communication Systems, 2004. BIBLIOGRAFIA 103 ISPACS 2004. Proceedings of 2004 International Symposium on, pp. 524–527, Nov 2004. [16] C. Lee, S. Lee, and J. Kim, “A study of touchless fingerprint recognition system,” in Structural, Syntactic, and Statistical Pattern Recognition (D.-Y. Yeung, J. Kwok, A. Fred, F. Roli, and D. de Ridder, eds.), vol. 4109 of Lecture Notes in Computer Science, pp. 358–365, Springer Berlin Heidelberg, 2006. [17] G. Parziale, “Touchless fingerprinting technology,” in Advances in Biometrics (N. Ratha and V. Govindaraju, eds.), pp. 25–48, Springer London, 2008. [18] E. Sano, T. Maeda, T. Nakamura, M. Shikai, K. Sakata, M. Matsushita, and K. Sasakawa, “Fingerprint authentication device based on optical characteristics inside a finger,” in Computer Vision and Pattern Recognition Workshop, 2006. CVPRW ’06. Conference on, pp. 27–27, June 2006. [19] C. Heeseung, C. Kyoungtaek, and K. Jaihie, “Mosaicing touchless and mirror-reflected fingerprint images,” Information Forensics and Security, IEEE Transactions on, vol. 5, pp. 52–61, March 2010. [20] S. Milshtein, M. Baier, C. Granz, and P. Bustos, “Mobile system for fingerprinting and mapping of blood - vessels across a finger,” in Technologies for Homeland Security, 2009. HST ’09. IEEE Conference on, pp. 30–34, May 2009. [21] R. Donida Labati, A. Genovese, V. Piuri, and F. Scotti, “Fast 3-d fingertip reconstruction using a single two-view structured light acquisition,” in Biometric Measurements and Systems for Security and Medical Applications (BIOMS), 2011 IEEE Workshop on, pp. 1–8, Sept 2011. [22] B. Y. Hiew, A. B. J. Teoh, and O. S. Yin, “A secure digital camera based fingerprint verification system,” Journal of Visual Communication and Image Representation, vol. 21, no. 3, pp. 219 – 231, 2010. [23] G. Parziale and Y. Chen, “Advanced technologies for touchless fingerprint recognition,” in Handbook of Remote Biometrics (M. Tistarelli, S. Li, and R. Chel- 104 BIBLIOGRAFIA lappa, eds.), Advances in Pattern Recognition, pp. 83–109, Springer London, 2009. [24] G. Parziale, E. Diaz-Santana, and R. Hauke, “The surround imagertm: A multicamera touchless device to acquire 3d rolled-equivalent fingerprints,” in Advances in Biometrics (D. Zhang and A. Jain, eds.), vol. 3832 of Lecture Notes in Computer Science, pp. 244–250, Springer Berlin Heidelberg, 2005. [25] Y. Wang, L. G. Hassebrook, and D. L. Lau, “Data acquisition and processing of 3-d fingerprints,” Information Forensics and Security, IEEE Transactions on, vol. 5, no. 4, pp. 750–760, 2010. [26] Y. Wang, L. G. Hassebrook, and D. Lau, “Noncontact, depth-detailed 3d fingerprinting,” in SPIE Newsroom, 2009. [27] A. Kumar and C. Kwong, “Towards contactless, low-cost and accurate 3d fingerprint identification,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. PP, no. 99, pp. 1–1, 2014. [28] M. J. Brooks and B. K. P. Horn, “Shape from shading,” ch. Shape and Source from Shading, pp. 53–68, Cambridge, MA, USA: MIT Press, 1989. [29] Y. Wang, D. L. Lau, and L. G. Hassebrook, “Fit-sphere unwrapping and performance analysis of 3d fingerprints,” Appl. Opt., vol. 49, pp. 592–600, Feb 2010. [30] S. Shafaei, T. Inanc, and L. Hassebrook, “A new approach to unwrap a 3d fingerprint to a 2-d rolled equivalent fingerprint,” in Biometrics: Theory, Applications, and Systems, 2009. BTAS ’09. IEEE 3rd International Conference on, pp. 1–5, Sept 2009. [31] Q. Zhao, A. Jain, and G. Abramovich, “3d to 2d fingerprints: Unrolling and distortion correction,” in Biometrics (IJCB), 2011 International Joint Conference on, pp. 1–8, Oct 2011. BIBLIOGRAFIA 105 [32] R. Donida Labati, A. Genovese, V. Piuri, and F. Scotti, “Quality measurement of unwrapped three-dimensional fingerprints: A neural networks approach,” in Neural Networks (IJCNN), The 2012 International Joint Conference on, pp. 1– 8, June 2012. [33] R. Donida Labati, A. Genovese, V. Piuri, and F. Scotti, “Virtual environment for 3-d synthetic fingerprints,” in Virtual Environments Human-Computer Interfaces and Measurement Systems (VECIMS), 2012 IEEE International Conference on, pp. 48–53, July 2012. [34] R. Donida Labati, A. Genovese, V. Piuri, and F. Scotti, “Accurate 3d fingerprint virtual environment for biometric technology evaluations and experiment design,” in Proc. of the 2013 IEEE Int. Conf. on Computational Intelligence and Virtual Environments for Measurement Systems and Applications (CIVEMSA 2013), pp. 43–48, 2013. [35] W. Zhou, J. Hu, S. Wang, I. Petersen, and M. Bennamoun, “Performance evaluation of large 3d fingerprint databases,” Electronics Letters, vol. 50, pp. 1060–1061, July 2014. [36] N. Otsu, “A threshold selection method from gray-level histograms,” Automatica, vol. 11, no. 285-296, pp. 23–27, 1975. [37] MathWorks, “Graythresh,” 2014. http://it.mathworks.com/help/images/ ref/graythresh.html. [38] Blogspot, “How to detect fingers,” 2014. http://codetocreate.blogspot.in/ 2014/07/how-to-detect-fingers.html. [39] MathWorks, “Regionprops,” 2014. http://it.mathworks.com/help/images/ ref/regionprops.html. [40] A. M. Reza, “Realization of the contrast limited adaptive histogram equalization (clahe) for real-time image enhancement,” Journal of VLSI signal processing systems for signal, image and video technology, vol. 38, no. 1, pp. 35–44, 2004. 106 BIBLIOGRAFIA [41] NIST, “Nist biometric image software,” 2014. http://www.nist.gov/itl/iad/ ig/nbis.cfm. [42] R. Cappelli, M. Ferrara, and D. Maltoni, “Minutia cylinder-code: A new representation and matching technique for fingerprint recognition,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 32, no. 12, pp. 2128–2141, 2010. [43] R. Cappelli, M. Ferrara, and D. Maltoni, “Fingerprint indexing based on minutia cylinder-code,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33, no. 5, pp. 1051–1057, 2011. [44] M. Ferrara, D. Maltoni, and R. Cappelli, “Noninvertible minutia cylinder-code representation,” Information Forensics and Security, IEEE Transactions on, vol. 7, no. 6, pp. 1727–1737, 2012. [45] U. di Bologna, “Minutia cylinder-code sdk,” 2014. http://biolab.csr.unibo. it/mccsdk.html. [46] A. Jain, S. Prabhakar, L. Hong, and S. Pankanti, “Fingercode: a filterbank for fingerprint representation and matching,” in Computer Vision and Pattern Recognition, 1999. IEEE Computer Society Conference on., vol. 2, pp. –193 Vol. 2, 1999.