DE102019115809A1 - Verfahren und system zum durchgehenden lernen von steuerbefehlen für autonome fahrzeuge - Google Patents

Verfahren und system zum durchgehenden lernen von steuerbefehlen für autonome fahrzeuge Download PDF

Info

Publication number
DE102019115809A1
DE102019115809A1 DE102019115809.5A DE102019115809A DE102019115809A1 DE 102019115809 A1 DE102019115809 A1 DE 102019115809A1 DE 102019115809 A DE102019115809 A DE 102019115809A DE 102019115809 A1 DE102019115809 A1 DE 102019115809A1
Authority
DE
Germany
Prior art keywords
image data
generate
network
preprocessed image
map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019115809.5A
Other languages
English (en)
Inventor
Praveen Palanisamy
Upali P. Mudalige
Yilun Chen
John M. Dolan
Katharina Muelling
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Carnegie Mellon University
GM Global Technology Operations LLC
Original Assignee
Carnegie Mellon University
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Carnegie Mellon University, GM Global Technology Operations LLC filed Critical Carnegie Mellon University
Publication of DE102019115809A1 publication Critical patent/DE102019115809A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • B60W2050/0088Adaptive recalibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • B60W2520/105Longitudinal acceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/18Steering angle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Electromagnetism (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

Systeme und Verfahren zum Steuern von End-to-End-Lernen von Befehlen zum Steuern eines autonomen Fahrzeugs werden bereitgestellt. Ein Präprozessor verarbeitet von Sensoren in einem aktuellen Zeitschritt (CTS) aufgenommene Bilddaten, um vorverarbeitete Bilddaten zu erzeugen, die mit zusätzlichen Eingaben (z. B. einer Segmentierungskarte und/oder einer optischen Strömungskarte verkettet sind), um eine dynamische Szenenausgabe zu erzeugen. Ein neuronales Faltungsnetzwerk (CNN) verarbeitet die dynamische Szenenausgabe, um eine Merkmalskarte zu erzeugen, die extrahierte räumliche Merkmale beinhaltet, die mit der Fahrzeugkinematik verkettet sind, um einen räumlichen Kontextmerkmalsvektor zu erzeugen. Ein LSTM-Netzwerk verarbeitet während des (CTS) den räumlichen Kontextmerkmalsvektor am (CTS) und einen oder mehrere vorherige LSTM-Ausgaben bei entsprechenden vorherigen Zeitschritten, um einen kodierten zeitlichen Kontextvektor an der (CTS) zu erzeugen. Die vollständig verbundene Schicht verarbeitet den kodierten zeitlichen Kontextvektor, um Steuerbefehle (z. B. Lenkwinkel, Beschleunigungsrate und/oder Bremsratensteuerbefehl) zu lernens).

