You are on page 1of 77

REPUBLIQUE DEMOCRATIQUE DU CONGO

ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE


UNIVERSITE LIBRE DE PAYS DES GRANDS LACS
Département de Génie Electrique et Informatique

BP. 368 GOMA


www.ulpgl.net

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

Année académique 2015 – 2016


Page |i

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.

A nos frères et sœurs : Rosine BUNYERE, Justin KABUYA, Anne-Marie BUUMA,


Roselyne MUISHA, Lucien BANDU, Gabriel WETEMWIRA, Félicité MUTEKI et
Clémence MAENE.

A nos cousin(e)s, oncles et tantes.

A nos ami(e)s et connaissances, particulièrement à Kévine BALSY, Robert HAMULI,


Ruffin BINDU, Olive ZUNGULUKA, Jimmy MINANI et Blaise NDOLA.

A nos camarade d’auditoire : Crédo MPARARA, Daniel RUBAMBURA, Danny Luc


MUHUNDO, Espoir BUZINA et Lebon BAHATI.

MWENGEBUTSA WABO Marcellin


P a g e | iv

TABLE DES MATIERES


EPIGRAPHE I

DEDICACE II

REMERCIEMENTS III

TABLE DES MATIERES IV

LISTE DES FIGURES VI

LISTE DES TABLEAUX VII

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

GENERALITES SUR LA RECONNAISSANCE DES FORMES 4

1. THEORIE DE LA RECONNAISSANCE DES FORMES 4


1.1. PRESENTATION DE LA RECONNAISSANCE DE FORME 5
1.2. PROBLEMATIQUE DE LA RDF : DE LA VISION NATURELLE A LA VISION ARTIFICIELLE 5
1.3. L’ŒIL : UN CAPTEUR INTELLIGENT 6
1.4. LE CERVEAU HUMAIN : EXTREMEMENT PLUS PUISSANT QUE LES ORDINATEURS 7
2. ARCHITECTURE GENERALE D’UN SYSTEME DE RDF 9
2.1. ACQUISITION ET PRETRAITEMENTS 10
2.2. EXTRACTION DE CARACTERISTIQUES 11
2.3. APPRENTISSAGE ET DECISION 14
3. VISON PAR RESEAUX DE NEURONES 15
4. DOMAINES D’APPLICATION 16
4.1. LA PAROLE 17
4.2. L’ECRITURE 17
Page |v

4.3. LA VISION 18

ETUDE DE LA RECONNAISSANCE FACIALE 19

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

MODELISATION UML DU SYSTEME 38

1. PRESENTATION DU CAHIER DES CHARGES DU SYSTEME 38


2. CONCEPTION UML DU SYSTEME 39
2.1. DIAGRAMMES DES CAS D’UTILISATION 40
2.2. DIAGRAMME D’ACTIVITE 42
2.3. DIAGRAMME DE SEQUENCE 43
2.4. DIAGRAMME DES CLASSES 43
2.5. DIAGRAMME D’ETAT – TRANSITION 44
2.6. DIAGRAMME DE DEPLOIEMENT 44

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

OUVRAGES ET TRAVAUX SCIENTIFIQUES 63


NOTES DE COURS 65
SITES INTERNET 66
P a g e | vi

LISTE DES FIGURES


FIGURE 1– PARTIES DE L’ŒIL HUMAIN. ....................................................................................... 6
FIGURE 2– ARCHITECTURE D’UN SYSTEME DE RDF..................................................................... 9
FIGURE 3 – EXEMPLE D’EXTRACTION DES FORMES A RECONNAITRE : CAS DES FACES HUMAINES,
DETECTION FACIALE PAR NOTRE SYSTEME. ........................................................................ 10
FIGURE 4 – CARACTERISTIQUES EXTRAITES SUR DES FORMES APPARTENANT A 3 CLASSES. CAS
NON SUPERVISE (VOIR APPRENTISSAGE). ............................................................................ 11
FIGURE 5 – APPLICATIONS DE LA RDF....................................................................................... 17
FIGURE 6 – FONCTIONNEMENT D’UN SYSTEME DE RECONNAISSANCE FACIALE ......................... 24
FIGURE 7 – ARCHITECTURE D’UN SYSTEME BIOMETRIQUE ........................................................ 25
FIGURE 8 – CARACTERISTIQUES GEOMETRIQUES DE LA FACE HUMAINE .................................... 26
FIGURE 9 – CLASSIFICATION DES ALGORITHMES DE RECONNAISSANCE FACIALE ....................... 30
FIGURE 10 – COMPARAISON D’UN PIXEL CENTRAL AVEC SON VOISINAGE. ................................ 32
FIGURE 11 – EXEMPLE DES VOISINAGES OBTENUS – LES POINTS REMPLIS SONT LES BITS 1. LES 0 NE SONT PAS
PLEINS. ................................................................................................................................. 33
FIGURE 12 – FRR ET FAR. MESURE DE PERFORMANCE D’UN SYSTEME DE RECONNAISSANCE
BIOMETRIQUE. .................................................................................................................... 35
FIGURE 13 – ROC. MESURE DE PERFORMANCE D’UN SYSTEME DE RECONNAISSANCE
BIOMETRIQUE ..................................................................................................................... 36
FIGURE 14 – LES DIFFERENTS DIAGRAMMES DU MODELES UML. .............................................. 39
FIGURE 15 – CAS D’UTILISATIONS ET ACTEURS DU SYSTEME .................................................... 40
FIGURE 16 – ACTIVITES DE RECONNAISSANCE FACIALE. ........................................................... 45
FIGURE 17 – DIAGRAMME DE SEQUENCE : DEROULEMENT CHRONOLOGIQUE DU CAS
D’UTILISATION « RECONNAISSANCE FACIALE » .................................................................. 46
FIGURE 18 – DIAGRAMME D’ETAT – TRANSITION : RECONNAISSANCE FACIALE. ......................................... 47
FIGURE 19 – DIAGRAMME DES CLASSES DU « SYSTEME DE RECONNAISSANCE FACIALE » .............................. 48
FIGURE 20 – ORGANISATION DE PACKAGE DU « SYSTEME DE RECONNAISSANCE FACIALE » ..... 49
FIGURE 21 - DIAGRAMME DE DEPLOIEMENT .............................................................................. 50
P a g e | vii

LISTE DES TABLEAUX

TABLEAU 1– COMPARAISON DU CERVEAU HUMAIN ET DE DU SUPERORDINATEUR TITAN ____ 8


TABLEAU 2 – MULTIPLES D'OCTETS ______________________________________________ 8
TABLEAU 3 – METRIQUES UTILISEES DANS LES METHODES STATISTIQUES ________________ 14
TABLEAU 4 - APPLICATION DE LA RECONNAISSANCE DES FORMES ______________________ 19
TABLEAU 5– AVANTAGES ET INCONVENIENTS DE LA RECONNAISSANCE FACIALE __________ 21
TABLEAU 6 – CAUSE DE VARIATION DANS LES IMAGES ______________________________ 35
TABLEAU 7 – TAUX DE RECONNAISSANCE. ________________________________________ 52
TABLEAU 8 – MODULES DU SYSTEME DE RECONNAISSANCE FACIALE. ___________________ 54
TABLEAU 9 – FONCTIONNALITES UTILISATEURS DU SYSTEME – POINTS DE FONCTIONS ET LEURS
POIDS. ________________________________________________________________ 56
TABLEAU 10 – SYNTHESE DES POINTS DE FONCTION NON AJUSTES. _____________________ 56
TABLEAU 11 – FACTEURS D’AJUSTEMENT – COMPRIS ENTRE 0 ET 5. ____________________ 57
TABLEAU 12 – RATIO DE CONVERSION DES POINTS DE FONCTIONS EN LOC – SELON LES
LANGAGES DE PROGRAMMATION. ___________________________________________ 57
TABLEAU 13 – COCOMO – FACTEURS MULTIPLICATEURS SELON LE TYPE DES PROJETS. ____ 58
TABLEAU 14 – EFFORT DE DEVELOPPEMENT, TEMPS DE DEVELOPPEMENT, MOYENNE DE
PERSONNEL ____________________________________________________________ 59
TABLEAU 15– COEFFICIENTS DE L’EFFORT ET DU TEMPS DE DEVELOPPEMENT. ____________ 61
TABLEAU 16 – REPARTITION DES EFFORTS ET DU TEMPS. _____________________________ 61
TABLEAU 17 – SALAIRE DU PERSONNEL DE DEVELOPPEMENT. _________________________ 61
TABLEAU 18 – COUT DU HARDWARE. ____________________________________________ 62
P a g e | viii

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.

5. Méthodes et techniques de travail


Au cours de notre travail nous recourrons à :
- L’étude documentaire approfondie sur l’implémentation des algorithmes de
reconnaissance de formes en général et de reconnaissance faciale en particulier
- Les simulations et les tests
- Le processus unifié (Unified Process à l’aide du langage UML) pour la modélisation
- La gestion du projet et son estimation en cout et durée avec COCOMO

6. Objectifs et délimitation du travail


Nous allons réaliser dans notre étude, un système informatique capable de détecter et de
reconnaitre la face humaine, à partir des informations d’une base de données à laquelle nous
aurons accès et d’une image où une face humaine est présente.
Bien des fonctionnalités seront décrites au cours de la modélisation du système à la phase de
la spécification des besoins.
Nous ne pourrons pas épuiser toute la matière relative à la reconnaissance faciale, ni moins
celle relative aux différentes applications de la détection et la reconnaissance de formes, nous
Page |3

