DE102020214863A1 - Selbstüberwachtes verfahren und system zur tiefenschätzung - Google Patents

Selbstüberwachtes verfahren und system zur tiefenschätzung Download PDF

Info

Publication number
DE102020214863A1
DE102020214863A1 DE102020214863.5A DE102020214863A DE102020214863A1 DE 102020214863 A1 DE102020214863 A1 DE 102020214863A1 DE 102020214863 A DE102020214863 A DE 102020214863A DE 102020214863 A1 DE102020214863 A1 DE 102020214863A1
Authority
DE
Germany
Prior art keywords
depth
deep
segmentations
digital image
depth map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020214863.5A
Other languages
English (en)
Inventor
Liu Ren
Liang Mi
Zhixin Yan
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102020214863A1 publication Critical patent/DE102020214863A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • 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/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

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

Abstract

Die Tiefenwahrnehmung ist aufgrund der zunehmenden Verwendung tiefer neuronaler Netze für die Erzeugung dichter Tiefenkarten von wachsendem Interesse in der bildverarbeitenden Gemeinschaft. Die Einsatzmöglichkeiten der Tiefenwahrnehmungsschätzung sind jedoch möglicherweise noch begrenzt, da für das Trainieren eine große Menge an dichten Grundwahrheitstiefen benötigt wird. Es wird in Betracht gezogen, dass eine selbstüberwachte Steuerstrategie entwickelt werden kann, um Tiefenkarten unter Verwendung von Farbbildern und Daten, die von einem Sensorsystem bereitgestellt werden (z. B. spärliche LiDAR-Daten), zu schätzen. Eine solche selbstüberwachte Steuerstrategie kann Superpixel (d. h. eine Gruppe von Pixeln, die gemeinsame Eigenschaften, z. B. Pixelintensität, aufweisen) als lokale planare Regionen nutzen, um die Ableitungen der Oberflächennormalen aus der geschätzten Tiefe zusammen mit dem photometrischen Verlust zu regularisieren. Die Steuerstrategie kann dazu betrieben werden, eine dichte Tiefenkarte zu erzeugen, die keine dichte Grundwahrheit-Überwachung erfordert.

