-
EINLEITUNG
-
Der Gegenstand der Offenbarung betrifft das Erkennen von Fahrspuren in einer Straßenszene. Commonplace-Technologien basieren auf oder maschinengestützten Systemen und Techniken zum Erkennen einer Fahrspur in Straßenszenen. Solche Systeme und Techniken können Frameworks mit Maschinenlernen verwenden, um Straßenelemente getrennt in einer Bilddomäne abzuleiten. Dann werden Heuristiken oder andere Arten empirischer Modellierungen angewendet, um diese Straßenelemente in eine Fahrspur oder eine Gruppe von Fahrspuren in der Straßenszene zu kombinieren. Des Weiteren übernehmen derartige Systeme und Techniken typischerweise einen unabhängigen Sensoransatz, in dem eine Gruppe von Fahrspuren unter Verwendung einer definierten Art von Erfassungsmodalität (Kameraerfassung, LIDAR-Erfassung oder dergleichen) erfasst wird. Verschiedene Gruppen von Fahrspuren, die in jeweiligen Erfassungsmodalitäten erfasst werden, werden üblicherweise nach der Fahrspurerkennung für jede Sensormodalität zusammengeführt. Die Erkennung und / oder Darstellung einer Fahrspur kann nicht nur in hohem Maße von den Arten der Heuristik abhängen, die auf eine Gruppe von erkannten Straßenelementen angewendet werden, sondern das Verschmelzen von Sensordaten kann a posteriori die Erkennungs- und / oder Darstellungsgenauigkeit verringern. Schlechte Genauigkeit bei der Fahrspurerkennung und/oder Darstellung kann automatisierte oder autonome Vorgänge eines auf einer Straße fahrenden Fahrzeugs erschweren oder behindern. Dementsprechend ist es wünschenswert, Technologien zur Erfassung von Fahrspuren in einer Straßenszene anzubieten.
-
KURZDARSTELLUNG
-
In einer beispielhafte Ausführungsform wird ein Verfahren zum Navigieren eines Fahrzeugs offenbart. Es wird ein Bild erhalten, das eine Straßenszene an einem Sensor des Fahrzeugs anzeigt. Eine Vielzahl von Merkmalskarten wird aus dem Bild über einen ersten Verarbeitungsweg eines mehrschichtigen neuronalen Faltungsnetzwerks erzeugt. Mindestens eine der Merkmalskarten wird relativ zu einem definierten Koordinatensystem der Straßenszene auf eine definierte Ebene projiziert, um mindestens eine projizierte Merkmalskarte zu erhalten. Eine Faltung wird auf mindestens eine projizierte Merkmalskarte in einem zweiten Verarbeitungspfad des mehrschichtigen neuronalen konvolutionellen Netzwerks angewendet, um eine endgültige Merkmalskarte zu erhalten. Die Fahrspurinformationen werden aus der endgültigen Mekrmalskarte ermittelt.
-
Zusätzlich zu einem oder mehreren der hierin beschriebenen Merkmale kann das Bild Eingabedaten mit mehreren Sensormodalitäten enthalten. In einer Ausführungsform, in der das Bild ferner eine Vielzahl weiterer Bilder umfasst, der erste Verarbeitungsweg besteht in der Verarbeitung dieser Bilder, um die Vielzahl an Merkmalskarten für jedes der Bilder zu erhalten, was zum Projizieren mehrerer Merkmalskarten auf die definierte Ebene führt, die projizierten Merkmalskarten kombiniert und schließlich die Faltung auf die kombinierten projizierten Merkmalskarten anwendet. Das mehrschichtige konvolutionelle Neuralnetzwerk beinhaltet ein Codier-Decodier-Netzwerk. Die endgültige Merkmalskarte ist horizontal invariant und das Bestimmen von Fahrspurinformationen umfasst ferner das Bestimmen einer dreidimensionalen Darstellung der Fahrspuren. Das Projizieren mindestens einen der Merkmalskarten umfasst das Anwenden einer homografischen Transformation auf mindestens eine der Merkmalskarten. Die Fahrspurinformationen werden an ein Steuersystem weitergeleitet, das konfiguriert ist, um den Betrieb des Fahrzeugs unter Verwendung der Fahrspurinformationen anzupassen.
-
In einer anderen beispielhaften Ausführungsform wird ein System zum Betreiben eines Fahrzeugs offenbart. Das System umfasst einen Sensor und ein mehrschichtiges neuronales Faltungsnetzwerk. Der Sensor ist so eingestellt, um ein Bild zu erzeugen, das eine Straßenszene des Fahrzeugs anzeigt. Das mehrschichtige konvolutionelle Neuralnetzwerk wurde konfiguriert, um aus dem Bild über einen ersten Verarbeitungspfad mehrere Merkmalskarten zu erzeugen, mindestens eine der Merkmalskarten auf eine definierte Ebene relativ zu einem definierten Koordinatensystem der Straßenszene zu projizieren, um mindestens eine projizierte Merkmalskarte zu erhalten, eine Faltung auf mindestens eine projizierte Merkmalskarte in einem zweiten Verarbeitungspfad anzuwenden, um eine endgültige Merkmalskarte zu erhalten, und um Fahrspurinformationen aus der endgültigen Merkmalskarte zu bestimmen.
-
Zusätzlich zu einem oder mehreren der hierin beschriebenen Merkmale enthält das Bild Eingabedaten von Sensoren mit unterschiedlichen Sensormodalitäten. In einer Ausführungsform enthält das Bild mehrere Bilder, und das neuronale Netzwerk ist ferner konfiguriert, um den ersten Verarbeitungspfad auf jedes der Bilder anzuwenden, um Merkmalskarten für jedes der Bilder zu erhalten, mehrere Merkmalskarten zu auf eine definierte Ebene zu projizieren, die projizierten Merkmalskarten zu kombinieren und die Faltung auf die kombinierten und projizierten Merkmalskarten anzuwenden. Das mehrschichtige konvolutionelle Neuralnetzwerk beinhaltet ein Codier-Decodier-Netzwerk. Die endgültige Merkmalskarte ist horizontal invariant, wobei das System ferner ein Fahrspurdarstellungsmodul umfasst, das konfiguriert ist, um eine dreidimensionale Darstellung der Fahrspuren aus der endgültigen Merkmalskarte zu bestimmen. Das System umfasst ferner ein Projektionsmodul, das konfiguriert ist, um mindestens eine der Merkmalskarten durch Anwenden einer homografischen Transformation auf die mindestens eine der Merkmalskarten zu projizieren. Das System umfasst außerdem ein Steuersystem, das eingestellt ist, um den Betrieb des Fahrzeugs unter Verwendung der Fahrspurinformationen anzupassen.
-
In noch einer weiteren beispielhaften Ausführungsform wird durch die Offenbarung ein Fahrzeug offenbart. Das Fahrzeug umfasst einen Sensor, ein mehrschichtiges konvolutionelles Neuralnetzwerk und ein Steuersystem. Der Sensor ist so eingestellt, um ein Bild zu erzeugen, das eine Straßenszene des Fahrzeugs anzeigt. Das mehrschichtige konvolutionelle Neuralnetzwerk wurde konfiguriert, um aus dem Bild über einen ersten Verarbeitungspfad mehrere Merkmalskarten zu erzeugen, mindestens eine der Merkmalskarten auf eine definierte Ebene relativ zu einem definierten Koordinatensystem der Straßenszene zu projizieren, um mindestens eine projizierte Merkmalskarte zu erhalten, eine Faltung auf mindestens eine projizierte Merkmalskarte in einem zweiten Verarbeitungspfad anzuwenden, um eine endgültige Merkmalskarte zu erhalten, und um Fahrspurinformationen aus der endgültigen Merkmalskarte zu bestimmen. Das Steuersystem ist konfiguriert, um den Betrieb des Fahrzeugs unter Verwendung der Fahrspurinformationen anzupassen.
-
Zusätzlich zu einem oder mehreren der hierin beschriebenen Merkmale enthält das Bild Eingabedaten von Sensoren mit unterschiedlichen Sensormodalitäten. In einer Ausführungsform enthält das Bild mehrere Bilder, das neuronale Netzwerk ist ferner konfiguriert, um den ersten Verarbeitungspfad auf jedes der Bilder anzuwenden, um Merkmalskarten für jedes der Bilder zu erhalten, mehrere Merkmalskarten zu auf eine definierte Ebene zu projizieren, die projizierten Merkmalskarten zu kombinieren und die Faltung auf die kombinierten und projizierten Merkmalskarten anzuwenden. Das mehrschichtige konvolutionelle Neuralnetzwerk beinhaltet ein Codier-Decodier-Netzwerk. Die endgültige Merkmalskarte ist horizontal invariant, wobei das System ferner ein Fahrspurdarstellungsmodul umfasst, das konfiguriert ist, um eine dreidimensionale Darstellung der Fahrspuren aus der endgültigen Merkmalskarte zu bestimmen. Das Fahrzeugsystem umfasst ferner ein Projektionsmodul, das konfiguriert ist, um mindestens eine der Merkmalskarten durch Anwenden einer homografischen Transformation auf die mindestens eine der Merkmalskarten zu projizieren.
-
Die oben genannten Eigenschaften und Vorteile sowie anderen Eigenschaften und Funktionen der vorliegenden Offenbarung gehen aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen ohne weiteres hervor.
-
Figurenliste
-
Andere Merkmale, Vorteile und Einzelheiten erscheinen, nur exemplarisch, in der folgenden ausführlichen Beschreibung der Ausführungsformen, wobei sich die ausführliche Beschreibung auf die Zeichnungen bezieht, wobei gilt:
- 1 zeigt eine Betriebsumgebung zum Erfassen einer Fahrspur innerhalb einer Straßenszene gemäß einer Ausführungsform der Erfindung;
- 2 veranschaulicht eine Betriebsarchitektur eines dualen Neuralnetzwerks und Projektionsmoduls des Fahrspurdetektionssystems aus 1;
- 3 zeigt schematisch ein Fahrspurdetektionssystem zur Erkennung und planaren Darstellung einer Fahrspur in Straßenszenen unter Verwendung von Bildgebungsdaten von Sensoren mit unterschiedlichen Erfassungsmodalitäten;
- 4 veranschaulicht ein Ergebnis der Implementierung des mit Bezug auf 3 erörterten Fahrspurinformationssystems;
- 5 stellt ein System zum Ermitteln von Fahrspurinformationen an einem Fahrspurinformationssystem unter Verwendung eines Codier-Decodier-Netzwerks schematisch dar;
- 6 zeigt ein Verfahren zum Lokalisieren von Fahrspurmarkierungen in einer Vogelperspektive, wie durch die definierte Ebene angezeigt und durch ein Fahrspurrepräsentationsmodul ausgeführt;
- 7A zeigt eine Draufsicht auf mehrere Fahrspuren, die durch ein Spurdarstellungsmodul bestimmt werden können;
- 7B veranschaulicht eine Projektion der Fahrspuren von 7B auf Bodenwahrhei tsdaten;
- 8A zeigt ein Bild einer Straßenszene, die verwendet wird, um dreidimensionale Fahrspurdarstellungen zu erzeugen;
- 8B zeigt ein dreidimensionales Diagramm des Bildes von 8A;
- 9 zeigt ein Blockdiagramm eines Beispiels eines Computersystems zum Erfassen und Darstellen einer Fahrspur innerhalb einer Straßenszene, gemäß Aspekten dieser Offenbarung; und
- 10 zeigt ein Flussdiagramm, das ein Verfahren zum Erkennen einer Fahrspur in einer Straßenszene in einer Ausführungsform veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende Beschreibung ist lediglich exemplarischer Natur und nicht dazu gedacht, die vorliegende Offenbarung in ihren An- oder Verwendungen zu beschränken. Es sollte verstanden werden, dass in den Zeichnungen entsprechende Bezugszeichen gleiche oder entsprechende Teile und Merkmale bezeichnen.
-
Die Offenbarung erkennt und behandelt in zumindest einigen Ausführungsformen das Problem des Erfassens einer Fahrspur in einer Straßenszene. Ausführungsformen dieser Offenbarung beinhalten Systeme, Fahrzeuge und Verfahren, die einzeln oder in Kombination das Erkennen einer Gruppe von Fahrspuren in einer Straßenszene erlauben oder anderweitig ermöglichen. Genauer gesagt, aber nicht ausschließlich, kann ein neurales Dual-Weg-Netzwerk (DNN) auf ersten Merkmalskarten betrieben werden, die von mindestens einer Weltsichtebene der Straßenszene und zweiten Merkmalskarten abgeleitet werden, die zumindest auf einer definierten Ebene (z. B. Draufsichtprojektion) innerhalb eines Weltbildes/globalen Koordinatensystems basieren. Das DNN kann gemeinsam die ersten und zweiten Merkmalskarten verarbeiten, um eine planare Darstellung einer Gruppe von Fahrspuren in der Straßenszene zu erzeugen. Während einige Ausführungsformen der Offenbarung mit Bezug auf eine Straßenszene dargestellt sind, ist die Offenbarung nicht derart begrenzt. Tatsächlich können die hierin offenbarten Prinzipien und praktischen Elemente auf andere Arten von Fahrbahnszenen, wie eine Straßenszene, eine Autobahnszene oder dergleichen angewendet werden.
-
Unter Bezugnahme auf die Zeichnungen zeigt 1 eine Betriebsumgebung 100 zum Erkennen einer Fahrspur innerhalb einer Straßenszene 105 gemäß einer Ausführungsform. Die Straßenszene 105 beinhaltet ein Volumen, das durch ein globales Koordinatensystem G definiert ist, das definierende Vektoren (û1, û2, û3) besitzt, wobei û1 ein Vektor ist, der die Sichtlinie eines Fahrzeugs 152 überquert, û2 ein Vektor ist, der sich entlang der Fahrtrichtung des Fahrzeugs 115 erstreckt und û3 ein Vektor ist, der sich vertikal erstreckt.
-
Die Straßenszene 105 kann eine Straße 102 mit einer Gruppe von Fahrspuren 104 (einschließlich, in einigen Fällen, eine oder mehrere Kantenspuren) beinhalten. Die Straße 102 kann auch einen Seitengehabschnitt oder einen Schulterabschnitt beinhalten, wobei entweder einer dieser Abschnitte an die Straße angrenzt. Die Straße 102 kann beispielsweise auch mehrere auf der Straße und/oder in deren Nähe befindliche Objekte beinhalten. So kann beispielsweise ein erstes Objekt ein Fahrzeug 106 (stationär oder in Bewegung) sein, das relativ zum Fahrzeug 115 auf der Straße 102 positioniert ist; ein zweites Objekt kann eine stationäre Struktur 108, wie ein Baum, ein Stützpfosten, ein Gebäude oder dergleichen sein; und ein drittes Objekt kann eine Person 110, entweder einen Fußgänger oder einen Fahrzeugführer (motorisiert oder anderweitig) darstellen.
-
Das Fahrzeug 115 kann eine Fahrspur 104 auf der Straße 102 erfassen. Das Fahrzeug 115 kann die Fahrspur 104 beim Durchfahren der Straße 102 oder während des Manövrierens (z. B. Parken) auf der Straße 102 erfassen. Das Fahrzeug 115 kann auch in einigen Fällen die Fahrspur 104 erfassen, während es stationär ist. Das Fahrzeug 115 beinhaltet eine Sensorplattform 120, die Abbildungsdaten erzeugen kann, die für die Umgebung des Fahrzeugs 115 repräsentativ sind. Die Bildgebungsdaten können aus Signalen erzeugt werden, die von der Sensorplattform 120 erfasst werden. Die Signale können eine oder mehrere Arten von elektromagnetischen (EM) Signalen (z. B. sichtbares Licht, Infrarotlicht oder Funkwellen) beinhalten. Genauer gesagt kann die Sensorplattform 120 ein Sensorsystem 130 beinhalten, das EM-Signale mit einer definierten Rate f erfassen kann (eine reelle Zahl, angegeben in Frequenzeinheiten). Somit können die in Reaktion auf erfasste EM-Signale erzeugten Bildgebungsdaten (analog oder digital) in Rahmen organisiert werden. Ein Rahmen ist eine Datenstruktur, die einen oder mehrere Datensätze enthält, die als Reaktion auf Signale, die zu einem bestimmten Zeitpunkt oder während einer definierten Periode erfasst wurden, erzeugt werden. Als solches entspricht ein Rahmen einem definierten Zeitpunkt während eines Erfassungsintervalls.
-
Das Sensorsystem 130 kann mehrere Sensorvorrichtungen beinhalten, die Sensorsignale bereitstellen (z. B. erzeugen und/oder ausgeben). Die Sensorvorrichtungen können um das Fahrzeug 115 herum angeordnet oder anderweitig konfiguriert sein. In einigen Ausführungsformen können mehrere Sensorvorrichtungen homogen sein und ein Ausgangssensorsignal eines definierten Typs erzeugen. Somit kann das Sensorsystem 130 Daten eines definierten Typs erzeugen. So kann beispielsweise eine von mehreren Sensorvorrichtungen eine Kameravorrichtung beinhalten, die Photonen im sichtbaren Teil des elektromagnetischen (EM) Strahlungsspektrums erfasst, und das Sensorsystem 130 kann ein Kamerasystem verkörpern, das Bildgebungsdaten erzeugt, die repräsentativ oder andweitig indikativ für einen Bereich in Bezug auf das Fahrzeug 115 sind. Als ein weiteres Beispiel kann eine jede dieser Sensorvorrichtungen Lichtquellenvorrichtungen (z. B. Infrarot-Laservorrichtungen) und Photoerfassungsvorrichtungen beinhalten, und das Sensorsystem 130 kann ein Sensorsystem (LIDAR) verkörpern, das andere Bildgebungsdaten erzeugt, die repräsentativ sind oder anderweitig die Straßenszene 105 anzeigen.
-
In anderen Ausführungsformen können die Sensorvorrichtungen heterogenen sein und Sensorsignale verschiedener Arten erzeugen und ausgeben. So können beispielsweise die Sensorvorrichtungen eine erste Art von Sensorvorrichtungen und eine zweite Art von Sensorvorrichtungen beinhalten. Somit wird in einem Aspekt das Sensorsystem 130 durch Sensorsysteme mit jeweiligen Arten von Sensorvorrichtungen gebildet. Jedes Sensorsystem verkörpert oder stellt ein Erfassungssystem eines definierten Typs dar-z. B. ein Kamerasystem, ein Radarsystem, ein LIDAR-System, ein Sonarsystem, ein thermisches Kartierungssystem oder dergleichen-das in einer definierten Bildgebungsmodalität betrieben wird. Dementsprechend kann jedes Sensorsystem eine definierte Art von Bilddaten bereitstellen, die für die Straßenszene 105 repräsentativ sind. Unabhängig von der spezifischen Erfassungsarchitektur / -modalität kann das Sensorsystem 130 Bildgebungsdaten 135 bereitstellen (z. B. senden und / oder verfügbar machen), die die Straßenszene 105 in definierten Rahmen anzeigen oder auf andere Weise darstellen.
-
Wie in 1 dargestellt, umfasst die Erfassungsplattform 120 ein Fahrspurdetektionssystem 140, das zumindest einen Teil der Bilddaten 135 verwenden kann, um eine Fahrspur 104 innerhalb der Straßenszene 105 auf einer definierten Ebene innerhalb des globalen Koordinatensystems zu identifizieren G. In einigen Ausführungsformen entspricht die definierte Ebene Π einer Draufsichtprojektion der Straßenszene 105. Mit anderen Worten ist die definierte Ebene Π eine durch die Vektoren û1 und û2 definierte Ebene (d. h., orthogonal zum Vektor û3). Insbesondere umfasst das Fahrspurerkennungssystem 140 ein Dual-Weg-Neurolnetzwerk- (DNN-) Modul 144 und ein Projektionsmodul 148 zur Transformation von Bildern zwischen Blickwinkeln. Das DNN-Modul 144 und das Projektionsmodul 148 können Fahrspurinformationen ausgeben, die für eine Gruppe von Fahrspuren repräsentativ sind, die auf der definierten Ebene Π identifiziert wurden. Diese Ausgabe kann verwendet werden, um durch das Sensorsystem 130 erhaltene Bildgebungsdaten 135 zu verarbeiten, um ebene Fahrspurdarstellungen 150 zu erhalten, die zum Bestimmen von Fahrspurinformationen 160 verwendet werden können. Die Fahrspurinformationen 160 können als eine oder mehrere Datenstrukturen beibehalten werden, die die ebenen Fahrspurdarstellungen 150 enthalten.
-
Das Fahrzeug 115 umfasst ein Steuersystem 117, das kommunikativ mit dem Fahrspurerfassungssystem 140 gekoppelt ist. Das Steuersystem 117 kann auf Daten des Fahrspurerkennungssystems 140 zugreifen oder diese empfangen, wie beispielsweise Spurinformationen 160 und kann das Fahrzeug 115 verbessern, automatisieren oder anderweitig steuern, um die Straße 102 auf der Grundlage der Spurinformation 160, beispielsweise zu navigieren, innerhalb einer bleiben Spur 104 zu bleiben usw.
-
2 zeigt eine Betriebsarchitektur des DNN 200 und des Projektionsmoduls 148 des Fahrspurdetektionssystems 140. Der DNN 200 umfasst einen ersten Verarbeitungspfad 230 und einen zweiten Verarbeitungspfad 240. Der erste Pfad 230 wird verwendet, um Merkmalskarten in einer ersten Domäne (z. B. der Weltbilddomäne) auf der Grundlage von Bildern zu bestimmen, die von Sensoren des Sensorsystems 130 mit dem Blickpunkt innerhalb des Weltbildkoordinatensystems erhalten wurden. Das NN-Modul 240 für den zweiten Pfad arbeitet mit Merkmalskarten innerhalb einer zweiten Domäne oder einer Domäne mit Draufsicht, gesehen von einem Aussichtspunkt aus der Draufsicht oder aus der Vogelperspektive des Straßenbildes 105, wie bei wie Ebene Π aus 1. Eine Merkmalskarte kann ein dreidimensionaler Tensor sein, der den Kanal und die x, y-Koordinaten in einem Bild angibt. Eine homografische Transformation wird verwendet, um Merkmalskarten in der Draufsicht aus Merkmalskarten zu erhalten, die in der Weltansicht erstellt wurden.
-
Der erste Verarbeitungspfad 230 beinhaltet ein konvolutionelles Neuralnetzwerk (CNN), das während des ersten Pfades entsprechende Merkmalskarten erzeugt. Der erste Verarbeitungspfad 230 zeigt ein veranschaulichendes Bild 202, das vom Sensorsystem 130 1 erhalten wurde und eine erste Merkmalskarte 204, die aus dem Bild 202 erhalten wurde. Die erste Merkmalskarte wird dem CNN des ersten Verarbeitungspfads 230 bereitgestellt, der eine Faltung an der ersten Merkmalskarte 204 anwendet, um eine zweite Merkmalskarte 206 zu erhalten. Unter Fortführung dieses Prozesses erzeugt die Zusammenführung der zweiten Merkmalskarte 206 eine dritte Merkmalskarte 208 und die Faltung der dritten Merkmalskarte 208 erzeugt eine weitere vierte Merkmalskarte 210.
-
Das Projektionsmodul 148, 1 transformiert einen ersten Punkt innerhalb einer Ebene, die einer Weltansicht der Straßenszene 105 entspricht, zu einem zweiten Punkt innerhalb der definierten Ebene Π. Konkret wandelt das Projektionsmodul 148 einen Punkt p in einer Merkmalskarte, die durch den ersten Verarbeitungspfad 230 erzeugt wird, in einen Punkt p' innerhalb der definierten Ebene Π. Das Projektionsmodul 148 kann p in p' durch Anwenden einer definierten homographischen Transformation transformieren, die die Weltansicht der Straßenszene 105 auf die definierte Ebene Π abbildet. Daher kann das Projektionsmodul 148 eine Merkmalskarte vom ersten Verarbeitungspfad 230 empfangen und die Merkmalskarte auf die definierte Ebene Π projizieren, wodurch eine projizierte Merkmalskarte im zweiten Verarbeitungsweg 240 erzeugt wird.
-
Die homographische Transformation wird auf jede der Merkmalskarten 204, 206, 208, 210 in der Weltansicht angewendet, um projizierte Merkmalskarten in der Vogelperspektive zu erzeugen. (Die homographischen Transformationen werden durch vertikale Pfeile dargestellt, die sich von den Merkmalskarten 204, 206, 208 und 210 erstrecken). Die homographische Transformation der ersten Merkmalskarte 204 erzeugt eine erste projizierte Merkmalskarte 204p, die homographische Transformation der zweiten Merkmalskarte 206 erzeugt eine zweite projizierte Merkmalskarte 206p, die homografische Umwandlung der dritten Merkmalskarte 208 erzeugt eine dritte projizierte Merkmalskarte 208p und eine homographische Transformation der vierten Merkmalskarte 210 erzeugt eine weitere projizierte Merkmalskarte 210p. Während in 2 vier Merkmalskarten zu Veranschaulichungszwecken dargestellt sind, kann eine beliebige Anzahl von Merkmalskarten unter Verwendung des CNN entlang des ersten Pfads 230 erzeugt werden.
-
Im zweiten Verarbeitungspfad 240 erzeugt die Faltung der ersten projizierten Merkmalskarte 204p eine zweite Draufsichtmerkmalskarte 216 innerhalb der Draufsichtdomäne 240. Die zweite Draufsichtmerkmalskarte 216 stellt eine Faltung einer homographischen Transformation der ersten Merkmalskarte 204 dar. Inzwischen stellt die zweite projizierte Merkmalskarte 206p eine homografische Transformation einer Faltung der ersten Merkmalskarte 204 dar. Die zweite Merkmalskarte 216 in Draufsicht wird mit der zweiten projizierten Merkmalskarte 206p kombiniert oder verknüpft, um eine kombinierte Merkmalskarte 206 c zu erhalten. Eine Faltung wird dann auf der kombinierten Merkmalskarte 206 c durchgeführt, um eine dritte Merkmalskarte 218 in Draufsicht zu erzeugen. Die dritte Merkmalskarte 218 in Draufsicht wird mit der dritten projizierten Merkmalskarte 208 kombiniert oder verknüpft, um eine kombinierte Merkmalskarte 208 c zu bilden. Eine Faltung wird auf der kombinierten Merkmalskarte 208 c durchgeführt, um eine vierte Merkmalskarte 220 in Draufsicht zu erhalten.
-
Die vierteMerkmalskarte 220 in Draufsicht wird mit der vierten projizierten Merkmalskarte 210p kombiniert oder verknüpft, um eine kombinierte Merkmalskarte 210c zu bilden. In der Draufsichtdomäne können die Faltungen der kombinierten Merkmalskarte 210 c im zweiten Verarbeitungspfad 240 ohne weitere Verkettungsschritte fortgesetzt werden, wobei die Anzahl der Merkmalskarten in der Draufsichtdomäne über die der Weltansichtsdomäne hinaus erweitert wird. Diese zusätzlichen Faltungen reduzieren die y-Dimension des dreidimensionalen Tensors, wodurch ein zweidimensionaler Tensor entsteht, der durch einen Ansteuerkanal und eine x-Koordinate definiert ist. Im veranschaulichenden DNN von 2 erzeugen nachfolgende Faltungen im zweiten Verarbeitungsweg 240 eine fünfte Merkmalskarte 222 in Draufsicht, eine sechste Merkmalskarte 224 in Draufsicht und eine siebte Merkmalskarte 226 in Draufsicht. Eine Fahrspur innerhalb der Straßenszene 105 kann aus der Merkmalskarte 226 bestimmt werden.
-
3 zeigt schematisch ein System 300 für ein Fahrspurdetektionssystem 140 1 zur Erfassung und planaren Darstellung einer Fahrspur in Straßenszenen unter Verwendung von Bilddaten von Sensoren mit unterschiedlichen Erfassungsmodalitäten. Die Daten eines jeden Sensors werden zu einem gemeinsamen zweidimensionalen (2D) Koordinatensystem fusioniert (ê1, ê2). Das 2D-Koordinatensystem ist orthogonal und ermöglicht einen Positionsvektor innerhalb einer Draufsichtebene (z. B. der definierten Ebene □).
-
Das System 300 beinhaltet mehrere Sensorsysteme, die im Allgemeinen unterschiedliche Erfassungsmodalitäten aufweisen, einschließlich eines Sensorsystems 3101 , eines Sensorsystem 3102 , ... und eines Sensorsystem 310N . Jedes der Sensorsysteme kann eine definierte Art von Eingangsdaten oder -bildern (z. B. die Straßenszene 105 in 1) an einem definierten Rahmen bereitstellen (z. B. senden und/oder verfügbar machen). In einer Ausführungsform kann das Sensorsystem 3101 ein Bild 3151bereitstellen; das Sensorsystem 3102 stellt ein Bild 3152bereit, ... und das Sensorsystem 310N stellt ein Bild 315N bereit. In einer Ausführungsform kann das Sensorsystem 3101 , Sensorsystem 3102 , und Sensorsystem 310N ein Kamerasystem, ein LIDAR-System bzw. ein Radarsystem verkörpern oder bilden. In einigen Ausführungsformen kann die Sensorplattform 120, 1, nur zwei Sensorsysteme aufweisen, z. B. das Sensorsystem 3101 (z. B. ein Kamerasystem) und Sensorsystem 3102 (z. B. ein LIDAR-System).
-
Das Fahrspurerkennungssystem 140 kann Bilder 3151-315N von den Sensoren 3101-310N empfangen. Das DNN des Fahrspurerkennungssystems 140 beinhaltet separate erste Verarbeitungswege, die jedem Bild zugeordnet sind und einen einzelnen zweiten Verarbeitungsweg, das basierend auf der Fusion der Datendes ersten Verarbeitungspfadens funktioniert. In dem veranschaulichten System 300 beinhaltet das Fahrspurerkennungssystem 140 das erste Weg-NN-Modul 3201 , erster Weg-NN-Modul 3202 , ... und erste Weg-NN-Modul 320N . Jedes der Weg-NN-Module 3201-320N empfängt entsprechende Eingabedaten oder Bilder 3151-315N und funktioniert basierend auf den empfangenen Bildern 3151-315N . Der Betrieb auf einem empfangenen Bild kann in einigen Ausführungsformen eine semantische Segmentierung einer Straßenszene (z. B. Straßenszene 105) ermöglichen oder anderweitig erleichtern. Somit kann jedes der ersten Weg-NN-Module 3201-320N beispielsweise ein CNN mit mehreren Schichten beinhalten, die jeweilige Merkmalskarten 3251-325N als Reaktion auf das Verarbeiten eines empfangenen Bildes erzeugen. Dementsprechend kann jedes der ersten Weg-NN-Module 3201-320N entsprechende Merkmalskarten 3251-325N erzeugen. Jede Merkmalskarte 3251-325N resultiert aus dem Betrieb an einer Schicht des CNN entsprechend dem jeweiligen ersten Weg-NN-Modul 3201-320N . Da die Sensorsysteme 3101 , ..., 310N verschiedene Eingabevorrichtungen (z. B. Kamerasystem, LIDAR-System, ein Radarsystem usw.) beinhalten können, können erste Weg-NN-Module 3201 , ..., 320N , das mit diesen Sensorsystemen 3101 , ..., 310N verknüpft ist, erste Weg-NN-Module beinhalten, die zur semantischen Segmentierung der jeweiligen Eingangsdaten oder des Bildes (z. B. Kamerasystem, LIDAR-System, Radarsystem usw.) geeignet sind.
-
Um das zweite Weg-NN-Modul 340 zu implementieren, empfängt das Projektionsmodul 330 Merkmalskarten 3251-325N , und transformiert jede Merkmalskarte 3251-325N in der Gruppe zu einer projizierten Merkmalskarte auf einer definierten Ebene im 2D-Koordinatensystem (ê1, ê2) unter Verwendung der hierin beschriebenen homographischen Transformation. Das Projektionsmodul 148 fügt das projizierte Merkmal in eine konsolidierte projizierte Merkmalskarte 335 relativ zur definierten Ebene zusammen und stellt die konsolidierte projizierte Merkmalskarte 335 dem zweiten Weg-NN-Modul 340 bereit. In einigen Ausführungsformen beinhaltet das zweite Weg-NN-Modul 340 ein CNN, das konfiguriert (z. B. definiert und/oder trainiert) ist, um eine Fahrspur auf einer definierten Ebene Π im 2D-Koordinatensystem (ê1, ê2) mindestens basierend auf der konsolidierten projizierten Merkmalskarte 335 zu identifizieren. Die Ausgabe des zweiten Weg-NN-Moduls 340 kann Fahrspurinformationen 345 (z. B. Daten und/oder Metadaten) beinhalten, die repräsentativ für eine Gruppe von Fahrspuren sind, die auf der definierten Ebene Π identifizierten wurden.
-
4 veranschaulicht ein Ergebnis der Implementierung des Fahrspurinformationssystems 140, das mit Bezug auf 3 erörtert wurde. Die Bilder 402, 404 und 406 von Sensoren mit unterschiedlichen Erfassungsmodalitäten werden kombiniert, um eine Vogelperspektive 410 zu bestimmen, die Informationen von allen drei der Bilder 402, 404 und 406 kombiniert.
-
5 stellt ein System 500 zum Ermitteln von Fahrspurinformationen an einem Fahrspurinformationssystem 140 1 unter Verwendung eines Codier-Decodier-Netzwerks schematisch dar. Das Codier-Decodier-System 500 empfängt das Bild 502, das für eine Straßenszene in einem Weltansichtskoordinatensystem repräsentativ ist. Das Codier-Decodier-System 500 beinhaltet einen konvolutionellen Encoder-Decoder mit einem Encodier-Netzwerk 532 und einem Decodier-Netzwerk 534. Ein homografisches Transformationsmodul 550 transformiert mindestens eine Merkmalskarte, die im Codier-Netzwerk 532 gebildet wird, um eine entsprechende Merkmalskarte in Vogelperspektive im Decodier-Netzwerk 534 zu bilden, indem die Merkmalskarten auf die definierte Ebene Π projiziert wird.
-
Das Codier-Netzwerk 532 erzeugt eine Sequenz von Merkmalskarten basierend auf Bild 502. Das Codier-Netzwerk 532 erzeugt eine Merkmalskarte 504a aus dem Bild 502. Zusätzliche Merkmalskarten werden durch Anwenden einer Faltung erzeugt, gefolgt von einer Batch-Renormalisierung und Anwendung einer gleichgerichteten linearen Nichtlinearität (RelU). Insbesondere werden Faltung, Batch-Renormalisierung und RelU auf Merkmalskarte 504a angewendet, um Merkmalskarte 504b zu erhalten. Das Codier-Netzwerk 532 zeigt Merkmalskarten 506, die aus der Teilabtastung von Merkmalskarten 504 erhalten werden, Merkmalskarten 508, die aus der Teilabtastung von Merkmalskarten 506 erhalten werden, Merkmalskarten 510, die aus der Teilabtastung von Merkmalskarten 508 erhalten werden, und Merkmalskarten 512, die aus der Teilabtastung der Merkmalskarten 510 erhalten werden.
-
In jedem Stadium werden Max-Pooling-Indizes erfasst und gespeichert. Max-Pooling wird durchgeführt, um die Translationsinvarianz über kleine räumliche Vorgänge im Eingabebild zu erreichen. Max-Pooling erfasst und speichert Grenzinformationen in der Codier-Merkmalskarte, bevor die Merkmalskarte unterabgetastet wird. Max-Pooling-Indizes zeigen die Positionen der maximalen Merkmalswerte in einem Fenster einer Codierer-Merkmalskarte an.
-
Das Decodier-Netzwerk 534 regeneriert die Bilder, um eine Merkmalskarte 522 c zu bestimmen, die für die semantische Segmentierung geeignet ist. Merkmalskarten 516 werden von Merkmalskarten 514 regeneriert, Merkmalskarten 518 werden von Merkmalskarten 516 regeneriert, Merkmalskarten 520 werden von Merkmalskarten 518 regeneriert und Merkmalskarten 522a, 522b und 522 c werden von Merkmalskarten 520 regeneriert. Die in jeder Stufe des Codier-Netzwerks 532 erhaltenen Zusammenfassungsindizes werden in der vergleichbaren Stufe des Decodier-Netzwerks 534 verwendet, um Merkmalskarten 522a, 522b und 522 c zu erhalten, die einer Klassifizierungsschicht 524 zur semantischen Segmentierung bereitgestellt werden können. Als Beispiel werden die Zusammenfassungsindizes 504 c von der Anfangsphase des Codier-Netzwerks 532 der Endstufe des Decodier-Netzwerks 534 bereitgestellt.
-
Die Klassifizierungsschicht 524 bestimmt den Konfidenzwert (c; eine reelle Zahl), der anzeigt, ob eine Fahrspur die endgültigen Merkmalskarten 522a, 522b und 522 c aufweist. Das System 500 kann auch ein Fahrspurdarstellungsmodul 536 enthalten, das eine jeweilige Gruppe von Referenzpunkten entlang einer Richtung orthogonal zu der Richtung bestimmt, in der die definierten Abschnitte ausgerichtet sind. Das Fahrspurdarstellungsmodul 536 gibt ein Vogelansichtsbild 538 eines Bereichs aus, der auf die definierte Ebene Θ; das Bild des Vogelansicht 538 einschließlich Fahrspurmarkierungen oder Fahrspurmarkierungen projiziert wird. Der Betrieb des Fahrspurdarstellungsmoduls 536 wird mit Bezug auf 6 beschrieben.
-
6 veranschaulicht das Bild aus der Vogelansicht 538 von Fahrspurmarkierungen, wie durch die definierte Ebene Π dargestellt. Das Fahrspurdarstellungsmodul 536 von 5 bestimmt oder lokalisiert die Fahrspurmarkierungen unter Verwendung des Bild aus der Vogelansicht 538. Das Bild aus der Vogelansicht 538 beinhaltet eine erste Achse e1 entlang der horizontalen Richtung und einer zweiten Achse e2 entlang der vertikalen Richtung. Das Fahrspurdarstellungsmodul 536 teilt die erste Achse e1 in einen Satz von N Ankern {X1 , X2 , .., XN }, mit dem Anker entlang der ersten Achse e1 und entsprechend einer Spalte, die sich entlang der zweiten Achse e2erstreckt. Ein Satz von K Standorten {y1 , y2 , ..., yK } sind entlang der zweiten Achse e2definiert. Innerhalb jeder Spalte {X1 , X2 , ..., XN }, bestimmt das Fahrspurdarstellungsmodul 536, ob es Fahrspurmarkierungen (z. B., Trennzeichen 602, Mittellinien 604) innerhalb der Spalte gibt, die den Positionen {y1 , y2 , ..., yK } entsprechen. Das Fahrspurdarstellungsmodul 536 ermittelt die Horizontale und Elevation für Fahrspurmarkierungen {(x1 ,z1 ), (x2 ,z2 ), ..., (xK ,zK )}, die den Positionen {y1 , y2 , ..., yK } entsprechen, um einen Satz von dreidimensionalen Punkten zu definieren, durch die die Fahrspurmarkierung verläuft. Die Werte von {x1 , x2 , ..., xK } sind horizontale Offsets relativ zur Ankerposition. Daher können die Koordinaten der dreidimensionalen Punkte als {(Xn+x1, y1, z1), (Xn+x2, y2, z2), ..., (Xn+xK, yK, zK)} geschrieben werden. Zusätzlich kann für jeden Anker oder jede entsprechende Spalte ein Konfidenzwert c für die Markierungen bestimmt werden. Das Spurdarstellungsmodul 536 vergleicht den Konfidenzwert c auf einen definierten Schwellenwert cth . Für Bins, in denen der Konfidenzwert c größer oder gleich dem definierten Schwellenwert c.ist, akzeptiert das Fahrspurdarstellungsmodul 536 die Markierungen als innerhalb der Spalte befindlich und bestimmt eine parametrische Polynomdarstellung der Fahrspur innerhalb definierten Ebene □ unter Verwendung mindestens der Gruppe von Referenzpunkten innerhalb des Bins. Obwohl in 6 nur drei Positionen und entsprechende Straßenkoordinaten dargestellt sind, können in alternativen Ausführungsformen beliebig viele Positionen und Straßenkoordinaten ausgewählt werden. Die Verwendung von drei oder mehr Positionen und Straßenkoordinaten ermöglicht das Anpassen von Polynomen durch die Straßenkoordinaten, um Fahrspuren in drei Dimensionen zu ermitteln. Der Prozess des Bestimmens der Fahrspurmarkierungen ist horizontal invariant.
-
7A stellt eine Darstellung in Draufsicht 700 dar, die mehrere Fahrspuren veranschaulicht, die durch das Spurdarstellungsmodul 536 von 5 bestimmt werden können. Das Fahrspurerfassungssystem 140 projiziert die Gruppe von Fahrspuren in 7A auf eine Weltsicht der Straßenszene einschließlich der erfassten Gruppe von Fahrspuren. 7B veranschaulicht die Ergebnisse einer derartigen Projektion, überlappende Boden-Wahrheitsdaten für die Fahrspuren in der Straßenszene (offene Kreise 702) und projizierte erfasste Fahrspuren (dicke Linien 704).
-
8 veranschaulicht ein Ergebnis einer dreidimensionalen Fahrspurbestimmung unter Verwendung der hierin offenbarten Verfahren. 8A zeigt ein Bild 802 einer Straßenszene, die verwendet wird, um dreidimensionale Fahrspurdarstellungen zu erzeugen. 8B zeigt ein dreidimensionales Diagramm 804 des Bildes 802 von 8A. Die Markierungen der Bodenwahrheitsfahrspur 806 werden im dreidimensionalen Diagramm 804 dargestellt. Ebenfalls im dreidimensionalen Diagramm 804 dargestellt werden die dreidimensionalen Fahrspurdarstellungen 808, die unter Verwendung der hierin offenbarten Verfahren erhalten werden.
-
9 zeigt ein Blockdiagramm eines Beispiels eines Computersystems 910 zum Erfassen und Darstellen einer Fahrspur innerhalb einer Straßenszene, gemäß Aspekten dieser Offenbarung. Das Computersystem 910 kann einen oder mehrere Prozessoren 920 und eine oder mehrere Speichervorrichtungen 940 (allgemein als Speicher 940 bezeichnet) beinhalten, die maschinen-zugängliche Anweisungen (z. B. computerlesbare und/oder computerausführbare Anweisungen) beinhalten, auf die mindestens einer der Prozessor(en) 920 zugreift und ausführt. In einem Beispiel kann/können der/die Prozessor(en) 920 in einer Grafikverarbeitungseinheit (GPU), einer Vielzahl von GPus, einer zentralen Verarbeitungseinheit (CPU), einer Vielzahl von CPUs, einer anwendungsspezifischen integrierten Schaltung (ASIC), einem Mikrocontroller, einer programmierbaren Logiksteuerung (PLC), einem vor Ort programmierbaren Gate-Array (FPGA), einer Kombination davon oder dergleichen verkörpert sein. In einigen Ausführungsformen kann/können der/die Prozessor(en) 920 in einer einzigen Rechenvorrichtung (z. B. ein elektronisches Steuergerät (ECU) und einem Fahrzeug-Infotainment-System (ICI) oder dergleichen angeordnet sein). In anderen Ausführungsformen kann/können der/die Prozessor(en) 920 über zwei oder mehr Rechenvorrichtungen verteilt werden (z. B. mehrere ECUs; eine Kombination aus einem ICI-System und einer oder mehreren ECUs; oder dergleichen).
-
Der/die Prozessor(en) 920 kann/können über eine Kommunikationsstruktur 930 funktionell mit dem Speicher 940 verknüpft sein. Die Kommunikationsstruktur 930 ist für die jeweilige Anordnung (lokalisiert oder verteilt) des/der Prozessor(en) 920 geeignet. In einigen Ausführungsformen kann die Kommunikationsstruktur 930 eines oder mehrere der Folgenden beinhalten: Busarchitekturen, einen Ethernet-basierten Industriebus, einen CAN (Controller Area Network), einen Modbus, andere Arten von Feldbus-Architekturen oder dergleichen.
-
Der Speicher 940 beinhaltet das Fahrspurerkennungssystem 140. Als solches verkörpern die maschinenzugängliche Anweisungen (z. B. computerlesbare und/oder computerausführbare Anweisungen) das Fahrspurerkennungssystem 140 oder bilden es anderweitig. Die maschinenzugänglichen Anweisungen werden im Speicher 940 codiert und können in Komponenten angeordnet sein, die in computerausführbarer Form im Speicher 940 (wie dargestellt) oder in einem oder mehreren anderen maschinenzugänglichen nichtflüchtigen Speichermedien eingebaut (z. B. verknüpft und kompiliert) und aufbewahrt werden können. Mindestens einer der Prozessor(en) 920 kann das Fahrspurerkennungssystem 140 ausführen, um das Computersystem 910 zu veranlassen, eine Gruppe von Fahrspuren innerhalb einer Straßenszene gemäß Aspekten dieser Offenbarung zu erkennen und/oder darzustellen.
-
Ebenso kann der Speicher 940 auch das Steuersystem 950 beibehalten oder anderweitig speichern. Maschinenzugängliche Anweisungen (z. B. computerlesbare und / oder computerausführbare Anweisungen) verkörpern oder bilden als solches auf andere Weise das Steuersystem 950. Die maschinenzugänglichen Anweisungen werden wiederum im Speicher 940 codiert und können in Komponenten angeordnet sein, die in computerausführbarer Form im Speicher 940 (wie dargestellt) oder in einem oder mehreren anderen maschinenzugänglichen nichtflüchtigen Speichermedien eingebaut (z. B. verknüpft und kompiliert) und aufbewahrt werden können. Mindestens einer oder mehrere der Prozessoren 920 kann/können das Steuersystem 950 ausführen, um das Computersystem 910 zu veranlassen, einen Steuerungsprozess zu implementieren, um den Betrieb des Fahrzeugs 115, 1, beispielsweise oder andere Fahrzeugtypen einzustellen oder anderweitig zu steuern. Zu diesem Zweck kann der Steuerprozess in einem Aspekt eine Darstellung einer oder mehrerer Fahrspuren, die durch das Fahrspurerkennungssystem 140 erzeugt werden, verwenden oder anderweitig darauf aufbauen.
-
Obwohl in 9 nicht dargestellt, kann das Computersystem 910 auch andere Arten von Rechenressourcen (z. B. Schnittstelle(n) (wie E/A-Schnittstellen; Steuerungsvorrichtung(en); Stromversorgungen; und dergleichen) beinhalten, die die Ausführung der Softwarekomponenten ermöglichen oder anderweitig erleichtern können. Zu diesem Zeitpunkt kann der Speicher 940 beispielsweise auch Programmierschnittstelle(n) (wie Anwendungsprogrammierschnittstellen (APIs)), ein Betriebssystem, Firmware und dergleichen beinhalten.
-
10 zeigt ein Flussdiagramm, das ein Verfahren 1000 zum Erkennen einer Fahrspur in einer Straßenszene in einer Ausführungsform der Erfindung veranschaulicht. Bei Block 1002 wird ein Bild, das eine Straßenszene des Fahrzeugs anzeigt, an einem Sensor des Fahrzeugs erhalten. Das Bild kann ein einzelnes Bild oder eine Vielzahl von Bildern sein. Die Vielzahl der Bilder kann von Sensoren mit unterschiedlichen Sensormodalitäten erhalten werden. Bei Block 1004 wird ein mehrschichtiges konvolutionelles Neuralnetzwerk auf das Bild angewendet, worin ein erster Verarbeitungspfad des Neuralnetzwerks eine Vielzahl von Merkmalskarten aus dem Bild erzeugt. Bei Block 1006 werden mehrere Merkmalskarten auf eine definierte Ebene relativ zu einem definierten Koordinatensystem der Straßenszene projiziert, um projizierte Merkmalskarten zu erhalten. Bei Block 1008 wendet ein zweiter Verarbeitungspfad des Neuralnetzwerks Faltungen auf die projizierten Merkmalskarten an, um eine endgültige Merkmalskarte zu erhalten. Bei Block 1010 werden die Fahrspurinformationen aus der endgültigen Merkmalskarte ermittelt.
-
Während die vorstehende Offenbarung mit Bezug auf exemplarische Ausführungsformen beschrieben wurde, werden Fachleute verstehen, dass unterschiedliche Änderungen vorgenommen und die einzelnen Teile durch entsprechende andere Teile ausgetauscht werden können, ohne vom Umfang der Offenbarung abzuweichen. Darüber hinaus können viele Modifikationen vorgenommen werden, um eine bestimmte Materialsituation an die Lehren der Offenbarung anzupassen, ohne von deren wesentlichem Umfang abzuweichen. Es ist daher vorgesehen, dass die vorliegende Offenbarung nicht auf die bestimmten offenbarten Ausführungsformen beschränkt ist, sondern alle Ausführungsformen umfasst, die in dessen Geltungsbereich fallen.