nous focaliserons uniquement sur ce que circonscrit notre thème de recherche : la


reconnaissance faciale, qui commence nécessairement par une détection faciale.
Mises à part l’Introduction générale et la Conclusion générale, ce travail comportera 4
chapitres, notamment :
Les Généralités sur la reconnaissance des formes, dans lequel nous parlerons
spécifiquement des concepts clés cités dans notre thème de recherche ainsi que de l’état de
l’art.
Etude de la reconnaissance faciale, où nous parlerons en long et en large de la technologie
de reconnaissance faciale, des différents algorithmes et des modèles mathématiques ainsi que
des grands domaines d’application.
La Modélisation du système, où il s’agira de dégager le modèle abstrait du système selon les
spécifications de l’UP (langage UML).
Enfin, Implémentation du système, où il s’agira de réaliser le système, d’évaluer ses
performances ainsi que son coût selon les spécifications de la méthode COCOMO pour la
gestion du projet.
Page |4

CHAPITRE 1

GENERALITES SUR LA RECONNAISSANCE


DES FORMES
Un système est un ensemble d’éléments qui interagissent entre eux selon certaines règles.
Il est déterminé par la nature de ses éléments constitutifs, par leurs interactions, par la
frontière qui sépare ce qui est inclut dans le système et ce qui ne l’est pas, et enfin par ses
interactions avec son environnement.
Un système de reconnaissance faciale est un système informatique biométrique. Un
système informatique est constitué par deux entités : le matériel(hardware) et le
logiciel(software). L’objectif d’un système informatique étant d’automatiser le traitement de
l‘information, on trouvera toujours côté matériel une unité centrale(UC) pour réaliser ce
traitement. De ce fait, un système de reconnaissance faciale, est donc un système automatisé
capable d’identifier une personne à partir d’une image numérique ou d’une trame provenant
d’une vidéo, cela en fonction des caractéristiques de son visage (écartement des yeux, des
arêtes du nez, des commissures des lèvres, des oreilles, menton, etc.) ou de vérifier son
identité : d’où le qualificatif biométrique. Il fait partie de la famille des systèmes
biométriques.
La reconnaissance faciale est une particularité de la reconnaissance des formes. Dans cette
section du travail, nous allons présenter la reconnaissance des formes ainsi que ses domaines
d’application.

1. Théorie de la reconnaissance des formes


La reconnaissance des formes est un domaine d’application de l’intelligence artificielle, à
laquelle se joignent des notions de mathématiques (statistiques et probabilité), des sciences de
l’ingénieur et d’informatique. En tant qu’application de l’intelligence artificielle, elle
appartient à la famille des activités au cours desquelles l’on substitue le raisonnement humain
par celui d’une machine.
Dans ces activités, il s’agit de simuler le raisonnement de l’homme ainsi que son
intelligence. Parmi ces activités nous pouvons citer par exemple : le fait de trouver une
stratégie en vue de résoudre un problème, de classifier les éléments d’un ensemble en sous-
ensembles selon des critères précis, d’identifier une entité préalablement mémorisée et
d’apprendre en vue d’acquérir des nouvelles connaissances, etc. Ces actions citées
précédemment résultent de l’intelligence de l’homme. Il est question de les implémenter dans
une machine pour qu’elles les réalisent de façon similaire à la manière dont l’homme le fait.
Pour une reconnaissance faciale, le système doit détecter une ou plusieurs faces humaines et
préciser s’il les reconnait ou pas.
En reconnaissance de forme, la machine doit percevoir à l’aide des caméras, des
microphones et d’autres capteurs les informations visuelles de son environnement, reconnaitre
certaines caractéristiques ou traits particuliers au sein de celui-ci.
Page |5

1.1. Présentation de la reconnaissance de forme


La reconnaissance des formes (ou RdF en abrégé) est devenue une discipline particulière à
partir des années 60. De cette époque à nos jours, les ordinateurs ont énormément évolué, ce
qui lui a donné de l’élan. Actuellement la puissance des ordinateurs permet d’avoir des
applications temps réels en RdF, c’est-à-dire, des applications permettant de traiter des
données et d’en fournir des résultats dans un pas temporel court lui imposé (contrainte
temporelle), ce qui est nécessaire dans le développement des applications de sécurité.
L’objectif de la RdF consiste en la réalisation des systèmes informatiques qui simulent
trois activités du cerveau humain, notamment la perception, la reconnaissance et la
compréhension. En d’autre termes, réaliser une application de RdF consiste à doter la machine
des capacités de l’homme à reconnaître des caractères, des objets, des sons, des signes, des
signaux temporels, etc. Partant de cet objectif : la reconnaissance faciale, de l’écrit, de la
parole, l’interprétation des scènes, la robotique, la reconnaissance des signaux médicaux
(EEG et ECG) sont des applications évidentes de la RdF.
Les systèmes de reconnaissance de forme intègrent toute la chaine de perception-
reconnaissance depuis l’acquisition des données brutes jusqu’à la compréhension élaborée de
ces données. Les données acquises subissent un ensemble des transformations avant d’être
interprétées, un traitement de l’image par exemple peut être effectué sur l’image acquise dans
le cas de notre système de reconnaissance faciale.

1.2. Problématique de la RdF : de la vision naturelle à la vision artificielle


La reconnaissance des formes est une simulation de la vision naturelle humaine, c’est pour
cette raison qu’elle est qualifiée de vision artificielle.
La problématique de la RdF est complexe, cela s’explique par l’abondance et la diversité du
questionnement qui constitue le problème à résoudre, lors de la conception d’un système de
vision par exemple.
En effet, l’on se pose les questions ci-après,
Du point de vue perception :
- Comment fonctionne la vraie vision naturelle ?
- Comment reconnait-on un objet familier dans un paysage ?
- Qu’est-ce qui nous permet de déchiffrer un manuscrit, alors que les caractères peuvent
être si différents de la calligraphie standard ?
- Quels sont les sens qui nous servent à évaluer un obstacle ?
- Comment pouvons-nous aisément saisir un objet sans l’avoir préalablement palpé ?
- Pourquoi reconnait-on un objet, un visage, une image ?
Cette dernière question peut être posée, dans le cas particulier d’une reconnaissance faciale,
comme suit :
- Comment reconnait-on un visage humain malgré le changement de position ou
d’expression (souriant ou sévère, avec ou sans lunettes) ?
Page |6

Du point de vue reconnaissance et compréhension :


- Comment automatiser la résolution des motifs perçu ?
- Reconnaissons-nous une personne parce que nous nous attendons à la voir ?
- Pouvons-nous lire une lettre parce que nous préjugeons, en partie de son contenu ?
- Quelle est la part de la vue, de la réflexion, de la mémoire, du raisonnement dans ces
exercices ?
La catégorisation en deux de ces questions est due au fait que la vision naturelle comprend
deux phases distinctes : la perception, qui est réalisée au niveau de l’œil, et le traitement
(reconnaissance et compréhension), effectué au niveau du cerveau.

1.3. L’œil : un capteur intelligent


L’œil est l’organe de la vision. La vision est l’un des cinq sens possibles que peut
avoir un être vivant et qui lui permet de capter la lumière, puis de l’analyser afin d’interagir
avec son environnement. C’est l’organe le plus complexe et le plus sophistiqué chez les
vertébrés supérieurs. Chez l’homme, 60% du cortex cérébral sont alloués au sens de la vision.

Figure 1– Parties de l’œil humain.

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

- Et une interface entre ces deux composantes citées précédemment : un système de


sélection, de numérisation et de transmission des données, analogue au nerf optique.
Si l’on compare ces deux systèmes, on constate que le système de vision naturel est de
loin plus complexe que le système naturel. A part le fait de capter la lumière, les cellules
rétiniennes peuvent effectuer des prétraitements des informations visuelles avant de le
transmettre au cerveau. Ainsi, la fonction de l’œil ne consiste pas seulement à capter des
images, mais surtout à trier les informations pour les présenter au cerveau prêtes à être
exploitées. Une caméra joue l’unique rôle de capteur, une interface se charge de transmettre
l’information captée aux programmes sur une UC, et celle – ci se charge de les traiter.
Chez l’homme, la vision biologique est une fonction essentiellement intelligente car le
cortex cérébral intervient énormément au cours de ce processus. Seuls 20% proviennent du
nerf optique, le reste est fait par le cerveau. Il en est de même pour un système de vision
artificiel, l’essentiel du système n’est pas le capteur, analogue à l’œil humain, mais plutôt le
traitement et le système d’interprétation de l’image, équivalent au cerveau.

1.4. Le cerveau humain : extrêmement plus puissant que les ordinateurs


Tel les ordinateurs, le cerveau humain reçoit en entrée, traite, mémorise et renvoie en
sortie des informations. La structure du cerveau humain est commune chez tous les êtres
humains, cela à cause de la génétique tandis que l’architecture d’un ordinateur résulte du
choix de son concepteur.
La supériorité du cerveau humain vis-à-vis des ordinateurs se situe au niveau de la
rétention des informations ainsi que de leur restitution, de la sauvegarde(mémoire), de la
communication et du traitement. Un exemple de différence est que le cerveau manie des
signaux analogiques tandis que les ordinateurs traitent des signaux numériques ou digitaux.
L’information fournie par l’œil au cerveau via le nerf optique est analogique.
Ainsi, la question de savoir comment un système qui traite des signaux numériques, fournirait
plus ou moins le même résultat qu’un système qui traite des signaux analogiques, fait partie
de la problématique générale de l’intelligence artificielle.
Certaines critiques de l’intelligence artificielle expriment que « le cerveau n’est pas un
ordinateur »1, et que pour cette raison, tout effort fourni dans le but de faire faire à un
ordinateur ce que fait le cerveau serait vain. Il s’en suit les éléments de distinction présenté ci-
après :

