[PYTHON] Reconnaissance faciale à l'aide de l'API de Pepper

En utilisant l'API ** ALFaceCharacteristics ** introduite dans Reconnaissance de l'âge à l'aide de l'API de Pepper, des expressions faciales telles que des sourires Vous pouvez le reconnaître. Ici, nous allons essayer deux méthodes, la détection de sourire fournie par l'API et d'autres méthodes de reconnaissance des expressions faciales.

De plus, ** ALFaceCharacteristics API ne dispose pas d'un moyen de vérifier le fonctionnement avec un robot virtuel, et une machine Pepper réelle est requise. ** Je voudrais que vous expérimentiez la machine à poivre à Aldebaran Atelier Akihabara. (URL de réservation: http://pepper.doorkeeper.jp/events)

Comment obtenir le fichier de projet

Le fichier projet de ce didacticiel est disponible sur GitHub https://github.com/Atelier-Akihabara/pepper-face-characteristics-example. Il existe plusieurs façons d'obtenir le code sur GitHub, mais l'un des moyens les plus simples est d'obtenir l'archive à partir du lien Télécharger ZIP. Il existe diverses autres méthodes telles que l'utilisation d'outils liés à git, veuillez donc vérifier en fonction de la situation.

Jugement de sourire

En utilisant l'API ʻALFaceCharacteristics`, il est possible de juger le degré de sourire sur le visage reconnu à partir des caractéristiques de l'image telles que la finesse des yeux et si les coins de la bouche sont surélevés. Cette valeur peut être utilisée pour déterminer si la personne que Pepper reconnaît sourit.

Utilisation de l'événement de mémoire FaceCharacteristics / PersonSmiling

Le moyen le plus simple de vérifier le sourire est d'utiliser l'événement FaceCharacteristics / PersonSmiling. Commençons par vérifier le contenu du document.

Vérifiez le document

Plus d'informations sur cet événement peuvent être trouvées dans la documentation Choregraphe sur NAOqi Developer guide> NAOqi Framework> NAOqi API> NAOqi PeoplePerception> ALFaceCharacteristics> ALFaceCharacteristics API. Si vous cliquez sur le lien FaceCharacteristics / PersonSmiling, vous trouverez l'explication suivante.

Event: "FaceCharacteristics/PersonSmiling" callback(std::string eventName, int id, std::string subscriberIdentifier)

Raised when a person has a smile degree above the current threshold (default = 0.7). Parameters:

  • eventName (std::string) – “FaceCharacteristics/PersonSmiling”
  • id – ID of the person as defined by the ALPeoplePerception API.
  • subscriberIdentifier (std::string) –

Il est expliqué que cet événement se produit lorsqu'il y a une personne dont le degré de sourire (exprimé de 0,0 à 1,0) dépasse le seuil (la valeur par défaut est 0,7).

De plus, la valeur transmise par cet événement est ʻid. Il s'agit de [ALPeoplePerception: Get List of People](http://qiita.com/Atelier-Akihabara/items/4162192129f366da1240#alpeopleperception-%E4%BA%BA%E3%81%AE%E4%B8%80% E8% A6% A7% E3% 81% AE% E5% 8F% 96% E5% BE% 97) C'est l'identifiant de la personne que nous avons déjà vu. En d'autres termes, sur la base de la valeur obtenue à partir de ce FaceCharacteristics / PersonSmiling, il est possible d'obtenir des informations supplémentaires sur la personne qui a détecté qu'elle sourit en acquérant PeoplePerception / Person / / AgeProperties`. Je comprends ça.

Vérification du fonctionnement des événements de mémoire sur l'observateur de mémoire

Avant de créer l'application, vérifions le comportement de l'événement avec Memory Watcher. Tout d'abord, définissez le contenu de l'événement que vous souhaitez archiver dans l'observateur de mémoire.

  1. Connectez Choregraphe à la machine à poivre réelle

  2. Dans le panneau Memory Watcher, double-cliquez sur **