DE102017115197A1 - Erzeugung von virtuellen sensordaten für die erfassung von polleraufnahmen - Google Patents

Erzeugung von virtuellen sensordaten für die erfassung von polleraufnahmen Download PDF

Info

Publication number
DE102017115197A1
DE102017115197A1 DE102017115197.4A DE102017115197A DE102017115197A1 DE 102017115197 A1 DE102017115197 A1 DE 102017115197A1 DE 102017115197 A DE102017115197 A DE 102017115197A DE 102017115197 A1 DE102017115197 A1 DE 102017115197A1
Authority
DE
Germany
Prior art keywords
bollard
sensor data
virtual
virtual sensor
ground truth
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
DE102017115197.4A
Other languages
English (en)
Inventor
Ashley Elizabeth Micks
Scott Vincent Myers
Harpreetsingh Banvait
Sneha Kadetotad
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 DE102017115197A1 publication Critical patent/DE102017115197A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/165Anti-collision systems for passive traffic, e.g. including static obstacles, trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

Die Offenbarung betrifft Verfahren, Systeme und Vorrichtungen für die Erzeugung von virtuellen Sensordaten und betrifft insbesondere die Erzeugung von virtuellen Sensordaten für das Trainieren und Testen von Modellen oder Algorithmen, um Gegenstände oder Hindernisse wie zum Beispiel Polleraufnahmen zu erfassen. Ein Verfahren zum Erzeugen von virtuellen Sensordaten umfasst das Simulieren einer 3-dimensionalen (3D) Umgebung, die eine oder mehrere Gegenstände wie zum Beispiel Polleraufnahmen umfasst. Das Verfahren umfasst das Erzeugen von virtuellen Sensordaten für eine Vielzahl von Positionen von einem oder mehreren Sensoren in der 3D-Umgebung. Das Verfahren umfasst das Bestimmen von virtueller Ground Truth, die jeder aus der Vielzahl von Positionen entspricht. Die Ground Truth umfasst Informationen über mindestens eine Polleraufnahme in den Sensordaten. Zum Beispiel kann die Ground Truth eine Höhe von mindestens einer von den Parkschranken umfassen. Das Verfahren umfasst auch das Speichern und Assoziieren der virtuellen Sensordaten und der virtuellen Ground Truth.

