DE102017105628A1 - Verfahren und system zur virtuellen sensordatenerzeugung mit tiefen-ground-truth-annotation - Google Patents

Verfahren und system zur virtuellen sensordatenerzeugung mit tiefen-ground-truth-annotation Download PDF

Info

Publication number
DE102017105628A1
DE102017105628A1 DE102017105628.9A DE102017105628A DE102017105628A1 DE 102017105628 A1 DE102017105628 A1 DE 102017105628A1 DE 102017105628 A DE102017105628 A DE 102017105628A DE 102017105628 A1 DE102017105628 A1 DE 102017105628A1
Authority
DE
Germany
Prior art keywords
virtual
sensor
environment
virtual environment
location
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017105628.9A
Other languages
English (en)
Inventor
Alexander Groh
Ashley Elizabeth Micks
Vidya Nariyambut murali
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102017105628A1 publication Critical patent/DE102017105628A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/603D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/64Weathering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Traffic Control Systems (AREA)
  • Image Processing (AREA)

Abstract

Es werden Verfahren und Systeme zum Erzeugen virtueller Sensordaten für die Entwicklung oder das Testen von Computerseherkennungsalgorithmen beschrieben. Bei einem System und einem Verfahren kann eine virtuelle Umgebung erzeugt werden. Beim System und beim Verfahren kann auch ein virtueller Sensor an einem ersten Ort in der virtuellen Umgebung positioniert werden. Beim System und beim Verfahren können auch Daten aufgezeichnet werden, welche die virtuelle Umgebung kennzeichnen, wobei die Daten vom virtuellen Sensor, der die virtuelle Umgebung erfasst, erzeugten Informationen entsprechen. Beim System und beim Verfahren können ferner die Daten mit einer Tiefenkarte annotiert werden, welche eine räumliche Beziehung zwischen dem virtuellen Sensor und der virtuellen Umgebung kennzeichnet.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft allgemein die virtuelle Datenerzeugung und Annotation und insbesondere Verfahren und Systeme zum Erzeugen virtueller Sensordaten, die für eine Verwendung beim Entwickeln, Trainieren, Testen und Beweisen fahrzeugbasierter Computersehalgorithmen für das Schätzen von Tiefen von Objekten aus Bildern geeignet sind.
  • HINTERGRUND
  • Bei der Entwicklung von Computersehalgorithmen durch überwachtes Maschinenlernen für das Erkennen von Objekten in einer Fahrtumgebung sind verschiedene Sensordatensätze erforderlich, um die Detektionsalgorithmen und zusätzliche nachgeschaltete Funktionen in Zusammenhang mit den Algorithmen zu trainieren, zu entwickeln, zu testen und zu beweisen. Gewöhnlich sind jedoch erhebliche Mengen an Geld, Zeit und Ressourcen erforderlich, um reale Sensordaten zu erfassen. Beispielsweise können für das Erhalten realer Sensordaten Sensoren physikalisch entlang einem Fahrtweg angeordnet werden müssen oder an einem Fahrzeug angebracht werden müssen, und es können tatsächliche Ausfahrten auf verschiedenen Straßentypen, für verschiedene Verkehrsbedingungen und unter verschiedenen Wetter- und Beleuchtungsbedingungen ausgeführt werden müssen, damit die Sensoren zahlreiche Sensordatensätze für eine Vielzahl von Szenarios sammeln können. Beispielsweise können für die Robustheit der Algorithmen unter verschiedenen Bedingungen Umgebungsvariablen oder -parameter in der Art von Wetter, Temperatur, Wind, Beleuchtungsbedingungen und andere Faktoren in die realen Sensordatensätze aufgenommen werden müssen. Folglich kann die Anzahl der zu sammelnden Sensordatensätze enorm sein. Im Allgemeinen sind von hunderten oder sogar tausenden Straßenmeilen gesammelte Sensordaten, die tausende verschiedene Bilder aufweisen können, erforderlich, um einen genauen und zuverlässigen Computerseherkennungsalgorithmus zu entwickeln, was zu erheblichen Mengen an Zeit, Geld und Ressourcen führt, die für das Erfassen dieser Daten erforderlich sind.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Nicht einschränkende und nicht erschöpfende Ausführungsformen der vorliegenden Offenbarung werden mit Bezug auf die folgenden Figuren beschrieben, wobei sich gleiche Bezugszahlen überall in den verschiedenen Figuren auf gleiche Teile beziehen, sofern nichts anderes spezifiziert wird. Es zeigen:
  • 1 ein Diagramm eines als Beispiel dienenden Szenarios, worin Ausführungsformen gemäß der vorliegenden Offenbarung verwendet werden können,
  • 2 ein Diagramm von als Beispiel dienenden Daten, welche eine virtuelle Umgebung kennzeichnen, und einer als Beispiel dienenden Tiefenkarte, wodurch Daten gemäß einer Ausführungsform der vorliegenden Offenbarung annotiert sind,
  • 3 ein Diagramm von als Beispiel dienenden Bildern, die einen Teil einer virtuellen Umgebung mit verschiedenen Umgebungsparametereinstellungen kennzeichnen, und einer als Beispiel dienenden Tiefenkarte, die jedes der Bilder gemäß einer Ausführungsform der vorliegenden Offenbarung annotiert,
  • 4 ein Flussdiagramm eines als Beispiel dienenden Prozesses gemäß einer Ausführungsform der vorliegenden Offenbarung und
  • 5 ein Diagramm eines als Beispiel dienenden Systems gemäß einer Ausführungsform der vorliegenden Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung wird auf die anliegende Zeichnung Bezug genommen, die einen Teil davon bildet und worin zur Veranschaulichung spezifische als Beispiel dienende Ausführungsformen dargestellt sind, in denen die Offenbarung verwirklicht werden kann. Diese Ausführungsformen werden in ausreichenden Einzelheiten beschrieben, um es Fachleuten zu ermöglichen, die hier offenbarten Konzepte anzuwenden, und es ist zu verstehen, dass Modifikationen an den verschiedenen offenbarten Ausführungsformen vorgenommen werden können und dass andere Ausführungsformen verwendet werden können, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Die folgende detaillierte Beschreibung ist daher nicht einschränkend auszulegen.
  • Die vorliegende Offenbarung strebt an, die Schwierigkeiten des Erfassens für die Entwicklung eines Computersehalgorithmus benötigter Sensordaten zu überwinden und die Kosten dafür zu verringern. Implementationen gemäß der vorliegenden Offenbarung erzeugen Sensordaten mit einer durch verschiedene dreidimensionale (3D-)Modellierungstechniken und/oder Animationstechniken erzeugten virtuellen Umgebung. Verschiedene Szenarien, Bedingungen und Parameter, die vorstehend erwähnt wurden, können in der virtuellen Umgebung leicht eingerichtet werden, und jeder von dem einen oder den mehreren virtuellen Sensoren kann an einem jeweiligen Ort in der virtuellen Umgebung angeordnet werden, um bei einer Simulation einen jeweiligen Satz von Sensordaten zu erzeugen. Jeder virtuelle Sensor kann in einer jeweiligen Orientierung in Bezug auf die virtuelle Umgebung aufgestellt werden und den jeweiligen Satz von Sensordaten vom jeweiligen Ort in der jeweiligen Orientierung erzeugen. Jeder virtuelle Sensor kann anschließend in eine andere Orientierung versetzt werden und einen anderen Satz von Sensordaten aus dieser Orientierung erzeugen. Ferner kann jeder virtuelle Sensor die virtuelle Umgebung in einer Simulation durchlaufen oder sich in dieser herum bewegen und weitere Sensordaten, die für die Entwicklung des Computersehalgorithmus benötigt werden, virtuell sammeln (d.h. durch Simulation erzeugen). Die virtuelle Umgebung und der eine oder die mehreren virtuellen Sensoren werden modelliert, um der entsprechenden realen Umgebung und dem einen oder den mehreren realen Sensoren eng zu entsprechen, so dass die durch Simulation erzeugten virtuellen Sensordaten im Wesentlichen die gleichen Informationen repräsentieren, die durch einen oder mehrere reale Sensoren in der realen Umgebung gesammelt werden würden.
  • Die virtuelle Umgebung kann verschiedene virtuelle Objekte aufweisen, die an verschiedenen Orten innerhalb der virtuellen Umgebung verteilt sind. Jedes virtuelle Objekt kann entweder ortsfest oder beweglich in Bezug auf einen ortsfesten Bezugspunkt der virtuellen Umgebung sein. Ein ortsfestes virtuelles Objekt kann beispielsweise ein Gebäude sein, das neben der Straße steht, oder ein Hügel, der weit entfernt ist. Ein bewegliches virtuelles Objekt kann beispielsweise ein auf der Straße fahrendes Fahrzeug, ein auf dem Fußgängerstreifen der Straße gehender Fußgänger, ein über die Straße laufendes Tier oder ein vorbeifliegendes Flugzeug sein.
  • Ferner kann jedes virtuelle Objekt eine bestimmte Größe und Form aufweisen und einen bestimmten Raum um den jeweiligen Ort des virtuellen Objekts in der virtuellen Umgebung einnehmen. Für jedes virtuelle Objekt kann eine Anzahl von Koordinaten in der virtuellen Umgebung erforderlich sein, um einen jeweiligen Raum zu definieren, der vom virtuellen Objekt eingenommen wird. Für ein bewegliches virtuelles Objekt kann sich die Anzahl von Koordinaten in Zusammenhang mit dem beweglichen virtuellen Objekt in der virtuellen Umgebung von einem Moment zum nächsten ändern.
  • 1 zeigt eine als Beispiel dienende virtuelle Umgebung 100, worin als Beispiel dienende Ausführungsformen der vorliegenden Offenbarung implementiert werden können. Die virtuelle Umgebung 100 kann eine Straße 110 aufweisen, die entweder einen Einweg- oder Zweiweg-Kraftfahrzeugverkehr erlaubt, wie durch sich bewegende Fahrzeuge 181, 182 und 190 dargestellt ist. Die virtuelle Umgebung 100 kann auch straßenseitige Strukturen in der Art einer Seitenschiene oder eines Kantsteins 150, eines Verkehrszeichens 160, kommerzieller Zeichen oder Werbetafeln (nicht dargestellt) und eines Baums 170 aufweisen. Die virtuelle Umgebung 100 kann ferner Gebäude in der Art eines Hauses 140 und auf einem Fußgängerstreifen 130 gehende Fußgänger 131 und 132 aufweisen. Die virtuelle Umgebung 100 kann auch einen Hügel 120 am fernen Ende der Straße 110, ein über den Himmel fliegendes Flugzeug 180 und einen über die Straße 110 laufenden Hund 133 aufweisen. Fachleute werden verstehen, dass die Darstellung der virtuellen Umgebung 100 in 1 lediglich ein Beispiel für erläuternde Zwecke ist und dass es zahlreiche Variationen der Umgebung 100 mit verschiedenen Objekten in Bezug auf die Anzahl des Typs geben kann. Das heißt, dass Ausführungsformen der virtuellen Umgebung 100 gemäß der vorliegenden Offenbarung nicht auf das in 1 dargestellte Beispiel beschränkt sind.
  • Die Straße 110, der Hügel 120, der Fußgängerstreifen 130, die Fußgänger 131 und 132, der Hund 133, das Haus 140, der Kantstein 150, das Verkehrszeichen 160, der Baum 170, die Fahrzeuge 181, 182 und 190 und das Flugzeug 180 sind jeweils virtuelle Objekte innerhalb der virtuellen Umgebung 100. Unter den virtuellen Objekten sind die Straße 110, der Hügel 120, der Fußgängerstreifen 130, das Haus 140, der Kantstein 150, das Verkehrszeichen 160 und der Baum 170 ortsfeste virtuelle Objekte, weil sie sich nicht in Bezug auf einen festen Bezugspunkt 105 der virtuellen Umgebung 100 bewegen. Andererseits sind die Fußgänger 131 und 132, der Hund 133, die Fahrzeuge 181, 182 und 190 und das Flugzeug 180 bewegliche virtuelle Objekte, weil sie sich in Bezug auf den Bezugspunkt 105 bewegen.
  • Für jedes virtuelle Objekt kann ein Koordinatensatz mit einer Anzahl von Koordinaten in Zusammenhang mit dem jeweiligen virtuellen Objekt verwendet werden, um den Raum zu definieren, der vom virtuellen Objekt in der virtuellen Umgebung eingenommen wird. Verschiedene Anzahlen von Koordinaten können verwendet werden, um verschiedene virtuelle Objekte zu definieren. Beispielsweise kann das Haus 140 eine kompliziertere Struktur aufweisen als das Straßenzeichen 160 und so eine größere Anzahl von Koordinaten zur Definition seines Raums innerhalb der virtuellen Umgebung 100 erfordern. Für ein bewegliches virtuelles Objekt können sich die zugeordneten Koordinaten entsprechend einer Bewegungsstrecke des beweglichen virtuellen Objekts von einem Moment zum nächsten ändern. Die Änderung der zugeordneten Koordinaten oder die Ortsänderung des beweglichen virtuellen Objekts kann für verschiedene bewegliche virtuelle Objekte in der virtuellen Umgebung verschieden sein. Beispielsweise kann in 1 ein Fußgänger 131 mit einer Geschwindigkeit auf dem Fußgängerstreifen 130 gehen, die langsamer als jene eines Hunds 133 ist, der über die Straße 110 laufen kann, und in der Richtung davon verschieden ist. Daher kann die Ortsänderung des Fußgängers 131 von einem ersten Moment zu einem zweiten Moment bei der Simulation von der Ortsänderung des Hunds 133 vom ersten Moment zum zweiten Moment in der Simulation verschieden sein, was sich in Änderungen der beiden Koordinatensätze widerspiegelt, die den Fußgänger 131 bzw. den Hund 133 repräsentieren. Dagegen ändern sich die für das Definieren des von einem ortsfesten virtuellen Objekt in der Art des Hauses 140 oder des Straßenzeichens 160 eingenommenen Raums verwendeten Koordinaten bei der Simulation beispielsweise nicht von einem Moment zum nächsten, weil sich der von einem ortsfesten virtuellen Objekt in der virtuellen Umgebung 100 eingenommene Raum im Laufe der Zeit nicht ändert.
  • Zur Erzeugung eines Sensordatensatzes, der die virtuelle Umgebung 100 kennzeichnet, können ein oder mehrere virtuelle Sensoren in der virtuellen Umgebung 100 positioniert werden. Ein Sensor kann an einem stationären Ort positioniert werden. Beispielsweise kann der Sensor 141 am Haus 140 angebracht werden. Alternativ kann ein Sensor in der virtuellen Umgebung 100 so positioniert werden, dass er in Bezug auf den Bezugspunkt 105 der virtuellen Umgebung 100 beweglich ist. Wenn ein virtueller Sensor so positioniert ist, dass er einem beweglichen virtuellen Objekt in der virtuellen Umgebung 100 zugeordnet ist, kann dieser virtuelle Sensor die virtuelle Umgebung 100 zusammen mit dem beweglichen virtuellen Objekt durchlaufen oder sich auf andere Weise darin herum bewegen. Beispielsweise können die Sensoren 191, 192 und 193 am sich bewegenden Fahrzeug 190 angebracht sein und so die virtuelle Umgebung 100 bei der Simulation durchlaufen oder sich auf andere Weise darin herum bewegen.
  • Ähnlich den virtuellen Objekten in der virtuellen Umgebung 100 kann ein virtueller Sensor in der Art eines der Sensoren 141, 191, 192 und 193 mit einer Anzahl von Koordinaten versehen werden, die den Ort des virtuellen Sensors sowie den vom virtuellen Sensor in der virtuellen Umgebung 100 eingenommenen Raum definieren. Falls der virtuelle Sensor verglichen mit der virtuellen Umgebung 100 verhältnismäßig klein ist, kann der von ihm eingenommene Raum für alle praktischen Zwecke vernachlässigbar sein und kann der Ort dieses virtuellen Sensors durch eine einzige Koordinate repräsentiert werden. Für einen solchen an einem stationären Ort positionierten virtuellen Sensor in der Art des am Haus 140 angebrachten Sensors 141 kann sich die den Ort des virtuellen Sensors repräsentierende einzige Koordinate während der Simulation nicht ändern. Alternativ kann sich für einen in der virtuellen Umgebung 100 beweglich positionierten virtuellen Sensor die den Ort des virtuellen Sensors repräsentierende einzige Koordinate bei der Simulation im Laufe der Zeit ändern. Beispielsweise kann der jeweilige Ort von jedem der am Fahrzeug 190 angebrachten Sensoren 191, 192 und 193 durch eine jeweilige Koordinate repräsentiert werden, die sich bei der Simulation von einem Moment zum nächsten ändert. Die Änderung der Koordinate, d.h. die Ortsänderung von jedem der Sensoren 191, 192 und 193, kann der Ortsänderung des Fahrzeugs 190 im Laufe der Zeit bei der Simulation ähneln oder dieser gleichen.
  • Zusätzlich dazu, dass er an einem Ort in der virtuellen Umgebung 100 positioniert oder auf andere Weise dort angeordnet wird, kann ein virtueller Sensor ferner an seinem jeweiligen Ort in eine bestimmte Orientierung in Bezug auf die virtuelle Umgebung 100 versetzt werden. Wenngleich der virtuelle Sensor 141 beispielsweise an einem äußeren Ort des Hauses 140 (d.h. auf dem Dach) angeordnet sein kann, kann der virtuelle Sensor (141) ferner in eine solche Orientierung versetzt werden, dass der virtuelle Sensor (141) dem Fußgängerstreifen 130 über die Straße 110 gegenübersteht. Alternativ kann der virtuelle Sensor 141 in eine Orientierung in Bezug auf die virtuelle Umgebung 100 versetzt werden, so dass der virtuelle Sensor 141 einem Ende der Straße 110 gegenübersteht, an dem das Fahrzeug 190 in die Straße 110 einfährt. Das heißt, dass der virtuelle Sensor 141 in verschiedene Orientierungen in Bezug auf die virtuelle Umgebung 100 versetzt werden kann, während er sich am selben festen Ort befindet (d.h. auf dem Dach des Hauses 141), so dass der virtuelle Sensor 141 in der Lage sein kann, die virtuelle Umgebung 100 vom selben Ort zu kennzeichnen, jedoch in verschiedenen Orientierungen. Dabei stellt die Fähigkeit, einen virtuellen Sensor in verschiedene Orientierungen zu versetzen, einen zusätzlichen Freiheitsgrad für das Kennzeichnen der virtuellen Umgebung durch den virtuellen Sensor von einem gegebenen Ort in der virtuellen Umgebung bereit.
  • Gemäß einigen Ausführungsformen können jeder, einige oder alle der Sensoren 141, 191, 192 und 193 eine virtuelle Kamera aufweisen, die dafür ausgelegt ist, die virtuelle Umgebung 100 durch Aufnahme entweder von Standbildern (d.h. Bildern) oder von Bewegtbildern (d.h. Video) oder durch eine Kombination von beiden zu kennzeichnen. Das heißt, dass die Sensordaten ortsfeste und/oder bewegte Bilder der virtuellen Umgebung 100 aufweisen können. Abhängig vom Ort und von der Orientierung einer virtuellen Kamera kann ein Teil der virtuellen Umgebung 100 gekennzeichnet werden, indem er durch ein von der virtuellen Kamera erzeugtes Bild erfasst wird. Wenn die virtuelle Kamera des Sensors 141 beispielsweise in eine solche Orientierung versetzt wird, dass die virtuelle Kamera dem Fußgängerstreifen 130 über die Straße 110 gegenübersteht, kann ein von der virtuellen Kamera des Sensors 141 erzeugtes Bild Informationen aufweisen, welche Fußgänger 131 und 132, Fahrzeuge 181 und 190, den Hund 133, den Baum 170 sowie einen Teil des Fußgängerstreifens 130 und einen Teil der Straße 110 kennzeichnen. Infolge der Orientierung der virtuellen Kamera kann das Bild jedoch keine Informationen aufweisen, die den Hügel 120 oder das Flugzeug 183 kennzeichnen. Das Bild kann auch infolge der Orientierung nicht einmal das Fahrzeug 182 oder das Verkehrszeichen 160 erfassen.
  • Ein von einer virtuellen Kamera erzeugtes Bild kann eine Anzahl von Bildpixeln aufweisen, und die Bildpixel können in einem Feld präsentiert werden. Wie in 2 dargestellt ist, kann ein durch eine virtuelle Kamera erzeugtes Bild 210 ein in m Spalten und n Zeilen präsentiertes Feld von Bildpixeln einschließen, wobei m und n jeweils eine positive ganze Zahl sind. Jede Spalte des Felds hat die gleiche Anzahl von Pixeln wie eine andere Spalte des Felds, während jede Zeile des Felds die gleiche Anzahl von Pixeln wie eine andere Zeile des Felds aufweist. Daher ist die Gesamtzahl der im Bild enthaltenen Pixel m·n. Beispielsweise hat die erste Spalte des Bilds 210 n Pixel, nämlich P11, P12, ..., P1n, und hat die letzte Zeile des Bilds 210 m Pixel, nämlich P1n, P2n, ..., Pmn, wie in 2 dargestellt ist. Für ein hochauflösendes Bild kann m 1920 oder größer sein und kann n 1080 oder größer sein. Beispielsweise kann ein Ultra-High-Definition(UHD)-Bild ein Pixelfeld mit 3840 Spalten und 2160 Zeilen aufweisen. Gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung kann die Anzahl der Spalten und Zeilen im Pixelfeld eines Bilds von den tatsächlichen Anforderungen einer Implementation abhängen.
  • Weil ein von einer virtuellen Kamera erzeugtes Bild eine Ansicht der von der virtuellen Kamera wahrgenommenen virtuellen Umgebung repräsentiert, wird jedes Pixel des Bilds daher gerendert, um ein virtuelles Bild in der von der virtuellen Kamera vom Ort und in der Orientierung der virtuellen Kamera wahrgenommenen virtuellen Umgebung zu zeigen oder dies ihm zuzuordnen. Es sei die virtuelle Kamera 141 aus 1 als ein Beispiel angenommen, wobei diese auf dem Dach des Hauses 140 positioniert ist und in eine dem Fußgängerstreifen 130 über die Straße 110 gegenüberstehenden Orientierung versetzt ist. Ein von der virtuellen Kamera 141 erzeugtes Bild 210 kann ein Bildpixelfeld aufweisen, wie in 2 dargestellt ist. Einige der Pixel des Bilds 210 können demgemäß gerendert werden, um den Fußgänger 131 zu zeigen oder auf andere Weise zu repräsentieren, während einige der Pixel des Bilds 210 gerendert werden können, um den Fußgänger 132 zu zeigen oder auf andere Weise zu repräsentieren. Ebenso können einige der Pixel des Bilds 210 gerendert werden, um das Fahrzeug 181 zu zeigen oder auf andere Weise zu repräsentieren, können einige der Pixel des Bilds 210 gerendert werden, um das Fahrzeug 190 zu zeigen oder auf andere Weise zu repräsentieren, und können einige der Pixel des Bilds 210 gerendert werden, um den Hund 133 zu zeigen oder auf andere Weise zu repräsentieren. Überdies können einige der Pixel des Bilds 210 gerendert werden, um den Baum 170 zu zeigen oder auf andere Weise zu repräsentieren, können einige der Pixel des Bilds 210 gerendert werden, um einen Teil des Fußgängerstreifens 130 zu zeigen oder auf andere Weise zu repräsentieren, und können einige der Pixel des Bilds 210 gerendert werden, um einen Teil der Straße 110 zu zeigen oder auf andere Weise zu repräsentieren.
  • Damit ein Satz durch die virtuellen Sensoren erzeugter Sensordaten zum Entwickeln, Trainieren, Testen und Beweisen von Computersehalgorithmen verwendbar wird, muss der Satz von Sensordaten mit Ground-Truth-Informationen annotiert werden. Gemäß einigen Ausführungsformen werden die Ground-Truth-Informationen in Form einer Tiefenkarte für jedes durch den virtuellen Sensor erzeugte Bild präsentiert. Wie in 2 dargestellt ist, wird das Bild 210 durch eine entsprechende Tiefenkarte 260 annotiert, die Tiefen-Ground-Truth-Informationen enthält. Die Tiefenkarte 260 kann ein Elementfeld aufweisen, wobei das Elementfeld die gleiche Größe hat wie das Pixelfeld des Bilds 210. Das heißt, dass das Elementfeld der Tiefenkarte 260 auch m Spalten und n Zeilen aufweist, so dass sich insgesamt m·n Elemente ergeben. Tatsächlich haben die Elemente in der Tiefenkarte 260 eine 1-zu-1-Entsprechung mit den Pixeln im Bild 210. Beispielsweise entspricht das Element D11 der Tiefenkarte 260 dem Pixel P11 des Bilds 210 und entspricht das Element D12 der Tiefenkarte 260 dem Pixel P12 des Bilds 210. Ebenso entspricht das Element Dmn der Tiefenkarte 260 dem Pixel Pmn des Bilds 210.
  • Jedes Element der Tiefenkarte kann einen Zahlenwert speichern, der den Abstand in der virtuellen Umgebung zwischen dem virtuellen Sensor und dem virtuellen Objekt, das am entsprechenden Bildpixel gerendert wurde, angibt, repräsentiert oder diesem auf andere Weise entspricht. Beispielsweise kann das Pixel P32 des von der virtuellen Kamera 141 erzeugten Bilds 210 gerendert werden, um einen Teil des Baums 170 zu zeigen oder ihm zugeordnet zu werden. Daher kann das entsprechende Element D32 der Tiefenkarte 260 einen dem Abstand zwischen diesem Teil des Baums 170 und der virtuellen Kamera 141 in der virtuellen Umgebung 100 entsprechenden Zahlenwert enthalten. Als ein weiteres Beispiel kann das Pixel Pm1 des von der virtuellen Kamera 141 erzeugten Bilds 210 gerendert werden, um einen Teil des Fußgängerstreifens 130 zu zeigen oder ihm zugeordnet zu werden. Daher kann das entsprechende Element Dm1 der Tiefenkarte 260 einen dem Abstand zwischen diesem Teil des Fußgängerstreifens 130 und der virtuellen Kamera 141 in der virtuellen Umgebung 100 entsprechenden Zahlenwert enthalten.
  • Im Gegensatz zu einer realen Sensordatensammlung, wobei der Abstand zwischen einem realen Sensor und einem Objekt in der tatsächlichen Fahrtumgebung unter Verwendung kostspieliger und zeitaufwendiger Geräte in der Art von Tiefenscannern gemessen wird, kann der Abstand zwischen einem virtuellen Sensor und einem virtuellen Objekt in der virtuellen Umgebung leicht berechnet werden, beispielsweise durch einen Prozessor einer Rechenvorrichtung, weil die Orte jedes virtuellen Sensors und jedes virtuellen Objekts zu jeder Zeit während einer Simulation bekannte Informationen sind. Beispielsweise kann der im Element D32 der Tiefenkarte 260 zu speichernde Zahlenwert leicht unter Verwendung der einen oder der mehreren Koordinaten des Baums 170 und der Koordinate der virtuellen Kamera 141 berechnet werden. Als ein weiteres Beispiel kann der im Element Dm1 der Tiefenkarte 260 zu speichernde Zahlenwert leicht unter Verwendung der Koordinate der virtuellen Kamera 141 und der Koordinate des am Pixel P32 des von der virtuellen Kamera 141 erzeugten Bilds 210 gerenderten Teils des Fußgängerstreifens 130 berechnet werden.
  • Wie zuvor erwähnt wurde, müssen zum Entwickeln robuster Computersehalgorithmen unter verschiedenen Bedingungen Umgebungsvariablen oder -parameter wie Wetter-, Temperatur-, Wind-, Beleuchtungsbedingungen und andere Faktoren möglicherweise in die realen Sensordatensätze aufgenommen werden. Während erhebliche Mengen an Zeit, Geld und Ressourcen erforderlich sind, um solche Daten in einem realen Szenario zu erfassen, ist ein erheblich geringerer Aufwand erforderlich, um Sensordaten zu erzeugen, die den verschiedenen Umgebungsbedingungen Rechnung tragen. Bei einigen Ausführungsformen kann ein Bild, das einen bestimmten Teil der virtuellen Umgebung unter einer ersten Umgebungsbedingung kennzeichnet, durch einen oder mehrere Umgebungsparameter gerendert werden, um ein anderes Bild zu erzeugen, das denselben bestimmten Teil der virtuellen Umgebung unter einer von der ersten Umgebungsbedingung verschiedenen zweiten Umgebungsbedingung kennzeichnet. Beispielsweise kann Bild 310 von 3, das Pixel P11–Pmn aufweist, eine Ansicht eines Teils der virtuellen Umgebung 100 repräsentieren, wie er von der virtuellen Kamera 192 in einem bestimmten Moment während der Simulation unter einer Schönwetterbedingung wahrgenommen wird. Das Bild 310 kann dann durch Einstellen eines oder mehrerer Umgebungsparameter zum Bild 320 gerendert werden, das Pixel Q11–Qmn aufweist, die eine Ansicht desselben Teils der virtuellen Umgebung 100 repräsentieren können, wie er von der virtuellen Kamera 192 im selben bestimmten Moment während der Simulation unter einer nebligen Bedingung wahrgenommen wird. Alternativ oder nachfolgend kann das Bild 310 dann durch Einstellen eines oder mehrerer Umgebungsparameter zum Bild 330 gerendert werden, das Pixel R11–Rmn aufweist, die eine Ansicht desselben Teils der virtuellen Umgebung 100 repräsentieren können, wie er von der virtuellen Kamera 192 im selben bestimmten Moment während der Simulation in der Dämmerung wahrgenommen wird. Beispielsweise kann das Pixel P32 des Bilds 310 zum Pixel Q32 des Bilds 320 gerendert werden, um einen Teil des Baums 170 unter einer nebligen Bedingung zu kennzeichnen, während das Pixel P32 des Bilds 310 auch zum Pixel R32 des Bilds 330 gerendert werden kann, um denselben Teil des Baums 170 unter einer Dämmerungsbedingung zu kennzeichnen.
  • Insbesondere können, weil jedes der Bilder 310, 320 und 330 eine Ansicht repräsentiert, welche denselben Teil der virtuellen Umgebung 100 von derselben virtuellen Kamera 192 kennzeichnet, die am selben Ort in derselben Orientierung positioniert ist, die drei Bilder 310, 320 und 330 mit derselben Tiefenkarte 360 annotiert werden. Das heißt, dass jedem der entsprechenden Pixel der Bilder 310, 320 und 330 derselbe Zahlenwert zugeordnet werden kann, der im jeweiligen Element der Tiefenkarte 360 gespeichert ist. Beispielsweise können das Pixel P32 des Bilds 310, das Pixel Q32 des Bilds 320 und das Pixel R32 des Bilds 330 den Baum 170 als von der virtuellen Kamera 192 in einem bestimmten Moment während der Simulation, jedoch unter einer jeweiligen Umgebungsbedingung wahrgenommen kennzeichnen, und sie können durch dasselbe Element D32 der Tiefenkarte 360 annotiert werden, weil der Abstand zwischen einem Teil des Baums 170 und der virtuellen Kamera 192 in diesem bestimmten Moment während der Simulation für alle drei simulierten Umgebungsbedingungen der gleiche sein kann.
  • Ferner ist es erwähnenswert, dass die Technik zum Erzeugen von Bildern, die einen bestimmten Teil der virtuellen Umgebung unter verschiedenen Umgebungsbedingungen kennzeichnen, wie vorstehend mit den Bildern 310, 320 und 330 gezeigt wurde, gleichermaßen auf stehende Bilder und Bewegtbilder anwendbar ist. Ähnlich ist die Technik zum Annotieren von Bildern, wie vorstehend mit Bezug auf die 2 und 3 gezeigt, auch auf stehende Bilder und Bewegtbilder anwendbar. Überdies ist es erwähnenswert, dass Ausführungsformen zum Annotieren von Bildern und zum Erzeugen von Bildern gemäß der vorliegenden Offenbarung nicht auf die in den 2 und 3 dargestellten Beispiele beschränkt sind. Zusätzlich ist es erwähnenswert, dass, wenngleich mehrere Bilder, die jeweils durch die gleichen Tiefen-Ground-Truth-Daten wie die Tiefenkarte 360 annotiert sind, unter Verwendung der vorstehend beschriebenen Umgebungsparameter erzeugt werden können, um verschiedenen Wetterbedingungen und Beleuchtungsbedingungen Rechnung zu tragen, es Ausführungsformen der vorliegenden Offenbarung nicht erfordern, dass mehrere Bilder am genau gleichen Ort unter verschiedenen Bedingungen aufgenommen werden. Mit anderen Worten können gemäß einigen Ausführungsformen der vorliegenden Offenbarung einfach Bilder von verschiedenen Orten innerhalb einer virtuellen Umgebung erzeugt werden, Wetterbedingungen von einem Bild zum nächsten geändert werden und/oder die entsprechenden Tiefen-Ground-Truth-Daten für jedes der Bilder erzeugt werden, ohne dass es erforderlich wäre, dass zwei oder mehr Bilder für genau denselben Ort aufgenommen oder auf andere Weise erzeugt werden, um dieselbe Ansicht der virtuellen Umgebung unter verschiedenen Wetterbedingungen oder Beleuchtungsbedingungen zu kennzeichnen.
  • 4 zeigt einen als Beispiel dienenden Prozess 400 zum Erzeugen virtueller Sensordaten zum Entwickeln oder Testen von Computerseherkennungsalgorithmen gemäß der vorliegenden Offenbarung. Der Prozess 400 kann eine oder mehrere Operationen, Aktionen oder Funktionen aufweisen, die als Blöcke dargestellt sind, wie 410, 420, 430, 440 und 450. Wenngleich sie als diskrete Blöcke dargestellt sind, können verschiedene Blöcke des Prozesses 400 in zusätzliche Blöcke unterteilt werden, zu weniger Blöcken kombiniert werden oder beseitigt werden, wobei dies von der gewünschten Implementation abhängt. Der Prozess 400 kann mit Block 410 beginnen.
  • Bei 410 des Prozesses 400 kann ein Prozessor eine virtuelle Umgebung (beispielsweise die virtuelle Umgebung 100) erzeugen. Bei der Erzeugung der virtuellen Umgebung können verschiedene virtuelle Objekte durch Zuweisen einer oder mehrerer Koordinaten zu jedem der virtuellen Objekte eingerichtet werden. Die virtuellen Objekte können ortsfeste virtuelle Objekte (beispielsweise Straße 110, Hügel 120, Fußgängerstreifen 130, Haus 140, Kantstein 150, Verkehrszeichen 160 und Baum 170) und bewegliche virtuelle Objekte (beispielsweise Fußgänger 131 und 132, Hund 133, Fahrzeuge 181, 182 und 190 und Flugzeug 180) umfassen. Block 420 kann Block 410 folgen.
  • Bei 420 des Prozesses 400 kann der Prozessor einen oder mehrere virtuelle Sensoren (beispielsweise die virtuellen Sensoren 141, 191, 192 und 193) in der virtuellen Umgebung (beispielsweise der virtuellen Umgebung 100) positionieren. Für jeden von dem einen oder den mehreren virtuellen Sensoren kann bei der Positionierung eine Koordinate für den Ort des virtuellen Sensors zugewiesen werden und kann eine Orientierung in Bezug auf die virtuelle Umgebung festgelegt werden. Bei der Positionierung können auch ein Ort und eine Orientierung für den virtuellen Sensor entsprechend einer vorgegebenen Bewegungsbahn des virtuellen Sensors festgelegt werden. Block 430 kann Block 420 folgen.
  • Bei 430 des Prozesses 400 kann der Prozessor Daten aufzeichnen (beispielsweise das Bild 310), welche die virtuelle Umgebung kennzeichnen, wie sie von dem einen oder den mehreren virtuellen Sensoren wahrgenommen wird (beispielsweise vom virtuellen Sensor 192). Bei 430 des Prozesses 400 kann der Prozessor ferner Daten aufzeichnen (beispielsweise die Bilder 320 und 330), welche eine Wetterbedingung und/oder eine Beleuchtungsbedingung der virtuellen Umgebung berücksichtigen. Block 440 kann Block 430 folgen.
  • Bei 440 des Prozesses 400 kann der Prozessor die aufgezeichneten Daten (beispielsweise die Bilder 310, 320 und 330) mit einer Tiefenkarte (beispielsweise der Tiefenkarte 360) annotieren. Bei der Annotierung der aufgezeichneten Daten kann der Prozessor für jedes Element der Tiefenkarte den Abstand zwischen dem virtuellen Sensor und einem jeweiligen virtuellen Objekt in Zusammenhang mit dem jeweiligen Element der Tiefenkarte berechnen und speichern. Beispielsweise kann der Prozessor beim Prozess 400 den Abstand zwischen einem Teil des Baums 170, der am Pixel P32 des Bilds 310 gerendert ist, und der virtuellen Kamera 192 berechnen und einen Zahlenwert in Zusammenhang mit dem berechneten Abstand am Element D32 der Tiefenkarte 360 speichern. Block 450 kann Block 440 folgen.
  • Bei 450 des Prozesses 400 kann der Prozessor feststellen, ob eine Simulationsendebedingung erreicht wurde. Eine Simulationsendebedingung kann als erreicht festgestellt werden, wenn beispielsweise eine vorgegebene Anzahl von Bildern durch den einen oder die mehreren virtuellen Sensoren erzeugt wurde. Eine Simulationsendebedingung kann auch als erreicht festgestellt werden, wenn als ein weiteres Beispiel von einem Fahrzeug (beispielsweise dem Fahrzeug 190), das einen oder mehrere virtuelle Sensoren trägt (beispielsweise die virtuellen Sensoren 191, 192 und 193), eine vorgegebene Anzahl von Meilen zurückgelegt wurde. Zusätzlich kann festgestellt werden, dass eine Simulationsendebedingung erreicht wurde, wenn als ein weiteres Beispiel eine vorgegebene Simulationszeit erreicht wurde. Ansprechend auf eine Feststellung, dass eine Simulationsendebedingung erreicht wurde, kann der Prozess 400 enden. Alternativ kann der Prozess 400 ansprechend auf eine Feststellung, dass eine Simulationsendebedingung nicht erreicht wurde, mit Block 420 fortfahren, um jeden, einige oder alle von dem einen oder den mehreren virtuellen Sensoren mit oder ohne Orientierungsänderung an einem oder mehreren anderen Orten zu repositionieren.
  • 5 zeigt ein als Beispiel dienendes Sensordatenerzeugungssystem 500, worin als Beispiel dienende Ausführungsformen der vorliegenden Offenbarung implementiert werden können. Das Sensordatenerzeugungssystem 500 kann eine oder mehrere Simulationen ausführen, um einen Sensordatensatz 570 zu erzeugen, der für das Entwickeln, Testen und/oder Trainieren verschiedener Computerseherkennungsalgorithmen geeignet ist. Das Sensordatenerzeugungssystem 500 kann dies mit einem beliebigen geeigneten Verfahren, einschließlich des als Beispiel dienenden Prozesses 400, ausführen. Das Sensordatenerzeugungssystem 500 kann als Hardware, Software oder eine Kombination davon verwirklicht sein. Bei einigen Implementationen kann das Sensordatenerzeugungssystem 500 eine Rechenvorrichtung in der Art beispielsweise eines Laptopcomputers, eines Tabletcomputers, eines Notebookcomputers, eines Desktopcomputers, eines Servers, eines Smartphones und einer tragbaren Vorrichtung sein, ist jedoch nicht darauf beschränkt.
  • Gemäß einigen Ausführungsformen kann das Sensordatenerzeugungssystem 500 einen oder mehrere Prozessoren 502, einen Speicher 590, eine Benutzerschnittstelle 504, andere Hardware 506 in der Art beispielsweise eines feldprogrammierbaren Gate-Arrays (FPGA), einer Graphikverarbeitungseinheit (GPU) oder dergleichen oder eine Kombination oder Unterkombination davon aufweisen. Der Speicher 590 kann operativ mit dem einen oder den mehreren Prozessoren 502 verbunden oder auf andere Weise damit zugänglich sein und dafür ausgelegt sein, eine oder mehrere Computersoftwarekomponenten zur Ausführung durch den einen oder die mehreren Prozessoren 502 zu speichern.
  • Die Benutzerschnittstelle 504 kann es einem Benutzer, beispielsweise einem Ingenieur, Techniker oder dergleichen, ermöglichen, mit verschiedenen Aspekten des Sensordatenerzeugungssystems 500 zu interagieren, sie auszuführen, sie eigens auszulegen oder zu steuern. Gemäß einigen Ausführungsformen kann die Benutzerschnittstelle 504 ein oder mehrere Tastenfelder, Tastaturen, Berührungsbildschirme, Zeigevorrichtungen oder dergleichen oder eine Kombination oder Unterkombination davon aufweisen.
  • Gemäß einigen Ausführungsformen kann der Speicher 590 Daten, Codes und/oder Befehle, die zu einer oder mehreren virtuellen Umgebungen 510, wovon die vorstehend beschriebene virtuelle Umgebung 100 ein Beispiel sein kann, gehören oder diese auf andere Weise definieren, speichern. Die eine oder die mehreren virtuellen Umgebungen 510 können verschiedene virtuelle Objekte und Strukturen in der Art jener enthalten, die in 1 dargestellt sind und in Bezug damit vorstehend beschrieben wurden. Der Speicher 590 kann auch zumindest jene Komponenten speichern, die in 5 dargestellt sind, wie beispielsweise ein oder mehrere Sensormodelle 520, das Positionierungsmodul 530, das Umgebungsmodul 540, das Simulationsmodul 550, das Annotationsmodul 560, Sensordaten 570 und eine oder mehrere Tiefenkarten 580.
  • Gemäß einigen Ausführungsformen kann die virtuelle Umgebung 510 ein dreidimensionales Netz aufweisen, das Orte, Orientierungen, Größen, Formen, Farben, Oberflächenreflexionsgrade und andere Eigenschaften virtueller Objekte in einem virtuellen Raum definieren, in der Art einiger oder aller der ortsfesten virtuellen Objekte in der virtuellen Umgebung 100, wie in 1 dargestellt ist, einschließlich der Straße 110, des Hügels 120, des Fußgängerstreifens 130, des Hauses 140, des Kantsteins 150, des Verkehrszeichens 160 und des Baums 170. Gemäß einigen Ausführungsformen kann die virtuelle Umgebung 510 auch Eigenschaften beweglicher virtueller Objekte definieren, beispielsweise der Fußgänger 131 und 132, des Hunds 133, der Fahrzeuge 181, 182 und 190 und des Flugzeugs 180, wie in 1 dargestellt ist, einschließlich Geschwindigkeit, Bewegungsrichtung, Beschleunigung/Verzögerung und Drehen von jedem der beweglichen virtuellen Objekte, jedoch ohne Einschränkung darauf.
  • Gemäß einigen Ausführungsformen kann jedes Sensormodell 520 ein Softwaremodell sein, das die Ausgabe eines entsprechenden realen Sensors definiert oder vorhersagt. Verschiedene Sensoren können in der realen Welt verschieden kennzeichnen. Beispielsweise kann eine Stereokamera anders als eine Panoramakamera kennzeichnen. Daher können das eine oder die mehreren Sensormodelle 520 ein jeweiliges Sensormodell zum Modellieren jedes Kameratyps für eine Anzahl von Kameratypen einschließen, einschließlich einer Stereokamera und einer Panoramakamera, jedoch ohne Einschränkung darauf.
  • Gemäß einigen Ausführungsformen kann das Positionierungsmodul 530 verwendet werden, um einen Ort und eine Orientierung eines virtuellen Sensors in der virtuellen Umgebung 510 festzulegen. Beispielsweise kann das Positionierungsmodul 530 in Zusammenhang mit der als virtuelle Umgebung 100 modellierten virtuellen Umgebung 510 den virtuellen Sensor 141 an einem äußeren Ort des Dachs des Hauses 140 anordnen und den virtuellen Sensor 141 in eine Orientierung versetzen, die dem Fußgängerstreifen 130 über die Straße 110 gegenübersteht. Als ein weiteres Beispiel kann das Positionierungsmodul 530 für jeden Moment während der Simulation einen Ort und eine Orientierung des virtuellen Sensors 192 auf der Grundlage einer Fahrstrecke des Fahrzeugs 190, woran der Sensor 192 angebracht ist, bestimmen.
  • Gemäß einigen Ausführungsformen kann das Umgebungsmodul 540 verwendet werden, um einer Wetterbedingung (beispielsweise neblig, regnerisch, schneiend oder sonnig) und/oder einer Beleuchtungsbedingung (beispielsweise hell, Dämmerung oder dunkel) der virtuellen Umgebung Rechnung zu tragen. Eine Anzahl von Umgebungsparametern kann eingestellt werden, um eine Änderung der Umgebungs-Wetter- oder Beleuchtungsbedingung widerzuspiegeln. Beispielsweise kann ein Wetterparameter des Umgebungsmoduls 540 für ein unter einer Schönwetterbedingung aufgenommenes Bild eingestellt werden, um das Bild zu einem anderen Bild zu rendern, das die gleiche Ansicht der virtuellen Umgebung 100 bei nebligem Wetter kennzeichnen würde. Bei einem anderen Beispiel kann ein Beleuchtungsparameter des Umgebungsmoduls 540 für das unter der Schönwetterbedingung aufgenommene Bild eingestellt werden, um das Bild zu einem anderen Bild zu rendern, das die gleiche Ansicht der virtuellen Umgebung 100 unter einer Dämmerungsbedingung kennzeichnen würde.
  • Gemäß einigen Ausführungsformen kann das Simulationsmodul 550 eine Eingabe von der virtuellen Umgebung 510, vom Sensormodell 520 und vom Positionierungsmodul 530 entgegennehmen, um einen Datensatz zu erzeugen, wodurch eine Ausgabe eines Sensors in einem realen Szenario modelliert wird. Beispielsweise kann das Simulationsmodul 550 das Bild 210 erzeugen, das einen Teil der virtuellen Umgebung 100 kennzeichnet und ein Feld von m Spalten mal n Zeilen von Bildpixeln aufweist. Jedes Pixel des Bilds 210 kann einem Teil eines virtuellen Objekts zugeordnet werden, der durch das Pixel gerendert ist oder auf andere Weise dadurch repräsentiert wird. Gemäß einigen Ausführungsformen kann das Annotationsmodul 560 das Bild 210 mit der Tiefenkarte 260 annotieren, die ein Feld von Zahlenwerten aufweist, das die gleiche Größe hat wie das Pixelfeld des Bilds 210. Jedes Element der Tiefenkarte 260 kann einem jeweiligen Pixel des Bilds 210 entsprechen und einen Zahlenwert in Zusammenhang mit dem Abstand zwischen dem virtuellen Sensor und einem jeweiligen Teil des virtuellen Objekts, der an dem jeweiligen Pixel gerendert ist, speichern. Gemäß einigen Ausführungsformen kann der Speicher 590 Sensordaten 570 speichern, die mehrere vom Simulationsmodul 550 erzeugte virtuelle Bilder aufweisen. Gemäß einigen Ausführungsformen kann der Speicher 590 auch Tiefenkarten 580 speichern, welche die mehreren virtuellen Bilder annotieren.
  • Zahlreiche Vorteile ergeben sich aus den Systemen und Verfahren, die sich in verschiedenen Ausführungsformen der vorliegenden Offenbarung manifestieren. Die Vorteile umfassen zumindest das schnelle Erzeugen von Sensordaten in der virtuellen Umgebung mit annotierter Tiefen-Ground-Truth, wobei die Sensordaten für das Entwickeln, Trainieren, Testen und Beweisen von fahrzeugbasierten Computerseherkennungsalgorithmen geeignet sind.
  • Die Artikel "ein/eine/eines" werden hier verwendet, um sich auf eines oder mehrere (d.h. wenigstens eines) des grammatischen Objekts des Artikels zu beziehen. Beispielsweise bedeutet "ein Benutzer" einen oder mehr als einen Benutzer. In dieser Patentschrift bedeutet ein Bezug auf "eine einzige Ausführungsform", "eine Ausführungsform", "ein einziges Beispiel" oder "ein Beispiel", dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Charakteristik, die in Zusammenhang mit der Ausführungsform oder dem Beispiel beschrieben wird, in wenigstens einer Ausführungsform der vorliegenden Offenbarung enthalten ist. Demgemäß beziehen sich Erscheinungen der Begriffe "gemäß einer einzigen Ausführungsform", "gemäß einer Ausführungsform", "ein einziges Beispiel" oder "ein Beispiel" an verschiedenen Stellen in dieser Patentschrift nicht notwendigerweise alle auf dieselbe Ausführungsform oder dasselbe Beispiel. Ferner können die bestimmten Merkmale, Strukturen, Datenbanken oder Charakteristiken gemäß einer oder mehreren Ausführungsformen oder bei einem oder mehreren Beispielen in beliebigen geeigneten Kombinationen und/oder Unterkombinationen kombiniert werden. Zusätzlich ist zu verstehen, dass die hier bereitgestellten Figuren Durchschnittsfachleuten der Erklärung dienen sollen und dass die Zeichnungen nicht notwendigerweise maßstabsgerecht sind.
  • Ausführungsformen gemäß der vorliegenden Offenbarung können als eine Vorrichtung, ein Verfahren oder ein Computerprogrammprodukt verwirklicht werden. Demgemäß kann die vorliegende Offenbarung die Form einer ganz aus Hardware bestehenden Ausführungsform, einer ganz aus Software bestehenden Ausführungsform (einschließlich Firmware, residenter Software, Mikrocode oder dergleichen) oder einer Software- und Hardwareaspekte, die hier alle allgemein als "Schaltung", "Modul" oder "System" bezeichnet werden können, kombinierenden Ausführungsform annehmen. Ferner können Ausführungsformen der vorliegenden Offenbarung die Form eines Computerprogrammprodukts annehmen, das in einem gegenständlichen Aufnahmemedium mit in das Medium aufgenommenem von einem Computer verwendbarem Programmcode verwirklicht ist.
  • Die Flussdiagramme und Blockdiagramme in den anliegenden Figuren zeigen die Architektur, Funktionalität und die Arbeitsweise möglicher Implementationen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. In dieser Hinsicht kann jeder Block in den Flussdiagrammen oder Blockdiagrammen ein Codemodul, ein Codesegment oder einen Codeabschnitt repräsentieren, der einen oder mehrere ausführbare Befehle zur Implementation der spezifizierten Logikfunktion(en) umfasst. Es sei auch bemerkt, dass jeder Block der Blockdiagramme und/oder Flussdiagramme und Kombinationen von Blöcken in den Blockdiagrammen und/oder Flussdiagrammen durch hardwarebasierte Systeme für spezielle Zwecke, welche die spezifizierten Funktionen oder Schritte ausführen, oder Kombinationen von Hardware für spezielle Zwecke und Computerbefehlen implementiert werden können. Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung anweisen kann, in einer bestimmten Weise zu funktionieren, so dass die im computerlesbaren Medium gespeicherten Befehle einen Herstellungsartikel erzeugen, der Befehlsmittel aufweist, welche die im einen oder den mehreren Blöcken des Flussdiagramms und/oder Blockdiagramms spezifizierte Funktion bzw. den darin spezifizierten Schritt implementieren.
  • Wenngleich die vorliegende Offenbarung in Bezug auf bestimmte Ausführungsformen beschrieben wird, werden Durchschnittsfachleuten, denen der Vorteil dieser Offenbarung gegeben ist, andere Ausführungsformen einfallen, einschließlich Ausführungsformen, die nicht alle hier dargestellten Vorteile und Merkmale, die auch innerhalb des Schutzumfangs dieser Offenbarung liegen, bereitstellen. Es ist zu verstehen, dass andere Ausführungsformen verwendet werden können, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Zeichenerklärung Fig. 1
    SPEED LIMIT GESCHWINDIGKEITSBEGRENZUNG

