1. Université Abdelmalek Essaâdi
Faculté des sciences et Techniques
Tanger
Département : Génie Informatique
Filière : Logiciel et Système Informatique
Identification des empreintes
digitales
Année universitaire : 2011/2012
2. Sommaire
Introduction............................................................................................................................................. 4
I. Biométrie et classification des empreintes digitales.................................................................... 5
1. La biométrie ................................................................................................................................ 5
2. L’utilisation de la biométrie ........................................................................................................ 5
3. Qu’est ce qu’une empreinte digitale ? ......................................................................................... 5
4. Forme générale de l’empreinte .................................................................................................... 6
5. Minuties ou motifs d’une empreinte............................................................................................ 7
II. Identification des empreintes digitales ........................................................................................... 9
1. Capteurs d’empreintes digitales .................................................................................................. 9
a. Les capteurs optiques ......................................................................................................... 9
b. Les capteurs en silicium ................................................................................................... 10
c. Les capteurs thermiques .................................................................................................. 10
2. Etapes de traitement d’une empreinte digitale .......................................................................... 11
3. Etapes de comparaison d’une empreinte digitale ...................................................................... 12
III. Etude de cas .............................................................................................................................. 13
1. Principe suivi ............................................................................................................................. 13
2. Implémntation sous OpenCV .................................................................................................... 13
Conclusion ............................................................................................................................................. 18
2
4. Introduction
Les empreintes digitales sont les marques laissées par les sillons des pulpes digitales. Le
dessin qu'elles forment est propre à chaque personne, ce qui explique pourquoi les empreintes
digitales servent à l'identification des personnes.i
Le caractère quasi-unique d'une empreinte digitale en fait un outil biométrique très utilisé
pour l'identification des individus en médecine légale et pour la police scientifique.
La classification des empreintes repose sur la topographie générale de l'empreinte digitale et
permet de définir des familles telles que les boucles, les arches et les tourbillons. A l'intérieur
de chacune de ces catégories, il y a un grand nombre d'éléments qui différencient chaque
empreinte de manière unique. Chaque empreinte peut être définie et résumée par un ensemble
de points caractéristiques contenus dans l'image appelés minuties.
D'une manière générale on distingue deux catégories d'algorithmes de reconnaissance
d'empreintes digitales : la première catégorie concerne les algorithmes qui s'appuient sur la
position relative des minuties entre elles, alors que la seconde regroupe les algorithmes visant
à extraire d'autres particularités de l'empreinte digitale telles que la direction locale des
sillons, ou encore les composantes fréquentielles locales de la texture au cœur de l'image.
Le procédé d'identification des individus par leurs empreintes digitales sans aide d'ordinateur
s'appelle la dactylotechnie et doit passer par quatre étapes : l'analyse, la comparaison,
l'évaluation et la validation. L'étude des dessins digitaux s'appelle la dactyloscopie.
Tant, dans la première partie, nous évoquerons la biométrie ainsi que la classification générale
des empreintes digitales et les différentes minuties.
La seconde partie détaillera l’approche suivie pour l’identification des empreintes, à savoir les
capteurs utilisés et les étapes de traitement et de comparaison.
La dernière partie sera consacrée aux démarches suivies pour la mise en place des différents
algorithmes servant à l’identification et la comparaison des empreintes ainsi que leur
application sous OpenCV. Cette partie s’achèvera par la présentation des différents exemples
réalisés.
4
5. I. Biométrie et classification des empreintes digitales
1. La biométrie
La biométrique est un domaine émergent où la technologie améliore la capacité à identifier
une personne. En particulier elle représente l’usage de différentes caractéristiques
physiologiques et comportementales afin de réaliser une reconnaissance sure et automatique
d’un individu.
Les caractéristiques biométriques collectées doivent être:
• universelles (exister chez tous les individus),
• uniques (permettre de différencier un individu par rapport à un autre),
• permanentes (autoriser l'évolution dans le temps),
• enregistrables (collecter les caractéristiques d'un individu avec l'accord de celui-ci
• mesurables (autoriser une comparaison future).
2. L’utilisation de la biométrie
La protection des consommateurs contre la fraude ou le vol est un des buts de la biométrie.
L'avantage de l'identification biométrique est que chaque individu a ses propres
caractéristiques physiques qui ne peuvent être changées, perdues ou volées. La méthode
d'identification biométrique peut aussi être utilisée en complément ou remplacement de mots
de passe. Parmi les applications pouvant utiliser la biométrie, on trouve :
• Le contrôle d'accès à des locaux (sites sensibles, salles informatiques...),
• Les systèmes d'information (lancement du système d'exploitation, accès au réseau,
commerce électronique...),
• La police et les gouvernements (services d’immigration, aéroports, manifestations...),
• Les documents officiels (fichiers judiciaires, titres d'identités, votes électroniques...),
• L'automobile (système d'ouverture et de démarrage sans clé).
3. Qu’est ce qu’une empreinte digitale ?
La surface de la peau des doigts est pourvue d’une texture particulière, continuellement striée
par des crêtes, qui permettent d’accroître le pouvoir agrippant des mains. Les crêtes sont
parsemées de petits orifices, les pores, par lesquels s’écoule la sueur. Celle-ci, mélangée à des
sécrétions grasses, laisse des traces lorsque les doigts sont appliqués sur une surface propre.
5
6. Ces traces, appelées empreintes, sont uniques et caractéristiques de chaque individu. Même
intes,
les vrais jumeaux présentent des empreintes digitales différentes. Elles peuvent donc être
utilisées pour identifier une personne.
Figure 1 - Marché mondial de la biométrie
4. Forme générale de l’empreinte
L’étude d’une empreinte digitale commence par l’observation de sa forme générale. Le but est
de classifier l’empreinte étudiée en trois grandes familles :
• empreinte en boucle : les lignes se replient sur elles-mêmes, soit vers la droite, soit
mêmes,
vers la gauche.
• empreinte en verticille : présence de lignes qui s’enroulent autour d’un point en
formant une sorte de tourbillon.
• empreinte en arc : les lignes sont disposées les unes au dessus des aut
au-dessus autres, en formant
une sorte de A.
6
7. Figure 2 - Les différentes empreintes digitales
Ces trois types d’empreintes regroupent 95% des doigts humains : 60% pour les boucles, 30%
pour les spirales et 5% pour les arcs.ii
s
5. Minuties ou motifs d’une empreinte
On différencie les motifs entre eux à l'aide de « points singuliers » sur empreintes :
• Points singuliers globaux :
Noyau ou centre: lieu de convergences des stries
Delta: lieu de divergences des stries.
• Points singuliers locaux (appelés aussi minuties) : points d’irrégularité se trou
trouvant sur
les lignes capillaires. O peut relever jusqu'à seize types de minuties mais dans les
On
algorithmes on n'en retient que quatre typesiii:
o Terminaison à droite ou à gauche (minutie située en fin de strie).
o Bifurcation à droite ou à gauche (intersection de deux stries).
o île : assimilée à deux terminaisons.
o Lac: assimilée à deux bifurcations.
Figure 7 – îlot1 Figure 6 - Lac
Figure 5 – îlot2 Figure 4 - Terminaison Figure 3 - Bifurcation
simple et multiple
La figure ci-dessous présente quelques
dessous quelques-unes des minuties repérables sur une empreinte :
7
8. Figure 8 - Minuties localisées sur une empreinte
8
9. II. Identification des empreintes digitales
1. Capteurs d’empreintes digitales
La biométrie regroupe les techniques d'identification des personnes passant par l'analyse des
traits corporels propres à chaque individu. Le but en est de vérifier que les individus sont bien
ceux qu'ils prétendent être. La capture de l'image d'une empreinte digitale consiste à trouver
les lignes tracées par les crêtes et les vallées
s vallées.
La plupart des techniques de reconnaissance d'empreintes digitales sont fondées sur l'optique.
iques
Mais ces systèmes sont chers et peu maniables, ce qui en restreint l'usage. Plusieurs
industriels ont mis au point des procédés plus légers, supprimant la partie optique au profit
d'une identification directe par des capteurs microélectroniques, capteurs ultrasoniques, de
'une
capacité, de température....
L'utilisation d'un système biométrique comporte deux phases distinctes : une phase
d'enregistrement, où le système apprend à connaître la personne identifiée, une phase de
vérification, où le système va la reconnaître. Dans le cas des empreintes digitales, le même
matériel peut servir aux deux phases. Un capteur saisit une image de l'empreinte. Elle est
convertie sous une forme numérique afin d'être analysée par un processeur qui en extraira une
signature informatique, la plus courte possible (une centaine d'octets), stockée ensuite sur un
support adéquat, tel qu'une carte à puce. Une « signature » d'empreinte digitale est la plupart
du temps composée des coordonnées des points remarquables (intersections, terminaisons)
emps
formés par les crêtes et les vallées que forme la peau du doigt. L'authentification suit la même
procédure, sauf que s'y ajoute une phase de comparaison entre la signature enregistrée la
première fois et celle que l'on vient de saisir.
a. Les capteurs optiques
Le doigt est le plus souvent posé sur
un prisme en verre dont une face est
éclairée par une lampe. Une caméra
.
CCD1 en prend une image vidéo
analogique et la convertit en un
fichier numérique manipulable par un
ordinateur. Figure 9 - Capteur optique
1
Charge-Coupled Device, ou dispositif à transfert de charge
Coupled
9
10. Avantages :
• Résiste très bien aux fluctuatio de température ;
ésiste fluctuations
• Intrinsèquement protégé contre les décharges électrostatiques ;
ntrinsèquement
• Permet d’avoir des images précises et nettes.
Inconvénients :
• Coût assez élevé ;
• Encombrement assemblage mécaniques pe commodes (pour les systèmes portables) ;
peu pour
• distorsion d'image parfois importante, liée à l'optique et à l'écrasement du doigt sur le
prisme.
b. Les capteurs en silicium
Pour remédier aux défauts des capteurs optique, les
ingénieurs cherchent à éliminer les éléments volumineux et
chers à produire que sont le prisme, la lampe et la lentille,
de façon à ce que le doigt soit en contact direct avec le
capteur, puis à réduire la chaîne de traitement de
l'information. Les procédés en développement conservent
la structure classique des CCD, c'est
c'est-à-dire une matrice de
Figure 10 - Lecteur Eikon
pixels adressée en lignes et colonnes. Mais, alor que dans
alors
les circuits CCD, les microcapteurs placés sur chaque pixel transforment la lumière en une
information électrique (effet électro optique), on recourt à des microcapteurs d'un type
électro-optique),
nouveau. Il utilise l'un des quatre effets des semi
semi-conducteurs (piezo-électrique, capacitif,
électrique,
thermo-électrique ou photo-électrique) et combine un encombrement très réduit avec un coût
électrique)
modéré. C'est ce qu'utilise le lecteur Eikon et qui lui permet d'arborer son design fin.
Avantages :
• durée de vie assez longue
• Diminue le bruit d’une image
Inconvénients :
• Les composés piézo-électriques sont insuffisamment sensibles ;
électriques
• Gourmant en consommation d’
d’énergie ;
• fragile aux décharges électrostatiques
• Coût intéressant (mais reste moins cher que capteur optique) .
mais
c. Les capteurs thermiques
10
11. Les matériaux pyro-électriques convertissent un changement de température en charges
électriques
électriques. Cet effet est assez important, et largement utilisé dans les caméras infrarouges. Ce
type de capteur ne mesure pas la différence de
pe
température de la peau des crêtes et vallées, qui est
négligeable. En fait, lorsque le doigt est posé en contact
avec le matériau, la température des crêtes est mesurée,
car elle est en contact, à la différence des vallées qui ne
le sont pas, et donc n'apporte pas de changement de
température. Lorsque le doigt est placé sur le capteur,
une très grosse variation de température est induite, donc Figure 11 - FingerChip d'Atmel
on obtient beaucoup de signal, mais celui
celui-ci disparait
assez vite car l'équilibre thermique est vite atteint. Cet effet (néfaste dans le cas où on ne
bouge pas) disparaît lorsque l'on balaye le doigt à la surface du capteur, car la succession des
crêtes et vallées induit le changement de température du matériau.iv
Avantages :
• Permet d’obtenir une image de très grande qualité ;
• Permet la reconnaissance des empreintes peu marquées et difficiles à lire.
Inconvénients :
• L'image disparaît rapidement du capteur.
'image
En plus de ces techniques d'acquisition vient le plus souvent une mesure consistant à vérifier
que l'image récupérée provient bien d'un doigt. Là encore plusieurs méthodes, la détection de
battements cardiaques, la conductivité ou la mesure de la constante diélectrique relative.
2. Etapes de traitement d’une empreinte digitale
L'informatisation des fichiers d'empreintes digitales permet une économie de temps, une
meilleure précision dans les comparaisons ainsi que l'archivage sous forme de base de
données d'un très grand nombre d'empreintes.
Après la capture de l’image digitale viennent les étapes ci
ci-dessous :
Stockage de l'empreinte sous un format approprié (par exemple, Bitmap de Windows). Le
format d'entrée des images à traiter peut être réalisé par scanner, caméra de digitalisation, etc.
Filtrage des images par segmentation pour éliminer les zones de bruit de l'image (image
tachée, piquetée ou incomplète...).
11
12. Evaluation de la qualité de l'image capturée par calculs des facteurs qui permettent d'établir
un critère automatique de qualité.
Squelettisation de l'image(binaire) Il est nécessaire, pour avoir une meilleure détection des
minuties, d'obtenir une image plus schématique. Toutes les lignes doivent avoir la même
épaisseur.
Extraction des minuties Elle s'effectue au moyen d'un logiciel de traitement et de divers
algorithmes. On extrait une structure de données. C'est le processus final qui permet
l'obtention de la signature de l'empreinte (signature digitale). L'identification doit porter au
moins sur 12 minuties. Chaque minutie occupe un espace de 16 octets, soit 240 octets pour un
nombre moyen de minuties. Le stockage final est compacté par compression des fichiers pour
économiser environ 40% de l'espace mémoire
Lors du processus d'extraction, on détecte 100 minuties en moyenne. Le logiciel n'extrait que
les minuties réelles et rejette les minuties erronées. Le comptage s'effectue sur environ 40
minuties, ce qui augmente encore la certitude des résultats.
3. Etapes de comparaison d’une empreinte digitale
Le système de vérification d’identité est basé sur la comparaison de deux ensembles de
minuties, correspondants respectivement à deux doigts à comparer.
Pour déterminer si deux ensembles de minuties extraits de deux images correspondent à des
empreintes du même doigt, il est nécessaire d’adopter un système de comparaison qui soit
insensible à d’éventuelles translations, rotations et déformations qui affectent
systématiquement les empreintes digitales.
A partir de deux ensembles de minuties extraites, le système est capable de donner un indice
de similitude ou de correspondance qui vaut :
• 0 % si les empreintes sont totalement différentes.
• 100 % si les empreintes viennent de la même image.
Deux fichiers calculées à partir de la même empreinte ne donneront jamais 100 % de
ressemblance du fait des différences qui existent lors de l’acquisition de deux images (petites
déformations ou déplacements), ils donneront cependant toujours un niveau élevé de
similitude.
La décision à partir de cet indice de similitude de savoir si deux empreintes sont issues du
même doigt est une question purement statistique. Pour décider d’accepter la similitude entre
deux gabarit, il faut établir un seuil d’acceptation.
12
13. III. Etude de cas
Cette partie présentera le volet pratique de cette étude, Il s’agit de l’implémentation des
algorithmes de comparaison et d’identification des empreintes digitales en utilisant une
approche basée sur les minuties.
1. Principe suivi
La qualité des images de d’empreintes digitales dépend de plusieurs facteurs comme : le
contact avec la sonde, la qualité de sonde, la profondeur des rides/vallées, etc. Alors que les
algorithmes de reconnaissance des empreintes digitales sont sensibles à la qualité des images
des empreintes digitales. Ce qui fait de l’étape du traitement de l’image une étape nécessaire,
cette étape peut se composer du lissage, amélioration du contraste, filtrage… Dans des cas
extrêmes, une empreinte digitale avec une qualité très pauvre peut être automatiquement
renforcée en utilisant un des filtrages passe-bas.
Pour bien distinguer les empreintes digitales, il est nécessaire de choisir des caractéristiques
qui sont invariantes malgré l’orientation et le placement du doigt sur le capteur ainsi que la
déformation élastique du doigt pendant l'acquisition.
2. Implémntation sous OpenCV
Nous n’avons pas pu aller jusqu’au bout du projet et arriver à l’identification des empreintes
digitales. Ce programme s’arrête à l’étape de la squelettisation d’une image d’empreinte.
/* Calcule des champs d'orientation Groupe 2 */
#include<stdio.h>
#include<stdlib.h>
#include<cv.h>
#include<highgui.h>
#include<windows.h>
#define NOMIMAGE "empreinte-.jpg"
using namespace std;
long h[256]; //histogramme
long h_c[256]; //histogramme cumulé
int Smin, Smax, i, j;
// Calcul de l'histogramme à partir du raster d'une image à 1 seul canal
void histogramme(uchar *data,int height,int width)
{
for(i=0;i<256;i++)
h[i]=0;
13
14. for(i=0;i<height;i++)
for(j=0;j<width;j++)
h[data[i*width+j]]+= 1;
}
// Calcul de l'histogramme cumulé
void histogramme_cuml()
{
h_c[0]=h[0];
for(i=1;i<256;i++)
h_c[i]=h_c[i-1]+h[i];
}
//Récuperer le voisinage du point (i,j) et le mettre dans la table Points
void Voisinage3x3(int i,int j,int width, uchar* data, uchar Points[8])
{
Points[0]=data[(i-1)*width+j]; // p2
Points[1]= data[(i-1)*width+(j+1)]; // p3
Points[2]=data[i*width+(j+1)]; // p4
Points[3]=data[(i+1)*width+(j+1)]; // p5
Points[4]=data[(i+1)*width+j]; // p6
Points[5]=data[(i+1)*width+(j-1)]; // p7
Points[6]=data[i*width+(j-1)]; // p8
Points[7]=data[(i-1)*width+(j-1)]; // P9
}
// c'est la fonction qui calcule le nombre de séquences 01 dans p2,p3,p4....p9,p2.
int A(uchar Points[8])
{
int A=0;
for(int i=0;i<8;i++)
{ if((Points[i]==0)&&(Points[i+1]==255)) A++;}
return A;
}
// cette fonction permet de calculer le nombre de pixels voisins non nuls du pixel traité.
int B(uchar Points[8])
{
int B=0;
for(int i=0;i<8;i++)
{ if(Points[i]!=0) B++;}
return B;
}
// fonction qui permet de tester si au moins l'un des trois pixels passés en paramètre est nul.
bool cond(uchar pv1, uchar pv2, uchar pv3)
{
return (pv1*pv2*pv3 == 0);
14
15. }
/******************************************** Main
*********************************************************/
int main(int argc, char *argv[])
{
int a,b;
bool continuer = true;
// sequelettisation à l'aide de l'algorithme de Hilditch
//charger l'image d'entrée
IplImage* img = cvLoadImage(NOMIMAGE);
if(img==NULL){
printf("n Erreur d'ouverture de fichier ");
exit(1);
}
// Affichage de l'image avant le traitement
cvNamedWindow("Originale");
cvMoveWindow("Originale",200,200);
cvShowImage("Originale", img);
IplImage* res=cvCloneImage(img);
int height=img->height, width=img->width, nb_pixels = height*width;
uchar* raster=(uchar *)res->imageData;
histogramme(raster,height,width);
histogramme_cuml();
// calcul de max et min de l'histogramme
int min=255,max=0;
for(i=0;i<height;i++)
for(j=0;j<width;j++){
if((raster[i*width+j])>max)
max=raster[i*width+j];
if((raster[i*width+j])<min)
min=raster[i*width+j];
}
// calcul de Smin et Smax
for(i=min+1;i<=max && ((float)h_c[i]/nb_pixels)<0.02;i++);
Smin = i-1;
for(i=max-1;i>=min && ((float)h_c[i]/nb_pixels)>0.98;i--);
Smax = i+1;
// affichage de min, Smin, Smax et max
printf(" min: %d",min);
15
16. printf(" Smin: %d",Smin);
printf(" Smax: %d",Smax);
printf(" max: %dn",max);
// transformation
for(i=0;i<img->height;i++)
for(j=0;j<img->width;j++)
{
if (raster[i*width+j] >Smax)
raster[i*width+j]=255;
else if (raster[i*width+j]<Smin)
raster[i*width+j]=0;
else
raster[i*width+j]=(255*(raster[i*width+j]-Smin))/(Smax-Smin);
}
// si l'image est en couleur, alors elle est transformée en niveaux de gris
IplImage* imgS = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U, 1);
cvCvtColor(img,imgS,CV_RGB2GRAY);
// transformation en une image binaire
cvThreshold(imgS,imgS,100, 255,CV_THRESH_BINARY);
//Raster de l'image initiale
uchar* dataI = (uchar*)imgS->imageData;
//un tableau de 8 éléments qui va contenir les pixels voisins
uchar VoisinageP1[8];
// une variable pour calculer le temps de traitement
float a11 = GetTickCount();
do{
continuer = false;
//On ne va pas traiter la première et la dernière ligne ou colonne puisque ils n'ont pas des
voisins
for(int i=1;i<imgS->height-1;i++)
for(int j=1;j<imgS->width-1;j++){
int k = i*imgS->width+j;
if(dataI[k]==255){
Voisinage3x3(i,j,imgS->width,dataI,VoisinageP1);
a=A(VoisinageP1);
b=B(VoisinageP1);
if((a==1)&&(b>=2&&b<=6)&&cond(VoisinageP1[0],VoisinageP1[2],VoisinageP1[6])&&co
nd(VoisinageP1[0],VoisinageP1[2],VoisinageP1[4]))
{
16
17. continuer=true;
dataI[k]=0; // ici, on supprime le pixel à linstant même, ce qui explique le caractère
séquentiel de l'algorithme
}
}
}
}while(continuer);
// calcul est affichage du temps de traitement
a11 = GetTickCount()-a11;a11;
printf("tps en ms : %fn",a11);
n",a11);
// Affichage de l'image avant traitement
cvNamedWindow("Resultat");
cvMoveWindow("Resultat",200,200);
cvShowImage("Resultat", imgS);
ge("Resultat",
// Attendre une touche
cvWaitKey(0);
// Libérer les images
cvReleaseImage(&imgS);
cvReleaseImage(&img);
return 0;
}
Le résultat obtenu est sous la f
forme suivante :
Figure 12 - Résultat
17
18. Conclusion
L'utilisation de technologies biométriques est en plein essor, les revenus globaux de la
biométrie dépassent les 4,6 milliards depuis 2008. La reconnaissance des empreintes digitales,
qui génère à elle seule près de la moitié des revenus mondiaux du domaine de la biométrie,
représente, sans conteste, la plus grande part du marché actuel de la technologie biométrique.
Malgré les avantages de cette méthode qui se manifestent au faible coût des lecteurs grâce aux
nouveaux capteurs et au traitement rapide des informations. Elle a aussi des limitations telles
que la difficulté de lecture : sensibilité aux altérations pouvant survenir au cours de la vie
(égratignure, cicatrice, vieillissement ou autres) et à certaines variations (température,
humidité, saleté, etc.), ainsi la sensibilité à la pose du doigt sur le lecteur.
Dans cette étude nous avons présenté une vue générale de la biométrie et quelques
caractéristiques des empreintes digitales. Ainsi que les techniques de l’identification et la
comparaison des empreintes accompagnées d’une étude de cas démontrant les démarches à
suivre pour réaliser un programme identificateur des empreintes digitales.
18
19. Références
i
http://www.futura-sciences.com/fr/definition/t/medecine-2/d/empreintes-digitales_3302/
ii
http://fr.wikipedia.org/wiki/Empreinte_digitale
http://infoscience.over-blog.com/pages/La_reconnaissance_des_empreintes_digitalesFingerprint_recognition-
4408216.html
iii
http://infoscience.over-
blog.com/pages/La_reconnaissance_des_empreintes_digitalesFingerprint_recognition-4408216.html
iv
http://fingerchip.pagesperso-orange.fr/biometrics/types/fingerprint_sensors_physics.htm
http://www.police-scientifique.com/empreintes-digitales/type-de-dessin-et-classification
http://infoscience.over-blog.com/pages/La_reconnaissance_des_empreintes_digitalesFingerprint_recognition-
4408216.html
http://recherche.criminelle.free.fr/nouvellepage5.htm
http://www.pcworld.fr/article/materiel/biometrie-lecteur-d-empreintes-eikon/86881/
http://www.pixelvalley.com/appareil-numerique/capteur.php
http://criminels.e-monsite.com/pages/traitement-informatique-des-fichiers.html
19