Download pdf - Reconnaissance faciale

Transcript
Page 1: Reconnaissance faciale

PROJET DE FIN D’ETUDES

POUR OBTENIR LE

DIPLOME NATIONAL D’INGENIEUR EN INFORMATIQUE

DETECTION ET RECONAISSANCE

DE VISAGE

Réalisé par : Encadré par :

Mohamed Aymen FODDA Mme. OLFA TRIKI

Mr. Izhar MAHJOUB

19 Octobre 2010

Page 2: Reconnaissance faciale
Page 3: Reconnaissance faciale

Dédicaces

Je dédie ce projet de fin d’études

A mon père Chedli et ma mère Najoua en témoignage de leur affectation,

leurs sacrifices et de leurs précieux conseils qui m’ont conduit à la réussite

dans mes études ;

A mon frère Badreddine et mes sœurs Narjes et Hela en leurs souhaitant

la réussite dans leurs études et dans leurs vies,

A ma femme Wafa qui n’a jamais épargné un effort pour m’aider et

m’encourager,

A mon oncle Salah qui a été toujours près de moi, pour m’écouter et me

soutenir,

Et à tous ceux que j’aime et qui m’aiment.

Page 4: Reconnaissance faciale

Remerciements

C’est pour moi un plaisir autant qu’un devoir de remercier toutes les

personnes qui ont pu contribuer de près ou de loin à l’’accomplissement de

ce projet.

Ainsi, j’exprime ma gratitude et je tiens à remercier Mr. Kamel Hamrouni

et Mme Olfa Triki, qui m’ont encadré, et qui n’ont épargné aucun effort

pour m’orienter afin que je puisse mener à bien ce projet.

Mes vifs remerciements vont à Mr. Tahar Ben Lakhdhar, Président

fondateur d’Esprit et à Mr. Izhar Mahjoub, Directeur général de la

société Narsil Technology.

Je saisis aussi l’occasion pour remercier tout le corps professoral et

administratif de l’Ecole Supérieure Privée d’Ingénieurs de Tunis

« Esprit ».

Enfin, je remercie affectueusement tous ceux qui m’ont soutenu dans mes

études.

Page 5: Reconnaissance faciale

Résumé

L’analyse du contenu des images et la reconnaissance de formes sont des domaines

d’application en pleine expansion de nos jours, notamment grâce à l’efficacité accrue

offerte par la puissance des machines.

La reconnaissance du visage est l’une des techniques les plus étudiées. En effet, elle

correspond à ce que les humains utilisent par l'interaction visuelle.

Le projet dans lequel s’inscrit ce travail consiste à la réalisation d’un module de

reconnaissance faciale. Il devra être intégré à un système de gestion de licences

destiné aux fédérations de football.

Mot clés : biométrie, détection de visage, descripteur de Haar, reconnaissance de visage, AdaBoost,

viola-jones.

ABSTRACT

Content analyses of images and forms recognition are application domains in full

expansion nowadays, notably thanks to the increased efficiency offered by the power

of machines.

Face recognition is one of the most studied techniques, since it corresponds to what

Humans use by visual interaction.

This work is part of a project which aim is realize a facial recognition module. It is

aimed to be integrated within a license management system for football federations.

Keywords: biometrics, face detection, Haar descriptor, face recognition, AdaBoost, viola-jones.

Page 6: Reconnaissance faciale

Sommaire Chapitre 1 - Contexte de projet.................................................................................................. 3

1. Introduction ........................................................................................................................... 4

2. Présentation de « Narsil Technology » ................................................................................. 4

2.1. Services de « Narsil Technology » ................................................................................. 4

2.2. Département de Recherche et Développement ............................................................... 5

3. Description détaillée du projet ............................................................................................... 6

3.1. Introduction .................................................................................................................... 6

3.2. Limites ............................................................................................................................ 7

3.3. Travail demandé et objectifs .......................................................................................... 8

4. Conclusion ............................................................................................................................. 9

Chapitre 2 - Etat de l’art .......................................................................................................... 10

1. Introduction ......................................................................................................................... 11

2. Détection de visage.............................................................................................................. 11

2.1 Approche basée sur la reconnaissance ........................................................................... 12

2.2 Approche basée sur les caractéristiques invariantes ...................................................... 13

2.3 Approche basée sur l’appariement de gabarits (Template matching)........................... 14

2.4 Approche basée sur l’apparence .................................................................................... 14

3. Reconnaissance de visages .................................................................................................. 18

3.1. Méthodes globales ........................................................................................................ 18

3.2. Méthodes locales .......................................................................................................... 19

3.3. Méthodes hybrides........................................................................................................ 20

4. Conclusion ........................................................................................................................... 21

Chapitre 3 - Analyse des besoins ............................................................................................. 22

1. Introduction ......................................................................................................................... 23

2. Besoins fonctionnels ............................................................................................................ 23

3. Besoins non fonctionnels ..................................................................................................... 24

4. Diagramme des cas d’utilisation ......................................................................................... 24

4.1 Diagramme de cas d’utilisation globale ........................................................................ 25

4.2 Diagramme des cas d’utilisation détaillée ..................................................................... 25

5. Diagramme de séquences système ...................................................................................... 26

6. Conclusion ........................................................................................................................... 27

Chapitre 4 - Conception ........................................................................................................... 28

1. Introduction ......................................................................................................................... 29

Page 7: Reconnaissance faciale

2. Schéma fonctionnel ............................................................................................................. 30

3. Module de prétraitement ...................................................................................................... 31

3.1 Etirement d’histogramme (Normalisation des niveaux de gris) .................................... 31

3.2 Filtre Médian ................................................................................................................. 31

4. Détection de visage.............................................................................................................. 32

4.1 Fonction de classification .............................................................................................. 32

4.2 Image intégrale .............................................................................................................. 33

4.3 Bloc de décision ............................................................................................................ 33

5. Reconnaissance de visage .................................................................................................... 34

5.1 Détection des composantes faciales .............................................................................. 34

5.2 Extraction des paramètres .............................................................................................. 35

5.3 Signature ........................................................................................................................ 38

5.4 Identification.................................................................................................................. 39

6. Diagramme de séquence ...................................................................................................... 40

7. Diagramme des classes ....................................................................................................... 41

Chapitre 5 - Réalisation ........................................................................................................... 43

1. Introduction ......................................................................................................................... 44

2. Présentation de la bibliothèque OpenCV............................................................................. 44

2.1 Classifieur OpenCV....................................................................................................... 44

2.2 Implémentation .............................................................................................................. 44

2.3. Expérience .................................................................................................................... 46

3. Reconnaissance de visage .................................................................................................... 49

3.1. Implémentation ............................................................................................................. 49

3.2 Expérience ..................................................................................................................... 51

4. Interface utilisateurs ............................................................................................................ 53

4 .1 Introduction .................................................................................................................. 53

4 .2 Fenêtre principale ......................................................................................................... 53

4 .3 Apprentissage des photos ............................................................................................. 54

4 .4 Fenêtre résultat ............................................................................................................. 54

5. Résultats .............................................................................................................................. 54

6. Diagramme .......................................................................................................................... 55

7. Conclusion ........................................................................................................................... 56

CONCLUSION GENERALE ................................................................................................. 57

Références bibliographiques ................................................................................................... 59

Page 8: Reconnaissance faciale

1

INTRODUCTION GENERALE

Savoir déterminer de manière à la fois efficace et exacte l’identité d’un individu est devenu un

problème critique car de nos jours l’accès sécurisé et la surveillance constituent un sujet de

très grande importance. En effet bien que nous ne nous en rendions pas toujours compte, notre

identité est vérifiée quotidiennement par de multiples organisations : lorsque nous accédons à

notre lieu de travail, lorsque nous utilisons notre carte bancaire, lorsque nous nous connectons

à un réseau informatique, etc.

Il existe traditionnellement deux manières d’identifier un individu. La première méthode est

fondée sur une clef connue uniquement par l’utilisateur telle qu’un mot de passe utilisé au

démarrage d’une application ou un code qui permet d’activer un téléphone portable. La

seconde méthode est fondée sur la possession d’un objet tel qu’une pièce d’identité, une clef,

ou un badge. Ces deux méthodes peuvent être utilisées de manière complémentaire afin

d’obtenir une sécurité accrue. Cependant, elles présentent un double inconvénient ; en effet,

l’utilisation d’un mot de passe nécessite sa mémorisation et le fait d’en avoir plusieurs rend la

tâche plus difficile, le noter engendre le risque de perte ou de vol. De même, l’utilisation de

cartes magnétiques, de clefs ou de badges n’échappe pas au risque de vol par des imposteurs

qui sont capables de falsifier leur identité avec une facilité remarquable.

Toutes ces difficultés ont donné naissance à l’idée d’utiliser des caractéristiques biométriques

comme moyen d’identification. En effet, chaque individu possède des caractéristiques qui lui

sont propres : sa voix, ses empreintes digitales, les traits de son visage, la forme de sa main, sa

signature et jusqu'à son ADN. Ces données dites « biométriques » peuvent ainsi être utilisées

pour l’identifier. Si autrefois ces méthodes étaient surtout utilisées par la police, aujourd’hui

un individu a besoin d’être identifié dans nombre de contextes : pour pénétrer dans son

immeuble ou ouvrir la porte de son appartement, retirer de l’argent à un distributeur, pénétrer

dans des bâtiments et y circuler librement, accéder à son poste de travail, à sa messagerie, à

Internet et plus généralement, partout où la sécurité est requise.

Différentes techniques d’identification fondées sur les caractéristiques physiques de

l’utilisateur on été développées par la recherche scientifique. Ces techniques, généralement

appelées méthodes biométriques, ont donné naissance à plusieurs produits commerciaux

d’identification que l’on peut trouver actuellement sur le marché.

Face à la contrainte de l'authentification par mots de passe et la recherche de l’identité réelle,

