ROS/CVAT - Datenaufzeichnung

Für den Einsatz von KI-basierten Bildverarbeitungsalgorithmen wird während des Modelltrainings eine große Menge von annotierten Bilddaten benötigt. Sowohl die Aufzeichnung als auch die Annotation ist dabei zeit- und kostenintensiv. Um die Datenbasis für das Modelltraining anhand des Ziel-Anwendungsfalls effizient zu erstellen, kann auf die in CC-KING konzeptionierte Datenverarbeitungs-Pipeline zurückgegriffen werden. Dabei kommen Open Source Werkzeuge zum Einsatz, wie bspw. eine auf ROS (Robot Operating System) basierende Datenaufzeichnungskomponente und dem teilautomatisierten Annotationstool CVAT.

Gesamtverarbeitungspipeline

Bei der entwickelten Datenaufzeichnungs-Pipeline handelt es sich um eine beispielhafte Umsetzung zur Datenaufzeichnung und Annotation von Bilddaten, um künstliche neuronale Netze für die Objektdetektion damit zu trainieren. Ziel ist es, ein vortrainiertes Convolutional Neural Network (CNN) mit den aufgezeichneten und teilautomatisiert annotierten Daten nachzutrainieren und entsprechend eines Transfer-Learning Ansatzes auf das Zielsystem anzupassen. Dabei wird der Annotationsaufwand für einen menschlichen Annotierer minimiert, um auf diese Weise Kosten auch Zeit einzusparen.

Um Daten aufzeichnen zu können wird vorausgesetzt, dass es einen ROS-basierten Sensortreiber gibt. Das Open Source Framework ROS bietet dabei eine Vielzahl vorgefertigter Treiber für gängige Hardware-Komponenten aus dem Bereich der Robotik und des automatisierten Fahrens. Weiterhin existiert eine starke Open Source Community für den Fall, dass eine Eigenentwicklung eines Treibers umgesetzt werden muss. Innerhalb des ROS-Frameworks wurde eine Softwarekomponente entwickelt, welche die vom Sensor empfangenen Bilddaten in einem Datensatzformat auf eine Festplatte speichert. Außerdem können die Bilddaten vor der Speicherung mit klassischen Bildverarbeitungsalgorithmen aufbereitet werden. Die Umsetzung kann mit den Programmiersprachen C++ oder Python erfolgen.

Von der Festplatte können die Daten mit dem Annotationstool CVAT eingelesen werden. Besonders hervorzuheben ist, dass CVAT eine Pre-Labeling Funktion bietet, bei der ein vortrainiertes CNN zum Pre-Labeling der aufgezeichneten Daten verwendet werden kann. Dadurch reduziert sich der Annotationsaufwand wesentlich, da die vorgelabelten Bounding Boxes nur noch korrigiert und nicht komplett durch einen Menschen neu erstellt werden müssen. Weiterhin bietet CVAT die Möglichkeit, ein Label (=Klasseninformation für eine Bounding Box) von einem Prelabeling-Netz auf ein neues Label im vorzulabelnden Datensatz zu mappen. Der Export der annotierten Daten kann in Form verschiedener, gängiger Datenformate für die Objektdetektion durchgeführt werden. Dadurch wird es möglich, bestehende KI-Modelle mit verhältnismäßig geringem Aufwand mit den aufgezeichneten und annotierten Daten nachzutrainieren.

Nach dem Datenexport können die annotierten Daten von einem Data-Reader an ein CNN-Modell übergeben werden, welches damit entsprechend des Transfer-Learning Ansatzes nachtrainiert und so auf den Zielanwendungsfall angepasst wird.

Die konzeptionierte Datenaufzeichnungspipeline wurde im Rahmen von CC-KING für die bildbasierte Objektdetektion von vulnerabler Verkehrsteilnehmer (englisch: Vulnerable Road Users, kurz: VRU) aus Infrastrukturperspektive erprobt, wie sie beispielsweise im Testfeld Autonomes Fahren Baden-Württemberg (TAF) vorkommt. Dabei werden Fußgänger*innen, Fahrradfahrer*innen sowie Fahrzeuge im Bild mit einer umrandenden Box (in der Literatur „Bounding Box“ genannt) sowie deren Klassifikation erkannt.  

Die Herausforderung dabei bestand darin, dass eine neue, bildgebende Sensordomäne, nämlich Infrarot-Bilddaten, verwendet wurde. Da CNNs Erkennungen im Bild im Wesentlichen auf Kontrasten durchführen, hat die Vor-Annotation durch CVAT grundsätzlich funktionieret. Allerdings war das Nachannotieren von Klasseninformation für die jeweiligen Bounding Boxes der VRUs erforderlich. Dies hängt insbesondere damit zusammen, dass Infrarot-Bilddaten weniger semantische Informationen beinhalten als RGB-Bilddaten.  

Die konzeptionierte Datenaufzeichnungspipeline reduzierte den manuellen Aufwand aber wesentlich.