DE102019124615A1 - Beurteilen von algorithmen für autonome fahrzeuge - Google Patents

Beurteilen von algorithmen für autonome fahrzeuge Download PDF

Info

Publication number
DE102019124615A1
DE102019124615A1 DE102019124615.6A DE102019124615A DE102019124615A1 DE 102019124615 A1 DE102019124615 A1 DE 102019124615A1 DE 102019124615 A DE102019124615 A DE 102019124615A DE 102019124615 A1 DE102019124615 A1 DE 102019124615A1
Authority
DE
Germany
Prior art keywords
simulated
scenarios
scenario
algorithm
feature
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
DE102019124615.6A
Other languages
English (en)
Inventor
Gautham Sholingar
Sravani Yajamanam Kidambi
Vidya Nariyambut murali
Jinesh Jain
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 DE102019124615A1 publication Critical patent/DE102019124615A1/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)

Abstract

Die vorliegende Offenbarung stellt das Beurteilen von Algorithmen für autonome Fahrzeuge bereit. Die vorliegende Erfindung erstreckt sich auf Verfahren, Systeme und Computerprogrammprodukte zum Beurteilen von Algorithmen für autonome Fahrzeuge. Aspekte verwenden (z. B. überwachte) Techniken für maschinelles Lernen, um das Verhalten von Algorithmen für autonome Fahrzeuge an Praxis- und simulierten Daten zu analysieren. Techniken für maschinelles Lernen können auch zum Ermitteln von Szenariomerkmalen verwendet werden, bei denen eine Beeinflussung des Alogrithmusverhaltens wahrscheinlicher ist. Techniken für maschinelles Lernen können auch verwendet werden, um Erkenntnisse zu konsolidieren und die Erzeugung relevanter Testfälle im Zuge mehrerer Iterationen zu automatisieren, um fehleranfällige Szenarien zu ermitteln.

