WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Etude des méthodes de reconnaissances d'empreinte digitale a l'aide du deep learning


par Jean-Edmond DASSE
Université Félix Houphouet-Boigny - Master 2 Recherche option informatique 2019
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE

Année académique

2019-2020

 

oire de Master option Bases de Données et Génie

RÉPUBLIQUE DE CÔTE D'IVOIRE

UNION - DISCIPLINE - TRAVAIL

 
 
 
 

UNIVERSITE FELIX HOUPHOUET BOIGNY

UFR de Mathématiques et Informatique

MEMOIRE DE MASTER

Présenté à
L'UNIVERSITÉ FÉLIX HOUPHOUËT BOIGNY
Mention
: Informatique
Spécialité : Bases de Données et Génie Logiciel
par
DASSE Jean-Edmond

SUR LE SUJET :

ETUDE DES METHODES DE

RECONNAISSANCE D'EMPREINTE DIGITALE

Soutenu le 09/03/2021

Devant le jury composé de :

Président : Dr COULIBALY Adama Maitre de conférences, UFRMI, UFHB, Abidjan

Superviseur : Pr ADOU Kablan Jérôme Professeur Titulaire, UFRMI, UFHB, Abidjan

Directeur : Dr MAMADOU Diarra Maître-Assistant, UFRMI, UFHB, Abidjan

UNIVERSITE FELIX HOUPHOUËT-BOIGNY
UFR Mathématiques et Informatique
MASTER
Pour obtenir le grade de

MASTER EN BASE DE DONNEES ET GENIE LOGICIEL (BDGL) DE
L'UNIVERSITÉ FÉLIX HOUPHOUËT-BOIGNY

Présenté par

DASSE Jean-Edmond
Sur le sujet :

ETUDE DES METHODES DE RECONNAISSANCE

D'EMPREINTE DIGITALE

Soutenu le 09/03/2021

Devant le jury composé de :

Président : Dr COULIBALY Adama Maitre de conférences, UFRMI, UFHB, Abidjan

Superviseur : Pr ADOU Kablan Jérôme Professeur Titulaire, UFRMI, UFHB, Abidjan

Directeur : Dr MAMADOU Diarra Maître-Assistant, UFRMI, UFHB, Abidjan

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

I

DEDICACE

A

Mon Dieu, le Dieu d'Isaac, le Dieu d'Abraham, le Dieu de Jacob par son fils notre Seigneur Jésus Christ celui qui m'a envoyé ici...

Mes parents et mes collaborateurs de service sans oublier ma hiérarchie qui m'ont toujours soutenu.

Merci au Ministre de l'Enseignement Supérieur et de la Recherche Scientifique de Côte d'Ivoire pour ses conseils,

Merci au Président de l'Université Felix Houphouët Boigny,

Merci Au Directeur des Affaires financières et moyens généraux de l'Université Félix Houphouët Boigny,

Merci au Contrôleur Budgétaire de l'Université Félix Houphouët Boigny, Merci à L'Agent Comptable de l'Université Félix Houphouët Boigny,

Merci aux différents sous -directeurs de la comptabilité et du Budget de l'Université Félix Houphouët Boigny,

Merci à toute l'équipe de la DAFMG.

Mme Monsan - Ma deuxième maman conseillère Interpol

Mon épouse DASSE née TAFFA Tadjuideen Samira et nos enfants Ariella et Khalida pour mon indisponibilité pendant l'élaboration de ce travail. A mes collègues de bureau pour leur soutien.

A toux ceux que nous aimons et qui ne manquent de nous rendre cet amour, que vous trouviez en cette oeuvre toute notre gratitude pour vos efforts consentis à notre égard.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

II

REMERCIEMENTS

Nos remerciements vont à l'endroit de toute l'administration et les enseignants de l'UFR Mathématiques et Informatique (UFR MI). Ils ont été les canaux par lesquels le savoir et le savoir-faire nous ont été transmis.

Nous tenons à remercier particulièrement :

M. MAMADOU DIARRA, Maitre-Assistant, UFRMI, Université Félix Houphouët-Boigny (UFHB), notre Directeur de mémoire qui n'a ménagé aucun effort pour que ce travail arrive à son terme ;

M. ADOU JEROME KABLAN, Professeur Titulaire UFR MI, mon superviseur pour ce travail, pour mon insertion, sa facilité jusqu' à mon arrivée ici devant vous ;

M. MONSAN, Professeur Titulaire UFR MI, Mon doyen qui par sa sagesse a su m'encadrer ; M. COULIBALY ADAMA, Maitre de Conférences UFR MI, qui a su augmenter ma foi ; M. AYIPKA, UVCI, Assistant UVCI qui nous a toujours montré la route ;

Mme OSSAIN née Bah Koulaï Joëlle, UFRMI, Secrétariat, vraiment merci pour la routine car sans vous vraiment...Que Dieu bénisse vos enfants et générations ;

A toute l'équipe et Professeur de l'UFRMI.

Nos remerciements à tous ceux qui, d'une manière ou d'une autre ont contribué à notre épanouissement et à la réalisation de ce travail que nous aurions omis de citer.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

III

AVANT-PROPOS

Née de l'ex-FAST (Faculté des Sciences et Techniques) suite à une réforme de l'enseignement supérieur, l'Unité de Formation et de Recherches de Mathématiques et Informatique (UFRMI) de l'Université Félix Houphouët-Boigny (ex-Université de Cocody), a pour mission de former des chercheurs et des ingénieurs opérationnels. L'objectif visé est de permettre aux étudiants de répondre d'une part aux exigences du monde de la recherche (fondamentale et appliquée) et d'autre part, aux besoins sans cesse croissants des entreprises.

L'UFRMI, à l'instar des autres UFR de l'Université Felix Houphouët-Boigny, s'est inscrite depuis la rentrée académique 2012-2013 dans le système LMD (Licence-Master-Doctorat).

C'est dans ce cadre qu'elle a ouvert des Masters de recherches et professionnels pour réaliser ses missions de formation et de recherche. Au nombre de ces masters se trouve le Master Bases de Données et Génie Logiciel (BDGL) à la suite duquel nous avons produit ce travail.

A la fin de notre formation de Master BDGL, nous devons soutenir un mémoire pour l'obtention du diplôme de Master. C'est conformément à cette exigence que nous avons travaillé dans le laboratoire de Mathématiques appliquées et informatique de l'UFRMI.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

IV

SOMMAIRE

DEDICACE I

REMERCIEMENTS II

AVANT-PROPOS III

LISTE DES FIGURES V

ABREVIATIONS VII

RESUME IX

ABSTRACT X

INTRODUCTION GENERALE 1

ETAT DE L'ART 2

CHAPITRE I : LA BIOMETRIE 3

CHAPITRE II : EMPREINTE DIGITALE 14

I- GENERALITES 14

CHAPITRE III : MACHINE LEARNING 21

CHAPITRE IV: MATERIELS ET METHODES 32

CHAPITRE V: RESULTATS ET DISCUSSIONS 46

CONCLUSION 64

CONCLUSION ET PERSPECTIVES 66

REFERENCES BIBLIOGRAPHIQUES 67

TABLE DES MATIERES 70

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

V

VI

LISTE DES FIGURES

Figure 1.1: Système biométrique basé sur les empreintes digitales 7

Figure 1.2 : Le visage de l'être humain en tant que modalité biométrique. 7

Figure 1.3 : Système biométrique basé sur l'Iris. 8

Figure 1.4 : système biométrique basé sur les articulations des doigts 8

Figure 1.5 : Système biométrique basé sur les empreintes palmaires. 8

Figure 1.6 : Système biométrique basé sur la voix 9

Figure 1.7 : Système biométrique basé sur la signature manuscrite 9

Figure 1.8 : Système biométrique basé sur la frappe dynamique sur le clavier

I.8.4. Démarche 9

Figure 1.9 : Système biométrique basé sur la démarche. 10

Figure 1.10 : Système biométrique basé sur les veines de la main 10

Figure 1.11 : Système biométrique basé sur l'ADN 10

Figure 1.12 : Système biométrique basé sur le thermo-gramme facial 11

Figure 1.13: Les minuties 14

Figure 1.14 : Reconnaissance des Empreintes Digitales 14

Figure 1.15 : Exemple des catégories principales des empreintes digitales 15

Figure 1.16 : Différentes formes de minuties 16

Figure 1.17 : Les points singuliers d'une empreinte 16

Figure 1.18 : Diagramme des différentes étapes d'un système de reconnaissance

d'empreinte digitale 17
Figure 1.19 : Architecture générale d'un système complet de reconnaissance

d'empreintes 19

Figure 1.20 : Architecture de réseaux 20

Figure 1.21: À travers un processus d'autoapprentissage 23

Figure 1.22: Couche de réseau de neurone 26

Figure 1.23 : La méthode de k-fold 28

Figure 1.24 : Support SVM 29

Figure 1.25 : Schéma de l'algorithme de gradient 29

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

Figure 1.26 : Schéma forêt aléatoire 30

Figure 1.27 : Logo de spyder 33

Figure 1.28 : Environnement Python /spyder 33