Claims (20)

  1. Verfahren, welches Folgendes umfasst: Erzeugen einer virtuellen Umgebung durch einen Prozessor, Positionieren eines virtuellen Sensors an einem ersten Ort in der virtuellen Umgebung durch den Prozessor, Aufzeichnen von Daten, welche die virtuelle Umgebung kennzeichnen, durch den Prozessor, wobei die Daten durch den virtuellen Sensor, der die virtuelle Umgebung erfasst, erzeugten Informationen entsprechen, und Annotieren der Daten mit einer Tiefenkarte, welche eine räumliche Beziehung zwischen dem virtuellen Sensor und der virtuellen Umgebung kennzeichnet, durch den Prozessor.
  2. Verfahren nach Anspruch 1, welches ferner Folgendes umfasst: Bewegen des virtuellen Sensors vom ersten Ort zu einem zweiten Ort in der virtuellen Umgebung durch den Prozessor, so dass der virtuelle Sensor dafür ausgelegt ist, die virtuelle Umgebung vom zweiten Ort zu erfassen, entlang einem Weg zwischen dem ersten Ort und dem zweiten Ort oder beiden.
  3. Verfahren nach Anspruch 1, wobei die virtuelle Umgebung mehrere darin verteilte virtuelle Objekte umfasst, wobei jedes der virtuellen Objekte in Bezug auf den virtuellen Sensor entweder ortsfest oder beweglich ist und wobei jedes der virtuellen Objekte durch den virtuellen Sensor erfassbar ist.
  4. Verfahren nach Anspruch 3, wobei die räumliche Beziehung Abstandsinformationen eines oder mehrerer der mehreren virtuellen Objekte in Bezug auf den virtuellen Sensor umfasst.
  5. Verfahren nach Anspruch 3, wobei der virtuelle Sensor eine virtuelle Kamera umfasst und wobei die Daten ein oder mehrere virtuelle Bilder von den mehreren virtuellen Objekten innerhalb der virtuellen Umgebung, wie sie von der virtuellen Kamera am ersten Ort wahrgenommen wird, umfassen.
  6. Verfahren nach Anspruch 1, wobei die Positionierung des virtuellen Sensors am ersten Ort das Anordnen einer virtuellen Kamera am ersten Ort und das Versetzen der virtuellen Kamera in eine erste Orientierung in Bezug auf die virtuelle Umgebung umfasst und wobei die Daten von der virtuellen Kamera, welche die virtuelle Umgebung vom ersten Ort in der ersten Orientierung erfasst, erzeugten Informationen entsprechen.
  7. Verfahren nach Anspruch 6, welches ferner Folgendes umfasst: Bewegen der virtuellen Kamera vom ersten Ort zu einem zweiten Ort in der virtuellen Umgebung durch den Prozessor, so dass die virtuelle Kamera dafür ausgelegt ist, die virtuelle Umgebung vom zweiten Ort zu erfassen, und Versetzen der virtuellen Kamera in eine zweite Orientierung in Bezug auf die virtuelle Umgebung durch den Prozessor, so dass die virtuelle Kamera dafür ausgelegt ist, die virtuelle Umgebung in der zweiten Orientierung zu erfassen.
  8. Verfahren nach Anspruch 1, wobei die Daten ein oder mehrere virtuelle Bilder umfassen, wobei jedes von dem einen oder den mehreren virtuellen Bildern ein Pixelfeld umfasst und wobei jedes Pixel des Pixelfelds einem von mehreren virtuellen Objekten in der virtuellen Umgebung, wie sie von der virtuellen Kamera am ersten Ort wahrgenommen wird, zugeordnet wird.
  9. Verfahren nach Anspruch 8, wobei die Tiefenkarte ein Elementfeld umfasst, wobei jedes Element des Elementfelds einem jeweiligen Pixel des Pixelfelds entspricht und einen jeweiligen Zahlenwert umfasst, wobei jeder Zahlenwert einem Abstand in der virtuellen Umgebung zwischen dem virtuellen Sensor und einem jeweiligen der mehreren dem jeweiligen Pixel zugeordneten virtuellen Objekte entspricht.
  10. Verfahren nach Anspruch 9, welches ferner Folgendes umfasst: Berechnen des Abstands zwischen dem virtuellen Sensor und dem jeweiligen der mehreren dem jeweiligen Pixel zugeordneten virtuellen Objekte auf der Grundlage einer Koordinate des ersten Orts und einer Koordinate des jeweiligen der mehreren virtuellen Objekte in der virtuellen Umgebung durch den Prozessor.
  11. Verfahren nach Anspruch 1, wobei die Daten ferner einem oder mehreren Umgebungsparametern entsprechen, die dafür ausgelegt sind, wenigstens eine Wetterbedingung und eine Beleuchtungsbedingung der virtuellen Umgebung zu berücksichtigen.
  12. Verfahren nach Anspruch 1, wobei beim Erzeugen der virtuellen Umgebung zumindest dreidimensionale (3D-)Modellierungstechniken und Animationstechniken verwendet werden.
  13. Sensordatenerzeugungssystem, welches Folgendes umfasst: einen oder mehrere Prozessoren und einen Speicher, der operativ mit dem einen oder den mehreren Prozessoren verbunden ist, wobei der Speicher mehrere durch den einen oder die mehreren Prozessoren ausführbare Komponenten speichert, wobei die mehreren Komponenten Folgendes umfassen: eine virtuelle Umgebung, die programmiert ist, um mehrere virtuelle Objekte aufzunehmen, ein Sensormodell, das programmiert ist, um einen Sensor zu modellieren, ein Positionierungsmodul, das programmiert ist, um einen Ort und eine Orientierung des Sensors in der virtuellen Umgebung festzulegen, ein Simulationsmodul, das programmiert ist, um die virtuelle Umgebung, das Sensormodell und das Positionierungsmodul zu verwenden, um Daten zu erzeugen, die eine Ausgabe des Sensors in einem realen Szenario modellieren, wobei eine tatsächliche Umgebung erfasst wird, die der virtuellen Umgebung ähnelt oder dieser entspricht, und ein Annotationsmodul, das programmiert ist, um die Daten mit einer Tiefenkarte zu annotieren, welche eine räumliche Beziehung zwischen dem Sensor und einem oder mehreren der mehreren virtuellen Objekte in der virtuellen Umgebung kennzeichnet.
  14. Sensordatenerzeugungssystem nach Anspruch 13, wobei die virtuelle Umgebung eine dreidimensionale (3D-)Umgebung umfasst und wobei jedes der mehreren virtuellen Objekte entweder ortsfest oder beweglich in Bezug auf den Sensor in der 3D-Umgebung ist.
  15. Sensordatenerzeugungssystem nach Anspruch 13, wobei der Sensor eine virtuelle Kamera umfasst und wobei die Daten ein oder mehrere virtuelle Bilder der virtuellen Umgebung, wie sie von der virtuellen Kamera am Ort und in der Orientierung wahrgenommen wird, umfassen.
  16. Sensordatenerzeugungssystem nach Anspruch 15, wobei jedes von dem einen oder den mehreren virtuellen Bildern ein Pixelfeld umfasst, wobei jedes Pixel des Pixelfelds einem jeweiligen der mehreren virtuellen Objekte zugeordnet ist, wie es von der virtuellen Kamera am Ort und in der Orientierung wahrgenommen wird.
  17. Sensordatenerzeugungssystem nach Anspruch 16, wobei die Tiefenkarte ein Elementfeld umfasst, wobei jedes Element des Elementfelds einem jeweiligen Pixel des Pixelfelds entspricht und einen jeweiligen Zahlenwert umfasst, wobei jeder Zahlenwert einem Abstand in der virtuellen Umgebung zwischen dem Sensor und einem jeweiligen der mehreren dem jeweiligen Pixel zugeordneten virtuellen Objekte entspricht.
  18. Sensordatenerzeugungssystem nach Anspruch 17, wobei der Abstand zwischen dem Sensor und dem jeweiligen der mehreren virtuellen Objekte in Zusammenhang mit dem jeweiligen Pixel auf der Grundlage einer Koordinate des Orts und einer Koordinate des jeweiligen der mehreren virtuellen Objekte in der virtuellen Umgebung bestimmt wird.
  19. Sensordatenerzeugungssystem nach Anspruch 13, wobei der Speicher ferner die Daten und die Tiefenkarte speichert.
  20. Sensordatenerzeugungssystem nach Anspruch 13, wobei die mehreren Komponenten Folgendes umfassen: ein Umgebungsmodul, das programmiert ist, um wenigstens eine Wetterbedingung und eine Beleuchtungsbedingung der virtuellen Umgebung zu berücksichtigen.
