DeepLens Family Assistant
Inspiration
Als wir über Ideen für die DeepLens-Challenge nachdachten, beschlossen wir schnell, dass wir etwas schaffen wollten, das Menschen in Not helfen könnte. Wir wollten Technologie dafür nutzen, Menschen zusammenzubringen, und nicht die Technologie um der Technologie willen nutzen. Nachdem wir viele Anwendungen des DeepLens-Geräts in Betracht gezogen hatten, erkannten wir, dass die Fähigkeit, Gesichter zu erkennen, von unschätzbarem Wert sein würde, um denen zu helfen, die Schwierigkeiten hatten, andere Menschen zu erkennen. Menschen, bei denen eine Demenz diagnostiziert wurde (Patienten), haben Schwierigkeiten, Freunde und sogar die Familie zu erkennen, was dazu führen kann, dass sie beim Gespräch mit ihren Lieben desorientiert und verwirrt sind.
Funktionsweise
Patienten mit Gedächtnisverlust können unsere Anwendung nutzen, um sich an ihre Lieben zu erinnern. Die mit unserer Anwendung konfigurierte DeepLens-Gerätekamera kann als Assistent fungieren. Sie erkennt Familienmitglieder und Freunde vor der Kamera und das Audiogerät gibt den Namen und eine Kurzbiografie wieder. Dadurch ergibt sich für Patienten mit Gedächtnisverlust wieder ein Gesamtbild.
Bilder von Familiemitgliedern und Freunden werden mit ihren Kurzinformationen vorkonfiguriert und in einen Datenspeicher hochgeladen. Das Hochladen kann von einem Angehörigen des Patienten über die einfache Weboberfläche der Anwendung durchgeführt werden.
Die DeepLens-Gerätekamera und -Anwendung kann auch von Patienten zu Hause für Gedächtnisübungen genutzt werden. Studien zeigen, dass Gedächtnisübungen den Gedächtnisverlust verlangsamen können. Patienten können Bilder von Familienmitgliedern und Freunden, die in ihren Smartphones gespeichert sind, vor die Kamera halten. Das Bild wird erkannt und anschließend wird der Name und eine Kurzbiografie abgespielt. Diese Technologie kann auch von Ärzten und Pflegepersonal des Patienten genutzt werden.
Erstellt von: Sachin Solkhan, Kyle Kennedy and Christopher Helms
Vorgehensweise
Folgende AWS-Services wurden zum Aufbau der Anwendung verwendet – Gesichtserkennungs-Standardmodell mit DeepLens, Elastic Beanstalk, Rekognition, Polly, Lambda, S3.
UI: Elastic Beanstalk wird verwendet, um eine einfache und benutzerfreundliche Webanwendung zu erstellen, um Masterbilder von Familienmitgliedern oder Freunden mit ihrer Biografie hochzuladen. Die Biografie kann kurze Informationen über die Person enthalten, mit denen der Patient eine Verbindung zur Person herstellen kann. Alle Informationen werden im S3-Master-Bucket gespeichert.
Machine Learning-Modell: Das standardmäßige DeepLens-Gesichtserkennungsmodell wird unverändert in der Anwendung eingesetzt. Die diesem Modell zugeordnete Lambda-Funktion, die innerhalb des Greengrass-Service auf dem Gerät ausgeführt wird, wurde angepasst, um Einzelbilder in den S3-Bereich hochzuladen und Audio abzuspielen.
Gesichtserkennung: Der AWS Rekognition Service wird verwendet, um die Gesichter zu erkennen, die durch vom Gerät aufgenommene Bilder hochgeladen wurden.
Text-to-Speech: Wir haben die synthesizeSpeech-Funktionalität von AWS Polly verwendet, um die Erinnerung des Benutzers über einen Freund in eine Audiodatei umzuwandeln, die den Benutzer interaktiv einbezieht.
Durchgehender Ablauf: Anhand von S3-Buckets und Lambda-Funktionen werden alle Vorgänge für einen durchgehenden Ablauf asynchron zusammengefasst. Die in den S3-Bucket übertragenen Bilder lösen eine Lambda-Funktion aus, die sich mit AWS Rekognition verbindet, um die Person zu erkennen. Die über die Person im S3-Master-Bucket gespeicherten Informationen werden abgerufen und anhand von AWS Polly zu Sprache synthetisiert. Das Sprach-Audio wird dann in einen S3-Audio-Bucket übertragen, der von der Lambda-Funktion des Gerätes übernommen wird, um den Audioinhalt abzuspielen.
Herausforderungen
Die meisten Herausforderungen bezogen sich auf das DeepLens-Gerät. Wir bedanken uns für die Hilfe des AWS-Teams, das geduldig Fragen in Foren und im Slack-Channel beantwortet hat. Dank der technischen Besprechungen konnten wir spezifische Probleme nahezu 1:1 mit Experten lösen. Hier einige der gerätebezogenen Herausforderungen:
- Registrieren des Geräts – Das Einrichten des Geräts nahm mehrere Versuche in Anspruch, da es zum Beispiel zu Konflikten der Standard-URL mit dem WLAN-Subnetz kam.
- Audiowiedergabe – Es war viel Hilfe vom AWS-Team und den anderen Teilnehmern erforderlich, um eine durchgängige Audiowiedergabe auf dem Gerät zu erreichen. Die manuelle Änderung der group.json-Datei bei jeder Projektbereitstellung und die Einrichtung der für ggc_user zugänglichen Python-Bootmodule waren die wichtigsten Schritte, um das Ganze zum Laufen zu bringen.
Erfolge, die uns stolz machen
Wir sind sehr stolz darauf, dass wir etwas geschaffen haben, das Menschen in Not tatsächlich hilft. Dank unserer Anwendung und Lösung können Menschen mit Gedächtnisverlust wieder Teil ihres sozialen Umfelds und Ihres Familien- und Freundeskreises sein. Die Anwendung stellt ihnen ein Werkzeug zur Verfügung, das sie selbstständig nutzen können.
Was wir gelernt haben
- Erfolgreiche Zusammenarbeit mit mehreren AWS-Services, darunter Rekognition, Polly.
- Konfigurieren des DeepLens-Geräts, Einrichten für die Ausführung von Machine Learning-Modellen und Erweitern, um Maßnahmen für Schlussfolgerungen zu ergreifen.
Die Zukunft von DeepLens Family Assistant
- Die Assistant-Anwendung soll ohne Verbindung zum Internet oder der Cloud auszuführen sein. Dafür müssen benutzerdefinierte Machine Learning-Modelle für die Gesichtserkennung erstellt werden, um Gesichter mit SageMaker und MXNet erkennen zu können. Das Hochladen auf das Gerät, sodass die Gesichtserkennung auf dem Gerät selbst stattfindet. Dies wird ein wichtiges Upgrade sein, wodurch das Gerät tragbar werden würde. Der grundlegende Ansatz und der Lambda-Code können mit dem aktuellen DeepLens-Gerät oder einem ähnlichen Gerät, das als echter Begleiter fungieren kann, wiederverwendet werden.
- Verbesserung der End-to-End-Leistung bei der Erkennung von Gesichtern und der Wiedergabe der passenden Audio-Bio. Der 1. Punkt sollte dabei deutlich helfen.
- Sicherstellen, dass ein Gerät einem bestimmten Patienten und einer bestimmten Familie zugeordnet werden kann.
Entwickelt mit
amazon-web-services
Lambda
S3
Python
Rekognition
DeepLens
Polly