fahrzeugtechnik header

ADAS getting more and more komplex and need more information about the environment. For this additional sensors are integrated to get 360° surround view and information about other objects in the scene. To validate the information additional reference data sources (LIDAR, Radar, ..) is needed to very the results of an ADAS. Philosys Label Editor now supports the use of reference data sources and display of all information available in the scene.

LEV4 is now licensed as a basis package and several options. Regarding LEV3 the new LEV4 now contains the following new features:

  • Polygon angle locking
  • Polygon extensions to UI
  • Global manipulation of geometric objects
  • Pasing of media samples to extrapolators
  • Object tagging for selective display
  • Storage of external data to label file
  • Window manager for concurrent display of multiple data streams

The following options are available:

  • StdTracker (already available in with LEV3)
  • VideoView3D
  • Odometry (2D/3D)

The following sections give a short description of the new features.

Polygon angle locking

This feature allows locking of the angle of a predefined polygon. The use case is to be able to define objects with a specific shape and lock the appearance of the shape throughout the annotation process. With this features it is now not only possible to define representations of the basic geometric types, like rectangle, but also to define new object shapes. The user can then define objects that match most of the requirements for an annotation task.

External data storage

Up to LEV4 it was necessary to do a complete scan of DAT files on every load in order to collect information about external objects. This takes a lot of time depending on processing and computer speed. Now it is possible to store the part of the result of the scan, that was used during annotation together with the labels in the label file. When loading a annotation project this data is read together with the labels. This is much faster than a regular scan and save annotation time. A further advantage is the possibility to use specific external data during post processing.

Window Manager

Up to LEV4 it was only possible to show one data source with the VidewView Service. This is sufficient when annotating on one video channel. Multiple concurrent video channels were only be possible by adding additional video display with the filter graph. This is not very usable. The multi-stream feature is a further alternative to handle multiple video streams, but doesn't allow concurrent display and it is limited in use, because it was intended only for display of alternate images from the same camera.

The Window Manager allows flexible definition of multiple windows in the structure file. Beside regular windows there also tabbed windows available, which can be used to switch between different sources within one window.

The Window Manager is currently available for use together with the 3D Viewer. There are currently no plans for support together with the VideoView Service.

Large Image

 

Option: VideoView3D

The main focus of  LEV4 is the support of 3D point cloud annotation. The main task was to rewrite video display completely and the result is the VideoView3D provider. It is based on Open Scene Graph (OSG) and allows to create, display and manipulate 3D scenes easily.

The environment of the ego vehicle is modeled as 3D scene and uses ego relative world coordinates instead of pixels in previously used 2D annotation. This gives exact information about the position of objects in space. To match video data and objects a new camera calibration interface is available.

For annotation new object types like box3d, polygon3d and point3d within point clouds are supported. They can either be placed manually, or automatically - if they are pre-generated from reference data (LIDAR, Radar, ...). Automatically placed objects are then only have to be verified by the annotator or corrected. It is also possible to derive new objects from the basic 3D types to allow more flexibility regarding default values.

It is also possible to display original reference data, like point clouds into the 3D scene, to help manual annotation further.

Using OSG makes it easy to define specific views onto the scene. It is even possible to create a top view. The top view feature has been integrated, because for 3D annotation most of the customers need something like that for annotation anyway. So customers save development effort by using this built-in feature. Additional definable overlays allow further customization.

Option: Odometry

For ADAS functions using static objects it was necessary to annotate every frame of the scene. Interpolation and tracking reduced this effort, but it is still a lot of time necessary. As more complex ADAS functions are now validated regarding object position relative to ego position, annotation isn't anymore done within video frames on pixels, it is done with ego relative world coordinates. The top view shows the scene with transformed video images and reference data like LIDAR, to give the annotator information about the relative position. As the ego vehicle moves the ego relative position of static objects constantly changes, so annotation would be necessary in a lot of frames.

The odometry option now allows for compensation of ego movement within LEV4 so that stationary objects keep their position. The odometry actually converts the ego position to a absolute position in world coordinates. Stationary objects then have to be annotated only once in the scene, ideally in a frame where it can be done most accurate. The odometry of ego vehicle has to provided as 4x4 transformation matrix in XML format through an external data pin. The current transformation is stored for every frame. When an object is displayed the stored absolute coordinates have to be converted back to ego relative coordinates. For 3D objects this is all handled by OSG, for 2D a separate transformation matrix maps the world coordinates to pixels.

The big advantage is that static objects have to be annotated only once.

Planned Features

  • Support multiple Point Clouds
  • Support stationary Point Clouds using odomety
  • Support various Point Cloud data formats (XYZ, XYZI, XYZRGB, XYZRGBA, XYZrgba)
  • Interpolation of all displayed data to reference time
  • ...

Philosys is providing constantly new features together with new minor software releases to allow customers to use them asap.

Philosys is happy to integrate customer-specific and financed features on request by our engineering team.

