DE102021108470A1 - Realistische bildperspektiventransformation unter verwendung neuronaler netze - Google Patents

Realistische bildperspektiventransformation unter verwendung neuronaler netze Download PDF

Info

Publication number
DE102021108470A1
DE102021108470A1 DE102021108470.9A DE102021108470A DE102021108470A1 DE 102021108470 A1 DE102021108470 A1 DE 102021108470A1 DE 102021108470 A DE102021108470 A DE 102021108470A DE 102021108470 A1 DE102021108470 A1 DE 102021108470A1
Authority
DE
Germany
Prior art keywords
perspective
image
point cloud
depth map
neural network
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
DE102021108470.9A
Other languages
English (en)
Inventor
Shubham Shrivastava
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 DE102021108470A1 publication Critical patent/DE102021108470A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

Die Offenbarung stellt eine realistische Bildperspektiventransformation unter Verwendung neuronaler Netze bereit. Die vorliegende Offenbarung offenbart ein System und ein Verfahren. In beispielhaften Umsetzungen können das System und das Verfahren Folgendes beinhalten: Empfangen eines Bildes, das eine erste Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die erste Perspektive aufweist, über ein tiefes neuronales Netz; Generieren einer Punktwolkendarstellung auf Grundlage der Tiefenkarte über das tiefe neuronale Netz; Projizieren der Punktwolkendarstellung auf eine Punktwolkendarstellung, die einem Bild entspricht, das eine zweite Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist; und Generieren eines synthetischen Bildes, das die zweite Perspektive aufweist, auf Grundlage der Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist, und einer semantischen Segmentierungskarte, die dem Bild entspricht, das die erste Perspektive aufweist, wobei sich die zweite Perspektive von der ersten Perspektive unterscheidet.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen tiefe neuronale Netze.
  • ALLGEMEINER STAND DER TECHNIK
  • Tiefe neuronale Netze (deep neural networks - DNNs) können verwendet werden, um viele Aufgaben zum Verstehen von Bildern durchzuführen, einschließlich Klassifizierung, Segmentierung und Beschriftung. Üblicherweise erfordern DNNs große Mengen an Trainingsbildern (Zehntausende bis Millionen). Des Weiteren müssen diese Trainingsbilder üblicherweise zum Zwecke des Trainings und der Prognose mit Anmerkungen versehen werden.
  • KURZDARSTELLUNG
  • Ein System kann einen Computer beinhalten, der einen Prozessor und einen Speicher beinhaltet. Der Speicher beinhaltet Anweisungen, sodass der Prozessor zu Folgendem programmiert ist: Empfangen eines Bildes, das eine erste Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die erste Perspektive aufweist, über ein tiefes neuronales Netz; Generieren einer Punktwolkendarstellung auf Grundlage der Tiefenkarte über das tiefe neuronale Netz; Projizieren der Punktwolkendarstellung auf eine Punktwolkendarstellung, die einem Bild entspricht, das eine zweite Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist; und Generieren eines synthetischen Bildes, das die zweite Perspektive aufweist, auf Grundlage der Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist, und einer semantischen Segmentierungskarte, die dem Bild entspricht, das die erste Perspektive aufweist, wobei sich die zweite Perspektive von der ersten Perspektive unterscheidet.
  • In weiteren Merkmalen ist der Prozessor ferner zum Generieren der Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, auf Grundlage einer Kamerapositionstransformationsmatrix programmiert.
  • In weiteren Merkmalen umfasst die Kamerapositionstransformationsmatrix eine Rotationsmatrix und eine Translationsmatrix.
  • In weiteren Merkmalen wird die Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, gemäß [ x ' y ' z ' ] = [ R 1 ] { [ x y z ] [ T ] }
    Figure DE102021108470A1_0001
    berechnet, wobei [ x ' y ' z ' ]
    Figure DE102021108470A1_0002
    Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die zweite Perspektive aufweist, R-1 eine inverse Matrix der Rotationsmatrix ist, [ x y z ]
    Figure DE102021108470A1_0003
    Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die erste Perspektive aufweist, und [T] die Translationsmatrix umfasst.
  • In weiteren Merkmalen umfasst das tiefe neuronale Netz eine Kodierer-Dekodierer-Architektur.
  • In weiteren Merkmalen umfasst das tiefe neuronale Netz ein bedingtes generatives kontradiktorisches Netz.
  • In weiteren Merkmalen wird das Bild, das die erste Perspektive aufweist, von einem Fahrzeugkamerasensor erfasst.
  • In weiteren Merkmalen umfasst das Bild, das die erste Perspektive aufweist, ein Rot-Blau-Grün-(RGB-)Bild.
  • In weiteren Merkmalen ist der Prozessor ferner programmiert, um ein Fahrzeug auf Grundlage des synthetischen Bildes zu betreiben, das die zweite Perspektive aufweist.
  • In weiteren Merkmalen beinhaltet das tiefe neuronale Netz einen Diskriminator, der eine Prognose generiert, die angibt, ob das synthetische Bild, das die zweite Perspektive aufweist, maschinell erzeugt ist oder aus einer realen Datenverteilung stammt.
  • Ein Verfahren beinhaltet Empfangen eines Bildes, das eine erste Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die erste Perspektive aufweist, über ein tiefes neuronales Netz; Generieren einer Punktwolkendarstellung auf Grundlage der Tiefenkarte über das tiefe neuronale Netz; Projizieren der Punktwolkendarstellung auf eine Punktwolkendarstellung, die einem Bild entspricht, das eine zweite Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist; und Generieren eines synthetischen Bildes, das die zweite Perspektive aufweist, auf Grundlage der Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist, und einer semantischen Segmentierungskarte, die dem Bild entspricht, das die erste Perspektive aufweist, wobei sich die zweite Perspektive von der ersten Perspektive unterscheidet.
  • In weiteren Merkmalen beinhaltet das Verfahren ferner Generieren der Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, auf Grundlage einer Kamerapositionstransformationsmatrix.
  • In weiteren Merkmalen umfasst die Kamerapositionstransformationsmatrix eine Rotationsmatrix und eine Translationsmatrix. In weiteren Merkmalen wird die Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, gemäß [ x ' y ' z ' ] = [ R 1 ] { [ x y z ] [ T ] }
    Figure DE102021108470A1_0004
    berechnet, wobei [ x ' y ' z ' ]
    Figure DE102021108470A1_0005
    Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die zweite Perspektive aufweist, R-1 eine inverse Matrix der Rotationsmatrix ist, [ x y z ]
    Figure DE102021108470A1_0006
    Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die erste Perspektive aufweist, und [T] die Translationsmatrix umfasst.
  • In weiteren Merkmalen umfasst das tiefe neuronale Netz eine Kodierer-Dekodierer-Architektur.
  • In weiteren Merkmalen umfasst das tiefe neuronale Netz ein bedingtes generatives kontradiktorisches Netz.
  • In weiteren Merkmalen wird das Bild, das die erste Perspektive aufweist, von einem Fahrzeugkamerasensor erfasst.
  • In weiteren Merkmalen umfasst das Bild, das die erste Perspektive aufweist, ein Rot-Blau-Grün-(RGB-)Bild.
  • In weiteren Merkmalen beinhaltet das Verfahren ferner Betreiben eines Fahrzeugs auf Grundlage des synthetischen Bildes, das die zweite Perspektive aufweist.
  • In weiteren Merkmalen beinhaltet das tiefe neuronale Netz einen Diskriminator, der eine Prognose generiert, die angibt, ob das synthetische Bild, das die zweite Perspektive aufweist, maschinell erzeugt ist oder aus einer realen Datenverteilung stammt.
  • Figurenliste
    • 1 ist eine Darstellung eines beispielhaften Fahrzeugsystems.
    • 2 ist eine Darstellung eines beispielhaften Servers in dem System.
    • 3 ist eine Darstellung, die verschiedene Bildperspektiven veranschaulicht, die unter Verwendung eines tiefen neuronalen Netzes generiert werden können.
    • 4 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzes.
    • 5 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzes.
    • 6 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzes.
    • 7 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzes.
    • 8 ist ein Ablaufdiagramm für einen beispielhaften Prozess zum Generieren eines synthetischen Bildes, das eine zweite Perspektive aufweist, unter Verwendung eines Bildes mit einer ersten Perspektive.
  • DETAILLIERTE BESCHREIBUNG
  • Autonome Fahrzeuge setzen üblicherweise Wahrnehmungsalgorithmen oder -mittel ein, um die Umgebung um das Fahrzeug herum wahrzunehmen. Das Trainieren der Wahrnehmungsalgorithmen macht jedoch üblicherweise große Datenmengen erforderlich. Die interessierenden Objekte können andere Fahrzeuge, Anhänger, Fußgänger, Straßenmarkierungen, Schilder oder dergleichen einschließen. Die synthetischen Daten erscheinen jedoch unter Umständen nicht „real“. Infolgedessen entspricht das Training von Wahrnehmungsalgorithmen unter Verwendung synthetischer Daten unter Umständen nicht dem Training von Wahrnehmungsalgorithmen unter Verwendung von realen, d. h. nicht generierten, Daten.
  • Beispielsweise verwenden aktuelle Bildverarbeitungstechniken die Homographiematrix, die unter Verwendung eines Satzes übereinstimmender Pixelkoordinaten zwischen zwei Perspektiven berechnet wird, damit diese gegenüber einander verzogen sind. Dies kann jedoch zu Verzerrungen führen und das Bild erscheint gestreckt, da nicht alle Pixelinformationen während perspektivischer Transformationen verfügbar sind, um ein realistisch aussehendes Bild zu rekonstruieren.
  • Eine Kamera, die ein Fahrzeug von hinten betrachtet, hat keine Informationen darüber, wie das Fahrzeug von den Seiten oder von oben aussehen kann. Bildverarbeitungstechniken, um das Bild so zu verzerren, dass das neu erstellte Bild aus der Perspektive einer Kamera stammt, die das Fahrzeug von der Seite oder von oben betrachtet, verzerren das Bild in einem Ausmaß, dass das Fahrzeug in einigen Fällen nicht erkennbar ist. Die Fähigkeit, ein Bild aus einer anderen Perspektive zu generieren, würde Algorithmen darin unterstützen, die Lösungen für Herausforderungen wie etwa Objekterfassung und -lokalisierung zu verbessern.
  • Die vorliegende Offenbarung bezieht sich auf tiefe neuronale Netze, die synthetische Bilder generieren, die eine andere Perspektive als ein Eingabebild generieren. Beispielsweise kann ein Eingabebild, das eine erste Perspektive aufweist, von einer Kamera erfasst werden. Wie in dieser Schrift beschrieben, kann das Domänentranslationsnetz eine Kodierer-Dekodierer-Architektur einsetzen. Der Kodiererabschnitt kann das Bild, das die erste Sequenz aufweist, in eine latente Darstellung der Bilder kodieren. Der Dekodiererabschnitt kann dann eine Matrix oder mehrere Matrizen und die latente Darstellung empfangen, um Tiefenkarten zu generieren, die verwendet werden können, um Punktwolkendarstellungen des Eingabebildes zu konstruieren. Die Punktwolkendarstellung kann verwendet werden, um Punkte auf eine Punktwolke abzubilden, die einem Bild entspricht, das die zweite Perspektive aufweist. Eine Tiefenkarte kann dann konstruiert und verwendet werden, um das synthetische Bild zu generieren, das die zweite Perspektive aufweist.
  • In verschiedenen Umsetzungen können die tiefen neuronalen Netze bedingte generative kontradiktorische Netze (conditional generative adversarial networks - cGANs) umfassen. Diese Netze können eine zusätzliche Eingabe, wie etwa einen Eingabevektor, verwenden, um die Ausgabe der tiefen neuronalen Netze zu konditionieren. Beispielsweise kann ein Generator einen Eingabevektor verwenden, der eine spezifische Bedingung oder Eigenschaft vorgibt, z. B. eine Beschriftung, die einem Bild oder einer Bildperspektive zugeordnet ist, um die Ausgabe des Generators zu konditionieren. Innerhalb der vorliegenden Offenbarung können die bedingten Eingaben Matrizen umfassen, die einer Kamera, einer Bildverteilung und dergleichen zugeordnet sind.
  • Wenngleich die vorliegende Offenbarung ein Fahrzeugsystem und einen Server beschreibt, versteht es sich, dass ein beliebiges geeignetes Computersystem verwendet werden kann, um die Techniken und/oder die Funktion des in dieser Schrift beschriebenen kontradiktorischen neuronalen Netzes durchzuführen.
  • 1 ist ein Blockdiagramm eines beispielhaften Fahrzeugsystems 100. Das System 100 beinhaltet ein Fahrzeug 105, bei dem es sich um ein Landfahrzeug handelt, wie etwa ein Auto, einen Lastwagen usw. Das Fahrzeug 105 beinhaltet einen Computer 110, Fahrzeugsensoren 115, Aktoren 120 zum Betätigen verschiedener Fahrzeugkomponenten 125 und ein Fahrzeugkommunikationsmodul 130. Über ein Netzwerk 135 ermöglicht das Kommunikationsmodul 130, dass der Computer 110 mit einem Server 145 kommuniziert.
  • Der Computer 110 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und auf diesem sind Anweisungen gespeichert, die durch den Computer 110 zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten, ausgeführt werden können.
  • Der Computer 110 kann ein Fahrzeug 105 in einem autonomen, einem halbautonomen oder einem nicht autonomen (manuellen) Modus betreiben. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, bei dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch den Computer 110 gesteuert wird; in einem halbautonomen Modus steuert der Computer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nicht autonomen Modus steuert ein menschlicher Fahrzeugführer jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.
  • Der Computer 110 kann eine Programmierung zum Betreiben eines oder mehrerer von Bremsen, Antrieb (z. B. Steuern der Beschleunigung in dem Fahrzeug durch Steuern eines oder mehrere von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimasteuerung, Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs und zum Bestimmen, ob und wann der Computer 110 derartige Vorgänge anstelle eines menschlichen Fahrzeugführers steuern soll, beinhalten. Des Weiteren kann der Computer 110 programmiert sein, um zu bestimmen, ob und wann ein menschlicher Fahrzeugführer derartige Vorgänge steuern soll.
  • Der Computer 110 kann mehr als einen Prozessor, der z. B. in elektronischen Steuereinheiten (electronic controller units - ECUs) oder dergleichen eingeschlossen ist, die in dem Fahrzeug 105 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten 125 eingeschlossen sind, z. B. eine Antriebsstrangsteuerung, eine Bremssteuerung, eine Lenkungssteuerung usw., beinhalten oder kommunikativ an diese gekoppelt sein, z. B. über ein Kommunikationsmodul 130 des Fahrzeugs 105, wie nachfolgend ausführlicher beschrieben. Ferner kann der Computer 110 über das Kommunikationsmodul 130 des Fahrzeugs 105 mit einem Navigationssystem kommunizieren, welches das globale Positionsbestimmungssystem (GPS) verwendet. Als ein Beispiel kann der Computer 110 Standortdaten des Fahrzeugs 105 anfordern und empfangen. Die Standortdaten können in einer bekannten Form vorliegen, z. B. in Geokoordinaten (Breiten- und Längenkoordinaten).
  • Der Computer 110 ist im Allgemeinen für Kommunikationen über das Kommunikationsmodul 130 des Fahrzeugs 105 und zudem mithilfe eines internen drahtgebundenen und/oder drahtlosen Netzwerkes des Fahrzeugs 105, z. B. einem Bus oder dergleichen in dem Fahrzeug 105, wie etwa einem Controller Area Network (CAN) oder dergleichen, und/oder anderen drahtgebundenen und/oder drahtlosen Mechanismen angeordnet.
  • Über das Kommunikationsnetzwerk des Fahrzeugs 105 kann der Computer 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug 105 übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z.B. Fahrzeugsensoren 115, Aktoren 120, Fahrzeugkomponenten 125, einer Mensch-Maschine-Schnittstelle (human machine interface - HMI) usw. Alternativ oder zusätzlich kann das Kommunikationsnetzwerk des Fahrzeugs 105 in Fällen, in denen der Computer 110 tatsächlich eine Vielzahl von Vorrichtungen umfasst, zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Ferner können, wie nachfolgend erwähnt, verschiedene Steuerungen und/oder Fahrzeugsensoren 115 Daten an dem Computer 110 bereitstellen.
  • Die Fahrzeugsensoren 115 können eine Vielfalt von Vorrichtungen einschließen, die bekanntermaßen Daten an dem Computer 110 bereitstellen. Beispielsweise können die Fahrzeugsensoren 115 (einen) Light-Detection-and-Ranging-Sensor(en) (LIDAR-Sensor(en)) 115 usw. einschließen, der/die auf einer Oberseite des Fahrzeugs 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet ist/sind und relative Standorte, Größen und Formen von Objekten und/oder Verhältnissen bereitstellen, die das Fahrzeug 105 umgeben. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um die Geschwindigkeit von Objekten (möglicherweise einschließlich zweiter Fahrzeuge 106) usw. bezogen auf den Standort des Fahrzeugs 105 bereitzustellen und zu klassifizieren. Die Fahrzeugsensoren 115 können ferner (einen) Kamerasensor(en) 115 einschließen, der/die z. B. nach vorne, zur Seite, nach hinten usw. gerichtet ist/sind und der/die Bilder von einem Sichtfeld innerhalb und/oder außerhalb des Fahrzeugs 105 bereitstellt/bereitstellen.
  • Die Aktoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips, Elektromotoren oder andere elektronische und/oder mechanische Komponenten umgesetzt, die verschiedene Fahrzeugteilsysteme gemäß geeigneten Steuersignalen, wie bekannt, betätigen können. Die Aktoren 120 können verwendet werden, um Komponenten 125, einschließlich Bremsung, Beschleunigung und Lenkung eines Fahrzeugs 105, zu steuern.
  • Im Kontext der vorliegenden Offenbarung handelt es sich bei einer Fahrzeugkomponente 125 um eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa Bewegen des Fahrzeugs 105, Abbremsen oder Anhalten des Fahrzeugs 105, Lenken des Fahrzeugs 105 usw. Nicht einschränkende Beispiele für die Komponenten 125 schließen Folgendes ein: eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. einschließt), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. einschließen kann), eine Bremskomponente (wie nachfolgenden beschrieben), eine Parkassistenzkomponente, eine Komponente zur adaptiven Geschwindigkeitsregelung, eine Komponente zur adaptiven Lenkung, einen beweglichen Sitz usw.
  • Des Weiteren kann der Computer 110 konfiguriert sein, um über ein(e) Fahrzeug-zu-FahrzeugKommunikationsmodul oder -schnittstelle 130 mit Vorrichtungen außerhalb des Fahrzeugs 105 zu kommunizieren, z. B. über drahtlose Kommunikation von Fahrzeug-zu-Fahrzeug (vehicle-to-vehicle - V2V) oder Fahrzeug-zu-Infrastruktur (vehicle-to-infrastructure - V2X) zu einem anderen Fahrzeug mit einem Remote-Server 145 (in der Regel über das Netzwerk 135). Das Modul 130 könnte einen Mechanismus oder mehrere Mechanismen beinhalten, durch die der Computer 110 kommunizieren kann, einschließlich einer beliebigen gewünschten Kombination aus drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-)Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird). Beispielhafte über das Modul 130 bereitgestellte Kommunikation schließt Folgendes ein: Mobilfunk, Bluetooth®, IEEE 802.11, dedizierte Nahbereichskommunikation (dedicated short range communication - DSRC) und/oder Weitverkehrsnetzwerke (wide area network - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Bei dem Netzwerk 135 kann es sich um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschließlich einer beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel- und Glasfaser-) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-)Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Zu beispielhaften Kommunikationsnetzwerken gehören drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth, Bluetooth Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa dedizierter Nahbereichskommunikation (DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetzwerke (wide area network - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Ein Computer 110 kann im Wesentlichen kontinuierlich, periodisch und/oder wenn durch einen Server 145 usw. angewiesen Daten von den Sensoren 115 empfangen und analysieren. Ferner können herkömmliche Objektklassifizierungs- oder -identifizierungstechniken verwendet werden, z. B. in einem Computer 110 auf Grundlage von Daten von einem LIDAR-Sensor 115, einem Kamerasensor 115 usw., um eine Objektart, z. B. Fahrzeug, Person, Stein, Schlagloch, Fahrrad, Motorrad usw., und physische Merkmale von Objekten zu identifizieren. 2 ist ein Blockdiagramm eines beispielhaften Servers 145. Der Server 145 beinhaltet einen Computer 235 und ein Kommunikationsmodul 240. Der Computer 235 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und auf diesem sind Anweisungen gespeichert, die durch den Computer 235 zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten, ausgeführt werden können. Das Kommunikationsmodul 240 ermöglicht, dass der Computer 235 mit anderen Vorrichtungen, wie etwa dem Fahrzeug 105, kommuniziert.
  • Es werden ein oder mehrere beispielhafte Systeme beschrieben, die synthetische Bilder aus verschiedenen Perspektiven generieren können, z. B. Positionen, die auf einem Bild basieren, das von einem Kamerasensor 115 aus einer ersten Perspektive erfasst wurde. Die synthetischen Bilder können aus einem Bild in einer ersten Perspektive generiert werden, solange ein Teil der Szene aus den verschiedenen Perspektiven in dem Bild aus der ersten Perspektive dargestellt ist. 3 veranschaulicht eine beispielhafte Umgebung 300, die Fahrzeuge 302, 304 beinhaltet. Der Kamerasensor 115 ist der Darstellung nach derart positioniert, dass der Kamerasensor 115 Bilder aus einer ersten Perspektive 306 erfassen kann. Wie hierin beschrieben, beinhaltet der Computer 110 ein tiefes neuronales Netz, das synthetische Bilder aus einer zweiten Perspektive 308 und/oder einer dritten Perspektive 310 generieren kann. Das tiefe neuronale Netz kann teilweise Rotationsmatrizen RB, RC und Transformationsmatrizen TB, TC verwenden, um die synthetischen Bilder für die entsprechenden Perspektiven zu generieren. Die Rotationsmatrizen und die Transformationsmatrizen können verwendet werden, um eine Kamerapositionstransformationsmatrix zu bilden, die verwendet wird, um eine Punktwolke, die einem Bild aus einer ersten Perspektive entspricht, in eine Punktwolke umzuwandeln, die einem Bild aus einer erwünschten Perspektive entspricht. Die Rotationsmatrizen und die Transformationsmatrizen können als Eingabe für die hierin beschriebenen tiefen neuronalen Netze bereitgestellt werden.
  • Unter Bezugnahme auf 4 ist ein tiefes neuronales Netz 400 veranschaulicht, das eine Tiefenkarte und eine semantisch segmentierte Karte auf Grundlage eines Eingabebildes generiert. Das tiefe neuronale Netz 400 kann ein kontradiktorisches neuronales Netz umfassen. Bei dem kontradiktorischen neuronalen Netz kann es sich um ein Softwareprogramm handeln, das auf einen Speicher geladen und zum Beispiel durch einen Prozessor in dem Fahrzeug 105 und/oder auf dem Server 145 ausgeführt werden kann. Wie gezeigt, beinhaltet das kontradiktorische neuronale Netz 300 einen Generator, der in einer Kodierer-Dekodierer-Architektur umgesetzt ist, und einen Diskriminator 610. Im vorliegenden Kontext umfassen der Generator und der Diskriminator ein bedingtes generatives kontradiktorisches Netzwerk (conditional generative adversarial network - cGAN). Bei dem GAN handelt es sich um ein tiefes neuronales Netz, das eine Klasse von Algorithmen mit künstlicher Intelligenz einsetzt, die beim maschinellen Lernen verwendet werden und durch ein System von zwei neuronalen Netzen umgesetzt werden, die in einem kontradiktorischen Nullsummenspiel-Framework gegeneinander antreten.
  • Ein Kodierer 402 empfängt das von dem Kamerasensor 115 erfasste Bild 404. Das Bild 404 kann ein Rot-Grün-Blau-(RGB-)Bild umfassen, das von dem Kamerasensor 115 erfasst wird. Der Kodierer 402 kodiert das empfangene Bild in einen latenten, d. h. verborgenen, Darstellungsraum (z. B. latente Merkmale) 406. Eine intrinsische Kameramatrix 412 für den Kamerasensor 115 wird an einer Umformungsschicht 410 umgeformt und die umgeformte Kameramatrix wird an dem latenten Darstellungsraum 406 ausgegeben. Wie gezeigt, werden die kodierten Bilddaten an einem semantischen Segmentierungsdekodierer 412 bereitgestellt, der eine semantische Segmentierungskarte 414 generiert, die den kodierten Bilddaten aus einer ersten Perspektive entspricht. Die generierte semantische Segmentierungskarte umfasst eine Karte, die jedes Pixel des kodierten Bildes einer Klassenbezeichnung zuordnet, z. B. einer Straßenbezeichnung, Fahrzeugbezeichnung, Hintergrundbezeichnung usw.
  • Ein Tiefendekodierer 416 empfängt die kodierten Bilddaten und die umgeformte Kameramatrix als Eingabe und generiert eine Tiefenkarte 418, die dem kodierten Bild entspricht. Die umgeformte Kameramatrix umfasst eine bedingte Eingabe in das kontradiktorische Framework. Die generierte Tiefenkarte 418 beinhaltet Informationen zu einer Entfernung zwischen einer Oberfläche und einem Objekt innerhalb des kodierten Bildes. In einer Umsetzung wird die Tiefenkarte 418 unter Verwendung von Informationen in den kodierten Bilddaten und Informationen in der umgeformten Kameramatrix generiert.
  • Das tiefe neuronale Netz 400 beinhaltet außerdem Diskriminatoren 420, 422. Die Diskriminatoren 420, 422 generieren Prognosen auf Grundlage ihrer jeweiligen Eingaben. Die Prognose gibt an, ob die empfangene Eingabe durch den Generator/die Generatoren maschinell erzeugt ist oder aus einer realen Datenverteilung stammt. Der Diskriminator 420 empfängt eine semantische Segmentierungskarte mit Ground Truth, die dem Bild 404 entspricht, und die generierte semantische Segmentierungskarte 414 zu Trainingszwecken. Der Diskriminator 422 empfängt eine Tiefenkarte 420 mit Ground Truth, die dem Bild 404 entspricht, und die generierte Tiefenkarte 418 zu Trainingszwecken.
  • Unter Verwendung einer Verlustfunktion werden die Kodierer-Dekodierer-Architektur, z. B. Generatoren, und die Diskriminatoren durch geeignete Prozesse aktualisiert, wie etwa eine Rückpropagierung auf Grundlage von Prognosen der Diskriminatoren 420, 422 darüber, ob die Eingabe aus einer realen Datenverteilung stammt oder synthetisch ist, z. B. maschinell erzeugt. Die Verlustfunktion für das generative gegnerische Netz zum Generieren der semantischen Segmentierungskarte ist in den folgenden Gleichungen gezeigt: m i n G m a x D L s e m s e g G A N ( G , D ) = E x A R G B , x A s e m s e g [ log ( D ( x A s e m s e g ) ) ] + E x A R G B , x ' A s e m s e g [ log ( 1 D ( x ' A s e m s e g ) ) ] ,  
    Figure DE102021108470A1_0007
    m i n G m a x D L s e m s e g G A N ( G , D ) = E x A R G B , x A s e m s e g [ log ( D ( x A s e m s e g ) ) ] + E x A R G B , x ' A s e m s e g [ log ( 1 D ( x ' A s e m s e g ) ) ]
    Figure DE102021108470A1_0008
    L d e p t h = E x A R G B , x A d e p t h [ x A d e p t h x ' A d e p t h 2 ]   ]  
    Figure DE102021108470A1_0009
    L s e m s e g = 1 M n c l a s s e s M p i x e l s N [ z ( c l a s s e s , p i x e l s ) s e m s e g log ( z ' ( c l a s s e s , p i x e l s ) s e m s e g ) ) + ( 1 z ( c l a s s e s , p i x e l s ) s e m s e g ) log ( 1 z ' ( c l a s s e s , p i x e l s ) s e m s e g ) ]  
    Figure DE102021108470A1_0010
    L d e p t h c o m p l e t e = m i n G m a x D L s e m s e g G A N ( G , D ) + λ 1 L d e p t h
    Figure DE102021108470A1_0011
    L s e m s e g c o m p l e t e = m i n G m a x D L s e m s e g G A N + L s e m s e g
    Figure DE102021108470A1_0012
    wobei G die Generatorfunktion umfasst, D die Diskriminatorfunktion umfasst, L s e m s e g G A N
    Figure DE102021108470A1_0013
    die Generationsverlustfunktion der semantischen Segmentierungskarte umfasst, xA RGB das Ground-Truth-RGB-Bild in der ersten Perspektive umfasst, x A d e p t h
    Figure DE102021108470A1_0014
    die Ground-Truth-Tiefenkarte in der ersten Perspektive umfasst, x ' A d e p t h
    Figure DE102021108470A1_0015
    die Karte der prognostizierten Tiefe in der ersten Perspektive umfasst, x A s e m s e g
    Figure DE102021108470A1_0016
    die Karte der semantischen Segmentierung mit Ground Truth in der ersten Perspektive umfasst, x ' A s e m s e g
    Figure DE102021108470A1_0017
    die Karte der prognostizierten semantischen Segmentierung in der ersten Perspektive umfasst, xB RGB das Ground-Truth-RGB-Bild in der ersten Perspektive in Kameraposition B umfasst, xB' RGB das prognostizierte RGB-Bild in Kameraposition B umfasst, xB depth die Ground-Truth-Tiefenkarte in Kameraposition B umfasst, x'B depth die prognostizierte Tiefenkarte in Kameraposition B umfasst, E x A R G B , x A d e p t h
    Figure DE102021108470A1_0018
    den erwarteten Wert über alle erwarteten realen RGB- und Tiefenkarten umfasst, E x A R G B , x A s e m s e g
    Figure DE102021108470A1_0019
    den erwarteten Wert über alle realen RGB-Karten und Karten der synthetisierten semantischen Segmentierung umfasst, minG maxD die Minimax-Funktion umfasst, bei welcher der Diskriminator wirkt, um den Wert zu maximieren, und der Generator wirkt, um den Wert zu minimieren, wobei L d e p t h
    Figure DE102021108470A1_0020
    den Rekonstruktionsverlust der Tiefenkarte umfasst, L s e m s e g
    Figure DE102021108470A1_0021
    den Rekonstruktionsverlust der semantischen Segmentierung umfasst, L d e p t h c o m p l e t e
    Figure DE102021108470A1_0022
    den vollständigen GAN-Verlust für die Tiefensynthese umfasst, L s e m s e g c o m p l e t e
    Figure DE102021108470A1_0023
    den vollständigen GAN-Verlust für die Synthese der semantischen Segmentierungskarte umfasst und λ1 verwendet wird, um einen gewichteten Tiefenkartenrekonstruktionsverlust als additive Komponente des vollständigen Tiefenrekonstruktionsverlusts bereitzustellen.
  • Sobald diese trainiert wurde, generiert die Kodierer-Dekodierer-Architektur die generierten Tiefenkarten 418 und die semantischen Segmentierungskarten 414 und gibt diese aus. Der Computer 120 verwendet die generierte Tiefenkarte, um eine Punktwolke zu generieren. In einer beispielhaften Umsetzung wird auf Grundlage der generierten Tiefenkarte 418 eine Punktwolkendarstellung der generierten Tiefenkarte 418 unter Verwendung der folgenden Gleichungen generiert: u = x f x z + o x
    Figure DE102021108470A1_0024
    v = y f y z + o y
    Figure DE102021108470A1_0025
  • In Gleichung 8 und 9 sind (x, y, z) Weltkoordinaten, sind (fx,fy) die Brennweite des Kamerasensors 115, sind (u, v) Bildkoordinaten und sind (ox,oy) das Bildzentrum des Kamerasensors 115.
  • Die folgenden Gleichungen stellen die dreidimensionalen (3D-)Koordinaten für die Punktwolke bereit: z = x ' A d e p t h ( u , v )
    Figure DE102021108470A1_0026
    x = ( u o x ) z f x
    Figure DE102021108470A1_0027
    y = ( v o y ) z f y
    Figure DE102021108470A1_0028
  • In Gleichung 10 stellt der Term x'A depth die generierte Tiefenkarte 418 auf Grundlage des Bildes 404 das, das aus der ersten Perspektive erfasst wurde.
  • Unter Verwendung der generierten 3D-Koordinaten für die Punktwolke (x, y, z) kann der Computer 120 eine Kamerapositionstransformationsmatrix verwenden, um die Koordinaten der Punktwolke (x, y, z) entsprechend der ersten Perspektive in Koordinaten einer Punktwolke (x', y', z ') umzuwandeln, die einer zweiten Perspektive entsprechen, z. B. der erwünschten Kameraperspektive oder -position. Die Kamerapositionstransformationsmatrix kann eine 3x3-Rotationsmatrix R3x3 und Translationsmatrix T3x1 umfassen. Die Kamerapositionstransformationsmatrix kann eine Eingabe umfassen, welche die erwünschte Bildperspektive darstellt, z. B. die zweite Perspektive. Die der zweiten Perspektive entsprechenden Koordinaten der Punktwolke (x', y', z') können gemäß Folgendem generiert werden: [ x ' y ' z ' ] = [ R 1 ] { [ x y z ] [ T ] }
    Figure DE102021108470A1_0029
  • Unter Verwendung der Koordinaten der generierten Punktwolke (x', y', z') kann jeder Punkt dann auf eine neue Tiefenkarte projiziert werden, die dem Bild entspricht, das die zweite Perspektive aufweist. Die Translationsmatrix und/oder die Rotationsmatrix kann auf Grundlage der erwünschten Perspektive als Eingaben in den Computer 115 bereitgestellt werden. In einer Umsetzung kann die Tiefenkarte gemäß den folgenden Gleichungen generiert werden: u ' = x ' f x z ' + o x
    Figure DE102021108470A1_0030
    v ' = y ' f y z ' + o y
    Figure DE102021108470A1_0031
    x ' B d e p t h ( u ' , v ' ) = z '
    Figure DE102021108470A1_0032
    wobei x'B depth die Tiefenkarte darstellt, die der zweiten Perspektive entspricht.
  • 5 veranschaulicht ein beispielhaftes tiefes neuronales Netz 500, das ein Bild generiert, das der zweiten Perspektive entspricht, einer Perspektive, die sich von der Perspektive des von dem Kamerasensor 115 erfassten Bildes 404 unterscheidet. In einer beispielhaften Umsetzung umfasst das der zweiten Perspektive entsprechende Bild ein RGB-Bild. Das der zweiten Perspektive entsprechende Bild beinhaltet die gleichen Szeneneigenschaften wie das Bild 404 und das tiefe neuronale Netz 500 konditioniert das generierte Bild an der RGB-Verteilung des Bildes 404. Ähnlich wie das tiefe neuronale Netz 400 umfasst das tiefe neuronale Netz 500 ein kontradiktorisches Netz, das Generatoren, z. B. Kodierer-Dekodierer, und Diskriminatoren beinhaltet, wie nachfolgend ausführlicher beschrieben.
  • Das tiefe neuronale Netz 500 kann die in dem Bild 404 erfassten Objektinformationen durch Konditionieren an der semantischen Segmentierungskarte 414, der Rotationsmatrix Rund der Translationsmatrix T ableiten. Die intrinsische Kameramatrix K wird ebenfalls zum Konditionieren des Tiefenkartenkodierers des tiefen neuronalen Netzes 500 verwendet, sodass der Generator die Beziehung zwischen der Tiefenkarte, dem projizierten 2D-RGB-Bild und der intrinsischen Kameramatrix lernt.
  • Die Tiefenkarte 502, die dem Bild entspricht, das die zweite Perspektive aufweist, wird in einen Tiefenkartenkodierer 504 eingegeben, der die Tiefenkarte 502 in den latenten Raum 506 kodiert. Die intrinsische Kameramatrix K 408 wird in eine Umformungsschicht 508 eingegeben, um eine umgeformte intrinsische Kameramatrix zu generieren. Die generierte semantische segmentierte Karte 414 wird als Eingabe an einem Kodierer 510 für semantische Segmentierungskarten bereitgestellt, der die semantische Segmentierungskarte 414 in den latenten Raum 506 kodiert. Die Rotationsmatrix R 512 wird am der Umformungsschicht 508 bereitgestellt, um eine umgeformte Rotationsmatrix zu generieren, die dann an dem latenten Raum 506 bereitgestellt wird. Die Translationsmatrix T 514 wird am dem latenten Raum 506 bereitgestellt.
  • Ein Tiefenkartendekodierer 516 empfängt die kodierte Tiefenkarte entsprechend der zweiten Perspektive und die umgeformten intrinsische Kameramatrix, um eine dekodierte Darstellung der kodierten Tiefenkarte und der umgeformten intrinsischen Kameramatrix zu generieren. Ein Dekodierer 518 für transformierte semantische Segmentierungskarten empfängt als Eingabe die kodierte semantische Segmentierungskarte, die umgeformte Rotationsmatrix und die Translationsmatrix 514 und generiert eine dekodierte Darstellung der kodierten semantischen Segmentierungskarte, der umgeformten Rotationsmatrix und der Translationsmatrix 514. Die dekodierten Darstellungen, die von den Dekodierern 516, 518 generiert werden, werden verwendet, um eine entkoppelte segmentierte Tiefenkarte 520 zu generieren.
  • Ein Kodierer 522 für entkoppelte segmentierte Tiefenkarten empfängt die entkoppelte segmentierte Tiefenkarte 520 als Eingabe und generiert eine kodierte latente Darstellung der entkoppelten segmentierten Tiefenkarte 520, die an einem latenten Raum 524 bereitgestellt wird. Das tiefe neuronale Netz 500 beinhaltet außerdem einen Bildfarbverteilungskodierer 526, der das Eingabebild 404 empfängt und eine kodierte Darstellung der Bildverteilung, wie etwa eine RGB-Verteilung, auf Grundlage des Eingabebildes 404 generiert. Die kodierte latente Darstellung der Bildverteilung wird an dem latenten Raum 524 bereitgestellt. Ein Dekodierer 528 für transformierte Bilder generiert das der zweiten Perspektive entsprechende Bild, z. B. ein synthetisches Bild, auf Grundlage der kodierten latenten Darstellung der entkoppelten segmentierten Tiefenkarte 520 und der kodierten Darstellung der Bildverteilung.
  • Das tiefe neuronale Netz 500 beinhaltet außerdem einen Diskriminator 530. Der Diskriminator 450 generiert Prognosen auf Grundlage seiner empfangenen Eingabe. Beispielsweise kann der Diskriminator 530 ein Ground-Truth-Bild 532, das der zweiten Perspektive entspricht, und das synthetische Bild empfangen, das der zweiten Perspektive entspricht. Die Prognose gibt an, ob die empfangene Eingabe durch den Generator/die Generatoren maschinell erzeugt ist oder aus einer realen Datenverteilung stammt.
  • Unter Verwendung einer Verlustfunktion werden die Kodierer-Dekodierer-Architektur, z. B. die Generatoren, und die Diskriminatoren durch geeignete Prozesse aktualisiert, wie etwa eine Rückpropagierung auf Grundlage von Prognosen des Diskriminators 530 darüber, ob die Eingabe aus einer realen Datenverteilung stammt oder synthetisch ist. m i n G m a x D L R G B G A N ( G , D ) = E x B d e p t h , x B R G B [ log ( D ( x B d e p t h ) ) ] + E x B d e p t h , x ' B R G B [ log ( 1 D ( x ' B R G B ) ) ] ,   ( Gleichung  17 ) ,
    Figure DE102021108470A1_0033
    L R G B c o m p l e t e = m i n G m a x D L R G B G A N ( G , D ) + λ 2 L M S E _ R G B
    Figure DE102021108470A1_0034
    wobei λ2 verwendet wird, um einen gewichteten Rekonstruktionsverlust als eine additive Komponente des vollständigen Verlustes bereitzustellen, L M S E _ R G B
    Figure DE102021108470A1_0035
    der Rekunstruktionsverlust für die RGB-Bildsynthese ist und L R G B c o m p l e t e
    Figure DE102021108470A1_0036
    der vollständige GAN-Verlust für die RGB-Bildsynthese ist.
  • 6 veranschaulicht ein beispielhaftes tiefes neuronales Netz 600, das ein Eingabebild von einem Kamerasensor 115 empfängt, das aus einer ersten Perspektive erfasst wurde, und eine Tiefenkarte des Bildes generiert, die einer zweiten Perspektive entspricht. Die generierte Tiefenkarte 418, die vorangehend in Bezug auf 4 beschrieben ist, wird an einem latenten Raum 602 bereitgestellt. Die Rotationsmatrix R 512 wird an der Umformungsschicht 604 bereitgestellt, um eine umgeformte Rotationsmatrix zu generieren, die an dem latenten Raum 602 bereitgestellt wird. Die Translationsmatrix T 514 wird ebenfalls an dem latenten Raum 602 bereitgestellt.
  • Die Tiefenkarte 418, die umgeformte Rotationsmatrix und die Translationsmatrix T werden an einem Dekodierer 606 für transformierte Tiefenkarten bereitgestellt und der Dekodierer 606 für transformierte Tiefenkarten generiert die Tiefenkarte 608, die einem Bild entspricht, das die zweite Perspektive aufweist. Während des Trainings werden die generierte Tiefenkarte 608 und die Ground Truth 610 zur Bewertung an einem Diskriminator 612 bereitgestellt. Ähnlich wie bei den vorangehend Diskriminatoren generiert der Diskriminator 612 Prognosen, die angeben, ob die Eingabe aus einer realen Datenverteilung stammt oder maschinell erzeugt ist. Die Prognosen können verwendet werden, um die Gewichtungen der Kodierer-Dekodierer-Architektur und/oder des Diskriminators zu aktualisieren. In verschiedenen Umsetzungen umfasst die Ground Truth 610 ein reales Bild, das die zweite Perspektive aufweist. Die generierte transformierte Tiefenkarte wird an dem tiefen neuronalen Netz 500 bereitgestellt, sodass das tiefe neuronale Netz 500 ein Bild, wie etwa ein RGB-Bild, das die zweite Perspektive aufweist, generieren kann.
  • 7 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzes (deep neural network - DNN) 700. Das DNN 700 kann repräsentativ für eines oder mehrere der vorangehenden beschriebenen tiefen neuronalen Netze sein. Das DNN 700 beinhaltet mehrere Knoten 705 und die Knoten 705 sind derart angeordnet, dass das DNN 700 eine Eingabeschicht, eine oder mehrere verborgene Schichten und eine Ausgabeschicht beinhaltet. Jede Schicht des DNN 700 kann eine Vielzahl von Knoten 705 beinhalten. Während 7 drei (3) verborgene Schichten veranschaulicht, versteht es sich, dass das DNN 700 zusätzliche oder weniger verborgene Schichten beinhalten kann. Die Eingabe- und Ausgabeschicht können auch mehr als einen (1) Knoten 705 beinhalten.
  • Die Knoten 705 werden mitunter als künstliche Neuronen 705 bezeichnet, da sie dazu ausgebildet sind, biologische, z. B. menschliche, Neuronen nachzubilden. Ein Satz von Eingaben (dargestellt durch die Pfeile) in jedes Neuron 705 wird jeweils mit entsprechenden Gewichtungen multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um eine, unter Umständen um eine Vorspannung angepasste, Nettoeingabe bereitzustellen. Die Nettoeingabe kann dann an einer Aktivierungsfunktion bereitgestellt werden, die wiederum an einem verbundenen Neuron 705 eine Ausgabe bereitstellt. Bei der Aktivierungsfunktion kann es sich um eine Vielfalt geeigneter Funktionen handeln, die in der Regel auf Grundlage einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in 7 veranschaulicht, können die Ausgaben des Neurons 705 dann in einer nächsten Schicht zur Aufnahme in einen Satz von Eingaben in ein oder mehrere Neuronen 705 bereitgestellt werden.
  • Das DNN 700 kann dazu trainiert sein, Daten als Eingabe anzunehmen und auf Grundlage der Eingabe eine Ausgabe zu generieren. Das DNN 700 kann mithilfe von Ground-Truth-Daten trainiert werden, d. h. Daten zu einer realen Bedingung oder einem realen Zustand. Beispielsweise kann das DNN 700 durch einen Prozessor mithilfe von Ground-Truth-Daten trainiert oder mit zusätzlichen Daten aktualisiert werden. Die Gewichtungen können zum Beispiel unter Verwendung einer Gauß-Verteilung initialisiert werden und ein Bias für jeden Knoten 705 kann auf null gesetzt werden. Das Trainieren des DNN 700 kann Aktualisieren der Gewichtungen und Biases über geeignete Techniken beinhalten, wie etwa Rückpropagierung mit Optimierungen. Ground-Truth-Daten können unter anderem Daten, die Objekte in einem Bild vorgeben, oder Daten einschließen, die einen physikalischen Parameter vorgeben, z. B. Winkel, Geschwindigkeit, Entfernung oder Winkel eines Objektes bezogen auf ein anderes Objekt. Beispielsweise kann es sich bei den Ground-Truth-Daten um Daten handeln, die Objekte und Objektbeschriftungen darstellen. In einem weiteren Beispiel kann es sich bei den Ground-Truth-Daten um Daten handeln, die Bilder, die verschiedene Perspektiven aufweisen, Tiefenkartendaten, die Bildern entsprechen, die verschiedene Perspektiven aufweisen, und/oder semantische Segmentierungskarten darstellen, die verschiedenen Perspektiven aufweisen.
  • 8 ist ein Ablaufdiagramm für einen beispielhaften Prozess 800 zum Generieren eines Bildes, das eine zweite Perspektive aufweist, auf Grundlage eines erfassten Bildes, das eine erste Perspektive aufweist. Blöcke des Prozesses 800 können durch den Computer 110 oder den Computer 235 ausgeführt werden. Bei Block 805 wird bestimmt, ob ein Eingabebild empfangen wird, das eine erste Perspektive aufweist. Wenn kein Bild empfangen wird, kehrt der Prozess 800 zu Block 805 zurück. Andernfalls kodieren bei Block 810 Kodierer, wie etwa die Kodierer 412, 416, das empfangene Bild in eine latente Darstellung, z. B. latente Merkmale, des Bildes. Bei Block 815 wird eine intrinsische Kameramatrix 412 für den Kamerasensor 115 an einer Umformungsschicht 406 umgeformt. Bei Block 820 generieren Dekodierer, wie etwa die Dekodierer 412,416, eine semantische Segmentierungskarte 414 und eine Tiefenkarte 418 jeweils auf Grundlage der kodierten Darstellung des Eingabebildes. Die generierte Tiefenkarte 414 basiert auf dem kodierten Bild und der umgeformten Kameramatrix. Bei Block 825 wird eine Punktwolkendarstellung der generierten Tiefenkarte 418 generiert. Bei Block 830 wird eine Punktwolkendarstellung generiert, die einem Bild entspricht, das eine zweite Perspektive aufweist. Die Punktwolkendarstellung, die dem Bild entspricht, das eine zweite Perspektive aufweist, wird unter Verwendung der Punktwolkendarstellung der generierten Tiefenkarte 418 durch Abbilden generiert. Bei Block 835 wird jeder Punkt in der Punktwolkendarstellung auf eine Tiefenkarte 502 projiziert, die dem Bild entspricht, das die zweite Perspektive aufweist. Bei Block 840 bilden Dekodierer, wie etwa die Dekodierer 516, 518, die entkoppelte segmentierte Tiefenkarte 520 jeweils unter Verwendung der Tiefenkarte 502 und der semantischen Segmentierungskarte 414. Bei Block 845 kodieren Kodierer, wie etwa die Kodierer 522, 526, die entkoppelte segmentierte Tiefenkarte 520 und das Bild 404 jeweils in eine latente Darstellung. Ein Dekodierer 528 verwendet bei Block 850 die latenten Darstellungen der entkoppelten segmentierten Tiefenkarte 520 und das Bild 404, um ein Bild zu generieren, das die zweite Perspektive aufweist. Bei Block 855 kann das Fahrzeug 105 auf Grundlage des generierten Bildes betrieben werden, das die zweite Perspektive aufweist. Beispielsweise kann der Computer 110 ein oder mehrere Signale übertragen, um das Fahrzeug 105 gemäß dem generierten Bild zu betreiben.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und des Betriebssystems Android, entwickelt durch die Google, Inc. und die Open Handset Alliance, oder QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen schließen unter anderem Folgendes ein: einen Fahrzeugbordcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
  • Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie etwa durch die vorangehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erstellt werden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt an computerlesbaren Medien gespeichert und übermitteln werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
  • Ein Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) einschließen, das ein beliebiges nicht transitorisches (z. B. materielles) Medium einschließt, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nicht flüchtiger Medien und flüchtiger Medien. Zu nicht flüchtigen Medien können zum Beispiel Bild- und Magnetplatten und sonstige dauerhafte Speicher gehören. Zu flüchtigen Medien kann zum Beispiel dynamischer Direktzugriffsspeicher (dynamic random-access memory - DRAM) gehören, der üblicherweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein Übertragungsmedium oder mehrere Übertragungsmedien übertragen werden, darunter Koaxialkabel, Kupferdraht und Glasfaser, einschließlich der Drähte, die einen an einen Prozessor einer ECU gekoppelten Systembus umfassen. Gängige Formen computerlesbarer Medien einschließlich zum Beispiel Folgendes ein: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer ausgelesen werden kann.
  • Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedene(n) Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines relationalen Datenbankverwaltungssystems (relational database management system - RDBMS) usw. Jeder derartige Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung eingeschlossen, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorangehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Generieren, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorangehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personal Computern usw.) umgesetzt sein, die auf damit assoziierten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
  • Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass, auch wenn die Schritte derartiger Prozesse usw. als gemäß einer bestimmten Reihenfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge verschieden ist. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Anders ausgedrückt dienen die Beschreibungen von Prozessen in dieser Schrift dem Zwecke der Veranschaulichung bestimmter Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Ansprüche einschränken.
  • Dementsprechend versteht es sich, dass die vorangehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorangehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorangehende Beschreibung festgelegt werden, sondern stattdessen unter Bezugnahme auf die beigefügten Patentansprüche in Zusammenhang mit dem vollständigen Umfang von Äquivalenten, zu denen solche Patentansprüche berechtigen. Es ist davon auszugehen und beabsichtigt, dass es zukünftige Entwicklungen im in dieser Schrift erörterten Stand der Technik geben wird und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und lediglich durch die folgenden Patentansprüche eingeschränkt ist.
  • Alle in den Patentansprüchen verwendeten Ausdrücke sollen ihre klare und gewöhnliche Bedeutung aufweisen, wie sie von einem Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich das Gegenteil angegeben wird. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Empfangen eines Bildes, das eine erste Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die erste Perspektive aufweist, über ein tiefes neuronales Netz; Generieren einer Punktwolkendarstellung auf Grundlage der Tiefenkarte über das tiefe neuronale Netz; Projizieren der Punktwolkendarstellung auf eine Punktwolkendarstellung, die einem Bild entspricht, das eine zweite Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist; und Generieren eines synthetischen Bildes, das die zweite Perspektive aufweist, auf Grundlage der Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist, und einer semantischen Segmentierungskarte, die dem Bild entspricht, das die erste Perspektive aufweist, wobei sich die zweite Perspektive von der ersten Perspektive unterscheidet.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zum Generieren der Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, auf Grundlage einer Kamerapositionstransformationsmatrix programmiert.
  • Gemäß einer Ausführungsform umfasst die Kamerapositionstransformationsmatrix eine Rotationsmatrix und eine Translationsmatrix.
  • In weiteren Merkmalen wird die Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, gemäß [■(x'@y'@z')]=[R^(-1) ] {[■(x@y@z)]- ┤ ├ [T]} berechnet, wobei [■(x'@y'@z')] Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die zweite Perspektive aufweist, R^(-1) eine inverse Matrix der Rotationsmatrix ist, [■(x@y@z)] Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die erste Perspektive aufweist, und [T] die Translationsmatrix umfasst.
  • Gemäß einer Ausführungsform umfasst das tiefe neuronale Netz eine Kodierer-Dekodierer-Architektur.
  • Gemäß einer Ausführungsform umfasst das tiefe neuronale Netz ein bedingtes generatives kontradiktorisches Netz.
  • Gemäß einer Ausführungsform wird das Bild, das die erste Perspektive aufweist, von einem Fahrzeugkamerasensor erfasst.
  • Gemäß einer Ausführungsform umfasst das Bild, das die erste Perspektive aufweist, ein Rot-Blau-Grün-(RGB-)Bild.
  • Gemäß einer Ausführungsform ist der Prozessor ferner programmiert, um ein Fahrzeug auf Grundlage des synthetischen Bildes zu betreiben, das die zweite Perspektive aufweist. Gemäl einer Ausführungsform beinhaltet das tiefe neuronale Netz einen Diskriminator, der eine Prognose generiert, die angibt, ob das synthetische Bild, das die zweite Perspektive aufweist, maschinell erzeugt ist oder aus einer realen Datenverteilung stammt.
  • Gemäß einer Ausführungsform beinhaltet ein Verfahren Empfangen eines Bildes, das eine erste Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die erste Perspektive aufweist, über ein tiefes neuronales Netz; Generieren einer Punktwolkendarstellung auf Grundlage der Tiefenkarte über das tiefe neuronale Netz; Projizieren der Punktwolkendarstellung auf eine Punktwolkendarstellung, die einem Bild entspricht, das eine zweite Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist; und Generieren eines synthetischen Bildes, das die zweite Perspektive aufweist, auf Grundlage der Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist, und einer semantischen Segmentierungskarte, die dem Bild entspricht, das die erste Perspektive aufweist, wobei sich die zweite Perspektive von der ersten Perspektive unterscheidet.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Generieren der Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, auf Grundlage einer Kamerapositionstransformationsmatrix.
  • In einem Aspekt der Erfindung umfasst die Kamerapositionstransformationsmatrix eine Rotationsmatrix und eine Translationsmatrix.
  • In einem Aspekt der Erfindung wird die Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, gemäß [■(x'@y'@z')]=[R^(-1)] {[■(x@y@z)]- ┤ ├ [T]} berechnet, wobei [■(x'@y'@z')] Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die zweite Perspektive aufweist, R^(-1) eine inverse Matrix der Rotationsmatrix ist, [■(x@y@z)] Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die erste Perspektive aufweist, und [T] die Translationsmatrix umfasst.
  • In einem Aspekt der Erfindung umfasst das tiefe neuronale Netz eine Kodierer-Dekodierer-Architektur.
  • In einem Aspekt der Erfindung umfasst das tiefe neuronale Netz ein bedingtes generatives kontradiktorisches Netz.
  • In einem Aspekt der Erfindung wird das Bild, das die erste Perspektive aufweist, von einem Fahrzeugkamerasensor erfasst.
  • In einem Aspekt der Erfindung umfasst das Bild, das die erste Perspektive aufweist, ein Rot-Blau-Grün-(RGB-)Bild.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Folgendes: Betreiben eines Fahrzeugs auf Grundlage des synthetischen Bildes, das die zweite Perspektive aufweist.
  • In einem Aspekt der Erfindung beinhaltet das tiefe neuronale Netz einen Diskriminator, der eine Prognose generiert, die angibt, ob das synthetische Bild, das die zweite Perspektive aufweist, maschinelle erzeugt wurde oder aus einer realen Datenverteilung stammt.

