DE102019110430A1 - Nebenbedingungen der simultanen positionsbestimmung und kartenerstellung in generative adversarial networks zur monokularen tiefenschätzung - Google Patents

Nebenbedingungen der simultanen positionsbestimmung und kartenerstellung in generative adversarial networks zur monokularen tiefenschätzung Download PDF

Info

Publication number
DE102019110430A1
DE102019110430A1 DE102019110430.0A DE102019110430A DE102019110430A1 DE 102019110430 A1 DE102019110430 A1 DE 102019110430A1 DE 102019110430 A DE102019110430 A DE 102019110430A DE 102019110430 A1 DE102019110430 A1 DE 102019110430A1
Authority
DE
Germany
Prior art keywords
image
gan
vector data
stereo
images
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102019110430.0A
Other languages
English (en)
Inventor
Punarjay Chakravarty
Kaushik Balakrishnan
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 DE102019110430A1 publication Critical patent/DE102019110430A1/de
Withdrawn 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
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • H04N13/268Image signal generators with monoscopic-to-stereoscopic image conversion based on depth image-based rendering [DIBR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/286Image signal generators having separate monoscopic and stereoscopic modes
    • H04N13/289Switching between monoscopic and stereoscopic modes
    • 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/10016Video; Image sequence
    • 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/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

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

Abstract

Die vorliegende Offenbarung stellt Nebenbedingungen der simultanen Positionsbestimmung und Kartenerstellung in Generative Adversarial Networks zur monokularen Tiefenschätzung bereit. Die Offenbarung betrifft Systeme, Verfahren und Vorrichtungen zum Bestimmen einer Tiefenkarte einer Umgebung auf Grundlage eines monokularen Bildes. Ein Verfahren zum Bestimmen einer Tiefenkarte beinhaltet das Empfangen einer Vielzahl von Bildern, die eine Bildfolge bilden, von einer monokularen Kamera. Das Verfahren beinhaltet das Bestimmen von Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge und das Bereitstellen der Bildfolge und der Posenvektordaten an ein Generative Adversarial Network (GAN), wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte für jedes Bild der Bildfolge zu erzeugen. Das Verfahren beinhaltet das Erzeugen eines rekonstruierten Bildes auf Grundlage einer von dem GAN empfangenen Tiefenkarte.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft im Allgemeinen Verfahren, Systeme und Vorrichtungen zur Tiefenwahrnehmung und betrifft insbesondere Verfahren, Systeme und Vorrichtungen zur Tiefenwahrnehmung unter Verwendung einer monokularen Kamera und eines Generative Adversarial Networks.
  • ALLGEMEINER STAND DER TECHNIK
  • Tiefenwahrnehmung ist eine Voraussetzung für bestimmte autonome Systeme, einschließlich autonomer Fahrsysteme oder mobiler Robotersysteme. Tiefenwahrnehmung ist eine Schlüsselkomponente bei der Durchführung bestimmter Aufgaben wie Hindernisvermeidung, Routenplanung, Kartenerstellung, Positionsbestimmung, Fußgängererkennung und Mensch-Roboter-Interaktion. Tiefenwahrnehmung wird traditionell von teuren aktiven Sensorsystemen, wie etwa LIDAR-Sensoren oder passiven Sensorsystemen, wie etwa Binokularsicht- oder Stereokameras, durchgeführt.
  • Tiefenwahrnehmung kann in Automobile, wie etwa autonome Fahrzeuge und Fahrassistenzsysteme, integriert werden. Derartige Systeme werden gegenwärtig entwickelt und eingesetzt, um Sicherheitsfunktionen bereitzustellen, eine Menge erforderlicher Benutzereingaben zu verringern oder eine Benutzerbeteiligung sogar gänzlich zu eliminieren. Zum Beispiel können einige Fahrassistenzsysteme, wie beispielsweise Unfallvermeidungssysteme, die Fahrt, Positionen und eine Geschwindigkeit des Fahrzeugs und anderer Objekte überwachen, während ein Mensch fährt. Wenn das System erfasst, dass ein Unfall oder Zusammenstoß unmittelbar bevorsteht, kann das Unfallvermeidungssystem eingreifen und eine Bremse betätigen, das Fahrzeug lenken oder andere Ausweich- oder Sicherheitsmanöver durchführen. Als ein anderes Beispiel können autonome Fahrzeuge ein Fahrzeug mit wenig oder ohne Benutzereingabe fahren, navigieren und/oder parken. Aufgrund der mit dem Fahren verbundenen Gefahren und der Fahrzeugkosten ist es äußerst wichtig, dass autonome Fahrzeuge und Fahrassistenzsysteme sicher arbeiten und in der Lage sind, in einer Reihe von unterschiedlichen Fahrumgebungen präzise auf den Straßen zu navigieren.
  • KURZDARSTELLUNG
  • Die Tiefenwahrnehmung von befahrbaren Flächen oder Bereichen ist ein wichtiger Aspekt zum Ermöglichen und Verbessern des Betriebs von autonomen Fahrzeugen oder Fahrerassistenzfunktionen. Zum Beispiel muss ein Fahrzeug genau wissen, wo sich Hindernisse oder befahrbare Flächen befinden, um sicher um Objekte herum zu navigieren. Jedoch stellt das Schätzen der Tiefenwahrnehmung einer befahrbaren Fläche eine Herausforderung dar, wenn keine Tiefeninformationen oder frühere Karteninformationen verfügbar sind.
  • Der Anmelder hat Systeme, Verfahren und Vorrichtungen zur Tiefenwahrnehmung unter Verwendung einer monokularen Kamera und eines Generative Adversarial Networks (GAN) entwickelt. Die Offenbarung bezieht sich auf Systeme, Verfahren und Vorrichtungen, die in der Lage sind, eine Tiefenwahrnehmung bereitzustellen, die zur Durchführung von Aufgaben, wie etwa Hindernisvermeidung, Routenplanung, Kartenerstellung, Positionsbestimmung, Fußgängererkennung und Mensch-Roboter-Interaktion, geeignet ist. Es versteht sich, dass die Tiefenwahrnehmung herkömmlich von teuren aktiven Sensorsystemen, wie etwa LIDAR-Sensoren oder passiven Sensorsystemen, wie etwa Binokularsicht- oder Stereokameras, durchgeführt wird. Die in der Offenbarung bereitgestellten Systeme, Verfahren und Vorrichtungen können teure bekannte Systeme ersetzen, einschließlich solcher, die LIDAR-Sensoren zum Erfassen einer Tiefe einer Umgebung verwenden. Ferner können derartige Systeme, Verfahren und Vorrichtungen, wie sie offenbart sind, detailliertere Tiefenkarten liefern als diejenigen, die von LIDAR-Systemen bereitgestellt werden, können eine größere Reichweite für die Tiefenschätzung bereitstellen und können eine schnellere Schätzung von Tiefenkarten in Echtzeit bereitstellen.
  • Darüber hinaus wurden neuronale Faltungsnetzwerke trainiert, um Tiefenkarten zu erstellen. In derartigen Systemen muss das neuronale Faltungsnetzwerk unter Verwendung von riesigen Mengen an Einzelbilddaten und entsprechenden Tiefenkarten trainiert werden. Bei derartigen Systemen gab es Schwierigkeiten, effektiv zwischen Umgebungen, wie etwa Innen- und Außenumgebungen, zu verallgemeinern. Darüber hinaus sind Tiefenkarten, die durch neuronale Faltungsnetzwerke erzeugt werden, unabhängig und berücksichtigen die zeitliche Konsistenz der Daten nicht, wenn sich die Kamera durch eine Umgebung bewegt.
  • Generative Adversarial Networks (GANs) haben gezeigt, dass die Bild-zu-Bild-Umwandlung, zum Beispiel Segmentierungs- oder Beschriftungsaufgaben, im Vergleich zu herkömmlichen neuronalen Faltungsnetzwerken mit geringeren Trainingsdatenmengen erzielt werden kann, indem erzeugende und unterscheidende Netzwerke als Gegenspieler trainiert werden. Der Anmelder stellt Systeme, Verfahren und Vorrichtungen zur Tiefenschätzung eines einzelnen Bildes unter Verwendung eines GAN vor. Derartige Systeme, Verfahren und Vorrichtungen verbessern die Leistung gegenüber bekannten Tiefenschätzungssystemen und erfordern darüber hinaus eine geringere Anzahl von Trainingsbildern. Die Verwendung eines GAN im Gegensatz zu einem regulären neuronalen Faltungsnetzwerk ermöglicht das Sammeln einer kleinen Menge von Trainingsdaten in jeder Umgebung, typischerweise Hunderte Bilder im Gegensatz zu den Hunderttausenden Bildern, die von neuronalen Faltungsnetzwerken benötigt werden. Derartige Systeme, Verfahren und Vorrichtungen verringern den Datensammlungsaufwand um eine Größenordnung.
  • Der Anmelder stellt ferner Systeme, Verfahren und Vorrichtungen zur Tiefenschätzung unter Verwendung von visuellen simultanen Positionsbestimmungs- und Kartenerstellungsverfahren (visual Simultaneous Localization and Mapping method - vSLAM-Verfahren) vor, um die zeitliche Konsistenz der von dem GAN erzeugten Tiefenkarten sicherzustellen, wenn sich die Kamera durch eine Umgebung bewegt. Das vSLAM-Modul stellt Poseninformationen der Kamera bereit, z. B. wie sehr sich die Kamera zwischen aufeinanderfolgenden Bildern bewegt hat. Derartige Poseninformationen werden dem GAN als zeitliche Nebenbedingung für das Training des GANs bereitgestellt, um das GAN weiterzuentwickeln, so dass es konsistente Tiefenkarten für aufeinanderfolgende Bilder erzeugt.
  • Bevor die Verfahren, Systeme und Vorrichtungen zum Bestimmen eines Objektidentifizierungstreffers offenbart und beschrieben werden, versteht es sich, dass diese Offenbarung nicht auf die hier offenbarten Konfigurationen, Prozessschritte und Materialien beschränkt ist, da derartige Konfigurationen, Prozessschritte und Materialien etwas variieren können. Es versteht sich zudem, dass die in dieser Schrift eingesetzte Terminologie nur zum Beschreiben von Umsetzungen verwendet wird und nicht einschränkend sein soll, da der Umfang der Offenbarung nur durch die beigefügten Patentansprüche und Äquivalente davon eingeschränkt wird.
  • Beim Beschreiben und Beanspruchen der Offenbarung wird die folgende Terminologie gemäß den nachstehend aufgeführten Definitionen verwendet.
  • Es ist anzumerken, dass die Singularformen „ein“, „eine“ und „der“, „die“, „das“ im in dieser Beschreibung und den beigefügten Patentansprüchen verwendeten Sinne Pluralbezüge beinhalten, sofern der Kontext nicht eindeutig etwas anderes vorgibt.
  • Im hier verwendeten Sinne sind die Ausdrücke „umfassend“, „beinhaltend“, „enthaltend“, „gekennzeichnet durch“ und grammatische Äquivalente davon inklusive oder offene Ausdrücke, die zusätzliche, nicht genannte Elemente oder Verfahrensschritte nicht ausschließen.
  • In einer Ausführungsform wird ein Verfahren zur Tiefenbestimmung offenbart. Das Verfahren beinhaltet das Empfangen einer Vielzahl von monokularen Bildern, die eine Bildfolge bilden, und das Bestimmen von Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge, wobei die zwei aufeinanderfolgenden Bilder nacheinander von einer monokularen Kamera aufgenommen werden. Das Verfahren beinhaltet das Bereitstellen der Bildfolge und der Posenvektordaten an ein GAN, wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte für jedes Bild der Bildfolge zu erzeugen. Das Verfahren beinhaltet das Erzeugen eines rekonstruierten Bildes auf Grundlage einer von dem GAN empfangenen Tiefenkarte.
  • In einer Ausführungsform wird ein Verfahren zum Trainieren eines GANs zur Tiefenschätzung offenbart. Das Verfahren beinhaltet das Empfangen einer Vielzahl von Stereobildern, die eine Stereobildfolge bilden, wobei jedes Bild der Stereobildfolge ein Bildpaar umfasst, das ein rechtes Bild und ein linkes Bild aufweist. Das Verfahren beinhaltet das Berechnen von Stereoposenvektordaten auf Grundlage des rechten Bildes und des linken Bildes des Bildpaares. Das Verfahren beinhaltet das Empfangen einer erzeugten Tiefenkarte von dem GAN auf Grundlage der Stereoposenvektordaten und des linken Bildes des Bildpaares. Das Verfahren beinhaltet das Berechnen eines rekonstruierten rechten Bildes auf Grundlage der erzeugten Tiefenkarte und des linken Bildes des Bildpaares. Das Verfahren beinhaltet das Berechnen einer Disparität zwischen dem rechten Bild des Bildpaares und dem rekonstruierten rechten Bild, wobei die Disparität eine zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  • Weitere Ausführungsformen und Beispiele werden in Bezug auf die nachstehenden Figuren erörtert.
  • Figurenliste
  • Nicht einschränkende und nicht erschöpfende Umsetzungen der vorliegenden Offenbarung werden in Bezug auf die folgenden Figuren beschrieben, wobei sich in den verschiedenen Ansichten gleiche Bezugszeichen auf gleiche Teile beziehen, sofern nicht anderweitig angegeben. Vorteile der vorliegenden Offenbarung können unter Bezugnahme auf die folgende Beschreibung und beigefügten Zeichnungen besser nachvollzogen werden, in welchen Folgendes gilt:
    • 1 ist ein schematisches Blockdiagramm, das eine Umsetzung eines Prozesses zum Bestimmen einer Tiefenkarte einer Umgebung gemäß einer Ausführungsform veranschaulicht;
    • 2 ist ein schematisches Blockdiagramm, das eine Umsetzung eines Prozesses zum Bestimmen einer Tiefenkarte einer Umgebung gemäß einer Ausführungsform veranschaulicht;
    • 3 ist ein schematisches Blockdiagramm, das eine Umsetzung eines Prozesses zum Bestimmen einer Tiefenkarte einer Umgebung gemäß einer Ausführungsform veranschaulicht;
    • 4 ist ein schematisches Blockdiagramm, das eine Umsetzung eines Prozesses zum Bestimmen eines Verlustsignals gemäß einer Ausführungsform veranschaulicht;
    • 5 ist ein schematisches Blockdiagramm, das eine Umsetzung eines Prozesses zum Bestimmen einer Tiefenkarte einer Umgebung gemäß einer Ausführungsform veranschaulicht;
    • 6 ist ein schematisches Blockdiagramm, das ein Verfahren zum Bestimmen einer Tiefe einer Umgebung gemäß einer Ausführungsform veranschaulicht;
    • 7 ist ein schematisches Blockdiagramm, das ein Verfahren zum Bestimmen einer Tiefe einer Umgebung gemäß einer Ausführungsform veranschaulicht;
    • 8 ist ein schematisches Blockdiagramm, das ein Verfahren zum Bestimmen einer Tiefe einer Umgebung gemäß einer Ausführungsform veranschaulicht;
    • 9 ist ein schematisches Blockdiagramm, das ein beispielhaftes Fahrzeugsteuersystem oder autonomes Fahrzeugsystem gemäß einer Ausführungsform veranschaulicht; und
    • 10 ist ein schematisches Blockdiagramm, das ein beispielhaftes Rechensystem gemäß einer Ausführungsform veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Unter nunmehriger Bezugnahme auf die Figuren veranschaulicht 1 ein schematisches Blockdiagramm eines Prozesses 100 zum Bestimmen einer Tiefenkarte einer Umgebung gemäß einer Ausführungsform. Der Prozess 100 beinhaltet das Empfangen eines monokularen Bildes 102 und das Zuführen des monokularen Bildes 102 zu einem Generator 104 eines Generative Adversarial Networks (nachfolgend „GAN“). Der GAN-Generator 104 erzeugt auf Grundlage des monokularen Bildes 102 eine Tiefenkarte 106. Ein Diskriminator 108 eines Generative Adversarial Networks („GAN“) empfängt das monokulare Bild 102 (d. h. das Originalbild) und die von dem GAN-Generator 104 erzeugte Tiefenkarte 106. Der GAN-Diskriminator 108 ist dazu ausgelegt, zwischen echten und gefälschten Bildpaaren 110 zu unterscheiden, z.B. originalen, von einer Kamera empfangenen Bildern im Vergleich zu Tiefenkartenbildern, die von dem GAN-Generator 104 erzeugt wurden.
  • In einer Ausführungsform wird das monokulare Bild 102 von einer monokularen Kamera empfangen und kann in Echtzeit von der monokularen Kamera empfangen werden. In einer Ausführungsform ist die monokulare Kamera an einer beweglichen Vorrichtung, wie etwa einem Fahrzeug, befestigt, und jedes monokulare Bild 102 wird aufgenommen, wenn sich die monokulare Kamera in einer einzigartigen Position oder in einer einzigartigen Pose befindet. In einer Ausführungsform ist die monokulare Kamera an einer Außenseite eines Fahrzeugs befestigt und stellt das monokulare Bild 102 einer Fahrzeugsteuerung bereit, und die Fahrzeugsteuerung steht in Verbindung mit dem GAN-Generator 104.
  • Das GAN umfasst eine tiefe neuronale Netzwerkarchitektur, die zwei gegnerische Netze im Rahmen eines Nullsummenspiels umfasst. In einer Ausführungsform umfasst das GAN einen GAN-Generator 104, der dazu ausgelegt ist, neue Dateninstanzen zu erzeugen, und einen GAN-Diskriminator 108, der dazu ausgelegt ist, die neuen Dateninstanzen auf Authentizität zu überprüfen. In einer derartigen Ausführungsform ist der GAN-Diskriminator 108 dazu ausgelegt, die neuen Dateninstanzen zu analysieren und zu bestimmen, ob jede neue Dateninstanz zu den tatsächlichen Trainingsdatensätzen gehört oder ob sie künstlich erzeugt wurde (siehe 110). Der GAN-Generator 104 ist dazu ausgelegt, neue Bilder zu erzeugen, die an den GAN-Diskriminator 108 übergeben werden, und der GAN-Generator 104 wird trainiert, um Bilder zu erzeugen, die den GAN-Diskriminator 108 täuschen, sodass dieser bestimmt, dass eine künstliche neue Dateninstanz zu den tatsächlichen Trainingsdaten gehört.
  • In einer Ausführungsform empfängt der GAN-Generator 104 ein monokulares Bild 102 und gibt auf Grundlage des monokularen Bildes 102 eine Tiefenkarte 106 zurück. Die Tiefenkarte 106 wird dem GAN-Diskriminator 108 zusammen mit einem Strom von Kamerabildern aus einem tatsächlichen Datensatz zugeführt, und der GAN-Diskriminator 108 bestimmt für jedes Bild eine Authentizitätsvorhersage, d. h. ob es sich bei dem Bild um ein Kamerabild aus dem tatsächlichen Datensatz oder eine von dem GAN-Generator 104 erzeugte Tiefenkarte 106 handelt. Somit beinhaltet der GAN-Generator 104 in einer derartigen Ausführungsform eine doppelte Rückkopplungsschleife, wobei sich der GAN-Diskriminator 108 in einer Rückkopplungsschleife mit der Ground Truth der Bilder befindet und sich der GAN-Generator 104 in einer Rückkopplungsschleife mit dem GAN-Diskriminator 108 befindet. In einer Ausführungsform ist der GAN-Diskriminator 108 ein neuronales Faltungsnetzwerk, das dazu ausgelegt ist, die ihm zugeführten Bilder zu kategorisieren, und der GAN-Generator 104 ist ein umgekehrtes neuronales Faltungsnetzwerk. In einer Ausführungsform versuchen sowohl der GAN-Generator 104 als auch der GAN-Diskriminator 108, eine andere und entgegengesetzte Zielfunktion oder Verlustfunktion zu optimieren. Wenn somit der GAN-Generator 104 sein Verhalten ändert, tut dies auch der GAN-Diskriminator 108 und umgekehrt. Die Verluste des GAN-Generators 104 und des GAN-Diskriminators 108 treiben sich gegenseitig voran, um die Ausgaben des GAN-Generators 104 zu verbessern.
  • In einer Ausführungsform wird der GAN-Generator 104 offline vortrainiert, bevor der GAN-Generator 104 ein monokulares Bild 102 von einer monokularen Kamera empfängt. In einer Ausführungsform wird der GAN-Diskriminator 108 vortrainiert, bevor der GAN-Generator 104 trainiert wird und dies kann einen eindeutigeren Gradienten bereitstellen. In einer Ausführungsform wird der GAN-Generator 104 unter Verwendung eines bekannten Datensatzes als Anfangstrainingsdaten für den GAN-Diskriminator 108 trainiert. Der GAN-Generator 104 kann als Anfangswert mit einer randomisierten Eingabe befüllt werden, die als Proben von einem vordefinierten latenten Raum genommen werden, und danach werden Proben, die von dem GAN-Generator 104 erzeugt wurden, von dem GAN-Diskriminator 108 bewertet.
  • In einer Ausführungsform umgeht der GAN-Generator 104 den Informationsengpass, der gewöhnlich in einem fachbekannten Encoder-Decoder-Netzwerk vorkommt. In einer derartigen Ausführungsform beinhaltet der GAN-Generator 104 Überbrückungsverbindungen zwischen jeder Schicht des GAN-Generators 104, wobei jede Überbrückungsverbindung alle Kanäle des GAN-Generators 104 verkettet. In einer Ausführungsform wird der GAN-Generator 104 optimiert, indem zwischen einem Gradientenabstiegsschritt auf dem GAN-Generator 104 und einem Schritt auf dem GAN-Diskriminator 108 abgewechselt wird. Während der Interferenzzeit wird das Generatornetz auf die gleiche Weise betrieben wie während der Trainingsphase. In einer Ausführungsform wird eine Instanz-Normalisierung auf den GAN-Generator 104 angewendet, wobei zum Testzeitpunkt Dropout angewendet wird und eine Batch-Normalisierung unter Verwendung von Statistiken des Test-Batches anstelle von aggregierten Statistiken des Trainings-Batches angewendet wird.
  • In einer Ausführungsform umfasst der GAN-Generator 104 eine Encoder-Decoder-Architektur, wie in 1 veranschaulicht. In einer derartigen Ausführungsform empfängt der GAN-Generator 104 das monokulare Bild 102 und erzeugt die Tiefenkarte 106. Der GAN-Diskriminator 108 unterscheidet zwischen einem Paar, das ein monokulares Bild 102 umfasst, und einer Tiefenkarte 106. Der GAN-Generator 104 und der GAN-Diskriminator 108 werden abwechselnd trainiert, bis der GAN-Diskriminator 108 den Unterschied zwischen einem monokularen Bild 102 und einer Tiefenkarte 106 nicht mehr erkennen kann. Dadurch kann der GAN-Generator 104 dabei unterstützt werden, Tiefenkarten zu erzeugen, die so nahe an der Ground Truth liegen wie möglich.
  • Die Tiefenkarte 106 stellt eine Bild-Bild-Übertragung dar, die vom GAN-Generator 104 durchgeführt wird und auf dem monokularen Bild 102 basiert. Beim Erzeugen der Tiefenkarte 106 lernt der GAN-Generator 104 eine Kartenerstellung von einem Rauschvektor z, um das Ausgabebild der Tiefenkarte 106 zu bestimmen. Der GAN-Generator 104 wird darauf trainiert, Ausgaben zu erzeugen, die durch einen gegnerischen GAN-Diskriminator 108 nicht von echten Bildern unterschieden werden können. In einer Ausführungsform lernt ein GAN-Generator 108, nach einem monokularen Bild 102 und einer Tiefenkarte 106 zu klassifizieren, und der GAN-Generator 104 wird darauf trainiert, den GAN-Diskriminator 108 zu täuschen. In einer derartigen Ausführungsform beobachten sowohl der GAN-Diskriminator 108 als auch der GAN-Generator 104 die Ausgabebilder der Tiefenkarte 106.
  • In einer Ausführungsform unterscheiden sich die Eingabebilder, d. h. das monokulare Bild 102, und die Ausgabebilder, d. h. die Tiefenkarte 106, hinsichtlich des Aussehens der Oberfläche, beinhalten aber beide eine Darstellung der gleichen Grundstruktur. Somit stimmt die Struktur in dem monokularen Bild 102 grob mit der Struktur in der Tiefenkarte 106 überein. In einer Ausführungsform ist die Architektur des GAN-Generators 104 auf Grundlage dieser Überlegung ausgestaltet.
  • 2 veranschaulicht ein schematisches Ablaufdiagramm eines Prozesses 200 zum Trainieren eines Generators 104 eines GANs (Generative Adversarial Network) zur Tiefenwahrnehmung. Das System 200 beinhaltet Stereokamerabilder 202 und von dem GAN-Generator 104 erzeugte Tiefenkarten 220, die auf den Stereokamerabildern 202 basieren. Die Stereokamerabilder 202 werden in einer Ausführungsform über die visuelle Stereo-Odometrie 204 (Stereo VO) verarbeitet, um Stereoposenvektoren 207, 209 zu erzeugen. Die Stereokamerabilder 202 beinhalten Stereokamerabilder, wobei jedes Stereokamerabild ein Bildpaar umfasst, das ein rechtes Bild 212, 214, 216 und ein linkes Bild 206, 208, 210 aufweist. Die Stereokamerabilder 202 sind derart aufgebaut, dass ein Bildpaar A ein linkes Bild A 206 und ein rechtes Bild A 212 umfasst; ein Bildpaar B ein linkes Bild B 208 und ein rechtes Bild B 214 umfasst; und ein Bildpaar C ein linkes Bild C 210 und ein rechtes Bild C 216 umfasst. Die Bilder, einschließlich des Bildpaares A 206, 212, des Bildpaares B 208, 214 und des Bildpaares C 210, 216, bilden eine Stereobildfolge, wobei jedes Bildpaar von Stereokameras nacheinander aufgenommen wird, während sich die Stereokameras durch eine Umgebung bewegen. Das System beinhaltet Tiefenkarten 220, die den Stereokamerabildern 202 entsprechen. In der veranschaulichten Ausführungsform wird die Tiefenkarte A 222 auf Grundlage des Bildpaars A 206, 212, wird die Tiefenkarte B 224 auf Grundlage des Bildpaars B 208, 214 und wird die Tiefenkarte C 226 auf Grundlage des Bildpaars C 210, 216 erzeugt. Der Prozess 200 beinhaltet das Bestimmen eines rekonstruierten Bildes 228 auf Grundlage des Hinzufügens eines linken Bildes 206, 208, 210 eines Stereobildpaares und einer Tiefenkarte 222, 224, 226.
  • Der Prozess der visuellen Stereo-Odometrie 204 wird umgesetzt, um einen Stereoposenvektor (siehe 207, 209) zwischen aufeinanderfolgenden Paaren von Stereokamerabildern 202 zu bestimmen. Der Prozess der visuellen Stereo-Odometrie 204 wird umgesetzt, um einen Stereoposenvektor auf Grundlage aufeinanderfolgender Einheiten der Originalbildpaare mit linkem und rechtem Bild (von den Stereokamerabildern 202) zu berechnen. Der Prozess der visuellen Stereo-Odometrie 204 wird ferner verwendet, um einen rekonstruierten Stereoposenvektor auf Grundlage aufeinanderfolgender Einheiten eines Paars, das das linke Originalbild (siehe 206, 208, 210) und das rekonstruierte rechte Bild (siehe 3 bei 302, 304, 306) umfasst, zu berechnen.
  • Die Stereoposenvektoren 207, 209 werden mittels der visuellen Stereo-Odometrie 204 berechnet. Die Stereoposenvektoren 207, 209 geben geschätzte relative Posen zum Zeitpunkt der Aufnahme eines Bildpaars mit linkem und rechtem Bild an. Ein Stereoposenvektor wird auf Grundlage aufeinanderfolgender Einheiten von Bildpaaren mit linkem und rechten Bild berechnet, wobei die aufeinanderfolgenden Einheiten nacheinander von einer Stereokamera aufgenommen werden, während sich die Stereokamera durch eine Umgebung bewegt. Der Stereoposenvektor AB 207 wird beispielsweise auf Grundlage aufeinanderfolgender Einheiten von Bildpaaren, die ein Bildpaar A 206, 212 und ein Bildpaar B 208, 214 beinhalten, berechnet. Ferner wird ein Stereoposenvektor BC 209 auf Grundlage aufeinanderfolgender Einheiten von Bildpaaren, die ein Bildpaar B 208, 214 und ein Bildpaar C 210, 216 beinhalten, berechnet. In einer Ausführungsform umfasst der Stereoposenvektor 207, 209 Poseninformationen mit sechs Freiheitsgraden (6 Degrees of Freedom - 6 DoF), die relative Posen der Kamera zum Zeitpunkt der Aufnahme jedes Bildes angeben. In einer Ausführungsform werden die Poseninformationen mit sechs Freiheitsgraden durch Verwendung visueller simultaner Positionsbestimmung und Kartenerstellung erlangt.
  • Die visuelle Stereo-Odometrie 204 ist der Prozess des Bestimmens der Position und Ausrichtung einer Kamera durch das Analysieren der zugehörigen Kamerabilder. Ein Fachmann sollte wissen, dass die visuelle Stereo-Odometrie 204 in Robotik-Anwendungen verwendet wurde, um eine Ausrichtung eines Roboters in einer Umgebung zu bestimmen. In einer Ausführungsform wird die visuelle Stereo-Odometrie 204 ferner in der Trainingsphase des GAN-Generators 104 verwendet, um Stereoposenvektoren auf Grundlage aufeinanderfolgender Einheiten von Stereobildpaaren mit linkem und rechtem Bild zu bestimmen. Die visuelle Stereo-Odometrie 204 wird ferner in der Trainingsphase verwendet, um rekonstruierte Stereoposenvektoren auf Grundlage aufeinanderfolgender Einheiten eines Bildpaars, das ein linkes Originalbild und ein rekonstruiertes rechtes Bild umfasst, zu bestimmen. In einer Ausführungsform stellt die Disparität zwischen einem Stereoposenvektor und einem rekonstruierten Stereoposenvektor ein Verlustsignal bereit, das als zeitliche Nebenbedingung verwendet werden kann, um den GAN-Generator 104 zu trainieren, um später auf Grundlage eines monokularen Bildes 102 eine Tiefenkarte 106 zu erzeugen.
  • Das rekonstruierte Bild 228 wird durch Neuanordnen der Grundformel in einem Stereoalgorithmus erzeugt. Somit ist die horizontale Disparität, d. h. der Unterschied der Pixelposition oder der 2D-Projektion eines 3D-Punktes zwischen dem linken und rechten Bild für einen Punkt im 3D-Raum, umgekehrt proportional zu der tatsächlichen Entfernung zu diesem Objekt im 3D-Raum. Das heißt, je näher ein Objekt ist, umso größer ist die Disparität. Diese Beziehung wird durch die nachstehende Formel 1 dargestellt, wobei Z gleich dem Abstand entlang der Z-Achse der Kamera ist, f gleich der Brennweite in Pixeln ist, B gleich der Basislinie in Metern ist und d gleich der Disparität in Pixeln ist. Z = f B ÷ d
    Figure DE102019110430A1_0001
  • Ferner wird in Bezug auf Formel 1 eine Tiefenkarte 222, 224, 226 von dem GAN-Generator 104 empfangen, die sich auf ein linkes Bild 206, 208, 210 der Stereokamerabilder 202 bezieht. Der Abstand entlang der Z-Achse der Kamera (siehe Variable Z) wird für alle Pixel in dem Bild direkt aus der Tiefenkarte 222, 224, 226 ausgelesen. Bei Kenntnis der Basislinie oder des Abstands zwischen den Kameras im Stereopaar (siehe Variable B) und der Brennweite der Kamera (siehe Variable f) kann die Disparität für jedes Pixel in dem linken Bild (siehe Variable d) berechnet werden. Die Disparität gibt an, wie sehr jedes Pixel entlang jeder Abtastlinie im linken Bild zum rechten Bild verschoben werden muss, um das rechte Bild als rekonstruiertes Bild 228 wiederherzustellen. Somit kann ausgehend von einer Tiefenkarte für ein linkes Bild (siehe 222, 224, 226) und dem linken Bild selbst (siehe 206, 208, 210) das rechte Bild eines Stereobildpaares wiederhergestellt werden, um das rekonstruierte Bild 228 zu erzeugen.
  • 3 veranschaulicht schematisch das Blockdiagramm eines Prozesses 300 wie in 2, der ferner die Erzeugung eines Rekonstruktionsverlustes 308 und rekonstruierter Stereoposenvektoren beinhaltet. Die rekonstruierten rechten Bilder 302, 304, 306, die in 3 veranschaulicht sind, werden durch den in 2 veranschaulichten Prozess zum Erzeugen eines rekonstruierten Bildes 228 bestimmt. Insbesondere wird das rekonstruierte rechte Bild A 302 auf Grundlage des linken Bildes A 206 und der Tiefenkarte A 222 bestimmt; wird das rekonstruierte rechte Bild B 304 auf Grundlage des linken Bildes B 208 und der Tiefenkarte B 224 bestimmt, und wird das rekonstruierte rechte Bild C 306 auf Grundlage des linken Bildes C 210 und der Tiefenkarte C 226 bestimmt. In einer Ausführungsform wird eine Vielzahl von rekonstruierten rechten Bildern 302, 304, 306 auf Grundlage einer Vielzahl von linken Bildern und Tiefenkarten 220 bestimmt. Ein Rekonstruktionsverlust 308 wird auf Grundlage eines linken Originalbildes eines Stereobildpaares mit linkem und rechtem Bild und eines rekonstruierten rechten Bildes berechnet. Der Rekonstruktionsverlust 308 wird dem GAN-Generator 104 als zeitliche Nebenbedingung während der Trainingsphase des GANs bereitgestellt, um die Erzeugung der Tiefenkarten 220 des GAN-Generators 104 zu verbessern. In einer Ausführungsform wird ein rekonstruierter Stereoposenvektor 303, 305 auf Grundlage aufeinanderfolgender Einheiten eines Bildpaars, das ein linkes Bild 206, 208, 210 und ein rekonstruiertes rechtes Bild 302, 304, 306 umfasst, erzeugt. Insbesondere wird der rekonstruierte Stereoposenvektor AB 303 auf Grundlage des linken Bildes A 206, des rekonstruierten Bildes A 302, des linken Bildes B 208 und des rekonstruierten Bildes B 304 bestimmt, und wird der rekonstruierte Stereoposenvektor BC 304 auf Grundlage des linken Bildes B 208, des rekonstruierten Bildes B 304, des linken Bildes C 210 und des rekonstruierten Bildes C 306 bestimmt.
  • Die rekonstruierten Stereoposenvektoren 303, 305 werden mittels der visuellen Stereo-Odometrie 204 berechnet. Eine Disparität zwischen einem Stereoposenvektor und einem rekonstruierten Stereoposenvektor kann berechnet und dem GAN-Generator 104 als zusätzliche zeitliche Nebenbedingung zum Trainieren des GAN-Generators 104 für das Erstellen von Tiefenkarten 220 bereitgestellt werden. Insbesondere kann eine Disparität zwischen dem Stereoposenvektor AB 207 und dem rekonstruierten Stereoposenvektor AB 303 bestimmt werden, und kann eine zusätzliche Disparität zwischen dem Stereoposenvektor BC 209 und dem rekonstruierten Stereoposenvektor BC 305 bestimmt werden.
  • In einer Ausführungsform werden die Stereobildpaare (siehe Stereokamerabilder 202) nur während der Trainingsphase des GAN-Generators 104 verwendet. Während der Test- oder Bereitstellungsphase des GAN-Generators 104 liest der trainierte GAN-Generator 104 das linke Bild eines Stereobildpaares oder ein von einer monokularen Kamera empfangenes monokulares Bild, und der GAN-Generator 104 erzeugt eine Tiefenkarte 220 auf Grundlage des linken Bildes oder des monokularen Bildes und den zeitlichen Nebenbedingungen, die dem GAN-Generator 104 während der Trainingsphase bereitgestellt werden.
  • 4 veranschaulicht ein schematisches Blockdiagramm eines Prozesses 400 zum Berechnen eines Rekonstruktionsverlustes 414. Der Prozess 400 ist dazu ausgelegt, während einer Trainingsphase des GAN-Generators 104 umgesetzt zu werden. Der Prozess 400 beinhaltet das Bereitstellen eines linken Bildes 402 von einem Stereobildpaar mit linkem und rechtem Bild (das ein linkes Bild 402 und ein rechtes Bild 404 beinhaltet) an einen GAN-Generator 406. Der GAN-Generator 406 gibt eine Tiefenkarte 408 aus. Das linke Bild 402 wird der Tiefenkarte 408 hinzugefügt, um ein rekonstruiertes rechtes Bild 410 auszugeben. Eine Disparität zwischen dem rechten Bild 404 und dem rekonstruierten rechten Bild 410 wird berechnet, um den Rekonstruktionsverlust 414 zu bestimmen. In einer Ausführungsform wird der Rekonstruktionsverlust 414 dem GAN-Generator 104 als Verlustsignal oder zeitliche Nebenbedingung während der Trainingsphase des GAN bereitgestellt.
  • 5 veranschaulicht einen Prozess 500 zum Berechnen eines Posenvektorverlustes 508. In einer Ausführungsform wird der Prozess 500 während einer Trainingsphase des GAN-Generators 104 umgesetzt. Der Prozess 500 beinhaltet das Bereitstellen linker Originalbilder 502 (von Stereobildpaaren mit linkem und rechtem Bild) an einen GAN-Generator 104. Der GAN-Generator 104 gibt Tiefenkarten 220, die den linken Originalbildern 502 entsprechen, aus. Ein linkes Originalbild 502 wird in einem Prozessschritt 504 einer entsprechenden Tiefenkarte 220 hinzugefügt, um ein rekonstruiertes rechtes Bild 506 auszugeben. Der Prozess der visuellen Stereo-Odometrie 204 wird verwendet, um den Stereoposenvektor AB 207 und den rekonstruierten Stereoposenvektor AB 303 zu bestimmen. Der Posenvektorverlust 508 ist gleich der Disparität zwischen dem Stereoposenvektor AB 207 und dem rekonstruierten Stereoposenvektor AB 303. Der Posenvektorverlust 508 dient als Verlustsignal oder zeitliche Nebenbedingung, die dem GAN-Generator 104 während der Trainingsphase des GAN-Generators 104 bereitgestellt wird.
  • 6 veranschaulicht ein schematisches Ablaufdiagramm eines Verfahrens 600 zum Bestimmen einer Tiefe einer Umgebung unter Verwendung einer monokularen Kamera. Das Verfahren 600 beginnt und eine Rechenvorrichtung, wie etwa ein Fahrzeugsteuersystem (siehe 900) oder eine beliebige andere geeignete Rechenvorrichtung, empfängt bei 602 eine Vielzahl von monokularen Bildern, die eine Bildfolge bilden. Die Rechenvorrichtung bestimmt bei 604 Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge und kann die Posenvektordaten auf Grundlage von visuellen simultanen Positionsbestimmungs- und Kartenerstellungsverfahren bestimmen. Die Rechenvorrichtung stellt einem Generative Adversarial Network (GAN) die Bildfolge und die Posenvektordaten bereit, wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte für jedes Bild der Bildfolge bei 606 zu erzeugen. Die Rechenvorrichtung empfängt bei 608 eine Tiefenkarte von dem GAN und erzeugt bei 610 ein rekonstruiertes Bild auf Grundlage der von dem GAN empfangenen Tiefenkarte.
  • 7 veranschaulicht ein schematisches Ablaufdiagramm eines Verfahrens 700 zum Bestimmen einer Tiefe einer Umgebung. Das Verfahren 700 beginnt und eine Rechenvorrichtung, wie etwa ein Fahrzeugsteuersystem (siehe 900) oder eine beliebige andere geeignete Rechenvorrichtung, empfängt bei 702 eine Vielzahl von monokularen Bildern, die eine Bildfolge bilden. Die Rechenvorrichtung bestimmt bei 704 Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge. Die Rechenvorrichtung stellt einem Generative Adversarial Network (GAN) die Bildfolge und die Posenvektordaten bereit, wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte auf Grundlage jedes Bildes der Bildfolge bei 706 zu erzeugen. Die Rechenvorrichtung empfängt bei 708 eine Tiefenkarte von dem GAN und erzeugt bei 710 ein rekonstruiertes Bild auf Grundlage der Tiefenkarte. Die Rechenvorrichtung bestimmt bei 712 rekonstruierte Posenvektordaten auf Grundlage des rekonstruierten Bildes. Die Rechenvorrichtung berechnet bei 714 eine Disparität der rekonstruierten Posenvektordaten und der Posenvektordaten auf Grundlage von visuellen simultanen Positionsbestimmungs- und Kartenerstellungsverfahren. Die Rechenvorrichtung stellt dem GAN bei 716 die Disparität als zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereit.
  • 8 veranschaulicht ein schematisches Ablaufdiagramm eines Verfahrens 800 zum Trainieren eines GANs zum Bestimmen einer Tiefe einer Umgebung. Das Verfahren 800 beginnt und eine Rechenvorrichtung, wie etwa ein Fahrzeugsteuersystem (siehe 900) oder eine beliebige andere geeignete Rechenvorrichtung, empfängt bei 802 eine Vielzahl von Stereobildern, die eine Stereobildfolge bilden, wobei jedes Bild der Stereobildfolge ein Bildpaar umfasst, das ein rechtes Bild und ein linkes Bild aufweist. Die Rechenvorrichtung berechnet Stereoposenvektordaten auf Grundlage des rechten Bildes und des linken Bildes des Bildpaares bei 804. Die Rechenvorrichtung empfängt bei 806 eine erzeugte Tiefenkarte von dem GAN auf Grundlage der Stereoposenvektordaten und des linken Bildes des Bildpaares. Die Rechenvorrichtung bestimmt bei 808 ein rekonstruiertes rechtes Bild auf Grundlage der erzeugten Tiefenkarte und des linken Bildes des Bildpaares. Die Rechenvorrichtung berechnet bei 810 eine Disparität zwischen dem rechten Bild des Bildpaares und dem rekonstruierten rechten Bild. Die Rechenvorrichtung berechnet bei 812 rekonstruierte Stereoposenvektordaten auf Grundlage des linken Bildes des Bildpaares und des rekonstruierten rechten Bildes. Die Rechenvorrichtung berechnet bei 814 eine Posendisparität zwischen den Stereoposenvektordaten und den rekonstruierten Stereoposenvektordaten. Die Rechenvorrichtung stellt dem GAN bei 816 die Disparität und die Posendisparität als zusätzliche zeitliche Nebenbedingungen zum Trainieren des GANs bereit.
  • 9 veranschaulicht ein beispielhaftes Fahrzeugsteuersystem 900, das zum autonomen oder unterstützten Fahren verwendet werden kann. Das automatisierte Fahr-/Assistenzsystem 902 kann verwendet werden, um den Betrieb eines Fahrzeugs zu automatisieren oder zu steuern oder einen menschlichen Fahrer zu unterstützen. Das automatisierte Fahr-/Assistenzsystem 902 kann zum Beispiel eines oder mehrere von Bremsung, Lenkung, Beschleunigung, Leuchten, Warnmeldungen, Fahrerbenachrichtigungen, Funksystem oder beliebigen weiteren Hilfssystemen des Fahrzeugs steuern. In einem weiteren Beispiel ist das automatisierte Fahr-/Assistenzsystem 902 unter Umständen nicht in der Lage, jegliche Steuerung des Fahrens (z. B. der Lenkung, Beschleunigung oder Bremsung) bereitzustellen, kann jedoch Benachrichtigungen und Warnmeldungen bereitstellen, um einen menschlichen Fahrer dabei zu unterstützen, sicher zu fahren. Das automatisierte Fahr-/Assistenzsystem 902 kann ein neuronales Netzwerk oder ein anderes Modell oder einen anderen Algorithmus zum Erfassen oder Lokalisieren von Objekten basierend auf Wahrnehmungsdaten verwenden, die durch einen oder mehrere Sensoren gesammelt wurden.
  • Das Fahrzeugsteuersystem 900 beinhaltet ebenfalls ein/e oder mehrere Sensorsysteme/-vorrichtungen zum Erfassen eines Vorhandenseins von Objekten in der Nähe oder innerhalb eines Sensorbereichs eines Stammfahrzeugs (z. B. eines Fahrzeugs, das das Fahrzeugsteuersystem 900 beinhaltet). Das Fahrzeugsteuersystem 900 kann zum Beispiel ein oder mehrere Radarsysteme 906, ein oder mehrere LIDAR-Systeme 908, ein oder mehrere Kamerasysteme 910, ein globales Positionsbestimmungssystem (Global Positioning System - GPS) 912 und/oder ein oder mehrere Ultraschallsysteme 914 beinhalten. Das Fahrzeugsteuersystem 900 kann einen Datenspeicher 916 zum Speichern relevanter oder nützlicher Daten zur Navigation und Sicherheit beinhalten, wie etwa Kartendaten, Fahrverlauf oder sonstige Daten. Das Fahrzeugsteuersystem 900 kann zudem einen Sendeempfänger 918 zur drahtlosen Kommunikation mit einem mobilen oder drahtlosen Netzwerk, anderen Fahrzeugen, Infrastruktur oder einem beliebigen anderen Kommunikationssystem beinhalten.
  • Das Fahrzeugsteuersystem 900 kann Fahrzeugsteueraktoren 920 beinhalten, um verschiedene Aspekte des Fahrens des Fahrzeugs zu steuern, wie beispielsweise Elektromotoren, Schalter oder andere Aktoren, um Bremsung, Beschleunigung, Lenkung oder dergleichen zu steuern. Das Fahrzeugsteuersystem 900 kann außerdem eine(n) oder mehrere Anzeigen 922, Lautsprecher 924 oder andere Vorrichtungen beinhalten, sodass einem menschlichen Fahrer oder Fahrgast Benachrichtigungen bereitgestellt werden können. Eine Anzeige 922 kann eine Head-Up-Anzeige, eine Anzeige oder einen Anzeiger am Armaturenbrett, einen Anzeigebildschirm oder einen beliebigen anderen visuellen Anzeiger beinhalten, der von einem Fahrer oder Fahrgast eines Fahrzeugs gesehen werden kann. Eine Head-Up-Anzeige kann verwendet werden, um Benachrichtigungen bereitzustellen oder Standorte von erfassten Objekten oder Überlagerungsanweisungen oder Fahrmanöver anzugeben, um einen Fahrer zu unterstützen. Die Lautsprecher 924 können einen oder mehrere Lautsprecher eines Soundsystems eines Fahrzeugs beinhalten oder können einen für die Fahrerbenachrichtigung vorgesehenen Lautsprecher beinhalten.
  • Es versteht sich, dass die Ausführungsform aus 9 lediglich als Beispiel dient. Andere Ausführungsformen können weniger oder zusätzliche Komponenten beinhalten, ohne vom Schutzumfang der Offenbarung abzuweichen. Des Weiteren können veranschaulichte Komponenten ohne Einschränkung kombiniert oder in andere Komponenten eingeschlossen werden.
  • In einer Ausführungsform ist das automatisierte Fahr-/Assistenzsystem 902 dazu ausgelegt, das Fahren oder Navigieren eines Stammfahrzeugs zu steuern. Das automatisierte Fahr-/Assistenzsystem 902 kann zum Beispiel die Fahrzeugsteueraktoren 920 steuern, um einen Weg auf einer Straße, einem Parkplatz, einer Einfahrt oder an einem anderen Ort zurückzulegen. Zum Beispiel kann das automatisierte Fahr-/Assistenzsystem 902 einen Weg basierend auf durch eine beliebige der Komponenten 906-918 bereitgestellten Informationen oder Wahrnehmungsdaten bestimmen. Die Sensorsysteme/-vorrichtungen 906-910 und 914 können verwendet werden, um Echtzeitsensordaten zu erlangen, sodass das automatisierte Fahr-/Assistenzsystem 902 in Echtzeit einen Fahrer unterstützen oder ein Fahrzeug fahren kann.
  • Unter nunmehriger Bezugnahme auf 10 ist ein Blockdiagramm einer beispielhaften Rechenvorrichtung 1000 veranschaulicht. Die Rechenvorrichtung 1000 kann dazu verwendet werden, verschiedene Vorgänge durchzuführen, wie etwa die in dieser Schrift erörterten. In einer Ausführungsform kann die Rechenvorrichtung 1000 als neuronales Netzwerk, wie etwa ein GAN-Generator 104, eine Fahrzeugsteuerung, ein Server und dergleichen, dienen. Die Rechenvorrichtung 1000 kann verschiedene Überwachungsfunktionen durchführen, wie in dieser Schrift erörtert, und ein oder mehrere Anwendungsprogramme ausführen, wie etwa die in dieser Schrift beschriebenen Anwendungsprogramme oder Funktionalitäten. Die Rechenvorrichtung 1000 kann eine beliebige aus einer großen Vielfalt von Rechenvorrichtungen sein, wie etwa ein Desktop-Computer, ein Armaturenbrett-Computer, ein Fahrzeugsteuersystem, ein Notebook-Computer, ein Server-Computer, ein Handheld-Computer, ein Tablet-Computer und dergleichen.
  • Die Rechenvorrichtung 1000 beinhaltet einen oder mehrere Prozessor(en) 1002, eine oder mehrere Speichervorrichtung(en) 1004, eine oder mehrere Schnittstelle(n) 1006, eine oder mehrere Massenspeichervorrichtung(en) 1008, eine oder mehrere Ein-/Ausgabe-(E/A-)Vorrichtung(en) 1010 und eine Anzeigevorrichtung 1030, die alle an einen Bus 1012 gekoppelt sind. Der/Die Prozessor(en) 1002 beinhaltet/beinhalten eine(n) oder mehrere Prozessoren oder Steuerungen, der/die in der/den Speichervorrichtung(en) 1004 und/oder der/den Massenspeichervorrichtung(en) 1008 gespeicherte Anweisungen ausführen. Der/Die Prozessor(en) 1002 kann/können außerdem verschiedene Typen von computerlesbaren Medien beinhalten, wie beispielsweise einen Cache-Speicher.
  • Die Speichervorrichtung(en) 1004 beinhaltet/beinhalten verschiedene computerlesbare Medien, wie etwa einen flüchtigen Speicher (z. B. Direktzugriffsspeicher (Random Access Memory - RAM) 1014) und/oder einen nichtflüchtigen Speicher (z. B. Festwertspeicher (Read-Only Memory - ROM) 1016). Die Speichervorrichtung(en) 1004 können zudem wiederbeschreibbaren ROM beinhalten, wie etwa Flash-Speicher.
  • Die Massenspeichervorrichtung(en) 1008 beinhalten verschiedene computerlesbare Medien, wie etwa Magnetbänder, Magnetplatten, optische Platten, Festkörperspeicher (z. B. Flash-Speicher) und so weiter. Wie in 10 gezeigt, ist eine besondere Massenspeichervorrichtung ein Festplattenlaufwerk 1024. Zudem können verschiedene Laufwerke in der bzw. den Massenspeichervorrichtung(en) 1008 beinhaltet sein, um ein Auslesen aus und/oder Schreiben auf die verschiedenen computerlesbaren Medien zu ermöglichen. Die Massenspeichervorrichtung(en) 1008 beinhalten Wechselmedien 1026 und/oder Nicht-Wechselmedien.
  • Die E/A-Vorrichtung(en) 1010 beinhalten verschiedene Vorrichtungen, die es ermöglichen, dass Daten und/oder andere Informationen in die Rechenvorrichtung 1000 eingegeben oder daraus abgerufen werden. Die beispielhafte(n) E/A-Vorrichtung(en) 1010 beinhaltet/beinhalten Cursorsteuervorrichtungen, Tastaturen, Tastenfelder, Mikrofone, Monitore oder andere Anzeigevorrichtungen, Lautsprecher, Drucker, Netzwerkschnittstellenkarten, Modems und dergleichen.
  • Die Anzeigevorrichtung 1030 beinhaltet eine beliebige Art von Vorrichtung, die dazu in der Lage ist, einem oder mehreren Benutzern der Rechenvorrichtung 1000 Informationen anzuzeigen. Beispiele für die Anzeigevorrichtung 1030 beinhalten einen Monitor, ein Anzeigeendgerät, eine Videoprojektionsvorrichtung und dergleichen.
  • Die Schnittstelle(n) 1006 beinhalten verschiedene Schnittstellen, die es der Rechenvorrichtung 1000 ermöglichen, mit anderen Systemen, Vorrichtungen oder Rechenumgebungen zu interagieren. (Die) beispielhafte Schnittstelle(n) 1006 kann bzw. können eine beliebige Anzahl von unterschiedlichen Netzwerkschnittstellen 1020 beinhalten, wie etwa Schnittstellen zu lokalen Netzwerken (Local Area Networks - LANs), Weitverkehrsnetzwerken (Wide Area Networks - WANs), Drahtlosnetzwerken und dem Internet. Zu (einer) andere(n) Schnittstelle(n) gehören eine Benutzerschnittstelle 1018 und eine Peripherievorrichtungsschnittstelle 1022. Die Schnittstelle(n) 1006 kann bzw. können zudem ein oder mehrere Benutzerschnittstellenelemente 1018 beinhalten. Die Schnittstelle(n) 1006 kann bzw. können zudem eine oder mehrere Peripherieschnittstellen beinhalten, wie etwa Schnittstellen für Drucker, Zeigevorrichtungen (Mäuse, Touchpad oder eine beliebige geeignete Benutzerschnittstelle, die dem Durchschnittsfachmann derzeit bekannt ist oder später entdeckt wird), Tastaturen und dergleichen.
  • Der Bus 1012 ermöglicht es dem bzw. den Prozessor(en) 1002, der bzw. den Speichervorrichtung(en) 1004, der bzw. den Schnittstelle(n) 1006, der bzw. den Massenspeichervorrichtung(en) 1008 und der bzw. den E/A-Vorrichtung(en) 1010, miteinander sowie mit anderen Vorrichtungen oder Komponenten, die an den Bus 1012 gekoppelt sind, zu kommunizieren. Der Bus 1012 stellt eine oder mehrere von mehreren Arten von Busstrukturen dar, wie etwa einen Systembus, PCI-Bus, IEEE-Bus, USB-Bus und so weiter.
  • Zum Zwecke der Veranschaulichung sind Programme und andere ausführbare Programmkomponenten in dieser Schrift als diskrete Blöcke gezeigt, obwohl es sich versteht, dass sich derartige Programme und Komponenten zu verschiedenen Zeitpunkten in unterschiedlichen Speicherkomponenten der Rechenvorrichtung 1000 befinden können, und werden durch den bzw. die Prozessor(en) 1002 ausgeführt. Alternativ können die in dieser Schrift beschriebenen Systeme und Vorgänge in Hardware oder einer Kombination aus Hardware, Software und/oder Firmware umgesetzt sein. Eine oder mehrere anwendungsspezifische integrierte Schaltungen (Application Specific Integrated Circuits - ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. einen oder mehrere der in dieser Schrift beschriebenen Systeme und Vorgänge ausführen.
  • Beispiele
  • Die folgenden Beispiele betreffen weitere Ausführungsformen.
  • Beispiel 1 ist ein Verfahren. Das Verfahren beinhaltet: das Empfangen einer Vielzahl von Bildern, die eine Bildfolge bilden; das Bestimmen von Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge; das Bereitstellen der Bildfolge und der Posenvektordaten an ein Generative Adversarial Network (GAN), wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte für jedes Bild der Bildfolge zu erzeugen; und das Erzeugen eines rekonstruierten Bildes auf Grundlage einer von dem GAN empfangenen Tiefenkarte.
  • Beispiel 2 ist ein Verfahren wie in Beispiel 1, wobei jedes Bild der Vielzahl von Bildern ein monokulares Bild ist und wobei das rekonstruierte Bild ein monokulares Bild ist.
  • Beispiel 3 ist ein Verfahren wie in einem der Beispiele 1-2, wobei die Vielzahl von Bildern von einer monokularen Kamera empfangen wird und wobei das Bestimmen der Posenvektordaten das Verwenden visueller simultaner Positionsbestimmung und Kartenerstellung zum inkrementellen Berechnen einer Karte einer Umgebung der monokularen Kamera umfasst.
  • Beispiel 4 ist ein Verfahren wie in einem der Beispiele 1-3, wobei die monokulare Kamera an einer sich bewegenden Vorrichtung angebracht ist und wobei jedes Bild der Vielzahl von Bildern an einer einzigartigen Position der monokularen Kamera aufgenommen wird.
  • Beispiel 5 ist ein Verfahren wie in einem der Beispiele 1-4, ferner umfassend das Berechnen eines Verlustsignals, das dazu ausgelegt ist, eine zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitzustellen. Das Berechnen des Verlustsignals umfasst: das Empfangen zwei aufeinanderfolgender Tiefenkarten von dem GAN, die den zwei aufeinanderfolgenden Bildern der Bildfolge entsprechen; das Bestimmen von Tiefenposenvektordaten für die zwei aufeinanderfolgenden Tiefenkarten unter Verwendung von visueller simultaner Positionsbestimmung und Kartenerstellung; und das Berechnen einer Disparität zwischen den Tiefenposenvektordaten und den Posenvektordaten, wobei die Disparität das Verlustsignal bereitstellt.
  • Beispiel 6 ist ein Verfahren wie in Beispiel 5, ferner umfassend das Bereitstellen des Verlustsignals an das GAN, um eine Nebenbedingung der geometrischen Pose zur Verwendung durch das GAN bereitzustellen, um die Konsistenz beim Erzeugen der Tiefenkarte durch das GAN zu verbessern.
  • Beispiel 7 ist ein Verfahren wie in einem der Beispiele 1-6, ferner umfassend das Bestimmen einer zeitlichen Nebenbedingung zum Trainieren des GANs. Das Bestimmen der zeitlichen Nebenbedingung umfasst: das Empfangen einer Vielzahl von Stereobildern, die eine Stereobildfolge bilden, wobei jedes Bild der Stereobildfolge ein Bildpaar umfasst, das ein rechtes Bild und ein linkes Bild aufweist; das Berechnen von Stereoposenvektordaten auf Grundlage des rechten Bildes und des linken Bildes des Bildpaares; das Empfangen einer erzeugten Tiefenkarte von dem GAN auf Grundlage der Stereoposenvektordaten und des linken Bildes des Bildpaares; das Berechnen eines rekonstruierten rechten Bildes auf Grundlage der erzeugten Tiefenkarte und des linken Bildes des Bildpaares; und das Berechnen einer Disparität zwischen dem rechten Bild des Bildpaares und dem rekonstruierten rechten Bild, wobei die Disparität die zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  • Beispiel 8 ist ein Verfahren wie in Beispiel 7, ferner umfassend das Bestimmen einer zusätzlichen zeitlichen Nebenbedingung zum Trainieren des GANs. Das Bestimmen der zusätzlichen zeitlichen Nebenbedingung umfasst: das Bestimmen von rekonstruierten Stereoposenvektordaten auf Grundlage des linken Bildes des Bildpaars und des rekonstruierten rechten Bildes; und das Berechnen einer Posendisparität zwischen den Posenvektordaten und den rekonstruierten Stereoposenvektordaten, wobei die Posendisparität die zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  • Beispiel 9 ist ein Verfahren wie in einem der Beispiele 1-8, wobei die Stereoposenvektordaten und die rekonstruierten Stereoposenvektordaten unter Verwendung der visuellen Stereo-Odometrie berechnet werden.
  • Beispiel 10 ist ein Verfahren wie in einem der Beispiele 1-9, wobei die Bildfolge sechs Bilder umfasst und die Posenvektordaten Poseninformationen mit sechs Freiheitsgraden für jedes Bild der sechs Bilder umfassen, wobei die Poseninformationen mit sechs Freiheitsgraden relative Posen einer monokularen Kamera zum Zeitpunkt der Aufnahme jedes Bilds angeben.
  • Beispiel 11 ist ein Verfahren wie in einem der Beispiele 1-10, wobei das GAN dazu ausgelegt ist, jeweils eine einzelne Tiefenkarte auf Grundlage eines einzelnen Bildes zu erzeugen, und wobei die zeitlichen Nebenbedingungen unter Verwendung der visuellen Stereo-Odometrie abgeleitet werden und das GAN trainieren, um eine zeitliche Kontinuität in der Qualität einer Vielzahl von durch das GAN erzeugten Tiefenkarten durchzusetzen.
  • Beispiel 12 ist ein Verfahren wie in einem der Beispiele 1-11, wobei die Vielzahl von Bildern von einer monokularen Kamera, die an einem Fahrzeug angebracht ist, empfangen wird, und wobei das GAN in Verbindung mit einer Fahrzeugsteuerung steht.
  • Beispiel 13 sind nichtflüchtige, computerlesbare Speichermedien, auf denen Anweisungen gespeichert sind, die bei ihrer Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren veranlassen: eine Vielzahl von Bildern zu empfangen, die eine Bildfolge bilden; Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge zu bestimmen; die Bildfolge und die Posenvektordaten einem Generative Adversarial Network (GAN) bereitzustellen, wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte für jedes Bild der Bildfolge zu erzeugen; und ein rekonstruiertes Bild auf Grundlage einer von dem GAN empfangenen Tiefenkarte zu erzeugen.
  • Beispiel 14 sind nichtflüchtige, computerlesbare Speichermedien, wie in Beispiel 13, wobei jedes Bild der Vielzahl von Bildern ein monokulares Bild ist und wobei das rekonstruierte Bild ein monokulares Bild ist.
  • Beispiel 15 sind nichtflüchtige, computerlesbare Speichermedien, wie in einem der Beispiele 13-14, wobei die Vielzahl von Bildern von einer monokularen Kamera empfangen wird und wobei das Bestimmen der Posenvektordaten das Verwenden visueller simultaner Positionsbestimmung und Kartenerstellung zum inkrementellen Berechnen einer Karte einer Umgebung der monokularen Kamera umfasst.
  • Beispiel 16 sind nichtflüchtige, computerlesbare Speichermedien, wie in einem der Beispiele 13-15, wobei die monokulare Kamera an einer sich bewegenden Vorrichtung angebracht ist und wobei jedes Bild der Vielzahl von Bildern an einer einzigartigen Position der monokularen Kamera aufgenommen wird.
  • Beispiel 17 sind nichtflüchtige, computerlesbare Speichermedien, wie in einem der Beispiele 13-16, wobei die Anweisungen den einen oder die mehreren Prozessoren ferner veranlassen, ein Verlustsignal zu berechnen, das dazu ausgelegt ist, eine zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitzustellen. Das Berechnen des Verlustsignals umfasst: das Empfangen zwei aufeinanderfolgender Tiefenkarten von dem GAN, die den zwei aufeinanderfolgenden Bildern der Bildfolge entsprechen; das Bestimmen von Tiefenposenvektordaten für die zwei aufeinanderfolgenden Tiefenkarten unter Verwendung von visueller simultaner Positionsbestimmung und Kartenerstellung; und das Berechnen einer Disparität zwischen den Tiefenposenvektordaten und den Posenvektordaten, wobei die Disparität das Verlustsignal bereitstellt.
  • Beispiel 18 sind nichtflüchtige, computerlesbare Speichermedien, wie in einem der Beispiele 13-17, wobei die Anweisungen den einen oder die mehreren Prozessoren ferner veranlassen, dem GAN das Verlustsignal bereitzustellen, um eine Nebenbedingung der geometrischen Pose zur Verwendung durch das GAN bereitzustellen, um die Konsistenz beim Erzeugen der Tiefenkarte durch das GAN zu verbessern.
  • Beispiel 19 sind nichtflüchtige, computerlesbare Speichermedien, wie in einem der Beispiele 13-18, wobei die Anweisungen den einen oder die mehreren Prozessoren ferner veranlassen, eine zeitliche Nebenbedingung zum Trainieren des GANs zu bestimmen. Das Bestimmen der zeitlichen Nebenbedingung umfasst: das Empfangen einer Vielzahl von Stereobildern, die eine Stereobildfolge bilden, wobei jedes Bild der Stereobildfolge ein Bildpaar umfasst, das ein rechtes Bild und ein linkes Bild aufweist; das Berechnen von Stereoposenvektordaten auf Grundlage des rechten Bildes und des linken Bildes des Bildpaares; das Empfangen einer erzeugten Tiefenkarte von dem GAN auf Grundlage der Stereoposenvektordaten und des linken Bildes des Bildpaares; das Berechnen eines rekonstruierten rechten Bildes auf Grundlage der erzeugten Tiefenkarte und des linken Bildes des Bildpaares; und das Berechnen einer Disparität zwischen dem rechten Bild des Bildpaares und dem rekonstruierten rechten Bild, wobei die Disparität die zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  • Beispiel 20 sind nichtflüchtige, computerlesbare Speichermedien, wie in einem der Beispiele 13-19, wobei die Anweisungen den einen oder die mehreren Prozessoren ferner veranlassen, eine zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs zu bestimmen. Das Bestimmen der zusätzlichen zeitlichen Nebenbedingung umfasst: das Bestimmen von rekonstruierten Stereoposenvektordaten auf Grundlage des linken Bildes des Bildpaars und des rekonstruierten rechten Bildes; und das Berechnen einer Posendisparität zwischen den Posenvektordaten und den rekonstruierten Stereoposenvektordaten, wobei die Posendisparität die zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  • Beispiel 21 ist ein System oder eine Vorrichtung, das bzw. die Mittel zum Umsetzen eines Verfahrens, eines Systems oder einer Vorrichtung nach einem der Beispiele 1-20 beinhaltet.
  • In der vorstehenden Offenbarung wurde auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und in denen zur Veranschaulichung konkrete Umsetzungen gezeigt sind, in denen die Offenbarung ausgeführt sein kann. Es versteht sich, dass andere Umsetzungen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „ein Ausführungsbeispiel“, „eine beispielhafte Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft beinhalten kann, doch es muss nicht unbedingt jede Ausführungsform diese(s) bestimmte Merkmal, Struktur oder Eigenschaft beinhalten. Darüber hinaus beziehen sich derartige Formulierungen nicht unbedingt auf dieselbe Ausführungsform. Ferner sei darauf hingewiesen, dass, wenn ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben ist, es im Bereich des Fachwissens des Fachmanns liegt, ein(e) derartige(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen umzusetzen, ob dies nun ausdrücklich beschrieben ist oder nicht.
  • Umsetzungen der in dieser Schrift offenbarten Systeme, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder nutzen, der Computerhardware beinhaltet, wie etwa einen oder mehrere Prozessoren und Systemspeicher, wie in dieser Schrift erläutert. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können zudem physische und andere computerlesbare Medien zum Transportieren oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen beinhalten. Bei derartigen computerlesbaren Medien kann es sich um beliebige verfügbare Medien handeln, auf die durch ein Universal- oder Spezialcomputersystem zugegriffen werden kann. Bei computerlesbaren Medien, auf denen computerausführbare Anweisungen gespeichert sind, handelt es sich um Computerspeichermedien (-vorrichtungen). Bei computerlesbaren Medien, die computerausführbare Anweisungen transportieren, handelt es sich um Übertragungsmedien. Somit können Umsetzungen der Offenbarung beispielsweise und nicht einschränkend mindestens zwei deutlich unterschiedliche Arten von computerlesbaren Medien umfassen: Computerspeichermedien (-vorrichtungen) und Übertragungsmedien.
  • Computerspeichermedien (-vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke (Solid State Drives, „SSDs“) (z. B. auf Grundlage von RAM), Flash-Speicher, Phasenwechselspeicher (Phase-Change Memory, „PCM“), andere Speicherarten, andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das dazu verwendet werden kann, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu speichern, und auf das durch einen Universal- oder Spezialcomputer zugegriffen werden kann.
  • Eine Umsetzung der in dieser Schrift offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetzwerk kommunizieren. Ein „Netzwerk“ ist als eine oder mehrere Datenverbindungen definiert, die den Transport elektronischer Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wenn Informationen über ein Netzwerk oder eine andere (entweder festverdrahtete, drahtlose oder eine Kombination aus festverdrahteter oder drahtloser) Kommunikationsverbindung an einen Computer übertragen oder diesem bereitgestellt werden, sieht der Computer die Verbindung korrekt als Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen beinhalten, die dazu verwendet werden können, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu transportieren, und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus dem Vorstehenden sollten ebenfalls im Umfang computerlesbarer Medien enthalten sein.
  • Computerausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, die bei Ausführung auf einem Prozessor einen Universalcomputer, Spezialcomputer oder eine Spezialverarbeitungsvorrichtung dazu veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen durchzuführen. Die computerausführbaren Anweisungen können zum Beispiel Binärdateien, Anweisungen in einem Zwischenformat wie etwa Assemblersprache oder auch Quellcode sein. Obwohl der Gegenstand in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben worden ist, versteht es sich, dass der in den beigefügten Patentansprüchen definierte Gegenstand nicht unbedingt auf die vorstehend beschriebenen Merkmale oder Handlungen beschränkt ist. Die beschriebenen Merkmale und Handlungen werden vielmehr als beispielhafte Formen der Umsetzung der Patentansprüche offenbart.
  • Der Fachmann wird verstehen, dass die Offenbarung in Network-Computing-Umgebungen mit vielen Arten von Computersystemanordnungen umgesetzt werden kann, zu denen ein Armaturenbrett-Fahrzeugcomputer, Personal Computer, Desktop-Computer, Laptop-Computer, Nachrichtenprozessoren, Handheld-Vorrichtungen, Multiprozessorsysteme, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Mainframe-Computer, Mobiltelefone, PDAs, Tablets, Pager, Router, Switches, verschiedene Speichervorrichtungen und dergleichen gehören. Die Offenbarung kann zudem in verteilten Systemumgebungen umgesetzt werden, in denen sowohl lokale Computersysteme als auch Remote-Computersysteme, die durch ein Netzwerk (entweder durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination aus festverdrahteten und drahtlosen Datenverbindungen) verbunden sind, Aufgaben ausführen. In einer verteilten Systemumgebung können sich Programmmodule sowohl in lokalen Speichervorrichtungen als auch in Remote-Speichervorrichtungen befinden.
  • Ferner können die in dieser Schrift beschriebenen Funktionen gegebenenfalls in einem oder mehreren der Folgenden ausgeführt werden: Hardware, Software, Firmware, digitalen Komponenten oder analogen Komponenten. Eine oder mehrere anwendungsspezifische integrierte Schaltungen (Application Specific Integrated Circuits - ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. einen oder mehrere der in dieser Schrift beschriebenen Systeme und Vorgänge ausführen. Bestimmte Ausdrücke werden in der gesamten Beschreibung und den Patentansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Die Begriffe „Module“ und „Komponenten“ werden in den Bezeichnungen von bestimmten Komponenten verwendet, um ihre Umsetzungsunabhängigkeit in Software, Hardware, Schaltungen, Sensoren oder dergleichen wiederzugeben. Der Fachmann wird verstehen, dass auf Komponenten mit unterschiedlichen Bezeichnungen Bezug genommen werden kann. In dieser Schrift soll nicht zwischen Komponenten unterschieden werden, die sich dem Namen nach unterscheiden, nicht jedoch der Funktion nach.
  • Es ist anzumerken, dass die vorstehend erörterten Sensorausführungsformen Computerhardware, -software, -firmware oder eine beliebige Kombination daraus umfassen können, um mindestens einen Teil ihrer Funktionen durchzuführen. Ein Sensor kann zum Beispiel einen Computercode beinhalten, der dazu konfiguriert ist, in einem oder mehreren Prozessoren ausgeführt zu werden, und kann eine Hardware-Logikschaltung/elektrische Schaltung beinhalten, die durch den Computercode gesteuert wird. Diese beispielhaften Vorrichtungen sind in dieser Schrift zum Zwecke der Veranschaulichung bereitgestellt und sollen nicht einschränkend sein. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen umgesetzt werden, wie es dem einschlägigen Fachmann bekannt ist.
  • Mindestens einige Ausführungsformen der Offenbarung sind auf Computerprogrammprodukte gerichtet, die eine derartige Logik (z. B. in Form von Software) umfassen, die auf einem beliebigen computernutzbaren Medium gespeichert ist. Derartige Software veranlasst bei Ausführung in einer oder mehreren Datenverarbeitungsvorrichtungen eine Vorrichtung dazu, wie in dieser Schrift beschrieben zu funktionieren.
  • Wenngleich vorstehend verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben wurden, versteht es sich, dass diese lediglich als Beispiele dienen und nicht als Einschränkung. Für den einschlägigen Fachmann ist ersichtlich, dass verschiedene Änderungen in Form und Detail vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Somit sollten die Breite und der Umfang der vorliegenden Offenbarung durch keine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern lediglich gemäß den folgenden Patentansprüchen und ihren Äquivalenten definiert sein. Die vorstehende Beschreibung ist zum Zwecke der Veranschaulichung und Beschreibung dargelegt worden. Sie erhebt keinerlei Anspruch auf Vollständigkeit und soll die Offenbarung nicht auf die konkrete offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der vorstehenden Lehren möglich. Ferner ist anzumerken, dass beliebige oder alle der vorangehend genannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination verwendet werden können, um zusätzliche Hybridumsetzungen der Offenbarung zu bilden.
  • Ferner soll die Offenbarung, obwohl konkrete Umsetzungen der Offenbarung beschrieben und veranschaulicht wurden, nicht auf die beschriebenen und veranschaulichten konkreten Formen oder Anordnungen von Teilen beschränkt werden. Der Umfang der Offenbarung ist durch die beigefügten Patentansprüche, jegliche zukünftigen hier und in anderen Anmeldungen beantragten Patentansprüche und deren Äquivalente zu definieren.
  • Gemäß der vorliegenden Erfindung beinhaltet das Verfahren: das Empfangen einer Vielzahl von Bildern, die eine Bildfolge bilden; das Bestimmen von Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge; das Bereitstellen der Bildfolge und der Posenvektordaten an ein Generative Adversarial Network (GAN), wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte für jedes Bild der Bildfolge zu erzeugen; und das Erzeugen eines rekonstruierten Bildes auf Grundlage einer von dem GAN empfangenen Tiefenkarte.
  • Gemäß einer Ausführungsform ist jedes Bild der Vielzahl von Bildern ein monokulares Bild, wobei das rekonstruierte Bild ein monokulares Bild ist.
  • Gemäß einer Ausführungsform wird die Vielzahl von Bildern von einer monokularen Kamera empfangen, wobei das Bestimmen der Posenvektordaten das Verwenden visueller simultaner Positionsbestimmung und Kartenerstellung zum inkrementellen Berechnen einer Karte einer Umgebung der monokularen Kamera umfasst.
  • Gemäß einer Ausführungsform ist die monokulare Kamera an einer sich bewegenden Vorrichtung angebracht, wobei jedes Bild der Vielzahl von Bildern an einer einzigartigen Position der monokularen Kamera aufgenommen wird.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Berechnen eines Verlustsignals, das dazu ausgelegt ist, eine zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitzustellen, wobei das Berechnen des Verlustsignals Folgendes umfasst: das Empfangen zwei aufeinanderfolgender Tiefenkarten von dem GAN, die den zwei aufeinanderfolgenden Bildern der Bildfolge entsprechen; das Bestimmen von Tiefenposenvektordaten für die zwei aufeinanderfolgenden Tiefenkarten unter Verwendung von visueller simultaner Positionsbestimmung und Kartenerstellung; und das Berechnen einer Disparität zwischen den Tiefenposenvektordaten und den Posenvektordaten, wobei die Disparität das Verlustsignal bereitstellt.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Bereitstellen des Verlustsignals an das GAN, um eine Nebenbedingung der geometrischen Pose zur Verwendung durch das GAN bereitzustellen, um die Konsistenz beim Erzeugen der Tiefenkarte durch das GAN zu verbessern.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner durch das Bestimmen einer zeitlichen Nebenbedingung zum Trainieren des GANs gekennzeichnet, wobei das Bestimmen der zeitlichen Nebenbedingung Folgendes umfasst: das Empfangen einer Vielzahl von Stereobildern, die eine Stereobildfolge bilden, wobei jedes Bild der Stereobildfolge ein Bildpaar umfasst, das ein rechtes Bild und ein linkes Bild aufweist; das Berechnen von Stereoposenvektordaten auf Grundlage des rechten Bildes und des linken Bildes des Bildpaares; das Empfangen einer erzeugten Tiefenkarte von dem GAN auf Grundlage der Stereoposenvektordaten und des linken Bildes des Bildpaares; das Berechnen eines rekonstruierten rechten Bildes auf Grundlage der erzeugten Tiefenkarte und des linken Bildes des Bildpaares; und das Berechnen einer Disparität zwischen dem rechten Bild des Bildpaares und dem rekonstruierten rechten Bild, wobei die Disparität die zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner durch das Bestimmen einer zusätzlichen zeitlichen Nebenbedingung zum Trainieren des GANs gekennzeichnet, wobei das Bestimmen der zusätzlichen zeitlichen Nebenbedingung Folgendes umfasst: das Bestimmen von rekonstruierten Stereoposenvektordaten auf Grundlage des linken Bildes des Bildpaares und des rekonstruierten rechten Bildes; und das Berechnen einer Posendisparität zwischen den Posenvektordaten und den rekonstruierten Stereoposenvektordaten, wobei die Posendisparität die zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  • Gemäß einer Ausführungsform werden die Stereoposenvektordaten und die rekonstruierten Stereoposenvektordaten unter Verwendung der visuellen Stereo-Odometrie berechnet.
  • Gemäß einer Ausführungsform umfasst die Bildfolge sechs Bilder und die Posenvektordaten umfassen Poseninformationen mit sechs Freiheitsgraden für jedes Bild der sechs Bilder, wobei die Poseninformationen mit sechs Freiheitsgraden relative Posen einer monokularen Kamera zum Zeitpunkt der Aufnahme jedes Bilds angeben.
  • Gemäß einer Ausführungsform ist das GAN dazu ausgelegt, jeweils eine einzelne Tiefenkarte auf Grundlage eines einzelnen Bildes zu erzeugen, wobei die zeitlichen Nebenbedingungen unter Verwendung der visuellen Stereo-Odometrie abgeleitet werden und das GAN trainieren, um eine zeitliche Kontinuität in der Qualität einer Vielzahl von durch das GAN erzeugten Tiefenkarten durchzusetzen.
  • Gemäß einer Ausführungsform wird die Vielzahl von Bildern von einer monokularen Kamera, die an einem Fahrzeug angebracht ist, empfangen, wobei das GAN in Verbindung mit einer Fahrzeugsteuerung steht.
  • Gemäß der vorliegenden Erfindung sind nichtflüchtige, computerlesbare Speichermedien bereitgestellt, auf denen Anweisungen gespeichert sind, die bei Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren veranlassen: eine Vielzahl von Bildern zu empfangen, die eine Bildfolge bilden; Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge zu bestimmen; die Bildfolge und die Posenvektordaten einem Generative Adversarial Network (GAN) bereitzustellen, wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte für jedes Bild der Bildfolge zu erzeugen; und ein rekonstruiertes Bild auf Grundlage einer von dem GAN empfangenen Tiefenkarte zu erzeugen.
  • Gemäß einer Ausführungsform ist jedes Bild der Vielzahl von Bildern ein monokulares Bild, wobei das rekonstruierte Bild ein monokulares Bild ist.
  • Gemäß einer Ausführungsform wird die Vielzahl von Bildern von einer monokularen Kamera empfangen, wobei das Bestimmen der Posenvektordaten das Verwenden visueller simultaner Positionsbestimmung und Kartenerstellung zum inkrementellen Berechnen einer Karte einer Umgebung der monokularen Kamera umfasst.
  • Gemäß einer Ausführungsform ist die monokulare Kamera an einer sich bewegenden Vorrichtung angebracht, wobei jedes Bild der Vielzahl von Bildern an einer einzigartigen Position der monokularen Kamera aufgenommen wird.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner gekennzeichnet durch das Berechnen eines Verlustsignals, das dazu ausgelegt ist, eine zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitzustellen, wobei das Berechnen des Verlustsignals Folgendes umfasst: das Empfangen zwei aufeinanderfolgender Tiefenkarten von dem GAN, die den zwei aufeinanderfolgenden Bildern der Bildfolge entsprechen; das Bestimmen von Tiefenposenvektordaten für die zwei aufeinanderfolgenden Tiefenkarten unter Verwendung von visueller simultaner Positionsbestimmung und Kartenerstellung; und das Berechnen einer Disparität zwischen den Tiefenposenvektordaten und den Posenvektordaten, wobei die Disparität das Verlustsignal bereitstellt.
  • Gemäß einer Ausführungsform veranlassen die Anweisungen ferner den einen oder die mehreren Prozessoren, dem GAN das Verlustsignal bereitzustellen, um eine Nebenbedingung der geometrischen Pose zur Verwendung durch das GAN bereitzustellen, um die Konsistenz beim Erzeugen der Tiefenkarte durch das GAN zu verbessern.
  • Gemäß einer Ausführungsform veranlassen die Anweisungen ferner den einen oder die mehreren Prozessoren, eine zeitliche Nebenbedingung zum Trainieren des GANs zu bestimmen, wobei das Bestimmen der zeitlichen Nebenbedingung Folgendes umfasst: das Empfangen einer Vielzahl von Stereobildern, die eine Stereobildfolge bilden, wobei jedes Bild der Stereobildfolge ein Bildpaar umfasst, das ein rechtes Bild und ein linkes Bild aufweist; das Berechnen von Stereoposenvektordaten auf Grundlage des rechten Bildes und des linken Bildes des Bildpaares; das Empfangen einer erzeugten Tiefenkarte von dem GAN auf Grundlage der Stereoposenvektordaten und des linken Bildes des Bildpaares; das Berechnen eines rekonstruierten rechten Bildes auf Grundlage der erzeugten Tiefenkarte und des linken Bildes des Bildpaares; und das Berechnen einer Disparität zwischen dem rechten Bild des Bildpaares und dem rekonstruierten rechten Bild, wobei die Disparität die zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  • Gemäß einer Ausführungsform veranlassen die Anweisungen ferner den einen oder die mehreren Prozessoren, eine zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs zu bestimmen, wobei das Bestimmen der zusätzlichen zeitlichen Nebenbedingung Folgendes umfasst: das Bestimmen von rekonstruierten Stereoposenvektordaten auf Grundlage des linken Bildes des Bildpaares und des rekonstruierten rechten Bildes; und das Berechnen einer Posendisparität zwischen den Posenvektordaten und den rekonstruierten Stereoposenvektordaten, wobei die Posendisparität die zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.

Claims (15)

  1. Verfahren, umfassend: Empfangen einer Vielzahl von Bildern, die eine Bildfolge bilden; Bestimmen von Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge; Bereitstellen der Bildfolge und der Posenvektordaten an ein Generative Adversarial Network (GAN), wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte für jedes Bild der Bildfolge zu erzeugen; und Erzeugen eines rekonstruierten Bildes auf Grundlage einer von dem GAN empfangenen Tiefenkarte.
  2. Verfahren nach Anspruch 1, wobei jedes Bild der Vielzahl von Bildern ein monokulares Bild ist und wobei das rekonstruierte Bild ein monokulares Bild ist, und wobei die Vielzahl von Bildern ferner von einer monokularen Kamera empfangen wird und wobei das Bestimmen der Posenvektordaten das Verwenden visueller simultaner Positionsbestimmung und Kartenerstellung zum inkrementellen Berechnen einer Karte einer Umgebung der monokularen Kamera umfasst.
  3. Verfahren nach Anspruch 2, wobei die monokulare Kamera an einer sich bewegenden Vorrichtung angebracht ist und wobei jedes Bild der Vielzahl von Bildern an einer einzigartigen Position der monokularen Kamera aufgenommen wird.
  4. Verfahren nach Anspruch 1, ferner umfassend das Berechnen eines Verlustsignals, das dazu ausgelegt ist, eine zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitzustellen, wobei das Berechnen des Verlustsignals Folgendes umfasst: Empfangen zwei aufeinanderfolgender Tiefenkarten von dem GAN, die den zwei aufeinanderfolgenden Bildern der Bildfolge entsprechen; Bestimmen von Tiefenposenvektordaten für die zwei aufeinanderfolgenden Tiefenkarten unter Verwendung von visueller simultaner Positionsbestimmung und Kartenerstellung; und Berechnen einer Disparität zwischen den Tiefenposenvektordaten und den Posenvektordaten, wobei die Disparität das Verlustsignal bereitstellt.
  5. Verfahren nach Anspruch 4, ferner umfassend das Bereitstellen des Verlustsignals an das GAN, um eine Nebenbedingung der geometrischen Pose zur Verwendung durch das GAN bereitzustellen, um die Konsistenz beim Erzeugen der Tiefenkarte durch das GAN zu verbessern.
  6. Verfahren nach Anspruch 1, ferner umfassend das Bestimmen einer zeitlichen Nebenbedingung zum Trainieren des GANs, wobei das Bestimmen der zeitlichen Nebenbedingung Folgendes umfasst: Empfangen einer Vielzahl von Stereobildern, die eine Stereobildfolge bilden, wobei jedes Bild der Stereobildfolge ein Bildpaar umfasst, das ein rechtes Bild und ein linkes Bild aufweist; Berechnen von Stereoposenvektordaten auf Grundlage des rechten Bildes und des linken Bildes des Bildpaares; Empfangen einer erzeugten Tiefenkarte von dem GAN auf Grundlage der Stereoposenvektordaten und des linken Bildes des Bildpaares; Berechnen eines rekonstruierten rechten Bildes auf Grundlage der erzeugten Tiefenkarte und des linken Bildes des Bildpaares; und Berechnen einer Disparität zwischen dem rechten Bild des Bildpaares und dem rekonstruierten rechten Bild, wobei die Disparität die zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  7. Verfahren nach Anspruch 6, ferner umfassend das Bestimmen einer zusätzlichen zeitlichen Nebenbedingung zum Trainieren des GANs, wobei das Bestimmen der zusätzlichen zeitlichen Nebenbedingung Folgendes umfasst: Bestimmen rekonstruierter Stereoposenvektordaten auf Grundlage des linken Bildes des Bildpaares und des rekonstruierten rechten Bildes; und Berechnen einer Posendisparität zwischen den Posenvektordaten und den rekonstruierten Stereoposenvektordaten, wobei die Posendisparität die zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  8. Verfahren nach Anspruch 6, wobei eines oder mehrere der Folgenden gelten: die Stereoposenvektordaten und die rekonstruierten Stereoposenvektordaten werden unter Verwendung der visuellen Stereo-Odometrie berechnet; die Bildfolge umfasst sechs Bilder und die Posenvektordaten umfassen Poseninformationen mit sechs Freiheitsgraden für jedes Bild der sechs Bilder, wobei die Poseninformationen mit sechs Freiheitsgraden relative Posen einer monokularen Kamera zum Zeitpunkt der Aufnahme jedes Bilds angeben; das GAN ist dazu ausgelegt, jeweils eine einzelne Tiefenkarte auf Grundlage eines einzelnen Bildes zu erzeugen, wobei die zeitlichen Nebenbedingungen unter Verwendung der visuellen Stereo-Odometrie abgeleitet werden und das GAN trainieren, um eine zeitliche Kontinuität in der Qualität einer Vielzahl von durch das GAN erzeugten Tiefenkarten durchzusetzen; oder die Vielzahl von Bildern wird von einer monokularen Kamera, die an einem Fahrzeug angebracht ist, empfangen, wobei das GAN in Verbindung mit einer Fahrzeugsteuerung steht.
  9. Nichtflüchtige computerlesbare Speichermedien, auf denen Anweisungen gespeichert sind, die bei Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren veranlassen: eine Vielzahl von Bildern, die eine Bildfolge bilden, zu empfangen; Posenvektordaten für zwei aufeinanderfolgende Bilder der Bildfolge zu bestimmen; die Bildfolge und die Posenvektordaten einem Generative Adversarial Network (GAN) bereitzustellen, wobei das GAN unter Verwendung zeitlicher Nebenbedingungen trainiert wird, um eine Tiefenkarte für jedes Bild der Bildfolge zu erzeugen; und ein rekonstruiertes Bild auf Grundlage einer von dem GAN empfangenen Tiefenkarte zu erzeugen.
  10. Nichtflüchtige, computerlesbare Speichermedien nach Anspruch 9, wobei jedes Bild der Vielzahl von Bildern ein monokulares Bild ist und wobei das rekonstruierte Bild ein monokulares Bild ist, und wobei die Vielzahl von Bildern ferner von einer monokularen Kamera empfangen wird, wobei das Bestimmen der Posenvektordaten das Verwenden visueller simultaner Positionsbestimmung und Kartenerstellung zum inkrementellen Berechnen einer Karte einer Umgebung der monokularen Kamera umfasst.
  11. Nichtflüchtige, computerlesbare Speichermedien nach Anspruch 10, wobei die monokulare Kamera an einer sich bewegenden Vorrichtung angebracht ist und wobei jedes Bild der Vielzahl von Bildern an einer einzigartigen Position der monokularen Kamera aufgenommen wird.
  12. Nichtflüchtige, computerlesbare Speichermedien nach Anspruch 9, wobei die Anweisungen den einen oder die mehreren Prozessoren ferner veranlassen, ein Verlustsignal zu berechnen, das dazu ausgelegt ist, eine zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitzustellen, wobei das Berechnen des Verlustsignals Folgendes umfasst: Empfangen zwei aufeinanderfolgender Tiefenkarten von dem GAN, die den zwei aufeinanderfolgenden Bildern der Bildfolge entsprechen; Bestimmen von Tiefenposenvektordaten für die zwei aufeinanderfolgenden Tiefenkarten unter Verwendung von visueller simultaner Positionsbestimmung und Kartenerstellung; und Berechnen einer Disparität zwischen den Tiefenposenvektordaten und den Posenvektordaten, wobei die Disparität das Verlustsignal bereitstellt.
  13. Nichtflüchtige, computerlesbare Speichermedien nach Anspruch 12, wobei die Anweisungen den einen oder die mehreren Prozessoren ferner veranlassen, dem GAN das Verlustsignal bereitzustellen, um eine Nebenbedingung der geometrischen Pose zur Verwendung durch das GAN bereitzustellen, um die Konsistenz beim Erzeugen der Tiefenkarte durch das GAN zu verbessern.
  14. Nichtflüchtige, computerlesbare Speichermedien nach Anspruch 9, wobei die Anweisungen den einen oder die mehreren Prozessoren ferner veranlassen, eine zeitliche Nebenbedingung zum Trainieren des GANs zu bestimmen, wobei das Bestimmen der zeitlichen Nebenbedingung Folgendes umfasst: Empfangen einer Vielzahl von Stereobildern, die eine Stereobildfolge bilden, wobei jedes Bild der Stereobildfolge ein Bildpaar umfasst, das ein rechtes Bild und ein linkes Bild aufweist; Berechnen von Stereoposenvektordaten auf Grundlage des rechten Bildes und des linken Bildes des Bildpaares; Empfangen einer erzeugten Tiefenkarte von dem GAN auf Grundlage der Stereoposenvektordaten und des linken Bildes des Bildpaares; Berechnen eines rekonstruierten rechten Bildes auf Grundlage der erzeugten Tiefenkarte und des linken Bildes des Bildpaares; und Berechnen einer Disparität zwischen dem rechten Bild des Bildpaares und dem rekonstruierten rechten Bild, wobei die Disparität die zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
  15. Nichtflüchtige, computerlesbare Speichermedien nach Anspruch 14, wobei die Anweisungen den einen oder die mehreren Prozessoren ferner veranlassen, eine zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs zu bestimmen, wobei das Bestimmen der zusätzlichen zeitlichen Nebenbedingung Folgendes umfasst: Bestimmen rekonstruierter Stereoposenvektordaten auf Grundlage des linken Bildes des Bildpaares und des rekonstruierten rechten Bildes; und Berechnen einer Posendisparität zwischen den Posenvektordaten und den rekonstruierten Stereoposenvektordaten, wobei die Posendisparität die zusätzliche zeitliche Nebenbedingung zum Trainieren des GANs bereitstellt.
DE102019110430.0A 2018-04-24 2019-04-22 Nebenbedingungen der simultanen positionsbestimmung und kartenerstellung in generative adversarial networks zur monokularen tiefenschätzung Withdrawn DE102019110430A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/961,498 US10810754B2 (en) 2018-04-24 2018-04-24 Simultaneous localization and mapping constraints in generative adversarial networks for monocular depth estimation
US15/961,498 2018-04-24

Publications (1)

Publication Number Publication Date
DE102019110430A1 true DE102019110430A1 (de) 2019-10-24

Family

ID=68105169

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019110430.0A Withdrawn DE102019110430A1 (de) 2018-04-24 2019-04-22 Nebenbedingungen der simultanen positionsbestimmung und kartenerstellung in generative adversarial networks zur monokularen tiefenschätzung

Country Status (3)

Country Link
US (1) US10810754B2 (de)
CN (1) CN110399775A (de)
DE (1) DE102019110430A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7241775B2 (ja) 2018-05-17 2023-03-17 ナイアンティック, インコーポレイテッド 深度推定システムの自己教師ありトレーニング
CN116088783A (zh) * 2018-07-24 2023-05-09 奇跃公司 用于确定和/或评价图像显示设备的定位地图的方法和装置
US11107230B2 (en) * 2018-09-14 2021-08-31 Toyota Research Institute, Inc. Systems and methods for depth estimation using monocular images
US20200342968A1 (en) * 2019-04-24 2020-10-29 GE Precision Healthcare LLC Visualization of medical device event processing
US11044462B2 (en) 2019-05-02 2021-06-22 Niantic, Inc. Self-supervised training of a depth estimation model using depth hints
US11138452B2 (en) * 2019-10-08 2021-10-05 Ford Global Technologies, Llc Vehicle neural network training
US11748629B2 (en) * 2020-01-21 2023-09-05 Moxa Inc. Device and method of handling anomaly detection
CN111401138B (zh) * 2020-02-24 2023-11-07 上海理工大学 生成对抗神经网络训练过程的对抗优化方法
CN111915525B (zh) * 2020-08-05 2024-03-01 湖北工业大学 基于改进深度可分离生成对抗网络的低照度图像增强方法
CN112132790B (zh) * 2020-09-02 2024-05-14 西安国际医学中心有限公司 Dac-gan模型构建方法及在乳腺mr图像中的应用
CN112102399B (zh) * 2020-09-11 2022-07-19 成都理工大学 一种基于生成式对抗网络的视觉里程计算法
CN112184731B (zh) * 2020-09-28 2024-05-28 北京工业大学 一种基于对抗性训练的多视图立体深度估计方法
US20230162338A1 (en) * 2021-01-25 2023-05-25 Beijing Boe Optoelectronics Technology Co., Ltd. Virtual viewpoint synthesis method, electronic apparatus, and computer readable medium
EP4036858A1 (de) * 2021-01-29 2022-08-03 Volograms Limited Volumetrische bildgebung
CN113094972B (zh) * 2021-03-15 2022-08-02 西南大学 基于生成对抗网络和环境要素数据的基岩深度预测方法及***
WO2022187753A1 (en) * 2021-03-18 2022-09-09 Innopeak Technology, Inc. Slam-guided monocular depth refinement system using self-supervised online learning
CN115170847B (zh) * 2022-09-05 2022-12-13 煤炭科学研究总院有限公司 基于先验地图约束的煤矿井下单目视觉定位方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674507B2 (en) 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
US9275078B2 (en) 2013-09-05 2016-03-01 Ebay Inc. Estimating depth from a single image
EP2854104A1 (de) 2013-09-25 2015-04-01 Technische Universität München Semi-dichte simultane Ortung und Kartierung
US9996936B2 (en) 2016-05-20 2018-06-12 Qualcomm Incorporated Predictor-corrector based pose detection
CN106780588A (zh) 2016-12-09 2017-05-31 浙江大学 一种基于稀疏激光观测的图像深度估计方法
CN107220600B (zh) 2017-05-17 2019-09-10 清华大学深圳研究生院 一种基于深度学习的图片生成方法及生成对抗网络
CN107274445B (zh) 2017-05-19 2020-05-19 华中科技大学 一种图像深度估计方法和***
US11024046B2 (en) * 2018-02-07 2021-06-01 Fotonation Limited Systems and methods for depth estimation using generative models

Also Published As

Publication number Publication date
CN110399775A (zh) 2019-11-01
US10810754B2 (en) 2020-10-20
US20190325597A1 (en) 2019-10-24

Similar Documents

Publication Publication Date Title
DE102019110430A1 (de) Nebenbedingungen der simultanen positionsbestimmung und kartenerstellung in generative adversarial networks zur monokularen tiefenschätzung
DE102019120880A1 (de) End-to-end-deep-generative-modell für simultane lokalisierung und abbildung
DE102020106176A1 (de) Lokalisierungssysteme und -verfahren
DE102018103817A1 (de) Freiraumdetektion unter verwendung einer monokularen kamera und von deep learning
DE102018101125A1 (de) Rekurrentes tiefes neuronales Faltungsnetzwerk zur Detektion von Objekten
DE102020113779A1 (de) Umgebungs-kamerasystem mit nahtlosem zusammenfügen für die auswahl beliebiger blickwinkel
DE102017120112A1 (de) Tiefenkartenschätzung mit stereobildern
DE102017120709A1 (de) Gegenstandsabstandsschätzung unter verwendung von daten von einer einzigen kamera
DE102018105417A1 (de) Fahrzeugortung unter verwendung von kameras
DE102017123180A1 (de) Rückwertige Hinderniserkennung und Abstandsschätzung
DE102019131384A1 (de) Strassenbelagcharakterisierung unter verwendung von posenbeobachtungen von benachbarten fahrzeugen
DE102018101318A1 (de) Objekterkennung unter verwendung eines rekurrenten neuronalen netzwerks und einer verketteten merkmalsabbildung
DE102018121808A1 (de) Verfeinern von synthetischen daten mit einem generative adversarial network unter verwendung von hilfseingaben
DE112019001832T5 (de) Strassenmarkierungsdetektionsverfahren
DE102017125963A1 (de) Objektverfolgung mit sensorfusion innerhalb eines probabalistischen rahmens
DE102017105903A1 (de) Fussgängerdetektion und Bewegungsvorhersage mit nach hinten gerichteter Kamera
DE102017116192A1 (de) Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen
DE102019115455A1 (de) Fokus-basiertes markieren von sensordaten
DE102017101466A1 (de) Verfolgen von objekten in einer dynamischen umgebung zur verbesserten lokalisierung
DE102017129075A1 (de) Parkplatznavigationssystem und -verfahren
DE102019111725A1 (de) Monokulare visuelle odometrie: fahrzeuggesschwindigkeit und -gierrate von rückfahrkamera
DE112017000643T5 (de) Detektion eines teilweise verdeckten Objekts unter Verwendung von Kontext und Tiefenordnung
DE112017007713T5 (de) Systeme und Verfahren zur Fahrzeugbelegungsverwaltung
DE102019116569A1 (de) LOKALISIERUNG FÜR AUTONOME FAHRZEUGE UNTER VERWENDUNG VON GAUßSCHEN VERMISCHUNGSMODELLEN
DE112017006567T5 (de) Autonomes fahrzeug mit fahrerausbildung

Legal Events

Date Code Title Description
R082 Change of representative

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

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