Figure 1.29 : Base de données SOCOFING (empreinte digitale d'individu) 37

Figure 1.30 : les deux parties de l'architecture des réseaux de neurones convolutifs 39

Figure 1.31 : Définition du modèle 42

Figure 1.32: La compilation 43

Figure 1.33 : l'entrainement des cas 43

Figure 1.34 : Performance par rapport aux jeux d'entraînement et validation

à gauche et Erreur par rapport aux jeux d'entraînement et validation à droite 46

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

VII

ABREVIATIONS

3D : 3 Dimensions

ADN : Acide Désoxyribo Nucléique COO : Conception Orientée Objet

ISCI : Institut des Sciences Internationales

IRD : Institut de Recherche pour le Développement

JADE : Java Agent DEvelopment framework

LED : Light-Emetting Diode

NGS : Next Generation Sequencing

DP : Deep Learning

OMT : Object Modeling Technique

OOD : Object Oriented Design

OOSE : Object Oriented Software Engineering

PCR : Polymerase Chain Reaction
RAM : Random Access Memory

RMN : Résonance Magnétique Nucléaire SMA : Système Multi Agents

SNP : Single Nucleotid Polymorphism
UML : Unified Modeling Language

US : United State

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

IX

RESUME

Notre objectif est de mettre en oeuvre un système de reconnaissance d'individus à base d'empreintes digitales en utilisant les méthodes du deep learning.

Le travail s'est focalisé autour des points suivants : premièrement, nous avons préparé la base de données : des empreintes digitales. Une fois le traitement préliminaire sur les empreintes digitale est effectué, les points caractéristiques de l'empreinte digitale dites minuties ont été localisés et classifiés. Dans une dernière étape l'identification des individus est réalisée en utilisant une classification à base d'un réseau de neurones : les réseaux de neurones convolutionnels.

Mots clés : Reconnaissance d'empreintes digitales, réseau de neurones, machine learning.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

X

ABSTRACT

Our goal is to implement a fingerprint-based individual recognition system using machine learning methods.

The work focused on the following points : first, we prepared the database: fingerprints. Once the preliminary processing on the fingerprints is carried out, the characteristic points of the fingerprint called minutiae have been located and classified. In a final step, the identification of individuals is carried out using a classification based on a neural network : convolutional neural networks.

Key words: Fingerprint recognition, neural network, machine learning.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

1

INTRODUCTION GENERALE

De nos jours on parle de plus de l'insécurité dans divers secteurs ainsi que des moyens informatiques à mettre en oeuvre pour contrer cette tendance : le contrôle d'accès aux ordinateurs, l'e-commerce, les opérations bancaires basées sur l'identification du demandeur, etc. Il existe traditionnellement deux manières d'identifier un individu. La première méthode est basée sur une connaissance à priori de la personne telle que la connaissance de son mot de passe. La seconde méthode est basée sur la possession d'un objet. Il peut s'agir d'une pièce d'identité, d'une clé, d'un badge, etc. Ces deux modes l'identification peuvent être utilisée de manière complémentaire afin d'obtenir une sécurité accrue. Cependant, elles ont chacune leurs faiblesses. Dans le premier cas, le mot de passe peut être oublié par son utilisateur ou bien deviné par une autre personne. Dans le second cas, le badge, la pièce d'identité ou la clé peut être perdu ou volé. La biométrie possède des applications très intéressantes dans le domaine de la sécurité. Pour remédier à ces inconvénients, notre méthode sera une contribution qui permettra d'optimiser en utilisant les méthodes du deep learning. Notre étude sera structurée comme suit :

1. Dans le premier chapitre nous verrons quelques notions de la biométrie

2. Dans le deuxième chapitre nous parlerons de l'empreinte digitale

3. Dans le troisième chapitre nous présenterons les différentes composantes du Machine learning

4. Dans la quatrième partie nous verrons les différentes Méthodes d'extractions et de détections de l'empreinte digitale.

5. Dans la cinquième partie nous donnerons les différents résultats et interprétations de notre étude.

En définitive, la conclusion générale résumera notre contribution et donnera quelques perspectives sur les futurs travaux.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

ETAT DE L'ART

2

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

3

CHAPITRE I : LA BIOMETRIE I- GÉNÉRALITÉS

La biométrie est une alternative aux deux précédents modes d'identification. Elle consiste à identifier une personne à partir de ses caractéristiques physiques ou comportementales. Le visage, les empreintes digitales, l'iris, etc. sont des exemples de caractéristiques physiques. La voix, l'écriture, le rythme de frappe sur un clavier, etc. sont des caractéristiques comportementales. Les systèmes biométriques sont de plus en plus utilisés depuis quelques années. L'apparition de l'ordinateur et sa capacité à traiter et à stocker les données ont permis la création des systèmes biométriques informatisés. Il existe plusieurs caractéristiques physiques uniques pour un individu, ce qui explique la diversité des systèmes appliquant la biométrie :

» La reconnaissance de l'Iris.

» La reconnaissance de Visages.

» La reconnaissance des Empreintes digitales.

» La reconnaissance de la Rétine.

» La reconnaissance de la Main.

» La reconnaissance Vocale.

» La reconnaissance de la dynamique de Signature.

Nous vous présenterons premièrement la biométrie de manière générale et deuxièmement de manière spécifique celle de l'empreinte digitale.

II - DEFINITION DE LA BIOMETRIE

Le terme "biométrie" provient des mots grecs « bios » qui veut dire la vie et du mot « métrique » qui signifie mesure. Donc, La biométrie est une technologie permettant la reconnaissance instantanée d'un individu par la mesure de ses caractéristiques biologiques (les empreintes digitales, l'iris, les traits du visage, etc) ou de ses caractéristiques comportementales (reconnaissance vocale, la signature, la démarche) ou encore morphologique uniques avec un haut degré de fiabilité. Cette technologie de pointe est devenue en quelques années le moyen le plus fiable d'identification d'une personne et elle vient remplacer ou renforcer les dispositifs à clé ou à badges pouvant présenter des failles en matière de sécurité. 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.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

4

III - LES DIFFERENTES ANALYSE DE LA BIOMETRIE

La biométrie est basée sur l'analyse de données liées à l'individu et peut être classée en trois grandes catégories :

? L'analyse morphologique : les empreintes digitales, l'iris, la forme de la main, les traits du visage, le réseau veineux de la rétine.

? L'analyse biologique : l'ADN, le sang, la salive, l'urine, l'odeur, la thermographie.

? L'analyse comportementale : la reconnaissance vocale, la dynamique de frappe au clavier, la dynamique de signature, la manière de marcher. [5]

III.1. Les caractéristiques biométriques

Les caractéristiques d'un système basé sur la biométrie doivent être à la fois [1] [2]. Universelles : pour être utilisables par tous

Ø Uniques : pour distinguer les personnes sans équivoque

Ø Invariables : stables et invariantes au cours du temps pour permettre une utilisation tout au long de la vie

Ø Enregistrables : possibilité d'enregistrer les caractéristiques d'un individu à l'aide d'un capteur approprié qui ne cause aucun dérangement pour l'individu (la collecte).

Ø Mesurable : pour permettre la comparaison III.2. Les systèmes biométriques

Un système biométrique est un système de reconnaissance d'individus qui permet d'identifier une personne sur la base de ses caractères physiologiques ou comportementaux [3]. Selon le contexte de l'application, un système biométrique comporte toujours deux phases de fonctionnement :

III.2.1. La phase d'enrôlement ou d'apprentissage

Cette phase consiste à créer un modèle biométrique d'un individu qui doit être une référence pour la phase de reconnaissance. Pour ce faire, les caractéristiques biométriques de l'individu sont mesurées par un capteur biométrique, puis représentées sous forme numérique et enfin stockées dans une base de données. Pour assurer une certaine puissance du système aux variations temporelles de données, plusieurs échantillons d'acquisitions de la même donnée

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

5

peuvent être réalisés. Le traitement lié à l'enrôlement n'a pas de contrainte de temps, puisqu'il s'effectue « hors-ligne » [4].

III.2.2. La phase de reconnaissance

La reconnaissance peut être une vérification ou une identification : III.2.2.1. Le mode vérification ou d'authentification

Dans la vérification ou l'authentification, Aussi appelée comparaison 1 pour 1, l'authentification répond à la question « Êtes-vous la personne que vous prétendez être ? ».

L'identité de la personne est supposée, ses données biométriques sont comparées à celles enrôlées auparavant. Autrement dit Le système biométrique demande à l'utilisateur son identité et essaye de répondre à la question, « est-ce la personne X ?». Dans une application de vérification, l'utilisateur annonce son identité par l'intermédiaire d'un mot de passe, d'un numéro d'identification, d'un nom d'utilisateur ou la combinaison de toutes les trois.

Le système sollicite également une information biométrique provenant de l'utilisateur et compare la donnée caractéristique obtenue à partir de l'information entrée enregistrée correspondante à l'identité prétendue.

C'est une comparaison un à un. Le système trouvera ou ne trouvera pas de correspondance entre les deux. La vérification est communément employée dans des applications de contrôle d'accès et de paiement par authentification [5].

III.2.2.2. Le mode d'identification

Avec l'identification ou la reconnaissance aussi appelée comparaison 1 pour n (c'est une comparaison un à plusieurs), l'identification répond à la question « Êtes-vous dans la base de données ? ». Les données biométriques de la personne sont comparées à l'ensemble des données biométriques de personnes enrôlées dans une base de données spécifique. Autrement dit le système biométrique pose et essaye de répondre à la question « qui est la personne X ?».

III.3. Processus

Tout système biométrique comporte deux processus qui se chargent à réaliser les opérations d'enregistrement et de tests :

Processus d'enregistrement : Ce processus a pour but d'enregistrer les caractéristiques des utilisateurs dans la base de données.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

6

Processus de tests (identification /vérification) : Ce processus réalise l'identification ou la vérification d'une personne.

Dans chacun des deux processus précédents, le système exécute quatre opérations fondamentales, à savoir [1]:

L'acquisition : Cette phase consiste à utiliser un capteur pour acquérir une caractéristique spécifique de l'individu, plusieurs processus peuvent être utilisés

pour l'acquisition tels que : le microphone dans le cas de la voix.

L'extraction : Après l'acquisition d'une image, nous réalisons l'extraction des caractéristiques dont le processus d'authentification a besoin. Donc, ce module sert à traiter l'image afin d'extraire uniquement les caractéristiques biométriques, sous forme d'un vecteur, qui peuvent être ensuite utilisées pour reconnaitre les personnes.

La classification (comparaison) : En examinant les modèles stockés dans la base de données (vecteurs), les caractéristiques biométriques extraites sont comparées avec ce vecteur et en marquant le degré de similitude (différence ou distance).

La décision : En ce qui concerne l'authentification, la stratégie de décision nous permet de vérifier l'identité affirmée par un utilisateur ou déterminer l'identité d'une personne basée sur le degré de similitude entre les caractéristiques extraites et le(s) vecteur(s) stocké(s).

III.4. Les principaux avantages de biométrie

Ø Un système simple à installer et à utiliser : quel que soit le mode d'authentification

choisi, reconnaissance de l'empreinte digitale, du réseau veineux, faciale...un bref passage rapide du doigt ou du visage devant ou sur le lecteur suffit à détecter la personne et à l'authentifier.

Ø Une sécurité renforcée et dissuasive

Ø Vol, copie, oubli et perte impossible : contrairement aux codes, badges et autres clés, la biométrie supprime tous les risques connus

III.5 La biométrie physique

La reconnaissance des individus par empreintes digitales est la technique biométrique la plus utilisée. Les empreintes digitales sont composées de lignes localement parallèles présentant des points singuliers (minuties) et constituent un motif unique, universel et permanant, comme montré

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

7

dans la Figure 1.1. Les lecteurs d'empreintes digitales scannent puis relèvent des éléments permettant de différencier les empreintes. Il existe plusieurs types de minuties. Ce type de technique biométrique est utilisé par les institutions financières pour leurs clients et se

Figure 1.1: Système biométrique basé sur les empreintes digitales III.5.1. Visage

