DE102018100469A1 - Generierten von simulierten sensordaten zum trainieren und überprüfen von erkennungsmodellen - Google Patents

Generierten von simulierten sensordaten zum trainieren und überprüfen von erkennungsmodellen Download PDF

Info

Publication number
DE102018100469A1
DE102018100469A1 DE102018100469.9A DE102018100469A DE102018100469A1 DE 102018100469 A1 DE102018100469 A1 DE 102018100469A1 DE 102018100469 A DE102018100469 A DE 102018100469A DE 102018100469 A1 DE102018100469 A1 DE 102018100469A1
Authority
DE
Germany
Prior art keywords
model
sensor
sensor outputs
sensors
obstacles
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
DE102018100469.9A
Other languages
English (en)
Inventor
Ashley Elizabeth Micks
Sneha Kadetotad
Jinesh J. Jain
Dongran Liu
Marcos Paul Gerardo Castro
Vidya Nariyambut murali
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies 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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102018100469A1 publication Critical patent/DE102018100469A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/48Analogue computers for specific processes, systems or devices, e.g. simulators
    • G06G7/70Analogue computers for specific processes, systems or devices, e.g. simulators for vehicles, e.g. to determine permissible loading of ships, centre of gravity, necessary fuel
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/06Simulation on general purpose computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Remote Sensing (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mechanical Engineering (AREA)
  • Fuzzy Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Transportation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Traffic Control Systems (AREA)

Abstract

Es wird ein Szenario definiert, das Modelle von Fahrzeugen und eine typische Fahrumgebung beinhaltet. Ein Modell eines Prüffahrzeugs wird zum Szenario hinzugefügt und Sensorstellen werden auf dem Prüffahrzeug definiert. Die Wahrnehmung des Szenarios durch Sensoren an den Sensorstellen wird simuliert, um simulierte Sensorausgaben zu erhalten. Die simulierten Sensorausgaben werden annotiert, um die Stelle von Hindernissen im Szenario anzugeben. Die annotierten Sensorausgaben können dann verwendet werden, um ein statistisches Modell zu überprüfen oder ein maschinelles Lernmodell zu trainieren. Die simulierten Sensorausgaben können mit ausreichender Genauigkeit modelliert werden, um Sensorrauschen zu beinhalten, oder können künstlich hinzugefügtes Rauschen beinhalten, um realistische Bedingungen zu simulieren.

Description

  • STAND DER TECHNIK
  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft das Durchführen von Hindernisvermeidung bei autonomen Fahrzeugen.
  • ALLGEMEINER STAND DER TECHNIK
  • Die meisten aktiven und passiven Sicherheitsmerkmale, die heutzutage in Fahrzeugen verfügbar sind, erkennen Hindernisse mithilfe von Sensoren, wie etwa Ultraschallsensoren, Kameras, LIDAR, RADAR usw. Die Fahrzeugsteuerung muss Objekte in dynamischen Umgebungen genau einstufen und nachverfolgen. Viele solcher Merkmale, wie Notbremsassistent, haben das Ziel, Frontalzusammenstöße mit festen Objekten, z. B. Pfosten, Fußgängern, anderen Fahrzeugen, was möglicherweise zu Verletzungen oder Sachbeschädigungen führen kann, zu verhindern.
  • Hinsichtlich Sensordaten, die im Allgemeinen laut, spärlich und ungenau sein können, gibt es mehrere Einschränkungen. Zusätzlich dazu neigen Dateninkonsistenzen, wie etwa Geistobjekte, dazu, in verschiedenen Szenarien zu erscheinen. Diese Datenmängel können ein unnötiges Eingreifen durch aktive Sicherheitsmerkmale und Störungen durch passive Sicherheitsmerkmale, die den Fahrer wiederholt warnen, verursachen.
  • Die hierin offenbarten Systeme und Verfahren bieten einen verbesserten Ansatz zur Hinderniserkennung durch ein Fahrzeug.
  • Figurenliste
  • Damit die Vorteile der Erfindung ohne Weiteres verstanden werden, erfolgt durch Bezugnahme auf konkrete Ausführungsformen, die in den beigefügten Zeichnungen veranschaulicht sind, eine genauere Beschreibung der vorstehend kurz beschriebenen Erfindung. Unter der Kenntnisnahme, dass diese Zeichnungen lediglich typische Ausführungsformen der Erfindung darstellen und daher nicht als den Umfang beschränkend aufzufassen sind, wird die Erfindung mit zusätzlicher Genauigkeit und Ausführlichkeit durch die Verwendung der beigefügten Zeichnungen beschrieben und erläutert, in denen Folgendes gilt:
    • 1A und 1B sind schematische Blockdiagramme eines Systems zum Umsetzen von Ausführungsformen der Erfindung;
    • 2 ist ein schematisches Blockdiagramm einer beispielhaften Rechenvorrichtung, die zum Umsetzen von Verfahren gemäß den Ausführungsformen der Erfindung geeignet ist;
    • 3A und 3B sind Prozessablaufdiagramme eines Verfahrens zum Generieren von simulierten Sensordaten zum Beurteilen eines statistischen Modells gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 3C ist ein Prozessablaufdiagramm eines Verfahrens zum Trainieren eines maschinellen Lernmodells unter Verwendung von simulierten Sensordaten gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 4A und 4B veranschaulichen ein Szenario zum Beurteilen oder Trainieren eines Modells gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 5 ist ein Prozessablaufdiagramm eines Verfahrens zum Nachverfolgen von Hindernissen mithilfe eines Tracklets gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 6 ist ein Prozessablaufdiagramm eines Verfahrens zum Erstellen von Tracklets gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 7 ist ein Diagramm, dass Sensormesswerte zum Aktualisieren eines Tracklets gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
    • 8 ist eine Veranschaulichung eines Szenarios zum Erkennen von Hindernissen mithilfe eines probabilistischen Modells gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 9 ist ein Prozessablaufdiagramm eines Verfahrens zum Erkennen von Hindernissen mithilfe eines probabilistischen Modells gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 10 ist ein Prozessablaufdiagramm eines Verfahrens zum Erkennen von Hindernissen mithilfe eines gitterbasierten probabilistischen Modells gemäß einer Ausführungsform der vorliegenden Erfindung; und
    • 11 veranschaulicht die Wahrnehmung eines Szenarios mithilfe des gitterbasierten probabilistischen Modells gemäß einer Ausführungsform der vorliegenden Erfindung;
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es versteht sich ohne Weiteres, dass die Komponenten der vorliegenden Erfindung, wie sie hierin allgemein beschrieben und in den Figuren veranschaulicht sind, in einer großen Vielfalt von unterschiedlichen Konfigurationen angeordnet und gestaltet sein können. Somit ist die folgende ausführlichere Beschreibung der Ausführungsformen der Erfindung, wie sie in den Figuren dargestellt ist, nicht als den Umfang der beanspruchten Erfindung einschränkend, sondern als rein repräsentativ für bestimmte Beispiele von gegenwärtig in Erwägung gezogenen Ausführungsformen gemäß der Erfindung zu verstehen. Die gegenwärtig beschriebenen Ausführungsformen werden am besten unter Bezugnahme auf die Zeichnungen verstanden, in denen gleiche Teile durch gleiche Bezugszeichen bezeichnet sind. Ausführungsformen gemäß der vorliegenden Erfindung können als eine Vorrichtung, ein Verfahren oder ein Computerprogrammprodukt ausgeführt werden. Dementsprechend kann die vorliegende Erfindung die Form einer ausschließlichen Hardwareausführung, einer ausschließlichen Softwareausführung (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte kombiniert, die hierin im Allgemeinen als ein „Modul“ oder „System“ bezeichnet werden können. Außerdem kann die vorliegende Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem beliebigen greifbaren Expressionsmedium mit computernutzbarem Programmcode, der im Medium ausgeführt ist, ausgeführt ist.
  • Eine beliebige Kombination aus einem oder mehreren computernutzbaren oder computerlesbaren Medien kann verwendet werden. Zum Beispiel kann ein computerlesbares Medium eines oder mehrere einer tragbaren Computerdiskette, einer Festplatte, einer Direktzugriffsspeicher(random access memory - RAM)-Vorrichtung, einer Festwertspeicher(read-only memory)-Vorrichtung, einer löschbaren programmierbaren Festwertspeicher(EPROM oder Flash-Speicher)-Vorrichtung, eines tragbaren Compact-Disk-Festwertspeichers (CDROM), einer optischen Speichervorrichtung und einer magnetischen Speichervorrichtung beinhalten. In ausgewählten Ausführungsformen kann ein computerlesbares Medium ein beliebiges nichtflüchtiges Medium umfassen, das das Programm zur Verwendung durch oder in Verbindung mit dem/der Anweisungsausführungssystem, - Vorrichtung oder -gerät enthalten, speichern, damit kommunizieren, übertragen oder transportieren kann.
  • Ein Computerprogrammcode zum Ausführen von Vorgängen der vorliegenden Erfindung kann in jeder beliebigen Kombination von einer oder mehreren Programmiersprachen, einschließlich einer objektorientierten Programmiersprache, wie beispielsweise Java, Smalltalk, C++ oder dergleichen, und herkömmlicher prozeduraler Programmiersprachen, wie beispielsweise die „C“-Programmiersprache oder ähnliche Programmiersprachen, geschrieben sein. Der Programmcode kann gänzlich auf einem Computersystem als ein eigenständiges Software-Paket, auf einer eigenständigen Hardware-Einheit, teilweise auf einem Ferncomputer, der sich in einigem Abstand zum Computer befindet, oder gänzlich auf einem Ferncomputer oder - server ausgeführt werden. In letztgenanntem Fall kann der Ferncomputer mit dem Computer mittels einer beliebigen Art von Netz verbunden sein, einschließlich eines lokalen Netzes (LAN) oder eines Großraumnetzes (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel mittels des Internets unter Verwendung eines Internetdienstleistungsanbieters).
  • Die vorliegende Erfindung ist nachfolgend unter Bezugnahme auf Flussdiagrammveranschaulichungen und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagrammveranschaulichungen und/oder Blockdiagramme und Kombinationen von Blöcken in den Flussdiagrammveranschaulichungen und/oder Blockdiagrammen durch Computerprogrammanweisungen oder einen Computerprogrammcode eingerichtet sein kann. Diese Computerprogrammanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren, Daten verarbeitenden Vorrichtung zur Herstellung einer Maschine bereitgestellt sein, sodass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren, Daten verarbeitenden Vorrichtung ausgeführt werden, Mittel zum Einrichten der Funktionen/Handlungen, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms spezifiziert sind, schaffen.
  • Diese Computerprogrammanweisungen können ebenso in einem nichtflüchtigen computerlesbaren Medium gespeichert werden, das einen Computer oder eine andere programmierbare, Daten verarbeitende Vorrichtung dazu veranlasst, in einer bestimmten Art und Weise zu funktionieren, sodass die im computerlesbaren Medium gespeicherten Anweisungen einen Fertigungsgegenstand herstellen, einschließlich Anweisungsmitteln, die die Funktion/Handlung, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms spezifiziert ist, einrichten.
  • Die Computerprogrammanweisungen können ebenso auf einen Computer oder eine andere programmierbare, Daten verarbeitende Vorrichtung aufgespielt werden, um zu veranlassen, dass eine Reihe von Verfahrensschritten auf dem Computer oder der anderen programmierbaren Vorrichtung durchgeführt wird, um ein computereingerichtetes Verfahren herzustellen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Verfahren zum Einrichten der Funktionen/Handlungen bereitstellen, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms spezifiziert sind.
  • Unter Bezugnahme auf 1A kann eine Netzwerkumgebung 100 ein Serversystem 102 beinhalten, das eine Datenbank 104 aufnimmt oder darauf zugreifen, welche Daten beinhalten, die ausreichend sind, um ein Szenario zum Trainieren oder Beurteilen eines Erkennungssystems zu definieren. Insbesondere kann die Datenbank 104 Fahrzeugmodelle 106a speichern, die Geometriedaten 108a für das Fahrzeug beinhalten, z. B. die Form der Karosserie, Reifen und jedes beliebige andere sichtbare Merkmal des Fahrzeugs. Die Geometriedaten 108a können ferner Materialdaten beinhalten, wie etwa Härte, Reflektivität oder Materialtyp. Das Modell 106 kann ferner ein Geräuschprofil 108b beinhalten, das Audiodateien oder andere Daten, die für den unter bestimmten Umständen, z. B. unterschiedliche Geschwindigkeiten und unterschiedliche Beschleunigungsniveaus bei unterschiedlichen Geschwindigkeiten, durch das Fahrzeug erzeugten Schall charakteristisch sind, beinhaltet. Das Fahrzeugmodell 106a kann ferner ein dynamisches Modell 108c beinhalten, das Betriebsgrenzen des Fahrzeugs angibt, z. B. Drehradius, Beschleunigungsprofil (maximale Beschleunigung bei einer bestimmten Geschwindigkeit) und dergleichen. Die Fahrzeugmodelle 106a können auf tatsächlichen Fahrzeugen beruhen und die Felder 108a-108c können mithilfe von Daten, die durch Messung der tatsächlichen Fahrzeuge erhalten werden, gefüllt werden.
  • In einigen Ausführungsformen kann die Datenbank 104 ein Fahrzeugmodell 106b für ein Fahrzeug speichern, das einen oder mehrere Sensoren enthält, die zur Hinderniserkennung verwendet werden. Wie nachfolgend beschrieben, können die Ausgaben dieser Sensoren Eingabe in ein Modell sein, das gemäß den hierin offenbarten Verfahren trainiert oder beurteilt wird. Dementsprechend kann das Fahrzeugmodell 106b zusätzlich ein oder mehrere Sensormodell 108d beinhalten, die die Stellen von einem oder mehreren Sensoren am Fahrzeug, die Ausrichtung des einen oder der mehreren Sensoren und einen oder mehrere Deskriptoren des einen oder der mehreren Sensoren angeben. Bei einem Mikrofon beispielsweise kann das Sensormodell 108d die Verstärkung, das Signal-Rausch-Verhältnis, das Empfindlichkeitsprofil (Empfindlichkeit gegenüber Frequenz) und dergleichen beinhalten. Bei einer Kamera kann das Sensormodell 108d das Sichtfeld, die Auflösung, die Vergrößerung, die Bildwechselfrequenz oder eine andere Betriebsgrenze der Kamera beinhalten. Bei einem LIDAR- oder RADAR-Sensor kann das Sensormodell 108d eine Auflösung, ein Sichtfeld und eine Abtastrate des Systems beinhalten.
  • Wie hierin ausführlicher beschrieben, kann Sensorrauschen in simulierten Ausgaben der Sensoren des Fahrzeugmodells 106b simuliert werden. Dementsprechend kann das Sensormodell 108d eines oder beide von Folgendem: (1) ausreichend genau oder mit ausreichendem Grad an Genauigkeit sein, sodass Rauschen aus der simulierten Wahrnehmung eines Szenarios durch den Sensor erfolgt, (2) eine Definition von Rauschen beinhalten, welches typischerweise in einer Ausgabe des Sensors vorhanden ist, sodass Rauschen zufällig zu einer simulierten Wahrnehmung des Szenarios durch das Sensormodell hinzugefügt werden kann. Die Datenbank 104 kann ein Umgebungsmodell 106c beinhalten, welches Modelle von verschiedenen Landschaften beinhaltet, wie etwa Modelle von Straßen mit Kreuzungen, Gebäuden, Fußgängern, Bäumen usw. Die Modelle können die Geometrie und Stelle von Objekten in einer Landschaft definieren und können ferner andere Aspekte beinhalten, wie etwa Reflektivität durch Laser, RADAR, Schall, Licht usw., um eine Simulation der Wahrnehmung der Objekte durch einen Sensor zu ermöglichen.
  • Die Datenbank 104 kann ein maschinelles Lernmodell 110a speichern. Das maschinelle Lernmodell 110a kann mithilfe der Modelle 106a-106c gemäß den hierin beschriebenen Verfahren trainiert werden. Das maschinelle Lernmodell 110a kann ein tiefes neurales Netzwerk, Bayessches Netzwerk oder ein anderer Typ eines maschinellen Lernmodells sein. Die Datenbank 104 kann ein statistisches Modell 110b speichern. Das statistische Modell kann einen Ansatz zum Aktualisieren einer Wahrscheinlichkeit für eine vorhergesagte Stelle eines Hindernisses oder Belegung einer bestimmten Position außerhalb eines Fahrzeugs definieren. Beispiele für diese statistischen Modell 110b sind nachfolgend unter Bezug auf die 5 bis 11 beschrieben. Wie außerdem nachfolgend beschrieben, können diese statistischen Modelle durch Verarbeiten von simulierten Sensorausgaben beurteilt und modifiziert werden, welche die Wahrnehmung eines Szenarios durch die Sensoren des Fahrzeugmodells 106b simulieren. Diese nachfolgend unter Bezugnahme auf die 5 bis 9 beschriebenen Ansätze sind in der US-Anmeldung mit der Nr. 15/346,210 , eingereicht am 8. November 2016, und mit dem Titel „Object Tracking Using Sensor Fusion Within A Probabilistic Framework“ und US-Anmeldung mit der Nr. 15/363,763 , eingereicht am 29. November 2016, und mit dem Titel „Multi-Sensor Probabilistic Object Detection and Automated Braking“ beschrieben und beansprucht, wovon beide hiermit durch Bezugnahme vollumfänglich hierin aufgenommen sind.
  • Das Serversystem 102 kann eine Trainingengine 112 ausführen. Die Trainingengine 112 kann ein Szenarienmodul 114a beinhalten. Das Szenarienmodul 114a kann Modelle 106a-106c abrufen und ein Szenario von Modellen von Fahrzeugen, die sich entlang Modellen von Straßen bewegen, generieren. Das Szenarienmodul 114a kann diese Szenarien manuell generieren oder menschliche Eingaben empfangen, die erste Stellen von Fahrzeugen, Geschwindigkeiten von Fahrzeugen usw. spezifizieren. In einigen Ausführungsformen können Szenarien auf Video oder anderen Messungen einer tatsächlichen Stelle modelliert werden, z. B. Beobachtungen einer Stelle, Bewegungen des Fahrzeugs an der Stelle, die Stelle von anderen Objekten usw.
  • In einigen Ausführungsformen kann das Szenarienmodul 114a eine Datei lesen, die Stellen und/oder Ausrichtungen von verschiedenen Elementen eines Szenarios spezifizieren, und ein Modell des Szenarios erstellen, welches Modelle der Elemente aufweist, die laut Anweisung in der Datei positioniert sind. Auf diese Weise können manuell oder automatisch generierte Dateien verwendet werden, um ein breites Spektrum an Szenarien zu definieren.
  • Die Trainingengine 112 kann ein Sensorsimulationsmodul 114b beinhalten. Für ein Szenario und ein Fahrzeug, das in dem Szenario enthalten ist, das die Sensormodelldaten 108d beinhaltet, kann insbesondere eine Wahrnehmung des Szenarios durch die Sensoren durch das Sensorsimulationsmodul 114b simuliert werden, wie nachfolgend ausführlicher beschrieben. Die Trainingengine 112 kann ein Annotationsmodul 114c beinhalten. Simulierte Sensorausgaben aus dem Sensorsimulationsmodul 114b können mit „Grundwahrheit“ des Szenarios annotiert werden, welches die tatsächlichen Stellen von Hindernissen im Szenario angibt. Die Annotationen können außerdem eine Reihe von Stellen oder Bereichen, die durch Hindernisse, z. B. Fahrzeuge, belegt sind, angeben.
  • Die Trainingengine 112 kann ein maschinelles Lernmodul 114d beinhalten. Das maschinelle Lernmodul 114d kann das maschinelle Lernmodell 110a trainieren. Zum Beispiel kann das maschinelle Lernmodell 110a trainiert werden, um die Stelle von Hindernissen zu identifizieren, indem die simulieren Sensorausgaben sowie die Stelle von Hindernissen im Szenario eingegeben werden. Insbesondere können die Sensorausgaben als ein Eingabedatensatz bereitgestellt werden und die relative Stelle des Fahrspur-teilenden Fahrzeugs kann als die gewünschte Ausgabe für den Eingabedatensatz bereitgestellt werden. In einigen Ausführungsformen kann die Trainingengine 112 ein Überprüfungsmodul 114e beinhalten. Das Überprüfungsmodul 114e verarbeitet die simulierten Sensorausgaben gemäß einem statistischen Modell, wie etwa einem der nachfolgend unter Bezugnahme auf die 5 bis 11 beschriebenen statistischen Modelle. Das Überprüfungsmodul 114e kann dann die Genauigkeit des statistischen Modells im Vergleich zu den Annotationen des Annotationsmoduls 114c charakterisieren. Zum Beispiel, wo das statistische Modell eine Ausgabe erzeugt, die eine hohe Wahrscheinlichkeit angibt, dass sich ein Hindernis an einer gegebenen Stelle befindet, kann diese Stelle mit den Annotationen verglichen werden. Ein Abstand zwischen dieser Stelle und einer Stelle, die in den Annotationen angegeben ist, kann verglichen werden. Je größer der Abstand, desto geringer ist die Genauigkeit des statistischen Modells.
  • Unter Bezugnahme auf 1B kann das maschinelle Lernmodell 110a oder das statistische Modell 110b, wie mithilfe des Systems aus 1A überprüft oder generiert, verwendet werden, um Hinderniserkennung im veranschaulichten System 120 durchzuführen, welches in einem Fahrzeug integriert sein kann, wie etwa einem autonomen oder von einem Menschen bedienten Fahrzeug. Zum Beispiel kann das System 120 die Steuerung 122 beinhalten, die in einem Fahrzeug untergebracht ist. Das Fahrzeug kann ein beliebiges im Fach bekanntes Fahrzeug beinhalten. Das Fahrzeug kann alle der Strukturen und Merkmale eines beliebigen auf dem Fachgebiet bekannten Fahrzeugs aufweisen, einschließlich Rädern, eines an die Räder gekoppelten Antriebsstrangs, eines an den Antriebsstrang gekoppelten Motors, eines Lenksystems, eines Bremssystems und anderer in ein Fahrzeug zu integrierender Systeme. Wie hierin ausführlicher erörtert, kann die Steuerung 122 autonome Navigation und Kollisionsvermeidung mithilfe von Sensordaten durchführen. Alternativ kann die Steuerung 122 mithilfe von Sensordaten Hindernisse identifizieren und vom Benutzer wahrnehmbare Ergebnisse generieren. Insbesondere kann die Steuerung 122 Hindernisse in Sensordaten mithilfe eines maschinellen Lern- oder statistischen Modells identifizieren, wie nachfolgend unter Bezugnahme auf die 3A bis 11 beschrieben.
  • Die Steuerung 122 kann ein oder mehrere Bildströme von einer oder mehreren Abbildungsvorrichtungen 124 empfangen. Zum Beispiel kann/können eine oder mehrere Kamera(s) am Fahrzeug montiert sein und von der Steuerung 122 empfangene Bildströme ausgeben. Die Steuerung 122 kann ein oder mehrere Audioströme von einer oder mehreren Mikrofonen 126 empfangen. Zum Beispiel kann/können eine oder mehrere Mikrofone oder Mikrofonarrays am Fahrzeug montiert sein und von der Steuerung 122 empfangene Audioströme ausgeben. Die Mikrofone 126 können Richtmikrofone mit einer Empfindlichkeit, die mit dem Winkel variiert, beinhalten.
  • In einigen Ausführungsformen kann das System 120 andere Sensoren 128 beinhalten, die an die Steuerung 122 gekoppelt sind, wie etwa LIDAR (light detection and ranging), RADAR (radio detection and ranging), SONAR (sound navigation and ranging), Ultraschallsensor und dergleichen. Die Stellen und Ausrichtungen der Erfassungsvorrichtungen 124, 126, 128 können denen entsprechen, die im Sensormodell 108d modelliert sind, welches verwendet wird, um das maschinelle Lernmodell 110a zu trainieren.
  • Die Steuerung 122 kann ein Kollisionsvermeidungsmodul 130 ausführen, welches Ausgaben von einigen oder allen der Abbildungsvorrichtungen 124, Mikrofone 126 und anderen Sensoren 128 empfängt. Das Kollisionsvermeidungsmodul 130 analysiert dann die Ausgaben, um mögliche Hindernisse zu identifizieren.
  • Das Kollisionsvermeidungsmodul 130 kann ein Hindernisidentifikationsmodul 132a, ein Kollisionsvorhersagemodul 132b und ein Entscheidungsmodul 132c beinhalten. Das Hindernisidentifikationsmodul 132a analysiert die Ausgaben der Erfassungsvorrichtungen 124, 126, 128 und identifiziert mögliche Hindernisse, einschließlich Menschen, Tiere, Fahrzeuge, Gebäude, Bordsteine und andere Objekte und Strukturen.
  • Insbesondere kann das Hindernisidentifikationsmodul 132a kann Hindernisse mithilfe eines maschinellen Lernmodells oder eines statistischen Modells identifizieren, wie nachfolgend unter Bezugnahme auf die 3 bis 11 beschrieben.
  • Das Kollisionsvorhersagemodul 132b sagt vorher, welche Hindernisbilder wahrscheinlich mit dem Fahrzeug basierend auf seinem gegenwärtigen Kurs oder gegenwärtig beabsichtigten Pfad kollidieren werden. Das Kollisionsvorhersagemodul 132b kann die Wahrscheinlichkeit einer Kollision mit Objekten, die durch das Hindernisidentifikationsmodul 132a identifiziert wurden, sowie Objekten, die mithilfe des maschinellen Lernmoduls 132a erkannt wurden, auswerten. Das Entscheidungsmodul 132c kann eine Entscheidung treffen, um anzuhalten, zu beschleunigen, eine Kurve zu fahren usw., um Hindernisse zu vermeiden. Die Weise, auf die das Kollisionsvorhersagemodul 132b mögliche Kollisionen vorhersagt, und die Weise, auf die das Entscheidungsmodul 132c Maßnahmen ergreift, um mögliche Kollisionen zu verhindern, können gemäß einem beliebigen auf dem Fachgebiet autonomer Fahrzeuge bekannten Verfahren oder System sein.
  • Das Entscheidungsmodul 132c kann den Kurs des Fahrzeugs durch Betätigen eines oder mehrerer Aktoren 136, die die Richtung und Geschwindigkeit des Fahrzeugs steuern, steuern. Zum Beispiel können die Aktoren 136 einen Lenkaktor 138a, einen Beschleunigungsaktor 138b und einen Bremsaktor 138c beinhalten. Die Konfiguration der Aktoren 138a-138c kann gemäß einer beliebigen Umsetzung solcher im Fach der autonomen Fahrzeuge bekannten Aktoren erfolgen.
  • Das Entscheidungsmodul 132c kann zusätzlich oder alternativ die Generierung eines vom Fahrer wahrnehmbaren Alarms als Reaktion auf Erkennen einer möglichen Kollision aufrufen, anstatt die autonome Kollisionsvermeidung aufzurufen.
  • 2 ist ein Blockdiagramm, das eine beispielhafte Rechenvorrichtung 200 veranschaulicht. Die Rechenvorrichtung 200 kann dazu verwendet werden, verschiedene Vorgänge auszuführen, wie etwa die hier erörterten. Das Serversystem 102 und die Steuerung 122 können einige oder alle der Attribute der Rechenvorrichtung 200 aufweisen.
  • Die Rechenvorrichtung 200 beinhaltet einen oder mehrere Prozessor(en) 202, eine oder mehrere Speichervorrichtung(en) 204, eine oder mehrere Schnittstelle(n) 206, eine oder mehrere Massenspeichervorrichtung(en) 208, eine oder mehrere Ein-/Ausgabe-(E/A-)Vorrichtung(en) 210 und eine Anzeigevorrichtung 230, die alle an einen Bus 212 gekoppelt sind. Der/Die Prozessor(en) 202 beinhaltet/beinhalten eine(n) oder mehrere Prozessoren oder Steuerungen, der/die in der/den Speichervorrichtung(en) 204 und/oder der/den Massenspeichervorrichtung(en) 208 gespeicherte Anweisungen ausführen. Der/Die Prozessor(en) 202 kann/können zudem verschiedene Arten von computerlesbaren Medien beinhalten, wie etwa Cache-Speicher.
  • Die Speichervorrichtung(en) 204 beinhaltet/beinhalten verschiedene computerlesbare Medien, wie etwa flüchtigen Speicher (z. B. Direktzugriffsspeicher (random access memory - RAM) 214) und/oder nichtflüchtigen Speicher (z. B. Festwertspeicher (read-only memory - ROM) 216). Die Speichervorrichtung(en) 204 kann/können zudem wiederbeschreibbaren ROM beinhalten, wie etwa Flash-Speicher.
  • Die Massenspeichervorrichtung(en) 208 beinhaltet/beinhalten verschiedene computerlesbare Medien, wie etwa Magnetbänder, Magnetplatten, optische Platten, Festkörperspeicher (z. B. Flash-Speicher) und so weiter. Wie in 2 gezeigt, ist eine besondere Massenspeichervorrichtung ein Festplattenlaufwerk 224. Zudem können verschiedene Laufwerke in der/den Massenspeichervorrichtung(en) 208 beinhaltet sein, um ein Auslesen aus und/oder Schreiben auf die verschiedenen computerlesbaren Medien zu ermöglichen. Die Massenspeichervorrichtung(en) 208 beinhaltet/beinhalten entfernbare Medien 226 und/oder nichtentfernbare Medien.
  • Die E/A-Vorrichtung(en) 210 beinhaltet/beinhalten verschiedene Vorrichtungen, die es ermöglichen, dass Daten und/oder andere Informationen in die Rechenvorrichtung 200 eingegeben oder daraus abgerufen werden. (Eine) Beispielhafte E/A-Vorrichtung(en) 210 beinhaltet/beinhalten Cursorsteuervorrichtungen, Tastaturen, Tastenfelder, Mikrofone, Monitore oder andere Anzeigevorrichtungen, Lautsprecher, Drucker, Netzwerkschnittstellenkarten, Modems, Linsen, CCDs oder andere Bilderfassungsvorrichtungen und dergleichen.
  • Die Anzeigevorrichtung 230 beinhaltet eine beliebige Art von Vorrichtung, die dazu in der Lage ist, einem oder mehreren Benutzern der Rechenvorrichtung 200 Informationen anzuzeigen. Zu Beispielen für eine Anzeigevorrichtung 230 gehören ein Monitor, ein Anzeigeendgerät, eine Videoprojektionsvorrichtung und dergleichen.
  • Die Schnittstelle(n) 206 beinhaltet/beinhalten verschiedene Schnittstellen, die der Rechenvorrichtung 200 ermöglichen, mit anderen Systemen, Vorrichtungen oder Rechenumgebungen zu interagieren. Zu (einer) beispielhaften Schnittstelle(n) 206 gehören eine beliebige Anzahl von unterschiedlichen Netzwerkschnittstellen 220, wie etwa Schnittstellen zu lokalen Netzwerken (local area networks - LANs), Großraumnetzwerken (wide area networks - WANs), drahtlosen Netzwerken und dem Internet. Zu (einer) andere(n) Schnittstelle(n) gehören eine Benutzerschnittstelle 218 und eine Peripherievorrichtungsschnittstelle 222. Die Schnittstelle(n) 206 kann/können ebenso eine oder mehrere Peripherieschnittstellen beinhalten, wie beispielsweise Schnittstellen für Drucker, Zeigevorrichtungen (Mäuse, Touchpad usw.), Tastaturen und dergleichen.
  • Der Bus 212 ermöglicht dem/den Prozessor(en) 202, der/den Speichervorrichtung(en) 204, der/den Schnittstelle(n) 206, der/den Massenspeichervorrichtung(en) 208, der/den E/A-Vorrichtung(en) 210 und der Anzeigevorrichtung 230, miteinander sowie mit anderen Vorrichtungen oder Komponenten, die an den Bus 212 gekoppelt sind, zu kommunizieren. Der Bus 212 stellt eine oder mehrere von mehreren Arten von Busstrukturen dar, wie etwa einen Systembus, PCI-Bus, IEEE-1394-Bus, USB-Bus und so weiter.
  • Zum Zwecke der Veranschaulichung sind Programme und andere ausführbare Programmkomponenten hier als diskrete Blöcke gezeigt, auch wenn es sich versteht, dass sich derartige Programme und Komponenten zu verschiedenen Zeitpunkten in unterschiedlichen Speicherkomponenten der Rechenvorrichtung 200 befinden können, und werden durch den/die Prozessor(en) 202 ausgeführt. Alternativ können die hier beschriebenen Systeme und Vorgänge in Hardware oder einer Kombination aus Hardware, Software und/oder Firmware umgesetzt sein. Ein oder mehrere anwendungsspezifische integrierte Schaltkreise (application specific integrated circuits - ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. einen oder mehrere der hier beschriebenen Systeme und Vorgänge ausführen.
  • Unter Bezugnahme auf 3A kann das veranschaulichte Verfahren 300a durch das Serversystem 102 ausgeführt werden, um ein statistisches Modell 110b zu beurteilen. Das Verfahren 300a kann Definieren 302a eines Szenarienmodells beinhalten. Beispielsweise kann, wie in den 4A und 4B gezeigt, ein Umgebungsmodell, das eine Straße 400 beinhaltet, mit Modellen von Fahrzeugen 402, 404 kombiniert werden, die sich innerhalb von Fahrspuren der Straße 400 befinden und Geschwindigkeiten und Beschleunigungen aufweisen, die während der Weitergabe des Szenarienmodells von einem Zeitschritt zum nächsten variieren können.
  • Ein Prüffahrzeug 406 kann sich außerdem im Modell befinden und kann eine Geschwindigkeit und Beschleunigung aufweisen, die von einem Zeitschritt zum nächsten variieren. Die Wahrnehmung des Szenarios durch Mikrofone, Abbildungsvorrichtungen und/oder andere Sensoren kann aus der Sicht des Prüffahrzeugs 406 simuliert werden. Insbesondere können Stellen und Ausrichtungen von Abbildungsvorrichtungen 124a-124d, Mikrofonen 126a, 126b und anderen Sensoren 128 (z. B. LIDAR, RADAR, SONAR) auf dem Prüffahrzeug 406 gemäß einem Sensormodell 108d definiert sein.
  • Das Verfahren 300a kann Abspielen 304 der Szenarienmodelldynamik beinhalten. Insbesondere kann jedes Fahrzeug 402, 404, 406 im Modell ein vordefiniertes Geschwindigkeits- oder Positionsprofil aufweisen, welches definiert, wie sich die Geschwindigkeit und/oder das Profil im Laufe der Zeit verändert. Dementsprechend kann das Abspielen 304 des Szenarios Simulieren einer Vielzahl von einzelnen Zeitschritten beinhalten, wobei jedes Fahrzeug 402, 404, 406 bei jedem Zeitschritt zu einer anderen Position innerhalb des Modells gemäß dem vordefinierten Geschwindigkeits- oder Positionsprofil bewegt wird. Das Verfahren 300a kann ferner Simulieren 306 der Sensorwahrnehmung des Szenarios beinhalten. Zum Beispiel kann der Zustand des Modells (z. B. Positionen und Geschwindigkeiten der Fahrzeuge 402, 404, 406 bei jedem Zeitschritt) für jeden Zeitschritt aus der Sicht eines bestimmten Sensors erfasst werden. Insbesondere können die Position der Sensoren gemäß dem Sensormodell 108d am Prüffahrzeug 406 und die operative Kapazität der Sensoren, wie im Sensormodell 108d definiert, verwendet werden, um eine Sensorausgabe zu simulieren.
  • Zum Beispiel kann bei jeder Abbildungsvorrichtung eine Wiedergabe des Szenarios aus der Sicht der Abbildungsvorrichtung am Prüffahrzeug 406 generiert werden. Bei einem Mikrofon kann einfallender Schall auf das Mikrofon während des Zeitschritts, wie von den Fahrzeugen 402, 404, 406 zur Stelle des Mikrofons am Prüffahrzeug übertragen, simuliert werden. Das Simulieren von Schall kann einfaches Simulieren der Fahrzeit von einer Quelle des Schalls und beliebige Doppler-Effekte beinhalten. Das Simulieren von Schall kann ferner Simulieren von Reflexionen von Fahrzeugen, dem Boden oder Gebäuden, die an der Mikrofonstelle ankommen, beinhalten.
  • Bei einem LIDAR-Sensor kann eine Punktwolke aus der Sicht des LIDAR-Sensors simuliert werden, wobei die Punkte der Punktwolke Punkte von Strukturen der Umgebung oder von Fahrzeugen 402, 404, 406 des Szenarios sind, die sich im Sichtfeld des LIDAR-Sensors befinden. In einigen LIDAR-Systemen können gemessene Punkte sowohl eine dreidimensionale Koordinate als auch einen Reflektivitätswert beinhalten. In einigen Ausführungsformen können die Modelle 106a, 106b Reflektivitätswerte für äußere Oberflächen davon beinhalten. Dementsprechend kann der Reflektivitätswert der Struktur, die jeden Punkt beinhaltet, bei Punkten der Punktwolke in der Sicht des LIDAR-Systems enthalten sein. Die Wahrnehmung des Szenarienmodells durch verschiedene andere Sensoren kann außerdem enthalten sein. Bei einem RADAR- oder SONAR-System können Reflexionen von Objekten und Fahrzeugen des Szenarios für jeden Zeitschritt simuliert werden.
  • Im Verfahren 300a kann Schritt 306 Simulieren der Wahrnehmung des Szenarios durch die Sensormodelle beinhalten, sodass Rauschen in den simulierten Sensorausgaben vorhanden ist. Dementsprechend kann die Schallausbreitung für Modellechos von Gebäuden oder anderen Fahrzeugen simuliert werden. Die Ausbreitung von RADAR-Signalen kann derart modelliert werden, dass die Ausbreitung von elektromagnetischen Wellen mit ausreichender Genauigkeit simuliert wird, um mehrere Reflexionen die erfassen, die „Geistobjekte“ und anderes Rauschen in der Ausgabe des RADAR-Sensors erzeugen können. Ähnlich hierzu kann für LIDAR Raytracing mit ausreichender Genauigkeit durchgeführt werden, um mehrere Reflexionen zu erfassen, und kann atmosphärische Dämpfung und Streuung des Laserstrahls des LIDAR-Sensors simulieren.
  • Die verschiedenen Sensoren können andere Bildwechsel- und Abtastraten als der Zeitschritt für das Aktualisieren des Szenarienmodells aufweisen. Dementsprechend können mehr oder weniger Ausgaben als die Anzahl von Zeitschritten erzeugt werden. Bei Schall kann zum Beispiel die Anzahl von Abtastwerten, die erforderlich sind, um die Erkennung von Schallt genau zu simulieren, größer sein als der Zeitschritt. Dementsprechend können mehrere Abtastwerte für jeden Zeitschritt genommen werden. Zum Beispiel kann der Zeitschritt in kleinere Zeitschritte unterteilt werden und simulierte Abtastwerte von Schall, der durch das Szenarienmodell ausgebreitet wird und auf die Mikrofonstelle auftrifft, können protokolliert werden. In einer ähnlichen Weise können Bilder von einer Abbildungsvorrichtung, Punktwolken von LIDAR, Reflexionen von RADAR oder SONAR zu unterschiedlichen Zeitpunkten simuliert werden, die kleiner oder größer als der Zeitschritt sind.
  • Das Ergebnis für das Simulieren der Sensorwahrnehmung bei Schritt 306 kann ein Strom von Sensorausgaben sein, z. B. eine Reihe von Bildern, ein Audiosignal, ein Satz von Punktwolken, ein Satz von Reflexionen zu unterschiedlichen Zeitpunkten usw. Die Ströme von Sensorausgaben können mit dem Zustand des Szenarios bei dem Zeitschritt annotiert 308 werden, bei dem die Sensorausgaben gemäß dem Modellieren des Szenarios empfangen wurden. Zum Beispiel kann das Annotieren 308 Auflisten der Stellen und/oder der relativen Geschwindigkeit von Hindernissen im Szenario bei einem gegebenen Zeitschritt beinhalten, wie etwa Fahrzeuge, Fußgänger, Schilder, Gebäude und dergleichen. Stellen und Geschwindigkeit können in der Annotation relativ zur Position des Prüffahrzeugs 406 enthalten sein.
  • Das Verfahren 300a kann ferner Eingeben 310 der simulieren Sensorausgaben in ein statistisches Modell beinhalten. Zum Beispiel können die simulierten Sensorausgaben in die nachfolgend unter Bezugnahme auf die 5 bis 11 beschriebenen statistischen Modelle eingegeben werden.
  • Das Verfahren 300a kann ferner Vergleichen 312 der statistischen Modellausgabe mit den Annotationen beinhalten. Wie nachfolgend unter Bezugnahme auf die 5 bis 11 ausführlich beschrieben, kann ein statistisches Modell eine Ausgabe erzeugen, die angibt, dass ein Hindernis vorhanden ist oder an einer gegebenen Stelle vorhanden ist, wenn eine berechnete Wahrscheinlichkeit einen Schwellenzustand erfüllt. Dementsprechend kann Schritt 312 Vergleichen einer Feststellung des statistischen Modells, dass ein Hindernis zu einem gegebenen Zeitpunkt vorhanden ist oder nicht vorhanden ist, mit den Annotationen, die angeben, ob ein Hindernis zu diesem Zeitpunkt im Szenario vorhanden war. Sofern das statistische Modell eine Stelle mit einer Wahrscheinlichkeit über dem Schwellenwert als eine Stelle eines Hindernisses bereitstellt, kann diese Stelle mit den Annotationen verglichen werden, um zu bestimmen, ob das Szenario an dieser Stelle ein Hindernis enthält. Der Vergleich von Schritt 312 kann manuell oder automatisch sein. Schritt 312 kann Abstimmen von einem oder mehreren Parametern des Modells entweder manuell oder automatisch auf Grundlage einer Ausgabe des Vergleichs beinhalten.
  • Unter Bezugnahme auf 3B beinhaltet ein Verfahren 300b die Schritte 302-312, wie vorstehend unter Bezugnahme auf 3A beschrieben. Allerdings kann Schritt 306 mit ausreichender Genauigkeit modelliert werden, um ausreichend Sensorrauschen in den simulieren Sensorausgaben zu erzeugen. Stattdessen können die simulierten Sensorausgaben bei Schritt 314 modifiziert werden, um Rauschen zu enthalten. Das bei Schritt 314 hinzugefügte Rauschen kann als zufällige Signale hinzugefügt werden, die gemäß einem Modell von Rauschen des Sensors definiert sind, was experimentell bestimmt wird. Die modifizierten simulierten Sensorausgaben können dann bei Schritt 310 in das statistische Modell eingegeben werden und wie vorstehend unter Bezugnahme auf 3A beschrieben verarbeitet werden.
  • Unter Bezugnahme auf 3C kann ein Verfahren 300c die Schritte 302-308 beinhalten, wie vorstehend unter Bezugnahme auf 3A beschrieben. Schritt 306 kann effektives Modellieren beinhalten, um Rauschen in simulierten Sensorausgaben zu erzeugen, und kann zusätzlich oder alternativ Hinzufügen von Rauschen beinhalten, wie für Schritt 314 aus 3B beschrieben.
  • Das Verfahren 300b kann ferner Eingeben 318 der annotierten simulierten Sensorausgaben in einem maschinellen Lernalgorithmus und Trainieren 320 des maschinellen Lernmodells mithilfe der annotierten simulierten Sensorausgaben beinhalten.
  • Für jeden Zeitschritt zum Beispiel können eine oder mehrere Sensorausgaben für jeden Typ von Sensor, der für diesen Zeitschritt simuliert wurde, in den maschinellen Lernalgorithmus eingegeben 318 werden. Ähnlich hierzu kann die Position von Hindernissen im Szenario bei diesem Zeitschritt in das Modell eingegeben werden, z. B. die relative Position des Fahrzeugs 404 zum Fahrzeug 406 im Szenarienmodell bei diesem Zeitschritt. Bei Audiosignalen kann der Zeitschritt für eine aussagekräftige Analyse zu kurz sein. Dementsprechend können Abtastwerte von simuliertem Schall bei Schritt 318 für mehrere Zeitschritte vor und/oder nach jedem Zeitschritt in das Modell eingegeben werden, d. h. ein Fenster von Zeitschritten, das jeden Zeitschritt beinhaltet.
  • Das maschinelle Lernmodell 110a kann dann durch Aktualisieren des Modells 110a für die Sensorausgabeeingabe 318 für jeden Zeitschritt und der Stellen von Hindernissen des Szenarios bei jedem Zeitschritt trainiert 320 werden. Die Art und Weise, mit der der maschinelle Lernalgorithmus das Modell 110a trainiert, kann gemäß einer beliebigen Art und Weise, die im Fach für maschinelles Lernen bekannt ist, durchgeführt werden. Ähnlich hierzu können die Sensorausgaben in einer kontinuierlichen Weise anstatt als einzelne Datensätze für einzelne Zeitschritte in den maschinellen Lernalgorithmus eingegeben werden.
  • Das Ergebnis des Verfahrens 300c ist ein maschinelles Lernmodell 110a, das trainiert wird, um für einen Eingabestrom von Sensorausgaben die Stellen von Hindernissen, die gemäß den Sensorausgaben erkannt wurden, auszugeben. Viele maschinelle Lernalgorithmen geben ferner einen Konfidenzwert aus, der die Wahrscheinlichkeit angibt, dass eine Ausgabe der Modelle richtig ist. Dementsprechend kann für jedes erkannte Hindernis ein entsprechender Konfidenzwert von dem Modell ausgegeben werden.
  • Das maschinelle Lernmodell, welches gemäß Schritt 320 trainiert wird, kann dann in eine Fahrzeugsteuerung 122 geladen werden, welche die Sensorausgaben in das Modell eingibt und Hindernisvermeidung in Bezug auf Hindernisse, die gemäß den Ausgaben des Modells erkannt wurden, durchführt.
  • 5 veranschaulicht ein beispielhaftes Verfahren 500, das ein statistisches Modell zum Erkennen von Hindernissen verwendet. Dementsprechend können simulierte Sensorausgaben gemäß dem Schritt 306 der Verfahren 300a, 300b bei Schritt 318 gemäß dem Verfahren 500 verarbeitet werden. Die Stellen von Hindernissen, die gemäß dem Verfahren 500 bestimmt werden, können dann bei Schritt 312 mit der Stelle von Hindernissen im Szenario verglichen werden, welches in den Annotationen der simulierten Sensorausgaben aus Schritt 308 enthalten ist.
  • Das Verfahren 500 stellt einen Ansatz bereit, mit dem Tracklets, die jeweils erkannte Hindernisse darstellen, erstellt und aktualisiert werden. Das Verfahren 500 kann von dem Serversystem 102 im Zusammenhang mit den Verfahren 300a, 300b oder von der Fahrzeugsteuerung 122, wenn es für eine tatsächliche Hinderniserkennung verwendet wird, ausgeführt werden.
  • Das Verfahren 500 kann Empfangen 502 von Sensordaten beinhalten, die simulierte Sensordaten im Zusammenhang mit den Verfahren 300a, 300b oder tatsächliche Daten, wenn in einem tatsächlichen Fahrzeug verwendet, sind. Im Nachfolgenden sind die Bezüge auf „Sensordaten“ und „Sensoren“ so zu verstehen, dass sie sich auf tatsächliche Sensordaten von den Sensoren 124, 126, 128 beziehen, wenn das Verfahren 500 von einer Fahrzeugsteuerung 122 durchgeführt wird. „Sensordaten“ und „Sensoren“ sind so zu verstehen, dass sie sich auf simulierte Sensordaten und Modelle 108d von Sensoren beziehen, die ein Szenario wahrnehmen, wenn Verfahren 500 im Zusammenhang mit einem der Verfahren 300a, 300b durchgeführt wird.
  • Empfangen 502 von Sensordaten kann Empfangen von Daten von einem einzelnen Sensor beinhalten. Zum Beispiel kann das Verfahren 500 für jeden Rahmen von Daten, die von einem beliebigen der Sensoren empfangen werden, ausgeführt werden. Alternativ können Rahmen von Daten, die von mehreren Sensoren empfangen werden, gemäß dem Verfahren 500 gleichzeitig verarbeitet werden. In einigen Ausführungsformen können die Sensoren unterschiedlichen Bildwechselraten aufweisen, sodass ein separates Verarbeiten durchgeführt wird.
  • Das Verfahren 500 kann Identifizieren 504 von Merkmalen in den Sensordaten beinhalten. Schritt 504 kann eine beliebige Technik zum Identifizieren von Objekten in Sensordaten, wie sie im Fach bekannt sind, beinhalten. Schritt 504 kann Identifizieren von Merkmalen in den Sensordaten beinhalten, die mit dem Vorhandensein von Objekten, wie etwa Fahrzeugen, Menschen, Tieren, Schildern, Gebäuden oder einem beliebigen anderen Objekt, das vorhanden sein kann, konsistent sind.
  • Die Ausgabe von Schritt 504 kann eine Auflistung von Datenobjekten sein, die ein erkanntes Merkmal darstellen. Die Datenobjekte können eine Stelle, z. B. eine Koordinate eines Mittelpunkts, des Merkmals, ein Ausmaß des Merkmals, ein Gesamtvolumen oder einen zugewandten Bereich oder die Größe oder eine Scheitelpunktstelle eines Begrenzungsfelds oder -würfels oder andere Daten beinhalten. Es gibt verschiedene Sensoren, durch die Objekte erkannt werden, und jeder kann sein eigenes Koordinatensystem definieren. Dementsprechend können die Stellendaten aus Schritt 504 aus dem Koordinatensystem des Sensors, in dem das Merkmal erkannt wurde, in ein gemeinsames Koordinatensystem übertragen werden, wie etwa ein Koordinatensystem von einem der Sensoren, welches als das gemeinsame Koordinatensystem bezeichnet wird. Die Übertragung kann durch einen Kalibrierungsschritt bestimmt werden, wobei Objekte an bekannten Stellen mithilfe der verschiedenen Sensoren und den beurteilten Sensorausgaben erkannt werden, um Sensorausgaben auf dem gemeinsamen Koordinatensystem abzubilden.
  • Das Verfahren 500 kann Beurteilen 506 beinhalten, ob das Merkmal einem vorhandenen Tracklet zugeordnet wurde. Jedes Tracklet kann ein Datenobjekt sein, das einige oder alle der Daten der Merkmale, die bei Schritt 504 identifiziert wurden, z. B. eine Stelle und ein Ausmaß, enthält. Das Tracklet kann ferner einen Kurs beinhalten. Dementsprechend kann Schritt 506 Bestimmen beinhalten, ob ein Merkmal eine Stelle und ein Ausmaß gemäß einem bestehenden Tracklet aufweist, z. B. innerhalb von einigen Toleranzwerten der Stelle und des Ausmaßes der Stelle und des Ausmaßes eines bestehenden Tracklets. Ein Tracklet kann einen Kurs beinhalten, sodass eine vorhergesagte Stelle des Objekts anhand des Verlaufs bestimmt werden kann. Dementsprechend kann Schritt 506 Bestimmen beinhalten, ob die Größe und das Ausmaß des Merkmals dem Ausmaß und der vorhergesagten Stelle eines bestehenden Tracklets entsprechen, z. B. innerhalb einiger Toleranzen dieser Werte.
  • Sollte dies nicht der Fall sein, kann ein Tracklet erstellt 508 werden. In einigen Ausführungsformen wird ein Tracklet für ein erkanntes Merkmal nur dann erstellt, wenn bestimmten Bedingungen erfüllt sind, wie etwa wiederholte Erkennung des Merkmals für eine minimale Anzahl an Datenrahmen und/oder Verhalten, das mit einem reellen Objekt konsistent ist. Zum Beispiel kann Schritt 508 durch Ausführen des Verfahrens 600 aus 6 durchgeführt werden, welches Unterlassen des Erstellens eines Tracklets unter einigen Umständen beinhalten kann.
  • Wenn festgestellt 506 wurde, dass ein entsprechendes Tracklet vorhanden ist, kann das Verfahren 500 Aktualisieren 510 dieses Tracklets beinhalten. Zum Beispiel können die Stelle und das Ausmaß des Merkmals, das bei Schritt 504 identifiziert wurde, zum Tracklet hinzugefügt werden, wenn die letzte Stelle und das letzte Ausmaß gemessen wurden. Das Aktualisieren 510 kann Hinzufügen der Daten aus dem Datenobjekt aus Schritt 504 zum Tracklet und Durchführen von Kalman-Filtern in Bezug auf die Daten aus Schritt 504 und aus Schritt 504 für vorherige Iterationen des Verfahrens 500 beinhalten. Wie im Fach bekannt, kann Kalman-Filtern für die Objektnachverfolgung mithilfe von verschiedenen Sensorausgaben verwendet werden, um Sensorrauschen zu entfernen und eine Schätzung eines Objektverlaufs bereitzustellen.
  • Das Verfahren 500 kann Aktualisieren 512 der Wahrscheinlichkeit des Tracklets, das bei Schritt 510 aktualisiert oder bei Schritt 508 erstellt wird, beinhalten. In einigen Ausführungsformen kann Aktualisieren 512 Verarbeiten der Merkmale, die bei Schritt 504 identifiziert wurden, gemäß einem Bayesschen statistischen Modell beinhalten, wobei jede Sensorausgabe verarbeitet wird, um einen Einfluss auf eine Wahrscheinlichkeit, dass ein Objekt, das von dem Tracklet dargestellt wird, vorhanden ist, zu bestimmen. Bei einem vorhandenen Tracklet kann Schritt 512 Durchführen einer Bayesschen Wahrscheinlichkeitsaktualisierung mithilfe des bei Schritt 504 identifizierten Merkmals beinhalten.
  • In einigen Ausführungsformen kann Aktualisieren 512 der Trackletwahrscheinlichkeit Aktualisieren der Wahrscheinlichkeit beinhalten, sodass nur die Anzahl an Malen, die das Objekt, das von dem Tracklet dargestellt wird, identifiziert wird, die Wahrscheinlichkeit bestimmt. In anderen Ausführungsformen können andere Daten in das statistische Modell integriert werden, wie etwa die Varianz des Sensors, in dem das Merkmal aus Schritt 504 identifiziert wurde, die Änderung der Stellendaten in Bezug auf den Kalman-gefilterten Verlauf, oder andere Faktoren. In einigen Ausführungsformen kann ein Abstand zu einem Merkmal ein Faktor beim Aktualisieren 512 der Wahrscheinlichkeit sein, sodass die Wahrscheinlichkeit für Merkmale, die sich näher am Fahrzeug 300a befinden, im Vergleich zu Merkmalen, die sich weiter weg vom Fahrzeug 300a befinden, weiter erhöht wird.
  • Der Wahrscheinlichkeitsaktualisierungsschritt 512 ermöglicht das Zusammenfügen von Ausgaben von mehreren Sensoren, in dem jedes Mal, wenn das Objekt, das einem Tracklet entspricht, von einem beliebigen Sensor erkannt wird, die Wahrscheinlichkeit zunimmt. Dementsprechend kann die Stelle eines Objekts mithilfe von verschiedenen Sensoren mit verschiedenen Erfassungsmodalitäten bestätigt werden, um falsch-positive Ergebnisse aufgrund von Rauschen in der Ausgabe eines einzelnen Sensors oder eines Typs von Sensors zu vermeiden.
  • Wenn festgestellt 514 wird, dass die bei Schritt 512 aktualisierte Wahrscheinlichkeit ein Schwellenkonfidenzniveau erfüllt, können eine oder mehrere Maßnahmen ergriffen werden. Zum Beispiel kann ein Objekt an der Stelle und mit dem Kurs, der im Tracklet protokolliert wurde, zu einem Satz von möglichen Hindernissen hinzugefügt 516 werden und Kollisionsvermeidung kann in Bezug auf diesen Satz von Hindernissen durchgeführt werden. In einigen Ausführungsformen kann ein Alarm für einen Fahrer generiert werden, wenn der Kurs des Fahrzeugs 300a und das Objekt angeben, dass eine Kollision ohne Änderung der Peilung auftritt. Dies ist besonders dann nützlich, wenn das Fahrzeug 300a kein autonomes Fahrzeug ist oder halbautonom mit der Möglichkeit eines Eingreifens durch den Menschen betrieben wird.
  • Unter Bezugnahme auf 6 kann das veranschaulichte Verfahren 600 bei Schritt 508 des Verfahrens 500 ausgeführt werden, um zu bestimmen, ob ein Tracklet für ein Merkmal, das in der Ausgabe von einem oder mehreren Sensoren erkannt wurde, zu erstellen ist.
  • Das Verfahren 600 kann Identifizieren 602 von Eigenschaften des Merkmals aus den Sensordaten beinhalten, wie etwa der Stelle, des Ausmaßes, der Form oder dergleichen. Das Verfahren 600 kann ferner Bestimmen beinhalten, ob das Merkmal das n-te Auftreten dieses Merkmals in einem Satz von N zusammenhängenden Sensorrahmen ist, wobei N eine ganze Zahl ist, wie etwa eine ganze Zahl von 10 bis 30, vorzugsweise 20. Die Sensorrahmen können einen Satz von Daten, der von einem bestimmten Sensor erhalten wird, darstellen. Die N Sensorrahmen können Sensorrahmen von dem gleichen Sensor oder von mehreren Sensoren mit unterschiedlichen Erfassungsmodalitäten sein. Ob das Merkmal in den N zusammenhängenden Rahmen vorhanden ist, kann Bestimmen beinhalten, dass ein Merkmal mit den Eigenschaften aus Schritt 602 (Ausmaß, Stelle, Form usw.) in den N zusammenhängenden Rahmen vorhanden war.
  • Das Verfahren 600 kann ferner Beurteilen 604 beinhalten, ob die Änderung der Stelle des Merkmals in den N zusammenhängenden Rahmen mit einem reellen Objekt konsistent ist. Ein Objekt kann beweglich sein, dementsprechend kann, ob die N zusammenhängenden Rahmen Merkmale beinhalten, die wahrscheinlich dem gleichen Objekt entsprechen, Bestimmen 606 beinhalten, dass Merkmale mit einer konsistenten Stelle und/oder Form in den N Rahmen vorhanden sind und eine Änderung der Stelle zwischen Rahmen aufweisen, die mit einem reellen Verlauf konsistent ist, z. B. mit einer Geschwindigkeit, Beschleunigung, einem Wenderadius usw., die/der einem reellen Objekt entspricht.
  • Wenn festgestellt wird, dass die Bedingungen aus den Schritten 604 und 606 erfüllt sind, kann ein Tracklet erstellt 608 werden, welches die Daten oder Werte, die von den Daten abgeleitet sind, die in den Merkmalen der N zusammenhängenden Rahmen enthalten sind, beinhaltet. Sollte dies nicht der Fall sein, kann das Verfahren 600 ohne Erstellen eines Tracklets für das Merkmal enden. Ein Tracklet kann in nachfolgenden Iterationen des Verfahrens 600 erstellt werden, vorausgesetzt, dass die Bedingungen von einem oder beiden der Schritte 604 und 606 erfüllt sind.
  • Unter Bezugnahme auf 7 veranschaulicht das veranschaulichte Diagramm die Veränderung eines Tracklets im Laufe der Zeit. Die Merkmale 700a-700c stellen Merkmale dar, die in der Ausgabe eines Sensors erkannt wurden, die Merkmale 702a, 702b stellen Merkmale dar, die in der Ausgabe eines zweiten Sensors erkannt wurden, und Merkmal 704 stellt ein Merkmal dar, das in der Ausgabe eines dritten Sensors erkannt wurde. Bei dem ersten, zweiten und dritten Sensor kann es sich um unterschiedliche Typen von Sensoren mit unterschiedlichen Erfassungsmodalitäten handeln, z. B. eine linsenbasierte Kamera, ein LIDAR-Sensor, RADAR-Sensor, Ultraschallsensor und dergleichen.
  • Beim Erkennen von Merkmal 700a kann ein Tracklet erstellt werden, wie etwa als Reaktion auf das Ausführen des Verfahrens 600. Eine erste Wahrscheinlichkeit P(0) wird berechnet, wobei eine Konfidenz angegeben wird, dass das Objekt tatsächlich vorhanden ist, auf der Grundlage, dass das Merkmal 700a in der Sensorausgabe festgestellt wurde.
  • Zu einem anschließenden Zeitpunkt wird erkannt und bestimmt, dass die Merkmale 700b und 702a zu dem gleichen Tracklet gehören wie Merkmal 700a, wie etwa, da sie auf einem Kurs 706a für Merkmal 700a liegen, mit einem Abstand zu Merkmal 700a innerhalb der Toleranz und einem gleichen Ausmaß und/oder einer gleichen Form wie das Merkmal 700a, oder aufgrund von anderen Kriterien.
  • Ein aktualisierter Kurs 706b für das Tracklet kann auf Grundlage des Merkmals 700a und der neueren Merkmale 700b, 702a berechnet werden. Wie vorstehend angemerkt, kann der Kurs 706b durch Kalman-Filtern dieser Merkmale 700a, 700b, 702a berechnet werden.
  • Eine aktualisierte Wahrscheinlichkeit P(1) wird berechnet, welche die Konfidenz angibt, dass das Tracklet ein reelles Objekt angesichts der Merkmale 700a, 700b und 702a darstellt. Wie vorstehend angemerkt, kann dies Durchführen einer Bayesschen Wahrscheinlichkeitsaktualisierung auf Grundlage der Merkmale 700b, 702a beinhalten.
  • Zu einem späteren Zeitpunkt werden die Merkmale 700c, 702b und 704 erkannt und mit dem Tracklet verbunden. Ein anderer aktualisierter Verlauf 706c wird wie vorstehend beschrieben berechnet und eine aktualisierte Wahrscheinlichkeit P(2) wird auf Grundlage der letzten Merkmale 700c, 702b, 704 berechnet. An einem bestimmten Punkt wird die Wahrscheinlichkeit P(2) groß genug, sodass bestimmt wird, dass das Objekt real ist. Dementsprechend kann die Fahrzeugsteuerung 102 Hindernisvermeidung in Bezug auf das Objekt durchführen.
  • In dem Beispiel aus 7, wenn ein Objekt zuerst bei einem großen Abstand erkannt wird, gibt es wenige Merkmale, die dem Objekt entsprechen. Wenn sich das Objekt nähert, werden zunehmend weitere Merkmale erkannt und zur Aktualisierung des Tracklet verwendet. Die Wahrscheinlichkeit sammelt deshalb die Auswirkung dieser Merkmale im Laufe der Zeit, sodass, wenn das Objekt zu einer möglichen Gefahr wird, die Wahrscheinlichkeit den Schwellenwert überschreitet und die Hindernisvermeidung durchgeführt werden kann.
  • Im Gegensatz dazu überschreiten Merkmale, die mit einem Tracklet verbunden sind, zusammen mit vielen Merkmalen im Laufe der Zeit von mehreren Sensoren nicht den Schwellenwert und werden ignoriert. Dies beinhaltet Merkmale, die Objekten entsprechen, die sich dem Fahrzeug 300a nicht nähern, und erkannte Merkmale, die das Ergebnis von Sensorrauschen anstelle eines tatsächlichen Objekts sind.
  • Wie dies aus den 5-7 ersichtlich ist, versuchen die gezeigten statistischen Verfahren, die Stelle und möglicherweise die Geschwindigkeit einzelner Objekte nachzuverfolgen. Dementsprechend können die Annotationen aus Schritt 308 für die Verfahren 300a, 300b Annotation mit der tatsächlichen Stelle von Hindernissen im Szenario beinhalten. Diese Stellen können dann mit den Trackletstellen verglichen werden, um zu bestimmen, ob das Tracklet einem Hindernis im Szenario entspricht oder falsch positiv ist und ob ein Hindernis überhaupt nicht erkannt wurde, d. h. falsch negativ ist.
  • Wie vorstehend beschrieben, wird ein statistisches Modell bei Schritt 512 verwendet, um die Trackletwahrscheinlichkeit zu aktualisieren. Dieses Modell kann auf Grundlage des Vergleichs von Schritt 312 der Verfahren 300a, 300b angepasst werden. Für einen bestimmten Sensor kann das statistische Modell eine Funktion beinhalten, die eine Menge definiert, durch die die Wahrscheinlichkeit als Reaktion auf eine Erkennung erhöht wird. Parameter, die diese Funktion definieren, können angepasst werden, um falsch positive und falsch negative Ergebnisse zu reduzieren. Für den gleichen Satz von simulierten Sensorausgaben können die Verfahren aus den 5-6 zum Beispiel wiederholt mit den Parametern der Wahrscheinlichkeitsaktualisierungsfunktionen für die verschiedenen Sensoren, die bei jeder Iteration angepasst werden, ausgeführt werden, um die Anzahl an falsch positiven und falsch negativen Ergebnissen zu reduzieren.
  • 8 veranschaulicht ein anderes Szenario, in dem ein Fahrzeug 800, das die Steuerung 122 aufnimmt, nach hinten gerichtete Sensoren 128a, 128b, wie etwa LIDAR-, RADAR-, Ultraschall- oder andere Sensoren, aufweisen kann. Das Fahrzeug 800 kann ferner nach hinten gerichtete Kameras 124a, 124b beinhalten. Die nach hinten gerichteten Kameras 124a, 124b können binokulares Sehen umsetzen, sodass die dreidimensionale Stelle von Objekten von den Ausgaben der Kameras 124a, 124b bestimmt werden kann. Die Ausgaben der Sensoren 128a, 128b können außerdem in der Form von dreidimensionalen Daten vorliegen, wie etwa in der Form einer Punktwolke, wobei jeder Punkt eine Stelle angibt, bei der Material erkannt wurde. Andere Sensoren 128c, 128d können Objekte in seitlichen Regionen erkennen und Sensoren 128e, 128f können Hindernisse in vorderen Regionen des Fahrzeugs 800 erkennen. Nach vorn gerichtete Kameras 124c, 124d können außerdem zur Erkennung von vorderen Hindernissen verwendet werden. Obwohl die hierin offenbaren Systeme und Verfahren besonders zum Verbessern der Sicherheit beim Rückwärtsfahren nützlich sind, können sie außerdem für die Bewegung nach vorn mit nach vorn gerichteten Kameras und anderen Sensoren angewandt werden.
  • Für die Verfahren 300a, 300b kann das in 8 veranschaulichte Szenario mit dem Fahrzeug 800 und dessen entsprechenden Sensoren modelliert werden, die durch Modelle und Wahrnehmung des Szenarios, das gemäß den Modellen des Szenarios simuliert wurde, ersetzt werden. Im Nachfolgenden sind Bezüge auf das Fahrzeug 800 und die Wahrnehmung durch die Sensoren 124a-124d, 128a-128e so zu verstehen, dass sie sich auf Modelle dieser Komponenten beziehen, wenn sie im Zusammenhang mit den Verfahren 300a, 300b durchgeführt werden.
  • Die hierin offenbarten Verfahren betreffen insbesondere eine Zone von Interesse 802 hinter dem Fahrzeug 800. Wie ersichtlich ist, erstreckt sich die Zone von Interesse 802 längs hinter das Fahrzeug 800 und kann sich außerdem seitlich zu einer Seite des Fahrzeugs 800 erstrecken. Mindestens einige der Abbildungsvorrichtungen 124a-124d und mindestens einige der anderen Sensoren 128a-128f haben mindestens diese Zone von Interesse 802 in ihrem Sichtfeld. In einigen Ausführungsformen können sich die Sichtfelder der Abbildungsvorrichtungen 124a, 124b und anderer nach hinten gerichteter Sensoren 128a, 128b weiter als diese Zone von Interesse 802 erstrecken. In einigen Ausführungsformen können Merkmale der Sensorausgaben, die eine Stelle außerhalb der Zone von Interesse 802 angeben, ignoriert werden oder weisen im Vergleich zu Merkmalen, die sich in der Zone von Interesse 302 befinden, einen reduzierten Einfluss auf die Wahrscheinlichkeit auf, dass sich ein Objekt in der Zone von Interesse 802 befindet.
  • Die Objekte 804a, 804b, die sich innerhalb der Zone von Interesse 802 befinden, werden von den Abbildungsvorrichtungen 124a, 124b und anderen Sensoren 128a, 128b erkannt und ein Bremsen des Fahrzeugs 800 kann erfolgen. Das Verfahren, mit dem die Objekte 804a, 804b erkannt werden, wird nachfolgend unter Bezugnahme auf 9 beschrieben.
  • Unter Bezugnahme auf 9 kann das veranschaulichte Verfahren 900 Empfangen von Ausgaben der Abbildungsvorrichtungen 124a, 124b und anderer Sensoren 126a, 126b beinhalten. Das Verfahren 900 kann von dem Serversystem 102 im Zusammenhang mit den Verfahren 300a, 300b oder von der Fahrzeugsteuerung 122, wenn es für eine tatsächliche Hinderniserkennung verwendet wird, ausgeführt werden. Das Verfahren 900 kann für Ausgaben von allen der Abbildungsvorrichtungen 124a, 124b und anderen Sensoren 126a, 126b durchgeführt werden, sodass ein beliebiges Merkmal in der Ausgabe eines beliebigen Sensors zu einer Erhöhung der Wahrscheinlichkeit, dass ein Objekt innerhalb der Zone von Interesse 802 vorhanden ist, beitragen kann. Insbesondere kann eine einzelne Wahrscheinlichkeitsmetrik auf Grundlage des Erkennens von verschiedenen Objekten durch verschiedene Sensoren aktualisiert werden.
  • Das Verfahren 900 kann Empfangen 902 von Sensordaten beinhalten. Das Verfahren 900 kann in Bezug auf jeden Rahmen von Sensordaten, die von den Abbildungsvorrichtungen 124a, 124b und den anderen Sensoren 126a, 126b (im Nachfolgenden „Erfassungsvorrichtungen“) empfangen wurden, ausgeführt werden. Das Verfahren 900 kann Rahmen von Sensordaten von mehreren Erfassungsvorrichtungen einzeln oder gleichzeitig verarbeiten. Wenn das Verfahren 900 im Zusammenhang mit den Verfahren 300a, 300b ausgeführt wird, beziehen sich „Erfassungsvorrichtungen“ auf die Modelle von Erfassungsvorrichtungen und die Sensordaten oder Sensorausgaben beziehen sich auf simulierte Sensorausgaben, die die Wahrnehmung des Szenarios simulieren.
  • Das Verfahren 900 kann Beurteilen 904 beinhalten, ob ein Objekt in der Sensorausgabe erkannt wird, was ein Paar von binokularen Bildern, eine Punktwolke, erkannte Radar- oder Ultraschallreflexionen oder eine beliebige andere Sensorausgabe sein kann. Die Art und Weise, in der Objekte in diesen Ausgaben erkannt werden, kann Verwenden eines beliebigen im Fach bekannten Verfahrens zum Erkennen von Objekten mithilfe von binokularen Sehens, RADAR-Sensor, LIDAR-Sensor, Ultraschallsensor oder eines anderen Typs von Sensor zum Erkennen der Umgebung eines Fahrzeugs beinhalten. Das Erkennen 904 eines Objekts kann genau oder nicht genau sein, sofern Sensoren falsch positive Ergebnisse aufweisen können. Dementsprechend kann das Erkennen 904 eines Objekts Erkennen eines Merkmals in der Ausgabe einer Erfassungsvorrichtung, die ein mögliches Hindernis angibt, beinhalten. Dementsprechend beziehen sich Bezüge auf erkannte Objekte im Nachfolgenden auf das Verarbeiten von Hindernis-angebenden Merkmalen in Sensorausgaben.
  • Wenn ein Objekt erkannt 904 wird, können die übrigen Elemente des Verfahrens 900 ausgeführt werden. Dies kann Bestimmen 906 eines Abstands zum erkannten Objekt beinhalten. Dies kann ein beliebiges im Fach bekanntes Verfahren zum Erkennen der Stelle der Objekte mithilfe von binokularem Sehen, RADAR-Sensor, LIDAR-Sensor, Ultraschallsensor oder eines anderen Typs von Sensor zum Erkennen der Umgebung eines Fahrzeugs beinhalten. In einigen Ausführungsformen kann das Erkennen 904 eines Objekts grundsätzlich Bestimmen seiner Stelle beinhalten, sodass Schritt 906 keinen anderen Schritt beinhaltet.
  • Die Erfassungsvorrichtungen können eine Stelle eines Objekts in verschiedenen Koordinatensystemen oder verschiedenen Formen, wie etwa in der Form einer Zeit bis zum Aufprall, bereitstellen. Dementsprechend kann Schritt 906 Übertragen der Stellen in ein gemeinsames Koordinatensystem oder eine gemeinsame Abstandsmetrik beinhalten, z. B. einen Längsabstand hinter dem Fahrzeug 800 oder einen seitlichen Abstand von einer Längsmittellinie des Fahrzeugs 800.
  • Jede der Erfassungsvorrichtungen kann eine Varianz aufweisen, die eine Ungewissheit bei einem oder beiden des Abstands zu einem Objekt, der anhand einer Ausgabe des Sensors bestimmt wurde, und ob ein Objekt tatsächlich vorhanden ist, wenn ein Merkmal in der Sensorausgabe angibt, dass ein Objekt vorhanden ist, angibt.
  • In einigen Fällen kann diese Varianz direktional sein, d. h., ein Sensor kann eine Längsstelle eines Objekts genauer erfassen als die seitliche Stelle eines Objekts, oder umgekehrt. Dementsprechend kann ein Sensor eine Längsvarianz und eine seitliche Varianz aufweisen. Wenn festgestellt 908 wird, dass ein Sensor, von dem die Ausgabe aus Schritt 902 empfangen wurde, eine direktional abhängige Varianz aufweist, kann das Verfahren 900 Aktualisieren 910 der direktionalen Wahrscheinlichkeiten beinhalten.
  • Insbesondere kann eine Wahrscheinlichkeit für jede Ausgabe, bei der festgestellt 904 wurde, dass sie das Vorhandensein eines Objekts angibt, derart aktualisiert werden, dass die Wahrscheinlichkeit jedes Mal, wenn die Erfassungsvorrichtungen ein Objekt erfassen, zunimmt. In einigen Ausführungsformen wird die Wahrscheinlichkeit gemäß einer Funktion aktualisiert, die sowohl mit der Anzahl an Malen, die eine Ausgabe angibt, dass ein Objekt vorhanden ist, als auch einem Abstand zu einem erfassten Objekt, der von dieser Ausgabe angegeben wird, zunimmt. In einigen Ausführungsformen kann die Wahrscheinlichkeit gemäß einer Funktion aller der folgenden Parameter aktualisiert werden: (a) der Anzahl an Malen, die die Sensorausgaben Objekte angeben, (b) dem Abstand der erfassten Objekte und (c) einer Varianz des Sensors, der das Vorhandensein der erfassten Objekte angibt. Insbesondere ist der Betrag, durch den die Wahrscheinlichkeit als Reaktion auf das Erkennen 904 eines Objekts zunimmt, mit einem kleineren Abstand zu dem Objekt und mit einer kleineren Varianz im Sensor, der das Objekt erkannt hat, größer.
  • Wenn die Wahrscheinlichkeit null ist, d. h., es wurde vorher kein Objekt erkannt, kann die Wahrscheinlichkeit auf Grundlage dieser Parameter mithilfe einer Bayesschen Wahrscheinlichkeitsfunktion berechnet werden. Wenn die Wahrscheinlichkeit nicht null ist, kann die Wahrscheinlichkeit als Reaktion auf jede Erkennung 904 eines Objekts gemäß diesen Parametern mithilfe einer Bayesschen Wahrscheinlichkeitsaktualisierungstechnik aktualisiert werden.
  • Im Falle einer direktional abhängigen Varianz können direktionale Wahrscheinlichkeiten, z. B. eine längliche Wahrscheinlichkeit und eine seitliche Wahrscheinlichkeit, aktualisiert 910 oder zuerst berechnet werden, wenn die längliche Wahrscheinlichkeit gemäß dem Abstand und der länglichen Varianz der Erfassungsvorrichtung berechnet wird und die seitliche Wahrscheinlichkeit gemäß dem Abstand und der seitlichen Varianz der Erfassungsvorrichtung berechnet wird.
  • Wenn eine Erfassungsvorrichtung, von der die Sensordaten aus Schritt 902 empfangen wurden, keine direktionale Abhängigkeit aufweist, kann eine einzelne allgemeine Abhängig mithilfe der gleichen Parameter und in der gleichen Art und Weise wie für die direktionalen Wahrscheinlichkeiten aktualisiert 912 werden. Alternativ kann Schritt 912 Aktualisieren 912 der direktionalen Wahrscheinlichkeiten mithilfe der direktional unabhängigen Varianz der Erfassungsvorrichtungen 104a, 104b, 106a, 106b beinhalten, um beide direktionale Wahrscheinlichkeiten zu aktualisieren.
  • Das Verfahren 900 kann Beurteilen 914 beinhalten, ob ein Wahrscheinlichkeitsschwellenwert erfüllt wurde. Dies kann beinhalten, dass Beurteilen von einer oder mehreren der allgemeinen Wahrscheinlichkeit oder der direktionalen Wahrscheinlichkeiten einen Konfidenzschwellenwert überschreitet, z. B. mindestens 70 %, 80 %, 90 % oder einen anderen minimalen Prozentsatz der Gewissheit.
  • Sollte dies der Fall sein, können von der Steuerung Maßnahmen ergriffen 916 werden, wie etwa automatisches Aktivieren der Bremsen, Reduzieren oder Stoppen der Beschleunigung, Generieren eines wahrnehmbaren Alarms für einen Fahrer, autonomes Navigieren des Fahrzeugs 300 um die erkannten 904 Objekte oder eine beliebige andere Maßnahme zum Verhindern oder Reduzieren von Schäden, die durch einen Aufprall verursacht werden.
  • In der Praxis führt das Verfahren 900 zu einer Erhöhung der Wahrscheinlichkeit für erfasste Objekte, die sich vom Fahrzeug entfernt befinden. Die Wahrscheinlichkeit nimmt schnell zu, wenn sich ein Objekt nähert, da (a) der Abstand ein Faktor beim Berechnen der Wahrscheinlichkeit ist und kleiner wird, (b) mehr Sensoren das Objekt erkennen und (c) das Objekt eine zunehmende Anzahl an Malen erkannt wird, wenn es sich näher zum Fahrzeug bewegt und die Wahrscheinlichkeit jedes Mal zunimmt, wenn ein Objekt erkannt wird. Die Wahrscheinlichkeit kann derart berechnet werden, dass das Vorhandensein des Objekts in der Zone von Interesse 802 eine ausreichend große Auswirkung auf die Wahrscheinlichkeit, die der Schwellenwert aus Schritt 916 erfüllt, aufweist.
  • In einigen Ausführungsformen kann die Wahrscheinlichkeit (allgemein und direktional) bei Abwesenheit einer Erkennung 904 eines Objekts in der Ausgabe eines Sensors abklingen 918.
  • Wenn beispielsweise keine Objekte in den Ausgaben eines beliebigen Sensors für einen oder mehrere Datenrahmen erkannt werden, kann die Wahrscheinlichkeit abklingen 918, wie etwa gemäß einer exponentiellen Abklingfunktion oder gemäß einer Bayesschen Wahrscheinlichkeitsaktualisierung, wobei die zusätzlichen Informationen eine Abwesenheit von Daten darstellen, die die Wahrscheinlichkeit bestätigen, die von dem statistischen Modell angegeben wird. Der Betrag des Abklingens kann mit einer Zeitmenge, die zwischen einem Datenrahmen eines beliebigen Sensors, der ein Objekt angibt, und einer aktuellen Zeit, zu der das Verfahren 900 ausgeführt wird, verstreicht, zunehmen.
  • In vielen Beispielen können Objekte vorübergehend in oder nahe der Zone von Interesse 302 vorhanden sein. Ähnlich hierzu kann Sensorrauschen zu einer vorübergehenden Wahrnehmung von Objekten in der Ausgabe einer Erfassungsvorrichtung 104a, 104b führen. Dementsprechend würden nicht alle wahrgenommenen Objekte erfordern, dass Bremsen oder andere Maßnahmen eingeleitet werden. Das Abklingen 918 der Wahrscheinlichkeit kann den Einfluss dieser vorübergehenden Erkennungen reduzieren.
  • In einigen Ausführungsformen kann der Einfluss vorübergehender Erkennungen weiter reduziert werden, und der Einfluss des Erhöhens der Wahrscheinlichkeit kann durch Verstärken 920 von Trends bei der Wahrscheinlichkeit (allgemein oder direktional) verstärkt werden. Wenn beispielsweise die Wahrscheinlichkeit im Laufe der Zeit abklingt, kann das Abstimmen von Parametern spezifiziert werden und es kann veranlasst werden, dass die Wahrscheinlichkeit weiter abklingt, und zwar gemäß einer Funktion der Rate des Abklingens der Wahrscheinlichkeit und des Abstimmens der Parameter.
  • Ähnlich hierzu kann das Verstärken 920 von Trends Erhöhen der Wahrscheinlichkeit als eine Funktion des Abstimmens von Parametern und einer Rate der Erhöhung der Wahrscheinlichkeit im Laufe der Zeit beinhalten, d. h. als Reaktion auf die Erkennung 904 von Objekten für zwei oder mehrere Iterationen des Verfahrens 900. Auf diese Weise wird der Einfluss von Objekten, die nicht vorübergehend sind und eine Erhöhung der Wahrscheinlichkeit (allgemein oder direktional) verursachen, erhöht, wodurch sichergestellt wird, dass die Wahrscheinlichkeit schnell den Schwellenwert erreicht, der eine Maßnahme beginnt, wie etwa Aktivieren 916 der Bremsen.
  • Wenn das Verfahren 900 im Zusammenhang mit einer Simulation gemäß den Verfahren 300a, 300b ausgeführt wird, kann Schritt 916 ausgelassen oder durch simuliertes Bremsen ersetzt werden, d. h. Simulieren von Bremsen des Modells des Fahrzeugs 800 im Szenario. Insofern, dass die Ausgabe des Verfahrens 900 eine Bestimmung ist, dass die Zone von Interesse 802 belegt ist, können die Annotationen von Schritt 308 aus diesem Grund für einen gegebenen Zeitschritt beinhalten, ob die Zone von Interesse 802 im Szenario belegt ist. Dementsprechend kann die Bestimmung von Schritt 914 mit den Annotationen verglichen werden, um falsch positive Ergebnisse (Zone ist im Szenario nicht belegt, aber es wurde festgestellt 914, dass der Schwellenwert erfüllt ist) und falsch negative Ergebnisse (Zone ist belegt, aber es wurde nicht festgestellt 914, dass der Schwellenwert erfüllt ist) zu identifizieren.
  • Wie für andere hierin offenbarte Ausführungsformen können Parameter, die Wahrscheinlichkeitsaktualisierungsfunktionen der Schritte 912, 910 oder die Verstärkung 920 und das Abklingen 918 von Wahrscheinlichkeiten definieren, angepasst werden. Zum Beispiel können die gleichen Sensorausgaben wiederholt mit den gleichen Parametern, die angepasst werden, bei jeder Iteration verarbeitet werden, um die Anzahl an falsch positiven und falsch negativen Ergebnissen zu reduzieren.
  • Unter Bezugnahmen auf 10 stellt das veranschaulichte Verfahren 1000 einen rasterbasierten Ansatz zum Identifizieren von Hindernissen bereit. Das Verfahren 1000 kann von dem Serversystem 102 im Zusammenhang mit den Verfahren 300a, 300b oder von der Fahrzeugsteuerung 122, wenn es für eine tatsächliche Hinderniserkennung verwendet wird, ausgeführt werden. Das Verfahren 1000 wird nachfolgend unter Bezugnahme auf das beispielhafte Szenario aus 8 beschrieben.
  • Das Verfahren 1000 kann das Initialisieren eines Rasters beinhalten. Wie in 11 gezeigt, kann die Region, die das Fahrzeug umgibt, in Rasterquadrate unterteilt werden, wovon jedes eine Wahrscheinlichkeit der Belegung, die damit verbunden ist, aufweist. Bei Abwesenheit von Sensordaten kann das Raster derart initialisiert 1002 werden, dass die Wahrscheinlichkeit der Belegung jedes Rasterquadrats 50 % beträgt.
  • Das Verfahren 1000 kann Empfangen 1004 von Sensordaten beinhalten, die simulierte Sensordaten im Zusammenhang mit den Verfahren 300a, 300b oder tatsächliche Daten, wenn in einem tatsächlichen Fahrzeug verwendet, sind. Im Nachfolgenden sind die Bezüge auf „Sensordaten“ und „Sensoren“ so zu verstehen, dass sie sich auf tatsächliche Sensordaten von den Sensoren 124a-14d, 1128a-128f beziehen, wenn das Verfahren 500 von einer Fahrzeugsteuerung 122 durchgeführt wird. „Sensordaten“ und „Sensoren“ sind so zu verstehen, dass sie sich auf simulierte Sensordaten und Modelle von Sensoren beziehen, die ein Szenario wahrnehmen, wenn Verfahren 500 im Zusammenhang mit einem der Verfahren 300a, 300b durchgeführt wird.
  • Das Verfahren 1000 kann ferner Aktualisieren 1006 von Fahrzeugdynamik 1006 beinhalten. Dies kann Empfangen von Daten von Fahrzeugsensoren und einem oder mehreren Beschleunigungsmessern beinhalten, um die Geschwindigkeit des Fahrzeugs und möglicherweise andere Werte, wie etwa Gierrate, Lenkradwinkel, gelenkter Fahrzeugradwinkel oder dergleichen, zu bestimmen. Die Art und Weise, in der die Dynamik des Fahrzeugs anhand von Sensor- und/oder Beschleunigungsmesserdaten bestimmt wird, kann gemäß einem beliebigen fachbekannten Verfahren erfolgen.
  • Das Verfahren 1000 kann ferner Aktualisieren 1008 des Wahrscheinlichkeitsrasters gemäß einem oder beiden der Sensordaten aus Schritt 1004 und der Fahrzeugdynamik aus Schritt 1006 beinhalten. Einige Sensordaten stellen eine dreidimensionale (3D) Punktwolke bereit, wie etwa LIDAR-Daten oder Daten, die aus binokularem Sehen erhalten werden. Dementsprechend kann das Rasterquadrat, das eine oder mehrere Koordinaten, die einem festen Objekt entsprechen, überlagert, bei Schritt 1008 aktualisiert werden. Insbesondere kann die Wahrscheinlichkeit der Belegung jedes Mal, wenn eine Koordinate, die einem festen Objekt entspricht, das Rasterquadrat überlagert, erhöht werden.
  • In einigen Ausführungsformen kann ein Sensor eine Varianz aufweisen, die damit verbunden ist. Dementsprechend können Rasterquadrate, die eine Koordinate, die einem festen Objekt entspricht, nicht überlagert, außerdem aktualisiert werden, sodass ihre Wahrscheinlichkeit auf Grundlage ihrer Varianz zunimmt. Zum Beispiel kann für eine Koordinate x0, y0 eine Verteilungsfunktion f(x-x0, y-y0) definiert werden, welche die mögliche tatsächliche Stelle eines Objekts angibt, welches sich der Erkennung nach an Punkt x0, y0 befindet. Wenn diese Funktion nicht null beträgt oder einen Schwellenwert für Werte von x und y innerhalb der Grenzen eines Rasterquadrats überschreitet, kann die Wahrscheinlichkeit dieses Rasterquadrats entsprechend aktualisiert werden.
  • In einigen Ausführungsformen weist ein Sensor ein Sichtfeld auf und kann das Vorhandensein eines Objekts in diesem Sichtfeld angeben, stellt jedoch keine Koordinate bereit. Dementsprechend kann eine Funktion f(R,theta) die Wahrscheinlichkeit eines Objekts angeben, das bei einem gegebenen Radius und Winkel relativ zum Sensor vorhanden ist, wenn der Sensor angibt, dass das Objekt erkannt wurde. Für eine Sensorausgabe, die die Belegung des Sichtfelds des Sensors angibt, können Rasterquadrate, die dieses Sichtfeld überlagern, dementsprechend die erhöhte Wahrscheinlichkeit der Belegung davon als eine Funktion des Werts von f(R, theta) aufweisen, wobei R und theta dieser Rasterquadratstelle entsprechen. Das Aktualisieren 1008 der Wahrscheinlichkeiten der Rasterquadrate kann ferner Abklingen der Wahrscheinlichkeiten von einem oder mehreren Rasterquadraten beinhalten, die aufgrund einer Sensorausgabe nicht erhöht werden, wie vorstehend beschrieben. Für jeden Zeitschritt, in dem die Wahrscheinlichkeit eines Rasterquadrats nicht erhöht wird, kann die Wahrscheinlichkeit davon zum Beispiel gemäß einer Abklingfunktion reduziert werden.
  • 11 zeigt ein resultierendes Raster nach der Wahrnehmung des Szenarios aus 8. Die Schattierung jedes Rasterquadrats gibt die Wahrscheinlichkeit der Belegung dieses Rasterquadrats an. Dementsprechend sind Rasterquadrate, die die Stellen von Hindernisse 804a, 804b überlagern und/oder umgeben, schattiert dargestellt und weisen Wahrscheinlichkeiten ungleich null auf.
  • Das Verfahren 1000 kann ferner Aktualisieren 1010 der Zone von Interesse 802 beinhalten. Je schneller sich das Fahrzeug 800 bewegt, desto größer ist die Zone 802, sofern die Reaktionszeit, die erforderlich ist, um anzuhalten oder die Richtung zu ändern, erhöht wird. In einigen Ausführungsformen kann die Zone 802 bogenförmig sein, was einen bogenförmigen Pfad des Fahrzeugs angibt, wie er von einigen oder allen der Gierrate, des Lenkradwinkels und des gelenkten Fahrzeugradwinkels bestimmt wird. Dementsprechend kann die Zone 802 bei Schritt 1010 modifiziert werden, um aktuellen Werten von einigen oder allen der Gierrate, des Lenkradwinkels und des gelenkten Fahrzeugradwinkels zu entsprechen.
  • Das Verfahren 1000 kann ferner Beurteilen 1012 beinhalten, ob die Wahrscheinlichkeit von beliebigen der Rasterquadrate in der Zone von Interesse 802 eine Schwellenwahrscheinlichkeit überschreiten. Wie in 11 gezeigt, führt die Wahrnehmung des Szenarios in 8 zum Beispiel zu Quadraten, die den Stellen von Hindernissen 804a, 804b mit Wahrscheinlichkeiten, die den Schwellenwert überschreiten, entsprechen.
  • Wenn mindestens ein Rasterquadrat in der Zone von Interesse eine Wahrscheinlichkeit aufweist, die den Schwellenzustand überschreitet, können die eine oder mehreren Maßnahmen, wie etwa Bremsen 1014, Generieren eines hörbaren oder sichtbaren Alarms oder Lenken, um das Hindernis zu vermeiden, ergriffen werden.
  • Wenn das Verfahren 1000 im Zusammenhang mit den Verfahren 300a, 300b ausgeführt wird, können die Annotationen aus Schritt 308 die tatsächliche Belegung jedes Rasterquadrats angeben. Dementsprechend können die Wahrscheinlichkeiten der Rasterquadrate, die gemäß den simulierten Sensorausgaben berechnet wurden, mit den Annotationen verglichen werden. Rasterquadrate mit einer Wahrscheinlichkeit über dem Schwellenwert bei einem gegebenen Zeitschritt, für den sie nicht als für diesen Zeitschritt belegt annotiert sind, sind falsch positiv. Rasterquadrate mit einer Wahrscheinlichkeit unter dem Schwellenwert für einen Zeitschritt, für den sie als belegt annotiert sind, sind falsch positiv.
  • Verschiedene Parameter können experimentell angepasst werden, um die Anzahl an falsch positiven Ergebnissen und falsch negativen Ergebnissen zu reduzieren. Insbesondere können die Wahrscheinlichkeitsfunktionen von Sensoren und die Wahrscheinlichkeitsaktualisierungsfunktionen, die bei Schritt 1008 für einen gegebenen Wert der Wahrscheinlichkeitsfunktion für ein gegebenes Rasterquadrat verwendet werden, angepasst werden, um die Anzahl an falsch positiven und falsch negativen Ergebnisse zu reduzieren.
  • In der vorstehenden Offenbarung wurde auf die beigefügten Zeichnungen Bezug genommen, die einen Teil davon bilden und in denen zur Veranschaulichung konkrete Umsetzungen gezeigt sind, in denen die Offenbarung ausgeführt sein kann. Es versteht sich, dass andere Umsetzungen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „ein Ausführungsbeispiel“ usw. geben an, dass die beschriebene Ausführungsform ein/e bestimmte/s Merkmal, Struktur oder Eigenschaft beinhalten kann, doch es muss nicht notwendigerweise jede Ausführungsform diese/s bestimmte Merkmal, Struktur oder Eigenschaft beinhalten. Darüber hinaus beziehen sich solche Formulierungen nicht notwendigerweise auf dieselbe Ausführungsform. Ferner sei darauf hingewiesen, dass, wenn ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, es im Bereich des Fachwissens des Fachmanns liegt, ein(e) derartige(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen zu bewirken, ob dies nun ausdrücklich beschrieben ist oder nicht. Umsetzungen der hier offenbarten Systeme, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder verwenden, der Computerhardware beinhaltet, wie etwa beispielsweise einen oder mehrere Prozessoren und einen oder mehrere Systemspeicher, wie hier erörtert. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können außerdem physische und andere computerlesbare Medien zum Transportieren oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen einschließen. Bei derartigen computerlesbaren Medien kann es sich um beliebige verfügbare Medien handeln, auf die durch ein Universal- oder Spezialcomputersystem zugegriffen werden kann. Bei computerlesbaren Medien, auf denen computerausführbare Anweisungen gespeichert werden, handelt es sich um Computerspeichermedien (-vorrichtungen). Bei computerlesbaren Medien, die computerausführbare Anweisungen transportieren, handelt es sich um Übertragungsmedien. Daher können Umsetzungen der Offenbarung beispielsweise und nicht einschränkend mindestens zwei deutlich unterschiedliche Arten von computerlesbaren Medien umfassen: Computerspeichermedien (-vorrichtungen) und Übertragungsmedien. Computerspeichermedien (-vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke („SSDs“) (z. B. basierend auf RAM), Flash-Speicher, Phasenänderungsspeicher („PCM“), andere Speichertypen, andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das verwendet werden kann, um die gewünschten Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu speichern, und auf das durch einen Universal- oder Spezialcomputer zugegriffen werden kann.
  • Eine Umsetzung der hier offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetzwerk kommunizieren. Ein „Netzwerk“ ist als eine oder mehrere Datenverbindungen definiert, die den Transport elektronischer Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wenn Informationen über ein Netzwerk oder eine andere (entweder festverdrahtete, drahtlose oder eine Kombination aus festverdrahteter oder drahtloser) Kommunikationsverbindung an einen Computer übertragen oder diesem bereitgestellt werden, sieht der Computer die Verbindung korrekt als Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen beinhalten, die verwendet werden können, um gewünschte Programmcodemittel in der Form von computerausführbaren Anweisungen oder Datenstrukturen zu übertragen und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus den Vorstehenden sollten ebenfalls im Umfang computerlesbarer Medien eingeschlossen sein.
  • Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, die bei Ausführung an einem Prozessor einen Universalcomputer, Spezialcomputer oder eine Spezialverarbeitungsvorrichtung dazu veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen durchzuführen. Die computerausführbaren Anweisungen können beispielsweise Binärdateien, Zwischenformatanweisungen, wie etwa Assemblersprache, oder sogar Quellcode sein. Obwohl der Gegenstand in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben wurde, versteht es sich, dass der in den beigefügten Patentansprüchen definierte Gegenstand nicht notwendigerweise auf die vorstehend beschriebenen Merkmale oder Handlungen beschränkt ist. Die beschriebenen Merkmale und Handlungen werden vielmehr als beispielhafte Formen der Umsetzung der Patentansprüche offenbart.
  • Für den Fachmann versteht es sich, dass die Offenbarung in Netzwerkcomputerumgebungen mithilfe vieler Arten von Computersystemkonfigurationen durchgeführt werden kann, einschließlich eines Armaturenbrett-Fahrzeugcomputers, PCs, Desktop-Computern, Laptops, Nachrichtenprozessoren, Handvorrichtungen, Multiprozessorsystemen, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbarer Unterhaltungselektronik, Netzwerk-PCs, Minicomputern, Mainframe-Computern, Mobiltelefonen, PDAs, Tablets, Pagern, Routern, Switches, verschiedenen Speichervorrichtungen und dergleichen. Die Offenbarung kann zudem in Umgebungen mit verteilten Systemen angewendet werden, in denen sowohl lokale Computersysteme als auch entfernte Computersysteme, die durch ein Netzwerk (entweder durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination aus festverdrahteten und drahtlosen Datenverbindungen) verbunden sind, Aufgaben ausführen. In einer Umgebung mit verteilten Systemen können sich Programmmodule sowohl in lokalen Speichervorrichtungen als auch in Fernspeichervorrichtungen befinden.
  • Ferner können die hier beschriebenen Funktionen gegebenenfalls in einem oder mehreren der Folgenden ausgeführt werden: Hardware, Software, Firmware, digitale Komponenten oder analoge Komponenten. Beispielsweise können ein oder mehrere anwendungsspezifische integrierte Schaltkreise (application specific integrated circuits - ASICs) so programmiert sein, dass sie eines bzw. einen oder mehrere der hier beschriebenen Systeme und Vorgänge ausführen. Bestimmte Ausdrücke werden in der gesamten Beschreibung und den Patentansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Für den Fachmann versteht es sich, dass auf Komponenten durch unterschiedliche Bezeichnungen Bezug genommen werden kann. In dieser Schrift soll nicht zwischen Komponenten unterschieden werden, die sich dem Namen nach unterscheiden, nicht jedoch in Bezug auf die Funktion.
  • Es ist anzumerken, dass die vorstehend erörterten Sensorausführungsformen Computerhardware, -software, -firmware oder eine beliebige Kombination daraus umfassen können, um mindestens einen Teil ihrer Funktionen auszuführen. Beispielsweise kann ein Sensor Computercode beinhalten, der dazu konfiguriert ist, in einem oder mehreren Prozessoren ausgeführt zu werden, und kann eine Hardware-Logikschaltung/elektrische Schaltung beinhalten, die durch den Computercode gesteuert wird. Diese beispielhaften Vorrichtungen sind hier zum Zwecke der Veranschaulichung bereitgestellt und sollen nicht einschränkend sein. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen umgesetzt werden, wie es dem einschlägigen Fachmann bekannt ist. Mindestens einige Ausführungsformen der Offenbarung wurden Computerprogrammprodukten zugeführt, die eine solche Logik (z. B. in Form von Software) umfassen, die auf einem beliebigen computernutzbaren Medium gespeichert ist. Derartige Software veranlasst bei Ausführung in einer oder mehreren Datenverarbeitungsvorrichtungen eine Vorrichtung dazu, wie hierin beschrieben zu arbeiten.
  • Während vorstehend verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben wurden, versteht es sich, dass diese lediglich als Beispiele dienen und nicht als Einschränkung. Für den einschlägigen Fachmann wird ersichtlich, dass verschiedene Änderungen in Form und Detail daran vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Daher sollen die Breite und der Umfang der vorliegenden Offenbarung durch keines der vorstehend beschriebenen Ausführungsbeispiele eingeschränkt werden, sondern sollen lediglich in Übereinstimmung mit den folgenden Patentansprüchen und ihren Äquivalenten definiert sein. Die vorstehende Beschreibung wurde zum Zwecke der Veranschaulichung und Beschreibung dargelegt. Sie erhebt keinerlei Anspruch auf Vollständigkeit und soll die Offenbarung nicht auf die konkrete offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der vorstehenden Lehren möglich. Ferner ist anzumerken, dass beliebige oder alle der vorangehend genannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination verwendet werden können, um zusätzliche Hybridumsetzungen der Offenbarung zu bilden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 15/346210 [0015]
    • US 15/363763 [0015]

Claims (15)

  1. Verfahren, das Folgendes durch ein Computersystem umfasst: Simulieren der Wahrnehmung eines 3D-Modells durch einen oder mehrere Sensoren, um eine oder mehrere Sensorausgaben zu erhalten, sodass die eine oder mehreren Sensorausgaben Sensorrauschen simulieren; Annotieren der einen oder mehreren Sensorausgaben gemäß den Stellen von Hindernissen im 3D-Modell; und mindestens eines von Trainieren und Testen eines Modells gemäß der einen oder den mehreren Sensorausgaben und den Annotationen.
  2. Verfahren nach Anspruch 1, wobei der eine oder die mehreren Sensoren in Bezug auf das Modell eines Prüffahrzeugs definiert sind; wobei der eine oder die mehreren Sensoren durch eine oder mehrere Kamerastellen definiert sind; und wobei Simulieren der Wahrnehmung des 3D-Modells durch den einen oder die mehreren Sensoren Simulieren der Erkennung von Bildern des 3D-Modells von der einen oder den mehreren Kamerastellen umfasst.
  3. Verfahren nach Anspruch 1, wobei der eine oder die mehreren Sensoren in Bezug auf ein Modell eines Prüffahrzeugs definiert sind; wobei der eine oder mehreren Sensoren durch eine RADAR(radio detection and ranging)-Sensorstelle definiert sind; und wobei Simulieren der Wahrnehmung des 3D-Modells durch den einen oder die mehreren Sensoren Simulieren einer RADAR-Sensorausgabe gemäß der Wahrnehmung des 3D-Modells von der RADAR-Sensorstelle umfasst.
  4. Verfahren nach Anspruch 1, wobei der eine oder die mehreren Sensoren in Bezug auf ein Modell eines Prüffahrzeugs definiert sind; wobei der eine oder mehreren Sensoren durch eine LIDAR(light detection and ranging)-Sensorstelle definiert sind; und wobei Simulieren der Wahrnehmung des 3D-Modells durch den einen oder die mehreren Sensoren Simulieren einer LIDAR-Sensorausgabe gemäß der Wahrnehmung des 3D-Modells von der LIDAR-Sensorstelle umfasst.
  5. Verfahren nach Anspruch 1, wobei das 3D-Modell ferner eine Definition von Geschwindigkeiten für ein oder mehrere benachbarte Fahrzeuge und einer Geschwindigkeit eines Prüffahrzeugs beinhaltet, die eine oder mehrere Stellen des einen oder der mehreren Sensoren definiert.
  6. Verfahren nach Anspruch 1, wobei Simulieren der Wahrnehmung des 3D-Modells durch den einen oder die mehreren Sensoren zum Erhalten der einen oder mehreren Sensorausgaben, sodass die eine oder mehreren Sensorausgaben das Sensorrauschen simulieren, Folgendes umfasst: Identifizieren einer Stelle eines Hindernisses im 3D-Modell; Generieren von einer oder mehreren Sensorausgaben, die der Stelle des Hindernisses entsprechen, relativ zu Stellen des einen oder der mehreren Sensoren im 3D-Modell; und Hinzufügen von Rauschen zu der einen oder den mehreren Sensorausgaben gemäß einem oder mehreren Modellen von Abweichungen des einen oder der mehreren Sensoren.
  7. Verfahren nach Anspruch 1, wobei Simulieren der Wahrnehmung des 3D-Modells durch den einen oder die mehreren Sensoren zum Erhalten der einen oder mehreren Sensorausgaben, sodass die eine oder mehreren Sensorausgaben das Sensorrauschen simulieren, mindestens eines von Simulieren der Erkennung des 3D-Modells mit ausreichender Genauigkeit, dass das Sensorrauschen in der einen oder den mehreren Sensorausgaben vorhanden ist, umfasst.
  8. Verfahren nach Anspruch 1, wobei Annotieren der einen oder mehreren Sensorausgaben gemäß den Stellen von Hindernissen im 3D-Modell Annotieren der einen oder mehreren Sensorausgaben mit den Stellen von Hindernissen im 3D-Modell umfasst; und wobei mindestens eines von Trainieren und Testen des Modells gemäß der einen oder den mehreren Sensorausgaben und den Annotationen Testen eines statistischen Modells umfasst, das die Hindernisse nachverfolgt und eine Wahrscheinlichkeit für eine erwartete Stelle für jedes Hindernis der Hindernisse zuordnet.
  9. Verfahren nach Anspruch 1, wobei Annotieren der einen oder mehreren Sensorausgaben gemäß den Stellen von Hindernissen im 3D-Modell Annotieren der einen oder mehreren Sensorausgaben mit einem Belegungsstatus einer einem Modell eines Prüffahrzeugs benachbarten Region gemäß den Stellen der Hindernisse im 3D-Modell umfasst; wobei mindestens eines von Trainieren und Testen des Modells gemäß der einen oder den mehreren Sensorausgaben und den Annotationen Testen eines statistischen Modells umfasst, das eine Wahrscheinlichkeit der Belegung der Region gemäß der einen oder den mehreren Sensorausgaben aktualisiert.
  10. Verfahren nach Anspruch 1, wobei Annotieren der einen oder mehreren Sensorausgaben gemäß den Stellen von Hindernissen im 3D-Modell Annotieren der einen oder mehreren Sensorausgaben mit einem Raster umfasst, sodass jedes Quadrat des Rasters damit annotiert wird, ob jedes Quadrat durch eines der Hindernisse belegt ist; wobei mindestens eines von Trainieren und Testen des Modells gemäß der einen oder den mehreren Sensorausgaben und den Annotationen Testen eines statistischen Modells umfasst, das eine Wahrscheinlichkeit der Belegung von Quadraten des Rasters, die ein Fahrzeug umgeben, gemäß der einen oder den mehreren Sensorausgaben aktualisiert.
  11. System, das eine oder mehrere Verarbeitungsvorrichtungen und eine oder mehrere Speichervorrichtungen, die an die eine oder mehreren Speichervorrichtungen wirkgekoppelt sind, umfasst, wobei die eine oder mehreren Speichervorrichtungen einen ausführbaren Code speichern, der wirksam ist, die eine oder mehreren Verarbeitungsvorrichtungen zu Folgendem zu veranlassen: Definieren eines dreidimensionalen (3D) Modells, das ein Prüffahrzeug beinhaltet, das eine oder mehrere Sensorstellen und ein oder mehrere Hindernisse definiert; Simulieren der Wahrnehmung des 3D-Modells durch einen oder mehrere Sensoren an der einen oder den mehreren Sensorstellen, um eine oder mehrere Sensorausgaben zu erhalten, sodass die eine oder mehreren Sensorausgaben Sensorrauschen simulieren, wobei der eine oder die mehreren Sensoren mindestens eines einer Kamera, eines LIDAR(light detection and ranging)-Sensors und eines RADAR(radio detection and ranging)-Sensors beinhalten; Annotieren der einen oder mehreren Sensorausgaben gemäß den Stellen von Hindernissen im 3D-Modell; und mindestens eines von Trainieren und Testen eines Modells gemäß der einen oder den mehreren Sensorausgaben und den Annotationen.
  12. System nach Anspruch 11, wobei das 3D-Modell ferner eine Definition von Geschwindigkeiten für ein oder mehrere benachbarte Fahrzeuge und einer Geschwindigkeit eines Prüffahrzeugs beinhaltet, die eine oder mehrere Stellen des einen oder der mehreren Sensoren definiert.
  13. System nach Anspruch 11, wobei der ausführbare Code ferner dazu wirkt, den einen oder die mehreren Prozessoren zu veranlassen, die Wahrnehmung des 3D-Modells durch den einen oder die mehreren Sensoren zu simulieren, um die eine oder mehreren Sensorausgaben zu erhalten, sodass die eine oder mehreren Sensorausgaben das Sensorrauschen simulieren, durch: Identifizieren einer Stelle eines Hindernisses im 3D-Modell; Generieren von einer oder mehreren Sensorausgaben, die der Stelle des Hindernisses entsprechen, relativ zu Stellen des einen oder der mehreren Sensoren im 3D-Modell; und Hinzufügen von Rauschen zu der einen oder den mehreren Sensorausgaben gemäß einem oder mehreren Modellen von Abweichungen des einen oder der mehreren Sensoren.
  14. System nach Anspruch 11, wobei der ausführbare Code ferner dazu wirkt, den einen oder die mehreren Prozessoren zu veranlassen, die Wahrnehmung des 3D-Modells durch den einen oder die mehreren Sensoren zu simulieren, um die eine oder mehreren Sensorausgaben zu erhalten, sodass die eine oder mehreren Sensorausgaben das Sensorrauschen simulieren, durch.
  15. System nach Anspruch 11, wobei der ausführbare Code ferner wirksam ist, den einen oder die mehreren Prozessoren zu Folgendem zu veranlassen: Annotieren der einen oder mehreren Sensorausgaben gemäß den Stellen von Hindernissen im 3D-Modell durch Annotieren der einen oder mehreren Sensorausgaben mit einem Belegungsstatus einer einem Modell eines Prüffahrzeugs benachbarten Region gemäß den Stellen der Hindernisse im 3D-Modell; mindestens eines von Trainieren und Testen des Modells gemäß der einen oder den mehreren Sensorausgaben und den Annotationen durch Testen eines statistischen Modells, das eine Wahrscheinlichkeit der Belegung der Region gemäß der einen oder den mehreren Sensorausgaben aktualisiert.
DE102018100469.9A 2017-01-13 2018-01-10 Generierten von simulierten sensordaten zum trainieren und überprüfen von erkennungsmodellen Pending DE102018100469A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/406,031 2017-01-13
US15/406,031 US10228693B2 (en) 2017-01-13 2017-01-13 Generating simulated sensor data for training and validation of detection models

Publications (1)

Publication Number Publication Date
DE102018100469A1 true DE102018100469A1 (de) 2018-07-19

Family

ID=61190327

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018100469.9A Pending DE102018100469A1 (de) 2017-01-13 2018-01-10 Generierten von simulierten sensordaten zum trainieren und überprüfen von erkennungsmodellen

Country Status (6)

Country Link
US (1) US10228693B2 (de)
CN (1) CN108304782A (de)
DE (1) DE102018100469A1 (de)
GB (1) GB2560412A (de)
MX (1) MX2018000463A (de)
RU (1) RU2694154C2 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020119837A1 (en) * 2018-12-12 2020-06-18 Tacticaware, S.R.O. Three-dimensional detection system and method of its detection
DE102019213881A1 (de) * 2019-09-11 2021-03-11 Volkswagen Aktiengesellschaft Verfahren zum Betreiben eines automatisiert fahrenden Kraftfahrzeuges, Kraftfahrzeug und Überprüfungsinstanz
DE102021105659A1 (de) 2020-12-09 2022-06-09 Symeo Gmbh Verfahren, Vorrichtung und Radarsystem zum Verfolgen von Objekten
DE102018120845B4 (de) 2017-08-28 2023-02-02 GM Global Technology Operations LLC Verfahren und Vorrichtung zum Überwachen eines autonomen Fahrzeugs

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489529B2 (en) 2016-10-14 2019-11-26 Zoox, Inc. Scenario description language
US10421452B2 (en) * 2017-03-06 2019-09-24 GM Global Technology Operations LLC Soft track maintenance
US10678244B2 (en) 2017-03-23 2020-06-09 Tesla, Inc. Data synthesis for autonomous control systems
US10481044B2 (en) * 2017-05-18 2019-11-19 TuSimple Perception simulation for improved autonomous vehicle control
US11392133B2 (en) 2017-06-06 2022-07-19 Plusai, Inc. Method and system for object centric stereo in autonomous driving vehicles
US11042155B2 (en) * 2017-06-06 2021-06-22 Plusai Limited Method and system for closed loop perception in autonomous driving vehicles
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10831202B1 (en) * 2017-09-01 2020-11-10 Zoox, Inc. Onboard use of scenario description language
US10768626B2 (en) * 2017-09-30 2020-09-08 Tusimple, Inc. System and method for providing multiple agents for decision making, trajectory planning, and control for autonomous vehicles
US11077756B2 (en) * 2017-11-23 2021-08-03 Intel Corporation Area occupancy determining device
US10935975B2 (en) * 2017-12-22 2021-03-02 Tusimple, Inc. Method and system for modeling autonomous vehicle behavior
US10724854B2 (en) * 2017-12-27 2020-07-28 Intel IP Corporation Occupancy grid object determining devices
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US10635844B1 (en) * 2018-02-27 2020-04-28 The Mathworks, Inc. Methods and systems for simulating vision sensor detection at medium fidelity
US11320828B1 (en) * 2018-03-08 2022-05-03 AI Incorporated Robotic cleaner
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
EP3584748A1 (de) * 2018-06-20 2019-12-25 Siemens Aktiengesellschaft Verfahren zur erzeugung eines testdatensatzes, verfahren zum testen, verfahren zum betreiben eines systems, vorrichtung, steuerungssystem, computerprogrammprodukt, computerlesbares medium, erzeugung und verwendung
US10754032B2 (en) * 2018-06-21 2020-08-25 Intel Corporation Perception device
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US10678245B2 (en) * 2018-07-27 2020-06-09 GM Global Technology Operations LLC Systems and methods for predicting entity behavior
CN109344691A (zh) * 2018-08-10 2019-02-15 广东工业大学 一种基于深度学习的视觉安全校园管理监视方法
EP3618013A1 (de) * 2018-08-27 2020-03-04 Continental Automotive GmbH System zur erzeugung von fahrzeugsensordaten
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
AT521647B1 (de) * 2018-09-14 2020-09-15 Avl List Gmbh Verfahren und System zur Datenaufbereitung, zum Trainieren eines künstlichen neuronalen Netzes und zum Analysieren von Sensordaten
US11393189B2 (en) * 2018-09-17 2022-07-19 Goodrich Corporation Method to simulate target detection and recognition
US11403842B2 (en) * 2018-09-17 2022-08-02 Goodrich Corporation Simulator to simulate target detection and recognition
SG11202103493QA (en) 2018-10-11 2021-05-28 Tesla Inc Systems and methods for training machine models with augmented data
AT521607B1 (de) * 2018-10-24 2020-03-15 Avl List Gmbh Verfahren und Vorrichtung zum Testen eines Fahrerassistenzsystem
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
DE102018221063A1 (de) * 2018-12-05 2020-06-10 Volkswagen Aktiengesellschaft Konfiguration eines Steuerungssystems für ein zumindest teilautonomes Kraftfahrzeug
CN109598066B (zh) * 2018-12-05 2023-08-08 百度在线网络技术(北京)有限公司 预测模块的效果评估方法、装置、设备和存储介质
DK201970129A1 (en) 2018-12-14 2020-07-09 Aptiv Tech Ltd Determination of an optimal spatiotemporal sensor configuration for navigation of a vehicle using simulation of virtual sensors
US11543531B2 (en) 2018-12-19 2023-01-03 Fca Us Llc Semi-automatic LIDAR annotation system for autonomous driving
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
WO2020139967A1 (en) * 2018-12-28 2020-07-02 Didi Research America, Llc Distributed system execution using a serial timeline
US11550623B2 (en) 2018-12-28 2023-01-10 Beijing Voyager Technology Co., Ltd. Distributed system task management using a simulated clock
WO2020139959A1 (en) * 2018-12-28 2020-07-02 Didi Research America, Llc Architecture for simulation of distributed systems
US11521010B2 (en) * 2019-01-23 2022-12-06 Motional Ad Llc Automatically choosing data samples for annotation
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
CN112034829A (zh) * 2019-05-15 2020-12-04 广州汽车集团股份有限公司 一种端到端自动驾驶方法及其***、车辆
CN110186469A (zh) * 2019-05-31 2019-08-30 北京主线科技有限公司 测试无人驾驶***的测试用数据生成方法和***
EP3754361B1 (de) * 2019-06-19 2023-04-26 Aptiv Technologies Limited Verfahren zur vorhersage eines falsch positiven ergebnisses für einen radarsensor
CN112560324B (zh) * 2019-09-24 2024-06-04 北京百度网讯科技有限公司 用于输出信息的方法和装置
US11734473B2 (en) 2019-09-27 2023-08-22 Zoox, Inc. Perception error models
US11663377B2 (en) * 2019-09-27 2023-05-30 Woven Planet North America, Inc. Sensor arrangement validation using simulated environments
US11351995B2 (en) * 2019-09-27 2022-06-07 Zoox, Inc. Error modeling framework
US11625513B2 (en) * 2019-09-27 2023-04-11 Zoox, Inc. Safety analysis framework
US11765067B1 (en) * 2019-12-28 2023-09-19 Waymo Llc Methods and apparatus for monitoring a sensor validator
CN111399503A (zh) * 2020-03-09 2020-07-10 西南科技大学 一种小型无人船艇自动停泊方法
US11493625B2 (en) * 2020-03-16 2022-11-08 Nio Technology (Anhui) Co., Ltd. Simulated LiDAR devices and systems
RU2763215C2 (ru) * 2020-04-10 2021-12-28 Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" Способы и системы формирования обучающих данных для нейронной сети
US11726188B2 (en) 2020-04-22 2023-08-15 Gm Cruise Holdings Llc Eliminating sensor self-hit data
KR20210135389A (ko) * 2020-05-04 2021-11-15 현대자동차주식회사 장애물 인식 장치, 그를 포함하는 차량 시스템 및 그 방법
DE102020210351A1 (de) * 2020-05-18 2021-11-18 Zf Friedrichshafen Ag Steuerung eines Fahrzeugs über Referenz-Sensordaten
CN116194350A (zh) * 2020-05-27 2023-05-30 柯尼亚塔有限公司 生成多个模拟边缘情况驾驶场景
US11809790B2 (en) * 2020-09-22 2023-11-07 Beijing Voyager Technology Co., Ltd. Architecture for distributed system simulation timing alignment
US11430466B2 (en) * 2021-01-13 2022-08-30 Baidu Usa Llc Sound source detection and localization for autonomous driving vehicle
EP4320019A1 (de) * 2021-04-07 2024-02-14 Ridecell, Inc. Systematischer ansatz zur systemidentifizierungsbasierten gierratenschätzung mit kostengünstigen imu+gps-einheiten
WO2023279097A1 (en) * 2021-07-02 2023-01-05 Integrity Communications Solutions, Inc. Radar object classification method and system
DE102021209680A1 (de) * 2021-09-03 2023-03-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Verbesserung der Schätzung von Existenzwahrscheinlichkeiten
CN113879337B (zh) * 2021-10-29 2024-06-25 北京触达无界科技有限公司 一种轨迹预测方法、装置、存储介质及电子设备
EP4372417A1 (de) * 2022-11-18 2024-05-22 Sick Ag Verfahren zur modellierung eines sensors in einer testumgebung

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345402A (en) 1992-02-25 1994-09-06 Automotive Systems Laboratory, Inc. Vehicle crash simulator system for testing crash sensors
US7099796B2 (en) 2001-10-22 2006-08-29 Honeywell International Inc. Multi-sensor information fusion technique
US7447593B2 (en) 2004-03-26 2008-11-04 Raytheon Company System and method for adaptive path planning
RU2252453C1 (ru) * 2004-08-12 2005-05-20 Смирнов Дмитрий Петрович Способ моделирования аварии, диагностики и восстановления работоспособности сложной технологической структуры и информационная система для его реализации
US7579942B2 (en) 2006-10-09 2009-08-25 Toyota Motor Engineering & Manufacturing North America, Inc. Extra-vehicular threat predictor
US7839292B2 (en) 2007-04-11 2010-11-23 Nec Laboratories America, Inc. Real-time driving danger level prediction
EP2389622A1 (de) * 2009-01-26 2011-11-30 Zrro Technologies (2009) Ltd. Einrichtung und verfahren zum überwachen des verhaltens eines objekts
FR2974437B1 (fr) * 2011-04-21 2013-10-25 Eads Europ Aeronautic Defence Procede de simulation d'operations de controle non-destructif en conditions reelles utilisant des signaux synthetiques
US8902302B2 (en) * 2011-09-16 2014-12-02 Emerson Electric Co. Method and apparatus for surveying with a feature location
US8457827B1 (en) 2012-03-15 2013-06-04 Google Inc. Modifying behavior of autonomous vehicle based on predicted behavior of other vehicles
US9367065B2 (en) * 2013-01-25 2016-06-14 Google Inc. Modifying behavior of autonomous vehicles based on sensor blind spots and limitations
US9098753B1 (en) 2014-04-25 2015-08-04 Google Inc. Methods and systems for object detection using multiple sensors
US10328932B2 (en) * 2014-06-02 2019-06-25 Magna Electronics Inc. Parking assist system with annotated map generation
US10229231B2 (en) 2015-09-11 2019-03-12 Ford Global Technologies, Llc Sensor-data generation in virtual driving environment
US10176634B2 (en) 2015-10-16 2019-01-08 Ford Global Technologies, Llc Lane boundary detection data generation in virtual environment
US10496766B2 (en) 2015-11-05 2019-12-03 Zoox, Inc. Simulation system and methods for autonomous vehicles
US10341633B2 (en) * 2015-11-20 2019-07-02 Qualcomm Incorporated Systems and methods for correcting erroneous depth information
US10372968B2 (en) * 2016-01-22 2019-08-06 Qualcomm Incorporated Object-focused active three-dimensional reconstruction
US9760837B1 (en) * 2016-03-13 2017-09-12 Microsoft Technology Licensing, Llc Depth from time-of-flight using machine learning
US20180098052A1 (en) * 2016-09-30 2018-04-05 Sony Interactive Entertainment Inc. Translation of physical object viewed by unmanned aerial vehicle into virtual world object
US20180211120A1 (en) * 2017-01-25 2018-07-26 Ford Global Technologies, Llc Training An Automatic Traffic Light Detection Model Using Simulated Images
AU2018267553B2 (en) * 2017-11-20 2019-08-22 Ashok Krishnan Systems and methods to train vehicles

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018120845B4 (de) 2017-08-28 2023-02-02 GM Global Technology Operations LLC Verfahren und Vorrichtung zum Überwachen eines autonomen Fahrzeugs
WO2020119837A1 (en) * 2018-12-12 2020-06-18 Tacticaware, S.R.O. Three-dimensional detection system and method of its detection
DE102019213881A1 (de) * 2019-09-11 2021-03-11 Volkswagen Aktiengesellschaft Verfahren zum Betreiben eines automatisiert fahrenden Kraftfahrzeuges, Kraftfahrzeug und Überprüfungsinstanz
DE102021105659A1 (de) 2020-12-09 2022-06-09 Symeo Gmbh Verfahren, Vorrichtung und Radarsystem zum Verfolgen von Objekten

Also Published As

Publication number Publication date
RU2694154C2 (ru) 2019-07-09
US10228693B2 (en) 2019-03-12
RU2017146151A3 (de) 2019-07-17
GB2560412A (en) 2018-09-12
US20180203445A1 (en) 2018-07-19
RU2017146151A (ru) 2019-06-28
CN108304782A (zh) 2018-07-20
GB201800312D0 (en) 2018-02-21
MX2018000463A (es) 2018-11-09

Similar Documents

Publication Publication Date Title
DE102018100469A1 (de) Generierten von simulierten sensordaten zum trainieren und überprüfen von erkennungsmodellen
DE102016119130A1 (de) Probabilistische Folgerung unter Verwendung gewichteter Integrale und Summen durch Hashing zur Objektverfolgung
DE102017125963A1 (de) Objektverfolgung mit sensorfusion innerhalb eines probabalistischen rahmens
DE102017116192A1 (de) Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen
DE102018121018A1 (de) Erweitern von realen sensoraufnahmen mit simuliertem sensordatenhintergrund
DE102018121019A1 (de) Erweitern von realen sensoraufzeichnungen mit simulierten sensordaten
DE102017101106A1 (de) Trainingsalgorithmus zur Kollisionsvermeidung
DE102018101465A1 (de) Trainieren eines automatischen ampelerkennungsmoduls unter verwendung simulierter bilder
DE102019115455A1 (de) Fokus-basiertes markieren von sensordaten
DE102017127972A1 (de) Mehrfachsensor-Wahrscheinlichkeitsobjekterkennung und automatisiertes Bremsen
DE102015107388A1 (de) Kollisionsvermeidung mit statischen Zielobjekten in engen Räumen
DE102018102537A1 (de) Tornadoerfassungssysteme und -verfahren
DE102011117585A1 (de) Systeme und Verfahren zum Verfolgen von Objekten
DE102017115197A1 (de) Erzeugung von virtuellen sensordaten für die erfassung von polleraufnahmen
DE102018100487A1 (de) Objektverfolgung durch unüberwachtes lernen
DE112016005700T5 (de) Wendeassistenz auf Grundlage der Manövrierschwierigkeit
DE112016005947B4 (de) Fahrzeugbestimmungsvorrichtung, Fahrzeugbestimmungsverfahren und Fahrzeugbestimmungsprogramm
DE102018108361A1 (de) Laubwerkerfassungstrainingssysteme und -verfahren
DE102021128041A1 (de) Verbesserung eines neuronalen fahrzeugnetzwerks
DE102016201299A1 (de) Umgebungserkennungssystem
DE102019114371A1 (de) Online-diagnostik und prognostik für ein wahrnehmungssystem eines fahrzeugs
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102020211939A1 (de) Objektidentifizierung in einer mobilen arbeitsmaschine
DE112022002791T5 (de) Systeme und verfahren zur partikelfilterverfolgung
DE102018129094A1 (de) Niederschlagserkennung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0019000000

Ipc: G16Z0099000000