fahrzeugtechnik header

Philosys Ground Truth Annotator 2018  is now available.

Philosys Label Editor will still support ADTF for those users that would continue to use the advantages of ADTF during development and validation of ADAS/AD systems, and the seemless integration of ADTF within Philosys Label Editor. Both label tools support the same features regarding ground truth labeling.

The main new features for Philosys Ground Truth Annotator 2018 compared to Philosys Label Editor are the support of new data formats and a much faster data player implementation than the ADTF harddisk player used up to now. 

Supported Data Formats

The main issue when starting an annotation project is to provide recorded data in a format that the label tools can handle. Up to now Philosys Label Editor was tailored to the EBAssist/ADTF DAT format. When the data was already recorded in this format then Philosys Label Editor can read this format directly by using the ADTF harddisk player. If necessary, the data samples themselves can be converted to the supported data format by using ADTF filters. 

But data that isn't recorded in DAT format had to be converted before use. This costs a lot of additional resources. With Philosys Label Editor V6  the new custom player interface has been introduced to alleviate this problem, by being able to implement a player for a specific data format and replacing the ADTF harddisk player, but still at the cost of a EBAssist Runtime license per user.  

The first version of  Philosys Ground Truth Annotator 2018 supports several alternative input data formats without having to pay extra license fees. Over time there will be more and more commonly known formats available. Customer specific formats can be implemented separetely on customer request. Supporting recording formats directly makes handling large amounts of recordings much easier and provides considerable cost savings.

The players provide the data samples of the supported file formats as is to  Philosys Ground Truth Annotator 2018. So there may be conversions necessary to use this data. Unlike Philosys Label Editor there is no filtergraph available, which allows flexible preprocessing of data between file reading and data visualization. But some of this functionality can be handled by new decoder plugins, explained later. 

GA Formats

Philosys Sample File Format

This new file format was introduced to allow a simple setup of data for ground truth labeling. Samples have to be provided within a project directory containing a directory, with streams represented by subdirectories, containing single files for each sample. Timestamps in microseconds are provided by the sample file names of the designated master stream. 

This format is generic and can represent all necessary information for ground truth labeling. It is easy for customers to start with, by exporting their samples from other formats, and placing the sample files in the directories for each stream.

SampleFileFormat

Philosys Ground Truth Annotator 2018  comes with the Sample File Player-plugin as standard and supports the following sample formats delivered by a data stream:

  • Video (BMP, PNG, JPEG, TIFF)
  • Point Cloud Points as array of floats (XYZ, XYZI, XYZRGB, ...)
  • Odometry as character string defining 4x4 matrice
  • External XML data as object list in Label XML format
  • Binary data blobs

 

EB Assist DAT Format

For reading DAT format files the new StreamingLib Player-plugin is provided. It is based on StreamingLib SDK available from Elektrobit. 

  • Video as ADTF image format - uncompressed/compressed data type
  • Point Cloud as array of float32 (XYZ, XYZI, …) - structured data type)
  • Odometry as character string representing a 4x4 matrice - structured data type
  • External XML data as object list using label XML format - structured data type 
  • Binary data blobs – structured data type
  • Info strings attached to samples within master data stream

Time is provided by the sample times of the configured master stream. 

The samples are stored in a DAT file that can either be created by using EB Assist, or by having a program by using the StreamingLib SDK. Compressed, splitted DAT files and ADTFv3 files are not supported.

 

ROS Bag Format

Philosys Ground Truth Annotator 2018  supports reading ROS bag files. At the moment only a limited number of standard topics is supported:

  • Video as sensor_msgs/Image or sensor_msgs/CompressedImage.h
  • Point Cloud Points as sensor_msgs/PointCloud2 - little-endian, XYZ or XYZI, value type float32 (7)
  • Odometry as tf2_msgs/TF_message

Other topic types can be implemented on customer request.

Time is provided by the message time stamps of the configured master stream.

 

Intempora RTMaps Datasets

Philosys Ground Truth Annotator 2018  supports reading Intempora RTMaps Datasets. The following data formats are supported:

  • Video as jseq, jpeg, pngseq, png and raw
  • Point Cloud Points as numeric_binary with float32
  • Odometry as text

Other data formats can be implemented on customer request.

Time is provided by the message time stamps of the configured master stream.

 

ibeo IDC Format   

Philosys Ground Truth Annotator 2018  supports ibeo IDC files with the following message types:

  • Video Data as Type 0x2403 'image' as jpeg, mjpeg, yuv422
  • Point Cloud as Type 0x2205 'scan data' as point cloud XYZ
  • Point Cloud as Type 0x7510 'point cloud plane' as point cloud XYZ
  • Odometry as Type 0x2808 'vehicle state' (part) as external XML matrice 4x4
  • Objects as Type 0x2280, 0x2281 'object data' as external XML
  • CAN as Type 0x1002 'CAN message'

