Dieses neue Produkt ist der Philosys Ground Truth Annotator 2018.
Der Philosys Label Editor wird diejenigen, die weiterhin die Vorteile der nahtlosen Integration des Ground Truth Labeling in die ADTF-basierte Entwicklung und Validierung nutzen wollen, wie bisher unterstützen.
Die Haupterweiterungen für den Philosys Ground Truth Annotator 2018 betreffen die Unterstützung von zusätzlichen Datenformaten, und verbunden damit eine effizientere Player-Implementierung im Vergleich zum ADTF Harddisk Player.
Datenformate
Das Hauptproblem beim Starten eines neuen Annotationsprojektes ist, die aufgezeichneten Daten in einem zu den Label Tools kompatiblem Format, bereitzustellen. Bisher war der Philosys Label Editor auf das EBAssist/ADTF DAT Format ausgerichtet. Wenn die Daten bereits in diesem Format aufgezeich-net wurden, können diese direkt mit dem ADTF Harddisk Player gelesen werden. Falls nötig, können die gelesenen Daten dann noch mit ADTF Filtern in ein vom Philosys Label Editor unterstütztes Format konvertiert werden.
Daten, die nicht im DAT Format aufgezeichnet wurden, mussten erst in dieses Format konvertiert werden. Dies benötigte viele zusätzliche Ressourcen. Mit der Vorgängerversion Label Editor V6 konnte dieses Problem durch die Einführung von sogenannten Custom Playern etwas gelindert werden. Dennoch benötigte man, auch wenn man die Daten nur lesen wollte, trotzdem eine EBAssist/ADTF Runtime Lizenz für jeden einzelnen Nutzer.
Die erste Version des Philosys Ground Truth Annotator 2018 unterstützt mehrere Datenformate, ohne diese zusätzlichen Lizenz bzw. Lizenzkosten. Außerdem werden zukünftig weitere Datenformate hinzukommen. Auf Kundenwunsch können auch kundenspezifische Formate individuell implementiert werden. Die direkte Unterstützung des jeweiligen Aufzeichnungsformates erleichtert die Bearbeitung und reduziert dadurch Zeitaufwand und Kosten.
Die neuen Player-Plugins liefern die aufgezeichneten Daten, so wie sie sind, an den Philosys Ground Truth Annotator 2018. Da einzelne Daten nicht immer kompatibel mit den unterstützten Formaten sind, werden diese dann intern konvertiert. Des Weiteren werden im Philosys Ground Truth Annotator 2018 Decoder-Plugins für eine flexiblere Vorverarbeitung bereitgestellt.
Philosys Sample File Format
Um das Aufsetzen des Ground Truth Labeling bei unspezifischem Datenformat zu erleichtern, hat Philosys das Sample File Format eingeführt. Dabei müssen die Datenelemente als einzelne Dateien bereitgestellt werden. Im Projektverzeichnis befindet sich eines oder mehrere Aufnahmenverzeichnisse. Jedes dieser Aufnahmenverzeichnisse enthält wiederum für jeden Datenstrom ein weiteres Verzeichnis, welches dann die Dateien für jedes Datenelement des Datenstroms enthält. Der Name der Aufnahmenverzeichnisse muss mit ".sff" enden. Die Zeitstempel in Mikrosekunden werden über die Dateinamen bereitgestellt.
Dieses Datenformat ist sehr allgemein gehalten und kann alle Informationen für das Labeling bereit-stellen. Damit ist es für Kunden einfach ihre Daten aus jedem beliebigen Datenformat zu exportieren.
Der Philosys Ground Truth Annotator 2018 unterstützt mit dem standardmäßigen Sample File Player-Plugin die folgenden Datenformate:
- Video (BMP, PNG, JPEG)
- Point Cloud Points als Vektor von float32 (XYZ, XYZI, XYZRGB, ...)
- Odometry als Zeichenkette die eine 4x4 Matrix definiert.
- External XML Daten als Objektliste im Label-XML Format.
- Binäre Daten Blobs
EB Assist DAT Format
Um DAT-Dateien lizenzfrei zu lesen, steht das StreamingLib Player-Plugin zur Verfügung. Dieser basiert auf dem StreamingLib SDK von Elektrobit.
- Video als ADTF image format - uncompressed/compressed data type
- Point Cloud als Vektor von float32 (XYZ, XYZI, …) - structured data type
- Odometry als Zeichenkette die eine 4x4 Matrix definiert - structured data type
- External XML Daten als Objektliste im Label-XML Format - structured data type
- Binäre Daten Blobs – structured data type
- Info Strings die an den Nachrichten am Master-Datenstrom hängen.
Die Zeitstempel für das Labeling werden von den Sample Times des konfigurierten Master Stream verwendet.
Eine DAT-Datei kann entweder mit EBAssist/ADTF oder einem Programm mit dem StreamingLib SDK erzeugt werden. Komprimierte oder aufgeteilte DAT-Dateien, aber auch ADTFv3 DAT-Dateien werden nicht unterstützt.
ROS Bag Format
Der Philosys Ground Truth Annotator 2018 unterstützt das Lesen von ROS Bag Dateien. Momentan werden die folgenden Datenformate unterstützt:
- Video als sensor_msgs/Image or sensor_msgs/CompressedImage.h
- Point Cloud Points als sensor_msgs/PointCloud2 - little-endian, XYZ or XYZI, Value Type Float32 (7)
- Odometry als tf2_msgs/TF_message
Andere Topic-Typen können auf Kundenwunsch problemlos implementiert werden.
Die Zeitstempel für das Labeling werden von den Nachrichten des konfigurierten Master Stream verwendet.
Intempora RTMaps Datasets
Philosys Ground Truth Annotator 2018 unterstützt das Abspielen von Intempora RTMaps Datasets. Es werden die folgenden Datenformate unterstützt.
- Video als jseq, jpeg, pngseq, png and raw
- Point Cloud Points als numeric_binary with float32
- Odometry als text
Andere Datenformate können auf Kundenwunsch problemlos implementiert werden.
Die Zeitstempel für das Labeling werden von den Nachrichten des konfigurierten Master Stream verwendet.
ibeo IDC Format
Philosys Ground Truth Annotator 2018 unterstützt ibeo IDC Dateien mit den folgenden Nachrichtentypen:
- Video Data als Type 0x2403 'image' as jpeg, mjpeg, yuv422
- Point Cloud als Type 0x2205 'scan data' as point cloud XYZ
- Point Cloud als Type 0x7510 'point cloud plane' as point cloud XYZ
- Odometry als Type 0x2808 'vehicle state' (part) as external XML matrice 4x4
- Objects als Type 0x2280, 0x2281 'object data' as external XML
- CAN als Type 0x1002 'CAN message'
Andere Nachrichtentypen können auf Kundenwunsch problemlos implementiert werden.
Die Zeitstempel für das Labeling werden von den Nachrichten des konfigurierten Master Stream verwendet.
Video File Player
Philosys Ground Truth Annotator 2018 unterstützt standard Videodateien in den folgenden Formaten:
- Video als mp4, mkv, avi, mpeg, ...
Nur der erste Videostrom wird abgespielt.
Label Editor Decoder Plugins
Da der Philosys – Ground Truth Annotator 2018 keine ADTF-Filtergraphen mehr unterstützt, können die gelesenen Daten nicht mehr mit Filtern vorverarbeitet werden. Wenn die Eingabedateien nur Nachrichten in den unterstützten Formaten enthalten ist das kein Problem. Dennoch kann es manchmal besser sein, die Daten erst kurz vor der Darstellung in den Label Tools zu konvertieren. Dies trifft z.B. bei komprimierten Nachrichten zu, da dann das lesen vom Dateisystem schneller und auch der belegte Speicherplatz geringer ist.
Um solche nützlichen Anwendungen auch mit Philosys Ground Truth Annotator 2018 unterstützen zu können, wurden von Philosys Decoder-Plugins eingeführt. Diese Plugins können wie Filter arbei-ten, allerdings haben sie nur einen Ein- und Ausgang. Es können mehrere Decoder Plugins in einem Datenstrom kombiniert werden. Es gibt Decoder Plugins, die nur mit bestimmten Playern zusammen-arbeiten und Player-Unabhängige.
Es werden aktuell die folgenden Player-unabhängigen Decoder unterstützt:
- BMP Decoder
- JPG Decoder
- PNG Decoder
- TIFF Decoder
- YUV422 Decoder (binary data blob)
- DAT ADTF Video Compressed (nur StreamingLib Player)
Da die Schnittstellen der Player und Decoder noch nicht stabil sind gibt es derzeit kein SDK. Bis zur Freigabe bietet Philosys die Implementierung an.
Alle neuen Plugins werden für die Label Tools mit der lizenzierbaren Player Toolbox angeboten.
Weitere Features
Neben der der direkten Unterstützung neuer Datenformate gibt es eine Reihe weiterer Features und Verbesserungen:
- Helper plugins (PropertyCloner, SetAxisSpeedAcc)
- List of last opened projects
- Tooltip for toolbar elements
- Keyboard shortcuts for move ar new 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 Schnittstellen
Da viele der Programmierschnittstellen bisher EBAssist/ADTB-basierend waren, mussten für den Philosys Ground Truth Annotator 2018 neue Schnittstellen implementiert werden. Sollen alte Plugins für den Philosys Ground Truth Annotator 2018 verwendet werden, so müssen diese migriert werden. Bitte kontaktieren sie uns, falls sie dafür Unterstützung brauchen.
Das ADTF-spezifische Mixin-Interface wird beim Philosys Ground Truth Annotator 2018 nicht unterstützt. Ein Ersatz wird zeitnah angeboten.
Licensing
Während sich der Philosys - Label Editor auf EBAssist-Großkunden konzentrierte, viele davon mit Konzernlizenzen, zielt der Philosys Ground Truth Annotator 2018 auf einen viel breiteren, auch internationaleren Markt. Der Philosys Ground Truth Annotator 2018 kann von sehr kleinen, bis zu wesentlich größeren, global agierenden Unternehmen genutzt werden, ohne an spezielle Datenformate gebunden zu sein. Auch bewegen sich, für die weltweite Nutzung von Ressourcen, die Labeling-Umgebungen immer mehr in Richtung Cloud, wodurch andere, flexiblere Lizenzierungsmodelle erforderlich werden.
Um diese Anforderungen besser erfüllen zu können, wird das Lizenzmodell für den Philosys Ground Truth Annotator 2018 zu einer Lizenzierung pro Nutzer/Monat modifiziert.
Somit wird der Philosys Ground Truth Annotator 2018 in folgenden Varianten angeboten:
- AI - unterstützt nur Semantic-Segmentation-Labeling
- 2D - unterstützt 2D-Labeling von Bildern
- 3D - unterstützt 2D-Labeling von Bildern und 3D Labeling von Punktwolken
Hierzu gibt es noch weitere Optionen: für nähere Informationen kontaktieren sie uns bitte unter Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! .
Bitte kontaktieren sie uns auch bei speziellen Anforderungen an den Philosys Ground Truth Annotator 2018.
Weitere Informationen
Philosys Ground Truth Annotator
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 6 - Release 6.0
Philosys Label Editor Version 5 - Release 5.1
Philosys Label Editor Version 4 - Release 4.3
Philosys Label Editor Version 4 - Release 4.2
Philosys Label Editor Version 4 - Snapshots
Der Philosys Label Editor und der Philosys Ground Truth Annotator werden bei der Entwicklung unterschiedlichster Assistenzsysteme (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 (Ground Truth 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 bzw. Absicherung der von den Algorithmen erkannten Objekte, und für die Generierung von Referenzdaten für Deep Neural Networks (DNN) und deren Validierung genutzt.
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.