Die durch ADAS zu erfassende Umgebungen werden immer komplexer und erfordern es deshalb das komplette Umfeld eines Fahrzeugs zu erfassen. Dazu reicht die herkömmliche Methode mit Markierung der Objekte auf einem Videobild nicht mehr aus und ist auch viel zu aufwändig. Deshalb wurde der Philosys Label Editor so erweitert, dass vom Annotator mit Hilfe von Referenzdatenquellen Objekte neu erzeugt, oder auch bereits vor generierte Objekte bestätigt oder modifiziert werden können.
LEV4 teilt sich auf die die Basis und mehrere separat zu lizenzierender Optionen. Die Basis enthält derzeit die folgenden neuen Features und Verbesserungen:
- Sperrung der Winkel eines Polygons
- Speicherung verwendeter externer Daten in der Label Datei
- Performance Verbesserungen im Umfeld der Verarbeitung und Darstellung von externen Daten
- Window Manager zur Darstellung mehrer Video Streams (derzeit nur in Verbindung mit 3D)
Die folgenden Optionen werden unterstützt:
- StdTracker (war bereits in LEV3 verfügbar)
- VideoView3D
- Odometrie (2D/3D)
In den folgenden Abschnitten werden einzelne Neuerungen kurz beschrieben.
Sperrung Polygonwinkel
Damit ist es möglich bei einem Polygon gezielt Winkel zu sperren, so dass damit Objekte mit fester Geometrie definiert werden können. Dies erlaubt es dann einmal die Basistypen nach zu bilden, aber auch ganz neue Objektformen zu definieren. Der Nutzer kann damit weitgehend selbst zur Validierung passende Objekte definieren.
Speicherung externer Daten
Bisher war es bei der Nutzung von externen Daten nötig bei jedem Laden einer DAT Datei einen neuen Datenscan durch zu führen. Dies je nach Komplexität des Filtergraphen sehr zeitaufwändig. Jetzt besteht die Möglichkeit, die Daten die für das Annotieren genutzt wurden, mit in die Label Datei abzuspeichern. Beim Laden eines Projekts werden vorhandene externe Daten aus der Label Datei gelesen, was wesentlich schneller ist als ein kompletter Scan. Dies führt in der Bearbeitung zu einem erheblichen Zeitgewinn. Zusätzlich können die externen Daten dann auch leichter in einem Postprocessing genutzt werden.
Performance externe Daten
Externe Daten werden als XML verarbeitet. Die Interpretation ist sehr aufwändig und bereitet dann Probleme bei der Verarbeitung in Echtzeit. Um die Verarbeitung zu beschleunigen wurde der gesamte Pfad optimiert und soweit als möglich auf Multi-Threading umgestellt. Damit ist der Ablauf beim Abspielen von Szenen deutlich flüssiger und auch der Scan läuft schneller ab.
Window Manager
Bisher gibt es mit dem VideoView Service im Label Editor nur die Möglichkeit eine Videoquelle gleichzeitig auf dem Bildschirm darzustellen. Dies reicht aus wenn immer nur auf einem Videokanal annotiert wird. Wenn man weitere Videoquellen darstellen wollte, konnte man dies über zusätzliche ADTF Videodisplays erreichen. Diese Methode ist aber umständlich zu handhaben. Des weiteren gibt es bisher die Möglichkeit den sogenannten Multistream-Modus zu verwenden um zwischen verschiedenen Videoquellen umzuschalten. Dieser Modus ist aber nur dazu gedacht, dass bei Kameras die unterschiedliche Belichtungen erzeugen, zwischen den verschiedenen Bildern umgeschaltet werden kann, und unterliegt deshalb Einschränkungen bei der Nutzung
Mit dem neuen Window Manager kann über die Strukturdatei das Layout für verschiedene Videofenster definiert werden. Dies ist sehr flexibel möglich. Es kann auch ein Fenster mit Reitern definiert werden, bei dem dann ebenfalls zwischen verschiedenen Quellen umgeschaltet werden kann.
Der Window Manager ist derzeit für die Nutzung mit dem neuen 3D Viewer optimiert. Ob die Funktionalität auch auf den aktuellen VideoView Service zurück portiert wird steht noch nicht fest.
Option: VideoView3D
Die Unterstützung der 3D Annotation ist der Schwerpunkt in Version 4. Zu diesem Zweck wurde die bisherige Videodarstellung komplett umgestaltet. Für die 3D Annotation gibt es den neuen VideoView3D Provider. Dieser basiert auf Open Scene Graph (OSG) und ermöglichst es 3D Szenarien auf einfache Art und Weise zu erstellen, darzustellen und zu manipulieren.
Das Umfeld des Fahrzeugs wird als 3D Szene modelliert. Die Modellierung erfolgt in Weltkoordinaten und nicht mehr wie bei der 2D Annotation über Pixel auf den Videobildern. Damit hat man genaue Informationen wo sich welches Objekt im Raum befindet. Dafür gibt es auch eine Schnittstelle für die Kamerakalibrationsdaten.
Derzeit werden zur Annotation Box-Objekte, Polylines/Polygone und Punkte unterstützt, die man entweder selbst in der Szene platzieren kann, oder aber mit anderen Methoden bereits vor generierte Objekte (Laserscanner, Radar, ...) nutzen, als korrekt bestätigen oder gegebenenfalls manipulieren kann. Für das Polygon3D werden auch punkt-spezifische Attribute unterstützt. Die Möglichkeit der Ableitung von anderen Objektdefinitionen macht die Nutzung flexibler.
Natürlich können auch die Originaldaten von Laserscannern als Overlay eingeblendet werden, um die manuelle Annotation zu unterstützen.
Dadurch dass OSG verwendet wird, ist es einfach möglich die verschieden Ansichten auf die Szene durch die Kameras zu integrieren. Man kann aber auch durch entsprechende Projektion einen sogenannten Top View der Szene erstellen. Damit erhält man eine aus den verschiedenen Kameras errechnete Sicht aus der Vogelperspektive.
Da für die 3DAnnotation es sowieso sinnvoll ist einen Top View zu verwenden, haben wir entschieden diesen schon direkt im Label Editor anzubieten. Dies erspart den Kunden eine eigene Implementierung nur zum Zweck der Annotation. Zusätzlich einblendbare Overlays unterstützen die Annotation.
Option: Odometrie
Bei ADAS Funktionen, die mit statischen Objekten arbeiten, war es bisher nötig die statischen Objekt in jedem Videobild zu annotieren. Dies wurde alelnfalls durch die Nutzung der Interpolation oder des Trackings etwas erleichtert. Da man aber gerade für solche Funktionen gerne mit der Position relativ zum eigenen Fahrzeug arbeiten möchte, ist es notwendig die Umgebung des Fahrzeugs nicht mher auf Pixelebene auf dem Videobild zu erfassen, sondern mit relativen Weltkoordinaten. Die Umgebung wird dann mit Referenzdatenquellen wie Lidar, Radar, Ultraschall, ... abgetastet und diese Daten dann zur Annotation verwendet. Typischerweise erfolgt dies dann mit einem TopView der Szene, in den die Referenzdaten eingezeichnet sind. Die sichtbaren Objekte werden dann wie bisher mit einem Marker annotiert. Da sich aber wegen der Eigenbewegung die Szene ständig ändert, muss auch hier in jedem Schritt annotiert werden, obwohl sich die anderen Objekte nicht bewegen.
Hier setzt die neue Option Odometrie an. Diese erlaubt es Objekte als stationär zu behandeln, d.h. man annotiert diese in der Regel nur ein einziges Mal in der Szene. Damit das funktioniert, muss die Eigenbewegung des Fahrzeugs heraus gerechnet werden und dann mit absoluten Weltkoordinaten, bezogen auf irgendeinen Fixpunkt in der Szene, annotiert werden. Zu diesem Zweck hat LEV4 eine Odometrieschnittstelle über die externen Datenschnittstelel implementiert. Zu jedem Annotationsbild muss die passende Odometrie in Form eine 4x4 Transformationsmatrix geliefert werden. Diese wird benutzt die Eigenbewegung zu eliminieren, so dass intern für stationäre Objekte absolute Koordinaten gespeichert sind. Für die Darstellung der Objekt in der Annotationsansicht müssen dann diese Daten zusätzlich auf die Videobilder umgerechnet werden. Bei 3D Annotation macht das Open Scene Graph zusammen mit der Kamerakalibration automatisch, bei 2D muss zusätzlich eine 4x4 Transformationsmatrix von ego-relativen Koordinaten auf Pixel im Bild erfolgen.
Das Ergebnis ist, dass statische Objekte nur ein einziges Mal annotiert werden müssen. Natürlich können die Daten sowohl absolut, als auch ego-relativ in die Label Datei exportiert werden, so dass die Validierung mit dem Koordinatensystem der ECU erfolgen kann.
Gerne entwickelt Philosys im Rahmen von kundenfinanzierten Projekten auch weitere neue Features für die Version 4. Damit diese mit eingeplant werden können sollten sich Interessenten baldmöglichst melden.
Philosys stellt laufend Releases mit bereits implementierter Teilfunktionalität bereit, so dass Interessenten schon frühzeitig mit der Nutzung beginnen können.
Der Philosys Label Editor wird bei der Entwicklung unterschiedlichster Assistenzsysteme (Advanced Driver Assistance System / ADAS) zur Gewinnung von Ground-Truth-Daten eingesetzt. Dabei werden die verschiedensten Objekte markiert und mit detaillierten Attributen versehen (Annotation), angefangen von Fahrzeugen aller Art, Fahrbahnbegrenzungen, Verkehrszeichen, bis hin zu Fußgängern und Wildtieren. Die erfassten Daten werden in HIL/SIL-Tests zur Validierung der von Fahrerassistenzsystemen erkannten Objekte verwendet.