la biométrie [3] apporte la simplicité et le confort aux utilisateurs. L’avantage principal de ce

Page 9: Reconnaissance faciale

2

que l’on appelle mot de passe biométrique est lié au fait qu’il ne pourrait pas être volé, oublié

ou transmis à une autre personne. En effet, chaque membre de la population possède des

caractéristiques biométriques qui lui sont propres, et qui sont relativement stables. Par

conséquent, il est fort possible que dans un futur relativement proche, le mot de passe

biométrique remplace le mot de passe conventionnel dans les applications nécessitant un

niveau élevé de sécurité.

Le visage est certainement la caractéristique biométrique que les humains utilisent le plus

naturellement pour s’identifier entre eux. La reconnaissance de visages est par conséquent

devenue l’une des branches de la vision par ordinateur qui remporte un grand succès et qui est

en perpétuel développement. Le but d’un système de reconnaissance de visages est de simuler

le système de reconnaissance humain par la machine pour automatiser certaines applications

telles que : la télésurveillance, le contrôle d’accès à des sites, l’accès à des bâtiments

sécurisés, etc.

Le projet présenté dans ce rapport consiste à créer une application de détection et de

reconnaissance de visage en utilisant la biométrie dans le cadre de l’amélioration du logiciel

Licence+ destiné aux fédérations de football. Il s’agit, en réalité, de reconnaître les visages

des joueurs afin de contrôler leurs licences.

Le présent rapport est constitué de cinq chapitres :

Le premier, intitulé « Contexte général du projet », a pour objectif de mettre le projet dans

son contexte en présentant l’entreprise d’accueil ainsi que le besoin qui a donné naissance à

ce projet.

Le deuxième chapitre est l’ « Etat de l’art ». Il vise la présentation des méthodes existantes

pour résoudre les différentes problématiques du projet. C’est au niveau de ce chapitre que

nous effectuons l’ensemble des prises de décision concernant les méthodes qui vont être

effectivement utilisées pour mettre en œuvre notre application.

Le troisième chapitre, intitulé « Analyse des besoins », vise à analyser la faisabilité

organisationnelle et technique du projet. Le quatrième chapitre, dénommé « conception »

présentera la conception globale et détaillée qui sera traitée. Le dernier chapitre présentera les

réalisations effectuées tout au long du projet ainsi que l’ensemble des tests d’exécution. Enfin

une conclusion générale clôturera le rapport.

Page 10: Reconnaissance faciale

3

Chapitre 1 - Contexte de projet

Contexte du projet

1 Chapitre

Page 11: Reconnaissance faciale

4

1. Introduction

Notre projet de fin d’études, intitulé « Reconnaissance faciale » est proposé par

« Narsil Technology », une entreprise Tunisienne spécialiste des solutions

d’identification sécurisée et de la personnalisation des cartes plastiques.

Deux parties principales constituent ce chapitre : dans la première, nous présenterons

l’entreprise d’accueil « Narsil Technology », son organisation, ses services ainsi que

le département de recherche et développement dans lequel ce projet a été élaboré. La

deuxième sera consacrée à la description du projet.

2. Présentation de « Narsil Technology »

Narsil Technology a été créée en février 1999, par une équipe d’ingénieurs de

l’information et des télécommunications.

Narsil Technology, représentant de La Multinationale Datacard Group en Tunisie, est

un fournisseur de solutions à base de cartes à puce, de logiciels et applications

incluant les cartes intelligentes, les cartes multi applicatives ainsi que du service allant

du conseil à la personnalisation.

Son métier est le développement de solutions basées sur la technologie des cartes à

puces et la personnalisation des cartes plastiques. Elle exploite ce support en y

ajoutant un savoir-faire en matière de développement de bases de données et de

systèmes en temps réel pour servir les besoins grandissants des entreprises et des

organisations.

2.1. Services de « Narsil Technology »

Les services offerts par « Narsil Technology » sont :

La conception et la réalisation de solutions exploitant la carte à puce.

La conception et le déploiement de systèmes de fidélisation de la clientèle

à travers des programmes marketing avancés.

La conception et le développement et l’intégration de systèmes

d’information utilisant oracle, Microsoft SQL Server/MySQL

La migration de systèmes d’information existants.

La conception et la mise en place de politiques de sécurité réseau à l’aide

de systèmes d’authentification par carte.

Page 12: Reconnaissance faciale

5

Gestion administrative

Gestion des ressources humaines

Gestion de l’approvisionnement

Directeur Général

Assistante de Direction

Responsable Qualité

Contrôleurs Qualité

Responsable Financier

Direction Ingénierie

Département Technique &

Production

Département Recherche et

Développement

Techniciens informaticiens

Responsable Commercial

Ingénieurs informaticiens

Figure 1.1 : Organigramme de la société Narsil Technology

2.2. Département de Recherche et Développement

Le Département Recherche et Développement de Narsil Technology est lié

directement à la direction ingénierie (Figure 1.1). Il est constitué de 6 ingénieurs

informaticiens qui développent des solutions innovantes pour ses propres besoins

ainsi que ceux de ses clients partenaires.

Les travaux de recherche et développement concernent principalement les

thématiques liées à l’exploitation des cartes à puce, aux systèmes de fidélisation de la

clientèle, à la conception et au développement de systèmes d’information et enfin à la

biométrie.

On peut ainsi citer parmi les projets dans lesquels ce département a été fortement

impliqué les projets suivants :

Fidel + : est un système de paiement électronique (PME) dont le support est la

carte à puce. Cette carte est pré-chargée d’avance d’un montant de crédit

Page 13: Reconnaissance faciale

6

alloué et permet à son détenteur de régler ses achats dans les magasins du

groupe émetteur.

Licence + : est un système informatique de gestion et d’exploitation des

licences, conçu spécialement pour répondre aux besoins spécifiques des

organismes sportifs.

3. Description détaillée du projet

3.1. Introduction

En 2009, « Narsil Technology » devient le partenaire privilégié du monde du football

en Tunisie et en Afrique dans le cadre du lancement du projet « WIN IN AFRICA

WITH AFRICA » par la FIFA. Elle a pris en charge le déploiement du système

Licence+ pour toutes les fédérations africaines.

Licence+ est une plateforme de communication pour l’administration du football. Elle

inclut la gestion administrative (licences, carrière, historique…), la gestion des

compétitions, des feuilles de match, des événements, ainsi que la gestion des relations

internes sous un même et unique portail.

Le système est développé pour répondre aux besoins spécifiques et particuliers du

monde sportif. Notons en particulier que la solution doit être capable de suivre les

évolutions réglementaires et de s’adapter à de nouvelles fonctionnalités.

Licence+ reçoit et centralise les informations provenant de différentes sources

(ligues, clubs, Fédérations internationales, DTN…). Toutes ces informations sont

traitées, transformées, stockées puis redistribuées en fonction des besoins des

utilisateurs et sur différents canaux.

Cela permet d’établir des statistiques fiables et pertinentes sur les matchs, les joueurs,

les régions… Partager la même vue globale avec des données enfin unifiées, fiables et

cohérentes simplifie évidemment la communication entre les différents acteurs du

football.

Narsil Technology se propose, en plus du déploiement de Licence +, de rajouter

quelques modules et améliorations à la version existante (voir figure 1.2).

Page 14: Reconnaissance faciale

7

Notre projet de fin d’études s’inscrit dans ce cadre. En effet, Il prend en charge l’étude

et la réalisation d’un module de reconnaissance de visage, afin de renforcer le contrôle

des licences à l’aide des photos d’identité des joueurs.

3.2. Limites

Par analogie à la carte d’identité nationale pour un individu, la licence d’un joueur est

scrupuleusement personnelle et les données qu’elle renferme sont aussi importantes

pour le club auquel appartient ce dernier, que pour les organismes gérant les

différentes compétitions auxquelles le club est autorisé à participer.

Le renforcement de la sécurité de la licence est par conséquent une obligation

primordiale.

Ainsi, le passage avec Licence+, à des licences numériques, devra-t-il mettre en place

des moyens de sécurité informatique afin de garantir la bonne utilisation de cette

plateforme.

La sécurité informatique, d'une manière générale, consiste à garantir que les

ressources matérielles ou logicielles d'une organisation soient uniquement utilisées

dans le cadre prévu. Elle a généralement cinq principaux objectifs :

L'intégrité : vérifier si les données n'ont pas été falsifiées

La confidentialité : s’assurer que seules les personnes autorisées auront accès

aux ressources échangées.

La disponibilité : garantir l'accès à un service ou à des ressources.

L'authentification : assurer l'identité d'une entité (personne, ordinateur,

etc…).

La principale limite de Licences+ réside dans l’absence d’une solution de sécurité des

données fournies par les clubs. En particulier, on peut facilement contourner les

données personnelles d’un joueur en changeant sa photo d’identité. Il est alors

possible qu’un joueur puisse avoir plusieurs licences avec différentes photos, ce qui

génère des données falsifiées dans la base de données.

Page 15: Reconnaissance faciale

8

Figure 1.2 : Synoptique du système de gestion de licence

3.3. Travail demandé et objectifs

Nous proposons donc de développer un mécanisme de reconnaissance du visage pour

contrôler l’unicité des licences des joueurs.

Le système doit par conséquent effectuer les tâches suivantes :

La détection d’un nouveau fichier de type « JPG » généré pendant la phase du

découpage du système Licence+ qui consiste à scanner la licence du joueur

afin de la découper en 5 photos, dans notre cas nous intéressons à la photo qui

contient le visage du joueur.

La localisation automatique du visage dans l’image.

La capture de données caractéristiques du visage.

La recherche de visages similaires existants dans la base de données.

Système de

reconnaissance

faciale

Page 16: Reconnaissance faciale

9

4. Conclusion

Ce chapitre a abordé le contexte général de notre projet de fin d’études. La

