Lassen Sie uns Emotionen mithilfe der Emotions-API in Python beurteilen

Hallo. Es tut mir Leid. Heute wird es als einer der Cognitive Services in Microsoft Azure [Emotion API](https: // azure) veröffentlicht. Ich würde gerne mit .microsoft.com / en-us / services / kognitive-services / emotions /) spielen.

Agenda --Was ist die Emotion API?

Was ist die Emotion API?

Überblick

Es ist eine der von Microsoft bereitgestellten Analyse-APIs. Es wird als einer der kognitiven Dienste unter Microsoft Azure angeboten. Wenn Sie ein Foto an die Emotion-API senden,

  1. Erkennen Sie ein menschliches Gesicht auf einem Foto
  2. Quantifizieren Sie, welche Art von Emotion der erkannte menschliche Ausdruck ist

Ich werde die Arbeit erledigen und sie zurückgeben. Wenn Sie nur die Gefühle der Person auf dem Bild kennenlernen möchten, können Sie sie ohne Analysekenntnisse verwenden.

Lassen Sie uns die Spezifikationen der Emotion-API unten aufgreifen.

――Die Anzahl der Gesichter, die erkannt werden können, beträgt bis zu 64 pro Bild ――Es scheint, dass Sie Fotos von der Abschlussfeier machen können! ―― Acht Arten von Emotionen können erworben werden --Zorn

Preis

Derzeit nur in der westlichen US-Region erhältlich. Es gibt 2 Typen verfügbar vom eingeschränkten Typ (Basisplan) und vom unbegrenzten Plan (Standard). ). Der Basisplan kann nur das angegebene Flächenrechteck erkennen. Wenn Sie andere Gesichter erkennen möchten (ein kleines Profil usw.), müssen Sie den Standardplan (* 1) abonnieren. Beide Pläne sind für bis zu 10 Lanzen / Sek. Verfügbar. Jeder kann zu den folgenden Preisen pro 1000 Transaktionen verwendet werden.

Lassen Sie uns ein Testsystem erstellen

Übersicht über das Testsystem

Die erstellten Funktionen sind wie folgt.

  1. Laden Sie ein Foto hoch
  2. Wenn das hochgeladene Bild größer als die angegebene Größe der Emotion-API ist, ändern Sie die Größe auf 4096 x 4096.
  3. Führen Sie die Emotion-API aus 4.3 Sammeln Sie die in 3 erzielten Ergebnisse, zeigen Sie den Emotionsnamen mit dem größten numerischen Wert an und zeichnen Sie den akkumulierten Emotionsindex grafisch auf

Eigentlich werden es so zwei Bildschirme sein. Wählen Sie ... ↓ demo1.png Anzeige! ↓ plt_demo.png

Dieses Foto wurde übrigens zum 1. Jahrestag von PyLadies Tokyo im Oktober 2015 aufgenommen. Es ist ein Partyfoto, daher ist der Glückswert bei weitem der höchste.

Technologie verwendet

Emotion API Der Service, der den Eckpfeiler dieser Kreation bildete. Wie oben erwähnt. API-Dokument und API-Testkonsole Es ist ermutigend, dass beide 563b31ea778daf121cc3a5fa / console) verfügbar sind. Wenn im Versuchssystem die Gesichtsdaten mehrerer Personen erfasst werden, wird jeder Emotionswert einfach SUMed.