Comparaison Cerveau humain Ordinateur (UC)

Capacité mémoire 1000 Po 20 Po

Connexions réseau 125 trillions 10 milliards

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

Vitesse de traitement 1000 PFLOPS 20 PFLOPS

Consommation en énergie 1800 calories/jour 8.4 MW

Mémoire Neurones Disque dur et RAM

Unités de traitement (PU) Neurones CPU et GPU

Nœuds de traitement 18879 125 trillions

Nœuds d’entrée/sortie 512 200 milliards

Tableau 1– Comparaison du cerveau humain et de du superordinateur TITAN (710 To


de mémoire physique et 20 Po de disque dur).
Source: American Journal of Engineering Research (AJER) 2014, Volume-03, Issue-05, pp-
230-239.
Rappel :

Tableau 2 – Multiples d'octets


Source : fr.wikipedia.org/wiki/IEC_60027
Outre ces éléments de comparaison, notons aussi que le cerveau humain est tolérant au fautes,
contrairement aux ordinateurs, quel que soit leur puissance, les erreurs peuvent conduire à des
arrêts système, des plantages de programme, des pertes des données, etc. La défaillance peut
provenir du matériel ou du logiciel.
Page |9

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.

2. Architecture générale d’un système de RdF


Un système de vision par ordinateur, interagit avec son environnement suite à des signaux
visuels, sonores reçus de ce dernier. Ainsi, afin d’être à mesure d’en extraire les formes qui
nous intéresse (la face humaine dans le cadre de notre travail), de prendre des décisions
censées en fonction de l’observation faite, de reconnaitre, décrire ou classifier ces formes, une
suite d’opérations sera définie.

Apprentissage

Objet, Extraction des


Saisie Prétraitements
Scène, caractéristiques

Voix, etc.

CLASSE
Décision Post-traitements

MONDE REEL ESPACE DES FORMES ESPACE DES ESPACE DES


REPRESENTATIONS
CLASSES

Figure 2– Architecture d’un système de RdF

Ces opérations permettront de passer de l’espace des données lisibles dans


l’environnement du système de RdF à l’espace des classes où la catégorie de la forme est
estimée. L’ensemble de ces opérations constitue la chaîne de traitement du système de RdF.
Celle-ci comprend plusieurs modules, qui sont en pratique des programmes informatiques. La
forme doit être numérisée puis représentée avant d’estimer la classe à laquelle elle appartient.
Selon les concepteurs, la structure des données représentant la forme est librement choisie,
les représentations peuvent être des vecteurs ou séquence des vecteurs, des arbres, des
graphes, etc.
Le principe de fonctionnement de cette architecture est que :
 La base d’apprentissage est un ensemble des formes dont, pour chacune, la classe est
connue. Elle constitue les données auquel on se réfère pour la décision.
P a g e | 10

 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.

2.1. Acquisition et prétraitements


A l’entrée du système de RdF, un capteur est nécessaire pour acquérir le signal. C’est une
caméra par exemple pour un signal visuel, un microphone pour un signal sonore, un scanner
d’empreintes digitales, etc. Le signal acquis est converti sous forme numérique pour être
traitable par un système informatique. Ce signal, à l’origine analogique, passe donc par une
opération d’échantillonnage. Ceci constitue le passage du monde réel à l’espace des formes.
Le but des prétraitements est d’isoler la forme à reconnaitre. Ils ont pour utilités de réduire
les bruits des capteurs, de préparer le signal aux phases suivantes de la chaine de traitement.
Les sélections (sur la figure 1.3) constitueront chacune une nouvelle image, dans laquelle on
aura que l’objet ou la forme concernée, dans notre cas, le visage humain. On a extrait l’objet
ou la forme. La qualité de l’image saisie dépend de plusieurs contraintes,
contraintes, qui doivent être
respectées, notamment un bon éclairage de la scène, un bon contraste entre l’objet et son
environnement (un objet noir sur un tapis de couleur sombre pose déjà une difficulté de sa
discrimination dans cet environnement). De manière particulière, la reconnaissance faciale est
sensible au changement d’illumination.

Figure 3 – Exemple d’extraction des formes à reconnaitre : cas des faces humaines,
détection faciale par notre système.
P a g e | 11

Outre l’extraction de la forme, des opérations telles que : la compression d’image, la


suppression du flou et du bruit, le seuillage, la projection, l’extraction de contour et
l’extraction de squelette, la réduction des données, etc. font partie des prétraitements.
2.2. Extraction de caractéristiques
Avant de pouvoir reconnaitre une forme, il faut d’abord en connaitre un modèle, ou un
ensemble des caractéristiques, afin de pouvoir faire une comparaison. L’ordinateur doit
mémoriser ces données, qui devront être comparées avec celles des objets rencontrés. Dans le
cas d’un système de reconnaissance faciale, une base des données faciale doit impérativement
être mis en place.
Le système de RdF a donc besoin d’un nombre des caractéristiques de la forme inconnue
pour en déterminer la classe. Ces caractéristiques sont des mesures ou des observations,
symboliques ou numériques, que l’on extrait de la forme. Ainsi, le problème est de savoir
pour une application de RdF donnée, quelles caractéristiques extraire de la forme considérée
ou combien il en faut pour suffire au bon développement du système dont il est question.
L’extraction des caractéristiques consistera donc à coder l’image au moyens des descripteurs
pertinents, la pertinence dépendant du type de traitements ultérieurs. On peut s’intéresser à la
surface, au périmètre, au nombre des trous, à la dimension du rectangle circonscrit, etc. On
ajoute aussi des descripteurs de position et d’orientation comme les angles, le centre de
gravité, etc.
Soit ce graphique :

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.

Métrique Expression mathématique

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∞

Tableau 3 – Métriques utilisées dans les méthodes statistiques


Ces métriques servent à la constitution des groupements dans l’espace des représentations.
Elles permettront donc d’isoler les caractéristiques au sein d’une même classe ou de les
dissocier en des classes différentes selon la distance qui le séparent dans l’espace de
représentations.
La classification peut se faire selon :
- La méthode du plus proche voisin : plus simple et plus longue, on fait la comparaison
des formes une à une.
- La méthode de décision par arbre binaire : technique plus couramment utilisée dans la
reconnaissance des caractères. On choisit un nombre optimal des critères discriminants
(descripteurs pertinents).

2.3. Apprentissage et décision


C’est à la capacité de prendre une décision que l’on reconnait un système intelligent. La
décision est une étape de la chaine de reconnaissance qui consiste à assigner une classe ou une
catégorie à la représentation extraite d’une forme. Il s’agit de trouver lors d’un apprentissage,
une fonction selon laquelle le classement devra se faire. C’est cette fonction qui permet de
passer de l’espace des représentations à l’espace des classes (voir figure 1.2). Dans le cas par
exemple d’un système de reconnaissance faciale, c’est à cette phase que l’on verra un
message informant si la personne est connue par le système ou non.
a. Apprentissage
La reconnaissance des formes implique une phase d’apprentissage. Cette phase
consiste à apprendre les caractéristiques communes aux classes. Cela dans le but de distinguer
les différentes classes entre elles et ainsi être capable de faire une classification. La
classification est en fait le processus de reconnaissance proprement dit, il s’agit de comparer
l’image visualisée avec la connaissance du système. Cette dernière est acquise au cours de
cette phase d’apprentissage.
La méthode d’apprentissage peut être :
- Supervisée
Dans ce cas, les classes possibles sont connues, leur nombre est bien connu. La base
d’apprentissage est étiquetée avec ces classes.
C’est par exemple quand on reçoit une image binaire et que l’on doit l’associer à un des
10 chiffres (0 à 9). La base d’apprentissage est étiquetée avec ces 10 classes, chacune
étant associé à un chiffre.
P a g e | 15

- 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.

- Le critère de Neyman Pearson

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.

3. Vison par réseaux de neurones


Bien que la reconnaissance d’images soit un problème de classement d’un objet donné parmi
un ensemble de classes, dont chacune est caractérisée par un jeu de paramètres
P a g e | 16

essentiellement mathématique, la compréhension d’images ou de scènes concerne des objets


non nécessairement définis d’avance, ou attendus.
Comprendre une image c’est savoir comment ses composants sont causalement reliés à
l’environnement.
Or les mêmes systèmes à base de connaissances (SBC) ne résolvent que de très péniblement
et incomplètement ce type de problèmes, faisant intervenir des connaissances très diverses et
très diffuses. D’où l’idée de se tourner vers une autre approche : les réseaux de neurones. Ces
structures sont particulièrement appropriées pour résoudre les problèmes de classification et
se comportent comme des « mémoires associatives ».
Les réseaux de neurones mémorisent une forme ou un ensemble de paramètres (primitives,
par exemple) en ajustant les coefficients de couplage entre neurones (synapses). On utilise de
préférence des modèles en couches pour leurs capacités de classification. Lorsque des
neurones de la couche d’entrée sont stimulés par une image, une évolution se propage, de
proche en proche, à tout le réseau, aboutissant à un « attracteur », état stable, fourni en sortie.
Un réseau peut posséder plusieurs attracteurs, dont chacun correspond à une forme
préalablement apprise. Le réseau revient automatiquement à l’un de ces états lorsqu’il a été
stimulé par la forme correspondante, même si celle-ci est altérée ou incomplète. Il est ainsi
possible de reconnaître des formes trop floues ou imprécises pour leur appliquer les méthodes
de programmation classique ou d’IA à base de connaissances.

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

