DE102018101465A1 - Trainieren eines automatischen ampelerkennungsmoduls unter verwendung simulierter bilder - Google Patents

Trainieren eines automatischen ampelerkennungsmoduls unter verwendung simulierter bilder Download PDF

Info

Publication number
DE102018101465A1
DE102018101465A1 DE102018101465.1A DE102018101465A DE102018101465A1 DE 102018101465 A1 DE102018101465 A1 DE 102018101465A1 DE 102018101465 A DE102018101465 A DE 102018101465A DE 102018101465 A1 DE102018101465 A1 DE 102018101465A1
Authority
DE
Germany
Prior art keywords
model
image
annotated
traffic light
training
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.)
Withdrawn
Application number
DE102018101465.1A
Other languages
English (en)
Inventor
Simon Murtha Smith
Ashley Elizabeth Micks
Maryam Moosaei
Vidya Nariyambut murali
Madeline J. Goh
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 DE102018101465A1 publication Critical patent/DE102018101465A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • 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
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/09623Systems involving the acquisition of information from passive traffic signs by means mounted on the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Business, Economics & Management (AREA)
  • Image Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Abstract

Es wird ein Szenario definiert, das Modelle von Fahrzeugen und eine typische Fahrumgebung sowie eine Ampel, die einen Zustand (rot, grün, gelb) aufweist, beinhaltet. Ein Modell eines Prüffahrzeugs wird zum Szenario hinzugefügt und die Kamerastelle wird auf dem Prüffahrzeug definiert. Die Wahrnehmung des Szenarios durch eine Kamera wird simuliert, um ein Bild zu erhalten. Das Bild wird mit einer Stelle und einem Zustand der Ampel annotiert. Es können verschiedene annotierte Bilder für verschiedene Szenarien generiert werden, darunter Szenarien ohne Ampel oder mit Ampeln, welche das Prüffahrzeug nicht regeln. Ein maschinelles Lernmodell wird dann unter Verwendung der annotierten Bilder trainiert, um die Stelle und den Zustand von Ampeln, die das Prüffahrzeug regeln, zu identifizieren.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft die Umsetzung von Steuerlogik für ein autonomes Fahrzeug.
  • ALLGEMEINER STAND DER TECHNIK
  • Autonome Fahrzeuge werden immer relevanter und kommen tagtäglich immer mehr zum Einsatz. Bei einem autonomen Fahrzeug stützt sich eine Steuerung auf Sensoren, um umliegende Hindernisse und Straßenbeläge zu erfassen. Die Steuerung setzt Logik um, welche die Steuerung des Lenkens, Bremsens und Beschleunigens ermöglicht, um ein Ziel zu erreichen und Kollisionen zu vermeiden. Damit sie richtig autonom arbeiten kann, muss die Steuerung Ampeln identifizieren und deren Zustand bestimmen, um Kollisionen mit Querverkehr zu vermeiden.
  • Das hierin offenbarte System und Verfahren stellt einen verbesserten Ansatz zur Durchführung der Ampelerkennung bei einem autonomen Fahrzeug bereit.
  • 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 Schutzumfang 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äß Ausführungsformen der Erfindung geeignet ist;
    • 3 ist ein Verfahren zum Generieren von annotierten Bildern aus einem 3D-Modell, um ein Ampelerkennungsmodell gemäß einer Ausführungsform der vorliegenden Erfindung zu trainieren;
    • 4 veranschaulicht ein Szenario zum Trainieren eines maschinellen Lernmodells gemäß einer Ausführungsform der vorliegenden Erfindung; und
    • 5 ist ein Prozessablaufdiagramm eines Verfahrens zum Trainieren eines Modells unter Verwendung von annotierten Bildern gemäß einer Ausführungsform der vorliegenden Erfindung.
  • DETAILLIERTE 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 Schutzumfang 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-ROM)-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 beinhaltet, 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 Fahrzeugmodell 106a kann ferner ein dynamisches Modell 108b 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, 108b 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 108c 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 einer Kamera kann das Sensormodell 108c das Sichtfeld, die Auflösung, die Vergrößerung, die Bildwechselfrequenz oder eine andere Betriebsgrenze der Kamera beinhalten. Bei einem Mikrofon beispielsweise kann das Sensormodell 108c die Verstärkung, das Signal-Rausch-Verhältnis, das Empfindlichkeitsprofil (Empfindlichkeit gegenüber Frequenz) und dergleichen beinhalten. Bei einem Ultraschallsensor, LIDAR-Sensor (Light Detection and Ranging), RADAR-Sensor (Radio Detection and Ranging) oder SONAR-Sensor (Sound Navigation and Ranging) kann das Sensormodell 108c eine Auflösung, ein Sichtfeld und eine Abtastrate des Systems beinhalten.
  • 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.
  • Wie nachfolgend beschrieben, sind die hierin offenbarten Verfahren besonders für die Ampelerkennung geeignet. Entsprechend kann das Umgebungsmodell 106c Modelle von Lichtquellen wie zum Beispiel Ampeln 110a und anderen Lichtern 110b wie zum Beispiel Straßenlaternen, beleuchteten Schildern, natürlichen Lichtquellen (Sonne, Mond, Sterne) und dergleichen enthalten. In einigen Ausführungsformen können Fahrzeugmodelle 106a, 106b auch Lichtquellen wie zum Beispiel Heckleuchten, Scheinwerfer und dergleichen enthalten.
  • Die Datenbank 104 kann ein maschinelles Lernmodell 106d speichern. Das maschinelle Lernmodell 106d kann mithilfe der Modelle 106a-106c gemäß den hierin beschriebenen Verfahren trainiert werden. Das maschinelle Lernmodell 106d kann ein tiefes neurales Netzwerk, Bayessches Netzwerk oder ein anderer Typ eines maschinellen Lernmodells sein.
  • 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 auf Modellen von Straßen platziert sich und/oder sich dort entlang 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 Modellen eines Szenarios spezifizieren, und ein Modell des Szenarios erstellen, welches Modelle 106a-106c 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 von verfügbaren Modellen 106a-106c zu definieren.
  • Die Trainingengine 112 kann ein Sensorsimulationsmodul 114b beinhalten. Für ein Szenario und ein Fahrzeugmodell 106b, das in dem Szenario enthalten ist, das die Sensormodelldaten 108c beinhaltet, kann insbesondere eine Wahrnehmung des Szenarios durch die Sensoren durch das Sensorsimulationsmodul 114b simuliert werden, wie nachfolgend ausführlicher beschrieben.
  • Insbesondere können verschiedene Renderingschemata verwendet werden, um ein Bild des Szenarios aus Sicht einer durch das Sensormodell 108c definierten Kamera zu rendern. Das Rendern kann das Durchführen von Ray-Tracing oder eines anderen Ansatzes zum Modellieren der Lichtausbreitung von verschiedenen Lichtquellen 110a, 110b in dem Umgebungsmodell 106c und den Fahrzeugmodellen 106a, 106b beinhalten.
  • 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. In den hierin offenbarten Ausführungsformen können die Annotationen die Stelle und den Zustand (rot, gelb, grün) von Ampeln in einem Szenario beinhalten, denen das Prüffahrzeug 106b unterliegt, d. h. Leiten von Verkehr auf der Spur und in der Verkehrsrichtung des Prüffahrzeugs 106b.
  • Die Trainingengine 112 kann ein maschinelles Lernmodul 114d beinhalten. Das maschinelle Lernmodul 114d kann das maschinelle Lernmodell 106d trainieren. Zum Beispiel kann das maschinelle Lernmodell 106d trainiert werden, um die Stelle und den Zustand einer Ampel zu identifizieren, indem annotierte Bilder verarbeitet werden. Das maschinelle Lernmodell 106d kann trainiert werden, um die Stelle und den Zustand von Ampeln zu identifizieren, sowie, ob die Ampel das Prüffahrzeug betrifft. Das maschinelle Lernmodul 114d kann das maschinelle Lernmodell 106d trainieren, indem die Bilder als eine Eingabe und die Anmerkungen für die Bilder als gewünschte Ausgaben eingegeben werden.
  • Unter Bezugnahme auf 1B kann das maschinelle Lernmodell 106d, wie mithilfe des Systems aus 1A generiert, verwendet werden, um die Ampelerkennung 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 Ampeln in Sensordaten mithilfe des maschinellen Lernens 106d identifizieren, das wie nachfolgend unter Bezugnahme auf 3 bis 5 beschrieben ist.
  • 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 108c modelliert sind, welches verwendet wird, um das maschinelle Lernmodell 106d zu trainieren.
  • Die Steuerung 122 kann ein autonomes Betriebsmodul 130 ausführen, welches Ausgaben von einigen oder allen der Abbildungsvorrichtungen 124, Mikrofone 126 und anderen Sensoren 128 empfängt. Das autonome Betriebsmodul 130 analysiert dann die Ausgaben, um mögliche Hindernisse zu identifizieren.
  • Das autonome Betriebsmodul 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.
  • 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 114d 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, um in Richtung eines Ziels fortzuschreiten und Hindernisse zu vermeiden, 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 das maschinelle Lernmodell 106d beinhalten oder darauf zugreifen, das unter Verwendung des Systems 100 aus 1A trainiert ist, um Bilder von den Abbildungsvorrichtungen 124 zu verarbeiten, um die Stelle und Zustände von Ampeln zu identifizieren, denen das Fahrzeug unterliegt. Entsprechend hält das Entscheidungsmodul 132c als Reaktion auf die Identifizierung einer regelnden Ampel, die rot ist, an, und fährt, wenn es sicher ist, als Antwort auf die Identifizierung einer regelnden Ampel, die grün ist, weiter.
  • 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 hierin 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 es 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 hierin 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 hierin 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) kann/können zum Beispiel programmiert sein, um eines oder mehrere der hierin beschriebenen Systeme und Verfahren durchzuführen.
  • Unter Bezugnahme auf 3 kann das veranschaulichte Verfahren 300 durch das Serversystem 102 ausgeführt werden, um annotierte Bilder zu generieren, um ein maschinelles Lernmodell zu trainieren, damit es regelnde Ampeln und deren Zustand identifiziert.
  • Das Verfahren 300 kann das Definieren 302a eines Szenarienmodells beinhalten. Zum Beispiel kann, wie in 4 gezeigt, ein Umgebungsmodell, das eine Straße 400 beinhaltet, mit Modellen von Fahrzeugen 402, 404, die innerhalb von Spuren der Straße 400 platziert sind, kombiniert werden. Ebenso kann ein Prüffahrzeug 406, aus dessen Sicht das Szenario wahrgenommen wird, ebenfalls in dem Szenarienmodell enthalten sein. Das Szenarienmodell kann eine statische Konfiguration sein oder kann ein dynamisches Modell sein, wobei die Fahrzeuge 402, 404, 406 Geschwindigkeiten und Beschleunigungen aufweisen, die von einem Zeitschritt zum nächsten während der Ausbreitung des Szenarienmodells variieren können.
  • Das Szenarienmodell beinhaltet ferner eine oder mehrere Ampeln 408a-408c. In einem Beispiel regelt die Ampel 408c das Prüffahrzeug 406, wohingegen die Ampeln 408a-408b dies nicht tun, die Ampeln 408a-408b z. B. Linksabbiegerspuren sein können, die Ampel 408c aber nicht.
  • Das Szenario kann andere Lichtquellen beinhalten, darunter Scheinwerfer und Heckleuchten von einem beliebigen der Fahrzeuge 402, 404, 406, Ampeln, die Querverkehr regeln, beleuchtete Schilder, natürliches Licht (Sonne, Mond, Sterne) und dergleichen.
  • In einigen Ausführungsformen ist das maschinelle Lernmodell 106d ferner trainiert, um zwischen Bildern, bei denen eine Ampel vorhanden ist und bei denen keine Ampel vorhanden ist, zu unterscheiden. Entsprechend enthalten einige Szenarien gegebenenfalls keine Ampel, die das Prüffahrzeug 406 regelt oder enthalten überhaupt keine Ampeln.
  • Unter erneuter Bezugnahme auf 3 kann das Verfahren 300 das Simulieren 304 der Ausbreitung von Licht von den Lichtquellen des Szenarios beinhalten und die Wahrnehmung des Szenarios durch eine oder mehrere Abbildungsvorrichtungen 124 des Prüffahrzeugs 406 kann simuliert 306 werden. Insbesondere können Stellen und Ausrichtungen von Abbildungsvorrichtungen 124a-124d auf dem Prüffahrzeug 406 gemäß einem Sensormodell 108c definiert sein.
  • Die Schritte 302 und 304 können die Verwendung einer beliebigen Renderingtechnik, die im Fach der computererzeugten Bilder bekannt ist, beinhalten. Zum Beispiel kann das Szenario unter Verwendung einer Spielmaschine wie zum Beispiel UNREAL ENGINE definiert werden und ein Rendern des Szenarios kann unter Verwendung von BLENDER, MAYA, 3D STUDIO MAX oder einer beliebigen anderen Renderingsoftware erzeugt werden.
  • Die Ausgabe der Schritte 304, 306 ist ein oder mehrere Bilder des Szenarienmodells aus Sicht einer oder mehrerer simulierter Abbildungsvorrichtungen. In einigen Ausführungsformen, bei denen das Szenarienmodell dynamisch ist, ist die Ausgabe der Schritte 304, 306 eine Reihe von Bildsätzen, wobei jeder Bildsatz Bilder des Szenarios aus dem Blickwinkel der Abbildungsvorrichtung zu einem bestimmten Zeitschritt in einer Simulation des dynamischen Szenarios beinhaltet.
  • Das Verfahren 300 kann ferner das Annotieren 308 der Bilder mit der „Grundwahrheit“ des Szenarienmodells beinhalten. Wenn das Szenarienmodell dynamisch ist, kann jeder Bildsatz mit der Grundwahrheit für das Szenarienmodell zu dem Zeitschritt, zu dem die Bilder des Bildsatzes erfasst wurden, annotiert werden.
  • Die Annotation eines Bildes kann einiges oder alles des Folgenden angeben: (a) ob eine Ampel auf dem Bild vorhanden ist, (b) die Stelle jeder auf dem Bild vorhandenen Ampel, (c) den Zustand jeder auf dem Bild vorhandenen Ampel, und (d) ob die Ampel das Prüffahrzeug regelt. In einigen Ausführungsformen betreffen Annotationen lediglich eine einzelne Ampel, die das Prüffahrzeug regelt, d. h. die Stelle und den Zustand der regelnden Ampel. Wenn keine regelnde Ampel vorhanden ist, können Annotationen für das Bild weggelassen werden oder kann die Annotation diese Tatsache angeben.
  • Das Verfahren 300 kann wiederholt durchgeführt werden, um mehrere zehn, hunderte oder sogar tausende von annotierten Bildern zum Trainieren des maschinellen Lernmodells 106d zu generieren. Entsprechend kann das Verfahren 300 das Lesen 310 von neuen Szenarienparametern aus einer Datei und das Definieren 302 eines neuen Szenarienmodells gemäß den neuen Szenarienparametern beinhalten. Die Verarbeitung bei Schritt 304-308 kann dann fortgesetzt werden. Alternativ können Szenarien automatisch generiert werden, wie zum Beispiel durch zufälliges Umverteilen von Modellen von Fahrzeugen und Lichtquellen und Modifizieren der Stelle und der Zustände von Ampeln.
  • Zum Beispiel kann eine Sammlung von Modellen für verschiedene Fahrzeuge, Gebäude, Ampeln, Lichtquellen (Schilder, Straßenlaternen usw.) definiert sein. Eine Datei kann daher Stellen für verschiedene dieser Modelle und ein Prüffahrzeug spezifizieren. Diese Modelle können dann in Schritt 302 gemäß den in der Datei spezifizierten Stellen in einem Szenarienmodell platziert werden. Die Datei kann ferner dynamische Parameter wie zum Beispiel die Geschwindigkeit von Fahrzeugmodellen und die Zustände von beliebigen Ampeln sowie dynamische Änderungen der Zustände von Ampeln, z. B. Übergänge von rot zu grün oder umgekehrt, in dem dynamischen Szenarienmodell spezifizieren. Die Datei kann ferner andere Parameter des Szenarios definieren, wie zum Beispiel eine Menge an natürlichem Umgebungslicht, um Tag, Nacht und Dämmerzustände zu simulieren.
  • Unter Bezugnahme auf 5 kann das Verfahren 500 durch das Serversystem 102 ausgeführt werden, um das maschinelle Lernmodell 106d zu trainieren. Das Verfahren 500 kann das Empfangen 502 der annotierten Bilder und das Eingeben 504 der annotierten Bilder in einen maschinellen Lernalgorithmus beinhalten.
  • In einigen Ausführungsformen werden mehrere Abbildungsvorrichtungen 124 verwendet, um binokulares Sehen umzusetzen. Entsprechend kann das Eingeben von annotierten Bildern die Verarbeitung eines Satzes an Bildern für das gleiche Szenario oder den gleichen Zeitschritt in einem dynamischen Szenario beinhalten, um eine 3D-Punktwolke zu erhalten, wobei jeder Punkt eine damit assoziierte Farbe (z. B. RGB-Tupel) aufweist. Diese 3D-Punktwolke kann dann mit den Annotationen für die Bilder in dem Bildsatz in das maschinelle Lernmodell eingegeben werden. Alternativ können die Bilder direkt in den maschinellen Lernalgorithmus eingegeben werden.
  • Der maschinelle Lernalgorithmus kann das maschinelle Lernmodell 106d gemäß den annotierten Bildern oder Punktwolken trainieren 506. Wie vorstehend angemerkt, können in Schritt 506 mehrere zehn, hunderte oder sogar tausende von Bildsätzen verwendet werden, um das maschinelle Lernmodell für ein breites Spektrum an Szenarien zu trainieren.
  • Das Verfahren 500 kann dann das Laden 508 des trainierten maschinellen Lernmodells 106d in ein Fahrzeug beinhalten, wie zum Beispiel die Fahrzeugsteuerung 122 des in 1B gezeigten Systems 120. Die Steuerung 122 kann dann die Ampelerkennung gemäß dem trainierten maschinellen Lernmodell 106d durchführen 510. Dies kann das Erfassen einer regelnden Ampel und das Ergreifen einer angemessenen Maßnahme, wie zum Beispiel Anhalten bei einer regelnden roten Ampel und Fortfahren, wenn es sicher ist, bei einer regelnden grünen Ampel beinhalten.
  • 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 Schutzumfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „ein Ausführungsbeispiel“ usw. geben an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft beinhalten kann, doch es muss nicht notwendigerweise jede Ausführungsform dieses bestimmte Merkmal, diese bestimmte 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 hierin 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 Schutzumfangs der vorliegenden Offenbarung können außerdem physische und andere computerlesbare Medien zum Transportieren oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen beinhalten. 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, CDROM, 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 hierin 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 Schutzumfang computerlesbarer Medien beinhaltet 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 angewendet werden kann, die einen Armaturenbrett-Fahrzeugcomputer, PCs, Desktop-Computer, Laptops, Nachrichtenprozessoren, Handgeräte, Multiprozessorsysteme, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Großcomputer, Mobiltelefone, PDAs, Tablets, Pager, Router, Switches, verschiedene Speichervorrichtungen und dergleichen beinhalten. 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 hierin 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 hierin 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 von der Funktion her.
  • 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. Ein Sensor kann zum Beispiel 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 hierin 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 Schutzumfang 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.