Claims (10)

  1. System, umfassend einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Empfangen eines Bildes, das eine erste Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die erste Perspektive aufweist, über ein tiefes neuronales Netz; Generieren einer Punktwolkendarstellung auf Grundlage der Tiefenkarte über das tiefe neuronale Netz; Projizieren der Punktwolkendarstellung auf eine Punktwolkendarstellung, die einem Bild entspricht, das eine zweite Perspektive aufweist; Generieren einer Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist; und Generieren eines synthetischen Bildes, das die zweite Perspektive aufweist, auf Grundlage der Tiefenkarte, die dem Bild entspricht, das die zweite Perspektive aufweist, und einer semantischen Segmentierungskarte, die dem Bild entspricht, das die erste Perspektive aufweist, wobei sich die zweite Perspektive von der ersten Perspektive unterscheidet.
  2. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: Generieren der Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, auf Grundlage einer Kamerapositionstransformationsmatrix.
  3. System nach Anspruch 2, wobei die Kamerapositionstransformationsmatrix eine Rotationsmatrix und eine Translationsmatrix umfasst.
  4. System nach Anspruch 3, wobei die Punktwolkendarstellung, die dem Bild entspricht, das die zweite Perspektive aufweist, gemäß [ x ' y ' z ' ] = [ R 1 ] { [ x y z ] [ T ] }
    Figure DE102021108470A1_0037
    berechnet wird, wobei [ x ' y ' z ' ]
    Figure DE102021108470A1_0038
    Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die zweite Perspektive aufweist, R-1 eine inverse Matrix der Rotationsmatrix ist, [ x y z ]
    Figure DE102021108470A1_0039
    Punktwolkenkoordinaten für die Punktwolkendarstellung umfasst, die dem Bild entspricht, das die erste Perspektive aufweist, und [T] die Translationsmatrix umfasst.
  5. System nach Anspruch 1, wobei das tiefe neuronale Netz eine Kodierer-Dekodierer-Architektur umfasst.
  6. System nach Anspruch 5, wobei das tiefe neuronale Netz ein bedingtes generatives kontradiktorisches Netz umfasst.
  7. System nach Anspruch 1, wobei das Bild, das die erste Perspektive aufweist, durch einen Fahrzeugkamerasensor erfasst wird.
  8. System nach Anspruch 1, wobei das Bild, das die erste Perspektive aufweist, ein Rot-Blau-Grün-(RGB-)Bild umfasst.
  9. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: Betreiben eines Fahrzeugs auf Grundlage des synthetischen Bildes, das die zweite Perspektive aufweist.
  10. System nach Anspruch 1, wobei das tiefe neuronale Netz einen Diskriminator beinhaltet, der eine Prognose generiert, die angibt, ob das synthetische Bild, das die zweite Perspektive aufweist, maschinell erzeugt ist oder aus einer realen Datenverteilung stammt.
DE102021108470.9A 2020-04-02 2021-04-01 Realistische bildperspektiventransformation unter verwendung neuronaler netze Pending DE102021108470A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/838,448 US11107228B1 (en) 2020-04-02 2020-04-02 Realistic image perspective transformation using neural networks
US16/838,448 2020-04-02

Publications (1)

Publication Number Publication Date
DE102021108470A1 true DE102021108470A1 (de) 2021-10-07

Family

ID=77465099

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021108470.9A Pending DE102021108470A1 (de) 2020-04-02 2021-04-01 Realistische bildperspektiventransformation unter verwendung neuronaler netze

Country Status (3)

Country Link
US (1) US11107228B1 (de)
CN (1) CN113496510A (de)
DE (1) DE102021108470A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022110232A1 (de) 2022-04-27 2023-11-02 Bayerische Motoren Werke Aktiengesellschaft Verfahren und vorrichtung zur ermittlung eines von einem kraftfahrzeug befahrbaren pfades oder einer semantischen segmentierungskarte mit blick aus einer vogelperspektive auf das kraftfahrzeug

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11783510B2 (en) * 2020-08-25 2023-10-10 Nvidia Corporation View generation using one or more neural networks
US20220092317A1 (en) * 2020-09-21 2022-03-24 Nvidia Corporation Simulating viewpoint transformations for sensor independent scene understanding in autonomous systems
US11842544B2 (en) * 2021-06-04 2023-12-12 Fujitsu Limited Automatic perspective transformation
KR20230049969A (ko) * 2021-10-07 2023-04-14 삼성전자주식회사 글로벌 측위 장치 및 방법
WO2023081095A1 (en) * 2021-11-05 2023-05-11 Subtle Medical, Inc. Systems and methods for multi-contrast multi-scale vision transformers

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452927B2 (en) 2017-08-09 2019-10-22 Ydrive, Inc. Object localization within a semantic domain
JP6766844B2 (ja) 2018-06-01 2020-10-14 株式会社デンソー 物体識別装置、移動体用システム、物体識別方法、物体識別モデルの学習方法及び物体識別モデルの学習装置
GB2576548B (en) * 2018-08-23 2021-11-03 Sony Interactive Entertainment Inc Method and system for reconstructing colour and depth information of a scene
US11017586B2 (en) * 2019-04-18 2021-05-25 Adobe Inc. 3D motion effect from a 2D image
CN110378838B (zh) 2019-06-25 2023-04-18 达闼机器人股份有限公司 变视角图像生成方法,装置,存储介质及电子设备
US11468585B2 (en) * 2019-08-27 2022-10-11 Nec Corporation Pseudo RGB-D for self-improving monocular slam and depth prediction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022110232A1 (de) 2022-04-27 2023-11-02 Bayerische Motoren Werke Aktiengesellschaft Verfahren und vorrichtung zur ermittlung eines von einem kraftfahrzeug befahrbaren pfades oder einer semantischen segmentierungskarte mit blick aus einer vogelperspektive auf das kraftfahrzeug

Also Published As

Publication number Publication date
US11107228B1 (en) 2021-08-31
CN113496510A (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
DE102018121595B4 (de) Unbeaufsichtigtes anlernen von agenten für autonome fahranwendungen
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102019120880A1 (de) End-to-end-deep-generative-modell für simultane lokalisierung und abbildung
DE112019001605T5 (de) Trainieren, testen und verifizieren von autonomen maschinen unter verwendung simulierter umgebungen
DE112019000049T5 (de) Für autonomes fahren geeignete objekterfassung und erfassungssicherheit
DE102019133703A1 (de) Verfahren und systeme zur herstellung und lokalisierung für ein fahrzeug
DE102020100685A1 (de) Vorhersage zeitlicher informationen in autonomenmaschinenanwendungen
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102020122357A1 (de) Fahrerbewusstseinserfassungssystem
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102021109413A1 (de) Augmentation von fahrzeugdaten
DE102021128041A1 (de) Verbesserung eines neuronalen fahrzeugnetzwerks
DE102021129544A1 (de) Systeme und verfahren zur tiefenabschätzung in einem fahrzeug
DE102021114724A1 (de) Verbesserter fahrzeugbetrieb
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102021122407A1 (de) Segmentierung und klassifizierung von punktwolkendaten
DE102021104178A1 (de) Dynamisch gerouteter felddiskriminator
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102021104184A1 (de) Fahrzeugsteuersystem
DE102020130519A1 (de) Fahrzeugbetriebsparameter
DE102023120330A1 (de) Neuronales strahlungsfeld für ein fahrzeug
DE102021107247A1 (de) Domänenübersetzungsnetzwerk zur durchführung einer bildübersetzung
DE102022123358A1 (de) Frequenzbasierte merkmalsbeschränkung für ein neuronales netz
DE102022124848A1 (de) System und prozess unter verwendung homomorpher verschlüsselung, um parameter neuronaler netze für ein kraftfahrzeug zu sichern

Legal Events

Date Code Title Description
R082 Change of representative

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