Prof. Dr. Jan Bredereke

Reference / Literaturverweis [Mül21]

Müller, Felix:
Dynamisches Tiling auf schwachen FPGAs zur Objekterkennung mithilfe kleiner neuronaler Netze.
Bachelorthesis. Erstgutachter: Jan Bredereke, Zweitgutachter: Stefan Wolter. Hochschule Bremen (23.6.2021).

Zusammenfassung

Die Erkennung von Objekten in Bildern wird in vielen Anwendungsbereichen, wie dem autonomen Fahren oder automatisierten Produktionsketten in Fabriken, benötigt. In den letzten Jahren haben sich künstliche neuronale Netze gegenüber klassischer Methoden als überlegen gezeigt. Innerhalb dieses Feldes werden momentan gefaltete neuronale Netze für die Objekterkennung bevorzugt. Die Ausführung dieser Netze ist sehr rechenintensiv und benötigt üblicherweise starke Hardware, welche in restriktiven Bereichen, wie der Edge nicht verfügbar ist. In den letzten Jahren gab es daher einige Bemühungen diesen Rechenaufwand durch beispielsweise eine Hardwarebeschleunigung zu bewältigen. Eine Forschungsgruppe der Firma Xilinx hat auf einem FPGA eine sehr schnelle und effiziente Lösung entwickelt, die jedoch auf sehr geringe Auflösungen begrenzt ist und bisher hauptsächlich mit vorbereiteten Testdaten betrachtet wurde. Für die geringe Auflösung kann das Tiling Abhilfe schaffen, indem es Regionen innerhalb eines hochauflösenden Bildes extrahiert und auf die benötigte Größe skaliert. In dieser Arbeit wurde versucht ein möglichst konfigurierbares und effizientes Tiling auf einem FPGA umzusetzen und es zwischen einer externen Bildquelle und dem neuronalen Netz zu integrieren. Zu diesem Zweck wurden zuerst die Einschränkungen der Hardware beleuchtet und verschiedene Lösungsansätze auf deren Basis erörtert. Der vielversprechenste Ansatz wurde im Anschluss als Prototyp implementiert und hat in der Evaluation im Bereich der Geschwindigkeit und Effizienz sehr vielversprechende Ergebnisse im Vergleich mit einer Softwarelösung gezeigt, aber benötigt noch weitere Optimierung der verwendeten Ressourcen auf dem FPGA. Durch die Anbindung einer externen Bildquelle konnte weiterhin die Verarbeitung reeller Daten ermöglicht werden.

Abstract

The detection of objects in images is needed in many application areas. These comprise autonomous driving or automated production chains in factories. Artificial neural networks have proven to be superior over classical methods in the last years. Currently, convolutional neural networks are preferred for object detection in this field. Executing these networks is compute-intensive and usually requires powerful hardware. But this is not available in restrictive domains like at the Edge. In the last years, there has been some effort to master this by using hardware acceleration, for example. A research group affiliated with Xilinx has developed a very fast and efficient solution on an FPGA. However, it is restricted to very small image resolutions. And it was investigated mainly with prepared test data only.

The resolution can be improved by using tiling. Tiling extracts regions from a high-resolution image and scales it to the size required. This bachelor thesis realized tiling on an FPGA. The tiling is highly configurable and efficient. The solution integrates the tiling between an external image source and the neural network.

The thesis first investigates the restrictions imposed by the hardware and then discussed several solution approaches based on this. The most promising approach has been implemented as a prototype. It has shown very promising results with respect to speed and efficiency, compared to a solution in software. It could be improved further with respect to the resources of the FPGA used. Furthermore, the solution allows to process real video image data, because an external video image source input has been created.

Full Text / Volltext

PDF (7,2 MB)

Source Code / Quelltexte

Please just ask me for a ZIP file with the source code, if you need it. / Bei Bedarf fragen Sie mich bitte einfach nach einer ZIP-Datei mit den Quelltexten.