présentation de l’entreprise d’accueil « Narsil Technology » a été suivie d’une

description de la problématique et des objectifs du projet proposé ainsi que des

fonctionnalités principales autour desquelles il s’articule…

Avant d’envisager une solution algorithmique à implémenter, il convient maintenant

d’étudier l’état de l’art en matière de détection et de reconnaissance faciale.

Page 17: Reconnaissance faciale

10

Chapitre 2 - Etat de l’art

2 Chapitre

Etat de l’art

Page 18: Reconnaissance faciale

11

1. Introduction

Ce projet se concentre principalement sur deux tâches : la détection et la

reconnaissance de visages.

Il existe dans la littérature une multitude de méthodes de détection de visage et

d’identification. Nous passerons en revue, dans ce chapitre, les techniques les plus

utilisées.

Le principal problème dans la détection et la reconnaissance d’un objet est relatif aux

différentes représentations possibles de celui-ci. Ainsi la détection et la

reconnaissance du visage dépendent de plusieurs facteurs, dont les plus étudiés sont :

La position : sur une image, un visage peut être vu de face, de profil, ou d’un

angle quelconque.

L’expression faciale : l’apparence d’un visage dépend aussi de son expression.

La présence d’attributs : une personne peut avoir un chapeau, des lunettes, une

moustache, une barbe, une cicatrice….

Les conditions extérieures : la couleur, l’intensité de l’éclairage, la taille, la

texture sont différentes sur chaque image.

L’occultation : une partie du visage peut être cachée par un autre objet ou par

une autre personne.

La couleur : Les êtres humains ont des couleurs de peau différentes, d’où la

différence de la valeur du pixel représentant la peau de chaque personne.

2. Détection de visage

La détection du visage sert à reconnaître un objet dans une image comme étant un

visage et de le distinguer du reste de l'image. La détection du visage humain est une

tâche compliquée vus les facteurs exposés ci-dessus.

Les méthodes de détection de visages ont été classifiées par Yang [Yang 2002] en

quatre approches, voir (tableau 1) :

Approche basée sur la reconnaissance.

Approche basée sur les caractéristiques invariantes.

Approche basée sur l’appariement de gabarits (Template matching)

Approche basée sur l’apparence

Page 19: Reconnaissance faciale

12

Approach Representative Works

Knowledge-based Multiresolution rule-based method

Feature invariant

- Faciale Feature Grouping of edges

- Texture Space Gray-Level Dependence matrix

(SGLD) of face pattern

- Skin Color Mixture of Gaussiean

- Multiple Feature Integration of skin color, size and shape

Template matching

- Predefined face templates Shape template

- Deformable Template Actives Shape Model (ASM)

Appearance-based method

- Eigenface Eigenvector decomposition and

clustering

- Distrubtion-based Gaussien distrubution and multilayer

perceptron

- Neural Network Ensemble of neural network and

arbitration schemes

- Support Vector Machine (SVM) SVM with polynomial kernel

- Naives Bayes Classifier Joint statistics of local appearance and

position

- Hidden Markov Model (HMM) Higher order statistics with HMM

- Information-Theoretical Approch Kullback relative information

Tableau 2.1 : Classification des méthodes de détection de visage

dans une image [Yang, 2002]

2.1 Approche basée sur la reconnaissance

C’est une méthode fondée sur des règles qui représentent les composants principaux

et représentatifs des visages humains. Les règles sont généralement constituées à

partir de la relation entre les caractéristiques du visage. Par exemple, les visages sur

les images ont souvent deux yeux qui sont symétriques, un nez et une bouche. La

relation entre ces membres peut être représentée par la distance entre ces derniers et

leur position.

Un problème se pose avec cette approche, en l’occurrence la difficulté de traduire les

connaissances relatives aux visages humains en règles bien définies, ce qui peut

provoquer des erreurs de détection et rendre le système peu fiable.

Page 20: Reconnaissance faciale

13

2.2 Approche basée sur les caractéristiques invariantes

Cette famille d’algorithme a pour objectif de trouver les caractéristiques structurelles

même si le visage est dans différentes positions, conditions lumineuses ou angle de

vue. Le problème que rencontre cette approche est que la qualité des images peut être

sévèrement diminuée à cause de l’illumination, le bruit ou l’occlusion.

Cependant, Il existe plusieurs propriétés ou caractéristiques invariables du visage dont

les principales sont les suivantes :

2.2.1 La couleur de peau

La couleur de la peau de l’être humain a été utilisée pour la détection des visages et sa

pertinence a été prouvée comme caractéristique spécifique au visage.

Le principe de cette méthode est basé sur l’information couleur pour la discrimination

des pixels de peau ou non-peau. Chaque pixel d’une image couleur est codé dans un

espace couleur (par exemple RGB ou YCrCb, ..).

Cette méthode se résume en trois étapes :

1) Prétraitement de l’image.

2) Choix d’un espace de couleurs.

3) Seuillage et segmentation de la couleur de peau

Figure 2.1: la détection de la couleur de peau.

.

Cette méthode est caractérisée par la rapidité de traitement et par la simplicité de la

décision. En effet le principe est simple et limité à la couleur de peau sans aucune

considération des effets d’échelle et de position. Néanmoins, cette méthode affiche

des détections des faux positifs et peut créer des conflits avec l’arrière plan.

Page 21: Reconnaissance faciale

14

2.3 Approche basée sur l’appariement de gabarits (Template matching)

La détection de visages entiers ou de parties de visage se fait à travers un

apprentissage d’exemples standards de visages. La corrélation entre les images

d’entrées et les exemples enregistrés est calculée et utilisée pour la décision.

2.3.1 Des Faces prédéfinies de visages

Cette technique est utilisée pour classer des objets, elle est très intéressante pour la

détection de visage de par sa facilité d’application.

Le principe de cette méthode basé sur une comparaison effectuée entre une image

quelconque et un modèle prédéfini, dont le but est de calculer la corrélation pour

aboutir à une décision par oui/non. La correspondance est faite pixel par pixel.

Figure 2.2 : Processus de la mise en correspondance

Cette méthode a l’avantage d’être simple mais elle est sensiblement influencée par la

variation d’échelle, de pose et de forme.

2.4 Approche basée sur l’apparence

Cette approche a pour objectif de déterminer les caractéristiques significatives des

visages et des non visages à partir de techniques d’analyse statistique et

d’apprentissage organisés par le biais de modèles de distribution ou par une fonction

discriminante.

La classification visage ou non visage est représentée par une variable aléatoire x

(dérivée d’une image ou d’un vecteur caractéristique).

Parmi les méthodes utilisées dans ce contexte nous citons : Les réseaux de neurones,

les machines à vecteur de support SVM, les modèles cachés de Markov HMM, Viola-

Jones…

Template image

Corrélation I(x, y) O(x, y)

x, y

Image d’entrée Image de sortie

Page 22: Reconnaissance faciale

15

2.4.1 Réseaux de neurone

Les réseaux de neurones sont des outils d’analyse statistique dont l’objectif principal

est la classification. Ils sont utilisés dans plusieurs domaines, et représentent un enjeu

très important.

Nous distinguons les réseaux de neurones les plus répandus et les plus simples : les

perceptrons multicouches (PMC).

Le réseau de neurone détecte l’existence ou non de visage au moyen d’une fenêtre

bien définie (taille des images d’apprentissage). Celle-ci va balayer l’image d’entrée

traitée d’une manière multi-échelles

Afin de réduire la complexité de calcul, les images d’entrée sont tout d’abord

prétraitées.

Figure 2.3: diagramme de la méthode de Rowley.

Le grand avantage des réseaux de neurones réside dans leur capacité automatique

d’apprentissage ce qui permet d’éviter des règles de calcul complexes. Toutefois, est

difficile d’interpréter le modèle construit, ou de déterminer la cause en cas d’erreur du

système.

2.4.2 Méthode de Viola-Jones

La méthode Viola-Jones consiste à utiliser les descripteurs de Haar qui sont

constitués de deux rectangles adjacents, l’un noir et l’autre blanc. Ces descripteurs

sont superposés aux différentes régions de l’image à la recherche d’une zone de forte

corrélation [Viola, 2001].

Echelle

Visage

ou

Non-visage

Réseau neurone

Prétraitement

Page 23: Reconnaissance faciale

16

Figure 2.4: Les descripteurs de Haar.

L’algorithme détermine alors la ressemblance d’une zone de l’image aux descripteurs

de Haar en soustrayant la moyenne des valeurs des pixels contenus dans la région

noire à la moyenne des valeurs des pixels contenus dans la région blanche. La zone

est retenue si cette différence est supérieure à un seuil. Le seuil utilisé est déterminé

au cours de l’apprentissage par la méthode AdaBoost. Il s’agit de la combinaison de

plusieurs classificateurs peu performants (dits faibles), chacun assigné à un poids,

pour en créer un beaucoup plus fiable (dit fort). La réponse de chaque classificateur

(la région étudiée appartient au visage ou non) est peu fiable mais si le procédé est

itératif, la réponse se fait de plus en plus précise au fur et à mesure du processus, d’où

le nom de « cascade » de classificateurs.

Figure 2 .5 : Cascade de classifieurs

visage

Région de

l’image

Non-Face

Non-visage

Non-visage

Non-visage

Face

Non-visage

visage

visage

FN

F3

F2

F1

Page 24: Reconnaissance faciale

17

Pour bien caractériser le visage, les descripteurs rectangles initiaux choisis par Ada-

Boost sont significatifs et facilement interprétés. Le choix du premier descripteur est

basé sur la propriété que la région des yeux est souvent plus foncée que la région du

nez et des joues (voir figure 2.6).

Le deuxième descripteur choisi est basé sur le constat que les yeux sont généralement

plus foncés que le pont du nez.

Figure 2 .6: Les deux premiers descripteurs de Haar sélectionnés

dans la méthode Viola-Jones.