Support Subscriptions

The Label Editor Basic support subscription contains all bug fixes, minor software updates and provision for installation packages starting from ADTF version 2.9.

 The Label Editor Pro support subscription contains all services of the Basic support subscription and all upgrades to new versions of Label Editor Basic and all purchased options.

The subscription must connect seamless to the first year of use, or to the previous subscription. The subscription is valid for one year and must be ordered for all bought licenses within the company.

The Philosys Label Editor is used during development and test of diverse Advanced Driver Assistance Systems (ADAS) for ground-truth-data collection. Various objects are marked and tagged with detailed traits. All kinds of vehicles, lane boundaries, traffic signs as well as pedestrians and wildlife are registered and verified by the assistance system for use.

 

The ADTF based Philosys Label Editor is available as of the beginning of 2011. Its many features facilitate the annotation of video scenes. This results in a significant cost reduction for the annotation process.

 

 

Normal 0 21 false false false DE X-NONE X-NONE

Ende 2012 wird der neue Philosys Label Editor Version 2 erscheinen. Dieser enthält eine Vielzahl von neuen Features, die nicht nur den Prozess der Annotation beschleunigen, sondern auch neue Anwendungsgebiete erschließen.

  • Integration externer Referenzdaten
  • Interpolation
  • Geometrisches Objekt Polygon
  • Projektmodus

Die folgenden Kapitel geben eine Übersicht über die Funktionalität und Anwendung der neuen Funktionen.

Integration externer Referenzdaten

Zur Validierung komplexerer Assistenzsysteme werden neben der reinen Position des Objektes auf dem Videobild, und einfachen durch den Annotator aus dem Videobild zu bestimmender Attributen, oft auch Daten benötigt, die aus anderen Quellen als dem Videobild kommen. Dies sind neben bestimmten CAN-Daten für das eigene Fahrzeug, oft auch Daten von Sensoren, die nur in den Fahrzeugen für die Aufzeichnung verbaut werden. Dies können unter anderem z. B. objektbildende Laserscanner sein. Diese erkennen wie das zu testende Assistenzsystem ebenfalls Objekte und können eine Reihe von nützlichen Daten, wie die Entfernung zum jeweiligen Objekt, relative Geschwindigkeit, usw., bereitstellen.

Interessant sind hier die Daten die der Annotator nicht so einfach selbst bestimmen kann, wie die Entfernung zum Objekt und dessen relative Geschwindigkeit. Anstatt diese Referenzdaten alle manuell von der Laserscanner Software in die Annotationsdaten zu übernehmen, bietet es sich hier an diese Aufgabe direkt mit Hilfe des Labeleditors zu erledigen.

Notwenig ist dazu dass die Sensordaten zeitsynchron zusammen mit den Videodaten aufgezeichnet werden. Die Umwandlung der Sensordaten in das Format das der Philosys Labeleditor versteht, erfolgt dann mit Hilfe eines neu zu erstellenden Decoder-Filters, der in Filtergraph, der das Video für den Labeleditor aufbereitet, integriert wird. Die Schnittstelle des Labeleditors für externe Referenzdaten ist XML. Diese Daten sind im Prinzip genauso aufgebaut wie das Ergebnis der Annotation, die Labeldaten. Sie müssen auch wie die Labeldaten in der Strukturdatei beschrieben werden.

Wurde die Struktur der externen Referenzdaten beschrieben, und von dem Filter die gewünschten Referenzdaten in dieses Format konvertiert, dann kann der Philosys Labeleditor diese Daten im Detail im ObjectView darstellen. Wenn in den Daten auch geometrische Objekte vorhanden sind, dann werden diese auch im VideoView angezeigt. Es gibt dann einmal die Möglichkeit bestimmte in der Strukturdefinition beschriebene Datenelemente einfach in ein gerade aktives Annotationsobjekt für das aktuelle Frame zu übernehmen. Oder aber man kann einen Link zwischen Referenzobjekt und Annotationsobjekt herstellen, womit dann die entsprechenden Datenelemente für alle Frames in denen das Referenzobjekt und das Annotationsobjekt existieren, übernommen werden. Dies reduziert den Aufwand für die Übernahme erheblich. Das Feature funktioniert auch zusammen mit der Interpolation. Existieren Referenzdaten zu einem interpolierten Frame so werden die Referenzdaten verwendet, so dass die Genauigkeit der Referenzdaten erhalten bleibt.

Dieses neue Feature ist der Einstig in die 3D-Annotation für Videodaten mit dem Philosys Labeleditor. Dabei kann so wie bisher das jeweilige Objekt vom Annotator auf dem Bild markiert, zusätzlich können aber noch die Entfernung und andere relevante Daten mit Hilfe der Referenzdaten automatisch gesetzt werden.

