-
INFORMATION ÜBER ZUGEHÖRIGE ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der provisorischen Anmeldung Nr.
62/935,326 , eingereicht am 14. November 2019, und der US-Patentanmeldung Nr.
17/090,399 , eingereicht am 5. November 2020, die jeweils hierin durch Bezugnahme hierin in ihrer Gesamtheit enthalten sind.
-
HINTERGRUND
-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft eine Bewegungsbahn- bzw. Trajektorienvorhersage und insbesondere Verfahren und Systeme zum Simulieren langfristiger zukünftiger Trajektorien in Straßenszenen.
-
Beschreibung des zugehörigen Standes der Technik
-
Die Fähigkeit, über die zukünftigen Zustände und Absichten von Handelnden bzw. Akteuren bzw. Agenten in einer Szene nachzudenken bzw. vernünftig zu urteilen, ist eine wichtige Aufgabe für die Autonomie von Fahrzeugen. Menschen haben die inhärente Fähigkeit, die verschiedenen plausiblen Handlungen in irgendeinem gegebenen Szenario vorherzusagen und darüber nachzudenken. Nichtsdestotrotz sind Menschen aufgrund unvorhersehbarer Umstände noch mit einer Anzahl unvorhersagbarer täglicher Ereignisse konfrontiert. Zum Beispiel gibt es dann, wenn ein Kreuzungsszenario angenommen wird, wo sich die Fahrzeuge in Richtung zu einer Kreuzung nähern, mehrere mögliche Manöver, die die Fahrzeuge ausführen können, und ähnlich bei einem Autobahnszenario, wo die Fahrzeuge ein Spurwechselmanöver basierend auf ihren Absichten und einer aktuellen Verkehrssituation durchführen können. Vorhersagen, die auf eine einzige Bewegungsrichtung ausgerichtet sind, bieten in unterschiedlichen Fällen möglicherweise keine praktikablen Lösungen. Jedoch ist ein Zugriff auf Daten mit verschiedenen Fahrer- bzw. Treiberabsichten nicht etwas, auf das sich existierende Datensätze konzentrieren. Es hat gezielte Bemühungen beim Deep Learning bzw. tiefen Lernen gegeben, um modernste Ergebnisse bei der Trajektorien- bzw. Bewegungsbahnprognose bzw. -vorhersage zu erhalten, jedoch benötigen solche Bemühungen Daten in großem Ausmaß. Ein Erhalten von solchen Trajektorien- bzw. Bewegungsbahndaten in großem Ausmaß ist selten, insbesondere für „interessante“ Fälle, die sporadisch auftreten, aber in einer Prognoseperspektive als wichtig angesehen werden. Eine aussagekräftige Prognose benötigt eine ausreichende Vielfalt bezüglich der Daten, aber in einem realen Szenario ist ein Erfassen einer solchen Datenvielfalt für dieselbe Szene oft nicht plausibel.
-
ZUSAMMENFASSUNG
-
Es wird ein computerimplementiertes Verfahren zur gleichzeitigen rekurrenten Trajektorienvorhersage mit mehreren Handelnden bzw. Agenten bereitgestellt. Das Verfahren enthält ein Rekonstruieren eines topologischen Layouts einer Szene aus einem Datensatz einschließlich Daten aus der realen Welt über einen Szenengenerator, ein Erzeugen eines Straßengraphen der Szene, wobei der Straßengraph eine hierarchische Struktur von miteinander verbundenen Fahrspuren erfasst, ein Einbeziehen von Fahrzeugen aus der Szene auf dem erzeugten Straßengraph unter Verwendung von im Datensatz verfügbarer Tracklet-Information, ein Zuordnen der Fahrzeuge zu ihren nächstgelegenen Fahrspuridentifikationen, ein Identifizieren diverser plausibler Verhaltensweisen für jedes Fahrzeug in der Szene, ein Nehmen einer Verhaltensweise aus den diversen plausiblen Verhaltensweisen durch einen Generator für diverse Verhaltensweisen als Probe, um ein zugehöriges aus den Daten aus der realen Welt des Datensatzes als Probe entnommenes Geschwindigkeitsprofil auszuwählen, das der als genommenen Verhaltensweise ähnlich ist, und ein Zuführen des Straßengraphen und des als Probe genommenen Geschwindigkeitsprofils mit einem gewünschten Ziel zu einem Dynamiksimulator, um eine Vielzahl von auf einer Visualisierungsvorrichtung ausgegebenen simulierten diversen Trajektorien zu erzeugen, um zuzulassen, dass ein Benutzer eine oder mehrere der Vielzahl von simulierten diversen Trajektorien zum Nachbilden eines gewünschten Fahrszenarios auswählt.
-
Es wird ein nicht transitorisches bzw. nichtflüchtiges computerlesbares Speichermedium, das ein computerlesbares Programm umfasst, zur gleichzeitigen rekurrenten Trajektorienvorhersage mit mehreren Handelnden bzw. Agenten präsentiert, wobei das computerlesbare Programm dann, wenn es auf einem Computer ausgeführt wird, veranlasst, dass der Computer die folgenden Schritte durchführt: Rekonstruieren eines topologischen Layouts einer Szene aus einem Datensatz einschließlich Daten aus der realen Welt über einen Szenengenerator, Erzeugen eines Straßengraphen der Szene, wobei der Straßengraph eine hierarchische Struktur von miteinander verbundenen Fahrspuren erfasst, Einbeziehen von Fahrzeugen aus der Szene in den erzeugten Straßengraphen unter Verwendung von im Datensatz verfügbarer Tracklet-Information, Zuordnen der Fahrzeuge zu ihren nächstgelegenen Fahrspuridentifikationen, Identifizieren diverser plausibler Verhaltensweisen für jedes Fahrzeug in der Szene, Nehmen einer Verhaltensweise aus den diversen plausiblen Verhaltensweisen durch einen Generator für diverse Verhaltensweisen als Probe, Auswählen eines zugeordneten aus den realen Daten aus der realen Welt des Datensatzes als Probe entnommenen Geschwindigkeitsprofils, das der als Probe genommenen Verhaltenseise ähnlich ist, und Zuführen des Straßengraphen und des als Probe genommenen Geschwindigkeitsprofil mit einem gewünschten Ziel zu einem Dynamiksimulator, um eine Vielzahl von auf einer Visualisierungsvorrichtung ausgegebenen simulierten diversen Trajektorien zu erzeugen, um zuzulassen, dass ein Benutzer eine oder mehrere der Vielzahl von simulierten diversen Trajektorien zum Nachbilden eines gewünschten Fahrszenarios auswählt.
-
Es wird ein System zur gleichzeitigen rekurrenten Trajektorienvorhersage mit mehreren Handelnden bzw. Agenten bereitgestellt. Das System enthält einen Speicher und einen oder mehrere Prozessoren in Kommunikation mit dem Speicher, der konfiguriert ist, um über einen Szenengenerator ein topologisches Layout einer Szene aus einem Datensatz einschließlich Daten aus der realen Welt zu rekonstruieren, einen Straßengraph der Szene zu erzeugen, wobei der Straßengraph eine hierarchische Struktur von miteinander verbundenen Fahrspuren erfasst, Fahrzeuge aus der Szene auf dem erzeugten Straßengraphen unter Verwendung von im Datensatz verfügbarer Tracklet-Information einzubinden, die Fahrzeuge zu ihren nächstgelegenen Fahrspuridentifikationen zuzuordnen, diverse plausible Verhaltensweisen für jedes Fahrzeug in der Szene zu identifizieren, eine Verhaltensweise aus den diversen plausiblen Verhaltensweisen durch einen Generator für divers Verhaltensweisen als Probe zu nehmen, um ein zugehöriges aus den Daten aus der realen Welt des Datensatzes als Probe entnommenes Geschwindigkeitsprofil auszuwählen, das der als Probe entnommenen Verhaltensweise ähnlich ist, und den Straßengraphen und das als Probe entnommene Geschwindigkeitsprofil mit einem gewünschten Ziel zu einem Dynamiksimulator zuzuführen, um eine Vielzahl von auf einer Visualisierungsvorrichtung ausgegebenen simulierten diversen Trajektorien zu erzeugen, um zuzulassen, dass ein Benutzer eine oder mehrere der Vielzahl von simulierten diversen Trajektorien zum Nachbilden eines gewünschten Fahrszenarios auswählt.
-
Diese und weitere Merkmale und Vorteile werden aus der folgenden detaillierten Beschreibung illustrativer Ausführungsformen davon offensichtlich werden, die im Zusammenhang mit den beigefügten Zeichnungen zu lesen ist.
-
Figurenliste
-
Die Offenbarung wird Details in der folgenden Beschreibung bevorzugter Ausführungsformen unter Bezugnahme auf die folgenden Figuren bereitstellen, wobei:
- 1 ein Block-/Ablaufdiagramm einer beispielhaften Gesamtpipeline ist, die einen Verhaltenserzeugungsprozess für ein einzelnes Fahrzeug in einer Szene gemäß Ausführungsformen der vorliegenden Erfindung darstellt;
- 2 ein Block-/Ablaufdiagramm einer beispielhaften Implementierung einer simultanen rekurrenten Trajektorienvorhersage mit mehreren Agenten gemäß Ausführungsformen der vorliegenden Erfindung ist;
- 3 ein Block-/Ablaufdiagramm eines beispielhaften algorithmischen Flusses der simultanen rekurrenten Trajektorienvorhersage mit mehreren Agenten gemäß Ausführungsformen der vorliegenden Erfindung ist;
- 4 ein Block-/Ablaufdiagramm der beispielhaften Gesamtarchitektur für das Framework einer simultanen rekurrenten Trajektorienvorhersage mit mehreren Agenten (SMART (= Simultaneous Multi-Agent Recurrent Trajectory)) gemäß Ausführungsformen der vorliegenden Erfindung ist;
- 5 ein Block-/Ablaufdiagramm eines beispielhaften Verarbeitungssystems zur simultanen rekurrenten Trajektorienvorhersage mit mehreren Agenten gemäß Ausführungsformen der vorliegenden Erfindung ist;
- 6 ein Block-/Ablaufdiagramm eines beispielhaften Verfahrens zur simultanen rekurrenten Trajektorienvorhersage mit mehreren Agenten gemäß Ausführungsformen der vorliegenden Erfindung ist;
- 7 ein Block-/Ablaufdiagramm von Gleichungen ist, die bei einem beispielhaften Verfahren zur simultanen rekurrenten Trajektorienvorhersage mit mehreren Agenten gemäß Ausführungsformen der vorliegenden Erfindung verwendet werden; und
- 8 ein Block-/Ablaufdiagramm einer praktischen Anwendung zur simultanen rekurrenten Trajektorienvorhersage mit mehreren Agenten gemäß Ausführungsformen der vorliegenden Erfindung ist.
-
DETAILLIERTE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
-
Die beispielhaften Ausführungsformen der vorliegenden Erfindung führen ein generisches Vorhersagedaten-Erzeugungsverfahren mit mehreren Verhaltensweisen für jedes Fahrzeug in einer Szene ein. Die beispielhaften Ausführungsformen betonen ein Simulieren mehrerer Verhaltensweisen, um verschiedene Trajektorien von Interesse in einem gegebenen Szenario zu erhalten. Solche Trajektorien mit mehreren Verhaltensweisen für eine Szene können nur in einer Simulationsumgebung möglich sein. Die beispielhaften Ausführungsformen simulieren Trajektorien aus der Vogelperspektive (BEV (= Birds-Eye-View)) anstatt eines Simulierens in einem Sensorraum, wie beispielsweise Bilder oder Punktwolken. Ein Simulieren erfolgt in Zusammenfassungen von oben abseits von Domänenlücken auf niedriger Ebene aufgrund von Erscheinungen oder Sensoreigenschaften. Die aktuellen Trends setzen auch auf hochauflösende (HD) semantische Karten zur Navigation von selbstfahrenden Robotern. Die beispielhaften Ausführungsformen können Informationen nutzen, die aus z.B. OpenStreetMaps (OSM) verfügbar sind, um Szenen für verschiedene Datensätze zu simulieren. OSM-Karten bieten topologische Information von oben über die Straße mit Mittellinien und Fahrspurinformation. Eine Simulationsumgebung beinhaltet die Herausforderung eines Modellierens der Szenenstruktur und -dynamik auf genaue Weise, um gleichzeitig Realismus und Vielfalt der erzeugten Daten zu erhalten. Die beispielhaften Ausführungsformen gehen dieses Problem durch Nehmen von Geschwindigkeitsprofilen aus realer Trajektorieninformation als Probe an und verwenden solche als Probe genommenen Geschwindigkeitsprofile als ein Referenzprofil für die simulierten Fahrzeuge in einer Szene.
-
Die beispielhaften Ausführungsformen simulieren solche Trajektorien für existierende Datensätze. Als solche erhalten die beispielhaften Ausführungsformen eine Anzahl N von Trajektorien für M Szenen. Die beispielhaften Ausführungsformen zeigen Verbesserungen bei Vorhersage- bzw. Prognoseergebnisse mit Baseline-Verfahren, die an den Daten trainiert und an existierenden realen Datensätzen getestet sind. Qualitativ zeigen die beispielhaften Ausführungsformen, dass multimodale Trajektorienvorhersageverfahren eine Vielfalt viel besser erfassen, indem sie die Daten im Vergleich zu existierenden realen Datensätzen verwenden. Zu diesem Zweck sind die Beiträge wie folgt:
-
Die beispielhaften Ausführungsformen führen ein generisches Datensatzerzeugungsverfahren ein, das auf einer Vogelperspektiven-(BEV(= Birds-Eye-View)-)Simulation der Szene für die existierenden Datensätze basiert, um diverse Fahrer- bzw. Treiberabsichten für ein bestimmtes Szenario zu erzeugen. Die beispielhaften Ausführungsformen stellen Verbesserungen bei Baseline-Ergebnissen an existierenden realen Datensätzen dar und zeigen auch, dass sie eine Vielfalt in einem viel besseren Sinn erfassen, was für autonome Fahrszenarien von Vorteil ist. Die beispielhaften Ausführungsformen führen weiterhin ein Verfahren zum Erzeugen diverser Trajektorien basierend auf Simulationstechniken mit einem geeigneten Maß an Realismus ein.
-
Die beispielhafte Lösung enthält folgendes:
-
Ein Szenenerzeugungsmodul, das das topologische Layout der Szene aus realen Daten rekonstruiert. Das rekonstruierte Layout wird weiterhin verwendet, um Fahrzeuge aus den realen Daten zu simulieren.
-
Ein Erzeugungsmodul für diverse Verhaltensweisen identifiziert plausible Verhaltensweisen, die in der aktuellen Szene ausgeführt werden können. Das Erzeugungsmodul für diverse Verhaltensweisen nimmt dann eine Verhaltensweise für jedes Fahrzeug aus einem Pool identifizierter Verhaltensweisen als Probe. Die beispielhaften Ausführungsformen führen einen Mechanismus ein, um Geschwindigkeitsprofile gemäß der Verhaltensweise aus realen Daten basierend auf Heuristiken, wie beispielsweise Abstand zum Schnittpunkt bzw. zur Kreuzung und Durchschnittsgeschwindigkeit, als Probe zu nehmen.
-
Die beispielhaften Ausführungsformen führen einen Dynamiksimulator ein, der Fahrzeugtrajektorien basierend auf dem als Probe genommenen Geschwindigkeitsprofil des Fahrzeugs (z.B. des Autos) und seiner Umgebung simuliert. Dies stellt eine Gruppe von simulierten Trajektorien zur Verfügung.
-
Hier erzeugen die beispielhaften Ausführungsformen mehrere Verhaltensweisen für die Fahrzeuge unter Verwendung derselben Szene, um dadurch diverse Trajektorien zu erhalten.
-
Ungleich herkömmlicher Verfahren, die unter Verwendung des Simulators vollständig synthetische Datensätze erzeugen, adaptieren die beispielhaften Ausführungsformen Szenen aus den realen Daten, um diverse Verhaltensweisen mit geeignetem Realismus in der Szene und ausgeführten Geschwindigkeiten zu simulieren.
-
Die beispielhaften Ausführungsformen führen einen Algorithmus ein, um Darstellungen von oben aus realen Daten als Straßengraphen zu rekonstruieren, und simulieren Fahrzeuge in der realen Szene.
-
Die beispielhaften Ausführungsformen identifizieren diverse Verhaltensweisen für jedes Fahrzeug in der Szene und nehmen eine Verhaltensweise als Probe. Die beispielhaften Ausführungsformen wählen aus den realen Daten eine Geschwindigkeit aus, die der ausgewählten Verhaltensweise sehr ähnlich ist. Die für ein Nehmen einer Probe beim nächsten Nachbarn verwendeten Heuristiken sind Entfernung bzw. Abstand zum Schnittpunkt bzw. zur Kreuzung und durchschnittliche Geschwindigkeit. Dies hilft beim Identifizieren einer am nächsten liegenden Verhaltensweise aus realen Szenen.
-
Die Simulationspipeline bei einem Erweitern realer Daten mit diversen Trajektorien ist ein Verfahren, das verwendet wird, um Datenprobleme für eine Trajektorienprognose zu lösen.
-
1 stellt die Gesamtpipeline für den Verhaltensweisens-Erzeugungsprozess für ein einzelnes Fahrzeug in einer Szene gemäß einer Ausführungsform der vorliegenden Erfindung dar.
-
Hinsichtlich der Szenen-Erzeugung oder des Szenen-Generators 100 rekonstruieren die beispielhaften Ausführungsformen, ungleich anderen Simulationsmechanismen, die vollständig auf synthetischer Simulation beruhen, exakte Szenen aus realen Daten, um solche realen Daten zum Zwecke einer Simulation zu verwenden.
-
Hinsichtlich einer Straßengraphen-Erzeugung oder eines Straßengraphen-Generators 120 extrahieren die beispielhaften Ausführungsformen Fahrspurpolylinien aus der hochauflösenden (HD (=High Definition)-)Karte mit realen Daten 110 oder verwenden offen verfügbare Karteninformation und erzeugen ein hierarchischen Straßengraphen von miteinander verbundenen Fahrspuren. Hier werden Fahrspur-Endpunkte durch einen eindeutigen Identifizierer identifiziert und stellen einen Knoten im Graphen dar.
-
Hinsichtlich einer Instanziierung von realen Objekten 130 verwenden die beispielhaften Ausführungsformen die im Datensatz verfügbare Tracklet-Information, um Fahrzeuge im erzeugten Straßengraphen zu platzieren. Die beispielhaften Ausführungsformen unterscheiden sich auf eine Weise, dass reale Szenen rekonstruiert werden, und Verkehrsszenen werden aus den realen Daten zur Simulation verwendet. Ein Tracklet ist ein Fragment der Spur, gefolgt von einem sich bewegenden Objekt, wie es durch ein Bilderkennungssystem konstruiert wird.
-
Hinsichtlich der Instanziierung von realen Objekten 130 bilden die beispielhaften Ausführungsformen ein spezifisches Fahrszenario mit der Hilfe von durch diese Datensätze bereitgestellter Tracklet-Information nach. Die Fahrzeugpositionsinformation wird auf den lokalen Straßengraphen im Ego-Bezugsrahmen zurückprojiziert. Die beispielhaften Ausführungsformen verwenden die Tracklet-Standort- und Gier-Information von Fahrzeugen, um die nächstgelegene Fahrspur-ID zu berechnen, die in Anspruch genommen wird. Jedem instanziierten Fahrzeug ist eine Fahrspur-ID zugeordnet und ist in der Mitte der Fahrspur mit Gierwinkeln platziert, die dem Kurs bzw. der Fahrtrichtung von Fahrspuren an den jeweiligen Fahrspurstandorten entsprechen. Zu Simulationszwecken berücksichtigen die beispielhaften Ausführungsformen nur Fahrzeuge, die sich bewegen. Diese kalkulierten Annahmen machen den Szenenerzeugungsprozess praktisch realisierbar.
-
Hinsichtlich einer Erzeugung oder eines Generator für diverse Verhaltensweisen 200 identifizieren die beispielhaften Ausführungsformen anstelle eines Auswählens zufälliger Zielpunkte zuerst diverse plausible Verhaltensweisen für jedes Fahrzeug in der Szene und nehmen eine Verhaltenseise als Probe. Ebenso wählen die beispielhaften Ausführungsformen ungleich anderen Simulationstechniken, bei welchen sich Fahrzeuge mit konstanter Geschwindigkeit oder mit einer vordefinierten Geschwindigkeit bewegen, ein Geschwindigkeitsprofil aus den realen Daten aus, das der ausgewählten Verhaltensweise am ehesten ähnlich ist. Die Erzeugung oder der Generator für Verhaltensweisen 200 enthält eine Manöveridentifikation 210 und ein Nehmen eines Geschwindigkeitsprofils als Probe 220.
-
Hinsichtlich der Manöveridentifikation 210 identifiziert 210 unterschiedliche Manöver, die durch Fahrzeuge in der Szene ausgeführt werden können, und nimmt ein Manöver für jedes Fahrzeug als Probe.
-
Hinsichtlich des Nehmens des Geschwindigkeitsprofils als Probe 220 nimmt 220 ein Geschwindigkeitsprofil für die ausgewählte Verhaltensweise aus den realen Daten als Probe. Die für ein Nehmen als Probe bei nächsten Nachbarn verwendeten Heuristiken sind die Entfernung bzw. der Abstand zum Schnittpunkt bzw. zur Kreuzung und durchschnittliche Geschwindigkeit. Dies hilft beim Identifizieren einer am nächsten liegenden Verhaltensweise aus realen Szenen.
-
Hinsichtlich eines Nehmens eines Geschwindigkeitsprofils als Probe 220, um realistische Simulationstrajektorien zu erhalten, erstellen die beispielhaften Ausführungsformen zuerst einen Pool von realen Trajektorienproben. Zuerst führen die beispielhaften Ausführungsformen den Szenenerzeugungsprozess durch und assoziieren jede reale Trajektorie mit einem Satz bzw. einer Gruppe von Fahrspurmittellinien aus dem lokalen Straßengraphen, der bzw. die während des Verlaufs der Trajektorie verwendet wurde. Diese Mittellinieninformation helfen beim Klassifizieren der realen Trajektorien in unterschiedliche Manöverkategorien und beim Erhalten anderer Trajektorieneigenschaften höherer Ordnung wie einer gefahrenen Entfernung vor einem Abbiegen für Abbiegemanöver. Die beispielhaften Ausführungsformen speichern diese Information vor einer Simulation zum Nehmen von Referenzgeschwindigkeitsprofilen aus realen Trajektorien als Probe. Zum Simulationszeitpunkt erhalten die beispielhaften Ausführungsformen nach einem Nehmen einer gewünschten Verhaltensweise als Probe ein Geschwindigkeitsprofil von nächsten Nachbarn für die aktuelle Szene basierend auf Merkmalen wie beispielsweise einer Entfernung vor einem Abbiegen oder einer Durchschnittsgeschwindigkeit für ein Abbiege- bzw. Geradeausfahrmanöver.
-
Das in 1 dargestellte System kann bei Fahrerassistenzsystemen (ADAS (= Advanced Driver Assistance Systems)), Robotik und anderen Anwendungen verwendet werden, die Kenntnisse darüber erfordern, wie sich andere Fahrzeuge/Agenten in der Szene bewegen. Das System von 1 kann verwendet werden, um diverse Verhaltensweisen für Menschen oder Fahrzeuge zu simulieren und sicherste Maßnahmen entsprechend zu planen. Alternativ kann das System auch verwendet werden, um diverse Trainingsbeispiele für Trainingsmodelle zu erzeugen, die bei ADAS und anderen Anwendungen verwendet werden, die Autonomie erfordern, um an sozialen Orten zu navigieren.
-
Die Simulationsmaschine enthält mehrere Komponenten, d.h. ein Szenenerzeugungsmodul 100, ein Verhaltensweisens-Erzeugungsmodul 200 und eine Dynamiksimulationsmaschine oder einen Dynamiksimulator 300. Angesichts eines neu zu erstellenden und zu simulierenden Datensatzes nimmt das Szenenerzeugungsmodul 100 Fahspurmittellinieninformation, die entweder durch offen verfügbare Karteninformation erlangt oder durch den Datensatz 110 bereitgestellt werden kann. Die beispielhaften Ausführungsformen verwenden diese Information, um eine Graphen-Datenstruktur zu erstellen, die Knoten und Kanten enthält, die jeweils Endpunkte der Fahrspur und eine Fahrspurmittellinie darstellen. Wenn dies ausgeführt ist, stellt es eine BEV-Rekonstruktion der lokalen Szene bereit. Auf dies wird als Straßengraph Bezug genommen. Das Objektinstanziierungsmodul 130 verwendet die Tracklet-Information aus dem Datensatz 110, um sie auf den erzeugten Straßengraphen zu projizieren. Die beispielhaften Ausführungsformen tun dies durch Definieren eines Koordinatensystems in Bezug auf das Ego-Fahrzeug und finden die nächste Kante, die durch die Objekte im Graphen besetzt ist.
-
Nun finden die beispielhaften Ausführungsformen für jedes Fahrzeug, das in der Szene instanziiert wurde, verschiedene mögliche Manöver, die angesichts der Verkehrsbedingungen und der Straßenstruktur ausgeführt werden können, aus denen die beispielhaften Ausführungsformen unterschiedliche Fahrzeugverhaltensweisen für die Simulation einheitlich als Probe nehmen. Die beispielhaften Ausführungsformen beziehen sich auf „Verhaltensweisen“ als Fahrzeuge, die verschiedene Manöver wie {Geradeaus, Linksabbiegen, Rechtsabbiegen und Fahrspurwechsel} ausführen. Um solche diversen Verhaltensweisen auszuführen, die signifikant realistisch sind, nehmen die beispielhaften Ausführungsformen geeignete Geschwindigkeitsprofile aus realen Datensätzen als Referenzen als Probe, die der beabsichtigten Verhaltensweise, die das Fahrzeug auszuführen plant, äußerst ähnlich sind. Das Dynamiksimulationsmodul verwendet diese Referenzgeschwindigkeit, um für jedes Fahrzeug die richtige Verhaltensweise auszuführen, berücksichtigt aber gleichzeitig das Szenenlayout und die aktuellen Verkehrsbedingungen, um eine sichere Beschleunigung bereitzustellen, die ausgeführt werden kann.
-
Die beispielhaften Ausführungsformen simulieren jede Szene für z.B. 7 Sekunden und erzeugen ein Maximum von z.B. 3 diversen Verhaltensweisen. Die Simulation wird bei z.B. 10 Hz durchgeführt und eine Ausgabe der Simulation enthält Fahrzeugzustände
die Position, Geschwindigkeit, Kurs, Beschleunigung und Lenkung im Verlauf der Simulation darstellen. Die beispielhaften Ausführungsformen werden nun eine kurze Beschreibung jeder Komponente bereitstellen.
-
Hinsichtlich der Szenenerzeugung 100 verwenden die beispielhaften Ausführungsformen die Fahrspurinformation aus z.B. OpenStreetMaps (OSM) oder aus Datensätzen 110 zum Erstellen des Straßengraphen. Für solche Zwecke verwenden die beispielhaften Ausführungsformen die Straßeninformation wie beispielsweise Mittellinie, Anzahl von Fahrspuren und Einbahninformation für jedes Straßensegment. Jede bidirektionale Straßenmittellinie wird basierend auf der spezifizierten Anzahl von Fahrspuren und Einbahnstraßeninformation aufgeteilt. Die Fahrzeugpositionsinformation aus dem Datensatz 110 wird verwendet, um exakte Fahrszenarien nachzubilden.
-
Hinsichtlich einer Erzeugung diverser Verhaltensweisen 200 erforschen die beispielhaften Ausführungsformen angesichts einer bestimmten Fahrspur-ID (eines Knotens) im lokalen Straßengraphen für jedes Fahrzeug zuerst K mögliche Blattknoten, die innerhalb einer Schwellenentfernung erreicht werden können. Die beispielhaften Ausführungsformen kategorisieren plausible Manöver von irgendeinem gegebenen Knoten in drei unterschiedliche Kategorien {links, rechts, geradeaus}. Vor der Simulation erstellen die beispielhaften Ausführungsformen einen Pool von Referenzgeschwindigkeitsprofilen aus den realen Daten. Zur Simulationszeit erhalten die beispielhaften Ausführungsformen nach einem Nehmen einer erwünschten Verhaltensweise als Probe ein Geschwindigkeitsprofil für nächste Nachbarn für die aktuelle Szene basierend auf Merkmalen, wie beispielsweise Entfernung vor einem Abbiegen und durchschnittliche Geschwindigkeit, jeweils für Abbiege- bzw. Geradeausfahr-Manöver.
-
Hinsichtlich der Dynamiksimulation 310 verwendet das Dynamikmodul 300 den Straßengraphen, eine Verhaltensweise aus einem Pool von diversen plausiblen und eine Referenzgeschwindigkeit, die für die geeignete Verhaltensweise verfolgt werden muss. Die Dynamikmaschine 300 wird von einem intelligenten Fahrermodell (IDM (= Intelligent Driver Model)) 312 und MOBIL (= Minimizing Overall Braking by Induced Lane change) 314 (Minimierung eines gesamten Abbremsens durch induzierte Fahrspurwechsel) gesteuert. Beschleunigungs- und Fahrspurwechselentscheidungen, die von diesem Dynamikmodul 300 erhalten werden, werden zu einer Steuerung auf niedriger Ebene 320 zugeführt, die versucht, geeignete Zustandsänderungen bezüglicher einer Fahrzeugverhaltensweise zu verfolgen und zu zeigen (sowohl Lateralsteuerung 322 als auch Longitudinalsteuerung 324). Die vorhergesagten Trajektorien werden durch ein Ausgabemodul 400 ausgegeben. Um die Beschleunigung unter einer Sicherheitsgrenze für jede Verkehrssituation zu begrenzen und um Interaktionen zwischen unterschiedlichen Agenten bzw. Handelnden in der Szene zu integrieren, verwenden die beispielhaften Ausführungsformen eine IDM-Verhaltensweise für die simulierten Fahrzeuge. Die Eingabe zu einem IDM enthält einen Abstand zum führenden Fahrzeug s, die tatsächliche Geschwindigkeit des Fahrzeugs v, die Geschwindigkeitsdifferenz zum vorderen bzw. führenden Fahrzeug Δv und stellt eine Ausgabe aIDM bereit, die für die gegebenen Verkehrsbedingungen als sicher angesehen wird.
-
Sie ist gegeben durch die folgende Gleichung:
wobei a eine angenehme Beschleunigung ist und v
o eine erwünschte Referenzgeschwindigkeit ist. δ ist ein Exponent, der beeinflusst, wie die Beschleunigung mit der Geschwindigkeit abnimmt. Die Verlangsamung des Fahrzeugs hängt vom Verhältnis von einem gewünschten Mindestabstand s* zu einem tatsächlichen Stoßstangenabstand s zu dem vorausfahrenden Fahrzeug ab.
-
s* ist gegeben durch die folgende Gleichung:
wobei s
o der einzuhaltende gewünschte Sicherheitsabstand ist, T der Sicherheitszeitabstand des Fahrzeugs ist und b die komfortable gewünschte Verlangsamung des Fahrzeugs ist. {s
o, a, T, b, δ} sind Hyperparameter, die verschiedene Fahrzeugverhaltensweisen erzeugen. Die beispielhaften Ausführungsformen nehmen diese Parameter während einer Simulationszeit als Probe, um Simulationen mit unterschiedlichen Aggressivitätsgraden zu erzeugen.
-
Hinsichtlich Fahrspurwechselentscheidungen berücksichtigen die beispielhaften Ausführungsformen auch eine Fahrspurwechselverhaltensweise, um neben auf einem Abbiegen basierenden Manövertrajektorien eine zusätzliche Vielfalt bezüglich Fahrzeugtrajektorien hinzuzufügen. Fahrspurwechselverhaltensweisen werden basierend auf dem MOBIL-Algorithmus modelliert.
-
Das Folgende sind die Parameter, die eine Fahrspurwechselverhaltensweise steuern: ein Höflichkeitsfaktor p, der den Fahrspurwechsel beeinflusst, wenn es einen Beschleunigungsgewinn für andere Handelnde bzw. Agenten gibt, eine Fahrspurwechsel-Geschwindigkeitswechselschwelle Δath, eine maximale sichere Verlangsamung bsafe und eine Tendenz für eine bestimmte Fahrspur Δabias.
-
Die folgenden Gleichungen bestimmen, ob ein Fahrspurwechsel ausgeführt werden kann,
-
Hier ist a eine aktuelle Beschleunigung und stellt a eine neue Beschleunigung nach einem Fahrspurwechsel dar. Die tiefgestellten Zeichen c, n, o bezeichnen jeweils ein aktuelles, ein neues Fahrzeug und alte Fahrzeuge.
-
Ein Fahrspurwechselmanöver wird nur ausgeführt, wenn ein ausreichender Beschleunigungsgewinn vorliegt oder das für das aktuelle oder die folgenden Fahrzeuge nach einem Fahrspurwechsel auferlegte Bremsen größer als eine sichere Schwelle ist, wie es durch die Gleichung dargestellt ist.
-
Die Steuerung auf niedriger Ebene 320 simuliert die durch das Fahrdynamikmodul 300 gesteuerten Charakteristiken von Verhaltensweisen. Die Steuerung auf niedriger Ebene 320 nimmt eine Eingabe aus den Modulen Manöveridentifikation, IDM (312) und MOBIL (314) und erzeugt Zustandsänderungen für das simulierte Fahrzeug. Die Steuerung auf niedriger Ebene 320 enthält Longitudinal- und Lateral-Proportionalregler 322, 324, die jeweilige Geschwindigkeitsbefehle ausgeben. Die während des Manöveridentifikationsprozesses erhaltene Fahrspurmittellinie wird als Referenztrajektorie für das simulierte Fahrzeug verwendet. Die vom Lateralregler 322 erhaltene Geschwindigkeit wird in geeignete Lenkbefehle umgewandelt, die bei einem Verfolgen der Referenztrajektorie helfen. Seien v die aktuelle Geschwindigkeit des Fahrzeugs, x
lateral die laterale Position von der Fahrspur und v
lateral die laterale Geschwindigkeit, dann wird eine der Lenkwinkel φ durch die folgenden Gleichungen erhalten:
-
Hier sind kplateral und kpheading Steuerparameter, stellt L die Länge des Fahrzeugs dar und wirkt ∈ als Offset-Rauschen beim Verfolgen der Fahrspur. ψreq ist der Anfang, der für ein Ausrichten mit der Fahrspurmitte kompensiert werden muss, während ψfuture der erforderliche Anfang ist, der für zukünftige Zeitschritte erreicht werden muss. Eine Anfangssteuerung stellt eine Anfangsrate ̇ψ̇, für den gegebenen Referenzanfang ψref. bereit
-
Nun wird ein einzelnes Darstellungsmodell zum Vorhersagen von Trajektorien für mehrere Handelnde bzw. Akteure bzw. Agenten in einer Straßenszene eingeführt, so dass die Vorhersagen kontextbewusst, multimodal sind und ungeachtet einer Anzahl von Akteuren eine konstante Inferenzzeit haben. Die beispielhaften Ausführungsformen formulieren das Problem einer Trajektorienvorhersage als Pro-Frame-Regression von Standorten von Akteuren über dem räumlichen Gitter bzw. Raster.
-
Angesichts der Fahrspurmittellinieninformation L
1...m für eine Szene führen die beispielhaften Ausführungsformen sie in Darstellungen von oben aus, so dass die Szenenkontextkarte
von HxBx3 ist, wobei eine Kanaldimension 1-aus-n-Information jedes Pixels entsprechend Straße, Fahrspur und unbekanntem Stra-ßenelement darstellt.
-
Lässt man
die Trajektorieninformation eines i
th Fahrzeugs aus einem Zeitschritt 1...T bezeichnen, wobei jedes
einen räumlichen Standort des Akteurs in der Szene darstellt. Das Netzwerk nimmt eine Eingabe in der Form von relativen Koordinaten
RX
i. in Bezug auf den Startstandort des Akteurs.
-
Für den i
th Akteur in der Szene projizieren die beispielhaften Ausführungsformen
RX
i an entsprechenden Xi Standorten, um eine räumliche Standortkarte von Zuständen S
1...T so zu konstruieren, dass
eine relative Koordinate eines i
th Akteurs beim Zeitschritt t enthält.
-
stellt die Ground-Truth-Trajektorie dar. Und die beispielhaften Ausführungsformen bezeichnen weiterhin M
t als die Standortmaske, die eine Konfiguration von Akteuren in der Szene darstellt. Um eine Verfolgung von Fahrzeugen über Zeitschritte hinweg beizubehalten, konstruieren die beispielhaften Ausführungsformen eine Karte von Fahrzeug-Ids V
1...T, wobei
-
Weiterhin assoziieren die beispielhaften Ausführungsformen jede Trajektorie
mit einer Bezeichnung ci, die den Verhaltenstyp der Trajektorie aus einem der Verhaltensweisen {geradeaus, links, rechts} darstellt. Und eine Trajektorienbeschriftung bzw. -bezeichnung für Fahrspurwechsel fällt in eine der drei Kategorien.
-
Lässt man C eine Codiergitter-Kartendarstellung von ci sein, so dass
Es ist zu beachten, dass Fahrzeugtrajektorien im Vergleich zur menschlichen Bewegung nicht zufällig sind. Stattdessen hängen sie von Verhaltensweisen anderer Fahrzeuge auf der Straße ab, was uns motiviert, Trajektorien basierend auf unterschiedlichen Manövern zu klassifizieren.
-
Die beispielhaften Ausführungsformen folgen einer Formulierung, bei welcher das Netzwerk vorherige Zustände
als Eingabe zusammen mit der Szenenkontextkarte I, der Trajektorienbeschriftungskarte C, der Standortmaske M und einer Rauschkarte Z nimmt, um die zukünftigen Trajektorien
RŶ
i für jeden Akteur an seinem entsprechenden Raster- bzw. Gitterkartenstandort
in der Szene vorherzusagen. Es ist zu beachten, dass die beispielhaften Ausführungsformen keinen separaten Kopf für jeden Akteur haben. Stattdessen sagt das Netzwerk eine einzelne zukünftige Zustandskarte Ŝ
t voraus, wo jeder einzelne Akteur versucht, bei t mit
übereinzustimmen.
-
Die beispielhaften Ausführungsformen stellen die Pipeline bzw. Leitung in 4 dar. Die Netzwerkarchitektur enthält einen latenten Codierer 610 und einen bedingten Generator bzw. Bedingungsgenerator 640. Die beispielhaften Ausführungsformen modellieren die zeitliche Information mit den vorherigen Standorten von Akteuren unter Verwendung von faltenden langen Kurzzeitgedächtnissen (ConvLSTMs). Die beispielhaften Ausführungsformen führen weiterhin eine Zustandspoolbildungs-Operation ein, um Akteuren Zustandsinformationen an den jeweiligen Standorten in aufeinanderfolgenden Zeitschritten zuzuführen. Während die beispielhaften Ausführungsformen trajektorienspezifische Bezeichnungen bereitstellen, um diverse Vorhersagen zu erfassen, nutzen die beispielhaften Ausführungsformen bedingte variationsgenerative Modelle, um eine Vielfalt bezüglich der Daten für jeden Typ von Bezeichnung zu modellieren.
-
Beim latenten Codierer 610 agiert bzw. handelt 610 als Erkennungsmodul Qϕ für das Framework und wird nur während der Trainingsphase verwendet. Spezifisch nimmt der latente Codierer 610 sowohl die vergangene als auch die zukünftige Trajektorieninformation RXi (602) auf und führt sie durch den RNN-Codierer 614. Die eingebetteten Vektoren werden dann durch ein LSTM-Netzwerk in 614 geführt, um Codierungen bei jedem Zeitschritt zu erzeugen. Die Ausgaben über alle Zeitschritte hinweg werden zusammen mit der 1-aus-n-Trajektorienbezeichnung ci von 612 zu einem einzigen Vektor 616 verkettet, um Venc(i) zu erzeugen.
-
Dieser Vektor wird dann durch eine mehrschichtige Wahrnehmung bzw. ein mehrschichtiges Perzeptron (MLP) weitergegeben, um µ und σ zu erhalten, um eine Verteilung
auszugeben.
-
Formell gilt folgendes:
-
Hinsichtlich des bedingten Generators 640 adaptieren die beispielhaften Ausführungsformen eine U-Net-ähnliche Architektur für den Generator. Bei jedem Zeitschritt t sind die Eingaben 620 in den Netzwerk-Bedingungsgenerator die folgenden: eine Szenenkontextkarte
(HxBx3) (622), eine einzelne Darstellung eines aktuellen Zustands von allen Akteuren S
t (HxBx2) (624), eine Standortmaske M
t (HxBx1) (628), eine für 1-aus-n-Trajektorien spezifische Bezeichnung (626) für jeden Akteur, projiziert bei für einen Akteur spezifischen Standorten in einem Gitter bzw. Raster von C
t (HxBx3), und eine latente Vektorkarte Z
t (HxBx16) (630) einschließlich z
i, erhalten von Q
ϕ(z
i|
RX
i, c
i) während einer Trainingsphase oder als Probe genommen aus einer früheren Verteilung P
v(z
i|
RX
i,c
i) zur Testzeit.
-
Formell ist die Netzwerkeingabe E
t gegeben durch:
welche von der Größe HxBx25 für jeden Zeitschritt t ist. Es ist zu beachten, dass die Darstellung nicht entitätszentriert ist. Anders ausgedrückt, haben die beispielhaften Ausführungsformen nicht eine Zielentität, für welche die beispielhaften Ausführungsformen wünschen, Trajektorien vorherzusagen, sondern vielmehr eine globale für alle Akteure.
-
Bei jedem Zeitschritt von 1,..., t
obs, führen die beispielhaften Ausführungsformen die obigen Eingaben durch das Codierermodul 642. Dieses Modul 642 enthält Faltungen mit Schritt (strided convolutions), die Information in kleinen räumlichen Dimensionen codieren, und führt sie durch den Decodierer 644. Der Decodierer 644 enthält ConvLSTMs und transponierte Faltungen mit Sprungverbindungen vom Codierermodul 642 und gibt eine HxW-Karte aus. Sie wird dann zu einer anderen ConvLSTM-Schicht 646 mit Zustandspoolbildungs-Operationen weitergegeben. Dasselbe Netzwerk wird während einer Beobachtungs- und Vorhersagephase gemeinsam genutzt. Eine abschließende 1x1-Faltungsschicht ist hinzugefügt, um eine 2-Kanal-Karte 650 einschließlich relativer vorhergesagter Koordinaten
für die Agenten im nächsten Zeitschritt auszugeben.
-
Die beispielhaften Ausführungsformen verwenden die Ground-Truth-Agentenstandorte für die beobachtete Trajektorie und entfalten ConvLSTM basierend auf den Vorhersagen des Netzwerks. Während der Vorhersagephase (t
obs,...,T), werden die Ausgaben nicht direkt als Eingaben zum Netzwerk zurückgeführt, sondern vielmehr wird der Zustand eines Agenten basierend auf den Vorhersagen zum nächsten Standort in der Szene aktualisiert. Der relative vorhergesagte Standort
wird zum absoluten vorhergesagten Standort
aktualisiert, um eine aktualisierte Szenenzustandskarte Ŝ
t einschließlich aktualisierter Standorte von all den Agenten in der Szene zu erhalten. Es ist zu beachten, dass ein Verwenden solcher Darstellungen für die Szene unabhängig von einer Anzahl von Agenten ist und da der nächste Zustand von Agenten an seinem jeweiligen Pixelstandort vorhergesagt wird, ist er in der Lage, einen dynamischen Ein- und Ausstieg von Agenten aus der Szene zu handhaben.
-
Hinsichtlich bezüglich eines Zustands einer Poolbildung unterzogener ConvLSTMs 646 werden simultane Mehrfachagenten-Vorhersagen durch eine Zustands-Poolbildung in ConvLSTMs realisiert. Ein Verwenden von Standard-ConvLSTMs für Mehrfachagenten-Trajektorienvorhersagen erzeugt normalerweise semantisch ausgerichtete Trajektorien, aber die Trajektorien enthalten gelegentlich erratische Manöver. Die beispielhaften Ausführungsformen lösen dieses Problem über eine Zustands-Poolbildung, die die Verfügbarkeit von früherer Zustandsinformation sicherstellt, wenn versucht wird, den nächsten Standort vorherzusagen. Die beispielhaften Ausführungsformen bilden einen Pool für die frühere Zustandsinformation aus der abschließenden ConvLSTM-Schicht für all die Agenten
und initialisieren den nächsten Zustand mit
(für sowohl einen versteckten als auch einen Zellenzustand) an aktualisierten Standorten von Agenten und Nullvektoren an allen anderen Positionen für einen Zeitschritt t.
-
Hinsichtlich eines „Lernens“ trainieren die beispielhaften Ausführungsformen sowohl das Erkennungsnetzwerk Qϕ(zi|RXi,ci) als auch den bedingten Generator Pθ(Y|E) gleichzeitig. Die beispielhaften Ausführungsformen erhalten eine vorhergesagte Trajektorie RŶ durch eine Poolbildung von Werten aus Indizes, die Agenten bei jedem Zeitschritt besuchten.
-
Die beispielhaften Ausführungsformen verwenden zwei Verlustfunktionen beim Trainieren des ConvLSTM-Netzwerks:
-
Der Rekonstruktionsverlust ist gegeben als:
was die Vorhersagen bestraft, um zu ermöglichen, dass sie Ground Truth genau rekonstruieren.
-
Der KL-Divergenzverlust ist gegeben als:
was die Ausgabeverteilung von Qφ regelt, um mit der Probenverteilung Pv zur Testzeit übereinzustimmen.
-
In einer Testphase haben die beispielhaften Ausführungsformen zu einer Inferenzzeit keinen Zugriff auf trajektorienspezifische Bezeichnungen ci, sondern fragen vielmehr ein spezifisches Verhalten ab, indem sie diese Bezeichnungen zufällig als Probe nehmen. Zusammen mit ci für jeden Agenten nehmen die beispielhaften Ausführungsformen auch zi aus Pυ(zi|RXi,ci) als Probe. Jedoch kann Pv entspannt werden, um unabhängig von der Eingabe zu sein, um dadurch zu implizieren, dass die vorherige Verteilung zur Testzeit Pυ(zi). Pυ(zi):=N(0,1) ist.
-
2 ist ein Block-/Ablaufdiagramm einer beispielhaften Implementierung einer simultanen rekurrenten Multiagenten-Trajektorienvorhersage gemäß Ausführungsformen der vorliegenden Erfindung.
-
Ein selbstfahrendes Auto 501 kann einen Computer 510 und einen Lenk- und Steuermechanismus 516 enthalten. Der Computer 510 kann so programmiert sein, dass er Wahrnehmungsmethoden 512 und Planungsmethoden 514 ausführt.
-
Die Wahrnehmungsmethoden 512 können Sensoreingaben 520, andere Wahrnehmungsausgaben 522, Zukunftsvorhersagen 524 und nachgelagerte Aufgaben 526 umfassen.
-
Die Zukunftsvorhersagen 524 können einen Fahrsimulator 530 und eine Vorhersagemethode 532 enthalten.
-
Der Fahrsimulator 530 kann einen Szenengenerator 540 (100), einen Generator für diverse Verhaltensweisen 542 (200) und einen Dynamiksimulator 544 (300) enthalten.
-
Der Szenengenerator 540 (100) kann auf einer Straßengraphen-Erzeugung 550 (120) und einer Realobjektinstanziierung 552 (130) beruhen.
-
Der Generator für diverse Verhaltensweisen 542 (200) kann auf einer Manöveridentifikation 560 (210) und einem Nehmen eines Geschwindigkeitsprofils als Probe 562 (220) beruhen.
-
3 ist ein Block-/Ablaufdiagramm eines beispielhaften algorithmischen Flusses einer simultanen rekurrenten Multiagenten-Trajektorienvorhersage gemäß Ausführungsformen der vorliegenden Erfindung.
-
Der erste Schritt beim Simulationsprozess besteht darin, das topologische Layout der Szene (Szenenerzeugung 100) aus einem realen Datensatz zu rekonstruieren. Die beispielhaften Ausführungsformen verwenden entweder offen verfügbare Karteninformation 110 oder verwenden die verfügbare Karteninformation mit hoher Auflösung HD im Datensatz, um einen Straßengraphen der Szene zu erstellen. Ein Straßengraph erfasst hierarchische Strukturen der miteinander verbundenen Fahrspuren (Straßengraph-Erzeugung 120). Dann platzieren die beispielhaften Ausführungsformen Fahrzeuge aus der realen Szene auf den erzeugten Straßengraphen oder führen sie ein und ordnen Fahrzeuge ihren nächstgelegenen Fahrspur-IDs zu (Realobjektinstanziierung 130).
-
Die beispielhaften Ausführungsformen bewegen sich dann zu einer Erzeugung diverser Verhaltensweisen, wobei die beispielhaften Ausführungsformen eine Verhaltensweise zusammen mit einem assoziierten bzw. zugehörigen Geschwindigkeitsprofil aus den realen Daten als Probe nehmen (Erzeugung diverser Verhaltensweisen 200). Insbesondere enthält die Erzeugung diverser Verhaltensweisen 200 eine Manöveridentifikation 210 und ein Nehmen eines Geschwindigkeitsprofils als Probe 220. Die Manöveridentifikation 210 identifiziert plausible Manöver für jedes Fahrzeug in der Szene, während das Nehmen eines Geschwindigkeitsprofils als Probe 220 eine geeignete Geschwindigkeit aus den realen Daten als Probe nimmt. Der Straßengraph von 100 und ein als Probe genommenes Geschwindigkeitsprofil 220 zusammen mit einem erwünschten Ziel von 210 und wird als Eingabe zum Dynamiksimulator 300 gegeben, um eine sichere Trajektorie 400 für alle Fahrzeuge in der Szene zu erzeugen.
-
5 ist ein Block-/Ablaufdiagramm eines beispielhaften Verarbeitungssystems zum Durchführen einer Videodomänenanpassung zur Erkennung menschlicher Handlung bzw. Aktion gemäß Ausführungsformen der vorliegenden Erfindung.
-
Das Verarbeitungssystem enthält wenigstens einen Prozessor oder eine Prozessorvorrichtung (CPU) 704 und eine Grafikverarbeitungseinheit (GPU) 705, die operativ mit anderen Komponenten über einen Systembus 702 gekoppelt sind. Ein Cache 706, ein Nurlesespeicher (ROM) 708, ein Direktzugriffsspeicher (RAM) 710, ein Eingabe/Ausgabe-(I/O-)Adapter 720, ein Netzwerk-Adapter 730, ein Anwenderschnittstellen-Adapter 740 und ein Anzeige-Adapter 750 sind operativ mit dem Systembus 702 gekoppelt. Eine einzelnes Darstellungsmodell zur Trajektorienvorhersage 760 kann über den Bus 702 verwendet werden. Das einzelne Darstellungsmodell zur Trajektorienvorhersage 760 kann einen Szenengenerator 100, einen Generator für diverse Verhaltensweisen 200 und einen Dynamiksimulator 300 verwenden.
-
Eine Speichervorrichtung 722 ist durch den I/O-Adapter 720 operativ mit dem Systembus 702 gekoppelt. Die Speichervorrichtung 722 kann irgendetwas von einer Plattenspeichervorrichtung (z.B. magnetischen oder optischen Plattenspeichervorrichtung), einer magnetischen Festkörpervorrichtung und so weiter sein.
-
Ein Transceiver 732 ist durch den Netzwerk-Adapter 730 operativ mit dem Systembus 702 gekoppelt.
-
Anwendereingabevorrichtungen 742 sind durch den Anwenderschnittstellen-Adapter 740 operativ mit dem Systembus 702 gekoppelt. Die Anwendereingabevorrichtungen 742 können irgendetwas von einer Tastatur, einer Maus, einer kleinen Tastatur bzw. Folientastatur, einer Bildaufnahmevorrichtung, einer Bewegungserfassungsvorrichtung, einem Mikrofon, einer Vorrichtung, die die Funktionalität von wenigstens zwei der vorstehenden Vorrichtungen enthält, und so weiter sein. Natürlich können auch andere Typen von Eingabevorrichtungen verwendet werden, während der Sinngehalt der vorliegenden Erfindung beibehalten wird. Die Anwendereingabevorrichtungen 742 können derselbe Typ von Anwendereingabevorrichtung oder unterschiedliche Typen von Anwendereingabevorrichtungen sein. Die Anwendereingabevorrichtungen 742 werden verwendet, um Information zu dem Verarbeitungssystem einzugeben und von diesem auszugeben.
-
Eine Anzeigevorrichtung 752 ist durch den Anzeige-Adapter 750 operativ mit dem Systembus 702 gekoppelt.
-
Das Verarbeitungssystem kann natürlich auch andere Elemente (nicht gezeigt) enthalten, wie es von einem Fachmann auf dem Gebiet ohne weiteres in Erwägung gezogen wird, sowie bestimmte Elemente weglassen. Zum Beispiel können verschiedene andere Eingabevorrichtungen und/oder Ausgabevorrichtungen in dem System enthalten sein, und zwar in Abhängigkeit von der bestimmten Implementierung desselben, wie es von einem Fachmann auf dem Gebiet ohne weiteres verstanden wird. Zum Beispiel können verschiedene Typen von drahtlosen und/oder verdrahteten Eingabe- und/oder Ausgabevorrichtungen verwendet werden. Darüber hinaus können zusätzliche Prozessoren, Prozessorvorrichtungen, Steuerungen, Speicher und so weiter in verschiedenen Konfigurationen auch verwendet werden, wie es von einem Fachmann auf dem Gebiet ohne weiteres erkannt wird. Diese und andere Variationen des Verarbeitungssystems werden durch einen Fachmann auf dem Gebiet, dem die Lehren der hierin zur Verfügung gestellten vorliegenden Erfindung vorgegeben werden, ohne weiteres in Erwägung gezogen.
-
6 ist ein Block-/Ablaufdiagramm eines beispielhaften Verfahrens zur simultanen Vorhersage von rekurrenter Multiagententrajektorie gemäß Ausführungsformen der vorliegenden Erfindung.
-
Bei einem Block 801 erfolgt ein Rekonstruieren, über einen Szenengenerator, eines topologischen Layouts einer Szene aus einem Datensatz einschließlich realer Daten.
-
Bei einem Block 803 erfolgt ein Erzeugen eines Straßengraphen der Szene, wobei der Straßengraph eine hierarchische Struktur von miteinander verbundenen Fahrspuren erfasst.
-
Bei einem Block 805 erfolgt ein Einbinden von Fahrzeugen aus der Szene auf dem erzeugten Straßengraphen durch Verwenden von im Datensatz verfügbarer Tracklet-Information.
-
Bei einem Block 807 erfolgt ein Zuordnen der Fahrzeuge zu ihren nächstgelegenen Fahrspuridentifikationen.
-
Bei einem Block 809 erfolgt ein Identifizieren diverser plausibler Verhaltensweisen für jedes Fahrzeug in der Szene.
-
Bei einem Block 811 erfolgt ein Nehmen einer Verhaltensweise aus den diversen plausiblen Verhaltensweisen durch einen Generator für diverse Verhaltensweisen als Probe, um ein assoziiertes aus den realen Daten des Datensatzes als Probe genommenes Geschwindigkeitsprofil auszuwählen, das der als Probe genommenen Verhaltensweise ähnlich ist.
-
Bei einem Block 813 erfolgt ein Zuführen des Straßengraphen und des als Probe genommenen Geschwindigkeitsprofils mit einem gewünschten Ziel zu einem Dynamiksimulator, um eine Vielzahl von simulierten diversen Trajektorien zu erzeugen, die auf einer Visualisierungsvorrichtung ausgegeben werden, um zuzulassen, dass ein Benutzer eine oder mehrere der Vielzahl von simulierten diversen Trajektorien zum Nachbilden eines gewünschten Fahrszenarios auswählt.
-
7 ist ein Block-/Ablaufdiagramm von bei Verfahren zur simultanen Vorhersage von rekurrenter Multiagententrajektorie verwendeten Gleichungen gemäß Ausführungsformen der vorliegenden Erfindung.
-
Gleichungen 900 identifizieren die Ausgabe für eine sichere Trajektorie, ein Erkennungsnetzwerk, einen Bedingungsgenerator und Verluste, wie beispielsweise Rekonstruktionsverluste und KL-Divergenzverluste.
-
8 ist ein Block-/Ablaufdiagramm einer praktischen Anwendung zur simultanen Vorhersage von rekurrenter Multiagententrajektorie gemäß Ausführungsformen der vorliegenden Erfindung.
-
Fahrerassistenzsysteme (ADAS) 1001, Roboter 1003 und Agenten bzw. Handelnde bzw. Akteure 1005 können in einer Szene 1010 verwendet werden. Solche Anwendungen 1001, 1003, 1005 können eine Kenntnis darüber benötigen, wie sich andere Fahrzeuge/Roboter/Agenten in der Szene 1010 bewegen. Ein Simulationsprozess 1012 findet statt, um verschiedene bzw. diverse Verhaltensweisen für die Fahrzeuge/Roboter/Agenten 1001, 1003, 1005 so zu simulieren, dass ein Sicherheitsplan oder eine sichere Aktion 1020 durchgeführt wird. Alternativ können vielfältige bzw. diverse Trainingsbeispiele 1022 für Trainingsmodelle erzeugt werden, die in ADAS oder in Robotern oder bei anderen Anwendungen verwendet werden. Der Simulationsprozess 1012 kann den Szenengenerator 100, den Generator für diverse Verhaltensweisen 200 und den Dynamiksimulator 300 verwenden.
-
Zusammenfassend befassen sich die beispielhaften Ausführungsformen mit dem Problem eines Erzeugens von Verhaltensweisen mit mehreren Treiber- bzw. Fahrerabsichten für reale Szenarien. Um dies zu erreichen, schlagen die beispielhaften Ausführungsformen eine neue Simulationsstrategie für Darstellungen von oben von Szenen vor, die mehrere domänenspezifische Lücken auf niedriger Ebene abstrahiert, die dann auftreten, wenn Trajektorien im Sensorraum erzeugt werden, und die Verallgemeinerbarkeit von Trajektorien über mehrere Domänen hinweg verbessern. Insbesondere nutzen die beispielhaften Ausführungsformen zum Beispiel Open-Source-Karteninformation, um Szenen aus realen Daten nachzubilden und Mehrfachabsichts-Verhaltensweisen für simulierte Fahrzeuge auszuführen. Das Simulationsverfahren bindet realistische Trajektorien durch Nehmen von ähnlichen Geschwindigkeitsprofilen aus realen Daten als Probe ein. Die beispielhaften Ausführungsformen haben eine Dynamiksimulationsmaschine basierend auf einem intelligenten Fahrermodell (IDM), die sichere Beschleunigungen für aktuelle Verkehrsbedingungen bereitstellt. Die beispielhaften Ausführungsformen enthalten auch Fahrspurwechselentscheidungen für simulierte Fahrzeuge, die während eines Durchführens solcher Manöver auf Sicherheit prüfen.
-
Wie sie hierin verwendet sind, können die Ausdrücke „Daten“, „Inhalt“, „Information“ und ähnliche Ausdrücke austauschbar verwendet werden, um sich auf Daten zu beziehen, die gemäß verschiedenen beispielhaften Ausführungsformen aufgenommen, gesendet, empfangen, angezeigt und/oder gespeichert werden können. Somit sollte die Verwendung von irgendwelchen solchen Ausdrücken nicht dafür genommen werden, den Sinngehalt und Schutzumfang der Offenbarung zu beschränken. Weiterhin können dort, wo hierin eine Computervorrichtung beschrieben ist, um Daten von einer anderen Computervorrichtung zu empfangen, die Daten direkt von einer anderen Computervorrichtung empfangen werden oder sie können indirekt von über eine oder mehrere dazwischenliegende bzw. vermittelnde Computervorrichtungen empfangen werden, wie zum Beispiel einen oder mehrere Server, Relais, Router, Netzwerk-Zugangspunkten, Basisstationen und/oder ähnliches. Gleichermaßen können dort, wo hierin eine Computervorrichtung beschrieben ist, um Daten zu einer anderen Computervorrichtung zu senden, die Daten direkt zu der anderen Computervorrichtung gesendet werden oder sie können indirekt über eine oder mehrere dazwischenliegende bzw. vermittelnde Computervorrichtungen gesendet werden, wie zum Beispiel einen oder mehrere Server, Relais, Router, Netzwerk-Zugangspunkten, Basisstationen und/oder ähnliches.
-
Um für eine Interaktion mit einem Anwender zu sorgen, können Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands auf einem Computer implementiert sein, der eine Anzeigevorrichtung, wie z.B. einen CRT-(Kathodenstrahlröhren-) oder einen LCD-(Flüssigkristallanzeige-)Monitor, zum Anzeigen von Information zu einem Anwender hat, und eine Tastatur und eine Zeigevorrichtung, wie z.B. eine Maus oder einen Trackball bzw. eine Rollkugel, durch welche der Anwender eine Eingabe zum Computer bereitstellen kann. Andere Arten von Vorrichtungen können ebenso gut verwendet werden, um für eine Interaktion mit dem Anwender zu sorgen: zum Beispiel kann eine zum Anwender gelieferte Rückmeldung irgendeine Form einer sensorischen Rückmeldung sein, wie z.B. eine visuelle Rückmeldung, eine auditorische Rückmeldung oder eine taktile Rückmeldung; und eine Eingabe vom Anwender kann in irgendeiner Form empfangen werden, einschließlich einer akustischen, sprachlichen oder taktilen Eingabe.
-
Wie es von einem Fachmann auf dem Gebiet eingesehen werden wird, können Aspekte der vorliegenden Erfindung als ein System, ein Verfahren oder ein Computerprogrammprodukt ausgeführt werden. Demgemäß können Aspekte der vorliegenden Erfindung die Form einer Ausführungsform gänzlich in Hardware, einer Ausführungsform gänzlich in Software (einschließlich Firmware, residenter Software, Mikrocode, etc.) oder einer Ausführungsform, die Software- und Hardware-Aspekte kombiniert, annehmen, auf die alle hierin allgemein als „Schaltung“, „Modul“, „Recheneinheit“, „Vorrichtung“ oder „System“ Bezug genommen werden kann. Weiterhin können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit darauf verkörpertem computerlesbaren Programmcode verkörpert ist.
-
Irgendeine Kombination von einem oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann, ist aber nicht darauf beschränkt, zum Beispiel ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine Vorrichtung oder ein Gerät sein, oder irgendeine Kombination aus den voranstehenden. Mehr spezifische Beispiele (eine nicht erschöpfende Liste) des computerlesbaren Speichermediums würden das Folgende enthalten: eine elektrische Verbindung mit einem oder mehreren Drähten, eine portierbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nurlesespeicher (ROM), einen löschbaren programmierbaren Nurlesespeicher (EPROM oder USB-Stick), eine optische Faser bzw. Glasfaser, einen Nurlesespeicher einer portierbaren Computerdiskette (CD-ROM), eine optische Datenspeichervorrichtung, eine magnetische Datenspeichervorrichtung oder irgendeine geeignete Kombination des voranstehenden. In Zusammenhang mit diesem Dokument kann ein computerlesbares Speichermedium irgendein konkretes Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einem Gerät zur Anweisungsausführung enthalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann ein ausgebreitetes Datensignal mit einem darin verkörperten computerlesbaren Programmcode enthalten, wie zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches ausgebreitetes Signal kann irgendeine Vielfalt von Formen annehmen, einschließlich, aber nicht darauf beschränkt, elektromagnetisch, optisch oder irgendeine geeignete Kombination davon. Ein computerlesbares Signalmedium kann irgendein computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einem Gerät zur Anweisungsausführung kommunizieren, ausbreiten oder transportieren kann.
-
Ein auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung von irgendeinem geeigneten Medium übertragen werden, einschließlich, aber nicht darauf beschränkt, drahtlos, drahtgebunden, Glasfaserkabel, RF, etc., oder irgendeiner geeigneten Kombination des voranstehenden.
-
Ein Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in irgendeiner Kombination von einer oder mehreren Programmiersprachen geschrieben sein, einschließlich einer objektorientierten Programmiersprache, wie beispielsweise Java, Smalltalk, C++ oder ähnlichem, und herkömmlicher verfahrensorientierter Programmiersprachen, wie beispielsweise der C++-Programmiersprache oder ähnlichen Programmiersprachen. Der Programmcode kann gänzlich auf dem Computer eines Anwenders, teilweise auf dem Computer eines Anwenders, als ein alleinstehendes Software-Paket, teilweise auf dem Computer eines Anwenders und teilweise auf einem entfernten Computer oder gänzlich auf dem entfernten Computer oder Server ausführen. Beim letzteren Szenario kann der entfernte Computer mit dem Computer eines Anwenders durch irgendeinen Typ von Netzwerk verbunden sein, einschließlich eines lokalen Netzes (LAN) oder eines Weitverkehrsnetzes (WAN), oder die Verbindung kann zu einem externen Computer (zum Beispiel durch das Internet unter Verwendung eines Internet-Dienstanbieters) ausgeführt werden.
-
Aspekte der vorliegenden Erfindung werden nachstehend unter Bezugnahme auf Ablaufdiagrammdarstellungen und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der vorliegenden Erfindung beschrieben. Es wird verstanden werden, dass jeder Block der Ablaufdiagrammdarstellungen und/oder der Blockdiagramme und Kombinationen von Blöcken in den Ablaufdiagrammdarstellungen und/oder den Blockdiagrammen durch Computerprogrammanweisungen implementiert werden können. Diese Computerprogrammanweisungen können einem Prozessor eines allgemeinen Computers, eines Computers für spezielle Zwecke oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Anweisungen, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausführen, Mittel zum Implementieren der Funktionen/Handlungen erzeugen, die in dem Ablaufdiagramm und/oder den Blockdiagrammblöcken oder Blöcken oder Modulen spezifiziert sind.
-
Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Vorrichtungen bzw. Geräte anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die im dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsgegenstand bzw. ein Erzeugnis erzeugen bzw. produzieren, einschließlich Anweisungen, die die Funktion/Handlung implementieren, die im Ablaufdiagramm und/oder Blockdiagrammblock oder Blöcken oder Modulen spezifiziert ist.
-
Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Vorrichtungen bzw. Geräte geladen werden, um zu veranlassen, dass eine Reihe von Operationsschritten auf dem Computer, einer anderen programmierbaren Vorrichtung oder anderen Vorrichtungen bzw. Geräten durchgeführt wird, um einen computerimplementierten Prozess zu erzeugen bzw. zu produzieren, so dass die Anweisungen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausführen, Prozesse zum Implementieren des Funktionen/Handlungen bereitstellen, die in dem Ablaufdiagramm und/oder dem Blockdiagrammblock oder den Blöcken oder Modulen spezifiziert sind.
-
Es ist einzusehen, dass beabsichtigt ist, das der Ausdruck „Prozessor“, wie er hierin verwendet wird, irgendeine Verarbeitungsvorrichtung enthält, wie zum Beispiel eine, welche eine CPU (zentrale Verarbeitungseinheit) und/oder eine andere Verarbeitungsschaltung enthält. Es ist auch zu verstehen, dass sich der Ausdruck „Prozessor“ auf mehr als eine Verarbeitungsvorrichtung beziehen kann und dass verschiedene Elemente, die mit einer Verarbeitungsvorrichtung assoziiert sind, durch andere Verarbeitungsvorrichtungen gemeinsam genutzt werden können.
-
Es ist beabsichtigt, dass der Ausdruck „Speicher“, wie er hierin verwendet ist, einen Speicher enthält, der mit einem Prozessor oder einer CPU assoziiert ist, wie zum Beispiel einen RAM, einen ROM, eine feste Speichervorrichtung (z.B. eine Festplatte), eine entfernbare Speichervorrichtung (z.B. eine Diskette), einen USB-Stick, etc.. Ein solcher Speicher kann als ein computerlesbares Speichermedium angesehen werden.
-
Zusätzlich ist beabsichtigt, dass die Formulierung „Eingabe/AusgabeVorrichtungen“ oder „I/O-Vorrichtungen“, wie sie hierin verwendet ist, zum Beispiel eine oder mehrere Eingabevorrichtungen (z.B. Tastatur, Maus, Scanner, etc.) zum Eingeben von Daten zur Verarbeitungseinheit und/oder eine oder mehrere Ausgabevorrichtungen (z.B. Lautsprecher, Anzeige, Drucker etc.) zum Präsentieren von Ergebnissen, assoziiert mit der Verarbeitungseinheit, enthält.
-
Das Voranstehende ist in jederlei Hinsicht als illustrativ und beispielhaft, aber nicht als beschränkend, zu verstehen, und der Schutzumfang der hierin offenbarten Erfindung ist nicht aus der detaillierten Beschreibung zu bestimmen, sondern eher aus den Ansprüchen, wie sie gemäß der vollständigen Breite interpretiert werden, die durch das Patentrecht zugelassen ist. Es ist zu verstehen, dass die hierin gezeigten und beschriebenen Ausführungsformen nur illustrativ für die Prinzipien der vorliegenden Erfindung sind und dass Fachleute auf dem Gebiet verschiedene Modifikationen implementieren können, ohne von dem Schutzumfang und dem Sinngehalt der Erfindung abzuweichen. Fachleute auf dem Gebiet könnten verschiedene andere Merkmalskombinationen implementieren, ohne von dem Schutzumfang und dem Sinngehalt der Erfindung abzuweichen. Sind somit die Aspekte der Erfindung mit den Details und der Besonderheit, die durch das Patentrecht erforderlich sind, beschrieben worden, ist das, was beansprucht ist und durch das Patent geschützt erwünscht ist, in den beigefügten Ansprüchen dargelegt.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- WO 62/935326 [0001]
- WO 17/090399 [0001]