En conclusion, nous avons déduit que l’approche de reconnaissance est peu fiable en

raison de la position variable du visage dans une image. Quant à l’approche basée sur

les caractéristiques invariantes, il s’est avéré qu’elle ne répond pas totalement au

besoin de détection de visage en raison de sa dépendance à la qualité d’image. En

outre l’approche d’appariement de gabarit connue par sa qualité de détection rapide,

elle a l’inconvénient d’être limitée par les modèles prédéfinis. Alors que l’approche

basée sur l’apparence, quant-à elle, paraît être la plus fiable car elle utilise des

techniques d’analyse statistique et d’apprentissage automatique en plus de présenter

l’avantage de la robustesse par rapport aux changements de luminosité et

d’expression.

Nous avons par conséquent opté pour la méthode de Viola et Jones, basée sur

l’apparence, que nous avons jugée être la plus appropriée dans le cas de notre

problématique.

C’est la raison pour laquelle nous avons opté pour cette méthode que nous avons

trouvé efficace et réalisable dans les différentes situations.

Page 25: Reconnaissance faciale

18

3. Reconnaissance de visages

Pendant ces 30 dernières années, diverses méthodes de reconnaissance de visages ont

été développées. Elles se divisent en deux catégories : la reconnaissance à partir

d’images fixes et la reconnaissance à partir d’une séquence d’images (vidéo).

La reconnaissance de visages basée sur la vidéo est souvent plus performante que

celle basée sur des images fixes, puisque l’utilisation synchronique des informations

temporelles et spatiales aide dans la reconnaissance. Dans ce projet, nous nous

adressons à la reconnaissance basée sur les images fixes, puisque c’est le type de

données dont nous disposons.

On peut répartir l’ensemble des techniques de reconnaissance de visages basées sur

les images fixes, en trois grandes catégories : les méthodes globales, les méthodes

locales et les méthodes hybrides [ALEM, 2003].

3.1. Méthodes globales

Les méthodes holistiques appelées aussi méthodes globales, sont des méthodes qui

utilisent la région entière du visage comme entrée à l’algorithme de reconnaissance.

Ce sont des techniques très réussies et bien étudiées. Ces méthodes offrent de bonnes

performances, mais le problème de stockage des informations extraites lors de la

phase “apprentissage” reste l’inconvénient majeur.

Parmi ses méthodes nous citons: l’analyse en composantes principales (ACP),

l’analyse discriminante linéaire (ADL), ou encore les réseaux de neurones.

3.1.1. Analyse en composantes principales (ACP) [4]

L’ACP a été proposé par Pentland et Turk [Turk_Pentland, 1991], elle ne requiert

aucune connaissance de l’image, Son principe de fonctionnement est la construction

d’un sous espace vectoriel ne retenant que les meilleurs vecteur propres, tout en

gardant beaucoup d’information utile non redondante.

La méthode cherche les axes orthogonaux pour lesquels la variance des images

exemples projetées est maximale. Ces axes conviennent particulièrement pour bien

représenter les images exemples, mais par contre ils ne permettent pas forcément de

bien séparer les images exemples si celles-ci appartiennent à plusieurs classes. L’axe

possédant la variance maximale est appelée premier axe principal. Dans tout l’espace

des images, il n’existe aucun vecteur de projection avec une variance plus grande que

celle du premier axe principal. Le deuxième axe principal est l’axe qui est

Page 26: Reconnaissance faciale

19

perpendiculaire au premier axe principal et qui pointe dans la direction pour laquelle

la projection des images exemples possède de nouveau la variance maximale. Les

axes principaux suivants possèdent les mêmes propriétés par rapport aux axes

principaux précédents que le deuxième axe principal par rapport au premier. Comme

les premiers axes principaux possèdent les plus grandes variances, ce sont eux qui

permettent de représenter le mieux les images exemples. Le nombre d’axes principaux

à utiliser comme descripteurs est choisi de façon à garder environ 85 à 90% de la

variance totale.

L’ACP est une technique rapide, simple et populaire dans l'identification de modèles

de manière générale. Cependant, elle n'est pas optimisée pour la séparabilité

(discrimination) de classe.

3.2. Méthodes locales

Ce sont des méthodes géométriques, appelées aussi méthodes à traits, à

caractéristiques locales, ou analytiques. L'analyse du visage humain est donnée par la

description individuelle de ses parties et de leurs relations. Ce modèle correspond à la

manière avec laquelle l'être humain perçoit le visage, c'est à dire, à nos notions de

traits de visage et de parties caractéristiques comme les yeux, le nez ou la bouche.

La plupart des travaux réalisés se sont focalisés sur l'extraction de traits à partir d'une

image du visage et sur la définition d'un modèle adéquat pour représenter ce visage.

Un certain nombre de stratégies automatiques et semi-automatiques ont modélisé et

classé les visages sur la base de distances normalisées d’angles entres points

caractéristiques. La stratégie est qualifiée d'automatique ou non selon que la phase

d'extraction des points est faite par l'ordinateur ou assistée par un opérateur. Cette

phase constitue l'étape clé du processus, car la performance du système entier dépend

de la précision avec laquelle les informations utiles sont extraites.

L'avantage de ces méthodes réside dans la prise en compte de la particularité du

visage en tant que forme naturelle à reconnaître, en exploitant les résultats de la

recherche en neuropsychologie et psychologie cognitive sur le système visuel humain.

La difficulté éprouvée lors de la considération de plusieurs vues du visage, ainsi que

le manque de précision dans la phase “extraction” des points, constituent leur

inconvénient.

Page 27: Reconnaissance faciale

20

3.2.1 Détecteur de Harris

Depuis une vingtaine d’années, plusieurs détecteurs de PI ont été développés. Schmid

et Mohr [SCHMID 00] ont comparé les performances de plusieurs d’entre eux. Le

détecteur de PI le plus populaire est le détecteur de Harris [HARRIS 88]. Un PI est un

point où des changements significatifs apparaissent : on peut citer les coins, les

jonctions, des points noirs sur fond blanc ainsi que des endroits où la texture change

significativement.

Le détecteur de Harris est un détecteur de "coins". Le principe des détecteurs de coins

est de chercher un changement rapide de direction du contour et le principe des

détecteurs de contour est de chercher un changement rapide de direction des

intensités.

Pour observer les changements, on utilise la norme du gradient:

Donc, le détecteur de Harris est basé sur la recherche de changement rapide de

direction des intensités dans une image I. De manière simplifiée, on peut dire que le

changement d’intensité dans la direction (u,v) est donné par une formule de type

‘erreur quadratique’ sur un voisinage :

3.3. Méthodes hybrides

La robustesse d’un système de reconnaissance peut être augmentée par la fusion de

plusieurs méthodes. Cette technique de reconnaissance consiste à combiner plusieurs

méthodes pour résoudre le problème d’identification. Le choix d’un outil de

reconnaissance robuste n’est pas une tâche triviale, cependant l’utilisation d’une

approche multi-classifieur pour l’identification des visages est une solution adéquate à

ce problème [ALEM, 2003].

Parmi ces méthodes on cite la DCT-PCA, PCA-LDA, etc.

contour = |Gradient( intensité )|

coin = |Gradient( Gcontour )|

coin = |Gradient( Gradient( intensité ) )|

coin = |Gradient-2nd(intensité)|

Page 28: Reconnaissance faciale

21

En conclusion, étant donné qu’on s’adresse à des images provenant généralement de

photos d’identité (faible variabilité de pose et de taille…) nous avons choisi la

méthode locale qui correspondre à notre cas en raison de sa cohérence et sa simplicité

de réalisation.

4. Conclusion

L’état de l’art de la détection et reconnaissance de visages est très riche, nous

trouvons des multitudes algorithmes qui sont utilisés et développés dans les systèmes

commerciaux et dans les projets de recherche.

Pour la détection de visage, en prenant en considération un meilleur taux de détection

de visage avec un minimum de temps d’exécution pour le traitement d’un seul visage

par image et afin d’éviter les règles de calcul complexe pour répondre aux exigences

de notre projet nous choisirons la méthode de Viola-Jones qui contient un algorithme

de détection d’objet AdaBoost devenu une référence de détection d’objet par ses

qualités de rapidité et d’efficacité.

Pour la reconnaissance de visage, en nous basant sur l’approche locale nous

utiliserons une méthode basée sur quelques points caractéristiques du visage.

Page 29: Reconnaissance faciale

22

Chapitre 3 - Analyse des besoins

3 Chapitre

Analyse des besoins

Page 30: Reconnaissance faciale

23

1. Introduction

Dans ce chapitre, nous passerons à l’analyse des besoins fonctionnels et non

fonctionnels du module à développer. Cette analyse sera appuyée par les diagrammes

de cas d’utilisation et de séquence système.

2. Besoins fonctionnels

Notre application se répartit en deux modules fondamentaux :

Module de détection de visage

Module de reconnaissance de visage

Ces modules représentent les fonctionnalités les plus importantes de notre application

dont les besoins fonctionnels sont :

La détection de visage

Le système doit détecter le visage dans une image. La détection consiste à

délimiter une zone rectangulaire contenant la partie de l’image reconnue comme

un visage.

La construction d’une base de descripteurs associés aux visages

Dans cette étape nous extrairons de l'image les informations qui seront

sauvegardées en mémoire pour être utilisées plus tard dans la phase de

reconnaissance. Les informations doivent être choisies de manière à être

discriminantes et non redondantes.

La reconnaissance de visage

La reconnaissance de visage permet de savoir si un nouvel individu est déjà

enregistré dans la base ou non. Cette phase est l’aboutissement du processus, elle

peut être valorisée par un taux de fiabilité qui est déterminé par le taux de justesse

de la décision.

Dans le cadre du PFE, cette fonctionnalité sera réduite à retrouver un ensemble de

visages les plus proches.

La décision finale sera alors effectuée par l’utilisateur.

