Biometria delle impronte digitali senza contatto tramite smartphone

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.