DE102019105578A1 - Generieren einer superauflösungs-tiefenkarte - Google Patents

Generieren einer superauflösungs-tiefenkarte Download PDF

Info

Publication number
DE102019105578A1
DE102019105578A1 DE102019105578.4A DE102019105578A DE102019105578A1 DE 102019105578 A1 DE102019105578 A1 DE 102019105578A1 DE 102019105578 A DE102019105578 A DE 102019105578A DE 102019105578 A1 DE102019105578 A1 DE 102019105578A1
Authority
DE
Germany
Prior art keywords
depth
elements
sensor
depth map
computer
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
DE102019105578.4A
Other languages
English (en)
Inventor
Juan Castorena Martinez
Gintaras Vincent Puskorius
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 DE102019105578A1 publication Critical patent/DE102019105578A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4076Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution using the original low-resolution images to iteratively correct the high-resolution images
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/87Combinations of systems using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4061Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution by injecting details from different spectral ranges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • 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/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Image Analysis (AREA)

Abstract

Diese Offenbarung stellt das Generieren einer Superauflösungs-Tiefenkarte bereit. Es werden ein System und Verfahren zum Generieren einer Superauflösungs-Tiefenkarte beschrieben. Ein Verfahren beinhaltet: Bestimmen einer Vielzahl ungemessener Tiefenkartenpositionen unter Verwendung von Tiefenelementen von einem ersten Sensor und räumlichen Elementen von einem zweiten Sensor; Berechnen, für jede der Vielzahl, geschätzter Tiefenelemente unter Verwendung einer gradientenbasierten Optimierung; und Generieren einer Superauflösungs-Tiefenkarte, welche die gemessenen und geschätzten Tiefenelemente umfasst.