Figure 5 – Applications de la RdF


4.1. La parole
E reconnaissance de la parole, on parle de système mono-locuteur ou multi-locuteurs,
respectivement lorsque le système de RdF destiné au traitement de la parole est adapté à une
personne donnée ou s’il l’est à plusieurs personnes connues. On le qualifiera d’omni-locuteur,
lorsqu’il est d’usage public. Il existe des systèmes de sécurité utilisant la voix pour
l’identification et l’authentification des locuteurs
Les applications de la RdF dans le domaine de la parole sont :
 La commande vocale
 La dictée automatique
 La traduction temps réel des langues étrangères
 La rééducation des malentendants
 L’indexation de films
Les principales branches de la RdF s’intéressant à la parole sont : le décodage acoustico-
phonétique, la reconnaissance des mots, des phrases, de locuteurs et la compréhension du
dialogue Homme-Machine.

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

On trouve aussi, parmi les domaines d’application de la RdF, la reconnaissance de l’écriture


On parle de OCR (Optical Character Recognition) pour designer la reconnaissance des
caractères dans les textes imprimés. Un système OCR est mono-fonte, multi-fonte ou omni-
fonte, selon qu’il traite une, plusieurs ou n’importe quelle police de caractère.

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 :

Problème Entrée Sortie

Analyse de documents Image du document Mots, graphique

Filtres internet Emails Classification en spam

Analyse du langage naturel Texte Informations sémantique

Reconnaissance de la parole Spectrogramme Mots

Recherche multimédia Son, image, vidéo Identification d’évènement

Reconnaissance biométrique Empreinte digitale, iris, Authentification


P a g e | 19

visage, voix

Identification des défauts Image Pièce au rebut

Surveillance médicale Signaux (ECG, EEG) Emission d’alerte

Identification et suivi Vidéo Trajectoire de la cible

Tableau 4 - Application de la reconnaissance des formes


La reconnaissance des formes est un domaine d’application de l’intelligence artificielle. Elle
nous intéresse dans la mesure où elle a des applications dans multiples domaines de la vie :
environnemental, militaire, sécuritaire, médical, industriel, etc.
Faisant des recherches sur l’implémentation d’un système de reconnaissance faciale, il était
plausible de présenter la reconnaissance des formes, puisque la reconnaissance faciale en est
une application particulière.

CHAPITRE 2

ETUDE DE LA RECONNAISSANCE FACIALE


Les systèmes à reconnaissance faciale font partie des systèmes biométriques tels que ceux à
reconnaissance des empreintes digitales (fingerprint), de l’iris ou de la rétine, de l’allure etc.
La reconnaissance faciale présente un avantage par rapport à ces autres systèmes
biométriques, du fait que chaque individu a un visage et il le présente de manière spontanée, à
moins qu’il soit masqué.
La première application de détection faciale, date des années 70. Vu les capacités des
ordinateurs de l’époque, elle fut plus développée dans les années 90, soit vingt ans plus tard.
Ce développement a été dû à l’intérêt de développer des systèmes à reconnaissance faciale.
La reconnaissance faciale passe la détection faciale et son identification. Dans un système de
reconnaissance faciale, il ne s’agira pas seulement de reconnaitre la face mais aussi de
segmenter l’image en zones, sélectionner les zones contenant des faces, découper celles-ci en
images faciales. Ces analyses sont faites grâce au traitement du signal et des images.
De nos jours, différents logiciels et applications sont disponibles pour cette fin, citons :

- Picasa digital image organiser de Google,


- Facebook face recognition technology de Facebook,
- JNI2OpenCV,
- NeuroFaceDemo (ORL face Database),
- Windows Live Photo Gallery de Microsoft,
P a g e | 20

- Multimedia Processing Lab,


