Étape 4: Reconnaître les visages avec OpenCV
Ce qui est openCV ?
OpenCV signifie Open Source Computer Vision. C’est cette bibliothèque qui permettre l’utilisation pour détecter les visages et alors reconnaître la personne.
Dans cette étape, nous aurons besoin d’exécuter des scripts de trois :
- Le premier script permettra de capturer des images à l’aide de la caméra de Raspberry Pi et l’enregistrer avec les bonnes couleurs et les dimensions
- Le second script formera l’algorithme OpenCV en utilisant la méthode EigenFaces
- Le troisième script va nous permettre de tester les résultats et éventuellement adapter différents paramètres
Je me suis adapté sous l’opencv / dossier certaines parties du code de Tony DiCola de son tutoriel Treasure Box : https://learn.adafruit.com/raspberry-pi-face-recog...
Installer OpenCV
Nous allons utiliser la librairie python de OpenCV. Au début, j’ai essayé de compiler moi-même mais je ne pouvais pas vraiment faire. J’ai passé des heures à essayer différents tutoriaux mais sans succès.
Enfin j’ai trouvé que OpenCV pourrait être installé en utilisant apt-get. J’ai lu que quelques fonctionnalités sont absents, mais au moins c’est assez pour ce que nous voulons faire !
(https://www.raspberrypi.org/forums/viewtopic.php?f...)
Rouvrez votre terminal et exécutez :
$ sudo apt-get install python-dev
$ sudo apt-get install python-opencv
$ sudo apt-get install libopencv-dev
pip de $ sudo installer imutils
pip de $ sudo installer numpy
Toutefois, si vous souhaitez compiler vous-même, n’hésitez pas à jeter un oeil à pyimag
Il peut être un peu long cependant.
Tester l’installation
Dans votre terminal exécuter :
python de $ pi
Python 2.7.9 (par défaut, le 8 mars 2015, 00:52:26) [GCC 4.9.2] linux2 tapez "help", "copyright", "crédits" ou "licence" pour plus d’informations.
>>> Importer cv2
>>>
Si vous ne voyez pas toutes les erreurs, OpenCV a été installé correctement.
Maintenant, appuyez sur ctrl + d pour quitter
Capturer des images à se reconnaître
Tout d’abord, branchez la caméra Raspberry Pi dans l’IPD.
Aller à opencv / annuaire.
Ensuite, ouvrez le fichier capture_positive.py et remplacer le POSITIVE_FILE_PREFIX = « username_ » par votre nom.
Enregistrez le fichier.
Exécutez le script: $ python capture_postive.py
Fixer la caméra et appuyez sur « c » et « Enter » pour capturer une image. Si votre visage est détecté et est la seule détectée dans l’image, le script il convertira avec le bon format (recadrée en échelle de gris + bonne dimension) dans le dossier de formation/positif.
Essayez de prendre environ 10 photos pour chaque personne. Vous pouvez prendre à différents moments de la journée à prendre en compte l’évolution de la luminosité et à prendre sous différents angles de votre visage.
Appuyez sur « ctrl + c » pour quitter le script si vous voulez changer le nom de la personne.
Notez que si le script a du mal à détecter votre visage, vous pouvez modifier la valeur de la HAAR_SCALE_FACTOR dans config.py
Préparer la formation
Maintenant, ouvrez le fichier config.py et remplacer le USERNAME_LABEL fourni par les noms que vous avez utilisé pour prendre des photos.
Exécutez le script de formation
Ouvrir le script train.py dans la fonction main remplacer la if(path='username') : votre nom de votre écrit dans le fichier capture_positive.py et la config. USERNAME_LABEL par celui que vous avez écrit dans le fichier config.py.
Faites-le pour chaque peuple, enregistrez le fichier et puis exécutez-le :
$ python train.py
Selon combien de personnes vous souhaitez former, le script peut prendre un certain temps à courir.
Une fois que c’est fini, vous devriez voir le fichier training.xml, l’image positive eigenface, l’image négative eigenface et la moyenne un.
Tester la reconnaissance faciale
Retourner au dossier racine du projet et exécuter le test.py
L’écran LCD doit écrire « Hello [votre nom] ». Selon les photos que vous avez pris, erreurs pourraient se produit. Vous pouvez mettre une confiance inférieure pour avoir de meilleurs résultats.