Description

  • TECHNISCHES GEBIET
  • Die Offenbarung betrifft im Allgemeinen Verfahren, Systeme und Vorrichtungen für die Erzeugung von virtuellen Sensordaten und betrifft insbesondere die Erzeugung von virtuellen Sensordaten für das Trainieren und Testen von Modellen oder Algorithmen, um Gegenstände oder Hindernisse wie zum Beispiel Polleraufnahmen zu erfassen oder zu umgehen.
  • HINTERGRUND
  • Automobile stellen einen erheblichen Teil des Transports für gewerbliche, behördliche und private Einrichtungen bereit. Aufgrund des hohen Wertes von Automobilen und potentiellen Schadens für Passagiere und Fahrer sind die Fahrersicherheit und Vermeidung von Unfällen oder Kollisionen mit anderen Fahrzeugen, Barrieren oder Gegenständen äußerst wichtig.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Es werden nicht beschränkende und nicht erschöpfende Umsetzungen der vorliegenden Offenbarung in Bezug auf die folgenden Figuren beschrieben, wobei sich in den verschiedenen Ansichten gleiche Bezugszahlen auf gleiche Teile beziehen, es sei denn, dies wird anders angegeben. Vorteile der vorliegenden Offenbarung können unter Bezugnahme auf die folgende Beschreibung und beigefügten Zeichnungen besser nachvollzogen werden, wobei:
  • 1 ein schematisches Blockschaubild ist, das eine Umsetzung eines Fahrzeugsteuersystems entsprechend einer Umsetzung darstellt, das ein automatisiertes Fahr-/Assistenzsystem einschließt;
  • 2 eine Vielzahl von Pollern, die sich in Polleraufnahmen befinden, gemäß einer Ausführungsform veranschaulicht;
  • 3 eine Vielzahl von Polleraufnahmen mit entfernten Pollern gemäß einer Ausführungsform veranschaulicht;
  • 4 ein schematisches Blockdiagramm ist, das eine Ausführungsform eines Systems für die Erzeugung von Sensordaten veranschaulicht;
  • 5 ein schematisches Diagramm ist, das eine Seitenansicht eines Fahrzeugs, das sich in der Nähe einer Polleraufnahme befindet, veranschaulicht;
  • 6 ein beispielhafter komplementärer Rahmen des in 3 veranschaulichten Rahmens gemäß einer Ausführungsform ist;
  • 7 ein schematisches Blockdiagramm ist, das beispielhafte Komponenten einer Simulationskomponente gemäß einer Ausführungsform veranschaulicht; und
  • 8 ein schematisches Flussdiagramm ist, das ein Verfahren zum Erzeugen von virtuellen Sensordaten gemäß einer Ausführungsform veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Poller werden oft verwendet, um Verkehr zu leiten, Verkehr auf einer Straße umzuleiten oder zu blockieren oder Zugang zu einem Parkplatz, einer Auffahrt oder einer anderen Fahrumgebung selektiv zu blockieren oder zu ermöglichen (siehe z. B. 2). In einigen Fällen sind Poller entfernbar und weisen eine entsprechende Polleraufnahme auf, die in der Straße oder dem Fahrweg verankert ist (siehe z. B. 3). Die Größen und Höhen von Polleraufnahmen variieren und manchmal werden sie von Fahrern nicht erfasst. Diese Polleraufnahmen können einen schweren Schaden am Fahrzeug verursachen, wenn sie nicht bemerkt werden und das Fahrzeug über sie fährt. Fährt man über sie, kann dies bewirken, dass die Fahrzeugreifen beschädigt werden. Abhängig davon, wie hoch sich die Aufnahmen vom Boden erstrecken, können Fahrzeugteile wie zum Beispiel die Vorderachse beschädigt werden.
  • Um eine solche Kollision und den sich ergebenden Schaden zu vermeiden, haben die Anmelder herausgefunden, dass es vorteilhaft sein kann, sowohl die Position als auch die Höhe der Polleraufnahme zu kennen. Ein Fahrer oder Steuersystem eines automatisierten Fahrzeugs kann über die Anwesenheit und/oder Höhe der Polleraufnahme informiert werden, sodass bei Bedarf ein Weg erzeugt werden kann, der einen Zusammenstoß mit den Polleraufnahmen vermeidet. Die Anmelder haben auch erkannt, dass möglicherweise auch ein Training von Erfassungsalgorithmen bei großen Mengen diverser Daten benötigt wird.
  • Jedoch bedarf es einer erheblichen Menge an Zeit und Ressourcen, um reale Sensordaten zu erhalten, indem physische Tests erzeugt werden oder mit Sensoren herumgefahren wird, um Daten für relevante Szenarien zu sammeln.
  • In Anerkennung des Vorstehenden haben die Anmelder Systeme, Verfahren und Geräte zur Erzeugung von virtuellen Sensordaten und Ground Truth entwickelt. In einer Ausführungsform verwendet ein System eine 3-dimensionale (3D) virtuelle Umgebung, um virtuelle Sensordaten zu erzeugen, die automatisch mit Ground Truth für die Anwesenheit und/oder Abmessungen einer Polleraufnahme annotiert werden. Zum Beispiel kann die Ground Truth Standorte und Höhen von Polleraufnahmen umfassen. Die virtuellen Sensordaten und/oder die Annotationen können dann zum Trainieren und/oder Testen von Erfassungsalgorithmen oder -modellen verwendet werden. Verglichen mit realen Daten mit menschlichen Annotationen sind Ausführungsformen von virtuellen Daten, die unter Verwendung von hierin offenbarten Ausführungsformen von Systemen, Verfahren und Vorrichtungen erzeugt wurden, in Bezug auf Zeit, Geld und Ressourcen günstiger. Zum Beispiel können in ein paar Minuten Tausende von virtuellen Bildern und damit assoziierter Ground Truth erzeugt werden, im Gegensatz zu Stunden oder Monaten für den Erwerb einer ähnlichen Anzahl von realen Bildern. Hierin offenbarte Ausführungsformen kombinieren virtuelle Sensordaten mit automatischen Annotationen, die für das Trainieren und Testen der Aufnahmenerfassung und von Navigationsalgorithmen nützlich sind.
  • Gemäß einer Ausführungsform kann ein System eine virtuelle Fahrumgebung integrieren, die unter Verwendung von 3D-Modell- und Animationstools mit Sensormodellen zum Produzieren von virtuellen Sensordaten in großen Mengen in einer kurzen Zeit erzeugt wurde. Relevante Parameter, wie zum Beispiel Beleuchtung, Positionierung, Größe und Aussehen der Polleraufnahme, können in den aufgezeichneten Daten randomisiert werden, um einen vielfältigen Datensatz mit minimaler Verzerrung zu garantieren. In einer Ausführungsform werden virtuelle Sensoren relativ zur Straße (oder anderen Fahrumgebung) gemäß ihrer geplanten Positionierung an einem Fahrzeug positioniert. Während der Simulation können die virtuellen Sensoren entlang einer virtuellen Straße oder Fahrbahn in Stellen, an denen sie Polleraufnahmen beobachten können, bewegt werden.
  • Während die virtuellen Sensoren während der Simulation bewegt werden, zeichnen die virtuellen Sensoren Daten auf, wie zum Beispiel simulierte Bilder, simulierte Radardaten, simulierte LIDAR-Daten, simulierte Ultraschalldaten oder andere simulierte Daten. Für jeden Zeitschritt an aufgezeichneten Daten (zum Beispiel jeden Rahmen an Kameradaten) werden automatisch Annotationen bereitgestellt, um Ground-Truth-Informationen über die Positionen aller Polleraufnahmen innerhalb der Reichweite (und/oder einer Beobachtungsregion) des Sensors aufzuzeichnen. Außerdem können Abmessungen wie zum Beispiel die Höhe jeder Polleraufnahme ebenso bestimmt werden, wie in den Annotationen enthalten. Im Falle von virtuellen Kameradaten kann zum Beispiel jeder Rahmen an Bilddaten einen komplementären Eintrag in einer Protokolldatei aufweisen, die die Pixelstelle und Größe der Begrenzungsrechtecke um die Polleraufnahmen herum, die xyz-Position des Empfängers relativ zum Ego-Fahrzeug (z. B. einem Stammfahrzeug oder einem Fahrzeug mit einem Fahrzeugsteuersystem) und/oder die Höhe der Aufnahme vom Boden auflistet. Diese virtuellen Ground-Truth-Informationen können verwendet werden, um einen Wahrnehmungsalgorithmus unter Anwendung von überwachtem Lernen zu trainieren oder um einen vorhandenen Algorithmus zu testen und seine Leistung zu quantifizieren.
  • Nun wird auf die Figuren Bezug genommen, wobei 1 ein beispielhaftes Fahrzeugsteuersystem 100 veranschaulicht, das zur automatischen Erfassung von Polleraufnahmen verwendet werden kann. Das Fahrzeugsteuersystem 100 kann ein automatisiertes Fahr-/Assistenzsystem 102 umfassen, das verwendet werden kann, um den Betrieb eines Fahrzeugs zu automatisieren oder zu steuern oder einen menschlichen Fahrer zu unterstützen. Das automatisierte Fahr-/Assistenzsystem 102 kann zum Beispiel Bremsung, Lenkung, Beschleunigung, Licht, Alarme, Fahrerbenachrichtigungen, Radio und/oder beliebige weitere Hilfssystemen des Fahrzeugs steuern. In einem weiteren Beispiel ist das automatisierte Fahr-/Assistenzsystem 102 unter Umständen nicht in der Lage, jegliche Steuerung des Fahrens (z. B. der Lenkung, Beschleunigung oder Bremsung) bereitzustellen, kann jedoch Benachrichtigungen und Alarme bereitstellen, um einen menschlichen Fahrer darin zu unterstützen, sicher zu fahren. Das automatisierte Fahr-/Assistenzsystem 102 kann ein neuronales Netzwerk oder ein anderes Modell oder einen anderen Algorithmus verwenden, um zu bestimmen, dass eine Polleraufnahme vorhanden ist und kann auch eine Größe, einen Standort und/oder Abmessungen eines Gegenstands oder Hindernisses, wie zum Beispiel einer Polleraufnahme, bestimmen.
  • Das Fahrzeugsteuerungssystem 100 schließt außerdem ein/e oder mehrere Sensorsysteme/-vorrichtungen zur Erfassung eines Vorhandenseins nahe gelegener Objekte oder zur Bestimmung einer Lage eines Stammfahrzeugs (z. B. eines Fahrzeugs, welches das Fahrzeugsteuerungssystem 100 einschließt) ein. Das Fahrzeugsteuersystem 100 kann zum Beispiel ein oder mehrere Radarsysteme 106, ein oder mehrere LIDAR-Systeme 108, ein oder mehrere Kamerasysteme 110, ein globales Positionsbestimmungssystem (GPS) 112 und/oder ein oder mehrere Ultraschallsysteme 114 einschließen. Das Fahrzeugsteuerungssystem 100 kann einen Datenspeicher 116 zum Speichern relevanter oder nützlicher Daten zur Navigation und Sicherheit einschließen, wie etwa Kartendaten, Fahrverlauf oder weitere Daten. Das Fahrzeugsteuerungssystem 100 kann außerdem einen Sendeempfänger 118 zur drahtlosen Kommunikation mit einem mobilen oder drahtlosen Netzwerk, anderen Fahrzeugen, Infrastruktur oder einem beliebigen anderen Kommunikationssystem einschließen.
  • Das Fahrzeugsteuersystem 100 kann Fahrzeugsteuerungsaktuatoren 120 einschließen, um verschiedene Aspekte des Fahrens des Fahrzeugs zu steuern, wie etwa Elektromotoren, Schalter oder andere Aktuatoren, um die Bremsung, Beschleunigung, Lenkung oder dergleichen zu steuern. Das Fahrzeugsteuerungssystem 100 kann außerdem einen oder mehrere Displays 122, Lautsprecher 124 oder andere Vorrichtungen einschließen, sodass einem menschlichen Fahrer oder Fahrgast Benachrichtigungen bereitgestellt werden können.
  • Ein Display 122 kann ein Frontdisplay, ein Display oder eine Angabe am Armaturenbrett, einen Bildschirm oder eine beliebige andere visuelle Angabe einschließen, die von einem Fahrer oder Fahrgast eines Fahrzeugs gesehen werden kann. Die Lautsprecher 124 können einen oder mehrere Lautsprecher eines Soundsystems eines Fahrzeugs einschließen oder können einen für die Fahrerbenachrichtigung vorgesehenen Lautsprecher enthalten.
  • Es versteht sich, dass die Ausführungsform aus 1 lediglich als Beispiel dient. Andere Ausführungsformen können weniger oder zusätzliche Komponenten einschließen, ohne vom Umfang der Offenbarung abzuweichen. Des Weiteren können dargestellte Komponenten ohne Beschränkung kombiniert oder in andere Komponenten eingeschlossen werden.
  • In einer Ausführungsform ist das automatisierte Fahr-/Assistenzsystem 102 konfiguriert, um das Fahren oder Navigieren eines Stammfahrzeugs zu steuern. Das automatisierte Fahr-/Assistenzsystem 102 kann zum Beispiel die Fahrzeugsteuerungsaktuatoren 120 steuern, um einen Weg auf einer Straße, einem Parkplatz, einer Einfahrt oder an einer anderen Lage entlangzufahren. Das automatisierte Fahr-/Assistenzsystem 102 kann zum Beispiel einen Weg auf Grundlage von durch eine beliebige der Komponenten 106118 bereitgestellten Informationen oder Wahrnehmungsdaten bestimmen. Die Sensorsysteme/-vorrichtungen 106110 und 114 können verwendet werden, um Echtzeit-Sensordaten zu erhalten, sodass das automatisierte Fahr-/Assistenzsystem 102 in Echtzeit einen Fahrer unterstützen oder ein Fahrzeug fahren kann. Das automatisierte Fahr/-Assistenzsystem 102 kann einen Algorithmus umsetzen oder ein Modell anwenden, wie zum Beispiel ein tiefes neuronales Netzwerk, um die Sensordaten zu verarbeiten und eine Anwesenheit, einen Standort, eine Höhe und/oder eine Abmessung einer Polleraufnahme, eines Gegenstands oder eines anderen Hindernisses zu identifizieren. Um jedoch ein Modell oder einen Algorithmus zu trainieren oder zu testen, werden möglicherweise große Mengen an Sensordaten benötigt.
  • Nun wird unter Bezugnahme auf 2 eine Abbildung oder ein Bild 200 einer Vielzahl von Pollern 202 veranschaulicht. Die Poller 202 werden über einen Fahrweg verteilt gezeigt. Die Poller 202 können verwendet werden, um Verkehr entlang der Straße zu begrenzen, um zum Beispiel Fußgängern zu ermöglichen, eine Straße oder Kreuzung sicher zu überqueren. In einer Ausführungsform kann jeder der Poller 202 selektiv entfernt oder in einer entsprechenden Polleraufnahme 204 installiert werden, um die Fähigkeit bereitzustellen, Verkehr selektiv zu ermöglichen oder zu blockieren. Zum Beispiel können die Poller 202 während Ereignissen, bei denen es eine große Anzahl von Fußgängern geben kann und es gewünscht wird, Verkehr entlang der Straße oder über die Kreuzung zu blockieren, in den Polleraufnahmen 204 installiert werden. Ebenso können die Poller 202 aus den Polleraufnahmen 204 entfernt werden, wenn es wünschenswert ist, dass sich Verkehr über die Straße oder Kreuzung bewegt. Jedoch müssen die Aufnahmen 204, auch wenn die Poller 202 aus den Aufnahmen 204 entfernt sind, allgemein in oder auf der Straße bleiben.
  • 3 veranschaulicht einen Rahmen 300, der eine Abbildung oder ein Bild einer Straße mit Polleraufnahmen 304 darstellt, wobei die Poller (wie zum Beispiel die Poller 202) entfernt worden sind. Aufgrund der Abwesenheit der Poller kann ein Fahrzeug 302 die Straße entlang fahren dürfen. Jedoch erstrecken sich Polleraufnahmen 304 manchmal über eine gewisse Höhe über der Straße und können ein Risiko der Beschädigung von Teilen eines Fahrzeugs darstellen, den Fahrer- oder Passagierkomfort reduzieren oder anderweitig das Fahren eines 302 stören. In einer Ausführungsform kann ein automatisiertes Fahr-/Assistenzsystem 102 (z. B. im 302) die Polleraufnahmen 304 erfassen und lokalisieren und ein Fahrmanöver oder einen Fahrweg bestimmen, um zu verhindern, dass das 302 beschädigt wird. Das automatisierte Fahr-/Assistenzsystem 102 kann einen Weg bestimmen, der das Vermeiden eines Zusammenstoßes mit den Polleraufnahmen 304 umfasst. In einer Ausführungsform kann das automatisierte Fahr-/Assistenzsystem 102 einen Weg bestimmen, der bewirkt, dass ein oder mehrere Reifen die Polleraufnahmen 304 mit einem Profil des einen oder der mehreren Reifen berühren. Zum Beispiel können die Polleraufnahmen 304 Metallränder aufweisen, die besonders schädlich für Seitenwände von Fahrzeugreifen sein können. In einer Ausführungsform kann das automatisierte Fahr-/Assistenzsystem 102 bestimmen, dass sich die Polleraufnahmen 304 in eine Höhe erstrecken, die ausreichend ist, um eine Beschädigung eines Fahrgestells oder anderen Teils des 302 zu bewirken und kann bewirken, dass das 302 anhält, bevor es auf eine Polleraufnahme 304 trifft oder um eine Polleraufnahme 304 manövriert, ohne über eine andere Polleraufnahme 304 zu fahren.
  • Nun wird unter Bezugnahme auf 4 eine Ausführungsform eines Systems 400 für die Erzeugung von Sensordaten gezeigt. Das System 400 umfasst eine Simulationskomponente 402, einen Speicher 404, eine Trainingskomponente 406 und eine Testkomponente 408. Die Simulationskomponente 402 kann konfiguriert sein, um eine Fahrumgebung zu simulieren und virtuelle Sensordaten 410 und virtuelle Ground Truth oder andere Informationen als Annotationen 412 für die virtuellen Sensordaten 410 zu erzeugen. Die Annotationen können eine beliebige Art von Ground Truth umfassen, wie zum Beispiel Simulationsbedingungen, die von der Simulationskomponente 402 verwendet werden, um die Fahrumgebung und/oder virtuellen Sensordaten 410 zu erzeugen. Zum Beispiel kann die virtuelle Ground Truth einen virtuellen Abstand zwischen einem Sensor und einer virtuellen Polleraufnahme, eine oder mehrere Abmessungen der virtuellen Polleraufnahme (z. B. die Höhe) oder eines beliebigen anderen Gegenstands oder Hindernisses umfassen. Ebenso kann die virtuelle Ground Truth ein oder mehrere Details über Beleuchtungsbedingungen, Wetterbedingungen, Sensorposition, Sensorausrichtung, Sensorgeschwindigkeit und/oder virtuelle Sensorart (z. B. ein spezifisches Sensormodell) umfassen. Die Simulationskomponente 402 kann Rahmen oder Sätze an virtuellen Sensordaten mit der entsprechenden Ground Truth annotieren oder die virtuelle Ground Truth mit einer Angabe der Sensordaten, zu denen die virtuelle Ground Truth gehört, speichern.
  • Die virtuellen Sensordaten 410 und/oder beliebige Informationen für den Einschluss in die Annotationen 412 können im Speicher 404 gespeichert werden. Der Speicher 404 kann einen Langzeitspeicher wie zum Beispiel eine Festplatte oder einen Maschinenspeicher wie zum Beispiel Random Access Memory (RAM) umfassen. Die virtuellen Sensordaten 410 und beliebige damit assoziierte Annotationen 412 können als Teil der gleichen Datei gespeichert werden oder können in separaten Dateien gespeichert werden. Die Trainingskomponente 406 und/oder die Testkomponente 408 können dann auf die virtuellen Sensordaten 410 und/oder Annotationen 412 zugreifen und diese zum Trainieren oder Testen eines Algorithmus oder Modells zur Polleraufnahmenerfassung verwenden. Die Trainingskomponente 406 und/oder die Testkomponente 408 können alternativ/zusätzlich verwendet werden, um auf die virtuellen Sensordaten 410 und/oder Annotationen 412 zuzugreifen und diese zum Trainieren oder Testen eines Wegalgorithmus oder -modells, der/das bestimmt, wie und wann Polleraufnahmen während des Fahrens zu vermeiden sind, zu verwenden.
  • Die Trainingskomponente 406 ist konfiguriert, um einen Maschinenlernalgorithmus unter Verwendung von virtuellen Sensordaten 410 und Ground Truth und beliebigen assoziierten Annotationen 412, die durch die Simulationskomponente 402 erzeugt wurden, zu trainieren.
  • Zum Beispiel kann die Trainingskomponente 406 ein(en) Maschinenlernalgorithmus oder -modell trainieren, indem zumindest ein Teil der virtuellen Sensordaten 410 und entsprechende Ground Truth und assoziierte Annotationen 412 bereitgestellt werden, um den/das Maschinenlernalgorithmus oder -modell zu trainieren, um eines oder mehrere von einer Höhe und einer Position der einen oder mehreren Polleraufnahmen, Gegenstände oder anderen Hindernisse zu bestimmen. Die Trainingskomponente 406 kann die virtuellen Sensordaten 410 und virtuelle Ground Truth und assoziierten Annotationen 412 einem Trainingsalgorithmus für ein neuronales Netzwerk bereitstellen. Die Trainingskomponente 406 kann zum Beispiel ein neuronales Netzwerk unter Verwendung jeweils eines Rahmens an Sensordaten und assoziierter Ground Truth trainieren. In einer Ausführungsform kann die Trainingskomponente 406 eine Vielzahl von verschiedenen Maschinenlernmodellen trainieren, um verschiedene Aspekte an virtuellen Sensordaten zu identifizieren. Zum Beispiel kann ein Modell verwendet werden, um einen Gegenstand in einem virtuellen Sensorrahmen als Polleraufnahme zu identifizieren, während ein anderes oder mehrere andere Modelle verwendet werden können, um eine Position, eine Ausrichtung, einen Abstand und/oder eine Abmessung der Polleraufnahme, des Gegenstands oder des anderen Hindernisses zu bestimmen.
  • Die Testkomponente 408 kann ein(en) Maschinenlernalgorithmus oder -modell unter Verwendung der virtuellen Sensordaten 410 und virtuellen Ground Truth und beliebiger assoziierter Annotationen 412 testen. Zum Beispiel kann die Testkomponente 408 dem Maschinenlernalgorithmus oder -modell zumindest einen Teil der virtuellen Sensordaten 410 bereitstellen, um eines oder mehrere von einer Höhe und einer Position der Polleraufnahme, des Gegenstands oder anderen Hindernisses zu bestimmen und eine bestimmte Höhe oder eine bestimmte Position mit der virtuellen Ground Truth zu vergleichen. Die Testkomponente 408 kann dazu in der Lage sein, genau zu bestimmen, wie gut ein Modell oder Algorithmus funktioniert, da ein(e) bestimmte(r) Klassifikation oder Wert mit der virtuellen Ground Truth verglichen werden kann. Falls ein Algorithmus oder Modell ausreichend genau ist, kann er/es als Teil eines automatisierten Fahr-/Assistenzsystems 102 ausgeführt werden.
  • 5 veranschaulicht eine Seitenansicht eines Fahrzeugs 502 und einer Polleraufnahme 504. Falls die Polleraufnahme 504 zu hoch ist und das Fahrzeug 502 nicht kurz vor der Polleraufnahme 504 anhält, kann die Polleraufnahme 504 einen Reifen, eine Aufhängung oder einen anderen Teil des Fahrzeugs 502 beeinflussen, zerkratzen oder beschädigen.
  • Basierend auf der Höhe der Polleraufnahme 504 kann ein Fahrweg bestimmt werden, der sicher ist und wahrscheinlich keinen Schaden am Fahrzeug bewirkt. Zum Beispiel kann der Fahrweg das Fahren um die Polleraufnahme 504, das Fahren über die Polleraufnahme 504, sodass die Polleraufnahme 504 zwischen den Reifen des Fahrzeugs passiert wird, oder das Fahren über die Polleraufnahme 504, sodass das Profil der Reifen die Polleraufnahme 504 berührt, umfassen.
  • Unter erneuter Bezugnahme auf 3 stellt der Rahmen 300 einen beispielhaften Rahmen von virtuellen Sensordaten dar, die durch eine Simulationskomponente 402 gemäß einer Ausführungsform erzeugt wurden. Zum Beispiel kann der Rahmen 300 ein virtuelles Bild umfassen, das durch eine virtuelle Kamera erfasst wurde, die sich in einer simulierten Position in einer virtuellen Umgebung befindet. Der Rahmen 300 umfasst eine Polleraufnahme 304, die in einer virtuellen Umgebung positioniert ist. Die Form und Position der Polleraufnahme 304 im Rahmen 300 kann ein Ergebnis der aktuellen Position und Ausrichtung der Polleraufnahme 304 sowie einer virtuellen Kamera, die den Rahmen 300 „erfasst“ hat, sein. Die virtuelle Ground Truth für den Rahmen 300 kann mit dem Rahmen 300 gespeichert werden oder kann mit dem Rahmen 300 assoziiert werden, sodass spezifische virtuelle Bedingungen für den Rahmen 300 bekannt sind. Die virtuelle Ground Truth kann einen Abstand (z. B. einen simulierten Abstand in Fuß, Metern oder einer anderen Messeinheit) zwischen einem Sensor und der Polleraufnahme 304, eine Ausrichtung des Sensors, eine Ausrichtung der Polleraufnahme 304, eine oder mehrere Abmessungen der Polleraufnahme 304, ein Material der Polleraufnahme 304, spezifische Positionen sowohl von der Polleraufnahme 304 als auch von einem Sensor, der den Rahmen 300 erfasst hat, simulierte Wetterbedingungen, simulierte Tageszeit, simulierte Beleuchtungspositionen, simulierte Beleuchtungsfarben oder eine beliebige andere zusätzliche Information über eine simulierte Umgebung, in der der Rahmen 300 erfasst wurde, umfassen.
  • 6 veranschaulicht eine Ausführungsform eines komplementären Rahmens 600, der dem Rahmen 300 aus 3 entspricht. Der komplementäre Rahmen umfasst Bereiche 602 in einer einheitlichen Farbe, die Bereiche des Rahmens 300 entsprechen, wo sich die Pixel der Polleraufnahmen 304 befinden. In 6 sind die Bereiche 602 weiß, während der Rest des komplementären Rahmens 600 schwarz ist. Jedoch können andere Ausführungsformen dem ursprünglichen Bild mit einer einheitlichen Farbe, die einen Bereich 602 der Polleraufnahmen bedeckt, ähnlich sein. Zum Beispiel kann für den Bereich 602 eine knallgrüne Farbe verwendet werden, während der schwarze Teil des komplementären Rahmens 600 möglicherweise nicht schwarz ist, sondern mit den entsprechenden Bereichen/Pixeln des ursprünglichen Rahmens 300 identisch sein kann. In einer Ausführungsform kann der komplementäre Rahmen 600 in Ground-Truth-Informationen für den Rahmen 300 enthalten sein, sodass ein Algorithmus trainiert oder getestet werden kann. Zum Beispiel kann der komplementäre Rahmen 600 mit dem Rahmen 300 bereitgestellt werden, um ein neuronales Netzwerk zu trainieren, das verwendet wird, um Abmessungen einer Polleraufnahme 304 zu erfassen und/oder zu identifizieren. Es ist wichtig, anzumerken, dass neuronale Netzwerke oder andere Maschinenlernalgorithmen Teile des ursprünglichen Rahmens 300 außerhalb der Bereiche 602 zum Lernen verwenden können. Zum Beispiel können die Bereiche 602 als Angabe dafür verwendet werden, wo sich Polleraufnahmen befinden, aber Umgebungshinweise (z. B. Straßenoberfläche, gemalte Linien, Reihen an Polleraufnahmen oder dergleichen) können ebenfalls von einem neuronalen Netzwerk oder einem Maschinenlernalgorithmus verwendet werden, um Polleraufnahmen zu identifizieren und zu lokalisieren.
  • Obwohl 3 und 6 vorstehend in Bezug auf Kamerabilder besprochen werden, werden andere Arten von Sensordatenrahmen betrachtet und fallen in den Umfang der vorliegenden Offenbarung. Zum Beispiel können LIDAR-Rahmen, Radarrahmen, Ultraschallrahmen oder eine beliebige andere Art von Sensordatenrahmen erzeugt und gespeichert werden. Außerdem kann, obwohl einige hierin bereitgestellten Ausführungsformen und Beispiele die Simulation und Modellierung von Polleraufnahmen umfassen, eine beliebige andere Art von Gegenstand oder Daten verwendet werden. Zum Beispiel können virtuelle Sensordaten für eine beliebige Art von Gegenstand, auf den man in einer Fahrumgebung treffen kann, erzeugt werden. Beispielhafte Gegenstände oder Hindernisse können Polleraufnahmen, Parkschranken oder Bordsteine, andere Fahrzeuge, Straßen- oder Fahrbahnmarkierungen, Parklinien, Straßenschilder, Fußgänger, Radfahrer, Tiere, Straßenschutt, Unebenheiten oder Senken in einer Straße oder ein(en) beliebigen/beliebiges anderen/anderes Gegenstand, Hindernis oder Merkmal umfassen, der/das verändern kann, wie ein Fahrzeug betrieben werden sollte oder einen Weg eines Fahrzeugs ändern kann.
  • 7 ist ein Blockdiagramm, das beispielhafte Komponenten einer Simulationskomponente 402 veranschaulicht. In der dargestellten Ausführungsform umfasst die Simulationskomponente 402 eine Umgebungskomponente 702, eine virtuelle Sensorkomponente 704, eine Ground-Truth-Komponente 706, eine Speicherkomponente 708 und eine Modellkomponente 710. Die Komponenten 702710 dienen lediglich zur Veranschaulichung und es kann sein, dass können nicht alle in allen Ausführungsformen eingeschlossen sind. Tatsächlich können einige Ausführungsformen lediglich eine oder eine beliebige Kombination aus zwei oder mehreren der Komponenten 702710 einschließen.
  • Einige der Komponenten 702710 können sich außerhalb der Simulationskomponente 402 befinden, wie zum Beispiel in einer Rechenvorrichtung in Kommunikation mit der Simulationskomponente 402 über ein Netzwerk.
  • Die Umgebungskomponente 702 ist konfiguriert, um eine virtuelle Umgebung zu erzeugen und/oder zu simulieren. In einer Ausführungsform simuliert oder erzeugt die Umgebungskomponente 702 eine 3D-Park- oder Fahrumgebung. Die Umgebungskomponente 702 kann eine 3D-Spiel- oder Simulationsmaschine verwenden, um eine Umgebung zu erzeugen, zu simulieren und/oder auszugeben, in der ein Fahrzeug gefahren oder geparkt werden kann. Zum Beispiel können Spielmaschinen oder 3D-Simulationsmaschinen, die verwendet werden, um Spiele, 3D-Simulation oder eine beliebige andere Spielgestaltung oder -simulation anzutreiben, für Zwecke des Simulierens einer realen Umgebung verwendet werden.
  • In einer Ausführungsform simuliert die Umgebungskomponente 702 eine Umgebung mit einer Vielzahl von virtuellen Gegenständen. Die virtuellen Gegenstände können Polleraufnahmen, Parkschranken, Fahrzeuge, Bäume, Pflanzen, Bordsteinkanten, gemalte Linien, Gebäude, Landschaften, Fußgänger, Tiere oder beliebige andere Gegenstände umfassen, die in einer Fahr- oder Parkumgebung vorhanden sein können. Die Umgebungskomponente 702 kann überfüllte Bedingungen simulieren, bei denen es eine große Anzahl an Fahrzeugen, Fußgängern oder anderen Gegenständen gibt. Die Umgebungskomponente 702 kann auch Beleuchtungsbedingungen simulieren. Zum Beispiel kann die Umgebungskomponente 702 eine Lichtquelle simulieren, darunter eine Sonne, Mondlicht, Straßenlichter, Gebäudelichter, Fahrzeugscheinwerfer, Fahrzeugbremslichter oder eine beliebige andere Lichtquelle. Die Umgebungskomponente 702 kann auch Schatten, Lichtfarben für die Sonne oder den Mond zu unterschiedlichen Tageszeiten oder Wetterbedingungen simulieren. Zum Beispiel kann die Umgebungskomponente 702 Beleuchtung für Wolken-, Regen-, Schnee- und andere Wetterbedingungen simulieren.
  • Außerdem kann die Umgebungskomponente 702 nasse oder Schneebedingungen simulieren, wobei Straßen, Parkplätze und Gegenstände in einer virtuellen Umgebung nass oder mit Schnee bedeckt sind.
  • In einer Ausführungsform kann die Umgebungskomponente 702 simulierte Bedingungen randomisieren. Zum Beispiel kann die Umgebungskomponente 702 periodisch eine oder mehrere simulierte Bedingungen randomisieren, um Umgebungen mit einer breiten Spanne an Bedingungen zu erzeugen. In einer Ausführungsform kann die Umgebungskomponente 702 zufallsbasiert verschiedene Bedingungen für eines oder mehrere von Beleuchtung, Wetter, einer Position der einen oder mehreren virtuellen Polleraufnahmen oder anderen Gegenständen und Abmessungen der einen oder mehreren virtuellen Polleraufnahmen oder anderen Gegenstände erzeugen.
  • In einer Ausführungsform kann die Umgebungskomponente 702 eine Position eines Sensors in der virtuellen Umgebung simulieren. Die Umgebungskomponente 702 kann die Bewegung von einem oder mehreren Sensoren entlang eines Wegs in der virtuellen Umgebung simulieren oder kann die Sensorpositionierung randomisieren. Zum Beispiel kann die Umgebungskomponente 702 eine Position und/oder Ausrichtung eines Sensors basierend auf einer geplanten Stelle an einem Fahrzeug simulieren. In einer Ausführungsform kann die Umgebungskomponente 702 eine Position, eine Höhe, eine Ausrichtung oder andere Positionierungsaspekte eines Sensors in der virtuellen Umgebung randomisieren. Die randomisierten Stellen für den Sensor oder andere simulierte Bedingungen für die virtuelle Umgebung können innerhalb von vordefinierten Grenzen randomisiert werden, um die Wahrscheinlichkeit zu erhöhen, dass die virtuelle Umgebung Bedingungen ähnlich ist, auf die Fahrzeuge in realen Situationen treffen würden.
  • Die virtuelle Sensorkomponente 704 ist konfiguriert, um Sensordaten oder Wahrnehmungsdaten für einen virtuellen Sensor in einer virtuellen Umgebung, die von der Umgebungskomponente 702 erzeugt oder simuliert wurde, zu erzeugen. In einer Ausführungsform kann die virtuelle Sensorkomponente 704 ein Modell einer realen Leistung von einem oder mehreren spezifischen Sensoren, die von einem Fahrzeug zu verwenden sind, umfassen oder verwenden. Zum Beispiel kann ein Sensor ein virtuelles Modell aufweisen, das die tatsächliche Leistung des Sensors simuliert. Die virtuelle Sensorkomponente 704 kann simulieren, wie ein Sensor einen Rahmen erzeugt. Die virtuelle Sensorkomponente 704 kann virtuelle Sensordaten erzeugen, die eines oder mehrere von computererzeugten Bildern, computererzeugten Radardaten, computererzeugten LIDAR-Daten, computererzeugten Ultraschalldaten oder anderen Daten für andere Arten von Wahrnehmungssensoren umfassen.
  • In einer Ausführungsform ist die virtuelle Sensorkomponente 704 konfiguriert, um Sensorrahmen oder Sensordaten auf einer periodischen Basis zu erzeugen. Zum Beispiel kann die virtuelle Sensorkomponente 704 ein Bild (oder einen anderen Sensor) in einem simulierten Intervall ähnlich der Häufigkeit, in der eine Kamera ein Bild erfasst, erzeugen. In einer Ausführungsform erzeugt die virtuelle Sensorkomponente 704 Sensordaten für jede Position, die von der Umgebungskomponente 702 simuliert wird. Zum Beispiel kann die virtuelle Sensorkomponente 704 Sensordaten für Positionen entlang einer Strecke, die von einem virtuellen Fahrzeug in einer virtuellen Umgebung zurückgelegt wird, erzeugen. In einer Ausführungsform umfassen eines oder mehrere der Bilder oder Rahmen an Sensordaten einen Teil einer virtuellen Polleraufnahme oder eines anderen Gegenstands. Zum Beispiel können computererzeugte Bilder von Polleraufnahmen oder anderen Gegenständen in einer virtuellen Umgebung von der virtuellen Sensorkomponente 704 produziert werden.
  • Die Ground-Truth-Komponente 706 ist konfiguriert, um virtuelle Ground Truth für die virtuellen Sensordaten, die von der virtuellen Sensorkomponente 704 erzeugt wurden, zu erzeugen. Zum Beispiel kann die Ground-Truth-Komponente 706 simulierte Bedingungen für jedes Bild oder jeden Rahmen, das/der von der virtuellen Sensorkomponente 704 erfasst wurde, bestimmen. In einer Ausführungsform kann die Umgebungskomponente 702 die simulierten Bedingungen der Ground-Truth-Komponente 706 bereitstellen. Die Ground-Truth-Komponente 706 kann eine oder mehrere simulierte Bedingungen als Ground Truth auswählen oder Ground Truth basierend auf den simulierten Bedingungen für spezifische virtuelle Sensordaten berechnen. Zum Beispiel kann die Ground-Truth-Komponente 706 eine Abmessung einer Polleraufnahme (wie zum Beispiel die Höhe) als Ground Truth für ein computererzeugtes Bild oder einen computererzeugten Rahmen wählen. Als ein weiteres Beispiel kann die Ground-Truth-Komponente 706 virtuelle Positionen einer Polleraufnahme und eines Sensors erhalten und dann einen virtuellen Abstand (z. B. Sichtlinienabstand und/oder horizontaler Abstand) zwischen dem virtuellen Sensor und der Polleraufnahme berechnen. Ähnliche Informationen über andere Gegenstände oder Hindernisse in der virtuellen Umgebung werden ebenfalls betrachtet.
  • Die virtuelle Ground Truth kann Informationen über eine Position und Ausrichtung eines Sensors, eine Position und Ausrichtung einer Polleraufnahme oder eines anderen Gegenstands, eine oder mehrere Abmessungen einer Polleraufnahme oder eines anderen Gegenstands, Beleuchtungsbedingungen, Wetterbedingungen, einen Abstand zwischen dem Sensor und der Polleraufnahme oder einem anderen Gegenstand, eine Art von Sensor, die zum Erfassen von Sensordaten verwendet wird oder beliebige andere Informationen über Simulationsbedingungen umfassen. In einer Ausführungsform kann ein einheitlicher Ground-Truth-Satz für jeden Rahmen oder Satz an Sensordaten, die von der virtuellen Sensorkomponente 704 erzeugt wurden, bestimmt werden. Zum Beispiel können die gleichen Ground-Truth-Informationen (z. B. Sensorhöhe, Abstand usw.) für jede Position, an der virtuelle Sensordaten erzeugt wurden, berechnet und gespeichert werden.
  • In einer Ausführungsform kann die Ground-Truth-Komponente 706 einen komplementären Rahmen für einen Rahmen an Sensordaten, erzeugt durch die virtuelle Sensorkomponente 704 (siehe 6), erzeugen. Zum Beispiel kann der komplementäre Rahmen den gleichen Farbwert für Pixel, die der einen oder den mehreren virtuellen Polleraufnahmen entsprechen, aufweisen. Zum Beispiel kann jedes Pixel, das einer Polleraufnahme entspricht, die gleiche Farbe aufweisen, sodass ein Trainingsalgorithmus oder ein Testalgorithmus eindeutig bestimmen kann, welcher Teil der virtuellen Sensordaten einer virtuellen Polleraufnahme entspricht. In einer Ausführungsform kann jedes Pixel des komplementären Rahmens ein Bildpixel, einen Radar- oder LIDAR-Vektor oder ein anderes Pixel oder einen anderen Matrixwert der virtuellen Sensordaten umfassen. In einer Ausführungsform können Pixelwerte für ein oder mehrere Pixel in einem Bereich, der der Polleraufnahme entspricht, gespeichert werden. Zum Beispiel können die Pixelwerte gespeichert werden, anstatt ein vollständiges Bild zu speichern. Pixelwerte für ein Begrenzungsrechteck, das eine Polleraufnahme umgibt, können ebenfalls als Teil der Ground Truth gespeichert werden.
  • Die Speicherkomponente 708 ist konfiguriert, um die virtuellen Sensordaten, die von der virtuellen Sensorkomponente 704 erzeugt wurden, und/oder eine beliebige Ground Truth, die von der Ground-Truth-Komponente 706 bestimmt wurde, zu speichern. Zum Beispiel kann die Speicherkomponente 708 die virtuellen Sensordaten und/oder Ground Truth im Speicher 404 aus 4 speichern. In einer Ausführungsform kann die Speicherkomponente 708 die virtuellen Sensordaten mit entsprechender Ground Truth oder anderen Informationen über simulierte Bedingungen assoziieren oder annotieren. Die Sensordaten und die Ground Truth können dann für eine breite Vielfalt von Zwecken verwendet werden, wie zum Beispiel zum Trainieren eines Maschinenlernalgorithmus oder -modells oder zum Testen eines Maschinenlernalgorithmus oder -modells.
  • Die Modellkomponente 710 ist konfiguriert, um die virtuellen Sensordaten und/oder die Ground Truth einem Algorithmus zum Testen oder Trainieren eines Maschinenlernalgorithmus oder -modells bereitzustellen. Zum Beispiel kann die Modellkomponente 710 die virtuellen Sensordaten und/oder die Ground Truth, die von der virtuellen Sensorkomponente 704 und/oder der Ground-Truth-Komponente 706 bereitgestellt werden, der Trainingskomponente 406 oder der Testkomponente 408 aus 4 bereitstellen.
  • In einer anderen Ausführungsform kann die Modellkomponente 710 die Trainingskomponente 406 und/oder die Testkomponente 408 umfassen. Zum Beispiel können die virtuellen Sensordaten und/oder die virtuelle Ground Truth verwendet werden, um ein neuronales Netzwerk, ein tiefes neuronales Netzwerk und/oder ein neuronales Faltungsnetzwerk zu trainieren oder zu testen, um eine oder mehrere Eigenschaften einer Polleraufnahme oder eines anderen Gegenstands zu erfassen, zu identifizieren zu bestimmen.
  • Zum Beispiel kann der/das Maschinenlernalgorithmus oder -modell in Bezug auf den Einschluss im automatisierten Fahr-/Assistenzsystem 102 aus 1 trainiert oder getestet werden. In einer Ausführungsform können die virtuellen Sensordaten und/oder die virtuelle Ground Truth verwendet werden, um ein neuronales Netzwerk, ein tiefes neuronales Netzwerk und/oder ein neuronales Faltennetzwerk zu trainieren oder zu testen, um zu bestimmen, wie in der Anwesenheit einer Polleraufnahme zu manövrieren ist, um einen Fahrzeugschaden zu verhindern.
  • Nun wird unter Bezugnahme auf 8 ein schematisches Flussdiagramm eines Verfahrens 800 zum Erzeugen von virtuellen Sensordaten und Ground Truth veranschaulicht. Das Verfahren 800 kann von der Simulationskomponente oder einem System für die Erzeugung von Sensordaten, wie zum Beispiel der Simulationskomponente 402 aus 4 oder 7 oder dem System 400 für die Erzeugung von Sensordaten aus 4 durchgeführt werden.
  • Das Verfahren 800 beginnt und eine Umgebungskomponente 702 simuliert bei 802 eine dreidimensionale (3D) Umgebung, die eine oder mehrere Polleraufnahmen oder andere Gegenstände umfasst. Eine virtuelle Sensorkomponente 704 erzeugt bei 804 virtuelle Sensordaten für eine Vielzahl von Positionen von einem oder mehreren Sensoren in der 3D-Umgebung. Eine Ground-Truth-Komponente 706 bestimmt bei 806 virtuelle Ground Truth, die jeder aus der Vielzahl von Positionen entspricht. Die Ground Truth kann Informationen über mindestens eine Polleraufnahme in den virtuellen Sensordaten, wie zum Beispiel eine Polleraufnahme mit einem oder mehreren in einem Bild oder anderen Sensordaten festgehaltenen Merkmalen, umfassen. Die Informationen können beliebige Informationen über eine Polleraufnahme oder einen anderen hierin besprochenen Gegenstand umfassen, wie zum Beispiel Abmessungen, Position oder Ausrichtungen von Polleraufnahmen. Zum Beispiel kann die Ground Truth eine Höhe von der zumindest einen der Polleraufnahmen oder anderen Gegenstände umfassen. Eine Speicherkomponente 708 speichert bei 808 im Speicher und assoziiert die virtuellen Sensordaten und die virtuelle Ground Truth. Das Verfahren kann auch eine Modellkomponente 710 umfassen, die die virtuellen Sensordaten und/oder die virtuelle Ground Truth einer Trainingskomponente 406 oder einer Testkomponente 408 (siehe 4) zum Trainieren oder Testen eines Maschinenlernalgorithmus oder -modells bereitstellt. Nach dem Trainieren und/oder Testen eines Modells, wie zum Beispiel eines tiefen neuronalen Netzwerks, kann das Modell zur aktiven Gegenstands- oder Polleraufnahmenerfassung und Abmessungsschätzung bei realen Fahrbedingungen in das Fahrzeugsteuersystem 100 aus 1 aufgenommen werden.
  • Beispiele
  • Die folgenden Beispiele betreffen weitere Ausführungsformen.
  • Beispiel 1 ist ein Verfahren, das das Simulieren einer 3D-Umgebung umfasst, die eine oder mehrere Gegenstände, wie zum Beispiel Polleraufnahmen umfasst. Das Verfahren umfasst das Erzeugen von virtuellen Sensordaten für eine Vielzahl von Positionen von einem oder mehreren Sensoren in der 3D-Umgebung. Das Verfahren umfasst das Bestimmen von virtueller Ground Truth, die jeder aus der Vielzahl von Positionen entspricht. Die Ground Truth umfasst Informationen über mindestens eine Polleraufnahme in den Sensordaten. Zum Beispiel kann die Ground Truth eine Höhe von mindestens einer von den Parkschranken umfassen. Das Verfahren umfasst auch das Speichern und Assoziieren der virtuellen Sensordaten und der virtuellen Ground Truth.
  • In Beispiel 2 umfasst das Verfahren aus Beispiel 1 ferner das Bereitstellen von einem oder mehreren der virtuellen Sensordaten und der virtuellen Ground Truth zum Trainieren oder Testen eines Maschinenlernalgorithmus oder -modells.
  • In Beispiel 3 umfasst der/das Maschinenlernalgorithmus oder -modell in Beispiel 2 das Bereitstellen von zumindest einem Teil der virtuellen Sensordaten und entsprechender Ground Truth umfasst, um den/das Maschinenlernalgorithmus oder -modell zu trainieren, um eines oder mehrere von einer Höhe und einer Position einer Polleraufnahme, die in dem Teil der virtuellen Sensordaten repräsentiert wird, zu bestimmen.
  • In Beispiel 4 umfasst das Trainieren des Maschinenlernalgorithmus oder -modells in einem beliebigen der Beispiele 2–3 das Bereitstellen von zumindest einem Teil der virtuellen Sensordaten an den/das Maschinenlernalgorithmus oder -modell, um einen Standort oder eine Höhe der zumindest einen Polleraufnahme zu bestimmen und den Standort oder die Höhe mit der virtuellen Ground Truth zu vergleichen.
  • In Beispiel 5 umfasst das Testen des Maschinenlernalgorithmus oder -modells in einem beliebigen der Beispiele 2–4 das Bereitstellen von zumindest einem Teil der virtuellen Sensordaten an den/das Maschinenlernalgorithmus oder -modell, um eine Klassifikation oder eine Position von zumindest einem Gegenstand zu bestimmen und die Klassifikation oder die Position mit der virtuellen Ground Truth zu vergleichen.
  • In Beispiel 6 entspricht die Vielzahl von Positionen in einem beliebigen der Beispiele 1–5 geplanten Stellen von Sensoren an einem Fahrzeug, wie zum Beispiel einer/einem geplanten Höhe oder Winkel in Bezug auf eine Grundoberfläche.
  • In Beispiel 7 umfassen die virtuellen Sensordaten in einem beliebigen der Beispiele 1–6 eines oder mehrere von computererzeugten Bildern, computererzeugten Radardaten, computererzeugten LIDAR-Daten und computererzeugten Ultraschalldaten.
  • In Beispiel 8 umfasst das Simulieren der 3D-Umgebung in einem beliebigen der Beispiele 1–7 das zufallsbasierte Erzeugen von unterschiedlichen Bedingungen für eines oder mehrere von Beleuchtung, Wetter, einer Position der einen oder der mehreren Polleraufnahmen und einer Höhe oder Größe des einen oder der mehreren Gegenstände.
  • In Beispiel 9 umfasst das Erzeugen der virtuellen Sensordaten in einem beliebigen der Beispiele 1–8 das periodische Erzeugen der virtuellen Sensordaten während simulierter Bewegung des einen oder der mehreren Sensoren in der 3D-Umgebung.
  • In Beispiel 10 umfasst das Bestimmen der virtuellen Ground Truth in einem beliebigen der Beispiele 1–9 das Erzeugen eines Ground-Truth-Rahmens komplementär zu einem Rahmen der virtuellen Sensordaten, wobei der Ground-Truth-Rahmen einen gleichfarbigen Wert für Pixel, die dem einen oder den mehreren Gegenständen entsprechen, umfasst.
  • In Beispiel 11 umfasst das Bestimmen der virtuellen Ground Truth in einem beliebigen der Beispiele 1–10 das Bestimmen und Protokollieren, in Bezug auf einen Rahmen oder Teil von virtuellen Sensordaten, von einem oder mehreren von einer Pixelstelle für die mindestens eine Polleraufnahme in einem Rahmen an virtuellen Sensordaten; einer Größe eines Begrenzungsrechtecks um die mindestens eine Polleraufnahme in einem Rahmen an virtuellen Sensordaten; einer simulierten Position der mindestens einen Polleraufnahme relativ zu einem Fahrzeug oder Sensor in der 3D-Umgebung und einer simulierten Höhe der mindestens einen Polleraufnahme relativ zur Grundoberfläche in der 3D-Umgebung.
  • Beispiel 12 ist ein System, das eine Umgebungskomponente, eine virtuelle Sensorkomponente, eine Ground-Truth-Komponente und eine Modellkomponente umfasst.
  • Die Umgebungskomponente ist konfiguriert, um eine 3D-Umgebung, umfassend eine oder mehrere Polleraufnahmen, zu simulieren. Die virtuelle Sensorkomponente ist konfiguriert, um virtuelle Sensordaten für eine Vielzahl von Positionen von einem oder mehreren Sensoren in der 3D-Umgebung zu erzeugen. Die Ground-Truth-Komponente ist konfiguriert, um virtuelle Ground Truth, die jeder von der Vielzahl von Positionen entspricht, zu bestimmen, wobei die Ground Truth Informationen über mindestens eine Polleraufnahme von der einen oder den mehreren Polleraufnahmen umfasst. Die Modellkomponente ist konfiguriert, um die virtuellen Wahrnehmungsdaten und die Ground Truth einem Maschinenlernalgorithmus oder -modell bereitzustellen, um den/das Maschinenlernalgorithmus oder -modell zu trainieren oder zu testen.
  • In Beispiel 13 ist die Modellkomponente in Beispiel 12 konfiguriert, um den/das Maschinenlernalgorithmus oder -modell zu trainieren, wobei das Trainieren das Bereitstellen von zumindest einem Teil der virtuellen Sensordaten und entsprechender virtueller Ground Truth zum Trainieren des Maschinenlernalgorithmus oder -modells, um eine Position von der mindestens einen Polleraufnahme zu identifizieren oder zu bestimmen, umfasst.
  • In Beispiel 14 ist die Modellkomponente in einem beliebigen der Beispiele 12–13 konfiguriert, um den/das Maschinenlernalgorithmus oder -modell zu testen. Das Testen umfasst das Bereitstellen von zumindest einem Teil der virtuellen Sensordaten an den/das Maschinenlernalgorithmus oder -modell, um eine Position der/des mindestens einen Polleraufnahme oder Gegenstands zu identifizieren oder zu bestimmen und die Identität, Anwesenheit oder die Position der Polleraufnahme mit der virtuellen Ground Truth zu vergleichen.
  • In Beispiel 15 ist die virtuelle Sensorkomponente in einem beliebigen der Beispiele 12–14 konfiguriert, um virtuelle Sensordaten zu erzeugen, die eines oder mehrere von computererzeugten Bildern, computererzeugten Radardaten, computererzeugten LIDAR-Daten und computererzeugten Ultraschalldaten umfassen.
  • In Beispiel 16 ist die Umgebungskomponente in einem beliebigen der Beispiele 12–15 konfiguriert, um die 3D-Umgebung zu simulieren, indem zufallsbasiert verschiedene Bedingungen für eines oder mehrere aus der Vielzahl von Positionen erzeugt werden, wobei die verschiedenen Bedingungen eines oder mehrere von Beleuchtungsbedingungen, Wetterbedingungen, einer Position der einen oder der mehreren Polleraufnahmen und Abmessungen der einen oder der mehreren Polleraufnahmen umfassen.
  • Beispiel 17 ist ein computerlesbares Speichermedium, das Anweisungen speichert, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, bewirken, dass der eine oder die mehreren Prozessoren virtuelle Sensordaten für eine Vielzahl von Sensorpositionen in einer simulierten 3D-Umgebung, die eine oder mehrere virtuelle Polleraufnahmen umfasst, erzeugt. Die Anweisungen bewirken, dass der eine oder die mehreren Prozessoren eine oder mehrere simulierte Bedingungen für jede aus der Vielzahl von Positionen bestimmen, wobei die simulierten Bedingungen eines oder mehrere von einer Anwesenheit, einer Position und einer Abmessung von mindestens einer Polleraufnahme von der einen oder den mehreren Polleraufnahmen umfassen. Die Anweisungen bewirken, dass der eine oder die mehreren Prozessoren die virtuellen Sensordaten mit den simulierten Bedingungen speichern und annotieren.
  • In Beispiel 18 bewirken die Anweisungen in Beispiel 17 ferner, dass der eine oder die mehreren Prozessoren ein(en) Maschinenlernalgorithmus oder -modell basierend auf einem oder mehreren von den virtuellen Sensordaten und den simulierten Bedingungen trainieren oder testen.
  • In Beispiel 19 bewirken die Anweisungen in einem beliebigen der Beispiele 17–18 ferner, dass der Prozessor eines oder mehrere des Folgenden ausführt: Trainieren des Maschinenlernalgorithmus oder -modells durch Bereitstellen von zumindest einem Teil der virtuellen Sensordaten und entsprechenden simulierten Bedingungen zum Trainieren des Maschinenlernalgorithmus oder -modells, um eines oder mehrere von einer Anwesenheit, einer Position und einer Abmessung der mindestens einen Polleraufnahme zu bestimmen; und Testen des Maschinenlernalgorithmus oder -modells durch Bereitstellen von zumindest einem Teil der virtuellen Sensordaten an den/das Maschinenlernalgorithmus oder -modell, um eines oder mehrere von einer Klassifikation, einer Position und einer Abmessung der mindestens einen Polleraufnahme zu bestimmen und durch Vergleichen einer bestimmen Klassifikation, einer Position und einer Abmessung der mindestens einen Polleraufnahme mit den simulierten Bedingungen.
  • In Beispiel 20 umfasst das Erzeugen der virtuellen Sensordaten in einem beliebigen der Beispiele 17–19 das Simulieren der 3D-Umgebung durch Randomisieren von einer oder mehreren von den simulierten Bedingungen für eine oder mehrere aus der Vielzahl von Positionen, wobei das Randomisieren der einen oder mehreren simulierten Bedingungen das Randomisieren von einem oder mehreren von Beleuchtungsbedingungen, Wetterbedingungen; einer Position der einen oder mehreren virtuellen Polleraufnahmen und Abmessungen des einen oder der mehreren virtuellen Gegenstände umfasst.
  • In Beispiel 21 umfasst das Annotieren der virtuellen Sensordaten mit den simulierten Bedingungen in einem beliebigen der Beispiele 17–20 das Speichern einer Protokolldatei, die eines oder mehrere von simulierten Bedingungen für jeden Rahmen an virtuellen Sensordaten auflistet.
  • Beispiel 22 ist ein System oder eine Vorrichtung, das bzw. die Mittel zum Umsetzen eines Verfahrens oder Realisieren eines Systems oder einer Vorrichtung nach einem beliebigen der Beispiele 1–21 umfasst.
  • In der vorangehenden Offenbarung wurde auf die beigefügten Zeichnungen Bezug genommen, die einen Teil davon bilden und in denen spezifische Umsetzungen zur Veranschaulichung gezeigt werden, in denen die Offenbarung durchgeführt werden kann. Es versteht sich, dass andere Umsetzungen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Patentschrift auf „eine Ausführungsform“, „ein Ausführungsbeispiel“ usw. geben an, dass die beschriebene Ausführungsform eine bestimmte Funktion, Struktur oder Eigenschaft einschließen kann; nicht jede Ausführungsform muss jedoch notwendigerweise diese bestimmte Funktion, Struktur oder Eigenschaft einschließen. Darüber hinaus beziehen sich solche Formulierungen nicht notwendigerweise auf dieselbe Ausführungsform. Ferner wird geltend gemacht, dass, wenn eine bestimmte Funktion, Struktur oder Eigenschaft in Zusammenhang mit einer Ausführungsform beschrieben wird, es dem Wissensstand eines Fachmannes entspricht, eine solche Funktion, Struktur oder Eigenschaft in Zusammenhang mit anderen Ausführungsformen zu bewirken, unabhängig davon, ob dies ausdrücklich beschrieben wird oder nicht.
  • Wie hierin verwendet kann ein „autonomes Fahrzeug“ ein Fahrzeug sein, das völlig unabhängig von einem menschlichen Fahrer funktioniert oder fährt; oder kann ein Fahrzeug sein, das in einigen Fällen unabhängig von einem menschlichen Fahrer funktioniert oder fährt, während ein menschlicher Fahrer das Fahrzeug in anderen Fällen bedienen kann; oder kann ein Fahrzeug sein, das überwiegend von einem menschlichen Fahrer bedient wird, jedoch mit der Unterstützung eines automatisierten Fahr-/Assistenzsystems.
  • Umsetzungen der hierin offenbarten Systeme, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder verwenden, der Computerhardware einschließt, wie zum Beispiel wie hierin erörtert einen oder mehrere Prozessoren und einen Systemspeicher. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können außerdem Datenträger und andere computerlesbare Medien zum Weiterleiten oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen einschließen. Bei solchen 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 weiterleiten, 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) schließen RAM, ROM, EEPROM, CD-ROM, Solid-State-Drives („SSDs“) (z. B auf Grundlage von RAM), Flash-Speicher, Phasenänderungsspeicher („PCM“), andere Speichertypen, andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium ein, 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 Geräten ermöglichen.
  • Wenn Informationen über ein Netzwerk oder eine andere (entweder festverdrahtete, drahtlose oder einer Kombination aus festverdrahteter oder drahtloser) Kommunikationsverbindung an einem Computer bereitgestellt oder auf diesen übertragen werden, zeigt der Computer die Verbindung dementsprechend als ein Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen einschließen, die verwendet werden können, um die gewünschten Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu übertragen und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus den oben Genannten sollten ebenfalls in den Umfang computerlesbarer Medien eingeschlossen werden.
  • Computerausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, die, wenn sie an einem Prozessor ausgeführt werden, einen Universalcomputer, Spezialcomputer oder eine Spezialverarbeitungsvorrichtung dazu veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen durchzuführen. Die computerausführbaren Anweisungen können zum Beispiel 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 Ansprüchen definierte Gegenstand nicht notwendigerweise auf die vorangehend beschriebenen Merkmale oder Handlungen beschränkt ist. Die beschriebenen Merkmale und Handlungen werden vielmehr als beispielhafte Formen der Umsetzung der Ansprüche offenbart.
  • Der Fachmann kann nachvollziehen, dass die Offenbarung in Network-Computing-Umgebungen mit vielen Arten von Computersystemkonfigurationen durchgeführt werden kann, einschließlich eines Armaturenbrett-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, verschiedenen Speichergeräten und dergleichen. Diese Offenbarung kann außerdem in Umgebungen mit verteilten Systemen durchgeführt werden, in denen sowohl lokale Computersysteme als auch Remotecomputersysteme, die durch ein Netzwerk (entweder durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination aus festverdrahteten und drahtlosen Datenverbindungen) verbunden sind, Aufgaben durchfü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 von Folgenden durchgeführt werden: Hardware, Software, Firmware, digitalen Komponenten oder analogen Komponenten. Ein oder mehrere anwendungsspezifische integrierte Schaltkreise (ASICs) können zum Beispiel programmiert sein, um eines oder mehrere der hierin beschriebenen Systeme und Verfahren auszuführen. Bestimmte Ausdrücke werden in der Beschreibung und den Ansprüchen in Bezug auf bestimmte Systemkomponenten verwendet. Wie ein Fachmann nachvollziehen kann, kann auf Komponenten durch die Verwendung verschiedener Bezeichnungen Bezug genommen werden. In diesem Dokument soll nicht zwischen Komponenten unterschieden werden, die sich dem Namen nach unterscheiden, nicht jedoch von der Funktion her.
  • Es ist anzumerken, dass die vorangehend erörterten Sensorausführungsformen Computerhardware, -software, -firmware oder eine beliebige Kombination davon umfassen können, um zumindest einen Teil der Funktionen durchzuführen. Ein Sensor kann zum Beispiel Computercode einschließen, der konfiguriert ist, um in einem oder mehreren Prozessoren ausgeführt zu werden, und kann eine Hardware-Logikschaltung/elektrische Schaltung einschließen, die durch den Computercode gesteuert wird. Diese Vorrichtungsbeispiele werden hierin zu Veranschaulichungszwecken bereitgestellt und sollen nicht der Einschränkung dienen. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen umgesetzt werden, wie einer in dem entsprechenden Fachbereich/den entsprechenden Fachbereichen qualifizierten Person bekannt.
  • Zumindest 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. Solche Software veranlasst, wenn sie in einer oder mehreren Datenverarbeitungsvorrichtungen ausgeführt wird, eine Vorrichtung dazu, wie hierin beschrieben zu arbeiten.
  • Während verschiedene Ausführungsformen der vorliegenden Offenbarung vorangehend beschrieben wurden, versteht es sich, dass diese lediglich als Beispiele dienen, und nicht als Einschränkung. Für Personen, die in dem entsprechenden Fachbereich qualifiziert sind, wird ersichtlich, dass verschiedene Änderungen in Form und Detail daran vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Daher sollen die Breite und der Umfang der vorliegenden Offenbarung nicht durch eine der vorangehend beschriebenen Ausführungsbeispiele eingeschränkt werden, sondern sollen lediglich gemäß den folgenden Ansprüchen und ihren Äquivalenten definiert sein. Die vorangehende Beschreibung wurde zu Veranschaulichungs- und Beschreibungszwecken dargelegt. Sie ist nicht als umfassend anzusehen und soll die Offenbarung nicht auf die spezifische offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der oben angegebenen Lehren möglich. Ferner ist anzumerken, dass eine beliebige oder alle der vorangehend genannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination genutzt werden können, um zusätzliche Hybridumsetzungen der Offenbarung zu bilden.
  • Ferner soll die Offenbarung, auch wenn spezifische Umsetzungen der Offenbarung beschrieben und dargestellt wurden, nicht auf die somit beschriebenen und dargestellten spezifischen Formen oder Anordnungen der Teile beschränkt werden. Der Umfang der Offenbarung ist durch die hieran beigefügten Ansprüche, jegliche zukünftigen hier beantragten Ansprüche und in verschiedenen Anwendungen und deren Äquivalenten zu definieren.