Description

  • EINLEITUNG
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf autonome Fahrzeuge, und insbesondere auf autonome Fahrzeugsteuerungen, autonome Fahrzeugsteuerungssysteme und zugehörige Verfahren zum Steuern von autonomen Fahrzeugen. Insbesondere betrifft die vorliegende Offenbarung Verfahren und Systeme zum durchgehenden Lernen von Steuerbefehlen, die zum Steuern eines autonomen Fahrzeugs verwendet werden.
  • Ein autonomes Fahrzeug ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und mit geringfügiger oder gar keiner Benutzereingabe zu navigieren. Ein autonomes Fahrzeug beinhaltet ein autonomes Antriebssystem (ADS), welches das autonome Fahrzeug intelligent steuert. Ein Sensorsystem erfasst seine Umgebung unter Verwendung von Abtastvorrichtungen, wie beispielsweise Radar-, Lidar-, Bildsensoren und dergleichen. Das ADS kann Informationen von globalen Positioniersystem-(GPS)-Technologien, Navigationssystemen, Fahrzeug-Fahrzeug-Kommunikationen, Fahrzeug-Infrastruktur-Technologien und/oder Drive-by-Wire-Systemen verarbeiten, um das Fahrzeug zu navigieren.
  • Die Fahrzeugautomatisierung wurde in nummerische Ebenen eingeteilt, von Null, entsprechend keiner Automatisierung mit voller menschlicher Kontrolle, bis Fünf, entsprechend der vollen Automatisierung ohne menschliche Kontrolle. Verschiedene automatisierte Fahrerassistenzsysteme, wie beispielsweise Geschwindigkeitsregelung, adaptive Geschwindigkeitsregelung und Parkassistenzsysteme, entsprechen niedrigeren Automatisierungsebenen, während echte „fahrerlose“ Fahrzeuge höheren Automatisierungsebenen entsprechen. Gegenwärtig gibt es viele verschiedene Konzepte für die autonome Fahrzeugsteuerung, die jedoch alle mit Nachteilen behaftet sind.
  • On-Road-Navigationssysteme sind eine wichtige Komponente zum Erzielen von vollständig autonomen Fahrzeugen. Während die Wahrnehmung und Steuerung seit langem zwei Herausforderungen waren, die in der autonomen Fahrindustrie untersucht wurden, haben die jüngsten Fortschritte in der autonomen Fahrindustrie als neues Verfahren zum Erlernen von Fahrrichtlinien für selbstfahrende Fahrzeuge eingeführt. Im Gegensatz zu herkömmlichen Ansätzen, die das Fahrzeugsteuersystem in separate Wahrnehmungs- und Steuermodule unterteilen, lernen Ende-to-End-Lernsysteme oft unter Verwendung eines einzelnen tiefen neuronalen Faltungsnetzwerks, um aus Wahrnehmung (z. B. Rohpixeln von Bildern, die von fahrzeugeigenen Kameras erfasst wurden) zu steuern (z. B. Steuerbefehle, die Stellglieder steuern, die das Fahrzeug steuern). So wurde beispielsweise in einem Ansatz ein End-to-End-System vorgeschlagen, das ein neuronales Faltungsnetzwerk verwendet, um Lenksteuerbefehle aus Rohpixeln direkt zu erlernen. Diese durchgehenden Lernsysteme nutzen den Vorteil einer direkten Optimierung ohne manuell definierte Regeln, was zu einer besseren Leistung und geringerem menschlichen Engineering führen kann.
  • Während solche durchgehenden Lernsysteme die Modellierung vereinfachen, haben sie auch eine Reihe von Nachteilen. Ein Nachteil ist, dass derartige durchgängige Lernsysteme andere Faktoren nicht weiter berücksichtigen, die derartige durchgängige Lernsysteme daran gehindert haben, komplexere Fahrverhalten zu erlernen. So verlieren beispielsweise Ende-zu-End-Lernsysteme viele detaillierte dynamische Informationen für eine bestimmte Fahraufgabe. Faktoren wie Geschwindigkeit, Karteninformation und Fahrzeugmechanik sind alle wichtigen Teile der Fahraufgabe. Ein weiterer Nachteil ist, dass derartige durchgängige Lernsysteme keinen Vorteil von vorheriger Kenntnis ausnutzen. So können beispielsweise Personen eine Vielzahl grundlegender Annahmen wie Verkehrsregeln beim Fahren befolgen, während das neuronale Netzwerk in aktuellen End-to-End-Lernsystemen von Grund auf lernen muss. Darüber hinaus berücksichtigen derartige durchgängige Lernsysteme nur aktuelle Erfassungsinformationen zur Entscheidungsfindung. Wenn sich Menschen im Gegensatz dazu auf vergangene Informationen verlassen, haben sie diese zusammen mit ihren aktuellen Erfassungsinformationen gelernt, um Entscheidungen zu treffen.
  • Dementsprechend ist es wünschenswert, Lernsysteme und -verfahren bereitzustellen, die Steuerbefehle zum Steuern eines autonomen Fahrzeugs erlernen können. Darüber hinaus ist es wünschenswert, Lernsysteme und -verfahren bereitzustellen, die vorausgehende Kenntnisse nutzen, die frühere Informationen nutzen, die das Lernsystem gelernt hat, und die in der Lage sind, komplexere Fahrverhalten zu erlernen, und gleichzeitig zuverlässig, einfach zu trainieren und leicht zu validieren sind. Ferner werden weitere wünschenswerte Funktionen und Merkmale der vorliegenden Offenbarung aus der nachfolgenden ausführlichen Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen, sowie dem vorangehenden technischen Gebiet und Hintergrund ersichtlich.
  • Die hierin bereitgestellte Hintergrundbeschreibung, dient dazu, den Kontext der Offenbarung im Allgemeinen darzustellen. Die Arbeit der gegenwärtig genannten Erfinder in dem in diesem Hintergrundabschnitt beschriebenen Umfang, sowie Aspekte der Beschreibung, die zum Zeitpunkt der Anmeldung ansonsten nicht als Stand der Technik gelten, wie z. B. Zeichnungen oder vorherige Ansätze, gelten gegenüber der vorliegenden Offenbarung weder ausdrücklich noch implizit als Stand der Technik.
  • KURZDARSTELLUNG
  • In einer Ausführungsform wird ein End-to-End-Lernverfahren für das Beenden von Befehlen zum Steuern eines autonomen Fahrzeugs bereitgestellt. Ein Präprozessor verarbeitet Bilddaten, die von Sensoren aus einer Umgebung in einem aktuellen Zeitschritt (T) erfasst werden, um vorverarbeitete Bilddaten zu erzeugen. In einer Ausführungsform beinhaltet der Präprozessor ein Ausschneidemodul, das die Bilddaten schneidet, um externe Elemente zu entfernen und zugeschnittene Bilddaten zu erzeugen, ein Upsampling-Modul, das die zugeschnittenen Bilddaten abtastet, um abgetastete Bilddaten zu erzeugen, ein Helligkeitsänderungsmodul, das eine Helligkeitsänderung anwendet, um aufgehellte, abgetastete Bilddaten zu erzeugen, und ein Helligkeitsänderungsmodul, das die hellen, abgetasteten Bilddaten aufbringt, um ein Spiegelbild in einer horizontalen Richtung zu erhalten, um die vorverarbeiteten Bilddaten zu erzeugen.
  • Die vorverarbeiteten Bilddaten werden mit mindestens einer zusätzlichen Eingabe verkettet, um eine dynamische Szenenausgabe zu erzeugen, die eine Verkettung der vorverarbeiteten Bilddaten und der mindestens einen zusätzlichen Eingabe ist. So werden beispielsweise in einer Ausführungsform die verarbeiteten Bilddaten an einem neuronalen Segmentierungsnetzwerk verarbeitet, um eine Segmentierungskarte zu erzeugen, in der jedem Pixel der vorverarbeiteten Bilddaten ein Etikett zugewiesen wurde, und die vorverarbeiteten Bilddaten werden mit der Segmentierungskarte verkettet, um die dynamische Szenenausgabe zu erzeugen, die eine erweiterte Segmentierungskarte ist. In einer anderen Ausführungsform werden die vorverarbeiteten Bilddaten an einem optischen neuronalen Strömungsnetzwerk verarbeitet, um eine optische Strömungskarte zu erzeugen, die die optische Strömung schätzt, und die vorverarbeiteten Bilddaten werden mit der optischen Strömungskarte verkettet, um die dynamische Szenenausgabe zu erzeugen. In einer anderen Ausführungsform werden die vorverarbeiteten Bilddaten in einem neuronalen Segmentierungsnetzwerk verarbeitet, um eine Segmentierungskarte zu erzeugen, in der jedem Pixel der vorverarbeiteten Bilddaten ein Etikett zugeordnet wurde, und werden auch an einem neuronalen optischen Strömungsnetzwerk verarbeitet, um eine optische Strömungskarte zu erzeugen, die die optische Strömung schätzt. Die vorverarbeiteten Bilddaten werden mit der Segmentierungskarte und der optischen Strömungskarte verkettet, um die dynamische Szenenausgabe zu erzeugen, die eine erweiterte Segmentierungskarte ist.
  • Unabhängig von der Implementierung verarbeitet ein neuronales Faltungsnetzwerk (CNN) die dynamische Szenenausgabe, um eine Merkmalskarte zu erzeugen, die extrahierte räumliche Merkmale umfasst. In einer Ausführungsform ist das CNN ein vortrainiertes CNN, das unter Verwendung eines Bilddatensatzes aus einer Bilddatenbank vortrainiert wurde. So werden beispielsweise die Anfangsgewichte des vortrainierten CNN vor dem Verarbeitungsschritt der erweiterten Segmentierungskarte eingestellt, um die Merkmalskarte zu erzeugen und dann während des Trainings fein abgestimmt zu werden.
  • Die Fahrzeugkinematik wird dann mit den extrahierten räumlichen Merkmalen aus der Merkmalskarte verkettet, um einen räumlichen Kontextmerkmalsvektor zu erzeugen, der Kontextmerkmale umfasst, die einen aktuellen Kontext im aktuellen Zeitschritt (T) beschreiben. Die Fahrzeugkinematik kann eine oder mehrere der folgenden Aspekte beinhalten: Fahrzeugbeschleunigungsrate, Fahrzeuggeschwindigkeit, Fahrzeugrichtung, Seitenabstand des Fahrzeugs zur Straßenbegrenzung, vorherigervorheriger Lenkwinkel des Fahrzeugs und Fahrzeuglenkmoment.
  • Ein Long-Short-Term-Memory (LSTM)-Netzwerk, das ein Netzwerk von LSTM-Zellen umfasst, kann dann während des aktuellen Zeitschrittes (T) den räumlichen Kontextmerkmalsvektor im aktuellen Zeitschritt (T) und einen oder mehrere vorherige LSTM-Ausgaben bei einem oder mehreren entsprechenden vorherigen Zeitschritten zum Erzeugen eines kodierten zeitlichen Kontextvektors im aktuellen Zeitschritt (T) verarbeiten. In einer Ausführungsform ist jeder der einen oder mehreren vorherigen LSTM-Ausgaben ein Kontextmerkmalsvektor aus einem bestimmten vorherigen Zeitschritt. In einer Ausführungsform wird die Anzahl von einem oder mehreren vorherigen LSTM-Ausgaben durch eine Fenstergröße (w) spezifiziert, die die Anzahl der einen oder mehreren vorherigen LSTM-Ausgaben definiert, die vom LSTM-Netzwerk zusammen mit dem räumlichen Kontextmerkmalsvektor verarbeitet werden sollen, um den kodierten zeitlichen Kontextvektor im aktuellen Zeitschritt (T) zu erzeugen.
  • Eine vollständig verbundene Schicht kann dann den kodierten zeitlichen Kontextvektor verarbeiten, um einen oder mehrere Steuerbefehle zu erlernen. Jeder Steuerbefehl umfasst mindestens einen der folgenden Befehle: einem Lenkwinkelsteuerbefehl, einen Beschleunigungsraten-Steuerbefehl oder einen Bremsraten-Steuerbefehl.
  • In einer Ausführungsform wird ein durchgängiges Lernsystem, das durchgängiges Lernen implementiert, innerhalb des autonomen Fahrzeugs eingesetzt, das durch eine Steuerung gesteuert wird. Die Steuerung kann einen der Steuerbefehle, die von dem End-to-End-Lernsystem erzeugt werden, zu jedem Zeitpunkt basierend auf einer aktuellen beobachteten Umgebung ausführen
  • Ein End-to-End-Lernsystem ist für das End-to-End-Lernen von Befehlen zum Steuern eines autonomen Fahrzeugs vorgesehen. Das System kann einen Präprozessor, eine erste Verkettungseinheit, ein neuronales Faltungsnetzwerk (CNN), eine zweite Verkettungseinheit, ein Long Short-Term-Memory (LSTM)-Netzwerk und eine vollständig verbundene Schicht beinhalten.
  • Der Präprozessor verarbeitet Bilddaten, die von Sensoren aus einer Umgebung in einem aktuellen Zeitschritt (T) erfasst werden, um vorverarbeitete Bilddaten zu erzeugen. In einer Ausführungsform beinhaltet der Präprozessor beispielsweise ein Ausschneidemodul, das Bilddaten ausführt, um überschüssige Elemente zu entfernen, um zugeschnittene Bilddaten zu erzeugen, ein Upsampling-Modul, das die zugeschnittenen Bilddaten abtastet, um abgetastete Bilddaten zu erzeugen; ein Helligkeitsänderungsmodul, das eine Helligkeitsänderung anwendet, um die abgetasteten Bilddaten zu erhallen, um hellere abgetastete Bilddaten zu erzeugen, und ein Drehmodul, das die abgetasteten Bilddaten dreht, um ein Spiegelbild in einer horizontalen Richtung zu erhalten, um die vorverarbeiteten Bilddaten zu erzeugen.
  • Die erste Verkettung verkettet die vorverarbeiteten Bilddaten mit einer oder mehreren zusätzlichen Eingaben, um eine dynamische Szenenausgabe zu erzeugen, die eine Verkettung der vorverarbeiteten Bilddaten und der einen oder mehreren zusätzlichen Eingaben ist. In einer Ausführungsform beinhaltet das System beispielsweise auch ein neuronales Segmentierungsnetzwerk, das segmentierte Bilddaten zum Erzeugen einer Segmentierungskarte segmentiert, in der jedes Pixel der vorverarbeiteten Bilddaten einem Etikett zugeordnet wurde. In dieser Ausführungsform kann die erste Verkettungseinheit die vorverarbeiteten Bilddaten mit der Segmentierungskarte verketten, um die dynamische Szenenausgabe zu erzeugen, wobei die dynamische Szenenausgabe eine erweiterte Segmentierungskarte ist. In einer anderen Ausführungsform beinhaltet das System auch ein neuronales optisches Strömungsnetzwerk, das die vorverarbeiteten Bilddaten verarbeitet, um eine optische Strömungskarte zu erzeugen, die die optische Strömung schätzt. In dieser Ausführungsform verkettet die erste Verkettungseinheit die vorverarbeiteten Bilddaten mit der optischen Strömungskarte, um die dynamische Szenenausgabe zu erzeugen. In noch einer weiteren Ausführungsform beinhaltet das System auch das neuronale Segmentierungsnetzwerk und das neuronale optische Strömungnetzwerk, und die Verarbeitung im neuronale optischen Strömungsnetzwerk erfolgt parallel zur Segmentierung der vorverarbeiteten Bilddaten im neuronalen Segnenierungsnetzwerk. In dieser Ausführungsform verkettet die erste Verkettungseinheit die vorverarbeiteten Bilddaten mit der Segmentierungskarte und der optischen Strömungskarte, um die dynamische Szenenausgabe zu erzeugen, wobei die dynamische Szenenausgabe eine noch weiter erweiterte Segmentierungskarte ist.
  • Das neuronale Faltungsnetzwerk (CNN) verarbeitet die dynamische Szenenausgabe, um eine Merkmalskarte zu erzeugen, die extrahierte räumliche Merkmale beinhaltet. In einer Ausführungsform kann das CNN unter Verwendung eines Bilddatensatzes aus einer Bilddatenbank vortrainiert werden. Anfangsgewichte des vortrainierten CNN werden vor dem Verarbeitungsschritt der erweiterten Segmentierungskarte eingestellt, um die Merkmalskarte zu erzeugen und dann während des Trainings fein abgestimmt zu werden.
  • Die zweite Verkettung verkettet die Fahrzeugkinematik mit den extrahierten räumlichen Merkmalen aus der Merkmalskarte, um einen räumlichen Kontextmerkmalsvektor zu erzeugen. Der räumliche Kontextmerkmalsvektor beinhaltet Kontextmerkmale, die einen aktuellen Kontext im aktuellen Zeitschritt (T) beschreiben. Die Fahrzeugkinematik kann beispielsweise eine oder mehrere Wert zu Fahrzeugbeschleunigungsrate, Fahrzeuggeschwindigkeit, Fahrzeugrichtung, Seitenabstand des Fahrzeugs zur Straßenbegrenzung, vorheriger Lenkwinkel des Fahrzeugs und Fahrzeuglenkmoment beinhalten.
  • Das LSTM-Netzwerk beinhaltet ein Netzwerk von LSTM-Zellen. Das LSTM-Netzwerk verarbeitet während des aktuellen Zeitschrittes (T) den räumlichen Kontextmerkmalsvektor im aktuellen Zeitschritt (T) und einen oder mehrere vorherige LSTM-Ausgaben bei einem oder mehreren entsprechenden vorherigen Zeitschritten, um einen kodierten zeitlichen Kontextvektor im aktuellen Zeitschritt (T) zu erzeugen. Jede der einen oder mehreren vorherigen LSTM-Ausgaben ist ein Kontextmerkmalsvektor aus einem bestimmten vorherigen Zeitschritt. In einer Ausführungsform wird die Anzahl von einem oder mehreren vorherigen LSTM-Ausgaben durch eine Fenstergröße bestimmt (w), die die Anzahl der vorherigen LSTM-Ausgaben, die vom LSTM-Netzwerk verarbeitet werden müssen, sowie den räumlichen Kontextmerkmalsvektor angibt, der den verschlüsselten zeitlichen Kontextmerkmalsvektor im aktuellen Zeitschritt (T) erzeugt.
  • Die vollständig verbundene Schicht verarbeitet den verschlüsselten zeitlichen Kontextvektor, um einen oder mehrere Steuerbefehle zu erlernen. Jeder Steuerbefehl kann einen oder mehrere der folgenden Befehle beinhalten: einen Lenkwinkelsteuerbefehl, einen Beschleunigungsraten-Steuerbefehl oder einen Bremsraten-Steuerbefehl.
  • In einer Ausführungsform ist ein autonomes Fahrzeug vorgesehen. Das autonome Fahrzeug umfasst ein End-to-End-Lernsystem, das innerhalb des autonomen Fahrzeugs bereitgestellt wird, das konfiguriert ist, um Steuerbefehle zu erlernen, die das autonome Fahrzeug steuern, einen Fahrumgebungsprozessor, der konfiguriert ist, um Bilddaten aus einer aktuellen beobachteten Umgebung zu erfassen, und einen Fahreragenten, der konfiguriert ist, um das autonome Fahrzeug zu jedem Zeitschritt basierend auf der aktuellen beobachteten Umgebung zu steuern, indem Anweisungen ausgegeben werden, um einen oder mehrere der Steuerbefehle auszuführen. Jeder Steuerbefehl umfasst mindestens einen der folgenden Befehle: einem Lenkwinkelsteuerbefehl, einen Beschleunigungsraten-Steuerbefehl oder einen Bremsraten-Steuerbefehl.
  • Das End-to-End-Lernsystem beinhaltet einen Prozessor, der konfiguriert ist, um Anweisungen eines Computerprogramms zum Erlernen der Befehle auszuführen, die, wenn sie durch den Prozessor ausgeführt werden, konfigurierbar sind, um ein Verfahren durchzuführen. Das Verfahren beinhaltet: Vorverarbeiten von Bilddaten, die von Sensoren aus der Umgebung in einem aktuellen Zeitschritt (T) erfasst wurden, um vorverarbeitete Bilddaten zu erzeugen.; das Verketten der vorverarbeiteten Bilddaten mit mindestens einer zusätzlichen Eingabe, um eine dynamische Szenenausgabe zu erzeugen, die eine Verkettung der vorverarbeiteten Bilddaten und der mindestens einen zusätzlichen Eingabe ist; Verarbeiten der dynamischen Szenenausgabe an einem neuronalen Faltungsnetzwerk (CNN), um eine Merkmalskarte zu erzeugen, die extrahierte räumliche Merkmale umfasst; das Verketten der Fahrzeugkinematik mit den extrahierten räumlichen Merkmalen aus der Merkmalskarte, um einen räumlichen Kontextmerkmalsvektor zu erzeugen, der Kontextmerkmale enthält, die einen aktuellen Kontext im aktuellen Zeitschritt (T) beschreiben; Verarbeiten, bei einem Long Short-Term Memory (LSTM)-Netzwerk, das ein Netzwerk von LSTM-Zellen während des aktuellen Zeitschrittes (T) umfasst, wobei der räumliche Kontextmerkmalsvektor im aktuellen Zeitschritt (T) einen oder mehrere vorherige LSTM-Ausgaben bei einem oder mehreren entsprechenden Zeitschritten umfasst, um einen kodierten zeitlichen Kontextvektor im aktuellen Zeitschritt (T) zu erzeugen; und Verarbeiten des kodierten zeitlichen Kontextvektors an einer vollständig verbundenen Schicht, um die Steuerbefehle zu erlernen.
  • Figurenliste
  • Die exemplarischen Ausführungsformen werden nachfolgend in Verbindung mit den folgenden Zeichnungsfiguren beschrieben, worin gleiche Bezugszeichen gleiche Elemente bezeichnen, und worin:
    • 1 ist ein Funktionsblockdiagramm, das ein autonomes Fahrzeug gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 2 ist ein Funktionsblockdiagramm, das ein Transportsystem mit einem oder mehreren autonomen Fahrzeugen von 1 gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 3 ist ein Datenflussdiagramm, das ein autonomes Antriebssystem des autonomen Fahrzeugs gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 4 ist ein Blockdiagramm, das ein Fahrzeugsteuerungssystem gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 5 ist ein Blockdiagramm, das die exemplarische Implementierung eines Bild-Präpozessors wie in 4 dargestellt gemäß der offenbarten Ausführungsformen veranschaulicht;
    • 6 ist ein Blockdiagramm, das eine exemplarische Implementierung des in 4 dargestellten Merkmals-Extraktions-CNN gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 7 ist ein Blockdiagramm eines nicht einschränkenden Beispiels einer LSTM-Zelle, die als Teil eines LSTM-Netzwerks von LSTM-Zellen gemäß den offenbarten Ausführungsformen implementiert werden kann;
    • 8 ist ein Blockdiagramm, das ein KI-Fahreragenten-System veranschaulicht, das einen Fahrumgebungsprozessor und ein autonomes, auf künstlicher Intelligenz (KI) basierendes Fahreragenten-Modul gemäß den offenbarten Ausführungsformen beinhaltet; und
    • 9 ist ein Blockdiagramm, das ein Online-Lernsystem veranschaulicht, das einen Fahrumgebungsprozessor und ein autonomes, auf künstlicher Intelligenz (KI) basierendes Fahreragentenmodul beinhaltet, das End-to-End-Lernsystem gemäß den offenbarten Ausführungsformen implementiert.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung dient lediglich als Beispiel und soll die Anwendung und Verwendung in keiner Weise einschränken. Weiterhin besteht keine Absicht, im vorstehenden technischen Bereich, Hintergrund, der Kurzzusammenfassung oder der folgenden ausführlichen Beschreibung an eine ausdrücklich oder implizit vorgestellte Theorie gebunden zu sein. Der hierin verwendete Begriff „Modul“ bezieht sich auf alle Hardware-, Software-, Firmwareprodukte, elektronische Steuerkomponenten, auf die Verarbeitungslogik und/oder Prozessorgeräte, einzeln oder in Kombinationen, unter anderem umfassend, eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder gruppiert) und einen Speicher, der ein oder mehrere Software- oder Firmwareprogramme, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten ausführt, die die beschriebene Funktionalität bieten.
  • Ausführungsformen der vorliegenden Offenbarung können hierin als funktionale und/oder logische Blockkomponenten und verschiedene Verarbeitungsschritte beschrieben sein. Es ist zu beachten, dass derartige Blockkomponenten aus einer beliebigen Anzahl an Hardware-, Software- und/oder Firmware-Komponenten aufgebaut sein können, die zur Ausführung der erforderlichen Funktionen konfiguriert sind. Zum Beispiel kann eine Ausführungsform der vorliegenden Offenbarung eines Systems oder einer Komponente verschiedene integrierte Schaltungskomponenten, beispielsweise Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Wertetabellen oder dergleichen, einsetzen, die mehrere Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen durchführen können. Zudem werden Fachleute auf dem Gebiet erkennen, dass die exemplarischen Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl an Systemen eingesetzt werden können, und dass das hierin beschriebene System lediglich eine exemplarische Ausführungsform der vorliegenden Offenbarung darstellt.
  • Der Kürze halber sind konventionelle Techniken in Verbindung mit der Signalverarbeitung, Datenübertragung, Signalgebung, Steuerung und weiteren funktionalen Aspekten der Systeme (und den einzelnen Bedienelementen der Systeme) hierin ggf. nicht im Detail beschrieben. Weiterhin sollen die in den verschiedenen Figuren dargestellten Verbindungslinien exemplarische Funktionsbeziehungen und/oder physikalische Verbindungen zwischen den verschiedenen Elementen darstellen. Es sollte beachtet werden, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenbarung vorhanden sein können.
  • Ein neuronales Netzwerk ist ein Maschinenlernmodell, das von einem Computersystem oder einer Verarbeitungsvorrichtung ausgeführt wird. Ein neuronales Netzwerk besteht aus einer Reihe von einfachen, hochgradig miteinander verbundenen Verarbeitungselementen/Vorrichtungen/Einheiten, die unter Verwendung von Softwarealgorithmen und/oder aktueller Hardware implementiert werden können. Die Verarbeitungselemente/Vorrichtungen/Einheiten verarbeiten Informationen durch ihr dynamisches Zustandsverhalten auf externe Eingaben. Ein neuronales Netzwerk verwendet eine oder mehrere Schichten nichtlinearer Einheiten, um eine Ausgabe für eine empfangene Eingabe vorherzusagen. Ein neuronales Netzwerk kann in Schichten organisiert werden, die aus einer Reihe von miteinander verbundenen Knoten bestehen. Jeder Knoten beinhaltet eine Aktivierungsfunktion. Mit „tiefes neuronales Netzwerk“ wird ein neuronales Netzwerk mit einer oder mehreren verborgenen Schichten bezeichnet Die Ausgabe jeder verborgenen Schicht wird als Eingabe für die nächste Schicht im Netzwer, d. h. die nächste versteckte Schicht oder die Ausgabeschicht verwendet. Jede Schicht des Netzwerks erzeugt eine Ausgabe von einer empfangenen Eingabe gemäß den aktuellen Werten eines jeweiligen Satzes von Parametern. Die Muster werden dem Netzwerk über eine Eingangsschicht präsentiert, die mit einer oder mehrere „verborgenen Schichten“ kommuniziert, wobei die tatsächliche Verarbeitung über ein System von gewichteten Verbindungen erfolgt. Die verborgenen Schichten werden dann mit einer Ausgangsschicht verbunden, wo eine Ausgabe erzeugt wird. Die meisten NNs enthalten eine Form von Lernregeln, welche die Gewichtungen der Verbindungen entsprechend den Eingabemustern, mit denen sie präsentiert werden, modifiziert. Obwohl jedes neuronale Netzwerk unterschiedlich ist, beinhaltet ein neuronales Netzwerk im Allgemeinen mindestens einige der folgenden Komponenten: einen Satz von Verarbeitungseinheiten, den Aktivierungszustand einer Verarbeitungseinheit, die Funktion zum Berechnen der Ausgabe einer Verarbeitungseinheit, das Muster der Konnektivität zwischen Verarbeitungseinheiten, die Regel der Aktivierungsausbreitung, die Aktivierungsfunktion und die Regel des eingesetzten Lernens. Designparameter für ein neuronales Netzwerk können beinhalten: die Anzahl der Eingangsknoten, die Anzahl der Ausgangsknoten, die Anzahl der mittleren oder verborgenen Schichten, die Anzahl der Knoten pro verborgener Schicht, anfängliche Verbindungsgewichte, die anfänglichen Knotenverzerrungen, die Lernrate, die Impulsrate, usw.
  • 1 ist ein Funktionsblockdiagramm, das ein autonomes Fahrzeug gemäß den offenbarten Ausführungsformen veranschaulicht. Wie in 1 dargestellt, beinhaltet das Fahrzeug 10 im Allgemeinen ein Fahrgestell 12, eine Karosserie 14, Vorderräder 16 und Hinterräder 18. Die Karosserie 14 ist auf dem Fahrgestell 12 angeordnet und umschließt im Wesentlichen die Komponenten des Fahrzeugs 10. Die Karosserie 14 und das Fahrgestell 12 können gemeinsam einen Rahmen bilden. Die Räder 16-18 sind jeweils mit dem Fahrgestell 12 in der Nähe einer jeweiligen Ecke der Karosserie 14 drehbar gekoppelt.
  • In verschiedenen Ausführungsformen ist das Fahrzeug 10 ein autonomes Fahrzeug und das autonome Antriebssystem (ADS) ist in das autonome Fahrzeug 10 (nachfolgend als das autonome Fahrzeug 10 bezeichnet) integriert, welches das Fahrzeug 10 intelligent steuert. Das autonome Fahrzeug 10 ist beispielsweise ein Fahrzeug, das automatisch gesteuert wird, um Passagiere von einem Ort zum anderen zu befördern. Das Fahrzeug 10 ist in der veranschaulichten Ausführungsform als Pkw dargestellt, es sollte jedoch beachtet werden, dass auch jedes andere Fahrzeug, einschließlich Motorräder, Lastwagen, Sportfahrzeuge (SUVs), Freizeitfahrzeuge (RVs), Schiffe, Flugzeuge usw. verwendet werden können. In einer exemplarischen Ausführungsform kann das autonome Fahrzeug 10 ein sogenanntes Level-Vier oder Level-Fünf Automatisierungssystem sein. Ein Level-Vier-System zeigt eine „hohe Automatisierung“ bezüglich der Fahrmodus-spezifischen Leistung durch ein automatisiertes Fahrsystem aller Aspekte der dynamischen Fahraufgabe an, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung einzugreifen reagiert. Ein Level-Fünf-System zeigt eine „Vollautomatisierung“ an und verweist auf die Vollzeitleistung eines automatisierten Fahrsystems aller Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer verwaltet werden können.
  • Wie dargestellt, beinhaltet das autonome Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Übertragungssystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, mindestens einen Datenspeicher 32, mindestens eine Steuerung 34, ein Kommunikationssystem 36 und ein Stellgliedsystem 90. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie beispielsweise einen Fahrmotor und/oder ein Brennstoffzellenantriebssystem, beinhalten. Das Getriebesystem 22 ist dazu konfiguriert, Leistung vom Antriebssystem 20 zu den Fahrzeugrädern 16-18 gemäß den wählbaren Drehzahlverhältnissen zu übertragen. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 22 ein Stufenverhältnis-Automatikgetriebe, ein stufenlos verstellbares Getriebe oder ein anderes geeignetes Getriebe beinhalten. Das Bremssystem 26 ist dazu konfiguriert, den Fahrzeugrädern 16-18 ein Bremsmoment bereitzustellen. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Brake-by-Wire, ein regeneratives Bremssystem, wie beispielsweise eine elektrische Maschine, und/oder andere geeignete Bremssysteme beinhalten. Das Lenksystem 24 beeinflusst eine Position der Fahrzeugräder 16-18. Wiewohl in einigen, im Umfang der vorliegenden Offenbarung bedachten, Ausführungsformen zu Veranschaulichungszwecken als ein Lenkrad beinhaltend dargestellt, ist möglich, dass das Lenksystem 24 kein Lenkrad beinhaltet.
  • Das Sensorsystem 28 beinhaltet eine oder mehrere Sensorvorrichtungen 40a-40n, die beobachtbare Zustände der äußeren Umgebung und/oder der inneren Umgebung des autonomen Fahrzeugs 10 erfassen. Die Abtastvorrichtungen 40a-40n können Radare, Lidare, optische Kameras, Wärmebildkameras, Bildgebungssensoren, Ultraschallsensoren, Trägheitsmesseinheiten, globale Positionierungssysteme, Navigationssysteme und/oder andere Sensoren beinhalten, sind aber nicht darauf beschränkt.
  • So können beispielsweise Radarvorrichtungen elektromagnetische Wellen, die von Objekten reflektiert werden, verarbeiten, um Radardaten zu erzeugen, die das Vorhandensein, die Richtung, die Entfernung und die Geschwindigkeit von Objekten im Sichtfeld anzeigen. Ein Radarfilter- und Vorverarbeitungsmodul kann die Radardaten vorverarbeiten, um Dinge wie stationäre Objekte, Objekte in nicht befahrbaren Bereichen (wie Radarrückgaben von Gebäuden) und verrauschte Messungen/Störungen (z. B. aufgrund der Geschwindigkeit) zu entfernen und vorverarbeitete Radardaten zu erzeugen. Die Radarverfolgung kann dann die vorverarbeiteten Radardaten weiterverarbeiten, um die Radarverfolgungsinformationen zu erzeugen, die dann zum Verfolgen von Objekten verwendet werden können.
  • Kameras (oder Bildsensoren) können so angeordnet werden, dass sie eine dreihundertsechzig (360) Grad Bildberichterstattung über die Umgebung des Fahrzeugs 10 ermöglichen. Die Kameras erfassen Bilder (z. B. Einzelbilder) und geben Bilddaten (z. B. ein verzerrtes Bild im YUV-Format) aus, die dann zu gleichgerichteten (oder unverzerrten) Kamerabildern verarbeitet werden können. Ein Bildvorverarbeitungsmodul kann die Bilddaten verarbeiten, indem es die Bilddaten entzerrt/korrigiert, die korrigierten Bilddaten vorverarbeitet (z. B. Bildgrößenänderung und mittlere Subtraktion) und die korrigierten, vorverarbeiteten Bilddaten in korrigierte Kamerabilder (z. B. in einem normalen RGB-Format) umwandelt, die ein neuronales Netzwerk eines Bildklassifikationsmoduls klassifizieren kann. Die Bilddaten können korrigiert werden, um Verzerrungen im Bild zu korrigieren, was dazu führen kann, dass gerade Linien (in Wirklichkeit) gekrümmt erscheinen, wenn beispielsweise Punktwolken im 3D-Raum auf die nicht korrigierten Bilddaten projiziert wurden, könnten sie aufgrund der Verzerrungen tatsächlich an der falschen Stelle im Bild sein. Durch das Entzerren des Bildes entsprechen die Projektionen aus dem 3D-Raum den richtigen Teilen des Bildes. Die entzerrten Kamerabilder können dann zusammen mit anderen Eingaben, einschließlich dreidimensionaler Positionen von Objekten aus einem Objektverfolgungsmodul, an ein Bildklassifizierungsmodul gesendet und zum Erzeugen der Bildklassifizierungsdaten verarbeitet werden, die einem Objektklassifizierungsmodul bereitgestellt und zum Erzeugen von Objektklassifizierungsdaten verwendet werden können, die dann an ein Objektverfolgungsmodul gesendet werden können, das die Objekte, die Radarverfolgungsinformationen und Objektklassifizierungsdaten verarbeitet, um Objektverfolgungsinformationen zu erzeugen.
  • Lidar-Vorrichtungen führen eine Abtastung durch, indem sie ein Ziel mit Laserlichtimpulsen beleuchten, und messen die Entfernung zu einem Ziel, indem sie reflektierte Impulse zurückempfangen. Die Intensität reflektierter Impulse kann kollektiv von den Lidar-Vorrichtungen verwendet werden, um eine Lidar-Punktwolke zu erzeugen, die die räumliche Struktur/Charakteristik von Objekten innerhalb des Sichtfeldes darstellt. So können die Lidar-Vorrichtungen beispielsweise zum Scannen rotierende Laserstrahlen, die sich um dreihundertundsechzig (360) Grad um das Fahrzeug herumdrehen. Alternativ können die Lidar-Vorrichtungen mit einer bestimmten Abtastfrequenz hin und her schwingen (d. h. wie schnell sie schwingen) und Impulse mit einer Wiederholungsrate emittieren.
  • Jede der Lidar-Vorrichtungen empfängt Lidardaten und verarbeitet die Lidardaten (z. B. Pakete mit Lidar-Rückgabeinformationen), um eine Lidar-Punktwolke zu erzeugen (z. B. einen dreidimensionalen Satz von Punkten in einer dreihundertsechzig (360) Grad-Zone um das Fahrzeug herum). Jeder Punkt besitzt zusätzlich zu einer dreidimensionalen XYZ-Position Intensitätsdaten. In einer Ausführungsform beinhaltet die Punktwolke beispielsweise einen ersten, einen mittleren und einen letzten von jedem Laserimpuls zurückkehrenden Punkt. Die Lidar-Vorrichtungen können miteinander synchronisiert (oder phasenverriegelt) werden.
  • Die Kameras können mit ihrer maximalen Bildrate betrieben werden, wobei die Aktualisierungsrate der Kameras in der Regel viel höher ist als bei den Lidar-Vorrichtungen. Während sich das Lidar im Uhrzeigersinn von der Rückseite des Fahrzeugs dreht, nimmt jede Kamera während der Drehung der Lidar-Vorrichtung Bilder im Uhrzeigersinn auf. Ein extrinsisches Kalibrierungsverfahren kann Informationen darüber, wohin die Kameras zeigen, bereitstellen. Die Lidar-Vorrichtungen sind phasenverriegelt (d. h. diese sind zeitlich so geplant, dass diese sich zu bestimmten Zeiten in bestimmten Rotationspositionen befinden), sodass bekannt ist, wann die Lidar-Vorrichtungen bestimmte Teile ihres Zyklus abtasten. Zur Analyse einer Szene kann das System ermitteln, welcher Bildgeber/welche Kamera zu einem Zeitpunkt, zu dem bestimmte Lidar-Daten erfasst wurden, wie ausgerichtet war. Das System kann dasjenige Bild auswählen, das am nächsten zu dem Zeitpunkt, an dem die Lidar-Daten erfasst wurden, aufgenommen/erhalten wurde, sodass nur nahe einer bestimmten Zielzeit erfasste Bilder (d. h., wenn die Lidar-Vorrichtung dieselbe Region betrachtet, auf die eine Kamera zeigt) verarbeitet werden. Als Ergebnis können Kamera-Lidar-Paare mit ausgezeichneter Ausrichtung ermittelt werden. Hierdurch entstehen Lidar-Daten mit einer bestimmten Richtung/Ausrichtung zusammen mit entsprechenden Bilddaten für die Szene/Umgebung bei diesem Kurs/Ausrichtung.
  • Die Lidar-Daten der Lidar-Punktwolken, die durch die Lidar-Vorrichtungen erlangt werden, können zu einer einzigen Lidar-Punktwolke zusammengeführt werden. Dreidimensionale Punktabtastung kann dann durchgeführt werden, um die Lidar-Daten (der einzelnen Lidar-Punktwolke) vorzuverarbeiten, um einen Satz dreidimensionaler Punkte zu erzeugen, die dann durch ein Objektsegmentierungsmodul in Objekte unterteilt werden können, die klassifiziert und verfolgt werden können. So kann beispielsweise ein Objektklassifizierungsmodul mehrere Klassifizierer beinhalten, welche die Objekte klassifizieren, um Objektklassifizierungsdaten zu erzeugen. Ein Objektverfolgungsmodul kann die Objekte verfolgen. Die Verfolgungsinformationen können dann zusammen mit den Radarverfolgungsinformationen und den Objektklassifizierungsdaten verwendet werden, um Objektverfolgungsinformationen zu erzeugen (z. B. zeitliche Verfolgungsinformationen für Objekte wie Lage, Geometrie, Geschwindigkeit usw. von Objekten in der Umgebung).
  • Das Stellgliedsystem 90 beinhaltet eine oder mehrere Stellantriebs-Vorrichtungen 42a-42n, die ein oder mehrere Fahrzeugmerkmale, wie zum Beispiel das Antriebssystem 20, das Getriebesystem 22, ein Drosselsystem (nicht veranschaulicht), das Lenksystem 24 und das Bremssystem 26, steuern, jedoch nicht darauf beschränkt sind. Wie im Folgenden erläutert, werden Steuersignale von einem Fahrzeugsteuermodul verarbeitet, u Befehle zu erzeugen, die eine oder mehrere dieser Betätigungsvorrichtungen 42a-42n gemäß den Steuersignalen 172 steuern, um eine oder mehrere Steuerungsaktionen zu planen und auszuführen, die zum automatischen Steuern des autonomen Fahrzeugs und zur Automatisierung der im jeweiligen Fahrszenario auftretenden autonomen Fahraufgabe (z. B. zum Erreichen einer oder mehrerer bestimmter Fahrzeugtrajektorien und Geschwindigkeitsprofile) durchzuführen sind. Darüber hinaus können in einigen Ausführungsformen die Fahrzeugmerkmale ferner Innen- und/oder Außenfahrzeugmerkmale, wie beispielsweise Türen, einen Kofferraum und Innenraummerkmale, wie z. B. Luft, Musik, Beleuchtung usw. (nicht nummeriert).
  • Das Kommunikationssystem 36 ist dazu konfiguriert, Informationen drahtlos an und von anderen Einheiten 48, wie beispielsweise, jedoch nicht beschränkt auf andere Fahrzeuge („V2V“-Kommunikation,) Infrastruktur („V2I“-Kommunikation), entfernte Systeme und/oder persönliche Vorrichtungen (in Bezug auf 2 näher beschrieben), zu übermitteln. In einer exemplarischen Ausführungsform ist das Kommunikationssystem 36 ein drahtloses Kommunikationssystem, das dazu konfiguriert, über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung des IEEE 802.11-Standards oder mittels einer mobilen Datenkommunikation zu kommunizieren. Im Geltungsbereich der vorliegenden Offenbarung werden jedoch auch zusätzliche oder alternative Kommunikationsverfahren, wie beispielsweise ein dedizierter Nahbereichskommunikations-(DSRC)-Kanal, berücksichtigt. DSRC-Kanäle beziehen sich auf Einweg- oder Zweiwege-Kurzstrecken- bis Mittelklasse-Funkkommunikationskanäle, die speziell für den Automobilbau und einen entsprechenden Satz von Protokollen und Standards entwickelt wurden.
  • Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung beim automatischen Steuern des autonomen Fahrzeugs 10. In verschiedenen Ausführungsformen speichert das Datenspeichergerät 32 definierte Landkarten der navigierbaren Umgebung. In verschiedenen Ausführungsformen werden die definierten Landkarten vordefiniert und von einem entfernten System (in weiteren Einzelheiten in Bezug auf 2 beschrieben) erhalten. So können beispielsweise die definierten Karten durch das entfernte System zusammengesetzt und dem autonomen Fahrzeug 10 (drahtlos und/oder drahtgebunden) mitgeteilt und in der Datenspeichervorrichtung 32 gespeichert werden. Wie ersichtlich ist, kann die Datenspeichervorrichtung 32 ein Teil der Steuerung 34, von der Steuerung 34 getrennt, oder ein Teil der Steuerung 34 und Teil eines separaten Systems sein.
  • Die Steuerung 34 beinhaltet mindestens einen Prozessor 44 und eine computerlesbare Speichervorrichtung oder Medien 46. Der Prozessor 44 kann eine Spezialanfertigung oder ein handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), eine Grafikprozessoreinheit (GPU), ein Hilfsprozessor unter mehreren mit der Steuerung 34 assoziierten Prozessoren, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chip-Satzes), ein Makroprozessor, eine Kombination derselben oder allgemein jede beliebige Vorrichtung zur Ausführung von Anweisungen. Die computerlesbare Speichervorrichtung oder Medien 46 können beispielsweise flüchtige und nichtflüchtige Speicher in einem Nur-Lese-Speicher (ROM), einem Speicher mit direktem Zugriff (RAM) und einem Keep-Alive-Memory (KAM) beinhalten. KAM ist ein persistenter oder nichtflüchtiger Speicher, der verwendet werden kann, verschiedene Betriebsvariablen zu speichern, während der Prozessor 44 ausgeschaltet ist. Die computerlesbare Speichervorrichtung oder Medien 46 können unter Verwendung einer beliebigen einer Anzahl an bekannten Speichervorrichtungen, wie beispielsweise PROM (programmierbare Nur-Lese-Speicher), EPROMs (elektrische PROM), EEPROMs (elektrisch löschbare PROM), Flash-Speicher oder beliebigen anderen elektrischen, magnetischen, optischen oder kombinierten Speichervorrichtungen implementiert werden, die Daten speichern können, von denen einige ausführbare Anweisungen darstellen, die von der Steuerung 34 beim Steuern des autonomen Fahrzeugs 10 verwendet werden.
  • Die Anweisungen können ein oder mehrere separate Programme beinhalten, von denen jede eine geordnete Auflistung von ausführbaren Anweisungen zum Implementieren von logischen Funktionen umfasst. Die Anweisungen empfangen und verarbeiten, wenn diese durch den Prozessor 44 ausgeführt werden, Signale vom Sensorsystem 28, führen Logik, Berechnungen, Verfahren und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 10 durch und erzeugen Steuersignale an das Stellgliedsystem 90, um die Komponenten des autonomen Fahrzeugs 10 basierend auf der Logik, den Berechnungen, den Verfahren und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur eine Steuerung 34 dargestellt ist, können Ausführungsformen des autonomen Fahrzeugs 10 eine beliebige Anzahl von Steuerungen 34 beinhalten, die über ein geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und zusammenwirken, um die Sensorsignale zu verarbeiten, Logik, Berechnungen, Verfahren und/oder Algorithmen durchzuführen und Steuersignale zu erzeugen, um automatisch eine oder mehrere Stellgliedvorrichtungen 42a-42n zu steuern, die eine oder mehrere Fahrzeugmerkmale des autonomen Fahrzeugs 10 steuern.
  • In verschiedenen Ausführungsformen sind eine oder mehrere Anweisungen der Steuerung 34 in einer übergeordnete Steuerung eines autonomen Fahrsystems (ADS) enthalten und erzeugen, wenn Sie vom Prozessor 44 ausgeführt werden, ein Fahrzeugtrajektorie- und Geschwindigkeitsprofil, und mindestens eines der Fahrzeugtrajektorien- und Geschwindigkeitsprofil, das verarbeitet werden kann, um die Steuersignale zu erzeugen, die verarbeitet werden, um Befehle zum Steuern eines oder mehrerer Stellglieder des autonomen Fahrzeugs zu erzeugen, um eine oder mehrere Steuerungsaktionen zum automatischen Steuern des autonomen Fahrzeugs auszuführen (z. B. zur Automatisierung der in dem jeweiligen Fahrszenario auftretenden autonomen Fahraufgabe).
  • Mit weiterem Bezug auf 2 in verschiedenen Ausführungsformen kann das autonome Fahrzeug 10, das mit Bezug auf 1 beschrieben ist, für den Einsatz im Rahmen eines Taxi- oder Shuttle-Unternehmens in einem bestimmten geografischen Gebiet (z. B. einer Stadt, einer Schule oder einem Geschäftscampus, einem Einkaufszentrum, einem Vergnügungspark, einem Veranstaltungszentrum oder dergleichen) geeignet sein. So kann beispielsweise das autonome Fahrzeug 10 einem autonomen fahrzeugbasierten Transportsystem zugeordnet sein. 2 veranschaulicht eine exemplarische Ausführungsform einer Betriebsumgebung, die im Allgemeinen bei 50 dargestellt ist und ein autonomes fahrzeugbasiertes Transportsystem 52 beinhaltet, das, wie mit Bezug auf 1 beschrieben, einem oder mehreren autonomen Fahrzeugen 10a-10n zugeordnet ist. In verschiedenen Ausführungsformen beinhaltet die Betriebsumgebung 50 ferner eine oder mehrere Benutzervorrichtungen 54, die mit dem autonomen Fahrzeug 10 und/oder dem entfernten Transportsystem 52 über ein Kommunikationsnetzwerk 56 kommunizieren.
  • Das Kommunikationsnetzwerk 56 unterstützt die Kommunikation zwischen Geräten, Systemen und Komponenten, die von der Betriebsumgebung 50 unterstützt werden (z. B. über physische Kommunikationsverbindungen und/oder drahtlose Kommunikationsverbindungen). So kann beispielsweise das Kommunikationsnetzwerk 56 ein drahtloses Trägersystem 60 beinhalten, wie beispielsweise ein Mobiltelefonsystem, das eine Vielzahl von Mobilfunktürmen (nicht dargestellt), eine oder mehrere Mobilvermittlungsstellen (MSCs) (nicht dargestellt) sowie alle anderen Netzwerkkomponenten beinhalten, die zum Verbinden des drahtlosen Trägersystems 60 mit dem Festnetz erforderlich sind. Jeder Mobilfunkturm beinhaltet Sende- und Empfangsantennen und eine Basisstation, wobei die Basisstationen verschiedener Mobilfunktürme mit den MSC verbunden sind, entweder direkt oder über Zwischenvorrichtungen, wie beispielsweise eine Basisstationssteuerung. Das Drahtlosträgersystem 60 kann jede geeignete Kommunikationstechnologie implementieren, beispielsweise digitale Technologien, wie CDMA (z. B. CDMA2000), LTE (z. B. 4G LTE oder 5G LTE), GSM/GPRS oder andere aktuelle oder neu entstehende drahtlose Technologien. Andere Mobilfunkturm/Basisstation/MSC-Anordnungen sind möglich und könnten mit dem Drahtlosträgersystem 60 verwendet werden. So könnten sich beispielsweise die Basisstation und der Mobilfunkturm an derselben Stelle oder entfernt voneinander befinden, jede Basisstation könnte für einen einzelnen Mobilfunkturm zuständig sein oder eine einzelne Basisstation könnte verschiedene Mobilfunktürme bedienen, oder verschiedene Basisstationen könnten mit einer einzigen MSC gekoppelt werden, um nur einige der möglichen Anordnungen zu nennen.
  • Abgesehen vom Verwenden des Drahtlosträgersystems 60 kann ein zweites Drahtlosträgersystem in Form eines Satellitenkommunikationssystems 64 verwendet werden, um unidirektionale oder bidirektionale Kommunikation mit dem autonomen Fahrzeug 10a-10n bereitzustellen. Dies kann unter Verwendung von einem oder mehreren Kommunikationssatelliten (nicht dargestellt) und einer aufwärts gerichteten Sendestation (nicht dargestellt) erfolgen. Die unidirektionale Kommunikation kann beispielsweise Satellitenradiodienste beinhalten, worin programmierte Inhaltsdaten (Nachrichten, Musik usw.) von der Sendestation empfangen werden, für das Hochladen gepackt und anschließend zum Satelliten gesendet werden, der die Programmierung an die Teilnehmer ausstrahlt. Die bidirektionale Kommunikation kann beispielsweise Satellitentelefondienste beinhalten, die den Satelliten verwenden, um Telefonkommunikationen zwischen dem Fahrzeug 10 und der Station weiterzugeben. Die Satellitentelefonie kann entweder zusätzlich oder anstelle des Drahtlosträgersystems 60 verwendet werden.
  • Ein Festnetz-Kommunikationssystem 62 kann ein konventionelles Festnetz-Telekommunikationsnetzwerk beinhalten, das mit einem oder mehreren Festnetztelefonen verbunden ist und das drahtlose Trägersystem 60 mit dem entfernten Transportsystem 52 verbindet. So kann beispielsweise das Festnetz-Kommunikationssystem 62 ein Fernsprechnetz (PSTN) wie jenes sein, das verwendet wird, um festverdrahtetes Fernsprechen, paketvermittelte Datenkommunikationen und die Internetinfrastruktur bereitzustellen. Ein oder mehrere Segmente des Festnetz-Kommunikationssystems 62 könnten durch Verwenden eines normalen drahtgebundenen Netzwerks, eines Lichtleiter- oder eines anderen optischen Netzwerks, eines Kabelnetzes, von Stromleitungen, anderen drahtlosen Netzwerken, wie drahtlose lokale Netzwerke (WLANs) oder Netzwerke, die drahtlosen Breitbandzugang (BWA) bereitstellen oder jeder Kombination davon implementiert sein. Weiterhin muss das entfernte Transportsystem 52 nicht über das Festnetz-Kommunikationssystem 62 verbunden sein, sondern könnte Funktelefonausrüstung beinhalten, sodass sie direkt mit einem drahtlosen Netzwerk, wie z. B. dem drahtlosen Trägersystem 60, kommunizieren kann.
  • Obwohl in 2 nur eine Benutzervorrichtung 54 dargestellt ist, können Ausführungsformen der Betriebsumgebung 50 eine beliebige Anzahl an Benutzervorrichtungen 54, einschließlich mehrerer Benutzervorrichtungen 54 unterstützen, die das Eigentum einer Person sind, von dieser bedient oder anderweitig verwendet werden. Jede Benutzervorrichtung 54, die von der Betriebsumgebung 50 unterstützt wird, kann unter Verwendung einer geeigneten Hardwareplattform implementiert werden. In dieser Hinsicht kann das Benutzergerät 54 in einem gemeinsamen Formfaktor realisiert werden, darunter auch in: einen Desktop-Computer; einem mobilen Computer (z. B. einem Tablet-Computer, einem Laptop-Computer oder einem Netbook-Computer); einem Smartphone; einem Videospielgerät; einem digitalen Media-Player; einem Bestandteil eines Heimunterhaltungsgeräts; einer Digitalkamera oder Videokamera; einem tragbaren Computergerät (z. B. einer Smart-Uhr, Smart-Brille, Smart-Kleidung); oder dergleichen. Jede von der Betriebsumgebung 50 unterstützte Benutzervorrichtung 54 ist als computerimplementiertes oder computergestütztes Gerät mit der Hardware-, Software-, Firmware- und/oder Verarbeitungslogik realisiert, die für die Durchführung der hier beschriebenen verschiedenen Techniken und Verfahren erforderlich ist. So beinhaltet beispielsweise die Benutzervorrichtung 54 einen Mikroprozessor in Form einer programmierbaren Vorrichtung, die eine oder mehrere in einer internen Speicherstruktur gespeicherte Anweisungen beinhaltet und angewendet wird, um binäre Eingaben zu empfangen und binäre Ausgaben zu erzeugen. In einigen Ausführungsformen beinhaltet die Benutzervorrichtung 54 ein GPS-Modul, das GPS-Satellitensignale empfangen und GPS-Koordinaten basierend auf diesen Signalen erzeugen kann. In weiteren Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine Mobilfunk-Kommunikationsfunktionalität, sodass die Vorrichtung Sprach- und/oder Datenkommunikationen über das Kommunikationsnetzwerk 56 unter Verwendung eines oder mehrerer Mobilfunk-Kommunikationsprotokolle durchführt, wie hierin erläutert. In verschiedenen Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine visuelle Anzeige, wie zum Beispiel ein grafisches Touchscreen-Display oder eine andere Anzeige.
  • Das entfernte Transportsystem 52 beinhaltet ein oder mehrere Backend-Serversysteme, die an dem speziellen Campus oder dem geografischen Standort, der vom Transportsystem 52 bedient wird, Cloud-basiert, netzwerkbasiert oder resident sein können. Das entfernte Transportsystem 52 kann mit einem Live-Berater, einem automatisierten Berater oder einer Kombination aus beidem besetzt sein. Das entfernte Transportsystem 52 kann mit den Benutzervorrichtungen 54 und den autonomen Fahrzeugen 10a-10n kommunizieren, um Fahrten zu planen, autonome Fahrzeuge 10a-10n zu versetzen und dergleichen. In verschiedenen Ausführungsformen speichert das entfernte Transportsystem 52 Kontoinformationen, wie zum Beispiel Teilnehmerauthentifizierungsdaten, Fahrzeugkennzeichen, Profilaufzeichnungen, Verhaltensmuster und andere entsprechende Teilnehmerinformationen.
  • Gemäß einem typischen Anwendungsfall-Arbeitsablauf kann ein registrierter Benutzer des entfernten Transportsystems 52 über die Benutzervorrichtung 54 eine Fahrtanfrage erstellen. Die Fahrtanfrage gibt typischerweise den gewünschten Abholort des Fahrgastes (oder den aktuellen GPS-Standort), den gewünschten Zielort (der einen vordefinierten Fahrzeugstopp und/oder ein benutzerdefiniertes Passagierziel identifizieren kann) und eine Abholzeit an. Das entfernte Transportsystem 52 empfängt die Fahrtanforderung, verarbeitet die Anforderung und sendet ein ausgewähltes der autonomen Fahrzeuge 10a-10n (wenn und sofern verfügbar), um den Passagier an dem vorgesehenen Abholort und zu gegebener Zeit abzuholen. Das entfernte Transportsystem 52 kann zudem eine entsprechend konfigurierte Bestätigungsnachricht oder Benachrichtigung an die Benutzervorrichtung 54 erzeugen und senden, um den Passagier zu benachrichtigen, dass ein Fahrzeug unterwegs ist.
  • Wie ersichtlich, bietet der hierin offenbarte Gegenstand bestimmte verbesserte Eigenschaften und Funktionen für das, was als ein standardmäßiges oder Basislinien autonomes Fahrzeug 10 und/oder ein autonomes fahrzeugbasiertes Transportsystem 52 betrachtet werden kann. Zu diesem Zweck kann ein autonomes fahrzeugbasiertes Transportsystem modifiziert, erweitert oder anderweitig ergänzt werden, um die nachfolgend näher beschriebenen zusätzlichen Funktionen bereitzustellen.
  • Gemäß verschiedenen Ausführungsformen implementiert die Steuerung 34 eine High-Level-Steuerung eines autonomen Antriebssystems (ADS) 33, wie in 3 dargestellt. Das heißt, dass geeignete Soft- und/oder Hardwarekomponenten der Steuerung 34 (z. B. den Prozessor 44 und die computerlesbare Speichervorrichtung 46) verwendet werden, um eine High-Level-Steuerung eines autonomen Antriebssystems 33 bereitzustellen, das in Verbindung mit dem Fahrzeug 10 verwendet wird.
  • In verschiedenen Ausführungsformen können die Anweisungen für die High-Level-Steuerung des autonomen Antriebssystems 33 je nach Funktion, Modul oder System gegliedert sein. Die High-Level-Steuerung des autonomen Antriebssystems 33 kann beispielsweise, wie in 3 dargestellt, ein Computer-Sichtsystem 74, ein Positionierungssystem 76, ein Leitsystem 78 und ein Fahrzeugsteuersystem 80 beinhalten. Wie ersichtlich ist, können die Anweisungen in verschiedenen Ausführungsformen in beliebig viele Systeme (z. B. kombiniert, weiter unterteilt usw.) gegliedert werden, da die Offenbarung nicht auf die vorliegenden Beispiele beschränkt ist.
  • In verschiedenen Ausführungsformen synthetisiert und verarbeitet das Computer-Sichtsystem 74 Sensordaten und prognostiziert Anwesenheit, Standort, Klassifizierung und/oder Verlauf von Objekten und Merkmalen der Umgebung des Fahrzeugs 10. In verschiedenen Ausführungsformen kann das Computer-Sichtsystem 74 Informationen von mehreren Sensoren beinhalten, einschließlich, aber nicht beschränkt auf Kameras, Lidare, Radare und/oder eine beliebige Anzahl anderer Arten von Sensoren. Das Positioniersystem 76 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Position (z. B. eine lokale Position in Bezug auf eine Karte, eine exakte Position in Bezug auf die Fahrspur einer Straße, Fahrzeugrichtung, Geschwindigkeit usw.) des Fahrzeugs 10 in Bezug auf die Umgebung zu ermitteln. Das Leitsystem 78 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Strecke zu ermitteln, dem das Fahrzeug 10 folgen soll. Das Fahrzeugsteuerungssystem 80 erzeugt Steuersignale 72 zum Steuern des Fahrzeugs 10 entsprechend der ermittelten Strecke.
  • In verschiedenen Ausführungsformen implementiert die Steuerung 34 maschinelle Lerntechniken, um die Funktionalität der Steuerung 34 zu unterstützen, wie z. B. Merkmalerkennung/Klassifizierung, Hindernisminderung, Routenüberquerung, Kartierung, Sensorintegration, Boden-Wahrheitsbestimmung und dergleichen.
  • Wie oben kurz erwähnt, ist die übergeordnete Steuerung des ADS 33 in der Steuerung 34 von 1 enthalten und kann verwendet werden, um Teile eines Fahrzeugsteuersystems zu implementieren, das ein Sensorsystem beinhaltet, das in einigen Ausführungsformen dem Sensorsystem 28 von 3 entsprechen kann.
  • Wie nachfolgend unter Bezugnahme auf die 4 - 9 beschrieben wird, können die offenbarten Ausführungsformen ein End-to-End-Lernsystem und eine Methodik zum Erlernen von Fahrbefehlen und Richtlinien für selbstfahrende Fahrzeuge bereitstellen. Das End-to-End-Lernsystem verwendet eine neuronale Faltungsnetzwerkarchitektur, die eine Anzahl von Komponenten einschließt, die Hilfsaufgaben ausführen und zusätzliche Informationen (neben rohen Bildern) nutzen. Die vorgeschlagene End-to-End-Lernarchitektur beinhaltet beispielsweise Bildsegmentierung, optische Strömung, Fahrzeugkinematik und Wiederholung/LSTM, während auch Transferlernen in die End-to-End-Lernarchitektur integriert wird. Die offenbarten Ausführungsformen können alle diese zusätzlichen Aufgaben und Informationen in einem Lernsystem kombinieren, das Steuerbefehle und Fahrrichtlinien effizienter lernen kann. Ein Vorteil des Trainings mit zusätzlichen Aufgaben und Informationen ist eine schnellere Konvergenzzeit und höhere Genauigkeit in Bezug auf die Leistung, während es immer noch ermöglicht, dass das System von Ende zu Ende trainiert wird. Dadurch können das Lernen und die Fahrleistung verbessert werden, indem diese zusätzlichen Komponenten zusätzliche Aufgaben ausführen und durch das Einsetzen von Zusatzinformationen, Lernen und Fahrverhalten verbessert werden können, während der Vorteil von minimalen Trainingsdaten beibehalten wird, um Fahrzeugsteuerungsstrategien (z. B. Lernlenkwinkel) zu erlernen.
  • 4 ist ein Blockdiagramm, das ein End-to-End-Lernsystem 102 gemäß den offenbarten Ausführungsformen veranschaulicht. Das End-to-End-Lernsystem 102 lernt Steuerbefehle 180 zum Steuern eines autonomen Fahrzeugs, um eine bestimmte Szene in einem Bild zu wiederzugeben. Das End-zu-End-Lernsystem 102 kann einen Präprozessor 130, ein neuronales Segmentierungsnetzwerk 140, ein neuronales optisches Strömungsnetzwerk 141, eine erste Verkettungseinheit (C1), ein neuronales Faltungsnetzwerk (CNN) 144, eine zweite Verkettungseinheit (C2), ein Long-Short-Term Memory (LSTM)-Netzwerk 150 und eine vollständig verbundene Schicht 170 beinhalten. Wie nachfolgend erläutert werden wird, sind einige dieser neuronalen Netze (z. B. das neuronale Segmentierungsnetzwerk 140 und das neuronale Strömungsnetzwerk 141) optional und werden nicht in allen Implementierungen verwendet.
  • Der Präprozessor 130 verarbeitet die von den Sensoren aus der Umgebung erfassten Bilddaten 129 in einem aktuellen Zeitschritt (T), um vorverarbeitete Bilddaten 138 zu erzeugen. Es ist zu beachten, dass die Bilddaten 129 in 4 je nach Implementierung und Umgebung variieren können. Die Umgebung kann eine Simulationsumgebung oder eine reale tatsächliche Fahrumgebung sein, wenn die End-to-End-Netzwerkarchitektur 102 online innerhalb eines realen autonomen Fahrzeugs implementiert ist. Das heißt, in einer Simulationsumgebung werden die Bilddaten einer gerenderten Umgebungsszene als Bilddaten 129 verwendet, während in einer realen/tatsächlichen Fahrumgebung die Bilddaten durch die Sensoren (z. B. Sensoren 28 in 3) erfasst werden, die die Fahrumgebung (d. h. tatsächliche Beobachtungen von der Fahrumgebung) erfassen. In dieser Offenbarung werden die Begriffe „Bilddaten“ und „Zustand“ synonym verwendet. In einer Ausführungsform können die Eingabebilddaten 129 rohe, Drei-Kanal-RGB-Bilder 129 sein, die eine Vorderansicht des autonomen Fahrzeugs (d. h. in der Richtung, in die das Fahrzeug fährt) abbilden. Das Vorverarbeiten der rohen Bilddaten 129 kann dazu beitragen, Bilder zu kalibrieren und die Vielfalt der Daten zu erhöhen. Die Vorverarbeitung, die durchgeführt wird, kann je nach Implementierung variieren. Ein nicht einschränkendes Beispiel der Vorverarbeitung wird nachstehend unter Bezugnahme auf 5 beschrieben.
  • Die erste Verkettungseinheit (C1) verkettet die vorverarbeiteten Bilddaten 138 mit einer oder mehreren zusätzlichen Eingaben 141-A, 142, um eine dynamische Szenenausgabe 143 zu erzeugen, die eine Verkettung der vorverarbeiteten Bilddaten 138 und der einen oder mehreren zusätzlichen Eingaben 141-A, 142 ist. Die Datenerweiterung kann dazu beitragen, die Größe des Trainingssatzes und die Vielfalt der Trainingsstichproben zu erhöhen. In einer Ausführungsform verkettet die erste Verkettungseinheit (C1) die verarbeiteten Bilddaten 138 mit einer der zusätzlichen Eingaben 141-A, 142, um die dynamische Szenenausgabe 143 zu erzeugen, aber in anderen Ausführungsformen verkettet die erste Verkettungseinheit (C1) die vorverarbeiteten Bilddaten 138 mit zusätzlichen Eingaben 141-A, 142, um die dynamische Szenenausgabe 143 zu erzeugen.
  • Wenn beispielsweise das neuronale Segmentierungsnetzwerk 140 in einer Ausführungsform implementiert ist, segmentiert das neuronale Segmentierungsnetzwerk 140 die vorverarbeiteten Bilddaten 138, um eine Segmentierungskarte 142 zu erzeugen, in der jedes Pixel der vorverarbeiteten Bilddaten 138 einem Etikett zugewiesen wurde, und die erste Verkettungseinheit (C1) kann dann die vorverarbeiteten Bilddaten 138 mit der Segmentierungskarte 142 verketten, um die dynamische Szenenausgabe 143 zu erzeugen, die in diesem Fall eine „erweiterte“ Segmentierungskarte ist. Die Segmentierungskarte 142 kann einen oder mehrere Kanäle beinhalten, die ein semantisches Verständnis der Szene, die in dem vorverarbeiteten Bild 138 präsentiert wird, bereitstellen. So kann beispielsweise die Segmentierungskarte 142 als Skala, Vektor, Matrix usw. dargestellt werden.
  • Somit wird in dieser Ausführungsform eine semantische Bildsegmentierung (die normalerweise für Bilderkennungsaufgaben verwendet wird) als eine Hilfsaufgabe zu Navigationszwecken integriert, um Bilddaten auf Pixelebene zu kategorisieren/zu kennzeichnen. Mit anderen Worten, anstatt die Bildsegmentierung als separate Wahrnehmungsaufgabe zu behandeln, wird ein neuronales Segmentierungsnetzwerk 140 trainiert, um eine Bildsegmentierung als eine zusätzliche Aufgabe von Lernsteuerbefehlen durchzuführen. Die Bildsegmentierung kann helfen, eine bessere kognitive Wahrnehmung der Umgebung zu erhalten, und schließt eine Quelle von dynamischen oder zusätzlichen Informationen einz. Die Verwendung der Bildsegmentierung ermöglicht es dem Lernsystem, eine Segmentierungskarte zu erhalten und zu verarbeiten, anstatt direkt rohe Bilddaten zu verwenden. Ein Vorteil dieses Ansatzes ist, dass die Segmentierungskarte 142 viel reichhaltige Informationen zur Steuerung des Verhaltens des Fahrzeugs enthält. Die Segmentierungskarte 142 kann beispielsweise explizit identifizieren, wo die Straßenbegrenzung ist und wo die umgebenden Fahrzeuge auf der Straße sind. Dadurch kann das Fahrzeug sein Stopp-/Go-Verhalten oder das Wendeverhalten wesentlich einfacher lernen. Sie verringert die Schwierigkeit, alles implizit aus dem ursprünglichen vorverarbeiteten Bild zu lernen. Somit kann die Integration von Bildsegmentierung dem Lernsystem mehr Informationen bereitstellen und somit zu einer besseren Vorhersagegenauigkeit führen. Ein weiterer Vorteil der Verwendung der Bildsegmentierung als Hilfsaufgabe ist, dass diese Fähigkeit offline erhalten werden kann, ohne zusätzliche Daten zu trainieren. So können beispielsweise öffentliche Bildsegmentierungsmodelle angewendet werden, die auf einem viel größeren Datensatz trainiert wurden, und das Modell kann dann mit minimalen Daten abgeschlossen werden. In einer Implementierung können Segmentierungskategorien den Himmel, die Straße, die Spurmarkierungen, das Gebäude, die Ampeln, den Fußgänger, den Baum, den Bürgersteig, das Fahrzeug usw. beinhalten.
  • In einer anderen Ausführungsform, wenn das neuronale optische Strömungsnetzwerk 141 implementiert ist, verarbeitet das neuronale optische Strömungsnetzwerk 141 die vorverarbeiteten Bilddaten 138, um eine optische Strömungskarte 141-A zu erzeugen, die die optische Strömung schätzt, und die erste Verkettungseinheit (C1) kann dann die vorverarbeiteten Bilddaten 138 mit der optischen Strömungskarte 141-A verketten, um die dynamische Szenenausgabe 143 zu erzeugen. Die optische Strömung ist eine Darstellungsmethodik, die verwendet wird, um die relativen Bewegungen von Objekten bei Änderungen zu schätzen, und kann somit helfen, die Bewegung von Objekten zu erkennen. Wenn diese zwischen zwei aufeinanderfolgenden Bildern im Zeitverlauf angewendet wird, kann die optische Strömung verwendet werden, um die Änderung der Umgebung zu bewerten, um die Bewegung abzuleiten. Beim Lernen von Steuerbefehlen, wie beispielsweise Lenkwinkeln, kann die optische Strömung dazu beitragen, Verbindungen zu der sich ändernden Umgebung herzustellen. Da das Bild in einem bestimmten Rahmen nur statische Umgebungsinformationen enthält, kann die optische Strömungskarte 141-A als eine gute Ergänzung der dynamischen Umgebungsinformationen dienen. Jüngste Fortschritte haben die CNNs angewendet, um die optischen Strömung als überwachte Lernaufgabe zu schätzen, während die offenbarten Ausführungsformen die optische Strömung als Hilfsaufgabe kombinieren. Je nach Implementierung kann die optische Strömungskarte eine dreidimensionale Matrix, ein vierdimensionaler Tensor mit zwei Kanälen in der dritten Dimension oder ein n-dimensionaler Tensor mit mehr als zwei Kanälen in der dritten Dimension sein.
  • In noch einer weiteren Ausführungsform kann, wenn sowohl das neuronale Segmentierungsnetzwerk 140 als auch das neuronale Strömungsnetzwerk 141 implementiert sind, die Verarbeitung am optischen neuronalen Strömungsnetzwerk 141 parallel erfolgen, während das neuronale Segmentierungsnetzwerk 140 die vorverarbeiteten Bilddaten 138 segmentiert. In dieser Ausführungsform verkettet die erste Verkettungseinheit (C1) die verarbeiteten Bilddaten 138 sowohl mit der Segmentierungskarte 142 als auch mit der optischen Strömungskarte 141-A, um die dynamische Szenenausgabe 143 zu erzeugen, die eine andere Art von erweiterter Segmentierungskarte ist.
  • Unabhängig von der Ausführungsform, nachdem die erste Verkettungseinheit (C1) die dynamische Szenenausgabe 143 erzeugt, verarbeitet das neuronale Faltungsnetzwerk (CNN) 144 die dynamische Szenenausgabe 143, um Merkmale zu extrahieren und eine Merkmalskarte 145 der extrahierten räumlichen Merkmale zu erzeugen. Die Merkmalskarte beinhaltet einen Satz von Bereichsvektoren, die gemeinsam die Merkmalskarte 145 bilden. Jeder Bereichsvektor entspricht einem anderen Bereich oder einer „Merkmalsebene oder - spalte“ der dynamischen Szenenausgabe 143. Eine Implementierung des CNN 144 wird nachfolgend unter Bezugnahme auf 6 beschrieben.
  • In einer Ausführungsform kann das Transferlernen angewendet werden, um vortrainierte Netzwerke (z. B. aus der Objektklassifizierungsdomäne) zu verwenden, um die Lernsteuerbefehle und/oder -richtlinien anzutreiben. Auf diese Weise verwendet das Lernsystem das Transferlernen (z. B. das Übertragen von Wissen aus bestehenden Bilderkennungsmodellen), um den Prozess des Trainings des CNN 144 zu beschleunigen. So kann beispielsweise das CNN 144 unter Verwendung eines Bilddatensatzes aus einer Bilddatenbank, wie beispielsweise ImaGenet, vortrainiert werden. Dieses Vortraining ermöglicht es, dass die Anfangsgewichte des CNN 144 vor der Verarbeitung der dynamischen Szenenausgabe 143 (oder der erweiterten Segmentierungskarte) eingestellt oder „vorgetrainiert“ werden, um die Merkmalskarte 145 zu erzeugen. Die anfänglichen Gewichte können dann während des Trainings durch das CNN 144 weiter fein abgestimmt werden. Diese Vortrainingstechnik wird normalerweise nicht verwendet, um ein CNN zu trainieren, das verwendet wird, um Steuerbefehle zu erlernen. Das CNN kann einen generischen Satz von Merkmalen lernen und eine große Vielfalt von Objekten mit hoher Genauigkeit erkennen. Die erlernten Zwischenfunktionen haben eine universelle Expressivität über mehrere Domänen.
  • Die zweite Verkettungseinheit (C2) verkettet die Fahrzeugkinematik 146 mit den extrahierten räumlichen Merkmalen aus der Merkmalskarte 145, um einen räumlichen Kontextmerkmalsvektor 148 zu erzeugen. Die Fahrzeugkinematik 146 kann beispielsweise einen oder mehrere Werte wie Fahrzeugbeschleunigungsrate, Fahrzeuggeschwindigkeit, Fahrzeugrichtung, Seitenabstand des Fahrzeugs zur Straßenbegrenzung, vorheriger Lenkwinkel des Fahrzeugs und Fahrzeuglenkmoment beinhalten. Der räumliche Kontextmerkmalsvektor 148 beinhaltet Kontextmerkmale, die einen aktuellen Kontext im aktuellen Zeitschritt (T) beschreiben. Wie hierin verwendet, kann sich der Begriff „Kontext“ auf einen Zustand der aktuellen Umgebung und einen aktuellen Zustand des Fahrzeugs beziehen. Somit kombiniert das Lernsystem in diesem Schritt fahrzeugkinematische Informationen mit Bildeingabe an einem Sensor-Fusionsschritt, um eine andere Quelle von dynamischen oder Hilfsinformationen einzubeziehen, die Zustandsdarstellung konkreter darstellen und die Leistungsfähigkeit verbessern können. Die kinematischen Informationen ermöglichen es, das Fahrzeugverhalten besser abzuschätzen, und tragen dazu bei, sicherzustellen, dass das Fahrzeug kein Fahrverhalten ausführt, das gegen einige physische Regeln verstößt.
  • Die Entscheidung für ein autonomes Fahrzeug ist bei jedem Zeitschritt keine unabhängige Wahl. Analog gesagt würde ein Mensch vergangene Umgebungsinformationen und vorherige Handlungen berücksichtigen und dann eine konsistente Entscheidung des Fahrverhaltens treffen. Daher wäre es wünschenswert, dass das Lernsystem das gleiche tut und sich nicht nur auf den aktuellen Zustand verlässt, sondern auch über vergangene Zustände verfügt. Um mit zeitlichen Abhängigkeiten umzugehen, wird ein wiederkehrendes Modul (z. B. das LSTM-Netzwerk 150) eingeführt (zusammen mit dem und dem neuronalen optischen Strömungsnetzwerk 141), um die zeitlichen Informationen zu extrahieren und einzubeziehen, um die aktuellen Aktionsmöglichkeiten zu verbessern.
  • Fahren ist ein teilbeobachtbares Markov-Entscheidungsverfahren (POMDP). Um mit der teilweisen Beobachtbarkeit umzugehen, wird ein erneutes Wiederholen eingeführt, um den zugrundeliegenden tatsächlichen Umgebungszustand besser abzuschätzen. Genauer gesagt, wird über das LSTM-Netzwerk 152 ein erneutes Wiederholen hinzugefügt, um zeitliche Abhängigkeiten einzuschließen. Das LSTM-Netzwerk 152 ist ein rekurrentes neuronales Netzwerk (RNN)-Modul von LSTM-Zellen und kann hierin auch als rekurrentes neuronales Netzwerk (RNN) bezeichnet werden. Jede LSTM-Zelle kann Daten sequentiell verarbeiten und ihren verborgenen Zustand im Laufe der Zeit beibehalten. Zur Bezugnahme wird ein Beispiel einer LSTM-Zelle nachfolgend unter Bezugnahme auf 7 beschrieben.
  • Das LSTM-Netzwerk 150 verarbeitet den räumlichen Kontextmerkmalsvektor 148 im aktuellen Zeitschritt (T) und den vorherigen Informationen über die Umgebung. Genauer gesagt verarbeitet das LSTM-Netzwerk 150 während des aktuellen Zeitschrittes (T) den räumlichen Kontextmerkmalsvektor 148 und einen oder mehrere vorherige LSTM-Ausgaben 151 (bei einem oder mehreren entsprechenden vorherigen Zeitschritten) (ht-1 = ot-1* tanh(Ct-1)), um einen kodierten zeitlichen Kontextvektor 160 im aktuellen Zeitschritt (T) (ot = σ(W0 [h(t - 1), xt] + b0) und einen weiteren LSTM-Ausgang 153 zu erzeugen. Jeder der einen oder mehreren vorherigen LSTM-Ausgänge 151 ist ein Kontextmerkmalsvektor, der aus einem bestimmten vorherigen Zeitschritt des endgültigen verborgenen Zustands ist. Die LSTM-Ausgabe 153 wird vom LSTM-Netzwerk 150 im nächsten Zeitschritt (T+1) zusammen mit einem nächsten räumlichen Kontextmerkmalsvektor (nicht in 4 dargestellt) verwendet, der im nächsten Zeitschritt (T+1) erzeugt wird, um einen anderen kodierten zeitlichen Kontextvektor (nicht in 4 dargestellt) im nächsten Zeitschritt (T+1) zu erzeugen. Bei jedem nachfolgenden Zeitschritt wiederholt sich diese Verarbeitung am LSTM-Netzwerk 150.
  • In einer Ausführungsform wird die Anzahl der vorherigen LSTM-Ausgaben 151 durch eine Fenstergröße bestimmt (w), die die Anzahl der vorherigen LSTM-Ausgaben 151, die vom LSTM-Netzwerk 150 (mit dem räumlichen Kontextmerkmalsvektor 148) verarbeitet werden müssen, um den verschlüsselten zeitlichen Kontextmerkmalsvektor 160 im aktuellen Zeitschritt (T) zu erzeugen. So verarbeitet beispielsweise in einer Ausführungsform das LSTM-Netzwerk 150 den räumlichen Kontextmerkmalsvektor (v) 148 in einem Schiebefenster ()w). Dies impliziert, dass das Vorhersageergebnis des Steuerbefehls 180 von w vergangenen Eingabebeobachtungen (Xt-w+1-Xt) abhängt. Durch Ändern des Parameters w, kann die Dauer, die System benötigt, um die Entscheidung zu treffen, verändert werden. Zum Beispiel führen kleinere Werte von w zu einem kürzeren Speicher, sodass er schneller Reaktionszeit aufweist, jedoch anfällig für einen plötzlichen Sensorausfall ist. Andererseits führen größere Werte von w zu einem viel ruhigerem und stabilem Verhalten. Der Nachtel der größeren Werte von w, dass die für die Auswahl von Aktionen benötigte Trainingszeit und Testzeit viel länger sind. Das LSTM-Netzwerk 150 führt die w vorherigen Kontextmerkmalsvektoren 151 (vergangene verborgene Zustände) und den aktuellen räumlichen Kontextmerkmalsvektor 148 (T-w, T-(w-1),....T-1, T) zusammen und lernt dann ein zeitliches Modell. Diese Darstellung kann das Problem verringern, das durch die teilweise beobachtbare Markov-Entscheidungsverfahren (POMDP)-Umgebung verursacht wird.
  • Die vollständig verbundene Schicht 170 verarbeitet den kodierten zeitlichen Kontextvektor 160, um einen oder mehrere Steuerbefehle 180 zu lernen/zu berechnen. Der hierin verwendete Begriff „vollständig verbundene Schicht“ bezieht sich auf eine Schicht, in der jedes Neuron Eingaben von jedem Element der vorherigen Schicht empfängt. Mit anderen Worten verbindet eine vollständig verbundene Schicht jedes Neuron in einer Schicht mit jedem Neuron in einer anderen Schicht, sodass Neuronen in der vollständig verbundenen Schicht Verbindungen zu allen Aktivierungen in der vorhergehenden Schicht aufweisen. Jeder Steuerbefehl 180 umfasst mindestens einen der folgenden Befehle: einen Lenkwinkelsteuerbefehl, einen Beschleunigungsraten-Steuerbefehl oder einen Bremsraten-Steuerbefehl. Mit anderen Worten, abhängig von der Implementierung, kann der von der vollständig verbundenen Schicht erzeugte Ausgang 180 ein Skalar sein, der einen einzigen Steuerbefehl (z. B. einen Lenkwinkelsteuerbefehl oder einen Beschleunigungsraten-Steuerbefehl oder einen Bremsraten-Steuerbefehl) oder einen zweidimensionalen Vektor angibt, der einen Lenkwinkelsteuerbefehl und entweder einen Beschleunigungsraten-Steuerbefehl (positiver Wert) oder einen Bremsraten-Steuerbefehl (negativer Wert) angibt.
  • Sobald die Steuerbefehle 180 gelernt/erzeugt wurden, können sie auf KI-Fahreragenten-Systemen eingesetzt werden, die in Fahrzeugen verwendet werden, um den Betrieb der Fahrzeuge zu steuern, wie nachfolgend beschrieben und in 8 dargestellt wird. Vor der Beschreibung von 8 werden einige mögliche nicht einschränkende Implementierungen des Präprozessors 130, des Merkmalsextraktions-CNN 144 und einer LSTM-Zelle des LSTM-Netzwerks 152 mit Bezug auf die 5 - 8 beschrieben.
  • 5 ist ein Blockdiagramm, das eine exemplarische Implementierung eines in 4 dargestellten Präprozessors 130 gemäß den offenbarten Ausführungsformen veranschaulicht. In dieser Ausführungsform kann der Präprozessor 130 ein oder mehrere Ausschneidemodule 131, ein Hochabtastmodul 132, ein Helligkeitsänderungsmodul 134 und ein Drehmodul 136 beinhalten. Diese Implementierung ist nicht einschränkend und es sollte beachtet werden, dass je nach Implementierung einige oder alle der dargestellten Schritte ausgeführt werden können. Darüber hinaus ist zu beachten, dass abhängig von der Implementierung andere Arten von Vorverarbeitungstechniken in den Präprozessor 130 integriert werden könnten.
  • Das Ausschneidemodul 131 schneidet die Bilddaten 129 ab, um externe Elemente zu entfernen und zugeschnittene Bilddaten zu erzeugen. So kann beispielsweise in einem Bild, das einen großen Bereich des Himmels oder eines Berggipfel beinhaltet, die Oberseite des Bildes aus den Bilddaten entfernt werden. Als ein weiteres Beispiel kann in einem Bild, das eine Autohaube beinhaltet, der Boden des Bildes aus den Bilddaten entfernt werden.
  • Das Upsampling-Modul 132 tastet die zugeschnittenen Bilddaten ab, um abgetastete Bilddaten zu erzeugen, die zugeschnitten wurden. Um ein Beispiel für das Trainieren eines Lenkwinkelbefehls zu veranschaulichen, fahren die meisten Szenarien in einem ursprünglichen Trainingssatz entlang der Straße geradeaus. Als solches sind Bilder mit einem Lenkwinkel größer als 15 Grad im Vergleich zu der wesentlich größeren Anzahl von Trainingsabtastungen mit einem Lenkwinkel von weniger als 5 Grad selten, was bedeutet, dass die Lenkwinkelverteilung stark gegen null verzerrt wird. Um das Problem von unausgeglichenen Daten zu überwinden, können Bilder mit einem Lenkwinkel größer als 10 Grad manuell um zehn Mal hochgezählt werden, während Bilder mit einem Lenkwinkel größer als 5 Grad manuell um fünf Mal abgetastet werden können. Die abgetasteten Bilddaten können dann zufällig nach dem Trainieren gemischt werden.
  • Das Helligkeitsänderungsmodul 134 kann eine Helligkeitsänderung auf die abgetasteten Bilddaten anwenden, um sie heller zu machen und hellere Bilddaten zu erzeugen. Jeder Bildrahmen wird zunächst in den HSV-Raum umgewandelt und ein Wertkanal wird dann mit einem Zufallswert von 0 bis 10 multipliziert. Dies ändert die Beleuchtungssituation und passt das Modell an alle Arten von Wetter an.
  • Das Drehmodul 136 kann alle Bilddaten umdrehen, um ein Spiegelbild in horizontaler Richtung zu erhalten. Dies hilft beispielsweise sicherzustellen, dass die Menge der Abbiegevorgänge nach links und rechts genau dieselben sind, sodass das Lernen nicht unter einer Verzerrung nach links oder rechts leidet. Wenn alle Vorverarbeitungsschritte abgeschlossen sind, kann der Präprozessor 130 die vorverarbeiteten Bilddaten 138 an das CNN 144, das optische neuronale Strömungsnetzwerk 141 und/oder das neuronale Segmentierungsnetzwerk 140 ausgeben.
  • 6 ist ein Blockdiagramm, das eine exemplarische Implementierung des in 4 dargestellten Merkmals-Extraktions-CNN 144 gemäß den offenbarten Ausführungsformen veranschaulicht.
  • Ein CNN ist eine Klasse von tiefen, künstlichen neuronalen Netzwerken. Sie werden auch als verschiebungsinvariante oder rauminvariante künstliche neuronale Netzwerke (SIANN) bezeichnet, basierend auf ihrer Architektur mit gemeinsamen Gewichten und den Merkmalen der Translationsinvarianz. Eine CNN-Architektur wird durch einen Stapel verschiedener Schichten gebildet, die das Eingangsvolumen durch eine differenzierbare Funktion in ein Ausgangsvolumen umwandeln. Einige wenige verschiedene Arten von Schichten werden häufig als Faltungsschichten und Max-Pooling-Schichten bezeichnet. Die Parameter einer Faltungsschicht bestehen aus einem Satz von lernbaren Filtern (oder Kerneln), die ein kleines Empfangsfeld aufweisen, sich aber über die gesamte Tiefe des Eingangsvolumens erstrecken. Während des Vorlaufs wird jeder Filter über die Breite und Höhe des Eingangsvolumens gefaltet, wobei das Punktprodukt zwischen den Eingängen des Filters und der Eingabe berechnet und eine zweidimensionale Aktivierungskarte dieses Filters erzeugt wird. Dadurch erlernt das Netzwerk Filter, die aktiviert werden, wenn eine bestimmte Art von Merkmal an einer bestimmten räumlichen Position in der Eingabe erkannt wird. Das Stapeln der Aktivierungskarten für alle Filter entlang der Tiefenabmessung bildet das volle Ausgangsvolumen der Faltungsschicht. Jeder Eintrag in das Ausgangsvolumen kann somit auch als Ausgang eines Neurons interpretiert werden, das einen kleinen Bereich in der Eingabe betrachtet und Parameter mit Neuronen in der gleichen Aktivierungskarte teilt.
  • Bei hochdimensionalen Eingaben wie Bildern ist es unpraktisch, Neuronen mit allen Neuronen des vorherigen Volumens zu verbinden, da eine derartige Netzwerkarchitektur die räumliche Struktur der Daten nicht berücksichtigt. Faltungsnetzwerke nutzen die räumlich lokale Korrelation, indem sie ein lokales Verbindungsmuster zwischen Neuronen benachbarter Schichten erzwingen: jedes Neuron ist nur mit einem kleinen Bereich des Eingangsvolumens verbunden. Das Ausmaß dieser Konnektivität ist ein Hyperparameter, der als Empfangsfeld des Neurons bezeichnet wird. Die Verbindungen sind räumlich lokal (entlang Breite und Höhe), erstrecken sich aber immer über die gesamte Tiefe des Eingangsvolumens. Eine derartige Architektur gewährleistet, dass die erlernten Filter die stärkste Reaktion auf ein räumlich lokales Eingabemuster erzeugen.
  • Drei Hyperparameter steuern die Größe des Ausgangsvolumens der Faltungsschicht: Tiefe, Schritt und Anhängen von Nullen. Die Tiefe des Ausgangsvolumens steuert die Anzahl der Neuronen in einer Schicht, die mit dem gleichen Bereich des Eingangsvolumens verbunden sind. Diese Neuronen lernen, sich für verschiedene Funktionen in der Eingabe zu aktivieren. Wenn beispielsweise die erste Faltungsschicht das Rohbild als Eingabe übernimmt, können verschiedene Neuronen entlang der Tiefenabmessung in Gegenwart verschiedener ausgerichteter Kanten oder Farbflecken aktiviert werden. Der Schritt steuert, wie tief Spalten um die räumlichen Dimensionen (Breite und Höhe) zugeordnet werden. Wenn der Schritt 1 ist, dann werden die Filter um ein Pixel nach dem anderen verschoben. Dies führt zu stark überlappenden Empfangsfeldern zwischen den Spalten und zu großen Ausgabevolumina. Wenn der Schritt 2 (oder selten 3 oder mehr) ist, dann springen die Filter 2 Pixel auf einmal, während sie herumgleiten. Die Empfangsfelder überschneiden sich weniger und das resultierende Ausgangsvolumen weist kleinere räumliche Dimensionen auf. Manchmal ist es sinnvoll, die Eingabe mit Nullen am Rand des Eingangsvolumens aufzufüllen. Die Größe dieses Paddings ist ein dritter Hyperparameter. Das Padding ermöglicht die Steuerung der räumlichen Größe des Ausgangsvolumens. In Einzelfällen ist es insbesondere wünschenswert, die räumliche Größe des Eingangsvolumens exakt zu erhalten.
  • Die räumliche Größe des Ausgangsvolumens kann als Funktion der Größe des Eingangsvolumens W, der Kernel-Feldgröße der Faltungsschicht-Neuronen K, des Schrittes, mit dem sie auf S angewendet werden, und der Menge der angehängten Nullen P an der Grenze berechnet werden. Die Formel zum Berechnen, wie viele Neuronen in ein bestimmtes Volumen „passen“, ist durch (W-K+2P)/S+1 gegeben. Wenn diese Zahl keine Ganzzahl ist, dann werden die Schritte falsch eingestellt und die Neuronen können nicht so gekachelt werden, dass sie symmetrisch über das Eingangsvolumen passen. Im Allgemeinen stellt die Einstellung von angehängten Nullen auf P=(K-1)/2 ein, wenn der Schritt S=1 ist, sicher, dass das Eingangsvolumen und das Ausgangsvolumen räumlich gleich groß sind. Obwohl es im Allgemeinen nicht zwingend erforderlich ist, alle Neuronen der vorherigen Schicht zu verbrauchen, kann nur ein Teil des Auffüllens verwendet werden. Ein Parameter-Sharing-Schema wird in Faltungsebenen verwendet, um die Anzahl der freien Parameter zu steuern. Dies beruht auf einer vernünftigen Annahme: Wenn ein Patch-Feature nützlich ist, um an einer räumlichen Position zu berechnen, dann sollte es auch nützlich sein, an anderen Positionen zu berechnen. Mit anderen Worten werden die Neuronen, die eine einzige zweidimensionale Schicht der Tiefe als Tiefenschicht bezeichnen, in jeder Tiefenschicht eingeschränkt, um die gleichen Gewichtungen und Vorspannungen zu verwenden. Da alle Neuronen in einer einzigen Tiefenschicht die gleichen Parameter teilen, kann der Vorwärtspass in jeder Tiefenschicht der CONV-Schicht als Faltung der Neuronengewichtungen mit dem Eingangsvolumen berechnet werden (daher der Name: Faltungsschicht). Daher ist es üblich, die Gewichtungssätze als Filter (oder Kernel) zu bezeichnen, der mit der Eingabe gefaltet ist. Das Ergebnis dieser Faltung ist eine Aktivierungskarte, und der Satz von Aktivierungskarten für jeden einzelnen Filter wird entlang der Tiefenabmessung gestapelt, um das Ausgangsvolumen zu erzeugen. Die Parameterteilung trägt zur Translationsinvarianz der CNN-Architektur bei. Manchmal ist die Annahme der Parameterteilung möglicherweise nicht sinnvoll. Dies ist insbesondere dann der Fall, wenn die Eingangsbilder zu einem CNN eine bestimmte zentrierte Struktur aufweisen, in der völlig unterschiedliche Merkmale an verschiedenen räumlichen Standorten zu erlernen sind.
  • Ein weiteres wichtiges Konzept von CNNs ist das Pooling, eine Form des nichtlinearen Abwärtsabtastens. Es gibt mehrere nicht-lineare Funktionen zum Implementieren von Pooling, einschließlich Max-Pooling. Max-Pooling-Schichten können zwischen aufeinanderfolgenden Faltungsschichten der CNN-Architektur eingefügt werden. Beim Max-Pooling wird das Eingabebild in eine Reihe von nicht überlappenden Rechtecken aufgeteilt und für jede dieser Teilbereiche das Maximum ausgegeben. Die Pooling-Schicht dient dazu, die räumliche Größe der Darstellung schrittweise zu reduzieren, die Anzahl der Parameter und den Rechenaufwand im Netzwerk zu reduzieren und damit auch die Überpassung zu kontrollieren. Der Bündelungsvorgang stellt eine weitere Form der Translationsinvarianz dar. Jede maximale Pooling-Schicht arbeitet unabhängig von jeder Tiefenschicht der Eingabe und passt ihre Größe räumlich an. Die gebräuchlichste Form ist eine Pooling-Schicht mit Filtern der Größe 2x2, die mit einem Schritt von 2 Abwärtsabtastungen bei jeder Tiefenscheibe im Eingang um 2 entlang der Breite und Höhe angewendet werden und 75 % der Aktivierungen verwerfen. In diesem Fall ist jeder maximale Vorgang über 4 Zahlen. Die Tiefendimension bleibt unverändert.
  • Diese Architektur ermöglicht es CNNs, die Vorteile der 2D-Struktur der Eingabedaten zu nutzen. Damit eignen sich CNNs für die Verarbeitung von visuellen und anderen zweidimensionalen Daten. Sie können mit Standard-Backpropagation trainiert werden. CNNs sind einfacher zu trainieren als andere normale, tiefe, weiterführende neuronale Netzwerke und weisen viel weniger Parameter auf.
  • Unter erneuter Bezugnahme auf 6 beinhaltet die in 6 dargestellte Implementierung eine Reihe von Stufen oder Schichten, darunter eine erste Faltungsschicht 224, eine erste Max-Pooling-Schicht 226, eine zweite Faltungsschicht 228 und eine zweite Max-Pooling-Schicht 229. Es ist jedoch je nach Implementierung zu beachten, dass das Merkmalsextraktions-CNN 144 eine beliebige Anzahl von Schichten beinhalten kann, die erforderlich sind, um eine Merkmalsschicht 232 basierend auf der Ausgabe der dynamischen Szene 143, die als Eingabe dient, zu erzeugen.
  • Das Merkmalsextraktions-CNN 144 empfängt die Ausgabe der dynamischen Szene 143 als Eingangsschicht 222. Die dynamische Szenenausgabe 143 kann die vorverarbeiteten Bilddaten 138 beinhalten, die vorverarbeitete Pixelinformationen oder Daten (z. B. Pixel) und die anderen Informationsquellen 141-A, 142, die vorstehend mit Bezug auf 4 erwähnt wurden, beinhalten. Die verschiedenen Schichten 224, 226, 228, 229 des Merkmalsextraktions-CNN 144 können die dynamische Szenenausgabe 143 verarbeiten, um verschiedene Merkmale zu extrahieren, um eine Merkmalsschicht 232 zu erzeugen. Zur weiteren Erläuterung ist jede Schicht 224, 226, 228, 229 das Merkmalsextraktions-CNN 144 konfiguriert, um nacheinander Pixel der Bilddaten der dynamischen Szenenausgabe 143 zu verarbeiten, um Merkmale aus der dynamischen Szenenausgabe 143 und den Ausgabefunktionsschichten 232, 236 weiter zu extrahieren.
  • In einer Ausführungsform kann die Eingabeschicht 222 eine Verkettung der Eingangsbilder des rot-blau-grünen Kanals sein, die durch die optische Strömungskarte 141-A und/oder die Segmentierungskarte 142 erweitert werden, um eine Gesamteingabe zum neuronalen Netzwerk zu erzeugen. Eine erste Faltungsschicht 224 ist konfiguriert, um eine erste Bank von Faltungskernels auf eine Eingabeschicht 222 anzuwenden. So kann beispielsweise die Eingabe in die erste Faltungsschicht 224 mit einer Bank von Faltungskerneln gefaltet werden, um neuronale Ausgangsaktivierungen durch eine nicht-lineare Aktivierungsfunktion, wie beispielsweise eine gleichgerichtete Lineareinheits-(ReLU)-Funktion, zu erzeugen. Jedes Faltungskernel erzeugt einen Ausgabekanal der ersten Schicht, der ein Bild mit einer ersten Auflösung umfasst. Eine erste Max-Pooling-Schicht 226 ist konfiguriert, um jeden ersten Ausgangskanal zu verarbeiten, indem ein Maximalwertvorgang auf diesen ersten Ausgangskanal angewendet wird, um das entsprechende Bild herunterzustufen und eine herunterskalierte Karte mit der ersten Auflösung zu erzeugen. Die erste Max-Pooling-Schicht 226 gibt eine Vielzahl von zweiten Ausgabekanälen aus, die jeweils ein Bild mit einer zweiten Auflösung umfassen, die kleiner als die erste Auflösung ist. Eine zweite Faltungsschicht 228 ist konfiguriert, um eine zweite Bank von Faltungskerneln auf jeden der Vielzahl von zweiten Ausgangskanälen anzuwenden. Jedes Faltungskernel der zweiten Bank erzeugt einen dritten Ausgabekanal, der ein Bild mit einer dritten Auflösung umfasst, die kleiner als die zweite Auflösung ist. So kann beispielsweise die Eingabe in die zweite Faltungsschicht 228 mit einer weiteren Bank von Faltungskerneln gefaltet werden, um neuronale Ausgangsaktivierungen durch eine nicht-lineare Aktivierungsfunktion, wie beispielsweise eine (ReLU)-Funktion, zu erzeugen. Eine zweite Max-Pooling-Schicht 229 ist konfiguriert, um jeden dritten Ausgangskanal zu verarbeiten, indem ein weiterer Maximalwertvorgang auf diesen dritten Ausgangskanal angewendet wird, um das entsprechende Bild herunterzustufen und eine herunterskalierte Karte mit der dritten Auflösung zu erzeugen. Die zweite Max-Pooling-Schicht 229 gibt eine Vielzahl von vierten Ausgabekanälen aus, die jeweils ein Bild mit einer vierten Auflösung umfassen, die kleiner als die dritte Auflösung ist. Die Merkmalsschicht umfasst einen dreidimensionalen Tensor, der die Vielzahl von vierten Ausgabekanälen umfasst.
  • Die Merkmalsextraktion CNN 144 verknüpft jede Merkmalsschicht 232 mit einer vorherigen Merkmalsschicht 236 und einer Bereichspräsenzkarte 238, um die Ausgabe der Merkmalskarte 132 zu erzeugen und auszugeben. Die Merkmalskarte 132 sind die verketteten Schichten aus der Merkmalsschicht 232, der vorherigen Merkmalsschicht 236 und der Bereichspräsenzkarte 238. Mit anderen Worten bildet die Verkettung der Bereichspräsenzkarte 238, der aktuellen visionsbasierten Merkmalskarte 232 und einer vorherigen visionsbasierten Merkmalskarte 236 aus einem früheren Zeitabschnitt die gesamte Merkmalskarte 132.
  • 7 ist ein Blockdiagramm eines nicht einschränkenden Beispiels einer LSTM-Zelle 200, die als Teil eines LSTM-Netzwerks 152 von LSTM-Zellen implementiert werden kann. Die LSTM-Zelle beinhaltet 200 Eingabe (i), Ausgabe (o) und Entwurfs-Gates (j) 206, 208, 216. Jeder dieser Gates 206, 208, 216 kann als „Standard“-Neuron in einem Feed-Forward (oder Mehrschichtigen) neuronalen Netzwerk betrachtet werden: Das heißt, sie berechnen eine Aktivierung (unter Verwendung einer Aktivierungsfunktion) einer gewichteten Summe. it , ot undfi stellen die Aktivierungen jeweils der Eingangs-, Ausgangs- und Entwurfs-Gates 206, 208, 216 im Zeitschritt t dar. Die drei Pfeile aus der Speicherzelle c 212 zu den drei Gates i, o und f 206, 208, 216 stellen die Peephole-Verbindungen dar. Diese Peephole-Verbindungen bezeichnen die Beiträge der Aktivierung der Speicherzelle c 212 zum Zeitpunkt t-1, d. h. der Beitrag ct-1 (und nicht ct wie das Bild vorschlagen könnte). Mit anderen Worten: Die Gates i, o und f 206, 208, 216 berechnen ihre Aktivierungen im Zeitschritt t (d. h., it, ot und ft) auch unter Berücksichtigung der Aktivierung der Speicherzelle c 212 im Zeitschritt t-1, d. h. ct-1. Der einzelne Links-nach-Rechts-Pfeil, der aus der Speicherzelle austritt, ist keine Peephole-Verbindung und bezeichnet ct. Die kleinen Kreise 210, 214, 202, die ein x Symbol enthalten, stellen eine elementweise Multiplikation zwischen den Eingaben dar. Die großen Kreise 204, 218, die eine S-ähnliche Kurve enthalten, stellen die Anwendung einer differenzierbaren Funktion (wie der Sigmoidfunktion) zu einer gewichteten Summe dar. Es sollte beachtet werden, dass die LTSM-Zelle 200 aus 7C nicht einschränkend ist, dass auch andere Arten von LSTM-Zellen innerhalb des LSTM-Netzwerks 152 implementiert werden können.
  • 8 ist ein Blockdiagramm, das ein KI-Fahreragenten-System 310 veranschaulicht, das einen Fahrumgebungsprozessor 314 und ein autonomes fahrerbasiertes autonomes Fahreragenten-Modul 316 gemäß den offenbarten Ausführungsformen beinhaltet. 8 veranschaulicht Interaktionen zwischen dem Fahrumgebungsprozessor 314 und seinem entsprechenden KI-basierten autonomen Fahreragenten-Modul 316 basierend auf den vom Fahrumgebungsprozessor 314 beobachteten Fahrumgebungen. Der Fahreragent 316 folgt einer Richtlinie 172 zum Erzeugen einer Aktion (A) 318, die dann interpretiert wird, um Befehle 180 zum Fahren des Fahrzeugs in einer bestimmten Fahrumgebung zu erzeugen wie vom Fahrbetriebsprozessor 314 beobachtet. Jede Richtlinie 172 kann den Zustand (S) der Fahrumgebung (wie vom Fahrumgebungsprozessor 314 beobachtet) und Aktionen (A) 318, die verwendet werden, um ein bestimmtes AV zu steuern, das in diesem Zustand (S) der Fahrumgebung betrieben wird, verarbeiten. Die Variationen in der Fahrumgebung können beispielsweise unterschiedliche Start-/Zielpositionen, unterschiedliche Verkehrskonfigurationen, unterschiedliche Straßenkonfigurationen, unterschiedliche Beleuchtungs-/Wetterverhältnisse usw. beinhalten.
  • H In einer Ausführungsform können die vom Fahrer 316 erzeugte Aktionen (A) 318, die Steuerbefehle 180(4), die gesendet werden, um eine oder mehrere der Aktuatorvorrichtungen des Stellgliedsystems 90 zu steuern, zum Planen und Ausführen einer oder mehrerer Steuermaßnahmen verwendet werden, die ausgeführt werden sollen, um das autonome Fahrzeug automatisch zu steuern und die autonome Fahraufgabe zu automatisieren, die in einem bestimmten Fahrszenario angetroffen wird (z. B. um ein oder mehrere bestimmte Trajektorie- und Geschwindigkeitsprofile des Fahrzeugs zu erreichen). In einer Ausführungsform kann ein Befehlsinterpreter oder -Validierer (nicht in den 8 und 9 dargestellt) die Aktionen vor dem Senden an das Stellgliedsystem 90 verarbeiten, um sicherzustellen, dass die Befehle innerhalb akzeptabler Grenzen liegen. Für weitere Erläuterungen mit Bezug auf 3 und 3 sind die Aktionen von 8 äquivalent zu den Steuersignalen 72 von 3. Wie vorstehend mit Bezug auf 3 beschrieben, beinhaltet das Stellgliedsystem 90 in einer Ausführungsform eine Vielzahl von Stellgliedern des Fahrzeugs (z. B. ein Lenkdrehmoment oder eine Winkelsteuerung, die durch Lenkwinkelsteuerbefehle gesteuert wird, ein Bremssystem, das durch Bremssteuerbefehle gesteuert wird, ein Drosselklappensystem, das durch Beschleunigungssteuerbefehle gesteuert wird, usw.). Die Aktionen (oder Steuersignale 72 von 3) werden verwendet, um Signale zu erzeugen, die Stellglieder (Aktuatorvorrichtungen 42a-42n von 3) gemäß der Aktion (oder Steuersignale 72 von 3) steuern, um eine oder mehrere Steuermaßnahmen zu planen und auszuführen, die zur Automatisierung von Fahraufgaben auszuführen sind. Die eine oder die mehreren Steuerungsaktionen steuern automatisch das autonome Fahrzeug, um eine in einem bestimmten Fahrszenario auftretende autonome Fahraufgabe zu automatisieren (und z. B. eine bestimmte ausgewählte der Fahrzeugtrajektorie und ein Geschwindigkeitsprofil zu erreichen).
  • Alternativ kann in einigen Implementierungen das End-to-End-Lernsystem 102 aus 4 online innerhalb eines realen autonomen Fahrzeugs implementiert werden, um tatsächliche Bilddaten durch die Sensoren (z. B. Sensoren 38 in 3) zu erfassen, die Fahrumgebung (d. h. tatsächliche Beobachtungen von der Fahrumgebung) weiter zu erfassen und das System in einer realen oder tatsächlichen Fahrumgebung weiter zu trainieren, wie nachfolgend unter Bezugnahme auf 9 näher beschrieben wird. 9 ist ein Blockdiagramm, das ein Online-Lernsystem veranschaulicht, das einen Fahrumgebungsprozessor 314 und ein autonomes Intelligenzmodul basierend auf künstliche Intelligenz (KI) beinhaltet, das die End-to-End-Netzwerkarchitektur 102 gemäß den offenbarten Ausführungsformen implementiert. In dieser Ausführungsform verwendet das Fahrzeug, in dem das Online-Lernsystem eingesetzt wird, die End-to-End-Netzwerkarchitektur 102, um Lernsteuerbefehle (z. B. Lenkwinkelsteuerbefehle, Beschleunigungsraten-Steuerbefehle und/oder Bremsratensteuerbefehle) zu lernen und zu aktualisieren, die ein autonomes Fahrzeug in Echtzeit steuern, während gleichzeitig die verschiedenen anderen Funktionen des Fahreragenten 316 unter Bezugnahme auf 8 ausgeführt werden.
  • Während mindestens eine exemplarische Ausführungsform in der vorstehenden ausführlichen Beschreibung dargestellt wurde, versteht es sich, dass es eine große Anzahl an Varianten gibt. Es versteht sich weiterhin, dass die exemplarische Ausführungsform oder die exemplarischen Ausführungsformen lediglich Beispiele sind und den Umfang, die Anwendbarkeit oder die Konfiguration dieser Offenbarung in keiner Weise einschränken sollen. Die vorstehende ausführliche Beschreibung stellt Fachleuten auf dem Gebiet vielmehr einen zweckmäßigen Plan zur Implementierung der exemplarischen Ausführungsform bzw. der exemplarischen Ausführungsformen zur Verfügung. Es versteht sich, dass verschiedene Veränderungen an der Funktion und der Anordnung von Elementen vorgenommen werden können, ohne vom Umfang der Offenbarung, wie er in den beigefügten Ansprüchen und deren rechtlichen Entsprechungen aufgeführt ist, abzuweichen.

