-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren und die Navigation.
-
STAND DER TECHNIK
-
Fahrzeuge können ausgestattet sein, um sowohl in einem autonomen als auch in einem insassengesteuerten Modus betrieben zu werden. Fahrzeuge können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Informationen in Bezug auf die Umgebung des Fahrzeugs zu erhalten und das Fahrzeug auf Grundlage der Informationen zu steuern. Das sichere und komfortable Steuern des Fahrzeugs kann vom Erhalt genauer und rechtzeitiger Informationen in Bezug auf die Umgebung des Fahrzeugs abhängen. Fahrzeugsensoren können Daten bezüglich zurückzulegenden Routen und zu vermeidenden Objekten in der Umgebung des Fahrzeugs bereitstellen. Ein sicherer und effizienter Betrieb des Fahrzeugs kann von einem Erhalt genauer und aktueller Informationen in Bezug auf Routen und Objekte in der Umgebung eines Fahrzeugs abhängen, während das Fahrzeug auf einer Fahrbahn betrieben wird.
-
KURZDARSTELLUNG
-
Fahrzeuge können ausgestattet sein, um sowohl in einem autonomen als auch in einem insassengesteuerten Modus betrieben zu werden. Unter einem halb- oder vollautonomen Modus verstehen die Erfinder einen Betriebsmodus, in dem ein Fahrzeug von einer Rechenvorrichtung als Teil eines Fahrzeuginformationssystems gesteuert werden kann, das Sensoren und Steuerungen aufweist. Das Fahrzeug kann besetzt oder unbesetzt sein, jedoch kann das Fahrzeug in beiden Fällen vollständig oder teilweise ohne die Unterstützung eines Insassen gesteuert werden. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, bei dem sowohl Antrieb (z. B. über einen Antriebsstrang, der eine Brennkraftmaschine und/oder einen Elektromotor beinhaltet), Bremsung als auch Lenkung des Fahrzeugs durch einen oder mehrere Fahrzeugcomputer gesteuert werden; in einem halbautonomen Modus steuert (steuern) der (die) Fahrzeugcomputer eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs. In einem nicht autonomen Fahrzeug wird keines von diesen von einem Computer gesteuert.
-
Eine Rechenvorrichtung in einem Fahrzeug kann dazu programmiert sein, Daten in Bezug auf die äußere Umgebung eines Fahrzeugs zu erfassen und die Daten zu verwenden, um Bewegungsbahnen zu bestimmen, die zum Betreiben eines Fahrzeugs in einem autonomen oder halbautonomen Modus verwendet werden sollen, wobei die Rechenvorrichtung beispielsweise Steuerungen Informationen bereitstellen kann, um ein Fahrzeug auf einer Fahrbahn in Verkehr, der andere Fahrzeuge beinhaltet, zu betreiben. Auf Grundlage von Sensordaten kann eine Rechenvorrichtung einen sicheren Weg bestimmen, auf dem ein Fahrzeug fahren kann, um ein Ziel auf einer Fahrbahn in Gegenwart anderer Fahrzeuge und Fußgänger zu erreichen, wobei ein Weg als eine Linie definiert ist, die aufeinanderfolgende Standorte eines Fahrzeugs verbindet, wenn sich dieses von einem ersten Standort auf einer Fahrbahn zu einem zweiten Standort auf einer Fahrbahn bewegt, und ein sicherer Weg ist als ein Weg definiert, der das Fahrzeug auf der Fahrbahn hält und beispielsweise keine Kollisionen mit Objekten, einschließlich anderer Fahrzeuge und Fußgänger, beinhaltet.
-
Eine Rechenvorrichtung in einem ersten Fahrzeug kann dazu programmiert sein, ein zweites Fahrzeug und eine Fahrzeugumgebung, einschließlich eines Standorts in Bezug auf das erste Fahrzeug, zu identifizieren. Auf Grundlage der Identität des zweiten Fahrzeugs kann eine Stilbank, die einen Fahrzeugstilvektor beinhaltet, ausgewählt und verwendet werden, um Fahrzeugsensordaten, einschließlich eines Bildes, das von einem Fahrzeugvideosensor erfasst wurde, mit einem tiefen neuronalen Netzwerk zu verarbeiten, um eine oder mehrere Bewegungsbahnen für das zweite Fahrzeug auf Grundlage der Identität eines zweiten Fahrzeugs und der Fahrzeugumgebung, einschließlich des Standorts des zweiten Fahrzeugs in Bezug auf das erste Fahrzeug, vorherzusagen. Die Rechenvorrichtung kann den Betrieb des zweiten Fahrzeugs überwachen, während das erste Fahrzeug betrieben wird, um beobachtete Bewegungsbahnen für das zweite Fahrzeug zu bestimmen. Die beobachteten Bewegungsbahnen können mit den vorhergesagten Bewegungsbahnen verglichen und das Ergebnis verwendet werden, um den Stilbankabschnitt des tiefen neuronalen Netzwerks neu zu trainieren.
-
In dieser Schrift ist ein Verfahren offenbart, das das Bestimmen von Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen eines ersten Fahrzeugs auf Grundlage des Identifizierens des ersten Fahrzeugs und einer Fahrumgebung und das Betreiben eines zweiten Fahrzeugs auf Grundlage von bestimmten Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen des ersten Fahrzeugs beinhaltet. Der Standort, die Geschwindigkeit und die Richtung für das erste Fahrzeug können auf Grundlage von Fahrzeugsensordaten vorhergesagt werden. Das Verarbeiten von Fahrzeugsensordaten kann das Segmentieren von Farbvideodaten mit einem neuronalen Faltungsnetzwerk beinhalten, um sich bewegende Objekte, einschließlich Fahrzeugen, zu bestimmen. Das zweite Fahrzeug kann auf Grundlage des Bestimmens eines Polynoms eines geplanten Wegs für das zweite Fahrzeug betrieben werden. Das Polynom eines geplanten Wegs kann durch ein tiefes neuronales Netzwerk auf Grundlage der Identität des ersten Fahrzeugs und der Fahrumgebung bestimmt werden.
-
Die Fahrumgebung kann in das tiefe neuronale Netzwerk eingegeben und als eine kognitive Karte ausgegeben werden, die Standorte, Geschwindigkeiten und Richtungen für ein erstes Fahrzeug beinhaltet. Die Identität des ersten Fahrzeugs kann als Daten für verborgene Schichten des tiefen neuronalen Netzwerks in das tiefe neuronale Netzwerk eingegeben werden. Das erste Fahrzeug kann auf Grundlage von Fahrzeugsensordaten, einschließlich Videosensordaten, identifiziert werden. Das erste Fahrzeug kann auf Grundlage einer Kommunikation von Fahrzeug zu Fahrzeug oder Fahrzeug zu Infrastruktur identifiziert werden. Das Bestimmen von Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen eines ersten Fahrzeugs kann das Bestimmen eines Standorts des ersten Fahrzeugs in Bezug auf das zweite Fahrzeug beinhalten. Ein Standort für das erste Fahrzeug kann auf Grundlage von Video-, Lidar- oder Radarsensordaten bestimmt werden. Das Bestimmen von Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen eines ersten Fahrzeugs kann auf dem Bestimmen eines Wegpolynoms und seiner Wahrscheinlichkeit basieren. Das Wegpolynom und seine Wahrscheinlichkeit können in einer kognitiven Karte beinhaltet sein.
-
Ferner ist ein computerlesbares Medium offenbart, auf dem Programmanweisungen zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte gespeichert sind. Ferner ist ein Computer offenbart, der dazu programmiert ist, einige oder aller der vorstehenden Verfahrensschritte auszuführen, einschließlich einer Computervorrichtung, die dazu programmiert ist, Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen eines ersten Fahrzeugs auf Grundlage des Identifizierens des ersten Fahrzeugs und einer Fahrumgebung zu bestimmen und ein zweites Fahrzeugs auf Grundlage von bestimmten Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen des ersten Fahrzeugs zu betreiben. Der Standort, die Geschwindigkeit und die Richtung für das erste Fahrzeug können auf Grundlage von Fahrzeugsensordaten vorhergesagt werden. Das Verarbeiten von Fahrzeugsensordaten kann das Segmentieren von Videodaten mit einem neuronalen Faltungsnetzwerk beinhalten, um sich bewegende Objekte, einschließlich Fahrzeugen, zu bestimmen. Das zweite Fahrzeug kann auf Grundlage des Bestimmens eines Polynoms eines geplanten Wegs für das zweite Fahrzeug betrieben werden. Das Polynom eines geplanten Wegs kann durch ein tiefes neuronales Netzwerk auf Grundlage der Identität des ersten Fahrzeugs und der Fahrumgebung bestimmt werden.
-
Die Computereinrichtung kann ferner dazu programmiert sein, die Fahrumgebung in das tiefe neuronale Netzwerk einzugeben und eine kognitive Karte auszugeben, die Standorte, Geschwindigkeiten und Richtungen für ein erstes Fahrzeug beinhaltet. Die Identität des ersten Fahrzeugs kann als Daten für verborgene Schichten des tiefen neuronalen Netzwerks in das tiefe neuronale Netzwerk eingegeben werden. Das erste Fahrzeug kann auf Grundlage von Fahrzeugsensordaten, einschließlich Videosensordaten, identifiziert werden. Das erste Fahrzeug kann auf einer Kommunikation von Fahrzeug zu Fahrzeug oder Fahrzeug zu Infrastruktur basieren. Das Bestimmen von Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen eines ersten Fahrzeugs kann das Bestimmen eines Standorts des ersten Fahrzeugs in Bezug auf das zweite Fahrzeug beinhalten. Ein Standort für das erste Fahrzeug kann auf Grundlage von Video-, Lidar- oder Radarsensordaten bestimmt werden. Das Bestimmen von Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen eines ersten Fahrzeugs kann auf dem Bestimmen eines Wegpolynoms und seiner Wahrscheinlichkeit basieren. Das Wegpolynom und seine Wahrscheinlichkeit können in einer kognitiven Karte beinhaltet sein.
-
Figurenliste
-
- 1 ist ein Blockdiagramm eines beispielhaften Verkehrsinfrastruktursystems.
- 2 ist ein Diagramm eines beispielhaften Fahrzeugs, das Videosensoren beinhaltet.
- 3 ist ein Diagramm eines beispielhaften Fahrzeugs, das Radar- und Lidarsensoren beinhaltet.
- 4 ist ein Diagramm eines beispielhaften tiefen neuronalen Netzwerks, das ein tiefes Bayes'sches neuronales Netzwerk beinhaltet.
- 5 ist eine Ansicht eines beispielhaften tiefen Bayes'schen neuronalen Netzwerks.
- 6 ist ein Diagramm einer beispielhaften Verkehrsszene.
- 7 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Betreiben eines Fahrzeugs.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist ein Diagramm eines Verkehrsinfrastruktursystems 100, das ein Fahrzeug 110 beinhaltet, das in einem autonomen (zur Vermeidung von Missverständnissen bedeutet „autonom“ allein in dieser Offenbarung „autonom“ und nicht „teilautonom“) und einem insassengesteuerten Modus (auch als nicht autonomer Modus bezeichnet) betrieben werden kann. Das Fahrzeug 110 beinhaltet zudem eine oder mehrere Rechenvorrichtungen 115 zum Durchführen von Berechnungen zum Steuern des Fahrzeug 110 während des autonomen Betriebs. Die Rechenvorrichtung 115 kann von den Sensoren 116 Informationen in Bezug auf den Betrieb des Fahrzeugs empfangen. Die Rechenvorrichtung 115 kann das Fahrzeug 110 in einem autonomen Modus, einem halbautonomen Modus oder einem nicht autonomen Modus betreiben.
-
Die Rechenvorrichtung 115 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Arten computerlesbarer Medien und speichert Anweisungen, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge durchzuführen, einschließlich den in dieser Schrift offenbarten. Beispielsweise kann die Rechenvorrichtung 115 eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Beschleunigungssteuerung in dem Fahrzeug 110 durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, Hybridmotor usw.), Lenkung, Klimaregelung, Innen- und/oder Außenleuchten usw. des Fahrzeugs zu betreiben sowie um zu bestimmen, ob und wann die Rechenvorrichtung 115 im Gegensatz zu einem menschlichen Fahrer derartige Vorgänge steuern soll.
-
Die Rechenvorrichtung 115 kann mehr als eine Rechenvorrichtung, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug 110 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten beinhaltet sind, z. B. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., beinhalten oder z. B. über einen Fahrzeugkommunikationsbus, wie weiter unten beschrieben, kommunikativ mit dieser/diesen gekoppelt sein. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation über ein Fahrzeugkommunikationsnetzwerk angeordnet, das z. B. einen Kommunikationsbus in dem Fahrzeug 110, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 110 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen, wie sie bekannt sind, beinhalten, z. B. Ethernet oder andere Kommunikati onsprotokoll e.
-
Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 116, empfangen. Alternativ oder zusätzlich kann in Fällen, in denen die Rechenvorrichtung 115 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk für die Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 115 dargestellt sind. Ferner können, wie nachfolgend erwähnt, verschiedene Steuerungen oder Erfassungselemente der Rechenvorrichtung 115, wie etwa die Sensoren 116, Daten über das Fahrzeugkommunikationsnetzwerk bereitstellen.
-
Zusätzlich kann die Rechenvorrichtung 115 dazu konfiguriert sein, über ein Netzwerk 130, das, wie nachstehend beschrieben, Hardware, Firmware und Software beinhaltet, die es der Rechenvorrichtung 115 ermöglichen, über ein Netzwerk 130, wie etwa drahtloses Internet (Wi-Fi) oder Mobilfunknetzwerke, mit einem entfernten Servercomputer 120 zu kommunizieren, durch eine Fahrzeug-zu-Infrastruktur-Schnittstelle (Vehicle-to-Infrastructure interface - V-zu-I-Schnittstelle) 111 mit einem entfernten Servercomputer 120, z. B. einem Cloud-Server, zu kommunizieren. Die V-zu-I-Schnittstelle 111 kann dementsprechend Prozessoren, Speicher, Sendeempfänger usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien zu verwenden, z. B. Mobilfunk-, BLUETOOTH®- und drahtgebundene und/oder drahtlose Paketnetzwerke, zu nutzen. Die Rechenvorrichtung 115 kann dazu konfiguriert sein, mit anderen Fahrzeugen 110 durch die V-zu-I-Schnittstelle 111 unter Verwendung von Netzwerken von Fahrzeug zu Fahrzeug (Vehicle-to-Vehicle - V-zu-V) zu kommunizieren, z. B. gemäß dedizierten Nahbereichskommunikation (Dedicated Short Range Communications - DSRC) und/oder dergleichen, die z. B. auf einer Ad-hoc-Grundlage unter nahegelegenen Fahrzeugen 110 oder durch infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 beinhaltet zudem nichtflüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann Informationen protokollieren, indem sie die Informationen zum späteren Abrufen und Übertragen über das Fahrzeugkommunikationsnetzwerk und eine Fahrzeug-zu-Infrastruktur-Schnittstelle (V-zu-I-Schnittstelle) 111 an einen Servercomputer 120 oder eine mobile Benutzervorrichtung 160 auf einem nichtflüchtigen Speicher speichert.
-
Wie bereits erwähnt, ist in Anweisungen, die auf dem Speicher gespeichert sind und durch den Prozessor der Rechenvorrichtung 115 ausführbar sind, im Allgemeinen eine Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z. B. Bremsen, Lenken, Antrieb usw., ohne Eingreifen eines menschlichen Fahrers beinhaltet. Unter Verwendung von in der Rechenvorrichtung 115 empfangenen Daten, z. B. der Sensordaten von den Sensoren 116, dem Servercomputer 120 usw., kann die Rechenvorrichtung 115 ohne einen Fahrer zum Betreiben des Fahrzeugs 110 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 110 steuern. Beispielsweise kann die Rechenvorrichtung 115 eine Programmierung zum Regeln des Betriebsverhaltens des Fahrzeugs 110 (d. h. physikalischen Manifestationen des Betriebs des Fahrzeugs 110) wie etwa Geschwindigkeit, Beschleunigung, Abbremsung, Lenken usw. sowie des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens auf eine Weise, die typischerweise ein sicheres und effizientes Abfahren einer Route erreichen sollen) beinhalten, wie etwa einem Abstand zwischen Fahrzeugen und/oder einer Zeit zwischen Fahrzeugen, Spurwechsel, Mindestdistanz zwischen Fahrzeugen, Mindestzeit für Pfadquerung bei Linksabbiegung, Ankunftszeit an einem bestimmten Standort und Mindestankunftszeit an einer Kreuzung (ohne Ampel) zum Überqueren der Kreuzung.
-
Im hier verwendeten Sinne beinhaltet der Ausdruck „Steuerungen“ Rechenvorrichtungen, die typischerweise zum Steuern eines konkreten Fahrzeugteilsystems programmiert sind. Beispiele beinhalten eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113 und eine Lenksteuerung 114. Eine Steuerung kann eine elektronische Steuereinheit (Electronic Control Unit - ECU) sein, wie sie bekannt ist, und möglicherweise eine zusätzliche Programmierung wie in dieser Schrift beschrieben beinhalten. Die Steuerungen können kommunikativ mit der Rechenvorrichtung 115 verbunden sein und Anweisungen von dieser empfangen, um das Teilsystem gemäß den Anweisungen zu betätigen. Beispielsweise kann die Bremssteuerung 113 Anweisungen zum Betreiben der Bremsen des Fahrzeugs 110 von der Rechenvorrichtung 115 empfangen.
-
Die eine oder mehreren Steuerungen 112, 113, 114 für das Fahrzeug 110 können bekannte elektronische Steuereinheiten (ECUs) oder dergleichen beinhalten, die als nicht einschränkende Beispiele eine oder mehrere Antriebsstrangsteuerungen 112, eine oder mehrere Bremssteuerungen 113 und eine oder mehrere Lenksteuerungen 114 beinhalten. Jede der Steuerungen 112, 113, 114 kann jeweilige Prozessoren und Speicher und einen oder mehrere Aktoren beinhalten. Die Steuerungen 112, 113, 114 können mit einem Kommunikationsbus des Fahrzeugs 110, wie etwa einem CAN(Controller Area Network)-Bus oder einem LIN(Local Interconnect Network)-Bus, programmiert und verbunden sein, um Anweisungen von dem Computer 115 zu empfangen und Aktoren auf Grundlage der Anweisungen zu steuern.
-
Die Sensoren 116 können eine Vielzahl von Vorrichtungen beinhalten, die für die Bereitstellung von Daten über den Fahrzeugkommunikationsbus bekannt sind. Beispielsweise kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigten) des Fahrzeugs 110 befestigt ist, einen Abstand des Fahrzeugs 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen oder ein GPS(Global Positioning System)-Sensor, der in dem Fahrzeug 110 angeordnet ist, kann geographische Koordinaten des Fahrzeugs 110 bereitstellen. Der Abstand (Die Abstände), der (die) durch das Radar und/oder andere Sensoren 116 bereitgestellt wird (werden), und/oder die geographischen Koordinaten, die durch den GPS-Sensor bereitgestellt werden, können von der Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 autonom oder halb autonom zu betreiben.
-
Das Fahrzeug 110 ist im Allgemeinen ein Landfahrzeug 110, das autonom und/oder halbautonom betrieben werden kann und das drei oder mehr Räder aufweist, z. B. ein PKW, ein Kleinlaster usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die V-zu-I-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten in Bezug auf das Fahrzeug 110 und die Umgebung, in der das Fahrzeug 110 betrieben wird, sammeln. Beispielhaft und nicht einschränkend können die Sensoren 116 z. B. Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hallsensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren wie etwa Schalter usw. beinhalten. Die Sensoren 116 können verwendet werden, um die Umgebung zu erfassen, in der das Fahrzeug 110 betrieben wird, z. B. können die Sensoren 116 Phänomene wie etwa Wetterbedingungen (Niederschlag, äußere Umgebungstemperatur usw.), die Neigung einer Straße, den Standort einer Straße (z. B. unter Verwendung von Straßenrändern, Spurmarkierungen usw.) oder Standorte von Zielobjekten wie etwa Nachbarfahrzeugen 110 erfassen. Die Sensoren 116 können ferner verwendet werden, um Daten, einschließlich dynamischer Daten des Fahrzeugs 110, die sich auf Vorgänge des Fahrzeugs 110 beziehen, wie etwa Geschwindigkeit, Gierrate, Lenkwinkel, Motordrehzahl, Bremsdruck, Öldruck, den auf die Steuerungen 112, 113, 114 in dem Fahrzeug 110 angewandten Leistungspegel, Konnektivität zwischen Komponenten und ein genaues und rechtzeitiges Leistungsverhalten von Komponenten des Fahrzeugs 110, zu sammeln.
-
2 ist ein Diagramm eines beispielhaften Fahrzeugs 110, das Videosensoren 202, 204, 206, 208, die hier einzeln und gemeinsam als Videosensoren 210 bezeichnet werden, beinhaltet. Jeder Videosensor 202, 204, 206, 208 verfügt über ein entsprechendes Sichtfeld 212, 214, 216, 218, die hier jeweils einzeln und gemeinsam als Sichtfelder 220 bezeichnet werden. Die Sichtfelder 220 geben das Volumen im 3D-Raum an, in dem Videosensoren 210 fokussierte Daten erfassen können, die auf eine 2D-Ebene parallel zu einer angenommenen Fahrbahnfläche projiziert werden. Der Standort von Objekten um ein Fahrzeug 110 kann durch Kombinieren von Informationen bezüglich der Richtung und Größe des Sichtfelds 220 in Bezug auf das Fahrzeug 110 und der Annahme, dass sich die Objekte auf der gleichen Fahrbahnfläche wie das Fahrzeug 110 befinden, bestimmt werden. Auf Grundlage der 3D-Pose der optischen Achse eines Videosensors 210 (Richtung), der Vergrößerung der Linse (Größe) und der Annahme, dass Objekte mit dem unteren Abschnitt ihres 3D-Umrisses eine gemeinsame Fahrbahnfläche mit dem Fahrzeug 110 berühren, können die 3D-Richtung und der Abstand zu den Objekten bestimmt werden. Die 3D-Pose ist der 3D-Standort, zum Beispiel x-, y-, und z-Raumkoordinaten sowie Wank-, Neigungs- und Gierrotationskoordinaten in Bezug auf ein Koordinatensystem, wie etwa Breitengrad, Längengrad und Höhe.
-
Die Rechenvorrichtung 115 kann ein von einem Videosensor 210 erfasstes Bild und Umgebungsdaten, die die Identität und Umgebungsdaten eines zweiten in dem Bild beinhalteten Fahrzeugs, einschließlich welcher Videosensor 210 das Bild erfasst hat, und wann das Bild erfasst wurde, beinhalten, in ein tiefes neuronales Netzwerk eingeben. Die Rechenvorrichtung 115 kann Bild- und Umgebungsdaten beispielsweise unter Verwendung von physisch in dem Fahrzeug 110 befindlichen Rechenressourcen oder von physisch in dem Servercomputer 120 befindlichen Rechenressourcen verarbeiten. Die Identität kann die Identität eines menschlichen Fahrers beinhalten, der wahrscheinlich das zweite Fahrzeug fährt. Das tiefe neuronale Netzwerk wird auf Grundlage der Identität des menschlichen Fahrers programmiert, indem ein Stilbankabschnitt eines tiefen neuronalen Netzwerks mit einem Stilvektor programmiert wird, der den Fahrstil eines menschlichen Fahrers beschreibt. Eine Stilbank und Stilvektoren werden nachstehend ausführlicher in Bezug auf 5 beschrieben. Die Stilbank wandelt Bild- und Umgebungsinformationen von einem codierenden neuronalen Faltungsnetzwerk in Vorhersagen einer Bewegung des zweiten Fahrzeugs um, um sie an ein decodierendes neuronales Faltungsnetzwerk auszugeben, um Wegpolynome mit Auftrittswahrscheinlichkeiten zu erzeugen, bei denen ein wahrscheinlichstes Wegpolynom von links und rechts weniger wahrscheinlichen Wegpolynomen wie in Bezug auf 6 beschrieben, begleitet ist.
-
3 ist ein Diagramm eines Fahrzeugs 110, das Radarsensoren 302, 304, 306, 308, 310 (zusammen Radarsensoren 312) und Lidarsensoren 314, 316 beinhaltet. Radarsensoren 312 und Lidarsensoren 314, 316 weisen jeweils ein Sichtfeld 318, 320, 322, 324, 326, 328, 330 (einzeln und gemeinsam 332) auf, in dem sie nutzbare Daten erfassen können. Radarsensoren 312 und Lidarsensoren 314, 316 erfassen Abstand- oder Bereichsdaten in Bezug auf Objekte in einer Umgebung um ein Fahrzeug 110. Durch Verarbeiten von Radardaten oder Lidardaten, um den Standort eines zweiten Fahrzeugs in Bezug auf ein Fahrzeug 110 zu bestimmen, kann die Rechenvorrichtung 115 den Betrieb eines zweiten Fahrzeugs überwachen, um beispielsweise den Standort, die Geschwindigkeit und die Richtung für das zweite Fahrzeug zu bestimmen. Die Standort-, Geschwindigkeits- und Richtungsdaten können mit Vorhersagen für den Standort, die Geschwindigkeit und Richtung des zweiten Fahrzeugs verglichen werden, die durch ein tiefes neuronales Netzwerk (Deep Neural Network - DNN) 400, das in Bezug auf die 4 und 5 beschrieben wurde, erstellt wurden. Die Rechenvorrichtung 115 kann bestimmen, ob das Verhalten des zweiten Fahrzeugs mit der Vorhersage übereinstimmt. In Beispielen, in denen das Verhalten des zweiten Fahrzeugs nicht übereinstimmt, kann das DNN 400 auf Grundlage des beobachteten Verhaltens neu trainiert werden.
-
Die Rechenvorrichtung 115 kann Abstände und Richtungen zu Objekten in Radardaten und Lidardaten bestimmen, indem die Radardaten und Lidardaten mit Kartendaten kombiniert werden, die auf dem Bestimmen einer 3D-Pose des Fahrzeugs 110 in realen x-, y- und z-Raumkoordinaten und Wank, Neigungs- und Gierrotationskoordinaten basieren. Die reale 3D-Pose des Fahrzeugs 110 kann zum Beispiel mit Daten von Sensoren 116 von GPS- und beschleunigungsmesserbasierten Trägheitsnavigationssystemen (Inertial Navigation System - INS) bestimmt werden. Kartendaten können im Speicher der Rechenvorrichtung 115 gespeichert oder über die V-zu-I-Schnittstelle 111 vom Servercomputer 120 heruntergeladen werden, z. B. aus dem Internet heruntergeladene Karten von GOOGLE ™ oder OpenStreetMap (Open Street Map Foundation, Cambridge, Vereinigtes Königreich). Mit Kartendaten können die 3D-Pose (Position und Richtung) des Fahrzeugs 110 und Informationen in Bezug auf Sichtfelder 332, Radardaten oder Lidardaten auf eine kognitive Karte projiziert werden, die eine Karte der Umgebung um ein Fahrzeug 110 in der Draufsicht darstellt. Kognitive Karten werden nachstehend in Bezug auf 6 erörtert. Radar- und Lidardaten, die auf eine kognitive Karte projiziert werden, können mit Kartendaten korreliert werden, um Fahrbahnen, Fahrspuren und Abstände sowie Richtungen und Geschwindigkeiten von Objekten wie anderen Fahrzeugen und Fußgängern zu bestimmen.
-
4 ist ein Diagramm eines tiefen neuronalen Netzwerks (DNN) 400. Das DNN gibt Bilddaten 402 ein, die von einem Videosensor 210 erfasst wurden. Das DNN 400 beinhaltet ein kodierendes neuronales Faltungsnetzwerk (ENC) 404, eine Stilbank (SB) 408 und ein dekodierendes Faltungsnetzwerk (DEC) 412. In den Bilddaten 402 sind Informationen bezüglich der Umgebung codiert, einschließlich Informationen bezüglich der Richtung und Größe des Sichtfelds 220 des Videosensors 210. Die Bilddaten 402 werden in das kodierende neuronale Faltungsnetzwerk (ENC) 404 eingegeben, in dem mehrere Faltungsschichten, die räumliche Filter auf eingegebene Bilddaten gemäß der durch das Training erzeugten Programmierung anwenden, mit einer Vielzahl von Downsampling-Schichten vermischt sind, die die räumliche Auflösung von Faltungsschichten unter Beibehaltung von Zwischenergebnisinformationen, ebenfalls gemäß der durch das Training erzeugten Programmierung verringern. Da das eingegebene Bild 402 kodierte Umgebungsinformationen einschließlich der Größe und Richtung des Sichtfelds 220 beinhaltet, kann das ENC 404 Bilddaten fenstern und kodieren, um Fahrzeughinweise zu erzeugen, d. h. Daten, die die Pose und den Standort des zweiten Fahrzeugs in Bezug auf das Fahrzeug 110 beschreiben. Fahrzeughinweise, die die Pose des zweiten Fahrzeugs und dessen Standort in Bezug auf das Fahrzeug 110 beschreiben, werden an die Stilbank 408 als Fahrzeughinweise 406 kommuniziert, wobei die Fahrzeughinweise in Arrays mit reduzierter Auflösung in x und y beinhaltet sind, während die Bittiefe erhöht wird, um eine Vielzahl von Fahrzeughinweisen 406 zu beinhalten, die eine Vielzahl von Fahrzeughinweisen beinhalten.
-
Die SB 408 gibt die Fahrzeughinweise 406 ein und verarbeitet sie, um Bewegungshinweise 410 zu erzeugen, die die vorhergesagte Fahrzeugbewegung beschreiben, einschließlich von Polynomen eines vorhergesagten Wegs, die entsprechende Wahrscheinlichkeiten beinhalten, wobei die entsprechenden Wahrscheinlichkeiten eine geschätzte Wahrscheinlichkeit sind, dass das zweite Fahrzeug entlang des Polynoms des vorhergesagten Wegs fährt, das Programmierinformationen beinhaltet, die in einem Stilvektor beinhaltet sind, wobei die Parameter, die die Berechnungen der Schichten der SB 408 des DNN 400 steuern, in einem Stilvektor mit einer Anzahl von Bits zusammengefasst werden, die durch Benutzereingaben bestimmt werden. Je mehr Bits vorhanden sind, desto genauer kann der Fahrstil eines menschlichen Fahrers dargestellt werden. Eine beispielhafte Anzahl von Bits beträgt ungefähr 500. Wenn die Rechenvorrichtung 115 den wahrscheinlichen menschlichen Fahrer eines zweiten Fahrzeugs identifiziert, kann auf den diesem menschlichen Fahrer gehörenden Stil zugegriffen und in die SB 408 heruntergeladen werden. Ein Stilvektor kann den Fahrstil eines menschlichen Fahrers, oder in Beispielen, in denen ein Fahrzeug von einer Rechenvorrichtung vollständig oder teilweise im autonomen Modus betrieben wird, den Fahrstil einer Rechenvorrichtung, die als automatisiertes Fahrassistenzsystem (Automated Driving Assist System - ADAS) betrieben wird, darstellen. Für das DNN 400 kann ein Stilvektor eine Schicht individueller Gewichte und systematischer Abweichungen für eine Schicht von Rechenknoten sein, wohingegen Variationsautokodierer zwei Stilvektoren haben können, nämlich Mittelwert- und Standardabweichungsvektoren. Bayes'sche NNs können Rechenknotenverteilungen im Stilvektor aufweisen.
-
Stilvektoren werden durch Trainieren eines DNN 400 zum Ausgeben von Wegpolynomen und -Wahrscheinlichkeiten durch gemeinsames Trainieren von ENC 404, SB 408 und DEC 412 bestimmt. Ein Stilvektor ist ein Vektor von Bits, die kodierte Programmierungsdaten für die SB 408 beinhalten. Sobald ein DNN 400 trainiert ist, Wegpolynome und Wahrscheinlichkeiten für den Fahrstil eines menschlichen Fahrers auszugeben, können Bits, die die Programmierung für die SB 408 definieren, in einem Vektor zusammengefasst und in den Speicher der Rechenvorrichtung 115 hochgeladen werden, wodurch der Fahrstil eines menschlichen Fahrers erfasst wird. Stilvektoren können beispielsweise 300 bis 500 Bits beinhalten und können Bitmuster beinhalten, die von Menschen nicht ohne weiteres interpretiert werden können. Das DNN 400 kann so trainiert werden, dass es geeignete kognitive Karten 414 ausgibt, die Wegpolynome und Wahrscheinlichkeiten beinhalten, indem Ergebnisse, die mit der Ground Truth gemäß einer ausgewählten Verlustfunktion, die schlechte Ergebnisse bestraft und der Ground Thruth ähnliche Ergebnisse belohnt, zurückgemeldet werden. Die Ground Truth sind Daten, die der kognitiven Karte 414 entsprechen und von Quellen erfasst werden, die unabhängig von der Bildeingabe des DNN 400 sind, beispielsweise Lidarsensordaten oder Radarsensordaten. Nach wiederholten Versuchen mit einer Vielzahl von Bildern 402 und entsprechender Ground Truth kann das DNN 400 trainiert werden, um korrekte kognitive Karten 414 auf Grundlage von eingegebenen Bildern 402 auszugeben. Nachdem es trainiert ist, können Parameter von der SB 408, die als Stilvektoren bezeichnet werden, von der SB 408 hochgeladen und in dem Speicher der Rechenvorrichtung 115 gespeichert oder über die V-zu-I-Schnittstelle 111 auf einen Servercomputer 120 hochgeladen und von dem Speicher der Rechenvorrichtung 115 oder einem Servercomputer 120 in die SB 408 heruntergeladen werden. Stilvektoren können nach einzelnen menschlichen Fahrern oder Gruppen von menschlichen Fahrern oder ADAS-Fahrern indiziert und gespeichert und auf Anfrage von der Rechenvorrichtung 115 in der SB 408 lokalisiert und heruntergeladen werden. Jeder menschliche Fahrer kann einen eindeutigen Stilvektor haben, der von der Rechenvorrichtung 115 in einer Matrix gespeichert wird, die beispielsweise durch die Identität indiziert ist.
-
In einigen Beispielen wird ein einzelner menschlicher Fahrer von der Rechenvorrichtung 115 unter Umständen nicht identifiziert. In diesen Beispielen kann ein Stilvektor ein Durchschnitt oder eine andere Kombination eines oder mehrerer Stilvektoren sein, die einem oder mehreren menschlichen Fahrern des zweiten Fahrzeugs zugeordnet sind. Ein einfacher Ansatz besteht darin, eine normale Wahrscheinlichkeitsverteilung für jedes Element in der Stilmatrix anzunehmen. Ein derartiger Ansatz ist als Variationsautokodierer bekannt, bei dem jedes Element des Stilvektors aus einem Mittelwert und einem Standardabweichungselement besteht, die herangezogen werden können. Dies kann zu einer großen Variation des Stilvektors führen, was zu einer weniger sicheren Vorhersage bei der Wegpolynomvorhersage führen würde. Ein anderer Ansatz für ein Fahrzeug 110 mit einer geringen Anzahl von Fahrern, z. B. 2-4, besteht darin, durch Verwendung eines Bayes'schen neuronalen Netzwerks davon auszugehen, dass die Wahrscheinlichkeitsverteilung aus einer Gauß‘schen Mischung oder einer anderen Verteilung besteht. Die wahre Wahrscheinlichkeitsverteilung kann durch Bayes'sche Inferenz unter Verwendung der gesammelten Daten berechnet werden. Die beiden Ansätze können kombiniert werden, indem eine einfache Wahrscheinlichkeitsverteilung angenommen wird, aber die Bayes'sche Analyse verwendet wird, um das Auftreten eines Änderungspunkts in den geschätzten Verteilungen zu erfassen, der einen neuen Fahrer oder mehrere Fahrer pro Fahrzeug anzeigen würde. Schließlich würde der Prozess des Aktualisierens unserer A-posteriori-Erwartung auf der Grundlage neuer Daten, z. B. dem erneuten Trainieren des DNN 400 auf der Grundlage des beobachteten Verhaltens, einen flexiblen Stilvektor bereitstellen, der natürliche Verbesserungen oder Veränderungen der Fahrstile im Laufe der Zeit berücksichtigen könnte.
-
In einem anderen Beispiel stehen der Rechenvorrichtung 115 keine Informationen bezüglich des menschlichen Fahrers eines Fahrzeugs zur Verfügung. In diesen Beispielen kann die Rechenvorrichtung 115 einen zweiten Fahrzeugtyp bestimmen und auf Grundlage des zweiten Fahrzeugtyps einen generischen Stilvektor bestimmen, der einen wahrscheinlichen Fahrstil bei diesem Fahrzeugtyp darstellt. Beispielsweise kann ein großer LKW eine Gruppe wahrscheinlicher Fahrstile aufweisen, während ein Sportwagen eine andere Gruppe wahrscheinlicher Fahrstile aufweisen kann. Jeder Typ von identifizierbarem Fahrzeug kann einen Standardstilvektor aufweisen, der auf dem Trainieren des DNN 400 mit einer Vielzahl von Bildern und der entsprechenden Ground Truth bezüglich entsprechender Fahrstile basiert. Sobald ein Stilvektor in die SB 408 heruntergeladen ist, kann die SB 408 eingegebene Bild- und Umgebungsdaten oder Merkmale, die aus einem eingegebenen Bild und Umgebungsdaten abgeleitet sind, verarbeiten, um Ausgabebewegungshinweise 410 zu bilden, die Wahrscheinlichkeiten von Bewegungen für das zweite Fahrzeug zum Kodieren des neuronalen Faltungsnetzwerks 412 beschreiben. Die SB 408 wird nachstehend in Bezug auf 5 beschrieben.
-
Bewegungshinweise 410 werden in den DEC 412 eingegeben, der Bewegungshinweise einem Upsampling unterzieht, Wegpolynome und Wahrscheinlichkeiten bestimmt und sie auf eine kognitive Karte 414 projiziert. Der DEC 412 ist ein kognitives neuronales Upsampling-Netzwerk, das Bewegungshinweise 410 eingibt, die von der SB 408 ausgegeben werden. Ein kognitives neuronales Upsampling-Netzwerk beinhaltet eine Vielzahl von Faltungsschichten, die Bewegungshinweisdaten 414 mit durch Training bestimmten Faltungskernen filtern. Faltungsschichten sind mit einer Vielzahl von Upsampling-Schichten gemischt, die Informationen von dem ENC 404 mit der geeigneten Auflösung verwenden, um das Upsampling beispielsweise über Skip-Verbindungen zu steuern. Eine ausgegebene kognitive Karte 414 kann Fahrbahnen und Objekte wie andere Fahrzeuge und Fußgänger beinhalten und wird in Bezug auf 6 erörtert. Es kann mehr als eine Berechnung von mehr als einem Fahrzeug mit eigenem Stilvektor verkettet werden (parallel und in Reihe), um die Interaktion von Fahrzeugführern in der kognitiven Karte zu jedem inkrementellen Zeitschritt unter Verwendung jedes der vorherigen Vorhersagestandortergebnisse zu verstehen.
-
5 ist ein Diagramm einer beispielhaften SB 408. Die SB 408 ist ein tiefes neuronales Netzwerk, das die Schichten 504, 510, 518, 524 beinhaltet, die jeweils Rechenknoten 502, 508, 514, 522 aufweisen. Es werden Fahrzeughinweise 406 in Rechenknoten 502 der ersten Schicht 504 eingegeben, wobei die Elemente der Fahrzeughinweise 406 jeweils berechnet und durch Verbindungen 506 zu den Rechenknoten 508 der nächsten Schicht 510 übertragen werden. Die Rechenknoten 502 der ersten Schicht 504 sind durch Verbindungen 506 vollständig mit den Rechenknoten 508 der nächsten Schicht 510 verbunden, was bedeutet, dass beliebige Ausgabewerte von der Schicht 504 in einen beliebigen Rechenknoten 508 der nächsten Schicht 510 eingegeben werden können. In ähnlicher Weise sind die Rechenknoten 508 der Schicht 510 durch Verbindungen 512 vollständig mit den Rechenknoten 514 der Schicht 518 verbunden, und die Rechenknoten 514 der Schicht 518 sind durch Verbindungen 520 vollständig mit den Rechenknoten 522 der Ausgabeschicht 524 verbunden. Diese Verbindungen 506, 512, 520 ermöglichen der SB 408, eine Funktion einer beliebigen Kombination von Eingabe- und Zwischenwerten zu berechnen. Sobald die SB 408 trainiert wurde, geeignete Bewegungshinweise 410 auf Grundlage der eingegebenen Fahrzeughinweise 406 unter Verwendung der Ground Truth wie vorstehend beschrieben auszugeben, können die Parameter, die diese Berechnungen steuern, zusammen gesammelt werden, um einen Stilvektor zu bilden. In einem Stilvektor beinhaltete Bits entsprechen Parametern, die von den Rechenknoten 502, 508, 514, 522 der SB 408 verwendet werden, um eingegebene Fahrzeughinweise 406 zu verarbeiten, und können beispielsweise Gleitkommazahlen sein.
-
Die SB 408 verarbeitet die eingegebenen Fahrzeughinweise 406 durch Bestimmen von Bayes'schen Wahrscheinlichkeiten, die Zwischenergebnissen zugeordnet sind, die auf Grundlage der eingegebenen Fahrzeughinweise 406 bestimmt wurden. Die SB 408 des Bayes'schen neuronalen Netzwerks würde uns ein probabilistisches Verständnis der Rechenknoten der Schichten bereitstellen, zum Beispiel das Verständnis der Konfidenz in den Gewichten des Netzwerkes und der letztlich ausgegebenen Hinweise. Die Rechenknoten 502 der Eingabeschicht 504 wandeln eingegebene Fahrzeughinweise 406 in Wahrscheinlichkeitsverteilungen um, die beispielsweise Wahrscheinlichkeiten des Auftretens von Fahrzeughinweisen 406 beschreiben. Die Rechenknoten 508, 514, 522 der nachfolgenden Schichten 510, 518, 524 berechnen Bayes'sche Wahrscheinlichkeiten auf Grundlage des Eingebens von Wahrscheinlichkeitsverteilungen. Bayes'sche Wahrscheinlichkeiten sind Wahrscheinlichkeiten P, die gemäß einer Gleichung P = (α|b) bestimmt werden, wobei die Wahrscheinlichkeit P gleich der Wahrscheinlichkeit des Eintretens eines Ereignisses a auf Grundlage einer Wahrscheinlichkeitsverteilung ist, die a entspricht, das abhängig von einer Wahrscheinlichkeitsverteilung ist, die der Wahrscheinlichkeit des Eintretens von b entspricht. Dies setzt voraus, dass die Wahrscheinlichkeitsverteilung, die der Wahrscheinlichkeit entspricht, dass b eintritt, bestimmt wird, bevor die Bestimmung der Wahrscheinlichkeit, dass α eintritt, erfolgt. Auf diese Weise können Informationen bezüglich eines vorherigen Zustands, der den Fahrzeughinweisen 406 entspricht und daher Informationen bezüglich eines vorherigen Fahrverhaltens in Berechnungen der Rechenknoten 502, 508, 514, 522 unter Verwendung von Wahrscheinlichkeitsverteilungen, die über die Verbindungen 506, 512, 520 kommuniziert werden, aufgenommen werden. Parameter, die bestimmen, welche Eingabewahrscheinlichkeitsverteilungen und welche Bayes'schen Wahrscheinlichkeiten als transformierte Wahrscheinlichkeitsverteilungen ausgegeben werden sollen, werden als Bits in einem Stilvektor gespeichert. Das Trainieren eines DNN 400 wie vorstehend beschrieben führt zu einer Auswahl von Parametern, die als Bits in einem Stilvektor gespeichert sind. Der trainierte Stilvektor kann von dem DNN 400 durch die Rechenvorrichtung 115 hochgeladen und im Speicher gespeichert werden, indiziert durch eine Identität, die der Identität eines menschlichen Fahrers entspricht, die von der Rechenvorrichtung 115 bestimmt wurde.
-
Die SB 406 enthält ein Bayes'sches System, bei dem die Darstellung des Fahrstilvektors einer Wahrscheinlichkeitsverteilung entspricht. In ähnlicher Weise können die Parameters des neuronalen Netzwerks Wahrscheinlichkeitsverteilungsgewichte und systematische Abweichungen für jedes Neuron beinhalten. Es gibt drei nützliche Ergebnisse dieser Hinzufügung. Der erste Vorteil besteht darin, dass der Fahrstilvektor natürliche Variationen berücksichtigen kann, die im Fahrstil eines Menschen zu sehen sind, sowie Variationen berücksichtigt, wenn ein Fahrzeug von mehreren Fahrern geteilt wird. Zweitens ist das Ergebnis eine Vorhersage des Wahrscheinlichkeitsraums der zukünftigen Fahrzeugbewegungsbahn. Somit ist es möglich, den wahrscheinlichsten Weg zu berücksichtigen und Bewegungsbahnextreme mit geringer Wahrscheinlichkeit besser vorherzusagen. Drittens kann die Darstellung des Fahrstilvektors uninformative vorherige Annahmen oder eine sehr große Variation der Wahrscheinlichkeitsverteilungen des Vektors annehmen. Infolgedessen ist es möglich, gängige Fahrstilverhalten zu lernen, beispielsweise ob ein Fahrer dazu neigt, einen Blinker mit hoher Genauigkeit zu verwenden (eine Wahrscheinlichkeitsverteilung dieser bestimmten Stilkomponente kann als gleichwertig mit dem realen Fahrstil einer Person angesehen werden). Andererseits würden Fahrstilverhalten, die für einen bestimmten Fahrer noch nicht überwacht wurden (z. B. Fahren unter eisigen Bedingungen oder bei Nebel usw.), eine sehr große Unsicherheit aufweisen. Dies würde zu einer messbaren Vorhersagekonfidenz führen, die verwendet werden kann, um die Bewegungsplanung sowohl für beobachtete Fahrumgebungen als auch für Fahrumgebungen zu informieren, in denen der Fahrstil eines bestimmten Fahrers noch nicht beobachtet wurde. Die in dieser Schrift erörterten Techniken verbessern den Betrieb des Fahrzeugs 110 durch Bereitstellen eines besseren und genaueren Verfahrens zum Vorhersagen von Polynomen zukünftiger Wege menschlicher Fahrer.
-
6 ist ein Diagramm einer beispielhaften kognitiven Karte 414. Eine kognitive Karte ist eine Draufsichtdarstellung einer Umgebung um ein Fahrzeug 110. Die kognitive Karte 414 kann von der Rechenvorrichtung 115 durch Erfassen und Verarbeiten von einem oder mehreren von Videodaten, Radardaten, Lidardaten oder V-zu-V- oder V-zu-I-Netzwerkdaten mit Posedaten des Fahrzeugs 110 und Kartendaten erstellt werden, um Standorte für Objekte in einer Umgebung um ein Fahrzeug 110 zu bestimmen, die eine Fahrbahn 600, Fahrspuren 602, 604, 606 und ein Fahrzeug 110 sowie ein zweites und ein drittes Fahrzeug 608, 610 beinhaltet. Ein Koordinatensystem der kognitiven Karte 414 kann an dem Fahrzeug 110 zentriert sein und sich mit dem Fahrzeug 110 bewegen, während es auf der Fahrbahn 600 in der Fahrspur 602 betrieben wird. In der kognitiven Karte 414 ist ein Wegpolynom 612 für das Fahrzeug 110 enthalten. Das Wegpolynom 612 ist eine Veranschaulichung eines Weges, der durch eine Polynomfunktion des Fahrzeugs 110 angegeben ist, wobei 3D-Posenvektoren vorhergesagte Standorte für das Fahrzeug 110 beschreiben. Die Rechenvorrichtung 115 kann Befehle bestimmen, die an die Steuerungen 112, 113, 114 gesendet werden sollen, um den Antriebsstrang, das Lenken und das Bremsen des Fahrzeugs 110 zu steuern, um das Fahrzeug zu betreiben 110, um vorhergesagte Standorte des Wegpolynoms 612 zu vorhergesagten Zeiten zu erreichen, und somit das Fahrzeug 110 derart zu betreiben, dass es einen Zielzustand erreicht, zum Beispiel einen Zielstandort, der sich auf einer Fahrbahn 600 befindet, mit einer vorhergesagten Geschwindigkeit und einer vorhergesagten Fahrtrichtung zu erreichen.
-
Die Rechenvorrichtung 115 kann eine kognitive Karte 414 erstellen, die mit dem Bestimmen eines Standorts des Fahrzeugs 110 einschließlich einer 3D-Pose für das Fahrzeug 110 beginnt, wie vorstehend in Bezug auf 3 erörtert. Die Rechenvorrichtung kann die 3D-Pose verwenden, um Kartendaten zu lokalisieren, die einen Bereich um das Fahrzeug 110 darstellen, und eine kognitive Karte 414 zu erstellen, die auf dem Fahrzeug 110 zentriert und in einer Richtung ausgerichtet ist, die auf dem Wegpolynom 612 des Fahrzeugs 110 basiert, das ein Symbol beinhaltet, das das Fahrzeug 110 in der Mitte darstellt. Die Rechenvorrichtung 115 kann eine Fahrbahn 600 und Fahrspuren 602, 604, 606 auf Grundlage von Kartendaten beinhalten, die durch Verarbeiten von einem oder mehreren von Videodaten, Radardaten oder Lidardaten verbessert wurden, um die Standorte der Fahrbahn 600 und Fahrspuren 602, 604, 606 zu bestimmen. Videodaten, Radardaten oder Lidardaten können unter Verwendung von Techniken zum maschinellen Sehen einschließlich tiefer neuronaler Netze verarbeitet werden, um eingegebene Sensordaten zu verarbeiten und bestimmte Merkmale mit Abständen und Richtungen vom Fahrzeug 110 auszugeben.
-
Die kognitive Karte 414 kann von der Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 zu betreiben. Die Rechenvorrichtung 115 kann ein Wegpolynom 612 bestimmen, wobei das Wegpolynom eine Polynomfunktion ist, die vorhergesagte Posenvektoren für das Fahrzeug 110 beinhaltet. Die Rechenvorrichtung 115 kann Befehle erzeugen, die an die Steuerungen 112, 113, 114 gesendet werden sollen, um den Antriebsstrang, das Lenken und das Bremsen des Fahrzeugs 110 zu steuern, um das Fahrzeug 110 zu veranlassen, die vorhergesagten Posenvektoren zu erreichen, die den Standort, die Richtung und die Geschwindigkeit des Fahrzeugs definieren, und somit das Fahrzeug 110 entlang des Wegpolynoms 612 zu betreiben. Die Rechenvorrichtung 115 kann das Vorhandensein eines zweiten und eines dritten Fahrzeugs 608, 610 in den Fahrspuren 604, 606 jeweils benachbart zu der Fahrspur 602 des Fahrzeugs 110 bestimmen. Die Rechenvorrichtung 115 kann Wegpolynome 614, 620 für ein zweites und ein drittes Fahrzeug 608, 610 auf Grundlage empirischer Daten bezüglich eines vorherigen Verhaltens von Fahrzeugen im Verkehr und einer Benutzereingabe bezüglich der Anzahl und Arten verschiedener Fahrverhalten, die von Beobachtern identifiziert und aufgezeichnet wurden, vorhersagen. Beim Fahren in der realen Welt ist der Bereich möglicher Wegpolynome 616, 618, 622, 624 für ein gegebenes Fahrzeug auf Grundlage der vorstehenden Kriterien so groß, dass, wenn Wegpolynome 614, 620 zu der kognitiven Karte 414 für jedes mögliche Wegpolynom 616, 618, 622, 624 hinzugefügt werden, die kognitive Karte 414 mit Wegpolynomen 614, 616, 618, 620, 622, 624 für andere Fahrzeuge gefüllt werden kann und daher verhindern kann, dass die Rechenvorrichtung 115 ein Wegpolynom 612 für das Fahrzeug 110 bestimmen kann, das nicht mit dem Wegpolynom 614, 620 eines anderen Fahrzeugs kollidiert. Als Kollidieren mit dem Wegpolynom 614, 616, 618, 620, 622, 624 eines anderen Fahrzeugs bezeichnen wir, dass die Rechenvorrichtung 115 vorhersagen kann, dass das Beitreiben des Fahrzeugs 110 auf dem Wegpolynom 612 mit hoher Wahrscheinlichkeit (> 90 %) eine Kollision oder Beinahekollision zwischen dem Fahrzeug 110 und dem zweiten Fahrzeug 608 oder dem dritten Fahrzeug 608 verursachen wird, wenn es zum Beispiel weiterbetrieben wird.
-
Die in dieser Schrift erörterten Techniken verbessern eine kognitive Karte 414 durch Vorhersagen von Wegpolynomen 614, 620 auf der Grundlage des Auswählens eines Stilvektors auf der Grundlage des Identifizierens eines Fahrers oder eines Fahrertyps für ein zweites oder drittes Fahrzeug 608, 610 in der Umgebung um ein Fahrzeug 110 und dadurch des Programmierens der SB 408, um Bewegungshinweise 410 zu erzeugen, die es dem DNN 400 ermöglichen, eine kognitive Karte 414 auszugeben. Die kognitive Karte 414 beinhaltet Informationen in Bezug auf die Wegpolynome 614, 620 des zweiten oder dritten Fahrzeugs 608, 610 mit hoher Wahrscheinlichkeit und die Wegpolynome 616, 618, 622, 624 mit niedriger Wahrscheinlichkeit. „Hohe Wahrscheinlichkeit“ bedeutet in diesem Zusammenhang, dass die Rechenvorrichtung 115 bestimmt hat, dass eine Wahrscheinlichkeit, dass n ein zweites oder drittes Fahrzeug 608, 610 auf dem Wegpolynom 614, 620 betrieben wird, mehr als 90 % beträgt. „Niedrige Wahrscheinlichkeit“ bedeutet in diesem Zusammenhang, dass die Rechenvorrichtung 115 bestimmt hat, dass eine Wahrscheinlichkeit, dass ein zweites oder drittes Fahrzeug 608, 610 auf einem der Wegpolynome 616, 618, 622, 624 betrieben wird, mehr als 50 % beträgt, oder mit einer Wahrscheinlichkeit zwischen niedrig und hoch auf einem Wegpolynom zwischen Wegpolynomen 616, 618, 622, 624 bzw. Wegpolynome 614, 620.
-
Die kognitive Karte 414 kann durch Schichten des DEC 412 des DNN 400 durch Trainieren des DEC 412 unter Verwendung der kognitiven Karten 414 mit Ground Truth mit unterschiedlichen Auflösungen erzeugt werden, um diese als Prototypen zum Steuern der Upsampling-Schichten des DEC 412 zu verwenden. Upsampling-Schichten des DEC 412 kombinieren kognitive Prototypkarten 414 mit Bewegungshinweisen 410, die von der SB 408 ausgegeben werden, um eine kognitive Karte 414 mit Informationen bezüglich Wegpolynomen 614, 616, 618, 620, 622, 624 eines zweiten oder dritten Fahrzeugs 608, 610 zu füllen. Das DNN 400 kann eingegebene Bild- und Umgebungsdaten 402 verarbeiten, indem die Videosensoren 210 jeweils nacheinander abgetastet werden und die eingegebenen Bild- und Umgebungsdaten 402 verarbeitet werden, um die Umgebung um das Fahrzeug 110 abzutasten. Die Umgebung um das Fahrzeug 110 kann auf diese Weise periodisch abgetastet werden, um kognitive Karten 414 mit einer vollständigen Ansicht der Umgebung um das Fahrzeug 110 bereitzustellen, die durch Sichtfelder 220 der Videosensoren 210 abgedeckt sind. In Beispielen von in dieser Schrift beschriebenen Techniken können die Bild- und Umgebungsdaten durch zusätzliche neuronale Netze vorverarbeitet werden, um Merkmale zum Verarbeiten durch das DNN 400 zu extrahieren. Beispielsweise kann ein neuronales Netzwerk eine Objekterkennung durchführen und Fahrzeuge auf einer kognitiven Karte lokalisieren. Das Verarbeiten der Bilddaten und anderer Sensordaten kann weitere Daten wie etwa Wetterdaten, Umgebungslichtdaten, Bremslichtaktivierungsdaten usw. bereitstellen, die in der kognitiven Karte beinhaltet sein können. In Beispielen von in dieser Schrift erörterten Techniken kann diese kognitive Karte als Eingabe in das DNN 400 verwendet werden.
-
In einem Beispiel, in dem ein Vielzahl von Fahrzeugen in der Nähe des Fahrzeugs 110 fahren, kann das DNN 400 verwendet werden, um die wahrscheinlichsten Fahrverhalten der menschlichen oder ADAS-Fahrer der Vielzahl von Fahrzeugen und ein Wegpolynom zum Betreiben des Fahrzeugs 110 für ein bestimmtes Zeitintervall in die Zukunft zu schätzen. Dies würde dann durch die Interaktionen des Fahrzeugs 110 mit der Vielzahl von Fahrzeugen aktualisiert, um den nächsten Zeitschritt der Bewegungsbahnen der Vielzahl von Fahrzeugen bis zu der gewünschten zukünftigen Zeitdauer (z. B. Zeitschritte von 0,5 Sekunden und bis zu 10 Sekunden in die Zukunft) vorherzusagen. Dies würde Informationen über das wahrscheinlichste Wegpolynom der Vielzahl von Fahrzeugen bereitstellen und es der Rechenvorrichtung 115 ermöglichen, eine Bewegungsplanung durchzuführen, während die Vermeidung zukünftiger Fahrzeugbewegungsbahnen vorgesehen wird, die einen physischen Raum beeinflussen können, der in der Zukunft möglicherweise nicht zugänglich ist.
-
7 ist ein Diagramm eines Ablaufdiagramms, das in Bezug auf die 1-6 beschrieben wurde, von einem Prozess 700 zum Betreiben eines Fahrzeugs auf Grundlage des Identifizierens eines ersten Fahrzeugs und einer Fahrumgebung, des Bestimmens von Wahrscheinlichkeiten für die Bewegung eines zweiten Fahrzeugs und das Betreiben eines zweiten Fahrzeugs auf Grundlage der bestimmten Wahrscheinlichkeiten. Der Prozess 700 kann durch einen Prozessor der Rechenvorrichtung 115 umgesetzt werden, indem beispielsweise Informationen von den Sensoren 116 als Eingabe herangezogen und Befehle ausgeführt und Steuersignale über die Steuerungen 112, 113, 114 gesendet werden. Der Prozess 700 beinhaltet mehrere Blöcke, die in der offenbarten Reihenfolge erfolgen. Der Prozess 700 beinhaltet zudem Umsetzungen, die weniger Blöcke beinhalten, oder kann beinhalten, dass die Blöcke in anderen Reihenfolgen vorgenommen werden.
-
Der Prozess 700 beginnt bei Block 702, in dem eine in einem Fahrzeug 110 beinhaltete Rechenvorrichtung 115 ein erstes Fahrzeug identifizieren und eine Fahrumgebung bestimmen kann. Block 702 beginnt mit dem Erfassen eines ersten Fahrzeugs und dem Verfolgen seiner Position im Zeitverlauf unter Verwendung von Daten von beispielsweise Videosensoren, Lidarsensoren und Radarsensoren. Zusätzlich können Daten bezüglich eines ersten Fahrzeugs von der Rechenvorrichtung 115 von einem ersten Fahrzeug über ein V-zu-V-Netzwerk oder von einem Verkehrsinfrastruktur-Servercomputer 120 über ein V-zu-I-Netzwerk erhalten werden. Daten von Videosensoren, Lidarsensoren, Radarsensoren und Netzwerken können unter Verwendung von Sensorfusionstechniken kombiniert werden, die unterschiedliche Sichtfelder und Auflösungen der Sensoren ausgleichen, um eine einzige Karte zu erstellen, die Videodaten, Lidardaten, Radardaten und V-to-V-Daten beinhaltet. Das Kombinieren mehrerer Sensordatenquellen durch Sensorfusion kann Fehler vermeiden, bei denen die Genauigkeit der Netzwerkpositionierung beispielsweise aufgrund von Interferenzen oder anderen Fehlerquellen schlecht sein kann. Daten von Netzwerkquellen für Fahrzeuge, die vom Netzwerk erkannt wurden, sich jedoch nicht in der Reichweite des Sensors befinden, können mithilfe eines beweglichen Fensterfilters, wie einem Kalman-Filter, gefiltert werden, wodurch ein fehlerhaftes oder verrauschtes Positionierungssignal aufgrund einer schlechten Netzwerkpositionierung verringert werden kann.
-
Das primäre Verfahren zur langfristigen Fahrzeugverfolgung verwendet Netzwerke zum Verfolgen von Fahrzeugen. Wenn kein Netzwerk verfügbar ist oder ein Fahrzeug nicht mit einer Netzwerkschnittstelle ausgestattet ist, können Techniken zum maschinellen Sehen verwendet werden, um Kennzeichenschilder in Videosensordaten zu identifizieren. In einem anderen Beispiel kann ein Fahrzeug 110 Videosensordaten von anderen Fahrzeugen über Zielfahrzeuge in deren Videosensorbereich und Sichtfeld über ein V-zu-V-Netzwerk anfordern, um Kennzeichenschilddaten zu erfassen, um auf der Grundlage des Kennzeichenschildes eine Identität eines Zielfahrzeugs mit einer aktuellen Netzwerkschnittstellenkennung, beispielsweise eine MAC-Adresse einer Netzwerkschnittstelle des Zielfahrzeugs, zu bestimmen.
-
Fahrumgebungsdaten werden durch Eingeben von Bilddaten von einem Videosensor 210 bestimmt, einschließlich des Identifizierens, welcher Videosensor 210 das Bild erfasst hat. Die Rechenvorrichtung 115 kann ein Sichtfeld 220 auf Grundlage dessen bestimmen, welcher Videosensor 210 das Bild erfasst hat. Das Bestimmen von Fahrumgebungsdaten kann das Kodieren einer 3D-Pose eines Fahrzeugs in dem Bild beinhalten. Die Informationen können als Text, Symbole oder Binärcodes kodiert werden, die von dem ENC 402 zu interpretieren sind und in den Fahrzeughinweisen 406 beinhaltet sind. Fahrumgebungsdaten können von anderen Fahrzeugen erfasst werden, die mit Sensoren 116 ausgestattet sind, wie etwa Videosensoren 210, die verwendet werden können, um eine Ansicht abzubilden, die ein menschlicher Fahrer sieht, und sie zu verarbeiten, um die Daten zu komprimieren, die dann über V-to-V-Netzwerke an die Rechenvorrichtung 115 im Fahrzeug 110 gesendet werden können. Fahrumgebungsdaten können eine Kombination der eigenen Sensoren 116 des Fahrzeugs 110, von der lokalen Fahrumgebung um dieses bestimmte Fahrzeug bereitgestellte V-zu-V-Netzwerkinformationen, V-zu-V-Anforderungen von Sensordaten an von Menschen gefahrene Fahrzeuge und die Verwendung von V- to-V-Netzwerken, um Daten von anderen Fahrzeugen über von Menschen gefahrene Fahrzeuge anzufordern. Es können andere eingegebene Merkmale verwendet werden, die mit dem Fahrverhalten korrelieren können, wie z. B. Wetter, Tageszeit, Wochentag, Datum usw. Ferner können Innenraumsensordaten von von Menschen gefahrenen Fahrzeugen an das Fahrzeug 110 übertragen werden. Beispielsweise können die Kopfpose und die Blickverfolgung von Fahrzeuginnenkameras eine gute Korrelation für die Vorhersage des künftigen Fahrerverhaltens darstellen. Fahrumgebungsdaten können auf Grundlage von V-zu-V-Anforderungen an das Fahrzeug 110 übertragen und als Text, Symbole oder Binärwerte in ein Bild kodiert werden.
-
Bei Block 704 bestimmt der Prozess 700 Wahrscheinlichkeiten für Standort, Geschwindigkeit und Richtung für ein erstes Fahrzeug. Ein Stilvektor, der der Identität eines in Block 702 identifizierten menschlichen Fahrers entspricht, wird von der Rechenvorrichtung 115 aus dem Speicher abgerufen und in die SB 408 heruntergeladen. Ein Bild, das kodierte Fahrumgebungsdaten beinhaltet, wird in das DNN 400 eingegeben, um eine kognitive Karte 414 zu erzeugen, die ein erstes Fahrzeug 608 und Wegpolynome 614, 616, 618 mit hoher und niedriger Wahrscheinlichkeit beinhaltet, wie oben in Bezug auf die 4 und 5 erörtert, die Standort, Geschwindigkeit, Richtungen und Wahrscheinlichkeiten für die erste Fahrzeugbewegung vorhersagen.
-
In Block 706 betreibt der Prozess 700 ein Fahrzeug auf Grundlage des vorhergesagten Standorts, der Geschwindigkeit, der Richtungen und Wahrscheinlichkeiten für die erste Fahrzeugbewegung. Die Computervorrichtung 115 kann die von dem DNN 400 ausgegebene kognitive Karte 414 mit kognitiven Kartendaten auf Grundlage der Sensoren 116 des Fahrzeugs 110 und Kartendaten kombinieren. Das DNN 400 kann eine kognitive Karte 414 für jedes Fahrzeug 608, 610 in der Umgebung um ein Fahrzeug 110 erzeugen. Die kognitiven Karten 414 können mit kognitiven Kartendaten auf Grundlage der Sensoren 116 des Fahrzeugs 110 und Kartendaten kombiniert werden, um die kognitiven Kartendaten zu verbessern, indem vorhergesagte Standorte, Geschwindigkeiten, Richtungen und Wahrscheinlichkeiten für Fahrzeuge beinhaltet werden, die auf Grundlage des Identifizierens von Fahrstilen von Menschen bestimmt werden. Fahrstile von Menschen werden identifiziert, indem das DNN 400 mit Bild- und Ground-Truth-Daten trainiert wird, die einem identifizierten menschlichen Fahrer entsprechen, und ein Stilvektor von einem trainierten SB 408 gespeichert wird, der durch die Identität des menschlichen Fahrers für das spätere Abrufen durch die Rechenvorrichtung 115 indiziert ist.
-
Die Rechenvorrichtung 115 betreibt das Fahrzeug 110 auf Grundlage von kognitiven Kartendaten durch Bestimmen eines Wegpolynoms 612, das es dem Fahrzeug 110 ermöglicht, einen Zielstandort auf einer Fahrbahn 600 zu erreichen, während eine Zielgeschwindigkeit beibehalten wird und Kollisionen oder Beinahkollisionen vermieden werden, indem Wegpolynome 614, 620 mit hoher Wahrscheinlichkeit vermieden werden. Die Rechenvorrichtung 115 kann ein Wegpolynom 612 bestimmen, das mit einem Wegpolynom 616, 618, 622, 624 mit niedriger Wahrscheinlichkeit kollidieren kann, solange die Rechenvorrichtung 115 ein Ausweichwegpolynom geplant hat, das umgesetzt werden kann, wenn erkannt wird, dass sich das erste oder zweite Fahrzeug 608, 610 in die Spur 602 bewegt. In diesem Beispiel kann ein Ausweichwegpolynom ein Wegpolynom 612 sein, das eine Verlangsamung beinhaltet. In dem Beispiel eines Spurwechselmanövers kann ein Ausweichwegpolynom das Umkehren eines verbleibenden Abschnitts des Manövers beinhalten.
-
In Block 708 trainiert der Prozess 700 das DNN 440 auf Grundlage der beobachteten Fahrstile erneut. Während das die Rechenvorrichtung 115 das Fahrzeug 110 in Block 706 betreibt, kann die Rechenvorrichtung 115 auch das Verhalten eines ersten und eines zweiten Fahrzeugs 608, 610 überwachen. Unter Verwendung von Techniken zum Lokalisieren und Verfolgen von Fahrzeugen mit Daten des Sensors 116 des Fahrzeugs 110, wie vorstehend in Bezug auf 7 erörtert, kann die Rechenvorrichtung 115 Wegpolynome bestimmen, die von einem ersten und zweiten Fahrzeug 608, 610 befahren werden. Das DNN 400 kann auf Grundlage des Eingebens des Originalbilds zusammen mit einem Verlustterm, der durch Differenzieren eines vorausgesagten Wegpolynoms 614, 620 mit hoher Wahrscheinlichkeit von einem beobachteten Wegpolynom berechnet wird, erneut trainiert werden. Auf diese Weise können die Programmierung der SB 408 und somit ein Stilvektor aktualisiert werden, um beobachtete Fahrstile wiederzugeben.
-
Ein Wegpolynom beinhaltet Komponenten der Beschleunigung/Beschleunigungsreduzierung des Fahrzeugs 110 und des Fahrwinkels, die von dem Wegpolynom getrennt und einzeln behandelt werden können, um die Verlustfunktion zu verbessern. Eine nichtlineare Verlustfunktion kann verwendet werden, um große Fehler überproportional zu bestrafen und ein Übertraining aufgrund kleiner Fehler im Wegpolynom zu vermeiden. Diese Daten müssen über einen bestimmten Zeitraum gesammelt werden, um eine genaue Schätzung eines Fahrstils eines Menschen zu erlangen.
-
Es ist davon auszugehen, dass ein Servercomputer 120 verwendet wird, um Langzeitfahrstildaten für jedes Fahrzeug oder jeden menschlichen Fahrer zu speichern. Durch die Verwendung des Bayes'schen neuronalen Netzwerks und die Behandlung des Fahrstilvektors als Sammlung von Wahrscheinlichkeitsverteilungen können wir den geschätzten Fahrstil kontinuierlich optimieren, um den Mittelwert und die Variation jedes Elements im Vektor im Zeitverlauf und über viele Beobachtungen eines bestimmten von einem Menschen gefahrenen Fahrzeugs, das im Allgemeinen einem einzelnen Fahrer entspricht, zu verstehen. Die Rechenvorrichtung 115 kann entweder nur die gesammelten Stilvektordaten oder den vollständigen Datensatz sowohl für die Eingabe als auch für die Ausgabe hochladen. Nach dem Block 708 endet der Prozess 700.
-
Rechenvorrichtungen, wie etwa die in dieser Schrift erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend genannten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Prozessen ausführbar sind. Die vorstehend erörterten Prozessblöcke können z. B. als computerausführbare Befehle ausgeführt sein.
-
Computerausführbare Befehle können von Computerprogrammen zusammengestellt oder interpretiert werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem, entweder allein oder in Kombination Python, Java™, C, C++, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Befehle aus, wodurch er ein oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der hier beschriebenen Prozesse. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung vielfältiger computerlesbarer Medien übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
-
Ein computerlesbares Medium beinhaltet jedes beliebige Medium, das am Bereitstellen von Daten (z. B. Befehlen) beteiligt ist, die durch einen Computer gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich, unter anderem, nichtflüchtiger Medien, flüchtiger Medien usw. Nichtflüchtige Medien beinhalten beispielsweise optische oder magnetische Platten und sonstige Dauerspeicher. Flüchtige Medien schließen einen dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory - DRAM) ein, der üblicherweise einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien beinhalten beispielsweise eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebiger anderer Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das durch einen Computer ausgelesen werden kann.
-
Allen in den Ansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann aufgefasst wird, es sei denn, es wird ausdrücklich das Gegenteil angegeben. Insbesondere ist die Verwendung der Singularartikel wie etwa „ein“, „eine“, „der“, „die“, „das“ usw. dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, es sei denn, ein Patentanspruch enthält ausdrücklich eine gegenteilige Einschränkung.
-
Der Ausdruck „beispielhaft“ wird hier in dem Sinne verwendet, dass er ein Beispiel angibt; z. B. sollte ein Verweis auf eine „beispielhafte Vorrichtung“ einfach als Bezugnahme auf ein Beispiel für eine Vorrichtung gelesen werden.
-
Das einen Wert oder ein Ergebnis modifizierende Adverb „annähernd“ bedeutet, dass eine Form, eine Struktur, eine Messung, ein Wert, eine Bestimmung, eine Berechnung usw. von einer/einem genau beschriebenen Geometrie, Weg, Messung, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Herstellung, Sensormessungen, Berechnungen, Bearbeitungszeit, Kommunikationszeit usw. abweichen kann.
-
In den Zeichnungen kennzeichnen die gleichen Bezugszeichen die gleichen Elemente. Ferner könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte oder Blöcke derartiger Prozesse usw. zwar als gemäß einer bestimmten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der in dieser Schrift beschriebenen Reihenfolge durchgeführt werden. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt, dienen die vorliegenden Beschreibungen von Prozessen der Veranschaulichung bestimmter Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
-
Gemäß der vorliegenden Erfindung ist ein Verfahren bereitgestellt, das Folgendes aufweist: das Bestimmen von Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen eines ersten Fahrzeugs auf Grundlage des Identifizierens des ersten Fahrzeugs und einer Fahrumgebung; und das Betreiben eines zweiten Fahrzeugs auf Grundlage von bestimmten Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen des ersten Fahrzeugs.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet, durch das Vorhersagen des Standorts, der Geschwindigkeit und der Richtung für das erste Fahrzeug auf der Grundlage von Fahrzeugsensordaten.
-
Gemäß einer Ausführungsform beinhaltet das Verarbeiten von Fahrzeugsensordaten das Segmentieren von Videodaten mit einem neuronalen Faltungsnetzwerk, um sich bewegende Objekte, einschließlich Fahrzeugen, zu bestimmen.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Betreiben des zweiten Fahrzeugs auf Grundlage des Bestimmens eines Polynoms eines geplanten Wegs für das zweite Fahrzeug.
-
Gemäß einer Ausführungsform wird das Polynom eines geplanten Wegs durch ein tiefes neuronales Netzwerk auf Grundlage der Identität des ersten Fahrzeugs und der Fahrumgebung bestimmt.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass die Fahrumgebung in das tiefe neuronale Netzwerk eingegeben und als eine kognitive Karte ausgegeben wird, die Standorte, Geschwindigkeiten und Richtungen für ein erstes Fahrzeug beinhaltet.
-
Gemäß einer Ausführungsform wird die Identität des ersten Fahrzeugs als Daten für verborgene Schichten des tiefen neuronalen Netzwerks in das tiefe neuronale Netzwerk eingegeben werden.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Identifizieren des ersten Fahrzeugs auf Grundlage von Fahrzeugsensordaten, einschließlich Videosensordaten.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Identifizieren des ersten Fahrzeugs auf Grundlage von Fahrzeug-zu-Fahrzeug- oder Fahrzeug-zu-Infrastruktur-Kommunikation identifiziert wird.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das einen Prozessor aufweist; und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die vom Prozessor auszuführen sind, zum: Bestimmen von Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen eines ersten Fahrzeugs auf Grundlage des Identifizierens des ersten Fahrzeugs und einer Fahrumgebung; und das Betreiben eines zweiten Fahrzeugs auf Grundlage von bestimmten Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen des ersten Fahrzeugs.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet, durch das Vorhersagen des Standorts, der Geschwindigkeit und der Richtung für das erste Fahrzeug auf der Grundlage von Fahrzeugsensordaten.
-
Gemäß einer Ausführungsform beinhaltet das Verarbeiten von Fahrzeugsensordaten das Segmentieren von Videodaten mit einem neuronalen Faltungsnetzwerk, um sich bewegende Objekte, einschließlich Fahrzeugen, zu bestimmen.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Betreiben des zweiten Fahrzeugs auf Grundlage des Bestimmens eines Polynoms eines geplanten Wegs für das zweite Fahrzeug.
-
Gemäß einer Ausführungsform wird das Polynom eines geplanten Wegs durch ein tiefes neuronales Netzwerk auf Grundlage der Identität des ersten Fahrzeugs und der Fahrumgebung bestimmt.
-
Gemäß einer Ausführungsform wird die Fahrumgebung in das tiefe neuronale Netzwerk eingegeben und als eine kognitive Karte ausgegeben, die Standorte, Geschwindigkeiten und Richtungen für ein erstes Fahrzeug beinhaltet.
-
Gemäß einer Ausführungsform wird die Identität des ersten Fahrzeugs als Programmierungsdaten für verborgene Schichten des tiefen neuronalen Netzwerks in das tiefe neuronale Netzwerk eingegeben werden.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Identifizieren des ersten Fahrzeugs auf Grundlage von Fahrzeugsensordaten, einschließlich Videosensordaten.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Identifizieren des ersten Fahrzeugs auf Grundlage von Fahrzeug-zu-Fahrzeug- oder Fahrzeug-zu-Infrastruktur-Kommunikation identifiziert wird.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: Mittel zum Steuern der Lenkung, des Bremsens und des Antriebsstrangs des zweiten Fahrzeugs; Computermittel zum: Bestimmen von Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen eines ersten Fahrzeugs auf Grundlage des Identifizierens des ersten Fahrzeugs und einer Fahrumgebung; und das Betreiben eines zweiten Fahrzeugs auf Grundlage von bestimmten Wahrscheinlichkeiten für vorhergesagte Standorte, Geschwindigkeiten und Richtungen des ersten Fahrzeugs und die Mittel zum Steuern der Lenkung, Bremsung und des Antriebsstrangs des zweiten Fahrzeugs.
-
Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet, durch das Vorhersagen des Standorts, der Geschwindigkeit und der Richtung für das erste Fahrzeug auf der Grundlage von Fahrzeugsensordaten.