Jugons les émotions à l'aide de l'API Emotion en Python

Bonjour. Je suis désolé. Aujourd'hui, l '[API Emotion](https: // azure) est publiée en tant que l'un des Services cognitifs dans Microsoft Azure. J'aimerais jouer avec .microsoft.com / en-us / services / cognitifs-services / emotion /).

Agenda

Qu'est-ce que l'API Emotion?

Aperçu

Il s'agit de l'une des API d'analyse fournies par Microsoft. Il est proposé comme l'un des services cognitifs sur Microsoft Azure. Lorsque vous envoyez une photo à l'API Emotion,

  1. Détecter un visage humain à partir d'une photo
  2. Quantifier le type d'émotion de l'expression humaine détectée

Fera le travail et le rendra. Si vous voulez simplement connaître les sentiments de la personne sur la photo, vous pouvez l'utiliser sans aucune connaissance d'analyse.

Reprenons les spécifications de l'API Emotion ci-dessous.

――Le nombre de visages pouvant être détectés est jusqu'à 64 par image ――Il semble que vous puissiez prendre des photos de la cérémonie de remise des diplômes! ――Huit types d'émotions peuvent être acquis --colère

prix

Actuellement disponible uniquement dans la région ouest des États-Unis. Il existe 2 types disponibles de type restreint (plan de base) et plan illimité (standard). ). Le plan de base ne peut détecter que le rectangle de face spécifié. Si vous souhaitez détecter d'autres visages (un petit profil etc.), vous devez souscrire au plan Standard (* 1). Les deux plans sont disponibles jusqu'à 10 lances / sec. Chacun peut être utilisé aux prix suivants pour 1000 transactions.

Faisons un système d'essai

Aperçu du système d'essai

Les fonctions créées sont les suivantes.

  1. Téléchargez une photo
  2. Si l'image téléchargée est plus grande que la taille spécifiée de l'API Emotion, redimensionnez-la à 4 096 x 4 096.
  3. Exécutez l'API Emotion 4.3 Accumuler les résultats obtenus en 3, afficher le nom de l'émotion avec la plus grande valeur numérique et représenter graphiquement l'indice d'émotion accumulé

En fait, ce seront ces deux écrans. Sélectionnez ... ↓ demo1.png Afficher! ↓ plt_demo.png

D'ailleurs, cette photo a été prise lors du 1er anniversaire de PyLadies Tokyo en octobre 2015. C'est une photo de fête, donc la valeur du bonheur est de loin la plus élevée.

Technologie utilisée

Emotion API Le service qui a été la pierre angulaire de cette création. Comme mentionné ci-dessus. Document API et [API Test Console](https://dev.projectoxford.ai/docs/services/5639d931c1ce1ce Il est encourageant que les deux 563b31ea778daf121cc3a5fa / console) soient disponibles. Dans le système d'essai, lorsque les données faciales de plusieurs personnes sont acquises, chaque valeur d'émotion est simplement additionnée.

Tornado C'est un framework WEB de Python et une bibliothèque de communication asynchrone (cette fois il est simplement utilisé comme un framework WEB). Fabriqué par Facebook et léger. Cela fonctionne avec Python 2 et 3 (je l'ai créé avec Python 3 cette fois). Étant donné que le moteur de modèle est inclus, lorsque vous souhaitez transmettre une valeur de Python à l'écran, vous pouvez la transmettre et l'afficher en utilisant la notation spécifiée. Si vous souhaitez écrire du code Python sur html, vous pouvez l'appeler. Personnellement, je suis heureux que le système de démonstration soit disponible avec le code source (https://github.com/tornadoweb/tornado). Et ce système de démonstration est assez abondant. Il est facile de s'y référer car il couvre tout, comme Websocket et OAuth. Mais je ne pense pas que ce soit très populaire. Je l'aime bien.

Pillow C'est un projet fork de Python Imaging Library (PIL), et c'est Python image processing library comme vous le lisez sur la gauche.

pip install pillow

C'est très pratique car vous pouvez l'utiliser seul. Et je l'aime personnellement car c'est facile à comprendre pour la bibliothèque qui joue avec les images. Cette fois, je n'ai utilisé que la fonction de redimensionnement d'image, mais c'est une bibliothèque polyvalente qui peut également inverser les couleurs, combiner des images et écrire du texte.

Chart.js Dessin graphique JS. Je l'aime parce qu'il a des mouvements mignons, est simple à utiliser et a une grande variété de graphiques qui peuvent être dessinés. Vous pouvez activer / désactiver l'affichage en cliquant sur l'étiquette.

Lorsque tout est affiché ↓ on.png

Quand le bonheur et la neutralité sont cachés ↓ off.png

Impressions à l'aide de l'API Emotion

C'est très simple à utiliser, il suffit de suivre les étapes ci-dessous (voir ici pour plus d'informations).

C'est facile et facile à utiliser.