- Face Recognition ActiveX DLL 1.11
- Etc.
Ces systèmes sont pour la plupart utilisés par des applications hébergées sur internet. Cette
liste est tirées d’un article sur Wikipédia
(http//en.wikipedia.org/wiki/Facial_recognition_system).
Bien qu’il y ait multiples logiciels développés, la procédure de reconnaissance est la même. Il
s’agit au fait de correspondre le paramètre biométrique facial, reçu d’une image à ceux dans
une base de données d’images.
Dans cette section du travail, nous allons présenter la reconnaissance faciale, telle une
application particulière de la reconnaissance des formes, mais aussi des systèmes de
reconnaissance faciale tels des systèmes biométriques.

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.

Avantages - Bien acceptée par le public


- Aucune action de l’usager (peu intrusive)
- Pas de contact physique
- Technique peu couteuse

Inconvénients - Technologie sensible à l’environnement (éclairage, expression


du visage, etc.)
- Difficultés de différence des vrais jumeaux
- Sensibles au changements (barbe, moustache, lunettes,
chirurgie, etc.)
-
Tableau 5– Avantages et inconvénients de la reconnaissance faciale

2. Principe de fonctionnement d’un système reconnaissance faciale


Un système de reconnaissance faciale, intègre une étape d’apprentissage. Durant cette
étape il associe la représentation unique d’une face humaine à une identité. Cette phase
consiste en la construction d’une base des données des personnes connues, celle-ci stocke des
images étiquetées des identités de ces personnes. C’est ainsi que le système de reconnaissance
automatique des personnes fonctionnera selon deux modes :
- Le mode enrôlement
Ce mode sert à extraire pour chaque personne qui s’enrôle, les éléments caractéristiques
pour les représenter sous forme d’un vecteur caractéristique : la signature. Cette signature,
associé à une étiquette d’identité, sera sauvegardée dans une base des données dédiée.
- Le mode d’identification
Dans ce mode, on recherche dans la base des données l’identité d’une personne à partir de
son image faciale. C’est la reconnaissance faciale proprement dit.
Dans le cas idéal, un système de reconnaissance faciale identifie les personnes présentes dans
une image ou une vidéo de manière automatique. Le principe de fonctionnement d’un tel
P a g e | 22

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.

1.1 Acquisition de l’image faciale


La camera ou périphérique de capture, constitue l’interface entre le monde extérieur et le
système de reconnaissance faciale. Cette étape permet de capturer une image de la face
humaine. La face humaine est un objet 3D (tridimensionnel) mais une caméra simple n’en fait
qu’une représentation 2D suite au codage qui s’en suit. Ce qui engendre un risque des bruits et
une dégradation de la performance du système car ce codage consiste en l’acquisition de
l’image et sa digitalisation.
Pour pallier au problème de pose on peut utiliser des scanner 3D et pour ceux d’illumination
des caméras infrarouges. Mais cela s’avèrent couteux. Dans de ce travail, nous avons effectué
l’acquisition avec une webcam.
2.2 Détection faciale et prétraitement

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

Ces solutions proposées fonctionnent uniquement dans un environnement contrôlé


puisqu’elles ne gèrent pas les conditions d’acquisition de la vie quotidienne telles : la pose, la
présence ou absence des composantes structurales (la barbe, la moustache et les lunettes), les
conditions d’illuminations, etc.
a. Prétraitement
Le rôle de cette étape de la chaine de reconnaissance faciale est d’éliminer tous les bruits. Ces
bruits sont des parasites causés lors de la capture de l’image. Ces derniers peuvent être dus à
la qualité des dispositifs de capture. Ces prétraitements ont pour but de ne rester qu’avec les
informations essentielles et donc de préparer l’image à l’étape suivante de la chaine. Cette
étape est indispensable puisque on ne peut jamais avoir une image sans bruit.
Quelques traitements d’amélioration de la qualité de l’image sont : la normalisation,
l’égalisation d’histogramme, le filtrage, la correction gamma, le lissage anisotropique et la
méthode retinex.

2.3 Extraction des caractéristiques


Au cours de cette étape on extrait de l’image des informations, discriminantes et non
redondantes, que l’on sauvegarde en mémoire. Elles seront utilisées plus tard au cours du
processus de décision : elles serviront à établir un modèle de la face.
Cette étape peut aussi être appelée modélisation des caractéristiques ou encore indexation
des caractéristiques. La performance du système dépend considérablement de l’efficacité de
cette étape.
P a g e | 24

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

Phase d’identification Phase d’enrôlement

Figure 6 – Fonctionnement d’un système de reconnaissance faciale


P a g e | 25

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

Figure 7 – Architecture d’un système biométrique


P a g e | 26

Figure 8 – Caractéristiques géométriques de la face humaine


Source: Real Time Face Recognition System.

2.4 Classification et décision


La classification résulte d’une comparaison des caractéristiques. Elle consiste en la
modélisation des paramètres caractéristiques d’une ou plusieurs faces d’une personne. Le
modèle extrait est constitué des informations utiles, discriminantes et non redondantes qui
caractérisent une personne ou plusieurs personnes ayant des similarités. Ces données ayant été
sauvegardées en mémoire au cours de l’extraction des caractéristiques. Les similarités
conduisent à des classes, les regroupements en classes s’effectuent donc partant des
ressemblances.
Selon les caractéristiques extraites, les algorithmes de comparaison diffèrent. Parmi les
approches possibles, la plus simples est le calcul de la distance (métriques) pour rechercher
les similarités. On peut aussi utiliser un classifieur : une famille d’algorithmes de classement
statistique. On peut utiliser un seul classifieur (SVM, classifieur bayésien, réseau des
neurones RN, etc.) ou plusieurs (Adaboost).
L’étape de la décision fait la différence entre un système d’identification des personnes et un
système de vérification. Le premier système cherche dans la base de données et trouve le
modèle qui correspond le mieux à la face capturée. Le second système décide si la face
capturée est celle de l’individu proclamé ou s’il s’agit d’un imposteur : il s’agit d’authentifier
la personne.
P a g e | 27

3. Techniques de reconnaissance faciale


Plusieurs méthodes ont été rencontrées dans la littérature. Elles sont catégorisées en trois,
notamment : les méthodes globales, les méthodes locales et les méthodes hybrides.
a. Les méthodes globales
Le principe dans ces approches est qu’on utilise toute la surface de la face humaine comme
source d’information, sans tenir compte des caractéristiques locales telles les yeux, la
bouches, etc. Ces algorithmes utilisent les statistiques et l’algèbre linéaire. Parmi ces
approches citons :
- L’Analyse en Composantes Principales (PCA ou Eigen Faces),
- L’Analyse Discriminante linéaire (LDA),
- Machine à Vecteurs de Support (SVM),
- Les Réseaux de Neurones Artificiels (RNA),
- Mélange des Gaussiennes (GMM),
- Modèle Surfacique du Visage (3D),
- L’approche statistique et probabiliste.

b. Les méthodes locales


Ces méthodes consistent en l’extraction des caractéristiques locales de la face : les coins des
yeux, le nez et les coins de la bouche, etc., afin d’utiliser leur géométrie comme donnée
d’entrée du classifieur. C’est pour cette raison qu’on les qualifie à traits, géométriques, à
caractéristiques locales ou analytiques. La grande attention est accordée aux petits détails
locaux évitant le bruit engendré par les cheveux, les lunettes, les chapeaux, la barbe, etc.
La difficulté se présente dans la précision de la phase d’extraction de ces caractéristiques
locales. Cette difficulté présente l’inconvénient principale de ces méthodes. On distingue deux
types d’extraction :
- L’extraction de régions : on extrait les régions entières de la face considérée.
- L’extraction des points : on extrait les points particuliers des régions caractéristiques
de la face : coins d’yeux, coins de la bouche et du nez.
Parmi ces approches citons :
- Modèles de Markov Cachés (HMM : Hidden Markov Models)
- L’ algorithme Elastic Bunch Graph Matching (EBGM)
- Eigen Object(EO)
- L’appariement de gabarits.

c. Les methods hybrides


Ces méthodes résultent de la fusion de plusieurs méthodes dans l’objectif d’améliorer la
robustesse de la reconnaissance faciale. En effet, les approches proposées pour la
reconnaissance faciale ne sont pas capables de s’adapter aux changements d’environnements
tels que la pose, l’expression faciale, éclairage, etc.
P a g e | 28

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.

4. Présentation de quelques algorithmes de reconnaissance faciale


La figure 2.3 présente la classification, de manière synthétique des différents algorithmes de
reconnaissance faciale. Dans cette section de notre travail, nous allons présenter trois
techniques de reconnaissance faciale, notamment :
- L’Analyse en Composantes Principales (PCA : Principal Components Analysis)
- L’Analyse Discriminante linéaire (LDA),
-

4.1 L’Analyse en Composantes Principales (PCA ou Eigen Faces)


L’analyse en composantes principales fut indépendamment proposée par Karl Pearson (1901)
et Harold Hotelling (1933). Elle consiste à réduire le nombre de composantes d’un vecteur. La
réduction se fait de manière à garder l’information la plus pertinente pour ne pas détériorer la
discrimination entre classes.
C’est-à-dire, si on avait un vecteur v de dimension n des variables corrélées, après analyse, on
obtient un vecteur v’ des variables non corrélées, et dont la dimension m < n.
L’ACP (PCA) réduit l’ensemble des données, en cherchant les directions avec les variances
les plus élevées. Ces directions sont les composantes principales.

 Description mathématique de l’algorithme

Soit X= {x1, x2,…,xn} un vecteur quelconque, avec xi  Rn.


1. Calculer la moyenne µ des composantes du vecteur
1
μ= x
n

2. Calculer la matrice de covariance S


1
= ( − )( − )

3. Calculer les valeurs propres λi et les vecteurs propres νi de S


P a g e | 29

= , = 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

Modèle caché de Réseau des


Reconnaissance faciale
Markov(HMM) neurones(NN)

Méthodes Méthodes
Méthodes hybrides
globales locales

Méthodes linéaires Méthodes linéaires


LFA EBGM LG-PCA

K-PCA K-LDA LLE PCA LDA ICA AAM BIC LBP SVM

Figure 9 – Classification des algorithmes de reconnaissance faciale


P a g e | 31

4.2. L’Analyse Discriminante linéaire (LDA)


Au cours d’un processus de reconnaissance, une multitude des caractéristiques est utilisable.
Chaque caractéristique semble apporter une contribution selon que l’on est dans un cas ou un
autre. Pour garder le plus d’informations pertinente, il convient d’inclure toutes ces
caractéristiques dans le vecteur de représentation. Mais cela pose un problème de la taille des
données à traiter.
La technique LDA de Fisher permet de réduire le nombre des dimensions tout en gardant une
faible probabilité d’erreur. Le principe de Fisher est de projeter le vecteur de caractéristique x
de dimension Dx vers un espace de dimension Dy, tel que << : cela implique une
réduction des données à traiter.
Description de l’algorithme
Soit X un vecteur quelconque, avec les composantes reparties en c classes.
= { , ,…, }
={ , ,…, }
Les matrices de dispersion SB et SW sont définies comme suit :

= ( − )( − )

= ( − )( − )

Avec µ la moyenne totale, donnée par :

1
μ= x
N

Et µi la moyenne de la classe i {1, … , } :

=
| |

L’algorithme recherche ensuite une projection W, qui maximise le critère de discrimination


entre classes, en l’occurrence :
| |
=
| |
L’optimisation est mise en œuvre par l’extraction des valeurs propres et des vecteurs propres :
=
=
P a g e | 32

Un problème se pose en revanche : le rang de SW vaut au plus (N-c), avec N échantillons et c


classes. Dans les problèmes de RdF, le nombre d’échantillons N est inférieur à la dimension
des données reçues en entrée (nombre de pixels). On résout cela en effectuant une ACP sur
ces données : on le projette dans un sous-espace de dimension (N-c). Une analyse
discriminante linéaire est effectuée sur les données réduites.
Le problème d’optimisation est alors réécrit de la sorte :
= | |

| |
=

La matrice de transition qui projette l’échantillon dans le sous espace de dimension égale à (c-
1) est définie comme suit :

= , qui est un sous-espace linéaire robuste aux variations de lumières.

4.3. Histogrammes de formes locales et binaires (LBPH : Local Binary Patterns


Histograms)
Contrairement aux deux techniques précédentes, qui sont des méthodes globales, LBPH est
une méthode locale de reconnaissance faciale.
En effet, PCA (Eigenfaces) et LDA (Fisherfaces) considèrent l’image dans sa globalité, tel un
vecteur dans un espace de grande dimension.
Des recherches ont été menées de manière à extraire des caractéristiques locales d’une image :
c’est-à-dire, ne plus considérer l’image de manière holistique, mais plutôt de considérer
chaque pixel.
Dans cette méthode, chaque pixel est comparé aux pixels de son voisinage.
Considérons le pixel central, si son intensité est supérieure ou égale à celle de son voisin, on
attribue à celui-ci un bit égal à 1. Dans le cas contraire on lui attribue le bit 0.

Figure 10 – Comparaison d’un pixel central avec son voisinage.


Sur la figure ci-haut, on observe le résultat dans le tableau droit, de la comparaison des pixels
voisins au pixel central du tableau à gauche. La valeur binaire est lue selon la flèche. Elle vaut
dans notre cas 00010011, soit 19 en décimal.
P a g e | 33

Description mathématique de l’algorithme :


Soit un opérateur mathématique LBP, représentant l’algorithme décrit ci-haut :

( , )= ( − )

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.

On obtient ainsi plusieurs voisinages :

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 :

= + ( )

= + ( )

Avec R le rayon du cercle et P le nombre des points voisins.


Si les coordonnées d’un point ne correspondent pas à des coordonnées de l’image faciale, on
effectue une interpolation selon la formule :
( , ) ( , ) −
( , )≈[ − ]
( , ) ( , )
On obtient ainsi, un modèle dans lequel sont incorporées des informations spatiales : c’est
l’image LBP. On le subdivise ensuite en k régions locales. De ces k régions on extrait des
histogrammes. Le vecteur caractéristique représentant l’image est obtenu en faisant la
concaténation de ces histogrammes. Ces histogrammes sont les histogrammes de formes
locales et binaires (LBPH : Local Binary Patterns Histograms).
P a g e | 34

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.

5. Principales difficultés de la reconnaissance faciale


Pour nous les humains, détecter et reconnaitre les faces humaines dans une scène, est
vraiment spontané et simple. La question est de savoir combien il est difficile, de développer
un système informatique qui accomplisse ces mêmes taches.
Au cours du développement d’un tel système, on se heurte à beaucoup de difficultés. Ces
difficultés sont d’autant plus grandes lorsque le conditions d’acquisition des images sont très
variables. Ces différentes variations conduisent à des erreurs de classification.

Cause des variations Description

Changement d’illumination Le changement d’éclairage influence l’apparition du


visage, malgré que la pose de la face peut être fixe. Cela
pose une difficulté lors de la reconnaissance de
l’individu.

Variation de la pose Les changements de pose peuvent entraîner des


changements dramatiques dans les images.

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.

Présence ou absence de Une dissimulation d’une partie de la face humaine :


composants structurels chapeau, lunettes, masques, etc. cause une difficulté de
reconnaissance.

Occultations partielles
P a g e | 35

Vieillissement et changement Le visage change à cause du vieillissement, du


d’aspect changement de la coiffure ou du maquillage. Cela est une
source de variation.

Tableau 6 – Cause de variation dans les images


Dans ce chapitre, nous avons exposé sur la reconnaissance faciale. Nous avons compris que
c’est une technique de reconnaissance biométrique populaire, vu ses différents avantages. Ce
sont des systèmes très sensibles à la variation de pose, des expressions faciales, de
l’illumination, etc.

6. Mesure de la performance d’un système de reconnaissance faciale


La précision et l’exactitude d’un système biométrique sont représentés par le taux de faux
rejet et le taux de fausse acceptation. Cela reste valable pour un système de reconnaissance
faciale. En effet, le système prend une des quatre possibilités au cours de la phase de
décision :
- Le véritable sujet est accepté
- Le véritable sujet est rejeté : faux rejet (FRE ou FR)
- L’imposteur est accepté : fausse acceptation (FAE ou FA)
- L’imposteur est rejeté .
Le taux de faux rejet (False Reject Rate : FRR) représente le pourcentage des individus
censés être reconnus, mais que le système rejette.
Le taux de fausse acceptation (False Accept Rate : FAR) est quant à lui, le pourcentage des
personnes censées ne pas être reconnues mais qui sont tout de que le système accepte malgré
cela.
A l’aide des deux taux précédant définis, un troisième est déduit, celui de taux d’égale erreur
(Equal Error Rate ou EER). Il permet de mesurer la performance courant, il s’agit du point
correspondant au meilleur compromis entre les faux rejets et les fausses acceptations.

Figure 12 – FRR et FAR. Mesure de performance d’un système de reconnaissance


biométrique.
P a g e | 36

Figure 13 – ROC. Mesure de performance d’un système de reconnaissance biométrique

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 :

Avec FR, le nombre des utilisateurs enrôlés rejetés : faux rejets.

FA est le nombre des fausses acceptations.


Dans le cas d’un système idéal on FA= 0 et FR=0. Mais dans la pratique on peut réduire l’un
de ces deux taux en changeant le seuil de décision, mais avec l’inconvénient d’augmenter
l’autre. La combinaison de ces deux mesures donne le taux d’erreur total (TET) :

=
′ è
Ce taux dérivé est pondéré par l’un ou l’autre des taux dont il dérive. Ainsi, on recourt à la
représentation de la courbe ROC (Reicever Operating Characteristic - Figure 2.5). Cette
courbe trace le taux des faux rejets en fonctions des taux de fausse acceptations. Le TEE, le
taux d’égale erreur, correspond à l’intersection de la courbe ROC et la première bissectrice,
c’est-à-dire qu’il correspond au point TFA = TFR. On utilise le TEE pour comparer les
systèmes.
La performance des systèmes biométriques se mesure à son exactitude dans l’identification.
Comme dans tout système, on ne peut pas diminuer simultanément le TFA et le TFR, on
définit un compromis : c’est le seuil de décision. Dans les systèmes biométriques, le but
principal étant, un TFA faible est habituellement choisi au dépens d’un fort TFR.
P a g e | 37

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

Cette technologie permet d’utiliser le modèle 3D du visage humain, à l’aide des


plusieurs caméras, scanners ou des périphériques spéciaux d’acquisition d’images. Les
avantage de la reconnaissance faciale 3D est qu’elle est insensible à la variation
lumineuse, à une variation d’ange bien précise (30° de part et d’autre de son axe). En
plus de ces deux faits, l’unicité de l’image 3D fait que des telles systèmes peuvent
distinguer des vrais jumeaux.
Nous venons d’exposer la technologie de reconnaissance faciale, les différents avantages
qu’elle offre ainsi que les inconvénients qu’elle présente. Nous avons aussi constaté que c’est
un technique de reconnaissance biométrique qui suscite beaucoup d’intérêt partant de ses
avantages, ainsi des recherches sont menées en vue d’améliorer les performances des
applications de sécurité à reconnaissance faciale. Dans les chapitres 3 et 4 nous allons
respectivement concevoir un système de reconnaissance faciale et l’implémenter.
P a g e | 38

CHAPITRE 3

MODELISATION UML DU SYSTEME


Dans les chapitres précédant, nous avons présenté les motivations qui nous ont poussé
à aborder ce sujet de recherche. Nous avons parlé en long et en large de la reconnaissance des
formes et de manière particulière de la reconnaissance faciale.
Dans ce chapitre nous allons dégager le modèle abstrait du système de reconnaissance
faciale. Et cela, selon les spécifications de l’UP (langage UML). Nous présenterons les
spécifications techniques de l’application à implémenter, partant des cas d’utilisations
possibles. Nous concevrons le diagramme des cas d’utilisations et en ferons la présentation
textuelle.
Nous présenterons les diagrammes de séquences qui nous permettrons de suivre l’exécution
chronologique des scénarios des cas d’utilisation. Le processus de reconnaissance faciale a
deux scenarios d’exécution : la vérification qui consiste en l’authentification d’un individu et
l’identification qui retourne l’identité d’un individu. Nous déduirons le diagramme des
classes.
Nous aurons obtenu le modèle UML de notre système de reconnaissance faciale, nous nous en
servirons dans le prochain chapitre, consacré à l’implémentation du système.

1. Présentation du cahier des charges du système


Le but principal du développement de notre système de reconnaissance faciale est la sécurité.
Ainsi, les objectifs fixés sont les suivant :
 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)