Nos visages sont des objets complexes avec des traits qui peuvent varier dans le temps, comme montré dans la Figure 1.2. L'écart entre les deux yeux, l'écartement des narines ou encore la largeur de la bouche peuvent permettre d'identifier un individu. Cette méthode doit pouvoir tenir compte de certain changement de la physionomie (lunettes, barbe, chirurgie esthétique) et de l'environnement (conditions d'éclairage). Parfois, il est impossible de différencier deux jumeaux

Figure 1.2 : Le visage de l'être humain en tant que modalité biométrique.

1.6 Iris

L'iris est une région sous forme d'anneau, située entre la pupille et le blanc de l'oeil, elle est

unique. L'iris a une structure extraordinaire et offre de nombreuses caractéristiques de texture qui sont uniques pour chaque individu. La reconnaissance de l'iris a été développée dans les années 80, elle est donc considérée comme une technologie récente. L'image de l'iris est capturée par un appareil qui contient une caméra infrarouge, lorsque la personne se place à une

courte distance de l'appareil (Figure 1.3) [8].

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

8

Figure 1.3 : Système biométrique basé sur l'Iris. 1.7. Empreintes des articulations des doigts

C'est une technologie biométrique basée sur la surface arrière du doigt, elle contient des caractéristiques distinctives telles que les lignes principales, les lignes secondaires et les crêtes, qui peuvent être extraites à partir des images à basse résolution (Figure 1.4). La main contient plusieurs doigts, pour cela, il faut conserver les informations à

Figure 1.4 : système biométrique basé sur les articulations des doigts. 1.8. Empreinte palmaire

Cette technique utilise la surface intérieure de la paume pour l'identification et/ou la vérification des personnes (Figure 1.5). Elle est bien adaptée pour les systèmes à moyenne sécurité telle que le contrôle d'accès physique ou logique [7]

Figure 1.5 : Système biométrique basé sur les empreintes palmaires. I.8.1. Biométrie comportementale

I.8.2. Voix

La voix humaine varie d'une personne à une autre et peut se constituer de composantes

physiologiques et comportementales. L'identification par la voix est basée sur la forme et la taille

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

des appendices (bouche, cavités nasales et les lèvres) et utilisées dans la synthèse du son [4]. La reconnaissance des locuteurs est plus utilisée par les téléphones, les corps policiers, les hôpitaux...etc. (Figure 1.6).

Figure 1.6 : Système biométrique basé sur la voix.

C'est une écriture personnelle d'un individu (Figure 1.7), la vérification de la signature est basée sur deux modes :

· Mode statique : la vérification de la signature statique met l'accent sur les formes géométriques de la signature, dans ce mode, en générale, la signature est normalisée à une taille connue ensuite décomposer en élément simple.

· Mode dynamique : il utilise les caractéristiques dynamiques telles que l'accélération, la vitesse et les profils de trajectoire de la signature [7]

Figure 1.7 : Système biométrique basé sur la signature manuscrite

I.8.3. Frappe dynamique sur le clavier

C'est un système de reconnaissance d'un individu basé sur la manière de ses écritures par un dispositif logiciel qui calcule la vitesse de la frappe, la suite des lettres, le temps de frappe et la pause entre chaque mot [4]. (Figure 1.8).

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

Figure 1.8 : Système biométrique basé sur la frappe dynamique sur le clavier I.8.4. Démarche Chaque personne a une façon particulière de marche, nous pouvons identifier les individus à partir de la nature du mouvement des jambes, des bras et des articulations ou le mouvement spécial obtenu par une caméra vidéo afin de l'envoyer à un ordinateur pour l'analyse afin de déterminer la vitesse et l'accélération de chaque individu [4]. (Figure 1.9).

Figure 1.9 : Système biométrique basé sur la démarche.

I.8.4. Biométrie Biologique I.8.4.1. Veines de la main

Les veines de la main sont des réseaux qui varient d'une personne à une autre (Figure 1.10). L'analyse de cette différence permet de maintenir des points pour différencier une personne à une autre.

10

Figure 1.10 : Système biométrique basé sur les veines de la main. I.8.4.2. L'analyse de l'ADN

L'analyse des empreintes génétiques est une méthode extrêmement précise pour déterminer l'identité de la personne. Il est impossible de trouver deux personnes qui ont le même ADN. Cette modalité possède l'avantage d'être unique et permanente durant toute la durée de vie [7]. (Figure 1.11).

Figure 1.11 : Système biométrique basé sur l'ADN.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

11

I.8.4.3. Thermo gramme faciale

La quantité de la chaleur émise par les différentes parties du visage caractérise chaque individu (Figure 1.12). Elle dépend de la localisation des veines mais aussi de l'épaisseur du squelette, la quantité de tissus, de muscles, de graisses, etc. Contrairement à la reconnaissance de visage, la chirurgie plastique n'a que peu d'influence sur les thermo-grammes faciaux. Pour capturer l'image, il est possible d'utiliser un appareil photo ou une caméra numérique dans le domaine de l'infrarouge. La capture peut se faire dans n'importe quelle condition d'éclairage et même dans le noir complet ce qui est un avantage supplémentaire par rapport à la reconnaissance de

visage classique [7].

Figure 1.12 : Système biométrique basé sur le thermo-gramme facial. I.9. Les Applications de la biométrie

On peut distinguer quatre grands types d'applications de la biométrie le contrôle d'accès (access control), l'authentification des transactions (transactions authentication), la répression (law enforcement) et la personnalisation (personalization).

I.9.1. Contrôle d'accès

Le contrôle d'accès peut être lui-même subdivisé en deux sous catégories : le contrôle d'accès physique et le contrôle d'accès virtuel. On parle de contrôle d'accès physique lorsqu'un utilisateur cherche à accéder à un lieu sécurisé. On parle de contrôle d'accès virtuel dans le cas où un utilisateur cherche à accéder à une ressource ou un service.

I.9.1.1. Contrôle d'accès physique

Il y a longtemps, l'accès à des lieux sécurisés (bâtiments ou salles par exemple) se faisait à l'aide de clefs ou badges. Les badges étaient munis d'une photo et un garde était chargé de la vérification. Grâce à la biométrie, la même opération peut être effectuée automatiquement de nos jours. L'une des utilisations les plus célèbres de la géométrie de la main pour le contrôle d'accès est le système INSPASS (Immigration and Naturalization Service Passenger

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

12

Accelerated Service System) [10] déployé dans plusieurs grands aéroports américains (New-York, Washington, Los Angeles, San Francisco, etc.). Cette application permet aux passagers répertoriés dans le système, d'éviter les files d'attente pour le contrôle des passeports. Ceux-ci possèdent une carte magnétique qui contient l'information sur la géométrie de leur main. Lorsqu'ils présentent leur main au système, celle-ci est comparée à l'information contenue dans la carte.

I.9.1.2. Contrôle d'accès virtuel

Le contrôle d'accès virtuel permet par exemple l'accès aux réseaux d'ordinateurs ou l'accès sécurisé aux sites web. Le marché du contrôle d'accès virtuel est dominé par les systèmes basés sur une connaissance, typiquement un mot de passe. Avec la chute des prix des systèmes d'acquisition, les applications biométriques devraient connaître une popularité croissante. Un exemple d'application est l'intégration par Apple dans son système d'exploitation MAC OS 9 d'un module de reconnaissance de locuteur de manière à protéger les fichiers d'un utilisateur, tout particulièrement lorsque l'ordinateur est utilisé par plusieurs individus ce qui est de plus en plus souvent le cas [11].

I.9.2. Authentification des transactions

L'authentification des transactions représente un marché gigantesque puisqu'il englobe aussi bien le retrait d'argent au guichet des banques, les paiements par cartes bancaires, les transferts de fond, les paiements effectués à distance par téléphone ou sur Internet, etc.

Mastercard estime ainsi que les utilisations frauduleuses des cartes de crédit pourraient être réduites de 80 % en utilisant des cartes à puce qui incorporeraient la reconnaissance des empreintes digitales [30]. Les 20 % restants seraient principalement dus aux paiements à distance pour lesquelles il existerait toujours un risque. Pour les transactions à distance, des solutions sont déjà déployées en particulier pour les transactions par téléphone. Ainsi, la technologie de reconnaissance du locuteur de Nuance (Nuance VerifierTM) [12] est utilisée par les clients du Home Shopping Network, une entreprise de téléshopping, et de Charles

I.9.3. Répressions

Une des applications les plus immédiates de la biométrie à la répression est la criminologie. La reconnaissance d'empreintes digitales en est l'exemple le plus connu. Elle fut acceptée dès le début du XXe siècle comme moyen d'identifier formellement un individu et son utilisation

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

13

s'est rapidement répandue. Il existe aussi des applications dans le domaine judiciaire. T-Netix [13] propose ainsi des solutions pour le suivi des individus en liberté surveillée en combinant technologies de l'internet et de reconnaissance du locuteur.

I.9.4. Personnalisation

Les technologies biométriques peuvent être aussi utilisées afin de personnaliser les appareils que nous utilisons tous les jours. Cette application de la biométrie apporte un plus grand confort d'utilisation. Afin de personnaliser les réglages de sa voiture, Siemens propose par exemple d'utiliser la reconnaissance des empreintes digitales [14]. Une fois l'utilisateur identifié, la voiture ajuste automatiquement les sièges, les rétroviseurs, la climatisation, etc.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

14

CHAPITRE II : EMPREINTE DIGITALE

I- GENERALITES

Les empreintes digitales sont le dessin formé par les lignes de la peau des doigts, ils appelées aussi dermatoglyphes - sont une signature que nous laissons derrière nous à chaque fois que nous touchons un objet. Les motifs dessinés par les crêtes et plis de la peau sont différents pour chaque individu ; c'est ce qui motive leur utilisation par la police criminelle depuis le 19è siècle. On distingue deux types d'empreintes : l'empreinte directe ou visible qui laisse une marque visible à l'oeil nu et l'empreinte latente ou invisible qui est composée de lipides, de sueur et de saletés déposés sur un objet touché. [5] Une empreinte digitale se compose principalement de crêtes (Ridges) et de vallées (Valleys. C'est l'étude des minuties qui permet d'identifier de façon certaine un individu.

Figure 1.13: Les minuties

L'empreinte digitale scientifiquement est composée des crêtes qui contiennent des pores et des sillons, et les pores permettent de sortir 80% eaux et 20% matières organiques, ces matières laissent des marques sous formes des lignes.

Figure 1.14 : Reconnaissance_des_Empreintes_Digitales.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

15

16

17

18

19

20

II.1 - Les caractéristiques de l'empreinte digitale

Une empreinte digitale est une marque laissée par les crêtes des doigts, des mains, des orteils ou des pieds lorsqu'elles touchent un objet.

Il en existe deux types :

· L'empreinte directe (qui laisse une marque visible) et

· L'empreinte latente (saleté, sueur ou autre résidu déposé sur un objet).

Les empreintes digitales sont regroupées en trois catégories principales regroupant à elles seules 95% des doigts humains: l'arche ou l'arc (arch), le tourbillon (whorl) et la boucle (loop). À l'intérieur de chacune de ces catégories, il y a un très grand nombre d'éléments qui nous différencient les uns des autres. En plus des cicatrices, il y a les fourches, les îlots et les espaces qui donnent un caractère unique aux empreintes latentes.

Les« boucles » constituent les motifs les plus répandus qui représentent 60% des doigts humains : dans ce type d'empreinte se replient sur elles même soit vers la droite, soit vers la gauche. Viennent ensuite les « tourbillons », qui correspondent à 30% des doigts humains : cette empreinte, dite en verticille, comprend des lignes qui viennent s'enrouler autour d'un point, formant un genre de tourbillon. Pour finir, les motifs les moins répandus sont « les arches » qui regroupent seulement 5% des doigts humains : cette empreinte, en arc, contient des lignes disposées les unes au-dessus des autres qui forment des A.

Figure 1.15 : Exemple des catégories principales des empreintes digitales

On différencie les motifs entre eux à l'aide de "points singuliers" appelés "minuties" sur les boucles, tourbillons ou arcs :

a)

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

points singuliers globaux :

- noyau ou centre : lieu de convergences de stries ; - delta : lieu de divergences de stries ;

b) points singuliers locaux (appelés aussi minuties) : ce sont les points d'irrégularité se trouvant sur les lignes papillaires (terminaisons, bifurcations, ilots assimilés à deux terminaisons, lacs).

Quelle que soit sa forme, une empreinte digitale possède des points précis différents appelés minuties.

On estime qu'il y a plus de cent points de convergence entre deux empreintes identiques relevées. Souvent, ces points de convergence sont des irrégularités sur les lignes papillaires. Les points les plus fréquemment utilisés dans les algorithmes lors de la comparaison sont de quatre types : les lacs, les terminaisons (à droite et à gauche), les bifurcations (à droite et à gauche) et les îles. Plus précisément, une minutie est un point qui se situe sur le changement de continuité des lignes papillaires. Ce sont grâce à elles que les empreintes digitales peuvent être différenciées.

Figure 1.16 : Différentes formes de minuties

Figure 1.17 : Les points singuliers d'une empreinte

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

La validation d'une identification peut mettre en évidence jusqu'à quatorze points de comparaison (autrement appelés points caractéristiques ou minutie). Selon Francis Galton, la probabilité que deux personnes aient la même empreinte digitale est de 1 sur 64 milliard, ce qui est très faible à l'échelle de la population humaine et donc quasiment impossible. L'utilisation de l'empreinte digitale comme moyen d'identification d'une personne n'est pas nouvelle. En fait, la police scientifique utilise cette technique depuis plus de 100 ans.

Aujourd'hui, les empreintes digitales sont recueillies sur une scène de crime et sont ensuite comparées à celles contenues dans un serveur central.

Mémoire Online - Mise en oeuvre d'un système distribué pour l'identification et le suivi du casier judiciaire - Juslin TSHIAMUA MUDIKOLELE

II.2. Le Système Biométrique basé sur l'empreinte digitale II.2.1. Définition

Un système de reconnaissance d'empreinte digital est un système biométrique qui a pour fonction d'identifier les personnes à partir des images de l'empreinte digitale. Il est composé d'un certain nombre de sous-systèmes, qui correspondent à chaque étape de la reconnaissance de l'empreinte digital. Une fois l'image de l'empreinte acquise, des techniques de traitement d'image sont utilisées pour en extraire l'empreinte, construire la signature biométrique représentant l'empreinte digitale et finalement trouver l'identité de l'empreinte digitale (figure). L'ensemble des opérations de traitement d'images est divisé en 4 étapes : la segmentation, la normalisation, l'encodage et la classification. Le diagramme ci-dessous (figure 1.16) présente l'architecture et le traitement séquentiel d'un système de reconnaissance d'empreinte digitale.

