fahrzeugtechnik header

Einführung

Die kürzlich stattgefundene AutoAI Konferenz in Berlin zeigte dass AI Methoden in Verbindung mit Deep Neural Networks (DNN) und Machine Learning im Umfeld von Autonomen Fahrzeugen immer wichtiger werden. Ein Kernalgorithmus ist dabei die sogenannte semantische Segmentierung. Dabei geht es darum für jedes Pixel im Kamera Bild oder jeden Scanpunkt eines LiDAR anzugeben zu welcher Objektklasse das jeweilige Punkt gehört. Diese pixelweise und punktweise Klassifizierung zu treffen ist die Aufgabe eines DNN.

Damit das DNN in der Lage ist muss es mit Trainingsdaten angelernt, und nach dem Anlernen mit einem unabhängigen Datensatz getestet werden. Die Trainings- und Testdaten werden heute überwiegend manuell durch pixelweise Annotation erstellt. Das Labeling für die Semantische Segmentierung oder Semantic Labeling ist sehr aufwändig und benötigt spezielle Tools. In der nächsten Version des Label Editors wird es auch möglich sein damit das Ground-Truth für die semantische Segmentierung zu erstellen, und dies auch mit der konventionellen Annotation zu kombinieren. 

 

Beschreibung

Ausgangspunkt für das Semantic Labeling mit dem Philosys Label Editor sind Bilder aus Videoaufnahmen. Diese können so wie auch beim konventionellen Objektlabeling aus eine ADTF DAT Datei, oder mit Hilfe eines Player Plugins aus beliebigen Quellformaten (PNG, JPG, ...) kommen. Die Bilder müssen so aufbereitet werden dass sie kompatibel zu den ADTF Bildformaten sind. Die Bilder können original oder rektifiziert sein.

 

Segmentation RAW FV

 

Oberfläche

Die Bedienoberfläche sieht so aus wie bisher. Nur gibt es parallel zum bisherigen Video3D Provider den neuen Segmentation Provider. Dieser kann wie der Video3D Provider den Window Manager nutzen, so dass man mehrere unabhängige Inhalte gleichzeitig oder mit Tabbed Windows anzeigen lassen kann. Im folgenden Beispiel wird der Kamerainhalt von RV und FV in Tabbed Windows angezeigt.

 

Segmentation LE FV annotated

  

Das Segmentation Provider Fenster zeigt in seiner Toolzeile die verschiedenen Tools an, und links neben dem Videobild werden die definierten Segmentklassen angezeigt. Die Segmentklassen können mit Hilfe der Strukturdefinition hinsichtlich Name, Wert und Farbe völlig frei definiert werden.

 

Brush Tool

Mit dem Brush Tool kann man nach der Selektion der Segmentklasse einfach Bereiche übermalen und so den Wert für die Pixel setzen.

 

Segmentation Brush

Segmentation Brush Example

  

Superpixel Tool

Mit dem Superpixel Tool können nach der Selektion der Segmentklasse Pixelbereiche mit ähnlichem Inhalt markiert werden. Es stehen verschiedene Algorithmen zur Auswahl.

 

Segmentation Superpixel

Segmentation Superpixel Example

  

FloodFill Tool

Das FloodFill Tool markiert nach der Selektion der Segmentklasse Pixelbereiche mit ähnlichen Farbwerten. Der Inhalt kann mit Filtern weichgezeichnet werden so dass Bereiche leichter gefüllt werden können.

 

Segmentation FloodFill

Segmentation Floodfill Example

  

PolyFill Tool

Mit dem PolyFill Tool werden Bildbereiche mit einem Linienzug markiert und dann mit der selektierten Segmentklasse gefüllt.

 

Segmentation Polyfill

Segmentation PolylineFill Example

  

AutoADD Tool

Wie beim normalen Labeln mit dem Philosys Label Editor gibt es eine AutoAdd Funktion um das Labeling von Videodatenströmen zu beschleunigen. Dabei werden die Labeldaten in das nächste Frame übernommen. Dies wird auf intelligente Art und Weise durch Berücksichtigung der Bewegung der Objekte erreicht. Dadurch muss das neue Bild nicht komplett neu segmentiert werden.

Image Frame 1:

Segmentation Frame1

Image Frame 10 nach AutoAdd ohne eine manuelle Korrektur:

Segmentation Frame10

Für ein optimales Ergebnis sollten im neuen Bild erst alle Fehler vollständig korregiert werden bevor wieder ein Framewechsel erfolgt.

 

Labelformat

Die Labeldaten werden wie bisher im XML-Format gespeichert. In der Labeldatei ist dann für jedes Bild ein Blob mit einem komprimierten PNG-Bild enthalten.

 

Segmentation RAW FV image

 

Zusammenfassung

Mit dieser neuen Funktion gibt es jetzt auch im Label Editor eine vollwertige Unterstützung für das Semantische Segmentieren. Dieses kann natürlich mit dem normalen Labeling in 2D und 3D kombiniert werden, so dass ein umfassendes Ground-Truth für Szenen erstellt werden kann.

 

Weitere Informationen

YouTube Videos

Philosys Label Editor Version 4 - Snapshots

Philosys Label Editor Version 4 - Release 4.2

Philosys Label Editor Version 4 - Release 4.3

Philosys Label Editor Version 5 - Release 5.1

Philosys Label Editor Version 6 - Release 6.0

Philosys Label Editor Version 6 - Release 6.1

 

Gerne entwickelt Philosys im Rahmen von kundenfinanzierten Projekten auch weitere neue Features. Bitte melden Sie sich einfach.

Der Philosys Label Editor wird bei der Entwicklung unterschiedlichster Assistenzsysteme (Advanced Driver Assistance System / ADAS) und Autonomer Systeme (AD) zur Gewinnung von Ground-Truth Daten eingesetzt. Dabei werden die Objekte in der Szene manuell und/oder automatisch markiert und mit detaillierten Attributen versehen (Annotation/Labeling). Angefangen von Fahrzeugen aller Art, Fahrbahnbegrenzungen, Verkehrszeichen, bis hin zu Fußgängern und Wildtieren wird das Ground-Truth erfasst. Das Ergebnis wird in HIL/SIL-Tests zur ADAS Validierung/Absicherung der von Fahrerassistenzsystemen erkannten Objekte, und für die Generierung von Referenzdaten für Deep Neural Networks (DNN), Machine Learning und deren Validierung genutzt. Dadurch dass er auf EB Assist/ADTF basiert fügt er sich nahtlos in die EB Assist/ADTF Entwicklungsumgebung für Assistenzsysteme ein.