RNAs multicouches pour reconnaissance faciale
RNAs multicouches pour reconnaissance faciale
Paix-Travail-Patrie Peace-Work-Fatherland
*************** *****************
******************* *******************
**************** *****************
THEME :
P a g e 2 | 36
INTRODUCTION :
Le neurone est une cellule. Le corps humain compte dix mille milliards de cellules, dont 82 milliards de
cellules nerveuses ou neurones. Ces neurones sont considérés comme le support physique de l’intelligence
et d’ailleurs depuis quelques années, l’on cherche à copier les réseaux de neurones pour faire des
commandes intelligentes telles que le pilotage automatique d’un avion, les big-data, la reconnaissance
vocale et la reconnaissance faciale qui est le domaine sur lequel nous travaillons. L’une des méthodes
utilisées pour cette dernière repose sur l’utilisation des RNAs multicouches par rétropropagation. Ce projet
nous permettra de nous initier à l’apprentissage automatique (machine Learning) à travers la compréhension
des techniques utilisées par un tel système intelligent. Dès lors, nous pouvons nous demander quelles sont
les différentes méthodes de reconnaissance faciale existant et comment fonctionne chacune d’elles ?
Comment implémenter le système demandé en utilisant la méthode imposée ? Pour répondre à ces questions
nous vous invitons à suivre minutieusement la suite de notre travail.
P a g e 3 | 36
I- ETAT DE L’ART :
A- Techniques de reconnaissance faciale existantes :
Historique : L'une des premières tentatives de reconnaissance faciale est faite par Takeo Kanade en 1973
lors de sa thèse de doctorat à l'Université de Kyoto.
Les algorithmes populaires incluent l’analyse des composantes principales en utilisant eigenfaces, Linear
Discriminate Analysis, Elastic Bunch Graph Matching, Hidden Markov model, Multilinear Subspace
Learning, et dynamic link matching.
P a g e 4 | 36
2) Reconnaissance faciale 3D :
L'état de l'art de la reconnaissance faciale est en constante évolution, avec de nombreuses avancées
récentes dans les techniques et les performances des modèles. Voici un aperçu des tendances actuelles en
matière de reconnaissance faciale :
➢ Les réseaux de neurones convolutifs (CNN) sont devenus la méthode de choix pour la
reconnaissance faciale, en raison de leur capacité à capturer des caractéristiques discriminantes à
partir d'images de visage. Les CNN ont été utilisés dans de nombreux systèmes de reconnaissance
faciale, tels que FaceNet, DeepFace et VGGFace.
➢ Les méthodes de reconnaissance faciale basées sur l'apprentissage profond ont considérablement
amélioré les performances de la reconnaissance faciale, en particulier pour les tâches de
reconnaissance faciale en temps réel.
P a g e 5 | 36
➢ Les modèles de reconnaissance faciale sont souvent évalués sur plusieurs métriques de
performance, telles que l'exactitude, le temps de traitement et la robustesse aux variations
d'éclairage et de pose.
➢ Les systèmes de reconnaissance faciale sont de plus en plus utilisés dans des applications du monde
réel, telles que la sécurité, la surveillance et l'identification des personnes.
• Détection des visages : Ici, il s’agit de localiser les visages sur une photographie avant de pouvoir
essayer de les différencier !
P a g e 6 | 36
• Acquisition de données : Cette étape consiste à capturer des images ou des vidéos de la personne
à reconnaître à l'aide d'un scanner 3D, d'une caméra stéréo ou d'un système de projection de lumière
structurée.
• Prétraitement des données : Les données acquises sont ensuite prétraitées pour éliminer les bruits
et les artefacts, et pour aligner les images ou les vidéos.
• Création d'un modèle 3D : Les caractéristiques extraites sont utilisées pour créer un modèle 3D
de la personne à reconnaître.
P a g e 7 | 36
• Comparaison avec la base de données : Le modèle 3D est ensuite comparé avec une base de
données de modèles 3D préalablement enregistrés pour identifier la personne.
• Prise de décision : Enfin, une décision est prise sur l'identité de la personne en fonction de la
correspondance entre le modèle 3D et les modèles de la base de données.
3) Analyse de textures :
Une autre tendance émergente utilise les détails visuels de la peau, comme captures des images numériques
ou numérisées. Cette technique, appelée analyse de textures, transforme les lignes uniques, les modèles, et
les points apparents dans la peau d’une personne dans un espace mathématique. Des expériences ont montré
qu’avec l’analyse de la texture, la performance d’un système de FR (Face Recognition) peut augmenter
20%-25%.
P a g e 8 | 36
Il en existe plusieurs types dont les plus utilisés sont les suivants :
Également connus sous le nom de perceptrons multicouches (multi-layer perceptrons), ils sont constitués
d'un certain nombre de couches de neurones, chacune étant entièrement connectée à la couche suivante. Ils
sont souvent utilisés pour la classification et la régression.
P a g e 9 | 36
Ils sont utilisés pour la génération de données synthétiques réalistes, tels que des images ou du texte. Ils sont
composés de deux réseaux adversaires : un générateur qui crée des données synthétiques, et un
discriminateur qui essaie de distinguer les données synthétiques des données réelles.
Figure 12 : GAN
P a g e 10 | 36
C- La rétropropagation :
La rétropropagation est un outil ou un algorithme nécessaire pour apporter des améliorations lorsque
l’apprentissage machine et l’exploration des données donnent de mauvais résultats. Lorsque vous fournissez
beaucoup de données au système et les solutions correctes par un modèle tel que les réseaux neuronaux
artificiels, le système généralisera les données et commencera à les trouver. Par exemple, en imagerie, vous
fabriquez une machine qui apprend de ses erreurs et améliore ses fonctionnalités après avoir échoué dans
ses fonctions. Le système va trouver la solution et, en cas d’échec, deviner par lui-même une autre solution
au problème.
L’utilisation la plus courante de la rétropropagation est l’apprentissage machine pour former des réseaux
neuronaux artificiels. Cet algorithme utilise la descente de gradient pour le processus d’apprentissage en
changeant le poids de chaque erreur. Ci-dessous, nous verrons les étapes de l’algorithme de
rétropropagation :
➢ Propagation avant : Les entrées sont présentées au réseau, qui calcule une prédiction en passant
les données à travers les neurones et les connexions.
➢ Calcul de l'erreur : L'erreur de prédiction est calculée en comparant la sortie prédite du réseau
avec la sortie réelle de l'exemple d'entraînement.
➢ Propagation arrière : L'erreur est propagée en arrière à travers le réseau, en utilisant la règle de la
chaîne pour calculer la contribution de chaque neurone à l'erreur.
➢ Mise à jour des poids : Les poids des connexions sont ajustés en fonction de la contribution de
chaque neurone à l'erreur, en utilisant un algorithme d'optimisation tel que la descente de gradient.
➢ Répétition : Les étapes 1 à 4 sont répétées pour chaque exemple d'entraînement jusqu'à ce que le
réseau atteigne une performance satisfaisante.
processus d’apprentissage rapide et efficace. Un seul neurone artificiel reçoit un signal et le transfère ensuite
aux autres neurones cachés après traitement et entraînement. La connexion d’un neurone à un autre est
soumise à différents poids. Ces connexions sont également connues sous le nom d’arêtes. L’augmentation
et la diminution du poids gèrent le changement de la force des signaux. Le signal est ensuite transmis aux
neurones de sortie. Ces neurones artificiels sont également connus sous le nom de réseaux de feedforward.
2) Rétropropagation du gradient :
Cette technique consiste à corriger les erreurs selon l'importance des éléments qui ont justement
participé à la réalisation de ces erreurs. Dans le cas des réseaux de neurones, les poids synaptiques
qui contribuent à engendrer une erreur importante se verront modifiés de manière plus significative
que les poids qui ont engendré une erreur marginale.
Ce principe fonde les méthodes de type descente de gradient, qui sont efficacement utilisées dans
des réseaux de neurones multicouches comme les perceptrons multicouches (MLP pour " multi-
layers perceptrons "). Les descentes de gradient ont pour but de converger de manière itérative vers
une configuration optimisée des poids synaptiques. Cet état peut être un minimum local de la
fonction à optimiser et idéalement, un minimum global de cette fonction (dite fonction de coût).
Normalement, la fonction de coût est non-linéaire au regard des poids synaptiques. Elle dispose
également d'une borne inférieure et moyennant quelques précautions lors de l'apprentissage, les
procédures d'optimisation finissent par aboutir à une configuration stable au sein du réseau de
neurones.
P a g e 12 | 36
3) Algorithme de rétropropagation :
La rétropropagation permet de former des réseaux neuronaux artificiels. Lorsque des réseaux
neuronaux artificiels se forment, les valeurs des poids sont assignées de manière aléatoire.
L’utilisateur fixe des poids aléatoires parce qu’il ne connaît pas les valeurs correctes. Lorsque la
valeur est différente de celle du réseau de rétrodiffusion attendu, il faut la considérer comme une
erreur. L’algorithme est réglé de telle sorte que le modèle change les paramètres chaque fois que
la sortie n’est pas celle attendue. L’erreur a un rapport avec les réseaux neuronaux artificiels. Ainsi,
lorsque le paramètre change, l’erreur change également jusqu’à ce que le réseau neuronal trouve la
sortie souhaitée en utilisant la méthode de rétropropagation du gradient.
Il en ressort de cette grande première partie que plusieurs techniques de reconnaissance faciale existent et
ont chacune leur technique d’approche pour résoudre le problème.
P a g e 13 | 36
Lorsqu'un signal est envoyé à travers le réseau, chaque neurone calcule une somme pondérée de ses entrées
et applique une fonction d'activation pour déterminer sa sortie. Les sorties de chaque couche de neurones
sont propagées à travers le réseau jusqu'à ce qu'une sortie finale soit produite.
P a g e 14 | 36
Il permet donc de ne séparer que des exemples linéairement séparables. Il ne peut pas pas par
exemple réaliser un OU Exclusif encore appelé XOR (tâche de classification non linéaire dans
laquelle les exemples d'entraînement ne sont pas linéairement séparables). Les réseaux
multicouches pallient cette limitation en ceci que les couches cachées permettent au réseau de
neurones de capturer des relations non linéaires entre les caractéristiques d'entrée et les étiquettes
de sortie, ce qui lui permet de résoudre des tâches de classification non linéaires telles que le XOR.
P a g e 15 | 36
Pour traiter plusieurs sorties, on utilise plusieurs Adaline en parallèle : on parle alors de Madaline
(Multi-Adaline).
L’apprentissage d’un Adaline s’effectue en ligne et est basé sur la minimisation d’une erreur,
l’erreur quadratique moyenne.
B- La rétropropagation :
La rétropropagation de l’erreur dans un réseau multicouches est un algorithme d'apprentissage supervisé qui
utilise la descente de gradient pour minimiser l'erreur de prédiction du réseau. L'algorithme fonctionne en
calculant l'erreur de prédiction pour chaque exemple d'entraînement, puis en rétropropageant cette erreur
dans le réseau pour ajuster les poids et les biais.
On présente un vecteur d’entrée pour lequel on détermine la sortie du réseau. L’ensemble des poids des
liaisons synaptiques détermine le fonctionnement du réseau de neurones. On compare les sorties estimées
des neurones de la couche de sortie avec les valeurs désirées et on calcule l’erreur de chacun.
P a g e 16 | 36
C- Reconnaissance faciale :
La reconnaissance faciale est une méthode de reconnaissance biométrique qui utilise les caractéristiques du
visage pour identifier les individus. Les caractéristiques du visage peuvent être extraites manuellement en
utilisant des méthodes basées sur les caractéristiques, ou automatiquement en utilisant des réseaux de
neurones multicouches.
La reconnaissance faciale est un moyen d'identifier ou de confirmer l'identité d'un individu grâce à
son visage. Les systèmes de reconnaissance faciale peuvent servir à l'identification de personnes
sur des photos, dans des vidéos ou en temps réel. La reconnaissance faciale est une catégorie de
sécurité biométrique. D'autres formes de logiciel biométrique incluent la reconnaissance de la voix,
des empreintes digitales, de la rétine ou de l'iris. Cette technologie est surtout utilisée pour
lasécurité et l'application de la loi, bien que d'autres domaines s'y intéressent de plus en plus.
Beaucoup de gens connaissent la reconnaissance faciale grâce à l'utilisation de FaceID qui permet
de déverrouiller les iPhone (or ce n'est qu'une utilisation parmi d'autres). De manière générale, la
reconnaissance faciale ne repose pas sur une énorme base de données de photos pour déterminer
l'identité d'une personne : elle ne fait qu'identifier et reconnaître une personne comme propriétaire
unique de l'appareil, pour empêcher autrui d'y avoir accès. Au-delà du déverrouillage des
téléphones, la reconnaissance faciale fonctionne en comparant le visage des personnes qui passent
devant des caméras spéciales à des photos de personnes surveillées. Ces listes de personnes
surveillées peuvent contenir des photos de n'importe qui, même de personnes qui n'ont jamais rien
fait de mal, et les photos peuvent provenir de n'importe où, même des comptes de réseaux sociaux.
Dans la suite, nous verrons comment les systèmes de reconnaissance faciale sont construits et
fonctionnent
P a g e 17 | 36
Dans le cadre de notre projet, nous avons récolté 17 images par individu, que nous avons regroupées par
dossier spécifique, portant chacun le nom de l’individu associé
P a g e 18 | 36
Cette étape consiste à nettoyer et à préparer les images pour l'entraînement du modèle. Cela peut
inclure la normalisation de la taille des images, la suppression des données manquantes, la
conversion des images en niveaux de gris, etc.
➢ Transformation de l’image en niveaux de gris : les images en niveaux de gris sont des
images qui ne contiennent pas de couleur, mais qui utilisent différentes nuances de gris pour
représenter l'intensité de la luminosité à chaque point de l'image.
➢ Un redimensionnement des images : qui consiste à modifier la taille des images pour
qu'elles aient toutes la même taille ou une taille prédéfinie.
➢ Conversion des listes de visages et d’étiquettes en tableaux Numpy : elle est utile car
NumPy est une bibliothèque puissante pour le calcul scientifique avec des tableaux en
Python. Beaucoup d'outils d'apprentissage automatique tels que Keras attendent des entrées
sous forme de tableaux NumPy. Grossomodo, il faut transformer des listes Python en
tableaux NumPy pour une utilisation dans des algorithmes d'apprentissage automatique.
➢ Encodage les étiquettes en entiers : cela signifie qu’on convertit les étiquettes textuelles en valeurs
numériques car en effet, beaucoup d'algorithmes d'apprentissage automatique attendent des données
numériques en entrée, et ne peuvent pas gérer des données textuelles directement. L'encodage en
entiers résout ce problème.
➢ Diviser les données en ensembles d'entraînement et de test : Il s'agit de séparer un ensemble de
données en deux groupes distincts : un ensemble d'entraînement et un ensemble de test. Cette étape
est importante pour s'assurer que le modèle n'a pas simplement "mémorisé" les données
d'entraînement, mais qu'il est capable de généraliser et de prédire avec précision sur de nouvelles
données qui dans notre cas sont des images. En général, les données sont divisées en ensembles
d'entraînement et de test de manière aléatoire, en utilisant une proportion fixe pour chaque
ensemble. Par exemple, on peut utiliser 80 % des données pour l'ensemble d'entraînement et 20 %
pour l'ensemble de test.
➢ Ajout d’une dimension de canal aux tableaux d’images : signifie que l'on ajoute une troisième
dimension au tableau pour représenter les canaux de couleur de l'image. Par exemple, une image en
P a g e 19 | 36
noir et blanc aura un seul canal (le canal de luminance), tandis qu'une image en couleur aura trois
canaux (rouge, vert et bleu). Chaque canal est représenté par une matrice à deux dimensions qui
contient les valeurs de chaque pixel pour ce canal.
➢ Conversion des étiquettes en vecteurs one-hot : c’est une technique couramment utilisée
pour représenter les étiquettes sous forme de vecteurs binaires. Par exemple, si l'ensemble
de données contient les étiquettes "Ambassa", "Christian MOTAZE" et "Patrick ESSOLA",
"Susy HEUNA", alors la conversion d'une étiquette "Susy HEUNA", en un vecteur one-hot
aurait comme résultat le vecteur [0, 1, 0], où la deuxième valeur est égale à 1, car c'est la
classe correspondante à Susy HEUNA.
➢ Augmenter les données avec ImageDataGenerator : consiste à générer de nouvelles images
à partir des images existantes en appliquant des transformations aléatoires telles que la
rotation, l'inversion, le zoom. ImageDataGenerator est une classe fournie par la
bibliothèque Keras de Python.
➢ Définir le modèle CNN : Le modèle est défini en utilisant la classe Sequential (), qui permet
de créer une séquence de couches de neurones. Les couches sont ajoutées à la séquence
dans l'ordre dans lequel elles doivent être traitées. Le modèle commence avec une couche
Conv2D, qui est une couche de convolutions 2D avec 32 filtres de taille 3x3 et une fonction
d'activation ReLU. Cette couche prend en entrée des images de taille (width, height, 1), où
1 représente un seul canal (par exemple, une image en noir et blanc). Ensuite, une couche
de normalisation de lots (BatchNormalization) est ajoutée, suivie d'une couche de pooling
(MaxPooling2D) qui réduit la taille spatiale de la sortie de la couche précédente. Ensuite,
trois autres couches Conv2D, chacune suivie d'une couche de normalisation de lots et de
pooling, sont ajoutées avec des filtres de taille 3x3 et des fonctions d'activation ReLU. La
dernière couche Conv2D a 256 filtres. La sortie de la dernière couche de pooling est aplatie
en un vecteur à une dimension (Flatten), puis est passée à une couche Dense de 512
neurones avec une fonction d'activation ReLU. Une couche Dropout est ajoutée pour
réduire le surapprentissage en désactivant aléatoirement 50% des neurones de cette couche
pendant l'entraînement. Enfin, une couche Dense est ajoutée avec un nombre de neurones
égal au nombre de classes dans l'ensemble de données (len(folders)) et une fonction
d'activation softmax, qui donne en sortie une distribution de probabilités pour chacune des
classes. Cette couche est utilisée pour prédire la classe de chaque image.
P a g e 20 | 36
P a g e 21 | 36
• Conv2D : Il y a 4 couches Conv2D dans ce modèle, chacune avec une taille de noyau de 3x3, une
fonction d'activation ReLU et un nombre de filtres de 32, 64, 128 et 256 respectivement. Ces
couches de convolution sont utilisées pour extraire les caractéristiques des images de visages.
• BatchNormalization : Il y a 4 couches de normalisation de batch, chacune suivant une couche de
convolution. La normalisation de batch est utilisée pour normaliser les entrées de chaque couche
et accélérer le processus de convergence.
• MaxPooling2D : Il y a 4 couches MaxPooling2D, chacune suivant une couche de convolution et
de normalisation. Ces couches sont utilisées pour réduire la dimensionnalité des caractéristiques
extraites par les couches de convolution.
• Flatten : Après les couches de convolution et de pooling, la couche Flatten est utilisée pour aplatir
les caractéristiques en un vecteur unidimensionnel.
• Dense : Il y a deux couches entièrement connectées Dense dans ce modèle, chacune avec 512
neurones et une fonction d'activation ReLU. Ces couches sont utilisées pour classifier les images
de visages en fonction de l'identité du sujet.
• Dropout : La couche Dropout est utilisée pour éviter le surapprentissage (overfitting) en
régularisant le modèle. Dans ce cas, le taux de dropout est de 0,5.
• Dense : La dernière couche Dense utilise une fonction d'activation softmax et un nombre de
neurones égal au nombre de classes (défini par le nombre de dossiers dans l'ensemble de données).
Cette couche est utilisée pour produire la sortie finale du modèle, qui représente la probabilité de
chaque classe pour une image donnée.
En résumé, ce modèle CNN utilise des couches de convolution, de normalisation de batch, de pooling,
entièrement connectées et de régularisation pour extraire les caractéristiques des images de visages et
classifier les sujets dans l'ensemble de données.
P a g e 22 | 36
2- Entrainement du modèle :
L'entraînement d'un modèle de reconnaissance faciale basé sur un réseau de neurones convolutionnel (CNN)
implique plusieurs étapes importantes. Voici quelques éléments essentiels pour décrire l'entraînement de
notre modèle CNN de reconnaissance faciale :
Préparation des données : la qualité de l'ensemble de données d'entraînement est essentielle pour
la performance du modèle. L’on doit s’assurer que les images de visages sont de haute qualité, bien
alignées et représentatives des personnes que l’on veut reconnaitre.
Architecture du réseau de neurones : le choix de l'architecture du CNN est crucial pour la
performance du modèle. L’on se doit de choisir une architecture adaptée à l’ensemble de données
définies. Par exemple, nous avons utilisé une architecture basée sur des couches de convolution et
de pooling pour extraire les caractéristiques des images de visages, suivie de couches entièrement
connectées pour la classification.
P a g e 23 | 36
Conv2D (32 filters, 3x3 kernel, Conv2D (128 filters, 3x3 Dense (1024 neurons, ReLU
kernel, ReLU activation) activation)
ReLU activation)
P a g e 24 | 36
Hyperparamètres : Pour obtenir les meilleurs résultats pour notre modèle, nous devons ajuster les
hyperparamètres tels que la taille du lot (batch size), le taux d'apprentissage (Learning rate) etc.
Entraînement : le modèle doit être entrainé en utilisant l'ensemble de données d'entraînement.
Pendant l'entraînement, le modèle ajuste les poids des neurones pour minimiser la fonction de coût
(loss function) et améliorer la précision de la classification.
Validation : la validation régulière du modèle sur un ensemble de validations distinctes doit être
faite pour surveiller sa performance et éviter le surapprentissage (overfitting).
Test : une fois que l'entraînement est terminé, l’on doit tester le modèle sur un ensemble de données
de tests distincts pour évaluer sa performance sur des données qu'il n'a jamais vues auparavant.
Il est important de noter que l'entraînement d'un modèle de reconnaissance faciale peut prendre
beaucoup de temps et nécessite souvent des ressources informatiques importantes, telles que des
GPU (unités de traitement graphique) ou des TPUs (unités de traitement tensoriel). Il est également
important de s'assurer que le modèle est éthique et respecte la vie privée des individus en utilisant
des pratiques de sécurité appropriées pour protéger les données personnelles.
Au terme de cette troisième partie, nous pouvons dire que les éléments utiles à la construction de notre projet
sont très bien connus et dès lors, nous pouvons les exploiter.
P a g e 25 | 36
TPR = nombre de vrais positifs / (nombre de vrais positifs + nombre de faux négatifs)
FPR = nombre de faux positifs / (nombre de faux positifs + nombre de vrais négatifs)
➢ Temps d’exécution (runtime) : le temps d’exécution est une mesure de la vitesse à laquelle le
modèle de reconnaissance faciale peut traiter les images. Le temps d’exécution peut être important dans
les applications en temps réel telles que la surveillance de la sécurité. Pour obtenir cette valeur, il suffit
d’addition les temps de compilation, d’entrainement et de chargement du modèle, puis d’y ajouter le
temps de reconnaissance faciale en direct par la webcam.
Ainsi,
Te = Tc + Ten + Tch + Trf
où :
Te : Temps d’exécution
Tc : Temps de compilation
Ten : Temps d’entrainement du modèle
Tch : Temps de chargement du modèle
Trf : Temps de reconnaissance faciale en direct par la webcam.
P a g e 26 | 36
Les critères de comparaison pour les différentes méthodes de reconnaissance faciale peuvent inclure :
➢ Précision : La précision est la capacité du système à identifier correctement une personne. Les
méthodes de reconnaissance faciale avec une précision plus élevée sont considérées comme plus
efficaces.
➢ Vitesse : La vitesse est le temps nécessaire pour identifier une personne. Les méthodes de
reconnaissance faciale plus rapides sont considérées comme plus efficaces.
P a g e 27 | 36
➢ Robustesse : La robustesse est la capacité du système à identifier une personne dans des conditions
difficiles telles que des changements de pose, d’expression faciale et d’éclairage. Les méthodes de
reconnaissance faciale plus robustes sont considérées comme plus efficaces.
➢ Sécurité : La sécurité est la capacité du système à empêcher l’accès non autorisé. Les méthodes de
reconnaissance faciale avec une sécurité plus élevée sont considérées comme plus efficaces.
➢ Coût : Le coût est le coût total de la mise en place et de l’utilisation du système de reconnaissance
faciale. Les méthodes de reconnaissance faciale moins coûteuses sont considérées comme plus
efficaces.
➢ Convivialité : La convivialité est la facilité d’utilisation du système de reconnaissance faciale.
Les méthodes de reconnaissance faciale plus conviviales sont considérées comme plus efficaces.
P a g e 28 | 36
Au vu des résultats que nous avons obtenus pour notre modèle CNN mis sur pied pour la reconnaissance
faciale, l’on peut faire ces commentaires :
• La précision de notre modèle étant de 66,6% et donc supérieure à 50%, le modèle est acceptable en
guise de test expérimental mais ne saurait être implémenté dans une application de la vie courante car n’est
pas assez optimale pour assurer une bonne sécurité.
• La matrice de confusion indiquant des erreurs de la part de notre modèle pour la reconnaissance des
quatre (04) classes que sont AMBASSA, Susy HEUNA, Christiane MOTAZE et Patrick ESSOLA plusieurs
fois montre une fois de plus les limites de notre modèle ; nous en concluons qu’il faudra faire des
améliorations significatives sur ce dernier.
P a g e 29 | 36
• La courbe ROC qui quant à elle est plutôt en cascade même si parfois constante, montre que le
modèle fonctionne assez bien donc peut faire office de test dans le cadre d’une recherche dans le domaine.
En effet, moins la courbe ROC est proche de la diagonale et plus elle se rapproche du coin gauche, plus le
modèle est performant. Aussi, l'aire sous la courbe (AUC pour Area Under the Curve) est un bon indicateur
synthétique de la performance du modèle car plus il se rapproche de 1, plus le modèle est performant. Sur
le graphe, on peut lire que le AUC est 0,62 donc le modèle peut être considéré comme acceptable.
P a g e 30 | 36
Le temps d’exécution dans notre cas est donc Te = Tc + Ten + Tch + Trf = 0,007 + 0 + 0,62 + 0,237 = 0,8
s. Ce qui est un temps relativement bon, en guise de « modèle test ».
P a g e 31 | 36
P a g e 32 | 36
P a g e 33 | 36
P a g e 34 | 36
CONCLUSION:
En conclusion, la reconnaissance faciale est une tâche importante et complexe dans le domaine de la vision
par ordinateur. Les réseaux de neurones artificiels multicouches avec rétropropagation constituent une
méthode efficace pour résoudre ce problème. Ils sont capables d'apprendre des caractéristiques
discriminantes à partir des images faciales brutes pour effectuer une classification précise. Cependant, la
performance de ces modèles dépend de plusieurs facteurs, tels que la taille et la qualité de l'ensemble de
données, la complexité du modèle et les paramètres d'entraînement et même la résolution de l’appareil Il est
important de sélectionner soigneusement ces paramètres pour éviter le surapprentissage et pour améliorer
la précision du modèle. Aussi, la reconnaissance faciale suscite des préoccupations en matière de protection
de la vie privée et de sécurité, ce qui nécessite la mise en place de réglementations et de pratiques éthiques
appropriées.
P a g e 35 | 36
REFERENCES BIBLIOGRAPHIQUES:
[Link]
[Link]
[Link]
[Link]
couches&rlz=1C1GCEA_enCM930CM930&oq=etat+de+l%27art+des+r%C3%A9seaux+de+neurones+ar
tificiels+multicouches&aqs=chrome..69i57.20734j1j7&sourceid=chrome&ie=UTF-8
[Link]
e=lnms&tbm=isch&sa=X&ved=2ahUKEwjrmdyX1tT-
AhX9RKQEHTfRCkAQ_AUoAXoECAEQAw&biw=1366&bih=657&dpr=1
[Link]
[Link]
[Link]
ciale&rlz=1C1GCEA_enCM930CM930&source=lnms&tbm=isch&sa=X&ved=2ahUKEwj3--Wq6Pr-
AhWAQUEAHT4dA-oQ_AUoAnoECAEQBA
P a g e 36 | 36