Description

  • TECHNISCHES GEBIET
  • Aspekte dieser Offenbarung betreffen allgemein die Fahrzeugnavigation und insbesondere die Kartengeneration.
  • ALLGEMEINER STAND DER TECHNIK
  • Moderne Vorrichtungen zur optischen Abstands- und Geschwindigkeitsmessung (light detection und ranging - LIDAR) haben eine geringere Auflösung als moderne Kamerabildgebungsvorrichtungen. Eine relativ geringere Tiefenauflösung in LIDAR-Vorrichtungen (z. B. als die Bildauflösung in Kameravorrichtungen) kann gleichbedeutend mit weniger Situationsbewusstsein sein, insbesondere in Situationen, in denen sich eine Umgebung der LIDAR-Vorrichtungen häufig ändert.
  • KURZDARSTELLUNG
  • Es wird ein tiefenauflösendes System beschrieben, das einen ersten Sensor, einen zweiten Sensor und einen Computer beinhaltet, der Daten von dem ersten und dem zweiten Sensor empfängt. Der Computer kann dazu programmiert sein, unter Verwendung der Daten eine Superauflösungs-Tiefenkarte zu generieren. Und es werden mehrere Verfahren zum Generieren der Superauflösungs-Tiefenkarte beschrieben. Gemäß einem veranschaulichenden Beispiel umfasst das Verfahren: Bestimmen einer Vielzahl ungemessener Tiefenkartenpositionen unter Verwendung von Tiefenelementen von einem ersten Sensor und räumlichen Elementen von einem zweiten Sensor; Berechnen, für jede der Vielzahl, geschätzter Tiefenelemente unter Verwendung einer gradientenbasierten Optimierung; und Generieren einer Superauflösungs-Tiefenkarte, welche die gemessenen und geschätzten Tiefenelemente umfasst.
  • Gemäß dem mindestens einen oben genannten Beispiel handelt es sich bei dem ersten Sensor um eine Vorrichtung zur optischen Abstands- und Geschwindigkeitsmessung (light detection und ranging - LIDAR), wobei es sich bei dem zweiten Sensor um eine Kamera handelt.
  • Gemäß dem mindestens einen oben genannten Beispiel, ferner umfassend das Registrieren der räumlichen Elemente mit den gemessenen Tiefenelementen, wobei die Vielzahl ungemessener Tiefenkartenpositionen indizierte Positionen eines Arrays der räumlichen Elemente sind, die kein entsprechendes gemessenes Tiefenelement haben.
  • Gemäß dem mindestens einen oben genannten Beispiel entspricht in der Superauflösungs-Tiefenkarte jedes der gemessenen und geschätzten Tiefenelemente einer einzigartigen Pixelstelle eines Arrays von räumlichen Elementen, die von dem zweiten Sensor empfangen werden.
  • Gemäß dem mindestens einen oben genannten Beispiel umfasst das Berechnen der geschätzten Tiefenelemente ferner in Bezug auf jede ungemessene Tiefenkartenposition das Quantifizieren einer Stärke einer Tiefendiskontinuität in Bezug auf die benachbarten Pixelstellen.
  • Gemäß dem mindestens einen oben genannten Beispiel umfasst die Optimierung das Bestimmen von Minima einer Kostenfunktion.
  • Gemäß dem mindestens einen oben genannten Beispiel umfasst die Optimierung: x ^ = arg x X Ω min D x l 2 ,
    Figure DE102019105578A1_0001
    vorbehaltlich xΩ = yΩ, wobei x̂ die Superauflösungs-Tiefenkarte ist, wobei x eine multidimensionale Variable ist, die das zu schätzende Tiefenkartenbild darstellt, wobei y einen Satz gemessener Tiefenelemente umfasst, wobei D ein Gradientenoperator ist, wobei || x ∥l 2 , eine l2-Norm ist und wobei Ω einen Satz von Pixelindizes darstellt, der mit den gemessenen Tiefenelementen assoziiert ist.
  • Gemäß dem mindestens einen oben genannten Beispiel umfasst die Optimierung das Bestimmen einer Konvergenz s Ω ' t = s Ω ' t 1 γ I Ω , f ( s t 1 ) .
    Figure DE102019105578A1_0002
  • Gemäß dem mindestens einen oben genannten Beispiel, wobei s Ω ' t
    Figure DE102019105578A1_0003
    wiederholt bestimmt wird, bis Konvergenz bestimmt ist oder Konvergenz innerhalb eines Schwellenwerts (T) bestimmt ist.
  • Gemäß dem mindestens einen oben genannten Beispiel umfasst die Optimierung das Bestimmen einer Konvergenz s Ω ' t = ( 1 + λ t ) z Ω ' t λ t z Ω ' t 1 .
    Figure DE102019105578A1_0004
  • Gemäß dem mindestens einen oben genannten Beispiel, wobei z Ω ' t
    Figure DE102019105578A1_0005
    wiederholt bestimmt wird, bis Konvergenz bestimmt ist oder Konvergenz innerhalb eines Schwellenwerts (T) bestimmt ist.
  • Gemäß dem mindestens einen oben genannten Beispiel umfasst das Bestimmen der Konvergenz ein Nesterov-Verfahren zum Lösen eines konvexen Programmierungsproblems mit einer Konvergenzrate [0(1/K2)].
  • Gemäß dem mindestens einen oben genannten Beispiel, ferner umfassend das Verschmelzen der Superauflösungs-Tiefenkarte mit den räumlichen Elementen.
  • Gemäß dem mindestens einen oben genannten Beispiel, ferner umfassend das Navigieren eines Fahrzeugs in einem autonomen Modus unter Verwendung der Superauflösungs-Tiefenkarte.
  • Gemäß einem weiteren veranschaulichenden Beispiel wird ein Computer beschrieben, der einen Prozessor und einen Speicher umfasst, der Anweisungen speichert, die von dem Prozessor ausführbar sind. Die Anweisungen umfassen Folgendes: Bestimmen einer Vielzahl ungemessener Tiefenkartenpositionen unter Verwendung von Tiefenelementen von einem ersten Sensor und räumlichen Elementen von einem zweiten Sensor; Berechnen, für jede der Vielzahl, geschätzter Tiefenelemente unter Verwendung einer gradientenbasierten Optimierung; und Generieren einer Superauflösungs-Tiefenkarte, welche die gemessenen und geschätzten Tiefenelemente umfasst.
  • Gemäß dem mindestens einen oben genannten Beispiel umfassen die Anweisungen ferner Folgendes: Registrieren der räumlichen Elemente, die von dem zweiten Sensor empfangen werden, mit den gemessenen Tiefenelementen, wobei die Vielzahl ungemessener Tiefenkartenpositionen indizierte Positionen eines Arrays der räumlichen Elemente sind, die kein entsprechendes gemessenes Tiefenelement haben.
  • Gemäß dem mindestens einen oben genannten Beispiel entspricht in der Superauflösungs-Tiefenkarte jedes der gemessenen und geschätzten Tiefenelemente einer einzigartigen Pixelstelle eines Arrays von räumlichen Elementen, die von dem zweiten Sensor empfangen werden.
  • Gemäß dem mindestens einen oben genannten Beispiel umfasst die Anweisung zum Berechnen geschätzter Tiefenelemente ferner Folgendes: in Bezug auf jede ungemessene Tiefenkartenposition das Quantifizieren einer Stärke einer Tiefendiskontinuität in Bezug auf die benachbarten Pixelstellen.
  • Gemäß dem mindestens einen oben genannten Beispiel umfasst die Optimierung: x ^ = arg x X Ω min D x l 2 ,
    Figure DE102019105578A1_0006
    vorbehaltlich xΩ = yΩ, wobei x̂ die Superauflösungs-Tiefenkarte ist, wobei x eine multidimensionale Variable ist, die das zu schätzende Tiefenkartenbild darstellt, wobei y einen Satz gemessener Tiefenelemente umfasst, wobei D ein Gradientenoperator ist, wobei || x ∥l 2 eine l2-Norm ist und wobei Ω einen Satz von Pixelindizes darstellt, der mit den gemessenen Tiefenelementen assoziiert ist.
  • Gemäß dem mindestens einen oben genannten Beispiel umfassen die Anweisungen ferner Folgendes: Bestimmen einer Konvergenz in Bezug auf die Werte der geschätzten Tiefenelemente; und Verwenden eines Nesterov-Verfahrens für eine jeweilige Konvergenzrate.
  • Gemäß dem mindestens einen Beispiel wird ein Computer offenbart, der dazu programmiert ist, eine beliebige Kombination der oben genannten Anweisungsbeispiele auszuführen.
  • Gemäß dem mindestens einen Beispiel wird ein Computer offenbart, der dazu programmiert ist, eine beliebige Kombination der oben genannten Verfahrensbeispiele auszuführen.
  • Gemäß dem mindestens einen Beispiel wird ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium beinhaltet, das Anweisungen speichert, die von einem Computerprozessor ausführbar sind, wobei die Anweisungen eine beliebige Kombination der oben genannten Anweisungs- oder Verfahrensbeispiele beinhalten.
  • Figurenliste
    • 1 ist ein schematisches Diagramm, das ein Fahrzeug veranschaulicht, das einen Computer, einen ersten Sensor und einen zweiten Sensor umfasst.
    • 2 veranschaulicht eine Vielzahl gemessener Tiefenelemente.
    • 3 veranschaulicht eine Vielzahl gemessener räumlicher Elemente, die in einem Array angeordnet sind.
    • 4 veranschaulicht die gemessenen Tiefenelemente, die in dem Array aus 3 abgeglichen sind.
    • 5 veranschaulicht eine Superauflösungs-Tiefenkarte, welche die Vielzahl gemessener Tiefenelemente und eine Vielzahl geschätzter Tiefenelemente (berechnet unter Verwendung des Computers aus 1) umfasst.
    • 6 ist ein Ablaufdiagramm, das einen Prozess zum Generieren einer Schätzung der Superauflösungs-Tiefenkarte veranschaulicht.
    • 7 veranschaulicht ein Beispiel des Ausführens eines Teils des Prozesses, der in 6 gezeigt ist.
    • 8 veranschaulicht ein weiteres Beispiel des Ausführens eines Teils des Prozesses, der in
    • 6 gezeigt ist.
    • 9 veranschaulicht eine beispielhafte Szene, die als räumliche Daten verkörpert ist, wobei die räumlichen Daten eine Vielzahl von räumlichen Elementen umfassen.
    • 10 veranschaulicht die beispielhafte Szene aus 9 als Tiefendaten verkörpert, wobei die Tiefendaten eine Vielzahl von gemessenen Tiefenelementen umfassen.
    • 11 veranschaulicht die beispielhafte Szene aus 9 als eine Schätzung einer Superauflösungs-Tiefenkarte verkörpert, wobei die Superauflösungs-Tiefenkarte die Vielzahl von gemessenen Tiefenelementen und eine Vielzahl von geschätzten Tiefenelementen umfasst.
  • DETAILLIERTE BESCHREIBUNG
  • Nun unter Bezugnahme auf die Figuren, in denen gleiche Elemente auf ähnliche oder identische Merkmale oder Funktionen verweisen, ist ein tiefenauflösendes System 10 veranschaulicht. Das System 10 ist als Teil eines Fahrzeugs 12 veranschaulicht, welches das System 10 zum autonomen Navigieren oder Ähnlichem benutzen kann. Es versteht sich, dass eine Fahrzeugumsetzung nur eine Umgebung ist und andere Umgebungen möglich sind; einschließlich eines geeigneten Überwachungssystems, Situationsbewusstseinssystems, Sicherheitssystems oder dergleichen, das an eine Mobilvorrichtung, eine tragbare Vorrichtung oder an eine statische Struktur (z. B. statische Strukturen einschließlich unter anderem fahrzeugbezogener Infrastruktur oder Infrastruktur ohne Zusammenhang mit Fahrzeugen) gekoppelt ist oder davon getragen wird.
  • Gemäß dem veranschaulichten Beispiel umfasst das tiefenauflösende System 10 zwei Sensoren 14, 16 und einen Computer 18. Ein erster Sensor 14 (z. B. eine Vorrichtung zur optischen Abstands- und Geschwindigkeitsmessung) kann dazu konfiguriert sein, dem Computer 18 Tiefendaten bereitzustellen, und ein zweiter Sensor 16 (z. B. eine Kamera) kann dazu konfiguriert sein, dem Computer 18 räumliche Daten bereitzustellen. Gemäß mindestens einem veranschaulichenden Beispiel empfangen der erste Sensor und der zweite Sensor 14, 16 (jeweils) Tiefen- und räumliche Daten zumindest eines Teils einer gemeinsamen Szene in ihren jeweiligen Umgebungen. Der Computer 18 kann dazu programmiert sein, eine Registrierung (manchmal auch als Kalibrierung bezeichnet) der Tiefendaten und der räumlichen Daten durchzuführen; d. h. Elemente der Tiefendaten können auf Elemente der räumlichen Daten projiziert werden, was in einem Abgleich oder anderweitiger Bestimmung in Bezug darauf resultiert, welche der gemessenen Tiefenelemente mit den gemessenen räumlichen Elementen in Bezug auf die Szene abgeglichen sind. Typischerweise und basierend auf dem aktuellen Stand der Technik ist ein räumlicher Auflösungsparameter des zweiten Sensors 16 größer als ein entsprechender Auflösungsparameter des ersten Sensors 14. Dementsprechend gibt es mehr räumliche Elemente (für eine gegebene Szene) als Tiefenelemente (der Szene). Und wie es für den Fachmann ersichtlich sein wird, kann ein Beobachter (z. B. ein Mensch, der Computer 18 usw.) umso mehr Detail(s) in Bezug auf die Szene ausmachen, je höher die verfügbare Auflösung ist.
  • Wie hierin verwendet, werden die räumlichen Elemente, für die es ein entsprechendes gemessenes Tiefenelement in dem zweidimensionalen räumlichen Elementarray gibt, als von dem Computer 18 abgeglichen (z. B. abgeglichene Elemente) bezeichnet, während die räumlichen Elemente, die kein entsprechendes Tiefenelement aufweisen, hierin als ungemessene Tiefenkartenpositionen bezeichnet werden. Nach der Registrierung, und wie im Folgenden detailliert beschrieben wird, kann der Computer 18 mit Anweisungen programmiert sein, um eine gradientenbasierte Optimierung durchzuführen, um Tiefenwerte zu schätzen, die der Vielzahl ungemessener Tiefenpositionen entsprechen. Dementsprechend kann der Computer 18 in Echtzeit eine sogenannte Superauflösungs-Tiefenkarte generieren und/oder ausgeben, die eine Zusammensetzung gemessener Tiefenelemente (vom ersten Sensor 14 gemessen) und geschätzter Tiefenelemente (vom Computer 18 für die ungemessenen Tiefenpositionen berechnet) umfasst. Somit kann der Computer vor diesem Prozess eine sogenannte spärliche Tiefenkarte (z. B. niedrige Tiefenauflösung) empfangen, und nach dem Prozess kann der Computer eine Superauflösungs-Tiefenkarte generiert haben (z. B. hohe Tiefenauflösung). Ferner kann die (Hochauflösungs-) Superauflösungs-Tiefenkarte dieselbe oder eine ähnliche Auflösung wie die des zweiten Sensors 16 aufweisen. Auf diese Weise können Tiefendaten und räumliche Daten miteinander verschmolzen werden (z. B. Eins-zu-Eins-Abgleich), um die dem Computer in Bezug auf seine Umgebung verfügbaren Informationen zu verbessern.
  • In der beispielhaften Umgebung von Fahrzeug 12 kann dies dazu benutzt werden, um das Fahrzeug 12 autonom zu navigieren. Und in anderen Umgebungen kann es dazu benutzt werden, das Situationsbewusstsein zu verbessern, die Detektion verschiedener Objekte zu verbessern, die unter Verwendung von nur räumlichen Daten schwierig zu detektieren sind, andere Aufgaben durchzuführen usw.
  • Es folgt eine Beschreibung einer beispielhaften Fahrzeugumgebung. Danach werden beispielhafte Verfahren zum Bestimmen geschätzter Tiefenelemente und/oder zur Ausgabe von Superauflösungs-Tiefenkarten beschrieben.
  • 1 veranschaulicht das Fahrzeug 12, das ein tiefenauflösendes System 10 umfasst. Das Fahrzeug 12 ist als Personenkraftwagen gezeigt, doch das Fahrzeug 12 könnte auch ein Lastkraftwagen, eine Geländelimousine (sports utility vehicle - SUV), ein Wohnmobil, Bus, Waggon, Flugzeug oder dergleichen sein, welche/s/r das tiefenauflösende System 10 beinhaltet. Gemäß einem nichteinschränkenden Beispiel ist das Fahrzeug 12 ein autonomes Fahrzeug; d. h. es wird in einem vollautonomen Modus betrieben (z. B. einer Stufe 5) wie von der Society of Automotive Engineers (SAE) definiert (die einen Betrieb auf Stufen den 0-5 definiert hat). Beispielsweise überwacht oder steuert auf den Stufen 0-2 ein menschlicher Fahrzeugführer die Mehrheit der Fahraufgaben, oftmals ohne Hilfe vom Fahrzeug 12. Beispielsweise ist ein menschlicher Fahrzeugführer auf Stufe 0 („keine Automatisierung“) für alle Fahrzeugvorgänge verantwortlich. Auf Stufe 1 („Fahrzeugführerassistenz“) hilft das Fahrzeug 12 manchmal in Bezug auf das Lenken, Beschleunigen oder Bremsen, aber der Fahrzeugführer ist noch immer für den Großteil der Fahrzeugsteuerung verantwortlich. Auf Stufe 2 („partielle Automatisierung“) kann das Fahrzeug 12 das Lenken, Beschleunigen und Bremsen unter bestimmten Umständen ohne menschliche Interaktion steuern. Auf den Stufen 3-5 übernimmt das Fahrzeug 12 mehr fahrbezogene Aufgaben. Auf Stufe 3 („bedingte Automatisierung“) kann das Fahrzeug 12 das Lenken, Beschleunigen und Bremsen unter bestimmten Umständen bewältigen sowie die Fahrumgebung überwachen. Auf Stufe 3 kann es jedoch erforderlich sein, dass der Fahrzeugführer gelegentlich eingreift. Bei Stufe 4 („hohe Automatisierung“) kann das Fahrzeug 12 die gleichen Aufgaben wie auf Stufe 3 bewältigen, aber ohne darauf angewiesen zu sein, dass der Fahrzeugführer in bestimmten Fahrmodi eingreift. Auf Stufe 5 („volle Automatisierung“) kann das Fahrzeug 12 alle Aufgaben ohne jegliches Eingreifen des Fahrzeugführers bewältigen.
  • In anderen Beispielen ist das Fahrzeug 12 kein vollautonomes Fahrzeug. Beispielsweise kann das Fahrzeug 12 stattdessen in einem teilautonomen oder einem nichtautonomen Modus (z. B. auf einer der Stufen 0-5) betrieben werden.
  • Wie teilweise oben erläutert, kann das System 10 einen ersten Sensor 14, einen zweiten Sensor 16 und einen Computer 18 sowie eine geeignete drahtgebundene oder drahtlose Netzwerkverbindung 24 umfassen, die Kommunikation zwischen den Vorrichtungen 14, 16, 18 und anderen elektronischen Vorrichtungen (nicht gezeigt) an Bord des Fahrzeugs 12 ermöglicht. In mindestens einem Beispiel beinhaltet die Verbindung 24 eines oder mehrere von einem Controller Area Network (CAN)-Bus, Ethernet, Local Interconnect Network (LIN), einer faseroptischen Verbindung oder dergleichen. Andere Beispiele existieren ebenfalls. Beispielsweise könnte die Verbindung 24 alternativ oder in Kombination mit z. B. einem CAN-Bus eine oder mehrere diskrete verdrahtete oder drahtlose Verbindungen umfassen.
  • Der erste Sensor 14 kann eine beliebige elektronische Vorrichtung sein, die dazu konfiguriert und/oder programmiert ist, einen räumlichen Abstand zwischen einem Empfänger (nicht gezeigt) des Sensors 14 und einem Objekt in der Szene (davon beabstandet) zu bestimmen. Gemäß einem nichteinschränkenden Beispiel ist der ersten Sensor 14 eine Vorrichtung zur optischen Abstands- und Geschwindigkeitsmessung (light detection und ranging - LIDAR). LID AR-Vorrichtungen sind aktive Sensorvorrichtungen; d. h. sie emittieren zu einem Zeitpunkt (t0) eine elektromagnetisches Strahlungssignal von einem Emitter und empfangen zu einem Zeitpunkt (t1) an einem Empfänger eine Rückkehr oder Reflektion des emittierten Signals; wodurch sie die Eigenschaften eines Licht- und Zeitdifferentials (Δt oder t1 - t0) benutzen, um einen Abstand zwischen der LIDAR-Vorrichtung und dem Objekt bestimmen, von dem das Signal reflektiert wird. Die von LIDAR-Vorrichtungen empfangenen Tiefendaten können als Punktwolkendaten bezeichnet werden (d. h., wie hierin verwendet, dass Punktwolkendaten eine Reihe von Datenpunkten (hierin als gemessene Tiefenelemente bezeichnet) in einem vorbestimmten Koordinatensystem umfassen). Im Allgemeinen sind dem Fachmann LIDAR-Vorrichtungen bekannt, weshalb sie hierin nicht ausführlicher erläutert werden. Es versteht sich, dass eine LIDAR-Vorrichtung nur ein Beispiel eines ersten Sensors 14 ist; andere abstands- und entfernungsmessende Vorrichtungen (z. B. Radio Detection und Ranging (Radar)-Vorrichtungen, Sonarvorrichtungen usw.) könnten stattdessen verwendet werden.
  • 2 veranschaulicht einen Teil von Punktwolkendaten 26. Ein kleiner Teil einer gesamten Punktwolke ist hier allein zur Veranschaulichung gezeigt. Die Punktwolkendaten 26 umfassen eine Vielzahl gemessener Tiefenelemente 28. Wie hierin verwendet, ist eine gemessene Tiefeneinheit eine Einheit von Daten, die vom ersten Sensor 14 empfangen werden, wobei besagte Dateneinheit eine räumliche Messung umfasst, die einen Abstand zwischen dem ersten Sensor 14 und einem Objekt definiert, von dem eine Energieübertragung reflektiert wird und zum ersten Sensor 14 zurückkehrt.
  • Der zweite Sensor 16, in 1 gezeigt, kann eine beliebige geeignete elektronische Vorrichtung sein, die dazu konfiguriert und/oder programmiert ist, Lichtenergie zu empfangen und verschiedene Lichtbänder innerhalb des elektromagnetischen Spektrums zu empfangen. Gemäß einem nichteinschränkendem Beispiel ist der zweite Sensor 16 eine Kamera. Zu nichteinschränkenden Beispielen von Kameras gehören komplementäre Metalloxid-Halbleiter (complementary metal oxide semiconductor - CMOS)-Vorrichtungen, ladungsgekoppelte Vorrichtungen (cahrge-coupled devices - CCDs), andere passive Sensorvorrichtungen, aktive Sensorvorrichtungen, passive und aktive Sensorvorrichtungen (d. h. beides) und dergleichen. Kameras sind dem Fachmann bekannt, daher werden sie hierin ebenfalls nicht ausführlich erläutert.
  • Rein zur Veranschaulichung kann der zweite Sensor 16 ein zweidimensionales Array von räumlichen Elementen an den Computer 18 ausgeben; wobei die Größe und Form des Arrays eine Eigenschaft des bestimmten zweiten Sensors 16 ist. Rein zur Veranschaulichung ist ein nichteinschränkendes Beispiel eines Teils eines zweidimensionalen Arrays 34 in 3 gezeigt (z. B. ein Array 34 10x10 Pixeln 36). Gesamte Pixel-Arrays sind typischerweise viel größer und können eine hohe Auflösung aufweisen (z. B. können Hochauflösungsarrays größer als 1600x1200 Pixel sein und eine relativ höhe Pixeldichte (d. h. Menge von Pixeln per Flächeneinheit) aufweisen). Allein zum Zwecke der Erläuterung der vorliegenden Offenbarung wird ein Teil eines Arrays 34 gezeigt. 3 veranschaulicht, dass jedes Pixel 36 ein räumliches Element 38 umfassen kann; wie hierin verwendet, ist ein räumliches Element eine Dateneinheit, die unter Verwendung eines Pixels oder einem pixelähnlichen Bereich des zweiten Sensors 16 empfangen wird, wobei die Dateneinheit eine Messung elektromagnetischer (EM-) Energie umfasst, die mit einer Reflektion oder Emission von der umgebenden Szene assoziiert ist (dementsprechend können solche räumlichen Elemente auch als gemessene räumliche Elemente bezeichnet werden, da der zweite Sensor 16 die empfangene EM-Energie quantifiziert). In mindestens einem Beispiel stammt die empfangene EM-Energie nicht von dem zweiten Sensor 16 (d. h. Sensor 16 ist in mindestens einem Beispiel keine aktive Sensorvorrichtung).
  • Unter erneuter Bezugnahme auf 1 umfasst der Computer 18 mindestens einen Prozessor 42 und einen Speicher 44. Der Prozessor 42 kann dazu programmiert sein, digitale Anweisungen zu verarbeiten und/oder auszuführen, um mindestens einige der hierin beschriebenen Aufgaben durchzuführen. Nichteinschränkende Beispiele des Prozessors 42 beinhalten einen Mikroprozessor, einen Mikrocontroller oder einen Controller, eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit - ASIC) usw., um nur einige zu nennen. Und einige nichteinschränkende Beispiel von digital gespeicherten Anweisungen - speicherbar im Speicher 44 und ausführbar vom Speicher 42 - beinhalten die Folgenden: Empfangen gemessener Tiefenelemente vom ersten Sensor 14; Empfangen von räumlichen Elementen vom zweiten Sensor 16; Registrieren der empfangenen räumlichen Elemente mit entsprechenden gemessenen Tiefenelementen; Bestimmen einer Vielzahl ungemessener Tiefenkartenpositionen; Berechnen geschätzter Tiefenelemente für die Vielzahl ungemessener Tiefenkartenpositionen; und Generieren einer Superauflösungs-Tiefenkarte, die eine Zusammensetzung der gemessenen Tiefenelemente (z. B. von dem ersten Sensor 14 empfangen) und der geschätzten Tiefenelemente (vom Computer 18 berechnet) umfasst. Zusätzliche und spezifischere Beispiele für Anweisungen, die statt und/oder zusätzlich dieser Beispiele benutzt werden können, sind in dem einen oder den mehreren Prozessen unten beschrieben.
  • Wie unten genauer erläutert wird, veranschaulicht 4 eine Registrierung 46 gemessener Tiefenelemente 28 (von Punktwolkendaten 26) mit dem Array 34 von Pixeln 36, welche die räumlichen Elemente 38 umfassen (hier sind jedoch die räumlichen Elemente 38 der Klarheit halber verborgen). Wie unten genauer erläutert wird, werden in Bezug auf eine gemeinsame Szene (von welcher der erste Sensor 14 Tiefendaten empfängt und der zweite Sensor 16 räumliche Daten empfängt) räumliche Elemente 38 mit entsprechenden Tiefenelementen 28 abgeglichen. Wie hierin verwendet, werden indizierte Positionen in dem Array 34, in dem räumliche Elemente 38 nicht mit einem entsprechenden Tiefenelement abgeglichen sind, als ungemessene Tiefenkartenpositionen 48 beschrieben. Wie unten genauer erläutert wird, wird der Computer 18 geschätzte Tiefenelemente (z. B. Tiefenwerte) für diese ungemessenen Tiefenkartenpositionen 48 berechnen, um eine Superauflösungs-Tiefenkarte zu erzeugen.
  • Ferner veranschaulicht 5 eine beispielhafte Superauflösungs-Tiefenkarte 50 (oder zumindest einen Teil davon). Wie unten ebenfalls genauer beschrieben wird, umfasst die veranschaulichte Karate 50 eine Zusammensetzung gemessener Tiefenelemente 28 und einer Vielzahl geschätzter Tiefenelemente 52 in Positionen 48. Wie hierin verwendet, ist eine Superauflösungs-Tiefenkarte eine Tiefenkarte, die eine tatsächliche (z. B. gemessene) Datenpunktdichte (vom ersten Sensor 14) für einen Teil einer erfassten Szene aufweist, die mit einer geschätzten (z. B. berechneten) räumlichen Punktdichte (vom zweiten Teil 16) übereinstimmt. Beispielsweise hätte angesichts der identischen Blickfelder (für Sensor 14 und Sensor 16) die Superauflösungs-Tiefenkarte dieselbe Auflösung (z. B. Menge an Datenpunkten) wie ein Pixel-Array des Blickfelds von Sensor 16.
  • Der Speicher 44 kann ein beliebiges nichttransitorisches computerverwendbares oder -lesbares Medium beinhalten, das eine oder mehrere Speichervorrichtungen oder -artikel beinhalten kann. Beispielhafte nichttransitorische computerverwendbare Speichervorrichtungen beinhalten eine herkömmliche Festplatte, einen Festspeicher, einen Direktzugriffspeicher (random access memory - RAM), Nurlesespeicher (read-only memory - ROM), löschbare programmierbare Nurlesespeicher (erasable programmable read-only memory - EPROM), elektrisch löschbare programmierbare Nurlesespeicher (electrically erasable programmable read-only memory - EEPROM) sowie andere flüchtige oder nichtflüchtige Medien. Nichtflüchtige Medien beinhalten beispielsweise optische oder Magnetplatten und andere permanente Speicher, und flüchtige Medien können beispielsweise auch dynamische Direktzugriffspeicher (dynamic random access memory - DRAM) beinhalten. Diese Speichervorrichtungen sind nichteinschränkende Beispiele; z. B. existieren andere Formen computerlesbarer Medien und beinhalten magnetische Medien, Compact Disc ROM (CD-ROMs), Digital Video Disc (DVDs), andere optische Medien, geeignete Speicherchip oder -Kassetten oder ein beliebiges anderes Medium, von dem ein Computer lesen kann. Wie oben erläutert kann der Speicher 44 ein oder mehrere Computerprogrammprodukte speichern, die als Software, Firmware oder andere vom Prozessor 42 ausführbare Programmieranweisungen umgesetzt sein können.
  • Unter Bezugnahme auf 6 wird nun ein Prozess 600 veranschaulicht, der von dem Computer 18 ausgeführt werden kann. Unter Verwendung des Prozesses 600 kann der Computer 18 eine Superauflösungs-Tiefenkarte 50 generieren und/oder ausgeben. Der Prozess 600 beginnt mit Block 610, in dem der Computer 18 räumliche Elemente 38 (vom zweiten Sensor 16) einer gemeinsamen Szene 60 empfängt. Eine beispielhafte gemeinsame Szene 60 ist in den 9-11 gezeigt; wie hierin verwendet, ist eine gemeinsame Szene eine gleichzeitige Beobachtung durch den ersten und den zweiten Sensor 14, 16, wobei beide Sensoren 14, 16 Informationen in Bezug auf einen gemeinsamen Bereich ihrer jeweiligen Umgebungen empfangen. Beispielsweise kann das Blickfeld des ersten Sensors sich zumindest teilweise mit dem Blickfeld des Sensors 16 überschneiden. Wie in 3 gezeigt, können die räumlichen Elemente 38 gemäß dem Array 34 angeordnet sein, und das Array 34 kann auf geeignete Art indiziert sein, z. B. eine horizontale Achse kann mithilfe eines Labels i identifiziert werden und eine vertikale Achse kann mithilfe eines Labels j identifiziert werden. Dementsprechend kann ein beliebiges Pixel 36 durch seine Pixelstelle (i, j) identifiziert werden. Und wie unten beschrieben kann auch jede ungemessene Tiefenkartenposition 48 durch ihre jeweilige Pixelstelle (i, j) identifiziert werden.
  • In Block 620 kann der Computer 18 Punktwolkendaten 26 empfangen; z. B. die gemessenen Tiefenelemente 28 vom ersten Sensor 14 empfangen. Wie in den 2-3 gezeigt, kann für eine gemeinsame Szene die relative Dichte der gemessenen Tiefenelemente 28 in Bezug auf die entsprechenden räumlichen Elemente 38 spärlich sein, da die Auflösung von Tiefendaten (z. B. für LIDAR-Vorrichtungen) typischerweise geringer ist als die von räumlichen Daten (z. B. für Kameras).
  • Nach Empfangen von sowohl räumlichen Elementen 38 als auch gemessenen Tiefenelementen 28 kann der Computer 18 in Block 630 die Registrierung 46 durchführen (z. B. in einem Teil von 4 gezeigt). Während räumliche Elemente 38 in 4 verborgen sind, versteht es sich, dass die gemessenen Tiefenelemente 28 auf die entsprechenden Pixelstellen (i, j) des Arrays 34 gemappt sind, wie oben erläutert. Die Registrierung umfasst ferner das Identifizieren der Vielzahl ungemessener Tiefenkartenpositionen 48; z. B. durch Computer 18, indem bestimmt wird, welche Pixelstellen kein entsprechendes gemessenes Tiefenelement 28 aufweisen.
  • In Block 640 wendet der Computer 18 eine iterative gradientenbasierte Optimierung an und berechnet eine Vielzahl geschätzter Tiefenelemente; wie hierin verwendet, sind die geschätzten Tiefenelemente computerberechnete Tiefenwerte für die ungemessenen Tiefenkartenpositionen 48 (siehe 4-5). Beispiele dafür, wie Block 640 bestimmt wird, werden unten ausführlicher unter Bezugnahme auf die 7 und 8 erklärt.
  • In Block 650, der Block 640 folgt, kann der Computer 18 die Superauflösungs-Tiefenkarte 50 generieren. Da der Computer 18 die gemessenen Tiefenelemente 28 für eine gegebene Abtastung vorläufig speichern kann, kann er beispielsweise diese Tiefenwerte mit den geschätzten Tiefenelementen zusammenführen. Block 650 wird unten ebenfalls unter Bezugnahme auf die 7-8 genauer beschrieben. Gemäß mindestens einem Beispiel umfasst Block 650 das Ausgeben der generierten Superauflösungs-Tiefenkarte 50 an eine andere Rechenvorrichtung (z. B. über die Netzwerkverbindung 24). Doch in anderen Beispielen gibt der Computer 18 die Karte 50 nicht aus. Beispielsweise kann der Computer 18 die Superauflösungs-Tiefenkarte 50 intern benutzen; z. B. kann der Computer 18 auch dazu programmiert sein, eine oder mehrere autonome Fahrunktionen auszuführen, und die Superauflösungs-Tiefenkarte 50 kann von dem Computer 18 dazu benutzt werden, um zu bestimmen, wie das Fahrzeug 12 zu navigieren ist.
  • Es versteht sich, dass der Prozess 600 zahlreiche Male während eines Zündzyklus wiederholt werden kann. Beispielsweise kann eine einzige Iteration der Blöcke 610-650 eine Superauflösungs-Tiefenkarte 50 für einen einzigen Augenblick bereitstellen. Beispielsweise veranschaulicht 9 ein Beispiel einer Vielzahl von räumlichen Elementen (z. B. ein Bild in einer Szene 60), die von dem Computer 18 von dem zweiten Sensor 16 empfangen wird (Block 610). 10 veranschaulicht ein Beispiel einer Vielzahl gemessener Tiefenelemente (z. B. spärliche Tiefenkarte derselben Szene 60), die von dem Computer 18 von dem ersten Sensor 14 empfangen wird (Block 620). Und 11 veranschaulicht ein Beispiel einer ausgegebenen Superauflösungs-Tiefenkarte 50 für Szene 60; umfassend sowohl die gemessenen Tiefenelemente (aus 10) als auch der geschätzten Tiefenelemente 52 für die Vielzahl ungemessener Tiefenkartenpositionen 48 (z. B. die geschätzten Tiefenelemente 52, die durch den Computer 18 in Block 640 bestimmt werden). Hinweis: in 11 sind dunklere Bereiche weiter vom ersten Sensor 14 entfernt, während hellere Bereich näher am ersten Sensor 14 liegen.
  • Die 9-11 veranschaulichen eine einzige Szene zu einem derartigen einzigen Augenblick. Doch einige der Objekte 62, 64 (z. B. Person 62, Fahrzeug 64) können sich bewegen; somit ist es möglicherweise wünschenswert, die Blöcke 610-650 wiederholt auszuführen. In autonomen Fahrzeugumgebungen kann die Bewegung von Objekten 62, 64, 66 (z. B. Boden 66) relativ sein; z. B. können sich das Fahrzeug 12 und/oder die Objekte selbst (z. B. 62, 64) bewegen. Somit kann nach Block 650 der Prozess 600 zum Anfang zurückkehren und jeden der oben beschriebenen Blöcke wiederholen, sodass der Computer 18 oder andere bordeigene Systeme aktuelle Informationen in Bezug auf die Objekte 62-66 um das Fahrzeug 12 haben kann.
  • 7 und 8 veranschaulichen jeweils Techniken zum Bestimmen einer gradientenbasierten Optimierung (6, 640) und Erzeugen einer Superauflösungs-Tiefenkarte 50 (6, 650). Jede wird für sich erläutert.
  • In 7 kann Block 640 mehrere beispielhafte Blöcke 710, 720, 730 und 740 umfassen. Im Allgemeinen bestimmen die Blöcke 640 und 650 gemeinsam die Gleichung (1), die ein Minimum f(x) bestimmt, wobei f(x) eine erste Bedingung in einer Kostenfunktion ist (z. B. auch als eine Verlustfunktion bezeichnet), wobei f(x) = ||Dx||l 2 , (Hinweis: obwohl eine l2-Norm benutzt wird, ist dies nur ein Beispiel; z.B. kann stattdessen eine l1-Norm oder dergleichen benutzt werden.) x ^ = arg x X Ω ' min D x l 2 ,
    Figure DE102019105578A1_0007
    wobei x eine multidimensionale Variable ist, die das zu schätzende Tiefenkartenbild darstellt, das eine theoretische Hochauflösungstiefenkarte (50) darstellt, gemäß einer in der Gleichung (2) festgelegten Bedingung x Ω = y Ω
    Figure DE102019105578A1_0008
  • In Bezug auf die Gleichungen (1) und (2), stellt Ω einen Satz von Pixelindizen dar, der mit den gemessenen Tiefenelementen 28 assoziiert ist, und stellt Ω' einen Satz Pixelindizen dar, der mit den ungemessenen Tiefenkartenpositionen 48 assoziiert ist. Somit stellt yΩ einen Satz gemessener Tiefenelemente 28 dar (z. B. empfangen von einer relativ niedrigauflösenden LIDAR-Vorrichtung, registriert und gemappt auf Array 34), und stellt xΩ einen Satz generierter gemessener Tiefenelemente 28 dar (z. B. in der Superauflösungs-Tiefenkarte 50, entsprechend den ungemessenen Tiefenkartenpositionen 48), wie unten genauer erklärt. Ferner stellt x̂ eine berechnete (z. B. geschätzte) Superauflösungs-Tiefenkarte 50 dar, die gemäß einem Beispiel eine Kombination aus yΩ (Gleichung 2) und s Ω ' t
    Figure DE102019105578A1_0009
    (siehe Gleichung 4 unten) umfasst.
  • Auf Gleichung (1) zurückkommend, ist D ein mathematischer Gradientenoperator, der bei jeder ungemessenen Tiefenkartenposition 48 die Stärke der Tiefendiskontinuität in Bezug auf die benachbarten Pixelstellen quantifizieren kann; z. B. in den Dh (horizontalen) und Dv (vertikalen) Richtungen, wie in Gleichung (3) gezeigt. Ferner stellt ||x||l 2 eine l2-Norm dar, die für Vektor x als n = 1 N x n 2
    Figure DE102019105578A1_0010
    definiert ist, wobei N eine Quantität skalarer Elemente xn ist. D = [ D h D v ]
    Figure DE102019105578A1_0011
  • Um x̂ in Gleichung (1) zu schätzen, kann der Computer 18 die Blöcke 710-740 ausführen. Beispielsweise kann in Block 710 der Computer 18 mehrere Werte initialisieren: t (ein Optimierungsiterationswert) kann auf 1 gesetzt werden, s0 (Optimierungstransformiterationswert) kann auf y gesetzt werden und γ (ein vorbestimmter, positiver Skalarwert, der eine Lernrate des Gradientengefälles darstellt (z. B. eine Stärke eines Beitrags einer Kostenfunktion (unten beschrieben) in Bezug auf die Optimierung) kann auf einen Wert größer als Null eingestellt werden. Jeder dieser Werte kann in dem Speicher 55 gespeichert werden. Der γ -Wert kann vorkonfiguriert sein, um eine Qualität der Superauflösungs-Tiefenkarten(50)-Rekonstruktion mit einer Konvergenzdauer auszugleichen.
  • Im folgenden Block 720 kann der Computer 18 die Gleichung (4) unten ausführen. s Ω ' t = s Ω ' t 1 γ I Ω ' f ( s t 1 ) ,
    Figure DE102019105578A1_0012
    wobei s Ω ' t
    Figure DE102019105578A1_0013
    eine Tiefenkartenschätzung umfasst, oder genauer eine Schätzung der Werte geschätzter Tiefenelemente 52
  • Unter Bezugnahme auf Gleichung (4) stellt IΩ, eine Funktion dar, die nur die durch Ω' definierten Pixelstellen auswählt (z. B. ungemessene Tiefenkartenpositionen 48). ∇ ist ein Gradientenoperator einer Kostenfunktion. Beispielsweise ist eine Kostenfunktion eine Funktion, die Werte einer oder mehrerer Variablen auf eine reelle Zahl mappt und dadurch einige Kosten (oder Verluste) darstellt, die mit den Werten assoziiert sind; da die Kostenfunktion zum Optimieren konfiguriert ist, soll die Funktion hier die Kostenfunktion für einen Satz jeweiliger geschätzter Tiefenelemente 52 minimieren (z. B. globale Minima bestimmen). Somit kann die Kostenfunktion mit diesen globalen Minima konvergieren oder sich den Minima innerhalb eines Schwellenwerts (T) annähern.
  • Im folgenden Block 730 kann der Computer 18 den Wert t inkrementieren. Beispielsweise kann der Computer 18 t = t + 1 berechnen. Somit ist bei einer ersten Iteration der berechnete t gleich 2.
  • Im folgenden Block 740 kann der Computer 18 bestimmen, ob s Ω ' t
    Figure DE102019105578A1_0014
    mit den Minima konvergiert hat oder ob s Ω ' t
    Figure DE102019105578A1_0015
    innerhalb eines Konvergenz-Schwellenwerts (T) liegt. Konvergenz kann auf eine beliebige geeignete Art und Weise bestimmt werden. Beispielsweise kann jede Iteration (t) von s Ω ' t
    Figure DE102019105578A1_0016
    mit einem vorherigen Wert von s Ω ' t
    Figure DE102019105578A1_0017
    verglichen werden. Konvergenz kann basierend auf einem Mangel an Veränderung der Werte von s Ω ' t
    Figure DE102019105578A1_0018
    oder minimaler Veränderung der Werte (z. B. geringer als Schwellenwert (T)) bestimmt werden. In Block 740 fährt der Prozess, falls Konvergenz oder Konvergenz innerhalb des Schwellenwerts (T) bestimmt wird, mit Block 650 fort, und falls keine Konvergenz oder Konvergenz innerhalb des Schwellenwerts (T) bestimmt wird, kann der Prozess zum Anfang zurückkehren und Blöcke 720-740 wiederholen (z. B. bis s Ω ' t
    Figure DE102019105578A1_0019
    angemessen in Block 740 konvergiert).
  • Im folgenden Block 650 kann die Superauflösungs-Tiefenkarte 50 (x̂) unter Verwendung des Werts von s Ω ' t
    Figure DE102019105578A1_0020
    generiert werden, wie in Gleichung (5) gezeigt, wobei x̂Ω = yΩ und x ^ Ω ' = s Ω ' t .
    Figure DE102019105578A1_0021
    x ^ = x ^ Ω x ^ Ω '
    Figure DE102019105578A1_0022
    stellt die Fusionierung eines Satzes gemessener Tiefenelemente 28 mit einem Satz geschätzter Tiefenelemente 52 dar
  • Nun wird unter Bezugnahme 8 eine weitere Umsetzung von Block 640, 6 gezeigt, die es dem Computer 18 ermöglicht, die Optimierung schneller durchzuführen (z. B. veranschaulicht 8 Blöcke 640' und 650). In dieser Umsetzung von Block 640' wird eines von Nesterovs Verfahren zum Lösen eines konvexen Programmierungsproblems mit Konvergenzrate [0(1/k2)] benutzt. Und da Block 650 mit dem oben beschriebenen zumindest in einem Beispiel identisch sein kann, wird nur Block 640' ausführlich beschrieben.
  • Block 640' kann die Böcke 810, 820, 830, 840, 850, 860 und 870 umfassen. Block 810 kann Block 630 (6) folgen und Block 810 kann identisch mit Block 710 sein, abgesehen davon, dass ein zusätzlicher Wert initialisiert werden kann; und zwar q0 = 1, wobei qt-Werte skalare Quantitäten sein können, die eine zusätzliche Lernrate darstellen (z. B. einen zusätzlichen Stärkewert), die dazu benutzt wird, das Bestimmen des Gradientengefälles zu beschleunigen.
  • Im folgenden Block 820 kann der Computer 18 einen Wert von z Ω ' t
    Figure DE102019105578A1_0023
    wie in Gleichung (6) dargelegt bestimmen. Wie aus der Erläuterung oben ersichtlich ist, kann z Ω ' t
    Figure DE102019105578A1_0024
    einen Zwischenwert umfassen und kann dazu benutzt werden, s Ω ' t
    Figure DE102019105578A1_0025
    zu berechnen, wie unten (siehe Gleichung (9)) und in Bezug auf den in 7 gezeigten Prozess beschrieben. Andere Variablen und Funktionen, die in Gleichung (6) gezeigt sind, können dieselben oder ähnlich wie die oben beschriebenen sein. z Ω ' t = s Ω ' t 1 γ I Ω ' f ( s t 1 ) ,
    Figure DE102019105578A1_0026
  • Im folgenden Block 830 kann der Computer 18 die Gleichung (7) bestimmen. q t 1 2 ( 1 + 1 + 4 q t 1 2 )
    Figure DE102019105578A1_0027
  • Im folgenden Block 840 kann der Computer 18 die Gleichung (8) bestimmen; unter Verwendung des qt-Werts, der in Gleichung (7) bestimmt wurde. λ t = ( q t 1 1 ) / q t ) ,
    Figure DE102019105578A1_0028
    wobei λt-Werte ebenfalls skalare Quantitäten sein können, die eine zusätzliche Lernrate darstellen (z. B. einen zusätzlichen Stärkenwert), die dazu benutzt wird, das Bestimmen des Gradientengefälles zu beschleunigen
  • Im folgenden Block 850 kann der Computer 18 die Gleichung (9) bestimmen; unter Verwendung der Werte, die in den Gleichungen (6) und (8) berechnet wurden. s Ω ' t = ( 1 + λ t ) z Ω ' t λ t z Ω ' t 1
    Figure DE102019105578A1_0029
  • Der folgende Block 860 kann mit Block 730 identisch sein, deshalb wird er hierin nicht erneut beschrieben. Ähnlich kann der folgende Block 870 mit Block 740 identisch sein; deshalb wird er hierin nicht erneut beschrieben; z. B. mit der Ausnahme, dass, falls keine Konvergenz oder Konvergenz innerhalb des Schwellenwerts (T) bestimmt wird, der Prozess zum Anfang zurückkehren und die Blöcke 820-870 wiederholen kann (z. B. bis s Ω ' t ,
    Figure DE102019105578A1_0030
    angemessen in Block 870 konvergiert).
  • Wie oben besprochen, kann nach Block 870 der Prozess mit Block 650 fortfahren, der derselbe wie zuvor beschrieben sein kann. Somit kann der Computer 18 unter Verwendung von Block 640' das Bestimmen von Konvergenz beschleunigen, was die Geschwindigkeit erhöht, mit welcher der Computer 18 die Superauflösungs-Tiefenkarte 50 bestimmt. Dementsprechend kann die Frequenz der Superauflösungs-Tiefenkartenbestimmungen erhöht werden, was ermöglicht - z. B. in einer Fahrzeugumsetzung -, dass das Fahrzeug 12 mehr Echtzeit-Situationsbewusstsein empfängt. Wie hierin verwendet, bezieht sich Echtzeit auf ein Zeitdifferential zwischen Eingabedaten (z. B. Blöcke 610, 620) und Ausgabedaten (z. B. Block 650), wobei das Zeitdifferential zwischen diesen Zeitpunkten weniger als 150 ms beträgt.
  • Damit kann der Computer 18 unter Verwendung der oben beschriebenen Prozesse und Beispiele eine spärliche Tiefenkarte (z. B. mit niedriger Tiefenauflösung) empfangen und eine Superauflösungs-Tiefenkarte 50 (z. B. mit hoher Tiefenauflösung) generieren. Ferner kann die (Hochauflösungs-) Superauflösungs-Tiefenkarte 50 eine gleiche oder ähnliche Auflösung aufweisen wie die vom zweiten Sensor 16, wobei manche der Tiefendaten gemessen sein können, während einige der Tiefendaten geschätzt sein können. In manchen Beispielen können Tiefendaten und räumliche Daten verschmolzen werden (z. B. Eins-zu-Eins-Abgleich), um die dem Computer in Bezug auf seine Umgebung verfügbaren Informationen zu verbessern. Beispielsweise kann jedes der gemessenen und geschätzten Tiefenelemente 28, 52 einer einzigartigen Pixelstelle des Arrays 34 räumlicher Elemente 38 entsprechen, die von dem zweiten Sensor 16 empfangen werden.
  • Somit wurde ein tiefenauflösendes System für ein Fahrzeug beschrieben. Das System kann einen ersten Sensor, einen zweiten Sensor und einen Computer beinhalten. Der erste Sensor kann spärliche Tiefendaten in Bezug auf seine Umgebung empfangen, und der Computer kann eine Superauflösungs-Tiefenkarte unter Verwendung der spärlichen Tiefendaten und geschätzten Tiefendaten berechnen, die unter Verwendung von gradientenbasierter Optimierung berechnet werden.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Rechnerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der SYNC®-Anwendung von Ford, AppLink/Smart Device Link Middleware, der Betriebssysteme MICROSOFT® Automotive, Microsoft WINDOWS®, Unix (z. B. das Betriebssystem SOLARIS®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, das Linux-Betriebssystem, Mac OSX- und iOS-Betriebssysteme, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, BlackBerry OS, vertrieben durch Blackberry, Ltd. in Waterloo, Kanada, und Android, entwickelt von Google, Inc. und der Open Handset Alliance, oder der Plattform QNX® CAR für Infotainment, angeboten von QNX Software Systems. Beispiele für Rechenvorrichtungen sind unter anderem ein im Fahrzeug integrierter Rechner, ein Arbeitsplatzcomputer, ein Server, ein Desktop, ein Notebook, ein Laptop oder Handcomputer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
  • Rechenvorrichtungen enthalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie beispielsweise die vorstehend aufgeführten Vorrichtungen. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder - technologien erstellt wurden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Visual Basic, Java Script, Perl usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie beispielsweise die Java Virtual Machine, die Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, indem er ein oder mehrere Verfahren durchführt, darunter ein oder mehrere der in der vorliegenden Schrift beschriebenen Verfahren. Derartige Anweisungen und sonstige Daten können unter Verwendung einer Vielzahl computerlesbarer Medien gespeichert und übertragen werden.
  • Ein computerlesbares Speichermedium (auch als vom Prozessor lesbares Medium bezeichnet) umfasst ein nichtflüchtiges (z. B. materielles) Medium, das an der Bereitstellung von Daten (z. B. Anweisungen) beteiligt ist, die von einem Computer (z. B. von einem Prozessor eines Computers) gelesen werden können. Ein solches Medium kann eine Vielzahl von Formen annehmen, einschließlich unter anderem nichtflüchtige Medien und flüchtige Medien. Zu nichtflüchtigen Medien gehören beispielsweise optische oder Magnetplatten und sonstige dauerhafte Speicher. Zu flüchtigen Medien können beispielsweise ein dynamischer Direktzugriffsspeicher (Dynamic Random Access Memory - DRAM) gehören, welcher in der Regel einen Hauptspeicher darstellt. Derartige Anweisungen können über ein oder mehrere Übertragungsmedien übertragen werden, darunter Koaxialkabel, Kupferdraht und Glasfaser, einschließlich jener Drähte, die einen mit einem Prozessor eines Computers verbundenen Systembus umfassen. Zu gängigen Formen computerlesbarer Medien gehören beispielsweise eine Diskette, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, ein RAM, ein PROM, ein EPROM, ein FLASH-EEPROM, ein beliebiger anderer Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
  • Datenbanken, Datenbestände oder sonstige Datenspeicher, welche in der vorliegenden Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen Arten von Daten umfassen, einschließlich einer hierarchischen Datenbank, einer Gruppe von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem proprietären Format, einem relationalen Datenbankverwaltungssystem (Relational Database Management System - RDBMS) usw. Jeder dieser Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung enthalten, welche ein Rechnerbetriebssystem, wie beispielsweise eines der vorstehend aufgeführten, verwendet, und es wird auf eine oder mehrere mögliche Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Rechnerbetriebssystem zugegriffen werden und es kann in verschiedenen Formaten gespeicherte Dateien enthalten. Ein RDBMS verwendet im Allgemeinen die strukturierte Abfragesprache SQL (Structured Query Language) zusätzlich zu einer Sprache zum Erstellen, Speichern, Bearbeiten und Ausführen gespeicherter Verfahren, wie beispielsweise die vorstehend aufgeführte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Server, PCs usw.) implementiert sein, welche auf einem mit dieser assoziierten computerlesbaren Speichermedium gespeichert sind (z. B. Platten, Speicher usw.). Ein Computerprogrammprodukt kann derartige Anweisungen umfassen, welche auf einem computerlesbaren Medium zum Ausführen der in der vorliegenden Schrift beschriebenen Funktionen gespeichert sind.
  • Der Prozessor wird via Schaltkreise, Chips oder andere elektronische Komponenten umgesetzt und kann eine oder mehrere Mikrocontroller, einen oder mehrere feldprogrammierbare Gate Arrays (field programmable gate arrays - FPGAs), einen oder mehrere anwendungsspezifische integrierte Schaltkreise (application specific circuits - ASICs), einen oder mehrere digitale Signalprozessoren (digital signal processors - DSPs), einen oder mehrere kundenspezifische integrierte Schaltkreise usw. beinhalten. Der Prozessor kann dazu programmiert sein, die Sensordaten zu verarbeiten. Das Verarbeiten der Daten kann ein Verarbeiten des Videofeeds oder eines anderen Datenstroms beinhalten, der von den Sensoren erfasst wird, um die Fahrspur des Host-Fahrzeugs und das Vorhandensein von Zielfahrzeugen zu bestimmen. Wie nachstehend beschrieben, weist der Prozessor Fahrzeugkomponenten zum Betätigen gemäß den Sensordaten an. Der Prozessor kann in eine Steuerung eingebaut sein, z. B. eine Autonommodussteuerung.
  • Der Speicher (oder die Datenspeichervorrichtung) wird via Schaltkreise, Chips oder andere elektronische Komponenten umgesetzt und kann eines oder mehrere der Folgenden beinhalten: Nurlesespeicher (ROM), Direktzugriffsspeicher (RAM), Flash-Speicher, elektronisch programmierbare Speicher (EPROM), elektronisch programmierbar und löschbare Speicher (EEPROM), eingebettete Multimedia Card (eMMC) oder beliebige flüchtige oder nichtflüchtige Medien usw. Der Speicher kann von Sensoren gesammelte Daten speichern.
  • Die Offenbarung wurde auf veranschaulichende Weise beschrieben, und es versteht sich, dass die benutzte Terminologie beschreibenden und nicht einschränkenden Charakters sein soll. Viele Modifikationen und Variationen der vorliegenden Beschreibung sind in Anbetracht der vorangehenden Lehren möglich, und die Offenbarung kann anders ausgeführt werden als spezifisch beschrieben.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Bestimmen einer Vielzahl ungemessener Tiefenkartenpositionen unter Verwendung von Tiefenelementen von einem ersten Sensor und räumlichen Elementen von einem zweiten Sensor; Berechnen, für jede der Vielzahl, geschätzter Tiefenelemente unter Verwendung einer gradientenbasierten Optimierung; und Generieren einer Superauflösungs-Tiefenkarte, welche die gemessenen und geschätzten Tiefenelemente umfasst.
  • Gemäß einer Ausführungsform handelt es sich bei dem ersten Sensor um eine Vorrichtung zur optischen Abstands- und Geschwindigkeitsmessung (light detection und ranging - LIDAR), wobei es sich bei dem zweiten Sensor um eine Kamera handelt.
  • Gemäß einer Ausführungsform ist die vorliegende Erfindung ferner gekennzeichnet durch das Registrieren der räumlichen Elemente mit den gemessenen Tiefenelementen, wobei die Vielzahl ungemessener Tiefenkartenpositionen indizierte Positionen eines Arrays der räumlichen Elemente sind, die kein entsprechendes gemessenes Tiefenelement haben.
  • Gemäß einer Ausführungsform entspricht in der Superauflösungs-Tiefenkarte jedes der gemessenen und geschätzten Tiefenelemente einer einzigartigen Pixelstelle eines Arrays von räumlichen Elementen, die von dem zweiten Sensor empfangen werden.
  • Gemäß einer Ausführungsform umfasst das Berechnen der geschätzten Tiefenelemente ferner in Bezug auf jede ungemessene Tiefenkartenposition das Quantifizieren einer Stärke einer Tiefendiskontinuität in Bezug auf die benachbarten Pixelstellen.
  • Gemäß einer Ausführungsform umfasst die Optimierung das Bestimmen von Minima einer Kostenfunktion.
  • Gemäß einer Ausführungsform umfasst die Optimierung: x ^ = arg x X Ω min D x l 2 ,
    Figure DE102019105578A1_0031
    vorbehaltlich xΩ = yΩ, wobei x̂ die Superauflösungs-Tiefenkarte ist, wobei x eine multidimensionale Variable ist, die das zu schätzende Tiefenkartenbild darstellt, wobei y einen Satz gemessener Tiefenelemente umfasst, wobei D ein Gradientenoperator ist, wobei || x ∥l 2 , eine l2 -Norm ist und wobei Ω einen Satz von Pixelindizes darstellt, der mit den gemessenen Tiefenelementen assoziiert ist.
  • Gemäß einer Ausführungsform umfasst die Optimierung das Bestimmen einer Konvergenz s Ω ' t = s Ω ' t 1 γ I Ω ' f ( s t 1 ) .
    Figure DE102019105578A1_0032
  • Gemäß einer Ausführungsform wird s Ω ' t
    Figure DE102019105578A1_0033
    wiederholt bestimmt, bis Konvergenz bestimmt ist oder Konvergenz innerhalb eines Schwellenwerts (T) bestimmt ist.
  • Gemäß einer Ausführungsform umfasst die Optimierung das Bestimmen einer Konvergenz s Ω ' t = ( 1 + λ t ) z Ω ' t λ t z Ω ' t 1 .
    Figure DE102019105578A1_0034
  • Gemäß einer Ausführungsform wird z Ω ' t
    Figure DE102019105578A1_0035
    wiederholt bestimmt, bis Konvergenz bestimmt ist oder Konvergenz innerhalb eines Schwellenwerts (T) bestimmt ist.
  • Gemäß einer Ausführungsform umfasst das Bestimmen der Konvergenz ein Nesterov-Verfahren zum Lösen eines konvexen Programmierungsproblems mit einer Konvergenzrate [0(1/k2)].
  • Gemäß einer Ausführungsform ist die obige Erfindung ferner gekennzeichnet durch das Verschmelzen der Superauflösungs-Tiefenkarte mit den räumlichen Elementen.
  • Gemäß einer Ausführungsform ist die obige Erfindung ferner gekennzeichnet durch das Navigieren eines Fahrzeugs in einem autonomen Modus unter Verwendung der Superauflösungs-Tiefenkarte.
  • Gemäß der vorliegenden Erfindung wird ein Computer bereitgestellt, der Folgendes aufweist: einen Prozessor; und einen Speicher, der Anweisungen speichert, die von dem Prozessor ausführbar sind, wobei die Anweisungen Folgendes umfassen: Bestimmen einer Vielzahl ungemessener Tiefenkartenpositionen unter Verwendung von Tiefenelementen von einem ersten Sensor und räumlichen Elementen von einem zweiten Sensor; Berechnen, für jede der Vielzahl, geschätzter Tiefenelemente unter Verwendung einer gradientenbasierten Optimierung; und Generieren einer Superauflösungs-Tiefenkarte, welche die gemessenen und geschätzten Tiefenelemente umfasst.
  • Gemäß einer Ausführungsform umfassen die Anweisungen ferner Folgendes: Registrieren der räumlichen Elemente, die von dem zweiten Sensor empfangen werden, mit den gemessenen Tiefenelementen, wobei die Vielzahl ungemessener Tiefenkartenpositionen indizierte Positionen eines Arrays der räumlichen Elemente sind, die kein entsprechendes gemessenes Tiefenelement haben.
  • Gemäß einer Ausführungsform entspricht in der Superauflösungs-Tiefenkarte jedes der gemessenen und geschätzten Tiefenelemente einer einzigartigen Pixelstelle eines Arrays von räumlichen Elementen, die von dem zweiten Sensor empfangen werden.
  • Gemäß einer Ausführungsform umfasst die Anweisung zum Berechnen geschätzter Tiefenelemente ferner Folgendes: in Bezug auf jede ungemessene Tiefenkartenposition das Quantifizieren einer Stärke einer Tiefendiskontinuität in Bezug auf die benachbarten Pixelstellen.
  • Gemäß einer Ausführungsform umfasst die Optimierung: x ^ = arg x X Ω min D x l 2 ,
    Figure DE102019105578A1_0036
    vorbehaltlich xΩ = yΩ, wobei x̂ die Superauflösungs-Tiefenkarte ist, wobei x eine multidimensionale Variable ist, die das zu schätzende Tiefenkartenbild darstellt, wobei y einen Satz gemessener Tiefenelemente umfasst, wobei D ein Gradientenoperator ist, wobei || x ∥l 2 eine l2 -Norm ist und wobei Ω einen Satz von Pixelindizes darstellt, der mit den gemessenen Tiefenelementen assoziiert ist.
  • Gemäß einer Ausführungsform umfassen die Anweisungen ferner Folgendes: Bestimmen einer Konvergenz in Bezug auf die Werte der geschätzten Tiefenelemente; und Verwenden eines Nesterov-Verfahrens für eine jeweilige Konvergenzrate.

Claims (15)

  1. Verfahren, Folgendes umfassend: Bestimmen einer Vielzahl ungemessener Tiefenkartenpositionen unter Verwendung von Tiefenelementen von einem ersten Sensor und räumlichen Elementen von einem zweiten Sensor; Berechnen, für jede der Vielzahl geschätzter Tiefenelemente unter Verwendung einer gradientenbasierten Optimierung; und Generieren einer Superauflösungs-Tiefenkarte, welche die gemessenen und geschätzten Tiefenelemente umfasst.
  2. Verfahren nach Anspruch 1, wobei es sich bei dem ersten Sensor um eine Vorrichtung zur optischen Abstands- und Geschwindigkeitsmessung (light detection und ranging - LIDAR) handelt, wobei es sich bei dem zweiten Sensor um eine Kamera handelt.
  3. Verfahren nach Anspruch 1, ferner umfassend das Registrieren der räumlichen Elemente mit den gemessenen Tiefenelementen, wobei die Vielzahl ungemessener Tiefenkartenpositionen indizierte Positionen eines Arrays der räumlichen Elemente sind, die kein entsprechendes gemessenes Tiefenelement haben.
  4. Verfahren nach Anspruch 1, wobei in der Superauflösungs-Tiefenkarte jedes der gemessenen und geschätzten Tiefenelemente einer einzigartigen Pixelstelle eines Arrays von räumlichen Elementen entspricht, die von dem zweiten Sensor empfangen werden.
  5. Verfahren nach Anspruch 1, wobei das Berechnen der geschätzten Tiefenelemente ferner in Bezug auf jede ungemessene Tiefenkartenposition das Quantifizieren einer Stärke einer Tiefendiskontinuität in Bezug auf die benachbarten Pixelstellen umfasst.
  6. Verfahren nach Anspruch 1, wobei die Optimierung das Bestimmen einer Minima einer Kostenfunktion umfasst.
  7. Verfahren nach Anspruch 1, wobei die Optimierung Folgendes umfasst: x ^ = arg x X Ω min D x l 2 ,
    Figure DE102019105578A1_0037
    vorbehaltlich xΩ = yΩ, wobei x̂ die Superauflösungs-Tiefenkarte ist, wobei x eine multidimensionale Variable ist, die das zu schätzende Tiefenkartenbild darstellt, wobei y einen Satz gemessener Tiefenelemente umfasst, wobei D ein Gradientenoperator ist, wobei || x ∥l 2 eine l2-Norm ist und wobei Ω einen Satz von Pixelindizes darstellt, der mit den gemessenen Tiefenelementen assoziiert ist.
  8. Verfahren nach Anspruch 1, wobei die Optimierung das Bestimmen einer Konvergenz s Ω ' t = s Ω ' t 1 γ I Ω ' f ( s t 1 )
    Figure DE102019105578A1_0038
    umfasst.
  9. Verfahren nach Anspruch 8, wobei s Ω ' t
    Figure DE102019105578A1_0039
    wiederholt bestimmt wird, bis Konvergenz bestimmt ist oder Konvergenz innerhalb eines Schwellenwerts (T) bestimmt ist.
  10. Verfahren nach Anspruch 1, wobei die Optimierung das Bestimmen einer Konvergenz s Ω ' t = ( 1 + λ t ) z Ω ' t λ t z Ω ' t 1
    Figure DE102019105578A1_0040
    umfasst.
  11. Verfahren nach Anspruch 10, wobei z Ω ' t
    Figure DE102019105578A1_0041
    wiederholt bestimmt wird, bis Konvergenz bestimmt ist oder Konvergenz innerhalb eines Schwellenwerts (T) bestimmt ist.
  12. Verfahren nach Anspruch 10, wobei das Bestimmen der Konvergenz das Verwenden eines Nesterov-Verfahrens zum Lösen eines konvexen Programmierungsproblems mit einer Konvergenzrate [0(1/k2)] umfasst.
  13. Verfahren nach Anspruch 1, ferner umfassend das Navigieren eines Fahrzeugs in einem autonomen Modus unter Verwendung der Superauflösungs-Tiefenkarte.
  14. Computer, Folgendes umfassend: einen Prozessor und einen Speicher, der Anweisungen speichert, die von dem Prozessor ausführbar sind, wobei die Anweisungen das Verfahren eines der Ansprüche 1-13 umfassen.
  15. Computerprogrammprodukt, umfassend ein computerlesbares Medium, das Anweisungen speichert, die von einem Computerprozessor ausführbar sind, um das Verfahren eines der Ansprüche 1-13 auszuführen.
DE102019105578.4A 2018-03-12 2019-03-05 Generieren einer superauflösungs-tiefenkarte Pending DE102019105578A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/918,557 US10628920B2 (en) 2018-03-12 2018-03-12 Generating a super-resolution depth-map
US15/918,557 2018-03-12

Publications (1)

Publication Number Publication Date
DE102019105578A1 true DE102019105578A1 (de) 2019-09-12

Family

ID=67701392

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019105578.4A Pending DE102019105578A1 (de) 2018-03-12 2019-03-05 Generieren einer superauflösungs-tiefenkarte

Country Status (3)

Country Link
US (1) US10628920B2 (de)
CN (1) CN110264399A (de)
DE (1) DE102019105578A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389348B (zh) * 2019-07-30 2020-06-23 四川大学 基于激光雷达与双目相机的定位与导航方法及装置
CN110764106A (zh) * 2019-10-09 2020-02-07 中交一公局集团有限公司 一种采用激光雷达辅助盾构区间调坡调线测量施工方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6781591B2 (en) * 2001-08-15 2004-08-24 Mitsubishi Electric Research Laboratories, Inc. Blending multiple images using local and global information
JP4216824B2 (ja) 2005-03-07 2009-01-28 株式会社東芝 3次元モデル生成装置、3次元モデル生成方法および3次元モデル生成プログラム
US8139142B2 (en) 2006-06-01 2012-03-20 Microsoft Corporation Video manipulation of red, green, blue, distance (RGB-Z) data including segmentation, up-sampling, and background substitution techniques
DE602007012321D1 (de) 2007-11-07 2011-03-10 Tele Atlas Bv Verfahren und anordnung zur abbildung von entfernungssensordaten auf bildsensordaten
US20100157280A1 (en) 2008-12-19 2010-06-24 Ambercore Software Inc. Method and system for aligning a line scan camera with a lidar scanner for real time data fusion in three dimensions
GB0908200D0 (en) 2009-05-13 2009-06-24 Red Cloud Media Ltd Method of simulation of a real physical environment
JP5018980B2 (ja) 2010-04-08 2012-09-05 カシオ計算機株式会社 撮像装置、長さ測定方法、及びプログラム
KR101030763B1 (ko) 2010-10-01 2011-04-26 위재영 이미지 획득 유닛, 방법 및 연관된 제어 유닛
WO2014074039A1 (en) * 2012-11-12 2014-05-15 Telefonaktiebolaget L M Ericsson (Publ) Processing of depth images
US9083960B2 (en) 2013-01-30 2015-07-14 Qualcomm Incorporated Real-time 3D reconstruction with power efficient depth sensor usage
US9424650B2 (en) * 2013-06-12 2016-08-23 Disney Enterprises, Inc. Sensor fusion for depth estimation
US9369689B1 (en) 2015-02-24 2016-06-14 HypeVR Lidar stereo fusion live action 3D model video reconstruction for six degrees of freedom 360° volumetric virtual reality video
US11328446B2 (en) * 2015-04-15 2022-05-10 Google Llc Combining light-field data with active depth data for depth map generation
US10282591B2 (en) 2015-08-24 2019-05-07 Qualcomm Incorporated Systems and methods for depth map sampling
US10341633B2 (en) * 2015-11-20 2019-07-02 Qualcomm Incorporated Systems and methods for correcting erroneous depth information
US10148873B2 (en) 2015-12-22 2018-12-04 Mitsubishi Electric Research Laboratories, Inc. Method and system for motion adaptive fusion of optical images and depth maps acquired by cameras and depth sensors
CN108780569B (zh) 2016-01-08 2023-05-05 特利丹菲力尔有限责任公司 用于图像分辨率增强的系统和方法
US10582121B2 (en) * 2016-01-12 2020-03-03 Mitsubishi Electric Research Laboratories, Inc. System and method for fusing outputs of sensors having different resolutions
AU2018350909B2 (en) * 2017-10-16 2021-09-23 Illumina, Inc. Aberrant splicing detection using convolutional neural networks (CNNS)

Also Published As

Publication number Publication date
US20190279339A1 (en) 2019-09-12
CN110264399A (zh) 2019-09-20
US10628920B2 (en) 2020-04-21

Similar Documents

Publication Publication Date Title
DE102018120845B4 (de) Verfahren und Vorrichtung zum Überwachen eines autonomen Fahrzeugs
DE102019110428A1 (de) Sensorkalibrierung
WO2017016799A1 (de) Bestimmung einer anordnungsinformation für ein fahrzeug
DE102009014105A1 (de) Erkennungssystem für ein Fahrzeug
DE102020105642A1 (de) Entwerfen von und verarbeiten mit antennenarrays zur beseitigung von fehldetektionen in einem radarsystem
DE102018218436A1 (de) Fahrzeugparkassistenz
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102019105578A1 (de) Generieren einer superauflösungs-tiefenkarte
DE102018104427A1 (de) Steuerung einer trägervorrichtung unter verwendung einer dreidimensionalen position und geschwindigkeit
DE102022108656A1 (de) Neuronales quantilnetz
DE102018217000A1 (de) Verfahren, Computerprogramm und Messsystem für die Auswertung von Bewegungsinformationen
DE102019114600A1 (de) Unterscheiden von virtuellen objekten voneinander
DE102018217268A1 (de) Vorrichtung und Verfahren zum Ermitteln von Höheninformationen eines Objekts in einer Umgebung eines Fahrzeugs
DE102018216999A1 (de) Verfahren, Computerprogramm und Messsystem für die Auswertung von Bewegungsinformationen
DE102023120330A1 (de) Neuronales strahlungsfeld für ein fahrzeug
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102018215288A1 (de) Verfahren und Verarbeitungseinheit zur Verfolgung eines Objektes
DE102022100545A1 (de) Verbesserte objekterkennung
DE102020134530A1 (de) Rückaufprallwarnsystem mit temporärem cnn
DE102020127253A1 (de) Quantifizieren von fotorealismus in simulierten daten mit gan
DE102022114199A1 (de) Tiefenkartengenerierung
DE102022111711A1 (de) Pose mit mehreren freiheitsgraden für die fahrzeugnavigation
DE102021131484A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken

Legal Events

Date Code Title Description
R082 Change of representative

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