Le système est constitué du point de vue matériel par deux éléments principaux, notamment :
 Capteur d’information visuelle : une caméra.
 Une unité centrale de traitement : un ordinateur sur lequel sera exécuté le programme
que nous développons.
Du point de vue logiciel, il sera composé des différents modules logiciels que nous
développons, notamment :
 Le module d’acquisition : qui gère le périphérique de capture et permet sa mise en
œuvre,
 Le module de détection faciale et de prétraitements, qui permet d’isoler l’information
faciale de l’individu dont l’image est capturée.
P a g e | 39

 Le module d’extraction de caractéristiques, qui se chargera de créer une représentation


de la face capturée,
 Le module de décision qui effectuera la comparaison de la face capturée avec celles
enrôlées dans la base des données faciale, et ainsi déterminer si l’individu est connu ou
non.
 La base des données faciale : elle contient les images faciales des personnes connues
par le système.

2. Conception UML du système


La modélisation permet de représenter et de simuler le fonctionnement d’un système
informatique, avant de l’avoir programmé. UML permet d’effectuer cette représentation sous
forme des différents diagrammes.
Impossible d'afficher l'image. Votre ordinateur manque peut-être de mémoire po ur ouv rir l'image ou l'image est endommagée. Redémarrez l'ordinateur, puis ouv rez à nouv eau le fichier. Si le x rouge est toujours affiché, v ous dev rez peut-être supprimer l'image avant de la réinsérer.

Figure 14 – Les différents diagrammes du modèles UML.


Les diagrammes UML sont classés en trois catégories :
 Les diagrammes structurels : diagramme des classes, d’objets, de composants et de
déploiement.
 Les diagrammes comportementaux : diagrammes des cas d’utilisations, d’activités et
d’états.
 Les diagrammes d’interaction : diagramme des séquences et celui de collaboration.
Pour bâtir notre modèle, nous nous sommes focalisés sur les plus importants. En effet, avoir
un type de diagramme par catégorie suffit pour avoir une idée globale du système. Ainsi, nous
avons construits les diagrammes des cas d’utilisations du système, d’activités, des séquences,
des classes, d’états – transitions du concept « reconnaissance faciale ».
P a g e | 40

2.1. Diagrammes des cas d’utilisation


Le diagramme des cas d’utilisation est une modélisation de ce que voit les utilisateurs du
système. On met l’accent sur ce que fait le système sans se soucier de comment il le réalise.
Ce diagramme est constitué des scénarios d’interaction entre les acteurs du système et le
système. Rappelons qu’acteur système désigne le rôle joué par un utilisateur, d’un cas
d’utilisation lors d’une interaction avec le système. Quant au concept cas d’utilisation, il
désigne un ensemble d’actions qui permettent de satisfaire un objectif de l’utilisateur.
Après l’analyse des besoins, nous avons énumérer les cas d’utilisation suivant :
 Reconnaissance faciale, dans lequel sont inclus : capture de l’image faciale, détection