Claims (10)

  1. Verfahren zum End-to-End-Lernen von Befehlen zur Steuerung eines autonomen Fahrzeugs, wobei das Verfahren Folgendes umfasst: Vorverarbeitung von Bilddaten, die von Sensoren aus einer Umgebung in einem aktuellen Zeitschritt (T) erfasst wurden, um vorverarbeitete Bilddaten zu erzeugen; das Verketten der vorverarbeiteten Bilddaten mit mindestens einer zusätzlichen Eingabe zum Erzeugen einer dynamischen Szenenausgabe, die eine Verkettung der vorverarbeiteten Bilddaten und der mindestens einen zusätzlichen Eingabe ist; Verarbeiten der dynamischen Szenenausgabe an einem neuronalen Faltungsnetzwerk (CNN), um eine Merkmalskarte zu erzeugen, die extrahierte räumliche Merkmale umfasst; das Verketten der Fahrzeugkinematik mit den extrahierten räumlichen Merkmalen aus der Merkmalskarte, um einen räumlichen Kontextmerkmalsvektor mit Kontextmerkmalen zu erzeugen, die einen aktuellen Kontext im aktuellen Zeitschritt (T) beschreiben; Verarbeiten, bei einem Long-Short-Term-Memory (LSTM)-Netzwerk, das ein Netzwerk von LSTM-Zellen während des aktuellen Zeitschrittes (T), einen räumlichen Kontextmerkmalsvektor im aktuellen Zeitschritt (T) und ein oder mehrere vorherige LSTM-Ausgaben in einem oder mehreren entsprechenden vorherigen Zeitschritten zum Erzeugen eines kodierten zeitlichen Kontextvektors im aktuellen Zeitschritt (T) umfasst; und das Verarbeiten des codierten zeitlichen Kontextvektors an einer vollständig verbundenen Schicht, um einen oder mehrere Steuerbefehle zu lernen, worin jeder Steuerbefehl mindestens einen von folgenden Befehlen umfasst: einen Lenkwinkelsteuerbefehl, einen Beschleunigungsratensteuerbefehl oder einen Bremsratensteuerbefehl.
  2. Verfahren nach Anspruch 1, ferner umfassend: Segmentieren der vorverarbeiteten Bilddaten in einem neuronalen Segmentierungsnetzwerk, um eine Segmentierungskarte zu erzeugen, in der jedes Pixel der vorverarbeiteten Bilddaten einem Etikett zugeordnet wurde; und worin das Verketten der vorverarbeiteten Bilddaten mit der mindestens einen zusätzlichen Eingabe zum Erzeugen der dynamischen Szenenausgabe Folgendes umfasst: das Verketten der vorverarbeiteten Bilddaten mit der Segmentierungskarte, um die dynamische Szenenausgabe zu erzeugen, worin die dynamische Szenenausgabe eine erweiterte Segmentierungskarte umfasst.
  3. Verfahren nach Anspruch 1, ferner umfassend: Verarbeiten der vorverarbeiteten Bilddaten an einem neuronalen optischen Strömungsnetzwerk, um eine optische Strömungskarte zu erzeugen, die die optische Strömung schätzt; und worin das Verketten der vorverarbeiteten Bilddaten mit der mindestens einen zusätzlichen Eingabe zum Erzeugen der dynamischen Szenenausgabe Folgendes umfasst: das Verketten der vorverarbeiteten Bilddaten mit der optischen Strömungskarte, um die dynamische Szenenausgabe zu erzeugen.
  4. Verfahren nach Anspruch 1, ferner umfassend: Segmentieren der vorverarbeiteten Bilddaten in einem neuronalen Segmentierungsnetzwerk, um eine Segmentierungskarte zu erzeugen, in der jedes Pixel der vorverarbeiteten Bilddaten einem Etikett zugeordnet wurde; und Verarbeiten der vorverarbeiteten Bilddaten an einem neuronalen optischen Strömungsnetzwerk, um eine optische Strömungskarte zu erzeugen, die optische Strömung schätzt, worin die Verarbeitung der vorverarbeiteten Bilddaten im neuronalen optischen Strömungsnetzwerk parallel zur Segmentierung der vorverarbeiteten Bilddaten im neuronalen Segmentierungsnetzwerk erfolgt; und worin das Verketten der vorverarbeiteten Bilddaten mit der mindestens einen zusätzlichen Eingabe zum Erzeugen der dynamischen Szenenausgabe Folgendes umfasst: das Verketten der vorverarbeiteten Bilddaten mit der Segmentierungskarte und der optischen Strömungskarte zum Erzeugen der dynamischen Szenenausgabe, worin die dynamische Szenenausgabe eine erweiterte Segmentierungskarte umfasst.
  5. Verfahren nach Anspruch 1, worin jeder der einen oder mehreren vorherigen LSTM-Ausgaben ein Kontextmerkmalsvektor von einem bestimmten vorherigen Zeitschritt ist.
  6. Verfahren nach Anspruch 5, worin eine Anzahl von einer oder mehreren vorherigen LSTM-Ausgaben durch eine Fenstergröße (w) spezifiziert ist, die Anzahl der einen oder mehreren vorherigen LSTM-Ausgaben definiert, die vom LSTM-Netzwerk zusammen mit dem räumlichen Kontextmerkmalsvektor verarbeitet werden sollen, um den kodierten zeitlichen Kontextvektor im aktuellen Zeitschritt (T) zu erzeugen.
  7. Verfahren nach Anspruch 1, worin das CNN Folgendes umfasst: ein vorgetrainiertes CNN, das unter Verwendung eines Bilddatensatzes aus einer Bilddatenbank vortrainiert wurde, worin Anfangsgewichte des vorgetrainierten CNN vor dem Verarbeitungsschritt der erweiterten Segmentierungskarte eingestellt werden, um die Merkmalskarte zu erzeugen und dann während des Trainings fein abgestimmt zu werden.
  8. Verfahren nach Anspruch 1, worin die Fahrzeugkinematik eine oder mehrere der folgenden Werte umfasst: Fahrzeugbeschleunigungsrate, Fahrzeuggeschwindigkeit, Fahrzeugrichtung, Seitenabstand des Fahrzeugs zur Straßenbegrenzung, vorheriger Lenkwinkel des Fahrzeugs und Fahrzeuglenkmoment.
  9. Durchgängiges Lernsystem zum Erlernen von Steuerbefehlen zum Steuern eines autonomen Fahrzeugs, das End-to-End-Lernsystem umfassend: einen Präprozessor, der konfiguriert ist, um Bilddaten, die von Sensoren aus einer Umgebung in einem aktuellen Zeitschritt (T) erfasst werden, vorzuverarbeiten, um vorverarbeitete Bilddaten zu erzeugen; eine erste Verkettungseinheit, die konfiguriert ist, um die vorverarbeiteten Bilddaten mit mindestens einer zusätzlichen Eingabe zu verketten, um eine dynamische Szenenausgabe zu erzeugen, die eine Verkettung der vorverarbeiteten Bilddaten und der mindestens einen zusätzlichen Eingabe ist; ein neuronales Faltungsnetzwerk (CNN), das konfiguriert ist, um die dynamische Szenenausgabe zu verarbeiten, um eine Merkmalskarte zu erzeugen, die extrahierte räumliche Merkmale umfasst; eine zweite Verkettungseinheit, die konfiguriert ist, um die Fahrzeugkinematik mit den extrahierten räumlichen Merkmalen aus der Merkmalskarte zu verketten, um einen räumlichen Kontextmerkmalsvektor mit Kontextmerkmalen zu erzeugen, die einen aktuellen Kontext im aktuellen Zeitschritt (T) beschreiben; ein Long-Short-Term-Memory (LSTM)-Netzwerk, das ein Netzwerk von LSTM-Zellen umfasst, wobei das LSTM-Netzwerk dazu konfiguriert ist, während des aktuellen Zeitschrittes (T) den räumlichen Kontextmerkmalsvektor im aktuellen Zeitschritt (T) und einen oder mehrere vorherige LSTM-Ausgaben bei einem oder mehreren entsprechenden vorherigen Zeitschritten zu verarbeiten, um einen kodierten zeitlichen Kontextvektor im aktuellen Zeitschritt (T) zu erzeugen; und eine vollständig verbundene Schicht, die konfiguriert ist, um den codierten zeitlichen Kontextvektor zu verarbeiten, um einen oder mehrere Steuerbefehle zu erlernen, worin jeder Steuerbefehl mindestens einen der folgenden Befehle umfasst: einen Lenkwinkelsteuerbefehl, einen Beschleunigungsratensteuerbefehl oder einen Bremsratensteuerbefehl.
  10. Ende-zu-End-Lernsystem nach Anspruch 9, ferner umfassend: ein neuronales Segmentierungsnetzwerk, das konfiguriert ist, um die vorverarbeiteten Bilddaten zu segmentieren, um eine Segmentierungskarte zu erzeugen, in der jedes Pixel der vorverarbeiteten Bilddaten einem Etikett zugeordnet wurde; und ein neuronales optisches Strömungsnetzwerk, das dazu konfiguriert ist, die vorverarbeiteten Bilddaten zu verarbeiten, um eine optische Strömungskarte zu erzeugen, die optische Strömung schätzt, wobei die Verarbeitung im neuronalen optischen Strömungsnetzwerk parallel zur Segmentierung der vorverarbeiteten Bilddaten im neuronalen Segmentierungsnetzwerk erfolgt; und worin die erste Verkettungseinheit dazu konfiguriert ist, die vorverarbeiteten Bilddaten mit der Segmentierungskarte und der optischen Strömungskarte zu verketten, um die dynamische Szenenausgabe zu erzeugen, worin die dynamische Szenenausgabe eine erweiterte Segmentierungskarte umfasst.