DE102017105628.9A 2016-03-24 2017-03-16 Verfahren und system zur virtuellen sensordatenerzeugung mit tiefen-ground-truth-annotation Pending DE102017105628A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/079,540 2016-03-24
US15/079,540 US10096158B2 (en) 2016-03-24 2016-03-24 Method and system for virtual sensor data generation with depth ground truth annotation

Publications (1)

Publication Number Publication Date
DE102017105628A1 true DE102017105628A1 (de) 2017-09-28

Family

ID=58688272

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017105628.9A Pending DE102017105628A1 (de) 2016-03-24 2017-03-16 Verfahren und system zur virtuellen sensordatenerzeugung mit tiefen-ground-truth-annotation

Country Status (6)

Country Link
US (3) US10096158B2 (de)
CN (1) CN107229329B (de)
DE (1) DE102017105628A1 (de)
GB (1) GB2550037A (de)
MX (1) MX2017003804A (de)
RU (1) RU2017107989A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019175012A1 (de) * 2018-03-14 2019-09-19 Robert Bosch Gmbh Verfahren zum erzeugen eines trainingsdatensatzes zum trainieren eines künstlichen-intelligenz-moduls für eine steuervorrichtung eines fahrzeugs

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210436B2 (en) * 2016-07-07 2021-12-28 Ford Global Technologies, Llc Virtual sensor-data-generation system and method supporting development of algorithms facilitating navigation of railway crossings in varying weather conditions
US10755115B2 (en) * 2017-12-29 2020-08-25 Here Global B.V. Method, apparatus, and system for generating synthetic image data for machine learning
US10242264B1 (en) * 2018-04-25 2019-03-26 Imagry (Israel) Ltd. System and method for training a machine-learning model to identify real-world elements
CN108831238A (zh) * 2018-08-07 2018-11-16 苏州承儒信息科技有限公司 一种基于虚拟实验的教育系统控制方法
US11734472B2 (en) * 2018-12-07 2023-08-22 Zoox, Inc. System and method for modeling physical objects in a simulation
CN111367194A (zh) * 2018-12-25 2020-07-03 北京欣奕华科技有限公司 一种视觉算法验证的方法及装置
US11656620B2 (en) * 2018-12-31 2023-05-23 Luminar, Llc Generating environmental parameters based on sensor data using machine learning
US11354862B2 (en) * 2019-06-06 2022-06-07 Universal City Studios Llc Contextually significant 3-dimensional model
US11175679B2 (en) * 2019-07-18 2021-11-16 International Business Machines Corporation Drone elastic map
US11928399B1 (en) * 2019-09-24 2024-03-12 Zoox, Inc. Simulating object occlusions
WO2023010540A1 (zh) * 2021-08-06 2023-02-09 深圳市大疆创新科技有限公司 激光雷达的扫描结果的验证方法、装置、设备及存储介质
US20230388796A1 (en) * 2022-05-27 2023-11-30 At&T Intellectual Property I, L.P. System and method for verifying presence in virtual environments

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457493A (en) 1993-09-15 1995-10-10 Texas Instruments Incorporated Digital micro-mirror based image simulation system
JP3338021B2 (ja) * 2000-07-10 2002-10-28 コナミ株式会社 3次元画像処理装置及び3次元画像処理プログラムを記録した可読記録媒体
US6573912B1 (en) * 2000-11-07 2003-06-03 Zaxel Systems, Inc. Internet system for virtual telepresence
US6940538B2 (en) * 2001-08-29 2005-09-06 Sony Corporation Extracting a depth map from known camera and model tracking data
US7918730B2 (en) * 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
TWI245508B (en) * 2004-04-19 2005-12-11 Lai Yin Liang Share-memory networked motion simulation system
KR100734850B1 (ko) * 2005-11-29 2007-07-03 한국전자통신연구원 센서 네트워크에 대한 시뮬레이션 장치 및 방법
JP5025950B2 (ja) * 2005-12-12 2012-09-12 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
JP5236214B2 (ja) * 2007-06-11 2013-07-17 任天堂株式会社 画像処理プログラム
JP2009064373A (ja) 2007-09-10 2009-03-26 Toyota Motor Corp モニタ画像シミュレーション装置、モニタ画像シミュレーション方法及びモニタ画像シミュレーションプログラム
US8180513B2 (en) * 2008-05-05 2012-05-15 Southwest Research Institute Autonomous ground vehicle control system for high-speed and safe operation
US8989972B2 (en) * 2008-09-11 2015-03-24 Deere & Company Leader-follower fully-autonomous vehicle with operator on side
JP5168580B2 (ja) * 2008-12-01 2013-03-21 富士通株式会社 運転模擬装置、広角カメラ映像模擬装置および画像変形合成装置
US8676466B2 (en) * 2009-04-06 2014-03-18 GM Global Technology Operations LLC Fail-safe speed profiles for cooperative autonomous vehicles
KR101023275B1 (ko) * 2009-04-06 2011-03-18 삼성전기주식회사 차량용 카메라 시스템의 캘리브레이션 방법 및 장치, 차량용 카메라 시스템의 각도상 오정렬을 판단하는 방법 및 이를 수행하는 전자 제어 유닛
US20120188333A1 (en) * 2009-05-27 2012-07-26 The Ohio State University Spherical view point controller and method for navigating a network of sensors
US7973276B2 (en) * 2009-07-29 2011-07-05 Ut-Battelle, Llc Calibration method for video and radiation imagers
DE102009037835B4 (de) * 2009-08-18 2012-12-06 Metaio Gmbh Verfahren zur Darstellung von virtueller Information in einer realen Umgebung
DE102009049849B4 (de) * 2009-10-19 2020-09-24 Apple Inc. Verfahren zur Bestimmung der Pose einer Kamera, Verfahren zur Erkennung eines Objekts einer realen Umgebung und Verfahren zur Erstellung eines Datenmodells
WO2011113447A1 (en) 2010-03-18 2011-09-22 Valeo Schalter Und Sensoren Gmbh Method for camera mounting in a vehicle
US8830230B2 (en) * 2011-01-31 2014-09-09 Honeywell International Inc. Sensor placement and analysis using a virtual environment
US8880272B1 (en) * 2012-03-16 2014-11-04 Google Inc. Approach for estimating the geometry of roads and lanes by using vehicle trajectories
US9552673B2 (en) * 2012-10-17 2017-01-24 Microsoft Technology Licensing, Llc Grasping virtual objects in augmented reality
US9239627B2 (en) * 2012-11-07 2016-01-19 Panasonic Intellectual Property Corporation Of America SmartLight interaction system
DE102013224502A1 (de) 2012-12-07 2014-06-12 Continental Teves Ag & Co. Ohg Verfahren zur Kalibrierung einer Stereokamera eines Fahrzeugs
CN110084878B (zh) * 2012-12-21 2023-07-07 苹果公司 用于在真实环境中表示虚拟信息的方法
US20140267282A1 (en) * 2013-03-14 2014-09-18 Robert Bosch Gmbh System And Method For Context Dependent Level Of Detail Adjustment For Navigation Maps And Systems
US20140278847A1 (en) * 2013-03-14 2014-09-18 Fabio Gallo Systems and methods for virtualized advertising
US20150042799A1 (en) * 2013-08-07 2015-02-12 GM Global Technology Operations LLC Object highlighting and sensing in vehicle image display systems
US20150104757A1 (en) * 2013-10-15 2015-04-16 Mbfarr, Llc Driving assessment and training method and apparatus
US9720410B2 (en) * 2014-03-03 2017-08-01 Waymo Llc Remote assistance for autonomous vehicles in predetermined situations
US20150309663A1 (en) * 2014-04-28 2015-10-29 Qualcomm Incorporated Flexible air and surface multi-touch detection in mobile platform
US9386302B2 (en) * 2014-05-21 2016-07-05 GM Global Technology Operations LLC Automatic calibration of extrinsic and intrinsic camera parameters for surround-view camera system
US9588586B2 (en) * 2014-06-09 2017-03-07 Immersion Corporation Programmable haptic devices and methods for modifying haptic strength based on perspective and/or proximity
US20160049082A1 (en) * 2014-08-14 2016-02-18 Albert Roy Leatherman, III System for Interactive Online Instruction
US10061486B2 (en) * 2014-11-05 2018-08-28 Northrop Grumman Systems Corporation Area monitoring system implementing a virtual environment
US20160210775A1 (en) * 2015-01-21 2016-07-21 Ford Global Technologies, Llc Virtual sensor testbed
US10119809B2 (en) * 2015-02-16 2018-11-06 Intel Corporation Simulating multi-camera imaging systems
EP3065108A1 (de) * 2015-03-04 2016-09-07 Samsung Electronics Co., Ltd. Anzeigen eines virtuellen rundgangs
US10019657B2 (en) * 2015-05-28 2018-07-10 Adobe Systems Incorporated Joint depth estimation and semantic segmentation from a single image
US9507346B1 (en) * 2015-11-04 2016-11-29 Zoox, Inc. Teleoperation system and method for trajectory modification of autonomous vehicles
US20170267099A1 (en) * 2016-03-17 2017-09-21 Calay Venture S.à r.l. Vehicles for providing virtual environments

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019175012A1 (de) * 2018-03-14 2019-09-19 Robert Bosch Gmbh Verfahren zum erzeugen eines trainingsdatensatzes zum trainieren eines künstlichen-intelligenz-moduls für eine steuervorrichtung eines fahrzeugs
CN111868641A (zh) * 2018-03-14 2020-10-30 罗伯特·博世有限公司 用于产生用于训练车辆控制设备的人工智能模块的训练数据组的方法
US12019414B2 (en) 2018-03-14 2024-06-25 Robert Bosch Gmbh Method for generating a training data set for training an artificial intelligence module for a control device of a vehicle