Description

  • TECHNISCHES GEBIET
  • Diese Erfindung betrifft allgemein das Gebiet autonomer Fahrzeuge und insbesondere das Beurteilen von Algorithmen für autonome Fahrzeuge.
  • ALLGEMEINER STAND DER TECHNIK
  • Das Definieren von Testszenarien, beispielsweise zum Trainieren autonomer Fahrzeuge, ist manuell, arbeitsintensiv und durch die Fähigkeit eines Ingenieurs eingeschränkt, herausfordernde Szenarien zu entwerfen. Der manuelle Prozess kann mit steigender Anzahl der Parameter und Anzahl möglicher Parameterwerte Fehlermodi für das Algorithmusverhalten verschleiern. Auch können Algorithmen für zahlreiche Interaktionen geprüft werden, was große Mengen an Testergebnisdaten erzeugt. Das manuelle Durchlaufen von Testergebnisdaten ist ebenfalls eine manuelle, arbeitsintensive Aktivität.
  • KURZDARSTELLUNG
  • Die vorliegende Erfindung erstreckt sich auf Verfahren, Systeme und Computerprogrammprodukte zum Beurteilen von Algorithmen für autonome Fahrzeuge. Allgemeiner verwenden Aspekte (z. B. überwachte) Techniken für maschinelles Lernen, um das Verhalten von Algorithmen für autonome Fahrzeuge an realen und simulierten Daten zu analysieren. Techniken für maschinelles Lernen können auch zum Ermitteln von Szenariomerkmalen verwendet werden, bei denen eine Beeinflussung des Alogrithmusverhaltens wahrscheinlicher ist. Techniken für maschinelles Lernen können auch verwendet werden, um Erkenntnisse zu konsolidieren und die Erzeugung relevanter Testfälle im Zuge mehrerer Iterationen zu automatisieren, um fehleranfällige Szenarien zu ermitteln.
  • In einem spezifischeren Aspekt wird ein Algorithmus für autonome Fahrzeuge unter Bedingungen ausgeführt, die in einer Vielzahl unterschiedlicher Szenarien definiert sind, um eine Fahrzeugaktivität zu simulieren. Fehlgeschlagene Szenarien werden pro Merkmal pro Merkmalswert klassifiziert. Es werden Berichte erzeugt. Die Berichte geben die Größe der Merkmalswerte, die zu den fehlgeschlagenen Szenarien beitragen, und die Wichtigkeit von Merkmalen über fehlgeschlagene Szenarien hinweg an. Szenarien können verfeinert werden, um weitere Informationen zu Merkmalswertekombinationen zu erlangen, die zu fehlgeschlagenen Szenarien beitragen.
  • Figurenliste
  • Die spezifischen Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden anhand der nachfolgenden Beschreibung und der begleitenden Zeichnungen deutlicher; es zeigen:
    • 1 ein beispielhaftes Blockschaubild einer Rechenvorrichtung.
    • 2 eine beispielhafte Computerarchitektur, die das Beurteilen eines Algorithmus für autonome Fahrzeuge ermöglicht.
    • 3 ein Ablaufdiagramm eines beispielhaften Verfahrens zum Beurteilen eines Algorithmus für autonome Fahrzeuge.
    • 4A und 4B einen beispielhaften Datenfluss zum Beurteilen eines Algorithmus für autonome Fahrzeuge.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Erfindung erstreckt sich auf Verfahren, Systeme und Computerprogrammprodukte zum Beurteilen von Algorithmen für autonome Fahrzeuge.
  • Eine Herausforderung bei der Entwicklung von Code für Produktionszwecke für autonome Fahrzeuge ist das Überprüfen des Verhaltens über Millionen von Meilen in Straßenprüfungen. Daher verwenden Fahrzeughersteller Simulationswerkzeuge, darunter Computerspiel-Engines, um Szenarien manuell zu erzeugen, simulierte Sensordaten zu erfassen und das Verhalten der Algorithmen für autonome Fahrzeuge zu beurteilen. In anderen Aspekten verwenden Fahrzeughersteller reale Daten als eine Komponente zur Überprüfung der Algorithmen für autonome Fahrzeuge. Nach dem ersten Testen eines Algorithmus arbeitet ein Ingenieur eine Hypothese dazu aus, wie sich unterschiedliche Parameter auf das Alogrithmusverhalten auswirken. Um die Hypothese zu bestätigen, führt der Ingenieur weitere Testrunden aus, um Parametertrends in fehleranfälligen Szenarien zu ermitteln. Wenn die Algorithmen komplexer werden und die Szenarien anwachsen (z. B. 100e Parameter beinhalten), werden blinde Flecken unvermeidlich und führen zu Sicherheitsrisiken.
  • Ingenieure verwenden Techniken zur Versuchsauslegung (Design of Experiments - DOE), um Erkenntnisse zum Alogrithmusverhalten manuell herzuleiten und zu konsolidieren. DOE-Techniken sind schwierig anzuwenden, wenn die Anzahl der Parameter ansteigt und Szenarien komplexer werden. Im Allgemeinen ist daher das Testen von Hypothesen zu Algorithmen autonomer Fahrzeuge an simulierten Daten zeitaufwändig, komplex und ungeeignet für höhere Größenordnungen.
  • Somit verwenden Aspekte der Erfindung (z. B. überwachte) Techniken für maschinelles Lernen wie etwa Stützvektormaschinen (Support Vector Machines - SVM), um das Verhalten von Algorithmen für autonome Fahrzeuge an simulierten Daten zu analysieren. Techniken für maschinelles Lernen können auch zum Ermitteln von Szenariomerkmalen verwendet werden, bei denen eine Beeinflussung des Alogrithmusverhaltens wahrscheinlicher ist. Techniken für maschinelles Lernen können auch verwendet werden, um Erkenntnisse zu konsolidieren und die Erzeugung relevanter Testfälle im Zuge mehrerer Iterationen zu automatisieren, um fehleranfällige Szenarien zu ermitteln.
  • Eine Datenbank wird mit einer (potenziell erschöpfenden) Liste unterschiedlicher Merkmalskombinationen für ein Szenario gefüllt. Merkmalskombinationen für ein Szenario können Fahrzeugstellungen, Umweltfaktoren und andere Aspekte einer Simulation beinhalten, wie etwa ein Merkmal zur L2-L5-Automatisierung. Es wird eine Auswahl unterschiedlicher Merkmalwertkombinationen getroffen. Für jede unterschiedliche Merkmalskombination werden Sensordaten und Ground Truth erzeugt. Sensordaten für jede unterschiedliche Merkmalskombination werden einen Algorithmus (z. B. für autonome Fahrzeuge) eingespeist. Der Algorithmus bestimmt Metriken für das Szenario für jede unterschiedliche Merkmalskombination, wie etwa eine binäre Metrik (z. B.), ob ein Szenario bestanden hat (erfolgreich war) oder fehlgeschlagen ist, eine nicht binäre Metrik, oder eine andere benutzerdefinierte Metrik. Der Algorithmus gibt jede Merkmalwertekombination zusammen mit einer Angabe von Metriken aus, etwa ob der Algorithmus bestanden hat oder fehlgeschlagen ist.
  • Die Ausgabe des Algorithmus wird in eine Klassifikationseinrichtung für maschinelles Lernen eingespeist. In einem Aspekt ist die Klassifikationseinrichtung für maschinelles Lernen eine SVM mit einem linearen Kern. Es können jedoch auch andere überwachte Einlernmodelle und/oder Kerne verwendet werden. Die Klassifikationseinrichtung für maschinelles Lernen kann die Algorithmusausgabe in einen übergeordneten Merkmalsraumbericht umwandeln, der angibt, wie häufig unterschiedliche Merkmalwerte mit einem Fehlschlag assoziiert waren. Der übergeordnete Merkmalsraumbericht kann verwendet werden, um eine bessere Trennung zwischen mehreren Klassen zu ermitteln.
  • Die SVM mit linearem Kern kann auch einen Vektor von Gewichtungen erlangen, wobei jede Gewichtung mit einem spezifischen Merkmal assoziiert ist. Anhand der Größe der Gewichtungen kann die Wichtigkeit unterschiedlicher Merkmale für den Erfolg des Algorithmus ermittelt werden. Beispielsweise können Gewichtungen verwendet werden, um die Wichtigkeit von Wetter, Bodenoberfläche, Lichtverhältnissen usw. auf den Erfolg eines Algorithmus für autonome Fahrzeuge oder eines Merkmals zu ermitteln. Ein autonomes Merkmal kann ein beliebiges Merkmal für L2-L5-Automatisierung beinhalten, beispielsweise automatisierten Spurwechsel, andere Autobahnfahrmerkmale (bis hin zur vollständigen Autonomie) usw. Die Klassifikationseinrichtung für maschinelles Lernen kann unter Verwendung der Gewichtungen einen Merkmalswichtigkeitsbericht erzeugen.
  • Der übergeordneten Merkmalsraumbericht kann zum Erlangen eines Merkmalswichtigkeitsberichts (z. B. Vektor von Gewichtungen) verwendet werden. Eine Zusammenfassung des übergeordneten Merkmalsraumberichts und/oder des Merkmalsberichts kann auf einer Visualisierungskonsole angezeigt werden, um Merkmale anzugeben und um anzugeben, wie die Merkmale zum Erfolg/Fehlschlag eines Algorithmus beitragen. Die Visualisierungskonsole kann einem Ingenieur Erkenntnisse liefern, um weitere Prüfentscheidungen zu treffen.
  • In einem Aspekt hält der Ingenieur den Testprozess an und modifiziert den Algorithmus, um das Verhalten zu verbessern. In einem anderen Aspekt führt der Ingenieur eine weitere Iteration der Prüfung aus. Der Ingenieur kann wichtigere Merkmalwerte auf Grundlage des übergeordneten Merkmalsraumberichts und Merkmalswichtigkeitsberichts auswählen. Beispielsweise kann der Ingenieur die drei Merkmale mit der höchsten Größe der Gewichtungen auswählen. Der Ingenieur kann die drei Merkmale zum Automatisieren des DOE-Prozesses verwenden. Beispielsweise kann die Analyse Bodentypen ermitteln, die zu einer reduzierten Wahrscheinlichkeit eines Zusammenstoßes zwischen einem Ego-Fahrzeug und anderen Simulationsakteuren beim Testen eines Zusammenstoßalgorithmus führen. Die Trends können zum Entwerfen von Abfragen für die nächste Iteration verwendet werden.
  • Der iterative Ansatz reduziert somit den manuellen Arbeitsaufwand für einen Ingenieur zum Analysieren des Alogrithmusverhaltens wesentlich. Die automatische Ermittlung von Merkmalen und Merkmalwerten mit stärkerer Auswirkung auf Simulations- und Praxisergebnisse reduziert den Rechen- und Zeitaufwand für die Ausführung von Batch-Prüfungen. Nach jeder Iteration kann der Ingenieur Erkenntnisse aus dem übergeordneten Merkmalsraumbericht und Merkmalswichtigkeitsbericht (z. B. Vektor von Gewichtungen) gewinnen, um die Priorisierung der Verbesserungsanstrengungen der Algorithmen zu verbessern.
  • Außerdem wird die Produktivität für (z. B. umfangreiche) Algorithmustests verbessert. Durch das Automatisieren des Prozesses der Szenarioabfrage und -auswahl für nachfolgende Iterationen können sich Tests stärker auf Szenarien konzentrieren, die zu einem Fehlschlag des Algorithmus führen, anstatt eine zufällige Auswahl zu treffen.
  • 1 stellt ein beispielhaftes Blockschaubild einer Rechenvorrichtung 100 dar. Die Rechenvorrichtung 100 kann zum Durchführen verschiedener Abläufe verwendet werden, wie etwa den hierin erörterten. Die Rechenvorrichtung 100 kann als ein Server, ein Client oder eine beliebige andere Recheneinheit dienen. Die Rechenvorrichtung 100 kann verschiedene Kommunikations- und Datenübertragungsfunktionen durchführen, wie hier beschrieben, und kann ein oder mehrere Anwendungsprogramme ausführen, wie etwa die hierin beschriebenen Anwendungsprogramme. Bei der Rechenvorrichtung 100 kann es sich um eine beliebige einer breiten Spanne von Rechenvorrichtungen handeln, wie etwa ein Mobiltelefon oder eine andere mobile Vorrichtung, ein Desktop-Computer, ein Notebook-Computer, einen Server-Computer, ein Handcomputer, ein Tablet-Computer und dergleichen.
  • Die Rechenvorrichtung 100 beinhaltet einen oder mehrere Prozessoren 102, eine oder mehrere Vorrichtungen 104, eine oder mehrere Schnittstellen 106, eine oder mehrere Massenspeichervorrichtungen 108, eine oder mehrere Eingabe/Ausgabe(Input/Output -I/O)-Vorrichtungen 110 und eine Anzeigevorrichtung 130, die alle an einen Bus 112 gekoppelt sind. Der oder die Prozessoren 102 beinhalten einen oder mehrere Prozessoren oder eine oder mehrere Steuerungen, die Anweisungen ausführen, die in einer oder mehreren Speichervorrichtungen 104 und/oder Massenspeichervorrichtungen 108 gespeichert sind. Der oder die Prozessoren 102 können auch verschiedene Arten von Computerspeichermedien wie etwa Cache-Speicher beinhalten.
  • Die eine oder die mehreren Speichervorrichtungen 104 beinhalten verschiedene Computerspeichermedien wie etwa flüchtigen Speicher (z. B. Direktzugriffsspeicher (random access memory - RAM) 114) und/oder nicht flüchtigen Speicher (z. B. Nurlesespeicher (readonly memory - ROM) 116). Die eine oder die mehreren Speichervorrichtungen 104 können auch wieder beschreibbaren ROM wie etwa Flash-Speicher beinhalten.
  • Die eine oder die mehreren Massenspeichervorrichtungen 108 beinhalten verschiedene Computerspeichermedien wie etwa Magnetband, optische Disks, Festkörperspeicher (z. B. Flash-Speicher) und so weiter. Wie in 1 dargestellt, ist eine bestimmte Massenspeichervorrichtung ein Festplattenlaufwerk 124. In der oder den Massenspeichervorrichtungen 108 können verschiedene Laufwerke enthalten sein, um das Lesen oder Beschreiben der verschiedenen computerlesbaren Medien zu ermöglichen. Die eine oder die mehreren Massenspeichervorrichtungen 108 beinhalten Wechselmedien 126 und/oder nicht wechselbare Medien.
  • Die eine oder die mehreren I/O-Vorrichtungen 110 beinhalten verschiedene Vorrichtungen, die es ermöglichen, dass Daten und/oder Informationen in die Rechenvorrichtung 100 eingegeben oder daraus abgerufen werden. Zu beispielhaften I/O-Vorrichtungen 110 gehören Cursor-Steuervorrichtungen, Tastaturen, Tastenfelder, Strichcodescanner, Mikrofone, Monitore oder andere Anzeigevorrichtungen, Lautsprecher, Drucker, Netzwerkschnittstellenkarten, Modems, Kameras, Linsen, Radare, CCDs oder andere Bildaufnahmevorrichtungen und dergleichen.
  • Die Anzeigevorrichtung 130 beinhaltet eine beliebige Art von Vorrichtung, die Informationen an einen oder mehrere Benutzer der Rechenvorrichtung 100 anzeigen kann. Beispiele der Anzeigevorrichtung 130 beinhalten einen Monitor, ein Display, eine Videoprojektionsvorrichtung und dergleichen.
  • Die eine oder die mehreren Schnittstellen 106 beinhalten verschiedene Schnittstellen, mit denen die Rechenvorrichtung 100 mit anderen Systemen, Vorrichtungen oder Rechenumgebungen sowie Menschen interagieren kann. Beispielhafte Schnittstellen 106 können eine beliebige Anzahl von Netzschnittstellen 120, etwa Schnittstellen zu persönlichen Netzen (personal area networks - PANs), lokalen Netzen (local area networks - LANs), Weitverkehrsnetzen (wide area networks - WANs), drahtlosen Netzen (z. B. Nahbereichskommunikations(near field communication - NFC)-, Bluetooth-, Wi-Fi- usw. Netzen) und dem Internet beinhalten. Andere Schnittstellen beinhalten eine Benutzerschnittstelle 118 und eine Peripheriegeräteschnittstelle 122.
  • Der Bus 112 ermöglicht es dem oder den Prozessoren 102, der oder den Speichervorrichtungen 104, der oder den Schnittstellen 106, der oder den Massenspeichervorrichtungen 108 und der oder den I/O-Vorrichtungen 110, miteinander sowie mit anderen Vorrichtungen oder Komponenten zu kommunizieren, die an den Bus 112 gekoppelt sind. Der Bus 112 stellt eine oder mehrere von mehreren Arten von Busstrukturen dar, wie etwa einen Systembus, PCI-Bus, IEEE-1394-Bus, USB-Bus und so weiter.
  • In dieser Beschreibung und den nachfolgenden Ansprüchen kann ein autonomes Fahrzeug ein Bodenfahrzeug sein, beispielsweise ein Pkw, ein Transporter, ein Pickup usw.
  • 2 stellt eine beispielhafte Computerarchitektur 200 zum Beurteilen von Algorithmen für autonome Fahrzeuge dar. Wie dargestellt, beinhaltet die Computerarchitektur 200 eine Datenbank 201, ein Testfallbeschreibungsmodul 202, einen Ausführungselementgenerator 203, einen Testsimulator 241, eine Klassifikationseinrichtung 206 für maschinelles Lernen, eine Konsole 232 und einen Ingenieur 207. Der Testsimulator 241 beinhaltet ferner Algorithmen 204 für autonome Fahrzeuge 204 und eine Überwachungseinrichtung 231.
  • Die Datenbank 201 kann einen umfangreichen (und möglicherweise einen erschöpfenden) Satz Szenarien 211 (z. B. 211A, 211B, 211C, 211D usw.) zum Prüfen des Algorithmus 204 für autonome Fahrzeuge beinhalten. Jedes Szenario definiert einen anderen Satz Bedingungen, unter denen das Verhalten eines Algorithmus 204 für autonome Fahrzeuge geprüft werden soll. Jedes Szenario kann auch eine skriptgeführte dynamische Bewegung unterschiedlicher Akteure in einer Szene und ihre Eigenschaften definieren.
  • Die Bedingungen werden durch Auswählen unterschiedlicher Kombinationen von Werten für die Merkmale 212, 213 usw. festgelegt. Beispielsweise beinhaltet Szenario 211A jeweils Werte 212A, 213A usw. für die Merkmale 212, 213 usw. Szenario 211B beinhaltet jeweils Werte 212B, 213B usw. für die Merkmale 212, 213 usw. Szenario 211C beinhaltet jeweils Werte 212C, 213C usw. für die Merkmale 212, 213 usw. Szenario 211D beinhaltet jeweils Werte 212D, 213D usw. für die Merkmale 212, 213 usw. Werte können statische Werte für Umgebungsmerkmale sowie Skripts für dynamische Bewegung beinhalten. Somit kann die Datenbank 201 eine Kombination aus statischen Werten und skriptgeführten dynamischen Bewegungen speichern.
  • Jedes Merkmal stellt eine Variable dar, beispielsweise Wetter, Bodenoberfläche, Lichtverhältnisse, Sonneneinfallswinkel usw., die zahlreiche unterschiedliche Werte aufweisen können. Wetterwerte können beispielsweise Regen, Schnee, Hagel, Sonne usw. beinhalten. Bodenoberflächenwerte können Gras, Beton, Asphalt, Kies, Basis usw. beinhalten. Jedes Merkmal kann mit zwei oder mehr Werten und bis zu einem Dutzend oder mehr Werten assoziiert sein. In einem Aspekt beinhaltet die Datenbank 201 ein Szenario für jede mögliche unterschiedliche Kombination von Merkmalwerten. Somit kann die Datenbank 201 potenziell Millionen von unterschiedlichen Szenarien zum Prüfen des Algorithmus 204 für autonome Fahrzeuge definieren.
  • Das Testfallbeschreibungsmodul 202 ist dazu konfiguriert, in der Datenbank 201 definierte Umgebungen in Testfallbeschreibungen umzuwandeln. In einem Aspekt erstellt das Testfallbeschreibungsmodul 202 eine Szenariobeschreibungsdatei (z. B. eine YAML-Datei, eine JSON-Datei, eine txt-Datei, eine csv-Datei usw.) für jedes Szenario. Der Ausführungselementgenerator 203 ist dazu konfiguriert, eine Beschreibungsdatei in ein mit dem Testsimulator kompatibles ausführbares Szenario umzuwandeln. In einem Aspekt wird der Szenariogenerator 203 verwendet, um mittels einer Szenariobeschreibungsdatei wie etwa einer YAML-Datei eine Simulation in einer virtuellen Umgebung auszuführen und Sensordaten wie etwa ein Video zu erzeugen. Es können jedoch beliebige Mechanismen verwendet werden, die Einzelheiten einer Simulation in einer Textdatei/Datenbank/einem Protokoll erfassen und die Einzelheiten der Simulation zum Erzeugen von Simulationsdaten verwenden. Simulationsdatenkönnen Videodaten von einer Kamera oder IR-Kamera, Punktwolkendaten von Lidars, Erkennungen von Radar, Audio oder beliebige andere Arten simulierter Sensordaten beinhalten. Simulationsdaten können auch Ground Truth beinhalten.
  • Der Testsimulator 241 ist dazu konfiguriert, kompatible Ausführungsszenarien auszuführen, um das Verhalten des Algorithmus 204 für autonome Fahrzeuge in unterschiedlichen physischen Umgebungen zu simulieren. In einem Aspekt ist der Testsimulator 241 eine Computerspiel-Engine. Die auf der Computerspiel-Engine basierte Simulation erzeugt Sensordaten, wie etwa Video, die an einen Algorithmus 204 für autonome Fahrzeuge zur Verarbeitung weitergeleitet werden. Alternativ und/oder in Kombination damit kann der Testsimulator 241 Praxissensordaten verwenden, um das Verhalten des Algorithmus 204 für autonome Fahrzeuge zu simulieren. Die Überwachungseinrichtung 231 (z.B. eine Komponente des Testsimulators 241) ist dazu konfiguriert, das Resultat des Ausführens des Algorithmus 204 für autonome Fahrzeuge für jedes kompatible ausführbare Szenario zu überwachen. Die Überwachungseinrichtung 231 kann eine Tabelle ausgeben, die jeden Testfall zusammen mit einer Angabe beinhaltet, ob der Testfall bestanden hat oder fehlgeschlagen ist.
  • Die Klassifikationseinrichtung 206 für maschinelles Lernen ist dazu konfiguriert, fehlgeschlagenes simuliertes Verhalten für die Vielzahl von Merkmalen zu klassifizieren. In einem Aspekt ist die Klassifikationseinrichtung 206 für maschinelles Lernen ein SVM mit einem linearen Kern. Andere Klassifikationseinrichtungen für maschinelles Lernen, beispielsweise lineare Regression, logistische Regression, naiver Bayes, Entscheidungsbäume usw., können ebenfalls verwendet werden. Statistiken zum Alogrithmusverhalten können pro Merkmal angeben, wie oft mit jedem Merkmalwert ein Fehlschlag des Algorithmus 204 für autonome Fahrzeuge assoziiert war, pro Merkmal angeben, wie oft ein Wert für ein nicht binäres Merkmal aufgetreten ist, andere Metriken angeben, die dazu dienen, die Werte von Merkmalen in einer Simulation nachzuvollziehen. Die Klassifikationseinrichtung 206 für maschinelles Lernen kann auch eine Wichtigkeit, beispielsweise eine Gewichtung, für jedes Merkmal bestimmen. Die bestimmte Wichtigkeit pro Merkmal gibt die Auswirkung des Merkmals auf den Algorithmus 204 für autonome Fahrzeuge an. Die Klassifikationseinrichtung 206 für maschinelles Lernen kann einen Merkmalswichtigkeitsbericht erzeugen, der die Wichtigkeit jedes Merkmals darstellt.
  • Die Klassifikationseinrichtung 206 für maschinelles Lernen kann den übergeordneten Merkmalsraumbericht und die bestimmten Merkmalsgewichtungen auf der Konsole 232 anzeigen.
  • Der Ingenieur 207 kann den übergeordneten Merkmalsraumbericht und den Merkmalswichtigkeitsbericht an der Konsole 232 anschauen. Der Ingenieur 207 kann eine Eingabe tätigen, um den Algorithmus 204 für autonome Fahrzeuge zu modifizieren, und/oder eine Eingabe zum Abfragen der Datenbank 201 tätigen, um weitere simulierte Verhaltensweisen des Algorithmus 204 für autonome Fahrzeuge anzufordern. Angeforderte weitere Verhaltensweisen des Algorithmus 204 für autonome Fahrzeuge können auf Merkmale und Merkmalwerte abzielen, die zu Fehlverhalten des Algorithmus 204 für autonome Fahrzeuge beigetragen haben.
  • 3 stellt ein Ablaufdiagramm eines beispielhaften Verfahrens 300 zum Beurteilen eines Algorithmus für autonome Fahrzeuge dar. Das Verfahren 300 wird in Bezug auf die Komponenten und Daten in der Computerarchitektur 200 beschrieben. In einem Aspekt ist der Prozess des Auswählens nachfolgender Abfragen unter Verwendung einer vordefinierten Metrik automatisiert, die die Merkmalwerte ermittelt, die am häufigsten zu einem Fehlschlag eines Algorithmus für autonome Fahrzeuge führen.
  • Das Verfahren 300 beinhaltet das Zugreifen auf eine Vielzahl von simulierten Umgebungen aus einer Szenariodatenbank, wobei jede simulierte Umgebung einen Wert für jedes einer Vielzahl von Merkmalen beinhaltet (301). Beispielsweise kann ein automatisiertes System oder ein Ingenieur 207 eine zufällige Abfrage 221 an die Datenbank 201 senden. In Reaktion auf die zufällige Abfrage 221 kann die Datenbank 201 Einstellungen 222 ausgeben. Jede Einstellung 222 beinhaltet einen Wert für Merkmal 212, einen Wert für Merkmal 213 usw. In einem anderen Aspekt kann der Ingenieur 207 bestimmen, welche simulierte Umgebung für eine erste Iteration verwendet werden soll.
  • Das Verfahren 300 beinhaltet das Erzeugen einer Beschreibungsdatei für jede einer Vielzahl simulierter Umgebungen (302). Beispielsweise kann das Testfallbeschreibungsmodul 202 Testfallbeschreibungen 223 erzeugen. Die Testfallbeschreibungen 223 können einen Testfall für jede Umgebung in den Einstellungen 222 beinhalten. Die Testfallbeschreibungen 223 können YAML-Dateien oder in einer anderen Beschreibungssprache formatiert sein
  • Das Verfahren 300 beinhaltet das Umwandeln jeder Beschreibungsdatei in ein mit einem Testsimulator kompatibles Ausführungselement (303). Beispielsweise kann der Ausführungselementgenerator 203 die Testfallbeschreibungen 223 in Ausführungselemente 224 umwandeln, die mit dem Testsimulator 241 kompatibel sind. Die Ausführungselemente 224 können ein Ausführungselement für jede Testfallbeschreibung in den Testfallbeschreibungen 223 beinhalten. Somit stellt jedes Ausführungselement 224 im Wesentlichen die Ausführung des Algorithmus 204 für autonome Fahrzeuge unter Bedingungen dar, die in einem Szenario aus der Datenbank 201 definiert sind, um Fahrzeugaktivität zu simulieren. Die Ausführungselemente 224 können verwendet werden, um Sensor- und Protokollierungsdaten zum Verhalten des Algorithmus für autonome Fahrzeuge zu erzeugen. Beispielsweise kann das Protokollieren von Kameradaten Videodaten ergeben. Es können jedoch auch andere Arten von Sensoren verwendet werden.
  • Das Verfahren 300 beinhaltet das Ausführen jedes mit einem Testsimulator kompatiblen Ausführungselements in einem Testsimulator, um das Verhalten eines Algorithmus für autonome Fahrzeuge zu simulieren (304). Beispielsweise kann der Testsimulator 241 jedes Ausführungselement 224 zum Simulieren des Algorithmus 204 für autonome Fahrzeuge ausführen, der eine Fahrzeugaktivität ausführt. Jedes Ausführungselement 224 stellt das Verhalten des Algorithmus 204 für autonome Fahrzeuge in einer unterschiedlich definierten physischen Umgebung dar (auf Grundlage der Wert für die Merkmale 212, 213 usw.).
  • Die Überwachungseinrichtung 231 kann das Verhalten des Algorithmus 204 für autonome Fahrzeuge während der Ausführung jedes Ausführungselements 224 überwachen. Die Überwachungseinrichtung 231 kann aus dem überwachten Verhalten eine Tabelle 226 formulieren. Die Tabelle 226 beinhaltet jedes Szenario (z. B. 211A, 211E, 211F, 211G) und entsprechende aus der Datenbank 201 abgefragte Merkmalwerte. Beispielsweise beinhaltet das Szenario 211A jeweils die Werte 212A, 213A usw. für die Merkmale 212, 213 usw. Szenario 21 IE beinhaltet jeweils Werte 212E, 213E usw. für die Merkmale 212, 213 usw. Szenario 211F beinhaltet jeweils Werte 212F, 213F usw. für die Merkmale 212, 213 usw. Szenario 211G beinhaltet jeweils Werte 212G, 213G usw. für die Merkmale 212, 213 usw. Jedes Szenario beinhaltet auch eine Verhaltensangabe 214, die das Verhalten des Algorithmus 204 für autonome Fahrzeuge angibt. Das Szenarioverhalten kann dadurch definiert sein, inwiefern die erzeugten Daten die Zielsetzungen und Kriterien des Algorithmus 204 für autonome Fahrzeuge erfüllen. In einem Beispiel werden ein oder mehrere Zielsetzungen und Kriterien in der von dem Szenario simulierten physischen Umgebung als bestanden oder fehlgeschlagen angegeben.
  • Das Verfahren 300 beinhaltet das Klassifizieren fehlgeschlagener simulierter Verhaltensweisen für die Vielzahl von Merkmalen (305). Beispielsweise kann die Klassifikationseinrichtung 206 für maschinelles Lernen fehlgeschlagenes Verhalten automatisch klassifizieren (z. B. 211E, 211F usw.). Die Klassifikationseinrichtung 206 für maschinelles Lernen kann den übergeordneten Merkmalsraumbericht 227 erzeugen. Der übergeordnete Merkmalsraumbericht 227 kann pro Merkmal angeben, wie oft Werte des Merkmals mit einem Fehlverhalten assoziiert waren. Für das Merkmal 212 beispielsweise kann der übergeordnete Merkmalsraumbericht 227 angeben, wie oft jeder der Werte 212A, 212B, 212C, 212D usw. mit einem Fehlverhalten des Algorithmus 204 für autonome Fahrzeuge assoziiert war.
  • Das Verfahren 300 beinhaltet das Bestimmen einer Wichtigkeit eines jeden der Vielzahl von Merkmalen (306). Beispielsweise kann die Klassifikationseinrichtung 206 für maschinelles Lernen automatisch die Wichtigkeit des Merkmals 212, die Wichtigkeit des Merkmals 213 usw. bestimmten. Pro Merkmal kann die Klassifikationseinrichtung 206 für maschinelles Lernen eine bestimmte Wichtigkeit in den Merkmalswichtigkeitsbericht 228 aufnehmen. In einem Aspekt berechnet die maschinelle Klassifikationseinrichtung 206 eine Gewichtung für jedes Merkmal, die die Wichtigkeit des Merkmals angibt.
  • Somit kann die Klassifikationseinrichtung 206 für maschinelles Lernen 206 automatisch Berichte erzeugen, die die Größe von Merkmalwerten angeben, die zu fehlgeschlagenen Szenarien beitragen, und eine Merkmalswichtigkeit über fehlgeschlagene Szenarien hinweg angeben.
  • Das Verfahren 300 beinhaltet Anzeigen der klassifizierten simulierten Fehlverhaltensweisen und der bestimmten Wichtigkeit für jedes Merkmal an einer Konsole (307). Beispielsweise kann die Klassifikationseinrichtung 206 für maschinelles Lernen den übergeordneten Bericht 227 und den Merkmalswichtigkeitsbericht 228 an der Konsole 232 anzeigen. Der Ingenieur 207 kann den übergeordneten Bericht 227 und den Merkmalswichtigkeitsbericht 228 an der Konsole 232 anschauen.
  • Das Verfahren 300 beinhaltet das Empfangen einer Eingabe in Bezug auf die simulierten Fehlverhaltensweisen, die eins oder mehrere der Folgenden beinhaltet: Modifikationen am Algorithmus für autonome Fahrzeuge oder eine Szenariodatenbankabfrage, die weitere simulierte Verhaltensweisen des Algorithmus für autonome Fahrzeuge anfordert und die auf Merkmale abzielt, die zu simulierten Fehlverhaltensweisen beitragen (308). Beispielsweise kann der Ingenieur 207 Entscheidungen in Bezug auf simulierte Fehlverhaltensweisen des Algorithmus 204 für autonome Fahrzeuge auf Grundlage des Inhalts des übergeordneten Berichts 227 und des Inhalts des Merkmalswichtigkeitsberichts 228 treffen. In einem anderen Aspekt verwendet der Ingenieur 207 einen automatisierten Prozess in Bezug auf die simulierten Fehlverhaltensweisen, wie etwa das Auswählen nachfolgender Testfälle. In einem weiteren Aspekt werden nachfolgende Testfälle unter Verwendung einer Metrik ausgewählt, wobei der Auswählende den Merkmalwert ermittelt, der am häufigsten zu einem Fehlschlag des Algorithmus führt.
  • In einem Aspekt gibt der Ingenieur 207 eine Algorithmusaktualisierung 229 ein, um den Algorithmus 204 für autonome Fahrzeuge zu modifizieren. Der Testsimulator 241 kann die Algorithmusaktualisierung 229 empfangen und die Algorithmusaktualisierung 229 auf den Algorithmus 204 für autonome Fahrzeuge anwenden. In einem anderen Aspekt gibt der Ingenieur 207 eine Abfrage 233 in die Datenbank 201 ein. Die Datenbank 201 kann die Abfrage 233 empfangen und in Reaktion auf die Abfrage 233 weitere Umgebungen ermitteln. Somit kann der Ingenieur 207 Szenarien verfeinern, um weitere Informationen zu Merkmalswertekombinationen zu erlangen, die zu fehlgeschlagenen Szenarien beitragen.
  • 4A und 4B stellen einen beispielhaften Datenfluss 400 zum Beurteilen eines Algorithmus für autonome Fahrzeuge dar. Alle möglichen Kombinationen simulierter Umgebungen werden in eine Datenbank eingegeben (401). Es werden Einträge aus der Datenbank abgefragt (402). Abfrageergebnisse werden zum Erzeugen einer YAML-Datei für jedes Szenario verwendet (403). YAML-Dateien werden in Ausführungselemente eingegeben, die Sensordaten (z. B. ein Video) erzeugen (404).
  • Die Videos mit YAML-Dateien und Ausführungselementen werden in einen Algorithmus für autonome Fahrzeuge eingespeist (405). Für jedes Szenario wird Erfolg/Fehlschlag definiert (406). Ein Satz Merkmale zusammen mit dem Erfolg/Fehlschlag des Algorithmus wird weitergeleitet, um eine Klassifikationseinrichtung für maschinelles Lernen, wie etwa eine SVM mit einem linearen Kern zu trainieren (407). Es wird ein Bericht für Fehlschlagsfälle über alle Merkmale hinweg nach Merkmalwert erzeugt (408). Die Zahlen in 408 geben an, wie oft ein Merkmalwert mit einem Fehlverhalten des Algorithmus für autonome Fahrzeuge assoziiert war. Mithilfe eines Vektors von Gewichtungen wird die Wichtigkeit der Merkmale bestimmt (409).
  • Ein Ingenieur kann den Test anhalten und den Algorithmus für autonome Fahrzeuge modifizieren (410) oder kann den Test mit einer weiteren Iteration des Datenflusses fortsetzen (411). Der Ingenieur kann mittels DOE(Design of Experiment)-Trends Abfragen erzeugen (412).
  • Entsprechend beinhalten Aspekte der Erfindung Testen von autonomen Algorithmen an simulierten Daten. Das Testen kann überwachte Techniken für maschinelles Lernen wie etwa Stützvektormaschinen (SVM) benutzen, um Szenariomerkmale zu ermitteln, die mit höchster Wahrscheinlichkeit das Alogrithmusverhalten beeinflussen. Erkenntnisse können konsolidiert und die Erzeugung relevanter Testfälle kann über mehrere Iterationen automatisiert werden, um fehleranfällige Szenarien hervorzuheben.
  • Die anfänglichen Szenarien und Erfolg/Fehlschlag-Kennzeichnungen werden zu einem neuen Datensatz verkettet. Die neue Datenbank wird zum Trainieren einer überwachten Klassifikationseinrichtung für maschinelles Lernen wie etwa einer SVM verwendet. Ein linearer Kern kann verwendet werden, um einen Vektor von Gewichtungen zu erlangen, wobei jede Gewichtung mit einem spezifischen Merkmal assoziiert ist. Die Größe dieser Gewichtungen identifiziert die Wichtigkeit der unterschiedlichen Merkmale. Es wird ein Bericht auf Grundlage des anfänglichen Abfrageszenarios erzeugt, der die Muster und Trends für unterschiedliche Merkmale und ihre Werte in den Simulationsergebnissen zusammenfasst. Auf Grundlage des Berichts wird der autonome Algorithmus für besseres Verhalten modifiziert, oder es werden Abfragen für die nächste Testiteration entworfen, die sich auf fehleranfällige Szenarien konzentrieren.
  • In einem Aspekt sind ein oder mehrere Prozessoren dazu konfiguriert, Anweisungen (z. B. von einem Computer lesbare Anweisungen, von einem Computer ausführbare Anweisungen usw.) auszuführen, um beliebige von einer Vielzahl von beschriebenen Vorgängen durchzuführen. Der eine oder die mehreren Prozessoren können auf Informationen aus Systemspeicher zugreifen und/oder Informationen im Systemspeicher speichern. Der eine oder die mehreren Prozessoren können Informationen zwischen unterschiedlichen Formaten umwandeln, wie beispielsweise Merkmale, Werte, Szenarien, Umgebungen, Testfallbeschreibungen, Ausführungselemente, Tabellen, übergeordnete Merkmalsraumberichte, Merkmalswichtigkeitsberichte, Algorithmusaktualisierungen, Abfragen usw.
  • Der Systemspeicher kann an den einen oder die mehreren Prozessoren gekoppelt sein und kann Anweisungen (z. B. von einem Computer lesbare Anweisungen, von einem Computer ausführbare Anweisungen usw.) speichern, die von dem einen oder den mehreren Prozessoren ausgeführt werden. Der Systemspeicher kann auch dazu konfiguriert sein, beliebige einer Vielzahl anderer Arten von Daten zu speichern, die von den beschriebenen Komponenten erzeugt werden, beispielsweise Merkmale, Werte, Szenarien, Umgebungen, Testfallbeschreibungen, Ausführungselemente, Tabellen, übergeordnete Merkmalsraumberichte, Merkmalswichtigkeitsberichte, Algorithmusaktualisierungen, Abfragen usw.
  • In der vorstehenden Offenbarung wurde auf die begleitenden Zeichnungen Bezug genommen, die einen Teil davon bilden und in denen zur Veranschaulichung spezifische Implementierungen gezeigt sind, in denen die Offenbarung umgesetzt werden kann. Es versteht sich, dass andere Umsetzungen benutzt werden können und strukturelle Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Die Bezugnahme auf „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. in der Beschreibung gibt an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft beinhalten kann, aber nicht jede Ausführungsform muss zwingend das bestimmte Merkmal, die bestimmte Struktur oder Eigenschaft beinhalten. Auch beziehen sich diese Ausdrücke nicht zwingend auf dieselbe Ausführungsform. Wenn ferner ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, wird davon ausgegangen, dass es innerhalb des Wissensumfangs eines Fachmanns liegt, dieses Merkmal, diese Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen zu erzielen, ungeachtet dessen, ob dies ausdrücklich beschrieben ist oder nicht.
  • Umsetzungen der hierin offenbarten Systeme, Vorrichtungen und Verfahren können einen speziellen oder universellen Computer benutzen, der Computerhardware beinhaltet, wie etwa einen oder mehrere Prozessoren und Systemspeicher, wie hierin erörtert. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können auch physische und andere computerlesbare Medien zum Übertragen oder Speichern von von einem Computer ausführbaren Anweisungen und/oder Datenstrukturen beinhalten. Diese computerlesbaren Medien können beliebige verfügbare Medien sein, auf die ein universelles oder spezielles Computersystem zugreifen können. Von einem Computer lesbare Medien, die durch einen Computer ausführbare Anweisungen speichern, sind Computerspeichermedien (-vorrichtungen). Von einem Computer lesbare Medien, die durch einen Computer ausführbare Anweisungen übertragen, sind Übertragungsmedien. Als Beispiel und nicht einschränkend können Umsetzungen der Offenbarung daher wenigstens zwei voneinander verschiedene Arten von einem Computer lesbarer Medien umfassen: Computerspeichermedien (-vorrichtungen) und Übertragungsmedien.
  • Computerspeichermedien (-vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke (solid state drives - SSD) (z. B. auf Grundlage von RAM), Flash-Speicher, Phasenwechselspeicher (phase-change memory - PCM), andere Arten von Speicher, andere optische Disk- oder andere Magnetdiskspeichervorrichtungen, oder ein beliebiges anderes Medium, das zum Speichern gewünschter Programmcodemittel in der Form von durch einen Computer ausführbaren Anweisungen verwendet werden kann, auf die ein universeller oder spezieller Computer zugreifen kann.
  • Eine Implementierung der hierin offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetz kommunizieren. Ein „Netz“ ist als eine oder mehrere Datenverbindungen definiert, die den Transport von elektronischen Daten zwischen Computersystemen und/oder - modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wenn Informationen über ein Netz oder eine andere Kommunikationsverbindung (sei diese festverdrahtet, drahtlos oder eine Kombination von festverdrahtet und drahtlos) an einen Computer übertragen oder bereitgestellt werden, betrachtet der Computer die Verbindung faktisch als ein Übertragungsmedium. Übertragungsmedien können ein Netz und/oder Datenverbindungen beinhalten, die dazu verwendet werden können, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu transportieren, und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen der Vorstehenden sollen ebenfalls im Umfang computerlesbarer Medien eingeschlossen sein.
  • Von einem Computer ausfü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 von einem Computer ausfü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 sind vielmehr als beispielhafte Formen der Umsetzung der Patentansprüche offenbart.
  • Der Fachmann wird zu schätzen wissen, dass die Offenbarung in Network-Computing-Umgebungen mit vielen Arten von Computersystemkonfigurationen angewendet werden kann, einschließlich eines Armaturenbrett- oder anderen Fahrzeugcomputers, PCs, Desktop-Computern, Laptops, Nachrichtenprozessoren, Handgeräten, Multiprozessorsystemen, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbarer Unterhaltungselektronik, Netzwerk-PCs, Minicomputern, Mainframe-Computern, Mobiltelefonen, PDAs, Tablets, Pagern, Routern, Switches, verschiedener Speichergeräte und dergleichen. Die Offenbarung kann auch in Umgebungen mit verteilten Systemen angewendet werden, in denen sowohl lokale Computersysteme als auch entfernte Computersysteme, die durch ein Netz (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 entfernten Speichervorrichtungen befinden.
  • Ferner können die hier beschriebenen Funktionen gegebenenfalls in einem oder mehreren der Folgenden ausgeführt werden: Hardware, Software, Firmware, digitalen Komponenten oder analogen Komponenten. Beispielsweise können eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASIC) dazu programmiert sein, die hierin beschriebenen Systeme und Verfahrensweisen auszuführen. Einige Begriffe werden in der gesamten Beschreibung und den Ansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Der Fachmann wird erkennen, 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 von der Funktion her.
  • Es sei angemerkt, dass die vorstehend erörterten Sensorausführungsformen Computerhardware, -software, -firmware oder eine beliebige Kombination davon umfassen können, um zumindest einen Teil ihrer Funktionen durchzuführen. Ein Sensor kann zum Beispiel einen 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 zu Veranschaulichungszwecken bereitgestellt und nicht als einschränkend gedacht. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen umgesetzt werden, wie es dem Fachmann auf den relevanten Gebieten bekannt ist.
  • Zumindest einige Ausführungsformen der Offenbarung richten sich an Computerprogrammprodukte, 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.
  • Obgleich 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 Fachmann ist ersichtlich, dass verschiedene Änderungen an Form und Detail daran vorgenommen werden können, ohne vom Wesen und Umfang der Offenbarung abzuweichen. Daher sollen die Breite und der Umfang der vorliegenden Offenbarung durch keine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern sollen ausschließlich in Übereinstimmung mit den folgenden Patentansprüchen und ihren Äquivalenten definiert sein. Die vorstehende Beschreibung wurde zur Veranschaulichung und Beschreibung dargelegt. Sie erhebt keinerlei Anspruch auf Vollständigkeit und sie nicht dazu gedacht, die Offenbarung auf die konkrete offenbarte Form zu beschränken. In Anbetracht der vorstehenden Lehren sind viele Modifikationen, Abwandlungen und Kombinationen möglich. Ferner ist anzumerken, dass beliebige oder alle der vorstehend genannten alternativen Implementierungen in einer beliebigen gewünschten Kombination verwendet werden können, um zusätzliche Hybridimplementierungen der Offenbarung zu bilden.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Simulationsdaten-Pipeline-Verfahren für jedes einer Vielzahl von Szenarien, Ausführen eines Algorithmus für autonome Fahrzeuge unter Bedingungen, die in dem Szenario definiert sind, um eine Fahrzeugaktivität zu simulieren; automatisches Klassifizieren fehlgeschlagener Szenarien pro Merkmal pro Merkmalwert; automatisches Erzeugen von Berichten, die eine Größe von Merkmalwerten, die zu fehlgeschlagenen Szenarien beitragen, und Merkmalswichtigkeit über fehlgeschlagene Szenarien hinweg angeben; und Verfeinern von Szenarien, um weitere Informationen zu Merkmalwertkombinationen zu erlangen, die zu fehlgeschlagenen Szenarien beitragen.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Formulieren der Vielzahl von Szenarien, wobei jedes Szenario eine unterschiedliche Kombination von Werten für eine Vielzahl von Merkmalen beinhaltet.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das Formulieren der Vielzahl von Szenarien umfasst: Zugreifen auf eine Auswahl von Szenariobeschreibungen aus einer Szenariodatenbank; und Umwandeln jeder Szenariobeschreibung in ein entsprechendes Szenario.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das Umwandeln jeder Szenariobeschreibung in ein entsprechendes Szenario umfasst, dass ein Simulator ein Video unter Verwendung einer YAML-Datei erzeugt; und wobei der Algorithmus für autonome Fahrzeuge an dem Video gemäß Bedingungen ausgeführt wird, die in dem Szenario definiert sind.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Überwachen der Ausführung des Algorithmus für autonome Fahrzeuge mit simulierten Sensoren im Testsimulator; und wobei das automatische Klassifizieren fehlgeschlagener Szenarien pro Merkmal pro Merkmalwert Klassifizieren fehlgeschlagener Szenarien aus der überwachten Ausführung umfasst.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch Modifizieren des Algorithmus für autonome Fahrzeuge in Bezug auf die angegebene Größe von Merkmalwerten, die zu fehlgeschlagenen Szenarien beitragen, und Merkmalswichtigkeit über fehlgeschlagene Szenarien hinweg.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das Ausführen eines Algorithmus für autonome Fahrzeuge Ausführen des Algorithmus für autonome Fahrzeuge in einem der Folgenden umfasst: virtuelle Umgebung oder eine physische Umgebung; und ferner umfassend Anzeigen der erzeugten Berichte an einer Konsole.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das automatisches Erzeugen von Berichten, die Merkmalwerte, die zu fehlgeschlagene Szenarien beitragen, und Merkmalswichtigkeit über fehlgeschlagene Szenarien hinweg angeben, ferner eine Stützvektormaschine (SVM) mit einem linearen Kern umfasst, die die Berichte automatisch erzeugt.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das automatische Erzeugen von Berichten, die Merkmalswichtigkeit über fehlgeschlagene Szenarien hinweg angeben, Erzeugen eines Berichts umfasst, der jedes Merkmal einer Gewichtung zuordnet.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das Verfeinern von Szenarien, um weitere Informationen zu Merkmalwertkombinationen zu erlangen, die zu fehlgeschlagenen Szenarien beitragen, Folgendes umfasst: Formulieren einer Datenbankabfrage aus den Parametern, die zum Fehlschlag geführt haben, unter Verwendung des Inhalts der erzeugten Berichte; Senden der Abfrage an eine Szenariodatenbank; und Empfangen einer Beschreibungsdatei, die eine Vielzahl weiterer Szenarien beschreibt.
  • Gemäß der vorliegenden Erfindung wird ein Computersystem bereitgestellt, das ein Verfahren umsetzt, das Folgendes beinhaltet: Zugreifen auf eine Vielzahl von Umgebungen aus einer Szenariodatenbank, wobei jede Umgebung einen Wert für jedes einer Vielzahl von Merkmalen beinhaltet; Erzeugen einer Beschreibungsdatei für jede einer Vielzahl von Umgebungen; Umwandeln jeder Beschreibungsdatei in ein mit einem Simulator kompatibles Ausführungselement; Ausführen jedes mit einem Simulator kompatiblen Ausführungselements in einem Simulator, um das Verhalten eines Algorithmus für autonome Fahrzeuge zu simulieren; Testen des Simulationsverhaltens hinsichtlich Wahrnehmung oder Sicht des Algorithmus für autonome Fahrzeuge; Klassifizieren fehlgeschlagener simulierter Verhaltensweisen für die Vielzahl von Merkmalen; Bestimmen einer Wichtigkeit eines jeden der Vielzahl von Merkmalen; Anzeigen der klassifizierten simulierten Fehlverhaltensweisen und der bestimmten Wichtigkeit für jedes Merkmal an einer Konsole; und Empfangen einer Eingabe in Bezug auf die simulierten Fehlverhaltensweisen, die eins oder mehrere der Folgenden beinhaltet: Modifikationen am Algorithmus für autonome Fahrzeuge oder eine Szenariodatenbankabfrage, die weitere simulierte Verhaltensweisen des Algorithmus für autonome Fahrzeuge anfordert und die auf Merkmale abzielt, die zu simulierten Fehlverhaltensweisen beitragen.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das Ausführen jedes mit einem Simulator kompatiblen Ausführungselements Ausführen jedes mit einem Simulator kompatiblen Ausführungselements in einer Computerspiel-Engine zum Erzeugen einer virtuellen Umgebung umfasst.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das Erzeugen einer Beschreibungsdatei für jede der Vielzahl simulierter Umgebungen Erzeugen einer YAML-Datei umfasst.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das Umwandeln jeder Beschreibungsdatei in ein mit einem Simulator kompatiblen Ausführungselement Erzeugen eines Ausführungselements umfasst, das dazu konfiguriert wird, eine Vielzahl von Videos unter Verwendung der YAML-Dateien zu erzeugen.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das Klassifizieren von simulierten Fehlverhaltensweisen über die Vielzahl von Merkmalen hinweg umfasst, dass eine Stützvektormaschine (SVM) pro Merkmal die Anzahl von Vorkommen jedes Werts über die simulierten Fehlverhaltensweisen hinweg berechnet.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner dadurch gekennzeichnet, dass das Bestimmen einer Gewichtung für jedes der Vielzahl von Merkmalen umfasst, dass die Stützvektormaschine (SVM) einen Vektor von Merkmalsgewichtungen berechnet.
  • Gemäß der vorliegenden Erfindung wird ein Computersystem bereitgestellt, aufweisend: einen Prozessor; Systemspeicher, der an den Prozessor gekoppelt ist und Anweisungen speichert, die den Prozessor veranlassen zum:-Zugreifen auf eine zufällige Vielzahl von simulierten Umgebungen aus einer Szenariodatenbank, wobei jede simulierte Umgebung einen Wert für jedes einer Vielzahl von Merkmalen beinhaltet; Erzeugen einer Beschreibungsdatei für jede einer Vielzahl von simulierten Umgebungen; Umwandeln jeder Beschreibungsdatei in ein mit einem Testsimulator kompatibles Ausführungselement; Ausführen jedes mit einem Testsimulator kompatiblen Ausführungselements in einem Testsimulator, um das Verhalten eines Algorithmus für autonome Fahrzeuge zu simulieren; Testen des Simulationsverhaltens hinsichtlich Wahrnehmung oder Sicht des Algorithmus für autonome Fahrzeuge; Klassifizieren fehlgeschlagener simulierter Verhaltensweisen für die Vielzahl von Merkmalen; Bestimmen einer Gewichtung für jedes der Vielzahl von Merkmalen, wobei die Gewichtung die Wichtigkeit des Merkmals für das simulierte Verhalten angibt; Anzeigen der klassifizierten simulierten Fehlverhaltensweisen und der bestimmten Gewichtungen an einer Konsole; Zugreifen auf eine Szenariodatenbankabfrage, die weitere simulierte Verhaltensweisen des Algorithmus für autonome Fahrzeuge anfordert, die auf Merkmale abzielen, die zu simulierten Fehlverhaltensweisen beitragen; Senden der Senden der Szenariodatenbankabfrage an die Szenariodatenbank; und Durchführen weiterer simulierter Verhaltensweisen auf Grundlage einer Beschreibungsdatei, die in Reaktion auf die Abfrage zurückgesendet wird.
  • Gemäß einer Ausführungsform umfassen die Anweisungen, die zum Erzeugen einer Beschreibungsdatei für jede der Vielzahl von simulierten Umgebungen konfiguriert sind, Anweisungen, die zum Erzeugen einer YAML-Datei konfiguriert sind; und wobei die Anweisungen, die zum Umwandeln jeder Beschreibungsdatei in ein mit einem Testsimulator kompatibles Ausführungselement konfiguriert sind, Anweisungen umfassen, die zum Umwandeln der YAML-Datei in eine Vielzahl von Videos konfiguriert sind.
  • Gemäß einer Ausführungsform umfassen die Anweisungen, die zum Klassifizieren von simulierten Fehlverhaltensweisen über die Vielzahl von Merkmalen hinweg konfiguriert sind, eine Stützvektormaschine (SVM), die dazu konfiguriert ist, pro Merkmal die Anzahl von Vorkommen jedes Werts über die simulierten Fehlverhaltensweisen hinweg zu berechnen.
  • Gemäß einer Ausführungsform umfassen die Anweisungen, die zum Bestimmen einer Gewichtung für jedes der Vielzahl von Merkmalen konfiguriert sind, die Stützvektormaschine (SVM), die dazu konfiguriert ist, einen Vektor von Merkmalsgewichtungen zu berechnen.

Claims (15)

  1. Simulationsdaten-Pipeline-Verfahren, umfassend: für jedes einer Vielzahl von Szenarien, Ausführen eines Algorithmus für autonome Fahrzeuge unter Bedingungen, die in dem Szenario definiert sind, um eine Fahrzeugaktivität zu simulieren; automatisches Klassifizieren fehlgeschlagener Szenarien pro Merkmal pro Merkmalwert; automatisches Erzeugen von Berichten, die eine Größe von Merkmalwerten, die zu fehlgeschlagenen Szenarien beitragen, und Merkmalswichtigkeit über fehlgeschlagene Szenarien hinweg angeben; und Verfeinern von Szenarien, um weitere Informationen zu Merkmalwertkombinationen zu erlangen, die zu fehlgeschlagenen Szenarien beitragen.
  2. Verfahren nach Anspruch 1, ferner umfassend: Formulieren der Vielzahl von Szenarien, wobei jedes Szenario eine unterschiedliche Kombination von Werten für eine Vielzahl von Merkmalen beinhaltet, beinhaltend: Zugreifen auf eine Auswahl von Szenariobeschreibungen aus einer Szenariodatenbank; und Umwandeln jeder Szenariobeschreibung in ein entsprechendes Szenario.
  3. Verfahren nach Anspruch 2, wobei das Umwandeln jeder Szenariobeschreibung in ein entsprechendes Szenario einen Simulator umfasst, der ein Video unter Verwendung einer Y AML-Datei erzeugt; und wobei der Algorithmus für autonome Fahrzeuge an dem Video gemäß Bedingungen ausgeführt wird, die in dem Szenario definiert sind.
  4. Verfahren nach Anspruch 1, ferner umfassend Überwachen der Ausführung des Algorithmus für autonome Fahrzeuge mit simulierten Sensoren im Testsimulator; und wobei das automatische Klassifizieren fehlgeschlagener Szenarien pro Merkmal pro Merkmalwert Klassifizieren fehlgeschlagener Szenarien aus der überwachten Ausführung umfasst.
  5. Verfahren nach Anspruch 1, ferner umfassend Modifizieren des Algorithmus für autonome Fahrzeuge in Bezug auf die angegebene Größe von Merkmalwerten, die zu fehlgeschlagenen Szenarien beitragen, und Merkmalswichtigkeit über fehlgeschlagene Szenarien hinweg.
  6. Verfahren nach Anspruch 1, wobei das Ausführen eines Algorithmus für autonome Fahrzeuge Ausführen des Algorithmus für autonome Fahrzeuge in einem der Folgenden umfasst: virtuelle Umgebung oder eine physische Umgebung; und ferner umfassend Anzeigen der erzeugten Berichte an einer Konsole.
  7. Verfahren nach Anspruch 1, wobei das automatische Erzeugen von Berichten, die Merkmalwerte, die zu fehlgeschlagene Szenarien beitragen, und Merkmalswichtigkeit über fehlgeschlagene Szenarien hinweg angeben, ferner eine Stützvektormaschine (SVM) mit einem linearen Kern umfasst, die die Berichte automatisch erzeugt.
  8. Verfahren nach Anspruch 1, wobei das Verfeinern von Szenarien, um weitere Informationen zu Merkmalwertkombinationen zu erlangen, die zu fehlgeschlagenen Szenarien beitragen, Folgendes umfasst: Formulieren einer Datenbankabfrage aus den Parametern, die zum Fehlschlag geführt haben, unter Verwendung des Inhalts der erzeugten Berichte; Senden der Abfrage an eine Szenariodatenbank; und Empfangen einer Beschreibungsdatei, die eine Vielzahl weiterer Szenarien beschreibt.
  9. Verfahren, an einem Computersystem, umfassend: Zugreifen auf eine Vielzahl von Umgebungen aus einer Szenariodatenbank, wobei jede Umgebung einen Wert für jedes einer Vielzahl von Merkmalen beinhaltet; Erzeugen einer Beschreibungsdatei für jede einer Vielzahl von Umgebungen; Umwandeln jeder Beschreibungsdatei in ein mit einem Simulator kompatibles Ausführungselement; Ausführen jedes mit einem Simulator kompatiblen Ausführungselements in einem Simulator, um das Verhalten eines Algorithmus für autonome Fahrzeuge zu simulieren; Testen des Simulationsverhaltens hinsichtlich Wahrnehmung oder Sicht des Algorithmus für autonome Fahrzeuge; Klassifizieren fehlgeschlagener simulierter Verhaltensweisen für die Vielzahl von Merkmalen; Bestimmen einer Wichtigkeit eines jeden der Vielzahl von Merkmalen; Anzeigen der klassifizierten simulierten Fehlverhaltensweisen und der bestimmten Wichtigkeit für jedes Merkmal an einer Konsole; und Empfangen einer Eingabe in Bezug auf die simulierten Fehlverhaltensweisen, die eins oder mehrere der Folgenden beinhaltet: Modifikationen am Algorithmus für autonome Fahrzeuge oder eine Szenariodatenbankabfrage, die weitere simulierte Verhaltensweisen des Algorithmus für autonome Fahrzeuge anfordert und die auf Merkmale abzielt, die zu simulierten Fehlverhaltensweisen beitragen.
  10. Verfahren nach Anspruch 9, wobei das Ausführen jedes mit einem Simulator kompatiblen Ausführungselements Ausführen jedes mit einem Simulator kompatiblen Ausführungselements in einer Computerspiel-Engine zum Erzeugen einer virtuellen Umgebung umfasst.
  11. Verfahren nach Anspruch 9, wobei das Erzeugen einer Beschreibungsdatei für jede der Vielzahl simulierter Umgebungen Erzeugen einer YAML-Datei umfasst.
  12. Verfahren nach Anspruch 9, wobei das Umwandeln jeder Beschreibungsdatei in ein mit einem Simulator kompatiblen Ausführungselement Erzeugen eines Ausführungselements umfasst, das dazu konfiguriert wird, eine Vielzahl von Videos unter Verwendung der YAML-Dateien zu erzeugen.
  13. Computersystem, wobei das Computersystem umfasst: einen Prozessor, Systemspeicher, der an den Prozessor gekoppelt ist und Anweisungen speichert, die den Prozessor veranlassen zum: Zugreifen auf eine zufällige Vielzahl von simulierten Umgebungen aus einer Szenariodatenbank, wobei jede simulierte Umgebung einen Wert für jedes einer Vielzahl von Merkmalen beinhaltet; Erzeugen einer Beschreibungsdatei für jede einer Vielzahl von simulierten Umgebungen; Umwandeln jeder Beschreibungsdatei in ein mit einem Testsimulator kompatibles Ausführungselement; Ausführen jedes mit einem Testsimulator kompatiblen Ausführungselements in einem Testsimulator, um das Verhalten eines Algorithmus für autonome Fahrzeuge zu simulieren; Testen des Simulationsverhaltens hinsichtlich Wahrnehmung oder Sicht des Algorithmus für autonome Fahrzeuge; Klassifizieren fehlgeschlagener simulierter Verhaltensweisen für die Vielzahl von Merkmalen; Bestimmen einer Gewichtung für jedes der Vielzahl von Merkmalen, wobei die Gewichtung die Wichtigkeit des Merkmals für das simulierte Verhalten angibt; Anzeigen der klassifizierten simulierten Fehlverhaltensweisen und der bestimmten Gewichtungen an einer Konsole; Zugreifen auf eine Szenariodatenbankabfrage, die weitere simulierte Verhaltensweisen des Algorithmus für autonome Fahrzeuge anfordert, die auf Merkmale abzielen, die zu simulierten Fehlverhaltensweisen beitragen; Senden der Szenariodatenbankabfrage an die Szenariodatenbank; und Durchführen weiterer simulierter Verhaltensweisen auf Grundlage einer Beschreibungsdatei, die in Reaktion auf die Abfrage zurückgesendet wird.
  14. Computersystem nach Anspruch 13, wobei die Anweisungen, die zum Erzeugen einer Beschreibungsdatei für jede einer Vielzahl von simulierten Umgebungen konfiguriert sind, Anweisungen umfassen, die zum Erzeugen einer YAML-Datei konfiguriert sind; und wobei die Anweisungen, die zum Umwandeln jeder Beschreibungsdatei in ein mit einem Testsimulator kompatibles Ausführungselement konfiguriert sind, Anweisungen umfassen, die zum Umwandeln der YAML-Datei in eine Vielzahl von Videos konfiguriert sind.
  15. Computersystem nach Anspruch 13, wobei die Anweisungen, die zum Klassifizieren von simulierten Fehlverhaltensweisen über die Vielzahl von Merkmalen hinweg konfiguriert sind, eine Stützvektormaschine (SVM) umfassen, die dazu konfiguriert ist, pro Merkmal die Anzahl von Vorkommen jedes Werts über die simulierten Fehlverhaltensweisen hinweg zu berechnen; und wobei die Anweisungen, die zum Bestimmen einer Gewichtung für jedes der Vielzahl von Merkmalen konfiguriert sind, die Stützvektormaschine (SVM) umfassen, die dazu konfiguriert ist, einen Vektor von Merkmalsgewichtungen zu berechnen.
DE102019124615.6A 2018-09-12 2019-09-12 Beurteilen von algorithmen für autonome fahrzeuge Pending DE102019124615A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/129,145 US11030364B2 (en) 2018-09-12 2018-09-12 Evaluating autonomous vehicle algorithms
US16/129,145 2018-09-12

Publications (1)

Publication Number Publication Date
DE102019124615A1 true DE102019124615A1 (de) 2020-03-12

Family

ID=69621212

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019124615.6A Pending DE102019124615A1 (de) 2018-09-12 2019-09-12 Beurteilen von algorithmen für autonome fahrzeuge

Country Status (3)

Country Link
US (1) US11030364B2 (de)
CN (1) CN110909441A (de)
DE (1) DE102019124615A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115777088A (zh) * 2020-12-17 2023-03-10 移动眼视力科技有限公司 车辆运行安全模型测试系统
DE102022132922A1 (de) 2022-12-12 2024-06-13 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren und System zur virtuellen Verifikation von automatisierten Fahrfunktionen

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157006B2 (en) * 2019-01-10 2021-10-26 International Business Machines Corporation Training and testing automated driving models
CN111753261B (zh) * 2020-06-29 2023-07-04 北京百度网讯科技有限公司 车辆安全检测方法、装置、设备及存储介质
CN112417587B (zh) * 2020-10-22 2023-03-14 东风汽车集团有限公司 一种汽车的三通式空调管路的设计方法
CN112345869A (zh) * 2020-11-25 2021-02-09 武汉光庭信息技术股份有限公司 一种汽车电子设备测试方法、系统、电子设备及存储介质
US20220197280A1 (en) * 2020-12-22 2022-06-23 Uatc, Llc Systems and Methods for Error Sourcing in Autonomous Vehicle Simulation
DE102021109126A1 (de) * 2021-04-13 2022-10-13 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Testen eines Produkts
US11960292B2 (en) 2021-07-28 2024-04-16 Argo AI, LLC Method and system for developing autonomous vehicle training simulations
CN113326210B (zh) * 2021-08-03 2021-10-12 北京赛目科技有限公司 一种自动驾驶测试场景的确定方法及装置
WO2023250046A1 (en) * 2022-06-21 2023-12-28 Applied Intuition, Inc. Parallelized and asynchronous evaluation to optimize for maximal efficiency of information gain
US20240086586A1 (en) * 2022-09-14 2024-03-14 Nec Laboratories America, Inc. Multi-modality data augmentation engine to improve rare driving scenario detection for vehicle sensors

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070088469A1 (en) * 2005-10-04 2007-04-19 Oshkosh Truck Corporation Vehicle control system and method
US8364402B2 (en) * 2009-08-20 2013-01-29 Ford Global Technologies, Llc Methods and systems for testing navigation routes
US9915950B2 (en) * 2013-12-31 2018-03-13 Polysync Technologies, Inc. Autonomous vehicle interface system
CN104570765B (zh) 2014-12-16 2017-05-10 北京中交兴路车联网科技有限公司 一种车辆行驶仿真脚本生成方法及装置
US10114618B2 (en) * 2015-06-08 2018-10-30 Cisco Technology, Inc. Autonomous mobile sensor movement path simulation with an integrated developer environment
US10358143B2 (en) * 2015-09-01 2019-07-23 Ford Global Technologies, Llc Aberrant driver classification and reporting
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
DE102016220913A1 (de) * 2015-11-06 2017-05-11 Ford Global Technologies, Llc Verfahren und Vorrichtung zur Generierung von Testfällen für autonome Fahrzeuge
US10397019B2 (en) * 2015-11-16 2019-08-27 Polysync Technologies, Inc. Autonomous vehicle platform and safety architecture
CN105954040B (zh) 2016-04-22 2019-02-12 百度在线网络技术(北京)有限公司 应用于无人驾驶汽车的测试方法和装置
JP2019531560A (ja) * 2016-07-05 2019-10-31 ナウト, インコーポレイテッドNauto, Inc. 自動運転者識別システムおよび方法
US20180025640A1 (en) * 2016-07-19 2018-01-25 Ford Global Technologies, Llc Using Virtual Data To Test And Train Parking Space Detection Systems
US10592805B2 (en) * 2016-08-26 2020-03-17 Ford Global Technologies, Llc Physics modeling for radar and ultrasonic sensors
US10489529B2 (en) * 2016-10-14 2019-11-26 Zoox, Inc. Scenario description language
US10558224B1 (en) * 2017-08-10 2020-02-11 Zoox, Inc. Shared vehicle obstacle data
US10739775B2 (en) * 2017-10-28 2020-08-11 Tusimple, Inc. System and method for real world autonomous vehicle trajectory simulation
US10885240B2 (en) * 2017-11-02 2021-01-05 Uatc, Llc Deterministic simulation framework for autonomous vehicle testing
US10677686B2 (en) * 2017-11-14 2020-06-09 GM Global Technology Operations LLC Method and apparatus for autonomous system performance and grading
US10198002B2 (en) * 2017-11-21 2019-02-05 GM Global Technology Operations LLC Systems and methods for unprotected left turns in high traffic situations in autonomous vehicles
US20180093671A1 (en) * 2017-11-21 2018-04-05 GM Global Technology Operations LLC Systems and methods for adjusting speed for an upcoming lane change in autonomous vehicles
US10809735B2 (en) * 2018-04-09 2020-10-20 SafeAI, Inc. System and method for a framework of robust and safe reinforcement learning application in real world autonomous vehicle application
US11561541B2 (en) * 2018-04-09 2023-01-24 SafeAI, Inc. Dynamically controlling sensor behavior
US11169536B2 (en) * 2018-04-09 2021-11-09 SafeAI, Inc. Analysis of scenarios for controlling vehicle operations
US10564643B2 (en) * 2018-05-31 2020-02-18 Nissan North America, Inc. Time-warping for autonomous driving simulation
US20200026277A1 (en) * 2018-07-19 2020-01-23 GM Global Technology Operations LLC Autonomous driving decisions at intersections using hierarchical options markov decision process
US20200031370A1 (en) * 2018-07-25 2020-01-30 Continental Powertrain USA, LLC Driver Behavior Based Propulsion Control Strategy Using Artificial Intelligence
US11068627B2 (en) * 2018-08-09 2021-07-20 Zoox, Inc. Procedural world generation
US11422553B2 (en) * 2019-06-28 2022-08-23 Intel Corporation Methods and apparatus to adjust autonomous vehicle driving software using machine programming

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115777088A (zh) * 2020-12-17 2023-03-10 移动眼视力科技有限公司 车辆运行安全模型测试系统
US11772666B2 (en) 2020-12-17 2023-10-03 Mobileye Vision Technologies Ltd. Vehicle operation safety model test system
DE102022132922A1 (de) 2022-12-12 2024-06-13 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren und System zur virtuellen Verifikation von automatisierten Fahrfunktionen

Also Published As

Publication number Publication date
US20200082034A1 (en) 2020-03-12
CN110909441A (zh) 2020-03-24
US11030364B2 (en) 2021-06-08

Similar Documents

Publication Publication Date Title
DE102019124615A1 (de) Beurteilen von algorithmen für autonome fahrzeuge
DE102014220302B4 (de) Verfahren zur Durchführung einer Aktions-Erkennung auf einem Bild eines Fahrers in einem Fahrzeug sowie entsprechendes Nichtflüchtiges, Computer-lesbares Speichermedium und Verfahren zum Lernen eines Random Forest Modells zur Aktionserkennung
DE102018006962A1 (de) Regelfestlegung für Black-Box-Maschinenlernmodelle
DE202017106532U1 (de) Suche nach einer neuronalen Architektur
CN110428127B (zh) 自动化分析方法、用户设备、存储介质及装置
DE112019005914T5 (de) Kategorisierung gewonnener daten basierend auf expliziten und impliziten mitteln
DE102019122402A1 (de) Das klassifizieren von zeitreihenbilddaten
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE112020002684T5 (de) Ein Mehrfachverfahrenssystem für optimale Vorhersagemodellauswahl
DE102018010163A1 (de) Automatisches Generieren sinnvoller Nutzersegmente
DE102018109195A1 (de) Diagnosesystem und Verfahren zum Verarbeiten von Daten eines Kraftfahrzeugs
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
DE102021124445A1 (de) Metamerkmal-trainingsmodelle für maschinenlernalgorithmen
DE102017213510A1 (de) Verfahren und Vorrichtung zum Erzeugen eines maschinellen Lernsystems, und virtuelle Sensorvorrichtung
DE112021005678T5 (de) Normieren von OCT-Bilddaten
DE102019209538A1 (de) Verfahren und Vorrichtung zum Prüfen eines Systems, zur Auswahl realer Tests und zum Testen von Systemen mit Komponenten maschinellen Lernens
DE102020215930A1 (de) Visuelle analytikplattform zum aktualisieren von objektdetektionsmodellen in anwendungen des autonomen fahrens
DE102021200345A1 (de) Überprüfung von computervisionsmodellen
DE112020004688T5 (de) Debuggen und erstellen von profilen von maschinenlernmodelltraining
DE102015205720A1 (de) System zum Analysieren nichtklassifizierter Kraftfahrzeugfehlerdaten
DE112014006627T5 (de) Bestimmen eines Nutzlast-Schätzwerts
DE102021109465A1 (de) Hierarchie-erkennung für blockschaltbilder
DE112018007202T5 (de) Informationsverarbeitungsvorrichtung, steuerungsverfahren undprogramm
DE202014011088U1 (de) System zur Beurteilung von Ressourcen in einem Computernetzwerk auf Übereinstimmung mit Anforderungen an ein Computersystem
DE102023210092A1 (de) System und Verfahren für einen Rahmen der visuellen Analytik für Maschinenlernmodelle auf Slice-Basis

Legal Events

Date Code Title Description
R082 Change of representative

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