Page 31: Reconnaissance faciale

24

3. Besoins non fonctionnels

Interface utilisateur :

L’application devra être cohérente du point de vue de l’ergonomie. La qualité de

l’ergonomie sera un facteur essentiel, étant donné l’utilisation intensive qui sera

faite de l’application. Notre projet faisant partie de Licence+, il devra être intégré

à la même interface.

Sécurité

L’application de détection et reconnaissance de visage devra être intégrée au

système de sécurité du logiciel Licence+.

Documentation

Une documentation écrite devra accompagner le système de reconnaissance

faciale, qui décrit de manière claire et précise son fonctionnement.

Rapidité

Le temps d’exécution de l’application ne devra pas dépasser 5 secondes.

Configuration requise par l’application

La configuration minimale adoptée est celle du Pentium III 800 Mhz avec 1 Go de

RAM. La résolution d’affichage minimale sera de 800x600 en 256 couleurs.

Après avoir identifié les besoins fonctionnels et non fonctionnels du module détection

et reconnaissance de visages, nous allons identifier les principaux cas d’utilisation du

système, afin de bien concevoir notre solution.

4. Diagramme des cas d’utilisation

Les cas d’utilisation sont un moyen qui permet de capturer les exigences

fonctionnelles d’un système. Ils décrivent les interactions entre les acteurs et le

système et constituent une méthode pour recueillir et décrire les besoins des acteurs.

Page 32: Reconnaissance faciale

25

4.1 Diagramme de cas d’utilisation globale

Figure 3.1 : Diagramme de cas d’utilisation globale

Identification d’un joueur :

- Acteur : Agent de fédération

- Description : L’agent de fédération doit insérer une nouvelle licence de joueur

dans la base de données à travers le système « Licence+ » afin qu’il puisse

contrôler l’unicité de cette licence à travers le système de reconnaissance

faciale en utilisant la photo d’identité du joueur qu’elle contienne.

4.2 Diagramme des cas d’utilisation détaillée

La première étape que l’agent de fédération effectue c’est d’ajouter une photo au

système de reconnaissance faciale, une fois celle-ci est chargée, il peut lancer

l’identification de ce visage. C’est à ce stade que le module de traitement intervient

afin d’aider le système à donner une décision.

Enfin une authentification de l’utilisateur est indispensable pour confirmer la

reconnaissance ou non du visage (c.-à-d. la détection ou non de sa présence préalable

dans la base de données).

Page 33: Reconnaissance faciale

26

Figure 3.2 : Diagramme de cas d’utilisation détaillé

5. Diagramme de séquences système

Cette figure représente le diagramme de séquence de système de reconnaissance de

visage.

Figure 3.3 : Diagramme de séquence de système

Page 34: Reconnaissance faciale

27

6. Conclusion

Ce chapitre nous a permis d’analyser la faisabilité de notre système à travers la

détermination des principales fonctionnalités. Afin de pouvoir mettre en œuvre notre

application, nous devons d’abord présenter notre solution algorithmique de détection

et de reconnaissance de visage. Cela nous permettra d’identifier les classes à

implémenter et d’achever ainsi la phase de conception que nous détaillerons dans le

chapitre suivant.

Page 35: Reconnaissance faciale

28

Chapitre 4 - Conception

4 Chapitre

Conception

Page 36: Reconnaissance faciale

29

1. Introduction

Pour simplifier notre projet, une division en sous-systèmes s’imposait. Ainsi, le projet

a été subdivisé en 3 modules (voire figure 4.1): « Module de prétraitement », «

Module de détection» et « Module de reconnaissance ». Leurs rôles sont

respectivement de normaliser l’image capturée, détecter le visage et l’analyser pour

enfin pouvoir le reconnaître.

Figure 4.1 : Processus de reconnaissance faciale

Photo

Prétraitement

Détection de visage

Reconnaissance de visage

Page 37: Reconnaissance faciale

30

2. Schéma fonctionnel

Figure 4.2 : Schéma fonctionnel

Décision

Reconnaissance faciale

Enregistrement

dans la base de

données

Signature

Extraction des

paramètres

Proportion des yeux

(Détection des points d’intérêts)

Couleur de peau

Détection de visage

Descripteur de Haar

Photo

Prétraitement

Etirement d’histogramme

(Normalisation de niveaux)

Filtre médian

Page 38: Reconnaissance faciale

31

3. Module de prétraitement

Les images peuvent se présenter avec un éclairage et des ombres différentes ou encore

avec des résolutions différentes. Il est donc important que les données soient

normalisées et que les variations de contraste soient ainsi représentatives des

caractéristiques du visage et non de son environnement.

La normalisation des images reçues et détectées s’effectue en deux phases :

La première est l’étirement d’histogramme, la seconde consiste en l’application d’un

filtre médian.

3.1 Etirement d’histogramme (Normalisation des niveaux de gris)

L'étirement d'histogramme (également appelé "linéarisation d'histogramme") consiste

à répartir les fréquences d'apparition des pixels sur la largeur de l'histogramme. Ainsi

il s'agit d'une opération consistant à modifier l'histogramme de telle manière à répartir

au mieux les intensités sur l'échelle des valeurs disponibles. Ceci revient dans la

plupart des cas à étendre l'histogramme afin que la valeur d'intensité la plus faible soit

à zéro et que la plus haute soit à la valeur maximale.

3.2 Filtre Médian

Le filtre médian nous permet d’éliminer un type particulier de bruits, dit « Salt and

Pepper noise » qui consiste en des tâches dispersées d’intensité très forte ou très

faible. Le principe du filtre est le suivant : il remplace le niveau de gris de chaque

pixel par la valeur en la position médiane des niveaux de gris de son voisinage

ordonné (voir figure 4.3). Cette méthode est particulièrement pertinente quand la

configuration du bruit est forte.

Par exemple :

Dans un voisinage de 3 X 3 la médiane est le 5ème

élément après le tri.

Dans un voisinage de 5 X 5 la médiane est le 13ème

élément après le tri.

Figure 4.3 filtre médian

Page 39: Reconnaissance faciale

32

4. Détection de visage

Pour réaliser cette partie, nous avons choisi la méthode de Viola-Jones qui nécessite

une phase d’apprentissage à l’issue de laquelle une fonction de classification robuste

est formée. En réalité la phase d’apprentissage a déjà été réalisée et les données qui en

découlent nous sont proposées par la bibliothèque open source dédiée au traitement

d’images « OpenCV » ; sous la forme d’un fichier « xml ».

La fonction de classification offerte par cette bibliothèque sera exploitée par

l’algorithme de détection pour qu’il puisse réaliser une classification en visages et

non-visages.

Figure 4.4 : Schéma du système de détection

4.1 Fonction de classification

La fonction de classification utilise comme entrée une cascade de classificateurs qui

est un arbre de décisions où à chaque étape un classificateur est formé pour détecter

presque tous les objets d'intérêt (visages dans notre exemple) et rejeter certaines

fractions des objets qui n’appartiennent pas au modèle (voir figure 2.5). Dans

[LIENHART 2002], l’algorithme discret d’AdaBoost [FREUND 1996], permet

d’éliminer 50% de fausses détections, mais il élimine 0.2% des modèles frontaux de

visage.

Page 40: Reconnaissance faciale

33

4.2 Image intégrale

Pour déterminer la présence ou l'absence de centaine de descripteurs de Haar à chaque

endroit d'image et à plusieurs échelles efficacement, Viola et Jones ont utilisé une

technique appelée « Image Intégrante ». En général, "le fait de s'intégrer" veut dire

d'ajouter ensemble de petites unités. Dans notre cas , les petites unités sont des valeurs

de pixel. La valeur intégrante pour chaque pixel est la somme de tous les pixels au-

dessus et à gauche du pixel considéré. En commençant en haut et en traversant vers la

droite et le bas, l'image entière peut être intégrée avec quelques opérations par pixel.

4.3 Bloc de décision

Les images intégrales et la fonction de classification sont les entrées d’une boucle. A

chaque itération, la fenêtre de balayage sera redimensionnée, plus précisément elle

sera agrandie d’un facteur d’échelle bien choisi. Par conséquent, les données de la

fonction de classification doivent subir une adaptation à ce changement. L’adaptation

consiste principalement à redimensionner les descripteurs de Haar

proportionnellement à la taille de la fenêtre. La boucle que nous venons de citer, se

charge de garantir la détection de visage à toute échelle. Son paramètre principal est le

facteur d’échelle. Ce paramètre est généralement entre 1.1 et 1.4.

Afin de pouvoir repérer les visages à tout emplacement de l’image, notre fenêtre doit

balayer toute l’image en utilisant un algorithme de décision à chaque itération (voir

figure 4.5).

Figure 4.5 : Exemple de détection de visage

Page 41: Reconnaissance faciale

34

5. Reconnaissance de visage

Dans cette partie nous introduisons notre méthode qui va permettre d’identifier un

visage. Il est à noter que nous n’avons a priori aucun modèle des différents visages à

détecter. Cependant nous utilisons le terme « modèle » pour désigner une

représentation de chaque visage par un vecteur qui contient des informations

pertinentes et non redondantes afin de bien caractériser ce visage. Nous allons donc

décrire dans un premier temps la phase de préparation des modèles. Nous décrirons

ensuite la phase d’identification.

Le schéma ci-dessous, décrit la méthode de reconnaissance de visage.

Figure 4.5.1: Étapes de reconnaissance faciale

5.1 Détection des composantes faciales

Cette action se traduit en deux étapes :

5.1.1 Masquage de données :

Afin de cibler l’analyse sur l’image, un visage ayant une forme plutôt ovale et

verticale, les quatre coins de la fenêtre seront ignorés, ainsi qu’une bande de chaque

côté, dans la mesure où ces données représenteront principalement un décor, des

habits, ou des cheveux, données très variables et inutiles pour la détection des yeux et

