Unterschleissheim, 01.02.2016 - Philosys Label Editor Release 5.1

Philosys has released Version 5.1 of it's Label Editors with a lot of new features. A complete feature list can be found here.

ADAS and automous systems are getting more and more complex 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 verify the results of ADAS. Philosys Label Editor now supports the annotation of reference data sources and displays all information available in the scene. The annotated data can be used for test and validation of ADAS, and for generating reference data for training of DNN (Deep Neural Networks).

3D Labeling is supported since Version 4 of LE, which is very helpful for validation of environmental models generated by doing sensor data fusion. Environmental perception is the key for ADAS and autonomous driving. With Version 5 Philosys has introduced a lot new features and improvements that increase the usability in this environment.

Why 3D labeling is important can be read here.

New features in Version 5

  • Support of 3DSceneDisplay Mixin interface
  • Mesh Object
  • Object Detector Interface
  • Generic Object Detector

An overview of Video3D provider features can be found here.

Mixin Interface

A lot of LE customers have already developed software for display of data with a 3D-Scene by using ADTF 3DSceneDisplay, and would like to display the same data within LE without having to change much. The only possibility up to now was to render a view and feed the video images into LE. But this has a lot of drawbacks when doing annotation on it. ADTF 3DSceneDisplay uses plugable moduls called Mixin to visualize mediasample data in 3D. Additional there is some limited interaction possible with displayed objects.

With LEV5 it is now possible to use existing mixins with minimal changes and compiling them, because the implemented interface is in most parts fully compatible to the ADTF mixin interface. Additional there is the advantage of using the full window capabilities of LEV5 with multiple different views on to the 3D scene.

 

3D Mixin LE Adapter LE Display small

 

To have the same user interface on both LE and the standard ADTF environment, the mixin part together with the display part of the Video3D provider has been extracted from LEV5 and put into an new standalone filter. This separately licensable filter can directly replace the standard 3DSceneDisplay. 

 

3D Mixin LE Adapter Standalone small

 

Mesh3D Object

This new object has been introduced to represent connected structures. A typical use case are connected parking lots of a larger parking area used by parking assistence systems and valet parking. The following image shows a typical parking area of an supermarket marked by a stationary point cloud:

 

Mesh Parking empty small

Large Image

Depending on the required label information there are several possibilities to annotate a parking lot  with Label Editor V4 (LEV4):

  •            Polygon3D as closed polyline
  •            Polygon3D as single line
  •            Box3D

All this objects provide basic capabilities to mark the parking lots, but all of them take a lot of effort to place the geometrical objects. Just think how many steps it will take to place a line so that the endpoints match exactly the border of a lot. An object detector can help placing lines, but it is still necessary to click at every line.

In addition to the exact position of the parking lot it may also be necessary to assign additional properties to endpoints and lines. The Polygon3D object already supports point specific properties with its new vector format, but it lacks line/edge specific properties at common edges. The Polygon3D object could be extended to provide this additional functionality, but this would have made it even more complicated as it already is, and this wouldn’t make placing the geometrical object easier.

The main design goal for Mesh3D was to combine simple creation with minimal user actions. Instead to create some complex default object that has to be resized and aligned to match reference data, it uses only simple mouse clicks to create points at the key positions like corners, ends and crossing points. This points are stored in Mesh3D and shown connected by a triangle mesh.

 

Mesh Parking Triangles small

 

The violet lines are only auxilliary lines to show where edges can be created with one mouse click.

 

Mesh Parking Edges small

 

To mark the relevant areas representing a parking lot with a closed polygon a context menu command is available to create all of them on the fly. 

 

Mesh Parking Polygons small

 

All the points, edges and polygon areas individual properties can be assigned and stored in one mesh object.

This representation allows further optimizations in the future:

  • automatic sub divide of larger regular parking area
  • automatic creation by using object detection with reference data
  • setting and changing attributes for selected groups of points, lines and polygons

Some of this optimizations have been already implemented as prove of concept and work very well. Especially automatic object dectection in a stationary point cloud can save a lot of annotation work with good quality reference data. It is only necessery to mark the border of a parking area consisting of connected parking lots, activate object detection by a mouse click and create the polygons on the fly. The following shows the resulting Mesh3D objects without any manual correction:

 

Mesh Parking OD small

Large Image

The result only has to be corrected at a few places. The annotator saved a lot of mouse clicks.

Object Detector Interface

The Object Detector Interface was already available with Version 4 of LE, but was limited for general use. With LEV5 the Object Detector Interface has been considerable extended to support a wider range of use cases. I.E. it is now possible to select any available point cloud data as input for processing. This allows more easy reuse of already processed data from previous actions.

New and extended callbacks now allow automatic invocation at frame changes and when changing label objects.

Generic Object Detector

The optional Generic Object Detector was also already available to selected cusomers since LEV4. It is a scriptable plugin with a lot of commands working on point clouds and images. Internally it uses the Point Cloud Library and OpenCV to provide functions for specific use-cases. The command set is extended for new use-cases. 

Other Changes

LEV5 contains a lot of small changes to improve handling and display of overlays and labels. It is also already compatible to ADTF 2.13.

Further Reading

Philosys Label Editor Version 4 - Release 4.2

Philosys Label Editor Version 4 - Release 4.3

Philosys Label Editor Version 4 - Release 5.0 beta

 

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 manually or automatically 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 during validation, and the data can be used for generating reference data for Deep Neural network (DNN) learning and validation.

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.

Back to top