Claims (15)

  1. Verfahren, das Folgendes durch ein Computersystem umfasst: Simulieren der Wahrnehmung eines 3D-Modells, das ein Ampelmodell als eine Lichtquelle aufweist, um ein Bild zu erhalten; Annotieren des Bildes mit einer Stelle und einem Zustand des Ampelmodells, um ein annotiertes Bild zu erhalten; und Trainieren eines Modells gemäß dem annotierten Bild; wobei das Trainieren des Modells gemäß dem annotierten Bild das Trainieren eines maschinellen Lernalgorithmus gemäß dem annotierten Bild umfasst.
  2. Verfahren nach Anspruch 1, wobei das 3D-Modell eine Vielzahl von anderen Lichtquellen beinhaltet; und wobei der Zustand des Ampelmodells eines von rot, gelb und grün ist.
  3. Verfahren nach Anspruch 1, wobei das Simulieren der Wahrnehmung des 3D-Modells das Simulieren der Wahrnehmung des 3D-Modells umfasst, das eine oder mehrere Komponenten des 3D-Modells in Bewegung aufweist, um eine Vielzahl von Bildern, die das Bild enthalten, zu erhalten; wobei das Annotieren des Bildes mit der Stelle und dem Zustand des Ampelmodells, um das annotierte Bild zu erhalten, das Annotieren der Vielzahl von Bildern mit dem Zustand des Ampelmodells umfasst, um eine Vielzahl von annotierten Bildern zu erhalten; und wobei das Trainieren des Modells gemäß dem annotierten Bild das Trainieren des Modells gemäß der Vielzahl von annotierten Bildern umfasst.
  4. Verfahren nach Anspruch 1, wobei das Trainieren des Modells gemäß dem annotierten Bild das Trainieren des Modells, um einen Zustand und eine Stelle einer tatsächlichen Ampel in einer Kameraausgabe zu identifizieren, umfasst.
  5. Verfahren nach Anspruch 1, wobei das Trainieren des Modells gemäß dem annotierten Bild das Trainieren des Bildes zur Ausgabe, ob sich die Ampel auf ein Fahrzeug bezieht, das Kameraausgaben gemäß dem Modell verarbeitet, umfasst.
  6. Verfahren nach Anspruch 1, wobei das 3D-Modell ein erstes 3D-Modell ist, das Bild ein erstes Bild ist und das annotierte Bild ein erstes annotiertes Bild ist, wobei das Verfahren ferner Folgendes umfasst: Lesen einer Konfigurationsdatei, welche die Stelle einer oder mehrerer Komponenten definiert; Generieren eines zweiten 3D-Modells gemäß der Konfigurationsdatei; Simulieren der Wahrnehmung des zweiten 3D-Modells, um ein zweites Bild zu erhalten; Annotieren des zweiten Bildes mit einer Stelle und einem Zustand der Ampel in dem zweiten 3D-Modell, um ein zweites annotiertes Bild zu erhalten; und Trainieren des Modells gemäß dem ersten annotierten Bild und dem zweiten annotierten Bild.
  7. Verfahren nach Anspruch 1, wobei das 3D-Modell ein erstes 3D-Modell ist und das Bild ein erstes Bild ist und das annotierte Bild ein erstes annotiertes Bild ist, wobei das Verfahren ferner Folgendes umfasst: Definieren eines zweiten 3D-Modells, das ein Ampelmodell aufweist, das kein Prüffahrzeugmodell regelt; Simulieren der Wahrnehmung des zweiten 3D-Modells aus Sicht einer Kamera des Prüffahrzeugmodells, um ein zweites Bild zu erhalten; Annotieren, dass das zweite Bild zu dem zweiten 3D-Modell kein Ampelmodell beinhaltet, welches das Prüffahrzeugmodell regelt; und Trainieren des Modells gemäß dem ersten annotierten Bild und dem zweiten annotierten Bild.
  8. Verfahren nach Anspruch 1, wobei das 3D-Modell ein erstes 3D-Modell ist und das Bild ein erstes Bild ist und das annotierte Bild ein erstes annotiertes Bild ist, wobei das Verfahren ferner Folgendes umfasst: Definieren eines zweiten 3D-Modells, das kein Ampelmodell aufweist; Simulieren der Wahrnehmung des zweiten 3D-Modells, um ein zweites Bild zu erhalten; Annotieren, dass das zweite Bild zu dem zweiten 3D-Modell kein Ampelmodell beinhaltet; und Trainieren des Modells gemäß dem ersten annotierten Bild und dem zweiten annotierten Bild.
  9. System, umfassend eine oder mehrere Verarbeitungsvorrichtungen und eine oder mehrere Speichervorrichtungen, die an die eine oder mehreren Verarbeitungsvorrichtungen wirkgekoppelt sind, wobei die eine oder mehreren Verarbeitungsvorrichtungen einen ausführbaren Code speichern, der wirksam ist, die eine oder mehreren Verarbeitungsvorrichtungen zu Folgendem zu veranlassen: Simulieren der Wahrnehmung eines 3D-Modells, das ein Ampelmodell als eine Lichtquelle aufweist, um ein Bild zu erhalten; Annotieren des Bildes mit einer Stelle und einem Zustand des Ampelmodells, um ein annotiertes Bild zu erhalten; und Trainieren eines Modells gemäß dem annotierten Bild; wobei das 3D-Modell eine Vielzahl von anderen Lichtquellen beinhaltet; wobei der Zustand des Ampelmodells eines von rot, gelb und grün ist; und wobei der ausführbare Code ferner wirksam ist, die eine oder die mehreren Verarbeitungsvorrichtungen zu veranlassen, das Modell gemäß dem annotierten Bild zu trainieren, indem ein maschineller Lernalgorithmus gemäß dem annotierten Bild trainiert wird.
  10. System nach Anspruch 9, wobei der ausführbare Code ferner wirksam ist, die eine oder die mehreren Verarbeitungsvorrichtungen zu Folgendem zu veranlassen: Simulieren der Wahrnehmung des 3D-Modells durch Simulieren der Wahrnehmung des 3D-Modells, das eine oder mehrere Komponenten des 3D-Modells in Bewegung aufweist, um eine Vielzahl von Bildern, die das Bild enthalten, zu erhalten; Annotieren des Bildes mit der Stelle und dem Zustand des Ampelmodells, um das annotierte Bild zu erhalten, indem die Vielzahl von Bildern mit dem Zustand des Ampelmodells annotiert wird, um eine Vielzahl von annotierten Bildern zu erhalten; und Trainieren des Modells gemäß dem annotierten Bild, indem das Modell gemäß der Vielzahl an annotierten Bildern trainiert wird.
  11. System nach Anspruch 9, wobei der ausführbare Code ferner wirksam ist, die eine oder die mehreren Verarbeitungsvorrichtungen zu veranlassen, das Modell gemäß dem annotierten Bild zu trainieren, indem das Modell trainiert wird, um einen Zustand und eine Stelle einer tatsächlichen Ampel in einer Kameraausgabe zu identifizieren.
  12. System nach Anspruch 9, wobei der ausführbare Code ferner wirksam ist, die eine oder die mehreren Verarbeitungsvorrichtungen zu veranlassen, das Modell gemäß dem annotierten Bild zu trainieren, indem das Modell trainiert wird, auszugeben, ob die Ampel für ein Fahrzeug gilt, das Kameraausgaben gemäß dem Modell verarbeitet.
  13. System nach Anspruch 9, wobei das 3D-Modell ein erstes 3D-Modell ist, das Bild ein erstes Bild ist und das annotierte Bild ein erstes annotiertes Bild ist; wobei der ausführbare Code ferner wirksam ist, die eine oder die mehreren Verarbeitungsvorrichtungen zu Folgendem zu veranlassen: Lesen einer Konfigurationsdatei, welche die Stelle einer oder mehrerer Komponenten definiert; Generieren eines zweiten 3D-Modells gemäß der Konfigurationsdatei; Simulieren der Wahrnehmung des zweiten 3D-Modells, um ein zweites Bild zu erhalten; Annotieren des zweiten Bildes mit einer Stelle und einem Zustand der Ampel in dem zweiten 3D-Modell, um ein zweites annotiertes Bild zu erhalten; und Trainieren des Modells gemäß dem ersten annotierten Bild und dem zweiten annotierten Bild.
  14. System nach Anspruch 9, wobei das 3D-Modell ein erstes 3D-Modell ist und das Bild ein erstes Bild ist und das annotierte Bild ein erstes annotiertes Bild ist, wobei das Verfahren ferner Folgendes umfasst: wobei der ausführbare Code ferner wirksam ist, die eine oder die mehreren Verarbeitungsvorrichtungen zu Folgendem zu veranlassen: Definieren eines zweiten 3D-Modells, das ein Ampelmodell aufweist, das kein Prüffahrzeugmodell regelt; Simulieren der Wahrnehmung des zweiten 3D-Modells aus Sicht einer oder mehrerer Kameras des Prüffahrzeugmodells, um ein zweites Bild zu erhalten; Annotieren des zweiten Bildes, dass das zweite 3D-Modell kein Ampelmodell beinhaltet, welches das Prüffahrzeugmodell regelt; und Trainieren des Modells gemäß dem ersten annotierten Bild und dem zweiten annotierten Bild.
  15. System nach Anspruch 9, wobei das 3D-Modell ein erstes 3D-Modell ist und das Bild ein erstes Bild ist und das annotierte Bild ein erstes annotiertes Bild ist, wobei das Verfahren ferner Folgendes umfasst: wobei der ausführbare Code ferner wirksam ist, die eine oder die mehreren Verarbeitungsvorrichtungen zu Folgendem zu veranlassen: Definieren eines zweiten 3D-Modells, das kein Ampelmodell aufweist; Simulieren der Wahrnehmung des zweiten 3D-Modells, um ein zweites Bild zu erhalten; Annotieren des zweiten Bildes, dass das zweite 3D-Modell kein Ampelmodell beinhaltet; und Trainieren des Modells gemäß dem ersten annotierten Bild und dem zweiten annotierten Bild.