faciale, extraction des caractéristiques et prise de décision
 Gestion des utilisateurs
 Authentification, par reconnaissance faciale.

Admin (administrateur système) est l’unique acteur interagissant avec le système.


D’où le diagramme des cas d’usage suivant :

Authentification

Gestion des personnes


Prise de la décision
enrôlées

Administrateur <<include>>

Reconnaissance
<<include>> Détection faciale
faciale

<<include>> <<include>>

Capture de l'image Extraction des


faciale caractéristiques

Figure 15 – Cas d’utilisations et acteurs du système


P a g e | 41

Description textuelle des cas d’utilisation

1. Authentification

Cas d’utilisation Authentification


Acteur Administrateur
Description Nom d’utilisateur et mot de passe pour l’authentification de
l’admin
Préconditions L’admin doit être autorisé : enregistré dans la base des données
Post conditions Authentification effectuée avec succès
Scenario de déroulement

1. L’administrateur voudrait accéder au système


2. Il remplit le formulaire de connexion au système
3. Il clique sur le bouton « connexion »
4. Fin du cas d’utilisation

Scénario alternatif

1. Si le formulaire n’est pas bien rempli, la connexion échoue.


2. Fin du cas d’utilisation

2. Gestion des personnes

Cas d’utilisation Gestion des personnes


Acteur Administrateur
Description Ajouter, modifier, supprimer les personnes
Préconditions L’admin doit déjà s’être authentifié et connecté au système
Post conditions Ajout, modification ou suppression avec succès.
Scenario de déroulement

1. L’administrateur se connecte au système


2. Il clique sur « gérer les personnes »
3. Il complète le formulaire des informations d’un utilisateurs (cas d’un ajout) / il
sélectionne un utilisateur (cas d’une modification ou d’une suppression)
4. Il capture ses images faciales et clique sur le bouton « ajouter » (cas d’un ajout) / il
clique sur le « supprimer » ou « modifier »
2.1.Il complète l’identité de la personne, capture ses images faciales puis sauvegarde le
tout dans la base des données : cas d’un ajout.
2.2.Il confirme la suppression ou la modification de l’individu : cas d’une suppression
ou d’une suppression.
5. Le système affiche un message sur l’action faite
6. Fin du cas d’utilisation
P a g e | 42

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

Cas d’utilisation Reconnaissance faciale


Acteur Administrateur
Description Capture de l’image faciale, détection faciale, décision selon
laquelle l’individu est connu ou inconnu.
Préconditions
 L’admin doit déjà s’être authentifié et connecté au système
 L’individu à reconnaitre présente son visage au périphérique
de capture
 La caméra doit être connectée au système

Post conditions Individu connu ou inconnu.


Scenario de déroulement

1. L’administrateur se connecte au système


2. Il clique sur « reconnaissance faciale »
3. Le système encadre la face détectée dans le champ de capture de la camera et
encercle les yeux.
4. Le système affiche le nom de l’individu, s’il est connu. Sinon, il affiche le message
« personne inconnue ».
5. Fin du cas d’utilisation

Scénario alternatif

1. Si le périphérique de capture n’est pas connecté, la reconnaissance faciale ne peut


être démarrée.
2. S’il n’y a aucun visage dans le champ de capture de la caméra, aucun message ne
sera affiché.
3. Fin du cas d’utilisation

2.2. Diagramme d’activité


Avec les diagrammes des cas d’utilisation, d’état et de séquences, le diagramme d’activité fait
partie des diagrammes qualifiés de « comportementaux ». Il est similaire au diagramme d’état
mise à part le fait que le diagramme d’état se focalise sur le processus objets, tandis que lui, il
montre la dépendance des activités entre elles.
P a g e | 43

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.

2.3. Diagramme de séquence


Ce diagramme est un diagramme d’interaction. Il décrit la collaboration entre différents
objets. Un diagramme de séquence détails les opérations en cours d’exécution (processus),
quels messages sont envoyés et quand ils sont envoyés, suivant un ordre chronologique. Le
temps s’écoule du haut vers le bas. Les objets sont placés horizontalement les uns après les
autres. Les messages qu’ils échangent suivent les sens des flèches. Sur notre graphe de
séquence, les messages ont été étiquetés. La ligne verticale, qui descends de chaque objet est
la ligne de vie. Le symbole en « X » au bout de chaque ligne de vie indique que l’objet a été
détruit. En général, ce diagramme sert à détailler un ou plusieurs cas d’utilisations. Sur le
figure 3.3 nous représentons le déroulement chronologique du cas d’utilisation «
reconnaissance faciale ».

2.4. Diagramme des classes


Lors de l’élaboration du diagramme des cas d’utilisation, on met l’accent sur ce que fait le
système, sans se soucier de comment il va le réaliser. On se contente de citer les objectifs sans
savoir quel mécanisme il faut pour atteindre chacun d’eux. Le diagramme des classes donne
l’image de comment le système pourra mettre en œuvre les différents cas d’utilisations. Les
classes sont des composants logiciels.
Elles sont représentées par des rectangles divisés en 3 parties : le nom de la classe, les
attributs des objets de la classe et les méthodes de la classe. La visibilité des attributs ou des
méthodes est soit publique (accès publique), protégée ou privée (accès uniquement par la
classe et ses classes filles). Cela est respectivement représenté par les symboles +, # et –. Sur
la figure 3.4, nous représentons les différentes classes de notre système.
Les associations interclasses sont représenté par les flèches, les dépendances entre classes sont
aussi indiquées. Une classe dépend d’une autre, lorsqu’elle possède un objet de la classe dont
elle dépend comme attribut, argument ou type de retour de l’une de ses méthodes.
Notre système dépend d’Open CV (Open Computer Vision), un API de reconnaissance
faciale. Ainsi, nous représentons sur le diagramme des classes, les classes principales dont
nous nous servirons. La figure 3.7 représente le regroupement en paquetage des différentes
composantes de notre système de reconnaissance faciale.
P a g e | 44

2.5. Diagramme d’état – transition


Les objets d’une classe on chacun un état et un comportement donné, à un instant donné de
l’exécution d’un processus informatique. Le diagramme d’état – transition montre les états
possibles d’un objet et les transitions qui peuvent causer le changement d’état de celui-ci.
Sur un diagramme d’état on a :
 Les états : sous forme de rectangles arrondis.
 Les transitions : flèches allant d’un état à un autre
 Les évènements ou conditions : déclencheurs des transitions, ils sont placés comme
étiquettes des flèches représentant les transitions.
La lecture du diagramme se fait de l’état initial (représenté par un cercle) à l’état finale (une
couronne).
L’utilité de ce diagramme est de tracé un historique d’un cas d’utilisation donnés :
évènements déclencheurs, le résultat d’un changement d’état, etc.
La figure 17 montre la description du concept « reconnaissance faciale » dans le diagramme
d’état-transition.

2.6. Diagramme de déploiement


Ce type de diagramme permet de préciser la correspondance entre les éléments logiciels et
matériels du système développé.
Il est composé des :
 Nœuds, représentant les unités de traitement ;
 Composants, dénotant les éléments logiciels associés aux nœuds ;
 Connexions entre les nœuds ou entre les composants, représentant les communications
possibles entre ceux-ci ;
 Relations de dépendance entre composants, similaires à celles du modèle logiciel.
P a g e | 45

Figure 16 – Activités de reconnaissance faciale.


P a g e | 46

Figure 17 – Diagramme de séquence : déroulement chronologique du cas d’utilisation « reconnaissance faciale »


P a g e | 47

/démarrer reconnaissance faciale

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é

Figure 18 – Diagramme d’état – transition : reconnaissance faciale.


P a g e | 48

Figure 19 – Diagramme des classes du « Système de reconnaissance faciale »


P a g e | 49

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

Figure 20 – Organisation de package du « Système de reconnaissance faciale »


P a g e | 50

Ordinateur
:Personne

:Reconnaissance
:Base des
:Detection données faciale

:Petraitement

:Capture

« USB »

:OpenCV

IHM

Caméra

Figure 21 - Diagramme de déploiement

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

1.1. Présentation du hardware


Le principe de fonctionnement de notre système consiste en l’acquisition d’une image faciale
par le capteur d’information visuelle : la caméra. Une suite des traitements s’en suit jusqu’à la
décision, qui est l’aboutissement du processus de reconnaissance. Le résultat de la décision est
affiché à l’écran d’un ordinateur.

a. La caméra : capteur d’information visuelle


Pour l’acquisition des images faciales, nous avons utilisé une caméra.
Une caméra est un appareil électronique de prise de vue, destiné à enregistrer ou à transmettre
des images photographiques. Ces images peuvent ensuite être placée les unes après les autres
et servir pour restituer le mouvement pour le cinéma, la télévision, la recherche, la
télésurveillance, l’imagerie médicale, etc.
Dans notre cas précis, la caméra nous a servi de périphérique d’acquisition d’images. Dans les
images acquises, le système récupère uniquement les faces humaines.
Il existe plusieurs types de caméras selon les applications. Nous avons utilisé une webcam :
une caméra qui transmet son flux via le port USB d’un ordinateur.

b. L’unité centrale de traitement


L’unité centrale de traitement reçoit l’information visuelle de la webcam. Cet élément du
système est constitué d’un ordinateur.
La caméra est connectée à l’ordinateur via le port USB. Elle est pilotée par logiciel à travers
le module de capture d’images.
Logiciel est déployé sur cet élément conformément à la figure 20 : diagramme de déploiement
du système.
P a g e | 52

