AI-United » Allgemein » Vorläufig trainierte Modelle zur Erkennung von Emotionen EmoPy wurden öffentlich zugänglich gemacht

Vorläufig trainierte Modelle zur Erkennung von Emotionen EmoPy wurden öffentlich zugänglich gemacht

EmoPy ist eine Reihe von Instrumenten zur Erkennung der Emotionen (in Python). Sie enthält einige Open-Source-Modelle. Sie zeigen eine Präzision von 92% (für drei Emotionen) und 68% (für sieben Emotionen). Es wird vorgeschlagen, die Modelle als vorläufig trainierte zu verwenden und die Präzision zu steigern (für den bestimmten Datensatz).

Das Ziel des Projekts liegt darin, die Algorithmen zur Gesichtserkennung kostenfrei, offen, benutzerfreundlich zu machen, die in Applikationen einfach integriert werden. Die  Modelle

EmoPy konzentrieren sich auf der Standardgruppe der Emotionen: 

  • Ärger; 
  • Abneigung; 
  • Angst; 
  • Glück; 
  • Traurigkeit; 
  • Überraschung; 
  • Ruhe. 

Das Trainieren des Modells

EmoPy wurde im Rahmen des Programms ThoughtWorks Arts erstellt, wo Künstler soziale und technologische Projekte durchführen. ThoughtWorks bot die Unterstützung der Künstlerin Karen Palmer bei der Schaffung eines interaktiven Films mit Namen RIOT. Menschen wurde ein Film mit verschiedenen Ereignissen gezeigt, wobei eine Kamera die Reaktionen aufnahm. EmoPy wurde eingesetzt, um die Emotionen zu erkennen.

EmoPy wurde mit Hilfe von verschiedenen Architekturen trainiert. Das beste Resultat lieferte die Architektur ConvolutionalNN, die einige faltende neuronale Netzwerke umfasst. Die Präzision für drei Emotionen beträgt 91,48%. Das Netzwerk zeigt gute Resultate auf Testbildern, auf neuen Bildern funktioniert es schlechter (der Fehler beträgt 37%).

Die Architektur von ConvolutionalNN

Manche Architekturen haben mehr Schichten als man auf dem obigen Beispiel sieht. TransferLearningNN, das Modell mit der Inception-v3 Google Architektur, hat Hunderte Schichten. 

Die vollständige Liste von Architekturen findet man in der Klassendefinitionsdatei (neuralnets.py) und in der Dokumentation für EmoPy. Der Vergleich der Modelle der Neuronennetze ist im Übersichtsartikel und EmePy readme enthalten. Jede von vier Subklassen in neuralnets.py realisiert eine andere Architektur der Neuronennetze. Sie verwenden Keras mit dem Tensorflow-Back-End. Auf solche Weise können Benutzer experimentieren und sehen, welches für die Lösung der Aufgaben am besten geeignet ist. 

Die Datensätze

Die Neuronennetze wurden auf den Datensätzen Microsoft FER2013 und Cohn-Kanade trainiert. 

FER2013 enthält 35.000 Gesichtsausdrücke für sieben Emotionsklassen, die oben beschrieben wurden. 

Die Beispiele der Bilder aus dem Datensatz Cohn-Kanade 

Die Datensätze wurden auf zwei Teile verteilt — den trainierenden und den testenden Teil. Der Lernprozess erfolgt folgenderweise: 

  • Am Anfang sagt das Neuronennetz die Emotionen aufgrund der aktuellen Gewichten und Parameter voraus; 
  • Dann vergleicht das Netzwerk die vorausgesagte Emotion mit der realen Emotion auf dem Bild, um den Wert der Verlustfunktion zu errechnen; 
  • Die Verlustfunktion wird zur Korrigierung der Gewichte angewandt. 

Die Ergebnisse

Die Frage, die die Wissenschaftler beantworten möchten: Wie genau sind die ausgewählten Architekturen zur Voraussage der Emotionen? Das Modell ConvolutionalNN zeigte die besten Resultate. Im Falle von Ekel, Glück und Erstaunen hat das Neuronennetz in 9 von 10 Fällen die Emotionen richtig erkannt. Was andere Emotionen betrifft, waren die Resultate nicht so erfolgreich. Die Forscher meinen, dass das Ergebnis von der Menge und Qualität der trainierenden Daten direkt abhängt. Deshalb ist das Resultat auf dem großen Datensatz genauer.

Quelle
AI-United-Redaktion

Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.