Also Published As

Publication number Publication date
US10510187B2 (en) 2019-12-17
GB201704234D0 (en) 2017-05-03
US10096158B2 (en) 2018-10-09
US10832478B2 (en) 2020-11-10
CN107229329B (zh) 2022-06-07
MX2017003804A (es) 2018-08-16
US20170278303A1 (en) 2017-09-28
GB2550037A (en) 2017-11-08
RU2017107989A (ru) 2018-09-13
CN107229329A (zh) 2017-10-03
US20200082622A1 (en) 2020-03-12
US20180365895A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
DE102017105628A1 (de) Verfahren und system zur virtuellen sensordatenerzeugung mit tiefen-ground-truth-annotation
DE102016119128A1 (de) Fahrbahnbegrenzungsdetektions-Datenerzeugung in virtueller Umgebung
US10019652B2 (en) Generating a virtual world to assess real-world video analysis performance
DE102020113280A1 (de) Automatische erzeugung von grundwahrheitsdaten zum trainieren oder umzutrainieren eines oder mehrerer modelle für maschinelles lernen
DE102016119129A1 (de) Prüfstand zur Fahrspurgrenzenerfassung in virtueller Fahrumgebung
DE102017115393A1 (de) Virtuelles sensordatenerzeugungssystem und verfahren zum unterstützen der entwicklung von sichtbasierten regendetektionsalgorithmen
DE102018121019A1 (de) Erweitern von realen sensoraufzeichnungen mit simulierten sensordaten
DE102018121018A1 (de) Erweitern von realen sensoraufnahmen mit simuliertem sensordatenhintergrund
DE102016123887A1 (de) Virtuelle sensordatenerzeugung zur radanschlagdetektion
DE112019000383T5 (de) Odometriesystem und Verfahren zum Verfolgen von Ampelanlagen
DE102018100192A1 (de) Erzeugen von Trainingsdaten zur automatischen Leckerkennung bei Fahrzeugen
DE112016006213T5 (de) System und Verfahren zum Fusionieren von Ausgängen von Sensoren, die unterschiedliche Auflösungen aufweisen
DE102021128704A1 (de) Verfahren und System zur Augmentierung von LIDAR-Daten
DE112020004301T5 (de) Objekterkennungsvorrichtung
DE102022114201A1 (de) Neuronales Netz zur Objekterfassung und -Nachverfolgung
DE102022210129A1 (de) Bildverarbeitung über isotonische faltungs-neuronalnetze
DE112022002652T5 (de) Automatische erzeugung einer vektorkarte für die fahrzeugnavigation
CN115393322A (zh) 基于数字孪生的变化检测数据生成及评估的方法及设备
DE102018215055A1 (de) Verfahren zum Bestimmen einer Spurwechselangabe eines Fahrzeugs, ein computerlesbares Speichermedium und ein Fahrzeug
DE102020206705A1 (de) Simulationen mit realistischen sensorfusionsdetektionsschätzungen von objekten
DE102019208733A1 (de) Verfahren und Generator zum Erzeugen von gestörten Eingangsdaten für ein neuronales Netz
JP2023044674A (ja) 自律運転における可動オブジェクトについての深層学習モデルを診断及び改善するための視覚的分析システム
DE102021122964A1 (de) Erlernen und weitergeben von visuellen attributen
DE102020200876B4 (de) Verfahren zum Verarbeiten von Sensordaten einer Sensorik eines Fahrzeugs
DE102021200568A1 (de) Computerimplementiertes verfahren zur analyse der relevanz visueller parameter zum trainieren eines computer-vision -modells

Legal Events

Date Code Title Description
R012 Request for examination validly filed