Description

  • TECHNISCHES GEBIET
  • Die folgenden Ausführungen betreffen allgemein ein selbstüberwachtes Tiefenschätzungssystem und ein Verfahren zum Erzeugen dichter Tiefenkarten.
  • HINTERGRUND
  • Dichte und genaue Tiefenkarten sind im Allgemeinen für Anwendungen wie autonomes Fahren erforderlich. Allerdings sind in der Regel hochwertige und kostenintensive Sensoren und Erfassungsvorrichtungen erforderlich, um derartige dichte und genaue Tiefenkarten zu erzeugen. Die Kosten für diese Sensoren und Erfassungsvorrichtungen machen die Kosten für die Verwendung von dichten und genauen Tiefenkarten für viele Anwendungen unerschwinglich.
  • KURZFASSUNG
  • Ein System und Verfahren zur selbstüberwachten Tiefenschätzung, das ein digitales Bild einer Umgebung empfängt. Eine oder mehrere tiefe Superpixel-Segmentierungen können aus dem digitalen Bild extrahiert werden, und die tiefen Superpixel-Segmentierungen können partitioniert werden, um einen homogenen Bereich des digitalen Bildes darzustellen. Die tiefen Superpixel-Segmentierungen können auch als lokale planare Regionen dienen, die eine lokale Normalrichtung und eine sekundäre Ableitung der Tiefe innerhalb der einen oder mehreren tiefen Superpixel-Segmentierungen einschränken. Schließlich kann mit der einen oder den mehreren tiefen Superpixel-Segmentierungen eine dichte Tiefenkarte erzeugt werden.
  • Das System und das Verfahren können auch eine Oberflächennormalkarte unter Verwendung eines neuronalen Netzes mit Tiefenregression ableiten, das eine Tiefenkarte mit voller Auflösung anhand des digitalen Bildes und einer spärlichen Tiefenkartenabtastung, die vom Tiefensensor empfangen wird, regressiert. Das neuronale Netz mit Tiefenregression kann auch unter Verwendung einer Codierer-Decodierer-Struktur mit einer Codierschicht, einer Decodierschicht und mehreren Sprungverbindungen ausgestaltet werden. Die Codierschicht kann eine oder mehrere Faltungsschichten, eine oder mehrere ReLU-Schichten, ein oder mehrere neuronale Restnetze (ResNet) und eine oder mehrere Pooling-Schichten umfassen. Und die Decodierschicht kann eine oder mehrere Entfaltungsschichten, eine oder mehrere Unpooling-Schichten, eine oder mehrere ResNet-Schichten und eine oder mehrere ReLU-Schichten aufweisen. Eine abschließende Faltungsschicht kann auch dazu dienen, ein nicht negatives Graustufentiefenbild zu erzeugen, das zur Ableitung der Oberflächennormalkarte verwendet wird.
  • Das System und das Verfahren können ferner dazu betrieben werden, einen Gradienten der spärlichen Tiefenkartenabtastung in vier Richtungen zu berechnen. Die spärliche Tiefenkartenabtastung kann in einen oder mehrere 3-dimensionale Vektoren umgewandelt werden. Das System und das Verfahren können ein oder mehrere normierte Kreuzprodukte des einen oder der mehreren 3-dimensionalen Vektoren mitteln, um eine Scheitelnormale zu bestimmen.
  • Das System und das Verfahren können dazu dienen, eine relative Transformation zwischen dem digitalen Bild und einem verwandten Bild unter Verwendung eines simultanen Lokalisierungs- und Abbildungssystems zu bestimmen. Ein photometrischer Verlust kann unter Verwendung der relativen Transformation, des digitalen Bildes und des verwandten Bildes bestimmt werden. Das System und das Verfahren können auch zur Glättung und Unterdrückung von Inkonsistenzen innerhalb der dichten Tiefenkarte betrieben werden, indem eine sekundäre Tiefenableitung innerhalb der einen oder mehreren tiefen Superpixel-Segmentierungen minimiert wird. Das System und das Verfahren können lokale Normalrichtungen bestimmen abgeleitet ist unter Verwendung einer geschätzten Tiefe. Das System und das Verfahren können eine Begrenzung und eine Kante innerhalb der einen oder mehreren Superpixel-Segmentierungen negieren. Schließlich können das System und das Verfahren eine Konsistenz der Normalrichtung innerhalb jeder der einen oder mehreren tiefen Superpixel-Segmentierungen anwenden.
  • Figurenliste
    • 1 stellt ein beispielhaftes Computersystem dar.
    • 2 veranschaulicht ein beispielhaftes selbstüberwachtes Tiefenschätzungsnetz.
    • 3A und 3B veranschaulichen eine Codierer-Decodierer-Struktur, die durch ein Tiefenregressionsnetz implementiert werden kann.
    • 4 veranschaulicht ein Computersystem, das einen wenigstens teilweise autonomen Roboter steuert.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie erforderlich, werden hier detaillierte Ausführungsformen offenbart; es ist jedoch einzusehen, dass die offenbarten Ausführungsformen lediglich beispielhaft sind und in verschiedenen und alternativen Formen ausgeführt werden können. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale können übertrieben oder verkleinert dargestellt sein, um Einzelheiten bestimmter Komponenten zu zeigen. Daher sind hier offenbarte spezifische strukturelle und funktionale Einzelheiten nicht als einschränkend zu verstehen, sondern lediglich als repräsentative Grundlage, die dem Fachmann auf diesem Gebiet der Technik Anleitung bietet, um die vorliegenden Ausführungsformen auf vielfältige Weise einzusetzen.
  • Unter Tiefenwahrnehmung versteht man allgemein eine visuelle Fähigkeit, die Welt in drei Dimensionen (3D) und die Entfernung eines Objekts wahrzunehmen. Die Tiefenwahrnehmung kann aus verschiedenen Tiefenbildern und Referenzpunkten bestimmt werden. Zum Beispiel kann die Tiefenwahrnehmung binokulare Bilder, die auf dem Empfang von Sinnesinformationen in drei Dimensionen basieren, sowie monokulare Bilder, die nur Bilder beinhalten, die in zwei Dimensionen dargestellt sind, beinhalten.
  • Tiefenkarten, die ein Bild oder einen Bildkanal aufweisen, das bzw. der Informationen über die Entfernung der Oberflächen von Szenenobjekten von einem Standpunkt aus enthält, können ebenfalls zur Bestimmung der Tiefenwahrnehmung verwendet werden. Beispielsweise kann eine dichte und genaue Tiefenkarte verwendet werden, um eine Innen- oder Außenumgebung zu erfassen. Es wird in Betracht gezogen, dass dichte Tiefenkarten für Anwendungen wie 3D-Objektrekonstruktion, Augmented Reality (erweiterte Realität), Robotermanipulation und autonomes Fahren nützlich sein können. Es wird auch betrachtet, dass 3-D-Bilderfassungsverfahren und -sensoren (z. B. LiDAR) betrieben werden können, um die 3D-Daten bereitzustellen, die zum Erzeugen der dichten Tiefenkarten verwendet werden.
  • Allerdings können LiDAR-Sensoren, die dazu betrieben werden können, qualitativ hochwertige, dichte Tiefenkarten zu erzeugen, für bestimmte Anwendungen zu kostenintensiv sein. Kostengünstigere LiDAR-Sensoren bieten dagegen möglicherweise nicht die Genauigkeit und Auflösung, die für genaue, dichte Tiefenkarten erforderlich sind. Es wird auch betrachtet, dass alternative 3D-Erfassungslösungen (z. B. Tiefenkameras) ähnliche Kosten- und Leistungskompromisse wie die LiDAR-Sensoren aufweisen können. Um die Anzahl der Anwendungen für die 3D-Erfassung zu erhöhen, wird in Betracht gezogen, dass kostengünstigere und qualitativ weniger anspruchsvolle Tiefensensoren wünschenswert wären. Um jedoch kostengünstigere und qualitativ weniger anspruchsvolle Tiefensensoren zu implementieren, müssen möglicherweise robustere Algorithmen entwickelt werden, die Tiefenkarten mit höherer Auflösung anhand einer spärlichen Tiefenkartenabtastung 204s (oder sogar minimalen bis gar keinen Abtastungen) schätzen, um die Auflösung von 3D-Erfassungsvorrichtungen geringerer Qualität zu kompensieren.
  • Mit der raschen Verbreitung des tiefen Lernens können Algorithmen zur Tiefenschätzung tiefe neuronale Netze nutzen, um Tiefenkarten aus monokularen Farbbildern und/oder spärlichen Tiefendatensätzen zu erzeugen. Diese Algorithmen können sich auf dichte Grundwahrheits-Tiefenkarten als Überwachung während des Netztrainings stützen. Solche Grundwahrheitsdaten umfassen im Allgemeinen Informationen, die durch direkte Beobachtung (d. h. empirischen Nachweis) bereitgestellt werden können, im Gegensatz zu Informationen, die durch Deduktion bereitgestellt werden.
  • Die Abhängigkeit von dichten Grundwahrheits-Tiefenkarten ist jedoch möglicherweise nicht optimal, da der ursprüngliche Zweck der Schätzung der Tiefenwahrnehmung darin besteht, den Bedarf an solchen dichten Tiefenkarten zu verringern. Bei der Anwendung von Schätzalgorithmen auf eine neue Anwendung oder Umgebung kann die Leistung daher aufgrund des Fehlens dieser dichten Grundwahrheitskarten eingeschränkt sein. Selbstüberwachtes Lernen kann solche Leistungsbeschränkungen manchmal überwinden, indem geometrische Beschränkungen zwischen Paaren aufeinanderfolgender Bilder genutzt werden. Selbstüberwachte Tiefenschätzungen können jedoch eine viel geringere Genauigkeit aufweisen, da die geometrische Beschränkung möglicherweise nicht so genau ist wie die Grundwahrheits-Tiefenkarten.
  • Um die dichten Tiefenkarten von selbstüberwachten Algorithmen zu verbessern, wurde zusätzlich zur rein bildgestützten, auf geometrischen Beschränkungen basierenden Lösung eine stärkere Überwachung der Grundwahrheits-Tiefenkarten untersucht. Beispielsweise sind spärliche Tiefenmessungen, die mit einfachem LiDAR erfasst werden, ein Ansatz, der verfolgt werden kann. Bei spärlichen Tiefenmessungen, die Überwachungen bereitstellen, kann die Mehrdeutigkeit der Bilderscheinung (z. B. sich wiederholende Muster) überwunden werden. Oder das „Multi-Task“-Lernen (Lernen an mehreren Aufgaben), das für das Erlernen mehrerer Modalitäten trainiert wird (z. B. normal, optischer Fluss), kann genutzt werden, um die Tiefenqualität zu verbessern und eine Überanpassung des Modells zu verringern.
  • 1 zeigt ein beispielhaftes System 100, das verwendet werden kann, um ein selbstüberwachtes Tiefenschätzungsnetz zum Schätzen von Tiefenkarten basierend auf Farbbildern und spärlichen LiDAR-Abtastungen zu implementieren. Das System 100 kann wenigstens eine Computervorrichtung 102 aufweisen. Das Computersystem 102 kann wenigstens einen Prozessor 104 aufweisen, der operativ mit einer Speichereinheit 108 verbunden ist. Der Prozessor 104 kann aus einer oder mehreren integrierten Schaltungen bestehen, die die Funktionalität einer Zentraleinheit („Central Processing Unit“, CPU) 106 implementieren. Es versteht sich, dass die CPU 106 ebenfalls aus einer oder mehreren integrierten Schaltungen bestehen kann, die die Funktionalität einer allgemeinen Verarbeitungseinheit oder einer spezialisierten Verarbeitungseinheit (z. B. Grafikverarbeitungseinheit, ASIC, FPGA) implementieren.
  • Bei der CPU 106 kann es sich um eine handelsübliche Verarbeitungseinheit handeln, die einen Befehlssatz wie eine der x86-, ARM-, Power- oder MIPS-Befehlssatzfamilien implementiert. Während des Betriebs kann die CPU 106 gespeicherte Programmanweisungen ausführen, die aus der Speichereinheit 108 abgerufen werden. Die gespeicherten Programmanweisungen können Software beinhalten, die den Betrieb der CPU 106 steuert, um die hier beschriebene Operation durchzuführen. In einigen Beispielen kann der Prozessor 104 ein System auf einem Chip („System on a Chip“, SoC) sein, das die Funktionalität der CPU 106, der Speichereinheit 108, einer Netzschnittstelle und der Ein-/Ausgabeschnittstellen in einer einzigen integrierten Vorrichtung integriert. Das Computersystem 102 kann ein Betriebssystem zum Verwalten verschiedener Aspekte der Operation implementieren.
  • Die Speichereinheit 108 kann flüchtigen Speicher und nichtflüchtigen Speicher zum Speichern von Anweisungen und Daten aufweisen. Der nichtflüchtige Speicher kann Festkörperspeicher, wie z. B. NAND-Flash-Speicher, magnetische und optische Speichermedien oder eine beliebige andere geeignete Datenspeichervorrichtung beinhalten, die Daten speichert, wenn das Computersystem 102 deaktiviert oder nicht mehr mit Strom versorgt wird. Der flüchtige Speicher kann statischen und dynamischen Direktzugriffsspeicher („Random Access Memory“, RAM) beinhalten, der Programmanweisungen und Daten speichert. Beispielsweise kann die Speichereinheit 108 ein Maschinenlernmodell 110 oder einen Algorithmus, einen Trainingsdatensatz 112 für das Maschinenlernmodell 110 und/oder rohe Quelldaten 115 speichern.
  • Das Computersystem 102 kann eine Netzschnittstellenvorrichtung 122 aufweisen, die dafür ausgelegt ist, Kommunikation mit externen Systemen und Vorrichtungen bereitzustellen. Beispielsweise kann die Netzschnittstellenvorrichtung 122 eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle gemäß der 802.11-Normenfamilie des Institute of Electrical and Electronics Engineers (IEEE) beinhalten. Die Netzschnittstellenvorrichtung 122 kann eine zellulare Kommunikationsschnittstelle für die Kommunikation mit einem zellularen Netz (z. B. 3G, 4G, 5G) aufweisen. Die Netzschnittstellenvorrichtung 122 kann ferner dafür ausgelegt sein, eine Kommunikationsschnittstelle zu einem externen Netz 124 oder einer Cloud bereitzustellen.
  • Das externe Netz 124 kann als World Wide Web oder Internet bezeichnet werden. Das externe Netz 124 kann ein Standardkommunikationsprotokoll zwischen Computervorrichtungen einrichten. Das externe Netz 124 kann den einfachen Austausch von Informationen und Daten zwischen Computervorrichtungen und Netzen ermöglichen. Ein oder mehrere Server 130 können mit dem externen Netz 124 in Kommunikationsverbindung stehen.
  • Das Computersystem 102 kann eine Ein-/Ausgabeschnittstelle (E/A) 120 aufweisen, die dafür ausgelegt sein kann, digitale und/oder analoge Ein- und Ausgänge bereitzustellen. Die E/A-Schnittstelle 120 kann zusätzliche serielle Schnittstellen für die Kommunikation mit externen Vorrichtungen aufweisen (z. B. Universal Serial Bus(USB)-Schnittstelle).
  • Das Computersystem 102 kann eine Mensch-Maschine-Schnittstelle (Human-Machine Interface, HMI) 118 aufweisen, was eine beliebige Vorrichtung einschließen kann, die es dem System 100 ermöglicht, Steuereingänge zu empfangen. Beispiele für Eingabevorrichtungen können Eingaben über Mensch-Maschine-Schnittstellen wie Tastaturen, Mäuse, Touchscreens, Spracheingabevorrichtungen und andere ähnliche Vorrichtungen sein. Das Computersystem 102 kann eine Anzeigevorrichtung 132 aufweisen. Das Computersystem 102 kann Hardware und Software zum Ausgeben von Grafik- und Textinformationen an die Anzeigevorrichtung 132 aufweisen. Die Anzeigevorrichtung 132 kann einen elektronischen Anzeigeschirm, einen Projektor, einen Drucker oder eine andere geeignete Vorrichtung zum Anzeigen von Informationen für einen Benutzer oder Bediener beinhalten. Das Computersystem 102 kann ferner dafür ausgelegt sein, die Interaktion mit entfernten HMI- und entfernten Anzeigevorrichtungen über die Netzschnittstellenvorrichtung 122 zu ermöglichen.
  • Das System 100 kann mithilfe eines oder mehrerer Computersysteme implementiert werden. Während das Beispiel ein einzelnes Computersystem 102 zeigt, das alle beschriebenen Merkmale implementiert, ist beabsichtigt, dass verschiedene Merkmale und Funktionen voneinander getrennt und durch mehrere miteinander kommunizierende Computereinheiten implementiert werden können. Die jeweils gewählte Systemarchitektur kann von mehreren Faktoren abhängen.
  • Das System 100 kann einen Maschinenlernalgorithmus 110 implementieren, der dafür ausgelegt ist, die rohen Quelldaten 115 zu analysieren. Die rohen Quelldaten 115 können rohe oder unverarbeitete Sensordaten sein, die repräsentativ für einen Eingangsdatensatz für ein Maschinenlernsystem sein können. Die rohen Quelldaten 115 können Video, Videosegmente, Bilder und rohe oder teilweise verarbeitete Sensordaten (z. B. Daten von Digitalkamera oder LiDAR-Sensor) sein. In einigen Beispielen kann der Maschinenlernalgorithmus 110 ein Algorithmus für neuronale Netze sein, der dafür ausgelegt ist, eine vorgegebene Funktion auszuführen. Beispielsweise kann der Algorithmus des neuronalen Netzes in Automobilanwendungen dafür ausgelegt sein, Objekte (z. B. Fußgänger) anhand von Bildern, die von einer Digitalkamera bereitgestellt werden, und/oder einer Tiefenkarte von einem LiDAR-Sensor zu identifizieren.
  • Das System 100 kann einen Trainingsdatensatz 112 für den Maschinenlernalgorithmus 110 speichern. Der Trainingsdatensatz 112 kann einen Satz zuvor konstruierter Daten zum Trainieren des Maschinenlernalgorithmus 110 darstellen. Der Trainingsdatensatz 112 kann vom Maschinenlernalgorithmus 110 verwendet werden, um Gewichtungsfaktoren zu lernen, die mit einem Algorithmus für neuronale Netze verknüpft sind. Der Trainingsdatensatz 112 kann einen Satz von Quelldaten enthalten, die entsprechende Ausgänge oder Resultate haben, die der Maschinenlernalgorithmus 110 über den Lernprozess zu duplizieren versucht. In diesem Beispiel kann der Trainingsdatensatz 112 Quellbilder und Tiefenkarten aus verschiedenen Szenarien enthalten, in denen Objekte (z. B. Fußgänger) identifiziert werden können.
  • Der Maschinenlernalgorithmus 110 kann in einem Lernmodus betrieben werden, wobei der Trainingsdatensatz 112 als Eingang verwendet wird. Der Maschinenlernalgorithmus 110 kann unter Verwendung der Daten aus dem Trainingsdatensatz 112 über eine Reihe von Iterationen ausgeführt werden. Bei jeder Iteration kann der Maschinenlernalgorithmus 110 interne Gewichtungsfaktoren basierend auf den erzielten Ergebnissen aktualisieren. Beispielsweise kann der Maschinenlernalgorithmus 110 die Ausgaberesultate mit denen vergleichen, die im Trainingsdatensatz 112 enthalten sind. Da der Trainingsdatensatz 112 die erwarteten Ergebnisse enthält, kann der Maschinenlernalgorithmus 110 bestimmen, wann die Leistung akzeptabel ist. Nachdem der Maschinenlernalgorithmus 110 ein vorbestimmtes Leistungsniveau erreicht hat (z. B. 100%ige Übereinstimmung mit den Ergebnissen, die mit dem Trainingsdatensatz 112 verknüpft sind), kann der Maschinenlernalgorithmus 110 mit Daten ausgeführt werden, die nicht im Trainingsdatensatz 112 enthalten sind. Der trainierte Maschinenlernalgorithmus 110 kann auf neue Datensätze angewendet werden, um annotierte Daten zu erzeugen.
  • Der Maschinenlernalgorithmus 110 kann auch dafür ausgelegt sein, ein bestimmtes Merkmal in den rohen Quelldaten 115 zu identifizieren. Die rohen Quelldaten 115 können mehrere Instanzen oder Eingangsdatensätze beinhalten, für die Annotationsergebnisse gewünscht werden. Beispielsweise kann der Maschinenlernalgorithmus 110 dafür ausgelegt sein, die Anwesenheit eines Fußgängers in Bildern zu identifizieren und die Vorkommnisse zu annotieren. Der Maschinenlernalgorithmus 110 kann so programmiert werden, dass er die rohen Quelldaten 115 verarbeitet, um das Vorhandensein der bestimmten Merkmale zu identifizieren. Der Maschinenlernalgorithmus 110 kann dafür ausgelegt sein, ein bestimmtes Merkmal in den rohen Quelldaten 115 als ein vorbestimmtes Merkmal zu identifizieren. Die rohen Quelldaten 115 können aus mehreren Quellen abgeleitet sein. Zum Beispiel können die rohen Quelldaten 115 tatsächliche Eingangsdaten sein, die von einem Maschinenlernsystem gesammelt wurden. Die rohen Quelldaten 115 können zum Testen des Systems maschinell erzeugt werden. Als Beispiel können die rohen Quelldaten 115 rohe digitale Bilder von einer Kamera beinhalten.
  • Im Beispiel kann der Maschinenlernalgorithmus 110 die rohen Quelldaten 115 verarbeiten und eine Ausgabe erzeugen. Ein Maschinenlernalgorithmus 110 kann ein(en) Konfidenzniveau oder -faktor für jede erzeugte Ausgabe erzeugen. Beispielsweise kann ein Konfidenzwert, der einen vorgegebenen oberen Konfidenzschwellenwert überschreitet, anzeigen, dass der Maschinenlernalgorithmus 110 zuversichtlich ist, dass das identifizierte Merkmal dem bestimmten Merkmal entspricht. Ein Konfidenzwert, der unter einem unteren Konfidenzschwellenwert liegt, kann darauf hindeuten, dass der Maschinenlernalgorithmus 110 eine gewisse Unsicherheit hinsichtlich des Vorhandenseins des bestimmten Merkmals aufweist.
  • 2 veranschaulicht ein selbstüberwachtes Tiefenschätzungsnetz 200, das für den Maschinenlernalgorithmus 110 repräsentativ ist. Es wird betrachtet, dass das selbstüberwachte Tiefenschätzungsnetz 200 dazu betrieben werden kann, anhand von Farbbildern eine Tiefenkarte zu schätzen, die Beschränkungen aus unterschiedlichen Quellen und Modalitäten enthält, um die Tiefenqualität zu verbessern und eine Überanpassung des Modells zu verringern.
  • Es wird in Betracht gezogen, dass das Netz 200 ein oder mehrere Farbbilder 202 (d. h., zweidimensionale oder dreidimensionale RGB-Farbbilder) von einer Digitalkamera oder einer Videokamera empfangen kann, die dazu betrieben werden kann, RGB-Bilder zu erfassen und/oder zu erzeugen (z. B. eine DSLR-Kamera oder spiegellose Digitalkamera). Das Netz 200 kann auch eine spärliche Tiefenkartenabtastung 204 empfangen, die von einem hoch- oder niedrigauflösenden Tiefensensor (z. B. LiDAR-Sensor) bereitgestellt werden kann. Das Netz 200 kann dazu dienen, das Farbbild 202, die spärliche Tiefenkartenabtastung 204, ein extrahiertes tiefes Superpixel 206 und ein eng verwandtes Farbbild 208 als Daten 115 zum Trainieren des Maschinenlernalgorithmus 110 zu nutzen.
  • Das Netz 200 kann auch mehrere Netzpfade aufweisen. Beispielsweise kann das Netz 200 einen Tiefenverlustpfad 210 aufweisen, bei dem das Farbbild 202 und die entsprechende spärliche Tiefenkartenabtastung 204 in einen Tiefenregressionspfad 212 geleitet werden, der eine dichte Tiefenkarte 214 und eine abgeleitete Oberflächennormalkarte 216 erzeugen kann. Es wird betrachtet, dass der Tiefenregressionspfad 212 die dichte Tiefenkarte 214 (die eine geschätzte Tiefe (d) für jedes Pixel enthält) ausgeben kann, indem das Farbbild 202 und die spärliche Tiefenkartenabtastung 204 (d. h. die vom LiDAR-Sensor bereitgestellte Abtastung) verwendet werden. Es wird auch betrachtet, dass der Tiefenregressionspfad 212 unter Verwendung mehrerer Referenzpunkte, die aus den Eingängen während einer Trainingsroutine gewonnen wurden, normalisiert werden kann. Die Referenzpunkte können zum Beispiel Superpixel, Nachbarbilder und Kameraposen einschließen.
  • 3 zeigt ein faltungsneuronales Netz (Convolutional Neural Network, CNN) 300, das als der Tiefenregressionspfad 212 verwendet werden kann. Das CNN 300 kann mit einer Codierer-Decodierer-Struktur und Sprungverbindungen ausgelegt sein, um eine verbesserte Leistung bei der Bild-zu-Bild-Regression zu erzielen.
  • Wie dargestellt, weist das CNN 300 eine oder mehrere Codiererschichten 302 und eine oder mehrere Decodiererschichten 304 auf. Die Codiererschichten 302 können eine oder mehrere Faltungsschichten aufweisen, gefolgt von einer Aktivierungsfunktion (z. B. einer Funktion der gleichgerichteten Lineareinheit („Rectified Linear Unit“, ReLU)). Das CNN 300 kann z. B. das Farbbild 202 in Schicht 306 eingeben, die eine Faltungsschicht und eine ReLU-Aktivierungsfunktion aufweist. Ebenso kann das CNN 300 die spärliche Tiefenkartenabtastung 204 in Schicht 308 eingeben, die eine separate Faltungsschicht und ReLU-Aktivierungsfunktion aufweisen kann. Es wird in Betracht gezogen, dass die Schichten 306-308 Faltungsschichten mit gleich großen Kerneln (z. B. 64x304) beinhalten können. Es wird auch in Betracht gezogen, dass das Farbbild 202 und die spärliche Tiefenkartenabtastung 204 einer einzigen Schicht (z. B. Schicht 306) mit derselben Faltungsschicht und ReLU-Aktivierungsfunktion bereitgestellt werden können, anstelle von separaten Schichten mit separaten Faltungsschichten und ReLU-Aktivierungsfunktionen. Die Schichten 306 und 308 können dann Schicht 310 bereitgestellt werden, die ein neuronales Restnetz (ResNet) und eine ReLU-Aktivierungsfunktion aufweisen kann. Schicht 310 kann auch so ausgestaltet werden, dass sie die gleiche Größe und Abmessung (z. B. 64x304) wie die Schichten 306-308 hat.
  • Die Codierschicht 302 kann auch eine oder mehrere zusätzliche Schichten 312-318 aufweisen. Jede zusätzliche Schicht (z. B. Schicht 312) kann eine ResNet-Schicht, eine ReLU-Aktivierungsfunktion und eine Pooling-Schicht aufweisen. Es wird in Betracht gezogen, dass jede Schicht 312-318 in der Größe variieren kann und die Größe jeder Schicht 312-318 von der Größe des Bildes 202 und der spärlichen Tiefenkartenabtastung 204 abhängig sein kann. Zum Beispiel können das Farbbild 202 und die spärliche Tiefenkartenabtastung 204 64-Kanal-Merkmale aufweisen, die verkettet und in die Schichten 312-318 eingespeist werden. Die Schichten 312-318 können dann so ausgestaltet sein, dass jede empfangene Merkmalskarte um die Hälfte heruntergerechnet wird („Downsampling“, Abwärtsabtastung). Schicht 310 kann eine Merkmalskarte mit einer Größe von 324 bereitstellen, die durch Schicht 312 auf eine Größe von 212 heruntergerechnet wird. Schicht 312 kann eine Merkmalskarte mit einer Größe von 212 bereitstellen, die durch Schicht 314 auf eine Größe von 56 heruntergerechnet wird. Schicht 314 kann eine Merkmalskarte mit einer Größe von 56 bereitstellen, die durch Schicht 316 auf eine Größe von 28 heruntergerechnet wird. Schicht 316 kann eine Merkmalskarte mit einer Größe von 28 bereitstellen, die durch Schicht 318 auf eine Größe von 14 heruntergerechnet wird. Schicht 320, die eine zusätzliche Faltungsschicht und ReLU-Aktivierungsfunktionsschicht aufweist, kann die Merkmalskarte von Schicht 318 empfangen und die Anzahl der Merkmale weiter auf 512 herunterrechnen.
  • Die Faltungsschicht 320 stellt dann Merkmale an die Decodiererschicht 304 bereit. Es wird in Betracht gezogen, dass die Decodiererschicht 2014 eine oder mehrere Schichten 322-360 aufweist. Jede Schicht (z. B. Schicht 322) kann so ausgestaltet sein, dass sie eine „Unpooling“-Schicht, eine Entfaltungsschicht, eine ResNet-Schicht und eine ReLU-Aktivierungsfunktion aufweist. Es wird auch betrachtet, dass die Decodiererschicht 304 mit einem transponierten Faltungsprozess arbeitet, der die Merkmalskarten wieder auf die Originalauflösungen von Bild 202 und die spärliche Tiefenabtastung von Bild 204 hochrechnet („Upsampling“, Aufwärtsabtastung). Für das Aufwärtsabtastverfahren kann das CNN 300 auch eine oder mehrere Sprungverbindungen 344-352 aufweisen, die sich vom Ausgang der Schichten 310-318 zum Eingang der Schichten 324, 328, 332, 336, 340 (d. h. der entsprechenden Schicht der Aufwärtsabtasteinheit) erstrecken. Es wird betrachtet, dass das CNN 300 so ausgestaltet sein kann, dass das Farbbild 202 und die spärliche Tiefenkartenabtastung 204 in den Schichten 306-308 verschmolzen werden können, um zu verhindern, dass unerwünschtes Rauschen im Tiefenzweig über Sprungverbindungen 344-352 in die spätere Stufe des Decodierers übergeht.
  • Schicht 354 kann als abschließende Faltungsschicht ausgestaltet sein, die dazu betrieben werden kann, alle Kanäle zu einem einzigen zu verdichten und so ein nicht negatives Graustufen-Tiefenbild zu erzeugen. Es wird auch betrachtet, dass die Schichten 306, 308 und 320 eine Faltungsschicht aufweisen können, die mittels Stapel(„Batch“)-Normalisierung mit einer angeschlossenen ReLU-Aktivierungsfunktion ausgestaltet wurde. Schicht 354 kann hingegen eine Faltungsschicht aufweisen, die einfach eine ReLU-Aktivierungsfunktion beinhaltet.
  • Schicht 356 kann so ausgestaltet sein, dass eine Oberflächennormalkarte des Tiefenbildes abgeleitet wird. Unter Verwendung der intrinsischen Parameter der Vorrichtung, die zur Erzeugung des Farbbildes 202 verwendet wird (z. B. Farbkamera). Schicht 356 kann dazu betrieben werden, den Gradienten der Tiefenkarte in vier Richtungen zu berechnen und die Tiefenkarte in 3D-Vektoren umzuwandeln. Schicht 356 kann ferner dazu betrieben werden, die Scheitelnormale durch Mitteln der normierten Kreuzprodukte benachbarter 3D-Vektoren zu berechnen.
  • Bezugnehmend auf 2 kann das Netz 200 auch einen photometrischen Verlustpfad 218 aufweisen, der einen Bildausrichtungsfehler zwischen dem Farbbild 202 und dem benachbarten Farbbild 208 ausnutzt, um das Training des Tiefenregressionspfades 212 weiter zu überwachen. Der photometrische Verlustpfad 218 kann den Tiefenregressionspfad 212 unter Verwendung der spärlichen Tiefenkartenabtastungen 204, der intrinsischen Eigenschaften der Vorrichtung, die das Bild 202 erfasst (z. B. Kamera), und einer relativen Transformation (T1→2) überwachen.
  • Es wird in Betracht gezogen, dass der photometrische Verlust durch die Anpassung des Erscheinungsbildes ein für die visuelle RGBD-Odometrie typisches Bildverzerrungsproblem sein könnte. Anstatt die relative Pose eines Kamerasystems zu schätzen, ist das Netz 200 dafür ausgelegt, das Tiefenschätzungsnetz 212 mit einer festen Kameratransformation zu trainieren. Zum Beispiel kann das Netz 200 das Bild 202, das benachbarte Bild 208, die spärliche Tiefenkartenabtastung 204 und die intrinsischen Parameter K der Aufnahmevorrichtung (d. h. der Digitalkamera) sowie die relative Transformation 226 (d. h. T1→2) verwenden, um alle Pixel von Bild 204 in den Bildraum von Bild 202 zu holen und dadurch ein verzerrtes Bild (I1') zu erzeugen. Es versteht sich, dass der Unterschied zwischen dem verzerrten Bild (I1') und dem Bild 202 umso geringer ist, je genauer die Eingabe der spärlichen Tiefenkartenabtastung 204 (d. h. je genauer der Tiefensensor) ist. Das System 102 kann auch dazu betrieben werden, den Übereinstimmungsfehler zwischen dem verzerrten Bild (I1') und Bild 202 zu bestimmen, um die Bestimmung der dichten Tiefenkarte 214 (d. h. d1) zu überwachen.
  • Das Netz 200 kann auch dazu betrieben werden, eine bekannte gleichzeitige Lokalisierung und Abbildung oder das SLAM-System 224 (z. B. ORBSLAM) zu verwenden, um die relative Transformation 226 zwischen ausgewählten Rahmenpaaren zu erzeugen. Zum Beispiel kann das Netz 200 das Bild 202 (d. h. Rahmen 1) und eine spärliche Tiefenkarte 204 (d. h. Rahmen 2) empfangen und an das SLAM-System 224 bereitstellen, das dann die absolute Kamerabahn Ti bestimmt. Die relative Transformation 226 (d. h. T1→2) der Pose zwischen den Rahmen kann T1T2 -1 gleich sein. Es wird in Betracht gezogen, dass, wenn das SLAM-System 224 nicht in der Lage ist, eine robuste Schätzung für einen der bereitgestellten Rahmen bereitzustellen, das Netz 200 den photometrischen Verlust (Lp) schlicht nicht berechnen kann.
  • Es wird auch in Betracht gezogen, dass unter Einbeziehung der spärlichen Tiefenkartenabtastungen 204 als Eingang der Schätzfehler mit zunehmendem Rauschen leicht ansteigen kann. Wenn dem Netz 200 jedoch nicht die spärlichen Tiefenkartenabtastungen 204 bereitgestellt werden, kann der Fehler groß sein und ist das Netz 200 möglicherweise nicht in der Lage, das Nebengeräusch um mehr als 0,1 m zu konvergieren. Es wird daher in Betracht gezogen, dass das SLAM-System 224 das Netz 200 beim Trainieren des Tiefenregressionspfades 212 unterstützt. Das Netz 200 kann darüber hinaus mit einem SLAM-System 224 arbeiten, um zuverlässige Bildposen (z. B. 6-DoF-Pose für Innenraumdatensätze) zu erzeugen, anstelle eines weniger ausgefeilten PnP-Solvers oder Posenschätzungsnetzen.
  • Nach der Bestimmung der Transformation zwischen den beiden Bildern kann das Netz 200 dazu dienen, die Pixel (p1) des ersten Bildes in den 3D-Raum und dann zurück in die zweite Bildebene (p1') zu projizieren, unter Verwendung der nachstehenden Gleichung (1): p 1 ' = K T 1 2 d 1 ( p 1 ) K 1 p 1
    Figure DE102020214863A1_0001
    wobei K die intrinsischen Parameter der Aufnahmevorrichtung (z. B. Kamera) darstellt; T1→2 die relative Transformation ist; d1 die dichte Tiefenkarte 214 ist; und p1 für die Pixel aus dem Farbbild 202 steht. Das Netz 200 kann dann dazu betrieben werden, Bild 208 (d. h. I2) bilinear neu abzutasten, wobei die zweite Bildebene (p1') durch Gleichung (1) berechnet wird, um ein verzerrtes Bild (I1') unter Verwendung von Gleichung (2) unten zu bestimmen: I 1 ' = I 2 ( p 1 ' )
    Figure DE102020214863A1_0002
  • Das Netz 200 kann ferner den Erscheinungsbild-Anpassungsverlust (Lp) mit Hilfe der nachstehenden Gleichung (3) bestimmen: L P = I 1 ' I 1 = I 2 ( K T 1 2 d 1 ( p 1 ) K 1 p 1 ) I 1 ( p 1 )
    Figure DE102020214863A1_0003
  • Unter erneuter Bezugnahme auf 2 kann der planare Verlustpfad 220 durch Empfangen des Farbbildes 202 auf einem vortrainierten tiefen Superpixel-Pfad betreibbar sein. Es wird in Betracht gezogen, dass die aus Bild 202 erzeugten Superpixel-Labels (L1) zum Regularisieren der abgeleiteten Oberflächennormalkarte 216 (d. h. n1) und zum Bestimmen der zweiten Ableitung der Tiefenkarte (∇2d1) verwendet werden können, so dass das Netz 200 das Training des Tiefenregressionspfades 212 weiter verbessern kann. Es wird auch in Betracht gezogen, dass der tiefe Superpixel-Pfad 222 während des Trainings des Tiefenregressionspfads 212 nicht aktualisiert werden kann. Es wird in Betracht gezogen, dass, wenn der Tiefenregressionspfad 212 optimal trainiert ist, das Netz 200 dazu dienen kann, während des Betriebs und/oder Tests aus einem einfarbigen Bild (d. h. Bild 202) eine dichte Tiefenkarte 214 zu erzeugen.
  • Es ist allgemein bekannt, dass die Oberflächennormale eine Methode ist, die zur Unterstützung der Tiefenvorhersage verwendet werden kann. Frühere Ansätze regredieren die Oberflächennormale jedoch typischerweise durch überwachtes Trainieren mit aus Tiefenbildern abgeleiteten Grundwahrheits-Normalkarten. Das Netz 200 regularisiert die Oberflächennormale, um die Tiefenschätzung in einem selbstüberwachten Rahmen zu verbessern, ohne Grundwahrheits-Normalkarten zu erfordern. Es wird in Betracht gezogen, dass das Netz 200 eine zuverlässige Beschränkung erfordern könnte, die enger mit der Oberflächennormalen zusammenhängt, um die Notwendigkeit von Grundwahrheits-Normalkarten zu vermeiden. Das Netz 200 kann mit semantischer Bildsegmentierung arbeiten, um die Notwendigkeit von Grundwahrheits-Normalkarten zu vermeiden. Das Netz 200 kann semantische Informationen wie Straßen und Bäume extrahieren, um die Richtungen der geschätzten Normalen zu bestimmen. Zum Beispiel sollte die geschätzte Normale mit einem Straßen-Label nach oben zeigen. Eine solche Verwendung von semantischen Informationen hängt jedoch in hohem Maße von dem bereitgestellten Datensatz ab. Zum Beispiel kann der Trainingsdatensatz 112 ein Innenraumdatensatz wie NYUv2 sein. Bei diesem Trainingsdatensatz 112 darf die Richtung der Digitalkamera nicht senkrecht zum Boden verlaufen. Zur Anpassung der Kamerapositionierung kann das Netz 200 mit dem tiefen Superpixel-Pfad 222 arbeiten, der lokale homogene Regionen als Indikatoren für lokale planare Bereiche darstellt, um die Normalrichtungen zu regularisieren.
  • Für jedes bereitgestellte Bild 202 kann das Netz 200 ein Superpixel-Bild 206 bestimmen, indem es ein bekanntes Modell verwendet, das als Multi-Label-Maske { S k } k = 1 N S
    Figure DE102020214863A1_0004
    codiert ist. Das Netz 200 kann davon ausgehen, dass ein Superpixel einen planaren Bereich darstellt, und die Oberflächennormale kann innerhalb des planaren Bereichs dieselbe Richtung haben. Bei Verwendung dieses Ansatzes kann das Netz 200 die Varianz der Normalkartenpixel minimieren, die zu denselben Masken-Labels gehören, wie in Gleichung (4) unten gezeigt:
    Figure DE102020214863A1_0005
  • Es wird in Betracht gezogen, dass die kantenbewusste Glättung der Tiefenkarte für eine zusätzliche Tiefenschätzung in die Verlustfunktion einbezogen werden kann. Bekannte Ansätze, die eine Glättung implementieren, schließen im Allgemeinen die Begrenzungen verschiedener Objekte aus, da die Tiefe möglicherweise nicht durchgängig ist (d. h. geometrische Kanten oder Überdeckungskanten). Es wird auch in Betracht gezogen, dass analytische Kanten für eine kantenbewusste Glättung verwendet werden können, aber Laplace-Kanten können redundante Kanten beinhalten, die durch das Erscheinungsbild (z. B. Textur und Beleuchtung) und nicht durch geometrische Beziehungen verursacht werden.
  • Beim Netz 200 wird die Verwendung von Superpixeln zum Steuern des Glättungsprozesses in Betracht gezogen. Die Begrenzungen benachbarter Superpixel-Bereiche können als Superpixel-Kante (Es) definiert werden. Wenn das Netz 200 mit einer geeigneten Anzahl von Superpixeln arbeitet, können die geometrische Kante (EG), die Superpixel-Kante (Es) und die Laplace-Kante (EI) der folgenden einschließenden Beziehung folgen: EG ⊂ ES ⊂ EI. Basierend auf dieser Beziehung kann das Netz 200 mit der Superpixel-Kante (ES) als Annäherung an die geometrische Kante (EG) arbeiten. Das Netz 200 kann dann die L1-Normale der zweiten Ableitung der erzeugten Tiefenkarte unter Verwendung von Gleichung (5) unten bestrafen:
    Figure DE102020214863A1_0006
  • Es wird in Betracht gezogen, dass das Netz 200 die Superpixel-Kanten ignorieren kann, um die Schärfe entlang der Objektbegrenzungen zu fördern. Das Netz 200 wirkt außerdem dahingehend, zusätzliche Tiefenunterbrechungen zu unterdrücken, um unerwartete Geräusche und Fehler in der geschätzten Tiefe zu vermeiden (z. B. Salz- und Pfefferrauschen, Haarlinienrauschen im planaren Bereich).
  • Schließlich kann das Netz 200 die geschätzte Tiefenkarte mit der spärlichen Grundwahrheits-Tiefenkartenabtastung 204 an jedem Nicht-Null-Pixel unter Verwendung von Gleichung (6) unten vergleichen:
    Figure DE102020214863A1_0007
  • Es wird in Betracht gezogen, dass es mehrere Optionen für die Distanzfunktion ||·|| geben kann (z. B. L1-Norm und L2-Norm) und dass die Leistungen der verschiedenen Verlustfunktionen vom Datensatz abhängen können. Es versteht sich auch, dass empirisch L1 eine verbesserte Leistung für RGBD-basierte Datensätze für Innenräume und L2 eine verbesserte Leistung für LiDAR-basierte Datensätze für Außenbereiche aufgrund des Rauschpegels bei Tiefenmessungen bereitstellen kann. Schließlich wird in Betracht gezogen, dass sich mit abnehmender Anzahl von Datensatzabtastungen das Netz 200 in höherem Maße auf die Verluste LP, LN und LC stützen könnte.
  • Das Netz 200 kann dann die abschließende Verlustkostenfunktion (LN) als gewichtete Kombination der vier Verluste (LP, LN, LD und LC) mit einem Skalierungsfaktor (λ) unter Verwendung von Gleichung (7) unten berechnen: L N = L D + 1 4 i = 1 4 ( λ 2 L P ( i ) + λ 3 L N ( i ) + λ 4 L C ( i ) )
    Figure DE102020214863A1_0008
    wobei die Hochstellung L(i) den Maßstab angibt. Das Netz 200 kann die letzten drei Terme anhand einer bekannten vierstufigen Pyramide berechnen. Für die abschließende Verlustkostenfunktion kann das Netz 200 mit verschiedenen Skalen mit demselben Gewicht arbeiten. Zum Beispiel können die Gewichte für verschiedene Verlustterme empirisch wie folgt festgelegt werden: λ2 = 0,2, λ3 = 0,8 und λ4 = 0,5.
  • 4 veranschaulicht eine Ausführungsform, in der ein Computersystem 440 verwendet werden kann, um einen wenigstens teilweise autonomen Roboter, z. B. ein wenigstens teilweise autonomes Fahrzeug 400, zu steuern. Das Computersystem 440 kann dem in 1 beschriebenen System 100 entsprechen. Der Sensor 430 kann einen oder mehrere Video-/Kamerasensoren und/oder einen oder mehrere Radarsensoren und/oder einen oder mehrere Ultraschallsensoren und/oder einen oder mehrere LiDAR-Sensoren und/oder einen oder mehrere Positionssensoren (wie z. B. GPS) umfassen. Einige oder alle dieser Sensoren sind vorzuziehen, aber nicht unbedingt in Fahrzeug 400 integriert.
  • Alternativ kann der Sensor 430 ein Informationssystem zum Bestimmen eines Zustands des Betätigersystems umfassen. Der Sensor 430 kann Sensordaten oder andere Informationen sammeln, die vom Computersystem 440 verwendet werden sollen. Ein Beispiel für ein solches Informationssystem ist ein Wetterinformationssystem, das einen gegenwärtigen oder zukünftigen Zustand des Wetters in der Umgebung bestimmt. Beispielsweise kann der Klassifikator unter Verwendung des Eingangssignals x etwa Objekte in der Nähe des wenigstens teilweise autonomen Roboters erkennen. Das Ausgangssignal y kann eine Information umfassen, die charakterisiert, wo sich Objekte in der Nähe des wenigstens teilweise autonomen Roboters befinden. Der Steuerbefehl A kann dann in Übereinstimmung mit diesen Informationen bestimmt werden, z. B. um Kollisionen mit den erkannten Objekten zu vermeiden.
  • Der Betätiger 410, der in Fahrzeug 400 integriert sein kann, kann durch eine Bremse, ein Antriebssystem, einen Motor, einen Antriebsstrang oder eine Lenkung von Fahrzeug 400 gegeben sein. Betätigersteuerbefehle können so bestimmt werden, dass der Betätiger (oder die Betätiger) 410 so gesteuert wird (werden), dass das Fahrzeug 400 Kollisionen mit den erkannten Objekten vermeidet. Erkannte Objekte können auch danach klassifiziert werden, als was sie der Klassifikator am wahrscheinlichsten einstuft, z. B. Fußgänger oder Bäume, und Betätigersteuerbefehle A können je nach Klassifizierung bestimmt werden.
  • Die in dieser Patentanmeldung offenbarten Prozesse, Verfahren oder Algorithmen können für eine Verarbeitungsvorrichtung, eine Steuerung oder einen Computer bereitstellbar sein bzw. von dieser/diesem implementiert werden, wobei diese eine beliebige vorhandene, programmierbare elektronische Steuerung oder eine dedizierte elektronische Steuerung einschließen können. In gleicher Weise können die Prozesse, Verfahren oder Algorithmen als Daten, Logik und Anweisungen gespeichert werden, die von einer Steuerung oder einem Computer in vielfältigen Formen ausgeführt werden können, einschließlich, jedoch nicht beschränkt auf dauerhaft auf einem nicht beschreibbaren Medium, etwa ROM-Vorrichtungen, gespeicherte Informationen oder veränderbar auf beschreibbaren Speichermedien wie etwa Disketten, Magnetbändern, CDs, RAM-Vorrichtungen und anderen magnetischen und optischen Datenträgern gespeicherte Informationen. Die Prozesse, Verfahren oder Algorithmen können auch in einem ausführbaren Softwareobjekt implementiert werden. Alternativ können die Prozesse, Verfahren oder Algorithmen insgesamt oder teilweise in geeignete Hardwarekomponenten integriert werden, wie etwa anwendungsspezifische integrierte Schaltungen (Application Specific Integrated Circuits, ASICs), feldprogrammierbare Gatteranordnungen (Field-Programmable Gate Arrays, FPGAs), Zustandsmaschinen, Steuerungen oder sonstige Hardwarekomponenten oder -vorrichtungen oder eine Kombination von Hardware-, Software- und Firmwarekomponenten.
  • Obwohl vorstehend beispielhafte Ausführungsformen beschrieben werden, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen der Erfindung beschreiben. Vielmehr sind die in dieser Spezifikation verwendeten Ausdrücke lediglich Ausdrücke zur Beschreibung anstatt der Beschränkung und es ist einzusehen, dass verschiedene Änderungen vorgenommen werden können, ohne das Wesen und den Schutzbereich der Erfindung zu verlassen. Zusätzlich können die Merkmale von verschiedenen Implementierungsausführungen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden.

Claims (20)

  1. Verfahren zur selbstüberwachten Tiefenschätzung, umfassend: Empfangen eines digitalen Bildes einer Umgebung; Extrahieren einer oder mehrerer tiefer Superpixel-Segmentierungen aus dem digitalen Bild, wobei die eine oder mehreren tiefen Superpixel-Segmentierungen partitioniert sind, um einen homogenen Bereich des digitalen Bildes darzustellen, und wobei die eine oder mehreren tiefen Superpixel-Segmentierungen als lokale planare Regionen dienen, die eine lokale Normalrichtung und eine sekundäre Ableitung der Tiefe innerhalb der einen oder mehreren tiefen Superpixel-Segmentierungen beschränken; und Erzeugen einer dichten Tiefenkarte unter Verwendung einer oder mehrerer tiefer Superpixel-Segmentierungen.
  2. Verfahren nach Anspruch 1, ferner umfassend: Empfangen einer spärlichen Tiefenkartenabtastung; und Ableiten einer Oberflächennormalkarte unter Verwendung eines neuronalen Netzes mit Tiefenregression, das eine Tiefenkarte mit voller Auflösung aus dem digitalen Bild und der spärlichen Tiefenkartenabtastung regressiert.
  3. Verfahren nach Anspruch 2, wobei das neuronale Netz mit Tiefenregression unter Verwendung einer Codierer-Decodierer-Struktur mit einer Codierschicht, einer Decodierschicht und mehreren Sprungverbindungen ausgestaltet wird.
  4. Verfahren nach Anspruch 3, wobei die Codierschicht eine oder mehrere Faltungsschichten, eine oder mehrere ReLU-Schichten, ein oder mehrere neuronale Restnetze (ResNet) und eine oder mehrere Pooling-Schichten aufweist.
  5. Verfahren nach Anspruch 3, wobei die Decodiererschicht eine oder mehrere Entfaltungsschichten, eine oder mehrere Unpooling-Schichten, eine oder mehrere ResNet-Schichten und eine oder mehrere ReLU-Schichten aufweist.
  6. Verfahren nach Anspruch 5, wobei eine abschließende Faltungsschicht dazu dient, ein nicht-negatives Graustufentiefenbild zu erzeugen, das zur Ableitung der Oberflächennormalkarte verwendet wird.
  7. Verfahren nach Anspruch 2, ferner umfassend: Berechnen eines Gradienten der spärlichen Tiefenkartenabtastung in vier Richtungen; Umwandeln der spärlichen Tiefenkartenabtastung in einen oder mehrere 3-dimensionale Vektoren; und Mitteln eines oder mehrerer normierter Kreuzprodukte des einen oder der mehreren 3-dimensionalen Vektoren, um eine Scheitelnormale zu bestimmen.
  8. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen einer relativen Transformation zwischen dem digitalen Bild und einem verwandten Bild unter Verwendung eines simultanen Lokalisierungs- und Abbildungssystems.
  9. Verfahren nach Anspruch 8, ferner umfassend: Bestimmen eines photometrischen Verlustes unter Verwendung der relativen Transformation, des digitalen Bildes und des verwandten Bildes.
  10. Verfahren nach Anspruch 1, ferner umfassend: Glätten und Unterdrücken von Inkonsistenzen innerhalb der dichten Tiefenkarte, indem eine sekundäre Tiefenableitung innerhalb der einen oder mehreren tiefen Superpixel-Segmentierungen minimiert wird.
  11. Verfahren nach Anspruch 10, ferner umfassend: Negieren einer Begrenzung und einer Kante innerhalb der einen oder mehreren tiefen Superpixel-Segmentierungen.
  12. Verfahren nach Anspruch 1, wobei die lokale Normalrichtung unter Verwendung einer geschätzten Tiefe abgeleitet wird.
  13. Verfahren nach Anspruch 1, ferner umfassend: Anwenden einer Konsistenz der Normalrichtung innerhalb jeder der einen oder mehreren tiefen Superpixel-Segmentierungen.
  14. Verfahren zur selbstüberwachten Tiefenschätzung, umfassend: Empfangen eines digitalen Bildes einer Umgebung; Extrahieren einer oder mehrerer tiefer Superpixel-Segmentierungen aus dem digitalen Bild, wobei die eine oder mehreren tiefen Superpixel-Segmentierungen partitioniert sind, um einen homogenen Bereich des digitalen Bildes darzustellen, und Erzeugen einer dichten Tiefenkarte unter Verwendung einer oder mehrerer tiefer Superpixel-Segmentierungen.
  15. System zur selbstüberwachten Tiefenschätzung, umfassend: einen Sensor, der dazu betrieben werden kann, ein digitales Bild einer Umgebung zu empfangen; eine Steuerung, die dazu betrieben werden kann: eine oder mehrere tiefe Superpixel-Segmentierungen aus dem digitalen Bild zu extrahieren, wobei die eine oder mehreren tiefen Superpixel-Segmentierungen partitioniert sind, um einen homogenen Bereich des digitalen Bildes darzustellen, und wobei die eine oder mehreren tiefen Superpixel-Segmentierungen als lokale planare Regionen dazu betrieben werden kann, die eine lokale Normalrichtung und eine sekundäre Ableitung der Tiefe innerhalb der einen oder mehreren tiefen Superpixel-Segmentierungen beschränken; und eine dichte Tiefenkarte unter Verwendung der einen oder mehreren tiefen Superpixel-Segmentierungen zu erzeugen.
  16. System nach Anspruch 15, ferner umfassend: einen Tiefensensor, der dazu betrieben werden kann, eine spärliche Tiefenkartenabtastung zu empfangen; und wobei die Steuerung ferner dazu betrieben werden kann: eine Oberflächennormalkarte unter Verwendung eines neuronalen Netzes mit Tiefenregression abzuleiten, das eine Tiefenkarte mit voller Auflösung aus dem digitalen Bild und der spärlichen Tiefenkartenabtastung regressiert.
  17. System nach Anspruch 16, wobei der Sensor eine Digitalkamera und der Tiefensensor ein LiDAR-Sensor ist.
  18. System nach Anspruch 16, wobei die Steuerung ferner betrieben werden kann zum: Glätten und Unterdrücken von Inkonsistenzen innerhalb der dichten Tiefenkarte, indem eine sekundäre Tiefenableitung innerhalb der einen oder mehreren tiefen Superpixel-Segmentierungen minimiert wird.
  19. System nach Anspruch 16, wobei die Steuerung ferner betrieben werden kann zum: Negieren einer Begrenzung und einer Kante innerhalb der einen oder mehreren tiefen Superpixel-Segmentierungen.
  20. System nach Anspruch 16, wobei die Steuerung ferner betrieben werden kann zum: Bestimmen einer relativen Transformation zwischen dem digitalen Bild und einem verwandten Bild unter Verwendung eines simultanen Lokalisierungs- und Abbildungssystems.
DE102020214863.5A 2019-12-16 2020-11-26 Selbstüberwachtes verfahren und system zur tiefenschätzung Pending DE102020214863A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/716,077 US11315266B2 (en) 2019-12-16 2019-12-16 Self-supervised depth estimation method and system
US16/716,077 2019-12-16

Publications (1)

Publication Number Publication Date
DE102020214863A1 true DE102020214863A1 (de) 2021-06-17

Family

ID=76085755

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020214863.5A Pending DE102020214863A1 (de) 2019-12-16 2020-11-26 Selbstüberwachtes verfahren und system zur tiefenschätzung

Country Status (3)

Country Link
US (1) US11315266B2 (de)
CN (1) CN112991413A (de)
DE (1) DE102020214863A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021119906A1 (de) 2021-07-30 2023-02-02 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Erzeugen von Trainingsdaten zum selbstüberwachten Trainieren eines neuronalen Netzes, Verfahren zum selbstüberwachten Trainieren eines neuronalen Netzes, Computerprogramm sowie Recheneinrichtung für ein Fahrzeug

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11341719B2 (en) * 2020-05-07 2022-05-24 Toyota Research Institute, Inc. System and method for estimating depth uncertainty for self-supervised 3D reconstruction
US11443484B2 (en) * 2020-05-15 2022-09-13 Microsoft Technology Licensing, Llc Reinforced differentiable attribute for 3D face reconstruction
US11321862B2 (en) * 2020-09-15 2022-05-03 Toyota Research Institute, Inc. Systems and methods for multi-camera modeling with neural camera networks
CN114494918A (zh) * 2020-11-11 2022-05-13 京东方科技集团股份有限公司 目标识别方法及系统、可读存储介质
US11798180B2 (en) * 2021-02-26 2023-10-24 Adobe Inc. Generating depth images utilizing a machine-learning model built from mixed digital image sources and multiple loss function sets
CN113763447B (zh) * 2021-08-24 2022-08-26 合肥的卢深视科技有限公司 深度图的补全方法、电子设备及存储介质
US20230083014A1 (en) * 2021-09-14 2023-03-16 Black Sesame Technologies Inc. Depth estimation based on data fusion of image sensor and depth sensor frames
US20230092248A1 (en) * 2021-09-17 2023-03-23 Samsung Electronics Co., Ltd. Method and apparatus for scene segmentation for three-dimensional scene reconstruction
CN115908520A (zh) * 2021-09-29 2023-04-04 华为技术有限公司 深度估计方法、深度估计模型的训练方法及其装置和系统
CN114399527A (zh) * 2022-01-04 2022-04-26 北京理工大学 单目内窥镜无监督深度和运动估计的方法及装置
US20230377180A1 (en) * 2022-05-18 2023-11-23 Toyota Research Institute Inc. Systems and methods for neural implicit scene representation with dense, uncertainty-aware monocular depth constraints
CN114782782B (zh) * 2022-06-20 2022-10-04 武汉大学 一种单目深度估计模型学习性能的不确定性量化方法
CN116168070B (zh) * 2023-01-16 2023-10-13 南京航空航天大学 一种基于红外图像的单目深度估计方法及系统
CN116468768B (zh) * 2023-04-20 2023-10-17 南京航空航天大学 基于条件变分自编码器和几何引导的场景深度补全方法
CN116342675B (zh) * 2023-05-29 2023-08-11 南昌航空大学 一种实时单目深度估计方法、系统、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100587572B1 (ko) * 2004-10-15 2006-06-08 삼성전자주식회사 카메라 픽셀 정보를 이용하여 공간상의 코너 포인트를추출하는 시스템 및 방법, 상기 시스템을 포함하는 이동로봇
CN104662589B (zh) * 2012-08-21 2017-08-04 派力肯影像公司 用于使用阵列照相机捕捉的图像中的视差检测和校正的系统和方法
US9083960B2 (en) * 2013-01-30 2015-07-14 Qualcomm Incorporated Real-time 3D reconstruction with power efficient depth sensor usage
WO2016118499A1 (en) * 2015-01-19 2016-07-28 The Regents Of The University Of Michigan Visual localization within lidar maps
WO2016172960A1 (en) * 2015-04-30 2016-11-03 SZ DJI Technology Co., Ltd. System and method for enhancing image resolution
WO2017165538A1 (en) * 2016-03-22 2017-09-28 Uru, Inc. Apparatus, systems, and methods for integrating digital media content into other digital media content
WO2018125939A1 (en) * 2016-12-30 2018-07-05 DeepMap Inc. Visual odometry and pairwise alignment for high definition map creation
US10580158B1 (en) * 2017-11-03 2020-03-03 Zoox, Inc. Dense depth estimation of image data
US10824862B2 (en) * 2017-11-14 2020-11-03 Nuro, Inc. Three-dimensional object detection for autonomous robotic systems using image proposals
US10650531B2 (en) * 2018-03-16 2020-05-12 Honda Motor Co., Ltd. Lidar noise removal using image pixel clusterings
US11037051B2 (en) * 2018-11-28 2021-06-15 Nvidia Corporation 3D plane detection and reconstruction using a monocular image

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021119906A1 (de) 2021-07-30 2023-02-02 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Erzeugen von Trainingsdaten zum selbstüberwachten Trainieren eines neuronalen Netzes, Verfahren zum selbstüberwachten Trainieren eines neuronalen Netzes, Computerprogramm sowie Recheneinrichtung für ein Fahrzeug

Also Published As

Publication number Publication date
CN112991413A (zh) 2021-06-18
US11315266B2 (en) 2022-04-26
US20210183083A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
DE102020214863A1 (de) Selbstüberwachtes verfahren und system zur tiefenschätzung
DE102019000171A1 (de) Digitalumgebung zur Verortung semantischer Klassen
CN104008538B (zh) 基于单张图像超分辨率方法
DE102019120880A1 (de) End-to-end-deep-generative-modell für simultane lokalisierung und abbildung
DE112018000332T5 (de) Dichtes visuelles slam mit probabilistic-surfel-map
DE102017120112A1 (de) Tiefenkartenschätzung mit stereobildern
DE112019001310T5 (de) Systeme und verfahren zum reduzieren der menge an datenspeicher beim maschinellen lernen
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE112011103690T5 (de) Erkennung und Verfolgung sich bewegender Objekte
DE102019115874A1 (de) Systeme und verfahren zur verbesserten entfernungsschätzung durch eine monokamera unter verwendung von radar- und bewegungsdaten
DE202014010843U1 (de) Ausrichten von bodenbasierten Bildern mit Luftbildern
DE102019007196A1 (de) Identifizieren von Zielobjekten unter Nutzung der skalierungsdiversen Segmentierung dienender neuronaler Netzwerke
DE112020005594T5 (de) Parametrische darstellung komplexer strassenszenen von oben
DE202015009182U1 (de) Ausrichten von Panoramaaufnahmen und Luftaufnahmen
DE112016005905T5 (de) Verfahren und System zum Verschmelzen erfasster Messungen
DE102005003605A1 (de) Vorwissen, Niveaumengenrepräsentationen und visuelle Gruppierung
DE102019114622A1 (de) Erfassung und planare darstellung dreidimensionaler fahrspuren in einer strassenszene
DE112016006213T5 (de) System und Verfahren zum Fusionieren von Ausgängen von Sensoren, die unterschiedliche Auflösungen aufweisen
DE102007013664A1 (de) Multisensorieller Hypothesen-basierter Objektdetektor und Objektverfolger
DE102019122402A1 (de) Das klassifizieren von zeitreihenbilddaten
DE102022102934A1 (de) Ereignisbasierte fahrzeugposenschätzung unter verwendung monochromatischer bildgebung
DE112022001546T5 (de) Systeme und Verfahren zur Erzeugung von Objekterkennungs-Labels unter Verwendung fovealer Bildvergrößerung für autonomes Fahren
DE102023102316A1 (de) System und verfahren zur robusten erzeugung von pseudo-labels für die halb-überwachte objekterkennung
DE102020100230A1 (de) Rekonstruktion von landmarkenpositionen in autonomen maschinenanwendungen
DE102020209189A1 (de) Domain-übergreifendes metric-lernsystem und -verfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed