Bei Smart-Security geht es darum mit Cutting-Edge Technologien Sicherheit in Ihrem Zuhause zu schaffen! Daher geben wir uns nicht mit einer einfachen Sicherheitskamera zur Überwachung zufrieden, sondern erweitern diese mit Machine Learning um Objekte wie Menschen im Aufnahmebereich der Kamera zu erkennen. In diesem Blogeintrag geht es um die Auswahl einer passenden Erkennungsmethode.
Zur Objekterkennung in Bildern und Videos gibt es verschiedene Methoden. In den meißten Objekterkennungsanwendungen werden heutzutage größtenteils Deep Neural Networks (DNNs) genutzt. Optimal ist die Entwicklung eines auf den Anwendungsfall zugeschnittenen DNNs. Da sich dies jedoch als sehr zeit und ressourcen intensiv darstellt wurde sich für ein vortrainiertes DNN entschieden. Für die Objekterkennung gibt es eine vielzahl von verwendbaren Algorithmen, unter Anderem Region Based Convolutional Neural Networks (R-CNN), Single Shot Detector (SSD) und You Only Look Once (YOLO). In den häufigsten Fällen werden Objekterkennungsalgorithmen auf starken CPUs, GPUs oder TPUs ausgeführt, bei dem Smart-Security Projekt soll die Objekterkennung jedoch auf einem relativ schwachen Raspberry-Pi ermöglicht werden. Daher ist es nötig einen Objekterkennungsalgorithmus auszuwählen, der effizient auf einem Raspberry-Pi läuft und trotzdem eine hohe Erkennungsgenauigkeit aufweißt.
Wir betrachten die folgenden drei, mit dem COCO-Dataset vortrainierten, Erkennungsalgorithmen MobileNet SSD, SqueezeNet SSD und YOLO v3. In der folgenden Tabelle sind die Dauer für die Objekterkennung eines Bildes sowie die mean Average Precision (mAP) dargestellt.
Erkennungsalgorithmus | Erkennungsdauer eines Bildes auf dem Raspberry Pi 4 B | mean Average Precision (mAP) |
MobileNet SSD | ca. 0,8 Sekunden | 72,7 |
SqueezeNet SSD | ca. 0,67 Sekunden | 64,3 |
YOLO v3 | 11-14 Sekunden | 51,5 |
Für die Nutzung als Sicherheitskamera ist die Objekterkennung mit der YOLO-Methode nicht praktikabel, da die Berechnungsdauer für ein Bild zu hoch ist. Die Entscheidung zwischen dem MobileNet SSD und dem SqueezeNet SSD hingegen fallen knapper aus, das SqueezeNet SSD führt die Objekterkennung in der Regel schneller aus als das MobileNet SSD, weißt jedoch eine geringe mAP auf. Damit wenige Fehlalarme ausgelöst werden haben wir uns für das MobileNet SSD entschieden, da dieses die höhere mAP als das SqueezeNet SSD aufweist. Hierbei ist die längere Berechnungsdauer von 0,8 Sekunden zu vernachlässigen, da Einbrecher oder unbefugte Personen sich meißt länger als eine Sekunde im Aufnahmebereich der Kamera aufhalten.
Sehr interessant. Warum benötigt YOLO soviel mehr Rechenleistung bei schlechteren Ergebnissen?
Pingback:Sicherheitskamera featuring Machine Learning – Umsetzung der Objekterkennung – IoT-Technik und Geschäftsmodelle 2021