DE102020206759A1 - Verfahren und Verarbeitungssystem zur Aktualisierung eines ersten Bildes, das von einer ersten Kamera erzeugt wird, basierend auf einem zweiten Bild, das von einer zweiten Kamera erzeugt wird - Google Patents

Verfahren und Verarbeitungssystem zur Aktualisierung eines ersten Bildes, das von einer ersten Kamera erzeugt wird, basierend auf einem zweiten Bild, das von einer zweiten Kamera erzeugt wird Download PDF

Info

Publication number
DE102020206759A1
DE102020206759A1 DE102020206759.7A DE102020206759A DE102020206759A1 DE 102020206759 A1 DE102020206759 A1 DE 102020206759A1 DE 102020206759 A DE102020206759 A DE 102020206759A DE 102020206759 A1 DE102020206759 A1 DE 102020206759A1
Authority
DE
Germany
Prior art keywords
camera
depth map
pixels
depth
pixel
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
DE102020206759.7A
Other languages
English (en)
Inventor
Russell Islam
Xutao Ye
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.)
Mujin Inc
Original Assignee
Mujin Inc
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 Mujin Inc filed Critical Mujin Inc
Publication of DE102020206759A1 publication Critical patent/DE102020206759A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/25Image signal generators using stereoscopic image cameras using two or more image sensors with different characteristics other than in their location or field of view, e.g. having different resolutions or colour pickup characteristics; using image signals from one sensor to control the characteristics of another sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40564Recognize shape, contour of object, extract position and orientation
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Manipulator (AREA)
  • Measurement Of Optical Distance (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Es werden ein Verfahren und ein System zur Verarbeitung von Kamerabildern vorgestellt. Das System empfängt eine erste Tiefenkarte, die basierend auf Informationen erzeugt wird, die von einer ersten Art einer Tiefenerfassungskamera erfasst werden, und empfängt eine zweite Tiefenkarte, die basierend auf Informationen erzeugt wird, die von einer zweiten Art einer Tiefenerfassungskamera erfasst werden. Die erste Tiefenkarte beinhaltet einen ersten Satz von Pixeln, die einen ersten Satz von jeweiligen Tiefenwerten anzeigen. Die zweite Tiefenkarte beinhaltet einen zweiten Satz von Pixeln, die einen zweiten Satz von jeweiligen Tiefenwerten anzeigen. Das System identifiziert einen dritten Satz von Pixeln der ersten Tiefenkarte, die dem zweiten Satz von Pixeln der zweiten Tiefenkarte entsprechen, identifiziert ein oder mehrere leere Pixel aus dem dritten Satz von Pixeln und aktualisiert die erste Tiefenkarte durch Zuordnen eines jeweiligen Tiefenwertes zu jedem leeren Pixel basierend auf der zweiten Tiefenkarte.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Verfahren und ein Verarbeitungssystem zum Konstruieren eines auf Kamerabilddaten basierenden Bildes.
  • HINTERGRUND
  • Kameras können zur Erleichterung von Automatisierungsanwendungen eingesetzt werden, bei denen ein Roboter mit seiner Umgebung, wie z. B. einer Lager- oder Fertigungsumgebung, interagiert. Die Kameras können Bilder erzeugen, aus denen verschiedene Informationen bestimmt werden können, wie beispielsweise eine Form oder Größe eines Objekts in der Umgebung des Roboters. Die Informationen können Interaktionen erleichtern, bei dem der Roboter das Objekt in einem Lagerhaus aufnimmt oder das Objekt in einer Fabrik herumnavigiert. Die von der Kamera erfassten Bilder können auch dazu verwendet werden, ein Modell des Objekts wie ein dreidimensionales (3D-)Modell des Objekts zu erzeugen.
  • KURZDARSTELLUNG
  • Ein Aspekt der Ausführungsformen hierin betrifft ein Verfahren, das von einem Kamerabildverarbeitungssystem durchgeführt wird. Das Verfahren kann durch eine Steuerschaltung des Kamerabildverarbeitungssystems durchgeführt werden, wie beispielsweise durch die Steuerschaltung, die Anweisungen auf einem nicht-flüchtigen computerlesbaren Medium des Kamerabildverarbeitungssystems ausführt. Das Kamerabildverarbeitungssystem umfasst eine Kommunikationsschnittstelle, die konfiguriert ist, um mit: (i) einer ersten Kamera, die eine erste Art von Tiefenerfassungskamera ist und ein erstes Kamerasichtfeld aufweist, und (ii) einer zweiten Kamera, die eine zweite Art von Tiefenerfassungskamera ist, die sich von der ersten Art der Tiefenerfassungskamera unterscheidet und ein zweites Kamerasichtfeld aufweist, das dem ersten Kamerasichtfeld überlagert ist, zu kommunizieren. Das Kamerabildverarbeitungssystem ist konfiguriert, um, wenn die Kommunikationsschnittstelle mit der ersten Kamera und der zweiten Kamera in Verbindung steht: eine erste Tiefenkarte zu empfangen, die basierend auf von der ersten Kamera erfassten Informationen erzeugt wird, wobei die erste Tiefenkarte einen ersten Satz von Pixeln beinhaltet, die einen ersten Satz von jeweiligen physischen Orten in dem ersten Kamerasichtfeld darstellen und die einen ersten Satz von jeweiligen Tiefenwerten für den ersten Satz von jeweiligen physischen Orten anzeigen, wobei der erste Satz von jeweiligen Tiefenwerten relativ zu der ersten Kamera ist. Das Kamerabildverarbeitungssystem ist ferner konfiguriert, um eine zweite Tiefenkarte zu empfangen, die basierend auf von der zweiten Kamera erfassten Informationen erzeugt wird, wobei die zweite Tiefenkarte einen zweiten Satz von Pixeln beinhaltet, die einen zweiten Satz von jeweiligen physischen Orten in dem zweiten Kamerasichtfeld darstellen und die einen zweiten Satz von jeweiligen Tiefenwerten für den zweiten Satz von jeweiligen physischen Orten anzeigen, wobei der zweite Satz von jeweiligen Tiefenwerten relativ zu der zweiten Kamera ist. Zusätzlich ist das Kamerabildverarbeitungssystem konfiguriert, um einen dritten Satz von Pixeln der ersten Tiefenkarte, die auch den zweiten Satz von jeweiligen physischen Orten darstellen, zu identifizieren, sodass der dritte Satz von Pixeln dem zweiten Satz von Pixeln der zweiten Tiefenkarte entspricht. Ferner ist das Kamerabildverarbeitungssystem konfiguriert, um ein oder mehrere leere Pixel aus dem dritten Satz von Pixeln zu identifizieren, wobei jedes leere Pixel des einen oder der mehreren leeren Pixel ein Pixel der ersten Tiefenkarte ist, das keinen dem Pixel zugeordneten Tiefenwert aufweist, und um die erste Tiefenkarte zu aktualisieren, indem jedem leeren Pixel des einen oder der mehreren leeren Pixel ein jeweiliger Tiefenwert zugeordnet wird, der auf einem Tiefenwert eines entsprechenden Pixels des zweiten Satzes von Pixeln der zweiten Tiefenkarte basiert, wobei der entsprechende Pixel für den leeren Pixel ein Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte ist, die einen gleichen physische Ort wie der leere Pixel darstellt.
  • Figurenliste
  • Die vorstehenden und andere Merkmale, Aufgaben und Vorteile der Erfindung werden aus der folgenden Beschreibung von Ausführungsformen hiervon, wie sie in den begleitenden Zeichnungen veranschaulicht sind, offensichtlich. Die begleitenden Zeichnungen, die hierin eingeschlossen sind und einen Teil der Beschreibung bilden, dienen ferner dazu, die Prinzipien der Erfindung zu erklären und einen Fachmann auf dem Gebiet in die Lage zu versetzen, die Erfindung angemessen herzustellen und zu verwenden. Die Zeichnungen sind nicht maßstäblich.
    • 1A zeigt ein Blockschaltbild eines Sichtsystems mit einem Kamerabildverarbeitungssystem, einer ersten Kamera und einer zweiten Kamera gemäß einer Ausführungsform hierin.
    • 1B zeigt ein Blockschaltbild eines Kamerabildverarbeitungssystems gemäß einer Ausführungsform hierin.
    • 1C zeigt ein Blockschaltbild einer ersten Kamera gemäß einer Ausführungsform hierin.
    • 1D zeigt ein Blockschaltbild einer zweiten Kamera gemäß einer Ausführungsform hierin.
    • 1E zeigt ein Blockschaltbild eines mit einem Robotersteuersystem in Verbindung stehenden Sichtsystems gemäß einer Ausführungsform hierin.
    • 2 zeigt ein Sichtsystem, bei dem eine erste Kamera und eine zweite Kamera Informationen erfassen, anhand welcher Tiefenkarten erzeugt werden können, gemäß einer Ausführungsform hierin.
    • 3A zeigt ein Sichtsystem, bei dem eine erste Kamera und eine zweite Kamera Informationen erfassen, anhand welcher Tiefenkarten erzeugt werden können, gemäß einer Ausführungsform hierin.
    • 3B zeigt eine erste Tiefenkarte gemäß einer Ausführungsform hierin.
    • 3C-3E zeigen einen ersten Satz von physischen Orten, die durch die erste Tiefenkarte dargestellt sind, gemäß einer Ausführungsform hierin.
    • 3F zeigt ein Sichtsystem, bei dem eine erste Kamera und eine zweite Kamera Informationen erfassen, anhand welcher Tiefenkarten erzeugt werden können, gemäß einer Ausführungsform hierin.
    • 3G zeigt eine zweite Tiefenkarte gemäß einer Ausführungsform hierin.
    • 3H zeigt einen zweiten Satz von physischen Orten, die durch die zweite Tiefenkarte dargestellt sind, gemäß einer Ausführungsform hierin.
    • 4 stellt ein Ablaufdiagramm bereit, das ein Verfahren zum Aktualisieren einer Tiefenkarte veranschaulicht, gemäß einer Ausführungsform hierin.
    • 5A und 5B zeigen Sichtsysteme, bei denen eine erste Kamera und eine zweite Kamera Informationen erfassen, anhand welcher Tiefenkarten erzeugt werden können, gemäß Ausführungsformen hierin.
    • 6A bis 61 veranschaulichen Beispiele, bei denen eine erste Tiefenkarte basierend auf Tiefeninformationen aus einer zweiten Tiefenkarte aktualisiert wird, gemäß Ausführungsformen hierin.
    • 7A bis 7C veranschaulichen Beispiele, bei denen eine erste Tiefenkarte basierend auf Tiefeninformationen aus einer zweiten Tiefenkarte aktualisiert wird, gemäß Ausführungsformen hierin.
    • 8A und 8B veranschaulichen Beispiele, bei denen eine erste Tiefenkarte basierend auf Tiefeninformationen aus einer zweiten Tiefenkarte aktualisiert wird, gemäß Ausführungsformen hierin.
    • 9A bis 9C veranschaulichen ein Beispiel für die Bestimmung einer Koordinate eines physischen Ortes durch einen Rückprojektionsvorgang gemäß einer Ausführungsform hierin.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung ist ihrer Natur nach lediglich exemplarisch und beabsichtigt nicht, die Erfindung oder die Anwendung und Verwendungen davon zu begrenzen. Weiterhin besteht keine Absicht, an eine ausdrückliche oder implizite Theorie gebunden zu sein, die in dem vorstehenden technischen Gebiet, dem Hintergrund, der Kurzdarstellung oder in der folgenden ausführlichen Beschreibung dargestellt ist.
  • Hier beschriebene Ausführungsformen betreffen eine Ergänzung oder anderweitige Aktualisierung von Informationen in einem ersten Bild basierend auf Informationen in einem zweiten Bild. Insbesondere beziehen sich Ausführungsformen auf eine Ergänzung oder anderweitige Aktualisierung von Tiefeninformationen (z. B. Tiefenwerten) in einer ersten Tiefenkarte basierend auf Tiefeninformationen in einer zweiten Tiefenkarte. Die erste Tiefenkarte kann basierend auf Informationen erzeugt worden sein, die von einer ersten Kamera erfasst wurden, während die zweite Tiefenkarte basierend auf Informationen erzeugt worden sein kann, die von einer zweiten Kamera erfasst wurden. In einigen Fällen kann die zweite Kamera andere Eigenschaften als die erste Kamera aufweisen. Beispielsweise kann die zweite Kamera eine andere Kameraart als die erste Kamera sein und kann ein anderes Funktionsprinzip aufweisen. Die unterschiedlichen Eigenschaften können dazu führen, dass die zweite Kamera z. B. weniger empfindlich ist, was gewisse Geräuscharten (auch als Interferenz bezeichnet) betrifft, eine bessere Genauigkeit, eine höhere Auflösung oder einen anderen Unterschied in der Eigenschaft als die erste Kamera aufweist. In einigen Fällen können durch die zweite Kamera erfasste Informationen bestimmte physische Orte abdecken, die von der ersten Kamera nicht erfasst werden. Diese Situation kann dadurch entstehen, dass die beiden Kameras unterschiedliche Geräuschempfindlichkeiten, unterschiedliche Genauigkeitsgrade, unterschiedliche Auflösungen, unterschiedliche Sichtfelder aufweisen oder aus einem anderen Grund. Dadurch, dass die zweite Kamera eine Informationen erfassen kann, die von der ersten Kamera nicht erfasst wurde oder für diese nicht verfügbar war, kann die zweite Kamera dazu verwendet werden, eine Fähigkeit der ersten Kamera zu ergänzen und/oder ergänzende Informationen bereitzustellen, die eine Tiefenkarte oder ein anderes Bild ergeben können, das in Bezug auf eine Implementierung, die die Tiefenkarte oder ein anderes Bild mit nur einer Kamera erzeugt, vollständiger und/oder genauer ist. Die Tiefenkarte der Ausführungsformen hierin kann somit eine Verschmelzung von über die erste Kamera gewonnenen Tiefeninformationen und über die zweite Kamera gewonnenen Tiefeninformationen sein.
  • In einigen Fällen kann die aktualisierte Tiefenkarte (auch ergänzte Tiefenkarte genannt) dazu verwendet werden, die Fähigkeit eines Roboters zur Interaktion mit dessen Umgebung zu verbessern. Beispielsweise können Tiefeninformationen aus der aktualisierten Tiefenkarte verwendet werden, um ein 3D-Modell (z. B. eine Punktwolke) eines Objekts oder einer Struktur in einer Umgebung des Roboters zu erzeugen. Wie oben erwähnt, kann die aktualisierte Tiefenkarte in den Ausführungsformen hierin vollständiger sein oder eine höhere Genauigkeit aufweisen. Dadurch kann ein aus der aktualisierten Tiefenkarte erzeugtes 3D-Modell auch vollständiger und/oder genauer sein, was eine genauere Steuerung des Roboters bei dessen Interaktion mit dem modellierten Objekt bzw. der modellierten Struktur erleichtern kann. So können z. B. genauere 3D-Modelle von Objekten in einer Box oder einem Behälter eine Fähigkeit des Roboters verbessern, die Behälteraufnahme genau durchzuführen, und genauere 3D-Modelle einer Struktur in einer Umgebung des Roboters können eine Fähigkeit des Roboters, eine Kollision mit der Struktur durch Navigieren um die Struktur herum zu vermeiden, verbessern. So können Ausführungsformen hierin die Automatisierung verbessern und robustere Interaktionen zwischen einem Roboter und dessen Umgebung erleichtern.
  • In einer Ausführungsform kann sowohl die erste Tiefenkarte als auch die zweite Tiefenkarte eine Vielzahl von Pixeln beinhalten, und eine Ergänzung der ersten Tiefenkarte (auch als Aktualisierung der ersten Tiefenkarte bezeichnet) kann Tiefenwerte für leere Pixel der ersten Tiefenkarte liefern. Die leeren Pixel der ersten Tiefenkarte können Pixel sein, denen kein Tiefenwert zugeordnet ist, oder denen es allgemeiner gesprochen an Tiefeninformationen fehlt. So beziehen sich einige Ausführungsformen auf die Füllung von fehlenden Tiefeninformationen durch Zuordnung von Tiefenwerten zu den leeren Pixeln, indem die leeren Pixel in aktualisierte Pixel umgewandelt werden.
  • In einer Ausführungsform können die den leeren Pixeln zugeordneten Tiefenwerte auf Tiefenwerten entsprechender Pixel der zweiten Tiefenkarte basieren. In einigen Fällen können die leeren Pixel in der ersten Tiefenkarte ein Ergebnis einer Interferenz sein, die eine Fähigkeit der ersten Kamera einschränkt, Informationen zu erfassen, die zur Bestimmung von Tiefenwerten erforderlich sind. Wenn beispielsweise die erste Kamera eine strukturierte Lichtkamera ist, kann die Interferenzquelle Sonnenlicht beinhalten, das eine Fähigkeit der ersten Kamera, strukturierte Lichtinformationen zu erfassen, einschränken kann, wie beispielsweise ein Erscheinungsbild eines Musters, das auf Oberfläche eines Objekts projiziert wird. Diese Beschränkung kann wiederum eine Fähigkeit zur Bestimmung von Tiefenwerten aus dem projizierten Muster reduzieren. Die Interferenz kann somit die Anzahl der zuverlässigen Informationen reduzieren, die zur Bestimmung von Tiefenwerten erforderlich sind, was zu einer ersten Tiefenkarte führen kann, die mehrere leere Pixel aufweist, für die Tiefeninformationen fehlen. In einer solchen Ausführungsform können Tiefenwerte der zweiten Kamera zum Ausfüllen eines Teils der fehlenden Tiefeninformationen verwendet werden. In einem Beispiel kann die zweite Kamera eine Flugzeitkamera (ToF) Kamera sein, die Flugzeitinformationen messen oder anderweitig erfassen kann, aus der Tiefenwerte für eine zweite Tiefenkarte erzeugt werden können. Die TOF-Kamera kann hinsichtlich der Interferenz wesentlich weniger sonnenlichtempfindlich als eine strukturierte Lichtkamera sein. Somit kann das Sonnenlicht die Fähigkeit der zweiten Kamera, Flugzeitinformationen zu erfassen, aus denen eine zweite Tiefenkarte mit einem zweiten Satz von Tiefenwerten erzeugt werden kann, beträchtlich weniger stark beeinflussen. Somit beziehen sich Ausführungsformen hierin auf das Abschwächen einer Wirkung einer Interferenz oder einer anderen Fehlerquelle unter Verwendung von Tiefenwerten aus der zweiten Tiefenkarte, um Tiefenwerte abzuleiten, die leere Pixel einer ersten Tiefenkarte aktualisieren können.
  • In einer Ausführungsform kann eine Abtastratenerhöhung als Teil der Aktualisierung der ersten Tiefenkarte durchgeführt werden, um eine Menge an leeren Pixeln der ersten Tiefenkarte, die aktualisiert werden, zu erhöhen. In einigen Fällen kann die Abtastratenerhöhung in einer Situation durchgeführt werden, in der z. B. die erste Tiefenkarte eine höhere Auflösung als die zweite Tiefenkarte aufweist. In einer solchen Situation kann ein Pixel aus der zweiten Tiefenkarte verwendet werden, um mehrere leere Pixel der ersten Tiefenkarte zu aktualisieren. Beispielsweise kann das Pixel aus der zweiten Tiefenkarte dazu verwendet werden, ein entsprechendes leeres Pixel in der ersten Tiefenkarte sowie einen Satz angrenzender leerer Pixel zu aktualisieren. Wenn keine Abtastratenerhöhung durchgeführt wird, kann die Anzahl der leeren Pixel in der ersten Tiefenkarte, die aktualisiert werden, relativ zu einer Gesamtanzahl von leeren Pixeln oder einer Gesamtanzahl von Pixeln der ersten Tiefenkarte in einem Szenario, in dem die Auflösung der ersten Tiefenkarte viel höher als die Auflösung der zweiten Tiefenkarte ist, klein sein. Somit wirkt sich die Aktualisierung der leeren Pixel ggf. nur begrenzt auf die erste Tiefenkarte als Ganzes aus, wenn die Abtastratenerhöhung nicht durchgeführt wird. Dementsprechend kann die Abtastratenerhöhung bei der Aktualisierung leerer Pixel der ersten Tiefenkarte durchgeführt werden, um die Menge an Tiefeninformationen in der ersten Tiefenkarte stärker zu beeinflussen.
  • In einer Ausführungsform kann eine Abtastratenverringerung durchgeführt werden, sodass ein leeres Pixel der ersten Tiefenkarte basierend auf Tiefeninformationen von mehreren Pixeln der zweiten Tiefenkarte aktualisiert wird. In einigen Fällen kann die Abtastratenverringerung in einer Situation durchgeführt werden, in der die erste Tiefenkarte eine geringere Auflösung als die zweite Tiefenkarte aufweist. In einer solchen Situation können mehrere Pixel der zweiten Tiefenkarte einem gemeinsamen leeren Pixel der ersten Tiefenkarte entsprechen. Der leere Pixel kann somit mit einem Tiefenwert aktualisiert werden, der ein durchschnittlicher oder anderer zusammengesetzter Wert der Tiefeninformationen der entsprechenden mehreren Pixel der zweiten Tiefenkarte ist.
  • In einer Ausführungsform kann, wenn einem Pixel, der ein leeres Pixel der ersten Tiefenkarte ist, ein Tiefenwert zugeordnet ist, ein Rückprojektionsvorgang durchgeführt werden, um einen physischen Ort zu finden, der zu einem Zentralort bzw. einer Mittelposition dieses Pixels projiziert, und spezifischer eine 3D-Koordinate [X'' Y'' Z'']T (wobei T eine Transponierte bezeichnet) des physischen Ortes zu finden, wobei der physische Ort ein Ort auf einer Oberfläche eines Objekts oder einer Struktur sein kann. Die 3D-Koordinate [X'' Y'' Z'']T kann dann als Punkt-in-Punktwolke verwendet werden, die als 3D-Modell eines Objekts oder einer Struktur im Sichtfeld der ersten Kamera auftreten kann. Spezifischer können physische Orte auf dem Objekt oder der Struktur zu entsprechenden Sensoren (z. B. Photodetektoren) in einer Sensoranordnung der ersten Kamera projizieren, wobei jeder der Sensoren einen entsprechenden physischen Bereich in der Sensoranordnung belegt. In einigen Fällen können die Sensoren Pixel einer Tiefenkarte entsprechen, sodass die physischen Orte auf dem Objekt oder der Struktur auch als auf die Pixel projizierend bezeichnet werden können. Ein physischer Ort auf einem Objekt oder einer Struktur kann durch einen Pixel dargestellt werden, weil der physische Ort zu einem Ort innerhalb eines physischen Bereichs projiziert, der von einem Sensor, der dem Pixel entspricht, belegt ist. In diesem Beispiel kann eine Mitte des Bereichs als Mitte des Pixels bezeichnet werden. Wenn dem Pixel ein Tiefenwert zugeordnet ist, kann das Pixel den physischen Ort mit einer ersten 3D-Koordinate von [X' Y' Z']T darstellen. Diese erste 3D-Koordinate [X' Y' Z']Tkann anhand eines intrinsischen Parameters der zweiten Kamera (z. B. einer Projektionsmatrix der zweiten Kamera), einer räumlichen Beziehung zwischen der ersten Kamera und der zweiten Kamera und eines intrinsischen Parameters der ersten Kamera (z. B. einer Projektionsmatrix der ersten Kamera) bestimmt werden. In einigen Fällen ist eine Z-Komponente der ersten 3D-Koordinate (d. h. Z') gleich dem Tiefenwert für das Pixel, der den physischen Ort darstellt (d. h. Z' ist gleich dem Tiefenwert, der dem Pixel zugeordnet ist). Der physische Ort mit der ersten 3D-Koordinate [X' Y' Z']T muss nicht notwendigerweise zum Zentralort bzw. der Mittelposition des Pixels projizieren und kann vielmehr zu einem anderen Ort in dem Bereich projizieren, der dem Pixel zugeordnet ist (oder spezifischer in den Bereich, der von dem Sensor belegt wird, der dem Pixel entspricht), z. B. ein Ort in einer Peripherie des Bereichs. Das Verwenden der ersten 3D-Koordinate [X' Y' Z']T als Punkt-in-Punktwolke des Objekts oder der Struktur kann unter gewissen Umständen nicht erwünscht sein, da manche Prozesse, die die Punktwolke verwenden, ggf. auf der Annahme basieren, dass jede 3D-Koordinate in der Punktwolke auf einen Zentralort eines entsprechenden Pixels projiziert. Weicht die Punktwolke von dieser Annahme ab, so arbeiten die Prozesse, die auf dieser Annahme basieren, ggf. nicht korrekt. Somit muss die Punktwolke stattdessen ggf. eine zweite 3D-Koordinate [X'' Y'' Z'']T eines anderen physischen Ortes beinhalten, der zu dem Zentralort des entsprechenden Pixels projiziert. In einer Ausführungsform kann die zweite 3D-Koordinate über einen Rückprojektionsvorgang bestimmt werden. Der Rückprojektionsvorgang kann eine imaginäre Linie bestimmen, die einen Brennpunkt der ersten Kamera und den Zentralort des Pixels verbindet, und die zweite 3D-Koordinate als eine Koordinate, die auf die imaginäre Linie fällt, bestimmen. Diese imaginäre Linie kann alle physischen Orte in dem Sichtfeld der ersten Kamera approximieren, die auf das Pixel projizieren können. In einigen Fällen muss die Z-Komponente der zweiten 3D-Koordinate ggf. gleich dem Tiefenwert des Pixels sein (d. h. Z'' und Z' sind gleich dem Tiefenwert). In solchen Fällen kann der Rückprojektionsvorgang das Bestimmen einer X-Komponente (d. h. X'') und einer Y-Komponente (d. h. Y'') der zweiten 3D-Koordinate einschließen, um die Bedingungen der 3D-Koordinate zu erfüllen, die auf die imaginäre Linie fallen muss, sowie der Z-Komponente der zweiten 3D-Koordinate einschließen, die gleich dem Tiefenwert des Pixels sein muss. Die zweite 3D-Koordinate kann in einer Punktwolke des Objekts oder der Struktur an Stelle der ersten 3D-Koordinate beinhaltet sein.
  • 1A veranschaulicht ein Blockschaltbild eines Sichtsystems 100 (auch Bilderfassungssystem 100, Modellkonstruktionssystem 100 oder einfacher als System 100 bezeichnet) dargestellt, das ein Kamerabildverarbeitungssystem 110, eine erste Kamera 140 und eine zweite Kamera 150 beinhaltet. Das Sichtsystem 100 kann so konfiguriert sein, dass es ein Bild eines Objekts oder einer Struktur in einem Sichtfeld einer ersten Kamera 140 und/oder einem Sichtfeld einer zweiten Kamera 150 erzeugt. In einer Ausführungsform kann das Bild ein Farbbild oder ein Graustufenbild sein, das Farbintensitätsinformationen oder Graustufeninformationen für das Objekt oder die Struktur beinhaltet. In einer Ausführungsform kann das Bild eine Tiefenkarte sein, die Tiefeninformationen (auch Entfernungsinformationen genannt) für das Objekt oder die Struktur beinhaltet. Beispielsweise kann die Tiefenkarte eine Vielzahl von Pixeln beinhalten, wobei einigen oder allen Pixeln jeweils Tiefenwerte zugeordnet sind. In einigen Fällen können das Pixeln ferner Werte zugeordnet sein, die 3D-Koordinaten für jeweilige physische Orte auf einer Oberfläche eines Objekts oder einer Struktur sind. Beispielsweise können einigen oder allen Pixeln jeweils ein erster Wert, ein zweiter Wert und ein dritter Wert zugeordnet werden, die eine X-Komponente, eine Y-Komponente bzw. eine Z-Komponente einer 3D-Koordinate eines jeweiligen physischen Ortes eines Objekts in einem Sichtfeld der ersten Kamera 140 und in einem Sichtfeld der zweiten Kamera 150 sind. Die Tiefenwerte können in manchen Szenarien eine Komponente der 3D-Koordinaten sein. Beispielsweise können die Tiefenwerte Z-Komponenten der 3D-Koordinaten sein. Wenn die Pixel 3D-Koordinaten für jeweilige physische Orte auf einer Oberfläche eines Objekts oder einer Struktur zugeordnet sind, kann die Tiefenkarte auch eine Punktwolke oder ein Teil einer Punktwolke sein, der als 3D-Modell oder Teil-3D-Modell des Objekts oder der Struktur betrachtet werden kann. In einigen Situationen kann jede andere Art von Tiefenkarte auch als 3D-Modell oder Teil-3D-Modell eines Objekts oder einer Struktur betrachtet werden. In einer Ausführungsform kann das Sichtsystem 100 so konfiguriert sein, dass es eine Punktwolke des Objekts oder der Struktur basierend auf Tiefeninformationen erzeugt, die von der ersten Kamera 140 und/oder der zweiten Kamera 150 erfasst wird.
  • Bei einer Ausführungsform kann das Sichtsystem 100 in einem Lagerhaus, einer Fertigungsanlage oder anderem Gelände bereitgestellt oder anderweitig angeordnet sein und kann einen Roboterbetrieb auf dem Gelände erleichtern. In einigen Fällen kann das Sichtsystem 100 so konfiguriert sein, dass es ein 3D-Modell eines Objekts oder einer Art eines Objekts erzeugt, mit dem ein Roboter auf dem Gelände interagieren soll. In 1E beispielsweise ist eine Ausführungsform dargestellt, bei der das Sichtsystem 100 mit einem Robotersteuersystem 170 (die die auch als Robotersteuerung bezeichnet werden kann) in Kommunikation steht, wobei das Robotersteuersystem 170 zur Erzeugung von Roboterbewegungsbefehlen für einen Roboter 180 konfiguriert ist. In dem Beispiel von 1E können das Sichtsystem 100, das Robotersteuersystem 170 und der Roboter 180 allesamt in einem Warenlager oder anderen Gelände bereitgestellt sein. Der Roboter 180 kann zur spezifischen Interaktion mit einem Objekt 190 in dem Warenlager oder mit Objekten gleicher Form und/oder Größe wie das Objekt 190 vorgesehen sein. Beispielsweise kann es sich bei dem Objekt 190 um eine Handelsware oder ein Paket in dem Warenlager handeln und kann die Roboterinteraktion die Behälteraufnahme, das Entpacken von Paletten, das Packen von Paletten oder einen anderen Robotervorgang einschließen. In diesem Beispiel kann das Sichtsystem 100 so konfiguriert sein, dass es ein 3D-Modell des Objekts 190 basierend auf von dem Sichtsystem 100 erfassten Tiefeninformationen erzeugt, und kann so konfiguriert sein, dass es das 3D-Modell an das Robotersteuersystem 170 übermittelt. Das 3D-Modell kann beispielsweise eine Größe, eine Form, einen Ort und/oder eine Orientierung des Objekts 190 anzeigen. In einigen Fällen kann das Robotersteuersystem 170 so konfiguriert sein, dass es einen Roboterbewegungsbefehl basierend auf dem 3D-Modell und basierend auf einer gewünschten Interaktion zwischen dem Roboter 180 und dem Objekt 190 erzeugt. Das Robotersteuersystem 170 kann so konfiguriert sein, dass es den Roboterbewegungsbefehl an den Roboter 180 übermittelt, um den Roboter 180 zu veranlassen, mit dem Objekt 190 in einer gewünschten Weise zu interagieren. In der Ausführungsform der 1E können das Sichtsystem 100 und das Robotersteuersystem 170 getrennte Systeme sein. In einer weiteren Ausführungsform kann das Sichtsystem 100 Teil des Robotersteuersystems 170 sein.
  • Unter erneuter Bezugnahme auf 1A kann das Kamerabildverarbeitungssystem 110 (auch Kamerainformationsverarbeitungssystem 110 genannt) zur Kommunikation mit der ersten Kamera 140 und der zweiten Kamera 150 (z.B. beide in 1A) und zur Aufnahme von Informationen von der ersten Kamera 140 und der zweiten Kamera 150 konfiguriert sein. In einer Ausführungsform kann die Informationen eine Tiefenkarte sein. In einer Ausführungsform können die Informationen strukturierte Lichtinformationen, Flugzeitinformationen oder andere Informationen sein, aus denen eine Tiefenkarte erzeugt werden kann. Die von der Kamera empfangenen Informationen können als Abbildungsinformationen angesehen werden, und das Kamerabildverarbeitungssystem 110 kann so konfiguriert sein, dass es die Abbildungsinformationen verarbeitet, um von der ersten Kamera 140 erfasste Abbildungsinformationen mit von der zweiten Kamera 150 erfassten Abbildungsinformationen zu ergänzen. In einigen Fällen kann das Kamerabildverarbeitungssystem 110 so konfiguriert sein, dass es eine erste Tiefenkarte verarbeitet, die basierend auf Informationen erzeugt werden kann, die von der ersten Kamera 140 erfasst werden, um die erste Tiefenkarte mit Tiefeninformationen aus einer zweiten Tiefenkarte zu ergänzen, die basierend auf Informationen erzeugt werden kann, die von der zweiten Kamera 150 erfasst werden. In einer Ausführungsform kann die erste Tiefenkarte ein Objekt in einem Sichtfeld der ersten Kamera 140 und der zweiten Kamera 150 darstellen und kann das Kamerabildverarbeitungssystem 110 so konfiguriert sein, dass es ein 3D-Modell (z. B. eine Punktwolke) des Objekts basierend auf Tiefeninformationen in der ersten Tiefenkarte erzeugt, nachdem die erste Tiefenkarte mit Tiefeninformationen aus der zweiten Tiefenkarte ergänzt wurde.
  • In einer Ausführungsform kann das Kamerabildverarbeitungssystem 110 ein einziges Gerät (z. B. eine einzelne Konsole oder ein einzelner Computer) sein, der zur Kommunikation mit der ersten Kamera 140 und der zweiten Kamera 150 konfiguriert ist. In einigen Fällen kann das Kamerabildverarbeitungssystem 110 mehrere Geräte, wie etwa mehrere Computer oder mehrere Konsolen, beinhalten, die miteinander in Kommunikation stehen. In einigen Fällen kann das Kamerabildverarbeitungssystem 110 für die Verarbeitung von Informationen, die von der ersten Kamera 140 und der zweiten Kamera 150 empfangen werden, für die Bestimmung von Tiefeninformationen einer Umgebung (auch als Zielszene bezeichnet) in einem Sichtfeld der Kamera 140/150 und/oder für die Erzeugung eines 3D-Modells von Objekten oder Strukturen in der Umgebung vorgesehen sein. In einer Ausführungsform kann das Kamerabildverarbeitungssystem 110 auch so konfiguriert sein, dass es die Funktionalität ausführt, die dem Robotersteuersystem 170 von 1E zugeordnet ist, wie beispielsweise die Funktionalität der Erzeugung von Roboterbewegungsbefehlen (z. B. Motorbefehlen) basierend auf dem 3D-Modell, das von dem System 110 erzeugt wird.
  • In einer Ausführungsform kann das Kamerabildverarbeitungssystem 110 so konfiguriert sein, dass es von der ersten Kamera 140 und der zweiten Kamera 150 Informationen empfängt, die von der Kamera 140/150 erfasst werden. Bei den Informationen kann es sich um strukturierte Lichtinformationen, Flugzeitinformationen, eine Tiefenkarte, wie oben erörtert, oder um andere Informationen (z. B. ein Farbbild oder ein Graustufenbild) handeln. In einer Ausführungsform kann das Kamerabildverarbeitungssystem 110 so konfiguriert sein, dass es einen oder mehrere Befehle an die erste Kamera 140 und die zweite Kamera 150 sendet. Beispielsweise kann der eine oder die mehreren Befehle jeweils ein Kamerabefehl sein, der die erste Kamera 140 und/oder die zweite Kamera 150 veranlasst, eine Tiefenkarte zu erzeugen, oder allgemeiner Informationen zu erfassen, aus der eine Tiefenkarte oder eine andere Bildart erzeugt werden kann. In einigen Fällen kann der Kamerabefehl die erste Kamera 140 und/oder die zweite Kamera 150 veranlassen, Informationen, die von der jeweiligen Kamera erfasst werden, an das Kamerabildverarbeitungssystem 110 zu senden. Das Kamerabildverarbeitungssystem 110 kann so konfiguriert sein, dass es über eine Kommunikationsschnittstelle 113, die im Folgenden anhand von 1B näher erläutert wird, mit der ersten Kamera 140 und der zweiten Kamera 150 kommuniziert.
  • In einer Ausführungsform können die einzigen Kameras in dem Sichtsystem 100 von 1A die erste Kamera 140 und die zweite Kamera 150 sein und kann das Kamerabildverarbeitungssystem 110 so konfiguriert sein, dass es eine aktualisierte Tiefenkarte erzeugt und/oder ein 3D-Modell eines Objekts erzeugt, nur basierend auf Informationen, die durch die erste Tiefenkarte erfasst werden, und Informationen, die von der zweiten Kamera 150 erfasst werden. In einer weiteren Ausführungsform kann das Sichtsystem 100 zusätzlich zu der ersten Kamera 140 und der zweiten Kamera 150 eine oder mehrere Kameras beinhalten und so konfiguriert sein, dass es eine aktualisierte Tiefenkarte erzeugt und/oder ein 3D-Modell eines Objekts erzeugt, basierend auch auf Informationen, die von der einen oder den mehreren zusätzlichen Kameras erfasst werden.
  • In 1B ist ein Blockschaltbild des Kamerabildverarbeitungssystems 110 dargestellt, das auch als Sichtsteuerung bezeichnet werden kann. Wie in dem Blockdiagramm veranschaulicht, beinhaltet das Kamerabildverarbeitungssystem 110 eine Steuerschaltung 111, eine Kommunikationsschnittstelle 113 und ein nicht-flüchtiges computerlesbares Medium 115 (z. B. einen Speicher). Bei einer Ausführungsform kann die Steuerschaltung 111 einen oder mehrere Prozessoren, eine programmierbare Logikschaltung (PLC) oder eine programmierbare logische Anordnung (PLA), ein feldprogrammierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC) oder irgendeine andere Steuerschaltung beinhalten.
  • Bei einer Ausführungsform kann die Kommunikationsschnittstelle 113 eine oder mehrere Schaltungen oder andere Komponenten beinhalten, die so konfiguriert sind, dass sie mit der ersten Kamera 140 und der zweiten Kamera 150 von 1A kommunizieren. Die Kommunikationsschnittstelle 113 kann zum Beispiel eine Kommunikationsschaltung beinhalten, die so konfiguriert ist, dass sie eine Kommunikation über ein verdrahtetes oder drahtloses Protokoll ausführt. Die Kommunikationsschaltung kann als Beispiel einen RS-232-Port-Controller, einen USB-Controller, einen Ethernet-Controller, einen Bluetooth®-Controller, einen PCI-Bus-Controller, jede andere Kommunikationsschaltung oder eine Kombination davon beinhalten. Die Kommunikationsschnittstelle 113 ermöglicht es, dass das Kamerabildverarbeitungssystem 110 und spezifischer die Steuerschaltung 111 mit der ersten Kamera 140 und der zweiten Kamera 150 über eine RS-232-Schnittstelle, eine USB-Schnittstelle (USB, Universal Serial Bus), eine Ethernet-Schnittstelle, eine Bluetooth®-Schnittstelle, eine IEEE-802.11-Schnittstelle oder jede Kombination davon kommunizieren. In einer Ausführungsform kann die Kommunikationsschnittstelle 113 Teil eines lokalen Computerbusses, wie z. B. eines PCI-Busses (PCI, Peripheral Component Interconnect) sein.
  • Bei einer Ausführungsform kann das nicht-flüchtige computerlesbare Medium 115 einen Computerspeicher beinhalten. Der Computerspeicher kann z. B. dynamischen Random Access Memory (DRAM), integrierten Festkörperspeicher und/oder ein Festplattenlaufwerk (HDD) umfassen. In einigen Fällen kann das nicht-flüchtige computerlesbare Medium 115 computerausführbare Anweisungen speichern, wie zum Beispiel Anweisungen zum Ausführen des Verfahrens von 4. In einigen Fällen kann das nicht-flüchtige computerlesbare Medium 115 Informationen von der ersten Kamera 140 und/oder der zweiten Kamera 150 speichern, wie z.B. strukturierte Lichtinformationen, Flugzeitinformationen, eine Tiefenkarte und/oder eine Punktwolke.
  • In 1C und 1D sind Blockschaltbilder der ersten Kamera 140 (mit „Kamera 1“ ausgewiesen) bzw. der zweiten Kamera 150 (mit „Kamera 2“ ausgewiesen) dargestellt. In den Ausführungsformen hierin kann eine Kamera ein Sensorsystem (z. B. 2D-Sensoranordnung) beinhalten, das so konfiguriert ist, dass es Informationen erfasst, die ein Erscheinungsbild einer Zielszene im Sichtfeld der Kamera, eine dreidimensionale Struktur eines Objekts oder einer Struktur in der Zielszene und/oder eine andere Informationen zur Zielszene beschreiben. Die Kamera kann eine Tiefenerfassungskamera (auch Entfernungsmesskamera genannt), eine Farbmesskamera, eine Infrarotkamera und/oder jede andere Kameraart sein. In einigen Fällen kann die Kamera so konfiguriert sein, dass sie ein Bild erzeugt, das das Erscheinungsbild, die dreidimensionale Struktur oder andere Informationen zur Zielszene beschreibt. Das Bild kann eine Tiefenkarte, ein Farbbild, ein Graustufenbild oder jede andere Bildart sein und kann eine Vielzahl von Pixeln (z. B. eine zweidimensionale (2D-)Anordnung von Pixeln) beinhalten. In einigen Fällen kann die Kamera eine Sensoranordnung (z. B. Photodetektoren) aufweisen und kann das Bild eine Reihe von Pixeln aufweisen, die eine Eins-zu-Eins-Entsprechung mit der Sensoranordnung haben.
  • In einer Ausführungsform können die erste Kamera 140 und die zweite Kamera 150 verschiedene Arten von Kameras sein. Die erste Kamera 140 kann beispielsweise eine erste Art von Tiefenerfassungskamera (z. B. eine strukturierte Lichtkamera) sein, während die zweite Kamera 150 eine zweite Art von Tiefenerfassungskamera (z. B. eine Flugzeitkamera (TOF-Kamera)) sein kann. Die Tiefenerfassungskameras können auch als Entfernungsmesskameras bezeichnet werden. In einigen Fällen können die erste Kamera 140 und die zweite Kamera 150 verschiedene Funktions- oder Implementierungsprinzipien aufweisen. In einigen Fällen kann die erste Kamera 140 gewisse Beschränkungen in Bezug auf Genauigkeit, räumliche Auflösung (auch einfach als Auflösung bezeichnet) oder Geräusch- oder Interferenzempfindlichkeit aufweisen und kann die zweite Kamera 150 eine bessere Leistung in einer oder mehreren dieser Kategorien aufweisen. So können Informationen von der zweiten Kamera 150 verwendet werden, um von der ersten Kamera 140 erfasste Informationen zu ergänzen, um eine Robustheit der von der ersten Kamera 140 erfassten Informationen zu verbessern.
  • 1C zeigt ein Blockschaltbild einer Ausführungsform, bei der die erste Kamera 140 eine strukturierte Lichtkamera ist. In dieser Ausführungsform kann die erste Kamera 140 eine oder mehrere Linsen 141, einen Projektor 142, einen Kamerasensor 143 und eine Kommunikationsschnittstelle 145 beinhalten. In einer Ausführungsform kann die Kommunikationsschnittstelle 145 so konfiguriert sein, dass sie mit dem Kamerabildverarbeitungssystem 110 von 1A oder 1B kommuniziert, und kann der Kommunikationsschnittstelle 113 von 1B des Kamerabildverarbeitungssystems 110 ähneln.
  • In einer Ausführungsform kann der Projektor 142 so konfiguriert sein, dass er ein Muster, z. B. eine Reihe von Streifen im Infrarot- oder sichtbaren Lichtspektrum, von der ersten Kamera 140 weg und auf eine oder mehrere Oberflächen eines Objekts oder einer Struktur in einer Zielszene innerhalb des Sichtfelds der ersten Kamera 140 projiziert. Das projizierte Muster kann die eine oder mehrere Oberflächen wieder in Richtung der ersten Kamera 140 zurückreflektieren. Die reflektierte sichtbare Licht- oder Infrarotstrahlung kann durch eine oder mehrere Linsen 141 auf einen Kamerasensor 143 fokussiert werden. In einer Ausführungsform kann der Kamerasensor 143 ein Charge-Coupled-Device (CCD) oder eine andere Sensoranordnung beinhalten. Die erste Kamera 140 kann so konfiguriert sein, dass sie strukturierte Lichtinformationen mit dem Kamerasensor 143 erfasst, wobei sich die strukturierten Lichtinformationen auf ein Erscheinungsbild des projizierten Musters auf der einen oder den mehreren Oberflächen in der Zielszene beziehen kann. In einigen Fällen können die strukturierten Lichtinformationen die Form eines Farbbildes aufweisen, das das Erscheinungsbild der Reihe von Streifen oder des anderen Musters auf der einen oder den mehreren Oberflächen beschreibt. In einer Ausführungsform kann die erste Kamera 140 konfiguriert sein, um eine Tiefenkarte basierend auf den strukturierten Lichtinformationen zu erzeugen und um die Tiefenkarte und/oder die strukturierten Lichtinformationen über die Kommunikationsschnittstelle 145 an das Kamerabildverarbeitungssystem 110 zu übermitteln. In einer solchen Ausführungsform kann die erste Kamera 140 einen eigenen Prozessor oder eine andere eigene Steuerschaltung beinhalten, die bzw. der zur Erzeugung der Tiefenkarte konfiguriert ist. In einer Ausführungsform kann die erste Kamera 140 sich auf das Kamerabildverarbeitungssystem 110 zur Erzeugung der Tiefenkarte beziehen und kann so konfiguriert sein, dass sie die strukturierten Lichtinformationen an das Kamerabildverarbeitungssystem 110 übermittelt, sodass das System 110 die Tiefenkarte basierend auf den strukturierten Lichtinformationen erzeugen kann. In einigen Fällen, z. B. wenn die erste Kamera 140 eine strukturierte Lichtkamera ist, kann das Sichtsystem 100 in einer Umgebung angeordnet sein, in der ein Beleuchtungszustand gesteuert werden kann. Beispielsweise kann es sich bei der Umgebung um einen abgeschlossenen Raum handeln, der in der Lage ist, das Sonnenlicht zu blockieren, das als Interferenzquelle agieren kann, die eine Fähigkeit der ersten Kamera 140, strukturierte Lichtinformationen zu erfassen, stört.
  • 1D zeigt ein Blockschaltbild einer Ausführungsform, bei der die zweite Kamera 150 eine TOF-Kamera ist. Die zweite Kamera 150 beinhaltet bei einer solchen Ausführungsform eine oder mehrere Linsen 151, eine Beleuchtungseinheit 152, einen Kamerasensor 153 und eine Kommunikationsschnittstelle 155. Die Kommunikationsschnittstelle 155 kann so konfiguriert sein, dass sie mit dem Kamerabildverarbeitungssystem 110 von 1 kommuniziert, und kann der Kommunikationsschnittstelle des Kamerabildverarbeitungssystems 110 von 1B ähneln.
  • In einer Ausführungsform kann die Beleuchtungseinheit 152 so konfiguriert sein, dass sie sichtbares Licht oder jede andere Form von Licht weg von der zweiten Kamera 150 und hin zu einer Zielszene in dem Sichtfeld der zweiten Kamera 150 emittiert. Die Beleuchtungseinheit 152 kann beispielsweise einen Laser, eine Leuchtdiode (LED) oder jede andere Lichtquelle beinhalten. Das emittierte Licht kann die Form eines Impulses, einer durch eine Trägerwelle modulierten ungedämpften Welle oder einer anderen Form von emittiertem Licht haben. In einigen Fällen kann das emittierte Licht als Strahl hin zu einem schmalen Bereich in der Zielszene emittiert werden oder kann in der Zielszene über einen weiten Bereich verteilt werden. Das emittierte Licht kann von einer oder mehreren Oberflächen in der Zielszene abreflektieren und kann reflektiertes Licht werden, das hin zur zweiten Kamera 150 zurückläuft. Bei einer Ausführungsform können die eine oder die mehreren Linsen 151 das reflektierte Licht auf den Kamerasensor 153 fokussieren.
  • In einer Ausführungsform kann der Kamerasensor 153 eine Sensoranordnung beinhalten, die eine Anordnung von Photodetektoren (z. B. Avalanche-Photodioden) aufweist, die zum Detektieren des reflektierten Lichts konfiguriert sind. Der Kamerasensor 153 kann bei manchen Implementierungen ferner eine Zeitschaltung beinhalten, die so konfiguriert ist, dass sie bestimmt, wann das reflektierte Licht von jedem Photodetektor der Sensoranordnung detektiert wird. Beispielsweise kann die Zeitschaltung entsprechende Zähler (oder allgemeiner Zeitregister) beinhalten, die der Vielzahl von Photodetektoren entsprechen, die jeweils zu inkrementieren beginnen können, wenn die Beleuchtungseinheit 152 das Licht in Richtung auf eine Szene hin emittiert, und das Zählen stoppen können, wenn ein entsprechender Photodetektor das reflektierte Licht detektiert. In einer Implementierung kann die Zeitschaltung eingespart werden.
  • In einer Ausführungsform kann die zweite Kamera 150 so konfiguriert sein, dass sie den Kamerasensor 153 verwendet, um Flugzeitinformationen zu erfassen. Die Flugzeit kann sich auf eine Zeitspanne zwischen der Beleuchtungseinheit 152, die Licht hin in Richtung auf eine Zielszene emittiert, und einer Reflexion des emittierten Lichts (d. h. des reflektierten Lichts) beziehen, das von einem Photodetektor des Kamerasensors 153 detektiert wird. Die Flugzeitinformationen können z. B. anhand von durch eine Zeitschaltung erfassten Zeitgebungsinformationen oder anhand einer Differenz zwischen einer Phase des von der Beleuchtungseinheit 152 emittierten Lichts und einer Phase des von dem Kamerasensor 153 detektierten reflektierten Lichts bestimmt werden. In einer Ausführungsformkann die zweite Kamera 150 konfiguriert sein, um eine Tiefenkarte basierend auf den Flugzeitinformationen zu erzeugen, und um die Tiefenkarte und/oder die Flugzeitinformationen über die Kommunikationsschnittstelle 155 an das Kamerabildverarbeitungssystem 110 zu übermitteln. In einer Ausführungsform kann die zweite Kamera 150 sich auf das Kamerabildverarbeitungssystem 110 zur Erzeugung der Tiefenkarte beziehen und kann die Flugzeitinformationen an das Kamerabildverarbeitungssystem 110 übermitteln, welches zur Erzeugung einer Tiefenkarte basierend auf den Flugzeitinformationen konfiguriert sein kann.
  • In einer Ausführungsform können Tiefenwerte in einer Tiefenkarte relativ zu einem Ort des Kamerasensors 143/153, relativ zu der einen oder mehreren Linsen 141/151 oder relativ zu einem anderen Ort in den Kameras 140/150 sein. Beispielsweise können die Tiefenwerte in einer ersten Tiefenkarte, die der ersten Kamera zugeordnet ist, relativ zu einer ersten Bildebene sein, wobei die erste Bildebene eine Ebene ist, die durch eine Sensoranordnung oder eine andere Komponente des Kamerasensors 143 definiert ist. So können Tiefenwerte in der ersten Tiefenkarte relativ zu z. B. der ersten Bildebene gemessen werden. Ebenso können die Tiefenwerte in einer zweiten Tiefenkarte, die der zweiten Kamera zugeordnet ist, relativ zu z. B. einer zweiten Bildebene sein, wobei die zweite Bildebene eine Ebene ist, die durch eine Sensoranordnung oder eine andere Komponente des Kamerasensors 153 definiert ist.
  • In einer Ausführungsform können die erste Kamera 140 und die zweite Kamera 150 unterschiedliche Auflösungen aufweisen. So können beispielsweise der Kamerasensor 143 der ersten Kamera 140 und der Kamerasensor 153 der zweiten Kamera 150 unterschiedliche Auflösungen aufweisen. Eine solche Situation kann dazu führen, dass eine erste Tiefenkarte und eine zweite Tiefenkarte unterschiedliche Auflösungen aufweisen, wobei die erste Tiefenkarte durch die von der ersten Kamera 140 erfassten Informationen oder basierend auf dieser erzeugt wird und die zweite Tiefenkarte durch die von der zweiten Kamera 150 erfassten Informationen oder basierend auf dieser erzeugt wird. Die Auflösung kann sich z. B. darauf beziehen, auf wie viele Pixel oder wie viele Pixel pro Flächeneinheit zur Darstellung einer Zielszene verwendet werden. In einer anderen Ausführungsform können die erste Kamera 140 und die zweite Kamera 150 dieselbe Auflösung aufweisen, was dazu führen kann, dass die erste Tiefenkarte und die zweite Tiefenkarte dieselbe Auflösung aufweisen.
  • 2 zeigt ein Sichtsystem 200 (auch als Objektmodellkonstruktionssystem 200 oder einfacher als System 200 bezeichnet), das eine erste Kamera 240 (mit „Kamera 1“ ausgewiesen), die eine erste Art von Tiefenerfassungskamera ist, und eine zweite Kamera 250 (mit „Kamera 2“ ausgewiesen) beinhaltet, die eine zweite Art von Tiefenerfassungskamera ist, die sich von der ersten Art der Tiefenerfassungskamera unterscheidet, und beinhaltet das Kamerabildverarbeitungssystem 110 von 1A und 1B. In einer Ausführungsform können Informationen sowohl von der ersten Kamera 240 als auch von der zweiten Kamera 250 verwendet werden, um eine Tiefenkarte eines Objekts 260 zu erzeugen. Die Tiefenkarte kann als 3D-Modell des Objekts 260 betrachtet werden. In einigen Fällen kann die Tiefenkarte auch eine Punktwolke sein oder kann Tiefeninformationen aufweisen, die zur Erzeugung einer Punktwolke verwendet werden, die auch ein 3D-Modell des Objekts 260 sein kann. Wie oben erörtert, kann die Tiefenkarte eine Tiefeninformationen beinhalten, die jeweilige Tiefenwerte von physischen Orten auf einer Oberfläche des Objekts 260 beschreiben, und wobei die Punktwolke eine Informationen beinhaltet, die 3D-Koordinaten von physischen Orten auf der Oberfläche des Objekts 260 identifiziert. Das System 200 kann eine Ausführungsform des Systems 100 von 1A sein, die erste Kamera 240 kann eine Ausführungsform der ersten Kamera 140 von 1A oder 1C und die zweite Kamera 250 kann eine Ausführungsform der zweiten Kamera 150 von 1A oder 1D sein.
  • In einer Ausführungsform kann die erste Kamera 240 konfiguriert sein, um eine erste Tiefenkarte zu erzeugen, die jeweilige Tiefenwerte (auch als jeweilige Tiefen bezeichnet) eines ersten Satzes von physischen Orten (auch als erster Satz von Punkten bezeichnet) auf einer Oberfläche des Objekts 260 anzeigt, wobei die Tiefenwerte relativ zu der ersten Kamera 240 (z. B. relativ zu einer Bildebene der ersten Kamera 240) sind. In einer Ausführungsform kann die zweite Kamera 250 konfiguriert sein, um eine zweite Tiefenkarte zu erzeugen, die jeweilige Tiefenwerte eines zweiten Satzes von physischen Orten auf der Oberfläche des Objekts 260 relativ zu der zweiten Kamera 250 anzeigt.
  • In 2 sind ferner Koordinatenachsen 201 eines Koordinatensystems der ersten Kamera 240 und Koordinatenachsen 202 eines Koordinatensystems der zweiten Kamera 250 dargestellt. Sowohl das Koordinatensystem der ersten Kamera 240 als auch das Koordinatensystem der zweiten Kamera 250 können, wie in 2 dargestellt, durch X-, Y- und Z-Achsen definiert sein. Die X- und Y-Achsen jedes Koordinatensystems können eine Ebene definieren, die parallel zu einer jeweiligen Bildebene der ersten Kamera 240 oder der zweiten Kamera 250 liegt, während die Z-Achse des Koordinatensystems senkrecht zur jeweiligen Bildebene liegen kann. In einer Ausführungsform kann ein Ursprung des Koordinatensystems der ersten Kamera 240 z. B. an einer Mitte einer Bildebene der ersten Kamera 240 oder an einem anderen Ort angeordnet sein und kann ein Ursprung des Koordinatensystems der zweiten Kamera 250 beispielsweise an einer Mitte einer Bildebene der zweiten Kamera 250 oder an einem anderen Ort angeordnet sein. Die Tiefenwerte der ersten Tiefenkarte können in Bezug auf das Koordinatensystem der ersten Kamera 240 gemessen bzw. ausgedrückt werden, während die Tiefenwerte der zweiten Tiefenkarte in Bezug auf das Koordinatensystem der zweiten Kamera 250 gemessen bzw. ausgedrückt werden können.
  • In einigen Fällen können sich die Tiefenwerte in der ersten Tiefenkarte auf Abstände entlang einer Koordinatenachse (z. B. Z-Achse) eines Koordinatensystems der ersten Kamera 240 zwischen dem ersten Satz von physischen Orten auf der Oberfläche des Objekts 260 und der ersten Kamera 240 (z. B. der Bildebene der ersten Kamera 240) beziehen. In solchen Fällen können die Tiefenwerte in der ersten Tiefenkarte Z-Komponenten (auch als Z-Koordinaten bezeichnet) jeweiliger 3D-Koordinaten des ersten Satzes von physischen Orten sein. In einigen Fällen können die Tiefenwerte in der zweiten Tiefenkarte auf Abstände entlang einer Koordinatenachse (z. B. Z-Achse) eines Koordinatensystems der zweiten Kamera 250 zwischen dem zweiten Satz von physischen Orten auf der Oberfläche des Objekts 260 und der zweiten Kamera 250 (z. B. der Bildebene der zweiten Kamera 250) bezogen werden. In solchen Fällen können die Tiefenwerte in der zweiten Tiefenkarte Z-Komponenten jeweiliger 3D-Koordinaten des zweiten Satzes von physischen Orten sein.
  • 3A-3H sind exemplarische Diagramme, die zwei jeweilige Tiefenkarten veranschaulichen, die mit zwei verschiedenen Kameras erzeugt wurden. Genauer gesagt, zeigt 3A eine erste Kamera 340, die eine erste Art von Tiefenerfassungskamera ist, und zeigt eine zweite Kamera 350, die eine zweite Art von Tiefenerfassungskamera ist. Die erste Kamera 340 kann eine Ausführungsform der Kamera 240 von 2 sein, während die zweite Kamera 350 eine Ausführungsform der Kamera 250 von 2 sein kann. Wie in 3A dargestellt, weist die erste Kamera 340 ein Sichtfeld 380 (auch Kamerasichtfeld 380 genannt) auf. Die erste Kamera kann so konfiguriert sein, dass sie eine Informationen zum Erzeugen einer Tiefenkarte für eine oder mehrere Oberflächen eines Objekts 360 und eine Plattform 370 im Kamerasichtfeld 380 erfasst. Die zweite Kamera 350 kann in der Nähe der ersten Kamera 340 angeordnet sein und ein Sichtfeld aufweisen, das dem Sichtfeld 380 der ersten Kamera 340 überlagert ist. Die zweite Kamera 350 wird nachstehend in Bezug auf 3E näher beschrieben. In einer Ausführungsform können die erste Kamera 340 und die zweite Kamera 350 direkt oder indirekt aneinander befestigt sein, sodass die erste Kamera 340 und die zweite Kamera 350 relativ zueinander stationär bleiben. In 3A sind ferner Koordinatenachsen 301 eines Koordinatensystems der ersten Kamera 340 dargestellt. In einer Ausführungsform kann das Koordinatensystem der ersten Kamera 340 einen Ursprung aufweisen, der auf einer Bildebene der ersten Kamera 340 liegt. Das Koordinatensystem der ersten Kamera 340 kann eine Referenz für Tiefenwerte einer ersten Tiefenkarte 382 bereitstellen, die im Folgenden in 3B erörtert ist.
  • 3B ist ein exemplarisches Diagramm, das eine erste Tiefenkarte zeigt, die von der ersten Kamera 340 von 3A erzeugt wird oder die basierend auf Informationen erzeugt wird, die von der ersten Kamera 340 erfasst werden. In einer Ausführungsform ist die erste Tiefenkarte 382 eine 2D-Anordnung von Pixeln, die Tiefenwerte (z. B. in Millimetern (mm) oder in Zentimetern (cm)) für eine Vielzahl von physischen Orten in dem Kamerasichtfeld 380 (in 3A dargestellt) identifizieren. Im Beispiel der 3B hat die erste Tiefenkarte 382 eine Auflösung von 12 × 15 Pixeln, die jeweilige Tiefenwerte für einen ersten Satz von physischen Orten 3721,1 bis 37212,15 auf einer Oberfläche des Objekts 360 oder der Plattform 370 (beide wie in 3A dargestellt) darstellen und identifizieren, wobei der erste Satz von physischen Orten 3721,1 bis 37212,15 in 3C durch Kreise dargestellt ist. Genauer gesagt, zeigt 3C eine Draufsicht auf das Objekt 360 und die Plattform 370 (beide wie in 3A dargestellt) von oben und veranschaulicht den ersten Satz von physischen Orten 3721,1 bis 37212,15 auf einer oder mehreren Außenflächen des Objekts 360 oder der Plattform 370. Beispielsweise kann das Pixel [1, 1]T (Zeile 1, Spalte 1) in der ersten Tiefenkarte 382 von 3B einen Tiefenwert von 250 cm für einen entsprechenden physischen Ort 3721,1 auf einer Oberfläche der Plattform 370 (wie in 3C dargestellt) identifizieren. In einem anderen Beispiel identifiziert das Pixel [1, 2]T (Zeile 1, Spalte 2) in der ersten Tiefenkarte 382 einen Tiefenwert von ebenfalls 250 cm für einen entsprechenden physischen Ort 3721,2 auf der Oberfläche der Plattform 370 (wie ebenfalls in 1C dargestellt). Wie in 3B dargestellt, kann ein Teil 385 der ersten Tiefenkarte 382 einer Oberfläche des Objekts 360 entsprechen. Während in 3B die erste Tiefenkarte 382 mit einer Auflösung von 12 × 15 Pixeln dargestellt ist, kann die erste Tiefenkarte 382 in anderen Beispielen eine andere Auflösung aufweisen, wie beispielsweise eine Auflösung von 1280 × 1024 Pixeln, 320 × 240 Pixel, 640 × 480 Pixel oder eine höhere oder niedrigere Auflösung (z. B. 64 × 48 Pixel oder 204 × 204 Pixel).
  • In einer Ausführungsform kann es sich beim ersten Satz von physischen Orten 3721,1 bis 37212,15 in 3C um physische Orte handeln, die auf einen Kamerasensor der ersten Kamera 340 projizieren. Beispielsweise ist in 3D eine Teilmenge der physischen Orte 3721,1 bis 37212,15 dargestellt und spezifischer sind physische Orte 3725,1 bis 3725,15 dargestellt, die auf entsprechende Bereiche des Kamerasensors projizieren, die Pixeln auf der Zeile 5 der ersten Tiefenkarte 382 entsprechen. Genauer gesagt, ist in 3D eine seitliche Querschnittsansicht des Objekts 360 und der Plattform 370 dargestellt, geschnitten entlang einer Linie 375 in 3C. Die Darstellung in 3D modelliert, wie reflektiertes Licht von den physischen Orten 3725,1 bis 3725,15 auf eine durch den Kamerasensor der ersten Kamera 340 definierte Bildebene 342 projiziert, wobei ein Winkel der Projektion auf einem Ort eines Brennpunkts 344 der ersten Kamera 340 und/oder einer Brennweite der ersten Kamera 340 basieren kann. Die Projektion ist in 3D gestrichelt dargestellt. In einer Ausführungsform kann die Projektion durch eine Projektionsmatrix K gekennzeichnet sein, die eine Beziehung zwischen einem physischen Ort mit einer Koordinate X', Y', Z' und einem Pixel mit einer Pixelkoordinate a, b definiert: [ a b 1 ] = K [ X ' / Z ' Y ' / Z ' 1 ]
    Figure DE102020206759A1_0001
  • Wie oben ausgeführt, stellen die Pixel der Tiefenkarte 382 in 3B Tiefenwerte für den ersten Satz von physischen Orten (auch als physische Punkte bezeichnet) 3721,1 bis 37212,15 in 3C dar, wobei die Tiefenwerte relativ zur ersten Kamera 340 sind. Die Tiefenwerte der ersten Tiefenkarte 382 können sich auf jeweilige Abstände entlang der Z-Achse in 3A beziehen.
  • 3E zeigt eine Darstellung der Tiefenwerte für eine Zeile der ersten Tiefenkarte 382 (von 3B), spezifischer gesagt für die Zeile 5 der ersten Tiefenkarte 382. Die Pixel der Zeile 5 entsprechen der Teilmenge der physischen Orte 3725,1 bis 3725,15 (die die gleiche Teilmenge der physischen Orte wie in 3D dargestellt ist). Pixel [5, 1]T bis [5, 15]T identifizieren demnach jeweilige Tiefenwerte für physische Orte 3725,1 bis 3725,15 . Wie in 3E dargestellt, können die Tiefenwerte in der ersten Tiefenkarte 382 sich auf jeweilige Abstände entlang der Z-Achse des Koordinatensystems der ersten Kamera 340 zwischen der Teilmenge der physischen Orte 3725,1 bis 3725,15 und der Bildebene 342 der ersten Kamera 340 (von 3A) beziehen. In einem solchen Beispiel kann die Bildebene 342 für die erste Tiefenkarte 382 eine Tiefe von null definieren. Wie oben ausgeführt, kann ein durch einen bestimmten Pixel identifizierter Tiefenwert sich z. B. auf eine Z-Komponente oder eine andere Komponente einer 3D-Koordinate des durch das Pixel dargestellten physischen Orts beziehen.
  • In 3F sind ein Kamerasichtfeld 390 der zweiten Kamera 350 und Koordinatenachsen 302 eines Koordinatensystems der zweiten Kamera 350 dargestellt. Ein Ursprung des Koordinatensystems kann sich beispielsweise auf einer Bildebene der zweiten Kamera 350, einer Linse der zweiten Kamera 350 oder einen beliebigen anderen Ort befinden. In 3G ist eine zweite Tiefenkarte 392 dargestellt, die von der zweiten Kamera 350 (von 3F) erzeugt wird oder basierend auf Informationen erzeugt wird, die von der zweiten Kamera 350 erfasst werden. Die zweite Tiefenkarte 392 kann auch Tiefenwerte für physische Orte auf einer oder mehreren Oberflächen im Kamerasichtfeld 390 (von 3F) identifizieren. Da das Kamerasichtfeld 390 der zweiten Kamera 350 geringfügig rechts vom Kamerasichtfeld 380 der ersten Kamera 340 liegt, kann die zweite Tiefenkarte 392 einen geringfügig anderen Bereich abdecken, als durch die erste Tiefenkarte 382 abgedeckt ist.
  • Wie in 3G und 3H dargestellt, kann die zweite Tiefenkarte 392 in diesem Beispiel 4 × 5 Pixel aufweisen, die jeweilige Tiefenwerte für einen zweiten Satz von physischen Orten 3731,1 bis 3734,5 identifizieren. Die physischen Orte 3731,1 bis 3734,5 in 3H sind durch Kreise dargestellt, die eine Draufsicht auf das Objekt 360 und die Plattform 370 (beide von 3A und/oder 3F) von oben bereitstellen. Beim zweiten Satz von physischen Orten 3731,1 bis 3734,5 kann es sich um physische Orte handeln, die in einer Weise auf Bereiche eines Bildsensors der zweiten Kamera 350 (von 3F), die jeweiligen Pixeln der zweiten Tiefenkarte 392 entsprechen, projizieren, wie sie in 3D für den ersten Satz von physischen Orten 3721,1 bis 37212,15 beschrieben ist. Der zweite Satz von physischen Orten 3731,1 bis 3734,5 kann einen oder mehrere Orte mit dem ersten Satz von physischen Orten 3721,1 bis 37212,15 gemeinsam haben oder hat mit dem ersten Satz von physischen Orten 3721,1 bis 37212,15 ggf. keine Orte gemeinsam. Während die zweite Tiefenkarte 392 in diesem Beispiel eine Auflösung von 4 × 5 Pixeln aufweist, kann sie in anderen Beispielen eine andere Auflösung aufweisen, wie beispielsweise 1280 × 1024 Pixel, 320 × 240 Pixel, 640 × 480 Pixel oder eine höhere oder niedrigere räumliche Auflösung (z. B. 64 × 48 Pixel oder 204 × 204 Pixel).
  • In einer Ausführungsform kennzeichnen die Pixel der zweiten Tiefenkarte 392 jeweilige Tiefen für den zweiten Satz von physischen Orten 3731,1 bis 3734,5 . Wie in der ersten Tiefenkarte 382 können sich die Tiefenwerte der zweiten Tiefenkarte 392 auf jeweilige Abstände entlang einer Koordinatenachse in einem Koordinatensystem der zweiten Kamera 340 beziehen, wie z. B. die Z-Achse von 3F. Die Abstände können von dem zweiten Satz von physischen Orten 3731,1 bis 3734,5 zu einer Bildebene der zweiten Kamera 350 sein. In einigen Fällen kann, wenn ein bestimmter Pixel in der zweiten Tiefenkarte 392 einen physischen Ort mit einer 3D-Koordinate von [X, Y, Z] im Koordinatensystem der zweiten Kamera 350 darstellt, sich ein durch das Pixel identifizierter Tiefenwert auf eine Z-Komponente der 3D-Koordinate des physischen Orts beziehen.
  • Die erste Tiefenkarte 382 in 3B und die zweite Tiefenkarte 392 in 3G weisen eine Tiefeninformationen für jedes Pixel in der jeweiligen Tiefenkarte 382/392 auf. Dabei kann es sich z. B. um eine Situation handeln, bei der wenig bis kein Rauschen oder eine andere Fehlerquelle vorhanden ist. In einigen Situationen kann eine Tiefenkarte, die basierend auf Informationen erzeugt wird, die von einer Kamera erfasst werden, jedoch leere Pixel aufweisen, die Pixel ohne Tiefeninformationen sind. Ein Aspekt der vorliegenden Offenbarung betrifft eine Kompensation solcher Fehlerquellen durch Ergänzen einer ersten Tiefenkarte basierend auf Informationen aus einer zweiten Tiefenkarte, um eine aktualisierte erste Tiefenkarte zu erzeugen, die eine vollständigere Tiefeninformationen aufweist.
  • 4 zeigt ein Ablaufdiagramm, das ein Verfahren 400 zum Ergänzen einer ersten Tiefenkarte basierend auf Tiefenwerten in einer zweiten Tiefenkarte darstellt. In einer Ausführungsform kann das Verfahren 400 von der Steuerschaltung 111 des Kamerabildverarbeitungssystems 110 der 1A und 1B durchgeführt werden. Eine exemplarische Umgebung, in der das Verfahren 400 ausgeführt wird, ist in 5A und 5B dargestellt, die ein Sichtsystem 500/500A darstellen, das jeweils das Kamerabildverarbeitungssystem 110 in Kommunikation mit der ersten Kamera 540 und der zweiten Kamera 550 beinhaltet. Die erste Kamera 540 kann eine Ausführungsform der ersten Kamera 140/240/340 von 1A, 2 bzw. 3A sein und die zweite Kamera 550 kann eine Ausführungsform der zweiten Kamera 150/250/350 von 1A, 2 bzw. 3F sein. Die erste Kamera 540 weist ein erstes Kamerasichtfeld 580 und die zweite Kamera 550 ein zweites Kamerasichtfeld 590 auf. Das erste Kamerasichtfeld 580 und das zweite Kamerasichtfeld 590 überlagern sich zumindest teilweise miteinander und bilden ein überlagertes Sichtfeld 585 (siehe 5A). Das Kamerabildverarbeitungssystem kann so konfiguriert sein, dass es mit der ersten Kamera 540 und der zweiten Kamera 550 über die Kommunikationsschnittstelle 113 von 1B kommuniziert. In einigen Fällen kann die erste Kamera 540, mit der die Kommunikationsschnittstelle 113 zur Kommunikation konfiguriert ist, eine erste Art von Tiefenerfassungskamera (z. B. eine strukturierte Lichtkamera) sein und kann die zweite Kamera 550, mit der die Kommunikationsschnittstelle 113 zur Kommunikation konfiguriert ist, eine zweite Art von Tiefenerfassungskamera (z. B. TOF-Kamera) sein, die sich von der ersten Art der Tiefenerfassungskamera unterscheidet.
  • In einer Ausführungsform können die erste Kamera 540 und die zweite Kamera 550 direkt oder in einer Weise befestigt sein, dass sie relativ zueinander stationär sind. Beispielsweise ist in 5B ein Sichtsystem 500B dargestellt, das eine sowohl an der ersten Kamera 540 als auch der zweiten Kamera 550 befestigte Montagestruktur 530 (z. B. Kamerahalterung) beinhaltet. In einer Ausführungsform kann die Montagestruktur so konfiguriert sein, dass sie eine Relativbewegung zwischen der ersten Kamera 540 und der zweiten Kamera 550 verhindert. In 5B ist ferner ein Beispiel dargestellt, bei dem eine Tiefenkarte für ein Objekt 560 und eine Plattform 570 erzeugt wird, die sich im Kamerasichtfeld 580 der ersten Kamera 540 und im Kamerasichtfeld 590 der zweiten Kamera 550 befinden.
  • Unter erneuter Bezugnahme auf 4 kann das Verfahren 400 in einer Ausführungsform mit Schritt 401 beginnen, in dem die Steuerschaltung 111 eine erste Tiefenkarte empfängt, die basierend auf Informationen (z. B. strukturierter Lichtinformation) erzeugt wird, die von der ersten Kamera 540 der 5A und 5B (mit denen die Kommunikationsschnittstelle 113 in 1B zur Kommunikation konfiguriert ist) erfasst werden. Die erste Tiefenkarte kann einen ersten Satz von Pixeln beinhalten, die einen ersten Satz von jeweiligen physischen Orten in dem Kamerasichtfeld 580 der ersten Kamera 540 darstellen, mit der die Kommunikationsschnittstelle 113 zur Kommunikation konfiguriert ist. Die erste Tiefenkarte kann jeweilige Tiefenwerte für den ersten Satz von jeweiligen physischen Orten anzeigen. Der erste Satz von Tiefenwerten kann relativ zur ersten Kamera 540 sein. In einer Ausführungsform kann der erste Satz von jeweiligen physischen Orten physische Orte sein, die auf den ersten Satz von Pixeln projizieren. Wie oben ausgeführt, können die durch den ersten Satz von Pixeln angegebenen Tiefenwerte jeweilige Abstände entlang einer Koordinatenachse eines Koordinatensystems der ersten Kamera 540 sein, wie z. B. einer Z-Achse. Die Abstände können zwischen dem ersten Satz von physischen Orten und der ersten Kamera 540 liegen.
  • In einer Ausführungsform kann die Steuerschaltung 111 in Schritt 401 die erste Tiefenkarte von der ersten Kamera 540 über die Kommunikationsschnittstelle 113 von 1B empfangen. Beispielsweise kann die erste Kamera 540 so konfiguriert sein, dass sie die erste Tiefenkarte basierend auf erfassten Informationen (z. B. strukturierte Lichtinformation) erzeugt und die erste Tiefenkarte an die Steuerschaltung 111 des Kamerabildverarbeitungssystems 110 sendet. Die Steuerschaltung 111 kann konfiguriert sein, um die erste Tiefenkarte von der ersten Kamera 540 über die Kommunikationsschnittstelle 113 des Kamerabildverarbeitungssystems 110 zu empfangen.
  • In einer Ausführungsform kann die Steuerschaltung 111 in Schritt 401 die erste Tiefenkarte von dem nicht-flüchtigen computerlesbaren Medium 115 von 1B oder von einem anderen Speichermedium empfangen (ein solcher Schritt kann auch als Abrufen der ersten Tiefenkarte aus dem nicht-flüchtigen computerlesbaren Medium 115 oder einem anderen Speichermedium bezeichnet werden). In dieser Ausführungsform kann die erste Tiefenkarte durch ein anderes Gerät als die erste Kamera 540 erzeugt werden. Beispielsweise kann das Kamerabildverarbeitungssystem 110 die erste Tiefenkarte basierend auf strukturierten Lichtinformationen, Flugzeitinformationen oder beliebigen anderen Informationen erzeugen, die von der ersten Kamera 540 erfasst werden, und die erste Tiefenkarte basierend auf den erfassten Informationen erzeugen und die erste Tiefenkarte in dem nicht-flüchtigen computerlesbaren Medium 115 speichern. Die Steuerschaltung 111 kann bei Erzeugung der ersten Tiefenkarte oder nach Erzeugung der ersten Tiefenkarte die erste Tiefenkarte aus dem nicht-flüchtigen computerlesbaren Medium 115 abrufen oder anderweitig von diesem empfangen.
  • 6A stellt ein Beispiel für eine erste Tiefenkarte 682 dar, die in Schritt 401 empfangen wird. Wie die erste Tiefenkarte 382 von 3B hat die erste Tiefenkarte 682 im Beispiel von 6A eine Auflösung von 12 × 15 Pixeln, kann jedoch in anderen Beispielen eine andere Auflösung aufweisen. In 6A ist der erste Satz von Pixeln in der ersten Tiefenkarte 682 dargestellt, die Tiefeninformationen aufweisen. Insbesondere identifiziert die Tiefeninformationen einen ersten Satz von jeweiligen Tiefenwerten für einen ersten Satz von jeweiligen physischen Orten. Der erste Satz von jeweiligen physischen Orten kann eine Teilmenge der physischen Orte 3721,1 bis 37212,15 von 3C sein. Der erste Satz von jeweiligen Tiefenwerten kann relativ zu der ersten Kamera 540 von 5A/5B sein, ähnlich wie die Beschreibung zu 3E. In 6A ist ferner die erste Tiefenkarte 682 mit mehreren leeren Pixeln dargestellt, die Pixel sind, die keine Tiefeninformationen aufweisen (z. B. keine zugeordneten Tiefenwerte). Wie oben ausgeführt, können die leeren Pixel durch Interferenz oder einen anderen Grund (z. B. eine Geometrie oder Oberflächeneigenschaft des Objekts 560 von 5B) entstehen. In einer Ausführungsform beinhaltet jeder Pixel des ersten Satzes von Pixeln der ersten Tiefenkarte 682 ggf. nur Tiefeninformationen. In einer weiteren Ausführungsform kann jeder Pixel des ersten Satzes von Pixeln der ersten Tiefenkarte 682 auch Informationen beinhalten, die eine 3D-Koordinate einer durch das Pixel dargestellten physischen Ort identifizieren. Beispielsweise kann dem Pixel ein Tiefenwert zugeordnet werden, der eine Z-Komponente der 3D-Koordinate darstellt, und ferner ein Wert einer X-Komponente und ein Wert einer Y-Komponente der 3D-Koordinate zugeordnet werden.
  • Unter erneuter Bezugnahme auf 4 kann das Verfahren 400 ferner einen Schritt 403 beinhalten, in dem die Steuerschaltung 111 eine zweite Tiefenkarte empfängt, die basierend auf Informationen (z. B. Flugzeitinformationen) erzeugt wird, die von der zweiten Kamera 550 (mit der die Kommunikationsschnittstelle 113 in 1B zur Kommunikation konfiguriert ist) erfasst werden. Die zweite Tiefenkarte beinhaltet einen zweiten Satz von Pixeln, die einen zweiten Satz von physischen Orten in dem zweiten Kamerasichtfeld 590 darstellen und die einen zweiten Satz von jeweiligen Tiefenwerten für den zweiten Satz von jeweiligen physischen Orten anzeigen. Der zweite Satz von Tiefenwerten kann relativ zur zweiten Kamera 550 sein, mit der die Kommunikationsschnittstelle 113 zur Kommunikation konfiguriert ist. In einer Ausführungsform kann der zweite Satz von jeweiligen Tiefenwerten jeweilige Abstände entlang einer Koordinatenachse (z. B. Z-Achse) eines Koordinatensystems der zweiten Kamera anzeigen. Die Abstände können zwischen der zweiten Kamera 550 und dem zweiten Satz von jeweiligen physischen Orten liegen.
  • In einer Ausführungsform kann die Steuerschaltung 111 im Schritt 403 die zweite Tiefenkarte von der zweiten Kamera 550 über die Kommunikationsschnittstelle 113 von 1B empfangen. Beispielsweise kann die zweite Kamera 550 so konfiguriert sein, dass sie die zweite Tiefenkarte basierend auf erfassten Informationen (z. B. Flugzeitinformation) erzeugt und die zweite Tiefenkarte an die Steuerschaltung 111 des Kamerabildverarbeitungssystems 110 sendet. Die Steuerschaltung 111 kann konfiguriert sein, um die zweite Tiefenkarte von der zweiten Kamera 550 über die Kommunikationsschnittstelle 113 des Kamerabildverarbeitungssystems 110 zu empfangen.
  • In einer Ausführungsform kann die Steuerschaltung 111 in Schritt 403 die zweite Tiefenkarte von dem nicht-flüchtigen computerlesbaren Medium 115 von 1B oder von einem anderen Gerät empfangen (dieser Schritt kann auch als Abrufen der zweiten Tiefenkarte aus dem nicht-flüchtigen computerlesbaren Medium 115 oder einem anderen Speichermedium bezeichnet werden). In dieser Ausführungsform kann die zweite Tiefenkarte durch ein anderes Gerät als die zweite Kamera 550 erzeugt werden. Beispielsweise kann das Kamerabildverarbeitungssystem 110 die zweite Tiefenkarte basierend auf strukturierten Lichtinformationen, Flugzeitinformationen oder beliebigen anderen Informationen erzeugen, die von der zweiten Kamera 550 erfasst werden, und die zweite Tiefenkarte basierend auf den erfassten Informationen erzeugen und die zweite Tiefenkarte in dem nicht-flüchtigen computerlesbaren Medium 115 speichern. Die Steuerschaltung 111 kann bei Erzeugung der zweiten Tiefenkarte oder nach Erzeugung der zweiten Tiefenkarte die zweite Tiefenkarte aus dem nicht-flüchtigen computerlesbaren Medium 115 abrufen oder anderweitig von diesem empfangen.
  • 6B stellt ein Beispiel für eine zweite Tiefenkarte 692 dar, die in Schritt 403 empfangen wird. Wie die zweite Tiefenkarte 392 von 3G hat die zweite Tiefenkarte 692 im Beispiel von 6B eine Auflösung von 4×5 Pixeln, kann jedoch in anderen Beispielen eine andere Auflösung aufweisen. Der zweite Satz von Pixeln in der zweiten Tiefenkarte 692 kann einen zweiten Satz von physischen Orten darstellen und jeweilige Tiefenwerte für den zweiten Satz von physischen Orten anzeigen. In einer Ausführungsform kann der zweite Satz von physischen Orten eine Teilmenge der physischen Orte 3731,1 bis 3734,5 in 3H sein. Die Tiefenwerte können relativ zur zweiten Kamera 550 von 5A/5B sein und können Abstände entlang einer Koordinatenachse, z. B. einer Z-Achse, anzeigen. Die Abstände können zwischen dem zweiten Satz von physischen Orten und der zweiten Kamera 550 liegen. In einer Ausführungsform kann jedes Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte 692 nur Tiefeninformationen beinhalten. In einer weiteren Ausführungsform kann jeder Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte 692 auch Informationen beinhalten, die eine 3D-Koordinate einer durch das Pixel dargestellten physischen Ort identifizieren. Beispielsweise kann dem Pixel ein Tiefenwert zugeordnet werden, der eine Z-Komponente der 3D-Koordinate darstellt, und ferner ein Wert einer X-Komponente und ein Wert einer Y-Komponente der 3D-Koordinate zugeordnet werden.
  • Unter erneuter Bezugnahme auf 4 kann das Verfahren 400 ferner einen Schritt 405 beinhalten, in dem die Steuerschaltung 111 einen dritten Satz von Pixeln der ersten Tiefenkarte 682 identifiziert, die auch den zweiten Satz von jeweiligen physischen Orten darstellen. Der dritte Satz von Pixeln kann somit dem zweiten Satz von Pixeln entsprechen. Wenn beispielsweise ein bestimmter Pixel in der zweiten Tiefenkarte 692 einen Tiefenwert für einen bestimmten Ort auf dem Objekt 560 identifiziert, kann Schritt 405 das Bestimmen, welcher Pixel der ersten Tiefenkarte 682 auch diesen bestimmten Ort auf dem Objekt 560 darstellt, einschließen. Der aus der ersten Tiefenkarte 682 identifizierte Pixel und das Pixel in der zweiten Tiefenkarte 692 können somit dem gleichen physischen Ort entsprechen und folglich einander entsprechen. Das Pixel der zweiten Tiefenkarte kann dann verwendet werden, um eine Tiefeninformationen für das entsprechende Pixel der ersten Tiefenkarte 682 bereitzustellen, wie weiter unten näher erläutert wird.
  • In einem Beispiel des Schrittes 405 kann der zweite Satz von Pixeln der zweiten Tiefenkarte einen Satz von jeweiligen Pixelkoordinaten aufweisen oder durch diesen dargestellt sein und ist die Steuerschaltung 111 konfiguriert, um den dritten Satz von Pixeln der ersten Tiefenkarte durch Bestimmen eines zusätzlichen Satzes von jeweiligen Pixelkoordinaten basierend auf dem Satz von jeweiligen Pixelkoordinaten und basierend auf einer Transformationsfunktion, welche eine räumliche Beziehung zwischen der ersten Kamera 540 und der zweiten Kamera 550 definiert, zu identifizieren, wobei der zusätzliche Satz von jeweiligen Pixelkoordinaten den dritten Satz von Pixeln identifiziert. Wie oben erläutert, weist die zweite Kamera 550 das zweite Kamerasichtfeld 590 auf, das sich geringfügig von dem ersten Kamerasichtfeld 580 der ersten Kamera 540 unterscheidet, weil die Position der zweiten Kamera 550 sich von der Position der ersten Kamera 540 unterscheidet. Daher kann eine Transformationsfunktion, die eine räumliche Beziehung zwischen der ersten Kamera 540 und der zweiten Kamera 550 beschreibt, dazu verwendet werden, zu bestimmen, welche Pixel der ersten Tiefenkarte 682 Pixeln der zweiten Tiefenkarte 692 entsprechen.
  • Beispielsweise kann der dritte Satz von Pixeln anhand einer inversen Projektionsmatrix der ersten Kamera 540, einer inversen Projektionsmatrix der zweiten Kamera 550 und einer Transformationsfunktion bestimmt werden, die eine räumliche Beziehung zwischen der ersten Kamera 540 und der zweiten Kamera 550 beschreibt. Genauer gesagt, kann dieses Beispiel - für jedes Pixel [u v]T des zweiten Satzes von Pixeln der zweiten Tiefenkarte - das Bestimmen einer 3D-Koordinate eines physischen Ortes, der durch das Pixel [u v] T der zweiten Tiefenkarte dargestellt wird, und das Bestimmen, auf welchen Pixel [a b]T der ersten Tiefenkarte dieser physische Ort projiziert, einschließen. Im obigen Beispiel kann der durch das Pixel [u v]T identifizierte Tiefenwert eine Z-Komponente einer 3D-Koordinate des physischen Ortes sein. Das Bestimmen der 3D-Koordinate des durch das Pixel [u v]T dargestellten physischen Ortes somit das Bestimmen einer X-Komponente und einer Y-Komponente der 3D-Koordinate einschließen. Die Bestimmung kann sich beispielsweise auf die Gleichung beziehen: [ X / Z Y / Z 1 ] S e c o n d = K S e c o n d 1 [ u v 1 ]
    Figure DE102020206759A1_0002
  • Die obige Gleichung kann eine 3D-Koordinate [ X Y Z ] S e c o n d T
    Figure DE102020206759A1_0003
    eines physischen Ortes bestimmen, der durch das Pixel [u v] dargestellt wird, wobei die 3D Koordinate [ X Y Z ] S e c o n d T
    Figure DE102020206759A1_0004
    in einem Koordinatensystem der zweiten Kamera liegt. Im obigen Beispiel bezieht sich K S e c o n d 1
    Figure DE102020206759A1_0005
    auf eine inverse Projektionsmatrix für die zweite Kamera 550. Die inverse Projektionsmatrix K S e c o n d 1
    Figure DE102020206759A1_0006
    kann eine Beziehung zwischen einer 3D-Koordinate eines physischen Ortes in einem Koordinatensystem der zweiten Kamera 550 und einer Pixelkoordinate eines Pixels beschreiben, auf den der physische Ort projiziert wird. Die inverse Projektionsmatrix K S e c o n d 1
    Figure DE102020206759A1_0007
    kann eine Inverse einer Projektionsmatrix KSecond der zweiten Kamera 550 sein. In einer Ausführungsform kann die Steuerschaltung 111 die Projektionsmatrix KSec der zweiten Kamera 550 durch Durchführen einer intrinsischen Kamerakalibrierung für die zweite Kamera 550 bestimmen. In einer Ausführungsform kann die Projektionsmatrix KSecond bereits bestimmt worden sein, wie z. B. durch das Robotersteuersystem 170 von 1E oder durch einen Hersteller der zweiten Kamera 550, und der Steuerschaltung 111 vor Durchführung von Schritt 405 zugeführt worden sein. Die intrinsische Kamerakalibrierung und Projektionsmatrizen werden in der US-Patentanmeldung Nr. 16/295,940 mit dem Titel „Method and System for Performing Automatic Camera Calibration for Robot Control“, deren gesamter Inhalt hierin durch Bezugnahme erfasst ist, erörtert.
  • Das obige Beispiel des Schrittes 405 kann ferner das Umwandeln der Koordinate [ X Y Z ] S e c o n d T
    Figure DE102020206759A1_0008
    aus sich in einem Koordinatensystem der zweiten Kamera 550 (das auch das Koordinatensystem der zweiten Tiefenkarte ist) befindend in ein sich in einem Koordinatensystem der ersten Kamera 540 (das auch das Koordinatensystem der ersten Tiefenkarte ist) befindend einschließen. Diese Bestimmung kann auf der Gleichung basieren: [ X ' Y ' Z ' 1 ] F i r s t = T F i r s t S e c o n d [ X Y Z 1 ] S e c o n d
    Figure DE102020206759A1_0009
  • Das obige Beispiel bestimmt eine 3D-Koordinate [ X ' Y ' Z ' ] F i r s t T
    Figure DE102020206759A1_0010
    des physischen Ortes, der durch das Pixel [u v] der zweiten Tiefenkarte dargestellt wird, wobei die 3D Koordinate in einem Koordinatensystem der ersten Kamera 540 und der ersten Tiefenkarte 682 liegt. Im obigen Beispiel bezieht sich T F i r s t S e c o n d
    Figure DE102020206759A1_0011
    auf eine Transformationsfunktion, die die räumliche Beziehung zwischen der ersten Kamera 540 und der zweiten Kamera 550 definiert. Beispielsweise T F i r s t S e c o n d
    Figure DE102020206759A1_0012
    kann eine Rotationsmatrix und ein Translationsvektor beinhalten, die einen Abstand zwischen der ersten Kamera 540 und der zweiten Kamera 550 beschreiben und eine Ausrichtung der zweiten Kamera 550 relativ zur ersten Kamera 540 beschreiben. In einer Ausführungsform kann die Steuerschaltung 111 T F i r s t S e c o n d
    Figure DE102020206759A1_0013
    durch Durchführen einer Stereokalibrierung bestimmen, um die räumliche Beziehung zwischen der ersten Kamera 540 und der zweiten Kamera 550 zu bestimmen. In einer Ausführungsform kann T F i r s t S e c o n d
    Figure DE102020206759A1_0014
    bereits bestimmt worden sein, wie z. B. durch ein Robotersteuersystem 170 von 1E oder einen Kamerabediener, der die erste Kamera 540 und die zweite Kamera 550 anwendet. Die bestimmte Transformationsfunktion kann vor dem Schritt 405 der Steuerschaltung 111 zugeführt worden sein.
  • Das obige Beispiel des Schrittes 405 kann ferner das Identifizieren, welcher Pixel in der ersten Tiefenkarte dem physischen Ort [ X ' Y ' T ' ] F i r s t T
    Figure DE102020206759A1_0015
    entspricht, einschließen. Diese Bestimmung kann auf folgender Gleichung basieren: [ a b 1 ] R o u n d = K F i r s t [ X ' / Z ' Y ' / Z ' 1 ] F i r s t
    Figure DE102020206759A1_0016
  • Im obigen Beispiel bezieht sich KFirst auf eine Projektionsmatrix der ersten Kamera 540 und ist [a b]T eine Pixelkoordinate eines Pixels in der ersten Tiefenkarte, auf den der erste physische Ort [ X ' Y ' Z ' ] F i r s t T
    Figure DE102020206759A1_0017
    projiziert (dieser physische Ort ist ebenfalls als [ X Y Z ] S e c o n d T
    Figure DE102020206759A1_0018
    dargestellt). Die Projektionsmatrix KFirst kann von der Steuerschaltung 111 über intrinsische Kamerakalibrierung bestimmt werden oder kann bereits vor dem Schritt 405 bestimmt und der Steuerschaltung 111 zugeführt worden sein. Die Werte [a b]T können durch Runden eines Ergebnisses der obigen Berechnung auf die nächstliegende ganze Zahl erhalten werden. Das Pixel [a b]T in der ersten Tiefenkarte kann dem Pixel [u v]T in der zweiten Tiefenkarte entsprechen, da sie den gleichen physischen Ort darstellen.
  • In 6C-6F ist ein Beispiel des Schrittes 405 graphisch dargestellt, bei dem die Steuerschaltung 111 von 5A/5B einen dritten Satz von Pixeln der ersten Tiefenkarte 682 identifiziert, der dem zweiten Satz von Pixeln der zweiten Tiefenkarte 692 entspricht, wobei der dritte Satz von Pixeln der ersten Tiefenkarte auch die zweite Menge von jeweiligen physischen Orten darstellt. 6C bis 6F verdeutlichen spezifischer gesagt, welche Pixel der ersten Tiefenkarte 682 dem zweiten Satz von Pixeln in jeweils der ersten Zeile bis zur vierten Zeile der zweiten Tiefenkarte 692 entsprechen. So hat beispielsweise, wie in 6C-6F dargestellt, der zweite Satz von Pixeln der zweiten Tiefenkarte 692 die folgendes Pixelkoordinaten: [1, 1]T, [1, 2]T und [1, 4]T in der ersten Zeile der zweiten Tiefenkarte 692, [2, 1]T, [2, 3]T, [2, 4]T und [2, 5]T in der zweiten Zeile der zweiten Tiefenkarte 692, [3, 1]T, [3, 2]T, [3, 5]T der dritten Zeile der zweiten Tiefenkarte 692 und [4, 1]T, [4, 3]T, and [4, 4]T der vierten Zeile der zweiten Tiefenkarte. Wie in 6C-6F weiter dargestellt, entspricht der zweite Satz von Pixeln in zweiter Tiefenkarte den folgendes Pixelkoordinaten für den dritten Satz von Pixeln in der ersten Tiefenkarte: [2, 3]T, [2, 6]T, [2, 12]T in der zweiten Zeile der ersten Tiefenkarte (wie in 6C dargestellt), [5, 3]T, [5, 9]T, [5, 12]T, [5, 15]T in der fünften Zeile der ersten Tiefenkarte (wie in 6D dargestellt), [8, 3]T, [8, 6]T, [8, 15]T in der achten Zeile der ersten Tiefenkarte (wie in 6E dargestellt) bzw. [11, 3]T, [11, 9]T, and [11, 12]T in der elften Zeile der ersten Tiefenkarte (wie in 6F dargestellt).
  • Unter erneuter Bezugnahme auf 4 kann das Verfahren 400 ferner einen Schritt 407 beinhalten, in dem die Steuerschaltung 111 ein oder mehrere leere Pixel aus dem dritten Satz von Pixeln identifiziert. Jeder leere Pixel des einen oder der mehreren leeren Pixel kann ein Pixel der ersten Tiefenkarte sein, der, bevor die erste Tiefenkarte basierend auf Tiefenwerten der zweiten Tiefenkarte aktualisiert wird, keinen Tiefenwert aufweist, der dem Pixel zugeordnet ist. In dem in 6C-6F dargestellten Beispiel kann die Steuerschaltung 111 den einen oder die mehreren leeren Pixel als Pixel mit den folgendes Pixelkoordinaten identifizieren: [5, 9]T, [5, 12]T (siehe 6D), [8, 3]T und [8, 6]T (siehe 6E). Genauer gesagt, weisen, bevor die erste Tiefenkarte mit Informationen aus der zweiten Tiefenkarte ergänzt wird, diese Pixel keinen ihnen zugeordneten Tiefenwert auf. In einigen Implementierungen können der eine oder die mehreren leeren Pixel in diesem Beispiel als Schnittmenge des in 6A dargestellten Satzes leerer Pixel und des in Schritt 405 identifizierten dritten Satzes von Pixeln identifiziert werden.
  • Unter erneuter Bezugnahme auf 4 kann das Verfahren 400 ferner den Schritt 409 beinhalten, in dem die Steuerschaltung 111 die erste Tiefenkarte durch Zuordnen eines jeweiligen Tiefenwertes, der auf einem Tiefenwert eines entsprechenden Pixels des zweiten Satzes von Pixeln der zweiten Tiefenkarte basiert, zu jedem leeren Pixel des einen oder der mehreren leeren Pixel aktualisiert. Der entsprechende Pixel für den leeren Pixel kann ein Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte sein, die einen gleichen physischen Ort wie der leere Pixel darstellen. Der einem bestimmten leeren Pixel zugeordnete Tiefenwert kann relativ zur ersten Kamera 540 liegen. Beispielsweise kann der Tiefenwert einen Abstand entlang einer Koordinatenachse (z. B. Z-Achse) eines Koordinatensystems der ersten Kamera 540 anzeigen, wobei sich der Abstand zwischen der ersten Kamera 540 und einer durch den leeren Pixel dargestellten bzw. darzustellenden physischen Ort befindet. In einigen Fällen kann der dem leeren Pixel zugeordnete Tiefenwert auf dem Tiefenwert des entsprechenden Pixels der zweiten Tiefenkarte basieren und auf der Transformationsfunktion basieren, die eine räumliche Beziehung zwischen den Kameras 540/550 definiert. Beispielsweise kann der dem leeren Pixel zugeordnete Tiefenwert Z' sein, der basierend auf T F i r s t S e c o n d
    Figure DE102020206759A1_0019
    und basierend auf des Tiefenwerts Z des entsprechenden Pixels der zweiten Tiefenkarte bestimmt wird, wie oben beschrieben. In einigen Fällen können der eine oder die mehreren leeren Pixel als ein oder mehrere aktualisierte Pixel bezeichnet werden, nachdem ihnen jeweilige Tiefenwerte zugeordnet wurden, wobei jeder aktualisierte Pixel des einen oder der mehreren aktualisierten Pixel als zu dem einen oder den mehreren leeren Pixeln gehört habend angesehen wird. In einer Ausführungsform werden die nicht leeren Pixel der ersten Tiefenkarte 682 (z. B. der erste Satz von Pixeln in 6A) in Schritt 409 von der Steuerschaltung 111 ignoriert.
  • 6G zeigt ein Beispiel für eine aktualisierte Version der ersten Tiefenkarte 682 (auch als aktualisierte erste Tiefenkarte 686 bezeichnet). Die aktualisierte erste Tiefenkarte 686 kann durch Zuordnen jeweiliger Tiefenwerte zu den leeren Pixeln, wie [5, 9]T, [5, 12] T, [8, 3]T und [8, 6]T der ersten Tiefenkarte 682, erzeugt werden, die Tiefenwerten entsprechender Pixel der zweiten Tiefenkarte 692 gleichen oder auf diesen basieren. Die entsprechenden Pixel sind in diesem Beispiel [2, 3]T, [2, 4]T, [3, 1]T und [3, 2]T der zweiten Tiefenkarte 692. Wie in 6G dargestellt, werden die den leeren Pixeln der ersten Tiefenkarte 682 zugeordneten Tiefenwerte als fett unterstrichene Zahl ausgedrückt. Die den leeren Pixeln [5, 9]T, [5, 12]T, [8, 3]T und [8, 6]T der ersten Tiefenkarte 682 zugeordneten Tiefenwerte können entsprechende Tiefenwerte relativ zur ersten Kamera 540 (5A und 5B) für jeweilige physische Orte anzeigen, die durch diese Pixel dargestellt werden.
  • Im Beispiel der 6G können die jeweiligen Tiefenwerte, die dem einen oder mehreren leeren Pixeln [5, 9]T, [5, 12]T, [8, 3]T und [8, 6]T der ersten Tiefenkarte 682 zugeordnet sind, den entsprechenden Tiefenwerten der zweiten Tiefenkarte 692 gleichen. Beispielsweise ist der Tiefenwert von 200 cm, der dem leeren Pixel [5, 9]T der aktualisierten ersten Tiefenkarte 686 zugeordnet ist, gleich einem entsprechenden Tiefenwert von 200 cm, der dem entsprechenden Pixel [2, 3]T der zweiten Tiefenkarte 692 zugeordnet ist. Dieses Beispiel kann eine Situation wiedergeben, in der ein Koordinatensystem der ersten Kamera 540 und ein Koordinatensystem der zweiten Kamera 550 (aus 5A und 5B) eine gemeinsame Definition für jeweiliges teilen, das Z = 0 darstellt. Eine solche Situation kann beispielsweise dann auftreten, wenn die erste Kamera 540 und die zweite Kamera 550 an einer gemeinsamen Kamerahalterung (z. B. 530 von 5B) befestigt sind, die bewirkt, dass die beiden Kameras 540, 550 eine gemeinsame Tiefe relativ zu Objekten in ihren jeweiligen Sichtfeldern 580, 590 teilen.
  • In einem anderen Beispiel kann sich der jeweilige Tiefenwert für jeden leere Pixel des einen oder der mehreren leeren Pixel von einem Tiefenwert eines entsprechenden Pixels in der zweiten Tiefenkarte 692 unterscheiden. Wie oben ausgeführt, kann der dem leeren Pixel zugeordnete Tiefenwert Z' allgemeiner auf der Transformationsfunktion T F i r s t S e c o n d
    Figure DE102020206759A1_0020
    basierend auf des Folgenden basieren: [ X ' Y ' Z ' 1 ] F i r s t = T F i r s t S e c o n d [ X Y Z 1 ] S e c o n d
    Figure DE102020206759A1_0021
  • In einer Ausführungsform kann die Steuerschaltung im Schritt 409 die Abtastrate der den leeren Pixeln der ersten Tiefenkarte 682 zugeordneten Tiefenwerte weiter erhöhen, wenn die erste Tiefenkarte 682 eine höhere Auflösung als eine Auflösung der zweiten Tiefenkarte 692 aufweist. Beispielsweise ist in 6G eine Situation dargestellt, in der die erste Tiefenkarte 682 eine Auflösung von 12 × 15 Pixeln aufweist, um ein erstes Kamerasichtfeld 580 der ersten Kamera 540 abzudecken, und die zweite Tiefenkarte 692 eine Auflösung von 4 × 5 Pixeln aufweist, um ein zweites Kamerasichtfeld 590 der zweiten Kamera 550 abzudecken. Geht man davon aus, dass das erste Kamerasichtfeld 580 im Wesentlichen die gleiche Größe wie das zweite Kamerasichtfeld 590 hat, so hat die erste Tiefenkarte 682 im Beispiel von 6G eine höhere Auflösung als die zweite Tiefenkarte 692 von 6G.
  • In einigen Fällen kann die Abtastratenerhöhung so durchgeführt werden, dass eine größere Anzahl leerer Pixel in der ersten Tiefenkarte 682 mit Tiefenwerten ausgefüllt wird. Beispielsweise ist in 6G ein Beispiel dargestellt, bei dem noch keine Erhöhung der Abtastrate durchgeführt wurde. In diesem Beispiel wurden vier leere Pixel in der ersten Tiefenkarte 682 basierend auf entsprechenden Tiefenwerten aus der zweiten Tiefenkarte 692 aktualisiert (und damit in aktualisierte Pixel umgewandelt). In 6G ist jedoch eine Situation dargestellt, in der eine Gesamtzahl von leeren Pixeln in der ersten Tiefenkarte 682 etwa 10 Mal höher ist und in der eine Gesamtzahl aller Pixel in der ersten Tiefenkarte 682 (180 Pixel) etwa 45 Mal höher ist. Die Zuordnung von Tiefenwerten zu den vier leeren Pixeln in 6G erhöht zwar eine Menge an Tiefeninformationen in der ersten Tiefenkarte, jedoch kann diese Erhöhung relativ zu einer Gesamtgröße der ersten Tiefenkarte 682 klein sein. Um die Menge an Tiefeninformationen in der ersten Tiefenkarte 682 um einen größeren Betrag zu erhöhen, kann die Abtastratenerhöhung an den Tiefenwerten durchgeführt werden, die den leeren Pixeln von 6G zugeordnet sind.
  • In einer Ausführungsform kann die Steuerschaltung 111 die Abtastratenerhöhung durchführen durch: Identifizieren - für mindestens einen Pixel, der zu dem einen oder den mehreren leeren Pixeln des Schrittes 407 gehört oder gehörte, - eines jeweiligen Satzes von einem oder mehreren angrenzenden leeren Pixeln der ersten Tiefenkarte 682, die an den mindestens einen Pixel angrenzen (z. B. unmittelbar angrenzen) und denen keine Tiefenwerte zugeordnet worden sind. In diesem Beispiel kann das mindestens eine Pixel einer der Pixel [8, 3]T, [8, 6]T, [5, 9]T und [5, 12]T, die in Schritt 407 identifiziert wurden. Diese Pixel können als Anfangssatz leerer Pixel bezeichnet werden. 6H zeigt ein Beispiel, in dem Pixel [8, 4]T und [9, 4]T als angrenzende leere Pixel für einen ersten Pixel [8, 3]T bestimmt werden, der zu einem des Anfangssatzes leerer Pixel gehört oder gehörte. Das erste Pixel [8, 3]T kann bereits mit dem Tiefenwert von z. B. 250 cm aktualisiert worden sein (sodass das erste Pixel ein aktualisiertes Pixel ist, das zu dem Anfangssatz leerer Pixel gehört) oder kann noch nicht aktualisiert worden sein (sodass das erste Pixel zu dem Anfangssatz leerer Pixel gehört). Die Figur zeigt ferner die angrenzenden leeren Pixel für einen zweiten Pixel [8, 6]T, einen dritten Pixel [5, 9]T und einen vierten Pixel [5, 12]T, die jeweils zu dem Anfangssatz leerer Pixel gehören oder gehörten. Wie in 6H dargestellt, kann die Steuerschaltung 111 die Abtastratenerhöhung durch weiteres Zuordnen des Tiefenwertes des mindestens ein leeres Pixels (z. B. des ersten Pixels [8, 3]T) zu dem jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel durchführen. Der Tiefenwert kann bereits dem mindestens einen leeren Pixel (z. B. dem ersten Pixel [8, 3]T) zugeordnet worden sein oder steht kurz davor, dem mindestens leeren Pixel zugeordnet zu werden. Genauer gesagt, zeigt 6H entsprechende Tiefenwerte, die dem Anfangssatz leerer Pixel [8, 3]T, [8, 6]T, [5, 9]T und [5, 12]T zugeordnet wurden oder zuzuordnen sind (die in diesem Beispiel 250 cm, 220 cm, 200 cm bzw. 220 cm betragen), die auch den jeweiligen Sätzen angrenzender leerer Pixel zugeordnet werden. In einer Ausführungsform kann die oben beschriebene Abtastratenerhöhung für jedes Pixel durchgeführt werden, der zu dem Anfangssatz leerer Pixel gehörte oder gehört.
  • In einer Ausführungsform kann die Steuerschaltung 111 den jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel als alle leeren Pixel und/oder nur leere Pixel in einem Bereich von Pixeln identifizieren, die den mindestens einen Pixel umgeben. In einer solchen Ausführungsform kann die Steuerschaltung 111 so konfiguriert sein, dass sie eine Größe des Bereichs basierend auf einem Verhältnis zwischen einer Auflösung der ersten Tiefenkarte 682 und einer Auflösung der zweiten Tiefenkarte 692 bestimmt. Hat beispielsweise die erste Tiefenkarte 682 eine Auflösung von „g × h“ Pixeln und die zweite Tiefenkarte 692 eine Auflösung von „m × n“ Pixeln, so kann die Größe des Bereichs gleich „q × r“ Pixeln sein oder anderweitig darauf basieren, wobei „q“ eine nächstliegende Zahl zum Verhältnis „g/m“ ist und „r“ eine nächstliegende Zahl zum Verhältnis „h/r“ ist. Als Beispiel zeigen die 6A bis 6H die erste Tiefenkarte 682 mit einer Auflösung von 12 × 15 Pixeln und die zweite Tiefenkarte 692 eine Auflösung von 4 × 5 Pixeln. In 6H ist ein Bereich von angrenzenden Pixeln, die einen der anfänglichen leeren Pixel umgibt, von festen Linien umschlossen. In diesem Beispiel kann der mindestens eine leere Pixel jeder der ursprünglichen leeren Pixel [8, 3]T [8, 6]T. [5, 9]T und [5, 12]T sein und kann Größe des Bereichs, der die betrachteten angrenzenden leeren Pixel definiert, gleich 12/4 × 15/5 Pixel (d. h. 3 × 3 Pixel) sein. Mit anderen Worten kann die Steuerschaltung 111 in diesem Beispiel alle leeren Pixel innerhalb eines 3-x-3-Bereichs bestimmen, der um einen ersten Pixel des Anfangssatzes leerer Pixel zentriert ist, um zu leeren Pixeln für den ersten Pixel angrenzend zu sein. In einigen Fällen werden alle leeren Pixel, die außerhalb des 3-x-3-Bereichs fallen, nicht als angrenzend zum ersten Pixel betrachtet.
  • In einer Ausführungsform kann eine Größe des Bereichs angrenzender leerer Pixel größer oder kleiner als ein Verhältnis zwischen einer Auflösung der ersten Tiefenkarte und einer Auflösung der zweiten Tiefenkarte sein. Beispielsweise zeigt 61 ein Beispiel, bei dem die Größe des Bereichs 5 × 5 beträgt. D. h., die Steuerschaltung 111 kann in diesem Beispiel angrenzende leere Pixel für einen bestimmten Pixel, der zu dem Anfangssatz leerer Pixel gehört oder gehörte, als alle leeren Pixel (und nur diejenigen leeren Pixel) identifizieren, die sich in einem 5-x-5-Bereich von Pixeln befinden, die den jeweiligen Pixel umgeben.
  • In 61 ist ferner ein Beispiel dargestellt, bei dem die Steuerschaltung 111 einige leere Pixel als an mehreren Pixeln des Anfangssatzes leerer Pixel angrenzend betrachten kann. In einigen Fällen können die mehreren Pixel bereits Tiefenwerte zugeordnet sein und somit als aktualisierte Pixel bezeichnet werden. 61 beinhaltet eine Situation, in der ein erster aktualisierter Pixel [8, 3]T einem ersten Tiefenwert (z. B. 250 cm) zugeordnet ist und ein zweiter aktualisierter Pixel [8, 6]T einem zweiten Tiefenwert (z. B. 220 cm) zugeordnet ist. Die Steuerschaltung 111 kann in diesem Beispiel die erste Tiefenkarte 682 ferner aktualisieren, indem sie einen Satz eines oder mehrerer angrenzender leerer Pixel identifiziert, die an den ersten aktualisierten Pixel [8, 3]T und an den zweiten aktualisierten Pixel [8, 6]T angrenzen. In diesem Beispiel kann die Steuerschaltung 111 alle leeren Pixel innerhalb eines ersten 5-x-5-Bereichs, der den ersten aktualisierten Pixel [8, 3]T umgibt, oder eines zweiten 5-x-5-Bereichs, der den zweiten aktualisierten Pixel [8, 6]T umgibt, als angrenzende leere Pixel für den ersten aktualisierten Pixel [8, 3]T bzw. den zweiten aktualisierten Pixel [8, 6]T betrachten. Auf Basis dieses Kriteriums können einige leere Pixel als sowohl an den ersten aktualisierten Pixel [8, 3]T als auch an den zweiten aktualisierten Pixel [8, 6]T angrenzend betrachtet werden. In einem solchen Beispiel kann die Steuerschaltung 111 im Schritt 409 eine Abtastratenerhöhung durch weiteres Identifizieren von Pixeln (z. B. [7, 5]T, [8, 4]T, [8, 5]T, [9, 4]T und [9, 5]T) als sowohl an den ersten aktualisierten Pixel [8, 3] T als auch an den zweiten aktualisierten Pixel [8, 6]T angrenzend durchführen. In einem solchen Fall kann die Steuerschaltung 111 jenen angrenzenden leeren Pixeln einen durchschnittlichen Tiefenwert (z. B. 235 cm) zuordnen, der ein Durchschnittswert des dem ersten aktualisierten Pixel zugeordneten ersten Tiefenwertes (z. B. 250 cm) und des dem zweiten aktualisierten Pixels zugeordneten zweiten Tiefenwertes (z. B. 220 cm) ist. Ebenso können Pixel [6, 7]T, [6, 8]T , [6, 7]T, [6, 8]T in dem Beispiel von 61 als angrenzend zu sowohl dem zweiten aktualisierten Pixel [8, 6]T als auch einem dritten aktualisierten Pixel [5, 9]T angrenzend betrachtet werden und ihnen kann ein durchschnittlicher Tiefenwert von 210 cm zugeordnet werden. Das Beispiel in 61 kann gleichermaßen für Pixel [4, 10]T, [5, 10]T, [5, 11]T, [6, 10]T , [6, 11]T, [7, 10]T, [7, 11]T gelten, die als sowohl an den dritten aktualisierten Pixel [5, 9]T als auch einem vierten aktualisierten Pixel [5, 12]T angrenzend betrachtet werden können.
  • In einer Ausführungsform kann die Steuerschaltung 111 die erste Tiefenkarte 682 ferner aktualisieren, indem sie einen ersten Satz angrenzender leerer Pixel identifiziert, die an den ersten aktualisierten Pixel angrenzen und an keinen anderen aktualisierten Pixel des einen oder der mehreren aktualisierten Pixel angrenzen, und sie den ersten Tiefenwert an den ersten Satz angrenzender leerer Pixel zuordnet. Beispielsweise kann die Steuerschaltung 111 im Beispiel von 61 Pixel [9, 1]T als an den ersten aktualisierten Pixel [8, 3]T angrenzend und als zu keinem anderen aktualisierten Pixel des einen oder mehreren aktualisierten Pixel (die nicht als zu Pixeln [8, 6]T, [5, 9]T, [5, 12]T angrenzend betrachtet werden) angrenzend identifizieren und kann diesem angrenzenden leeren Pixel den Tiefenwert (z. B. 250 cm) des ersten aktualisierten Pixels [8, 3]T zuordnen. Auch wenn die obigen Schritte, die in Bezug auf 61 beschrieben wurden, für einen ersten aktualisierten Pixel und einen zweiten aktualisierten Pixel durchgeführt werden, können sie allgemeiner für einen ersten Pixel und einen zweiten Pixel durchgeführt werden, die jeweils zu dem Anfangssatz leerer Pixel gehören oder gehörten.
  • In 7A-7C ist ein Beispiel dargestellt, bei dem eine erste Tiefenkarte 782 und eine zweite Tiefenkarte 792 die gleiche Auflösung haben. In einer solchen Situation kann die oben beschriebene Abtastratenerhöhung eingespart werden. In einer Ausführungsform kann die Steuerschaltung 111 die erste Tiefenkarte 782 aktualisieren, indem sie einem oder mehreren leeren Pixeln der ersten Tiefenkarte 782 entsprechende Tiefenwerte basierend auf Tiefeninformationen in der zweiten Tiefenkarte 792 zuordnet. Die Steuerschaltung 111 kann den einen oder die mehreren leeren Pixel zur Aktualisierung in der ersten Tiefenkarte 782 in einer Weise identifizieren, wie sie oben z. B. in Bezug auf die Schritte 401-407 beschrieben wurde. Beispielsweise zeigen die 7A und 7B die Steuerschaltung, die eine Vielzahl von leeren Pixeln in der ersten Tiefenkarte 782 identifiziert (durch die punktierten Pfeile identifiziert), wobei die leeren Pixel in der ersten Tiefenkarte einer gleichen Anzahl von Pixeln in der zweiten Tiefenkarte entsprechen, die Tiefenwerte d1 bis d10 aufweisen. Wie in 7A und 7B dargestellt, kann zwischen der Vielzahl von leeren Pixeln der ersten Tiefenkarte 782 und den entsprechenden Pixeln der zweiten Tiefenkarte 792 ein Versatz (auch als Translation bezeichnet) vorliegen, da die beiden Tiefenkarten 782, 792 aus zwei Kameras erzeugt werden, die an verschiedenen jeweiligen Orten liegen und somit unterschiedliche Sichtfelder aufweisen. Mit anderen Worten, die beiden Kameras können zueinander versetzt sein und bewirken so, dass ein Pixel in der ersten Tiefenkarte 782 gegenüber einem entsprechenden Pixel in der zweiten Tiefenkarte 792 versetzt ist.
  • In einer Ausführungsform kann die Steuerschaltung 111 jeweilige Tiefenwerte auf ähnliche Weise wie oben in Bezug auf Schritt 409 beschrieben zu den leeren Pixeln in der ersten Tiefenkarte 782 zuordnen. Beispielsweise sind in 7C die leeren Pixel der ersten Tiefenkarte 782 als den jeweiligen Tiefenwerten d1' bis d10' zugeordnet dargestellt, die auf den Tiefenwerten d1 bis d10 der zweiten Tiefenkarte basieren.
  • In einer Ausführungsform kann die erste Tiefenkarte eine erste Auflösung aufweisen, die niedriger als eine zweite Auflösung der zweiten Tiefenkarte ist, sodass jeder Pixel des dritten Satzes von Pixeln der ersten Tiefenkarte in Schritt 407 mehreren Pixeln des zweiten Satzes von Pixeln der zweiten Tiefenkarte entspricht. In einer solchen Ausführungsform kann die Steuerschaltung 111 das Aktualisieren der ersten Tiefenkarte (z. B. im Schritt 409) durch Bestimmen des jeweiligen Tiefenwertes, der jedem leeren Pixel des einen oder der mehreren leeren Pixel des Schrittes 407 zuzuordnen ist, als Durchschnitt der jeweiligen Tiefenwerte von entsprechenden Pixeln des zweiten Satzes von Pixeln der zweiten Tiefenkarte oder als Durchschnitt basierend auf den jeweiligen Tiefenwerten von entsprechenden Pixeln des zweiten Satzes von Pixeln der zweiten Tiefenkarte durchführen.
  • 8A ist ein exemplarisches Diagramm, das eine erste Tiefenkarte 882 mit einer Auflösung von 8 × 10 Pixeln zeigt, und 8B ist ein exemplarisches Diagramm, das eine zweite Tiefenkarte 892 mit einer höheren Auflösung von 16 × 20 Pixeln zeigt. Bei dem in 8A und 8B dargestellten Beispiel kann, da die Auflösung der zweiten Tiefenkarte 892 höher als die Auflösung der ersten Tiefenkarte 882 ist, eine Abwärtsratenverringerung durchgeführt werden. Die Abtastratenverringerung kann erforderlich sein, da mehrere Pixel in der zweiten Tiefenkarte 892 dem gleichen Pixel der ersten Tiefenkarte 882 entsprechen können.
  • Beispielsweise ist in 8B die zweite Tiefenkarte 892 mit „X“ gezeigt, die Pixel mit Tiefenwerten darstellt. In der Figur ist eine Gruppe von vier Pixeln in der zweiten Tiefenkarte 892 der 8B dargestellt, die durch ein gestricheltes Kästchen bezeichnet sind, die einem einzelnen Pixel in der ersten Tiefenkarte 882 von 8A entspricht. In einem Beispiel können die vier Pixel in dem gestrichelten Kästchen von 8B Koordinaten von z.B. [9, 3]T, [9, 4]T, [10, 3]T, [10, 4]T aufweisen. Wenn die oben in Zusammenhang mit Schritt 405 erläuterte Berechnung verwendet wird, um Pixelkoordinaten [a, b]T entsprechender Pixel in der ersten Tiefenkarte 882 zu bestimmen, kann die Berechnung Werte liefern, die allesamt auf die gleichen ganzen Zahlen gerundet sind. Beispielsweise kann die Berechnung z. B. Pixelkoordinaten von [5.1, 3.1]T, [5.1, 3.2]T, [5.3, 3.1]T, und [5.3, 3.2]T ergeben, bevor die Koordinaten auf die nächstliegende ganze Zahl gerundet werden. Wenn diese Koordinaten gerundet sind, können sie allesamt auf Pixel [5, 3]T der ersten Tiefenkarte 882 gerundet werden. Somit können die vier Pixel in dem gepunkteten Kästchen der zweiten Tiefenkarte 892 von 8B allesamt Pixel [5, 3]T in der ersten Tiefenkarte 882 entsprechen. Wie in 8A und 8B dargestellt, kann zwischen einem leeren Pixel (z. B. [5, 3]T) der ersten Tiefenkarte 882 und entsprechenden Pixeln ([9, 3]T, [9, 4]T, [10, 3]T, [10, 4]T) der zweiten Tiefenkarte 892 ein Versatz (auch Translation genannt) vorliegen, da die beiden Tiefenkarten 882, 892 aus zwei Kameras erzeugt werden, die an verschiedenen jeweiligen Orten angeordnet sind und somit unterschiedliche Sichtfelder aufweisen.
  • In einer Ausführungsform kann die Abtastratenverringerung durchgeführt werden, indem einem leeren Pixel der ersten Tiefenkarte 882 ein Durchschnitt von jeweiligen Tiefenwerten der mehreren Pixel der zweiten Tiefenkarte 892 zugeordnet wird, die dem leeren Pixel entsprechen. Beispielsweise zeigt 8A ein Beispiel, bei pdem dem leeren Pixel [5, 3]T in der ersten Tiefenkarte 882 ein Durchschnitt der jeweiligen Tiefenwerte (z. B. 250 cm, 250 cm, 240 cm, 240 cm) der entsprechenden Pixel der zweiten Tiefenkarte 892 zugeordnet wird.
  • In einer Ausführungsform kann die Abtastratenverringerung das Zuordnen eines Durchschnitts zu einem leeren Pixel der ersten Tiefenkarte 882 beinhalten, der auf jeweiligen Tiefenwerten der mehreren Pixel der zweiten Tiefenkarte 892, die dem leeren Pixel entsprechen, basiert. Beispielsweise kann die Steuerschaltung 111 so konfiguriert sein, dass sie eine Vielzahl von Zwischentiefenwerten basierend auf den jeweiligen Tiefenwerten der mehreren Pixel der zweiten Tiefenkarte 892 bestimmt, die dem leeren Pixel entsprechen. Die Zwischentiefenwerte (z. B. Z') können basierend auf der entsprechenden Tiefenwerte (z. B. Z) der entsprechenden Pixel der zweiten Tiefenkarte 892 und basierend auf einer Transformationsfunktion, die eine Beziehung zwischen der ersten Kamera (z. B. 540 von 5A/5B) und der zweiten Kamera (z. B. 550 von 5A/5B) beschreibt, basierend auf der folgenden Beziehung, die oben in Bezug auf Schritt 409 und Schritt 405 beschrieben wurde, bestimmt werden: [ X ' Y ' Z ' 1 ] F i r s t = T F i r s t S e c o n d [ X Y Z 1 ] S e c o n d
    Figure DE102020206759A1_0022
  • Im obigen Beispiel mit Pixeln [9, 3]T, [9, 4]T, [10, 3]T, [10, 4]T der zweiten Tiefenkarte 892 von 8B kann Steuerschaltung 111 entsprechend der obigen Beziehung vier jeweilige Zwischentiefenwerte bestimmen. In dieser Ausführungsform kann die Steuerschaltung 111 dem leeren Pixel [5, 3]T der ersten Tiefenkarte 882 einen Durchschnitt der vier Zwischentiefenwerte zuordnen.
  • In einer Ausführungsform kann das obige Beispiel nur nicht-leere Pixel der zweiten Tiefenkarte 892 einschließen. Genauer gesagt, kann die Abtastratenverringerung das Zuordnen eines Durchschnitts zu einem leeren Pixel der ersten Tiefenkarte 882 beinhalten, der auf jeweiligen Tiefenwerten von nicht-leeren Pixeln der zweiten Tiefenkarte 892, die dem leeren Pixel entsprechen, basiert. Beispielsweise wenn Pixel [9, 3]T in der zweiten Tiefenkarte 892 stattdessen ein leeres Pixel wäre, dann würde der leere Pixel [5, 3]T in der ersten Tiefenkarte 882 den folgenden nicht-leeren Pixeln in der zweiten Tiefenkarte 892 entsprechen: [9, 4]T, [10, 3]T, [10, 4]T. Dieses Beispiel würde das Bestimmen von drei jeweiligen Zwischentiefenwerten basierend auf Tiefenwerten der drei nicht-leeren entsprechenden Pixel ([9, 4]T, [10, 3]T, [10, 4]T der zweiten Tiefenkarte 892 und das Zuordnen eines Durchschnitts von den drei Zwischentiefenwerten zu dem leeren Pixel [5, 3]T einschließen.
  • In einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, um eine Rückprojektion durchzuführen, um eine 3D-Koordinate eines physischen Ortes zu bestimmen, wobei die 3D-Koordinate in einer Punktwolke beinhaltet sein kann. In einer Ausführungsform kann die Rückprojektion für mindestens einen Pixel oder für jedes Pixel durchgeführt werden, der zu dem einen oder den mehreren Pixeln des Schrittes 407 von 4 gehörte oder gehört. In einer Ausführungsform kann die Steuerschaltung 111 die Rückprojektion durchführen, indem sie einen jeweiligen Zentralort eines Pixel bestimmt, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, und sie als eine jeweilige Koordinate eines durch das Pixel dargestellten physischen Ortes eine 3D-Koordinate bestimmt, die auf den Zentralort des Pixels projiziert und für die eine Komponente der 3D-Koordinate gleich einem dem Pixel zugeordneten bzw. zuzuordnenden Tiefenwert ist. In einigen Fällen kann die Steuerschaltung 111 so konfiguriert sein, dass sie eine Punkwolke erzeugt, die die jeweilige 3D-Koordinate beinhaltet oder anderweitig darauf basiert. In einigen Implementierungen kann die Punktwolke basierend auf der jeweiligen 3D-Koordinate erzeugt werden, indem die 3D-Koordinate als Wert oder Wertesatz einem Pixel einer Tiefenkarte zugeordnet wird, sodass die Tiefenkarte auch als die Punktwolke oder ein Teil der Punktwolke agieren kann und die 3D-Koordinate Teil der Punktwolke ist.
  • In einigen Fällen kann die Rückprojektion für eine Situation durchgeführt werden, in der ein Pixel der zweiten Tiefenkarte (z. B. 692 von 6B) einen physischen Ort darstellt, der nicht unbedingt auf einen Zentralort eines entsprechenden Pixels der ersten Tiefenkarte (z. B. 682 von 6A) projiziert. Der Zentralort eines Pixels kann sich auf einen Zentralort eines Bereichs auf einem Bildsensor (z. B. 143) beziehen, der dem Pixel entspricht (der Bildsensor kann auch als Kamerasensor bezeichnet werden). In 9A sind beispielsweise sechs Bereiche auf einem ersten Bildsensor (z. B. dem Kamerasensor 143 von FIG. IC) dargestellt, die Informationen für eine erste Tiefenkarte erfassen, und sechs Bereiche auf einem zweiten Bildsensor (z.B. dem Kamerasensor 153 von 1D) dargestellt, die Informationen für eine zweite Tiefenkarte erfassen. Jeder Bereich kann ein Bereich sein, der z. B. von einem jeweiligen Sensor einer Sensoranordnung (z. B. Anordnung von Photodetektoren) belegt ist, der den Bildsensor bildet. Wie in 9A dargestellt, kann ein Bereich 921 für einen Bildsensor 920 einem Pixel [u v] T der zweiten Tiefenkarte entsprechen (der Bildsensor 920 kann eine Ausführungsform des Kamerasensors 153 sein). Wie oben in Zusammenhang mit Schritt 405 erörtert, kann das Pixel [u v]T einen physischen Ort 933 darstellen, der eine Koordinate [X Y Z]T in einem Koordinatensystem der zweiten Kamera (z. B. 150 von 1) oder der zweiten Tiefenkarte und eine Koordinate [X' Y' Z']T in einem Koordinatensystem der ersten Kamera (z. B. 140 von 1) oder der ersten Tiefenkarte aufweist. Wie ebenfalls oben in Zusammenhang mit Schritt 405 von 4 erörtert, kann die Koordinate [X' Y' Z']T zu einem Pixel [a b]T der ersten Tiefenkarte projizieren. Genauer gesagt, kann die Koordinate [X' Y' Z']T zu einem Ort 913 innerhalb eines Bereichs 911 auf einem Bildsensor 910 projizieren (der Bildsensor 910 kann eine Ausführungsform des Kamerasensors 143 sein). Der Bereich 911 kann einem Pixel [a b]T der ersten Tiefenkarte entsprechen. Dem Pixel [a b]T kann in einer Ausführungsform ein Tiefenwert Z' zugeordnet werden, wie oben in Zusammenhang mit dem Schritt 409 erörtert.
  • In der obigen Ausführungsform ist, wenngleich die Koordinate [X' Y' Z']T in einer Punktwolke beinhaltet sein kann, die ein Objekt (z. B. Objekt 260 von 2) darstellt, dies ggf. nicht optimal, da der Ort 913, zu dem [X' Y' Z'].T projiziert, ggf. kein Zentralort des Bereichs 911 ist. Genauer gesagt, kann das Einbeziehen von [X' Y' Z']T in der Punktwolke Probleme bereiten, weil einige Prozesse, die die Punktwolke verwenden, auf der Annahme basieren, dass die 3D-Koordinaten in der Punktwolke zu jeweiligen Zentralorten entsprechender Pixel projizieren. Somit muss die Punktwolke stattdessen ggf. eine 3D-Koordinate eines physischen Orts beinhalten, die in der Tat zu einem Zentralort des Bereichs 911 projiziert. In einer Ausführungsform kann eine 3D-Koordinate über einen Rückprojektionsvorgang bestimmt werden.
  • Beispielsweise ist in 9B ein Szenario gezeigt, bei dem eine 3D-Koordinate [X'' Y'' Z'']T für einen physischen Ort 934 identifiziert wird, der in der Tat zu einem Zentralort 915 des Bereichs 911, der dem Pixel [a b]T entspricht, projiziert (der als Zentralort des Pixels bezeichnet werden kann). Genauer gesagt, können der physische Ort 934 und seine 3D-Koordinate [X'' Y'' Z'']T als 3D-Koordinate identifiziert werden, die: auf eine imaginäre Linie 917 fällt, die den Zentralort 915 des Pixels [a b]T und einen Brennpunkt 919 der ersten Kamera (z. B. 140 der 1A) verbindet. Die imaginäre Linie 917 ist in 9B und 9C dargestellt, während der Brennpunkt 919 in 9C dargestellt ist. Ferner muss eine Z-Komponente (d. h. Z'') oder jede andere Komponente, die Tiefeninformationen beschreibt, ggf. gleich einem dem Pixel [a b]T zugeordneten Tiefenwert sein. Mit anderen Worten ist der Wert von Z'' gleich dem Wert von Z'. In einer Ausführungsform kann, nachdem die 3D-Koordinate [X'' Y'' Z'']T des physischen Orts 934 bestimmt wurde, diese Koordinate anstatt der 3D-Koordinate [X' Y' Z']T des physischen Orts 933 in die Punktwolke einbezogen werden. In einigen Fällen kann dem Pixel [a b]T nicht nur der Wert Z'' (der gleich Z' ist) zugeordnet werden, sondern auch die Werte X'' und Y'', sodass dem Pixel [a b]T die 3D-Koordinate [X' Y' Z']T zugeordnet wird. Die Zuordnung der 3D-Koordinate zu dem Pixel kann eine Art und Weise sein, um eine Punktwolke zu erzeugen, die auf der 3D-Koordinate basiert, wobei eine erste Tiefenkarte, die das Pixel [a b]T beinhaltet, die die Punktwolke oder ein Teil der Punktwolke ist, wobei die Punktwolke 3D-Koordinaten physischer Orte auf einer Oberfläche eines Objekts oder einer Struktur beinhaltet.
  • Zusätzliche Erörterung verschiedener Ausführungsformen
  • Ausführungsform 1 der vorliegenden Offenbarung betrifft ein Kamerabildverarbeitungssystem, das eine Kommunikationsschnittstelle und eine Steuerschaltung umfasst. Die Kommunikationsschnittstelle ist konfiguriert, um mit: (i) einer ersten Kamera, die eine erste Art von Tiefenerfassungskamera ist und ein erstes Kamerasichtfeld aufweist, und (ii) einer zweiten Kamera, die eine zweite Art von Tiefenerfassungskamera ist, die sich von der ersten Art der Tiefenerfassungskamera unterscheidet und ein zweites Kamerasichtfeld aufweist, das dem ersten Kamerasichtfeld überlagert ist, zu kommunizieren. Die Steuerschaltung ist konfiguriert, um, wenn die Kommunikationsschnittstelle mit der ersten Kamera und der zweiten Kamera in Verbindung steht, eine erste Tiefenkarte zu empfangen, die basierend auf von der ersten Kamera erfassten Informationen erzeugt wird, wobei die erste Tiefenkarte einen ersten Satz von Pixeln beinhaltet, die einen ersten Satz von jeweiligen physischen Orten in dem ersten Kamerasichtfeld darstellen und die einen ersten Satz von jeweiligen Tiefenwerten für den ersten Satz von jeweiligen physischen Orten anzeigen, wobei der erste Satz von jeweiligen Tiefenwerten relativ zu der ersten Kamera ist. Die Steuerschaltung ist ferner konfiguriert, um eine zweite Tiefenkarte zu empfangen, die basierend auf von der zweiten Kamera erfassten Informationen erzeugt wird, wobei die zweite Tiefenkarte einen zweiten Satz von Pixeln beinhaltet, die einen zweiten Satz von jeweiligen physischen Orten in dem zweiten Kamerasichtfeld darstellen und die einen zweiten Satz von jeweiligen Tiefenwerten für den zweiten Satz von jeweiligen physischen Orten anzeigen, wobei der zweite Satz von jeweiligen Tiefenwerten relativ zu der zweiten Kamera ist. Die Steuerschaltung ist ferner konfiguriert, um einen dritten Satz von Pixeln der ersten Tiefenkarte zu identifizieren, die auch den zweiten Satz von jeweiligen physischen Orten darstellen, sodass der dritte Satz von Pixeln dem zweiten Satz von Pixeln der zweiten Tiefenkarte entspricht. Die Steuerschaltung ist ferner konfiguriert, um ein oder mehrere leere Pixel aus dem dritten Satz von Pixeln zu identifizieren, wobei jedes leere Pixel des einen oder der mehreren leeren Pixel ein Pixel der ersten Tiefenkarte ist, das keinen dem Pixel zugeordneten Tiefenwert aufweist. Die Steuerschaltung ist ferner konfiguriert, um die erste Tiefenkarte zu aktualisieren, indem sie jedem leeren Pixel des einen oder der mehreren leeren Pixel ein jeweiliger Tiefenwert zuordnet, der auf einem Tiefenwert eines entsprechenden Pixels des zweiten Satzes von Pixeln der zweiten Tiefenkarte basiert, wobei der entsprechende Pixel für den leeren Pixel ein Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte ist, die einen gleichen physischen Ort wie der leere Pixel darstellt.
  • Ausführungsform 2 beinhaltet das Kamerabildverarbeitungssystem von Ausführungsform 1. In Ausführungsform 2 ist die Steuerschaltung so konfiguriert, dass sie den jeweiligen Tiefenwert zu jedem leeren Pixel des Satzes eines oder mehrerer leerer Pixel basierend auf dem Tiefenwert des entsprechenden Pixels der zweiten Tiefenkarte und basierend auf einer Transformationsfunktion bestimmt, die die räumliche Beziehung zwischen der ersten Kamera und der zweiten Kamera definiert.
  • Ausführungsform 3 beinhaltet das Kamerabildverarbeitungssystem von Ausführungsform 2. In Ausführungsform 3 weist der zweite Satz von Pixeln der zweiten Tiefenkarte einen Satz von jeweiligen Pixelkoordinaten auf, und ist die Steuerschaltung konfiguriert, um den dritten Satz von Pixeln der ersten Tiefenkarte durch Bestimmen eines zusätzlichen Satzes von jeweiligen Pixelkoordinaten basierend auf dem Satz von jeweiligen Pixelkoordinaten und basierend auf der Transformationsfunktion, die räumliche Beziehung zwischen der ersten Kamera und der zweiten Kamera definiert, zu identifizieren, wobei der zusätzliche Satz von jeweiligen Pixelkoordinaten den dritten Satz von Pixeln identifiziert.
  • Ausführungsform 4 beinhaltet das Kamerabildverarbeitungssystem von einer der Ausführungsformen 1-3. In Ausführungsform 4 ist die Steuerschaltung konfiguriert, um die erste Tiefenkarte über die Kommunikationsschnittstelle von der ersten Kamera zu empfangen und die zweite Tiefenkarte über die Kommunikationsschnittstelle von der zweiten Kamera zu empfangen.
  • Ausführungsform 5 beinhaltet das Kamerabildverarbeitungssystem von einer der Ausführungsformen 1-4. In Ausführungsform 5 ist die Steuerschaltung konfiguriert, um, wenn die erste Tiefenkarte eine erste Auflösung höher als eine zweite Auflösung der zweiten Tiefenkarte aufweist, die erste Tiefenkarte weiter zu aktualisieren, indem: sie für mindestens einen Pixel, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, einen jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel der ersten Tiefenkarte, die an den mindestens einen Pixel angrenzen und die keinen zugeordneten Tiefenwert aufweisen, identifiziert und dem jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel einen Tiefenwert zuordnet, der dem mindestens einen Pixel zugeordnet wurde oder zuzuordnen ist.
  • Ausführungsform 6 beinhaltet das Kamerabildverarbeitungssystem von Ausführungsform 5. In Ausführungsform 6 ist die Steuerschaltung konfiguriert, um den jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel als alle leeren Pixel in einem Bereich von Pixeln, der das mindestens eine Pixel umgibt, zu identifizieren, wobei die Steuerschaltung konfiguriert ist, um eine Größe des Bereichs basierend auf einem Verhältnis zwischen einer Auflösung der ersten Tiefenkarte und einer Auflösung der zweiten Tiefenkarte zu bestimmen.
  • Ausführungsform 7 beinhaltet das Kamerabildverarbeitungssystem von einer der Ausführungsformen 1-6. In Ausführungsform 7 ist die Steuerschaltung konfiguriert, um die erste Tiefenkarte weiter zu aktualisieren durch: Identifizieren eines Satzes eines oder mehrerer angrenzender leerer Pixel, die an einen ersten Pixel angrenzen, das zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, und an einen zweiten Pixel angrenzen, das zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört; und Zuweisen eines durchschnittlichen Tiefenwertes zu dem Satz eines oder mehrerer angrenzender leerer Pixel, der ein Durchschnitt eines ersten Tiefenwerts, der dem ersten Pixel zugeordnet wurde oder zuzuordnen ist, und eines zweiten Tiefenwerts ist, der dem zweiten Pixel zugeordnet wurde oder zuzuordnen ist.
  • Ausführungsform 8 beinhaltet das Kamerabildverarbeitungssystem von Ausführungsform 7. In Ausführungsform 8 ist die Steuerschaltung konfiguriert, um die erste Tiefenkarte weiter zu aktualisieren durch: Identifizieren eines zusätzlichen Satzes angrenzender leerer Pixel, die an den ersten Pixel angrenzen und an keinen anderen Pixel des einen oder der mehreren leeren Pixel angrenzen; und Zuordnen des ersten Tiefenwertes zu dem zusätzlichen Satz angrenzender leerer Pixel.
  • Ausführungsform 9 beinhaltet das Kamerabildverarbeitungssystem von einer der Ausführungsformen 1-8. In Ausführungsform 9 ist die Steuerschaltung konfiguriert, um für jedes Pixel, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört: einen jeweiligen Mittelort des Pixels zu bestimmen; als jeweilige Koordinate eines durch das Pixel dargestellten physischen Ortes eine 3D-Koordinate zu bestimmen, die zu dem Zentralort des Pixels projiziert und für die eine Komponente der 3D-Koordinate gleich einem dem Pixel zugeordneten oder zuzuordnenden Tiefenwert ist; und eine auf der jeweiligen 3D-Koordinate basierenden Punktwolke zu erzeugen.
  • Ausführungsform 10 beinhaltet das Kamerabildverarbeitungssystem von Ausführungsform 9. In Ausführungsform 10 ist die Steuerschaltung so konfiguriert, dass sie die jeweilige 3D-Koordinate für jedes Pixel, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, als eine Koordinate bestimmt, die auf eine imaginäre Linie fällt, die durch: (i) den jeweiligen Zentralort des Pixels und (ii) einen Brennpunkt der ersten Kamera verläuft.
  • Ausführungsform 11 beinhaltet das Kamerabildverarbeitungssystem von einer der Ausführungsformen 1-4 oder 7-10. In Ausführungsform 11 ist die Steuerschaltung konfiguriert, um, wenn die erste Tiefenkarte eine erste Auflösung aufweist, die geringer ist als eine zweite Auflösung der zweiten Tiefenkarte, sodass jeder Pixel des einen oder der mehreren Pixel der ersten Tiefenkarte mehreren Pixeln des zweiten Satzes von Pixeln entspricht: den jeweiligen Tiefenwert zu bestimmen, der jedem leeren Pixel des einen oder der mehreren leeren Pixel zuzuordnen ist, basierend auf einem Durchschnitt jeweiliger Tiefenwerte von entsprechenden Pixeln des zweiten Satzes von Pixeln der zweiten Tiefenkarte.
  • Ausführungsform 12 beinhaltet das Kamerabildverarbeitungssystem von einer der Ausführungsformen 1-11. In Ausführungsform 11 ist das Kamerabildverarbeitungssystem Teil eines Robotersteuersystems, und wobei, wenn die Kommunikationsschnittstelle mit der ersten Kamera, der zweiten Kamera und einem Roboter in Kommunikation steht, die Steuerschaltung konfiguriert ist, um: nach dem Aktualisieren der ersten Tiefenkarte basierend auf Tiefenwerten der zweiten Tiefenkarte einen Roboterbewegungsbefehl basierend auf der ersten Tiefenkarte zu erzeugen; und den Roboterbewegungsbefehl über die Kommunikationsschnittstelle an den Roboter zu übermitteln.
  • Ausführungsform 13 beinhaltet das Kamerabildverarbeitungssystem von Ausführungsform 12. In Ausführungsform 13 ist die Steuerschaltung konfiguriert, um, nachdem die erste Tiefenkarte basierend auf Tiefenwerten der zweiten Tiefenkarte aktualisiert wurde: den Roboterbewegungsbefehl basierend auf der ersten Tiefenkarte zu erzeugen.
  • Ausführungsform 14 der vorliegenden Offenbarung betrifft ein nicht-flüchtiges computerlesbares Medium mit Anweisungen, die bei Ausführung durch eine Steuerschaltung eines Kamerabildverarbeitungssystems die Steuerschaltung veranlassen: eine erste Tiefenkarte empfangen, wobei die erste Tiefenkarte von dem nicht-flüchtigen computerlesbaren Medium des Kamerabildverarbeitungssystems oder über eine Kommunikationsschnittstelle des Kamerabildverarbeitungssystems empfangen wird, wobei die Kommunikationsschnittstelle zur Kommunikation mit einer ersten Kamera konfiguriert ist, die eine erste Art von Tiefenerfassungskamera ist und ein erstes Kamerasichtfeld aufweist, und wobei die erste Tiefenkarte basierend auf Informationen erzeugt wird, die von der ersten Kamera erfasst werden, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist, und wobei die erste Tiefenkarte einen ersten Satz von Pixeln beinhaltet, die einen ersten Satz von jeweiligen physischen Orten in dem ersten Kamerasichtfeld darstellen und die einen ersten Satz von jeweiligen Tiefenwerten für den ersten Satz von jeweiligen physischen Orten anzeigen, wobei der erste Satz von jeweiligen Tiefenwerten relativ zu der ersten Kamera ist, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist. Die Anweisungen veranlassen die Steuerschaltung ferner, eine zweite Tiefenkarte zu empfangen, wobei die zweite Tiefenkarte von dem nicht-flüchtigen computerlesbaren Medium des Kamerabildverarbeitungssystems oder über die Kommunikationsschnittstelle des Kamerabildverarbeitungssystems empfangen wird, wobei die Kommunikationsschnittstelle zur Kommunikation mit einer zweiten Kamera konfiguriert ist, die eine zweite Art von Tiefenerfassungskamera ist, die sich von der ersten Art der Tiefenerfassungskamera unterscheidet, und die ein zweites Kamerasichtfeld aufweist, das sich mit dem ersten Kamerasichtfeld überlagert, und wobei die zweite Tiefenkarte basierend auf Informationen erzeugt wird, die von der zweiten Kamera erfasst werden, mit der die Kommunikationsstelle zur Kommunikation konfiguriert ist, wobei die zweite Tiefenkarte einen zweiten Satz von Pixeln beinhaltet, die einen zweiten Satz von jeweiligen physischen Orten in dem zweiten Kamerasichtfeld darstellen und die einen zweiten Satz von jeweiligen Tiefenwerten für den zweiten Satz von jeweiligen physischen Orten anzeigen, wobei der zweite Satz von jeweiligen Tiefenwerten relativ zu der zweiten Kamera ist, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist. Die Anweisungen veranlassen die Steuerschaltung ferner, einen dritten Satz von Pixeln der ersten Tiefenkarte zu identifizieren, die auch den zweiten Satz von jeweiligen physischen Orten darstellen, sodass der dritte Satz von Pixeln dem zweiten Satz von Pixeln der zweiten Tiefenkarte entspricht. Die Anweisungen veranlassen die Steuerschaltung ferner, ein oder mehrere leere Pixel aus dem dritten Satz von Pixeln zu identifizieren, wobei jedes leere Pixel des einen oder der mehreren leeren Pixel ein Pixel der ersten Tiefenkarte ist, das keinen dem Pixel zugeordneten Tiefenwert aufweist. Die Anweisungen veranlassen die Steuerschaltung ferner, die erste Tiefenkarte zu aktualisieren, indem sie jedem leeren Pixel des einen oder der mehreren leeren Pixel einen jeweiligen Tiefenwert zuordnet, der auf einem Tiefenwert eines entsprechenden Pixels des zweiten Satzes von Pixeln der zweiten Tiefenkarte basiert, wobei der entsprechende Pixel für den leeren Pixel ein Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte ist, die einen gleichen physischen Ort wie der leere Pixel darstellt.
  • Die Ausführungsform 15 beinhaltet das nicht-flüchtige computerlesbare Medium von Ausführungsform 14. In Ausführungsform 15 veranlassen die Anweisungen, wenn die erste Tiefenkarte eine erste Auflösung höher als eine zweite Auflösung der zweiten Tiefenkarte aufweist, die Steuerschaltung ferner: für mindestens einen Pixel, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, einen jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel der ersten Tiefenkarte zu identifizieren, die an den mindestens einen Pixel angrenzen und die keinen zugeordneten Tiefenwert aufweisen; und dem jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel einen Tiefenwert zuzuordnen, der dem mindestens einen Pixel zugeordnet wurde oder zuzuordnen ist.
  • Die Ausführungsform 16 beinhaltet das nicht-flüchtige computerlesbare Medium von Ausführungsform 15. In Ausführungsform 16 veranlassen die Anweisungen die Steuerschaltung, den jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel als alle leeren Pixel in einem Bereich von Pixeln, der das mindestens eine Pixel umgibt, zu identifizieren, wobei die Steuerschaltung konfiguriert ist, um eine Größe des Bereichs basierend auf einem Verhältnis zwischen einer Auflösung der ersten Tiefenkarte und einer Auflösung der zweiten Tiefenkarte zu bestimmen.
  • Die Ausführungsform 17 beinhaltet das nicht-flüchtige computerlesbare Medium von einer der Ausführungsformen 14-16. In Ausführungsform 17 veranlassen die Anweisungen die Steuerschaltung ferner, für jedes Pixel, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört: einen jeweiligen Mittelort des Pixels zu bestimmen; als jeweilige Koordinate eines durch das Pixel dargestellten physischen Ortes eine 3D-Koordinate zu bestimmen, die zu dem Zentralort des Pixels projiziert und für die eine Komponente der 3D-Koordinate gleich einem dem Pixel zugeordneten oder zuzuordnenden Tiefenwert ist; und eine auf der jeweiligen 3D-Koordinate basierenden Punktwolke zu erzeugen.
  • Ausführungsform 18 der vorliegenden Offenbarung betrifft ein Verfahren zum Aktualisieren eines oder mehrerer Tiefenwerte. In Ausführungsform 18 umfasst das Verfahren das Empfangen einer ersten Tiefenkarte durch eine Steuerschaltung eines Kamerabildverarbeitungssystems, wobei die erste Tiefenkarte von einem nicht-flüchtigen computerlesbaren Medium des Kamerabildverarbeitungssystems oder über eine Kommunikationsschnittstelle des Kamerabildverarbeitungssystems empfangen wird, wobei die Kommunikationsschnittstelle zur Kommunikation mit einer ersten Kamera konfiguriert ist, die eine erste Art von Tiefenerfassungskamera ist und ein erstes Kamerasichtfeld aufweist, und wobei die erste Tiefenkarte basierend auf Informationen erzeugt wird, die von der ersten Kamera erfasst werden, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist, wobei die erste Tiefenkarte einen ersten Satz von Pixeln beinhaltet, die einen ersten Satz von jeweiligen physischen Orten in dem ersten Kamerasichtfeld darstellen und die einen ersten Satz von jeweiligen Tiefenwerten für den ersten Satz von jeweiligen physischen Orten anzeigen, wobei der erste Satz von jeweiligen Tiefenwerten relativ zu der ersten Kamera ist, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist. Das Verfahren umfasst ferner das Empfangen einer zweiten Tiefenkarte, wobei die zweite Tiefenkarte von dem nicht-flüchtigen computerlesbaren Medium des Kamerabildverarbeitungssystems oder über die Kommunikationsschnittstelle des Kamerabildverarbeitungssystems empfangen wird, wobei die Kommunikationsschnittstelle zur Kommunikation mit einer zweiten Kamera konfiguriert ist, die eine zweite Art von Tiefenerfassungskamera ist, die sich von der ersten Art der Tiefenerfassungskamera unterscheidet, und die ein zweites Kamerasichtfeld aufweist, das sich mit dem ersten Kamerasichtfeld überlagert, wobei die zweite Tiefenkarte basierend auf Informationen erzeugt wird, die von der zweiten Kamera erfasst werden, mit der die Kommunikationsstelle zur Kommunikation konfiguriert ist, wobei die zweite Tiefenkarte einen zweiten Satz von Pixeln beinhaltet, die einen zweiten Satz von jeweiligen physischen Orten in dem zweiten Kamerasichtfeld darstellen und die einen zweiten Satz von jeweiligen Tiefenwerten für den zweiten Satz von jeweiligen physischen Orten anzeigen, wobei der zweite Satz von jeweiligen Tiefenwerten relativ zu der zweiten Kamera ist, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist. Das Verfahren umfasst ferner das Identifizieren eines dritten Satzes von Pixeln der ersten Tiefenkarte, die auch den zweiten Satz von jeweiligen physischen Orten darstellen, sodass der dritte Satz von Pixeln dem zweiten Satz von Pixeln der zweiten Tiefenkarte entspricht. Das Verfahren umfasst ferner das Identifizieren eines oder mehrerer leerer Pixel aus dem dritten Satz von Pixeln, wobei jedes leere Pixel des einen oder der mehreren leeren Pixel ein Pixel der ersten Tiefenkarte ist, das keinen dem Pixel zugeordneten Tiefenwert aufweist. Das Verfahren umfasst ferner das Aktualisieren der ersten Tiefenkarte, indem jedem leeren Pixel des einen oder der mehreren leeren Pixel ein jeweiliger Tiefenwert zugeordnet wird, der auf einem Tiefenwert eines entsprechenden Pixels des zweiten Satzes von Pixeln der zweiten Tiefenkarte basiert, wobei der entsprechende Pixel für den leeren Pixel ein Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte ist, die einen gleichen physischen Ort wie der leere Pixel darstellt.
  • Ausführungsform 19 beinhaltet das Verfahren von Ausführungsform 18. In Ausführungsform 19 das Verfahren weist die erste Tiefenkarte eine erste Auflösung höher als eine zweite Auflösung der zweiten Tiefenkarte auf, und umfasst das Verfahren ferner: Identifizieren - für mindestens einen Pixel, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, - eines jeweiligen Satzes eines oder mehrerer angrenzender leerer Pixel der ersten Tiefenkarte, die an den mindestens einen Pixel angrenzen und die keinen zugeordneten Tiefenwert aufweisen; und Zuordnen eines Tiefenwerts zu dem jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel, der dem mindestens einen Pixel zugeordnet wurde oder zuzuordnen ist.
  • Ausführungsform 20 beinhaltet das Verfahren von Ausführungsform 19. In Ausführungsform 20 umfasst das Verfahren ferner: Identifizieren des jeweiligen Satzes eines oder mehrerer angrenzender leerer Pixel als alle leeren Pixel in einem Bereich von Pixeln, der das mindestens eine Pixel umgibt, wobei die Steuerschaltung konfiguriert ist, um eine Größe des Bereichs basierend auf einem Verhältnis zwischen einer Auflösung der ersten Tiefenkarte und einer Auflösung der zweiten Tiefenkarte zu bestimmen.
  • Obwohl vorstehend verschiedene Ausführungsformen beschrieben wurden, versteht es sich, dass diese nur als Veranschaulichungen und Beispiele für die vorliegende Erfindung und nicht als Beschränkung dargestellt sind. Es wird für einen Fachmann selbstverständlich sein, dass verschiedene Veränderungen an Form und Detail vorgenommen werden können, ohne von dem erfindungsgemäßen Sinn und Umfang abzuweichen. Somit sollten die Breite und der Umfang der vorliegenden Erfindung durch keinerlei der vorstehend beschriebenen exemplarischen Ausführungsformen eingeschränkt werden, sondern sollten lediglich in Übereinstimmung mit den angefügten Ansprüchen und ihren Äquivalenten definiert werden. Es versteht sich zudem, dass jedes Merkmal von jeder hierin erörterten Ausführungsform und von jeder hierin angeführten Referenz in Kombination mit den Merkmalen jeder anderen Ausführungsform verwendet werden kann. Alle hierin beschriebenen Patente und Veröffentlichungen sind hierin durch Bezugnahme in ihrer Gesamtheit aufgenommen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 16295940 [0058]

Claims (15)

  1. Kamerabildverarbeitungssystem, umfassend: eine Kommunikationsschnittstelle, die konfiguriert ist, um mit: (i) einer ersten Kamera, die eine erste Art von Tiefenerfassungskamera ist und ein erstes Kamerasichtfeld aufweist, und (ii) einer zweiten Kamera, die eine zweite Art von Tiefenerfassungskamera ist, die sich von der ersten Art der Tiefenerfassungskamera unterscheidet und ein zweites Kamerasichtfeld aufweist, das dem ersten Kamerasichtfeld überlagert ist, zu kommunizieren; und eine Steuerschaltung, die, wenn die Kommunikationsschnittstelle mit der ersten Kamera und der zweiten Kamera in Kommunikation steht, konfiguriert ist, um: eine erste Tiefenkarte zu empfangen, die basierend auf von der ersten Kamera erfassten Informationen erzeugt wird, wobei die erste Tiefenkarte einen ersten Satz von Pixeln beinhaltet, die einen ersten Satz von jeweiligen physischen Orten in dem ersten Kamerasichtfeld darstellen und die einen ersten Satz von jeweiligen Tiefenwerten für den ersten Satz von jeweiligen physischen Orten anzeigen, wobei der erste Satz von jeweiligen Tiefenwerten relativ zu der ersten Kamera ist; eine zweite Tiefenkarte zu empfangen, die basierend auf von der zweiten Kamera erfassten Informationen erzeugt wird, wobei die zweite Tiefenkarte einen zweiten Satz von Pixeln beinhaltet, die einen zweiten Satz von jeweiligen physischen Orten in dem zweiten Kamerasichtfeld darstellen und die einen zweiten Satz von jeweiligen Tiefenwerten für den zweiten Satz von jeweiligen physischen Orten anzeigen, wobei der zweite Satz von jeweiligen Tiefenwerten relativ zu der zweiten Kamera ist; einen dritten Satz von Pixeln der ersten Tiefenkarte zu identifizieren, die auch den zweiten Satz von jeweiligen physischen Orten darstellen, sodass der dritte Satz von Pixeln dem zweiten Satz von Pixeln der zweiten Tiefenkarte entspricht; ein oder mehrere leere Pixel aus dem dritten Satz von Pixeln zu identifizieren, wobei jedes leere Pixel des einen oder der mehreren leeren Pixel ein Pixel der ersten Tiefenkarte ist, das keinen dem Pixel zugeordneten Tiefenwert aufweist; die erste Tiefenkarte zu aktualisieren, indem jedem leeren Pixel des einen oder der mehreren leeren Pixel ein jeweiliger Tiefenwert zugeordnet wird, der auf einem Tiefenwert eines entsprechenden Pixels des zweiten Satzes von Pixeln der zweiten Tiefenkarte basiert, wobei der entsprechende Pixel für den leeren Pixel ein Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte ist, die einen gleichen physischen Ort wie der leere Pixel darstellt.
  2. Kamerabildverarbeitungssystem nach Anspruch 1, wobei die Steuerschaltung dazu konfiguriert ist, den jeweiligen Tiefenwert, der jedem leeren Pixel des Satzes eines oder mehrerer leerer Pixel zuzuordnen ist, basierend auf dem Tiefenwert des entsprechenden Pixels der zweiten Tiefenkarte und basierend auf einer Transformationsfunktion, die die räumliche Beziehung zwischen der ersten Kamera und der zweiten Kamera definiert, zu bestimmen.
  3. Kamerabildverarbeitungssystem nach Anspruch 2, wobei der zweite Satz von Pixeln der zweiten Tiefenkarte einen Satz von jeweiligen Pixelkoordinaten aufweist, und wobei die Steuerschaltung konfiguriert ist, um den dritten Satz von Pixeln der ersten Tiefenkarte durch Bestimmen eines zusätzlichen Satzes von jeweiligen Pixelkoordinaten basierend auf dem Satz von jeweiligen Pixelkoordinaten und basierend auf der Transformationsfunktion, die die räumliche Beziehung zwischen der ersten Kamera und der zweiten Kamera definiert, zu identifizieren, wobei der zusätzliche Satz von jeweiligen Pixelkoordinaten den dritten Satz von Pixeln identifiziert.
  4. Kamerabildverarbeitungssystem nach einem der vorangegangenen Ansprüche, wobei die Steuerschaltung, wenn die erste Tiefenkarte eine erste Auflösung aufweist, die höher als eine zweite Auflösung der zweiten Tiefenkarte ist, konfiguriert ist, um die erste Tiefenkarte weiter zu aktualisieren durch: Identifizieren, für mindestens einen Pixel, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, eines jeweiligen Satzes von einem oder mehreren angrenzenden leeren Pixeln der ersten Tiefenkarte, die an den mindestens einen Pixel angrenzen und keinen zugeordneten Tiefenwert haben; und Zuordnen eines Tiefenwerts zu dem jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel, der dem mindestens einen Pixel zugeordnet wurde oder zuzuordnen ist.
  5. Kamerabildverarbeitungssystem nach Anspruch 4, wobei die Steuerschaltung konfiguriert ist, um den jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel als alle leeren Pixel in einem Bereich von Pixeln, der das mindestens eine Pixel umgibt, zu identifizieren, wobei die Steuerschaltung konfiguriert ist, um eine Größe des Bereichs basierend auf einem Verhältnis zwischen einer Auflösung der ersten Tiefenkarte und einer Auflösung der zweiten Tiefenkarte zu bestimmen.
  6. Kamerabildverarbeitungssystem nach einem der vorangegangenen Ansprüche, wobei die Steuerschaltung konfiguriert ist, um die erste Tiefenkarte weiter zu aktualisieren durch: Identifizieren eines Satzes eines oder mehrerer angrenzender leerer Pixel, die an einen ersten Pixel angrenzen, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, und an einen zweiten Pixel angrenzen, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört; und Zuordnen, zu dem Satz eines oder mehrerer angrenzender leerer Pixel, eines durchschnittlichen Tiefenwerts, der ein Durchschnitt eines ersten Tiefenwertes, der dem ersten Pixel zugeordnet wurde oder zuzuordnen ist, und eines zweiten Tiefenwertes ist, der dem zweiten Pixel zugeordnet wurde oder zuzuordnen ist, ist.
  7. Kamerabildverarbeitungssystem nach Anspruch 6, wobei die Steuerschaltung konfiguriert ist, um die erste Tiefenkarte weiter zu aktualisieren durch: Identifizieren eines zusätzlichen Satzes angrenzender leerer Pixel, die an den ersten Pixel angrenzen und an keinen anderen Pixel des einen oder der mehreren leeren Pixeln angrenzen; und Zuordnen des ersten Tiefenwertes zu dem zusätzlichen Satz angrenzender leerer Pixel.
  8. Kamerabildverarbeitungssystem nach einem der vorangegangenen Ansprüche, wobei die Steuerschaltung konfiguriert ist, um für jedes Pixel, das zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört: einen jeweiligen Zentralort bzw. einer jeweiligen Mittelposition des Pixels zu bestimmen; als jeweilige Koordinate eines durch das Pixel dargestellten physischen Ortes eine 3D-Koordinate zu bestimmen, die auf den Zentralort des Pixels projiziert und für die eine Komponente der 3D-Koordinate gleich einem dem Pixel zugeordneten oder zuzuordnenden Tiefenwert ist; und eine auf der jeweiligen 3D-Koordinate basierende Punktwolke zu erzeugen.
  9. Kamerabildverarbeitungssystem nach Anspruch 8, wobei die Steuerschaltung dazu konfiguriert ist, die jeweilige 3D-Koordinate für jedes Pixel, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, als eine Koordinate zu bestimmen, die auf eine imaginäre Linie fällt, die durch: (i) den jeweiligen Zentralort des Pixels und (ii) einen Brennpunkt der ersten Kamera verläuft.
  10. Kamerabildverarbeitungssystem nach einem der vorangegangenen Ansprüche, wobei die Steuerschaltung konfiguriert ist, um, wenn die erste Tiefenkarte eine erste Auflösung hat, die niedriger als eine zweite Auflösung der zweiten Tiefenkarte ist, sodass jeder Pixel des einen oder der mehreren Pixel der ersten Tiefenkarte mehreren Pixeln des zweiten Satzes von Pixeln entspricht: den jeweiligen Tiefenwert, der jedem leeren Pixel des einen oder der mehreren leeren Pixel zuzuordnen ist, basierend auf einem Durchschnitt jeweiliger Tiefenwerte entsprechender Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte zu bestimmen.
  11. Kamerabildverarbeitungssystem nach einem der vorangegangenen Ansprüche, wobei das Kamerabildverarbeitungssystem Teil eines Robotersteuersystems ist und wobei, wenn die Kommunikationsschnittstelle mit der ersten Kamera, der zweiten Kamera und einem Roboter in Verbindung steht, die Steuerschaltung konfiguriert ist, um: nachdem die erste Tiefenkarte basierend auf Tiefenwerten der zweiten Tiefenkarte aktualisiert wurde, einen Roboterbewegungsbefehl basierend auf der ersten Tiefenkarte zu erzeugen; und den Roboterbewegungsbefehl über die Kommunikationsschnittstelle zum Roboter zu kommunizieren.
  12. Kamerabildverarbeitungssystem nach Anspruch 11, wobei die Steuerschaltung konfiguriert ist, um, nachdem die erste Tiefenkarte basierend auf Tiefenwerten der zweiten Tiefenkarte aktualisiert wurde: den Roboterbewegungsbefehl basierend auf der ersten Tiefenkarte zu erzeugen.
  13. Nicht-flüchtiges computerlesbares Medium mit Anweisungen, die bei Ausführung durch eine Steuerschaltung eines Kamerabildverarbeitungssystems die Steuerschaltung veranlassen zum: Empfangen einer ersten Tiefenkarte, wobei die erste Tiefenkarte von dem nicht-flüchtigen computerlesbaren Medium des Kamerabildverarbeitungssystems oder über eine Kommunikationsschnittstelle des Kamerabildverarbeitungssystems empfangen wird, wobei die Kommunikationsschnittstelle zur Kommunikation mit einer ersten Kamera konfiguriert ist, die eine erste Art von Tiefenerfassungskamera ist und ein erstes Kamerasichtfeld aufweist, wobei die erste Tiefenkarte basierend auf Informationen erzeugt wird, die von der ersten Kamera erfasst werden, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist, und wobei die erste Tiefenkarte einen ersten Satz von Pixeln beinhaltet, die einen ersten Satz von jeweiligen physischen Orten in dem ersten Kamerasichtfeld darstellen und die einen ersten Satz von jeweiligen Tiefenwerten für den ersten Satz von jeweiligen physischen Orten anzeigen, wobei der erste Satz von jeweiligen Tiefenwerten relativ zu der ersten Kamera ist, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist; Empfangen einer zweiten Tiefenkarte, wobei die zweite Tiefenkarte von dem nicht-flüchtigen computerlesbaren Medium des Kamerabildverarbeitungssystems oder über die Kommunikationsschnittstelle des Kamerabildverarbeitungssystems empfangen wird, wobei die Kommunikationsschnittstelle zur Kommunikation mit einer zweiten Kamera konfiguriert ist, die eine zweite Art von Tiefenerfassungskamera ist, die sich von der ersten Art der Tiefenerfassungskamera unterscheidet, und die ein zweites Kamerasichtfeld aufweist, das sich mit dem ersten Kamerasichtfeld überlagert, und wobei die zweite Tiefenkarte basierend auf Informationen erzeugt wird, die von der zweiten Kamera erfasst werden, mit der die Kommunikationsstelle zur Kommunikation konfiguriert ist, wobei die zweite Tiefenkarte einen zweiten Satz von Pixeln beinhaltet, die einen zweiten Satz von jeweiligen physischen Orten in dem zweiten Kamerasichtfeld darstellen und die einen zweiten Satz von jeweiligen Tiefenwerten für den zweiten Satz von jeweiligen physischen Orten anzeigen, wobei der zweite Satz von jeweiligen Tiefenwerten relativ zu der zweiten Kamera ist, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist; Identifizieren eines dritten Satzes von Pixeln der ersten Tiefenkarte, die auch den zweiten Satz von jeweiligen physischen Orten darstellen, sodass der dritte Satz von Pixeln dem zweiten Satz von Pixeln der zweiten Tiefenkarte entspricht; Identifizieren eines oder mehrerer leerer Pixel aus dem dritten Satz von Pixeln, wobei jedes leere Pixel des einen oder der mehreren leeren Pixel ein Pixel der ersten Tiefenkarte ist, das keinen dem Pixel zugeordneten Tiefenwert aufweist; Aktualisieren der ersten Tiefenkarte, indem jedem leeren Pixel des einen oder der mehreren leeren Pixel ein jeweiliger Tiefenwert zugeordnet wird, der auf einem Tiefenwert eines entsprechenden Pixels des zweiten Satzes von Pixeln der zweiten Tiefenkarte basiert, wobei der entsprechende Pixel für den leeren Pixel ein Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte ist, die einen gleichen physischen Ort wie der leere Pixel darstellt.
  14. Nicht-flüchtiges computerlesbares Medium nach Anspruch 13, wobei, wenn die erste Tiefenkarte eine erste Auflösung aufweist, die höher als eine zweite Auflösung der zweiten Tiefenkarte ist, die Anweisungen ferner die Steuerschaltung veranlassen zum: Identifizieren, für mindestens einen Pixel, der zu dem einen oder den mehreren leeren Pixeln gehörte oder gehört, eines jeweiligen Satzes von einem oder mehreren angrenzenden leeren Pixeln der ersten Tiefenkarte, die an den mindestens einen Pixel angrenzen und denen kein Tiefenwert zugeordnet ist; und Zuordnen eines Tiefenwerts zu dem jeweiligen Satz eines oder mehrerer angrenzender leerer Pixel, der dem mindestens einen Pixel zugeordnet wurde oder zuzuordnen ist.
  15. Verfahren zum Aktualisieren eines oder mehrerer Tiefenkarten, umfassend: Empfangen einer ersten Tiefenkarte durch eine Steuerschaltung eines Kamerabildverarbeitungssystems, wobei die erste Tiefenkarte von einem nicht-flüchtigen computerlesbaren Medium des Kamerabildverarbeitungssystems oder über eine Kommunikationsschnittstelle des Kamerabildverarbeitungssystems empfangen wird, wobei die Kommunikationsschnittstelle zur Kommunikation mit einer ersten Kamera konfiguriert ist, die eine erste Art von Tiefenerfassungskamera ist und ein erstes Kamerasichtfeld aufweist, und wobei die erste Tiefenkarte basierend auf Informationen erzeugt wird, die von der ersten Kamera erfasst werden, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist, wobei die erste Tiefenkarte einen ersten Satz von Pixeln beinhaltet, die einen ersten Satz von jeweiligen physischen Orten in dem ersten Kamerasichtfeld darstellen und die einen ersten Satz von jeweiligen Tiefenwerten für den ersten Satz von jeweiligen physischen Orten anzeigen, wobei der erste Satz von jeweiligen Tiefenwerten relativ zu der ersten Kamera ist, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist; Empfangen einer zweiten Tiefenkarte, wobei die zweite Tiefenkarte von dem nicht-flüchtigen computerlesbaren Medium des Kamerabildverarbeitungssystems oder über die Kommunikationsschnittstelle des Kamerabildverarbeitungssystems empfangen wird, wobei die Kommunikationsschnittstelle zur Kommunikation mit einer zweiten Kamera konfiguriert ist, die eine zweite Art von Tiefenerfassungskamera ist, die sich von der ersten Art der Tiefenerfassungskamera unterscheidet, und die ein zweites Kamerasichtfeld aufweist, das sich mit dem ersten Kamerasichtfeld überlagert, wobei die zweite Tiefenkarte basierend auf Informationen erzeugt wird, die von der zweiten Kamera erfasst werden, mit der die Kommunikationsstelle zur Kommunikation konfiguriert ist, wobei die zweite Tiefenkarte einen zweiten Satz von Pixeln beinhaltet, die einen zweiten Satz von jeweiligen physischen Orten in dem zweiten Kamerasichtfeld darstellen und die einen zweiten Satz von jeweiligen Tiefenwerten für den zweiten Satz von jeweiligen physischen Orten anzeigen, wobei der zweite Satz von jeweiligen Tiefenwerten relativ zu der zweiten Kamera ist, mit der die Kommunikationsschnittstelle zur Kommunikation konfiguriert ist; Identifizieren eines dritten Satzes von Pixeln der ersten Tiefenkarte, die auch den zweiten Satz von jeweiligen physischen Orten darstellen, sodass der dritte Satz von Pixeln dem zweiten Satz von Pixeln der zweiten Tiefenkarte entspricht; Identifizieren eines oder mehrerer leerer Pixel aus dem dritten Satz von Pixeln, wobei jedes leere Pixel des einen oder der mehreren leeren Pixel ein Pixel der ersten Tiefenkarte ist, das keinen dem Pixel zugeordneten Tiefenwert aufweist; und Aktualisieren der ersten Tiefenkarte, indem jedem leeren Pixel des einen oder der mehreren leeren Pixel ein jeweiliger Tiefenwert zugeordnet wird, der auf einem Tiefenwert eines entsprechenden Pixels des zweiten Satzes von Pixeln der zweiten Tiefenkarte basiert, wobei der entsprechende Pixel für den leeren Pixel ein Pixel des zweiten Satzes von Pixeln der zweiten Tiefenkarte ist, die einen gleichen physischen Ort wie der leere Pixel darstellt.
DE102020206759.7A 2019-06-11 2020-05-29 Verfahren und Verarbeitungssystem zur Aktualisierung eines ersten Bildes, das von einer ersten Kamera erzeugt wird, basierend auf einem zweiten Bild, das von einer zweiten Kamera erzeugt wird Pending DE102020206759A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/438,084 US10510155B1 (en) 2019-06-11 2019-06-11 Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera
US16/438,084 2019-06-11

Publications (1)

Publication Number Publication Date
DE102020206759A1 true DE102020206759A1 (de) 2020-12-17

Family

ID=68549938

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020206759.7A Pending DE102020206759A1 (de) 2019-06-11 2020-05-29 Verfahren und Verarbeitungssystem zur Aktualisierung eines ersten Bildes, das von einer ersten Kamera erzeugt wird, basierend auf einem zweiten Bild, das von einer zweiten Kamera erzeugt wird

Country Status (4)

Country Link
US (3) US10510155B1 (de)
JP (3) JP6656549B1 (de)
CN (3) CN116664651A (de)
DE (1) DE102020206759A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190055582A (ko) * 2017-11-15 2019-05-23 삼성전자주식회사 전자 장치의 이미지 촬영 방법 및 그 전자 장치
US10965929B1 (en) * 2019-01-04 2021-03-30 Rockwell Collins, Inc. Depth mapping and parallel distortion correction for mixed reality
US10510155B1 (en) * 2019-06-11 2019-12-17 Mujin, Inc. Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera
JP7424800B2 (ja) * 2019-11-06 2024-01-30 ファナック株式会社 制御装置、その制御方法、及び制御システム
WO2021118702A1 (en) 2019-12-12 2021-06-17 Mujin, Inc. Method and computing system for performing motion planning based on image information generated by a camera
CN113219900B (zh) * 2019-12-12 2022-03-29 牧今科技 基于相机生成的图像信息执行运动规划的方法和计算***
US11618167B2 (en) * 2019-12-24 2023-04-04 X Development Llc Pixelwise filterable depth maps for robots
US11826918B2 (en) 2020-02-06 2023-11-28 Berkshire Grey Operating Company, Inc. Systems and methods for camera calibration with a fiducial of unknown position on an articulated arm of a programmable motion device
US11006039B1 (en) 2020-02-13 2021-05-11 Mujin, Inc. Method and system for determining occlusion within a camera field of view
CN111582196B (zh) * 2020-02-13 2021-05-04 牧今科技 用于确定相机视场内的遮挡的方法和***
US11425324B2 (en) * 2020-06-22 2022-08-23 Samsung Electronics Co., Ltd. Time-of-flight down-up sampling using a compressed guide
CN113865481B (zh) * 2020-06-30 2024-05-07 北京小米移动软件有限公司 对象尺寸测量方法、装置及存储介质
WO2022087983A1 (zh) * 2020-10-29 2022-05-05 深圳市大疆创新科技有限公司 测距方法、测距装置与可移动平台
CN112330815B (zh) * 2020-11-26 2024-05-14 北京百度网讯科技有限公司 基于障碍物融合的三维点云数据处理方法、装置和设备
JPWO2022201804A1 (de) * 2021-03-25 2022-09-29
JP2024075525A (ja) * 2021-03-31 2024-06-04 ソニーグループ株式会社 情報処理装置、情報処理方法、及び較正用ターゲット
US11594016B1 (en) * 2022-05-03 2023-02-28 Plusai, Inc. Navigating a vehicle based on data processing using synthetically generated images
US11806882B1 (en) * 2022-06-14 2023-11-07 Plus One Robotics, Inc. Robotic picking system and method of use
CN115994937A (zh) * 2023-03-22 2023-04-21 科大讯飞股份有限公司 深度估计方法、装置及机器人

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3745117B2 (ja) * 1998-05-08 2006-02-15 キヤノン株式会社 画像処理装置及び画像処理方法
EP2255930A1 (de) * 2009-05-27 2010-12-01 Leica Geosystems AG Verfahren und System zum hochpräzisen Positionieren mindestens eines Objekts in eine Endlage im Raum
EP2269783A1 (de) * 2009-06-30 2011-01-05 Leica Geosystems AG Kalibrierungsverfahren für ein Messsystem
JP2011060216A (ja) * 2009-09-14 2011-03-24 Fujifilm Corp 画像処理装置および画像処理方法
US8643701B2 (en) * 2009-11-18 2014-02-04 University Of Illinois At Urbana-Champaign System for executing 3D propagation for depth image-based rendering
US9094660B2 (en) * 2010-11-11 2015-07-28 Georgia Tech Research Corporation Hierarchical hole-filling for depth-based view synthesis in FTV and 3D video
US10848731B2 (en) * 2012-02-24 2020-11-24 Matterport, Inc. Capturing and aligning panoramic image and depth data
US8933912B2 (en) * 2012-04-02 2015-01-13 Microsoft Corporation Touch sensitive user interface with three dimensional input sensor
US9571818B2 (en) * 2012-06-07 2017-02-14 Nvidia Corporation Techniques for generating robust stereo images from a pair of corresponding stereo images captured with and without the use of a flash device
US9237326B2 (en) * 2012-06-27 2016-01-12 Imec Taiwan Co. Imaging system and method
US20140098100A1 (en) * 2012-10-05 2014-04-10 Qualcomm Incorporated Multiview synthesis and processing systems and methods
JP6195076B2 (ja) * 2012-11-30 2017-09-13 パナソニックIpマネジメント株式会社 別視点画像生成装置および別視点画像生成方法
US10497140B2 (en) * 2013-08-15 2019-12-03 Intel Corporation Hybrid depth sensing pipeline
EP2887312A1 (de) * 2013-12-18 2015-06-24 Nokia Corporation Verfahren, Vorrichtung und Computerprogrammprodukt zur Tiefenschätzung von Stereobildern
CN104008569B (zh) * 2014-02-24 2016-03-02 惠州学院 一种基于深度视频的3d场景生成方法
TWI573433B (zh) * 2014-04-30 2017-03-01 聚晶半導體股份有限公司 優化深度資訊的方法與裝置
CN105096300B (zh) * 2014-05-08 2018-06-12 株式会社理光 对象检测方法和设备
JP2016028311A (ja) * 2014-07-10 2016-02-25 株式会社リコー ロボット、プログラム、及び記憶媒体
WO2016126297A2 (en) * 2014-12-24 2016-08-11 Irobot Corporation Mobile security robot
US10217189B2 (en) * 2015-09-16 2019-02-26 Google Llc General spherical capture methods
US9734405B2 (en) * 2015-10-05 2017-08-15 Pillar Vision, Inc. Systems and methods for monitoring objects in athletic playing spaces
US10341633B2 (en) * 2015-11-20 2019-07-02 Qualcomm Incorporated Systems and methods for correcting erroneous depth information
US9996933B2 (en) * 2015-12-22 2018-06-12 Qualcomm Incorporated Methods and apparatus for outlier detection and correction of structured light depth maps
US20170186223A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Detection of shadow regions in image depth data caused by multiple image sensors
CA3014049C (en) 2016-02-08 2021-06-22 Thomas Wagner Systems and methods for providing processing of a variety of objects employing motion planning
JP2017175483A (ja) * 2016-03-25 2017-09-28 日立オートモティブシステムズ株式会社 撮像装置
CN106780592B (zh) * 2016-06-30 2020-05-22 华南理工大学 基于相机运动和图像明暗的Kinect深度重建方法
US9972067B2 (en) * 2016-10-11 2018-05-15 The Boeing Company System and method for upsampling of sparse point cloud for 3D registration
CN106651925B (zh) * 2016-11-28 2019-08-30 深圳奥比中光科技有限公司 一种彩色深度图像的获取方法、获取设备
CN110392897A (zh) * 2017-01-04 2019-10-29 艾奎菲股份有限公司 用于基于形状的物品检索的***和方法
US10755428B2 (en) * 2017-04-17 2020-08-25 The United States Of America, As Represented By The Secretary Of The Navy Apparatuses and methods for machine vision system including creation of a point cloud model and/or three dimensional model
WO2018208791A1 (en) * 2017-05-08 2018-11-15 Aquifi, Inc. Systems and methods for inspection and defect detection using 3-d scanning
TWI625678B (zh) * 2017-06-21 2018-06-01 鴻海精密工業股份有限公司 電子設備及其手勢識別方法
EP3441788A1 (de) * 2017-08-08 2019-02-13 Koninklijke Philips N.V. Vorrichtung und verfahren zur erzeugung einer darstellung einer szene
US10523880B2 (en) * 2017-09-28 2019-12-31 Waymo Llc Synchronized spinning LIDAR and rolling shutter camera system
US10891778B2 (en) * 2018-01-10 2021-01-12 The Board Of Trustees Of The University Of Illinois Apparatus and method for producing three-dimensional models from magnetic resonance imaging
US10740964B2 (en) * 2018-03-13 2020-08-11 Recogni Inc. Three-dimensional environment modeling based on a multi-camera convolver system
US11412198B2 (en) * 2018-05-31 2022-08-09 Intel Corporation Bit depth coding mechanism
US11148295B2 (en) * 2018-06-17 2021-10-19 Robotics Materials, Inc. Systems, devices, components, and methods for a compact robotic gripper with palm-mounted sensing, grasping, and computing devices and components
US10867430B2 (en) * 2018-11-19 2020-12-15 Intel Corporation Method and system of 3D reconstruction with volume-based filtering for image processing
US10460208B1 (en) * 2019-01-02 2019-10-29 Cognata Ltd. System and method for generating large simulation data sets for testing an autonomous driver
US10510155B1 (en) * 2019-06-11 2019-12-17 Mujin, Inc. Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera

Also Published As

Publication number Publication date
US11688089B2 (en) 2023-06-27
CN110490922B (zh) 2023-06-16
US11080876B2 (en) 2021-08-03
JP6656549B1 (ja) 2020-03-04
CN116664651A (zh) 2023-08-29
JP2024040313A (ja) 2024-03-25
US10510155B1 (en) 2019-12-17
US20200394810A1 (en) 2020-12-17
CN110490922A (zh) 2019-11-22
CN111243001A (zh) 2020-06-05
JP2020201921A (ja) 2020-12-17
JP2020201930A (ja) 2020-12-17
US20210327082A1 (en) 2021-10-21
CN111243001B (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
DE102020206759A1 (de) Verfahren und Verarbeitungssystem zur Aktualisierung eines ersten Bildes, das von einer ersten Kamera erzeugt wird, basierend auf einem zweiten Bild, das von einer zweiten Kamera erzeugt wird
DE60202198T2 (de) Vorrichtung und verfahren zur erzeugung von dreidimensionalen positionsdaten aus einem erfassten zweidimensionalen bild
EP3819671B1 (de) Optoelektronischer sensor und verfahren zur erfassung von objekten
DE102018121018A1 (de) Erweitern von realen sensoraufnahmen mit simuliertem sensordatenhintergrund
DE112016004085T5 (de) Mit einem externen Projektor zum Messen von dreidimensionalen Koordinaten zusammenwirkende luftgetragene Vorrichtung
DE102017107903A1 (de) 3D-Lichtlaufzeitkamera und Verfahren zur Erfassung dreidimensionaler Bilddaten
DE102019115874A1 (de) Systeme und verfahren zur verbesserten entfernungsschätzung durch eine monokamera unter verwendung von radar- und bewegungsdaten
DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
EP1637838A2 (de) Verarbeitung von Fernerkundungsdaten
DE112017008101T5 (de) Autonome roboter und verfahren zum betreiben derselben
DE102009055626A1 (de) Optische Messeinrichtung und Verfahren zur optischen Vermessung eines Messobjekts
DE102017218281A1 (de) Zweidimensionales kartierungssystem und betriebsverfahren
DE102019215903A1 (de) Verfahren und Vorrichtung zum Erzeugen von Trainingsdaten für ein Erkennungsmodell zum Erkennen von Objekten in Sensordaten eines Sensors insbesondere eines Fahrzeugs, Verfahren zum Trainieren und Verfahren zum Ansteuern
DE102021124430B3 (de) Visualisieren von Lidar-Messdaten
DE102020100230A1 (de) Rekonstruktion von landmarkenpositionen in autonomen maschinenanwendungen
DE102019134324A1 (de) Ein Verfahren zum Messen der Topografie einer Umgebung
DE4113992A1 (de) Verfahren zur automatischen dreidimensionalen ueberwachung von gefahrenraeumen
DE102021125592A1 (de) Verkehrskamerakalibrierung
DE102020110809B3 (de) Verfahren und Vorrichtung zum Erkennen von Blooming in einer Lidarmessung
DE102018116371B4 (de) 3D-Sensor und Verfahren zum Überwachen eines Überwachungsbereichs
DE102022115267A1 (de) Verfahren zur Ermittlung wenigstens einer Korrekturfunktionen für ein LiDARSystem, LiDAR-System, Fahrzeug mit wenigstens einem LiDAR-System, Messanlage
EP3663800B1 (de) Verfahren zur objekterfassung mit einer 3d-kamera
DE102018131495B4 (de) Verfahren zum Bereitstellen eines 3-dimensionalen Datenfeldes eines Abstandsensors aus einer Perspektive eines optischen Sensors und Fahrunterstützungssystem zur Durchführung des Verfahrens
DE102014110995A1 (de) Registrierung einer in Cluster zerfallenden Szene mit Scan-Anforderung
DE102018218475A1 (de) Trackingsystem und optisches Messsystem zur Bestimmung mindestens einer räumlichen Position und Orientierung mindestens eines Messobjekts

Legal Events

Date Code Title Description
R012 Request for examination validly filed