DE102019115809.5A 2018-11-05 2019-06-11 Verfahren und system zum durchgehenden lernen von steuerbefehlen für autonome fahrzeuge Pending DE102019115809A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/180,849 2018-11-05
US16/180,849 US11016495B2 (en) 2018-11-05 2018-11-05 Method and system for end-to-end learning of control commands for autonomous vehicle

Publications (1)

Publication Number Publication Date
DE102019115809A1 true DE102019115809A1 (de) 2020-05-07

Family

ID=70459786

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019115809.5A Pending DE102019115809A1 (de) 2018-11-05 2019-06-11 Verfahren und system zum durchgehenden lernen von steuerbefehlen für autonome fahrzeuge

Country Status (3)

Country Link
US (1) US11016495B2 (de)
CN (1) CN111204346B (de)
DE (1) DE102019115809A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022201407B3 (de) 2022-02-11 2023-08-10 Zf Friedrichshafen Ag Verfahren zum Steuern eines Verhaltens eines Fahrzeugs

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10520940B2 (en) * 2017-08-14 2019-12-31 GM Global Technology Operations LLC Autonomous operation using deep spatio-temporal learning
KR102458664B1 (ko) * 2018-03-08 2022-10-25 삼성전자주식회사 차량의 주행을 보조하는 전자 장치 및 방법
US11783707B2 (en) 2018-10-09 2023-10-10 Ford Global Technologies, Llc Vehicle path planning
CN109376696B (zh) * 2018-11-28 2020-10-23 北京达佳互联信息技术有限公司 视频动作分类的方法、装置、计算机设备和存储介质
US11131992B2 (en) * 2018-11-30 2021-09-28 Denso International America, Inc. Multi-level collaborative control system with dual neural network planning for autonomous vehicle control in a noisy environment
US11287523B2 (en) * 2018-12-03 2022-03-29 CMMB Vision USA Inc. Method and apparatus for enhanced camera and radar sensor fusion
EP3966742A1 (de) * 2019-05-06 2022-03-16 Zenuity AB Automatisierte kartenherstellung und positionierung
US11460851B2 (en) 2019-05-24 2022-10-04 Ford Global Technologies, Llc Eccentricity image fusion
US11521494B2 (en) 2019-06-11 2022-12-06 Ford Global Technologies, Llc Vehicle eccentricity mapping
US11662741B2 (en) * 2019-06-28 2023-05-30 Ford Global Technologies, Llc Vehicle visual odometry
US11610125B2 (en) * 2019-07-03 2023-03-21 Honda Motor Co., Ltd. Sensor fusion
US11580365B2 (en) 2019-07-03 2023-02-14 Honda Motor Co., Ltd. Sensor fusion
JP7162142B2 (ja) * 2019-08-02 2022-10-27 日立Astemo株式会社 エイミング装置、運転制御システム、及びセンサデータの補正量の計算方法
US11663814B2 (en) * 2019-08-23 2023-05-30 Arm Limited Skip predictor for pre-trained recurrent neural networks
US11900244B1 (en) * 2019-09-30 2024-02-13 Amazon Technologies, Inc. Attention-based deep reinforcement learning for autonomous agents
US11205099B2 (en) * 2019-10-01 2021-12-21 Google Llc Training neural networks using data augmentation policies
US11203348B2 (en) * 2019-10-28 2021-12-21 Denso International America, Inc. System and method for predicting and interpreting driving behavior
US11334797B2 (en) 2019-10-28 2022-05-17 Denso International America, Inc. System and method for predicting and interpreting driving behavior
CN111397609A (zh) * 2020-05-13 2020-07-10 广东星舆科技有限公司 路径规划方法、移动式机器及计算机可读介质
WO2021226921A1 (en) * 2020-05-14 2021-11-18 Harman International Industries, Incorporated Method and system of data processing for autonomous driving
CN111631907B (zh) * 2020-05-31 2022-06-03 天津大学 基于脑机交互混合智能的脑卒中患者手部康复系统
CN111513991B (zh) * 2020-05-31 2022-06-03 天津大学 基于人工智能技术的主动式手部全指康复设备
US11481884B2 (en) * 2020-06-04 2022-10-25 Nuro, Inc. Image quality enhancement for autonomous vehicle remote operations
CN111666875A (zh) * 2020-06-05 2020-09-15 浙江工业大学 一种基于机器视觉的制造业工人疲劳状态检测方法
CN111752273A (zh) * 2020-06-15 2020-10-09 华侨大学 一种电动履带式挖掘机无人驾驶行走系统及方法
CN111832225B (zh) * 2020-07-07 2023-01-31 重庆邮电大学 一种构建汽车行驶工况的方法
CA3126236A1 (en) * 2020-07-29 2022-01-29 Uatc, Llc Systems and methods for sensor data packet processing and spatial memoryupdating for robotic platforms
JP2022044383A (ja) 2020-09-07 2022-03-17 本田技研工業株式会社 モデルパラメータ学習方法及び移動態様パラメータ決定方法
CN114240761B (zh) * 2020-09-09 2023-09-22 成都鼎桥通信技术有限公司 图像去雨模型训练方法、图像去雨方法及设备
CN112269314A (zh) * 2020-09-30 2021-01-26 南京航空航天大学 一种基于lstm神经网络的汽车底盘解耦控制方法
US20220097690A1 (en) * 2020-09-30 2022-03-31 Toyota Motor Engineering & Manufacturing North America, Inc. Optical sense-compute solution for real-time navigation involving multiple vehicles
CN112389436B (zh) * 2020-11-25 2022-11-15 中汽院智能网联科技有限公司 基于改进lstm神经网络的安全性自动驾驶换道轨迹规划方法
CN112613363B (zh) * 2020-12-11 2024-04-05 浙江大华技术股份有限公司 一种车辆图像划分的方法、装置及存储介质
CN112766388A (zh) * 2021-01-25 2021-05-07 深圳中兴网信科技有限公司 模型获取方法、电子设备和可读存储介质
KR102331807B1 (ko) * 2021-04-16 2021-12-02 국방과학연구소 차량의 주행을 위한 전자 장치 및 그의 동작 방법
CN113257008B (zh) * 2021-05-12 2022-06-21 兰州交通大学 基于深度学习的行人流量动态控制系统及方法
DE102021113052A1 (de) * 2021-05-20 2022-11-24 Valeo Schalter Und Sensoren Gmbh Übertragen von semantischen Informationen auf Punktwolken
US11823066B2 (en) * 2021-05-28 2023-11-21 Bank Of America Corporation Enterprise market volatility predictions through synthetic DNA and mutant nucleotides
US11706546B2 (en) * 2021-06-01 2023-07-18 Sony Semiconductor Solutions Corporation Image sensor with integrated single object class detection deep neural network (DNN)
US20230084623A1 (en) * 2021-09-10 2023-03-16 Argo AI, LLC Attentional sampling for long range detection in autonomous vehicles
CN113978259B (zh) * 2021-11-19 2022-10-18 张展浩 一种基于驾驶场景及驾驶习惯的电动汽车制动控制方法
KR102678174B1 (ko) * 2021-12-23 2024-06-24 광운대학교 산학협력단 컨볼루션 장단기 메모리를 이용한 사용자 행동 인식 및 분류 방법, 이를 수행하는 장치 및 컴퓨터 프로그램
CN114454951B (zh) * 2021-12-30 2022-12-06 南京航空航天大学 一种双电机线控转向系统及其卷积神经网络容错控制方法
WO2023229591A1 (en) * 2022-05-25 2023-11-30 Innopeak Technology, Inc. Real scene super-resolution with raw images for mobile devices
CN116403174A (zh) * 2022-12-12 2023-07-07 深圳市大数据研究院 一种端到端自动驾驶方法、系统、仿真系统及存储介质
CN116443031B (zh) * 2023-03-24 2023-10-20 凯晟动力技术(嘉兴)有限公司 车身电子稳定性控制系统的轮速处理系统及其方法
CN116130721B (zh) * 2023-04-11 2023-06-16 杭州鄂达精密机电科技有限公司 氢燃料电池的状态诊断系统及方法
CN117372472A (zh) * 2023-09-05 2024-01-09 苏州智华汽车电子有限公司 目标全景图像的生成方法、装置、计算机系统及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105160310A (zh) * 2015-08-25 2015-12-16 西安电子科技大学 基于3d卷积神经网络的人体行为识别方法
CN106780543B (zh) * 2017-01-13 2019-06-28 深圳市唯特视科技有限公司 一种基于卷积神经网络的双框架估计深度和运动方法
US11798297B2 (en) * 2017-03-21 2023-10-24 Toyota Motor Europe Nv/Sa Control device, system and method for determining the perceptual load of a visual and dynamic driving scene
CN108052512B (zh) * 2017-11-03 2021-05-11 同济大学 一种基于深度注意力机制的图像描述生成方法
CN107944375A (zh) * 2017-11-20 2018-04-20 北京奇虎科技有限公司 基于场景分割的自动驾驶处理方法及装置、计算设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022201407B3 (de) 2022-02-11 2023-08-10 Zf Friedrichshafen Ag Verfahren zum Steuern eines Verhaltens eines Fahrzeugs