du nez. Cette technique amène donc à définir un masque de taille TxT pixels (T a été

fixé à 200 pixels) pour cacher des données (Figure 4.4.1). La forme exacte du masque

sera déterminée de manière heuristique en effectuant des tests sur la base d’images

disponible.

Détection des composantes faciales - Masquage de données

- Détection des yeux (Viola-Jones)

Extraction des paramètres

- Détection des points d’intérêt (Détecteur de Harris)

- Extraction des coins des yeux (histogramme verticale)

- Proportion des yeux (Distance euclidienne)

- Détection de la couleur de peau Identification

Signature

Page 42: Reconnaissance faciale

35

Figure 4.5.2: Masque

5.1 .2 Détection des yeux

De la même manière que pour la détection de visage, nous utiliserons la méthode de

Viola-Jones pour détecter les yeux et ce en utilisant l’image masquée et le classifieur

de cascade spécifique aux yeux.

Figure 4.5.3 : Détection des yeux

5.2 Extraction des paramètres

Après l’extraction de la région qui contient les yeux dans un visage, nous nous

servons des informations situées dans ces régions pour générer des modèles de

visages.

En effet, un modèle de visage est représenté par deux paramètres :

- La proportion des yeux qui est calculée après détection des points d’intérêt.

- La couleur de peau.

5.2.1 Détection des points d’intérêt

Nous pouvons définir un point d’intérêt (PI) comme étant un point dans l’image où

des changements significatifs se produisent. Des exemples de PI sont les coins des

yeux et les points noirs sur fond blanc.

Cette action se traduit par deux étapes :

1- Changement d’espaces couleur

L’efficacité de la méthode de détection des points d’intérêt qu’on utilise dépend

vigoureusement du choix de l’espace de couleur. Etant donné que cette méthode

Page 43: Reconnaissance faciale

36

est basée sur la recherche de changement rapide de direction des intensités dans

une image, le choix d’un espace couleur convenable qui permet de distinguer deux

composantes : l’intensité et la chrominance est une étape primordiale.

L’espace de couleur le plus populaire est celui de RGB. Il décrit la couleur comme

la corrélation de trois couleurs primaires (Rouge-Verte-Bleue), mais il n’est pas

convenable dans notre cas puisqu’il mélange les deux composantes indiquées ci-

dessus.

D’autres espaces de représentation de couleurs peuvent être dérivés par des

combinaisons linéaires ou non linéaires des composantes R, G et B. Parmi ces

espaces, on cite HSV, HSI, YCrCb, YIQ.

Nous constatons que l’espace YCrCb est le plus approprié vu qu’il sépare les deux

composantes (voir figure 4.5.4 pour une illustration de la composante luminance

dans le cas d’une image d’yeux).

Figure 4.5.4 : La composante luminance Y de l’image yeux

La détection des points d’intérêt sera effectuée sur la composante Y ainsi extraite

Y = 0.299 * R + 0.587 * G + 0.114 * B. Ces PI seront extraits à l’aide du

détecteur de Harris.

2- Détecteur de Harris

Cette méthode est largement utilisée en matière d’extraction de points d’intérêts,

mais reste malgré tout délicat tant le nombre de variantes est large, elle permet

d’extraire les coins de contours comme points clés via une méthode différentielle

reposant sur la théorie de l’information. Cette méthode se caractérise par son

invariance à la translation et au changement de luminosité et d’échelle, d’où son

intérêt dans notre cas.

Figure 4.5.5 : Détection de points d’intérêts

Page 44: Reconnaissance faciale

37

Afin d’améliorer l’efficacité et la rapidité de détection, nous décidons d’appliquer

un masque sur l’image des yeux (voir figure 4.4.8).

Figure 4.5.6 : Masque des yeux

Les PI étant maintenant extraits, l’étape suivante consiste à en extraire ceux qui

représentent les coins des yeux (voir figure 4.5.8).

5.2.2 Extraction des coins des yeux

Les points d’intérêts extrait par le détecteur de Harris sont superposés à l’image sous

la forme de points de couleur blanche cela a produit quelques difficultés pour les

détecter vu que l’image peut contenir d’autres pixels blanc.

Pour remédier à ce problème et afin de bien détecter les points intérêts décisifs pour le

calcul de la proportion des yeux (les coins, en l’occurrence), nous avons décidé de

générer un histogramme vertical de l’image pour représenter la distribution des

intensités des pixels.

Figure 4. 5.7: Histogramme verticale de l’image

Une fois l’histogramme vertical de l’image est généré, nous balayons l’image en

termes d’ordonnée dans le but de détecter la première et la dernière distribution

minimale des intensités des pixels les plus clairs afin de détecter les points A et B.

Pour détecter les points C et D, nous utilisons le même principe pour les moitiés

gauche et droite de l’image.

Figure 4.5.8: Les quatre coins des yeux (A, B, C, et D).

A B C D

Page 45: Reconnaissance faciale

38

5.2.3 Proportion des yeux

La proportion des yeux est calculée à travers l’utilisation des distances euclidiennes

entre les coins des yeux extérieures « AB » et intérieurs « CD ». En effet, le but est

d’avoir la proportion des yeux (CD/AB) afin d’enregistrer les valeurs obtenues dans

un vecteur qui représente la signature du visage.

5.2.4 Détection de la couleur de peau

La couleur de peau humaine est une caractéristique pour la reconnaissance de visage.

Bien que des personnes différentes aient une couleur de peau différente, plusieurs

études ont montré que la différence principale se trouve en grande partie entre leurs

intensités plutôt que leurs chrominances. Donc pour détecter la couleur de peau, il faut

distinguer les deux composantes de chrominance Cr et Cb dans l’espace YCbCr.

Dans l’image des yeux détectés, nous avons remarqué que la région qui se trouve

entre les deux yeux, représente assez bien la couleur de peau. Pour cela nous avons

pris le voisinage de 9x9 pixels de deux composantes de chrominances Cr et Cb.

5.3 Signature

Une fois les points d’intérêts et la couleur de peau déterminés, nous commençons à

générer la signature de visage en construisant un vecteur qui contient deux

caractéristiques, à savoir la proportion entre les coins des yeux et la couleur de peau

(voir figure 4.5.9).

La précision des paramètres qui constituent la signature de visage, rendre l’étape

d’identification efficace.

Figure 4.5.9 : Signatures des visages

Page 46: Reconnaissance faciale

39

5.4 Identification

Une fois toutes les signatures créées et enregistrées dans la base de données, il s’agit

maintenant de comparer un nouvel élément avec ceux déjà présents dans la base de

données. Dans notre cas, nous proposons d’afficher les 10 visages qui ressemblent le

plus au visage recherché.

La comparaison consiste à calculer la distance entre la signature décrivant le nouvel

élément candidat et les signatures enregistrées dans la base de données. Cette distance

est obtenue en utilisant deux paramètres :

- Couleur de peau

- Proportions des coins des yeux

On calcule la différence en valeur absolu entre ces paramètres et les paramètres des

visages enregistrés dans la base de données. Les modèles ayant le plus bas score

seront les plus proche de visage recherché, pour cela on fait le tri des modèles à

l’ordre croissant vis-à-vis ces paramètre afin d’afficher les 10 premiers.

La décision finale sera alors effectuée par l’utilisateur en choisissant ou non un visage

parmi les visages donnés par le système.

Figure 4.5.10 : Recherche des visages

Page 47: Reconnaissance faciale

40

6. Diagramme de séquence

Figure 4.6 : Diagramme de séquence

Page 48: Reconnaissance faciale

41

L’utilisateur choisit une photo issue de la phase de découpage du système de gestion

de licence pour la passer au système de reconnaissance faciale. Ensuite on applique un

module de prétraitement sur la photo injectée au système dont le but est d’améliorer la

qualité de l’image. Puis on lance la détection de visage et par la suite la détection des

yeux. A ce stade on calcule la proportion entre les coins des yeux et on détecte la

couleur de peau afin de générer une signature de visage, cette dernier sera comparée

aux des signatures enregistrées dans la base pour trouver le visage recherché.

7. Diagramme des classes

A la suite du traçage des diagrammes de séquences, nous avons obtenu un diagramme

global des classes qui est un élément important dans une démarche de conception

