Etude et réalisation du système de reconnaissance faciale

La reconnaissance faciale

La reconnaissance faciale est une technique biométrique relativement récente. Si l’empreinte digitale est la technique biométrique la plus ancienne inventée en 1903 pour rechercher les criminels, la reconnaissance des visages a été développé par « Benton et Van Allen » en 1968 pour évaluer la capacité d’identification des visages non familiers. Il ne s’agit pas d’un test de reconnaissance ménisque de visages familiers ou non familiers, mais d’une épreuve consistant à apparier des photographies de visages non familiers présentés sous différents éclairages et selon des angles différents et nécessitant une bonne capacité d’intégration Visio-spatiale [https://www.clicours.com/]. L’utilisation des techniques de reconnaissance faciale a connu un développement à grande échelle de puis le milieu des années 90, avec l’utilisation efficace de nouvelles technologies, notamment l’ordinateur et sa capacité de traitement d’images. L’utilisation de ces techniques existe depuis qu’une machine est capable de comprendre ce qu’elle « voit » lorsqu’on la connecte à une ou plusieurs caméras, c’est à dire que les premiers essais datent du début des années 70 (Benton et Van Allen en 1968), et sont basés sur des méthodes à bases d’heuristiques, basés sur des attributs faciaux mesurables comme l’écartement des yeux, des sourcils, des lèvres, la position du menton, la forme, etc [3]. Ces méthodes sont très peu robustes, car elles font de nombreuses suppositions en se plaçant dans des cas très simples (visage de face, bonnes conditions d’illuminations, etc. L’une des premières tentatives de reconnaissance de visage est faite par Takeo Kanade en 1973 lors de sa thèse de doctorat à l’Université de Kyoto.

Domaines d’application de la reconnaissance faciale La sécurité reste le domaine d’application principal. Dans ce domaine, la reconnaissance des visages est nécessaire à l’identification et à l’authentification. Un bon exemple de cet usage est En 2017, Gemalto (maintenant Thales) signe l’équipement de nouveaux cas de contrôle automatisés du système PARAFE (Passage Automatisé Rapide aux Frontières Extérieures) au sein des aéroports de Paris. La solution a évolué de la reconnaissance des empreintes digitales à la reconnaissance faciale en 2018 et à réduit le temps moyen de passage de 30-45 secondes à 10-15 secondes [6]. Le contrôle policier peut y avoir recours bien qu’il reste très encadré en Europe. En 2016, « l’homme au chapeau » des attentats de Bruxelles aurait été identifié grâce à un logiciel de reconnaissance faciale du FBI [7]. Les drones équipés de caméra offrent une combinaison intéressante pour la reconnaissance faciale lors de grands évènements, par exemple. Les drones, en position fixe jusqu’à 100 mètres de haut, peuvent porter des optiques lourdes (10kg) et identifier une personne à 800 mètres. De plus comme ils sont reliés par câble, l’autonomie électrique est illimitée et les communications (par câble aussi) sont sécurisées [7]. Google et Facebook ont implémenté des algorithmes pour identifier les personnes dans leur base de données de photos.

En 2014 Facebook annonçait le lancement de son programme baptisé DeepFace, capable de déterminer si deux visages photographiés appartiennent à la même personne, avec une précision de 97,25%. Soumis au même test, les humains répondent correctement dans 97,53% des cas, soit à peine 0,28% de mieux que le programme de Facebook. En juin 2015, Google renchérissait avec FaceNet, nouveau système de reconnaissance faciale aux scores jamais égalés : 99,63% de précision au test de référence Labeled Facebooks in The Wild ; 95 % sur la base YouTube Faces DB. En utilisant un réseau neuronal artificiel et un nouvel algorithme, la firme de Mountain View est parvenue à rapprocher un visage et son propriétaire à la quasi-perfection. Une technologie intégrée dans Google Photos pour trier les clichés et les tagger automatiquement en fonction des personnes reconnues et, preuve de sa pertinence, devenue rapidement disponible en ligne dans une version open-source officieuse, OpenFace [7]. La santé a aussi connait des avancements considérables dans ce domaine. Grâce au Deep Learning et à la reconnaissance faciale et des émotions, il est déjà possible : De suivre plus précisément la consommation de médicaments d’un patient ; De détecter une maladie génétique telle que le syndrome de DiGeorge avec un taux de réussite de 96,6% ; D’accompagner les procédures de prise en charge de la douleur [7]. Il existe plain d’autres domaine d’application de la reconnaissance facial tel que: Le commerce, les systèmes de déverrouillage, les filtres de snapchat…. etc.

Problématique

Le problème de la reconnaissance de visages peut être formulé comme suit : étant données une ou plusieurs images d’un visage, la tâche est de trouver ou de vérifier l’identité d’une personne par comparaison de son visage à l’ensemble des images de visage stockées dans une base de données. En général, un système de biométrie faciale est constitué de deux modules : un module de segmentation de visages (détection ou localisation de visage), et un module de reconnaissance qui se déroule en trois étapes : normalisation ou prétraitement, extraction de caractéristiques faciales, classification (Figure 1.1).

•Capture : image ou vidéo C’est la première étape dans le processus. C’est aussi l’acquisition des informations et leur transfert vers l’unité de traitement. C’est est une étape très importante dans les systèmes de reconnaissance. En effet, avoir des images de bonne qualité en référence améliore les performances de reconnaissance. Il faut réussir à capter l’information pertinente sans bruit [15].

•Détection de visage : La détection de visage dans l’image est un traitement indispensable avant la phase de reconnaissance. En effet, le processus de reconnaissance de visages ne pourra jamais devenir intégralement automatique s’il n’est pas précédé par une étape de détection efficace [14]. Cela peut se faire par détection de la couleur de la peau, la forme de la tête, l’apparence faciale, ou par des méthodes détectant les différentes caractéristiques du visage par des descripteurs locaux (Adaboost). Après la segmentation du visage, on peut filtrer ou améliorer la qualité par des prétraitements qui sont appliqués au visage extrait. On peut effectuer des normalisations géométriques et photométriques. Ces prétraitements sont nécessaires pour éliminer ou limiter les variations de pose, uniformiser l’éclairage, minimiser l’influence de l’illumination, ainsi d’ajuster le visage pour qu’il ait une dimension particulière et qu’il soit horizontal [15].

•Extraction de caractéristiques : Le but est d’extraire les caractéristiques du visage qui peuvent le rendre à la fois différent de celui des autres personnes et robuste aux variations de la personne elle-même. C’est l’information nécessaire pour que le visage d’une personne ne ressemble pas à celui d’une autre personne et en même temps qu’il ressemble à lui-même dans d’autres conditions d’acquisition [15].

•Comparaison : Selon les caractéristiques extraites précédemment, les algorithmes de comparaison diffèrent. On trouve dans la littérature plusieurs approches : calcul de distance, calcul de similarité. D’autres méthodes se basent sur la classification des caractéristiques par un seul classifieur (SVM, classifieur baysien, etc.) ou par plusieurs classifieurs (Adaboost).

Conclusion générale

Ce travail illustre le fonctionnement d’un système de verrouillage électronique intelligent avec reconnaissance faciale à base d’un Raspberry Pi 3B. Les aspects de ce système sont: la détection du visage des individus par utilisation du module OpenCV puis vérification de son existence parmi plusieurs visages stockés en base de données, pour des visages inconnus aucune action n’est déclenchée, par contre pour les visages connus et stockés ; l’indentification du visage provoque l’affichage d’un nouveau cadre présentant un boutant de déverrouillage ainsi que le temps et la date de cette identification. L’utilisation de ce bouton provoque l’ouverture de la porte ainsi que l’introduction de ces informations d’accès dans une base de données csv qu’on peut consulter via une page internet sous réseau local Nous avons rencontré quelques obstacles dans ce travail, tels que l’existence d’un défaut de certains composants, le manque des instruments dans les laboratoires, d’où la nécessité de les chercher ailleurs, le flux d’Internet faible au niveau des laboratoires, le langage de programmes que nous n’avions pas connus auparavant. Mais nous avons tiré parti de nouvelles informations et avons travaillé avec de nombreux programmes (Python, Linux, Raspbian .. ). Et nous nous sommes familiarisés avec les différents types de ce système de verrouillage. Cependant, ce projet peut être amélioré, nous pouvons ajouter plus de paramètres à l’utilisateur pour lui donner plus de contrôle, et luis permettre aussi de contrôler les accès a partir d’un réseau internet externe, ainsi de commander le verrouillage et le déverrouillage a distance.

Table des matières

Introduction générale
Chapitre I : La reconnaissance faciale
I.1.La reconnaissance faciale
I.2.Historique
I.3.Domaines d’application de la reconnaissance faciale
I.4.Techniques de détection et de reconnaissance faciale
I.5.Problématique
I.6.Avantages et inconvénients de la reconnaissance de visage
I.7.Conclusion
Chapitre II : Etude et réalisation du système de reconnaissance faciale Introduction
II.1.Spécification de la technique et langage utilisé
II.2.Techniques de détection
II.3.Procédure de détection de Haar-cascade
II.3.1.Haar comme caractéristique
II.3.2.Image intégrale
II.3.3.AdaBoost
12 II.3.4.Classificateur en cascade
II.4.Type de fichier utilisé
II.4.1.Fichier XML
II.4.2.Fichier CSV
II .4.3.Format de gris
II.5.Environnement de développement
II.5.1.Environnement hardware
II.5.1.1. Un ordinateur
II.5.1.2. Un Raspberry Pi
II.5.1.2.1. Présentation du Raspberry pi
II.5.1.2.2. Les modèles de Raspberry Pi
Les modèles A
Les modèles B
Les modèles Zero
II.5.1.2.3.Le Raspberry Pi 3 modèle B
II.5.1.2.4.Spécification technique du microcontrôleur Raspberry Pi
II.5.1.2.5.Les composants du Raspberry Pi modèle B
II.5.1.2.6.Connexion des composants de Raspberry Pi
II.5.1.3.Un Ecran TFT LCD 5’’
II.5.1.4.Une camera Web
II.5.1.5.Un relais
II.5.1.6.Une serrure solénoïde
II.5.2.Environnement software
30 II.5.2.1.Raspbian
30 II.5.2.2. Langage python
30 II.5.3.Les bibliothèques utilisées
II.5.3.1.Numpy
II.5.3.2.Tkinter
II.5.3.3.OpenCv
II.6.Présentation de la bibliographe OpenCv
II.6.1.Historique
II.6.2.Qu’est ce que OpenCv
II.6.3.Fonctionnalités
32 II.6.1.Traitement d’images
33 II.6.1.Traitement vidéo
33 II.7. Conclusion
Chapitre III: Conception et analyse Introduction
III.1.Matériel de conception
III.2. Préparation du système d’exploitation sur micro SD
III.2.1.Formater la carte SD
III.2.2.Installer Raspbian sur la carte SD
III.2.3.Premier démarrage du système
III.3. Première configuration
III.3.1.Les premiers réglages
III.3.2.Le clavier en français
III.3.3.Configuration de la localisation
41 III.3.4.Modification du mot de passe
III.3.5.L’activation des interfaces utilisées
III.4.Mettre à jour le système de la Raspberry pi
III.4.1.Mettre à jour le système de la liste des paquets
III.5.Activer la camera USB (webcam)
III.6.Installation opencv sur le Raspberry Pi
III.6.1.Mettre à jours le système d’exploitation
III.6.2.Installer les dépendances
III.6.3.Installation python 3 et pip 3
III.6.4.Installation opencv
III.6.5.Dépendances supplémentaire pour OpenCv et la caméra
III.7.Système de reconnaissance facial
III.7.1.Collecte de données pour détection du visage
III.7.2.Procédure pas à pas du code
III.7.3.Entrainement de la reconnaissance
III.7.4.Utilisation de l’outil de reconnaissance pour la reconnaissance faciale
III.8.Création d’une base de données avec csv file
III.9.Pilotage de relais avec les GPIO de raspberry
III.10.Diagramme de circuit et explication
III.11.Création de la page HTML
III.12.Conception du système
III.12.1.Organigramme du système de reconnaissance faciale à base de Raspberry
III.13.Conclusion
Conclusion générale
Références Bibliographique

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *