OneEye

Inspiration

Die Gesichtserkennung ist eine biometrische Lösung, die einzigartige Merkmale eines Gesichts misst. Zu den heute verfügbaren Anwendungen gehören die Flugkontrolle, die Kennzeichnung von Freunden und Familienmitgliedern auf Fotos und die „maßgeschneiderte“ Werbung.

Gemäß eines IT-Unternehmens, das Einblick in diesen Bereich hat, nutzen Einzelhändler die Gesichtserkennung, um Daten über Kunden beim Einkauf in Geschäften zu sammeln. Die gesammelten Daten umfassen die Anzahl der Personen, die ins Geschäft kommen, Alter, ethnische Zugehörigkeit und Geschlecht. Es geht darum, den Fußgängerverkehr besser zu verstehen und zu versuchen, diesen Kunden passendere Angebote zu unterbreiten.

Gesichtserkennungssoftware, die dazu gedacht ist, Reisende mit gefälschten Pässen auszusortieren, wird gemäß Zoll- und Grenzschutzbehörde als Teil eines Plans zur Bekämpfung von Identitätsbetrug bei Besuchern aus Ländern mit Abkommen über die Befreiung von der Visumpflicht an allen internationalen Flughäfen in den USA eingeführt.

Unternehmen wie FaceFirst schaffen einen personalisierten Planeten durch Gesichtserkennungstechnologie. Ihre Lösung kann Bedrohungen in Echtzeit erkennen und verhindern, die Leistung des Teams verändern und die Kundenbeziehungen stärken.

Aber all diese Lösungen sind sehr teuer und erfordern für die Implementierung ein großes Team. Mit AWS DeepLens kann ganz einfach und bequem ein Deep Learning-Algorithmus auf dem Gerät implementiert werden.

Funktionsweise

Wir haben zwei Anwendungsfälle für die Gesichtsidentifikationslösung mit DeepLens implementiert: Der erste Anwendungsfall ist die Kundenidentifikation. Dafür haben wir die Profilbilder der Kunden in einem System (z. B. Bibliothek, Lebensmittelgeschäft, Bank, etc.) verwendet, um sie mit den Gesichtserkennungsergebnissen von DeepLens in Echtzeit abzugleichen, wenn der Kunde eine Filiale betritt. Nach der Kundenidentifikation mittels DeepLens-Algorithmus ruft ein API-Aufruf die Kontodaten des Kunden ab und zeigt die Informationen in einer Desktop-Webanwendung an. Hier ist eine Demo für die Kundenerkennung.

Der zweite Anwendungsfall ist der Amber Alert. Wir haben eine mobile Anwendung entwickelt, die ein Bild einer vermissten Person (oder gesuchten Person) aufnimmt und in das Speicher-Backend (z.B. AWS S3) hochlädt. Sobald das Bild hochgeladen ist, verwendet DeepLens dieses neue Bild in seinem Gesichtsidentifikationsalgorithmus und identifiziert die Person durch Echtzeit-Videostreaming. Wenn eine vermisste Person erkannt wird, sendet DeepLens eine Benachrichtigung per E-Mail oder Telefon, je nachdem, welches Medium abonniert ist, um die Behörden zu informieren. Hier ist eine Demo für den Amber Alert-Anwendungsfall.

Vorgehensweise

Der Gesichtserkennungsmodell wurde mithilfe der modernen Gesichtserkennungsbibliotheken von Dlib erstellt. Das Modell hat in der „Labeled Faces in the Wild“-Benchmark 1 eine Genauigkeit von 99,38 %. Die Greengrass Lambda-Funktion führt den Gesichtserkennungsalgorithmus auf dem DeepLens-Gerät aus und veröffentlicht ein Ereignis im IOT-Thema, sobald sie ein Gesicht identifiziert. Es gibt eine weitere Lambda-Funktion, die auf dieses Thema reagiert und die Kundeninformationen per API-Aufruf aus der Datenbank des Backend abruft. Nach dem Abrufen der Daten veröffentlicht Lambda ein Ereignis in SNS mit den Kundeninformationen als Nutzlast. Ein NodeJs-Webserver (läuft auf EC2) akzeptiert den POST-Aufruf von SNS und sendet eine Nachricht an alle Clients (Web oder Mobile), die über WebSocket bei ihm registriert sind. Diese Architektur ermöglicht die Echtzeitaktualisierung der Client-Anwendung, sobald ein neuer Kunde die Filiale betritt.

Herausforderungen

Die erste Herausforderung bestand darin, openCV-Bibliotheken auf unserem DeepLens-Gerät einzurichten und zu testen. Zu Beginn hatten wir einige Probleme mit dem Debuggen des Greengrass Lambda-Funktionscodes und der erneuten Bereitstellung ohne AWS-Konsole. Eine weitere Herausforderung, mit der wir konfrontiert waren, bestand darin, das Projekt mit all seinen Komponenten (ML-Code, DataStorage, APIs, mobile Anwendungen, Webanwendungen usw.) voll funktionsfähig zu machen. Wir hatten ja nur wenig Zeit, weil wir alle noch Vollzeit gearbeitet haben. 

Erfolge, die uns stolz machen

OneEye identifiziert Gesichter mit sehr hoher Genauigkeit und aktualisiert dynamisch neue Gesichter in der Datenbank. Es war eine aufregende Erfahrung, ein komplexes Deep Learning-Modell auf einem Gerät zu entwickeln und auszuführen, und wir sind stolz darauf, eine voll funktionsfähige Lösung für ein noch sehr komplexes Problem präsentieren zu können. 

Was wir gelernt haben

Die Arbeit mit DeepLense macht Spaß und ist lehrreich zugleich. Durch die Implementierung der Anwendungsfälle habe ich viel darüber gelernt, wie Greengrass und AWS IoT einsetzt werden Ich habe auch festgestellt, dass die Technologie sehr schnelllebig ist, und mit dieser Art von Projekten/Hackathons können wir auf dem neuesten Stand bleiben.

Die Zukunft

Die Kundenerkennung und Vermisstenszenarien sind reale Anwendungsfälle, mit denen wir uns dringend umfassender beschäftigen müssen. Dieses DeepLens-Projekt ist ein Anfang, um die derzeitigen Möglichkeiten dafür grundlegend zu verändern. Der nächste Schritt für OneEye wäre die Suche nach Sponsoren, um OneEye für diese Anwendungsfälle zur Verfügung stellen. 

Entwickelt mit

Python
node.js
angular.js
amazon-sns
amazon-web-services
DeepLens
opencv

Jetzt testen