Figure 1.18 : Diagramme des différentes étapes d'un système de reconnaissance d'empreinte digitale

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

II.2.2. Acquisition

La première phase d'un système de reconnaissance consiste à obtenir une image de l'empreinte du doigt. [36] La capture de l'image d'une empreinte digitale consiste à trouver les lignes tracées par les crêtes (en contact avec le capteur) et les vallées (creux). L'image d'une empreinte est acquise par des procèdes directs (online) ou indirects (offline). Celle acquise par des procèdes indirects, l'est par le biais d'un objet intermédiaire.

Il existe deux méthodes pour avoir une impression d'empreinte indirecte :

1. L'empreinte acquise par encre (inked fingerprint) : après l'avoir enduit d'encre, le doigt

est imprimé sur un bout de papier. Ce papier passe ensuite au scanner standard pour être numérisé. Cette ancienne technique a perduré pendant environ un siècle et a été couramment utilisée dans les phases d'enrôlement. L'image ainsi prise présente de larges crêtes mais souffre d'une grande déformation due à la nature du processus d'acquisition. Il est clair que cette méthode n'est pas adaptée aux procèdes automatiques temps réel.

2. ii. Les empreintes latentes : elles sont formées suite a une légère trace laissée sur un objet due à la sécrétion constante de la sueur. Les services de sécurité décèlent ce genre de détails sur les lieux du crime à l'aide d'une poudre spéciale. Le terme procède directe (live-scan) est un terme collectif englobant les images d'empreintes directement obtenues sans l'étape intermédiaire de l'impression sur du papier. En l'occurrence un dispositif spécial est utilisé, les capteurs. [15]

II.2.3. Segmentation

La segmentation d'image est une opération de traitement d'images qui a pour but de rassembler des pixels entre eux suivant des critères prédéfinis. Les pixels sont ainsi regroupés en régions, qui constituent un pavage ou une partition de l'image. Il peut s'agir par exemple de séparer les objets du fond, Les images d'empreintes digitales qui sont capturées à partir du scanner, se composent de deux régions principales, la région d'intérêt et le fond. La région d'intérêt (ROI) est la zone de la surface du scanner qui a été en contact avec une surface de doigt et qui comprend l'ensemble d'informations nécessaires à la reconnaissance des empreintes digitales, tandis que la zone restante est une région bruitée qui ne contient aucune information importante appelée fond. La séparation de la région d'intérêt de l'image de fond est nommée la segmentation des empreintes digitales.

Afin d'améliorer la performance du système d'identification, il est nécessaire, d'extraire les

minuties à partir de la région d'intérêt.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

II.2.4. Normalisation

La segmentation de l'empreinte digitale du reste de l'image produit, selon les images, des empreintes de tailles différentes. L'empreinte segmentée peut être une empreinte complète ou une fraction d'empreinte complète, de petite taille ou de grande taille. Ainsi une comparaison entre deux empreintes de tailles différentes ne sera possible qu'à partir d'une représentation consistante entre toutes les images.

II.2.5. Encodage (extraction des caractéristiques)

Dans cette étape, l'empreinte est bien segmentée et normalisé. L'encodage consiste à extraire de l'empreinte les caractéristiques les plus discriminantes et les plus pertinentes, nécessaires et utiles pour son identification. Des filtres de type passe-bande, des ondelettes, et d'autres outils peuvent ainsi être utilisés. Le résultat obtenu peut être gardé dans des valeurs réelles ou peut être quantifié en valeurs discrètes. Le processus de l'encodage de l'empreinte résulte finalement en un profil d'empreinte représentant la signature de l'empreinte. Ce profile est unique pour chaque empreinte, insensible aux variations de dimensions ou aux rotations crées lors de l'acquisition de l'empreinte et sera utilisé ensuite pour la classification de l'empreinte [17] [18].

II.2.6. Classification

Pour comparer les représentations générées par le processus d'encodage, une métrique qui mesure la similarité des profils d'empreintes codés est utilisée. Idéalement si la mesure de similarité entre deux profils d'empreintes comparés est supérieure à un certain seuil, cela signifie que les deux profils comparés appartiennent à des iris différents. Le cas contraire survient quand les deux profils comparés appartiennent aux mêmes empreintes [16] [17].

Figure 1.19 : Architecture générale d'un système complet de reconnaissance d'empreintes.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

II.2.1.6. L'utilisation des Réseaux de Neurones

L'utilisation des réseaux de neurones (RN) pour la classification de modèle d'empreinte digitale d'une personne se déroule comme suit : Les empreintes détectées après la normalisation et le prétraitement pour réduire la taille du réseau de neurone. Alors les images sont représentées par des matrices. Ces matrices (images) contiennent les valeurs de gris de la texture du modèle d'empreinte. Ces valeurs sont des signaux d'entrée pour le réseau de neurones. La structure neuronale du réseau utilisé

par Rahib Hidayat Abiyev et Koray Altunkaya est donnée par la figure (1.27).

Figure 1.20 : Architecture de réseaux.

Où : x1, x2, ..., xm sont des valeurs d'entrée des niveaux de gris qui caractérise l'information de texture de l'iris, P1, P2, ..., Pn sont des modèles de sortie qui caractérisent l'empreinte.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

21

22

CHAPITRE III : MACHINE LEARNING

Définition

Le Machine Learning est une technologie d'intelligence artificielle permettant aux ordinateurs d'apprendre sans avoir été programmés explicitement à cet effet. Pour apprendre et se développer, les ordinateurs ont toutefois besoin de données à analyser et sur lesquelles s'entraîner. De fait, le Big Data est l'essence du Machine Learning, et c'est la technologie qui permet d'exploiter pleinement le potentiel du Big Data.

Machine Learning et Big Data : définition et explications de la combinaison ( lebigdata.fr)

https://www.lebigdata.fr/machine-learning-et-big-data

I - LES DIFFÉRENTS CATÉGORIES DE MACHINE LEARNING Trois categories de machine learning:

3. L'apprentissage par renforcement

4. L'apprentissage supervisé et

5. L'apprentissage non supervisé

dit « très important », cela peut signifier jusqu'à plusieurs millions d'images pour la base Image Net. C'est à partir de cette base que l'algorithme peut apprendre ans le cadre de l'apprentissage supervisé, la machine connaît déjà les réponses qu'on attend d'elle. Elle travaille à partir de données étiquetées

Cette méthode permet de réaliser deux types de tâches :

Ces tâches consistent à attribuer une classe à des objets. Par exemple, dans le milieu bancaire, on peut identifier si une transaction est frauduleuse ou non frauduleuse de manière automatique. On parle de détection d'anomalie. Dans l'industrie, on peut déterminer si oui ou non une machine est susceptible de tomber en panne.

Ici, on n'attribue pas une classe mais une valeur mathématique : un pourcentage ou une valeur absolue. Par exemple, une probabilité pour une machine de tomber en panne (15 %, 20 %, etc.)

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

ou le prix de vente idéal d'un appartement en fonction de critères comme la surface, le quartier,

etc.

II- APPRENTISSAGE NON SUPERVISE

Une différence lorsqu'on parle du type d'apprentissage non-supervisé, c'est que les réponses que l'on cherche à prédire ne sont pas disponibles dans les jeux de données. Ici, l'algorithme utilise un jeu de données non étiquetées. On demande alors à la machine de créer ses propres réponses. Elle propose ainsi des réponses à partir d'analyses et de groupement de données. Pour y voir plus clair, voici des exemples de tâches réalisables grâce à cette méthode. Mémoire de Master option Bases de Données et Génie Logiciel 28

Ici, on demande à la machine de grouper des objets dans des ensembles de données les plus homogènes possibles. Cette technique peut sembler proche de celle de la classification dans l'apprentissage supervisé, mais à la différence de cette dernière, les classes ne sont pas préremplies par un humain, c'est la machine qui «invente» ses propres classes, à un niveau de finesse pas toujours évident pour un humain. Une technique très utile dans le marketing pour faire de la segmentation client notamment.

1- Deep learning Définition

Le deep learning ou apprentissage profond est un type d'intelligence artificielle dérivé du machine learning (apprentissage automatique) où la machine est capable d'apprendre par elle-même, contrairement à la programmation où elle se contente d'exécuter à la lettre des règles prédéterminées.

2 - Le fonctionnement du deep learning

Le deep Learning s'appuie sur un réseau de neurones artificiels s'inspirant du cerveau humain. Ce réseau est composé de dizaines voire de centaines de « couches» de neurones, chacune recevant et interprétant les informations de la couche précédente. Le système apprendra par exemple à reconnaître les lettres avant de s'attaquer aux mots dans un texte, ou détermine s'il y a un visage sur une photo avant de découvrir de quelle personne il s'agit.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

23