DE102018101465.1A 2017-01-25 2018-01-23 Trainieren eines automatischen ampelerkennungsmoduls unter verwendung simulierter bilder Withdrawn DE102018101465A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/415,718 US20180211120A1 (en) 2017-01-25 2017-01-25 Training An Automatic Traffic Light Detection Model Using Simulated Images
US15/415,718 2017-01-25

Publications (1)

Publication Number Publication Date
DE102018101465A1 true DE102018101465A1 (de) 2018-07-26

Family

ID=61283753

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018101465.1A Withdrawn DE102018101465A1 (de) 2017-01-25 2018-01-23 Trainieren eines automatischen ampelerkennungsmoduls unter verwendung simulierter bilder

Country Status (6)

Country Link
US (1) US20180211120A1 (de)
CN (1) CN108345838A (de)
DE (1) DE102018101465A1 (de)
GB (1) GB2560805A (de)
MX (1) MX2018000832A (de)
RU (1) RU2017144177A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018218186A1 (de) * 2018-10-24 2020-04-30 Robert Bosch Gmbh Verfahren zur Validierung von maschinellen Lernverfahren im Bereich des automatisierten Fahrens auf Basis von synthetischen Bilddaten sowie Computerprogramm, maschinenlesbares Speichermedium und künstliches neuronales Netz

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10228693B2 (en) * 2017-01-13 2019-03-12 Ford Global Technologies, Llc Generating simulated sensor data for training and validation of detection models
US10803323B2 (en) * 2017-05-16 2020-10-13 Samsung Electronics Co., Ltd. Electronic device and method of detecting driving event of vehicle
US11056005B2 (en) 2018-10-24 2021-07-06 Waymo Llc Traffic light detection and lane state recognition for autonomous vehicles
CN109446973B (zh) * 2018-10-24 2021-01-22 中车株洲电力机车研究所有限公司 一种基于深度神经网络图像识别的车辆定位方法
CN110647605B (zh) * 2018-12-29 2022-04-29 北京奇虎科技有限公司 一种基于轨迹数据挖掘红绿灯数据的方法及装置
DE102019209152A1 (de) * 2019-06-25 2020-12-31 Robert Bosch Gmbh Verfahren und Vorrichtung zum sicheren Identifizieren von Objekten in Videobildern
US11650067B2 (en) 2019-07-08 2023-05-16 Toyota Motor North America, Inc. System and method for reducing route time using big data
DE102019216357A1 (de) * 2019-10-24 2021-04-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Bereitstellen von annotierten Verkehrsraumdaten
US11335100B2 (en) 2019-12-27 2022-05-17 Industrial Technology Research Institute Traffic light recognition system and method thereof
US11644331B2 (en) 2020-02-28 2023-05-09 International Business Machines Corporation Probe data generating system for simulator
US11814080B2 (en) 2020-02-28 2023-11-14 International Business Machines Corporation Autonomous driving evaluation using data analysis
US11702101B2 (en) 2020-02-28 2023-07-18 International Business Machines Corporation Automatic scenario generator using a computer for autonomous driving
US11900689B1 (en) * 2020-06-04 2024-02-13 Aurora Operations, Inc. Traffic light identification and/or classification for use in controlling an autonomous vehicle
CN111931726B (zh) * 2020-09-23 2024-06-11 阿波罗智联(北京)科技有限公司 交通灯检测的方法、装置、计算机存储介质和路侧设备
CN112172698A (zh) * 2020-10-16 2021-01-05 湖北大学 一种用于无人驾驶的交通禁令标志实时监控识别装置
CN112287566B (zh) * 2020-11-24 2024-05-07 北京亮道智能汽车技术有限公司 一种自动化驾驶场景库生成方法、系统及电子设备
CN112699754B (zh) 2020-12-23 2023-07-18 北京百度网讯科技有限公司 信号灯识别方法、装置、设备以及存储介质
CN113129375B (zh) * 2021-04-21 2023-12-01 阿波罗智联(北京)科技有限公司 数据处理方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018218186A1 (de) * 2018-10-24 2020-04-30 Robert Bosch Gmbh Verfahren zur Validierung von maschinellen Lernverfahren im Bereich des automatisierten Fahrens auf Basis von synthetischen Bilddaten sowie Computerprogramm, maschinenlesbares Speichermedium und künstliches neuronales Netz

