nw  

ML-Kamera für Biodiversität im urbanen Raum

Zusammenfassung

Performance Analyse von Hardware Accelerated Objekt Detektion auf einem Raspberry Pi

Schlüsselbegriffe

Python, OpenCV, OpenCL, Raspberry Pi

Ausgangslage

Mitwelten, ein laufendes Forschungsprojekt des Swiss National Science Foundation (SNF) untersucht die Frage, wie IoT (Internet of Things) Technologien zur Förderung der Biodiversität eingesetzt werden können. In einem Proof of Concept wurde ein Kamerasystem auf Grundlage eines Raspberry Pi 3A+ entwickelt, womit ökologisch relevante Daten erfasst werden. Konkret werden Blumen fotografiert mit dem Ziel, Bestäuber in den Blüten der Blumen zu erkennen, um Daten über die Biodiversität in der Region zu sammeln. Dieses Projekt versucht durch den Einsatz des VideoCore IV 3D Grafik Prozessors (GPU) auf den Raspberry Pi 3A+ Geräten die Erkennung von Blüten und Bestäubern möglichst effizient zu gestalten. Die Community Getriebene Entwicklung eines Geräte Treibers für den VideoCore IV 3D Grafik Prozessor, erlaubt die Ausführung von Software Code auf der GPU durch den Einsatz einer OpenCL API OpenCL (Open Computing Language) ist eine API, welche paralleles Programmieren auf unterschiedlichen Prozessoren wie CPUs, GPUs, Digital Signal Processors und anderem erlaubt. Die OpenCL APIs werden mit dem OpenCV (Open Computer Vision) SW Framwork verwendet.
Object Detection Result

Vorgehen

Zur Untersuchung der Performance Unterschiede zwischen der Raspberry Pi CPU und GPU werden verschiedene Bestandteile die zur Object Detection benötigt werden auf der CPU und auf der GPU als Benchmark implementiert. Die Auswertung dieser Benchmarks erlaubt es, Performance Vergleiche zwischen der CPU und der GPU anzustellen und Optimierungspotenziale zu identifizieren. Diese Erkenntnisse fliessen anschliessend in das Endprodukt ein für eine möglichst effiziente Umsetzung der Object Detection auf einem Raspberry Pi.

Erkenntnisse

Die Benchmarks haben aufgezeigt, dass durch die Nutzung der Raspberry Pi GPU keine Performance Vorteile erzielt werden können. Die wichtigsten Bestandteile des Programms

Wurden allesamt verlangsamt durch den Einsatz des Grafikprozessors. In der Ausführung des gesamten Programs hat sich der Bearbeitungszeit (Median) eines Bildes mit dem Einsatz der Transparent API um 14.5% verlängert und durch den Einsatz der Platfrom targets um 164%. Der Median der Ausführung pro Bild im Endprodukt ohne hardware acceleration beträgt 11.2 Sekunden. Diese starken Veränderungen in der Ausführungszeit sind dadurch zu erklären, dass die Bildinformationen sowie auch der auszuführende Programmcode auf die GPU geladen, kompiliert und die Resultate wieder abgefragt werden müssen, ws zu einem Mehraufwand führt, der nicht durch die höhere Rechenleistung ausgeglichen werden kann.

Processing time comparison
Projektdaten

360h Aufwand, 1 Person

Auftraggeber

Fachhochschule Nordwestschweiz

Projektteam

Joel Dietschi, Studiengang Informatik

Kontakt

Prof. Thomas Amberg
Thomas.Amberg@fhnw.ch

<< zurück