Claims (15)

  1. Verfahren, umfassend: Simulieren einer dreidimensionalen (3D) Umgebung, umfassend eine oder mehrere Polleraufnahmen; Erzeugen von virtuellen Sensordaten für eine Vielzahl von Positionen von einem oder mehreren Sensoren in der 3D-Umgebung; Bestimmen von virtueller Ground Truth, umfassend Informationen über mindestens eine Polleraufnahme, die in den virtuellen Sensordaten repräsentiert wird; und Speichern und Assoziieren der virtuellen Sensordaten und der virtuellen Ground Truth.
  2. Verfahren nach Anspruch 1, ferner umfassend das Bereitstellen von einem oder mehreren der virtuellen Sensordaten und der virtuellen Ground Truth zum Trainieren oder Testen eines Maschinenlernalgorithmus oder -modells.
  3. Verfahren nach Anspruch 2, wobei der/das Maschinenlernalgorithmus oder -modell das Bereitstellen von zumindest einem Teil der virtuellen Sensordaten und entsprechender Ground Truth umfasst, um den/das Maschinenlernalgorithmus oder -modell zu trainieren, um eines oder mehrere von einer Höhe und einer Position einer Polleraufnahme, die in dem Teil der virtuellen Sensordaten repräsentiert wird, zu bestimmen.
  4. Verfahren nach Anspruch 2, wobei das Testen des Maschinenlernalgorithmus oder -modells das Bereitstellen von zumindest einem Teil der virtuellen Sensordaten an den/das Maschinenlernalgorithmus oder -modell umfasst, um einen Standort oder eine Höhe der zumindest einen Polleraufnahme zu bestimmen und den Standort oder die Höhe mit der virtuellen Ground Truth zu vergleichen.
  5. Verfahren nach Anspruch 1, wobei die Vielzahl von Positionen einer/einem geplanten Höhe oder Winkel von Sensoren an einem Fahrzeug entspricht.
  6. Verfahren nach Anspruch 1, wobei eines oder mehrere von: den virtuellen Sensordaten eines oder mehrere von computererzeugten Bildern, computererzeugten Radardaten, computererzeugten LIDAR-Daten und computererzeugten Ultraschalldaten umfasst; dem Simulieren der 3D-Umgebung das zufallsbasierte Erzeugen von unterschiedlichen Bedingungen für eines oder mehrere von Beleuchtung, Wetter, einer Position der einen oder der mehreren Polleraufnahmen und einer Höhe oder Größe der einen oder der mehreren Polleraufnahmen umfasst; dem Erzeugen der virtuellen Sensordaten das periodische Erzeugen der virtuellen Sensordaten während simulierter Bewegung des einen oder der mehreren Sensoren in der 3D-Umgebung umfasst; oder dem Bestimmen der virtuellen Ground Truth das Erzeugen eines Ground-Truth-Rahmens komplementär zu einem Rahmen aus virtuellen Sensordaten umfasst, wobei der Ground-Truth-Rahmen einen gleichfarbigen Wert für Pixel, die der einen oder den mehreren Polleraufnahmen entsprechen, umfasst.
  7. Verfahren nach Anspruch 1, wobei das Bestimmen der virtuellen Ground Truth in Bezug auf einen Rahmen oder Teil von virtuellen Sensordaten das Bestimmen und Protokollieren von einem oder mehreren des Folgenden umfasst: einer Pixelstelle für die mindestens eine Polleraufnahme in einem Rahmen von virtuellen Sensordaten; einer Größe eines Begrenzungsrechtecks um die mindestens eine Polleraufnahme in einem Rahmen von virtuellen Sensordaten; einer simulierten Position der mindestens einen Polleraufnahme relativ zu einem Fahrzeug oder Sensor in der 3D-Umgebung; und einer simulierten Höhe der mindestens einen Polleraufnahme relativ zur Bodenoberfläche in der 3D-Umgebung.
  8. System, umfassend: eine Umgebungskomponente, die konfiguriert ist, um eine dreidimensionale (3D) Umgebung, umfassend eine oder mehrere Polleraufnahmen, zu simulieren; eine virtuelle Sensorkomponente, die konfiguriert ist, um virtuelle Sensordaten für eine Vielzahl von Positionen von einem oder mehreren Sensoren in der 3D-Umgebung zu erzeugen; eine Ground-Truth-Komponente, die konfiguriert ist, um virtuelle Ground Truth, die jeder von der Vielzahl von Positionen entspricht, zu bestimmen, wobei die Ground Truth Informationen über mindestens eine Polleraufnahme von der einen oder den mehreren Polleraufnahmen umfasst; und eine Modellkomponente, die konfiguriert ist, um die virtuellen Wahrnehmungsdaten und die Ground Truth einem Maschinenlernmodell oder -algorithmus bereitzustellen, um das/den Maschinenlernmodell oder -algorithmus zu trainieren oder zu testen.
  9. System nach Anspruch 8, wobei die Modellkomponente konfiguriert ist, um den/das Maschinenlernalgorithmus oder -modell zu trainieren, wobei das Trainieren Folgendes umfasst: Bereitstellen von zumindest einem Teil der virtuellen Sensordaten und entsprechender virtueller Ground Truth zum Trainieren des Maschinenlernalgorithmus oder -modells, um eine Position von der mindestens einen Polleraufnahme zu identifizieren oder zu bestimmen.
  10. System nach Anspruch 8, wobei die Modellkomponente konfiguriert ist, um den/das Maschinenlernalgorithmus oder -modell zu testen, wobei das Testen Folgendes umfasst: Bereitstellen von zumindest einem Teil der virtuellen Sensordaten an den/das Maschinenlernalgorithmus oder -modell, um eine Position von der mindestens einen Polleraufnahme zu identifizieren oder zu bestimmen; und Vergleichen der Identität oder der Position der Polleraufnahme mit der virtuellen Ground Truth.
  11. System nach Anspruch 8, wobei eines oder mehrere von: der virtuellen Sensorkomponente konfiguriert ist, um virtuelle Sensordaten zu erzeugen, die eines oder mehrere von computererzeugten Bildern, computererzeugten Radardaten, computererzeugten Lichterfassungs- und -spektrums-(LIDAR)-daten und computererzeugten Ultraschalldaten umfassen; und der Umgebungskomponente konfiguriert ist, um die 3D-Umgebung zu simulieren, indem zufallsbasiert verschiedene Bedingungen für eines oder mehrere aus der Vielzahl von Positionen erzeugt werden, wobei die verschiedenen Bedingungen eines oder mehrere von Beleuchtungsbedingungen, Wetterbedingungen, einer Position der einen oder der mehreren Polleraufnahmen, oder Abmessungen der einen oder der mehreren Polleraufnahmen umfassen.
  12. Computerlesbares Speichermedium, auf dem Anweisungen gespeichert sind, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren zu Folgendem veranlassen: Erzeugen von virtuellen Sensordaten für eine Vielzahl von Sensorpositionen in einer simulierten dreidimensionalen (3D) Umgebung, die eine oder mehrere Polleraufnahmen umfasst; Bestimmen von einer oder mehreren simulierten Bedingungen für jede aus der Vielzahl von Positionen, wobei die simulierten Bedingungen eines oder mehrere von einer Anwesenheit, einer Position und einer Abmessung von mindestens einer Polleraufnahme von der einen oder den mehreren Polleraufnahmen umfassen; und Speichern und Annotieren der virtuellen Sensordaten mit den simulierten Bedingungen.
  13. Computerlesbarer Speicher nach Anspruch 12, wobei die Anweisungen ferner bewirken, dass der eine oder die mehreren Prozessoren ein(en) Maschinenlernalgorithmus oder -modell basierend auf einem oder mehreren von den virtuellen Sensordaten und den simulierten Bedingungen trainieren oder testen.
  14. Computerlesbarer Speicher nach Anspruch 13, wobei eines oder mehrere von: den Anweisungen bewirken, dass der eine oder die mehreren Prozessoren den/das Maschinenlernalgorithmus oder -modell trainieren, indem zumindest ein Teil der virtuellen Sensordaten und entsprechenden simulierten Bedingungen bereitgestellt wird, um den/das Maschinenlernalgorithmus oder -modell zu trainieren, um eines oder mehrere von einer Anwesenheit, einer Position und einer Abmessung der mindestens einen Polleraufnahme zu bestimmen; und den Anweisungen bewirken, dass der eine oder die mehreren Prozessoren den/das Maschinenlernalgorithmus oder -modell testen durch: Bereitstellen von zumindest einem Teil der virtuellen Sensordaten an den/das Maschinenlernalgorithmus oder -modell, um eines oder mehrere von einer Anwesenheit, einer Position und einer Abmessung von der mindestens einen Polleraufnahme zu bestimmen; und Vergleichen einer bestimmten Anwesenheit, Position oder Abmessung der mindestens einen Polleraufnahme mit den simulierten Bedingungen.
  15. Computerlesbarer Speicher nach Anspruch 12, wobei eines oder mehrere von: Erzeugen der virtuellen Sensordaten das Simulieren der 3D-Umgebung durch Randomisieren von einer oder mehreren von den simulierten Bedingungen für eine oder mehrere aus der Vielzahl von Positionen umfasst, wobei das Randomisieren der einen oder mehreren simulierten Bedingungen das Randomisieren von einem oder mehreren von Beleuchtungsbedingungen, Wetterbedingungen, Position der einen oder der mehreren Polleraufnahmen, oder Abmessungen der einen oder der mehreren Polleraufnahmen umfasst; oder Annotieren der virtuellen Sensordaten mit den simulierten Bedingungen das Speichern einer Protokolldatei, die eines oder mehrere von simulierten Bedingungen für jeden Rahmen an virtuellen Sensordaten auflistet, umfasst.