Also Published As

Publication number Publication date
US20180211120A1 (en) 2018-07-26
GB2560805A (en) 2018-09-26
MX2018000832A (es) 2018-11-09
CN108345838A (zh) 2018-07-31
GB201801079D0 (en) 2018-03-07
RU2017144177A (ru) 2019-06-18

Similar Documents

Publication Publication Date Title
DE102018101465A1 (de) Trainieren eines automatischen ampelerkennungsmoduls unter verwendung simulierter bilder
DE102019120880A1 (de) End-to-end-deep-generative-modell für simultane lokalisierung und abbildung
DE102018100469A1 (de) Generierten von simulierten sensordaten zum trainieren und überprüfen von erkennungsmodellen
DE112017006530T5 (de) Rückmeldung für ein autonomes fahrzeug
DE102018100021A1 (de) Räumliche akustische warnungen für ein fahrzeug
DE102019115455A1 (de) Fokus-basiertes markieren von sensordaten
DE112019001605T5 (de) Trainieren, testen und verifizieren von autonomen maschinen unter verwendung simulierter umgebungen
DE102018101220A1 (de) Zeichenerkennung für autonome fahrzeuge
DE112017006567T5 (de) Autonomes fahrzeug mit fahrerausbildung
DE102017115393A1 (de) Virtuelles sensordatenerzeugungssystem und verfahren zum unterstützen der entwicklung von sichtbasierten regendetektionsalgorithmen
EP3765927B1 (de) Verfahren zum erzeugen eines trainingsdatensatzes zum trainieren eines künstlichen-intelligenz-moduls für eine steuervorrichtung eines fahrzeugs
DE102007053501A1 (de) Verfahren zur Entwicklung und/oder zum Testen wenigstens eines Sicherheits- und/oder Fahrerassistenzsystems für ein Kraftfahrzeug und Simulationsumgebung
DE102017115197A1 (de) Erzeugung von virtuellen sensordaten für die erfassung von polleraufnahmen
DE102018217004A1 (de) Autonome Fahrzeugstrategiegenerierung
DE102021125932A1 (de) System und Verfahren für auf Neuronalem Netzwerk basiertes autonomes Fahren
DE102022112059B3 (de) Verfahren, System und Computerprogrammprodukt zur Kalibrierung und Validierung eines Fahrerassistenzsystems (ADAS) und/oder eines automatisierten Fahrsystems (ADS)
DE102018132370A1 (de) Verwendung von tiefer videobildvorhersage zum trainieren einer steuerung eines autonomen fahrzeugs und verfahren davon
EP4196379A1 (de) Computerimplementiertes verfahren und computerprogrammprodukt zum erhalten einer umfeldszenen-repräsentation für ein automatisiertes fahrsystem, computerimplementiertes verfahren zum lernen einer prädiktion von umfeldszenen für ein automatisiertes fahrsystem und steuergerät für ein automatisiertes fahrsystem
DE102020127855A1 (de) Sicherheitssystem, automatisiertes fahrsystem und verfahren dafür
WO2020048669A1 (de) Verfahren zum bestimmen einer spurwechselangabe eines fahrzeugs, ein computerlesbares speichermedium und ein fahrzeug
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE112020002874T5 (de) Szenenattributkommentierung komplexer Straßentypographien
DE102018216719A1 (de) Schlüsselbildbasierter autonomer Fahrzeugbetrieb
DE102022112060B3 (de) Szenariendatenbank für ein Verfahren und ein System zur Kalibrierung und Validierung eines Fahrerassistenzsystems (ADAS) und/oder eines automatisierten Fahrsystems (ADS)
AT524932B1 (de) Verfahren und System zum Testen eines Fahrerassistenzsystems für ein Fahrzeug

Legal Events

Date Code Title Description
R082 Change of representative

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

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee