86
N° d’ordre : 01 / RS / TCO Année Universitaire : 2015 / 2016 UNIVERSITE D’ANTANANARIVO ---------------------- ECOLE SUPERIEURE POLYTECHNIQUE ----------------------- MENTION TELECOMMUNICATION MEMOIRE en vue de l’obtention du DIPLOME de Licence Domaine : Sciences de l’Ingénieur Mention : Télécommunication Parcours : Réseaux et Systèmes par : ANDRIAMIARANARIVO Mahery CONCEPTION ET REALISATION D’UN SYSTEME BIOMETRIQUE BASE SUR LA RECONNAISSANCE DU VISAGE PAR RESEAUX DE NEURONES ARTIFICIEL Soutenu le vendredi 31 mars 2017 devant la Commission d’Examen composée de : Président : M. RAKOTONDRAINA Tahina Ezéchiel Examinateurs : M. RADONAMANDIMBY Edmond Jean Pierre M. BOTO ANDRIANANDRASANA Jean Espérant M. RANDRIAMITANTSOA Andry Auguste Directeur de mémoire : M. RAVONIMANANTSOA Ndaohialy Danà

MEMOIRE en vue de l’obtention du DIPLOME de Licence

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MEMOIRE en vue de l’obtention du DIPLOME de Licence

N° d’ordre : 01 / RS / TCO Année Universitaire : 2015 / 2016

UNIVERSITE D’ANTANANARIVO ----------------------

ECOLE SUPERIEURE POLYTECHNIQUE -----------------------

MENTION TELECOMMUNICATION

MEMOIRE

en vue de l’obtention

du DIPLOME de Licence

Domaine : Sciences de l’Ingénieur Mention : Télécommunication

Parcours : Réseaux et Systèmes

par : ANDRIAMIARANARIVO Mahery

CONCEPTION ET REALISATION D’UN SYSTEME BIOMETRIQUE BASE SUR LA RECONNAISSANCE

DU VISAGE PAR RESEAUX DE NEURONES ARTIFICIEL

Soutenu le vendredi 31 mars 2017 devant la Commission d’Examen composée de :

Président : M. RAKOTONDRAINA Tahina Ezéchiel

Examinateurs :

M. RADONAMANDIMBY Edmond Jean Pierre

M. BOTO ANDRIANANDRASANA Jean Espérant

M. RANDRIAMITANTSOA Andry Auguste

Directeur de mémoire : M. RAVONIMANANTSOA Ndaohialy Danà

Page 2: MEMOIRE en vue de l’obtention du DIPLOME de Licence
Page 3: MEMOIRE en vue de l’obtention du DIPLOME de Licence

i

REMERCIEMENTS

Je rends grâce à Dieu pour sa bonté, de m’avoir donné la force et la santé durant la réalisation de ce

mémoire.

Je remercie Monsieur RAMANOELINA Panja Armand René, Professeur Titulaire, Président de

l’Université d’Antananarivo.

J’adresse mes sincères remerciements à Monsieur ANDRIANAHARISON Yvon Dieudonné,

Professeur Titulaire, Responsable du domaine sciences de l’ingénieur, de m’avoir donné la

permission d’effectuer mes études au sein de l’école.

Je tiens à exprimer mes profondes reconnaissances à Monsieur RAKOTOMALALA Mamy Alain,

Maître de Conférences, Enseignant et Responsable de la mention Télécommunication, pour ma

formation au sein du département.

J’exprime mes profondes gratitudes à Monsieur RAVONIMANANTSOA Ndaohialy Danà,

Assistant d’Enseignement et de Recherche, pour m’avoir dirigé tout au long de ce travail, et qui n’a

cessé de me prodiguer de précieux conseils malgré ses occupations.

Je tiens aussi à remercier Monsieur RAKOTONDRAINA Tahina Ezéchiel, Maître de Conférences,

qui nous a fait l’honneur de présider les membres du Jury de ce mémoire.

Je témoigne toute ma reconnaissance aux autres membres du jury qui ont voulu examiner ce travail :

Monsieur RADONAMANDIMBY Edmond Jean Pierre, Assistant d’Enseignement et de

Recherche.

Monsieur BOTO ANDRIANANDRASANA Jean Espérant, Assistant d’Enseignement et de

Recherche.

Monsieur RANDRIAMITANTSOA Andry Auguste, Maître de Conférences.

J'adresse tous mes remerciements à tous les Enseignants de l’Ecole Supérieure Polytechnique, en

particulier ceux du département télécommunication, qui nous ont formés durant ces études

universitaires.

J'exprime ma profonde gratitude aux membres de ma famille, pour leurs soutiens durant mes

études. Je les remercie d'avoir appuyé mes choix et d'avoir toujours su m'encourager. Enfin, je ne

saurai oublier toutes les personnes qui m’ont aidées de près ou de loin dans l’élaboration du présent

mémoire, je vous en suis très reconnaissant et que la Grâce de Dieu vous inonde.

Page 4: MEMOIRE en vue de l’obtention du DIPLOME de Licence

ii

TABLE DES MATIERES

REMERCIEMENTS ........................................................................................................................ i

TABLES DES MATIERES…………………………………. ....................................................... ii

NOTATIONS ................................................................................................................................. vii

INTRODUCTION GENERALE ................................................................................................... 1

CHAPITRE 1 : LA BIOMETRIE .................................................................................................. 2

1.1 Introduction ........................................................................................................................... 2

1.2 Le marché mondial de la biométrie ..................................................................................... 2

1.3 Les parts de marché par technologie ................................................................................... 3

1.4 Les différentes techniques biométriques ............................................................................. 4

1.4.1 L’analyse morphologique................................................................................................ 4

1.4.2 L’analyse comportementale ............................................................................................ 4

1.5 Architecture d’un système biométrique .............................................................................. 4

1.5.1 Module d’apprentissage .................................................................................................. 4

1.5.2 Module de reconnaissance .............................................................................................. 5

1.5.3 Module d’adaptation ....................................................................................................... 5

1.6 Evaluation de performance .................................................................................................. 6

1.7 Quelques technologies biométriques .................................................................................... 6

1.7.1 Les empreintes digitales .................................................................................................. 7

1.7.2 L’empreinte palmaire ...................................................................................................... 8

1.7.3 La voix .............................................................................................................................. 9

1.7.4 L’iris ................................................................................................................................. 9

1.7.5 La rétine ......................................................................................................................... 10

1.7.6 La signature ................................................................................................................... 11

1.7.7 Le visage ........................................................................................................................ 11

1.8 Conclusion ............................................................................................................................ 12

CHAPITRE 2 : LES TECHNIQUES DE DETECTION ET DE RECONNAISSANCE DU

VISAGE .......................................................................................................................................... 13

Page 5: MEMOIRE en vue de l’obtention du DIPLOME de Licence

iii

2.1 Introduction ......................................................................................................................... 13

2.2 Approche de la détection du visage ................................................................................... 13

2.2.1 Approches basées sur l’apparence ................................................................................ 13

2.2.2 Approches basées sur les connaissances acquises ....................................................... 14

2.2.3 Approches basées sur la Template matching ............................................................... 14

2.2.4 Approches basées sur des caractéristiques invariantes................................................ 15

2.2.4.1 Les méthodes basées sur les caractéristiques du visage .......................................... 15

2.2.4.2 Les méthodes basées sur la couleur de la peau ....................................................... 15

2.3 Le prétraitement .................................................................................................................. 16

2.3.1 Normalisation photométrique ....................................................................................... 16

2.3.2 La normalisation géométrique ...................................................................................... 16

2.4 Les principales difficultés de la reconnaissance du visage .............................................. 17

2.4.1 Changement d’illumination .......................................................................................... 17

2.4.2 Variation de pose ........................................................................................................... 17

2.4.3 Expressions faciales ...................................................................................................... 18

2.4.4 Présence ou absence des composantes structurels ....................................................... 18

2.4.5 Occultations partielles ................................................................................................... 19

2.5 Les algorithmes de reconnaissance du visage ................................................................... 19

2.5.1 Dimensionnalités de l’espace visage ............................................................................. 19

2.5.2 Analyse en Composantes Principales ........................................................................... 19

2.5.3 Analyse discriminante linéaire ..................................................................................... 20

2.5.4 Direct Fractional-step Linear Discriminative Analysis ............................................... 20

2.5.5 Analyse en composantes indépendantes ....................................................................... 21

2.5.6 Le réseau de neurones ................................................................................................... 21

2.5.7 Machine à vecteur de support ....................................................................................... 21

2.5.8 Modèle de Markov caché .............................................................................................. 22

Page 6: MEMOIRE en vue de l’obtention du DIPLOME de Licence

iv

2.5.9 Méthode basée sur l’apparence locale .......................................................................... 22

2.5.10 Template matching ...................................................................................................... 23

2.6 Conclusion ............................................................................................................................ 23

CHAPITRE 3 : LES RESEAUX DE NEURONES ARTIFICIELS ......................................... 24

3.1 Introduction ......................................................................................................................... 24

3.2 Définitions ............................................................................................................................ 24

3.3 Principes ............................................................................................................................... 24

3.4 Modélisation d’un neurone formel .................................................................................... 25

3.5 Architecture ......................................................................................................................... 27

3.6 Apprentissage des réseaux de neurones ............................................................................ 28

3.6.1 Apprentissage supervisé et renforcement ..................................................................... 28

3.6.2 Apprentissage non supervisé ou auto-organisationnel ................................................ 29

3.6.3 Apprentissage mode hybride ......................................................................................... 29

3.6.4 Règles d’apprentissages ................................................................................................ 30

3.6.4.1 Loi de Hebb ............................................................................................................. 30

3.6.4.2 Règle de Widrow-Hoff ............................................................................................ 31

3.6.4.3 Règle de correction d’erreurs .................................................................................. 32

3.6.4.4 Règle d’apprentissage par compétitions .................................................................. 33

3.7 Différents types de réseau de neurones artificiel .............................................................. 33

3.7.1 Réseaux feedforward ..................................................................................................... 33

3.7.1.1 Perceptron simple .................................................................................................... 33

3.7.1.2 Adaline .................................................................................................................... 35

3.7.1.3 Le Perceptron multicouches ou Multi-Layer Perceptron (MLP) ............................ 36

3.7.2 Réseaux récurrents ........................................................................................................ 37

3.7.2.1 Réseau de Kohonen ................................................................................................. 37

3.7.2.2 Réseau de Hopfield ................................................................................................. 37

Page 7: MEMOIRE en vue de l’obtention du DIPLOME de Licence

v

3.7.2.3 Les réseaux Adaptive Resonance Theory ............................................................... 38

3.8 Propriétés des réseaux de neurones ................................................................................... 38

3.9 Conclusion ............................................................................................................................ 39

CHAPITRE 4 : CONCEPTION ET REALISATION ............................................................... 40

4.1 Description de projet ........................................................................................................... 40

4.1.1 Présentation du projet ................................................................................................... 40

4.1.2 Spécification des besoins fonctionnels ......................................................................... 41

4.1.3 Spécification des besoins non fonctionnels .................................................................. 41

4.1.4 Objectifs du projet ......................................................................................................... 41

4.2 Outils de travail ................................................................................................................... 42

4.2.1 Matériel .......................................................................................................................... 42

4.2.2 Logiciels ......................................................................................................................... 42

4.2.2.1 EDI Netbeans .......................................................................................................... 42

4.2.2.2 JMerise .................................................................................................................... 43

4.2.2.3 MySQL .................................................................................................................... 43

4.2.3 Langage informatique ................................................................................................... 43

4.2.3.1 Java .......................................................................................................................... 43

4.2.3.2 SQL ......................................................................................................................... 43

4.2.4 Framework et Librairie ................................................................................................. 44

4.2.4.1 OpenCV ................................................................................................................... 44

4.2.4.2 JavaCV .................................................................................................................... 44

4.3 Conception ........................................................................................................................... 44

4.3.1 Algorithme de détection du visage ................................................................................ 44

4.3.2 Normalisations............................................................................................................... 45

4.3.3 Les réseaux de neurones artificiels dans la reconnaissance du visage ....................... 45

4.3.3.1 Prétraitement ........................................................................................................... 45

Page 8: MEMOIRE en vue de l’obtention du DIPLOME de Licence

vi

4.3.3.2 Architecture ............................................................................................................. 46

4.3.3.3 Fonction de transfert ................................................................................................ 49

4.3.3.4 Fonctionnement ....................................................................................................... 49

4.3.3.5 Apprentissage .......................................................................................................... 50

4.3.4 Présentation de MERISE .............................................................................................. 50

4.3.4.1 Modèle conceptuel de données ............................................................................... 51

4.3.4.2 Modèle logique de données ..................................................................................... 52

4.3.4.3 Modèle physique de donnée .................................................................................... 53

4.4 Réalisation ............................................................................................................................ 53

4.4.1 Présentation général de l’application ........................................................................... 54

4.4.2 Fonctionnalité de base .................................................................................................. 56

4.4.3 Fonctionnalité supplémentaire ..................................................................................... 61

4.5 Conclusion ............................................................................................................................ 64

CONCLUSION GENERALE ...................................................................................................... 65

ANNEXE 1 : NEURONE BIOLOGIQUE .................................................................................. 66

ANNEXE 2 : SCRIPT SQL POUR LA CREATION DE LA BASE DE DONNEES ............. 67

ANNEXE 3 : CONFIGURATION DE NETBEANS AVEC L’OPENCV ............................... 70

ANNEXE 4 : CONFIGURATION DU SERVEUR MYSQL SOUS CENTOS 7 .................... 71

BIBLIOGRAPHIE ........................................................................................................................ 72

FICHE DE RENSEIGNEMENTS ................................................................................................. 74

Page 9: MEMOIRE en vue de l’obtention du DIPLOME de Licence

vii

NOTATIONS

1. Minuscules latines

ai Valeur d’activation de neurone Ni

aj Valeur d’activation de neurone Nj

ek(t) Ecart

en Entrée du réseau

F Fonction d'activation

f(x) Fonction de transfert

H Hauteur de l’image en pixels

l Largeur de l'image en pixels

R Constante positive qui présente la force d’apprentissage

w1 Poids de connexions entre le neurone de la couche compétition et

celle de classification

w2 Poids de connexions entre le neurone de la couche classification

et celle de la sortie

wij Intensités des connexions entre la i-ième cellule d’entrée et la j-

ième cellule de sortie

wk Poids à l’instant k

xk Valeur de l’entrée avec laquelle le poids w st associé à l’instant k

2. Minuscules grecques

α facteur d’apprentissage

3. Majuscules grecques

Δwij Coefficient synaptique

∆_w R ̃_adaline (w) Approximation du gradient

Є(t) Pas du gradient

Θ Seuil

4. Abréviations

3D Trois Dimensions

ACP Analyse en Composantes Principales

Page 10: MEMOIRE en vue de l’obtention du DIPLOME de Licence

viii

ADALINE Adaptive Linear Element

ADN Acide Désoxyribonucléique

API Application Programming Interface

ART Adaptive Resonance Theory

CD-ROM Compact Disk Read Only Memory

CPU Central Procesor Unit

DF-LPA Direct Fractional-Step Linear Discriminative Analysis

FAR False Acceptance Rate

FLD Fisher Discriminating Linear

FRR False Rejection Rate

HMM Hidden Markov Model

HSL Hue-Saturation-Luminance

IBG International Biometric Group

ICA Independent Components Analysis

IHM Interface Homme Machine

JDK Java Development Kit

JPEG Joint Photographic Experts Group.

JVM Java Virtual Machine

LDA Linear Discriminative Analysis

MCD Modèle Conceptuel De Données

MERISE Méthode d’Etude et de Réalisation Informatique pour les

Systèmes d’Entreprise

MLD Modèle Logique De Données

MLP Multi-Layer Perceptron

MPD Modèle Physique De Données

OpenCV Open Computer Vision

OS Operating System

PCA Principal Components Analysis

pixel Picture Element

RAM Random Acces Memory

RGB Red-Green-Blue

RVB Rouge-Vert-Bleu

Page 11: MEMOIRE en vue de l’obtention du DIPLOME de Licence

ix

SGBDR Système de Gestion de Bases de Données Relationnelles

SVM Support Vector Machine

TSL Teinte-Saturation-Luminance

VQ Vector Quantifization

5. Notations spéciales

maxLoc Matrice maximale

minLoc Matrice minimale

maxval Matrice maximale de maxLoc

minval Matrice minimale de maxLoc

