Accueil Technologies L’Intelligence Artificielle pour débutants – La reconnaissance faciale (4)
L'Intelligence Artificielle pour débutants - La reconnaissance faciale (4)

L’Intelligence Artificielle pour débutants – La reconnaissance faciale (4)

par Jérémy PASTOURET
Publié : Mis à jour le

Cet article poursuit la série d’explications sur la librairie face_recognition. Les précédents articles vous ont montré les multiples possibilités de cette librairie. L’objectif de cet article-ci est de vous détailler le fonctionnement des autres scripts.

Reconnaissance faciale multiple de personnes avec KNN

Description

Le script se nomme face_recognition_knn.py. Il prend deux répertoires en entrée :

  • L’un contenant des images d’entraînement.
  • L’autre un répertoire de photo de personnes à identifier.

Le programme doit apprendre à reconnaître des visages présents dans un répertoire d’entraînement. Puis à reconnaître les visages présents dans une série de photos. Pour effectuer cette opération, ce script utilise le classifieur KNN (méthode des k plus proches voisins). Il s’agit d’une méthode d’apprentissage supervisé qui cache beaucoup de mathématiques.

Exécution du script et résultat

Il suffit de lancer la commande suivante pour tester ce script :

docker-compose run face_recognition python3 -u face_recognition_knn.py

La console renvoie le résultat suivant :

Training KNN classifier...
Training complete!
Looking for faces in obama1.jpg
- Found obama at (546, 204)
Looking for faces in kit_with_rose.jpg
- Found rose_leslie at (79, 130)
- Found kit_harington at (247, 92)
Looking for faces in obama_and_biden.jpg
- Found biden at (737, 449)
- Found obama at (1133, 390)
- Found unknown at (1594, 1062)
Looking for faces in alex_lacamoire1.jpg
- Found alex_lacamoire at (633, 206)
Looking for faces in johnsnow_test1.jpg
- Found kit_harington at (262, 180)

Dans l’exemple de base, l’intelligence artificielle s’est entraînée sur les même répertoires que dans l’exemple précédent. Mais contrairement au précédent classifieur, celui-ci a essayé d’identifier tous les visages présents dans le répertoire knn_examples/test soit 5 photos.

Modification du code pour l’apprentissage d’intelligence artificielle et la reconnaissance de visages

Vous souhaitez ajouter autant de répertoires que de personnes dans le dossier knn_examples/train/ ? La règle est simple : un dossier correspond à une personne, et le nom du dossier correspond au nom de la personne. Ensuite, dans chaque dossier, placez uniquement des images de la personne concernée. Ce répertoire représente les données d’entraînement de l’intelligence artificielle.

Concernant les visages à trouver, il vous suffit de rajouter autant d’images que voulu dans le répertoire knn_examples/test. L’IA va essayer de reconnaître tous les visages présents sur les photos du répertoire de test. Bien évidemment, vous pouvez modifier la localisation de ces dossiers facilement dans le code :

  • ligne 188 pour le répertoire contenant les photos d’entraînement.
  • ligne 192 – 193 – 206 pour le dossier contenant les images à identifier.

Il vous reste plus qu’à enregistrer et relancer le script.

Reconnaissance faciale avec une page Web

Description

Le script se nomme web_service_example.py. Il prend en entrée deux éléments :

  • Une matrice contenant les caractéristiques du visage d’Obama.
  • Une photo envoyée depuis une page Web.

Le programme connaît les caractéristiques d’identification du visage d’Obama. Ce script crée un serveur Web avec l’aide de Python et de son framework Flask. Le visiteur lambda peut accéder au site Web et envoyer une photo sur ce site. Ensuite, le système renvoie une réponse. Celle-ci contient deux informations : si la photo contient des visages, et si Obama est présent sur cette photo.

Exécution du script et résultat

Pour lancer le script, il faut ajouter le framework Flask à notre installation Docker. Pour ajouter le framework, modifiez le fichier requirement.txt du projet et ajouter la ligne suivante en fin de fichier :

Flask

Ensuite, il faut reconstruire l’image Docker pour installer cette nouvelle librairie. Exécutez la commande suivante :

docker-compose build

A la fin du processus, il suffit de lancer la commande suivante pour tester ce script :

docker-compose run -p 5001:5001 face_recognition python3 -u web_service_example.py

Pour fonctionner, Flask a besoin du port 5001 afin que le site soit accessible aux différents visiteurs. Pour ajouter cette information à Docker, il suffit d’utiliser le paramètre port_du_pc_local:port_interne_du_conteneur.

Ouvrez un navigateur, et accédez à L’URL suivant : http://127.0.0.1:5001

En fonction des photos que vous allez envoyer, vous aurez différentes réponses :

Intelligence Artificielle : est-ce Obama sur la photo ?

Modification du code pour l’apprentissage d’intelligence artificielle et la reconnaissance de visages

Étant donnée que les caractéristiques des visages sont intégrées directement dans le script, il est difficile de le modifier. Il faudrait pouvoir trouver ces même caractéristiques sur un autre visage.

Scripts d’analyse en live avec une Webcam

Ce n’est pas possible de les utiliser dans un contexte Docker. Il faut réaliser l’installation sur la machine afin d’accéder au flux d’images produit par la webcam.

L’article suivant vous fait découvrir comment L’IA est capable d’analyser les similarités entre deux visages. Puis nous nous amuserons un peu avec un script de maquillage. Bonne rentrée à tous et à bientôt !

Vous pourriez aussi aimer

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.