Die durch ADAS und autonome Fahrzeuge 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.
Neue Features und Verbesserungen im Video3D Provider
- Unterstützung von 2D Labeling mit 3D-Objekten in RAW Ansichten
- Pointcloud Support
- Zeitreferenz
- Labelmanipulation und Extrapolation
- Objektdetektor-Schnittstelle
Labeling in RAW Ansichten
Seit LEV4 liegt der Schwerpunkt der Weiterentwicklung bei der 3D-Annotation, die mit dem Video3D Provider realisiert ist. Man konnte ein Projekt entweder in in 2D oder in 3D labeln. Mit der Unterstützung des Labelns in RAW Ansichten im Video3D Provider, gibt jetzt auch die Möglichkeit in einem Projekt sowohl im 3D-Raum in Weltkoordinaten, als auch in Videobildern in Pixelkoordinaten zu annotieren. Das Rohbild der jeweiligen Kamera wird dazu 1:1 in ein Fenster abgebildet, und die darin erzeugten Labels enthalten dann wie vom 2D-Labeling gewohnt, Pixelkoordinaten. Die einzige Einschränkung ist, dass man nur die im Video3D Provider unterstützten 3D-Labelobjekte nutzen und nicht mehr die aus dem 2D-Labeling bekannten Labelobjekte wie (rect, line, usw.) verwenden kann. Die Form der alten 2D-Objekte lässt sich aber in der Regel mit dem Polygon3D Objekt nachbilden.
Neue Möglichkeiten des effizienteren 2D Labelings eröffnet sich sich hier insbesondere durch das im Video3D Provider zur Verfügung stehende Windowmanagement und die Objektdetektorschnittstelle.
Pointcloud Support
In diesem Umfeld gab es eine Reihe von Erweiterungen, die die Darstellung noch flexibler machen und auch ganz neue Möglichkeiten beim Labeln eröffnen.
- Gleichzeitige Darstellung mehrerer Point-Clouds
- Unterstützung von weiteren Point-Cloud Formaten
- GUI für die dynamische Änderung der Point-Cloud Darstellung
- Stationäre Point-Clouds in Weltkoordinaten
- Clonevalue Unterstützung für 3D Objekte
Damit aufgesplittete Pointclouds trotzdem alle gleichzeitig vom LE angezeigt werden können, wird jetzt die Darstellung mehrerer Pointclouds unterstützt. Man kann dabei für jede Pointcloud individuell das Format und die Darstellung festlegen. ein einfaches GUI hilft dabei die Dastellung zu optimieren.
Die Unterstützung von stationären Pointclouds wird für das Labeln der Referenzdaten mit stationären Objekten in der Szene genutzt. Die stationäre Pointcloud muss bereits in der Vorverarbeitung aus allen Scans der Szene über einen SLAM Algorithmus erzeugt werden. Sie wird dann als ein einziges Sample am Beginn der Szene übermittelt. LE wendet dann bei jedem Bildwechsel wie bei den stationären Labels die Odometriematrix auf die Daten an und sorgt so dafür dass die Pointcloud an einer absoluten Postition in Weltkoordinaten bleibt. Dadurch ist es dann möglich stationäre Objekte in einer Szene nur ein einziges Mal zu labeln. Dies erspart gegenüber dem bildweisen Labeln für erhebliche Zeitersparnis.
Für mehr Flexibilität bei der Strukturdefinitionen können stationäre Objekte entweder mit den schon früher unterstützten stationären Objekten, aber jetzt auch neu mit den bisher schon in 2D unterstützten Clonevalue Objekten realisiert werden.
Zeitreferenz
- Nichtvideo-Streams als Master-Streams
- Sample-Time statt Chunk-Time als Master-Clock und Speicherung der Sample-Time in Labels
Es ist jetzt für den Video3D Provider möglich auch möglich andere als Video Streams als Zeitreferenz zu verwenden. Damit kann man auch reine Referenzdaten von Laserscanner ohne jedes Videobild labeln.
Bisher wurde im LE immer die Chunktime als Referenz für die Labels verwendet, jetzt ist es auch möglich die Sample-Time zu verwenden und diese in die Labeldatei abzuspeichern.
Labelmanipulation, Profile und Extrapolation
- Kopieren von Clonevalue Labels, auch mit Mehrfachauswahl
- Hinzufügen von Polygon Punkten im Lasso Modus
- Sichtbarkeit von Labelobjekten nur in bestimmten Ansichten
- Anzeigeprofile für Objekte und Overlays
- Vefügbarkeit des Copy und Linear Extrapolators für 3D Objekte
Hier bringt besonders das Kopieren von Clonevalue Objekten eine Zeitersparnis. Objekte die von der Form alle ähnlich sind kann man einfach duplizieren. Für eine Verwaltung von verschiedenen Ansichten gibt es die Möglichkeit Profile zu definieren, die es erlauben nur bestimmte Daten sichtbar zu machen. Die Standardextrapolatoren können jetzt ebenfalls in 3D- Projekten genutzt werden um z.B. dynamische Objekte im TopView zu verfolgen.
Objektdetektor-Schnittstelle
Die Objektdetektor-Schnittstelle wurde erweitert um mehr Funktionalität realisieren zu können. So kann man jetzt für jeden Objekttyp einen eigenen Detektor definieren, aber auch mit nur einem Detektor alle Objekttypen verarbeiten. Auch können unterschiedliche Pointclouds für unterschiedliche Objekttypen verwendet werden. Die Objektdetectoren können für selektierte Objekte zusätzliche Kontextmenüeinträge bereitstellen und so eine Vielzahl von Funktionen realiseiren.
Hohe Auflösung
Hier wurden verschiedene Objekttypen mit einem Objektdetektor markiert. Dazu klickt man nur auf das entsprechende Objekt und wählt aus den Kontextmenü den entsprechenden Objekttyp aus. Das Ergebnis kann dann nach der Detektion und Erzeugung mit weiteren durch einen Objektdetektor zur Verfügung gestellten Aktionen nachbearbeitet werden.
Zusätzlich können Objektdetektoren jetzt auch auf Videobilder in RAW Fenstern zugreifen und dort Objekte detektieren.
Hohe Auflösung
Das Bild zeigt eine Szene in der die Spurkanten mit Hilfe eines Objektdetektors markiert wurden. Jede Spur kann je nach Zusatzverarbeitung mit wenigen Mausklicks im RAW Fenster erzeugt werden.
Durch einen Callback in den Objektdetector, der beim Framewechsel ausgelöst wird, kann man für jedes neuen Bild schon eine Vorverarbeitung starten, ähnlich wie man es bisher auch mit einem ADTF-Filter realisiert hat.
Sonstige Änderungen
- Beschleunigung des Autosave
- Unterdrückung des Scan bei Infodaten
Trotz ausführlichen Tests ist auch der LE nicht immer vor Abstürzen sicher. Damit die Labler in solchen Fällen nicht ihre bisherige Arbeit verlieren gibt es schon sehr lange den Autosave. Dadurch, dass die Datenmengen aber immer größer werden, dauert der Autosave dann sehr lange und stört die Arbeit. Für Projekte die die Interpolation nutzen und deshalb im Verhältnis wenige Keyframes in den Labeldaten haben, wurde der Autosave dadurch erheblich beschleunigt, dass nur noch Keyframes abgespeichert werden.
Externe Daten werden schon in der Labeldatei abgespeichert um den sonst nötigen Scan der DAT-Datei beim nächsten Laden zu vermeiden. Jetzt werden auch definierte Info Tags abgespeichert und so der Scan nur noch einmal durchzuführen.
Gerne entwickelt Philosys im Rahmen von kundenfinanzierten Projekten auch weitere neue Features. Bitte melden Sie sich einfach.
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.
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.