Après avoir essayé diverses choses, j'ai senti qu'il était facile d'obtenir un nombre relativement élevé pour le bonheur d'un sourire (* 2). Lorsque vous riez, il est facile de comprendre que vous riez, même si vous le regardez normalement. J'en suis tombé amoureux d'une manière ou d'une autre. Au contraire, pour des éléments tels que la peur et le mépris qui semblent difficiles à juger, il était difficile que le résultat du jugement soit un résultat remarquable tel que le bonheur. Je pense que je vois souvent la peur et le mépris être à peu près au même nombre (* 3)

Lorsque les données d'émotion de plusieurs personnes ont pu être acquises, cette fois, nous avons simplement ajouté les valeurs numériques de chaque émotion pour faire le résultat du jugement, mais par exemple, si vous voulez acquérir le "jugement d'émotion de la photo entière" comme cette fois, cette fois En tant que débutant en analyse, je ne pouvais pas décider si je devais simplement additionner chaque émotion comme celle-ci, ou si je devais pondérer ou réanalyser à partir des résultats obtenus. Il peut être intéressant de le pondérer en fonction de la zone du visage sur la photo.

En plus de la version image fixe de l'API Emotion utilisée cette fois, il existe également une version vidéo de l'API Emotion, je voudrais donc essayer cette prochaine fois.

Résumé

――Emotion API est simple et facile à utiliser. ――Comment utiliser les valeurs numériques calculées à partir de l'API Emotion (idées d'utilisation) est la clé du développement d'applications amusantes.

C'était tout.


Recommended Posts

Jugons les émotions à l'aide de l'API Emotion en Python
Voyons voir l'utilisation de l'entrée en python
Fonctionnement de la souris à l'aide de l'API Windows en Python
Essayez d'utiliser l'API Wunderlist en Python
Tweet à l'aide de l'API Twitter en Python
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Essayez d'utiliser l'API BitFlyer Ligntning en Python
Obtenir l'URL de l'image à l'aide de l'API Flickr en Python
API Evernote en Python
API C en Python 3
Essayez d'utiliser l'API ChatWork et l'API Qiita en Python
Essayez d'utiliser l'API DropBox Core avec Python
Importez un fichier JPG à l'aide de l'API Google Drive en Python
Paramètres initiaux lors de l'utilisation de l'API foursquare avec python
Obtenez des données LEAD à l'aide de l'API REST de Marketo en Python
OpenVINO utilisant l'API Python d'Inference Engine dans un environnement PC
Utiliser l'API de recherche de la Bibliothèque du Parlement national en Python
Hit API de Mastodon en Python
Voyons comment utiliser def en python
API Blender Python dans Houdini (Python 3)
Traduit à l'aide de googletrans en Python
Trouvons le rapport de circonférence avec Python
Utilisation du mode Python dans le traitement
Prédire le sexe à partir du nom à l'aide de l'API Gender et de Pykakasi en Python
Programmation GUI en Python avec Appjar
Obtenir l'API arXiv en Python
Précautions lors de l'utilisation de Pit avec Python
Acquisition de données à l'aide de l'API googlemap de python
Lançons "python -m antigravity" en python
Frappez l'API Sesami en Python
[Python3] Google translate google translation sans utiliser l'API
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
Essayez d'utiliser LevelDB avec Python (plyvel)
Essayons Fizz Buzz avec Python
Créez Gmail en Python sans utiliser l'API
Utilisation de variables globales dans les fonctions python
Accédez à l'API Web en Python
Puissance totale en Python (en utilisant functools)
Essayez d'utiliser l'API d'action de Python argparse
Implémentez rapidement l'API REST en Python
Exécutez Ansible à partir de Python à l'aide de l'API
Reconnaissance de caractères manuscrits à l'aide de KNN en Python
Accéder à l'API Twitter avec Python
Essayez d'utiliser LeapMotion avec Python
Recherche de priorité de profondeur à l'aide de la pile en Python
Lors de l'utilisation d'expressions régulières en Python
Création d'interface graphique en python avec tkinter 2
[SEO] Flux / exemple de code lors de l'utilisation de l'API Google Analytics en Python
Notes utilisant cChardet et python3-chardet dans Python 3.3.1.
Création d'interface graphique en python à l'aide de tkinter partie 1
Obtenir l'équilibre Suica en Python (en utilisant libpafe)
Pratique d'utilisation de ceci en Python (mauvais)
Hachez lentement les mots de passe en utilisant bcrypt en Python
Utilisation de venv dans un environnement Windows + Docker [Python]
[FX] Hit oanda-API avec Python en utilisant Docker
[Python] [Windows] Communication série en Python à l'aide de DLL
Obtenez les données de l'API Google Fit en Python
J'ai essayé d'utiliser l'optimisation bayésienne de Python
Connectez-vous à Slack à l'aide de requêtes en Python