-
Die vorliegende Erfindung betrifft ein Verfahren sowie ein System zur Objektmarkierung in Sensordaten.
-
Stand der Technik
-
Im Bereich des maschinellen Lernens werden häufig Trainingsdatensätze verwendet, die beispielsweise Bild- und/oder Videodaten enthalten können, um z.B. eine automatische Objekterkennung in solchen oder ähnlichen Daten zu lernen. Ein exemplarischer Einsatz einer solchen automatischen Objekterkennung kann z.B. ein autonomer Fahr- oder Flugbetrieb sein, um Objekte der Fahrzeugumgebung zu erkennen. Um hierbei eine zuverlässige Objekterkennung zu gewährleisten, kann eine hohe Anzahl von Trainingsdatensätzen erforderlich sein.
-
Häufig sind in einem (Trainings-) Datensatz identifizierte Objekte klassifiziert, markiert bzw. bezeichnet und bilden ein Objekt-Label-Paar, das zum maschinellen Lernen maschinell verarbeitet werden kann. Beispielsweise kann in einem Datensatz, in dem eine Szene einer Verkehrssituation erfasst ist, ein Straßenverlauf als Objekt mit einer Markierung versehen sein, die den Straßenverlauf als solchen bezeichnet bzw. klassifiziert. Insbesondere die Erzeugung von derartigen Bild- und Video-Annotationen, das heißt die Objektmarkierung in Bild- und Video-Datensätzen, kann kostenintensiv sein, da sich dies gar nicht oder nur sehr beschränkt automatisieren lässt. Deshalb werden solche Bild- und Video-Annotationen überwiegend von menschlichen Bearbeitern durchgeführt, wodurch beispielsweise das Annotieren eines aufgenommenen Bildes für die Semantische Segmentierung durchschnittlich mehr als eine Stunde dauern kann.
-
Offenbarung der Erfindung
-
Die Aufgabe der Erfindung ist es daher, eine Möglichkeit zur vereinfachten bzw. kostengünstigeren Bereitstellung von Objektmarkierungen bzw. Annotationen enthaltenden Daten zur Verfügung zu stellen.
-
Diese Aufgabe wird durch ein Verfahren sowie ein System zur Objektmarkierung in Sensordaten gemäß den unabhängigen Ansprüchen gelöst. Vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen, der Beschreibung sowie den begleitenden Figuren.
-
Ein derartiges Verfahren zur Objektmarkierung in Sensordaten kann insbesondere dazu verwendet werden, einen oder mehrere Trainingsdatensätze für maschinelles Lernen zu erzeugen. Das Verfahren weist die folgenden Schritte auf:
- - Zunächst wird eine Szene in einem ersten Zustand durch wenigstens einen Sensor erfasst. Die Szene kann z.B. eine Fahrzeugumgebung, ein Straßenbild, einen Straßenverlauf, eine Verkehrssituation oder ähnliches sein und statische und/oder Objekte, wie Verkehrsflächen, Gebäude, Verkehrsteilnehmer oder ähnliches, umfassen. Der Sensor kann ein einzelner optischer Sensor, wie etwa eine Kamera, ein LIDAR-Sensor sein oder eine Fusion von derartigen oder ähnlichen Sensoren umfassen.
- - Wenigstens einem in der Szene enthaltenen Objekt wird in einem die Szene im ersten Zustand enthaltenden ersten Datensatz eine erste Objektmarkierung, z.B. eine erste Annotation, zugeordnet. Der erste Datensatz kann ein Bild oder eine Bildsequenz enthalten, die die Szene in ihrem ersten Zustand wiedergibt, also z.B. ein Bild eines Straßenverlaufs enthält. Die erste Objektmarkierung kann beispielsweise das Objekt umrahmen, ausfüllen, beschriften oder auf sonstige Weise kennzeichnen, vorzugsweise jedoch optisch. Lediglich exemplarisch, kann also der Straßenverlauf maschinenlesbar nachgezeichnet sein. In anderen Worten können das Objekt und die Objektmarkierung ein Objekt-Label-Paar bilden, das z.B. beim maschinellen Lernen verarbeitbar ist. Die Objektmarkierung kann einer bestimmten Objektklasse, wie Straße, Baum, Gebäude, Verkehrszeichen, Fußgänger oder ähnlichem, zugeordnet sein.
- - Zudem wird die ähnliche oder zumindest im Wesentlichen übereinstimmende Szene in einem zu dem ersten Zustand unterschiedlichen, zweiten Zustand durch den wenigstens einen Sensor erfasst. Das kann im einfachsten Fall z.B. bedeuten, dass eine Straße wenigstens zweimal abgefahren und dabei durch den Sensor erfasst wird, wobei in diesem Fall z.B. unterschiedliche Uhrzeiten den ersten Zustand von dem zweiten Zustand unterscheiden können. Wie oben beschrieben, sind ein oder mehrere Objekte der Szene in dem ersten Zustand bereits markiert, also z.B. ein Straßenverlauf.
- - Dann erfolgt ein zumindest teilweises Übernehmen der in dem ersten Datensatz enthaltenen ersten Objektmarkierung für das im zweiten Zustand der Szene (wieder)erkannte Objekt als zweite Objektmarkierung in einem zweiten Datensatz. Anschaulich betrachtet, kann bei dem oben erwähnten Beispiel eines Straßenverlaufs dieser bereits nachgezeichnet sein. Selbstverständlich kann dieses Verfahren mit prinzipiell beliebig vielen Datensätzen und/oder Zuständen wiederholt werden.
-
Mit diesem Verfahren ist es möglich, die Bereitstellungskosten für Daten zu reduzieren, die Objektmarkierungen bzw. Annotationen enthalten. So müssen für den zweiten (dritten, vierten usw.) Datensatz zumindest nicht sämtliche Objektmarkierungen wieder komplett neu erstellt werden. Vielmehr muss dieser Aufwand nur einmal betrieben werden, wobei der zweite Datensatz dann daraus abgeleitet werden kann. Anschaulich betrachtet, kann ein zu erfassender Ort, für dessen Bildinhalt bereits eine Annotation existiert, in einem oder mehreren anderen Zuständen erneut erfasst werden, wobei der Aufwand der Annotation nur initial betrieben wird. Wenn zum Trainieren einer Funktion durch maschinelles Lernen der Ort zur Tagzeit und zur Nachtzeit erfasst vorliegen soll, wäre es in diesem Fall ausreichend, z.B. nur in der Tag-Szene eine Objektmarkierung zu setzen und diese für die Nacht-Szene zu übernehmen. Somit können auf Basis eines vorhandenen Objekt-Label-Paares eine Vielzahl von Trainingsdaten erzeugt werden, ohne dass jeweils Kosten für die Annotation entstehen.
-
Eine Weiterbildung sieht vor, dass zum Erkennen der Szene im zweiten Datensatz dem ersten Datensatz eine Ortsinformation der Szene zugeordnet wird. Die Ortsinformation kann z.B. durch einen geeigneten Sensor, z.B. durch GPS oder ähnliches bereitgestellt werden. Dadurch kann die Szene leichter wiedererkannt bzw. ein Datensatz einer bestimmten Szene leichter zugeordnet werden.
-
Gemäß einer anderen Weiterbildung können auch Sensordaten fusioniert werden, um die Ortsinformation bereitzustellen. Z.B. kann dies auf einer Kombination von GPS und einer Kamera-Intrinsik, z.B. in Form von Kalibrierungsdaten der Kamera oder ähnlichem, basieren. Auch Eigenbewegungs-Daten eines Fahrzeugs können berücksichtigt werden. Dadurch wird die Wiederkennung noch weiter verbessert.
-
Eine andere Weiterbildung sieht vor, dass zum Erkennen der Szene im zweiten Datensatz dem ersten Datensatz eine Blickwinkel- und/oder Lageinformation der Szene zugeordnet wird. Dies kann auch zusätzlich zur Zuordnung einer Ortsinformation erfolgen und z.B. auf einer Eigenbewegungs-Daten eines Fahrzeugs, durch GPS-Daten, einer Kamera-Instrinsik oder ähnlichem erfolgen. Dadurch wird die Wiederkennung noch weiter verbessert.
-
Gemäß einer Weiterbildung können eine Tiefenprädiktion, z.B. monokular, durch eine Stereo-Tiefenschätzung, eine Schätzung des optischen Flusses und/oder auf Basis von LIDAR-Daten, des bereits die erste Objektmarkierung aufweisenden Bildes, also auf Basis des ersten Datensatzes, durchgeführt werden. Es kann auch eine Prädiktion einer Semantischen Segmentierung in dem unbekannten Bild, also dem zweiten Datensatz, durchgeführt werden.
-
Eine Weiterbildung sieht vor, dass die Objektmarkierung bzw. das Label transformiert wird, damit die Objektmarkierung präziser zu dem neuen Bild des zweiten Datensatzes passt. Dieses Transformieren ist auch als warping bekannt.
-
Gemäß einer anderen Weiterbildung kann ein SLAM-Verfahren (Simultaneous Localization And Mapping) verwendet werden, um eine bessere Orts und Lagebestimmung zu erhalten.
-
Der Aufwand für die Objektmarkierung bzw. Annotation lässt sich besonders signifikant reduzieren, wenn das Übernehmen der ersten Objektmarkierung zumindest teilweise automatisiert durch ein Künstliches-Intelligenz-Modul, kurz Kl-Modul, erfolgt. Dieses kann wenigstens einen Prozessor aufweisen und z.B. durch Programmanweisungen dazu eingerichtet sein, menschenähnliche Entscheidungsstrukturen nachzubilden, um eigenständig Probleme, wie hier z.B. das automatische Objektmarkieren bzw. die Annotation, zu lösen.
-
Für eine besonders hohe Leistung des Verfahrens hat es sich als vorteilhaft erwiesen, wenn wenigstens ein künstliches neuronales Netz, das mehrschichtig und/oder faltend ausgestaltet sein kann, des KI-Moduls übereinstimmende Bildbereiche der Szene im ersten und zweiten Datensatz bestimmt.
-
Eine Weiterbildung sieht vor, dass das künstliche neuronale Netz eine pixelweise Übereinstimmungsmaske als Ausgabe bereitstellen kann. Dies kann eine gute Grundlage für eine manuelle, teilautomatische oder vollautomatische Weiterverarbeitung bilden.
-
Um noch mehr Kosten zu sparen, kann das KI-Modul durch den ersten und/oder zweiten Datensatz trainiert werden, wozu diese dem KI-Modul als Trainingsdatensatz zugeführt werden können.
-
Gemäß einer anderen Weiterbildung kann, vorzugsweise durch ein SLAM-Verfahren, wenigstens ein Unterscheidungsmerkmal der Szene zwischen dem ersten Zustand und dem zweiten Zustand bestimmt werden und dem Unterscheidungsmerkmal die zweite Objektmarkierung zugeordnet werden. Dies ist zumindest möglich, wenn das Unterscheidungsmerkmal, z.B. die Differenzklasse, bereits eine ausreichend gute Qualität (z.B. statistischer Test mit hoher Konfidenz) hat und das Vergleichsnetzwerk für den übrigen Bildinhalt der Szene eine Übereinstimmung anzeigt. Dann kann z.B. eine Option angeboten werden, die Objektmarkierung, also die Annotation, automatisch zu übernehmen. In anderen Worten, kann, z.B. auf Basis des oben erwähnten oder eines anderen künstlichen neuronalen Netzes, eine Prädiktion mit vorhandenen Trainingsdaten durchgeführt werden um evtl. Änderungen in der Szene zu detektieren. Da für die Szene schon ein Bild-Label-Paar in den Trainingsdaten existiert, kann eine hohe Prädiktionsqualität erreicht werden. Eine Differenz zwischen Annotation und Prädiktion gibt einen Hinweis darauf, welche Objekte nachannotiert werden muss.
-
Eine Weiterbildung sieht vor, dass die Szene im zweiten Zustand durch eine Bildsequenz erfasst werden kann und anhand von wenigstens einem dem zu markierenden Einzelbild vor- und/oder nachgelagerten Einzelbild eine ungünstige Position, aus der die Szene im zweiten Zustand erfasst ist, kompensiert werden kann.
-
Beispielsweise können sich der erste Zustand und der zweite Zustand der Szene durch Wetterverhältnisse, Lichtverhältnisse oder ähnliches unterscheiden. Beispielsweise kann die Szene bei durch Nebel gegenüber sonnigem Wetter verschlechterten Sichtverhältnissen, bei Nacht oder ähnlichem nochmals erfasst werden.
-
Gemäß einer anderen Weiterbildung kann der zweite Zustand bewirken, beispielsweise wenn der zweite Zustand Dunkelheit, schlechte Sichtverhältnisse oder ähnliches umfasst, dass ein oder mehrere Objekte der Szene im zweiten Datensatz nicht (mehr) sichtbar sind. Solche nicht sichtbaren Bereiche können in diesem Fall entsprechend markiert bzw. annotiert werden oder aufgrund von z.B. einem Signal-Rausch-Verhältnis automatisch ausgeschlossen werden.
-
Die Erfindung betrifft auch ein System zur Objektmarkierung in Sensordaten. Das System kann insbesondere gemäß dem vorstehend beschriebenen Verfahren betrieben und dementsprechend nach einer oder mehreren der vorstehend beschriebenen Ausführungsvarianten weitergebildet werden. Das System verfügt über wenigstens einen, vorzugsweise optischen, Sensor zum Erfassen einer Szene und über eine Datenverarbeitungseinrichtung, z.B. einem Computer mit einem Prozessor, einem Speicher und/oder ähnlichem. Die Datenverarbeitungseinrichtung ist dazu eingerichtet ist, wenigstens einem in der Szene enthaltenen Objekt in einem die Szene in einem ersten Zustand enthaltenden ersten Datensatz eine erste Objektmarkierung zuzuordnen, und die in dem ersten Datensatz enthaltene erste Objektmarkierung für das in einem zweiten Zustand der Szene erkannte Objekt als zweite Objektmarkierung in einem zweiten Datensatz zumindest teilweise zu übernehmen.
-
Gemäß einer Weiterbildung kann das System einen zweiten Sensor zur Orts- und/oder Lagebestimmung während des Erfassens der Szene aufweisen, wobei die Orts- und/oder Lagebestimmung der erfassten Szene, d.h. insbesondere dem ersten Datensatz, zuordbar ist. Der zweite Sensor kann z.B. einen oder mehrere Sensoren umfassen, wie beispielsweise zur GPS-Ortung, zur Eigenbewegungs-Bestimmung oder ähnliches.
-
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
-
Figurenliste
-
Im Folgenden werden vorteilhafte Ausführungsbeispiele der Erfindung mit Bezug auf die begleitenden Figuren detailliert beschrieben. Es zeigen:
- 1 ein Schema eines Systems, das sich mit einem dieser Erfindung zugrundeliegenden Verfahren betreiben lässt, und
- 2 eine praktische Anwendung des Verfahrens am Beispiel eines Straßenverlaufs.
-
Die Figuren sind lediglich schematisch und nicht maßstabsgetreu. In den Figuren sind gleiche, gleichwirkende oder ähnliche Elemente durchgängig mit gleichen Bezugszeichen versehen.
-
Ausführungsformen der Erfindung
-
1 zeigt ein Schema eines Systems 100, das sich zum teilautomatisierten und/oder vollautomatisierten Markieren bzw. Annotieren eines in einem Bild oder in einer Bildsequenz erkannten Objekts bzw. einer Objektklasse eignet.
-
Das System 100 umfasst eine Datenverarbeitungseinrichtung 110, die einen Prozessor, eine Speichereinrichtung, insbesondere für Programmcode usw., aufweisen kann. In diesem Ausführungsbeispiel weist die Datenverarbeitungseinrichtung 110 wenigstens ein Künstliches-Intelligenz-Modul 120, kurz Kl-Modul, auf, das exemplarisch über ein mehrschichtiges künstliches neuronales Netz 130 zur Mustererkennung in einem Bild oder in einer Bildsequenz eingerichtet ist. Zudem weist das System wenigstens einen ersten Sensor 140, der als optischer Sensor, beispielsweise als Kamera, ausgeführt ist, und wenigstens einen zweiten Sensor 150 zur Orts- und/oder Lagebestimmung auf. Die Sensoren 140, 150 sind hier exemplarisch an bzw. in einem Kraftfahrzeug 160 angeordnet und können auch einem anderen Fahrzeugsystem entliehen sein. So kann der erste Sensor 140 Teil eines Fahrassistenzsystems sein, das auch für einen autonomen Fahrbetrieb des Kraftfahrzeugs 160 eingerichtet sein kann. Der zweite Sensor 150 kann Teil eines Navigationssystems, eines Odometrie-Systems oder ähnlichem sein.
-
Das System 100 kann mit dem nachfolgend beschriebenen Verfahren betrieben werden.
-
Zunächst wird das Kraftfahrzeug 160 durch eine Szene 170 bewegt, bei der es sich hier exemplarisch um eine Verkehrssituation mit einem Objekt 180 handelt, das z.B. ein statisches Objekt in Form eines Straßenverlaufs, eines Verkehrszeichens usw. sein kann. Diese Szene 170 wird mittels des ersten Sensors 140 in einem ersten Zustand als Bild oder Bildsequenz aufgenommen und in einem ersten Datensatz 190 gespeichert. Der erste Zustand der Szene 170 entspricht beispielsweise einer Tag-Fahrt des Kraftfahrzeugs 160 durch die Szene, wobei hier eine entsprechend taghelle Beleuchtung der Szene angenommen wird. Anhand der Orts- und/oder Lagebestimmung durch den zweiten Sensor 150 werden in dem ersten Datensatz 190 auch eine Ortsinformation, der Ort, an dem die Szene aufgenommen wurde, und eine Blickwinkel- und/oder Lageinformation festgehalten.
-
Die gleiche oder zumindest ähnliche Szene wird erneut in einem zweiten Zustand aufgenommen, der sich von dem ersten Zustand unterscheidet, weshalb die erneut aufgenommene Szene im zweiten Zustand in 1 mit 170' bezeichnet ist. Dies entspricht hier beispielhaft einer Nacht-Fahrt des Kraftfahrzeugs 160 durch die Szene 170', wobei hier eine entsprechend nachtdunkle Umgebung angenommen wird. Ferner wird angenommen, dass das Objekt 180 noch immer Teil der Szene 170' ist. Diese Szene 170' in dem zweiten Zustand wird in einem zweiten Datensatz 190' gespeichert.
-
Des Weiteren wird der erste Datensatz 180 der Datenverarbeitungseinrichtung 110 zugeführt und mit dessen Hilfe, z.B. manuell oder teilautomatisiert, ggf. auch vollautomatisiert durch das KI-Modul 120, das Objekt 190 mit einer ersten Objektmarkierung 195, d.h. einer Annotation, markiert. Die erste Objektmarkierung 195 kann z.B. eine Hervorhebung eines Straßenverlaufs sein.
-
Auch der zweite Datensatz 190' wird der Datenverarbeitungseinrichtung 110 zugeführt und darin verarbeitet. Das KI-Modul 120 ist ferner dazu eingerichtet, das Objekt 180 in dem zweiten Datensatz 190' zu erkennen und diesem eine zweite Objektmarkierung 195' zuzuordnen, die bei unverändertem Objekt 180 gleich ist zu der ersten Objektmarkierung 195 im ersten Datensatz 190. Für die (Wieder) Erkennung der Szene 170' und/oder des Objekts 180 greift das KI-Modul 120 auf die Informationen zu Ort und Lage der Aufnahme der Szene 170 zurück, die in dem ersten Datensatz 190 gespeichert sind. Als Ergebnis der Verarbeitung durch das KI-Modul 120 enthält nun auch der zweite Datensatz 190' die ähnliche oder gleiche Szene 170' und die zweite Objektmarkierung 195'.
-
Wie in 1 angedeutet, dienen der erste und der zweite Datensatz 190, 190' als Trainingsdatensatz 200 für das KI-Modul 120 selbst oder für ein weiteres KI-Modul 210, das beispielsweise auch Teil eines autonom fahrenden Fahrzeugs sein kann.
-
2 zeigt auf der linken Seite eine exemplarische Szene 170, bei dem das Objekt 180 ein Straßenverlauf ist, der hier bereits mit der ersten Objektmarkierung 195 versehen ist. Es wird angenommen, dass während der Aufnahme der Szene 170 vergleichsweise schlechtes Wetter herrschte und deshalb die Sicht leicht eingeschränkt ist. Auf der rechten Seite der 2 ist die Szene 170' nochmals bei klarerem Wetter aufgenommen. Das KI-Modul 120 hat die Szene 170' (wieder)erkannt und hat dem Objekt 180, also dem Straßenverlauf, die zweite Objektmarkierung 195' automatisch zugeordnet.
-
Ausgehend von dem dargestellten Ausführungsbeispiel können das System 100 und das vorstehend beschriebene Verfahren in vielerlei Hinsicht abgewandelt werden. So ist es beispielsweise möglich, dass auf Basis des ersten Datensatzes 190 eine Tiefenprädiktion, z.B. monokular, durch eine Stereo-Tiefenschätzung, eine Schätzung des optischen Flusses und/oder auf Basis von LIDAR-Daten, des bereits die erste Objektmarkierung aufweisenden Bildes, durchgeführt wird. Es kann auch eine Prädiktion einer Semantischen Segmentierung in dem unbekannten Bild, also dem zweiten Datensatz, durchgeführt werden. Des Weiteren ist es denkbar, dass die erste Objektmarkierung 195 transformiert wird, damit die Objektmarkierung präziser zu dem neuen Bild des zweiten Datensatzes 190' passt. Dieses Transformieren ist auch als warping bekannt. Zudem ist es möglich, dass ein SLAM-Verfahren (Simultaneous Localization And Mapping) verwendet wird, um eine bessere Orts und Lagebestimmung zu erhalten. Es ist auch denkbar, dass das künstliche neuronale Netz 130 eine pixelweise Übereinstimmungsmaske als Ausgabe bereitstellen kann. Dies kann eine gute Grundlage für eine manuelle, teilautomatische oder vollautomatische Weiterverarbeitung bilden. Zudem ist es möglich, dass insbesondere durch das SLAM-Verfahren wenigstens ein Unterscheidungsmerkmal der Szene 170, 170' zwischen dem ersten Zustand und dem zweiten Zustand bestimmt wird und dem Unterscheidungsmerkmal die zweite Objektmarkierung 195' zugeordnet wird, zumindest wenn das Unterscheidungsmerkmal, z.B. die Differenzklasse, bereits eine ausreichend gute Qualität (z.B. statistischer Test mit hoher Konfidenz) hat und das künstliche neuronale Netz 130 für den übrigen Bildinhalt der Szene 170, 170' eine Übereinstimmung anzeigt, z.B. eine Option angeboten wird, die Objektmarkierung 195 automatisch zu übernehmen.