-
EINLEITUNG
-
Die vorliegende Offenbarung bezieht sich auf die bildbasierte dreidimensionale (3D) Fahrbahnerkennung.
-
Fahrzeuge (z.B. Automobile, Lastkraftwagen, Baumaschinen, landwirtschaftliche Geräte, automatisierte Fabrikausrüstungen) sind zunehmend mit autonomen oder halbautonomen Betriebsfähigkeiten verfügbar. Der autonome oder halbautonome Betrieb (z.B. Kollisionsvermeidung, adaptive Geschwindigkeitsregelung, automatisches Bremsen, Fahrbahnverlassenserkennung) stützt sich auf Sensoren, die Informationen über das Fahrzeug und seine Umgebung erfassen. Zu den beispielhaften Sensoren gehören Kameras, Radarsysteme und Lidarsysteme. Zu den beispielhaften Informationen, die von den Sensoren erfasst werden, gehören der Betriebszustand des Fahrzeugs (z.B. Geschwindigkeit, Kurs, Gierrate) und Kontextinformationen (z.B. Position des Fahrzeugs innerhalb der Fahrbahn oder relativ zum benachbarten Fahrzeug). Die Erkennung von Fahrbahnen, die durch die Erkennung von Fahrbahnlinien, Mittellinien und anderen Fahrbahnmarkierungen auf der Straße erleichtert wird, ist für viele halbautonome Operationen sowie für den autonomen Betrieb erforderlich. Dementsprechend ist es wünschenswert, eine bildbasierte dreidimensionale (3D) Fahrbahnerkennung bereitzustellen.
-
BESCHREIBUNG
-
In einer beispielhaften Ausführungsform umfasst ein Verfahren zur Durchführung einer bildbasierten dreidimensionalen (3D) Fahrbahnerkennung das Erhalten bekannter 3D-Punkte einer oder mehrerer Fahrbahnmarkierungen in einem Bild, das die eine oder mehreren Fahrbahnmarkierungen enthält, und die Überlagerung des Bildes mit einem Gitter von Ankerpunkten. Jeder der Ankerpunkte ist ein Mittelpunkt von i konzentrischen Kreisen. Das Verfahren umfasst auch die Erzeugung eines i-Längenvektors und das Setzen eines Indikatorwertes für jeden der Ankerpunkte auf der Grundlage der bekannten 3D-Punkte als Teil eines Trainingsprozesses eines neuronalen Netzes sowie die Verwendung des neuronalen Netzes, um 3D-Punkte einer oder mehrerer Fahrbahnmarkierungen in einem zweiten Bild zu erhalten.
-
Zusätzlich zu einem oder mehreren der hierin beschriebenen Merkmale umfasst das Verfahren für jede der einen oder mehreren Fahrbahnmarkierungen die Bestimmung eines der Ankerpunkte, der einem Startpunkt der einen der einen oder mehreren Fahrbahnmarkierungen am nächsten liegt, als zugeordneten Ankerpunkt der einen der einen oder mehreren Fahrbahnmarkierungen.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale umfasst das Verfahren für jede der einen oder mehreren Fahrbahnmarkierungen das Erhalten eines Schnittes der einen der einen oder mehreren Fahrbahnmarkierungen mit jedem konzentrischen Kreis des zugeordneten Ankerpunktes und einer Elevation am Schnitt.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale enthält der i-Längenvektor für den zugeordneten Ankerpunkt, der mit jeder der einen oder mehreren Fahrbahnmarkierungen verbunden ist, i-Paare des Schnitts und der Elevation, die den i konzentrischen Kreisen und dem Indikatorwert 1 zugeordnet sind.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale hat für jeden der Ankerpunkte, der nicht zu den zugeordneten Ankerpunkten gehört, der i-Längenvektor Werte von <0, 0> und der Indikatorwert ist 0 oder ein Wert größer als 0, aber kleiner als 1.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale umfasst das Verfahren die Überlagerung des Gitters von Ankerpunkten und der konzentrischen Kreise, die mit jedem der Ankerpunkte auf dem zweiten Bild korrespondieren.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale umfasst das Verfahren das Erhalten eines i-Längenvektors für jeden der Ankerpunkte auf dem zweiten Bild.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale umfasst die Verwendung des neuronalen Netzes zum Erhalten der 3D-Punkte der einen oder mehreren Fahrbahnmarkierungen im zweiten Bild das Übersetzen des i-Längenvektors für jeden der Ankerpunkte auf dem zweiten Bild in die 3D-Punkte der einen oder mehreren Fahrbahnmarkierungen in dem zweiten Bild basierend auf dem Trainingsprozess des neuronalen Netzes.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale umfasst das Verfahren die Aufnahme des zweiten Bildes mit einer Fahrzeugkamera.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale umfasst das Verfahren die Durchführung eines autonomen oder halbautonomen Betriebs des Fahrzeugs unter Verwendung der 3D-Punkte der einen oder mehreren Fahrbahnmarkierungen im zweiten Bild.
-
In einer anderen beispielhaften Ausführungsform umfasst ein System zur bildbasierten dreidimensionalen (3D) Fahrbahnerkennung eine Kamera, um ein Bild mit einer oder mehreren Fahrbahnmarkierungen zu erhalten, und eine Steuerung, um bekannte 3D-Punkte der einen oder mehreren Fahrbahnmarkierungen im Bild zu erhalten und ein Gitter von Ankerpunkten auf dem Bild zu überlagern. Jeder der Ankerpunkte ist ein Mittelpunkt von i konzentrischen Kreisen. Die Steuerung erzeugt auch einen i-Längenvektor und einen Indikatorwert für jeden der Ankerpunkte auf der Grundlage der bekannten 3D-Punkte als Teil eines Trainingsprozesses eines neuronalen Netzes und verwendet das neuronale Netz, um 3D-Punkte einer oder mehrerer Fahrbahnmarkierungen in einem zweiten Bild zu erhalten.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale bestimmt die Steuerung für jede der einen oder mehreren Fahrbahnmarkierungen einen der Ankerpunkte, der einem Startpunkt der einen oder mehreren Fahrbahnmarkierungen am nächsten liegt, als zugeordneten Ankerpunkt der einen der einen oder mehreren Fahrbahnmarkierungen.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale erhält die Steuerung für jede der einen oder mehreren Fahrbahnmarkierungen einen Schnitt der einen oder mehreren Fahrbahnmarkierungen mit jedem konzentrischen Kreis des zugeordneten Ankerpunktes und eine Elevation am Schnitt.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale bestimmt die Steuerung für den zugeordneten Ankerpunkt, der jeder der einen oder mehreren Fahrbahnmarkierungen zugeordnet ist, den i-Längenvektor als i-Paare des Schnittes und der Elevation, die den i konzentrischen Kreisen und dem Indikatorwert als 1 zugeordnet sind.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale bestimmt die Steuerung für jeden der Ankerpunkte, der nicht zu den zugeordneten Ankerpunkten gehört, den i-Längenvektor als i-Werte von <0, 0> und den Indikatorwert als 0 oder einen Wert größer als 0, aber kleiner als 1.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale überlagert die Steuerung das Gitter der Ankerpunkte und die konzentrischen Kreise, die mit jedem der Ankerpunkte auf dem zweiten Bild korrespondieren.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale erhält die Steuerung einen i-Längenvektor für jeden der Ankerpunkte auf dem zweiten Bild.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale übersetzt die Steuerung den i-Längenvektor für jeden der Ankerpunkte auf dem zweiten Bild in die 3D-Punkte der einen oder mehreren Fahrbahnmarkierungen in dem zweiten Bild, basierend auf dem Trainingsprozess des neuronalen Netzes.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale erhält die Kamera das zweite Bild, und die Kamera befindet sich in einem Fahrzeug.
-
Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale führt die Steuerung einen autonomen oder halbautonomen Betrieb des Fahrzeugs unter Verwendung der 3D-Punkte der einen oder mehreren Fahrbahnmarkierungen im zweiten Bild durch.
-
Die oben genannten Merkmale und Vorteile sowie andere Merkmale und Vorteile der Offenbarung sind aus der folgenden detaillierten Beschreibung einfach ersichtlich, wenn sie in Verbindung mit den beigefügten Zeichnungen genommen werden.
-
Figurenliste
-
Weitere Merkmale, Vorteile und Details erscheinen lediglich beispielhaft in der folgenden ausführlichen Beschreibung, wobei sich die ausführliche Beschreibung auf die Zeichnungen bezieht, in denen:
- 1 ein Blockdiagramm eines Fahrzeugs ist, das eine bildbasierte dreidimensionale Fahrbahnerkennung durchführt, gemäß einer oder mehrerer Ausführungsformen;
- 2 Aspekte eines Trainings eines neuronalen Netzes zur Durchführung einer bildbasierten dreidimensionalen Fahrbahnerkennung veranschaulicht, gemäß einer oder mehrerer Ausführungsformen;
- 3 zusätzliche Aspekte des Trainingsprozesses veranschaulicht, der verwendet wird, um bildbasierte dreidimensionale Fahrbahnerkennung durchzuführen, gemäß einer oder mehrerer Ausführungsformen; und
- 4 ein Prozessablauf eines Verfahrens zur Durchführung einer bildbasierten dreidimensionalen Fahrbahnerkennung ist, gemäß einer oder mehrerer Ausführungsformen.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende Beschreibung hat lediglich beispielhaften Charakter und soll die vorliegende Offenbarung, ihre Anwendung oder Verwendungen nicht einschränken. Es ist zu verstehen, dass in den Zeichnungen durchgehend gleiche Referenzziffern auf gleiche oder entsprechende Teile und Merkmale hinweisen.
-
Wie bereits erwähnt, erfordert der autonome oder teilautonome Betrieb eines Fahrzeugs Informationen über das Fahrzeug und seine Umgebung. Zu den Informationen, die für den Fahrzeugbetrieb benötigt werden, gehört eine genaue Erfassung der auf der Fahrspur ausgewiesenen Fahrbahnen. Diese Informationen sind erforderlich, um einen sicheren Betrieb und eine autonome oder teilautonome Navigation des Fahrzeugs zu gewährleisten. Während die Fahrbahnerkennung auf Autobahnen oder in städtischen Gebieten zwischen Kreuzungen weniger problematisch ist, ist die Fahrbahnerkennung durch Kreuzungen oder in Bereichen, in denen sich Fahrbahnen kreuzen, komplizierter. Dies liegt an der Krümmung der Fahrbahnen (z.B. Fahrbahn, die eine 90-Grad-Kurve anzeigt). Im Allgemeinen müssen gemäß vorherigen Ansätzen relativ gerade Fahrbahnsegmente auf beiden Seiten einer Kreuzung erkannt und z.B. heuristisch kombiniert werden. Dies kann zu unzuverlässigen Ergebnissen führen. Die Ausführungsformen der hier beschriebenen Systeme und Verfahren beziehen sich auf die bildbasierte 3D-Fahrbahnerkennung. Konkret wird ein Ende-zu-Ende-Tiefenlernansatz (end-to-end deep learning approach) verwendet, um 3D-Punkte einer Fahrbahnlinie, Mittellinie oder ähnliches (hier zu Erklärungszwecken als Fahrbahnmarkierung bezeichnet) in Echtzeit auf der Grundlage eines Trainingsprozesses auszugeben. Der kurvenbasierte Ansatz zur Darstellung von Fahrbahnmarkierungen zu Trainingszwecken gemäß einer oder mehrerer Ausführungsformen eignet sich besser für Kreuzungen und Übergänge, bei denen die Fahrbahnen in der Regel nicht gerade sind. In Echtzeit werden die 3D-Punkte von Fahrbahnmarkierungen in einem Bild auf der Grundlage eines Wertevektors relativ zu Ankerpunkten, deren Positionen bekannt sind, bereitgestellt.
-
Gemäß einer beispielhaften Ausführungsform ist 1 ein Blockdiagramm eines Fahrzeugs 100, das eine bildbasierte 3D-Fahrbahnerkennung durchführt. Das beispielhafte Fahrzeug 100 in 1 ist ein Automobil 101. Das Fahrzeug 100 ist mit Kameras 110, einem Radarsystem 130 und einem Lidarsystem 140 dargestellt. Diese beispielhaften Sensoren sind nicht dazu gedacht, die Anzahl oder Platzierung zusätzlicher Sensoren im und am Fahrzeug 100 zu begrenzen. Zum Beispiel kann die Anzahl und Platzierung der Kameras 110 so konfiguriert werden, dass eine 360-Grad-Sicht um das Fahrzeug 100 herum entsteht. Eine Steuerung 120 ist ebenfalls abgebildet. Die Steuerung 120 kann die Fahrbahnerkennung und andere Informationen nutzen, um einen oder mehrere Aspekte des Betriebs des Fahrzeugs 100 zu steuern.
-
Gemäß einer oder mehrerer Ausführungsvarianten verwendet die Steuerung 120 auch Bilder einer oder mehrerer Kameras 110, um eine 3D-Darstellung einer Fahrbahnmarkierung 210 (2) (z.B. Fahrbahnlinie, Mittellinie) in der Nähe des Fahrzeugs 100 zu erhalten. Dazu trainiert die Steuerung 120 zunächst ein neuronales Netz. Konkret wird ein Ende-zu-Ende-Tiefenlernen verwendet. Beim Tiefenlernen werden die Algorithmen in Schichten strukturiert, um ein neuronales Netz zu schaffen, das selbstständig lernen und Ergebnisse liefern kann. Ende-zu-Ende zeigt an, dass eine Nachbearbeitung (z.B. Clustering, Kurvenanpassung) der Ausgabe des neuronalen Netzes nicht erforderlich ist. Stattdessen ist die Ausgabe des neuronalen Netzes im Echtzeiteinsatz nach dem Training die endgültige gewünschte Ausgabe (d.h. 3D-Darstellungen aller Fahrbahnmarkierungen 210 im Bild). Die Steuerung 120 umfasst eine Verarbeitungsschaltung, die eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder als Gruppe) und einen Speicher, der ein oder mehrere Software- oder Firmware-Programme ausführt, eine kombinierte Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bereitstellen, umfassen kann.
-
2 veranschaulicht Aspekte des Trainings eines neuronalen Netzes zur Durchführung einer bildbasierten 3D-Fahrbahnerkennung gemäß einer oder mehrerer Ausführungsformen. Es wird ein Draufsichtbild einer beispielhaften Fahrbahnmarkierung 210 gezeigt. Im Trainingsprozess, der unter Bezugnahme auf 4 weiter diskutiert wird, werden bekannte 3D-Punkte einer Fahrbahnmarkierung 210 verwendet, um einen Vektor relativ zu einem Ankerpunkt 220 zu erhalten, wie beschrieben. Ein Ankerpunkt 220 ist der Mittelpunkt von drei exemplarischen konzentrischen Kreisen 230. Jeder der konzentrischen Kreise 230 repräsentiert einen radialen Abstand (z.B. 10 Meter (m), 20 m und 50 m) vom Ankerpunkt 220, wie angegeben. Der Schnitt 240 der Fahrbahnmarkierung 210 mit jedem konzentrischen Kreis 230 ist angegeben und wird mit I1, I2 und I3 bezeichnet. Die 3D-Positionen von I1, I2 und I3 sind während des Trainingsprozesses bekannt (d.h. es handelt sich um die Bodenwahrheit). Diese Positionen werden mit Hilfe des neuronalen Netzes des Trainings in Echtzeit bestimmt. Jeder der drei beispielhaften Schnitte 240 in 2 kann als <xi, zi> dargestellt werden, wobei i = 1, 2 oder 3 im Beispielfall ist. Jedes xi kann ein Winkel zwischen einer Linie vom Ankerpunkt 220 zum entsprechenden Schnitt 240 und einer x-Achsen-Linie, sin(Winkel) oder eine andere Darstellung des Schnittes 240 relativ zum Ankerpunkt 220 sein, und jedes zi ist eine Elevation am Schnitt 240. Da die Schnitte 240 der Fahrbahnmarkierung 210 mit konzentrischen Kreisen 230 von Interesse sind und nicht die Schnitte mit Linien, kommt dieser radiale Ansatz gemäß einer oder mehrerer Ausführungsformen jeder Form oder Richtung der Fahrbahn entgegen (d.h. jede Richtung schneidet sich mit einem Kreis, aber nicht unbedingt mit einer Linie).
-
Wie unter Bezugnahme auf 3 diskutiert, kann ein Vektor von <xi, zi> Werten für jede Fahrbahnmarkierung 210 in einem Bild als Teil des Trainingsprozesses des von der Steuerung 120 implementierten neuronalen Netzes erhalten werden. Das heißt, der Prozess des Erhaltens eines Vektors von <xi, z1> Werten für 3D-Punkte einer Fahrbahnmarkierung 210, der mit Bezug auf 2 diskutiert wird, wird während des Trainingsprozesses iterativ für verschiedene Fahrbahnmarkierungen 210 wiederholt. Der Ankerpunkt 220 und die entsprechenden konzentrischen Kreise 230, die zur Bestimmung des Vektors <xi, zi> für verschiedene Fahrbahnmarkierungen 210 verwendet werden, können unterschiedlich sein. Die Bestimmung, welcher Ankerpunkt 220 und entsprechenden konzentrischen Kreise 230 zu verwenden sind, wird unter Bezugnahme auf 3 diskutiert. Einige Ankerpunkte 220 mögen keiner Fahrbahn 210 zugeordnet werden. So kann jeder Ankerpunkt 220 einem Vektor der Länge i zugeordnet werden, wobei i die Anzahl der konzentrischen Kreise ist, die mit dem Ankerpunkt 220 korrespondieren. Darüber hinaus kann jedem Ankerpunkt 220 ein Indikator (z.B. 0, 1) zugeordnet werden, der angibt, ob eine Fahrbahnmarkierung 210 mit diesem Ankerpunkt 220 verbunden ist oder nicht. Das Training des neuronalen Netzes unter Verwendung der i-Längenvektoren und der entsprechenden Indikatorwerte wird unter Bezugnahme auf 4 weiter diskutiert.
-
3 veranschaulicht zusätzliche Aspekte des Trainingsprozesses, der Teil der bildbasierten 3D-Fahrbahnerkennung gemäß einer oder mehrerer Ausführungsformen ist. Weiterführend wird auf 2 verwiesen. 3 zeigt ein Draufsichtbild, das beispielhafte Fahrbahnmarkierungen 210 zu Erklärungszwecken zeigt. Im Einzelnen sind die Fahrbahnmarkierungen 210a, 210b, 210c und 210d angegeben. Das Bild ist mit Anmerkungen versehen, die auf ein Gitter von Ankerpunkten 220 und die entsprechenden konzentrischen Kreise 230 hinweisen. Es wird davon ausgegangen, dass jede Fahrbahnmarkierung 210 eine Richtung und damit einen Startpunkt 310 innerhalb des Bildes hat. Die jeweiligen Startpunkte 310a, 310b (im Allgemeinen 310) der Fahrbahnmarkierungen 210a und 210b sind angegeben. Da die Darstellung in 3 Teil des Trainingsprozesses ist, sind die 3D-Punkte jeder der Fahrbahnmarkierungen 210a, 210b, 210c, 210d bekannt.
-
Der Ankerpunkt 220, der dem Startpunkt 310 einer gegebenen Fahrbahnmarkierung 210 am nächsten liegt, ist der Ankerpunkt 220, der der Fahrbahnmarkierung 210 für die Zwecke der Bestimmung des i-Längenvektors zugeordnet ist. Während jeder Ankerpunkt 220 mit nur zwei konzentrischen Kreisen 230 dargestellt wird, sollte verstanden werden, dass die Anzahl der konzentrischen Kreise 230 und der Abstand zwischen benachbarten der konzentrischen Kreise 230 nicht begrenzt ist. Je grösser die Anzahl der konzentrischen Kreise 230 (d.h. je grösser der Wert von i) und je kleiner der Abstand zwischen ihnen, desto grösser ist die Granularität in den erhaltenen Vektoren. Je größer der größte der konzentrischen Kreise 230 ist, desto größer ist auch die Wahrscheinlichkeit, dass ein wesentlicher Teil einer gegebenen Fahrbahnmarkierung 210 mit den konzentrischen Kreisen 230 interagiert (d.h. die gegebene Fahrbahnmarkierung 210 befindet sich innerhalb der konzentrischen Kreise 230).
-
Wie bereits erwähnt, werden die konzentrischen Kreise 230, die dem Ankerpunkt 220 zugeordnet sind, der dem Startpunkt 310 einer Fahrbahnmarkierung 210 am nächsten liegt, verwendet, um die Schnittpunkte 240 und den i-Längenvektor für die Fahrbahn 210 zu erhalten, gemäß dem unter Bezugnahme auf 2 diskutierten Verfahren. Einige Ankerpunkte 220 im Gitter liegen möglicherweise nicht am nächsten zum Startpunkt 310 einer Fahrbahnmarkierung 210. Zum Beispiel kann der Ankerpunkt 220x, der nicht einer der Ankerpunkte 220a, 220b, 220c, 220d ist, der einer der beispielhaften Fahrbahnmarkierungen 210a, 210b, 210c, 210d zugeordnet ist, einen Indikatorwert von 0 haben, um anzuzeigen, dass keine Fahrbahnmarkierung 210 mit ihm verbunden ist. Da sich der Startpunkt 310c der Fahrbahnmarkierung 210c zwischen den Ankerpunkten 220c und 220x befindet, kann der dem Ankerpunkt 220x zugeordnete Indikatorwert, der anzeigt, ob eine Fahrbahnmarkierung 210 diesem Ankerpunkt 220 zugeordnet ist oder nicht, alternativ einen Wert zwischen 0 und 1 haben. Außerdem schneidet sich die Fahrbahnmarkierung 210c mit einem der konzentrischen Kreise 230, die dem Ankerpunkt 220x zugeordnet sind, wie in 3 angegeben. Somit wird einer der i-Vektorwerte den entsprechenden <xi, zi> Wert dieses Schnittes anzeigen. Die feste Größe (i x 2) des Vektors für jeden Ankerpunkt 220, unabhängig davon, ob eine Fahrbahnmarkierung 210 dem Ankerpunkt 220 zugeordnet ist oder nicht, erleichtert das Training eines neuronalen Netzes, wie in 4 weiter diskutiert.
-
Im Allgemeinen werden als Eingabe für den Trainingsprozess für das neuronale Netz bodenwahre (d.h. bekannte) 3D-Punkte von Fahrbahnmarkierungen 210 und entsprechende Bilder verwendet. Unter Verwendung des unter Bezugnahme auf 2 und 3 besprochenen Prozesses werden für jeden Ankerpunkt 220 in einem Gitter von Ankerpunkten 220 auf der Grundlage der 3D-Punkte i-Längenvektoren und entsprechende Indikatorwerte bestimmt. Das heißt, das Training des neuronalen Netzes umfasst die Erzeugung von Bodenwahrheits-Vektordarstellungen aus bodenwahren 3D-Punkten, die jeder Fahrbahnmarkierung 210 eines Satzes von Fahrbahnmarkierungen 210 entsprechen. Anschließend wird in Echtzeit ein Bild mit den Fahrbahnmarkierungen 210 erzeugt. Die Steuerung 120 verwendet das trainierte neuronale Netz, um Vektoren zu erzeugen, die jeder im Bild angezeigten Fahrbahnmarkierung 210 entsprechen. D.h. die 3D-Punkte der Fahrbahnmarkierungen 210 sind in Echtzeit nicht bekannt, aber die Überlagerung der Ankerpunkte 220 und der entsprechenden konzentrischen Kreise 230 erleichtert es, die Vektoren entsprechend dem unter Bezugnahme auf 2 und 3 diskutierten Verfahren zu erhalten. Auf der Grundlage dieser Vektoren liefert das trainierte neuronale Netz 3D-Punkte für jede Fahrbahnmarkierung 210. Die Bereitstellung der 3D-Punkte basiert auf dem Training des neuronalen Netzes hinsichtlich der Korrespondenz zwischen den Vektoren und den zugeordneten Ankerpunkten 220 und den 3D-Punkten.
-
4 ist ein Prozessablauf eines Verfahrens 400 zur Durchführung einer bildbasierten 3D-Fahrbahnerkennung gemäß einer oder mehrerer Ausführungsformen. Es wird weiter auf 2 und 3 verwiesen. Prozesse, die Teil der Trainingsphase 410 sind, werden von Prozessen unterschieden, die Teil der Echtzeit-Anwendungsphase 430 sind. Die Prozesse der Trainingsphase 410 können iterativ für mehrere Bilder, die Fahrbahnmarkierungen 210 enthalten, durchgeführt werden. Bei Block 415 umfassen die Prozesse der Trainingsphase 410 das Erhalten eines Bildes und einer Liste von 3D-Punkten, die jeder Fahrbahnmarkierung 210 im Bild zugeordnet sind. Im Block 420 umfasst die Zuordnung jeder Fahrbahnmarkierung 210 zu einem Ankerpunkt 220 die Überlagerung eines Gitters von Ankerpunkten 220 auf dem Bild, wie in 3 gezeigt, und die Bestimmung des Ankerpunktes 220, der einem Startpunkt 310 jeder Fahrbahnmarkierung 210 am nächsten liegt.
-
In Block 425 bezieht sich die Erzeugung eines Vektors für jeden Ankerpunkt 220 des Gitters auf die Erzeugung eines i-Längenvektors für jeden Ankerpunkt 220, wie unter Bezugnahme auf 2 und 3 diskutiert. Wie diskutiert, ist i die Anzahl der konzentrischen Kreise 230, die jedem Ankerpunkt 220 zugeordnet sind. Zusätzlich wird auch ein Indikatorwert für jeden Ankerpunkt 220 im Block 425 bestimmt. Dieser Indikatorwert gibt an, ob dieser Ankerpunkt 220 einer Fahrbahnmarkierung 210 zugeordnet ist oder nicht. Alternativ kann der Indikatorwert auch die Wahrscheinlichkeit angeben, dass ein bestimmter Ankerpunkt 220 einer Fahrbahnmarkierung 210 zugeordnet ist (z.B. ein Wert zwischen 0 und 1). Wie bereits erwähnt, können die Prozesse an den Blöcken 415, 420 und 425 für verschiedene Bilder einschließlich verschiedener Fahrbahnmarkierungen 210 mit bekannten 3D-Punkten wiederholt werden, um das neuronale Netz auf die Übersetzung zwischen 3D-Punkten und Vektoren zu trainieren.
-
Bei Block 435 umfassen die Prozesse der Echtzeit-Anwendungsphase 430 das Erhalten eines Bildes mit einer oder mehreren Kameras 110 des Fahrzeugs 100. Zum Beispiel kann ein kombiniertes Bild, wie z.B. ein 360-Grad-Umfeldbild, durch Zusammenfügen von Bildern verschiedener Kameras 110 erhalten werden. Alternativ kann auch ein einzelnes Bild von einer einzigen Kamera 110 erhalten werden. In Block 440 bezieht sich die Erzeugung eines Vektors pro Fahrbahnmarkierung 210 auf die Überlagerung eines Gitters von Ankerpunkten 220 auf dem in Block 415 erhaltenen Bild und die Durchführung des unter Bezugnahme auf 2 und 3 besprochenen Verfahrens. Konkret enthält jeder Ankerpunkt 220 des Gitters i entsprechende konzentrische Kreise 230, und der Vektor ist ein i-Längenvektor, der erzeugt wird, ohne die 3D-Punkte der Fahrbahnmarkierung 210 zu kennen, wobei jedoch der Schnitt der Fahrbahnmarkierung 210 mit den konzentrischen Kreisen 230 eines Ankerpunktes 220 bekannt ist. Der relevante Ankerpunkt 220 ist der Ankerpunkt 210, der dem Startpunkt 310 der Fahrbahnmarkierung 210 am nächsten liegt. Auch hier kann für jeden Ankerpunkt 220 ein Indikatorwert festgelegt werden, um seine Relevanz in Bezug auf jede Fahrbahnmarkierung 210 anzuzeigen (d.h. die Wahrscheinlichkeit, dass der Ankerpunkt 220 dem Startpunkt 310 einer Fahrbahnmarkierung 210 am nächsten liegt).
-
Im Block 445 bezieht sich das Setzen des Startpunktes jeder Fahrbahnmarkierung 210 als korrespondierender Ankerpunkt 220 auf das Setzen des 3D-Punktes des Startpunktes 310 der Fahrbahnmarkierung 210 als bekannter 3D-Punkt des korrespondierenden Ankerpunktes 220. Bei Block 450 bezieht sich die Übersetzung des bei Block 440 erzeugten Vektors in 3D-Punkte der Fahrbahnmarkierung 210 auf die Verwendung des neuronalen Netzes, das durch die Erzeugung von Vektoren aus bekannten 3D-Punkten in der Trainingsphase 410 trainiert wurde. Die 3D-Punkte der Fahrbahnmarkierung 210, die die Position der korrespondierenden Fahrbahn relativ zum Fahrzeug 100 anzeigen, können zur autonomen oder halbautonomen Navigation des Fahrzeugs 100 verwendet werden.
-
Während die obige Offenbarung unter Bezugnahme auf beispielhafte Ausführungsformen beschrieben wurde, wird es von den Fachleuten verstanden werden, dass verschiedene Änderungen vorgenommen werden können und Elemente davon durch Äquivalente ersetzt werden können, ohne von ihrem Anwendungsbereich abzuweichen. Darüber hinaus können viele Änderungen vorgenommen werden, um eine bestimmte Situation oder ein bestimmtes Material an die Lehren der Offenbarung anzupassen, ohne von ihrem wesentlichen Anwendungsbereich abzuweichen. Es ist daher beabsichtigt, dass die vorliegende Offenbarung nicht auf die einzelnen offenbarten Ausführungsformen beschränkt ist, sondern alle Ausführungsformen einschließt, die in ihren Anwendungsbereich fallen.