DE102017115197.4A 2016-07-07 2017-07-06 Erzeugung von virtuellen sensordaten für die erfassung von polleraufnahmen Withdrawn DE102017115197A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/204,484 US20180011953A1 (en) 2016-07-07 2016-07-07 Virtual Sensor Data Generation for Bollard Receiver Detection
US15/204,484 2016-07-07

Publications (1)

Publication Number Publication Date
DE102017115197A1 true DE102017115197A1 (de) 2018-01-11

Family

ID=59676808

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017115197.4A Withdrawn DE102017115197A1 (de) 2016-07-07 2017-07-06 Erzeugung von virtuellen sensordaten für die erfassung von polleraufnahmen

Country Status (6)

Country Link
US (1) US20180011953A1 (de)
CN (1) CN107589418A (de)
DE (1) DE102017115197A1 (de)
GB (1) GB2554148A (de)
MX (1) MX2017008975A (de)
RU (1) RU2017123627A (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836895B1 (en) * 2015-06-19 2017-12-05 Waymo Llc Simulating virtual objects
EP3475778A4 (de) * 2016-06-28 2019-12-18 Cognata Ltd. Realistische 3d-erstellung einer virtuellen welt und simulation zum trainieren automatisierter fahrsysteme
WO2018017973A1 (en) * 2016-07-22 2018-01-25 Sri International Computational analysis of observations for determination of feedback
JP6852790B2 (ja) * 2017-06-23 2021-03-31 株式会社村田製作所 位置推定システム
WO2019069629A1 (ja) * 2017-10-06 2019-04-11 富士フイルム株式会社 画像処理装置及び学習済みモデル
US10916074B2 (en) * 2018-07-16 2021-02-09 Ford Global Technologies, Llc Vehicle wheel impact detection
CN113454636A (zh) * 2018-12-28 2021-09-28 辉达公司 自主机器应用中障碍物检测的距离
CN109815555B (zh) * 2018-12-29 2023-04-18 百度在线网络技术(北京)有限公司 自动驾驶车辆的环境建模能力评估方法及系统
CN109782908A (zh) * 2018-12-29 2019-05-21 北京诺亦腾科技有限公司 一种在vr场景中模拟测量的方法及装置
US11676429B2 (en) 2019-09-04 2023-06-13 Ford Global Technologies, Llc Vehicle wheel impact detection and response
US11928399B1 (en) * 2019-09-24 2024-03-12 Zoox, Inc. Simulating object occlusions
CN115200917B (zh) * 2022-09-18 2022-12-06 江苏壹心智能科技有限公司 一种设备运行出厂检测用测试舱

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008001256A1 (de) * 2008-04-18 2009-10-22 Robert Bosch Gmbh Verkehrsobjekt-Erkennungssystem, Verfahren zum Erkennen eines Verkehrsobjekts und Verfahren zum Einrichten eines Verkehrsobjekt-Erkennungssystems
DE102011050369A1 (de) * 2011-05-16 2012-11-22 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Simulationssystem für Fahrerassistenzsysteme
DE102013217430A1 (de) * 2012-09-04 2014-03-06 Magna Electronics, Inc. Fahrerassistenzsystem für ein Kraftfahrzeug
KR101515496B1 (ko) * 2013-06-12 2015-05-04 국민대학교산학협력단 가상현실에서 변동되는 장애물 정보를 반영한 무인 자동차의 자율 주행 시뮬레이션 시스템

Also Published As

Publication number Publication date
GB2554148A (en) 2018-03-28
CN107589418A (zh) 2018-01-16
RU2017123627A (ru) 2019-01-09
US20180011953A1 (en) 2018-01-11
MX2017008975A (es) 2018-01-08
GB201710915D0 (en) 2017-08-23

Similar Documents

Publication Publication Date Title
DE102017115197A1 (de) Erzeugung von virtuellen sensordaten für die erfassung von polleraufnahmen
DE102016123887A1 (de) Virtuelle sensordatenerzeugung zur radanschlagdetektion
DE102018121019A1 (de) Erweitern von realen sensoraufzeichnungen mit simulierten sensordaten
DE102019131384A1 (de) Strassenbelagcharakterisierung unter verwendung von posenbeobachtungen von benachbarten fahrzeugen
DE102012207620B4 (de) System und Verfahren für die Lichtsignaldetektierung
DE102018114609A1 (de) Fahrzeugsauberkeitserkennungssyteme und -verfahren
DE102018121018A1 (de) Erweitern von realen sensoraufnahmen mit simuliertem sensordatenhintergrund
DE102018100469A1 (de) Generierten von simulierten sensordaten zum trainieren und überprüfen von erkennungsmodellen
DE102016100428A1 (de) In virtuellen Umgebungen verfeinertes autonomes Fahren
DE102018105417A1 (de) Fahrzeugortung unter verwendung von kameras
DE102016100416A1 (de) Prüfstand für virtuelle Sensoren
DE102016100492A1 (de) Virtueller autonomer Antwortprüfstand
DE102017113572A1 (de) Spurerkennungssysteme und -verfahren
DE102017100198A1 (de) Fixierungserzeugung für maschinenlernen
DE102017123180A1 (de) Rückwertige Hinderniserkennung und Abstandsschätzung
DE102019127229A1 (de) System und verfahren zum bestimmen einer vertrautheit eines fahrzeugdatensatzes
DE102017115393A1 (de) Virtuelles sensordatenerzeugungssystem und verfahren zum unterstützen der entwicklung von sichtbasierten regendetektionsalgorithmen
DE102018102537A1 (de) Tornadoerfassungssysteme und -verfahren
DE102018108361A1 (de) Laubwerkerfassungstrainingssysteme und -verfahren
DE102012208974A1 (de) System und Verfahren zum sensorbasierten Aufbauen eines Umgebungsmodells
DE112017007735T5 (de) System und -verfahren zur fahrzeugüberprüfung
DE112016005700T5 (de) Wendeassistenz auf Grundlage der Manövrierschwierigkeit
DE102019123570A1 (de) Fahrzeugnavigation und -steuerung
DE112018004953T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren, programm und sich bewegender körper
DE102019115425A1 (de) KOLLISIONSMINDERUNG FÜR BENACHBARTE FUßGÄNGER

Legal Events

Date Code Title Description
R082 Change of representative

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

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0019000000

Ipc: G16Z0099000000

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