Page 12: MEMOIRE en vue de l’obtention du DIPLOME de Licence

1

INTRODUCTION GENERALE

Actuellement, l’informatisation est en pleine essor dans notre pays. On parle de plus en plus de la

numérisation dans les différents domaines. La mise en place des systèmes répondant à cette tendance

est en cours surtout dans les départements administratifs et stratégiques afin de diminuer le taux de

corruption et l’insécurité. Ces applications apparaissent dans notre vie quotidienne comme

l’utilisation de la carte puce, distributeur automatique de billet de banque. De plus, la conversion

de notre permis de conduire en biométrique est une réalité.

Le développement de système biométrique est une des recherches en essor dans le monde. La

progression de technologie numérique nous invite à réaliser un système capable d’identifier une

personne à partir de son propre aspect. Ces caractéristiques biométriques peuvent être les empreintes

digitales, empreintes palmaires, voix, rétine, iris, visage, signature.

Nous avons choisi la reconnaissance des visages comme moyen d’identification étant donné qu’elle

ne demande pas d’équipement d’acquisition très complexe. Ainsi, si nous rencontrons une personne,

notre cerveau va chercher dans notre mémoire et va vérifier si cette personne est répertoriée ou non.

En utilisant le réseau de neurone artificiel et l’algorithme « machine Learning », on doit réaliser un

système intelligent assimilable à ce mécanisme nerveux.

Ce mémoire s’intitule « Conception et réalisation d’un système biométrique basé sur la

reconnaissance du visage par réseaux de neurones artificiel ». Il est divisé en quatre parties.

Le premier chapitre se focalise sur la biométrie. Il illustre notamment sur ses généralités, marché

éventuelle, et ses aspects techniques.

Le second chapitre sera consacré aux techniques de détection et reconnaissance du visage, où seront

abordés la représentation des différentes approches pour la détection du visage, puis les phases de

prétraitement. Ensuite, les principales difficultés qu’on peut rencontrer lors de traitement. Enfin,

nous allons détaillées les différents algorithmes les utilisées pour reconnaître le visage.

Le troisième chapitre consiste à développer les réseaux de neurones artificiels, en commençant par

leur description pour passer à leurs différents types d’apprentissages. Puis, nous allons détailler ses

différents types en terminant leurs propriétés.

Le dernier chapitre concernera la conception et la réalisation d’une application permettant la

reconnaissance du visage.

Page 13: MEMOIRE en vue de l’obtention du DIPLOME de Licence

2

CHAPITRE 1

LA BIOMETRIE

1.1 Introduction

Depuis quelques années, les systèmes de biométries sont de plus en plus utilisés. On peut définir

la biométrie comme une technique d’identification d’un individu au moyen de ses caractéristiques

morphologiques [1]. Les caractéristiques sont choisies pour varier peu au cours de la vie de

l’individu et être différents d’un individu à un autre (même pour des jumeaux). Elle consiste en

l’analyse mathématique des caractéristiques biologiques d’une personne et a pour objectif de

déterminer son identité de manière irréfutable [2]. Grace à l’utilisation de l’ordinateur étant donné

sa capacité de traiter et de stocker des données, il nous est permis de créer des systèmes de

biométries informatisées. Le but de ce chapitre est de présenter le marché mondial de la biométrie

ainsi que les parts de marché par technologie, les différentes techniques biométriques puis son

architecture ainsi que ses différentes technologies.

1.2 Le marché mondial de la biométrie

A l’échelle mondiale, « International Biometric Group » (IBG) établie un rapport sur le marché de

la biométrie. Il analyse complètement des chiffres d’affaires, des tendances de croissance, et des

développements industriels pour le marché de la biométrie actuel et futur.

Il est essentiel de lire ce rapport pour des établissements déployant la technologie biométrique, les

investisseurs dans les entreprises biométriques, ou les développeurs de solutions biométriques. Le

chiffre d’affaires de l’industrie biométrique incluant les applications judiciaires et celles du secteur

public, se développe rapidement. On attribue une grande partie de la croissance au contrôle d’accès

aux systèmes d’information (Ordinateur/réseau) et au commerce électronique, même si les

applications du secteur public continuent à être une partie essentielle de l’industrie.

On prévoit que le chiffre d’affaires des marchés émergents (accès aux systèmes d’information,

téléphonie, accès physique, commerce électronique et surveillance) dépasse le chiffre d’affaires des

secteurs plus matures (identification criminelle et identification des citoyens) [3].

Page 14: MEMOIRE en vue de l’obtention du DIPLOME de Licence

3

Figure 1.01 : Evolution du marché international de la biométrie

1.3 Les parts de marché par technologie

La principale technologie biométrique en termes de part de marché est les empreintes digitales : près

de 50% du chiffre d’affaires total (hors applications judiciaires). Ainsi, la reconnaissance du visage,

avec 12 % du marché (hors applications judiciaires), dépasse les empreintes palmaires, qui avaient

avant la deuxième place en termes de source de revenus après les empreintes digitales [4].

Figure 1.02 : Parts de marché des différentes méthodes biométriques

Page 15: MEMOIRE en vue de l’obtention du DIPLOME de Licence

4

1.4 Les différentes techniques biométriques

Dans les applications et secteurs, il existe plusieurs techniques biométriques utilisées, mais on peut

en distinguer en deux catégories :

L’analyse morphologique

L’analyse comportementale

1.4.1 L’analyse morphologique

Elle est basée sur l’identification de traits physiques particuliers qui, pour toute personne, sont

uniques et permanents. Elle regroupe l’iris de l’œil, le réseau veineux de la rétine, les empreintes

digitales, les empreintes palmaires, les traits du visage, etc…

1.4.2 L’analyse comportementale

Elle se base sur l’analyse de certains comportements d’une personne. Elle regroupe la

reconnaissance vocale, la dynamique de frappe au clavier, la dynamique de la signature, etc…Par

ailleurs, il existe une autre catégorie qui est l’étude des traces biologiques telles que : l’ADN, le

sang, l’urine, la salive, etc...

1.5 Architecture d’un système biométrique

Dans un système biométrique, il existe toujours au moins deux modules :

Le module d’apprentissage

Le module de reconnaissance

Ainsi, le troisième module est le module d’adaptation. Pendant l’apprentissage, le système va

acquérir une ou plusieurs mesures biométriques afin de construire un modèle de l’individu. De ce

fait, ce modèle de référence servira de point de comparaison lors de la reconnaissance. Grace au

module d’adaptation, le modèle pourra être réévalué après chaque utilisation [5].

1.5.1 Module d’apprentissage

Au cours de l’apprentissage, plusieurs campagnes d’acquisitions de données peuvent être réalisées

afin d’assurer une certaine robustesse au système de reconnaissance aux variations temporelles des

données. De ce fait, les caractéristiques biométriques des individus sont saisies par un capteur

biométrique, puis représentées sous forme numérique (signature). En effet, ce modèle permet de

faciliter la phase de reconnaissance, et de diminuer la quantité de données à stocker.

Page 16: MEMOIRE en vue de l’obtention du DIPLOME de Licence

5

Les performances du système sont grandement influencées par la qualité du capteur. Pour remédier

à ces problèmes, il est nécessaire d’effectuer un prétraitement afin d’extraire les paramètres du

signal. Cependant, les capteurs de qualité sont en général coûteux et leur utilisation est donc limitée

à des applications de haute sécurité pour un public restreint.

1.5.2 Module de reconnaissance

Au cours de la reconnaissance, on mesure la caractéristique biométrique puis on extraire un

ensemble de paramètres comme lors de l’apprentissage. En effet, on utilise un capteur qui possède

des propriétés aussi proches que du capteur utilisé durant la phase d’apprentissage. De ce fait, il

faut appliquer une série de prétraitement pour limiter la dégradation des performances. Ainsi, on

distingue deux modes opératoires pour la suite de la reconnaissance :

En mode identification : l’identité de la personne est devinée par le système. De ce fait, il

répond donc à une question de type : « Qui suis-je ? ». Ainsi, le système compare le signal

mesuré avec les différents modelés contenus dans la base des données. En effet, on parle de

l’identification alors qu’on suppose que toute la personne qui l’utilise possède un modèle

dans la base de données [6].

En mode vérification : le système doit répondre à une question de type : « Suis-je bien la

personne que je prétends être ? ». Le système doit vérifier que l’identité de l’individu est

bien celle proposée par l’utilisateur. En effet, il suffit alors de comparer le signal avec un

seul des modèles présents dans la base de données. Ainsi, on suppose qu’un individu qui n’a

pas de modèle dans la base de données (imposteur) peut chercher à être reconnu si bien

qu’on parle de problème de système ouvert.

1.5.3 Module d’adaptation

Pendant la phase de l’apprentissage, on ne capture que quelques instances d’un même attribut pour

limiter la gêne pour l’utilisateur. En effet, il est difficile de construire un modèle assez général

capable de décrire toutes les variations possibles de cet attribut. Ainsi, les caractéristiques de cette

biométrie ainsi que ses conditions d’acquisition peuvent varier. Alors, il est nécessaire déployer

l’adaptation pour maintenir voire améliorer la performance du système utilisation après utilisation.

De plus, l’adaptation peut se faire en deux modes : en mode supervisé ou non-supervisé. De ce fait,

il est préférable d’utiliser le mode supervisé puisque le second mode est de loin de plus utile en

pratique.

Page 17: MEMOIRE en vue de l’obtention du DIPLOME de Licence

6

Si le module de reconnaissance identifie un utilisateur, les paramètres extraits du signal serviront

alors à ré-estimer son modèle. En plus, le taux d’adaptation dépend de performance du module de

reconnaissance dans l’identité de l’utilisateur.

Il faut bien noter que l’adaptation est quasi indispensable pour les caractéristiques non permanentes

comme la voix [6].

1.6 Evaluation de performance

Principalement, on peut mesurer la performance d’un système d’identification à l’aide de trois

critères : sa précision, son efficacité (temps de réponse), et le volume de données qui doit être stocké

pour chaque locuteur. Comme nous l’avons vu précédemment, l’identification et la vérification sont

des modes opératoires différents. Alors, elles nécessitent des mesures de précision différentes qu’on

va développer ci-dessous :

Evaluation de l’identification : le plus souvent, on utilise le taux d’identification pour la

mesure même s’il n’est pas toujours suffisant. Effet, en cas d’erreur, il peut être utile de

savoir si le bon choix se trouve dans les N premiers puis on trace le score cumulé qui

représente la probabilité que le bon choix se trouve parmi les N premiers. Ainsi, dans le cas

où il existe plusieurs modèles pour chaque individu dans la base de données, on peut utiliser

les mesures classiques des systèmes de recherche dans la base de données. De plus, la

précision est le rapport entre le nombre de modèles correctement retrouvés par le système

dans la base de données et le nombre total de modèles retrouvés. Tandis que, le rappel est le

rapport entre le nombre de modèles correctement retrouvé dans la base de données et le

nombre total de modèles qui auraient dû être retrouvées.

Evaluation de la vérification : on y peut rencontrer deux types d’erreurs : il peut rejeter un

utilisateur légitime c’est le faux rejet ; par contre, il peut aussi accepter un imposteur c’est

la fausse acceptation. Alors, la performance d’un système se mesure à son taux de faux rejet

(False Rejection Rate ou FRR) et à son taux de fausse acceptation (False Acceptance Rate

ou FAR) [7].

1.7 Quelques technologies biométriques

Il n’existe plus de biométrie unique qui pouvait répondre efficacement aux besoins de toutes les

applications. Ainsi, on propose, analyse et évalue un certain nombre de techniques biométriques.

De plus, chaque biométrie à ses avantages et ses limites si bien que chaque biométrie est utilisée

Page 18: MEMOIRE en vue de l’obtention du DIPLOME de Licence

7

dans une application particulière. Alors, pour les caractéristiques physiques, on utilise la

reconnaissance du visage, les empreintes digitales, les empreintes palmaires, la rétine et l’iris. Et

puis, pour les caractéristiques comportementales, on utilise les biométries basées sur la voix et la

signature.

Par ailleurs, il existe d’autres biométriques basées sur les veines de la main, l’ADN, l’odeur

corporelle, la forme de l’oreille, la forme des lèvres, le rythme de frappe sur un clavier, la démarche,

qui ne sera pas développées dans ce chapitre.

1.7.1 Les empreintes digitales

Les empreintes digitales sont les caractéristiques biométriques les plus communément utilisées pour

la reconnaissance de criminels. Le premier système automatique d'authentification utilisant les

empreintes digitales a été commercialisé au début des années soixante.

Elles sont composées de lignes localement parallèles présentant des points singuliers (minuties) et

constituent un motif unique, universel et permanent. Pour obtenir une image de l’empreinte d’un

doigt, les avancées technologiques ont permis d’automatiser la tâche au moyen de capteurs intégrés,

mais on remplace par l’encre et du papier pour l’utilisation pratique. Selon différents mécanismes

de mesure (pression, champ électrique, température), ces capteurs permettent de mesurer

l’empreinte d’un doigt fixe positionné sur ce dernier (capteur matriciel) ou en mouvement (capteurs

à balayage) [8].

A l’aide d’un lecteur d’empreinte digitale, on capture l’image d’empreinte d’un individu et puis, on

extraire les caractéristiques de l’image puis un modèle est créé. Si on suive des précautions

appropriées, on obtiendra un résultat moyen très précis d’authentification.

On peut classer en deux catégories les techniques d’apparient des empreintes digitales :

Les techniques basées sur la détection locale des minuties : ils consistent à trouver les points

de minuties puis trace leurs emplacements sur l’image du doigt. Cependant, il y a quelques

difficultés avec cette approche lorsque l’image d’empreinte digitale est d’une qualité

médiocre étant donné que l’extraction précise des points de minutie est difficile. Cette

méthode ne tient pas compte la structure globale de crêtes et de sillons.

Les techniques basées sur la corrélation : Elles sont capables de surmonter les problèmes de

l’approche fondée sur les minuties. On y utilise la structure globale de l’empreinte, mais les

résultats sont moins précis qu’avec les minuties. De plus, Elles sont affectées par la

translation et rotation de l’image de l’empreinte.

Page 19: MEMOIRE en vue de l’obtention du DIPLOME de Licence

8

En général, on combine les deux approches pour augmenter les performances du système.

Figure 1.03 : Le processus pour la reconnaissance par empreinte digitale.

1.7.2 L’empreinte palmaire

L’empreinte palmaire est une technologie biométrique récente. Elle consiste à capturer une image

en 3D de la main afin d’en extraire plusieurs dizaines de points prenant en compte la largeur, la

longueur, la forme des doigts, etc…

Ce sont généralement des capteurs infrarouges qui sont utilisés et qui photographiquement sous

deux angles différents afin d’obtenir une image en trois dimensions (3D). Les mesures effectuées

sont peu encombrantes et le contrôle peut se faire sans contact.

Malgré sa bonne acceptation générale, elle présente quelques inconvénients : elle est moins

discriminante que les techniques précédentes et la forme de la main évolue avec le temps ou

certaines maladies.

Les capteurs sont plus encombrants que les empreintes digitales. Pour sécuriser encore le processus

d’authentification, cette technique peut être couplée avec la capture du réseau veineux de la main

qui peut être cartographié à l’aide d’une caméra infrarouge [9].

Figure 1.04 : Scanneur pour l’empreinte palmaire

Page 20: MEMOIRE en vue de l’obtention du DIPLOME de Licence

9

1.7.3 La voix

De tous les traits humains dans la biométrie, la voix est celle que les humains apprennent à

reconnaître dès le plus jeune âge. On peut classer en deux catégories les systèmes de reconnaissance

de locuteur :

Les systèmes dépendant du texte prononcé : l’utilisateur est tenu d’utiliser un texte (mot ou

une phrase) fixe prédéterminé au cours des séances d’apprentissage et de reconnaissance.

Les systèmes indépendants du texte : ils sont le plus difficile puisque le locuteur parle

librement sans texte prédéfini mais elles sont utiles dans le cas où l’on a besoin de

reconnaître un locuteur sans sa coopération.

La recherche sur la reconnaissance de locuteur est en pleine croissance étant donné qu’elle ne

nécessite pas de matériel cher, puisque la plupart des ordinateurs personnels de nos jours sont déjà

équipés d’un microphone. Toutefois, le bruit doit être influencé la vérification et par suite réduire

son utilisation dans les systèmes biométriques.

