Jiann

Inspiration

Die Welt ist gefährlich. Wenn wir uns selbst im Namen der Sicherheit hinter Mauern und in Käfigen isolieren, werden entscheidende Momente des kulturellen Austauschs behindert. Gewalt am Arbeitsplatz folgt traditionell diesem destruktiven Mustern an Orten mit statistisch hoher Kriminalität. Tankstellen, Einkaufszentren, Bodegas und Expressläden installieren behindernde Käfige zwischen Kunden und Mitarbeitern für mehr Sicherheit. Solche Initiativen verbessern die Sicherheit am Arbeitsplatz, allerdings mit erheblichen Kosten für das Gemeinwesen. Jiaan bietet die Möglichkeit, anders zu reagieren und die Kultur am Arbeitsplatz sowie das Gemeinwesen zum Besseren zu verändern. Das intelligente Sicherheitssystem erkennt Bedrohungen in Echtzeit und ermöglicht entsprechende Maßnahmen. Mein Ziel besteht darin, lange, gewalttätige Situationen zu verringern und ultimativ zu eliminieren, bei denen Mitarbeiter üblicherweise anschließend die Polizei rufen müssen.

Was die Lösung kann

Jiaan erkennt und klassifiziert Objekte in einem Live-Feed und misst das kumulative Bedrohungsniveau, ab dem eine konfigurierte Reaktion ausgelöst wird. Sollte das System ein erhöhtes Bedrohungsrisiko erkennen, weil eine Feuerwaffe erkannt wird, geht sofort eine Nachricht an Polizei, Schutzdienste, die Geschäftsleitung und sogar an Mitarbeiter vor Ort. Das System verringert deutlich die Zeit, bis Mitarbeiter und/oder Polizei über eine potenziell gewalttätige Situation informiert werden. Gleichzeitig wird vor der Gefahr gewarnt, was die Wachsamkeit vor Ort erhöht.

Verfasst von: Matthew Pettit

Entwicklung

Ein fein abgestimmtes Modell wurde auf Basis des VGG16 Reduced-Modells trainiert. Zum Einsatz kam dabei Single Shot MultiBox Object Detection mit 2,6 GB an kommentierten Bildern, die sowohl Gewaltsituationen als auch solche mit gewaltfreien Interaktionen enthielten. Nachdem das Modell zufriedenstellende Ergebnisse für dieses Projekt produzierte, wurde das angepasste Modell mithilfe des DeepLearning Toolkit von Intel optimiert und auf das DeepLens-Gerät portiert.

Die Micro Services auf Amazon Lambda Functions wurden in Python entwickelt. Sie erledigen Vorverarbeitung und Interpretation und ergreifen Maßnahmen auf Basis des Live-Feeds von der DeepLens-Kamera. So wird durch Berechnung der Genauigkeit für das erkannte Objekt und dessen Klassifizierung ein Bedrohungsniveau gemessen.

Herausforderungen

Bei der Entwicklung von Jiaan stand ich vor drei erheblichen Herausforderungen (und ungefähr drei Dutzend kleineren), die ich meistern musste. Die erste bestand darin, ein optimales Netzwerk zu finden, mit dem sich mehrere Objekte in einem einzelnen Bild genau und effizient erkennen und prognostizieren lassen. Im ersten Durchlauf bei der Entwicklung dieses Projekts wurde die CNN-Objektklassifizierung genutzt. Sie war allerdings nicht in der Lage, eine oder mehrere Bedrohungen in einem einzelnen Bild zu erkennen. Das führte zu weiterer Recherche und der Entwicklung eines umfangreicheren Modells für das Projekt – ein Single Shot MultiBox-Erkennungsnetzwerk wurde implementiert.

Die zweite Herausforderung bestand in der Planung von Trainingszyklen mit eindeutigen Datensätzen für das Projekt. Für das Training musste eine aussagekräftige Sammlung an neuem Material beschafft und gekennzeichnet werden, mit der dann das Modell trainiert wurde. Einen messbaren Datensatz zusammenstellen und kommentieren war mit über 100 Stunden an manuellen Tätigkeiten verbunden. Das Modell mit dem Material zu trainieren erforderte über 500 Stunden, die kostengünstig durchgeführt werden mussten.

Um diese Probleme mit Intels Modelloptimierer und Interference-Engine verschlang viel Zeit, die ansonsten in Verbesserungen gegangen wäre. Ein Großteil der abschließenden Woche lief in das Reverse-Engineering des Intel-Frameworks, in die Fehlerbehebung beim Optimierer und in Test mit dem DeepLens-Gerät. Das war eine sehr lehrreiche Erfahrung und ich verstehe jetzt das Deep Learning Toolset von Intel im Detail.

Erfolge, die mich stolz machen

  • Entwickeln eines funktionellen, von SSD r-CNN gesteuerten Modells
  • Erweitern meiner Kenntnisse zur Integration der mxnet- und SageMaker-APIs, wo ich zuvor nur Erfahrung mit OpenCV und Numpy hatte
  • Besseres Verständnis der Technologien, die Greengrass, DeepLens und SageMaker zugrunde liegen
  • Unendliche Geduld beim kommentieren Tausender Bilder

Was ich gelernt habe

Entwickeln einer intelligenten Anwendung auf Basis von DeepLens oder einem anderen ML-Projekt erfordert in gleichem Maße Projektmanagement wie Entwicklung. Es gibt eine Reihe von Variablen, die sich auf die Ressourcenkapazität auswirken und zu unerwartetem Stillstand führen können, was bei der Planung berücksichtigt werden muss. 

Die nächsten Themen

Jiaan wird im Hinblick auf weitere Bedrohungsklassifizierungen ausgebaut, die für eine Live-Umgebung geeignet sind, wo es implementiert und dem Gemeinwesen zur Verfügung gestellt werden kann.

Entwickelt mit

DeepLens
Python
Greengrass
Lambda
SageMaker
IoT
SSD