1.2. Présentation des éléments du software

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.

2. Évaluation des performances


Les performances d’un système de reconnaissance faciale sont mesurées par son taux de faux
rejet et son taux de fausses acceptations. Pour rappel, nous avons précisé quatre possibilités de
décision que peut émettre le système, notamment :
 Un individu est réellement reconnu ;
 Un individu enrôlé est rejeté : faux rejet.
 Un individu non enrôlé est reconnu : fausse acceptation.
 Un individu non enrôlé n’est pas reconnu.
Après réalisation du système et ensemble des tests réalisés, le tableau suivant montre le taux
de reconnaissance atteint, pour une nombre k = 30 des personnes enrôlées.
Taux de reconnaissance
Faux rejets 0
Faux acceptation 1
Total accès 30
Taux de reconnaissances ( ) −
= . ≈ . %

Tableau 7 – Taux de reconnaissance.


P a g e | 53

3. Évaluation des couts du projet

Après réalisation du système de reconnaissance faciale, il convient d’évaluer le cout estimatif


en temps et en argent nécessaires à sa réalisation pratique. Dans cette section il s’agit de
présenter la planification de notre projet.
3.1. Coût du logiciel avec COCOMO
Constructive Cost Model « COCOMO » est un modèle qui permet d’estimer le cout, l’effort
et le temps nécessaire au développement d’un logiciel. Le principe dans le modèle COCOMO
est d’obtenir l’effort et le temps de développement en fonction des lignes de code du logiciel
en Kilo (KLOC).
3.1.1. Points de fonction et modules du programme
La détermination des points de fonction se fait suivant quatre étapes, notamment :
 La définition des modules : les modules sont les différents sous-programmes
constituant l’ensemble du logiciel. Dans notre cas, les différentes classes sur le
diagramme UML des classes.
 Le comptage des points de fonctionnement non ajustés : ceci sera fait en fonction
des spécificités du logiciel et de sa documentation technique.
 L’évaluation du facteur d’ajustement : ce facteur nous permettra d’ajuster les points
des fonctionnements non ajustés.
 Le calcul du nombre des points de fonctionnement : ce nombre est égale au nombre
des points de fonctionnement ajustés.

a. Inventaire des modules du logiciel


La modularisation du logiciel est présentée comme suit :
Module Fonctionnalités

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

Image Faciale  Ajouter


 Supprimer
 Obtenir détails

Détection faciale  Démarrer


 Extraire face
 Arrêter
 Obtenir détails

Capture Vidéo  Démarrer


 Arrêter
 Obtenir détails

Tableau 8 – Modules du système de reconnaissance faciale.

b. Inventaire des points de fonctionnement non ajustés


Pour inventorier les points de fonctionnement non ajustés, nous devons identifier cinq type
des fonctions, regroupées en deux catégories, notamment :
 Les entrées (ENT ou EI : External Inputs)
 Les sorties (SORT ou EO : External Outputs)
 Les requêtes ou interrogations (INT ou EQ : External Inquiries)
 Le groupe logique des données interne (GDI ou ILF : Internal Logical File)
 Le groupe logique des données externe (GDE ou EIF : External Interface File)

DONNEES

Groupes logique des données interne

Attribut Données élémentaires Complexité Poids

ImageFaciale  idPersonne faible 7


 chemin

Personne  id moyenne 7
 nom
 prenom
 images
P a g e | 55

Authentification  id faible 7
 etatAuthentification

TRANSACTIONS

Entrées

Attribut Données élémentaires Complexité Poids


Personne

créer  id moyenne 4
 nom
 prenom
 imagesFaciales

Mettre à jour  nom moyenne 4


 prenom
 imagesFaciales

Supprimer  id faible 3

Image faciale

Ajouter  idPersonne faible 3


 cheminSurDisque

Authentification

Créer  id faible 3
 etatAuthentification

Sorties

Reconnaissance

Afficher  etiquette moyenne 5


identité(s)
personne(s)

Détection
P a g e | 56

Afficher  nombresFaces moyenne 5


nombre face(s)
détectées

Tableau 9 – Fonctionnalités utilisateurs du système – points de fonctions et leurs poids.

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.

c. Evaluation du facteur d’ajustement


Le facteur d’ajustement est obtenu de la sorte :

= . + . ∗

Avec :
 VAF le facteur d’ajustement total
 N le nombre des facteurs d’ajustement partiels
 Fi : facteur d’ajustement partiel

Facteur d’ajustement Poids


F1 Télécommunication 3
F2 Traitement distribué 4
F3 Performance requise 4
F4 Configuration saturée 3
F5 Taux de transaction 3
F6 Saisie interactive 2
F7 Efficacité utilisateur 5
F8 Mise à jour interactive 2
F9 Traitement complexe 5
F10 Réutilisabilité 3
F11 Facilité d’installation 5
P a g e | 57

F12 Facilité d’exploitation 2


F13 Sites multiples 4
F14 Configurable 2
F15 Sécurité 4

51

Tableau 11 – Facteurs d’ajustement – compris entre 0 et 5.


On a = . + . = .

d. Points de fonction ajustés


En définitif, le nombre des points de fonction ajustés est donné par :
= ∗ = .
Avec :
 PF : le nombre des points de fonction non ajusté
 VAF : le facteur d’ajustement

e. Nombre des lignes de code


La conversion des PF en LOC est faite selon le tableau ci-après, selon le langage de
programmation :
Langage de programmation LOC Langage de programmation LOC
Java 46 Pascal 91
C++ 53 Fortran 77 105
Lisp 64 C 128
ADA 71 Macro Assembleur 213
COBOL 91 Langage machine 320
Tableau 12 – Ratio de conversion des points de fonctions en LOC – selon les langages de
programmation.
Le nombre des lignes de code (KLOC : Kilo Line Of Code) est donné par :
= ∗ Pour le langage C++.
Ce qui fait = , soit approximativement 2,951 lignes de code.
Nous avons choisi le langage C++ pour la facilité d’intégration de l’API Open CV, qui
nativement est développée en ce langage.
P a g e | 58

3.1.2. Estimation avec COCOMO de l’effort et la durée de développement


COCOMO basique permet de calculer l’effort de développement d’un logiciel et son coût en
fonction de sa taille. La taille du programme étant exprimé en milliers de lignes de code
(KLOC). Le modèle COCOMO s’applique à trois types de projets informatiques :

 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

Notre projet étant du type organique, on a :

Taille du projet [KLOC] 2.951

ED [HM]3 2.4 ∗ (2.951) .


= 7.5

TD[mois]4 2.5 ∗ (7.5) .


= 5.4

Rh 7.5
= 1.38
5.4

Productivité[LOC/HM] 2951
= 393.46
7.5

Moyenne de personnel .
.
= . ≈

Tableau 14 – Effort de développement, temps de développement, moyenne de personnel

3.2. Ventilation ou distribution par phase


La ventilation permet de déterminer le temps de développement et l’effort nécessaire pour
chaque phase du cycle de développement. D’après le modèle COCOMO, le cycle de
développement est constitué de 4 grandes phases, notamment :
 Expression des besoins et planification (PR : Plans and requirements) ;
 Conception générale (PD : Product Design) ;
 Programmation (P : Programming)
o Conception détaillée (DD : Detailed design) ;
o Programmation et tests unitaires (CUT : Code and unit test) ;
 Tests et intégration (IT: Integration and test).

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

D’après COCOMO, l’effort et le temps de développement varient proportionnellement à la


taille et la complexité de l’application. Cela est présenté dans le tableau ci-après :

Distribution par phase de l'effort

Type de Phase5 Taille de Taille de Taille de Taille de Taille de


projet 2 KLOC 8 KLOC 32 KLOC 128 512
KLOC KLOC
Organique PR 6 6 6 6
PD 16 16 16 16
P 68 65 62 59
DD 26 25 24 23
CU 42 40 38 36
T
IT 16 19 22 25
Semi-détaché PR 7 7 7 7 7
PD 17 17 17 17 17
P 64 61 58 55 52
DD 27 26 25 24 23
CU 37 35 33 31 29
T
IT 19 22 25 28 31
Imbriqué PR 8 8 8 8 8
PD 18 18 18 18 18
P 60 57 54 51 48
DD 28 27 26 25 24
CU 32 30 28 26 24
T
IT 22 25 28 31 34

Distribution par phase du temps de développement

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

Tableau 15– Coefficients de l’effort et du temps de développement.


Notre projet étant du type organique, la répartition des efforts est la suivante :

Taille du projet 2.951 KLOC

Distribution par phase de l'effort [%]

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

Distribution par phase du temps de développement [%]

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. Coûts du projet

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

Ouvrages et travaux scientifiques

[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

[1] Prof. Dr. Nathanaël KASORO MULENDA, Intelligence artificielle et Systèmes


Experts, Notes de cours, TECH 2 Génie Informatique 2016
[2] Ass. Ir. MBUYAMBA Céléstin, Génie logiciel et Software Engineering, Notes des
cours, TECH 1 Génie Informatique 2015
[3] Ass. MANAWA HYACINE, Systèmes temps réels, Notes des cours, TECH 2 Génie
Informatique 2015
[4] Prof. Fotsing TALLA, Gestion des projets informatiques, Notes de cours, G3 Génie
Informatique 2014
P a g e | 66

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

You might also like