Dans un système de reconnaissance de locuteur, on mesure premièrement le signal puis on le

décompose en en plusieurs canaux de fréquences passe-bande. Ensuite, on extraire les

caractéristiques importantes du signal vocal de chaque bande. Parmi ses différentes caractéristiques,

on utilise les coefficients Cepstraux. Ils sont obtenus par le logarithme de la transformée de Fourier

du signal vocal dans chaque bande. De plus, la mise en correspondance des coefficients Cepstraux

permet de reconnaître la voix. En général, on fait appel à des approches fondées sur les modèles de

Markov cachés, la quantification vectorielle, ou la déformation temps dynamique [10].

1.7.4 L’iris

L’utilisation de l’iris comme caractéristique biométrique unique de l’homme a donné lieu à une

technologie d’identification fiable et extrêmement précise. L’iris est la région, sous forme d’anneau,

située entre la pupille et le blanc de l’œil, il est unique. Il a une structure extraordinaire et offre de

nombreuses caractéristiques de texture qui ont uniques pour chaque individu.

De ce fait, les algorithmes utilisés dans la reconnaissance de l’iris sont si précis même si la planète

toute entière pourrait être inscrite dans une base de données de l’iris avec peu d’erreurs

d’identifications.

En général, on capture ‘image de l’iris à l’aide d’une caméra standard. En effet, cette étape de

capture implique une coopération de l’individu. En plus, on connait plusieurs contraintes liées à

l’utilisation de cette technologie comme la distance entre l’individu et le capteur [11].

Page 21: MEMOIRE en vue de l’obtention du DIPLOME de Licence

10

Figure 1.05 : Une photo d’iris

1.7.5 La rétine

La rétine est la pellicule photosensible située au fond de l’œil. Cette technique utilise les dessins

formés par les vaisseaux sanguins de la rétine unique pour chaque individu et assez stable durant la

vie de la personne. Cette mesure biométrique est plus ancienne que celle utilisant l'iris, mais elle a

été moins bien acceptée par le public et les utilisateurs, sans doute à cause de son caractère trop

contraignant : la mesure doit s'effectuer à très faible distance du capteur (quelques centimètres), qui

effectue ensuite un balayage de la rétine. Il est physiquement impossible d'effectuer une mesure

rétinienne à une distance de 30 cm ou plus sur un sujet mobile. Cette méthode requiert des sujets

coopératifs et entrainés.

Pourtant cette technique semble être tout aussi fiable que celle de l’iris ; elle se base sur le fait que