orientée objet. Il représente les différentes entités (les classes d'objet) intervenant dans

le système.

Le diagramme de classe ci-dessous est composé de six classes :

1. la classe « ReconnaissanceFacialeMFCDlg.cpp » représente la classe principale

du système puisqu’elle contienne les deux fonctions de base :

OnBnClickedApprentissage : Apprendre à reconnaitre quelques visages.

OnBnClickedReconnaissance : Recherche des visages dans la base du

système.

2. La classe « Reconnaissance.cpp » contient toutes les fonctions qu’on utilise pour

reconnaître les visages, et utilise la classe « Detect.cpp » comme paramètre de

détection.

3. La classe « Detect.cpp » est liée à la classe « Reconnaissance.cpp » et contient les

fonctions de détection des yeux et de visage dans une image.

4. La classe « Photo.cpp » contient les fonctions de base pour la gestion des photos,

et utilise la classe « pretraitement.cpp » comme paramètre de prétraitement des

images.

5. La classe « pretraitement.cpp » est liée à la classe « Photo.cpp », et contient les

fonctions de prétraitement de l’image (filtre médian, Egalisation histogramme

etc..).

6. La classe « Signature.cpp » représente le vecteur caractéristique de visage, et a

pour paramètres la proportion des yeux et la couleur de peau.

Page 49: Reconnaissance faciale

42

Figure 4.7 : Diagramme de classe

Page 50: Reconnaissance faciale

43

Chapitre 5 - Réalisation

5 Chapitre

Réalisation

Page 51: Reconnaissance faciale

44

1. Introduction Dans ce chapitre, nous aborderons les méthodes que nous avons développées, pour la

détection et la reconnaissance d’un visage dans une photo d’identité. Nous

présenterons aussi les résultats obtenus à la suite des tests effectués, ainsi que nos

propositions pour améliorer la méthode proposée.

Pour la détection du visage nous avons utilisé des outils existants dans la bibliothèque

OpenCV car elle possède plusieurs outils pour le traitement d’image déjà

implémentés, dont en particulier la méthode de « Viola-Jones » que nous avons

choisie pour la détection de visage.

Nous décrivons ici le fonctionnement et les services offerts par OpenCV.

2. Présentation de la bibliothèque OpenCV OpenCV [OPENCV, 2007] (Open source Computer Vision library), est une

bibliothèque de traitement d’images et de vision par ordinateur en langage C/C++,

optimisée, proposée par Intel pour Windows et Linux. Elle est « Open Source », Elle

comprend plusieurs solutions pour le traitement d’image et de l’analyse du

mouvement.

2.1 Classifieur OpenCV

Nous nous servons, dans nos travaux de détection du visage, du classifieur OpenCV

appelé. Il s’applique sur des régions de l’image tout en faisant subir des

transformations d’échelle, afin de reconnaître si un objet d’une région rassemble à un

visage.

2.2 Implémentation

2.2.1 Installation d’OpenCV sous Windows [1]

L’installation sous Windows est un peu plus simple. OpenCV est distribué en tant que

package binaire prêt à l’emploi. Nous commençons par télécharger le fichier

d’installation d’OpenCV : http://sourceforge.net/projects/opencvlibrary/files/

Puis nous installons le programme dans le chemin qui est proposé par défaut :

C:\ProgramFiles\OpenCV2.1.

Page 52: Reconnaissance faciale

45

2.2.2 Environnement de programmation

Pour réaliser notre application nous utiliserons le langage de programmation C++ en

se basant sur la bibliothèque OpenCV.

Cette bibliothèque se compose de 5 modules :

cxcore : Contient les structures de base et elle fournit de nombreuse fonction

de dessin (lignes, cercles, ellipses, arcs, …).

cv : les fonctions principales

cvaux : Contient les fonctions en cours d'implémentation, ou dépréciées

highgui : Contient les fonctions de création d'interfaces utilisateurs (matrices,

tableaux, listes, files, graphes, arbres…), ainsi les structures élémentaire

(matrices, tableaux, listes, files, graphes, arbres…).

mll (sorti en 2009) : Elle intègre de nombreux algorithmes d'apprentissage

automatisé.

Le module CV contient les fonctions nécessaires pour notre application, dont les plus

importantes sont :

1. cvHaarDetectObjects

C’est une fonction pratique pour détecter des objets dans une images.

Les paramètres d’entrée sont :

o Une image

o Base d’apprentissage (fichier XML)

o Espace mémoire

o Facteur d’échelle

2. cvGoodFeaturesToTrack

C’est une fonction pratique pour détecter les points d’intérêts.

Les paramètres d’entrée sont :

o Une l'image dont on cherche les points d'intérêt, elle doit avoir un seul canal et

avoir une profondeur de 8bit ou de 32bits en virgule flottante.

o Deux images temporaires utilisées par la fonction, elles sont de type

IPL_DEPTH_32F et ont la même hauteur et largeur que le paramètre image,

elles ont un seul canal.

Page 53: Reconnaissance faciale

46

o Un vecteur contenant les points d'intérêt, les éléments de ce vecteur sont de

type CvPoint2D32f.

o Le nombre maximal de points d'intérêt à trouver. Une fois la fonction

exécutée, cette variable pointe vers le nombre de points d'intérêts trouvés.

o La qualité minimum des points d'intérêt.

o La distance (euclidienne) minimum entre deux points.

o Un masque représenté par une matrice (de type CvMat) spécifiant les pixels

de l'image à traiter représentés par les éléments non-nuls de la matrice. Si la

valeur est NULL (valeur par défaut), toute l'image est traitée.

o La taille du voisinage (valeur par défaut = 3).

o Variable qui indique l’utilisation de l'opérateur Harris (valeur par défaut = 0).

o Paramètre pour l'opérateur Harris.

2.3. Expérience

2.3.1. Détection à l’aide des «Classifieurs de Haar»

Pour détecter des objets dans une image, OpenCV nous fournis la fonction

« cvHaarDetectObjects » qui est basé sur la méthode de Viola et Jones, la nature des

objets détectées dépend de classifieur utilisé.

OpenCV nous propose des classifieurs prédéfinis pour la détection d’un visage dans

une image sous forme des fichiers XML. Ces classifieurs différent par le type

d’algorithme de boosting qu’ils utilisent, tels que Discrete Adaboost, Real Adaboost

ou encore Gentle Adaboost et position de visage dans l’image.

Ci-dessous les fichiers :

haarcascade_frontalface_alt.xml

haarcascade_frontalface_alt_tree.xml

haarcascade_frontalface_alt2.xml

haarcascade_frontalface_default.xml

haarcascade_profileface.xml

Afin de comparer ces différentes cascades de manière objective, nous les avons

testées sur une base d’images contenant au total 858 photos de visages. Ces images

ont été obtenues pendant la phase de découpage du système Licence+.

Page 54: Reconnaissance faciale

47

Ces images différent par leurs qualité (Conditions d’acquisition, éclairage etc..) et

représentent des visages découverts ou masqués par des objets (lunette, moustache

etc..), et même en position droite ou inclinée…

Voici les résultats obtenus par les cascades de type frontalface (vue de face) :

Bonnes détections Mauvaises détections

Nombre Pourcentage Nombre Pourcentage

frontalface_alt 710 82.75 % 148 17.25 %

frontalface_alt2 620 72.30% 238 27.70%

frontalface_alt_tree 595 69.35% 263 30.65%

frontalface_default 796 92.78% 62 7.22%

Tableau 5.1: Résultat des détections de visage

Il s’avère que les résultats obtenus par la cascade frontalface_default est le meilleur

avec un taux de bonne détection égale à 92.78% et un taux de mauvaise de détection

égale à 7.22%.

Nous retiendrons donc uniquement le dernier fichier car c’est celui qui offre les

meilleures performances pour la détection de visages selon notre expérience. La

figure 5-1 présente des échantillons de résultats.

Figure 5.1: bonnes détection/mauvaises détections

Bonnes détections

Mauvaises détection

Page 55: Reconnaissance faciale

48

Nous verrons maintenant comment ces scores peuvent être améliorés, en effet, pour

résoudre le souci des fausses détections, nous avons ajouté un module de

prétraitement de l’image avant la phase de détection.

2.3.2. Prétraitement

Comme nous l’avons déjà décrit dans le chapitre 4 (conception) le module

prétraitement nous permettra d’améliorer l’efficacité de détection.

Le prétraitement des images s’effectue en deux temps :

Étirement d’histogramme.

Cette action nous a permis d’améliorer le taux de bonne détection à 93,70 %

avec un nombre d’images égal à 804 qui contient des visages détectés.

Filtre médian

L’ajout de filtre médian avec l’action précédente nous a permis d’améliorer le

taux de bonne détection à 95,10 % avec un nombre d’images égal à 816 qui

contient des visages détectés.

Figure 5.2 : Exemple d’image après prétraitement

Etirement histogramme

Egalisation histogramme + Filtre médiane

Page 56: Reconnaissance faciale

49

Les résultats obtenus sont assez bons, et dans nos tentatives d’amélioration par la

création d’un module de prétraitement pour les images, nous nous sommes aperçu que

la qualité d’une image est au moins aussi importante que l’algorithme qui l’utilise.

Sachant qu’une détection efficace est indispensable pour obtenir de bons résultats de

reconnaissance, Nous nous sommes servis d’OpenCV comme d’un outil clé-en-main

pour effectuer cette partie.

Dans la partie suivante, nous détaillerons la réalisation de la reconnaissance de visage.

3. Reconnaissance de visage

A ce niveau du processus, nous sommes en possession d’une image propre, c'est-à-

dire libérée du bruit et ne contenant que l’information utile à analyser.

3.1. Implémentation

Après la détection de visages, nous avons utilisé une autre fois la fonction

« cvHaarDetectObjects » avec une cascade «haarcascade_mcs_eyepair_big.xml»

proposée aussi par OpenCV pour détecter les yeux.

Nous avons testées cette cascade sur les 858 photos de visages détectés.

Voici les résultats obtenus:

Bonnes détections Mauvaises détections

Nombre Pourcentage Nombre Pourcentage

831 96.85 % 27 3.15 %

Tableau 5.2: Résultat des détections des yeux

Une fois les yeux détectés, nous pouvons changer l’espace couleur RGB en YCrCb

dont le but de détecter la couleur de peau et de déterminer la proportion des yeux,

pour cela nous avons utilisés la fonction « cvCvtColor » de la bibliothèque OpenCV.

Page 57: Reconnaissance faciale

50

La détection de couleur de la peau est basée sur les deux composantes de chrominance

Cr et Cb par contre la proportion des yeux est calculée en utilisant la composante

luminance Y, ce qui nous amène à utiliser la fonction « cvSplit » pour isoler les

différents canaux de l’espace couleur YCrCb.

La détection des points d'intérêts est primordiale pour calculer la proportion des yeux.

La librairie OpenCV nous offre cette fonction « cvGoodFeaturesToTrack » qui est

très pratique pour détecter les points d'intérêt.

Ces deux caractéristiques (couleur de peau et proportion des yeux) représentent les

attributs de la classe « Signature.cpp » qui est utilisé comme modèle comparable par

rapport aux autres modèles enregistrées dans la base de données.

3.1.1 Base de données

La base de données est définie de la façon suivante. Le répertoire racine contient deux

dossiers:

Photos : elles contiennent les photos de la base de données.

Résultat : il contient les images de visage issu après la détection.

Un fichier texte :

Base.txt : il contient les vecteurs caractéristiques des visages, chaque vecteur