Durch die offene Schnittstelle kann der Kunde den nötigen Filter für die Wandlung der Referenzdaten in XML selbst implementieren. Er kann aber auch die Erfahrung von Philosys nutzen und den Decoder-Filter von Philosys erstellen lassen.

Interpolation

Das Annotieren ist ein zeitaufwendiger Prozess. Der Zeitaufwand pro Videominute kann je nach Komplexität mehr als das Hundertfache der Videolaufzeit betragen. Durch das Feature vorhandene Daten jeweils in das nächste Bild zu übernehmen, und die Position geometrischer Objekte dabei auch noch zu Extrapolieren, beschleunigt schon der bisherige Philosys Label Editor das Annotieren gegenüber herkömmlichen Verfahren erheblich.

Durch das neue Feature Interpolation wird die Annotationszeit jetzt in Fällen, wo Objekte sich über viele Frames hinweg kaum in ihrer Position verändern, nochmal deutlich verkürzt. Man markiert wie gewohnt am Anfang der Sichtbarkeit das Objekt auf dem Videobild mit einem beliebigen geometrischen Objekt, und setzt dieses über das per rechten Mausklick erscheinende Kontextmenü als Startbild für die Interpolation. Dann geht man zu dem Bild, an dem man das Objekt normalerweise zuletzt markieren würde, markiert dieses und setzt dieses als Endbild für die Interpolation. Jetzt wird für alle Bilder zwischen Start- und Endbild das geometrische Objekt interpoliert. Die anderen Attribute werden automatisch vom Zustand im Startbild übernommen. Gibt es im interpolierten Bereich eine Abweichung, so kann man an der entsprechenden Position einfach durch anklicken und Repositionierung des interpolierten geometrischen Objektes einen neuen Stützpunkt erzeugen. Die Interpolation wird dann automatisch vor und hinter dem Stützpunkt neu berechnet. Idealerweise setzt man einen neuen Stützpunkt dort wo die Abweichung am größten ist. In vielen Fällen reichen dann wenige Stützpunkte für eine hinreichend genaue Übereinstimmung aus.

Derzeit wird linear interpoliert, das kann aber erweitert werden. Denkbar ist auch eine zukünftige Erweiterung mit einem Tracker.

Als Nebeneffekt reduziert sich auch der Hauptspeicherbedarf bei Szenen mit langer Objektsichtbarkeit deutlich. Natürlich werden zur Gewährleistung der Kompatibilität in der Toolkette wie bisher die Daten für alle Bilder geschrieben.

Geometrisches Objekt Polygon

Um auch unregelmäßige Objekte effizient markieren zu können, wird der Philosys Label Editor um das neue geometrische Objekt Polygon erweitert. Das Polygon wird wie die anderen geometrischen Objekte am einfachsten mit der Maus erstellt. Es gibt dabei die Möglichkeit sowohl einen offenen Linienzug oder ein geschlossenes Polygon zu erzeugen. Der Typ kann auch nachträglich geändert werden.

Wie gewohnt kann man das Polygon über das mit der rechten Maustaste erscheinende Kontextmenü in der in der Struktur-XML vordefinierten Form an der Mausposition erzeugen. Danach kann man durch Neupositionierung der Maus und der linken Maustaste weitere Linien an ein offenes Polygon anhängen. Man kann auf Linien weitere Eckpunkte einfügen und natürlich Punkte, Linien und das gesamte Polygon verschieben. Natürlich funktioniert mit dem Polygon auch die hilfreiche Extrapolation beim automatischen Übertrag von einem Bild zum Nächsten.

Mit dem Polygon kann man nicht nur unregelmäßige Objekte markieren, sondern mit seiner offenen Form auch als Linienzug nutzen. Damit ist es z. B. auch möglich Spuren genauer und einfacher zu markieren.

Projektmodus

Der Projektmodus erlaubt es die für die Annotation nötigen Dateien mit einem Befehl zu laden. Dazu packt man den Filtergraph, die Strukturdatei, die DAT-Datei und die Annotationsdatei in ein Verzeichnis. Die Generierung des Inhalts kann dann durch ein entsprechendes Szenenmanagement-system geschehen.

Damit ist es jetzt einfach möglich ohne komplizierte Namenstransformationen mit mehreren Kameras aufgezeichnete Szenen für verschiedene Projekte individuell zu annotieren. Zu dem erleichtert es die Arbeit der Annotatoren und vermeidet fehlerhafte Namen beim Abspeichern der Daten.

 

Der Philosys Label Editor wird bei der Entwicklung unterschiedlichster Assistenzsysteme zur Gewinnung von Ground-Truth-Daten eingesetzt. Dabei werden die verschiedensten Objekte markiert und mit detaillierten Attributen versehen. Angefangen von Fahrzeugen aller Art, Fahrbahnbegrenzungen, Verkehrszeichen, bis hin zu Fußgängern und Wildtieren. Die erfassten Daten werden anschließend zur Verifizierung der von Assistenzsystemen erkannten Objekte verwendet.