le schéma et le dessin formé par les vaisseaux sanguins de la rétine (la paroi interne et opposée de

l'œil) est unique pour chaque individu, différent entre jumeaux et assez stable durant la vie de la

personne. La mesure peut ainsi fournir jusqu'à 400 points caractéristique du sujet, que l'on peut

comparer aux 30 à 40 points fournis par une empreinte digitale. Puis, la mesure rétinienne est la

plus difficile à utiliser, mais également la plus dure à contrefaire [4].

Figure 1.06 : Photographies des deux rétines d’un individu

Page 22: MEMOIRE en vue de l’obtention du DIPLOME de Licence

11

1.7.6 La signature

Le plus souvent, on utilise la signature pour vérifier ou identifier quelqu’un. Ainsi, la vérification

de la signature analyse la façon dont un utilisateur signe son nom. En effet, les plus importantes sont

les caractéristiques dynamiques de la signature comme la vitesse et la pression par rapport à sa

forme géométrique.

Il existe deux approches pour vérifier la signature statique et dynamique :

Dans la vérification de signature statique : on utilise seulement sa forme géométrique pour

authentifier une personne. Ainsi, la signature et normalisée à la taille connue puis

décomposée en éléments simples.

Dans la vérification de signature dynamique : elle utilise, en plus de la forme géométrique,

les caractéristiques dynamiques telles que l’accélération, la vitesse et les profils de trajectoire

de la signature.

Il est à noter que la signature est une biométrie comportementale, elle évolue dans le temps et

est influencée par les conditions physiques et émotionnelles de la personne [12].

1.7.7 Le visage

Nos visages sont des objets complexes avec des traits qui peuvent varier dans le temps. De plus, les

humains ont une capacité naturelle à reconnaître les visages ainsi que d’identifier les personnes.

Cependant, cette aptitude naturelle n’existe pas dans les ordinateurs. C’est ainsi qu’est né le besoin

de simuler artificiellement la reconnaissance pour créer des systèmes intelligents autonomes. Tout

au long de notre vie, de nombreux visages sont vus et conservés dans nos mémoires en forment une

sorte de base de données.

La reconnaissance du visage par ordinateur nécessite une base de données qui est habituellement

construite en utilisant des images du visage ou parfois des images différentes d’une même personne

pour tenir comptent des variations dans les traits du visage. Actuellement, les systèmes de

reconnaissance du visage sont composés d’un module d’acquisition d’images avec une caméra.

Ainsi, on procède à une détection du visage dans l’image acquise. Ensuite, on normalise l’image du

visage détectée pour être transmise au module de reconnaissance qui va la traiter en utilisant des

algorithmes afin d’extraire une signature du visage.

A l’aide d’un classificateur, on compare cette signature avec les signatures déjà existantes dans une

base de données locale afin d’identifier l’individu en question. Durant la dernière décennie de

recherche, la performance des systèmes de reconnaissance du visage s’est grandement améliorée ;

Page 23: MEMOIRE en vue de l’obtention du DIPLOME de Licence

12

par contre, les résultats sont encore loin d’être parfaits. Ces systèmes sont très sensibles aux

variations d’illumination et de pose.

1.8 Conclusion

Ceux qui précèdent consistent à faire une représentation de la biométrie qui est une technique

d’identification d’un individu au moyen de ses caractéristiques morphologiques. Ainsi, on a pu aussi

voir les différentes techniques biométriques. Puis on a vu l’architecture de base d’un système

biométrique, puis quelques technologies biométriques le plus connus. En particulier, les systèmes

biométriques basées sur la reconnaissance du visage nécessitent des différentes étapes. Dans ce qui

suit nous allons détailler les techniques de détection et la reconnaissance du visage.

Page 24: MEMOIRE en vue de l’obtention du DIPLOME de Licence

13

CHAPITRE 2

LES TECHNIQUES DE DETECTION ET DE RECONNAISSANCE DU VISAGE

2.1 Introduction

Les systèmes biométriques basés sur la reconnaissance du visage, se décomposent en trois sous-

systèmes : détection, extraction des caractéristiques et reconnaissance. Ainsi, Sa mise en œuvre ne

pourrait jamais devenir intégralement automatique s’il n’a pas été précédé par une étape de

détection efficace. En effet, la détection du visage dans les images est un traitement indispensable

et crucial avant la phase de reconnaissance. Nous allons détailler quelques techniques de détections

du visage puis les difficultés rencontrés lors de la reconnaissance du visage ainsi que des algorithmes

différents.

2.2 Approche de la détection du visage

La détection du visage est la première étape dans le processus de reconnaissance du visage. En effet,

son efficacité a une influence directe sur les performances du système. De ce fait, il existe plusieurs

méthodes pour la détection du visage comme : la couleur de la peau, la forme de la tête, l’apparence

faciale.

On peut subdiviser en quatre catégories ces méthodes [13] :

Approches basées sur l’apparence

Approches basées sur des reconnaissances acquises

Approches basées sur la template matching

Approches basées sur des caractéristiques invariantes

Approches basées sur l’analyse de la couleur de la peau

2.2.1 Approches basées sur l’apparence

Généralement, ces approches appliquent des techniques d’apprentissage automatique. Ainsi, c’est à

partir d’un ensemble d’images représentatives de la variabilité de l’aspect facial qu’on apprit les

modèles. En effet, on emploie ces modèles pour la détection. De ce fait, on considère que son

problème est celle de la classification (visage, non-visage). Et puis, une des approches le plus connue

est l’Eigenface. Elle consiste à projeter l’image dans un espace et à calculer la distance euclidienne

entre l’image et sa projection. En effet, en codant l’image dans un espace, on dégrade l’information

contenue dans l’image, puis on calcule la perte d’information entre l’image et sa projection. Si cette

Page 25: MEMOIRE en vue de l’obtention du DIPLOME de Licence

14

perte d’information est grande, l’image n’est pas correctement représentée dans l’espace : elle ne

contient pas du visage.

Cette méthode donne des résultats assez encourageants, même si le temps de calcul est très

important.

2.2.2 Approches basées sur les connaissances acquises

Ils s’intéressent aux caractéristiques du visage comme le nez, la bouche et les yeux. Elle est conçue

principalement pour la localisation du visage. On utilise une méthode à base des règles. Ainsi, les

caractéristiques du visage sont localisées à l’aide de la méthode de projection proposée par Kanade

afin de détecter le contour d’un visage [14]. Soit I(x,y) l’intensité de la luminance du pixel (x,y) de

l’image de dimension ℎ × �, les projection horizontale et verticale de cette image sont définies par

l’équation suivante :

HI(x) = � I(x, y)�

��� (2.01)

VI(x) = � I(x, y)�

��� (2.02)

On calcule en premier le profil horizontal de l’image originale. Ainsi, on détermine les deux

minimas locaux qui correspondent aux bords gauche et droit du visage. Ensuite, le profil vertical est

à son tour calculé. Les minimas locaux de ce profil vertical correspondent aux positions de la

bouche, du nez et des yeux. Son inconvénient est qu’elle n’arrive pas à détecter le visage lorsque ce

dernier se trouve sur un arrière-plan complexe.

2.2.3 Approches basées sur la Template matching

On peut définir les templates soit manuellement, soit paramétrés à l’aide de fonctions. Elles

consistent à calculer la corrélation entre l’image candidate et le template. On y rencontre encore

quelques problèmes de robustesse liés aux variations de lumière, d’échelle. On utilise un ensemble

d’invariants décrivant un modèle du visage afin de déterminer les invariants aux changements de

luminosité. Ainsi, son algorithme consiste à calculer les rapports de luminance ente les régions du

visage et retient les directions de ces rapports. Certes, pour détecter les caractéristiques faciales, on

utilise, pour chaque région extraite, un détecteur approprié Brunelli [15]. En effet, il s’inspire à la

méthode de Kanade, décrite dans le paragraphe 2.2.2.

Certes, la recherche est une fois encore limitée à la fenêtre d’intérêt, juste au-dessus des yeux. Puis,

les sourcils sont trouvés en utilisant la carte du gradient vertical. Le détecteur du sourcil cherche les

pairs de pics du gradient ayant des directions opposées.

Page 26: MEMOIRE en vue de l’obtention du DIPLOME de Licence

15

2.2.4 Approches basées sur des caractéristiques invariantes

Bien que la pose, le point de vue ou la condition d’éclairage changent, les algorithmes développés

visent à trouver les caractéristiques structurales existantes. Ainsi, ils emploient ces caractéristiques

invariables afin de localiser le visage.

On peut citer deux familles de méthodes appartenant à cette approche :

Les méthodes basées sur les caractéristiques du visage

Les méthodes basées sur la couleur de la peau

2.2.4.1 Les méthodes basées sur les caractéristiques du visage

Ces algorithmes utilisent généralement une hypothèse sur la position du haut du visage ainsi que

l’algorithme de recherche parcourt le visage de haut en bas afin de trouver l’axe des yeux caractérisé

par une augmentation soudaine de la densité de contours (mesurée par le rapport noir/blanc le long

des plans horizontaux). Alors, on utilise la longueur entre le haut du visage et le plan de l’œil comme

une longueur de référence afin de construire un « template » facial flexible.

Cependant, ils n’arrivent pas à détecter correctement ces caractéristiques si l’image du visage

contient des lunettes ou bien si les cheveux couvrent le front même si ces algorithmes réussissent à

détecter les caractéristiques d’ethnies différentes étant donné qu’ils ne se basent pas sur les

informations de niveaux de gris et de couleur [16].

2.2.4.2 Les méthodes basées sur la couleur de la peau

Elles sont des méthodes efficaces et rapides. De plus, elles réduisent l’espace de recherche de la

région visage dans l’image. Et puis, la couleur de la peau est une information robuste face aux

rotations, aux changements d’échelle et aux occultations partielles. Pour détecter les pixels qui ont

la couleur de la peau dans l’image, plusieurs espaces couleur peuvent être utilisés. De ce fait,

l’efficacité de la détection dépend essentiellement de l’espace couleur choisi.

Cependant, les espaces couleur les plus utilisées sont :

L’espace RGB (Red-Green-Bleu) : Il consiste à représenter l’espace des couleurs à partir de

trois rayonnements monochromatiques de couleurs : Rouge-Vert-Bleu (RVB).

L’espace HSL (Hue, Saturation, luminance), appelé aussi TSL (Teinte, Saturation,

luminance) en Français. Il est proche de la perception physiologique de la couleur par l’œil

humain.

Page 27: MEMOIRE en vue de l’obtention du DIPLOME de Licence

16

2.3 Le prétraitement

Après la phase de détection, on poursuit à la phase de prétraitement. Cependant, on prépare l’image

du visage de telle sorte qu’on exploite dans la phase d’enrôlement. En effet, on l’appelle aussi phase

de normalisation puisqu’elle ramène à un format prédéfini toutes les images extraites de l’image

brute. En générale, elle consiste en un centrage du visage dans l’image et une élimination des zones

non informatives.

Il est important que toutes les images soient de taille identique, à la même échelle et au même format

concernant les couleurs afin de garantir la bonne performance du système. Par conséquent, la qualité

de fonctionnement de l’étape d’extraction de signature est incontestablement améliorée.

Elle est constituée de deux processus :

Normalisation photométrique.

Normalisation géométrique.

2.3.1 Normalisation photométrique

Dans le système de reconnaissance du visage, on y présente un certain nombre de méthodes de

normalisation de l’illumination. Ainsi, on peut classer ces méthodes en deux grandes catégories :

Les méthodes basées sur la modification de la dynamique.

Les méthodes basées sur l’estimation de la réflectance de l’image.

Ensuite, on présente ci-dessous quatre normalisations les plus utilisées dans la reconnaissance du

visage qui font partie de ces deux catégories cité ci-dessus. Il s’agit de [7] :

L’égalisation d’histogramme : elle consiste à répartir uniformément les niveaux de gris de

l’image afin d’améliorer son contraste.

La correction Gamma : elle permet de réduire l’écart entre les zones sombres et claires du

visage par une transformation non linéaire de niveaux de gris.

Le MultiScale-Retinex : il permet d’estimer la partie luminance de l’image afin de réduire

la réflectance.

Le lissage : il estime aussi la luminance de l’image bien qu’en se basant sur l’anisotropie de

reconnaissance.

2.3.2 La normalisation géométrique

La normalisation géométrique des images du visage est un point non négligeable, il utilise un

algorithme de reconnaissance basée sur la réduction de l’espace. Elle consiste à extraire la zone du

Page 28: MEMOIRE en vue de l’obtention du DIPLOME de Licence

17

visage de l’image originale, ensuite une rotation du visage est effectuée afin d’aligner l’axe des yeux

avec l’axe horizontale. Et puis, une réduction proportionnelle à la distance entre les centres des deux

yeux est appliquée. Enfin, on obtient une image du visage dont la distance entre les centres des yeux

est fixe. Cependant, les dimensions de l’image du visage sont calculées à partir de la distance à

obtenir entre les centres des deux yeux.

2.4 Les principales difficultés de la reconnaissance du visage

Etant humain, le processus de la reconnaissance du visage est une tâche visuelle de haut niveau.

Ainsi, construire un système automatique qui accomplit de telles tâches représente un sérieux défi

même si les êtres humains puissent détecter et identifier des visages. De plus, si les conditions

d’acquisition des images sont très variables, ce défi est d’autant plus grand.

Ensuite, on peut distinguer deux types de variations associées aux images du visage :

Variation inter-sujet : elle est limitée à cause de la ressemblance physique entre les

individus.

Variation intra-sujet : elle est plus vaste et peut être attribuée à plusieurs facteurs que nous

allons développer ci-dessous.

2.4.1 Changement d’illumination

L’apparence d’un visage dans une image varie en fonction de l’illumination de la scène lors de la

prise de vue. De plus, les variations d’éclairage compliquent la tâche de reconnaissance du visage.

En effet, le changement d’apparence d’un visage dû à l’illumination, se relève parfois plus critique

que la différence physique entre les individus, et peut entraîner une mauvaise classification des

images d’entrée.

Figure 2.01 : Exemple de variation d’éclairage.

2.4.2 Variation de pose

Quand elles sont présentes dans les images, le taux de reconnaissance du visage baisse

considérablement. Ainsi, elle est considérée comme un problème majeur pour les systèmes de

Page 29: MEMOIRE en vue de l’obtention du DIPLOME de Licence

18

reconnaissance faciale. Cependant, il peut être normalisé en détectant au moins deux traits faciaux

quand le visage est de profil dans le plan image (orientation est inférieure à 30°). De ce fait, la

normalisation géométrique n’est plus possible si la rotation est supérieure à 30°.

Figure 2.02 : Exemple de variation de pose.

2.4.3 Expressions faciales

On localise principalement sur la partie inférieure du visage, la déformation du visage due aux

expressions faciales. Ainsi, l’information faciale se situant dans la partie supérieure du visage reste

quasi invariable. En général, elle est suffisante pour effectuer une identification. Toutefois, elle

entraîne forcément une diminution du taux de reconnaissance étant donné que l’expression faciale

modifie l’aspect du visage. Avec l’expression faciale, l’identification du visage est un problème

difficile qui reste non résolu. Pour résoudre ce problème, on peut utiliser l’information temporelle

qui fournit une connaissance additionnelle significative [17].

Figure 2.03 : Exemple de variation d’expressions faciales

2.4.4 Présence ou absence des composantes structurels

La présence des composants structurels telle que la barbe, la moustache, ou bien les lunettes peut

modifier énormément les caractéristiques faciales telles que la forme, la couleur, ou la taille du

visage. De plus, ces composants peuvent cacher les caractéristiques faciales de base causant ainsi

une défaillance du système de reconnaissance. Par exemple, des lunettes opaques ne permettent pas

de bien distinguer la forme et la couleur des yeux, et une moustache ou une barbe modifie la forme

du visage.

Page 30: MEMOIRE en vue de l’obtention du DIPLOME de Licence

19

2.4.5 Occultations partielles

Le visage peut être partiellement masqué par des objets dans la scène, ou par le port d’accessoire

tels que lunettes, écharpe... Dans le contexte de la biométrie, les systèmes proposés doivent être non

intrusifs c’est-à-dire qu’on ne doit pas compter sur une coopération active du sujet. En effet, il est

important de savoir reconnaître des visages partiellement occultés.

2.5 Les algorithmes de reconnaissance du visage

Dans un système biométrique basé sur la reconnaissance du visage, la phase le plus important, c’est

la phase de la reconnaissance. En effet, il existe plusieurs variantes d’algorithmes pour la

reconnaissance du visage :

2.5.1 Dimensionnalités de l’espace visage

Une image du visage est un signal à deux dimension, acquis par un capteur digital (caméra,

numérique, scanner…). La couleur ou l’intensité des différents points de l’image est codé par ce

capteur dans une matrice de pixels à deux dimensions. Après une normalisation, l’image du visage

peut être considérée comme un vecteur dans un espace multidimensionnel. On met les éléments de

la matrice des pixels dans un ordre fixe puis on obtient ce vecteur. En effet, on doit spécifier une

valeur pour chaque pixel de cette image afin de définir une image (ou un point) dans l’espace des

images. Par conséquent, le nombre de points constituant cet espace devient rapidement très grand,

même pour les images de petite dimension.

Le visage est formé par des surfaces lisses et une texture régulière. Il possède une forte symétrie et

il est formé à partir de mêmes objets (yeux, nez et bouche), qui ont les mêmes positions pour tous

les visages. Cependant, on peut déduire que les visages forment une classe particulière dans l’espace

des images. Alors, l’ensemble des images du visage forment un sous-espace de l’espace des images.

2.5.2 Analyse en Composantes Principales

L’Analyse en Composantes Principales (ACP) ou Principal Components Analysis (PCA) en

Anglais, est une méthode mathématique qui peut être utilisée pour simplifier un ensemble de

données, en réduisant sa dimension.

Elle est utilisée pour représenter efficacement les images du visage, qui peuvent être

approximativement reconstruites à partir d’un petit ensemble de poids et d’une image du visage

standard. Ainsi, ces poids sont obtenus en projetant l’image dans un espace du visage engendré par

les visages propres. De plus, on stocke un vecteur de taille inférieure ou égale au nombre d’image

Page 31: MEMOIRE en vue de l’obtention du DIPLOME de Licence

20

d’apprentissage. Puis, la résolution d’une vectrice image est très grande par rapport à ce dernier.

Dans l’approche ACP, la normalisation d’éclairage est toujours indispensable. Les visages propres

sont des images de la même taille que les images d’apprentissage et qui montrent des visages ayant

un aspect fantomatique. Mathématiquement, elles sont les composantes principales de la distribution

des visages, ou les vecteurs propres de la matrice de covariance de l’ensemble des images du visage.

Chaque image du visage de l’ensemble d’apprentissage peut être exactement représentée en termes

de combinaison linéaire des Eigenfaces et du visage moyen.

2.5.3 Analyse discriminante linéaire

L’analyse discriminante linéaire ou « Linear Discriminative Analysis » (LDA) en Anglais et les

discriminants linéaires de Fisher relatifs ou « Fisher Discriminating Linear » (FLD) en Anglais, sont

utilisés pour trouver la combinaison linéaire des caractéristiques qui séparent le mieux les classes

d’objet ou d’événement.

Les combinaisons résultantes peuvent être employées comme classificateur linéaire, ou

généralement dans la réduction de caractéristiques avant la classification postérieure.

LDA est étroitement lié à l’ACP (que l’on a été développé dans le paragraphe ci-dessus), du fait que

tous les deux recherchent des combinaisons linéaires des variables qui représentent aux mieux les

données. LDA essaye explicitement de modeler la différence entre les classes des données. Tandis

que le PCA ne tient pas compte des différences entre les classes.

Ensuite, chaque visage, qui se compose d’un grand nombre de pixel, est réduit à un plus petit

ensemble de combinaisons linéaires avant la classification. Puis, chacune des nouvelles dimensions

est une combinaison linéaire des valeurs de pixel, qui forment un Template. Les combinaisons

linéaires obtenues en utilisant FLD s’appellent les Fisherfaces, en analogie avec les Eigenfaces. De

plus, LDA est une technique qui cherche les directions qui sont efficaces pour la discrimination

entre les données.

2.5.4 Direct Fractional-step Linear Discriminative Analysis

Il est conçu pour résoudre les différentes imperfections de LPA. Ainsi, l’algorithme Direct

Fractional-step Linear Discriminative Analysis ou DF-LPA offre des performances supérieures à

celles des techniques de reconnaissance du visage classique.

Pour le DF-LPA, la phase de reconnaissance se déroule comme le suivant. Tout d’abord, on procède

à l’acquisition et la lecture des images d’apprentissage. Puis, on normaliser les images afin de

calculer le visage moyen ainsi que pour toutes les classes. Ensuite, on soustrait les visages

Page 32: MEMOIRE en vue de l’obtention du DIPLOME de Licence

21

d’apprentissage pour construire les scatter matrices (une matrice par classe). Finalement, il s’agit de

calculer la within-class scatter matrix et la weighted between-class scatter matrix

2.5.5 Analyse en composantes indépendantes

L’analyse en composantes indépendantes ou « Independent Components Analysis » (ICA) en

Anglais, est une généralisation de PCA qui utilise en plus des statistiques d’ordre 2, les statistiques

d’ordre plus supérieur, ce qui peut produire une représentation de données plus puissante.

Il permet de trouver des vecteurs de base (images de base) localisés dans l’espace et qui sont

statistiquement indépendants, en réduisant au minimum la dépendance statistique.

Cependant, on considère ces images de base comme un ensemble de caractéristiques faciales

statistiquement indépendantes, où les valeurs des pixels de chaque image caractéristique sont

statistiquement indépendantes des valeurs des pixels des autres images caractéristiques [18].

De plus, on choisit pour ces combinaisons linéaires un sous ensemble formé des premières

composantes principales de la matrice de donnée. Ainsi, il existe deux architectures d’ICA :

Dans la première architecture : les images de base sont statistiquement indépendantes, bien

que les coefficients ne le soient pas.

Dans la deuxième architecture : les coefficients sont statistiquement indépendants, en

séparant les pixels en un ensemble de variables indépendantes codant les images.

2.5.6 Le réseau de neurones

Un réseau de neurones est un système de traitement de l’information qui a été développé comme

généralisations des modèles mathématiques assortissant la connaissance humaine. Ainsi, ils se

composent d’un grand nombre d’unités de traitement hautement reliées appelées neurones,

travaillant ensemble pour exécuter une tâche classification donnée.

L’application des réseaux de neurones artificiels dans la reconnaissance du visage a visé plusieurs

problèmes : la classification Homme Femme, la reconnaissance du visage et la classification des

expressions faciales [19].

2.5.7 Machine à vecteur de support

Une machine à vecteur de support ou Support Vector Machine (SVM) en Anglais est une technique

de discrimination, c’est une méthode d’apprentissage supervisé utilisée pour la classification et la

régression. Elle consiste à séparer deux ou plusieurs ensembles de points par un hyperplan. Selon

les cas et la configuration des points, la performance de la machine à vecteurs de support pu être

supérieure à celle d’un réseau de neurones ou d’un modèle de mixture gaussienne. Le principe de

Page 33: MEMOIRE en vue de l’obtention du DIPLOME de Licence

22

SVM est basé sur l’utilisation de fonctions noyau (kernel), qui permet une séparation optimale des

points du plan en différentes catégories. La méthode fait appel à un ensemble de données

d’apprentissage, qui permet d’établir un hyperplan séparant au mieux les points. Ensuite,

l’algorithme original de l’hyperplan optimal est un classificateur linéaire, et pour avoir un

classificateur non linéaire puis on applique le kernel trick à l’hyperplan à marge maximum bien que

chaque produit scalaire est remplacé par une fonction noyau non linéaire.

2.5.8 Modèle de Markov caché

En général, on utilise les modèles de Markov cachés HMM en reconnaissance de formes, en

intelligence artificielle ou encore en traitement automatique du langage naturel. On les emploie pour

la modélisation statistique de séries de vecteur de temps non stationnaire.

Pour la reconnaissance du visage, on considère l’information du visage comme étant une séquence

variable dans le temps [19]. De plus, les caractéristiques faciales se présentent dans un ordre naturel

de haut en bas, même dans le cas où il y a des petites rotations. En effet, on modélise l’image du

visage en utilisant un HMM unidimensionnels en assignant à chacune de ces régions un état. Ainsi,

le HMM classifie une caractéristique par la propriété de la chaîne de Markov. Ensuite, une séquence

des valeurs des pixels forme une chaîne de Markov. En exploitant cette chaîne de Markov, on

emploie ce résultat pour faire la comparaison entre deux visages.

Pour une image du visage d’une personne donnée de l’ensemble d’apprentissage, il s’agit

d’optimiser les paramètres pour mieux décrire l’observation. Ensuite, la reconnaissance est

effectuée en assortissant l’image de test contre chaque modèle d’apprentissage puis l’image est

convertie en une séquence d’observation et probabilité est calculée pour chaque modèle enregistré.

Le modèle avec la probabilité la plus élevée indique l’identité de la personne inconnue. Cependant,

on obtient une performance satisfaisante même s’il nécessite des calculs intenses ce qui augmente

les temps d’exécution.

2.5.9 Méthode basée sur l’apparence locale

On utilise ces techniques de manière modulaire pour les différentes régions faciales. Alors, on

définit un modèle global à partir de la combinaison des différents modèles locaux. Ainsi, les

différentes régions faciales ne seront plus affectées de la même manière par les différentes sources

de variabilité.

On utilise deux paramètres pour définir les régions locales du visage : la forme (rectangle, ellipse)

et la taille. Puis on détermine les caractéristiques des régions locales à partir d’une analyse des

Page 34: MEMOIRE en vue de l’obtention du DIPLOME de Licence

23

valeurs de niveau gris. Pour l’extraction de caractéristiques, on utilise des techniques telles que les

Ondelettes de Gabor ou de Harr et l’analyse fractale. De plus, les caractéristiques de Gabor sont

plus robustes face aux changements d’illumination et aux transformations géométriques. Tandis

que, les caractéristiques à base de valeurs de gris préservent l’information de texture [16].

2.5.10 Template matching

Le template matching est une technique globale de reconnaissance du visage. En général, la

corrélation est exploitée afin de mesurer la similitude entre un template (masque) stocké et l’image

à reconnaître. Cependant, l’échelle et la rotation devraient également être soigneusement

considérées afin d’accélérer le processus.

De prime abord, on passe à l’acquisition, la lecture et la normalisation des images d’apprentissage.

Puis, on calcule le visage moyen de chaque de personne (les templates). Ainsi, il s’agit de calculer

les différences entre l’image de vérification et les templates (les différences sont des images) et les

sommes de ces différences (somme des pixels de l’image différence). La somme minimale va

référencer la classe auquel appartient l’image de vérification.

2.6 Conclusion

La détection du visage est une tâche cruciale dans un système basé sur la reconnaissance du visage.

Ainsi, ces différentes approches nous ont permis d’améliorer la performance du système malgré ses

inconvénients. Bien qu’on ait plusieurs algorithmes pour la reconnaissance automatique du visage,

on connait encore des difficultés et insatisfactions. Dans le chapitre suivant, nous allons détailler le

choix de l’application des réseaux de neurones artificiels dans la reconnaissance du visage.

Page 35: MEMOIRE en vue de l’obtention du DIPLOME de Licence

24

CHAPITRE 3

LES RESEAUX DE NEURONES ARTIFICIELS

3.1 Introduction

Les réseaux de neurones artificiels ont connu leurs débuts en 1943 grâce aux travaux de Warren Mc

Culloch et Walter Pitt sur le « neurone formel ». Ainsi, D. Hebb travaillait sur la règle

d’apprentissage dans son ouvrage « The Organization of Behavior » en 1949. Il est à présent

communément admis que le perceptron, comme classifieur linéaire, est le réseau de neurones le plus

simple. A partir de ce moment, la recherche sur les réseaux de neurones connaît un essor fulgurant

et les applications commerciales de ce succès académique suivent au cours des années 90. Ils sont

utilisés réellement dans la reconnaissance de motif ou de caractères, pour l’approximation de

fonction inconnue et dans de nombreuses applications. Les réseaux de neurones sont une des

composantes importantes du domaine de l’intelligence artificielle.

3.2 Définitions

Un réseau de neurones artificiels, ou réseau neuronal artificiel, est un ensemble d’algorithmes dont

la conception est à l’origine très schématiquement inspirée du fonctionnement des neurones

biologiques, et qui par la suite s’est rapproché des méthodes statistiques. De plus, Les réseaux de

neurones artificiels sont des réseaux fortement connectés de processeurs élémentaires fonctionnant

en parallèle. Chaque processeur élémentaire calcule une sortie unique sur la base des informations

qu'il reçoit. Toute structure hiérarchique de réseaux est évidemment un réseau. Ainsi, il est

l’association, en graphe plus ou moins complexe, d’objets élémentaires, les neurones formels. Mais,

Aujourd’hui de nombreux termes sont utilisés dans la littérature pour désigner le domaine des

réseaux de neurones artificiels, comme connexionnisme ou neuromimétique [20].

3.3 Principes

Les réseaux de neurones sont une modélisation des comportements naturels à partir d’une

abstraction biologique c’est-à-dire les neurones biologiques (voir ANNEXE 1). Ils sont des

modélisations mathématiques du cerveau humain. Ainsi, les réseaux de neurones formels sont des

réseaux d’unités de calcul élémentaire interconnectées. Puis ils nous permettent certaines fonctions

du cerveau humain telles que la reconnaissance de formes, la mémorisation associative, la

reconnaissance faciale, etc….

Page 36: MEMOIRE en vue de l’obtention du DIPLOME de Licence

25

A l’aide des règles de calcul simple, les principes de fonctionnement de ce neurone formel sont

fondés sur l’idée de :

Pas de notion temporelle

Déterminer le coefficient synaptique (coefficient réel)

Obtenir une sortie après application d’une fonction de transfert à partir de plusieurs entrées.

Sommation des signaux arrivant au neurone (valeur)

Comparaison de cette valeur par rapport au seuil

En effet, on doit relier chaque neurone à d’autres à l’aide des connexions.

3.4 Modélisation d’un neurone formel

Selon le principe biologique, il s’agit de modéliser un système de réseaux neuronaux sous un aspect

artificiel. Ainsi, on va montrer dans le tableau ci-contre leur correspondance.

Neurone biologique Neurone artificiel Corps cellulaire Fonction d’activation

Dendrites Entrées Axone Sortie

Synapses Poids de connexion

Tableau 3.01: La correspondance entre le neurone biologique et artificiel.

Ainsi, un neurone formel (artificiel) comprend :

Les entrées : ils sont des valeurs destinées qu’on peut être analysé et à apprendre au neurone,

représentées par ei. Puis, ils sont généralement nombreux dont les valeurs ne sont pas

forcément identiques. De plus, Son valeur peut être booléenne, binaire (0,1) ou bipolaire (-

1, +1) ou réelle.

Les poids : pour un neurone, on peut modifier l’importance de chaque connexion d’où

certaines sont plus importantes que d’autres. Puis, pendant l’apprentissage, on modifie les

poids (noté w) qu’on doit affecter à chaque connexion. Ainsi, le poids est proportionnel à

l’importance de la connexion.

La fonction d’activation : elle opère une transformation d’une combinaison affine des

signaux d’entrée afin de donner un résultat. Ainsi, on détermine cette combinaison affine

par un vecteur de poids associé à chaque neurone. Cependant, les valeurs sont estimées dans

la phase d’apprentissage. De plus, on distingue les différents types de neurones par la nature

f de leur fonction d’activation.

Page 37: MEMOIRE en vue de l’obtention du DIPLOME de Licence

26

Les principaux types sont :

Linéaire

f(x)=x (3.01)

Sigmoïde :

f(x) =�

(����) (3.02)

Seuil :

f(x)=1[0, + ∞[(x), (3.03)

Radial :

f(x) = ��

�� �� ��

(3.04)

Stochastiques :

f(x)=1 (3.05)

Avec la probabilité soit :

P(x)=�

���� ��

(3.06)

Elle est égale à 0 si non (H intervient comme une température dans un

algorithme de recuit simulé).

La sortie : elle est constituée par la valeur calculée par le neurone. Sa valeur peut être binaire

ou bipolaire ou réelle. Ensuite, elle devient une valeur d’entrée pour tous les neurones avec

lesquels notre neurone de référence est connecté.

La connectivité : elle est une manière où les neurones sont connectés entre eux. En effet, on

distingue deux types de connectivité :

Totale : les neurones sont connectés entre eux,

Organisée par couche : les neurones d’une couche ne sont connectés qu’à

la couche précédente en entrée et à la couche suivante en sortie.

Page 38: MEMOIRE en vue de l’obtention du DIPLOME de Licence

27

Figure 3.01 : Neurone artificiel

3.5 Architecture

La structure d’un réseau de neurones artificiel est en fait copiée à celle du biologiques. Comme son

nom l’indique, un réseau de neurones est un ensemble de neurones en réseau, de sorte que les

signaux sortant (outputs) des neurones deviennent des signaux entrant (inputs) dans d’autres

neurones. En général, l’architecture des réseaux de neurones consiste à présenter les neurones en

couches (layers) successives : la première représente la couche intrants (input layer), ainsi la

deuxième étant la couche de sortie (output layer), puis les couches intermédiaires étant les couches

cachées (hidden layers).

En effet, on parle de couche cachée car de l’extérieur du réseau, puis leur fonctionnement ne peut

être analysé clairement.

Figure 3.02 : Architecture d’un réseau de neurone

Page 39: MEMOIRE en vue de l’obtention du DIPLOME de Licence

28

3.6 Apprentissage des réseaux de neurones

Après le choix d’une architecture d’un réseau, il est évident d’effectuer un apprentissage afin de

modifier les caractéristiques du réseau jusqu’à ce que le comportement désiré soit obtenu.

Cependant, l’apprentissage consiste d’optimiser l’ensemble des poids. Puis, on ajoute souvent à la

description du modèle de l’algorithme d’apprentissage. Il est souvent impossible de décider à priori

des valeurs des poids des connexions d’un réseau pour une application donnée. Suivant le problème

à résoudre, on sait à peine choisir la structure et les paramètres qui conviennent le mieux. Pour ce

faire, on doit calculer la sortie avec une entrée quelconque étant bruitée ou incomplète puis on peut

alors évaluer la performance du réseau.

Cette adaptation suit des règles ainsi des méthodes.

3.6.1 Apprentissage supervisé et renforcement

On parle de l’apprentissage supervisé quand le réseau est affecté avec la bonne réponse pour les

exemples d’entrées donnés. Ainsi, on ajuste les paramètres du réseau par un comportement de

référence précis. Puis le réseau de neurones est entraîné de façon à reproduire le plus fidèlement

possible les réponses désirées à un certain nombre de vecteurs d’entrée d’apprentissage.

L’algorithme se présent comme suit [21] :

Etape 1 : Propager vers l’avant les entrées jusqu’à obtenir une sortie calculée par le réseau,

Etape 2 : Comparer la sortie calculée à la sortie réelle connue,

Etape 3 : Modifier les poids de telle sorte qu’à la prochaine itération

Etape 4 : Calculer l’erreur commise entre la sortie puis la minimiser.

Etape 5 : Pour les couches cachées, rétropropager l’erreur commise vers l’arrière jusqu’à la

couche d’entrée tout en modifiant la pondération.

Etape 6 : On répète ce processus sur tous les exemples jusqu’à ce que l’on obtienne une

erreur de sortie considérée comme négligeable. Puis, les poids optimaux seront appliqués

sur le test afin de vérifier la justesse et la précision des calculs : initialiser aléatoirement les

poids.

On parle de renforcement, le réseau doit apprendre la corrélation entrée /sortie par une méthode

d’estimation d’erreur dont on établit un rapport échec/succès. En effet, l’index de performance du

réseau doit tendre à maximiser. Cependant, le système est capable de savoir si la réponse soit

correcte ou non même s’il ne connait pas la bonne réponse. D’ailleurs, le renforcement est classé

dans la catégorie des modes supervisés.

Page 40: MEMOIRE en vue de l’obtention du DIPLOME de Licence

29

Figure 3.03 : Schéma d’un apprentissage supervisé

3.6.2 Apprentissage non supervisé ou auto-organisationnel

Dans cette catégorie, la réponse désirée est inconnue. En effet, on suppose que le réseau puisse

découvrir la meilleure représentation de l’information fournie. Puis, on ne dispose pas de base

d’apprentissage. Les coefficients synaptiques sont déterminés par rapport à des critères de

conformité c’est-à-dire spécifications générales. De plus, le réseau décide lui-même quelles sont les

bonnes sorties. Cette décision est guidée par un but interne au réseau qui exprime une configuration

idéale à atteindre par rapport aux exemples introduits.

Figure 3.04 : Schéma d’un apprentissage non supervisé

3.6.3 Apprentissage mode hybride

Etant en mode hybride, on combine les deux approches précédentes dans un même système : on

détermine une partie du réseau de neurone par apprentissage supervisé tandis que l’autre partie par

apprentissage non supervisé. Ces réseaux ne tiennent compte que d’une évaluation partielle ou

qualitative des sorties d’où on les appelle les réseaux à apprentissage semi-supervisé. Alors, on doit

bénéficier les avantages des deux types précédents [22].

Page 41: MEMOIRE en vue de l’obtention du DIPLOME de Licence

30

3.6.4 Règles d’apprentissages

3.6.4.1 Loi de Hebb

C’est la première règle d’apprentissage élaborée en 1949. Le principe de cette règle s’exprime

comme suit : « Il y a renforcement d’une connexion lorsque les deux neurones qu’elle relie sont

simultanément excités » [23]. Par hypothèse, lorsqu’un neurone Ni est excité par un neurone Nj de

manière répétitive ou persistante, le poids de l’axone reliant ces deux neurones devrait être

augmenté.

Figure 3.05 : Connexion de neurone

Si deux unités connectées sont actives simultanément, le poids de leur connexion est augmenté ou

diminué. Ainsi, la loi de Hebb s’écrit comme suit :

∆w ��= r . a� .a� (3.07)

Avec :

∆� �� : coefficient synaptique

� : constante positive qui présente la force d’apprentissage

�� et �� : les valeurs d’activation des neurones Nj et Ni respectivement.

Voici son algorithme [24] :

µ est une constante positive.

Initialiser aléatoirement les coefficients wi

Répéter

Prendre un exemple (e, c) dans S

Calculer la sortie o du réseau pour l’entrée e

Si c ≠o

Modification des poids w ij:

� �� = � ��× μ × (�� × ��) (3.08)

Fin Pour

Fin Si

Page 42: MEMOIRE en vue de l’obtention du DIPLOME de Licence

31

Fin Répéter

3.6.4.2 Règle de Widrow-Hoff

La loi de Widrow-Hoff est la règle d’apprentissage du perceptron la plus connue. Elle est une règle

qui permet d’ajuster les poids d’un réseau de neurones afin de diminuer à chaque étape l’erreur

commise par le réseau de neurones à condition que le facteur d’apprentissage soit bien choisi. Puis,

Chaque cellule de sortie apprend indépendamment des autres.

On modifie un poids par la formule suivante :

� ��� = � � + (α × �� × ��) (3.09)

Avec :

wk : le poids à l’instant k,

wk+1 : le poids à l’instant k+1,

α : le facteur d’apprentissage, Il faut bien noter que α :

α bien choisi, suffisamment petit,

Si α trop grand d’où il y a risque d’oscillation autour du minimum,

Si α trop petit : nombre élevé d’itérations,

En pratique, on diminue graduellement α au fur et à mesure des

itérations.

δk : caractérise la différence entre la sortie attendue et la sortie effective du neurone

à l’instant k, d’où :

δ� = T − S (3.09)

, où T : la sortie souhaitée, S : la sortie calculée par l’erreur du perceptron.

xk : la valeur de l’entrée avec laquelle le poids w st associé à l’instant k.

Ainsi, si δk et xk sont positifs tous les deux, alors le poids doit être augmenté. La grandeur du

changement dépend avant tout de la grandeur de δk mais aussi de celle de xk. Le coefficient α sert à

diminuer les changements pour éviter qu'ils deviennent trop grands, ce qui peut entraîner des

oscillations du poids.

L’algorithme de l’apprentissage se déroule de la façon suivante :

- Etape 1 : On présente au perceptron (dans un ordre arbitraire) les couples (image sur la rétine,

réponse).

- Etape 2 : s’il y a des erreurs les poids sont corrigés selon la règle du Widrow-Hoff et on

retourne en 1, sinon le perceptron a appris.

Page 43: MEMOIRE en vue de l’obtention du DIPLOME de Licence

32

On note D la base d’apprentissage. D est composé de couples (x, T). Où x est le vecteur associé à

l’entrée (x0, x1, …, xn), T est la sortie correspondante souhaitée.

On procède à cet algorithme suivant pour déterminer les coefficients (w0, w1, …, wn) :

Initialiser aléatoirement les coefficients wk

Répéter :

Prendre un exemple (x, T) dans D

Calculer la sortie S du réseau pour l’entrés x

Mettre à jour les poids :

Pour i de 0 à n :

� � = � � + � × (� − �) × �� (3.11)

Fin pour

Fin répéter

3.6.4.3 Règle de correction d’erreurs

Cette règle est l’une des règles les plus utilisées. Elle est basée sur la Rétropropagation du gradient,

développée par Widrow et Hoff en 1960 afin de résoudre des problèmes de traitement adaptatifs du

signal pour les réseaux multicouches.

Dans cette méthode, Le réseau est ignorant et dépourvu d'expérience : pour une entrée donnée, il ne

fournit pas la sortie qu'on souhaiterait obtenir. Pour rendre le réseau performant, on doit faire

apprendre le réseau à s’adapter en comparant le résultat en sortie en fonction des entrées fournies.

Cependant, les poids des liens entre ses neurones se sont modifiés jusqu’à ce qu’il trouve la sortie

souhaitée.

Comme le réseau s’entraîne à associer à chaque entrée, la sortie souhaitée, on est en mode supervisé

afin de fournir au processus d’apprentissage une estimation de l’erreur commise pour minimiser

‘erreur quadratique de sortie.

L’algorithme de la Rétropropagation est comme suit :

- Etape 1 : Appliquer un vecteur d’entrée aux nœuds d’entrées puis initialiser les poids du

réseau.

- Etape 2 : Exécuter l’échantillon d’apprentissage à travers le réseau,

- Etape 3 : Calculer les termes d’erreur de signal de la couche de sortie et les couches

cachées,

- Etape 4 : Mettre à jour les poids de la couche de sortie et couches cachées,

Page 44: MEMOIRE en vue de l’obtention du DIPLOME de Licence

33

- Etape 5 : Répéter ce processus jusqu’à ce que l’erreur soit admissible.

3.6.4.4 Règle d’apprentissage par compétitions

Elle s’agit à regrouper les données en catégories. Ainsi, cet apprentissage ne s’applique qu’à un seul

neurone. Cependant, elle consiste à arranger les neurones similaires dans une même classe en un

seul neurone, en utilisant les corrélations des données. Puis chaque neurone de sortie (connexions

inhibitrices) est connecté à la fois aux neurones de la couche d’entrée, aux autres cellules de la

couche de sortie ainsi à elle-même (connexion excitatrice). En effet, la sortie va dépendre de la

compétition entre les connexions inhibitrices et excitatrices [22].

3.7 Différents types de réseau de neurones artificiel

Comme son nom l’indique, les neurones sont associés entre eux afin d’obtenir un réseau. Ainsi, on

peut distinguer deux types courants de réseaux de neurones artificiels [25] :

Réseaux feedforward ou non bouclé.

Réseaux feedback ou récurent.

3.7.1 Réseaux feedforward

Réseaux feedforward : ils consistent à organiser des neurones en couches successives. De plus, Les

réseaux non bouclés sont des réseaux à couches car il n’y a pas d’interconnexion entre les neurones

d’une même couche.

Ainsi, Ce type de réseau est dans la famille générale des réseaux à « propagation vers l’avant »,

c’est-à-dire qu’en mode normal d’utilisation, l’information se propage dans un sens unique, des

entrées vers les sorties sans aucune rétroaction.

3.7.1.1 Perceptron simple

En 1957, le modèle du Perceptron est développé par F. Rosenblatt. Ainsi, c’est le premier neuro-

ordinateur de ce jour en appliquant dans le domaine de la reconnaissance de formes. II s’agit d’une

seule couche de neurones d’entré et une couche de sortie. Ainsi, on doit relier tous les neurones de

la couche d’entrée à ceux de la couche de sortie. Puis la fonction d’activation utilisée dans ce réseau

est de type tout ou rien c’est-à-dire de valeur binaire (0, 1), fonction non-linéaire [26].

Son architecture se compose comme suit :

Une couche à I cellules, appelée à l’origine la rétine,

Page 45: MEMOIRE en vue de l’obtention du DIPLOME de Licence

34

Une couche à J cellules, qui donne la réponse du perceptron.

Figure 3.06 : Perceptron simple (monocouche)

Il fonctionne comme suit : comme le perceptron est un réseau binaire, la sortie soit oui (1) ou

non (0). En fonction de la réponse de l’i-ième cellule de la rétine xi et des intensités des

connexions entre i-ième cellule d’entrée et la j-ième cellule de sortie wij, elles évaluent leur degré

d’activation de la j-ième cellule de sortie aj :

a� = ∑ x�.w �,��� (3.11)

Ensuite, lorsque leur degré d’activation dépasse un seuil θj, les cellules de sortie deviennent

actives. Puis la réponse en sortie s’obtient par l’équation suivante :

f(x)=�0, si a� ≤ θ�

10, si a� > θ� (3.13)

Les plus souvent, θj=0, alors :

f(x)=�0, si a� ≤ 0

10, si a� > 0 (3.14)

Pour apprendre, l’apprentissage est en mode supervisé si bien que le perceptron doit savoir qu’il

a commis une erreur. En effet, en avance, il doit connaître la réponse souhaitée. Cependant,

lorsqu‘il a commis une erreur, la cellule va modifier l’intensité de ses connexions. Cette

modification se déroule comme suit : si la cellule de sortie est active quand elle devrait être

inactive, elle diminue l’intensité des connexions correspondant aux celles de la rétine qui sont

déjà actives. En effet, la cellule augmente l’intensité des connexions correspondant aux cellules

de la rétine qui sont actives pour qu’elle doive active. Puis seuls les poids des liaisons entre la

Page 46: MEMOIRE en vue de l’obtention du DIPLOME de Licence

35

couche d’association et la couche finale peuvent être modifiés en appliquant la règle de Widrow-

Hoff (voir paragraphe 3.7.1.2).

Son algorithme d’apprentissage se procède comme suit :

- Etape 1 : Présentation d’un exemple : on stimule le réseau par l’environnement (entrée dans

un ordre arbitraire), le perceptron apprend.

- Etape 2 : S’il y a des erreurs, le réseau subit des changements en réponse à cette stimulation

ainsi une représentation d’exemple dans un nouvel ordre. En effet, il apprend de nouveau.

- Etape 3 : Revenir à (étape 2) jusqu’à ce qu’on obtient toutes les réponses souhaitées.

3.7.1.2 Adaline

Le modèle Adaline est développé par Bernard Widrow en 1960. Adaline est une abréviation de

« Adaptive Linear Element ». Ce modèle est une extension du perceptron simple étant donné que sa

structure se compose d’un perceptron linéaire sans couche cachée dont à un seul neurone. Ainsi,

l’idée est de remplacer la fonction seuil sur les cellules de sortie par la fonction identité (f(x)=x).

Cependant, l’apprentissage est en mode supervisé afin de minimiser l’erreur quadratique du

système.

Figure 3.07 : Architecture d’un modèle Adaline

Son fonctionnement est comme suit : on donne à l’ADALINE un signal d’entrée puis les poids du

réseau seront ajustés en comparant la valeur du signal de sortie avec celle désirés. Ensuite,

l’apprentissage s’effectue jusqu’à ce que le taux d’erreur soit admissible en ajustant les poids.

Ainsi, son algorithme d’apprentissage se procède comme le suivant [27] :

Etape 1 : Tirer au hasard w0

Etape 2 : Présenter une forme (xk , d k )

Etape 3 : Déterminer la valeur de l’écart :

��(�) = (�� − (� × ��)) (3.15)

Page 47: MEMOIRE en vue de l’obtention du DIPLOME de Licence

36

Etape 4 : Calculer une approximation du gradient :

∆� ���������(� ) = − 2��(�)�� (3.16)

Etape 5 : Adapter les poids : w(t) tel que :

� (�+ 1) = � (�) − ℰ(�)∆� ���������(� ) (3.17)

Où ℰ(�) est le pas du gradient.

Etape 6 : Répéter de 2 à 4 jusqu’à l’erreur soit admissible.

3.7.1.3 Le Perceptron multicouches ou Multi-Layer Perceptron (MLP)

En 1969, il est développé par Minsky et Papert. Il est une amélioration du perceptron comprenant

une ou plusieurs couches intermédiaires dites : couches cachées ou « Hidden layer ». De plus, il

permet de palier l’inaptitude de son prédécesseur à traiter de problèmes non linéairement séparables

comme la porte logique complexe XOR étant donné qu’il adopte un « hidden layer » ou couche

caché non vide.

Du point de vu architecture, chaque neurone n'est relié qu'aux neurones des couches directement

précédente et suivante, mais tous les neurones de ces couches.

Il utilise un algorithme de Rétropropagation du gradient (voir paragraphe 3.7.1.3) pour la

modification de leurs poids en respectant la règle de Widrow-Hoff que nous allons voir

ultérieurement. Ainsi, on propage la modification des poids de la couche de sortie jusqu’à la couche

d’entrée.

Contrairement à son prédécesseur, il peut utiliser des fonctions d’activations telles que la sigmoïde,

si bien qu’il n’est plus exclusivement binaire.

Comme il agit comme un séparateur non linéaire, on peut l’utiliser pour la classification, le

traitement de l’image ou l’aide à la décision.

Figure 3.08 : Réseau perceptron multicouches

Page 48: MEMOIRE en vue de l’obtention du DIPLOME de Licence

37

3.7.2 Réseaux récurrents

Dans ce type, les neurones peuvent transmettre des informations entre eux. Il existe au moins une

boucle de rétroaction au niveau des neurones ou entre les couches. Puis on prend en compte de

l’aspect temporel du phénomène, mémoire. En effet, son mise en œuvre est plus dure. 3.7.2.1 Réseau de Kohonen

En 1982, T. Kohonen développait le premier réseau de type feedback. Il s’agit d’un établissement

d’une carte discrète, ordonné topologiquement, en fonction de patterns d’entrée. Ainsi, le réseau

forme une sorte de treillis où chaque nœud est un neurone associé à un vecteur de poids. Puis pour

chaque entrée, on calcule la correspondance entre chaque vecteur de poids. Ensuite, il modifie le

vecteur de poids ayant la meilleure corrélation ainsi que certains de ses voisins afin d’augmenter

encore cette corrélation.

Figure 3.09 : Réseau de Kohonen

Il consiste à prendre les valeurs binaires comme réelles si bien qu’il peut utiliser une sigmoïde

comme fonction d’activation. Puis, l’apprentissage est en mode supervisé auto-organisationnel (voir

paragraphe 3.6.1). On l’utilise dans l’analyse et la classification automatique de données [28].

3.7.2.2 Réseau de Hopfield

Développé par Hopfield en 1982, il est basé sur les principes de la physique statistique.

Fondamentalement, il est une mémoire adressable par son contenu. Ainsi, il est un réseau avec des

sorties binaires où les neurones sont interconnectés avec des poids symétriques dont le poids du

Page 49: MEMOIRE en vue de l’obtention du DIPLOME de Licence

38

neurone Ni au neurone Nj est égal au poids du neurone Nj au neurone Ni. De plus, les poids sont

donnés par l’utilisateur.

Figure 3.10 : Réseau de Hopfield

Typiquement, il est utilisé pour résoudre le problème du voyageur de commerce. De plus,

L'application principale des réseaux de Hopfield est l'entrepôt de connaissances mais aussi la

résolution de problèmes d’optimisation [29].

3.7.2.3 Les réseaux Adaptive Resonance Theory

En 1987, Carpenter et Grossberg travaillait sur l’architecture évolutive d’un réseau de neurone en

développant les réseaux ART ou « Adaptive Resonance Theory ». Ainsi, l’apprentissage est en

mode compétition afin d’assurer la stabilité. Spécifiquement, les ART ont été inventés pour

contourner le problème de stabilité et de plasticité.

Dans ce type, les vecteurs de poids ne seront adaptés que si l’entrée fournie est suffisamment proche

d’un prototype déjà connu par le réseau. Donc, on parlera de résonance. A l’inverse, lorsque l’entrée

s’éloigne trop des prototypes excitants, une nouvelle catégorie va alors se créer pour prototype,

l’entrée qui a engendrée sa création. Puis, la phase d’apprentissage et la phase d’exécution se

réalisent en même temps. Il est à noter qu'il existe deux principaux types de réseaux ART : les ART-

1 pour des entrées binaires et les ART-2 pour des entrées continues.

3.8 Propriétés des réseaux de neurones

En générale, les réseaux de neurones à couches ont la propriété d’être des approximateurs universels

parcimonieux.

Page 50: MEMOIRE en vue de l’obtention du DIPLOME de Licence

39

Les réseaux de neurones présentent les propriétés suivantes :

La propriété d’approximation universelle : il est capable de résoudre des problèmes simples ou

complexes.

La propriété parcimonieuse : Lorsque l’on cherche à modéliser un processus à partir des

données, on s’efforce toujours d’obtenir les résultats les plus satisfaisants possibles avec un

nombre minimum de paramètres ajustables.

Ils se comportent plus d'une façon adaptative que programmée

Ils sont capables de fonctionner même en présence d'une information partielle ou d'une

information brouillée

Ils fonctionnent comme une machine de classification qui extrait les traits caractéristiques des

objets présentés lors de l'apprentissage, pour réorganiser sa connaissance en conséquence.

3.9 Conclusion

Un réseau de neurones est une interconnexion de neurones formels. Ainsi, cette interconnexion qui

rend l’ensemble très complexe bien que le fonctionnement d’un neurone est très simple. Du point

de vu architecture, un réseau de neurones présente la même structure. Il doit obtenir une sortie après

l’application d’une fonction de transfert à partir de plusieurs entrées. Pour cela, on doit faire

apprendre le réseau de neurone dont il consiste d’optimiser l’ensemble des poids suivant des

différentes règles d’apprentissage. Il peut être utilisé pour résoudre des problèmes complexes dans

des différents domaines. C’est ainsi, on doit utiliser le réseau de neurones dans la reconnaissance

du visage. Dans le prochain chapitre suivant, on va voir la phase de conception et la réalisation de

ce projet.

Page 51: MEMOIRE en vue de l’obtention du DIPLOME de Licence

40

CHAPITRE 4

CONCEPTION ET REALISATION

4.1 Description de projet

4.1.1 Présentation du projet

Aujourd’hui, la mise en place du système de biométrie est en pleine évolution à Madagascar. Cette

nouvelle démarche devra permettre la reconnaissance des personnes à partir leurs caractéristiques

morphologiques en utilisant des moyens à base de l’informatique, électronique et de

télécommunication.

Ce projet permettra d’identifier l’individu à partir de son image complète ou une partie de son

visage. Il consiste à diminuer quelques difficultés de système basé sur la reconnaissance du visage

comme : la présence des lunettes opaques, une moustache ou une barbe, changement de forme des

yeux.

Figure 4.01 : Aperçu du système

Page 52: MEMOIRE en vue de l’obtention du DIPLOME de Licence

41

4.1.2 Spécification des besoins fonctionnels

Les besoins fonctionnels servent à présenter les actions que doit effectuer le système en réponse à

une demande présentée par un utilisateur. Le système doit permettre à ce dernier de :

S’authentifier

Créer et modifier un compte utilisateur

Ajouter l’identité d’une personne à partir d’une saisie puis ses images.

Afficher, rechercher à partir d’une saisie ou d’une image et supprimer l’identité d’une

personne stockée dans la base de données

Se connecter à une base de données à distant

Voir l’historique des événements

Imprimer l’identité d’une personne

Imprimer la liste des personnes

Consulter l’identité d’une personne stockée dans la base de données

Consulter le volume de données

Consulter la propriété de l’ordinateur

Supprimer une image

Consulter des statistiques

Consulter une aide en ligne

Envoyer des messages

4.1.3 Spécification des besoins non fonctionnels

Les besoins non fonctionnels présentent les exigences internes pour le système et cachées vis-à-vis

des utilisateurs.

Compatibilité avec plusieurs systèmes d’exploitation tout en étant facile à manipuler

La sécurité des données doit être prise en compte : sécuriser les données revient à appliquer

une stratégie d’identification et d’authentification accrue au sein du système

L’accès à la base de données doit être rapide

Temps de réponse minimale

4.1.4 Objectifs du projet

En considérant ces besoins, l’objectif est de réaliser un système biométrique permettant de gérer

l’identité d’une personne à partir de son visage. Principalement, il est conçu pour déterminer

Page 53: MEMOIRE en vue de l’obtention du DIPLOME de Licence

42

l’identité de personne de manière irréfutable à partir des images de son visage récupéré par des

capteurs ou scanneur.

Ainsi, l’application de ce système au bureau locaux administratifs, nous permet de vérifier l’intégrité

entre la photo d’identité de la carte comme la carte d’identité nationale, permis de conduire, carte

d’étudiant, carte d’accès, même si la photo était flou. Ensuite, il est capable de vérifier la sécurité

d’un système de caméras de surveillance en cas de camouflage des individus si on trouve quelque

partie du visage.

4.2 Outils de travail

4.2.1 Matériel

Durant la réalisation de ce projet, on utilise un ordinateur doté d’un système d’exploitation

Windows, qui sert à la fois la station de développement et serveur de base de données, héberger et

exécuter l’application.

Sa caractéristique est détaillée dans le tableau ci-dessous :

OS Windows 7 edition integral Processeur Intel(R) Core(TM) i3-3110M CPU @

2.40GHz RAM 6.00 Go

Disque dure 120 Go

Tableau 4.01: Caractéristiques techniques de PC utilisé lors de ce projet

4.2.2 Logiciels

4.2.2.1 EDI Netbeans

Pour la programmation nous allons décider d’utiliser EDI Netbeans 8.0.2. L’application qui fait

office d’IHM (Interface Homme Machine), sera développée en Java.

Il est un logiciel de développement open source pour développer des programmes sur Java, C, C++,

PHP, JavaScript, etc. Ainsi, Il est disponible sous Windows, Linux, Mac OS X ou sous une version

indépendante des systèmes d’exploitation requérant une machine virtuelle Java, développé en Java.

Les outils nécessaires y sont déjà présents pour créer des applications d’internet professionnelles,

de bureau, mobile, etc. Pour les développements en java, un JDK (Java Development Kit) est requis.

Page 54: MEMOIRE en vue de l’obtention du DIPLOME de Licence

43

4.2.2.2 JMerise

Pour la modélisation des modèles conceptuels de données, on a utilisé le JMerise pour Merise. Il est

capable de générer automatiquement le modèle physique des données et les scripts SQL pour les

différents systèmes de gestion de base de données.

4.2.2.3 MySQL

MySQL est un logiciel qui permet de gérer des bases de données ainsi que de grosses quantités

d’informations, en utilisant le langage SQL. Il est l’un des SGBDR (Système de Gestion de Bases

de Données Relationnelles) les plus utilisés.

4.2.3 Langage informatique

4.2.3.1 Java

James et Patrick Naughton, employés de Sun Microsystems, avec l’aide de Bill Joy (cofondateur

de Sun Microsystems) créaient le langage Java qui est un langage de programmation informatique

orienté objet, présenté officiellement le 23 mai 1995 au SunWorld.

Il est un ensemble de classes et d’interfaces défini par Sun et les acteurs du domaine des bases de

données. Au départ, son objectif est de développer un langage avec lequel on puisse développer les

logiciels pour l’électronique grand public comme lecteurs CD-ROM, etc.

On a choisi java en vue de ses multiples avantages :

La simplicité : Java est un langage simple.

La compatibilité : Java est disponible sur de multiples plateformes.

La gratuité : la machine virtuelle Java ou JVM (Java Virtual Machine) est gratuite ainsi que

de multitudes API (Application Programming Interface).

L’orienté objet : il est très utile pour le développement d’une application étant donné qu’il

nous permet la réutilisation des objets entre les différents services [29].

4.2.3.2 SQL

Il est un langage normalisé afin d’exploiter des bases de données relationnels. En effet, on le

manipule pour la recherche, ajout, modification, suppression des données dans les bases de données.

Page 55: MEMOIRE en vue de l’obtention du DIPLOME de Licence

44

4.2.4 Framework et Librairie

4.2.4.1 OpenCV

OpenCV est un acronyme de « Open Computer Vision ». C’est une bibliothèque de traitement

d’image créée par Intel, maintenu par Willow Garage. Il est gratuit puis multiplateforme disponible

sous Windows, Linux, Mac OS X, disponible pour C, C++, python, java.

Il est un Framework très puissant pour la vision artificielle ainsi une compilation d’algorithmes

intéressants pour la vision et faciles à utiliser.

4.2.4.2 JavaCV

JavaCV est une extension Java de OpenCV. Ils nous apportent une façon simple de travailler avec

ce dernier. La combinaison de JavaCV et OpenCV nous offre plus d’avantages.

4.3 Conception

4.3.1 Algorithme de détection du visage

Pour détecter le visage présent dans une photo, on utilise la découverte de l'objet tel que « Haar

classifieurs » développée par Paul Viola et Michael Jones. C'est une « Machine Learning », basé

dans l’approche dont une fonction de cascade.

Ici, nous travaillerons avec découverte du visage. Initialement, l'algorithme a besoin de beaucoup

d'images positives (images du visage) et images négatives (images sans visages) pour former le

classifieur. Alors nous devons extraire des traits du visage.

Son algorithme se présente comme suit :

En premier, un classifieur est formé avec quelques centaines de vues de l'échantillon d'un

visage appelé des exemples positifs avec la dimension 20 x 20 pixels.

Après qu'un classifieur soit formé, il peut être appliqué à une région d'intérêt dans une image

de l'entrée. Les productions du classifieur un "1" si la région montre le visage, et "0" si

autrement.

Pour chercher le visage entier, on déplace la fenêtre de la recherche à travers l'image et

vérifie chaque emplacement qui utilise le classifieur. Le classifieur est conçu afin qu'il puisse

être redimensionné facilement pour être capable de trouver le visage d'intérêt à dimensions

différentes qui sont plus effectives que redimensionner l'image elle-même.

Page 56: MEMOIRE en vue de l’obtention du DIPLOME de Licence

45

Figure 4.02 : Organigramme de détection du visage

4.3.2 Normalisations

Après la détection du visage, il est nécessaire d’effectuer une opération de normalisation. En effet,

on doit éliminer les zones non informatives si bien qu’elle consiste en un centrage du visage dans

l’image. Pour garantir la bonne performance du système, Il est important que toutes les images

soient de taille identique à 100x100 pixels, à la même échelle et au même format JPEG.

4.3.3 Les réseaux de neurones artificiels dans la reconnaissance du visage

4.3.3.1 Prétraitement

Pour fournir les entrées aux réseaux, on procède à une phase de prétraitement crucial. Son

algorithme se présente comme suit :

Soient : h la hauteur de l’image en pixels et l celle de largeur en pixels.

Page 57: MEMOIRE en vue de l’obtention du DIPLOME de Licence

46

Figure 4.03 : Organigramme de prétraitement

4.3.3.2 Architecture

Dans ce projet, on utilise le réseau du type Kohonen. Il s’agit de « Vector Quantifization » (VQ) en

Anglais, il désigne le fait de remplacer un vecteur dont les composantes peuvent être quelconques,

par un vecteur d’un ensemble discret. Il est en mode non-supervisé. En effet, parmi tous ses types,

le type VQ est le type le plus adapté à l’application de reconnaissance du visage, étant donné qu’au

contraire des autres types qui donnent de performances basses. Le VQ réalise de hautes

performances de classification.

Il est à 4 couches :

Couche entrée : le nombre de nœuds soit 25 au maximum suivant l’algorithme du

prétraitement, noté en.

Page 58: MEMOIRE en vue de l’obtention du DIPLOME de Licence

47

Couche cachée : on a deux couches dont une couche de compétition pour la détermination

du neurone vainqueur et une couche de neurones linéaires pour la classification. Ainsi, La

deuxième couche comporte un neurone par classe, la première comporte un neurone par

sous-classe. Le nombre de neurones de la première couche soit équivaut au nombre d’images

dans la base de données tandis que celle de la deuxième soit au nombre de personne y

présent.

Couche de sortie : elle n’a qu’un seul neurone et son sortie est notée S.

Soient :

en : l’entrée de réseau

w1 : le poids de connexions entre le neurone de la couche compétition et celle de

classification.

w2 : le poids de connexions entre le neurone de la couche classification et celle de la sortie.

ϴ : seuil.

S : la sortie de réseau.

f : fonction de transfert

Page 59: MEMOIRE en vue de l’obtention du DIPLOME de Licence

48

Figure 4.04 : Architecture du réseau

θ

Page 60: MEMOIRE en vue de l’obtention du DIPLOME de Licence

49

4.3.3.3 Fonction de transfert

Pour activer les neurones de la couche compétition, on utilise la fonction qui permet de calculer la

corrélation entre deux images, c’est le CV_TM_CCORR_NORMED de l’OpenCV tel que :

R(x, y) =∑ (����,���� ������,�����)�

��,��

� ∑ �(��,��)�.�(����,����)���,��

(4.01)

Soient : T et I : deux matrices telles que T la représentation matricielle de l’image comparée à celle

de I.

R(x,y) retourne en deux matrices, ce sont : minLoc et maxLoc. Pour obtenir le maximum de

corrélation on utilise la fonction minMaxLoc de l’OpenCV en fonction de minLoc et maxLoc.

Elle retourne en deux matrices à 2x2 chacun, l’un est la valeur minimale et l’autre le maximum que

l’on note respectivement min_val, max_val.

Ainsi, on récupère le maximum de max_val que l’on note

f. En effet, f varie de -1 à 1 d’où f se comporte comme le sigmoïde.

Ainsi, pour la deuxième couche cachée, on utilise la fonction seuil que l’on note

s(n)=α (4.02)

Tel que on fixe θ=0.998 dont :

�α = 0, n < θα = 1, n ≥ θ

(4.03)

4.3.3.4 Fonctionnement

L’algorithme de base VQ se présente comme suit :

- Application d’une entrée.

- Recherche du neurone vainqueur : Sélectionner le neurone dont le vecteur poids est le plus

proche du vecteur d’entrée.

Les entrées de réseau contiennent entre 2 et 25 nœuds c’est-à-dire un bloc de 20 x 20 pixels ou 10

x10 pixels suivant l’algorithme de prétraitement présenté dans le paragraphe 4.3.2.1. Ainsi, Sa

première couche compétitive permet de modéliser l’espace des entrées, alors que la seconde linéaire

permet de prendre des décisions.

Chaque neurone de la première couche est associé a priori à une classe, généralement, avec plusieurs

neurones par classe. Puis, pour le neurone caché de la couche compétition, on active le réseau par f

(qu’on a développé dans le paragraphe 4.3.3.3).

Page 61: MEMOIRE en vue de l’obtention du DIPLOME de Licence

50

De plus, dans le neurone de la deuxième couche, on classifie le neurone de chaque sous classe

suivant une classe bien déterminée c’est-à-dire on regroupe chaque neurone suivant les individus

présents dans la base. Le poids de connexions entre le neurone de la couche de compétitions et celle

de la classification est donnée par :

� ��� = ∑ �(��)����

��� (4.03)

Ensuite, pour activer le neurone de la couche de sortie, le poids de connexions entre le neurone de

la couche de classification et celle de sortie, se modélise comme :

� ��� = ∑ � �

��× �(� ���)

������� (4.04)

A la sortie, on sélectionne le neurone dont le vecteur poids est le plus proche du vecteur d’entrée,

c’est le neurone qui a le maximum de corrélation du neurone de la deuxième couche de la couche

cachée. Alors S donne la classe de neurone sélectionnée.

4.3.3.5 Apprentissage

L’apprentissage est en mode non-supervisé, c’est à dire que l’information d’appartenance des

vecteurs d’exemple à une classe n’est pas utilisée pendant l’apprentissage, sauf pour ceux qui sont

utilisés pour initialiser l’algorithme.

Ici, pour entrainer le réseau, on ajoute 25 personnes avec 1 image chacun dans la base de donnée.

On utilise un à un de ces images à l’entrée de réseaux. Après chaque apprentissage, on recueillit les

valeurs de poids de connexions par classe afin de diminuer le taux de FRR.

Puis, on apprend au réseau 25 images hors classe afin de chercher le seuil minimal au neurone, pour

éliminer le FAR.

Cependant, on ajuste les poids de connexion et la valeur seuil que nous utiliserons dans le réseau en

détectant le neurone vainqueur.

4.3.4 Présentation de MERISE

On utilise le Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’Entreprise ou

MERISE pour la méthode de conception, de développement et de réalisation de ce projet. Elle

consiste à concevoir un système d’information, basé sur le principe de séparation des données et des

traitements [31].

Pour ce faire, on suit une succession d’étapes qu’on l’appelle cycle d’abstraction tel que

conceptuelle, logique et physique puis chacune correspondant à une modélisation des données et

des traitements.

Page 62: MEMOIRE en vue de l’obtention du DIPLOME de Licence

51

4.3.4.1 Modèle conceptuel de données

On aboutit au modèle conceptuel de données (MCD) afin d’identifier et de décrire les données

utilisées par le SI en définissant les relations entre ces données. Pour sa construction, il est évident

de connaître les différents détails au système envisagé.

En effet, il est nécessaire de déterminer :

Les différentes entités entrant

Les relations entre ces entités

Les cardinalités associées

Les propriétés de chaque entité

Ainsi, le MCD établi pour notre base de données comme suit :

Figure 4.05 : Modèle MCD

Page 63: MEMOIRE en vue de l’obtention du DIPLOME de Licence

52

Une base de données est constituée par un ensemble de tables tandis que le MCD ne connaît pas la

notion de table. En effet, on utilise le Modèle Logique des Données (MLD), qui utilise le formalisme

des tables logiques.

4.3.4.2 Modèle logique de données

Il consiste à représenter les informations du MCD en adaptant aux structures d’une base de données.

Pour cela, on suit les règles suivant :

les entités deviennent des tables.

l’identifiant d’une entité devient la clé primaire de la table associée à cette entité.

les propriétés d’une entité deviennent des attributs de la table.

pour l’association :

(0,1) ou (1,1) à (0, n) ou (1, n) :

L’entité qui est du côté de la cardinalité (0,1) ou (1,1) reçoit comme attribut

l’identifiant de l’autre entité.

Les propriétés de l’association deviennent des attributs de l’entité qui est du

côté de la cardinalité (0,1) ou (1,1).

(0,n) ou (1,n) à (0,n) ou (1,n) :

L’association devient une table

Les identifiants des entités participants à l’association forment ensemble la

clé de la table issue de l’association.

Les propriétés de l’association deviennent les attributs de la table issue de

l’association.

En appliquant cette règle, on obtient le MLD suivant :

Page 64: MEMOIRE en vue de l’obtention du DIPLOME de Licence

53

Figure 4.06 : Modèle MLD

4.3.4.3 Modèle physique de donnée

Le Modèle Physique de Données (MPD) consiste à traduire le MLD dans la structure de données

spécifique au système de gestion de bases de données utilisé. En général, on utilise le langage SQL

alors il s’agit la traduction du MLD en script SQL.

4.4 Réalisation

Dans cette partie, on parle la réalisation de l’application et la représentation des différentes

fonctionnalités qui ont été développées et testées.

Page 65: MEMOIRE en vue de l’obtention du DIPLOME de Licence

54

4.4.1 Présentation général de l’application

Notre application porte le nom « i-max » ou « Identity Max » (Reconnaissance du visage

intelligente). Elle constitue un système de biométrie basée sur la reconnaissance du visage. Elle est

développée en java afin d’avoir la portabilité dont elle s’adapte aux différents systèmes

d’exploitation autre que Windows qui supporte la machine virtuelle java.

Elle tient son nom du fait que l’identification de personne à partir de l’image visage générés soit

intelligente : elle utilise la stratégie de réseau de neurone. Le visage est détecté automatiquement

sans intervention de l’utilisateur.

L’application est conçue pour identifier la personne en utilisant une partie ou l’image du visage

entier en ajoutant l’identité de l’individu avec un ou plusieurs images. Ainsi, l’information

collectées est traitée et organisée suivant le MCD que nous avons établi : l’ensemble des

informations est stocké dans une base de donnée unique, assurant ainsi la centralisation des données.

Après l’exécution de l’application, la fenêtre de chargement est la première interface vue par

l’utilisateur.

Figure 4.07 : Fenêtre de chargement de l’application

Après la terminaison du chargement, on passe à la fenêtre d’authentification. Ce dernier sert à

restreindre l’accès à l’application.

La figure ci-dessous présente cette fenêtre. On demande de saisir le nom de l’utilisateur et le mot

de passe pour accéder à l’application.

Page 66: MEMOIRE en vue de l’obtention du DIPLOME de Licence

55

Figure 4.08 : Fenêtre d’authentification de l’application.

Après l’authentification, on accède directement à la fenêtre principale dans l’onglet accueil : elle est

composée d’une barre de menus, d’une barre d’outils, une étiquette désignant le nom de l’utilisateur

avec son photo et d’une horloge.

Figure 4.09 : Fenêtre principale de l’application.

Page 67: MEMOIRE en vue de l’obtention du DIPLOME de Licence

56

4.4.2 Fonctionnalité de base

D’après la figure 4.09, i-max offre plusieurs options de base :

Accueil : présente les différentes options fournis par i-max dans l’interface présenté sur la figure

4.0.9.

Ajout : il permet d’enregistrer l’identité de personne.

Figure 4.10 : Fenêtre Ajout de l’application.

On complète tous les champs:

Page 68: MEMOIRE en vue de l’obtention du DIPLOME de Licence

57

Figure 4.11 : Exemple d’ajout de personne dans l’application

Après avoir remplir tous les champs, en cliquant sur le bouton en bleu d’icone flèche ou appuyant

la touche ENTER, on accède à l’interface pour ajouter les images suivantes :

Figure 4.12 : Exemple d’ajout d’image dans l’application

Liste : il permet aux utilisateurs de gérer toutes les personnes présentes dans la base de données.

Figure 4.13 : Fenêtre liste de personne ajoutée de l’application

Page 69: MEMOIRE en vue de l’obtention du DIPLOME de Licence

58

Cette interface offre plusieurs services à l’utilisateur :

Consulter tous les individus présents dans la base de données

Gérer la liste de personne présente dans la base de données telle suppression,

modification, ajout d’image.

Effectuer une impression du tableau contenant la liste

Création de document au format PDF

Rechercher rapide

Les documents PDF peuvent être stockés dans le disque dur.

Figure 4.14 : Exemple d’un document PDF fournis par l’application

Page 70: MEMOIRE en vue de l’obtention du DIPLOME de Licence

59

Recherche : il offre plusieurs options de recherche : par image ou par saisie. Sa fenêtre est la

suivante :

Figure 4.15 : Fenêtre Recherche de l’application

Après le choix de l’image à reconnaitre, un bouton de recherche apparait. En le cliquant, on obtient

l’interface suivante.

Figure 4.16 : L’interface l’hors d’une recherche.

Page 71: MEMOIRE en vue de l’obtention du DIPLOME de Licence

60

Dès que la recherche soit terminée, on obtient les renseignements de l’individu dans le cas où la

recherche est réussie; si non, on n’affiche aucun résultat.

Figure 4.17 : Exemple d’un résultat de recherche

Paramètres : il permet de configurer les comptes d’utilisateur tel modifier le nom de compte et

mot de passe, changer la photo. Etant administrateur, il permet de créer un nouvel compte ainsi

que supprimer les comptes existants.

Figure 4.18 : Fenêtre de paramètres pour l’application.

Page 72: MEMOIRE en vue de l’obtention du DIPLOME de Licence

61

Historique : un historique est mis à la disposition afin d’assurer une meilleure traçabilité des

activités de l’utilisateur. Il affiche en vue détaillée des différentes actions effectuées par

l’utilisateur.

Figure 4.19 : Historique des actions

4.4.3 Fonctionnalité supplémentaire

Pour faciliter l’utilisation de l’application, on fournit aux utilisateurs une aide détaillée. Pour cela,

on clique sur le sous-menu « En ligne » en redirigeant vers un site web pour encore avoir plus de

détails.

Figure 4.20 : Sous-menu « En ligne »

Page 73: MEMOIRE en vue de l’obtention du DIPLOME de Licence

62

Figure 4.21 : Site web pour aide en ligne

Ainsi, une autre fonctionnalité est ajoutée à l’application : informations. Elle permet de voir le

volume de donnée, le nombre d’images, le nombre de personne. Puis elle intègre un outil statistique

permettant de représenter les données plus facilement sous forme graphique pour le sexe et la

nationalité, la profession.

Figure 4.22 : Statistiques fournis par l’application.

Page 74: MEMOIRE en vue de l’obtention du DIPLOME de Licence

63

De plus, en cliquant sur le « propriétés du système », on peut consulter toutes les propriétés de

l’ordinateur.

Figure 4.23 : Fenêtre « propriétés système »

Pour se dialoguer, en entrant le curseur sur l’icône « message » (bleu-vert), on peut envoyer des

messages publiques ou privés.

Figure 4.24 : Exemple d’envoie et réception de message pour l’application

Page 75: MEMOIRE en vue de l’obtention du DIPLOME de Licence

64

4.5 Conclusion

Ce dernier chapitre est consacré sur la réalisation de notre projet. C’est une partie d’études et de

conception de l’application. Nous avons décrit en premier lieu les différents besoins auxquels

l’application devra répondre ainsi que l’objectif du projet. Puis, les différents outils matériels et

logiciels ainsi que les langages utilisés pour le développement ont été détaillés. Ainsi, on a passé à

la conception de la base de données en terminant par une présentation de quelques interfaces

décrivant les fonctionnalités conçues de l’application.

Page 76: MEMOIRE en vue de l’obtention du DIPLOME de Licence

65

CONCLUSION GENERALE

Dans ce mémoire, on s’intéresse à la reconnaissance du visage, en utilisant le réseau de neurones

artificiel VQ. L’objectif de ce mémoire étant de développer une application permettant d’identifier

la personne à partir de son portrait, soit complet ou non. Nous avons privilégié deux aspects clés

intervenants dans le système biométrique : apprentissage et reconnaissance.

Ainsi, nous avons présenté l’aspect du système biométrique qui domine actuellement en termes

d’indentification et d’authentification de personnes. Son architecture est bien organisée avec une

performance excellente. Elle présente des multitudes de technologies différentes.

Ensuite, nous avons présenté en revue les méthodes les plus connues de la détection du visage en

focalisant sur les principaux algorithmes de la reconnaissance du visage, qui se divisent en trois

catégories à savoir les méthodes globales, locales et hybrides. Nous avons décrit leurs avantages et

leurs inconvénients afin de dégager les problèmes liés à leur application dans un environnement

réel. De ce fait, un système de reconnaissance du visage est efficace au cas où les images seraient

bien cadrées et prises dans de bonnes conditions de luminosité. Si non, sa performance se dégrade.

On utilise le réseau de neurones artificiel afin de résoudre ce problème si bien que les neurones

travaillent ensemble. A l’aide des coefficients de connectivité, on relie chaque neurone entre eux.

Cette liaison représente la force de ses connexions. Grâces aux algorithmes d’apprentissage, on

obtient un réseau fonctionnant selon l’application que l’on désire.

Enfin, nous avons abordé la phase de conception et de réalisation de l’application en commençant

par l’identification des différents besoins requis et recensé, pour passer à la phase de conception.

Il se focalise sur la description de l’algorithme de type « machine Learning » afin de détecter le

visage. Ainsi, on a choisi le réseau VQ ou « Vector Quantifization » de type Kohonen dans ce projet

entant donné sa capacité de classification. On passe ensuite à la création de la base de données

utilisée pour l’application. Puis, on entame la programmation de l’interface homme machine (IHM).

On termine par la présentation d’une série de tests effectuée afin de s’assurer du bon fonctionnement

des différentes fonctionnalités conçues de notre application. Celle-ci permettra d’identifier une

personne à partir de son portrait soit complet ou non. De plus, elle nous offre un outil de gestion de

ces identités.

Ainsi, ce travail nous a permis d’exploiter les points forts de diverses technologies de

télécommunications et d’informatique afin de permettre à tout organisme ou organisation de mettre

en place le système biométrique basé sur la reconnaissance du visage.

Page 77: MEMOIRE en vue de l’obtention du DIPLOME de Licence

66

ANNEXE 1 : NEURONE BIOLOGIQUE

Le nombre de neurones biologiques, dans le cerveau humain, est approximativement au nombre de

100 milliards. Le neurone est une cellule vivante, doté d’une capacité de traiter et de transmettre des

informations sous formes de signaux électriques entre eux à l’aide de ses différentes connexions que

l’on appelle synapse. De ce fait, ils reçoivent ces signaux par de extensions très ramifiées de leur

corps cellulaires (dendrites) et envoient l’information par de longs prolongements (les axones) afin

d’obtenir un résultat. On compare ce dernier à un seuil puis le neurone devient actif si ce seuil est

dépassé.

Un neurone typique a plusieurs composants. On peut citer quatre parties distinctes [24] :

le corps cellulaire : il contient le noyau de la cellule nerveuse où l’influx nerveux prend sa

naissance, qui représente l’état d’activé du neurone.

les dendrites : Ils sont des ramifications tubulaires courtes formant une espèce d’arborescence

autour de corps cellulaire. Ils sont des récepteurs principaux du neurone.

l’axone : il est une longue fibre qui se ramifie à son extrémité. Il assure le transport des

signaux émis par le neurone.

la synapse : elle est essentielle dans le fonctionnement du système nerveux. Elle joue le

rôle dans la connexion entre la dendrite et l’axone de deux neurones.

Figure A1.01 : Neurone biologique

Page 78: MEMOIRE en vue de l’obtention du DIPLOME de Licence

67

ANNEXE 2 : SCRIPT SQL POUR LA CREATION DE LA BASE DE DONNEES

#------------------------------------------------------------

# Script MySQL.

#------------------------------------------------------------

#------------------------------------------------------------

# Table: Personne

#------------------------------------------------------------

CREATE TABLE Personne(

idPers int (11) Auto_increment NOT NULL ,

nom Varchar (25) ,

prenom Varchar (25) ,

Date_naissance Date ,

lieu_naissance Varchar (25) ,

numero_cin Varchar (15) ,

date_cin Date ,

adresse Varchar (25) ,

taille Varchar (25) ,

sexe Varchar (25) ,

nationalite Varchar (25) ,

prof Varchar (25) ,

nom_pere Varchar (25) ,

nom_mere Varchar (25) ,

date_ajout Date ,

heure_ajout Time ,

idImg Int ,

PRIMARY KEY (idPers )

)ENGINE=InnoDB;

#------------------------------------------------------------

# Table: Utilisateur

#------------------------------------------------------------

Page 79: MEMOIRE en vue de l’obtention du DIPLOME de Licence

68

CREATE TABLE Utilisateur(

id_user int (11) Auto_increment NOT NULL ,

nom_utilisateur Varchar (25) ,

mot_passe Varchar (25) ,

ImAdim Mediumblob ,

type Varchar (25) ,

PRIMARY KEY (id_user )

)ENGINE=InnoDB;

#------------------------------------------------------------

# Table: Image_pers

#------------------------------------------------------------

CREATE TABLE Image_pers(

idImg int (11) Auto_increment NOT NULL ,

nom_image Varchar (25) ,

image Mediumblob ,

PRIMARY KEY (idImg )

)ENGINE=InnoDB;

#------------------------------------------------------------

# Table: message

#------------------------------------------------------------

CREATE TABLE message(

id_sms int (11) Auto_increment NOT NULL ,

src Varchar (25) ,

dest Varchar (25) ,

sms Text ,

date_sms Date ,

PRIMARY KEY (id_sms )

)ENGINE=InnoDB;

#------------------------------------------------------------

# Table: gerer

#------------------------------------------------------------

Page 80: MEMOIRE en vue de l’obtention du DIPLOME de Licence

69

CREATE TABLE gerer(

idPers Int NOT NULL ,

id_user Int NOT NULL ,

PRIMARY KEY (idPers ,id_user )

)ENGINE=InnoDB;

#------------------------------------------------------------

# Table: envoyer

#------------------------------------------------------------

CREATE TABLE envoyer(

id_user Int NOT NULL ,

id_sms Int NOT NULL ,

PRIMARY KEY (id_user ,id_sms )

)ENGINE=InnoDB;

ALTER TABLE Personne ADD CONSTRAINT FK_Personne_idImg FOREIGN KEY (idImg)

REFERENCES Image_pers(idImg);

ALTER TABLE gerer ADD CONSTRAINT FK_gerer_idPers FOREIGN KEY (idPers)

REFERENCES Personne(idPers);

ALTER TABLE gerer ADD CONSTRAINT FK_gerer_id_user FOREIGN KEY (id_user)

REFERENCES Utilisateur(id_user);

ALTER TABLE envoyer ADD CONSTRAINT FK_envoyer_id_user FOREIGN KEY (id_user)

REFERENCES Utilisateur(id_user);

ALTER TABLE envoyer ADD CONSTRAINT FK_envoyer_id_sms FOREIGN KEY (id_sms)

REFERENCES message(id_sms);

Page 81: MEMOIRE en vue de l’obtention du DIPLOME de Licence

70

ANNEXE 3 : CONFIGURATION DE NETBEANS AVEC L’OPENCV

Pour intégrer la librairie de l’OpenCV à un programme en java, il nécessite une configuration à

faire.

Après l’extraction de l’OpenCV.rar, il suffit de suivre la démarche suivante :

- Créer une nouvelle variable d’environnement : il consiste à copier le fichier

opencv_java2413.dll dans C:\opencv\build\java\x86\opencv_java2413.dll vers

C:\Windows\System32\

- Sélectionner le projet java dans Netbeans qu’on veut intégrer le libraire :

Clique droite sur le projet sélectionné puis aller à la « proprities », ensuite « run ».

Il faut mettre « -Djava.library.path="C:\opencv\build\java\x86" » dans le champ

« VM Options ».

Figure A3.01 : Configuration de OpenCV dans Netbeans

Page 82: MEMOIRE en vue de l’obtention du DIPLOME de Licence

71

ANNEXE 4 : CONFIGURATION DU SERVEUR MYSQL SOUS CENTOS 7

CentOS est une distribution Linux de Red Hat. Etant un système d’exploitation Linux, il est libre

alors que l’utilisateur peut le modifier et le redistribuer. La spécification choisie pour le type

d’installation est serveur web de base afin d’installer tous les paquets nécessaires.

Nous allons utiliser la base de données Mariadb pour le serveur MySQL.

Pour avoir accéder à distant au serveur MySQL, les étapes suivantes ont été exécutées :

Démarrage du serveur MySQL : systemctl start mariadb

Création d’utilisateur : Par défaut dans MySQL, « root » est l’utilisateur. Alors il est

évident de créer un nouvel utilisateur avec cette commande :

Grant all privileges on smart.* to ‘user’@’%’ identified by ‘password‘

Ouverture des ports du firewall : Il est nécessaire d’ouvrir le port 3306 depuis toutes

les machines avec la commande :

iptables –a input –i eth0 –p tcp –destination-port 3306 –j accept

Page 83: MEMOIRE en vue de l’obtention du DIPLOME de Licence

72

BIBLIOGRAPHIE

[1] A. Rampsay, « introduction à la biométrie », http://www.ac-poitiers.fr/electronique/IMG/doc/

introduction_a_la_biometrie.doc, Déc. 2016.

[2] J. D. Woodward, J. C. Horn, J. Gatune, A. Thomas, « Biometrics A look at facial Recognition »,

RAND Public Safety and Justice for the Virginia State Crime Commission, 2003.

[3] M. Y. Jung, « Biometric Market and Industry Overview », World Customs Organisation

Brussels : Belgium, 2005.

[4] D. Ichbiah, « les tendances de la biométrie », http://www.futura-sciences.com/magazines/high-

tech/infos/dossiers/d/technologietendances-biometrie-965/, Déc. 2016.

[5] A. K. Jain, L. Hong, S. Pankanti, « Biometrics: Promising Frontiers for Emerging Identification

Market », Communications of the ACM, pp. 91-98, Fév. 2000.

[6] S. Liu, M. Silveman, « A partical Guide to Biometric Security Technology », IEEE Computer

Society, IT Pro-Security, 2006.

[7] D. Blackburn, M. Bone, P. J Phillips, « Face recognition vendor test 2000 ».

http://www.Frvt.org, Janv. 2017.

[8] F. Michel, « Introduction à la biométrie », http://www.infcom.rnu.tn/content/pdf/cours/aline-

saidane/systeme-identification/Cours-biometrie-presentation2.pdf , Jan.2017.

[9] G. F. Maxwell, « Empreinte palmaire : à plein main »,

http://www.futura-sciences.com/tech/dossiers/robotique-bionique-robotique-inspiree-nature-816/,

Jan. 2017.

[10] L. Rabiner and B. Juang, « Hidden Markov Models for Speech Recognition », JSTOR :

Technometrics Volume 33 Number 3, 1991.

[11] J. G. Daugman, « How iris recognition works », IEEE Trans. Circuits Syst.

Video Technol. 21 –30 , 2004.

[12] P. Gellert, « Biométrie écriture », ISIR : Paris, 2014.

[13] M. Yang, D. J. Kriegman, N. Ahuja, « Detecting faces in images: A survey », IEEE Transactions

on Pattern Analysis and Machine Intelligence, vol. 24, pp. 34–58, 2002.

[14] T. Kanade, « Picture Processing by Computer Complex and Recognition of Human Faces »,

PhD thesis, Kyoto Univ., 1973.

[15] R. Brunelli, T. Poggio, « Face recognition : features versus templates », IEEE Trans. Pattern

Anal. Mach. Intell, pp-1042-1062, 1993.

Page 84: MEMOIRE en vue de l’obtention du DIPLOME de Licence

73

[16] L. C. De Silva, K. Aizawa, and M. Hatori, « Detection and tracking of facial features by using

a facial feature model and deformable circular template », IEICE Trans. Inform. Systems E78-D

(9), pp. 1195-1207, 1995.

[17] R. Gross, J. Shi, J. Cohn. « Quo Vadis Face Recognition? ». Third Workshop on Empirical

Evaluation Methods in computer Vision, Déc. 2001.

[18] M. Barlett, H. Lades, T. Sejnowski, « Independent component representations for face

recognition », Spie Press: San Jose, Jan. 1998.

[19] W. Gao, S. Shan, « face Verification for access Control, Biometrics Solutions for

Authetification in an E-Worlf », Kluwer Academic Publishers, pp. 339-376, 2002.

[20] M. Jean-Baptiste, « Evaluation de réseaux de neurones », ISIR (UPMC), Paris, France,

2009.

[21] H. CHAOUI, « Conception et comparaison de lois de commande adaptatif à base de réseaux

de neurones pour une articulation flexible avec non-linéarité dure », Université de QUEBEC A

TROIS-RIVIERES, Déc. 2012.

[22] B. Aîda, R. Alexandre, N.A. Eva, « Exposé les réseaux de neurones » 2004,2005.

[23] C. Marie, « Les réseaux de neurones : historique, méthodes et applications », Université Paris

1- Sorbonne, 2010.

[24] P. jean, « Introduction aux réseaux de neurones »,

https://www.lrde.epita.fr/~sigoure/cours_ReseauxNeurones.pdf. Jan. 2017.

[25] M. Jean-Baptiste, « Evaluation de réseaux de neurones », ISIR : Paris, 2009.

[26] M. Parizeau, « Réseaux neurones gif-21140 et gif-64326 » Automne : Laval, 2004.

[27] Y. Bennani, « Apprentissage par réseaux de neurones artificiels », EPAT : France, 2014.

[28] G. Dreyfus, « Reconnaissance de formes par réseau de neurones »,

http://www.timotheecour.com/papers/vision_system.pdf, Fév. 2017.

[29] J. J. Hopfield. « Neural networks and physical systems with emergent collective computational

abilities », Proceedings of the National Academy of Sciences, pp. 2554-2558, 1982.

[30] L. E. RANDRIARIJAONA, « Programmation orientée objet », Cours I2-TCO, Dép. TCO. -

ESPA., A.U. : 2014-2015

[31] N. M. RAVONIMANANTSOA, « Système d’information et de base de données », Cours I3-

TCO, Dép. TCO. -ESPA., A.U. : 2015-2016

Page 85: MEMOIRE en vue de l’obtention du DIPLOME de Licence

74

FICHE DE RENSEIGNEMENTS

Nom : ANDRIAMIARANARIVO

Prénom : Mahery

Adresse : Antsaramandroso Ambohitompoina 109

[email protected]

(+261)337237413

Titre du mémoire :

CONCEPTION ET REALISATION D’UN SYSTEME BIOMETRIQUE BASE SUR LA

RECONNAISSANCE DU VISAGE PAR RESEAUX DE NEURONES ARTIFICIEL

Nombres de pages : 75

Nombres de tableaux : 2

Nombre de figures : 45

Directeur de mémoire : M. RAVONIMANANTSOA Ndaohialy Danà

[email protected]

(+261)341401406

Page 86: MEMOIRE en vue de l’obtention du DIPLOME de Licence

RESUME

La reconnaissance du visage est actuellement en plein essor. Elle peut être de valeur significative

dans la sécurité et les applications de commerce. L’objectif de ce projet est la mise en œuvre d’un

système d’identification de personnes. Pour cela, nous avons utilisé un modèle Biométrique. Cette

identification s’appuie sur l’image soit portrait complet ou non. Cette image est normalisée suivant

l’algorithme de prétraitement afin de fournir les entrées au réseau. Ainsi, le système de

reconnaissance du visage est basé sur l’utilisation de réseau de neurones VQ ou « Vector

Quantifization ». En effet, nous construisons une base de données afin de reconnaître une personne

parmi l’ensemble.

Mots clés : biométrie, reconnaissance, visage, réseau de neurones, Vector Quantifization.

ABSTRACT

The recognition of face is currently in full flight. It can be of meaningful value in the security and

the applications of trade. The objective of this project is to create a system of identification of people.

For it, we used a Biometric model. This identification leans on the picture complete portrait or no.

This picture is normalized according to the algorithm of post-treatment in order to provide the

entries to the network. Then, the system of face recognition is based by use of neural network VQ

or « Vector Quantifization ». Indeed, we construct a data base in order to recognize a person among

the whole.

Key words: biometry, recognition, face, network of neurons, Vector Quantifization.