Also Published As

Publication number Publication date
CN111204346B (zh) 2023-04-28
CN111204346A (zh) 2020-05-29
US20200142421A1 (en) 2020-05-07
US11016495B2 (en) 2021-05-25

Similar Documents

Publication Publication Date Title
DE102019115809A1 (de) Verfahren und system zum durchgehenden lernen von steuerbefehlen für autonome fahrzeuge
DE102019115707A1 (de) Räumliches und zeitliches aufmerksamkeitsbasiertes tiefenverstärkungslernen von hierarchischen fahrspurwechselstrategien zum steuern eines autonomen fahrzeugs
DE102019111414A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019112038A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019111402A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102018121595B4 (de) Unbeaufsichtigtes anlernen von agenten für autonome fahranwendungen
DE102019113856A1 (de) Systeme, verfahren und steuerungen für ein autonomes fahrzeug, die autonome fahreragenten und fahrrichtlinienlernende implementieren, um richtlinien basierend auf kollektiven fahrerfahrungen der autonomen fahreragenten zu erstellen und zu verbessern
DE102018129295A1 (de) Systeme und Verfahren zum Abbilden von Fahrbahnstörobjekten in autonomen Fahrzeugen
DE102019113880A1 (de) Systeme, verfahren und steuerungen die autonome fahreragenten und einen richtlinienserver zum erfüllen von richtlinien für autonome fahreragenten implementieren, zum steuern eines autonomen fahrzeugs
DE102018109366B4 (de) Verfahren zur lichtsignalanlagenerfassung
DE102018129066B4 (de) Systeme und verfahren für ungeschütztes linksabbiegen in situationen mit hohem verkehrsaufkommen in autonomen fahrzeugen
DE102018121597A1 (de) Boden-referenzbestimmung für den betrieb von autonomen fahrzeugen
DE102018121124A1 (de) Verfahren und Systeme zum Erzeugen von Echtzeit-Karteninformationen
DE102019100569A1 (de) Systeme und verfahren zum mindern von ungeschützten manövern in autonomen fahrzeugen
DE102019104482A1 (de) Massen-abtastende punktwolkenkarte
DE102019110184A1 (de) Systeme und verfahren zum autonomen fahren unter verwendung eines auf neuronalen netzwerken basierten fahrerlernens auf tokenizierten sensoreingaben
DE102020113779A1 (de) Umgebungs-kamerasystem mit nahtlosem zusammenfügen für die auswahl beliebiger blickwinkel
DE102018112115A1 (de) Verfahren und Systeme zum Ermitteln der Geschwindigkeit von sich bewegenden Objekten
DE102018117777A1 (de) Tief integrierte Fusionsarchitektur für automatisierte Fahrsysteme
DE102018107754A1 (de) Objektverfolgung
DE102018129074A1 (de) Systeme und verfahren zum umfahren von hindernissen in autonomen fahrzeugen
DE102018113007A1 (de) Trajektorienplaner zum autonomen fahren mittels bézier-kurven
DE102018132515A1 (de) Erkennen von Merkmalen aus multimodalen Bildern
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE102019113389B4 (de) System und verfahren für ein vorhersage-entitätenverhalten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LK GLOBAL PATENTANWAELTE PARTGMBB, DE