Figure 1.21: À travers un processus d'autoapprentissage, le deep Learning est capable d'identifier un chat sur une photo. À chaque couche du réseau neuronal correspond à un aspect particulier de (l'image MapR, C.D, Futura).

Explications: À chaque étape, les « mauvaises» réponses sont éliminées et renvoyées vers les niveaux en amont pour ajuster le modèle mathématique. Au fur et à mesure, le programme réorganise les informations en blocs plus complexes. Lorsque ce modèle est par la suite appliqué à d'autres cas, il est normalement capable de reconnaître un chat sans que personne ne lui ait jamais indiqué qu'il n'ai jamais appris le concept de chat. Les données de départ sont essentielles : plus le système accumule d'expériences différentes, plus il sera performant.

3-Les Réseaux de neurons artificiels 4-Définition

Un réseau de neurones artificiels ou Neural Network est un système informatique s'inspirant du fonctionnement du cerveau humain pour apprendre.

5-Les différents types de réseau de neurone

Il existe de nombreux types de réseaux neuronaux, on peut les diviser en deux grandes catégories selon la nature de leur algorithme d'apprentissage. Les réseaux de neurones les plus populaires sont:

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

24

- Les réseaux de neurone convolutionnels - Les réseaux de neurone récurent - Réseau de neurone artificiel

Ce sont des réseaux de neurones spécialisés qui utilisent le contexte des entrées lors du calcul de la sortie. La sortie dépend des entrées et des sorties calculées précédemment.

Ainsi, les RNN conviennent aux applications où les informations historiques sont importantes. Ces réseaux nous aident à prévoir les séries chronologiques dans les applications commerciales et à prévoir les mots dans les applications de type chatbot. Ils peuvent fonctionner avec différentes longueurs d'entrée et de sortie et nécessitent une grande quantité de données.

6- Réseau de neurones de convolution - Convolution Neural Network (CNN):

Ces réseaux reposent sur des filtres de convolution (matrices numériques). Les filtres sont appliqués aux entrées avant que celles-ci ne soient transmises aux neurones.

Ces réseaux de neurones sont utiles pour le traitement et la prévision d'images. https://moncoachdata.com/blog/comprendre-les-reseaux-de-neurones/

7- Les réseaux de neurone récurent

Les réseaux récurrents (ou RNN pour Récurrent Neural Networks) sont des réseaux de neurones dans lesquels l'information peut se propager dans les deux sens, y compris des couches profondes aux premières couches. En cela, ils sont plus proches du vrai fonctionnement du système nerveux, qui n'est pas à sens unique. Ces réseaux possèdent des connexions récurrentes au sens où elles conservent des informations en mémoire : ils peuvent Mémoire de Master option Bases de Données et Génie Logiciel 30 prendre en compte à un instant t un certain nombre d'états passés. Pour cette raison, les RNNs sont particulièrement adaptés aux applications faisant intervenir le contexte, et plus particulièrement au traitement des séquences temporelles comme l'apprentissage et la génération de signaux, c'est à dire quand les données forment une suite et ne sont pas indépendantes les unes des autres. Néanmoins, pour les applications faisant intervenir de longs écarts temporels (typiquement la classification de séquences vidéo), cette « mémoire à court-terme » n'est pas suffisante. En effet, les RNNs « classiques » (réseaux de neurones récurrents simples ou Vanilla RNNs) ne sont capables de mémoriser que le passé dit proche, et commencent

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

25

à « oublier » au bout d'une cinquantaine d'itérations environ. Ce transfert d'information à double sens rend leur entrainement beaucoup plus compliqué, et ce n'est que récemment que des méthodes efficaces ont été mises au point comme les LSTM (Long Short Term Memory). Ces réseaux à large « mémoire court-terme » ont notamment révolutionné la reconnaissance de la voix par les machines (Speech Recognition) ou la compréhension et la génération de texte (Natural Langage Processing). D'un point de vue théorique, les RNNs ont un potentiel bien plus grand que les réseaux de neurones classiques : des recherches ont montré qu'ils sont « Turing-complet » (ou Turing-complete), c'est à dire qu'ils permettent théoriquement* de simuler n'importe quel algorithme. Cela ne donne néanmoins aucune piste pour savoir comment les construire pour cela dans la pratique. NB : Ne pas confondre les réseaux de neurones récurrents avec les réseaux de neurones aléatoires (Random Neural Network) aussi traduits par RNN. * Siegelmann, H. T. (1997). Computation beyond the Turing limit. Neural Networks and Analog Computation, 153164 Dans le cadre de notre étude nous utiliserons les réseaux de neurones convolution car ils sont plus adaptés au traitement ou la manipulation des images.

8- Les réseaux de neurones artificiels

Un réseau de neurones artificiels est un système de technologie de l'information basé sur le fonctionnement du cerveau humain, dont sont équipés les ordinateurs dotés de fonctions d'intelligence artificielle. Mémoire de Master option Bases de Données et Génie Logiciel 31 Les réseaux de neurones artificiels permettent aux ordinateurs de résoudre des problèmes de façon autonome et renforcent leurs capacités d'une manière générale. Certains nécessitent une supervision initiale, en fonction de la méthode d'intelligence artificielle utilisée.

9- Comment fonctionne un réseau neuronal artificiel ?

La conception des réseaux de neurones artificiels s'appuie sur la structure des neurones biologiques du cerveau humain. Les réseaux de neurones artificiels peuvent être décrits comme des systèmes composés d'au moins deux couches de neurones - une couche d'entrée et une couche de sortie - et comprenant généralement des couches intermédiaires (« hidden layers »). Plus le problème à résoudre est complexe, plus le réseau de neurones artificiels ne doit comporter de couches. Chaque couche contient un grand nombre de neurones artificiels spécialisés.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

26

10- Traitement de l'information au sein du réseau de neurones

Au sein d'un réseau de neurones artificiels, le traitement de l'information suit toujours la même séquence : les informations sont transmises sous la forme de signaux aux neurones de la couche d'entrée, où elles sont traitées. À chaque neurone est attribué un « poids » particulier, et donc une importance différente. Associé à la fonction dite de transfert, le poids permet de déterminer quelles informations peuvent entrer dans le système. À l'étape suivante, une fonction dite d'activation associée à une valeur seuil calculent et pondèrent la valeur de sortie du neurone. En fonction de cette valeur, un nombre plus ou moins grand de neurones sont connectés et activés. Cette connexion et cette pondération dessinent un algorithme qui fait correspondre un résultat à chaque entrée. Chaque nouvelle itération permet d'ajuster la pondération et donc l'algorithme de façon à ce que le réseau donne à chaque fois un résultat plus précis et fiable.

Figure 1.22: Couche de réseau de neurone

III- RESEAU DE NEURONES ARTIFICIELS : UN EXEMPLE D'APPLICATION

Les réseaux de neurones artificiels peuvent être utilisés en matière de reconnaissance d'images. Contrairement au cerveau humain, un ordinateur ne peut p as déterminer d'un coup d'oeil si une photographie montre un être humain, une plante ou un objet. Il est obligé d'examiner l'image pour en discerner les caractéristiques individuelles. C'est l'algorithme mis en place qui lui permet de savoir quelles caractéristiques sont pertinentes ; à défaut, il peut le découvrir par lui-même grâce à l'analyse des données. Au sein de chaque couche du réseau de neurones, le système vérifie les signaux d'entrée, c'est-à-dire les images, décomposées en critères individuels tels que la couleur, les angles ou les formes. Chaque nouveau teste permet à l'ordinateur de déterminer avec

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

27

28

29

plus de justesse ce que montre l'image. Initialement, les résultats sont nécessairement sujets à un certain nombre d'erreurs. Si le réseau de neurones reçoit un retour d'information d'origine humaine qui lui permet ainsi Figure 10 : Fonctionnent des réseaux de neurone Figure 9 : Couche de réseau de neurone d'adapter son algorithme, on parle d'apprentissage machine. Le concept d'apprentissage profond a pour but d'éliminer le besoin en intervention humaine. Le système apprend alors de sa propre expérience ; il s'améliore à chaque fois qu'une image lui est soumise. En théorie, on obtient à l'arrivée un algorithme capable d'identifier sans erreur le contenu d'une photographie, qu'elle soit en couleurs ou en noir et blanc, quelle que soit la position du sujet ou l'angle sous lequel il est représenté.

1- Les différents types de réseaux de neurones artificiels

On fait appel à différentes structures de réseaux de neurones artificiels en fonction de la méthode d'apprentissage utilisée et de l'objectif recherché.

2- Apprentissage par renforcement

Le Renforcement Learning est une méthode d'apprentissage pour les modèles de Machine Learning. Pour faire simple, cette méthode consiste à laisser l'algorithme apprendre de ses propres erreurs. Afin d'apprendre à prendre les bonnes décisions, l'intelligence artificielle se retrouve directement confrontée à des choix. Si elle se trompe, elle est » pénalisée «. Au contraire, si elle prend la bonne décision, elle est » récompensée «. Afin d'obtenir toujours plus de récompenses, l'IA va donc faire de son mieux pour optimiser sa prise de décisions. Le développeur du modèle de Machine Learning se contente de fixer les règles qui déterminent si l'IA sera punie ou récompensée. Cependant, elle ne donne à cette dernière aucun indice ni aucune suggestion pour l'aider à prendre les bonnes décisions. Une équipe de recherche de l'université de Tokyo a mis au point un système de reconnaissance de signature manuscrite ayant un taux de réussite de 98,2 %. Ce système est le seul à tenir compte de l'angle d'inclinaison du stylo, en plus du style d'écriture et de la pression comme c'est le cas dans les systèmes traditionnels qui ont un taux de reconnaissance de 95 %. L'équipe de chercheurs, dirigée par Seiichiro Hangai et Fumio Mizoguchi, a développé ce système après avoir constaté que l'angle d'inclinaison du stylo est un trait personnel déterminé par la taille de la main et la façon dont la personne tient et fait bouger un stylo. Ce système est également capable de détecter une signature contrefaite par recopie d'une signature originale. Les chercheurs pensent que cette technique pourra améliorer la sécurité des

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

cartes à puces puisque la signature d'un titulaire d'une telle carte Mémoire de Master option Bases de Données et Génie Logiciel 34 peut être stockée dans sa puce et utilisée pour comparaison avec la signature du possesseur de la carte au moment de son utilisation. Cette technique, indépendante de la langue employée, fait l'objet d'une demande de brevet.

3- Quelques algorithmes du deepLearning

Grid Search est un algorithme d'optimisation .le but est de déterminer méthodiquement la meilleure combinaison d'hyper paramètres pour optimiser une métrique de précision d'un modèle, tout en minimisant le nombre de simulations effectuées.

K fold

K-fold est une méthode de validation dont le principe est le suivant: Sur la figure ci-dessous, on peut remarquer que le da taset ayant 20 points a été divisé en 4 folds, chaque fold contenant 5 points ou observations. Lors de la première itération, le premier fold sert de données de Test, pendant qu'un modèle est entrainé sur le reste des folds. A la seconde itération, le modèle est de nouveau entrainé, mais cette fois-ci, sur les données des folds 1, 3 et 4, le second fold servant de données de Test, et ainsi de suite ... Avec cette méthode, on s'assure que chaque point de notre dataset a servi une fois au moins au Test et à l'entrainement, tout en respectant le principe selon lequel on ne fait pas de Test que des données qui ont servi à l'entrainement.

Figure 1.23 : La méthode de k-fold Support Vector Machine (SVM)

SVM est un algorithme utilisant la composante vectorielle des éléments du jeu de données d'apprentissage afin d'en déterminer une orientation préférentielle. Ainsi selon que l'on se place dans un contexte de régression ou de classification, il va être possible de ? soit définir une droite

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

porté par cette orientation donnée par la composante vectorielle ? soit de construire une droite perpendiculaire à ce même vecteur.

Figure 1.24 : Support SVM Gradient descent

L'algorithme du gradient désigne un algorithme d'optimisation différentiable. Il est par conséquent destiné à minimiser une fonction réelle différentiable définie sur un espace euclidien (par exemple, R n {\displaystyle \mathbb {R} ^{n}} , l'espace des n-uplets de nombres réels, muni d'un produit scalaire) ou, plus g énéralement, sur un espace hilbertien. L'algorithme est itératif et procède donc par améliorations successives. Au point courant, un déplacement est effectué dans la direction opposée au gradient, de manière à faire décroître la fonction. Le déplacement le long de cette direction est déterminé par la technique numérique connue sous le nom de recherche linéaire. Cette description montre que l'algorithme fait partie de la famille des algorithmes à directions de descente.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

30

Figure 1.25: Schéma de l'algorithme de gradient FORET ALEATOIRE

Algorithme de classification composé de nombreux arbres de décisions. Formellement proposé en 2001 par Leo Breiman et Adèle Cutler, il fait partie des techniques d'apprentissage automatique. Cet algorithme combine les concepts de sous-espaces aléatoires et de ré-échantillonnage avec remise ensembliste (bagging). L'algorithme des forêts d'arbres décisionnels effectue un apprentissage sur de multiples arbres de décision entraînés sur des sous-ensembles de données légèrement différents. Principe du foret aléatoire

Figure 1.26: Schema forêt aléatoire

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

MATERIELS ET METHODES

31

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

32

CHAPITRE IV: MATERIELS ET METHODES

I - LE MATERIELS

Ici nous parlerons :

- de l'architecture qui a été crée

- de la base de SOCOFING utilisée ensuite nous utiliserons les bibliothèques Tensorflow et Keras pour l'apprentissage et la classification à partir de python dans un environnement de Deep learning créé à cet effet.

I.1 - L'Environnement de travail

1- Matériel

La machine utilisée est une machine personnelle, elle possède : - un processeur Intel core i7 de fréquence 4.2 Mhz V pro, - 8 Go de RAM,

- Carte graphique Intel® UHD Graphics

2- Logiciels et librairies Utilisés dans l'implémentation

- Windows 10 est le système d'exploitation de notre machine qui a servi à élaborer notre projet.

I.2 - Langages de programmation

L'environnement logiciel utilisé pour la réalisation de notre application est python. Python est un puissant outil de calcul numérique, de programmation et de visualisation graphique. Python est un langage de programmation de haut niveau interprété (il n'y a pas d'étape de compilation) et orienté objet avec une sémantique dynamique. Il est très sollicité par une large communauté de développeurs et de programmeurs. Python est un langage simple, facile à apprendre et permet une bonne éduction du cout de la maintenance des codes. Les bibliothèques (packages) python encouragent la modularité et la réutilisabilité des codes. Python et ses bibliothèques sont disponibles (en source ou en binaires) sans charges pour la majorité des plateformes et peuvent être redistribués gratuitement.

Mode exécutif : il exécute ligne par ligne un "fichier PY" (programme en langage Python).

Fenêtres Graphique : comme Spyder elle permet de faire des graphiques dans ces fenêtres. Fichiers PY : Ce sont des programmes en langage Python (écrits par l'usager),

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

33

Figure 1.27 : Logo de spyder

Figure 1.28 : Environnement Python /spyder I.3 - Quelques bibliothèques de python.

3- NumPy

NumPy est une bibliothèque pour langage de programmation Python, destinée à manipuler des matrices ou tableaux multidimensionnels ainsi que des fonctions mathématiques opérant sur ces tableaux

4- TENSORFLOW

TensorFlow est un framework de programmation pour le calcul numérique qui a été rendu Open Source par Google en Novembre 2015. Depuis son release, TensorFlow n'a cessé de gagner en popularité, pour devenir très rapidement l'un des frameworks les plus utilisés pour

le Deep Learning et donc les réseaux de neurones. Son nom est notamment inspiré du fait que les opérations courantes sur des réseaux de neurones sont principalement faites via des tables de données multi-dimensionnelles, appelées Tenseurs (Tensor). Un Tensor à deux dimensions

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

34

est l'équivalent d'une matrice. Aujourd'hui, les principaux produits de Google sont basés sur TensorFlow: Gmail, Google Photos, Reconnaissance de voix.

Et La raison pour laquelle TensorFlow a été la librairie choisie pour la réalisation de ce travail, est que cette librairie est la plus utilisée en ce moment dans le monde du deep learning. TensorFlow est une librairie codée en C++ afin d'obtenir une performance élevée lors des phases d'apprentissage de nouveaux modèles statistiques mais elle propose quelques APIs dans d'autres langages, comme Python, R, Java et C# (Unruh, 2017). Il est important de noter que Google propose plusieurs APIs, mais qu'elle recommande que l'apprentissage soit fait avec le langage Python et qu'ensuite la mise en production se fasse sur d'autres langages, comme Java par exemple (TensorFlow, 2018b).

5- THEANO

Theano est une bibliothèque logicielle Python d'apprentissage profond développé par Mila - Institut québécois d'intelligence artificielle, une équipe de recherche de l'Université McGill et de l'Université de Montréal.

6- KERAS

Keras est une API de réseaux de neurones de haut niveau, écrite en Python et capable de fonctionner sur TensorFlow ou Theano. Il a été développé en mettant l'accent sur l'expérimentation rapide. Être capable d'aller de l'idée à un résultat avec le moins de délai possible est la clé pour faire de bonnes recherches. Il a été développé dans le cadre de l'effort de recherche du projet ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System), et son principal auteur et mainteneur est François Chollet, un ingénieur Google. En 2017, l'équipe TensorFlow de Google a décidé de soutenir Keras dans la bibliothèque principale de TensorFlow. Chollet a expliqué que Keras a été conçue comme une interface plutôt que comme un cadre d'apprentissage end to end. Il présente un ensemble d'abstractions de niveau supérieur et plus intuitif qui facilitent la configuration des réseaux neuronaux indépendamment de la bibliothèque informatique de backend. Microsoft travaille également à ajouter un backend CNTK à Keras aussi.

7- Scikit-learn

Scikit-learn est une bibliothèque libre Python dédiée à l'apprentissage automatique. Elle est

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

35

développée par de nombreux contributeurs notamment dans le monde académique par des instituts français d'enseignement supérieur et de recherche comme Inria et Télécom ParisTech. Elle comprend notamment des fonctions pour estimer des forêts aléatoires, des régressions logistiques, des algorithmes de classification, et les machines à vecteurs de support. Elle est conçue pour s'harmoniser avec des autres bibliothèques libre Python, notamment NumPy et SciPy.

8- OS

OS est un module fournit par Python dont le but d'interagir avec le système d'exploitation, il permet ainsi de gérer l'arborescence des fichiers, de fournir des informations sur le système d'exploitation processus, variables systèmes, ainsi que de nombreuses fonctionnalités du système.

9- OPENCV

OpenCV est une bibliothèque libre de vision par ordinateur. Cette bibliothèque est écrite en C et C++ et peut être utilisée sous Linux, Windows et Mac OS X. Des interfaces ont été développées pour Python, Ruby, Matlab et autre langage. OpenCV est orientée vers des applications en temps réel. Un des buts d'OpenCV est d'aider les gens à construire rapidement des applications sophistiquées de vision à l'aide d'infrastructure simple de vision par 57 ordinateurs. La bibliothèque d'OpenCV contient près de 500 fonctions. Il est possible grâce à la « licence de code ouvert » de réaliser un produit commercial en utilisant tout ou partie d'OpenCV. La version d'Opencv que nous avons utilisé est opencv 3.4

10- MAXPOOLING

Maxpooling est un processus de discrétisation basé sur des échantillons. L'objectif est de sous-échantillonner une représentation d'entrée (image, matrice de sortie de couche cachée, etc.), en réduisant sa dimensionnalité et en permettant de faire des hypothèses sur les caractéristiques contenues dans les sous-régions regroupées.

Ceci est fait en partie pour aider à sur-ajuster en fournissant une forme abstraite de la représentation. De plus, il réduit le coût de calcul en réduisant le nombre de paramètres à apprendre et fournit une invariance de traduction de base à la représentation interne.

11-

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

36

RELU

ReLU ( Rectified Linear Unit ) : Ce sont les fonctions les plus populaires de nos jours. Elles permettent un entrainement plus rapide comparé aux fonctions sigmoid et tanh, étant plus légères.

12- SOFMAX

La fonction softmax est utilisée pour transformer les logits dans un vecteur de probabilités, indiquant la probabilité que x appartienne à chacune des classes de sortie T. Mais on peut travailler sur d'autres caractéristiques, et ainsi obtenir d'autres probabilités, afin de déterminer l'animal sur la photo. Au fur et à mesure que l'intelligence artificielle aura d'exemples, plus la matrice de poids s'affinera, et plus le système sera performant.

II - METHODES DE RECONNAISSANCES

II.1 - Base de données d'empreinte digitale

Les problèmes de sécurités se sont multipliés et le marché de la biométrie a connu une

croissance rapide. Aujourd'hui il existe différents types de biométries technologies tels que les

empreintes digitales, l'iris, les veines, les voix identification. Ici dans notre contexte, notre étude

consistera à utiliser le deep Learning pour la résolution de nos problèmes.

L'identification des empreintes digitales a été utilisée dans notre étude. Une gigantesque

base de données d'empreintes digitales existantes a été déjà établie et fut donné par nos différents

encadreurs.

Cette base de données est constituée d'empreinte digitale de plusieurs individus repartis

dans plusieurs fichiers :

- Altered-easy

- Altered-hard

- Altered-medium

Ici, nous avons utilisé la base de données d'empreinte digital SOCOFING comprenant Sokoto

Coventry Fingerprint Dataset (SOCOFing) qui est une base de données biométrique

d'empreintes digitales conçue à des fins de recherche universitaire. SOCOFing est composé de

6 000 images d'empreintes digitales de 600 sujets africains et contient des attributs uniques tels

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

que des étiquettes pour le sexe, le nom des mains et des doigts ainsi que des versions modifiées

synthétiquement avec trois niveaux différents d'altération pour l'effacement.

37

II.2 - Le Prétraitement

L'étape du prétraitement devrait être effectuée avant l'extraction des caractéristiques. Nous centrons l'empreinte dans un canevas ensuite nous supprimons l'arrière-plan en définissant les pixels d'arrière-plan sur un blanc et en laissant les pixels du premier plan en niveau de gris. Certaines étapes de prétraitements doivent être effectuées avant l'extraction des données. Il s'agit de l'importation des bibliothèques (numpy,os,sklearn,open cv...).

Apres importation des bibliothèques on importera la base de données :

Sokoto Coventry Fingerprint Dataset (SOCOFing) | Kaggle

L'étape suivante consistera à pixeler les images ensuite mettre les images dans une même

dimension compris entre 0 et 1.

Le Dataset sera subdivisé en deux étapes :

-Trainning(entrainement)

-Test(test)

Importation de la fonction Train_set(permet la division de la db )

Figure 1.29 : Base de données SOCOFING (empreinte digitale d'individu)

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

38

39

II.2.1 - La Binarisation

II.3. Méthodologie utilisée

Dans notre exercice nous allons utiliser un algorithme de Deep Learning c'est-à-dire les réseaux de neurones convolutifs car ils sont qualifiés comme étant les modèles les plus performants pour la classification d'images.

II.3.1. Les réseaux de neurones convolutifs II.3.1.1. Définition

Les réseaux de neurones convolutifs désignent une sous-catégorie de réseaux de neurones et sont conçu pour extraire automatiquement les caractéristiques des images d'entrée. Ils reçoivent des images en entrée, détectent les features de chacune d'entre elles, puis entraînent un classifieur dessus. Leur architecture est alors plus spécifique : elle est composée de deux parties principales bien distinctes.

Ø La partie convolutive : en entrée, une image est fournie sous la forme d'une matrice de

pixels. Elle a 2 dimensions pour une image en niveaux de gris. La couleur est représentée par une troisième dimension, de profondeur 3 pour représenter les couleurs fondamentales [Rouge, Vert, Bleu].

La première partie d'un CNN est la partie convolutive à proprement parler. Elle fonctionne comme un extracteur de caractéristiques des images. Une image est passée à travers une succession de filtres, ou noyaux de convolution, créant de nouvelles images appelées cartes de convolutions. Certains filtres intermédiaires réduisent la résolution de l'image par une opération de maximum local. Au final, les cartes de convolutions sont mises à plat et concaténées en un vecteur de caractéristiques, appelé code CNN. [19]

Ø La partie classification : ce code CNN en sortie de la partie convolutive est ensuite

branché en entrée d'une deuxième partie, constituée de couches entièrement connectées (perceptron multicouche). Le rôle de cette partie est de combiner les caractéristiques du code CNN pour classer l'image.

La sortie est une dernière couche comportant un neurone par catégorie. Les valeurs numériques obtenues sont généralement normalisées entre 0 et 1, de somme 1, pour produire une distribution de probabilité sur les catégories.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

Figure 1.30 : les deux parties de l'architecture des réseaux de neurones convolutifs II.3.1.2. Les différentes couches des CNN

Il existe quatre types de couches pour un réseau de neurones convolutifs : la couche de convolution, la couche de pooling, la couche de correction ReLU et la couche fully-connected :

» La couche de convolution (CONY) qui traite les données d'un champ récepteur.

» La couche de pooling (POOL), qui permet de compresser l'information en réduisant la taille de l'image intermédiaire (souvent par sous-échantillonnage).

» La couche de correction (ReLU), souvent appelée par abus 'ReLU' en référence à la

fonction d'activation (Unité de rectification linéaire).

» La couche "entièrement connectée" (FC), qui est une couche de type perceptron.

1- La couche de convolution

La couche de convolution est la composante clé des réseaux de neurones convolutifs, et constitue toujours au moins leur première couche.

Son but est de repérer la présence d'un ensemble de features dans les images reçues en entrée. Pour cela, on réalise un filtrage par convolution : le principe est de faire "glisser" une fenêtre représentant la feature sur l'image, et de calculer le produit de convolution entre la feature et chaque portion de l'image balayée. Une feature est alors vue comme un filtre : les deux termes sont équivalents dans ce contexte.

Trois hyperparamètres permettent de dimensionner le volume de la couche de convolution

» Profondeur de la couche : nombre de noyaux de convolution (ou nombre de neurones associés à un même champ récepteur).

» Le pas contrôle le chevauchement des champs récepteurs. Plus le pas est petit, plus les

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

40

champs récepteurs se chevauchent et plus le volume de sortie sera grand.

Ø La marge (à 0) ou zero padding : parfois, il est commode de mettre des zéros à la frontière

du volume d'entrée. La taille de ce zero-padding est le troisième hyperparamètre. Cette marge permet de contrôler la dimension spatiale du volume de sortie. En particulier, il est parfois souhaitable de conserver la même surface que celle du volume d'entrée.

2- Couche de pooling (POOL)

Ce type de couche est souvent placé entre deux couches de convolution : elle reçoit en entrée plusieurs feature maps, et applique à chacune d'entre elles l'opération de pooling.

L'opération de pooling (ou sub-sampling) consiste à réduire la taille des images, tout en préservant leurs caractéristiques importantes.

Pour cela, on découpe l'image en cellules régulière, puis on garde au sein de chaque cellule la valeur maximale. En pratique, on utilise souvent des cellules carrées de petite taille pour ne pas perdre trop d'informations. Les choix les plus communs sont des cellules adjacentes de taille 2 × 2 pixels qui ne se chevauchent pas, ou des cellules de taille 3 × 3 pixels, distantes les unes des autres d'un pas de 2 pixels (qui se chevauchent donc). On obtient en sortie le même nombre de feature maps qu'en entrée, mais celles-ci sont bien plus petites.

La couche de pooling permet de réduire le nombre de paramètres et de calculs dans le réseau. On améliore ainsi l'efficacité du réseau et on évite le sur-apprentissage.

Il est courant d'insérer périodiquement une couche Pooling entre les couches Conv successives dans une architecture ConvNet. Sa fonction est de réduire progressivement la taille spatiale de la représentation afin de réduire la quantité de paramètres et de calculs dans le réseau, et donc de contrôler également le sur-ajustement. La couche de pooling fonctionne indépendamment sur chaque tranche de profondeur de l'entrée et la redimensionne spatialement, en utilisant l'opération MAX.

Ainsi, la couche de pooling rend le réseau moins sensible à la position des features : le fait qu'une feature se situe un peu plus en haut ou en bas, ou même qu'elle ait une orientation légèrement différente ne devrait pas provoquer un changement radical dans la classification de l'image.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

41

3- Couches de correction (RELU)

Pour améliorer l'efficacité du traitement en intercalant entre les couches de traitement une couche qui va opérer une fonction mathématique (fonction d'activation) sur les signaux de sortie. dans ce cadre on trouve ReLU (Rectified Linear Units) désigne la fonction réelle non-linéaire définie par ReLU(x)=max(0,x). La couche de correction ReLU remplace donc toutes les valeurs négatives reçues en entrées par des zéros. Elle joue le rôle de fonction d'activation.

Souvent, la correction Relu est préférable, mais il existe d'autre forme

Ø La correction par tangente hyperbolique f(x)=tanh(x),

Ø La correction par la tangente hyperbolique saturante : f(x)=|tanh(x)|,

4- Couche entièrement connectée (FC)

La couche fully-connected constitue toujours la dernière couche d'un réseau de neurones, convolutif ou non - elle n'est donc pas caractéristique d'un CNN.

Ce type de couche reçoit un vecteur en entrée et produit un nouveau vecteur en sortie. Pour cela, elle applique une combinaison linéaire puis éventuellement unefonction d'activation aux valeurs reçues en entrée.

La couche fully-connected permet de classifier l'image en entrée du réseau : elle renvoie un vecteur de taille N, où N est le nombre de classes dans notre problème de classification d'images. Chaque élément du vecteur indique la probabilité pour l'image en entrée d'appartenir à une classe.

III. ARCHITECTURE DE NOTRE RESEAU, ENTRAINEMENT ET COMPILATION DU MODELE

1. Architecture de notre réseau

Notre modèle est composé de trois couches de convolution, trois couches maxpooling, trois couches et deux couches de fully connect.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

42

Figure 1.31 : Définition du modèle

» L'image en entrée est de taille 96*96, l'image passe d'abord à la première couche de

convolution

» La première couche de convolution est composée de 32 filtres de taille 5*5, la seconde

couche de convolution est composée de 64 filtres de tailles 5*5 et la dernière est composée de 128 filtres de tailles 3*3 et ont toute la fonction ReLU comme fonction

d'activation.

» Une couche de Maxpooling est appliquée au 32 features obténues après l'application d'une

normalisation par lot (BatchNormalization), pour réduire la taille des images tout

en préservant leurs caractéristiques importantes.

» On répète la même chose avec les couches de convolutions deux et trois. Une couche

de Maxpooling est appliquée après l'application de la normalisation par lot (BatchNormalization) à la sortie de la couche de convolution précédente. A la sortie de la deuxième couche de Maxpooling on obtient 64 features et à la sortie de la troisième couche de Maxpooling on obtient 128 features

» Après ces trois couches de convolution, nous utilisons un réseau de neurones composé

de deux couches fully connected. La première couche a 256 neurones où la fonction d'activation utilisée est le ReLU, et la deuxième couche a 108 neurones où la fonction d'activation utilisée softmax qui permet de calculer la distribution de probabilité des

108 classes (nombre de classe dans la base d'image).

» Nous avons utilisé la méthode Flatten qui a permis de mettre bout à bout toutes les

images (matrices) que nous avons pour en faire un vecteur.

Ø

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

43

Et la méthode Dropout qui nous a permis d'éviter le sur-apprentissage en éteignant temporairement et aléatoirement certains neurones au cours de l'apprentissage.

2. Compilation

C'est au moment de la compilation que nous allons définir le type d'algorithme d'optimisation et la fonction de coût à utiliser.

Figure 1.32: La compilation

Dans le cadre de cette mise en pratique nous avons opté pour l'algorithme d'optimisation Adam et une fonction de coût d'entropie croisée catégorielle.

3. L'entrainement

Premier cas : Le modèle est entraîné pendant 05 époques Deuxième cas : Le modèle est entraîné pendant 10 époques Troisième cas : Le modèle est entraîné pendant 20 époques

Figure 1.33 : l'entrainement des deux 1er cas

Avec l'avènement du deeplearning, l'accent est placé sur les méthodes d'apprentissage en profondeur dont les réseaux de neurones à convolution (CNN),qui sont les premier dans l'évolution de l'apprentissage en profondeur. La CNN se compose de plusieurs couches, effectuant des opérations telles que les convolutions, la mise en pool maximale et les produits dot (couches entièrement connectées), où dans les couches convolutives et les couches entièrement connectées ont des paramètres prenables qui sont optimisés pendant la formation.

Le type d'architecture de CNN détermine comment sont de nombreuses couches, quelle est la fonction de chaque couche et comment les couches sont connectées.

Il existe quatre architectures pour les CNN, à savoir :

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

44

LeNet, AlexNet, VGG et GoogleNet. Parmi ceux-ci, nous avons étudié LeNet et AlexNet. Choisir une bonne architecture est crucial pour un apprentissage réussi des CNN. L'Alex Net de l'architecture CNN contient 11 couches comprenant la convolution, la mise en commun et le couches entièrement connectées. Le réseau choisi contient 7 couches.

Ce chapitre nous a permis de monter de manière détaillée les différents outils et la méthode de réseaux de neurones convolutifs qui ont été utilisés durant ce travail. Aussi les réseaux de neurones convolutifs sont adaptés aux images, sont composés de deux parties qui sont la partie convolutive et la partie de classification et dans leur architecture, on a quatre couches. Ils tiennent leur particularité de leur couche clé qui est la couche convolutive. Nous avons par la suite montré notre modèle construit, donner les paramètres de notre compilation et de notre entrainement.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

RESULTATS ET DISCUSSIONS

45

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

46

CHAPITRE V: RESULTATS ET DISCUSSIONS

Dans cette étape on portera particulièrement notre attention sur les tests réalisés ainsi que les résultats obtenus. Elle consistera donc à analyser et interpréter nos résultats obtenus.

1- RESULTATS

Ø Entrainement 1

nombre d'époque 05 et 2205 images pour 108 sujets

Constat

Figure 34 : Performance par rapport aux jeux d'entraînement et validation à gauche et Erreur par rapport aux jeux d'entraînement et validation à droite 1er Entrainement.

Figure 1 : Moyenne performance 0.11 1er Entrainement

Ø Entrainement 2

Nombre d'époque 10 et 2205 images d'empreinte digitale pour 108 sujets

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

47

Constat

Figure 3 : Performance par rapport aux jeux d'entraînement et validation à gauche et Erreur par rapport aux jeux d'entraînement et validation à droite 2ème Entrainement.

Figure 4 : Moyenne performance 0.1720 2eme entrainement

Ø Entrainement 3

Nombre d'époque 20 et 756 images d'empreinte digitale pour 108 sujets

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

48

Constat

Figure 3 : Performance par rapport aux jeux d'entraînement et validation à gauche et Erreur par rapport aux jeux d'entraînement et validation à droite 3ème Entrainement.

Figure 4 : Moyenne performance 0.3618

Ø

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

63

Entrainement 4

Nombre d'époque 30 et 3000 images d'empreinte digitale pour 108 sujets Constat

Figure 5 : Performance par rapport aux jeux d'entraînement et validation à gauche et Erreur par rapport aux jeux d'entraînement et validation à droite 4ème Entrainement.

Figure 5 :Moyenne performance 0.9748

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

64

64

65

II. DISCUSSIONS

Ø 1er entrainement

Après l'analyse du résultat obtenu, On constate que la précision de l'apprentissage et de test n'est pas performante.

Ø 2ème entrainement

Après l'analyse du résultat obtenu, On constate qu'avec un nombre limité d'époques et avec une quantité insuffisante de données notre modèle de

classification d'iris n'est pas performant et donne des prédictions avec des probabilités proches de 0 ou même égale à 0 pour certains sujets.

Ø 3ème entrainement

Après l'analyse du résultat obtenu, nous avions essayé de mettre les mêmes données précédentes, On constate que plus la quantité d'information pour l'apprentissage est basse plus le model est mal entrainé et ne pourra classifier les empreintes digitales.

Ø 4ème entrainement

Après l'analyse du résultat obtenu, nous observons que la précision de l'apprentissage et de test augmente avec le nombre d'époque, ce qui signifie qu'à chaque époque le model apprend plus. Alors nous devons augmenter le nombre d'époque et des images pour avoir de meilleures performances.

Afin d'avoir une meilleure performance, nous avions trouvé mieux d'effectuer plusieurs tests. A la suite de ces tests nous avions obtenu une meilleure performance possible.

Ø Après l'analyse du résultat obtenu dans la Figure, On constate que malgré qu'on ait

une quantité d'informations suffisante pour l'apprentissage et que nous donnons moins d'époque au modèle pour son apprentissage, nous remarquons que le modèle n'est pas performant.

Le choix d'avoir effectué plusieurs tests d'entraînement aura donc permis de récupérer le meilleur modèle possible qui est celui du dernier entrainement avec une performance de 0.97.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

CONCLUSION

Ce dernier chapitre a fait l'objet d'une étude concernant la façon dont notre modèle réagit en fonction de la variation de certains paramètres (le nombre d'époque, la quantité d'information) qui pourraient affecter notre modèle biométrique basé sur l'empreinte digitale.

MEILLEUR PERFORMANCE DE NOTRE MODEL
Résultat obtenu avec 30 Epoques et 3000 images

accuracy 0.9748

macro avg 0.98 0.98 0.98 436

weighted avg 0.98 0.97 0.97 436

Les objectifs fixés dans le cadre de ce projet de recherche est de produire la reconnaissance d'emprunte digital basé sur le deep learning .Nos recherches nous ont menés à la mise en place d'un programme informatique de reconnaissance basé sur des réseaux de neurones à convolution. Ces différentes étapes se sont déroulées dans les points suivants :

- Importation des bibliothèques

- Importation du dataset

- Pixelisation des images

- Diviser les données en deux étapes (une partie entrainement et une autre en test)

- Entrainement et Test

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

Il faut noter que l'architecture logicielle mise en oeuvre nous garantit une exploitation optimale des ressources des infrastructures par l'exécution.

Ainsi, la solution apporte à l'informatique (précisément dans ce travail de recherche) une évolution notable et répond bien à la question de la performance. Notre model arrive à faire la reconnaissance des images avec une précision de 97%. Pendant l'entrainement, nous constations que le pourcentage augmentait progressivement; ce qui signifia que le model n'a pu faire de surapprentissage.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

66

CONCLUSION ET PERSPECTIVES

Au terme de notre étude, nous pouvons conclure que la technologie des machines Learning apporte une contribution significative dans l'élaboration des solutions de la biométrie. Les réseaux de neurones reposent à présent sur des bases mathématiques solides qui permettent d'envisager des applications dans presque tous les domaines notamment dans le domaine de la classification.

Notre projet de fin d'étude consiste à faire la reconnaissance des empreintes digitales par le réseau de neurone(carte de kohonen) qui permet de réaliser un système biométrique qui fait l'authentification des individus selon leurs empreintes digitales.

Au cours de ce mémoire, nous avons présentées les différentes étapes du deep learning et approcher les différentes méthodes de traitement d'images et de classification.

Nous estimons avoir réalisé un système répondant à l'objectif que nous nous sommes fixés au départ, à savoir la mise en oeuvre d'un système de reconnaissance d'individus à base d'empreintes digitales en utilisant le Deep learning. Dans le domaine de la reconnaissance d'empreinte digitale surtout dans le deep learning, certains améliorations ont été effectué mais il y reste de nombreux efforts encore. La difficulté que nous pouvons constater à cet effet est aussi l'absence de puissants équipements pour les différents entrainements.

Il serait avantageux de travailler sur des calculateurs afin de permettre au machine de mieux apprendre et d'obtenir de meilleurs performances. Actuellement, il existe quelques sociétés ayant cette technologie, mais l'équipement est particulièrement coûteux.

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

67

REFERENCES BIBLIOGRAPHIQUES

[1] S. AKROUF, »Une Approche Multimodale pour l'Identification du Locuteur», thèse de doctorat, Université Ferhat Abbas- Setif , Mars 2021. https://ch.mathworks.com/help/deeplearning/getting-started-with-deep-learning-toolbox.html?s_tid=CRUX_lftnav, Mars 2021

Université de : université mentouri de Constantine. Promotion : Mars 2021.

[2] introduction à la biométrie

ww2.ac-poitiers.fr/electronique/IMG/doc/introduction_a_la_biometrie.doc.

[3] L. ALLANO, `La Biométrie multimodale : stratégies de fusion de scores et mesures de dépendance appliquées aux bases de personnes virtuelles', thèse de doctorat, Université D'every Val D'essonne, Mars 2021

[4] http://www.memoireonline.com/09/09/2694/Systeme-de-reconnaissance-hors-ligne-des-mots-manuscrits-arabe-pour-multi-scripteurs.html. Mars 2021

[4] T. AMELLAL, K. BENAKLI, »Système de reconnaissance de visage basé sur les GMM », Mars 2021

mémoire fin d'étude d'ingéniera en informatique, Institut National de formation en Informatique (I.N.I) Oued-Smar Alger, 2007.fev.2021

[5] Reconnaissance automatique des empreintes digitales

http://www.isir.upmc.fr/UserFiles/File/LPrevost/Biometrie%20Empreintes.pdf. Mars 2021

[6] Pierre Jolicour, Introduction à la biométrie, 32,78 €

[7] http://empreintesdigitales.free.fr/index.php?page=grand1, Fev.2021

[8] J.J. Hopfield, «Neural networks and physical systems with emergent collective computational abilities», in Roc. Nat, Academy of Sciences, USA 79, 1982, pp. 2,554

[9] Réseaux de neurones. www.uqtr.uquebec.ca/~biskri/Personnel/mol/RRN.doc . Mars 2021

[10] [6] S. BOUDJELAL, »Détection et identification de personne par méthode biométrique », Mémoire de magister en électronique, Université de Tizi Ouzou, 2014

[11] Deep learning

https://ch.mathworks.com/fr/solutions/deeplearning.html?s_tid=hp_brand_deeplearning, fev.2021

[12] Principe de l'intelligence artificielle,

https://www.r2i.ca/principe-intelligence artificielle, fev.2021

[13]

 

Mémoire de Master option Bases de Données et Génie Logiciel

 
 

68

69

Comment les machines apprennent

https://webcache.googleusercontent.com/search?q=cache:BuMqvml4LuYJ:https://www.di. ens.fr/eloise.berthier/hs.pdf+&cd=6&hl=fr&ct=clnk&gl=ci, mars 2021

[14] A. BENAGGA et L. TELIB, » Reconnaissance des personnes basée sur l'empreinte de l'articulation de doigt», Mémoire de master académique, université Kasdi Merbah Ouargla, fev. 2021

Apprentissage non supervisé -- Wikipédia ( wikipedia.org), dec.2020

[15] Deep learning https://datascientest.com/deep-learning, fev.2020

[16] L. Masek, «Recognition of Human Iris Patterns for Biometric Identification», thèse de Master présentée à l?Université de Western Australia, Australie, 2003

[17] N. Morizet, «Reconnaissance Biométrique par Fusion Multimodale du Visage et de l?Iris», thèse de Doctorat présentée à l?Ecole Nationale Supérieure des Télécommunications, France, 2009

[18] J. Zuo, A. Natalia, «On a methodology for robust segmentation of nonideal iris images», IEEE Transactions on Systems, Man, and Cybernetic B, Vol. 40, No. 3, p.p.

703-718, 2010

[19] Daugman, J.G.; High confidence visual recognition of persons by a test of statistical independence?, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 15, No. 11, pp. 1148-1161, Nov. 1993

[20] Wildes, R.P., "Iris Recognition: An Emerging Biometric Technology", Proceedings of the IEEE, Vol. 85, No. 9, pp.1348-1363, 1997

[21] An algorithm for iris extraction ( infona.pl), mars 2020

[22] W. Ryan, D. Woodard, A. Duchowski, and S. Birchfield, «Adapting starburst for elliptical iris segmentation», 2nd IEEE International Conference on Biometrics,2020

Theory, Applications and Systems, Vol., No., p.p. 1-7, Arlington, VA, Janv. 2021

[23] J. Daugman, «New methods in iris recognition», IEEE Transactions on Sytems, Man, Cybernetics. B., Vol. 37, No. 5, p.p. 1168-1176, Mars. 2021

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

[24] S. Shah, A. Ross, «Iris segmentation using geodesic active contours», IEEE Transactions on Information Forensics Security, Vol. 4, No. 4, p.p. 824-836, 2009

[25] E. Krichen, «Reconnaissance des personnes par l'iris en mode dégradé», thèse de Doctorat présentée à Institut National des Télécommunications, France, 2007

[26] Hunny Mehrotra, Banshidhar Majhi, and Phalguni Gupta.Multi- algorithmic Iris Authentication System». Proceedings of Worde academy of science,engineering and technology volume ISSN 2070-374034 ,October 2008

Définition | Deep Learning - Apprentissage profond | Futura Tech,( futura-sciences.com) (fev.2021)

https://fr.wikipedia.org/wiki/R%C3%A9seau_de_neurones_artificiels,( mars 2021) https://fr.wikipedia.org/wiki/Intelligence_artificielle (fev.2021) https://ml4a.github.io/ml4a/fr/neural_networks/(mars 2021) https://fr.wikipedia.org/wiki/NumPy, (fev.2021) https://stateofther.github.io/finistR2018/atelier2_tensorflow.html,fev.2020 https://www.tensorflow.org/resources/learn-ml?hl=fr, mars 2021 https://www.actuia.com/keras/ (fev.2021)

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

70

71

72

73

TABLE DES MATIERES

DEDICACE I

REMERCIEMENTS II

AVANT-PROPOS III

SOMMAIRE IV

LISTE DES FIGURES V

ABREVIATIONS VII

RESUME IX

ABSTRACT X

INTRODUCTION GENERALE 1

ETAT DE L'ART 2

CHAPITRE I : LA BIOMETRIE 3

I- GÉNÉRALITÉS 3

II - DEFINITION DE LA BIOMETRIE 3

III - LES DIFFERENTES ANALYSE DE LA BIOMETRIE 4

III.1. Les caractéristiques biométriques 4

III.2. Les systèmes biométriques 4

III.2.2.1. Le mode vérification ou d'authentification 5

III.2.2.2. Le mode d'identification 5

III.3. Processus 5

III.4. Les principaux avantages de biométrie 6

III.5 La biométrie physique 6

III.5.1. Visage 7

1.6 Iris 7

1.7. Empreintes des articulations des doigts 8

1.8. Empreinte palmaire 8

I.8.1. Biométrie comportementale 8

I.8.2. Voix 8

I.8.3. Frappe dynamique sur le clavier 9

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

I.8.4. Biométrie Biologique 10

I.8.4.1. Veines de la main 10

I.8.4.2. L'analyse de l'ADN 10

I.8.4.3. Thermo gramme faciale 11

I.9. Les Applications de la biométrie 11

I.9.1. Contrôle d'accès 11

I.9.1.1. Contrôle d'accès physique 11

I.9.1.2. Contrôle d'accès virtuel 12

I.9.2. Authentification des transactions 12

I.9.3. Répressions 12

I.9.4. Personnalisation 13

CHAPITRE II : EMPREINTE DIGITALE 14

I- GENERALITES 14

II.1 - Les caractéristiques de l'empreinte digitale 15

II.2. Le Système Biométrique basé sur l'empreinte digitale 17

II.2.1. Définition 17

II.2.2. Acquisition 18

II.2.3. Segmentation 18

II.2.4. Normalisation 19

II.2.5. Encodage (extraction des caractéristiques) 19

II.2.6. Classification 19

II.2.1.6. L'utilisation des Réseaux de Neurones 20

CHAPITRE III : MACHINE LEARNING 21

I - LES DIFFÉRENTS CATÉGORIES DE MACHINE LEARNING 21

II- APPRENTISSAGE NON SUPERVISE 22

1- Deep learning 22

2 - Le fonctionnement du deep learning 22

3-Les Réseaux de neurons artificiels 23

4-Définition 23

5-Les différents types de réseau de neurone 23

6-

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

Réseau de neurones de convolution - Convolution Neural Network (CNN): 24

7- Les réseaux de neurone récurent 24

8- Les réseaux de neurone artificiel 25

9- Comment fonctionne un réseau neuronal artificiel ? 25

10- Traitement de l'information au sein du réseau de neurones 26
III- RESEAU DE NEURONES ARTIFICIELS : UN EXEMPLE D'APPLICATION 26

1- Les différents types de réseaux de neurones artificiels 27

2- Apprentissage par renforcement 27

3- Quelques algorithmes du deepLearning 28

MATERIELS ET METHODE 31

CHAPITRE IV: MATERIELS ET METHODES 32

I - LE MATERIEL 32

I.1 - L'Environnement de travail 32

1- Matériel 32

2- Logiciels et librairies Utilisés dans l'implémentation 32

I.2 - Langages de programmation 32

I.3 - Quelques bibliothèques de python. 33

3- NumPy 33

4- TENSORFLOW 33

5- THEANO 34

6- KERAS 34

7- Scikit-learn 34

8- OS 35

9- OPENCV 35

10- MAXPOOLING 35

11- RELU 36

12- SOFMAX 36

II - METHODES DE RECONNAISSANCES 36

II.1 - Base de données d'empreinte digitale 36

II.2 - Le Prétraitement 37

 

Mémoire de Master option Bases de Données et Génie Logiciel

 

II.2.1 - La Binarisation 38

II.3. Méthodologie utilisée 38

II.3.1. Les réseaux de neurones convolutifs 38

II.3.1.1. Définition 38

II.3.1.2. Les différentes couches des CNN 39

1- La couche de convolution 39

2- Couche de pooling (POOL) 40

3- Couches de correction (RELU) 41

4- Couche entièrement connectée (FC) 41
III. ARCHITECTURE DE NOTRE RESEAU, ENTRAINEMENT ET

COMPILATION DU MODELE 41

1. Architecture de notre réseau 41

2. Compilation 43

3. L'entrainement 43

RESULTATS ET DISCUSSIONS 45

CHAPITRE V: RESULTATS ET DISCUSSIONS 46

1- RESULTAT 46

II. DISCUSSIONS 64

CONCLUSION 64

CONCLUSION ET PERSPECTIVES 66

REFERENCES BIBLIOGRAPHIQUES 67






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je voudrais vivre pour étudier, non pas étudier pour vivre"   Francis Bacon