représente des informations exclusives pour, à savoir la proportion des yeux et

la couleur de peau, lesquels sont inéluctables pour la phase de décision.

Figure 5.3.1 : Fichier « Base.txt »

Page 58: Reconnaissance faciale

51

Figure 5.3.2 : Dossier « Résultat »

Figure 5.3.3 : Dossier « Photos »

3.2 Expérience

Pour tester le système et notamment l’algorithme de reconnaissance faciale, nous

avons utilisé une base de donnée de visage disponible sur internet. Il s’agit de la base

offerte par l’université Essex qui se trouve en grande Bretagne [5].

Page 59: Reconnaissance faciale

52

Les caractéristiques de la base sont :

Nombre total des individus : 395

Nombre des images par individu : 20

Nombre total des images : 7900

Genre : Contient des images des males et des femelles

Origine : Contient des images de différentes origines

Age : les images sont principalement des étudiants de première année, de sorte

que la majorité des individus sont entre 18-20 ans, mais certaines personnes

âgées sont également présentes.

Lunette : oui

Barbe : oui

Format des images : 24 bit couleur

Type des images : JPEG

Caméra utilisé : S-VHS caméscope

Éclairage: artificiel, un mélange de tungstène et fluorescent

Nous avons utilisé aussi une base de photos appartenant à la fédération Tunisienne de

football (FTF) afin de simuler des cas réels. Nous avons apporté quelques

modifications sur certaines photos (histogramme, niveau de gris, rotation, échelle,

couleur,...) pour bien tester la reconnaissance.

Les tests appliqués à ces bases ont permis de bien configurer la fonction

« cvGoodFeaturesToTrack » fournis par la bibliothèque OpenCV afin d’avoir une

bonne qualité de reconnaissance.

Nous avons bien conclu que le nombre maximal de points d'intérêt à trouver est à

égale 100, la qualité minimum des points d’intérêts est égale à 0.09, la distance

minimale entre deux points d’intérêt est égale à 4, finalement, la taille de voisinage

est égale 3.

En ce qui concerne le temps d’exécution, c’est la partie apprentissage qui prend

beaucoup de temps (de l’ordre de deux ou trois secondes), la reconnaissance, elle, est

rapide, le résultat est quasi immédiat.

Page 60: Reconnaissance faciale

53

4. Interface utilisateurs

4 .1 Introduction

A ce niveau, nous nous proposons de compléter notre travail par une interface

utilisateur, et constatons que la bibliothèque OpenCV ne fournit pas des outils

performants pour la construction des interfaces graphiques. D’où l’idée d’utiliser le

langage C#, pour nous l’intérêt majeur d’utiliser ce langage réside dans la simplicité

et l’efficacité de créer les interfaces graphiques.

4 .2 Fenêtre principale

Figure 5.4 : Menu principale

Bouton :

« Démarrer » : Lancer l’apprentissage des photos.

« Base » : Permet d’afficher la base de données.

« Charger photo » : Charger la photo à rechercher.

« Reconnaissance » : Lancer la reconnaissance.

« Clear » : Fermer toutes les fenêtres affichées.

« Exit » : Quitter l’application.

Group box :

« Configuration » : Amélioration de la qualité de reconnaissance.

« Photo N° » : Indiquer les photos pour l’apprentissage.

« Apprentissage » : Contient une barre de progression pour indiquer le

déroulement d’apprentissage des photos.

Page 61: Reconnaissance faciale

54

4 .3 Apprentissage des photos

Figure 5.5 : Apprentissage des photos

4 .4 Fenêtre résultat

Figure 5.6 : Apprentissage des photos

5. Résultats

Les tests réalisés avaient pour but d’observer l’influence des conditions

d’illuminations des sujets, de leurs distances par rapport au système de capture

d’image et à la position du visage.

Page 62: Reconnaissance faciale

55

En réalité, l’effet du premier cas est minimisé par le prétraitement des images et le

second par le détecteur de visage mais il y a une influence sur la qualité du visage

extrait. Quant au dernier, le système développé n’est pas adapté à la reconnaissance de

profil.

Il peut tout de même reconnaître des visages tournés d’un léger angle mais avec un

taux d’erreur plus élevé.

Base Bonnes détections Mauvaises détection

Nombre Pourcentage Nombre Pourcentage

FTF (90 visages) 62 68,88% 28 32.22%

Essex (100 visages) 58 58% 42 42%

Tableau 5.3: Résultat des détections de visage

6. Diagramme

Phase 1 : Bibliographie (détection de visage)

Phase 2 : Détection de visage

Phase 3 : Bibliographie (reconnaissance de visage)

Phase 4 : Reconnaissance de visage

Phase 5 : Rédaction de rapport

Phase 1

Phase 2

Phase 3

Phase 4

Phase 5

Mars Avril Mai Juin Juillet Aout Septembre Octobre

Page 63: Reconnaissance faciale

56

7. Conclusion

Nous avons tout d’abord abordé le processus de détection de visage à l’aide de la

bibliothèque OpenCV, et nous avons essayé d’éliminer les fausses alarmes afin

d’améliorer le taux de détection. Ensuite, nous avons traité le processus

d’identification du visage en proposant une méthode qui consiste à extraire quelques

caractéristiques de visage (proportion des coins des yeux et la couleur de peau).

Page 64: Reconnaissance faciale

57

CONCLUSION GENERALE

La reconnaissance d’individus demeure un problème complexe et non parfaitement

résolu, malgré tous les travaux réalisés au cours des dernières années. Plusieurs

problèmes incombent à cette tâche d’identification et chacun d’eux est non trivial. De

nombreuses conditions réelles affectent la performance d’un système, cependant la

détection automatique des visages influence énormément la performance du module

d’identification.

A travers ce projet nous avons mis en œuvre une approche d’identification du visage,

et pour aboutir à ce but, il fallait au préalable aborder un travail de détection du

visage. Pour cela nous avons détaillé dans le chapitre 4 nos travaux de détection et

notre approche pour améliorer le résultat obtenu en ajoutant un module de

prétraitement. Bien que notre méthode d’amélioration ait montré de bons résultats, au

niveau de l’interpolation de visages non détectés par la librairie OpenCV, elle élimine

parfois de vrais visages.

Après la phase de détection, nous avons pu aborder la tâche de reconnaissance. Notre

apport dans cette tâche délicate, est d’utiliser la notion des points d’intérêt pour

reconstruire un modèle de visage.

Ce projet ne manque pas de perspectives : pour la tâche de détection, et à partir des

visages détectés par la librairie OpenCV, il est intéressant de trouver d’autres

méthodes d’élimination des fausses alarmes et de détecter en contre-partie les visages

oubliés par la méthode « Viola-Jones ». Nous proposons d’utiliser des approches

heuristiques, pour prévoir si une telle détection correspond à un visage ou non, en

tenant compte des positions des autres visages.

Pour l’identification, nous proposons d’ajouter ou d’améliorer d’autres paramètres

aux vecteurs qui caractérisent le visage comme par exemple : la géométrie de la tête et

les distances entre les composantes faciale.

La reconnaissance des visages fait partie de la biométrie qui est sans doute un

domaine d’avenir. Au cours des prochaines décennies, de plus en plus de systèmes

verront probablement le jour afin de réaliser une surveillance accrue.

Page 65: Reconnaissance faciale

58

A travers ce PFE, nous avons apporté une modeste contribution dans ce domaine, dont

l’intérêt réside dans la mise en place directe de l’application dans le cadre réel,

puisqu’elle est destinée à être intégrée dans le système licence+ pour répondre aux

besoins spécifiques et particuliers du monde sportif.

Page 66: Reconnaissance faciale

59

Références bibliographiques

Articles scientifiques :

[Viola, 2001]: P. Viola, M. Jones, Rapid Object Detection using a Boosted Cascade

of Simple Features, Conference On Computer Vision And Pattern Recognition 2001.

[Yang, 2002]: Yang M H, Kriegman D, Ahuja N. Detecting faces in images: A

survey. IEEE Trans Pattern Analysis and Machine Intelligence, 2002, 24(1):34-58.

[Freund, 1996] Y. Freund, R.E. Schapire, Experiments with a New Boosting

Algorithm, In Proc. 13th Int. Conf. on Machine Learning, 1996, 148.-156.

[ALEM, 2003] : A. Lemieux « Systèmes d’identification de personnes par vision

numérique » Université Laval, Québec Décembre 2003.

[Turk_Pentland, 1991]: M. Turk and A. Pentland, Face recognition using eigenfaces.

Proc. IEEE Conference on Computer Vision and Pattern Recognition, 1991, 586–591.

[OpenCV, 2007]A Basic Introduction to OpenCV for Image Processing – Discover

Lab School of Information - Technology & Engineering - University of Ottawa –

January, 2007

[SCHMID, 00] C. Schmid, R. Mohr, and C. Bauckhage. Evaluation of interest point detectors. International Journal of Computer Vision, pages 151–172, 2000. [HARRIS 88] J. Harris and M. Stephens. A combined corner and edge detector. 4th ALVEY Vision Conference, pages 147–151, 1988.

Sites Internet

[1] http://opencvlibrary.sourceforge.net/ - OpenCV documentation and FAQs - 25

Mai 2010

[2] http://www.siteduzero.com/tutoriel-3-8619-les-operateurs-morphologiques.html -

20 Mai 2010

[3] http://www.biometrie-online.net - 10 Mars 2010

[4] http://www.face-rec.org - 16 Avril 2010

[5] http://cswww.essex.ac.uk/mv/allfaces/index.html - 20 Août 2010

Page 67: Reconnaissance faciale

60

Annexe 1

Page 68: Reconnaissance faciale

61

Annexe 2

Page 69: Reconnaissance faciale

62

Annexe 3

Page 70: Reconnaissance faciale

63

Page 71: Reconnaissance faciale

64


Recommended