Professional Documents
Culture Documents
Systeme de Reconnaissance Faciale: Republique Democratique Du Congo
Systeme de Reconnaissance Faciale: Republique Democratique Du Congo
SYSTEME DE RECONNAISSANCE
FACIALE
Par MWENGEBUTSA WABO Marcellin
Travail de Fin d’Etude présenté en vue de
l’obtention du Diplôme d’Ingénieur Civil en
Electricité – Informatique
Option : Génie Informatique
Directeur : Prof. KASORO MULENDA Nathanaël
Encadreur : Ir. MBUYAMBA KALUBI Célestin
EPIGRAPHE
« Un véritable ingénieur est celui qui tire une chose du néant ou d’une
poubelle, l’améliore et change le monde avec. »
Anonyme.
P a g e | ii
DEDICACE
A mes parents BATEYI WABO Ananie et MUSHESHA Dorothée,
A mes frères et sœurs Rosine, Justin, Anne-Marie, Roselyne, Lucien, Gabriel, Félicité et
Clémence,
Je dédie ce travail.
P a g e | iii
REMERCIEMENTS
Nous reconnaissons avoir été soutenu par le Seigneur Dieu de l’univers ; nous lui
adressons nos remerciements. Car Il a permis que nous arrivions à ce grand jour, qui marque
la fin de nos études d’ingénieur.
A notre directeur Professeur KASORO MULENDA Nathanaël, qui nous a guider dans
la rédaction de ce travail. Et cela malgré ses nombreuses tâches.
A notre encadreur Ingénieur MBUYAMBA KALUBI Célestin, qui malgré son travail
trop intense et trop prenant, nous a soutenu et dirigé dans la réalisation de ce travail.
A nos chers parents BATEYI WABO Ananie et MUSHESHA Dorothée, qui nous ont
soutenu moralement et matériellement depuis notre entrée à la faculté des sciences et
technologies appliquées, et qui continuent de nous encourager à aller de l’avant.
DEDICACE II
REMERCIEMENTS III
RESUME VIII
ABSTRACT IX
SIGLES ET ABBREVIATIONS X
INTRODUCTION GENERALE 1
1. INTRODUCTION 1
2. PROBLEMATIQUE 1
3. HYPOTHESES 2
4. INTERET DU SUJET 2
5. METHODES ET TECHNIQUES DE TRAVAIL 2
6. OBJECTIFS ET DELIMITATION DU TRAVAIL 2
4.3. LA VISION 18
1. SYSTEME BIOMETRIQUE 20
2. PRINCIPE DE FONCTIONNEMENT D’UN SYSTEME RECONNAISSANCE FACIALE 21
3. TECHNIQUES DE RECONNAISSANCE FACIALE 27
4. PRESENTATION DE QUELQUES ALGORITHMES DE RECONNAISSANCE FACIALE 28
5. PRINCIPALES DIFFICULTES DE LA RECONNAISSANCE FACIALE 34
6. MESURE DE LA PERFORMANCE D’UN SYSTEME DE RECONNAISSANCE FACIALE 35
IMPLEMENTATION DU SYSTEME 51
1. REALISATION DU SYSTEME 51
1.1. PRESENTATION DU HARDWARE 51
1.2. PRESENTATION DES ELEMENTS DU SOFTWARE 52
2. ÉVALUATION DES PERFORMANCES 52
3. ÉVALUATION DES COUTS DU PROJET 53
3.1. COUT DU LOGICIEL AVEC COCOMO 53
3.2. VENTILATION OU DISTRIBUTION PAR PHASE 59
3.3. COUTS DU PROJET 61
CONCLUSION GENERALE 62
BIBLIOGRAPHIE 63
RESUME
Les systèmes de reconnaissance faciale sont des systèmes biométriques comme les systèmes
de reconnaissance d’empreintes digitales, de l’iris, de la démarche, etc. Ces systèmes sont
qualifiés de biométriques parce qu’ils utilisent une caractéristique biologique propre à une
personne pour pouvoir l’identifier.
Les systèmes de reconnaissance faciale présentent plusieurs avantages par rapport aux autres
systèmes biométriques :
Elle est moins intrusive : il n’est pas indispensable que l’individu à reconnaitre
coopère.
Elle est moins couteuse : une simple camera suffit pour mettre en place un système de
reconnaissance faciale
Chaque individu présente sa face de manière spontanée, à moins qu’il soit masqué.
A part ces avantages qui motivent un grand nombre des chercheurs à améliorer la précision
des systèmes de reconnaissance faciale, nous soulignons que ces genres des systèmes sont
sensibles à la variation de lumière, à la modification de l’empreinte faciale (vieillissement,
occultation partielle, …) et présente parfois des difficultés à différencier les vrais jumeaux.
Dans ce travail, qui marque la fin de nos études d’ingénieur, nous concevrons et réaliserons
un système de reconnaissance faciale. Le but principal du système étant la sécurité, les
fonctionnalités du système sont :
Identifier un visage humain sur une vidéo (détection faciale)
Découvrir l’identité d’un individu présent sur une vidéo ou préciser s’il est connu ou
inconnu du système (reconnaissance faciale, prévention d’intrusion)
Permettre d’enrôler un nouvel individu dans la base des données du système ou de l’en
radier (gestion des individus enrôlés)
P a g e | ix
ABSTRACT
Face recognition systems belong to biometric systems’ family. Such other systems are
fingerprint, iris recognition, gait recognition, etc. Each of these systems uses a biological
character to identify its owner, that is why they are designated as biometric.
Face recognition is the most popular for:
Its non-intrusive characteristic
Its low cost particularity in compared with other biometric systems. That is due to the
cheapness of needed hardware: a simple camera is indeed sufficient.
Everybody has a face.
Those positive properties about face recognition systems motivate scientist to make them
more accurate. However, these systems are very sensitive to light variation, face changing. It
is also difficult for a face recognition system to identify clearly identical twins.
In this work, we suggest to design a face recognition system that aim to security.
Such functionalities are implemented inside:
Identify human faces on a video (human faces detection)
Find their identity from a database, to classify them as known people and unknown
(face recognition, intrusion prevention)
Add new a person to the system’s database or remove him from it.
Page |x
SIGLES ET ABBREVIATIONS
COCOMO : Cost Constructive Model
CPU : Central Processing Unit
ECG : électrocardiogramme
EEG : électroencéphalogramme
FLOPS : Floating Instructions Per Second
GPU : Graphics Processor Unit
IEC 60027: International Electrotechnical Commission’s standard on Letter symbols
KLOC: Kilo Lines of Code
PFLOPS : Peta FLOPS
Po : Pétaoctet
PU : Processing Unit
RdF : Reconnaissance des Formes
To : Téraoctet
UC: Unité Centrale
UML: Unified Modelling Language
UP: Unified Process
Page |1
INTRODUCTION GENERALE
1. Introduction
A l’ère actuelle, nous vivons dans un monde où l’information est une variable non
négligeable. D’énormes quantités d’informations sont traitées à chaque instant et
continuellement et transportées à travers le monde via des réseaux interconnectés par internet.
L’informatique occupe une place stratégique dans la vie de l’homme moderne. Celle-ci lui
propose en effet divers solutions, allant du simple divertissement (jeux sur les Smartphones,
lecteur des sons et vidéos, etc.) aux plus délicates des applications (pilotage des centrales
nucléaires, télémédecine, détection et reconnaissance faciale, etc.). Nous sommes donc dans
une ère de l’informatique au service de l’homme.
Dans un pays où vivent les hommes, l’une des attributions de l’autorité établie est celle de
sécuriser les personnes y habitant ainsi que leurs biens. Nous avons évoqué précédemment le
fait que l’informatique a permis de faciliter beaucoup d’aspect de la vie de l’homme (confort,
allégement du travail, divertissement, communication, etc.), en proposant des solutions à la
fois innovantes et automatiques (commandes à distance par exemple, intelligence artificielle,
etc.). C’est dans cette même optique que nous nous sommes intéressés à un des domaines de
la sécurité, en proposant une solution informatique pouvant faciliter cette dernière (la
sécurité), permettant de la rétablir à travers des enquêtes en cas de compromission, en utilisant
un système informatique de reconnaissance faciale.
Dans ce travail, nous allons aborder la théorie de la reconnaissance de formes (voix,
empreintes, iris, face, …) d’une manière générale, ensuite sera présentée d’une manière
particulière la reconnaissance faciale. Nous décrirons ensuite le processus de conception et de
réalisation du système, et enfin nous exposerons les résultats obtenus, que nous comparerons
aux résultats attendus conformément aux objectifs de ce travail.
2. Problématique
Le rôle de la surveillance est d’observer attentivement, dans le but de pouvoir contrôler. Ce
contrôle permettra de définir les meilleures mesures possibles de prévention et de sécurité.
De ce fait, nous nous sommes donc questionner ainsi, vu notre thème de recherche :
- Les systèmes de surveillance actuels pour la sécurité des personnes et de leurs biens
sont-ils fiables ?
- Facilitent-ils l’assurance de la sécurité ?
- Contribuent-ils à l'établissement des faits tels que déroulés et de la justice ?
- Si on le dotait d’une reconnaissance faciale, permettra-il d’identifier avec précision les
acteurs d’un quelconque événement ?
- Peut-on localement réaliser un système de ce type ?
Ces questions forment la problématique à laquelle ce travail compte apporter une réponse.
Page |2
3. Hypothèses
Un système de vidéosurveillance basé sur la détection et la reconnaissance faciale permet :
- De confirmer la présence d’une personne en un lieu donné et à un instant précis,
- D’identifier un individu à partir d’une image prise par le système lui-même et ainsi
faciliter les enquêtes criminelles
- D’identifier un individu apparaissant sur un media (image ou vidéo) à partir des
ressources disponibles (une base de données telle que celle de l’état civil par exemple)
à un pourcentage près. Sa précision est à déterminer au cours des tests et à améliorer
au cours de l’optimisation.
Il est possible de réaliser un système de ce type localement. Il suffit d’avoir le matériel qu’il
faut.
4. Intérêt du sujet
Le choix de ce thème de recherche a été motivé par plusieurs raisons :
La sécurité des personnes et de leurs bien étant un vrai défi dans notre milieu,
développer un système est notre manière de contribuer à son établissement.
La reconnaissance faciale est une technique biométrique très populaire et très
avantageuse (non intrusive, peu couteuse, etc.), contrairement aux autres techniques
biométrique (iris, rétine, doigt, voix, …)
Des recherches sont continuellement menées pour améliorer davantage, les techniques
de reconnaissance faciale.
CHAPITRE 1
Source: fr.wikipedia.org/wiki/oeil
La vision des êtres vivants a servi de modèle pour les systèmes de vision artificiels. D’un
côté, on compare l’œil à une boite noire d’appareil photographique, la rétine serait sa plaque
sensible (elle effectue la perception proprement dit).
De ce fait, un système de vision par ordinateur comprend :
- Un ou plusieurs capteurs de lumière ou caméras qui « photographient » des objets ou
des scènes, jouant le rôle de l’œil ;
- Des processeurs et des programmes de traitement correspondant à la zone du cerveau
dédiée à la vision ;
Page |7
1
http://www.cambridge.org/us/0521122937:
Nils J. Nilsson, The quest for artificial intelligence, A history of ideas and achievements, 2010, P393
Page |8
L’analogie entre l’artificiel et le naturel est donc approximative puisque les approches sont
encore élémentaires, on ne sait pas encore mimer le fonctionnement cérébral. C’est ainsi que
lors de la conception d’un système de reconnaissance de forme, on doit prendre en compte ces
différences. C’est la raison pour laquelle en intelligence artificielle, on programme
différemment de quand on traite un problème classique. On parle ainsi de la programmation
symbolique en IA et de la programmation algorithmique dans le cas classique.
Apprentissage
Voix, etc.
CLASSE
Décision Post-traitements
La fonction de décision est une méthode mise au point, pour classifier les formes
inconnues, en étudiant la base dont on dispose.
Lors de la saisie ou l’acquisition,
tion, la forme passe du monde réel à l’espace des formes. Dans
cet espace, le système effectue l’extraction des caractéristiques de la forme inconnue et déduit
sa représentation. Représenter la forme réduit la taille du problème en décrivant la donnée par
quelques caractéristiques discriminantes (valeurs semblables pour les motifs semblables,
valeurs différentes pour des motifs différents). Dans l’espace de représentation, le système
déduira la classe de la forme inconnue, en fonction des représentations de des formes connues,
c’est-à-dire
dire présentes dans la base.
Figure 3 – Exemple d’extraction des formes à reconnaitre : cas des faces humaines,
détection faciale par notre système.
P a g e | 11
Figure 4 – Caractéristiques extraites sur des formes appartenant à 3 classes. Cas non
supervisé (voir apprentissage).
Le système de RdF utilise un nombre précis des caractéristiques, pour déterminer la classe
d’une forme inconnue. Pour cette fin, le système considère un nombre précis des classes
différentes, soit K ce nombre.
P a g e | 12
Dans l’exemple de la figure 1.4, K=3 et le nombre des caractéristiques est 2. Chaque classe
est représentée par un nuage des points dans l’espace des caractéristiques.
On choisit les caractéristiques de manière à ce qu’il y ait une erreur de classement faible.
Elles doivent aussi être choisies afin d’éviter les prétraitements. D’où le concepteur des
systèmes de RdF visera à extraire des caractéristiques de type RST (Rotation, Scale,
Translation), c’est-à-dire invariantes à la rotation, l’échelle et la translation. Il prendra aussi
en considération les différentes déformations les plus probables des formes et leurs
répercussions dans la chaine de traitement. Pour effectuer le choix des caractéristiques et leur
représentation, le concepteur peux utiliser plusieurs approches, notamment l’approche :
a. L’approche statistique
On extrait de manière systématique sur les formes des mesures de type numérique. Ces
mesures constituent les composantes d’un vecteur x.
Ce vecteur peut s’écrire :
= [ , ,…, ] (1.1)
eme
Où les xi…xd sont les caractéristiques, xi est la i caractéristique de la forme
représentée par le vecteur x.
L’indice d correspond à la dimension de l’espace des caractéristiques.
Cette approche est plus utilisée pour les objets simples, bien définies et se présentant de la
même façon (même orientation dans l’espace, même échelle).
L’identification se fait par superposition des formes. Il s’agit en effet de superposer l’image à
reconnaître à un modèle préalablement appris et stocké dans une base de données d’images.
C’est par exemple la reconnaissance de caractères dactylographiés ou imprimés, de pièces
mécaniques bien déterminées, d’empreintes digitales, etc. Elle est la plus simple, malgré la
difficulté pratique de son application. Elle exige une grande quantité des données à stocker et
elle est intolérante aux variations.
En pratique, la superposition parfaite ne peut être réalisée, ainsi on utilise la notion de «
distance » entre images. On mesure la dissemblance entre l’image et le modèle. L’image est
reconnue comme identique au modèle si la métrique est inférieure à un certain seuil, ou bien
si la métrique entre l’image est l’un des modèles considérés est nettement inférieure à celle
entre la même image et chacun des autres modèles. L’inconvénient majeur de cette technique
est que la notion de métrique n’est pas conforme RST, c’est-à-dire qu’elle n’est pas invariant
de la rotation, la translation et l’échelle. D’où un système de lecture de caractères basé sur ce
principe ne reconnaîtra pas un caractère s’il est écrit dans un corps différent de celui de la
base d’apprentissage. Dans l’industrie, il ne sera pas possible de retrouver une pièce en vrac.
b. L’approche structurelle
On décompose la forme en des formes élémentaires, appelées primitives. Dans ce cas-ci, la
représentation est ordonnée des primitives (caractéristiques topologiques, connexité,
intersection entre lignes, zones homogènes, comptage ou calcul de certains éléments
d’images, etc.). C’est surtout la description des objets complexes sous forme de graphes liant
des objets plus simples (formes élémentaires) pour représenter ces objets complexes. Ainsi,
P a g e | 13
pour les empreintes digitales, par exemple, on repère les points caractéristiques : bifurcations,
terminaisons de traits, nombre de lignes parallèles, etc.
Pour réduire la taille du vecteur des caractéristiques et la quantité des données à traiter, on
effectue une projection dans un espace où les caractéristiques ne sont pas corrélées. Cet
espace est obtenu par la méthode d’analyse en composantes principales2 ou ACP.
En approche structurelle, on passe par une représentation des connaissances pour identifier
une forme. On extrait l’information pertinente qui permettra de déterminer ce que représente
l’image. La forme joue un rôle majeur dans l’interprétation des images par les humains.
Des « primitives de surface », par exemple, donnent la surface des objets à partir de laquelle
on calcule le rapport (périmètre au carré/surface), le centre de gravité, les moments d’inertie,
le nombre de trous, la surface des trous, etc. On peut aussi définir la concavité, la convexité,
ou d’autres fonctions intrinsèques de courbure. Ces codages fournissent un modèle
paramétrique structurel ou hybride, la « signature » de l’objet, qui sera stockée et comparée à
des données préalablement apprises.
D’autres attributs, comme la couleur, la texture ou le pouvoir de réflexion, peuvent également
servir pour l’identification d’un objet.
Mais des informations d’une autre nature peuvent intervenir, par exemple la connaissance du
contexte dans lequel se trouve l’objet. On parle alors de « reconnaissance sémantique ». Si
tous les êtres humains reconnaissent les mêmes images, ils n’en comprennent pas la même
chose ; une image est associée à tout un contexte socioculturel, donc à une accumulation
d’informations signifiantes, mémorisées antérieurement. C’est ainsi que cette approche est
destinée au développement des systèmes de RdF pour des formes beaucoup plus complexes
que les précédentes.
Dans les méthodes de type statistique, on utilise des métriques ou distances sur les
vecteurs caractéristiques, afin de déterminer si les caractéristiques qu’ils représentent
appartiennent à la même classe ou non.
Distance euclidienne
( , )= | − |
Distance L1 ou distance de
Manhattan
( , )= | − |
2
Voir le chapitre 3 : Présentation des quelques algorithmes de reconnaissance faciale
P a g e | 14
Convergence uniforme ou ( , )= | − |
distance de Tchebychev ou
L∞
- Non supervisée
Ici par contre, les classes possibles ne sont pas connues à l’avance. La base
d’apprentissage est constituée d’un échantillon non classifié.
Le cas de l’orientation d’un client sur un site marchand en est un exemple typique. Un
client vient d’acheter un smartphone sur Ali Express. On souhaite retrouver les personnes
avec les mêmes gouts pour orienter ce client. La base d’apprentissage est composée des
clients ayant fait des achats, on commencerait par regrouper en classes les clients ayant les
mêmes gouts.
b. Décision
Le système de RdF doit décider si un élément caractérisé par un vecteur des
paramètres appartient à une classe ou à une autre. On effectue la séparation de l’espace des
paramètres en régions lors de la classification. Les différentes régions sont les classes, la
décision consistera à évaluer la probabilité d’appartenance à une des classes. Cette probabilité
ainsi obtenue sera comparée à une valeur seuil. Le résultat de la comparaison signifiera qu’en
dessous du seuil la forme n’appartient pas à la classe et qu’elle lui appartient dans le cas
contraire.
Pour décider selon cette approche probabiliste, on peut se baser sur :
- Le critère de Bayes
L'approche Bayésienne aux problèmes de décision est basée sur la connaissance, pour
chaque hypothèse, de la probabilité a priori pour que cette hypothèse se réalise.
L’hypothèse est par exemple l’appartenance d’une forme à une classe bien déterminée.
Cette approche est une alternative à l’approche bayésienne, dans le cas où les
probabilités a priori ne sont pas connues.
Quelle que soit l’approche utilisée, on minimise la probabilité d'erreur. Notre objectif n’étant
pas d’exposer la théorie de la décision, nous nous nous limitons à ces brèves définitions.
En conclusion, la reconnaissance consiste à extraire des données du capteur, une description
géométrique de la scène, puis mettre cette description en correspondance avec la base de
données de modèles, afin d’établir l’identification avec l’un de ces modèles. L’identification
peut se faire de deux manières, notamment la superposition de formes pour une approche
statistique et par détection des similitudes dans le cas d’une approche structurelle. La base des
données des modèles est constituée lors de la phase d’apprentissage, phase à laquelle on dote
le système de sa connaissance.
4. Domaines d’application
La RdF a plusieurs domaines d’application partant même de son objectif. Parmi les plus
populaires, citons l’interprétation des images et des signaux médicaux, l’interprétation
d’images aérienne ou satellites, la détection des défauts dans les pièces industrielles, la
reconnaissance des gestes, de l’attitude et même très récemment celle des émotions à partir
des séquences audio ou vidéos et même la reconnaissance d’opinions à partir de tweets.
P a g e | 17
4.2. L’écriture
Dans ce domaine, quelques applications sont :
Le tri automatique de courrier par lecture et reconnaissance des adresses
L’authentification des chèques bancaires
La saisie et l’archivage des documents
La reconnaissance des signatures et
L’OCR
P a g e | 18
4.3. La vision
Dans le cas de la vision par ordinateur, les applications sont nombreuses. Citons :
Le traitement, l’analyse et l’interprétation des images
La reconnaissance des empreintes digitales
L’analyse d’image de radiographie ou d’échographie
L’analyse des défauts de pièces d’usinages
La surveillance des processus en robotique
L’analyse des images de satellites pour la prévision météorologique
L’analyse du sol en pétrographie
L’indexation
La reconnaissance faciale résulte de l’interprétation d’une image ou d’une trame d’une
vidéo.
Les caractéristiques à extraire sont la description de la face humaine (écartement des yeux,
rapport entre la hauteur et la largeur du visage, …).
Avec les systèmes de reconnaissance des empreintes digitales, de l’iris et de la voix ; le
système de reconnaissance faciale sont classés dans la famille des systèmes biométriques.
Dans ce tableau nous présentons quelques exemples classiques de reconnaissance de forme :
visage, voix
CHAPITRE 2
1. Système biométrique
La biométrie est l’identification des personnes en fonction des caractéristiques biologiques
telles que les empreintes digitales, les traits du visage, etc. ou des caractéristiques
comportementales, telles que la démarche, la signature, etc.
Un système biométrique comporte deux phases lors de son exécution. Primo une phase
d’apprentissage, au cours de laquelle on lui fournit les connaissances nécessaires à son
fonctionnement et secundo une phase de test qui consiste à tester le système. Chacune de ces
phases, contient trois modules de bases ainsi qu’un module supplémentaire, propre à la phase
de test.
a. Le module de capture
Cet élément du système permet d’acquérir l’information biométrique. C’est l’entrée du
système. C’est une caméra dans notre cas. Il varie selon les applications : scanner
d’empreintes digitales, un microphone pour un système de reconnaissance vocale, etc.
b. Le module d’extraction des caractéristiques
Il reçoit les informations du capteur, il n’en extrait que les données pertinentes. De ces
dernières, ce module effectue une nouvelle représentation des données. Dans le cas idéal,
cette nouvelle représentation doit être unique pour chaque visage et relativement invariante
aux variations intra-classes.
c. Le module de correspondance
Ce module est le troisième dans la chaine des éléments du système biométrique. Il se charge
d’effectuer la comparaison de l’ensemble des caractéristiques extraites avec les modèles
enregistrés dans la base des données. Il détermine ainsi le degré de ressemblance ou de
dissemblance.
d. Le module de décision
C’est au niveau de ce module que l’identité de la personne est déterminée. Cela se basant sur
le degré de ressemblance entre les caractéristiques extraites et les modèles présents dans la
base.
P a g e | 21
L’architecture d’un système biométrique, avec ses modules, nous rappelle celle d’un système
de RdF, vue au chapitre précédant, dédié à la reconnaissance des formes (figure 2.1).
Parmi l’ensemble des systèmes de reconnaissance biométriques, deux raisons motivent le
choix particulier des systèmes de reconnaissance faciale. Notamment :
- C’est une méthode non intrusive : elle n’exige pas la coopération du sujet. On peut
faire une observation à distance, contrairement à la reconnaissance de l’iris et de
l’empreinte digitale par exemple, qui exigent que le sujet fasse un contact physique
avec le capteur.
- Les capteurs sont peu couteux. En effet, une simple camera pourrait servir de capteur
pour un système de reconnaissance faciale.
système se résume en trois étapes après l’acquisition de l’image faciale, par la camera de
sécurité.
Deux modules du système de reconnaissance facial appliquent des traitements similaires, que
l’on soit dans le mode enrôlement ou le mode identification. Le premier se charge de la
détection de la face dans l’image capturée par la camera, ensuite il passe au second module
une image ne contenant que la face. Le second module en extraira la signature et la stockera
dans la base des données dans le cas d’un enrôlement ou l’utilisera pour la classification dans
le cas d’une identification. Pour une identification, la signature servira d’entrée à un troisième
module, spécialement destinée à la tache de classification de la signature et d’exécuter le
processus de décision. Ce dernier module, propre au mode identification produit la décision
finale : personne connue ou personne inconnue.
a. Détection faciale
La performance globale d’un système de reconnaissance faciale dépend de sa performance
dans la détection faciale. Il s’agit d’identifier et de localiser une ou plusieurs faces humaines
dans une image capturée par le système. Cette localisation est réalisée indépendamment de
l’échelle, de la position, de l’orientation et de l’éclairage. La détection faciale se fait ainsi, par
détection de la couleur de la peau, de la forme de la tête, le ratio entre l’écart entre les yeux et
la taille du nez, et tant d’autres caractéristiques du visage humain.
La détection faciale passera par une classification où on assigne l’image à la classe « face » ou
« pas face ». Les approches de détection faciale se regroupent en quatre catégories,
notamment :
- Les méthodes basées sur la connaissance : on code la connaissance
humaine du visage.
- Les méthodes de correspondance des masques ;
- Les méthodes à caractéristiques invariables : on utilise la couleur, les
textures et les contours
- Les méthodes basées sur l’apprentissage ou les statistiques telles que le
PCA, SVM, Graph matching, etc.
P a g e | 23
Bases des
Acquisition d’images données
d’images
Détection et
prétraitement
Extraction des
caractéristiques
(signature)
Bases des
Classification données des
signatures
Inconnue
connue
Extraction des
Apprentissage Acquisition Prétraitement Calculs modèles
caractéristiques
Base des
données
Extraction des
Test Acquisition Prétraitement Calculs modèles
caractéristiques
Décision
Les techniques hybrides combinent les classifieurs dans le but d’unir leur force et pallier à
leur faiblesse. Elles assurent ainsi une meilleure modélisation de images faciales.
Ces techniques citées ci-haut sont des méthodes de reconnaissance faciale 2D. Elles sont très
sensibles aux facteurs de variabilités de l’environnement, ainsi, les recherches se poursuivent
pour des nouvelles alternatives. La reconnaissance faciale 3D fait partie de ces alternatives.
De nos jours, il existe des dispositifs d’acquisition 3D. Les images faciales capturées
conservent toutes les informations sur la géométrie de la face, ce qui permettra d’avoir une
représentation réelle de ce dernier.
= , = 1,2, … ,
4. Ranger les valeurs propres par ordre décroissant. Les k composantes principales sont les
vecteurs propres correspondant aux k plus grandes valeurs propres.
Ces vecteurs contiennent l’information la plus significative de l’ensemble des images ayant
servi à les construire.
Ces composantes sont données par :
= ( − ) = ( , ,…, )
La base ACP est obtenue par :
= +
La reconnaissance faciale par cette méthode est mise en œuvre de la manière suivante :
Projeter les images faciales à reconnaitre dans l’espace des composantes principales
Projeter les images faciales connues (stockées dans la base des données) dans ce même
espace des composantes principales.
Trouver les plus proches voisins entre les projections des images connues et les
projections des images à reconnaitre.
Dans l’application de cette méthode, on préfère l’utilisation de la base PCA ortho normale.
Cette préférence conduit à une réduction considérable des données à manipuler.
En effet, des notions d’algèbre linéaire, on sait que :
Une matrice ∗ avec < ne peut avoir que − valeurs propres non nulles. Ainsi,
il est possible de considérer :
= , une matrice de covariance carrée des taille ∗ .
Les valeurs propres et les vecteurs propres :
=
Les vecteurs propres originaux, sont obtenue par la multiplication à gauche de X.
( )= ( )
Ces vecteurs propres, ainsi obtenus sont orthogonaux.
P a g e | 30
Méthodes Méthodes
Méthodes hybrides
globales locales
K-PCA K-LDA LLE PCA LDA ICA AAM BIC LBP SVM
= ( − )( − )
= ( − )( − )
1
μ= x
N
=
| |
| |
=
La matrice de transition qui projette l’échantillon dans le sous espace de dimension égale à (c-
1) est définie comme suit :
( , )= ( − )
Avec (xc,yc) : les coordonnées du pixel central, ic son intensité. ip celle du pixel voisin.
s est la fonction qui détermine le signe et est définie comme ci-après :
( )= 1 ≥0
Pour augmenter la robustesse de l’algorithme, l’on a introduit une définition d’un voisinage
variable pour un pixel. En effet, un voisinage fixe rend l’algorithme très variant de l’échelle.
La définition du voisinage variable se fait en alignant un nombre arbitraire des pixels sur un
cercle à rayon variable.
Figure 11 – Exemple des voisinages obtenus – les points remplis sont les bits 1. Les 0 ne
sont pas pleins.
Dès lors, pour un point donné (xc, yc), le point voisin (xp, yp) sera obtenu par :
= + ( )
= + ( )
L’algorithme PCA maximise la dispersion au sein des données pour les discriminer, ce qui
peut conduire à un problème de classification si la source de variance est externe : une source
d’illumination par exemple. Ainsi, pour préserver certaines informations nécessaires à la
classification on applique l’algorithme DLA. Ces deux méthodes (PCA et DLA) sont
globales, elles considèrent l’image faciale dans sa globalité.
La méthode LBHP est une méthode locale : elle considère chaque pixel de l’image faciale, et
en extrait une information (code LBH binaire) en fonction de son voisinage (intensité des
pixels voisins). Ces informations, ainsi extraite, constituent la représentation vectorielle de
l’image.
Expressions faciales Les expressions faciales sont très fréquentes chez les
humains. Elles sont une source de variation dans les
images, en effet, elles peuvent influencer l’articulation de
la mâchoire, actionner des muscles du visage, bouger les
sourcils, les lèvres et les joues.
Occultations partielles
P a g e | 35
Soit K le nombre total des utilisateurs enrôlés ayant essayé une authentification, et I le
nombre d’accès imposteurs.
Selon qu’il s’agit d’une authentification ou une identification, le TFR et le TFA sont définis
de la sorte :
Outre les taux mesurés, il est plausible de mesurer les taux de confiance, conformément aux
théories d’intervalles de confiance. Cela dans le but de faire une meilleure évaluation des
performances.
A l’ère actuelle, des nouvelles technologies sont développées en vue d’améliorer les systèmes
de reconnaissance faciale. L’objectif, au cours de leurs développements, est de mettre à la
disposition des chercheurs des moyens d’obtenir des systèmes beaucoup plus précis mais
moyennant un cout économique extrêmement plus élevé. Ces technologies sont :
- La technologie infrarouge
On utilise des ondes infrarouges pour mesurer les radiations thermiques émises dans la
gamme du spectre infrarouge. On obtient des systèmes insensibles à la couleur de
peau, bronzage, chirurgies plastiques, etc. Et les photos peuvent être capturées dans
l’obscurité.
- La technologie 3D
CHAPITRE 3
Authentification
Administrateur <<include>>
Reconnaissance
<<include>> Détection faciale
faciale
<<include>> <<include>>
1. Authentification
Scénario alternatif
Scénario alternatif
1. Si l’individu est déjà dans la base des données du système, l’enrôlement échoue.
2. Si les champs obligatoires du formulaire ne sont pas remplis, l’enrôlement échoue.
3. Si le périphérique de capture ne fonctionne pas, l’enrôlement échoue.
4. Fin du cas d’utilisation
3. Reconnaissance faciale
Scénario alternatif
Sur le diagramme, nous remarquons que la décision intervient après toutes les activités. Les
activités sont représentées par des rectangles à coins arrondis, la décision quant à elle, elle est
symbolisée par un losange. C’est n’est qu’après la décision qu’un message est émis : l’identité
de l’individu, dans le cas où une correspondance de l’image faciale est trouvée dans le
système, ou un message de sortie dans le cas contraire.
Sur la figure 3.2, les activités globales du système sont mises en évidence.
Capture
[périphérique de capture ne répond pas]
do / capturer
[image capturée]
Détection Reconnaissance
[face détectée et extraite]
[aucune face détectée] /comparer images faciales
do / detecter face do / demarrer
[aucune correspondance]
[face détectée]
/afficher « Personne inconnue »
[correspondance trouvée]
[face extraite]
Prétraitement
Personne
do/ appliquer
prétraitement do/afficher identité
Personne
Reconnaissance FaceRecognizer
-id: Integer
-nom: String -images: Vector<Mat>
-etiquettes:Vector<Integer> dépends
-prenom: String createFisherFaceRecognizer()
-images: List<ImageFaciale> -dataSetFaces : String createEigenFaceRecognizer()
ajouter():void -recFace : FaceRecognizer train()
modifier():void demarrer():void predict()
supprimer():void comparerImages():Bool
obternirDetails() apprendre(dataSetFaces):Bool
arreter():void CascadeClassifier
obtenirDetails():String
load()
dépends
ImageFaciale
gère
dépends
-idUtilisateur:Integer Detection
-chemin:String
ajouter() -idPeriphCapture: Integer VideoCapture
supprimer() -cheminFichierCsv : String
obtenirDetails() -cheminClassifieur : String
-capture : Capture
gère demarrer() Open CV
extraireFace(CascadeClassifier
):ImageFaciale
Admin s'applique à obtenirDetails()
Capture
dépends
capture
demarer(idPeripherique):ImageF
aciale
Pretraitements
connexion/deconnexion arreter() : Boolean
obtenirDetails():String
compresser(ImageFaciale):Image
Authentification Faciale dépends
filtrer(ImageFaciale):ImageFacia
le
-id:Integer
convertir(ImageFaciale):ImageFac
authentifier(Utilisateur) : iale
Boolean obtenirDetails():String
Ordinateur
:Personne
:Reconnaissance
:Base des
:Detection données faciale
:Petraitement
:Capture
« USB »
:OpenCV
IHM
Caméra
Dans ce chapitre, nous avons modélisé le système avec UML. Nous avons conçu différents
diagrammes. Grâce à ces différents diagrammes nous sommes passés à l’étape de réalisation
du système en programmant les différents modules.
Dans le chapitre suivant nous présentons les différent matériels utilisés, nous présentons la
manière dont nous avons conçu la base des données faciale et évaluons les coût du projet.
P a g e | 51
CHAPITRE 4
IMPLEMENTATION DU SYSTEME
Nous avons modélisé notre système de reconnaissance faciale à l’aide du langage UML, dans
le chapitre précédant. Ce chapitre consistera en la réalisation du système, l’évaluation de ses
performances et l’évaluation de son cout. La réalisation du système consistera à programmer
les différents modules fonctionnels du dit système. L’évaluation de son cout sera faite selon
les spécifications de la méthode COCOMO. Les performances du système seront évaluées par
les indices de performance vues au chapitre 3. Notamment le TFR et le TFA.
1. Réalisation du système
a. Open CV
Open CV « Open Computer Vision » est une librairie de reconnaissance des formes (vision
par ordinateur). Elle est open source, créée en 1999.
Elle a été conçu dans le but d’effectuer le traitement temps réel d’images. Open CV est
actuellement à sa version 2.4 est offre aux développeurs des interfaces de programmation en
C, C++, Python et Java. Il offre aussi la possibilité d’implémenter des projets mobiles avec
son interface Android.
b. La base des données faciale
La base des données faciale est composée d’images faciales associées à chaque individu. Elle
est encore appelée « gallérie » selon certaines terminologies. Sur toutes ces images,
apparaissent le visage de l’individu à laquelle elles sont associées. Elles sont prises dans
différentes conditions : différents moments, où l’éclairage varie ; différentes expressions
faciales (yeux ouverts ou fermés, visage souriant ou pas). On peut aussi ajouter des images
avec des visages de l’individu avec des lunettes, sous différents angles de vue, etc.
La base des données contient au minimum une image faciale par individu enrôlé. Pour
accroitre la précision de la reconnaissance faciale, il convient d’avoir plusieurs images
faciales par individu (jusqu’à dix images).
Dans le cadre de notre projet Open CV, nous avons utilisé 10 images faciales pour chaque
individu. Les images utilisées étaient au format portable PGM.
Personne Créer
Mettre à jour
Supprimer
Obtenir détails
Authentification Authentifier
Activer
Désactiver
Obtenir détails
Reconnaissance Démarrer
Arrêter
Effectuer apprentissage
Comparer faces
P a g e | 54
Obtenir détails
DONNEES
Personne id moyenne 7
nom
prenom
images
P a g e | 55
Authentification id faible 7
etatAuthentification
TRANSACTIONS
Entrées
créer id moyenne 4
nom
prenom
imagesFaciales
Supprimer id faible 3
Image faciale
Authentification
Créer id faible 3
etatAuthentification
Sorties
Reconnaissance
Détection
P a g e | 56
Après analyse des fonctionnalités utilisateurs du système, les points de fonction non ajustés
sont les suivants :
Composante Complexité
Simple Moyenne Complexe Total
ENT 3x3 2x4 0 17
SORT 0 2x5 0 10
INT 0 0 0 0
GDE 0 0 0 0
GDI 3x7 0 0 21
Nombre total des points de fonction non ajusté (PF) 48
Tableau 10 – Synthèse des points de fonction non ajustés.
= . + . ∗
Avec :
VAF le facteur d’ajustement total
N le nombre des facteurs d’ajustement partiels
Fi : facteur d’ajustement partiel
51
Organiques
Application simple, de routine, réalisée par une équipe expérimentée ayant l’habitude
de travailler ensemble, maîtrisant le langage et l’environnement de développement.
Semi-détachés
Niveau intermédiaire, le projet n’est ni trop simple ni trop compliqué, l’équipe de
développement a déjà réalisé quelques projets ensemble mais n’est pas totalement
rodée. Les technologies et le domaine d’application sont un peu flous, mais pas de
grosses difficultés.
Imbriqué
Techniques innovantes, organisation complexe, couplage fort avec beaucoup
d’interactions. Technologie et domaine nouveau, équipe ‘jeune’.
Les formules de calculs sont :
= ∗( ) [ − ]
= ∗( ) [ ]
Avec :
KLOC : milliers de ligne de code estimées du logiciel ;
A, B, C, D : facteurs multiplicateurs dont la valeur dépend du type de projet ;
ED : Effort de développement ;
TD : Temps de développement ;
Rh : Ressources humaines ;
Type de projet A B C D
Organique 2.4 1.05 2.5 0.38
Semi-détaché 3.0 1.12 2.5 0.35
Imbriqué 3.6 1.20 2.5 0.32
Tableau 13 – COCOMO – Facteurs multiplicateurs selon le type des projets.
COCOMO basique est un outil qui permet d’estimer facilement le coût d’un projet
informatique. Cependant il ne tient pas compte de contraintes matérielles (hardware), de la
qualité du personnel et de l’expérience de l’équipe de développement, l’utilisation des outils
modernes de développement, etc.
P a g e | 59
Rh 7.5
= 1.38
5.4
Productivité[LOC/HM] 2951
= 393.46
7.5
Moyenne de personnel .
.
= . ≈
3
Mise à part l’effort nécessaire à la spécification des besoins et à la planification.
4
Mise à part la durée destinée à la spécification des besoins et à la planification
P a g e | 60
Organique PR 10 11 12 13
PD 19 19 19 19
P 63 59 55 51
IT 18 22 26 30
PR 16 18 20 22 24
Semi-détaché PD 24 25 26 27 28
P 56 52 48 44 40
IT 20 23 26 29 32
Imbriqué PR 24 28 32 36 40
PD 30 32 34 36 38
P 48 44 40 36 32
IT 22 24 26 28 30
5
L’effort et le temps de l'expression des besoins et planification (PR) sont mis à part et doivent être ajoutés
pour avoir l'effort total et la durée totale du projet.
P a g e | 61
7.5 Homme-Mois
PR 6 0.45
PD 16 1.2
P 68 5.1
DD 26 1.95
CUT 42 3.15
IT 16 1.2
5.4 Mois
PR 10 0.54
PD 19 1.026
P 63 3.402
IT 18 0.972
Tableau 16 – Répartition des efforts et du temps.
3.3.1. Personnel
Phase HM [homme] TD [mois]
Salaire individuel mensuel Total [$]
[$]
PD 1 1 700 700
P 2 2 500 2000
IT 1 1 450 450
TOTAL 3150
Tableau 17 – Salaire du personnel de développement.
3.3.2. Matériel
N° Matériel Prix unitaire Quantité Coût total
[$]
1 Ordinateur6 650 1 650
2 Caméra USB7 69.99 1 69.99
6
Dell Vostro 1015 – 15.6’’
7
Microsoft 5WH USB 2.0 Webcam
P a g e | 62
TOTAL 719.99
Tableau 18 – Coût du hardware.
CONCLUSION GENERALE
Au terme de ce travail, rédigé dans le cadre de la fin de nos études et intitulé système de
reconnaissance faciale, nous avons implémenté une application informatique qui effectue
une identification biométrique, par reconnaissance faciale. Cela consiste en la vérification de
l’identité d’un individu préalablement enrôlé dans le système et de l’enrôlement d’un nouvel
individu dans le système.
Nous avons exposé les techniques et algorithmes de reconnaissance faciale existants ainsi que
leur classification. Et parmi celles-ci, nous avons choisi de développer notre système à l'aide
de la méthode PCA. Cette dernière consiste en une représentation matricielle des images
faciales. On extrait les valeurs propres de ces matrices pour obtenir des matrices orthogonales,
dans le but de réduire les données à traiter sans perdre les informations pertinentes. Ainsi, on
effectue la comparaison, de cette projection avec chacune de projection des images de la base
des données. A la suite de cette comparaison, on choisit l’image la plus proche de celle reçu
comme argument : c’est la reconnaissance. Une personne n’est pas reconnue, si elle n’est
proche d’aucune des personnes enrôlées.
Nous avons constaté que la reconnaissance faciale est l’une des techniques de de
reconnaissance les plus populaires car elle n’est pas intrusive, contrairement à la plupart
d’autres techniques de reconnaissance biométriques.
Open CV est un API open source permettant d’implémenter des applications en vision par
ordinateur. Nous nous en sommes servi au cours de notre travail. Notre choix de cet API a été
motivé par le fait qu’il est complet et facile à mettre en œuvre. Et en plus de cela, il est ouvert
à plusieurs langage de programmation (Python, Java, C++, C, GPU). Parmi ces derniers nous
avons choisi le C++.
En conclusion, la reconnaissance faciale, si implémentée dans un système de
vidéosurveillance, permet d’accroitre la sécurité, puisqu’en plus de surveiller, il détermine
l’identité des individus présents dans la séquence vidéo capturée. Dans le cas inverse, il peut
émettre une alarme pour signaler une intrusion, mais cela dépends du but pour lequel il a été
implémenté.
Nous ne prétendons pas avoir exploré toute la matière relative à la reconnaissance faciale.
Aux prochains passionnés de ce domaine, nous demandons d’améliorer ce système, en
implémentant un système de reconnaissance faciale 3D pour une meilleure précision, ils
peuvent aussi utiliser des matériels d’acquisition à infrarouge pour cette même fin : augmenter
les performances du système.
P a g e | 63
BIBLIOGRAPHIE
[1] Sabah MARGHOOB and Fahiza ARSHAD, Face Recognition Using Neural Network,
Department of Physics (Electronics) – Government College University – Lahore, Thesis,
Session 2010-2014
[2] Francis COTTET et Emmanuel GROLLEAU, Systèmes temps réel de contrôle-
commande, Dunod, Paris, 2005
[3] Youguo PI, Wenzhi LIAO, Mingyou Liu and Jianping Lu (2008). Theory of Cognitive
Pattern Recognition, Pattern Recognition Techniques, Technology and Applications, Peng-
Yeng Yin (Ed.), ISBN: 978-953-7619-24-4, InTech,
[4] Zahraa QASEM JABER and Mohammed ISSAM YOUNIS, Ph.D., Design and
Implementation of a Real Time Face Recognition System (RTFRS), Computer
Engineering Department, College of Engineering, University of Baghdad Al-Jadriyah,
Baghdad, Iraq, International Journal of Computer Applications (0975 – 8887) Volume 94 –
No 12, May 2014
[5] Nicolas MORIZET, Reconnaissance Biométrique par Fusion Multimodale du Visage et
de l'Iris, domain other, Télécom ParisTech, 2009
[6] Arunodhayan Sam Solomon D, Melwin, Banu and Sashikala, Superiority of the Human
Brain over the Computer World in terms of Memory, Network, Retrieval and Processing,
American Journal of Engineering (AJER) 2014, Volume-03, Issue-05, pp-230-239
[7] The OpenCV Reference Manual, Release 3.0.0-dev, Juin 2014
[8] Adnan Khashman (2007), Intelligent Global Face Recognition, Face Recognition,
Kresimir Delac and Mislav Grgic (Ed.), ISBN: 978-3-902613-03-5, InTech,
[9] M. A. Turk, & A. P. Pentland, "Face recognition using eigenfaces". In Computer Vision
and Pattern Recognition, 1991. Proceedings CVPR'91., IEEE Computer Society
Conference on (pp. 586-591). IEEE.
[10] HABAMUNGU MUKUMIRO Patrick, Système embaqué pour le controle de la
qualité d’une piscine, TFE, 2016.
[11] Belhumeur, P.N. ; Hespanha, J.P. & Kriegman, D.J. (1997), Eigenfaces vs.
Fisherfaces: Recognition Using Class Specific Linear Projection, IEEE Transactions
(PAMI), Vol. 19, No. 7, (1997), (711-720)
P a g e | 64
[12] NILS J. NILSSON, The Quest for Artificial Intelligence, A history of ideas and
achievement, 2010. (171 – 189)
[13] Face recognition by humans: 20 results all computer vision researchers should
know about, Department of Brain and Cognitive Sciences, MIT, Cambridge, MA.
[14] Steve Brain and Brian Lovell, Accelerating Face-in-the-Crowd Recognition with
GPU Technology, nVidia GTC 5-nov-2013
[15] L. Thais, J.P. Cassar, J. Foulon, Guide de rédaction d’un mémoire de stage ou de
projet, Ed. Poly, 2000
P a g e | 65
Notes de cours
Sites internet
[1] http://www.face-rec.org/algorithms/
[2] http://www.intechopen.com/books/pattern_recognition_techniques_technology_and_applic
ations/theory_of_cognitive_pattern_recognition
[3] http://www.cs.bilkent.edu.tr/~saksoy/courses/cs551-Spring2008/slides/cs551_structural.pdf
[4] http://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html