Other data formats can be implemented on customer request.

Time is provided by the message time stamps of the configured master stream.

 

Video File Player

Philosys Ground Truth Annotator 2018  supports reading standard video files. The following data formats are supported:

  • Video Data as mp4, mkv, avi, mpeg, ...

Only the first video stream of a video file is played.

 

Label Editor Decoder Plugins

As Philosys Ground Truth Annotator 2018  is without ADTF filtergraph, no pre-processing of data with filters is possible. In general this shouldn't be a problem, because data could be pre-generated for direct interpretation by  Philosys Ground Truth Annotator 2018. But, sometimes it is more convenient to have the possibility for pre-processing data within the label tools, i.e. when using compressed data. In this case this not only reduces the data size on storage, but also increases data rate. 

To support this type of processing Philosys introduced the concept of Decoder Plugins. This plugins are acting like filters in ADTF, but have just one input and one output. Multiple plugins can be stacked on each stream to allow processing of file data. There are  Decoder Plugins  that do player specific processing, and others can be applied to any stream.

The following generic Decoder Plugins are currently supported:

  • BMP Decoder
  • JPG Decoder
  • PNG Decoder
  • TIFF Decoder
  • YUV422 Decoder (binary blob)
  • DAT ADTF Video Compressed

Because the interfaces for players and decoder plugins are not stable yet, by now they are not available as SDK. But Philosys will implement required plugins on customer request. 

All the new plugins can be licensed for Philosys Ground Truth Annotator 2018 with the Player Toolbox

 

Additional Features

Beside the direct support of new data formats, there are a lot more features and improvements available with Philosys Ground Truth Annotator 2018.

  • Helper plugins (PropertyCloner, SetAxisSpeedAcc)
  • List of last opened projects
  • Tooltip for toolbar elements
  • Keyboard shortcuts for move are now screen oriented
  • Generic Object Detector with additional commands and improved performance
  • Tool to calculate structure file checksum
  • Support dynamic assignment of Qt::DecorationRole to label data
  • Create new objects with mouse press
  • Join of objects over time
  • Alert when mandatory properties are not filled-in
  • Provide LEChecksum as DLL
  • Label Data review and correction tool
  • Support custom editor delegate for ObjectView
  • Support more than one DAT file inside a project
  • Snap for lines and points
  • Video2SampleFile Converter
  • Improved Gap handling and selection by profile
  • less memory use and better performance

 

Plugin Interfaces

As most of the plugin interfaces in Label Editor are implemented by use of ADTF SDK, there have been new plugin interfaces be implemented. All customer plugins have to be migrated to the new interfaces for use with  Philosys Ground Truth Annotator 2018. Please contact us for help.

The ADTF-specific Mixin-Interface had to be dropped. A replacement will be provided in the future.

 

Licensing

Whereas Philosys Label Editor was focused at large-scale EB Assist/ADTF users, most of the time with EB Assist company group licenses, Philosys Ground Truth Annotator 2018  is targed to a much broader market. Philosys Ground Truth Annotator 2018 is useful for small to large companies providing ground truth labeling service independent from specific data formats. Labeling plattforms also move more and more into the cloud for worldwide use of resources, requiring different licensing.

To cover this new requirements the licensing model for Philosys Ground Truth Annotator 2018 will change to a per user/month scheme.

Philosys Ground Truth Annotator 2018  is available in the following variants:

  • AI - support for Semantic Segmentation labeling only
  • 2D - support for 2D image labeling
  • 3D - support for 2D image labeling and 3D point cloud labeling

There are further license options available. Please contact us for details  at This email address is being protected from spambots. You need JavaScript enabled to view it.

Please don't hesitate to contact us, if you have specific requirements for  Philosys Ground Truth Annotator  2018.

 

Further Information

A short description of the most recent features can be found at the following Label Editor links:

Philosys Ground Truth Annotator

YouTube Videos

Philosys Label Editor Version 6 - Semantic Segmentation

Philosys Label Editor Version 6 - Release 6.3.2

Philosys Label Editor Version 6 - Release 6.2

Philosys Label Editor Version 6 - Release 6.1

Philosys Label Editor Version 5 - Release 5.1

Why 3D labeling?

 

The  Philosys Label Editor and also the  Philosys Ground Truth Annotator are used during development and test of diverse Advanced Driver Assistance Systems (ADAS) for ground truth data annotation/labeling. 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 animals 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) maschine learning and validation.

The ADTF based  Philosys Label Editor  is available as of the beginning of 2011, and the ADTF-free Philosys Ground Truth Annotator is available since mid-2018. Their many features facilitate the annotation of video scenes and reference data. 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.