Académique Documents
Professionnel Documents
Culture Documents
Minimalist Simple Annual Report
Minimalist Simple Annual Report
TRAITEMENT
DE L’IMAGE
FACE DETECTION AVEC
TENSOFLOW ET OPENCV
BILAL EL MAFTOUHI
NABIL KACHAR
ENCADRÉ PAR
MR. LACHKAR ABDELMONAIME
1. INTRODUCTION
2. OBJECTIF DU PROJET
3. Technologies Utilisées
OpenCV : OpenCV (Open Source Computer Vision Library) est
une bibliothèque logicielle contenant plus de 2500 algorithmes
de vision par ordinateur. Elle est largement utilisée pour des
tâches telles que la reconnaissance d'objets, le suivi de
mouvements et la détection de visages. Dans ce projet, OpenCV
sera utilisé pour traiter les images et vidéos en temps réel, et
pour implémenter des algorithmes de détection de visages tels
que Haar Cascade.
TensorFlow : TensorFlow est une bibliothèque open-source de
machine learning, développée par l'équipe Google Brain. Elle
est utilisée pour des applications allant de la reconnaissance
d'images à la modélisation de la parole. Pour la détection de
visages en temps réel, nous utiliserons des modèles de réseaux
de neurones convolutifs (CNN), notamment le modèle MTCNN
(Multi-task Cascaded Convolutional Networks), connu pour sa
précision et sa capacité à gérer des visages dans des
orientations variées.
4. MÉTHODOLOGIE
1. CONFIGURATION ET OBTENTION DES DONNÉES
Dans cette étape, nous chargeons les images augmentées dans des
jeux de données TensorFlow pour les ensembles d'entraînement,
de test et de validation. Nous commençons par lister les fichiers
d'images augmentées dans les répertoires respectifs
('aug_data/train/images', 'aug_data/test/images',
'aug_data/val/images') sans les mélanger pour préserver l'ordre.
Chaque image est ensuite chargée et redimensionnée à une taille
uniforme de 120x120 pixels pour garantir la cohérence des entrées
dans le réseau de neurones. Les valeurs des pixels sont normalisées
entre 0 et 1 en divisant par 255, ce qui est une pratique courante
pour améliorer la performance de l'entraînement des modèles.
Cette préparation des données permet de transformer les images
augmentées en un format adapté pour l'entraînement du modèle
dans TensorFlow, assurant une intégration fluide et efficace dans
le pipeline de machine learning.
6. PRÉPARER LES LABELS
Nous commençons par vérifier les longueurs des partitions des jeux
de données d'images et de labels pour nous assurer qu'ils sont
correctement appariés. Cette étape est essentielle pour garantir
que chaque image a une annotation correspondante.
Le modèle FaceTracker est conçu pour suivre les visages dans nos
images en utilisant le modèle eyetracker. Pour atteindre cet
objectif, on a définit une classe FaceTracker qui hérite de la classe
Model de TensorFlow. Cette classe comprend des méthodes pour la
compilation du modèle, la définition des étapes d'entraînement et
de test, ainsi que pour l'appel du modèle.
Dans la méthode compile, les fonctions de perte de
classification et de localisation, ainsi que l'optimiseur, sont
spécifiés. Les méthodes train_step et test_step sont
responsables du calcul des pertes de classification et de
localisation pour chaque lot d'entraînement ou de test
respectivement, tandis que la méthode call est utilisée pour
appeler le modèle.