Tornado Es ist ein WEB-Framework von Python und eine asynchrone Kommunikationsbibliothek (diesmal wird es einfach als WEB-Framework verwendet). Hergestellt von Facebook und leicht. Es funktioniert sowohl mit Python 2 als auch mit Python 3 (diesmal habe ich es mit Python 3 erstellt). Da die Vorlagen-Engine enthalten ist, können Sie einen Wert von Python an den Bildschirm übergeben und ihn unter Verwendung der angegebenen Notation anzeigen. Wenn Sie Python-Code in HTML schreiben möchten, können Sie ihn aufrufen. Persönlich bin ich froh, dass das Demosystem zusammen mit dem Quellcode (https://github.com/tornadoweb/tornado) verfügbar ist. Und dieses Demosystem ist ziemlich reichlich vorhanden. Es ist leicht zu referenzieren, da es alles wie Websocket und OAuth abdeckt. Aber ich denke nicht, dass es sehr beliebt ist. Ich mag es aber.

Pillow Es ist ein Fork-Projekt der Python Imaging Library (PIL) und es ist Python Image Processing Library, wie Sie links lesen.

pip install pillow

Es ist sehr praktisch, weil Sie es nur selbst verwenden können. Und ich persönlich mag es, weil es für die Bibliothek, die mit Bildern spielt, leicht zu verstehen ist. Dieses Mal habe ich nur die Funktion zur Größenänderung von Bildern verwendet, aber es ist eine vielseitige Bibliothek, die auch Farben invertieren, Bilder kombinieren und Text schreiben kann.

Chart.js Grafikzeichnung JS. Ich mag es, weil es niedliche Bewegungen hat, einfach zu bedienen ist und es so viele Arten von Grafiken gibt, die gezeichnet werden können. Sie können die Anzeige ein- und ausschalten, indem Sie auf die Beschriftung klicken.

Wenn alle angezeigt werden ↓ on.png

Wenn Glück und Neutralität verborgen sind ↓ off.png

Impressionen mit der Emotion API

Es ist sehr einfach zu bedienen. Befolgen Sie einfach die folgenden Schritte (weitere Informationen finden Sie unter hier).

Es ist einfach und leicht zu bedienen.

Nachdem ich verschiedene Dinge ausprobiert hatte, hatte ich das Gefühl, dass das Glück des Lächelns relativ hoch ist (* 2). Wenn Sie lachen, ist es leicht zu verstehen, dass Sie lachen, auch wenn Sie es normal betrachten. Irgendwie habe ich mich in sie verliebt. Im Gegenteil, für Dinge wie Angst und Verachtung, die schwer zu beurteilen scheinen, war es schwierig, dass das Urteilsergebnis ein bemerkenswertes Ergebnis wie Glück war. Ich glaube, ich habe oft gesehen, dass Angst und Verachtung ungefähr gleich groß sind (* 3).

Wenn die Emotionsdaten mehrerer Personen erfasst werden konnten, haben wir diesmal einfach die numerischen Werte für jede Emotion hinzugefügt, um das Ergebnis der Beurteilung zu erzielen. Wenn Sie jedoch diesmal wie diesmal eine "Beurteilung der Emotionen für das gesamte Foto" durchführen möchten, diesmal Als Anfänger in der Analyse konnte ich mich nicht entscheiden, ob es ausreichte, jede Emotion wie diese zu addieren, oder ob sie aus den erzielten Ergebnissen gewichtet oder erneut analysiert werden sollte. Es kann interessant sein, es durch den Bereich des Gesichts im Bild zu gewichten.

Zusätzlich zu der diesmal verwendeten Standbildversion der Emotion-API gibt es auch eine Videoversion der Emotion-API, daher möchte ich dies beim nächsten Mal versuchen.

Zusammenfassung

――Emotion API ist einfach und benutzerfreundlich. ――Die Verwendung der aus der Emotion-API berechneten numerischen Werte (Verwendungsideen) ist der Schlüssel für eine unterhaltsame App-Entwicklung.

Das war alles.


Recommended Posts

Lassen Sie uns Emotionen mithilfe der Emotions-API in Python beurteilen
Mal sehen, wie man Eingaben in Python verwendet
Mausbedienung mit Windows-API in Python
Versuchen Sie es mit der Wunderlist-API in Python
Tweet mit der Twitter-API in Python
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Versuchen Sie es mit der BitFlyer Ligntning API in Python
Holen Sie sich die Bild-URL mithilfe der Flickr-API in Python
Evernote-API in Python
C-API in Python 3
Versuchen Sie, die ChatWork-API und die Qiita-API in Python zu verwenden
Versuchen Sie, die DropBox Core-API mit Python zu verwenden
Laden Sie eine JPG-Datei mit der Google Drive-API in Python hoch
Grundeinstellungen bei Verwendung der foursquare-API mit Python
Holen Sie sich LEAD-Daten mit der REST-API von Marketo in Python
OpenVINO verwendet die Inference Engine Python API in einer PC-Umgebung
Verwenden Sie die Such-API der National Parliament Library in Python
Hit Mastodons API in Python
Mal sehen, wie def in Python verwendet wird
Blender Python API in Houdini (Python 3)
Übersetzt mit Googletrans in Python
Lassen Sie uns das Umfangsverhältnis mit Python finden
Verwenden des Python-Modus in der Verarbeitung
Prognostizieren Sie das Geschlecht anhand des Namens mithilfe der Gender-API und von Pykakasi in Python
GUI-Programmierung in Python mit Appjar
Abrufen der arXiv-API in Python
Vorsichtsmaßnahmen bei der Verwendung von Pit mit Python
Datenerfassung mit Python Googlemap API
Lassen Sie uns "Python -m Antigravitation" in Python ausführen
Klicken Sie in Python auf die Sesami-API
[Python3] Google übersetzt Google Übersetzung ohne Verwendung von API
Versuchen Sie es mit der Pleasant-API (Python / FastAPI).
Versuchen Sie es mit LevelDB mit Python (plyvel)
Versuchen wir es mit Fizz Buzz mit Python
Erstellen Sie Google Mail in Python ohne Verwendung der API
Verwendung globaler Variablen in Python-Funktionen
Klicken Sie auf die Web-API in Python
Gesamtleistung in Python (mit Funktools)
Versuchen Sie es mit der Aktions-API von Python argparse
Implementieren Sie die REST-API schnell in Python
Führen Sie Ansible über Python mithilfe der API aus
Handschriftliche Zeichenerkennung mit KNN in Python
Greifen Sie mit Python auf die Twitter-API zu
Versuchen Sie es mit LeapMotion mit Python
Suche nach Tiefenpriorität mit Stack in Python
Bei Verwendung regulärer Ausdrücke in Python
GUI-Erstellung in Python mit tkinter 2
[SEO] Flow / Beispielcode bei Verwendung der Google Analytics-API in Python
Hinweise zur Verwendung von cChardet und python3-chardet in Python 3.3.1.
GUI-Erstellung in Python mit tkinter Teil 1
Holen Sie sich Suica Balance in Python (mit libpafe)
Übung, dies in Python zu verwenden (schlecht)
Hash-Passwörter langsam mit bcrypt in Python
Verwenden von venv in der Windows + Docker-Umgebung [Python]
[FX] Hit oanda-API mit Python mit Docker
[Python] [Windows] Serielle Kommunikation in Python über DLL
Holen Sie sich Google Fit API-Daten in Python
Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden
Melden Sie sich mit Anforderungen in Python bei Slack an