deeplens-asl

Inspiration

Die Zukunft liegt nicht in Tastaturen und Mäusen. Alle sind sich einig darüber, dass die Interaktion mit Computern in den kommenden Jahren hauptsächlich über Sprache erfolgen wird. Siri, Cortana, Google Home und natürlich Alexa (und Alexa for Business) sind jeweils Beispiele dafür, wie die Zukunft aussehen kann. Selbst Werner Vogels ist der Meinung, dass die Sprachinteraktion die neue traditionelle Interaktion sein wird (November 2017).

Wenn jedoch jeder mit einem Computer sprechen kann, ohne unbedingt lesen und schreiben zu können (was bei einer Tastatur erforderlich ist), sind bestimmte Menschen in der Gesellschaft immer noch ausgeschlossen: diejenigen, die nicht sprechen können. Sie können nicht mit Conversational Agents interagieren, weil sie entweder taubstumm sind oder nicht die richtige Sprache beherrschen (wie Ausländer oder Immigranten).

Mit DeepLens ist dank der amerikanischen Zeichensprache (oder bestimmten Varianten) die Verständigung mit denjenigen möglich, die nicht sprechen können. Bei der Verarbeitung des Videostroms und mit einem Deep-Learning-Modell kann Deeplens als neue Schnittstelle für sie genutzt werden. Dabei wird amerikanische Zeichensprache (ASL) in Echtzeit in geschriebenes/gesprochenes Englisch übersetzt, um mit Computern zu interagieren.

Funktionsweise

Unsere Teilnahme an der AWS DeepLens Challenge zeigt die Möglichkeiten durch das Verstehen des ALS-Alphabets. Wir haben das Alphabet gewählt, weil es hauptsächlich aus statischen Positionen der Hände besteht. Wir haben unser Modell basierend auf einem SageMaker-Visionsmodell selbst entwickelt und für einen speziellen Datensatz optimal trainiert, den wir während der Challenge erstellt haben. Wir haben die Buchstaben J und Z entfernt, da sie Bewegung erfordern, und spezielle Zeichen hinzugefügt, die Sie selbst finden müssen ;)

Erstellt von: Benjamin Meudre

Entwicklung

Der Datensatz wurde mit einer speziellen Lambda-Funktion erstellt, die in DeepLens ausgeführt wird (weitere Informationen finden Sie weiter unten unter „Snapshot-Teilprojekt“).
Wir haben verschiedene Bilder mit verschiedenen Personen für jeden Buchstaben des Alphabets (außer J und Z) und die speziellen Zeichen aufgenommen.
Das Training erfolgte mithilfe von Amazon SageMaker und mit dem Erlernen der Übertragung in einem SqueezeNet mit 18 Layers. Es führt in 4 Epochen zu einem zufriedenstellenden Ergebnis.

Verwendung:

Bereitstellung: Das Modell befindet sich im Modellordner und der Lambda-Funktions-Handler befindet sich im Lambda-Ordner. Zur Verwendung führen Sie einfach die gleichen Schritte wie in der AWS-Dokumentation im Startschritt 4 beschrieben aus.
Nach der Bereitstellung in DeepLens müssen Sie den Projekt-Stream öffnen, um die Inferenzergebnisse anzuzeigen und zu versuchen, Sätze zu bilden.

Schnittstelle: Der tatsächliche erkannte Buchstabe wird in der oberen linken Ecke angezeigt (Buchstabe und Sicherheit). Wenn nichts angezeigt wird, bedeutet dies, dass kein Buchstabe mit mehr als 40 % Sicherheit erkannt wurde.
Unten auf dem Bild können Sie sehen, wie Ihre Nachricht geschrieben wird. Jeder Buchstabe wird angezeigt, wenn derselbe Buchstabe während einer ausreichenden Zeit erkannt wird.
Um ein Leerzeichen zu erstellen, warten Sie ein paar Sekunden, ohne dass etwas erkannt wird. Um die Nachricht zurückzusetzen, warten Sie länger ;)

Beachten Sie Folgendes:

  • Die Ergebnisse sind besser, wenn der Hintergrund weißlich ist und sich nichts im DeepLens-Sichtfeld befindet.
  • Versuchen Sie, die Zeichen nur im Feld zu machen (kein Gesicht/Körper/...).
  • Es gibt eine kleine Verzögerung zwischen Ihrer Bewegung und dem Kamera-Feedback.

Das Snapshot-Teilprojekt:
Dieses Projekt umfasst die Verwendung von DeepLens zum Erstellen des Datensatzes. Die Kamera reagiert auf das Klicken eines Benutzer auf eine Schaltfläche, um einen Snapshot zu erstellen, und klassifiziert das Bild sofort.
Sie verwendet ein in S3 gehostetes Frontend, das mit Cognito authentifiziert und mit DeepLens über IoT-Themen kommuniziert. Sobald Bilder in S3 eingehen, werden sie automatisch für SageMaker-Trainingsjobs optimiert.

Entwickelt mit

Python
amazon-web-services

Jetzt testen