DE102020106965A1 - Verfahren und system zum durchführen einer automatischen kamerakalibrierung für ein abtastsystem - Google Patents

Verfahren und system zum durchführen einer automatischen kamerakalibrierung für ein abtastsystem Download PDF

Info

Publication number
DE102020106965A1
DE102020106965A1 DE102020106965.0A DE102020106965A DE102020106965A1 DE 102020106965 A1 DE102020106965 A1 DE 102020106965A1 DE 102020106965 A DE102020106965 A DE 102020106965A DE 102020106965 A1 DE102020106965 A1 DE 102020106965A1
Authority
DE
Germany
Prior art keywords
calibration
camera
polyhedron
light source
platform
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
DE102020106965.0A
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 DE102020106965A1 publication Critical patent/DE102020106965A1/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/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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/246Calibration of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • 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/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Studio Devices (AREA)

Abstract

Ein System und ein Verfahren zum Durchführen einer automatischen Kamerakalibrierung werden dargestellt. Das System kommuniziert mit einer ersten Kamera und einer zweiten Kamera, wobei eine transparente Plattform zwischen den zwei Kameras angeordnet ist. Wenn ein 3D-Kalibriermuster auf der Plattform angeordnet ist, empfängt das System einen ersten Satz von Kalibrierbildern von der ersten Kamera und einen zweiten Satz von Kalibrierbildern von der zweiten Kamera. Das System bestimmt auf der Basis des ersten Satzes von Kalibrierbildern einen ersten Satz von Koordinaten für Ecken des Polyeders. Das System bestimmt ferner auf der Basis des zweiten Satzes von Kalibrierbildern einen zweiten Satz von Koordinaten für die Ecken. Das System bestimmt auf der Basis der Koordinaten eine räumliche Beziehung zwischen der ersten Kamera und der zweiten Kamera. Das System verwendet ferner eine Beschreibung der räumlichen Beziehung, um ein 3D-Modell eines anderen Objekts als des 3D-Kalibriermusters zu erzeugen.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung ist auf ein Verfahren und ein System zum Durchführen einer automatischen Kamerakalibrierung für ein Abtastsystem gerichtet.
  • HINTERGRUND
  • Die Objektabtastung wurde verwendet, um Merkmale eines Objekts wie z. B. seine Form zu bestimmen. Einige Implementierungen der Objektabtastung beruhen auf Bildern des Objekts, die durch eine Kamera erfasst werden. Ergebnisse der Objektabtastung wurden in einigen Fällen verwendet, um ein dreidimensionales (3D) Modell des Objekts zu erzeugen. Das 3D-Modell kann in einem Automatisierungszusammenhang verwendet werden, wie z. B. einem Zusammenhang, in dem ein Roboter mit dem Objekt zusammenwirkt.
  • ZUSAMMENFASSUNG
  • Ein Aspekt der Ausführungsformen hierin bezieht sich auf ein Verfahren, ein Computersystem und ein nicht flüchtiges computerlesbares Medium mit Anweisungen zum Durchführen einer automatischen Kamerakalibrierung. Das Computersystem umfasst eine Kommunikationsschnittstelle und eine Steuerschaltung. Die Kommunikationsschnittstelle ist dazu eingerichtet, zu kommunizieren mit: (i) einer ersten Kamera, (ii) einer zweiten Kamera und (iii) einem Aktuator zum Drehen einer Plattform, die transparent ist und die zwischen der ersten Kamera und der zweiten Kamera angeordnet ist, wobei die erste Kamera zu einer ersten Oberfläche der Plattform hin gerichtet ist und die zweite Kamera zu einer zweiten und entgegengesetzten Oberfläche der Plattform hin gerichtet ist. Die Steuerschaltung ist dazu eingerichtet, eine Kamerakalibrierung durchzuführen, wenn ein dreidimensionales (3D) Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist. Das 3D-Kalibriermuster umfasst ein Polyeder mit einer Vielzahl von Flächen, die einen ersten Satz von Flächen und eine zusätzliche Fläche, die kein Teil des ersten Satzes von Flächen ist, umfassen, und umfasst einen ersten Satz von 2D-Kalibriermustern, die auf jeweiligen Flächen des ersten Satzes von Flächen angeordnet sind. Die Kamerakalibrierung wird durchgeführt durch: Empfangen eines ersten Satzes von Kalibrierbildern über die Kommunikationsschnittstelle von der ersten Kamera, wobei der erste Satz von Kalibrierbildern den ersten Satz von Flächen des Polyeders erfasst und den ersten Satz von 2D-Kalibriermustern erfasst, die jeweils auf dem ersten Satz von Flächen angeordnet sind, ohne die zusätzliche Fläche des Polyeders zu erfassen; und durch Empfangen eines zweiten Satzes von einem oder mehreren Kalibrierbildern über die Kommunikationsschnittstelle von der zweiten Kamera, wobei der zweite Satz von einem oder mehreren Kalibrierbildern die zusätzliche Fläche des Polyeders erfasst. Die Kamerakalibrierung wird ferner durchgeführt durch Bestimmen eines ersten Satzes von Koordinaten zum Darstellen eines Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern, wobei der erste Satz von Koordinaten auf einen Ort und eine Orientierung der ersten Kamera bezogen ist; und durch Bestimmen eines zweiten Satzes von Koordinaten zum Darstellen des Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des zweiten Satzes von einem oder mehreren Kalibrierbildern, wobei der zweite Satz von Koordinaten auf einen Ort und eine Orientierung der zweiten Kamera bezogen ist. Die Kamerakalibrierung wird ferner durchgeführt durch Bestimmen einer Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der ersten Kamera und der zweiten Kamera auf der Basis des ersten Satzes von Koordinaten und des zweiten Satzes von Koordinaten. Die Steuerschaltung ist ferner dazu eingerichtet, nachdem die Kamerakalibrierung durchgeführt wurde und wenn ein anderes Objekt als das 3D-Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, ein 3D-Modell zum Darstellen des Objekts zu erzeugen, wobei das 3D-Modell auf der Basis der Transformationsfunktion, auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der ersten Kamera empfangen werden, und auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der zweiten Kamera empfangen werden, erzeugt wird.
  • Figurenliste
  • Die vorangehenden und andere Merkmale, Aufgaben und Vorteile der Erfindung sind aus der folgenden Beschreibung von Ausführungsformen hiervon ersichtlich, wie in den zugehörigen Zeichnungen dargestellt. Die zugehörigen Zeichnungen, die hier eingegliedert sind und einen Teil der Patentbeschreibung bilden, dienen weiter der Erläuterung der Prinzipien der Erfindung, und dazu, einem Fachmann auf dem einschlägigen Gebiet zu ermöglichen, die Erfindung herzustellen und zu verwenden. Die Zeichnungen sind nicht maßstäblich.
    • 1A stellt ein Blockdiagramm eines Abtastsystems in Kommunikation mit einem Roboterbetriebssystem gemäß einer Ausführungsform hierin dar.
    • 1B stellt Blockdiagramme von Komponenten eines Abtastsystems gemäß einer Ausführungsform hierin dar.
    • 1C stellt ein Blockdiagramm eines Computersystems, das dazu eingerichtet ist, eine Kamerakalibrierung durchzuführen, gemäß einer Ausführungsform hierin dar.
    • 1D and 1E stellen Blockdiagramme eines Abtastsystems gemäß einer Ausführungsform hierin dar.
    • 2 stellt ein Ablaufdiagramm, das ein Verfahren zum Bestimmen einer räumlichen Beziehung zwischen einer ersten Kamera und einer zweiten Kamera darstellt, gemäß einer Ausführungsform hierin dar.
    • 3A stellt Beispielkomponenten eines Abtastsystems gemäß einer Ausführungsform hierin dar.
    • 3B und 3C stellen Flächen eines Polyeders eines 3D-Kalibriermusters gemäß einer Ausführungsform hierin dar.
    • 3D-3F stellen 2D-Kalibriermuster, die ein Teil eines 3D-Kalibriermusters sind, gemäß einer Ausführungsform hierin dar.
    • 3G und 3H stellen verschiedene Koordinatensysteme in einem Abtastsystem gemäß einer Ausführungsform hierin dar.
    • 4A-4C stellen Beispiele von verschiedenen Kalibrierbildern, die durch eine erste Kamera erzeugt werden, gemäß einer Ausführungsform hierin dar.
    • 5A-5D stellen Beispiele von verschiedenen Kalibrierbildern, die durch eine zweite Kamera erzeugt werden, gemäß einer Ausführungsform hierin dar.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung ist dem Wesen nach lediglich beispielhaft und soll die Erfindung oder die Anwendung und Verwendungen der Erfindung nicht begrenzen. Ferner besteht keine Absicht, an irgendeine ausdrückliche oder implizite Theorie gebunden zu sein, die im vorangehenden technischen Gebiet, Hintergrund, in der kurzen Zusammenfassung oder in der folgenden ausführlichen Beschreibung dargestellt ist.
  • Hierin beschriebene Ausführungsformen beziehen sich auf das Bestimmen einer räumlichen Beziehung zwischen einer ersten Kamera und einer zweiten Kamera als Teil einer Kalibrierungsoperation für ein Abtastsystem. In einer Ausführungsform kann das Abtastsystem mehrere Kameras umfassen, die Bilder eines Objekts aus verschiedenen Perspektiven erfassen können. Die Bilder können verwendet werden, um ein 3D-Modell des Objekts zu erzeugen. In einigen Fällen kann das 3D-Modell verwendet werden, um die Zusammenwirkung zwischen einem Roboter und dem Objekt oder einer Klasse von Objekten, zu der das Objekt gehört, zu erleichtern. Das Objekt kann beispielsweise ein Paket in einem Warenlager sein und das 3D-Modell des Objekts kann durch ein Robotersteuersystem verwendet werden, um zu bestimmen, wie ein Roboterarm das Paket aufgreifen kann. In einer Ausführungsform können die erste Kamera und die zweite Kamera des Abtastsystems jeweilige Regionen des Objekts betrachten, die im Allgemeinen nicht überlappen. Das Abtastsystem kann beispielsweise eine transparente Plattform beinhalten, auf der das Objekt platziert ist. Die erste Kamera kann z. B. über einer oberen Oberfläche der transparenten Plattform angeordnet sein und kann in eine Richtung gerichtet sein, die die erste Kamera mit einer perspektivischen Ansicht des Objekts versieht. In diesem Beispiel kann die zweite Kamera z. B. unter einer unteren Oberfläche der transparenten Plattform angeordnet sein und kann in eine Richtung gerichtet sein, die die zweite Kamera mit einer Unteransicht des Objekts versieht. Im obigen Beispiel kann die erste Kamera als obere Kamera bezeichnet werden und die zweite Kamera kann als untere Kamera bezeichnet werden. Ein Aspekt der Ausführungsformen hierin bezieht sich auf eine Kalibrierungsoperation, die eine räumliche Beziehung zwischen einer solchen ersten Kamera und einer solchen zweiten Kamera bestimmt. Die räumliche Beziehung kann später verwendet werden, um z. B. zu bestimmen, wie ein durch die erste Kamera erfasstes Bild mit einem durch die zweite Kamera erfassten Bild kombiniert werden soll.
  • In einer Ausführungsform kann die Kalibrierungsoperation mit einem 3D-Kalibriermuster durchgeführt werden, das auf der transparenten Plattform angeordnet ist. Das 3D-Kalibriermuster kann z. B. ein Polyeder und eine Vielzahl von 2D-Kalibriermustern, die auf jeweiligen Flächen des Polyeders angeordnet sind, umfassen. In einigen Fällen kann die Kalibrierungsoperation das Bestimmen eines ersten Satzes von Koordinaten von jeweiligen Orten auf dem 3D-Kalibriermuster (auch als erster Satz von Koordinaten zum Darstellen der jeweiligen Orte auf dem 3D-Kalibriermuster bezeichnet) beinhalten, wobei der erste Satz von Koordinaten auf einen Ort und eine Orientierung der ersten Kamera bezogen ist. Die Kalibrierungsoperation kann ferner das Bestimmen eines zweiten Satzes von Koordinaten für dieselben jeweiligen Orte (auch als zweiter Satz von Koordinaten zum Darstellen derselben jeweiligen Orte bezeichnet) beinhalten, wobei der zweite Satz von Koordinaten auf einen Ort und eine Orientierung der zweiten Kamera bezogen ist. Die jeweiligen Orte können beispielsweise Orte von unteren Ecken des Polyeders des 3D-Kalibriermusters sein. Die räumliche Beziehung zwischen der ersten Kamera und der zweiten Kamera kann auf der Basis des ersten Satzes von Koordinaten für die unteren Ecken und des zweiten Satzes von Koordinaten für dieselben unteren Ecken bestimmt werden. In einigen Fällen können der Ort und die Orientierung der ersten Kamera durch ein Koordinatensystem der ersten Kamera dargestellt werden und der Ort und die Orientierung der zweiten Kamera können durch ein Koordinatensystem der zweiten Kamera dargestellt werden. In solchen Fällen kann sich der erste Satz von Koordinaten im Koordinatensystem der ersten Kamera befinden und der zweite Satz von Koordinaten kann sich im Koordinatensystem der zweiten Kamera befinden.
  • In einer Ausführungsform kann die Kalibrierungsoperation das Bestimmen des ersten Satzes von Koordinaten für die Orte (z. B. untere Ecken) am 3D-Kalibriermuster durch Bestimmen von Koordinaten für andere Orte (z. B. obere Ecken) des 3D-Kalibriermusters und Verwenden von bekannten Informationen über eine Abmessung oder Abmessungen des 3D-Kalibriermusters beinhalten, um dann den ersten Satz von Koordinaten zu bestimmen. Wenn beispielsweise der erste Satz von Koordinaten zu den unteren Ecken des Polyeders des 3D-Kalibriermusters gehört, kann eine solche Ausführungsform das anfängliche Bestimmen eines Satzes von Koordinaten von oberen Ecken des Polyeders und dann das Bestimmen des ersten Satzes von Koordinaten der unteren Ecken des Polyeders als Koordinaten, die von den oberen Ecken des Polyeders durch die bekannte Abmessung des Polyeders, wie z. B. eine bekannte Größe jeder Kante des Polyeders, getrennt sind, beinhalten.
  • In einer Ausführungsform kann die Kalibrierungsoperation das Bestimmen eines 3D-Modells des 3D-Kalibriermusters beinhalten. In einigen Fällen kann das 3D-Modell Informationen umfassen, die imaginäre Ebenen beschreiben, die durch die Flächen des Polyeders des 3D-Kalibriermusters definiert sind oder die allgemeiner diese darstellen. Das heißt, die imaginären Ebenen können zumindest einen Teil eines 3D-Modells des Polyeders bilden. In einer solchen Ausführungsform kann die Kalibrierungsoperation eine Koordinate einer speziellen Ecke (z. B. einer Ecke einer oberen Fläche) des Polyeders auf der Basis des 3D-Modells des Polyeders bilden. Die Koordinate dieser Ecke kann beispielsweise als Schnitt von mindestens drei imaginären Ebenen des Polyeders bestimmt sein.
  • In einer Ausführungsform kann das Erzeugen von Bildern des 3D-Kalibriermusters (die als Kalibrierbilder bezeichnet werden können) mit der zweiten Kamera das Erzeugen von Paaren von Kalibrierbildern beinhalten, wobei jedes Paar ein erstes Kalibrierbild, das eine Silhouette einer speziellen Fläche (z. B. unteren Fläche) des Polyeders erfasst, und ein zweites Kalibrierbild, das ein 2D-Kalibriermuster erfasst, das auf dieser Fläche angeordnet ist, umfasst. In einer solchen Ausführungsform kann die zweite Kamera das 3D-Kalibriermuster durch ein transparentes Material wie z. B. Glas betrachten. Das Glas kann eine Quelle eines Abbildungsfehlers einführen, wie z. B. durch Einführen eines Effekts von Lichtbrechung oder Lichtstreuung in ein Kalibrierbild. Der Abbildungsfehler kann ein Niveau an Schwierigkeit der genauen Identifikation einer Ecke einer Fläche des Polyeders oder irgendeines anderen Merkmals des 3D-Kalibriermusters von dem Kalibrierbild erhöhen. Die Verwendung sowohl des ersten Kalibrierbildes als auch des zweiten Kalibrierbildes, um die Ecke zu identifizieren, kann jedoch einen Effekt des Abbildungsfehlers kompensieren und kann folglich eine Robustheit erhöhen, mit der die Ecke oder ein anderes Merkmal des 3D-Kalibriermusters von einem Kalibrierbild identifiziert werden kann, und eine Gesamtrobustheit der Kalibrierungsoperation erhöhen.
  • In einer Ausführungsform kann das erste Kalibrierbild, das die Silhouette einer speziellen Fläche des Polyeders des 3D-Kalibriermusters erfasst, unter einer ersten Beleuchtungsbedingung erzeugt werden. Die erste Beleuchtungsbedingung kann durch Aktivieren einer ersten Lichtquelle (z. B. oberen Lichtquelle), die sich hinter dieser Fläche des Polyeders von einem Blickpunkt der zweiten Kamera befindet, und Deaktivieren einer zweiten Lichtquelle (z. B. unteren Lichtquelle), die auf diese Fläche des Polyeders gerichtet ist, hervorgebracht werden. Die zweite Kamera kann dann das erste Kalibrierbild erfassen, nachdem die erste Beleuchtungsbedingung hervorgebracht wurde. In einer Ausführungsform kann das zweite Kalibrierbild, das ein 2D-Kalibriermuster erfasst, das auf dieser Fläche des Polyeders angeordnet ist, unter einer zweiten Beleuchtungsbedingung erzeugt werden. Die zweite Beleuchtungsbedingung kann durch Deaktivieren der ersten Lichtquelle und Aktivieren der zweiten Lichtquelle hervorgebracht werden. Die zweite Kamera kann dann das zweite Kalibrierbild erfassen, nachdem die zweite Beleuchtungsbedingung hervorgebracht wurde.
  • Wie vorstehend angegeben, kann die Kalibrierungsoperation eine Fähigkeit eines Abtastsystems erleichtern, Bilder und/oder ein 3D-Modell eines Objekts zu erzeugen, und das 3D-Modell kann eine Fähigkeit eines Roboters, mit dem Objekt zusammenzuwirken, erleichtern. 1A stellt ein Blockdiagramm eines Abtastsystems 100 dar, das dazu eingerichtet ist, mit einem Roboterbetriebssystem 101 zu kommunizieren. Das Abtastsystem 100 (auch als Registrierungssystem 100 oder Produktregistrierungssystem 100 bezeichnet) kann verwendet werden, um ein Objekt abzutasten und insbesondere um Bilder eines Objekts zu erfassen, wobei die Bilder verwendet werden können, um ein 3D-Modell (z. B. eine Punktwolke) des Objekts zu erzeugen. Die Bilder des Objekts können verwendet werden, um eine Fähigkeit des Roboterbetriebssystems 101 zu erleichtern, mit dem Objekt oder mit anderen Objekten mit im Wesentlichen derselben Form und/oder Größe wie das Objekt zusammenzuwirken. In einer Ausführungsform kann das Abtastsystem 100 dazu eingerichtet sein, das 3D-Modell des Objekts auf der Basis der durch das Abtastsystem 100 erfassten Bilder zu erzeugen, und kann dazu eingerichtet sein, das 3D-Modell des Objekts an das Roboterbetriebssystem 101 zu übermitteln. In einer Ausführungsform kann das Abtastsystem 100 dazu eingerichtet sein, die erfassten Bilder des Objekts an das Roboterbetriebssystem 101 zu übermitteln, und das Roboterbetriebssystem 101 kann ein 3D-Modell des Objekts auf der Basis der erfassten Bilder erzeugen.
  • In einer Ausführungsform können das Abtastsystem 100 und/oder das Roboterbetriebssystem 101 innerhalb eines Warenlagers, einer Fertigungsanlage oder anderen Räumlichkeiten angewendet werden. In einer solchen Ausführungsform kann das abgetastete Objekt z. B. ein Produkt in einem Warenlager (z. B. ein Handelsgut), ein bei der Fertigung eines Endprodukts in der Fertigungsanlage verwendetes Teil oder irgendein anderes Objekt sein. Das Abtastsystem 100 kann das Objekt abtasten, um eine Eigenschaft des Objekts, ein 3D-Modell des Objekts (z. B. Informationen, die eine Form und Größe des Objekts beschreiben) oder irgendwelche anderen Informationen hinsichtlich des Objekts zu bestimmen. Das 3D-Modell oder andere Informationen hinsichtlich des Objekts können durch das Roboterbetriebssystem 101 verwendet werden, um mit dem Objekt zusammenzuwirken. Das Roboterbetriebssystem 101 kann beispielsweise einen Roboter mit einem Roboterarm umfassen und die Zusammenwirkung kann beinhalten, dass der Roboterarm das Objekt aufgreift, wie z. B. in einem Behältergreifvorgang zum Aufgreifen von Paketen in einem Warenlager. Ein Beispiel des Roboterbetriebssystems 101 ist in der US-Patentanmeldung Nr. 16/295,940 mit dem Titel „Method and System for Performing Automatic Camera Calibration for Robot Control,“ genauer beschrieben, deren gesamter Inhalt durch Verweis in seiner Gesamtheit hierin aufgenommen wird. In einer Ausführungsform kann das Roboterbetriebssystem 101 ein Robotersteuersystem (auch als Roboter-Controller bezeichnet) zum Steuern des Roboters umfassen. In einigen Fällen kann das Abtastsystem 100 dazu eingerichtet sein, ein 3D-Modell eines Objekts, erfasste Bilder des Objekts oder andere Informationen an das Robotersteuersystem zu übermitteln. In einer Ausführungsform kann das Roboterbetriebssystem 101 ein Bildverarbeitungssystem umfassen, das eine oder mehrere Kameras umfasst. Ein Beispiel des Bildverarbeitungssystems ist in der US-Patentanmeldung Nr. 16/438,084 (MJ0020- US/0077-0005 US1) mit dem Titel „Method and Control System for Updating a First Image Generated by a First Camera Based on a Second Image Generated by a Second Camera,“ genauer beschrieben, deren gesamter Inhalt durch Verweis in seiner Gesamtheit hierin aufgenommen wird. In einigen Fällen kann das Abtastsystem 100 dazu eingerichtet sein, das 3D-Modell, erfasste Bilder des Objekts oder andere Informationen an das Bildverarbeitungssystem zu übermitteln.
  • 1B stellt Blockdiagramme einer Ausführungsform des Abtastsystems 100 dar. In der in 1B dargestellten Ausführungsform umfasst das Abtastsystem 100 ein Computersystem 110 (auch als Abtaststeuersystem oder Abtast-Controller bezeichnet), einen Aktuator 140, eine Plattform 150, eine erste Kamera 170 (als „Kamera 1“ benannt) und eine zweite Kamera 180 (als „Kamera 2“ benannt). In einigen Fällen kann das Abtastsystem 100 ferner eine oder mehrere Lichtquellen wie z. B. eine erste Lichtquelle 120 (als „Lichtquelle 1“ benannt) und eine zweite Lichtquelle 130 (als „Lichtquelle 2“ benannt), die in 1B dargestellt sind, umfassen. In einer Ausführungsform kann das Abtastsystem 100 ein umschlossenes Gehäuse wie z. B. einen Kasten umfassen, das einen umschlossenen Raum bereitstellt, in dem einige oder alle Komponenten des Abtastsystems 100 angeordnet sind.
  • In einer Ausführungsform kann die Plattform 150 eine Oberfläche bereitstellen, auf der ein abzutastendes Objekt platziert werden kann. In einigen Fällen kann die Plattform 150 einer Bewegung unterzogen werden, um das Objekt mit der Bewegung der Plattform 150 zu bewegen. Die Plattform 150 kann beispielsweise eine kreisförmige Glasplatte sein, die um ein Zentrum der Platte durch den Aktuator 140 (z. B. einen Motor) drehbar ist. Die Drehung der Plattform 150 kann ermöglichen, dass verschiedene Abschnitte des Objekts in ein Sichtfeld z. B. der ersten Kamera 170 gebracht werden. In einer Ausführungsform kann die Oberfläche, auf der das Objekt platziert werden kann, eine erste Oberfläche der Plattform (z. B. eine obere Oberfläche) sein, während die Plattform ferner eine zweite und entgegengesetzte Oberfläche (z. B. eine untere Oberfläche) aufweisen kann.
  • In einer Ausführungsform kann die Plattform 150 zwischen der ersten Kamera 170 und der zweiten Kamera 180 angeordnet sein. 1B stellt beispielsweise eine erste Oberfläche 152 (z. B. obere Oberfläche) der Plattform 150 und eine zweite Oberfläche 154 (z. B. untere Oberfläche) der Plattform 150 dar, wobei die erste Oberfläche 152 und die zweite Oberfläche 154 entgegengesetzte Oberflächen der Plattform 150 sind. In diesem Beispiel kann die erste Kamera 170 benachbart zur ersten Oberfläche 152 der Plattform 150 angeordnet sein, wobei die erste Oberfläche 152 zwischen der ersten Kamera 170 und der zweiten Oberfläche 154 der Plattform 150 angeordnet ist. Die erste Kamera 170 kann beispielsweise oberhalb der ersten Oberfläche 152 angeordnet sein (auch als über dieser angeordnet bezeichnet). Ferner kann die erste Kamera 170 zur ersten Oberfläche 152 der Plattform 150 (z. B. einer oberen Oberfläche der Plattform 150) hin gerichtet sein. In diesem Beispiel kann die zweite Kamera 180 ferner benachbart zur zweiten Oberfläche 154 der Plattform 150 angeordnet sein, wobei die zweite Oberfläche 154 zwischen der zweiten Kamera 180 und der ersten Oberfläche 152 der Plattform angeordnet ist. Die zweite Kamera 180 kann beispielsweise unterhalb der zweiten Oberfläche 154 angeordnet sein (auch als unter dieser angeordnet bezeichnet). Außerdem kann die zweite Kamera 180 zur zweiten Oberfläche 154 der Plattform 150 (z. B. einer unteren Oberfläche der Plattform 150) hin gerichtet sein. In einigen Fällen können die erste Oberfläche 152 und die zweite Oberfläche 154 beide eine flache Oberfläche sein und können zueinander parallel sein.
  • In einer Ausführungsform kann die Plattform 150 eine transparente Plattform wie z. B. eine Glasplatte sein. Wenn ein Objekt auf der transparenten Plattform platziert ist, können verschiedene Regionen am Objekt für mindestens eine der ersten Kamera 170 oder der zweiten Kamera 180 sichtbar sein. Eine erste Region (z. B. obere Region) am Objekt kann beispielsweise für die zweite Kamera 180 nicht sichtbar sein, kann jedoch für die erste Kamera 170 sichtbar sein. Ebenso kann eine zweite Region (z. B. untere Region) des Objekts für die erste Kamera 170 nicht sichtbar sein, kann jedoch für die zweite Kamera 180 sichtbar sein. Wenn die Sicht auf einige Regionen relativ z. B. zur ersten Kamera 170 anfänglich versperrt ist, kann ferner die Bewegung der Plattform 150 anschließend ermöglichen, dass diese Regionen in die Sicht gebracht werden, wie vorstehend erörtert.
  • In einer Ausführungsform können die erste Kamera 170 und/oder zweite Kamera 180 eine Farbkamera, eine Schwarz-Weiß-Kamera, eine Tiefenerfassungskamera, eine Videokamera, irgendeine Kombination davon oder irgendein anderer Typ von Kamera sein. In einer Ausführungsform kann die erste Kamera 170 relativ zur Plattform 150 außermittig angeordnet sein. In einer solchen Ausführungsform ist die erste Kamera 170 nicht direkt über einem Zentrum der Plattform 150 angeordnet. Das Zentrum der Plattform 150 kann sich z. B. auf ein Zentrum der ersten Oberfläche 152 der Plattform 150, ein Zentrum der zweiten Oberfläche 154 der Plattform 150 oder einen Durchschnitt dieser zwei Orte beziehen. Als spezielleres Beispiel kann die erste Kamera 170 außermittig sein, indem sie eine Mittelachse 156 der Plattform 150 von 1B nicht schneidet, wobei die Mittelachse 156 eine Achse sein kann, die zur ersten Oberfläche 152 oder zur zweiten Oberfläche 154 der Plattform 150 senkrecht ist und die sich durch das Zentrum der Plattform 150 erstreckt. In einigen Fällen kann die erste Kamera 170 eine Orientierung aufweisen, in der die erste Kamera 170 relativ zur ersten Oberfläche 152 der Plattform 150 geneigt ist und in einer Richtung zur ersten Oberfläche 152 der Plattform 150 hin gerichtet ist. Eine solche Orientierung kann ermöglichen, dass die erste Kamera 170 eine perspektivische Ansicht eines Objekts, das auf der ersten Oberfläche 152 der Plattform 150 angeordnet ist, im Gegensatz zu nur z. B. einer Draufsicht des Objekts hat. Wenn beispielsweise ein Objekt auf der ersten Oberfläche 152 der Plattform 150 platziert ist, kann die Neigung der ersten Kamera 170 ermöglichen, dass mehrere Regionen, wie z. B. eine obere Region und eine Seitenregion, gleichzeitig für die erste Kamera 170 sichtbar sind. Als spezielleres Beispiel kann die erste Kamera 170 relativ zur ersten Oberfläche 152 der Plattform 150 geneigt sein, indem sie eine Orientierung aufweist, in der eine optische Achse der ersten Kamera 170 zur Mittelachse 156 der Plattform 150 nicht parallel (oder allgemeiner nicht darauf ausgerichtet) ist.
  • In einer Ausführungsform kann die zweite Kamera 180 relativ zur Plattform 150 zentriert sein. Die zweite Kamera 180 kann beispielsweise die Mittelachse 156 der Plattform 150 schneiden. Als spezielleres Beispiel kann die zweite Kamera 180 relativ zur Plattform 150 zentriert sein, wenn eine Linse oder ein Bildsensor der zweiten Kamera 180 die Mittelachse 156 schneidet. In einer anderen Ausführungsform kann die zweite Kamera 180 relativ zur Plattform 150 außermittig sein. In einer Ausführungsform kann die zweite Kamera 180 keine Neigung relativ zur zweiten Oberfläche 154 der Plattform 150 aufweisen, so dass die zweite Kamera 180 eine Orientierung aufweist, in der eine optische Achse der zweiten Kamera 180 zur Mittelachse 156 parallel ist oder in der die optische Achse der zweiten Kamera 180 zu einer imaginären Ebene senkrecht ist, die durch die zweite Oberfläche 154 definiert oder gebildet ist. In einer solchen Ausführungsform kann, wenn ein Objekt auf der ersten Oberfläche der Plattform 150 platziert ist, die Orientierung der zweiten Kamera 180 bewirken, dass die zweite Kamera 180 das Objekt frontal durch ein transparentes Material der Plattform 150 betrachtet. Wenn beispielsweise die zweite Oberfläche 154 der Plattform 150 eine untere Oberfläche ist, kann die zweite Kamera 180 z. B. nur eine Unteransicht des Objekts durch das Glas oder ein anderes Material der Plattform 150 haben. Die fehlende Neigung der zweiten Kamera 180 kann ein Ausmaß an Lichtbrechung, Lichtstreuung oder anderen Quellen einer Verzerrung minimieren, die durch Licht entstehen, das durch das transparente Material der Plattform 150 hindurchtritt. Ein solches Ergebnis kann ein Ausmaß eines Abbildungsfehlers in einem durch die zweite Kamera 180 erfassten Bild verringern.
  • In einer Ausführungsform kann die erste Lichtquelle 120 benachbart zur ersten Oberfläche 152 der Plattform 150 angeordnet (z. B. über dieser angeordnet) sein, wobei die erste Oberfläche 152 zwischen der ersten Lichtquelle 120 und der Oberfläche 154 der Plattform 150 angeordnet ist. Die erste Lichtquelle 120 kann zur ersten Oberfläche 152 der Plattform 150 hin gerichtet sein. Ferner kann die zweite Lichtquelle 130 benachbart zur zweiten Oberfläche 154 der Plattform 150 angeordnet (z. B. unter dieser angeordnet) sein, wobei die zweite Oberfläche 154 zwischen der zweiten Lichtquelle 130 und der ersten Oberfläche 152 der Plattform 150 angeordnet ist. Die zweite Lichtquelle 130 kann zur zweiten Oberfläche 154 der Plattform 150 hin gerichtet sein. Jede der ersten Lichtquelle 120 und der zweiten Lichtquelle 130 kann z. B. eine Leuchtdiode (LED), eine Halogenlampe oder irgendeine andere Lichtquelle sein. Ferner können die erste Lichtquelle 120 und die zweite Lichtquelle 130 dazu eingerichtet sein, sichtbares Licht, Infrarotstrahlung oder irgendeine andere Form von Licht in Richtung der ersten Oberfläche 152 bzw. der zweiten Oberfläche 154 der Plattform 150 zu emittieren. In einigen Implementierungen kann das Computersystem 110 die erste Lichtquelle 120 steuern, um eine Beleuchtungsbedingung für die erste Oberfläche 152 der Plattform 150 zu steuern, und kann die zweite Lichtquelle 130 steuern, um eine Beleuchtungsbedingung für die zweite Oberfläche 154 der Plattform 150 zu steuern.
  • In einer Ausführungsform kann das Computersystem 110 (auch als Abtaststeuersystem oder Abtast-Controller bezeichnet) mit der ersten Kamera 170, der zweiten Kamera 180, der ersten Lichtquelle 120, der zweiten Lichtquelle 130 und/oder dem Aktuator 140 in Kommunikation stehen und/oder dazu eingerichtet sein, eine oder mehrere von diesen zu steuern. In einigen Fällen kann die Kommunikation z. B. über eine RS-232-Schnittstelle, eine Schnittstelle eines universellen seriellen Busses (USB), eine Ethernet-Schnittstelle, eine Bluetooth®-Schnittstelle, eine IEEE-802.11-Schnittstelle oder irgendeine Kombination davon stattfinden. In einigen Fällen kann die Kommunikation über einen lokalen Computerbus wie z. B. einen Peripheral Component Interconnect- (PCI) -Bus stattfinden.
  • 1C stellt ein Blockdiagramm des Computersystems 110 dar. Das Computersystem 110 kann ein Computer, ein Steuerchip, eine Leiterplatte oder irgendein anderes Computersystem sein. Wie im Blockdiagramm von 1C dargestellt, kann das Computersystem 110 eine Steuerschaltung 111, eine Kommunikationsschnittstelle 113 und ein nicht flüchtiges computerlesbares Medium 115 (z. B. einen Speicher) umfassen.
  • In einer Ausführungsform kann die Kommunikationsschnittstelle 113 eine oder mehrere Komponenten umfassen, die dazu eingerichtet sind, mit dem Aktuator 140, der ersten Kamera 170, der zweiten Kamera 180, der ersten Lichtquelle 120 und/oder der zweiten Lichtquelle 130 von 1B und/oder mit dem Roboterbetriebssystem 101 von 1A zu kommunizieren. In einigen Fällen kann die Kommunikationsschnittstelle 113 eine Kommunikationsschaltung umfassen, die dazu eingerichtet ist, eine Kommunikation über ein verdrahtetes oder drahtloses Protokoll durchzuführen. Als Beispiel kann die Kommunikationsschaltung 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 umfassen.
  • In 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 umfassen. In einer Ausführungsform kann das nicht flüchtige computerlesbare Medium 115 einen Computerspeicher umfassen. Der Computerspeicher kann z. B. einen dynamischen Random Access Memory (DRAM), einen integrierten Festkörperspeicher und/oder ein Festplattenwerk (HDD) umfassen. In einigen Fällen kann das nicht flüchtige computerlesbare Medium 115 Anweisungen (z. B. einen Computercode) speichern, für deren Ausführung die Steuerschaltung 111 eingerichtet ist, wie z. B. Anweisungen, um eine Kamerakalibrierung durchzuführen, wie nachstehend genauer erörtert. In solchen Fällen kann die Steuerschaltung 111 einen oder mehrere Prozessoren umfassen, die dazu eingerichtet sind, die computerausführbaren Anweisungen durchzuführen, um die Kamerakalibrierung durchzuführen.
  • In einer Ausführungsform kann das Computersystem 110 ein zweckgebundenes Steuersystem (auch als dedizierter Controller bezeichnet) sein, das nur den Betrieb des Abtastsystems 100 steuert, einschließlich des Betriebs des Aktuators 140 von 1B, der ersten Kamera 170 von 1B, der zweiten Kamera 180 von 1B, der ersten Lichtquelle 120 von 1B und/oder der zweiten Lichtquelle 130 von 1B. In anderen Fällen kann das Computersystem 110 dazu eingerichtet sein, zusätzliche Operationen wie z. B. Operationen eines Roboterbetriebssystems (z. B. Roboterbetriebssystems 101 von 1A) zu steuern. In einer Ausführungsform kann das Computersystem 110 für andere Komponenten des Abtastsystems 100 wie z. B. die Plattform 150, den Aktuator 140, die erste Kamera 170, die zweite Kamera 180, die erste Lichtquelle 120 und/oder die zweite Lichtquelle 130 lokal sein. In einer Ausführungsform kann das Computersystem 110 von einer oder mehreren anderen Komponenten des Abtastsystems 100 entfernt sein. Wenn beispielsweise die Plattform 150, der Aktuator 140, die erste Kamera 170, die zweite Kamera 180, die erste Lichtquelle 120 und die zweite Lichtquelle 130 in einem Warenlager oder anderen Räumlichkeiten angeordnet sind, kann das Computersystem 110 in einem Datenzentrum oder an einem anderen Ort angeordnet sein, der vom Warenlager entfernt ist, und kann dazu eingerichtet sein, mit diesen anderen Komponenten des Abtastsystems 100 über eine Netzwerkverbindung zu kommunizieren.
  • In einer Ausführungsform kann das Computersystem 110 dazu eingerichtet sein, Bilder, die durch die erste Kamera 170 erfasst werden, und Bilder, die durch die zweite Kamera erfasst werden, abzurufen oder anderweitig zu empfangen. In einigen Fällen können die Bilder von einem Kalibriermuster sein, wie nachstehend genauer erörtert (solche Bilder können als Kalibrierbilder bezeichnet werden). In einer Ausführungsform kann das Computersystem 110 dazu eingerichtet sein, die erste Kamera 170 und/oder die zweite Kamera 180 zu steuern, um solche Kalibrierbilder zu erfassen. Das Computersystem 110 kann beispielsweise dazu eingerichtet sein, einen Kamerabefehl zu erzeugen, der bewirkt, dass die erste Kamera 170 und/oder die zweite Kamera 180 ein Bild einer Szene in einem Sichtfeld der ersten Kamera 170 bzw. der zweiten Kamera 180 erfassen oder anderweitig erzeugen (das Sichtfeld einer Kamera kann auch als Kamerasichtfeld bezeichnet werden). Derselbe Kamerabefehl oder ein anderer Kamerabefehl kann ferner bewirken, dass die erste Kamera 170 und/oder die zweite Kamera 180 die erfassten Bilder zum Computersystem 110 über die Kommunikationsschnittstelle 113 von 1C oder allgemeiner zu einer Speichervorrichtung (z. B. dem nicht flüchtigen computerlesbaren Medium 115 von 1C) übermitteln, die für das Computersystem 110 zugänglich ist. In einer Ausführungsform können die erste Kamera 170 und/oder die zweite Kamera 180 automatisch Bilder einer Szene in ihren jeweiligen Kamerasichtfeldern entweder periodisch oder in Reaktion auf eine definierte Auslösebedingung erfassen oder anderweitig erzeugen, ohne einen Kamerabefehl vom Computersystem 110 zu benötigen. In einer solchen Ausführungsform können die erste Kamera 170 und/oder die zweite Kamera 180 auch dazu eingerichtet sein, automatisch ohne Kamerabefehl vom Computersystem 110 die erfassten Bilder an das Computersystem 110 oder allgemeiner an eine Speichervorrichtung zu übermitteln, die für das Computersystem 110 zugänglich ist.
  • In einer Ausführungsform kann die Steuerschaltung 111 oder eine andere Komponente des Computersystems 110 dazu eingerichtet sein, einen Bewegungsbefehl zu erzeugen, der, wenn er durch den Aktuator 140 empfangen wird, bewirkt, dass der Aktuator 140 die Plattform 150 betätigt (z. B. dreht). Der Bewegungsbefehl kann von der Steuerschaltung 111 zum Aktuator 140 über die Kommunikationsschnittstelle 113 übermittelt werden. In einem Beispiel kann der Aktuator 140 ein Motor sein und der Bewegungsbefehl kann ein Motorbefehl oder irgendein anderer Typ von Bewegungsbefehl sein.
  • In einer Ausführungsform kann die Steuerschaltung 111 oder eine andere Komponente des Computersystems 110 dazu eingerichtet sein, einen Beleuchtungsbefehl für die erste Lichtquelle 120 und/oder die zweite Lichtquelle 130 zu erzeugen und den Beleuchtungsbefehl von der Steuerschaltung 111 an die erste Lichtquelle 120 und/oder an die zweite Lichtquelle 130 über die Kommunikationsschnittstelle 113 zu übermitteln. Der Beleuchtungsbefehl kann z. B. steuern, ob eine spezielle Lichtquelle aktiviert oder deaktiviert wird, oder eine Weise, in der die Lichtquelle aktiviert wird, wie z. B. Intensität oder Dauer, mit der die Lichtquelle aktiviert wird.
  • In einer Ausführungsform sind die einzigen Kameras im Abtastsystem 100 von 1B die erste Kamera 160 und die zweite Kamera 170. In einer Ausführungsform kann das Abtastsystem 100 zusätzliche Kameras wie z. B. drei Kameras oder mehr Kameras umfassen. 1D stellt beispielsweise ein Abtastsystem 100A dar, das eine Ausführungsform des Abtastsystems 100 ist, das eine dritte Kamera (als „Kamera 3“ benannt) sowie die erste Kamera 170 und die zweite Kamera 180 umfasst. In dieser Ausführungsform können sowohl die erste Kamera 170 als auch die dritte Kamera 190 benachbart zur ersten Oberfläche 152 der Plattform 150 angeordnet (z. B. über der ersten Oberfläche 152 angeordnet) sein, während die Plattform 150 zwischen der dritten Kamera 190 und der zweiten Kamera 180 angeordnet ist ebenso wie sie zwischen der ersten Kamera 170 und der zweiten Kamera 180 angeordnet ist. Insbesondere kann die erste Oberfläche 152 zwischen der dritten Kamera 190 und der zweiten Oberfläche 154 der Plattform 150 angeordnet sein und kann zwischen der ersten Kamera 170 und der zweiten Oberfläche 154 der Plattform 150 angeordnet sein. Die dritte Kamera 190 kann relativ zur Plattform 150 außermittig sein oder kann relativ zur Plattform 150 zentriert sein. Ferner kann die dritte Kamera 190 relativ zur ersten Oberfläche 152 der Plattform 150 geneigt sein oder kann keine Neigung relativ zur ersten Oberfläche 152 der Plattform 150 aufweisen. Die erste Kamera 170 und die dritte Kamera 190 können verschiedene Perspektiven oder Blickpunkte eines Objekts abdecken, das auf der Plattform 150 platziert ist. In einigen Fällen kann die Anwesenheit sowohl der ersten Kamera 170 als auch der dritten Kamera 190 das Computersystem 110 mit einer stereoskopischen Ansicht von Regionen am Objekt versehen, die für sowohl die erste Kamera 170 als auch die dritte Kamera 190 sichtbar sind.
  • Wie vorstehend angegeben, bezieht sich ein Aspekt der vorliegenden Offenbarung auf das Durchführen einer Kamerakalibrierung auf der Basis von Bildern eines Kalibriermusters. 1E stellt eine Ausführungsform dar, in der ein 3D-Kalibriermuster 160 verwendet wird, um die Kamerakalibrierung durchzuführen. Insbesondere ist das 3D-Kalibriermuster 160 auf der ersten Oberfläche 152 der Plattform 150 des Abtastsystems 100 angeordnet und das Computersystem 110 davon ist dazu eingerichtet, eine Kamerakalibrierung auf der Basis von Kalibrierbildern des 3D-Kalibriermusters 160 durchzuführen. Wie nachstehend genauer erörtert, umfasst ein Beispiel des 3D-Kalibriermusters 160 ein Polyeder mit einer Vielzahl von 2D-Mustern, die auf jeweiligen Flächen des Polyeders angeordnet sind. Das Polyeder kann ein jeweiliges 2D-Muster aufweisen, das auf jedem seiner Flächen oder nur auf einer Teilmenge seiner Flächen angeordnet ist.
  • Wie vorstehend angegeben, kann die erste Kamera 170 in einer Ausführungsform eine Orientierung aufweisen, in der die erste Kamera 170 relativ zur ersten Oberfläche 152 der Plattform 150 geneigt ist. Eine solche Orientierung kann die erste Kamera 170 mit einer perspektivischen Ansicht des 3D-Kalibriermusters 160 versehen, die ermöglichen kann, dass mehrere Flächen des 3D-Kalibriermusters 160 für die erste Kamera 170 sichtbar sind oder allgemeiner sich innerhalb eines Kamerasichtfeldes der ersten Kamera 170 befinden. In einer Ausführungsform, wie auch vorstehend angegeben, kann die zweite Kamera 180 eine Orientierung aufweisen, in der die zweite Kamera 180 keine Neigung relativ zur zweiten Oberfläche 154 der Plattform 150 aufweist. Eine solche Orientierung kann bewirken, dass nur eine Fläche oder nur eine Teilmenge der Flächen des Polyeders des 3D-Kalibriermusters 160 für die zweite Kamera 180 sichtbar ist. Die zweite Kamera 180 in einer solchen Ausführungsform kann beispielsweise nur eine untere Fläche des Polyeders betrachten können. Mit anderen Worten, die zweite Kamera 170 in einem solchen Beispiel kann nur eine untere Ansicht des 3D-Kalibriermusters 160 haben.
  • In einer Ausführungsform kann das Computersystem 110 dazu eingerichtet sein, den Aktuator 140 zu steuern, um die Plattform 150 zu betätigen, wie z. B. die Plattform 150 um ein Zentrum davon zu drehen. Eine solche Bewegung kann bewirken, dass das 3D-Kalibriermuster 160 an verschiedenen Orten und/oder in verschiedenen Orientierungen relativ zur ersten Kamera 170 und/oder zur zweiten Kamera 180 platziert wird. Wenn eine spezielle Fläche des 3D-Kalibriermusters 160 anfänglich von der Sicht relativ z. B. zur ersten Kamera 170 verborgen ist, kann ferner die Plattform 150 anschließend diese Fläche in die Sicht relativ z. B. zur ersten Kamera 170 bewegen. In einer Ausführungsform kann das Computersystem 110 dazu eingerichtet sein, die erste Lichtquelle 120 und/oder die zweite Lichtquelle 130 so zu steuern, dass sie aktiviert werden, wenn die erste Kamera 170 und/oder die zweite Kamera 180 Bilder des 3D-Kalibriermusters 160 erfassen, um eine oder mehrere Flächen des Polyeders des 3D-Kalibriermusters 160 zu beleuchten.
  • 2 stellt ein Ablaufdiagramm dar, das ein Verfahren 200 zum Durchführen einer Kamerakalibrierung für ein Abtastsystem wie z. B. das Abtastsystem 100 von 1A-1E auf der Basis von Kalibrierbildern eines Kalibriermusters wie z. B. des 3D-Kalibriermusters 160 von 1E darstellt. Das Verfahren 200 kann in einer Ausführungsform die Kamerakalibrierung gemäß den Schritten 201-209 durchführen und kann dann ein 3D-Modell eines Objekts in Schritt 211 unter Verwendung von Informationen erzeugen, die von der Kamerakalibrierung bestimmt werden. In einer Ausführungsform kann das Verfahren 200 durch das Computersystem 110 und insbesondere durch die Steuerschaltung 111 von 1C durchgeführt werden. In einigen Fällen kann die Steuerschaltung 111 das Verfahren 200 auf der Basis von Anweisungen durchführen, die auf dem nicht flüchtigen computerlesbaren Medium 115 von 1C oder auf irgendeiner anderen Speichervorrichtung gespeichert sind.
  • In einer Ausführungsform kann das Verfahren 200 mit Schritt 201 beginnen, in dem die Steuerschaltung 111 einen ersten Satz von Kalibrierbildern über eine Kommunikationsschnittstelle 113 von der ersten Kamera 170 von 1B, 1D und/oder 1E oder insbesondere der ersten Kamera 370 von 3A, die nachstehend erörtert wird, empfängt. Der erste Satz von Kalibrierbildern können Bilder des 3D-Kalibriermusters 160 sein, wobei das 3D-Kalibriermuster 160 ein Polyeder mit einer Vielzahl von Flächen umfassen kann und eine Vielzahl von 2D-Kalibriermustern umfassen kann, die auf der Vielzahl von Flächen angeordnet sind. Die Vielzahl von Flächen kann einen ersten Satz von Flächen und eine zusätzliche Fläche umfassen. Ferner kann der erste Satz von Kalibrierbildern insbesondere den ersten Satz von Flächen des Polyeders erfassen und einen ersten Satz von 2D-Kalibriermustern erfassen, die jeweils auf dem ersten Satz von Flächen des Polyeders angeordnet sind, ohne die zusätzliche Fläche des Polyeders zu erfassen.
  • 3A stellt beispielsweise eine Beispielumgebung zum Durchführen des Verfahrens 200 von 2 dar und stellt insbesondere ein Abtastsystem 300 dar, das eine Ausführungsform des Abtastsystems 100 von 1A-1E ist. In dieser Ausführungsform umfasst das Abtastsystem 300 das Computersystem 110 von 1B-1E. Das Abtastsystem 300 umfasst ferner eine Plattform 350, einen Aktuator 340, der dazu eingerichtet ist, die Plattform 350 zu betätigen, umfasst eine erste Kamera 370, eine erste Lichtquelle 320, eine zweite Kamera 380 und eine zweite Lichtquelle 330, die jeweilige Ausführungsformen der Plattform 150, des Aktuators 140, der ersten Kamera 170, der ersten Lichtquelle 120, der zweiten Kamera 180 bzw. der zweiten Lichtquelle 130 von 1B und 1D-1E sein können. In einer Ausführungsform weist die Plattform 350 eine erste Oberfläche 352 und eine zweite Oberfläche 354 entgegengesetzt zur ersten Oberfläche 352 auf und ist zwischen der ersten Kamera 370 und der zweiten Kamera 380 angeordnet. Wie in 3A dargestellt, können die erste Kamera 370 und die erste Lichtquelle 370 benachbart zur ersten Oberfläche 352 der Plattform 350 angeordnet sein, wobei die erste Oberfläche 352 zwischen der ersten Kamera 370 und der zweiten Oberfläche 354 (z. B. unteren Oberfläche) der Plattform 350 angeordnet ist und zwischen der ersten Lichtquelle 320 und der zweiten Oberfläche 354 angeordnet ist. Die erste Kamera 370 und die erste Lichtquelle 320 können der ersten Oberfläche 352 der Plattform 350 zugewandt (z. B. zu dieser hin gerichtet) sein. In einem Beispiel kann die erste Oberfläche 352 eine obere Oberfläche der Plattform 350 sein und die erste Lichtquelle und die erste Kamera 370 können über der ersten Oberfläche 352 angeordnet sein.
  • Wie weiter in 3A dargestellt, können die zweite Kamera 380 und die zweite Lichtquelle 330 benachbart zur zweiten Oberfläche 354 (z. B. einer unteren Oberfläche) der Plattform 350 angeordnet sein, wobei die zweite Oberfläche 354 zwischen der zweiten Kamera 380 und der ersten Oberfläche 352 der Plattform 350 angeordnet ist und zwischen der zweiten Lichtquelle 330 und der ersten Oberfläche 352 angeordnet ist. Die zweite Kamera 380 und die zweite Lichtquelle 330 können der zweiten Oberfläche 354 der Plattform 350 zugewandt (z. B. zu dieser hin gerichtet) sein. In einem Beispiel kann die zweite Oberfläche 354 eine untere Oberfläche 354 der Plattform 350 sein und die zweite Lichtquelle 330 und die zweite Kamera 380 können unter der zweiten Oberfläche 354 angeordnet sein. In einer Ausführungsform können die erste Kamera 370 und die zweite Kamera 380 jeweils einen jeweiligen Bildsensor (z. B. einen ladungsträgergekoppelten Dioden- oder CCD-Sensor) aufweisen. In einer solchen Ausführungsform können, wenn der jeweilige Bildsensor der ersten Kamera 370/zweiten Kamera 380 einer speziellen Oberfläche zugewandt ist, die erste Kamera 370/zweite Kamera 380 als zu dieser Oberfläche hin gerichtet betrachtet werden. Als spezielleres Beispiel kann, wenn die erste Kamera 370 über der ersten Oberfläche 352 der Plattform 350 angeordnet und zu dieser hin gerichtet ist, Licht, das an der ersten Oberfläche 352 reflektiert oder an einem Objekt reflektiert, das auf der ersten Oberfläche 352 angeordnet ist, direkt den Bildsensor der ersten Kamera 370 erreichen. In diesem Beispiel kann die Plattform 350 transparent sein und Licht kann nach dem Reflektieren an einer unteren Oberfläche des Objekts durch die Plattform 350 hindurchtreten. Wenn die zweite Kamera 380 unter der zweiten Oberfläche 352 angeordnet ist und zu dieser hin gerichtet ist, kann das Licht, das an der unteren Oberfläche des Objekts reflektiert, direkt den Bildsensor der zweiten Kamera 380 erreichen.
  • In der Ausführungsform von 3A kann die Plattform 350 eine kreisförmige Glasplatte oder ein anderer Typ von transparenter Plattform sein und der Aktuator 340 kann dazu eingerichtet sein, die Plattform 350 um eine Mittelachse 356 zu drehen. Die Mittelachse 356 kann eine Achse sein, die durch ein Zentrum 355 der Plattform 350 verläuft und die zur ersten Oberfläche 352 oder zur zweiten Oberfläche 354 der Plattform 150 senkrecht ist. In dem Beispiel von 3A kann sich das Zentrum 355 der Plattform 350 auf ein Zentrum der ersten Oberfläche 352 der Plattform 350 beziehen. Wie weiter in 3A dargestellt, kann der Aktuator 340 ein Motor sein, der einen Rotor 342, eine Motorwelle 344 und einen Drehübertragungsabschnitt 346 umfasst, der an der Motorwelle 344 befestigt ist. Der Rotor 342 kann dazu eingerichtet sein, die Motorwelle 344 zu drehen, die dazu eingerichtet sein kann, den Drehübertragungsabschnitt 346 zu drehen. Der Drehübertragungsabschnitt 346 kann dazu eingerichtet sein, ein Drehmoment auf die Plattform 350 aufzubringen, um zu bewirken, dass sich die Plattform 350 um die Mittelachse 356 der Plattform 350 dreht. In einem Beispiel kann der Drehübertragungsabschnitt 346 ein Getriebe oder Getriebekasten sein, der dazu eingerichtet ist, die Drehung vom Rotor 342 und von der Motorwelle 344 auf die Plattform 350 zu übertragen. In einem anderen Beispiel kann der Drehübertragungsabschnitt 346 einen Rand der Plattform 350 mit ausreichend Reibung kontaktieren, um zu bewirken, dass sich die Plattform 350 dreht, wenn sich der Drehübertragungsabschnitt 346 dreht. In einer Ausführungsform kann der Rotor 342 durch das Computersystem 110 gesteuert werden, das dazu eingerichtet sein kann, ein Antriebssignal oder eine andere Form von Bewegungsbefehl an den Rotor 342 zu übermitteln. Wie weiter in 3A dargestellt, kann die erste Kamera 370 eine Neigung relativ zur ersten Oberfläche 352 der Plattform 350 aufweisen. Die erste Kamera 370 kann beispielsweise eine Orientierung aufweisen, in der ihre optische Achse 371 zur Mittelachse 356 der Plattform 350 nicht parallel ist. In diesem Beispiel kann die zweite Kamera 380 keine Neigung relativ zur zweiten Oberfläche 354 der Plattform 350 aufweisen. Die zweite Kamera 380 kann beispielsweise eine Orientierung aufweisen, in der ihre optische Achse 381 zur Mittelachse 356 der Plattform parallel ist.
  • Wie vorstehend angegeben, kann Schritt 201 von 2 das Empfangen des ersten Satzes von Kalibrierbildern des 3D-Kalibriermusters 160 von 1E beinhalten. 3A stellt ein 3D-Kalibriermuster 360 dar, das eine Ausführungsform des 3D-Kalibriermusters 160 ist, wobei das 3D-Kalibriermuster 360 auf der ersten Oberfläche 352 der Plattform 350 angeordnet ist. In einer Ausführungsform umfasst das 3D-Kalibriermuster 360 ein Polyeder 362 mit einer Vielzahl von Flächen. In dem Beispiel von 3A ist das Polyeder 362 ein Würfel oder allgemeiner ein rechteckiges Prisma mit insgesamt sechs Flächen. In einem anderen Beispiel kann das 3D-Kalibriermuster 360 ein anderes Polyeder wie z. B. ein Tetraeder oder ein Dodekaeder umfassen. 3B und 3C geben die Vielzahl von Flächen des Polyeders 362 von 3A an. Insbesondere identifiziert 3B drei Flächen, nämlich die Fläche 362A, 362B und 362C des Polyeders 362 des 3D-Kalibriermusters 360. 3C stellt die drei restlichen Flächen des Polyeders 362 dar, nämlich die Fläche 362D, 362E und 362F, die in 3B nicht sichtbar sind.
  • In einer Ausführungsform kann das Polyeder 362 eine definierte Abmessung (auch als vordefinierte Abmessung bezeichnet) aufweisen, die z. B. ein definierter Wert einer Form und/oder Größe des Polyeders 362 sein kann. Das Polyeder 362 in 3A kann beispielsweise ein Würfel sein, der mit einer engen Toleranz hergestellt wurde, um ihn im Wesentlichen an eine definierte Abmessung „d“ (z. B. 50 mm) für jede Kante des Würfels anzupassen. Der Herstellungsprozess kann ein hohes Niveau an Genauigkeit gehabt haben, das ein Ausmaß an Abweichung von der definierten Abmessung auf nicht mehr als z. B. +/- 0,5 mm begrenzt hat. In einigen Fällen kann das 3 110 von 3A einen Wert der definierten Abmessung speichern oder kann den Wert der definierten Abmessung (z. B. von einer entfernten Datenbank) abrufen können und kann den Wert verwenden, um die Kamerakalibrierung durchzuführen, wie nachstehend genauer erörtert.
  • In einer Ausführungsform können die Flächen des Polyeders 362 in 3B und 3C in einen ersten Satz von Flächen 362A-362E und eine zusätzliche Fläche 362F unterteilt werden, wobei die zusätzliche Fläche 362F kein Teil des ersten Satzes von Flächen 362A-362E ist. Die zusätzliche Fläche 362F kann auch als Teil eines zweiten Satzes von einer oder mehreren Flächen des Polyeders 362 betrachtet werden, wobei der zweite Satz von einer oder mehreren Flächen (z. B. 362F) keine Fläche mit dem ersten Satz von Flächen 362A-362E gemeinsam hat.
  • In einer Ausführungsform können der erste Satz von Flächen 362A-362E Flächen des Polyeders 362 sein, die für die erste Kamera 370 (von 3A) sichtbar sind oder durch die Plattform 350 zu einem Ort gedreht werden können, an dem sie für die erste Kamera 370 sichtbar sind. Der erste Satz von Flächen 362A-362E kann beispielsweise eine obere Fläche und vier Seitenflächen des Polyeders 362 umfassen. In einer Ausführungsform kann der erste Satz von Flächen 362A-362E Flächen des Polyeders 362 sein, die für die zweite Kamera 380 (von 3A) nicht sichtbar sind. In einigen Situationen kann der erste Satz von Flächen 362A-362E für die zweite Kamera 380 niemals sichtbar sein, selbst wenn das Polyeder 362 durch die Plattform 350 bewegt wird. Solche Situationen können vorkommen, wenn z. B. die zweite Kamera 380 einen Ort und/oder eine Orientierung aufweist, die verhindern, dass sie irgendwelches Licht, das am ersten Satz von Flächen 362A-362E reflektiert, abfängt oder anderweitig sammelt. Diese Situationen können beispielsweise vorkommen, wenn die zweite Kamera 380 sehr nahe an der zweiten Oberfläche 354 der Plattform 350 angeordnet ist und keine Neigung relativ zur zweiten Oberfläche 354 der Plattform 350 aufweist.
  • In einer Ausführungsform kann die zusätzliche Fläche 362F eine Fläche des Polyeders 362 sein, die für die erste Kamera 370 niemals sichtbar ist und für die zweite Kamera 380 sichtbar ist. Die zusätzliche Fläche 362F kann beispielsweise eine untere Fläche des Polyeders 362 sein, die direkt mit der Plattform 350 von 3A (z. B. der ersten Oberfläche 352 der Plattform 350) in Kontakt steht, während der erste Satz von Flächen 362A-362E Flächen des Polyeders 362 sein können, die nicht direkt mit der Plattform 350 in Kontakt stehen. In der Ausführungsform von 3B und 3C, in der das Polyeder 362 ein Würfel ist, kann der erste Satz von Flächen 362A-362E exakt fünf Flächen aufweisen, und die zusätzliche Fläche 362F kann nur eine einzige zusätzliche Fläche 362F sein, die für die zweite Kamera 380 sichtbar ist und für die erste Kamera 370 nicht sichtbar ist. In einer anderen Ausführungsform, in der das Polyeder 362 anders ist als ein Würfel (z. B. ist das Polyeder 362 ein Dodekaeder), können die Flächen des Polyeders 362 in einen ersten Satz von Flächen, die für die erste Kamera 370 sichtbar sind, und mehrere zusätzliche Flächen (auch als zweiter Satz von Flächen bezeichnet), die für die zweite Kamera 380 sichtbar sind und für die erste Kamera 370 nicht sichtbar sind, unterteilt werden.
  • Mit Rückbezug auf Schritt 201 von 2 kann das 3D-Kalibriermuster 160/360 in dem Schritt ferner eine Vielzahl von 2D-Kalibriermustern umfassen, die jeweils auf der Vielzahl von Flächen des Polyeders (z. B. 362) des 3D-Kalibriermusters 160/360 angeordnet sind. 3D-3F stellen 2D-Kalibriermuster des 3D-Kalibriermusters 360 dar. Insbesondere stellt 3D 2D-Kalibriermuster 366A, 366B und 366C dar, die auf Flächen 362A, 362B bzw. 362C des Polyeders 362 angeordnet sind. 3E stellt das Polyeder 362 entlang des Pfeils A in 3D betrachtet dar. Insbesondere stellt 3E 2D-Kalibriermuster 366B, 366E und 366F dar, die auf Flächen 362B, 362E bzw. 362F des Polyeders 362 angeordnet sind. 3F stellt das Polyeder 362 entlang des Pfeils B in 3D betrachtet dar. Insbesondere stellt 3F 2D-Kalibriermuster 366A, 366D und 366E dar, die auf Flächen 362A, 362D bzw. 362E des Polyeders 362 angeordnet sind.
  • In einer Ausführungsform können die 2D-Kalibriermuster 366A-366F von 3D-3F in einen ersten Satz von 2D-Kalibriermustern 366A-366E und ein zusätzliches 2D-Kalibriermuster 366F unterteilt werden, wobei der erste Satz von 2D-Kalibriermustern 366A-366E jeweils auf dem ersten Satz von Flächen 362A-362E des Polyeders 362 angeordnet ist und wobei das zusätzliche 2D-Kalibriermuster 366F auf der zusätzlichen Fläche 362F des Polyeders 362 angeordnet ist. Das zusätzliche 2D-Kalibriermuster 366F kann auch als Teil eines zweiten Satzes von einem oder mehreren 2D-Kalibriermustern betrachtet werden, wobei kein 2D-Kalibriermuster zwischen dem ersten Satz von 2D-Kalibriermustern 366A-366E und dem zweiten Satz von einem oder mehreren 2D-Kalibriermustern (z. B. 366F) gemeinsam ist. In einer Ausführungsform kann der zweite Satz von einem oder mehreren 2D-Kalibriermustern (ein) Kalibriermuster umfassen, das/die für die erste Kamera 370 nicht sichtbar ist/sind. In der obigen Ausführungsform oder in einer anderen Ausführungsform kann der zweite Satz von einem oder mehreren 2D-Kalibriermustern (ein) Kalibriermuster umfassen, das/die für die zweite Kamera 380 sichtbar ist/sind. In einer Ausführungsform umfasst der zweite Satz von einem oder mehreren 2D-Kalibriermustern nur das 2D-Kalibriermuster 366F. Dieses Szenario kann beispielsweise auftreten, wenn sowohl die zweite Kamera 380 als auch das 3D-Kalibriermuster 360 relativ zur Plattform 380 zentriert sind. In einer anderen Ausführungsform umfasst der zweite Satz von einem oder mehreren 2D-Kalibriermustern mehr als ein 2D-Kalibriermuster.
  • In einer Ausführungsform können die 2D-Kalibriermuster 366A-366F des 3D-Kalibriermusters 360 auf jeweiligen Flächen 362A-366F des Polyeders 362 in einer festen Weise angeordnet sein. Jedes der 2D-Kalibriermuster 366A-366F kann beispielsweise eine flache Folie (z. B. ein Aufkleber) oder eine flache Platte sein, die an eine jeweilige Fläche des Polyeders 362 geklebt oder anderweitig daran befestigt ist. In einer Ausführungsform können ein oder mehrere der 2D-Kalibriermuster 366A-366F auf jeweilige Flächen 362A-362F des Polyeders 362 gestrichen sein. In einer Ausführungsform kann irgendeines der 2D-Kalibriermuster 366A-366F relativ zu einer jeweiligen Fläche 362A-362F des Polyeders 362 zentriert und/oder ausgerichtet sein (wie für das 2D-Kalibriermuster 366B in 3D und 3E dargestellt) oder kann relativ zur jeweiligen Fläche 362A-362F des Polyeders 362 außermittig und/oder fehlausgerichtet sein (wie für das 2D-Kalibriermuster 366D in 3F dargestellt).
  • In einer Ausführungsform kann jedes 2D-Kalibriermuster der 2D-Kalibriermuster 366A-366F eine Vielzahl von Musterelementen wie z. B. eine Anordnung von Punkten aufweisen, wobei jedes der Musterelemente einen definierten Ort (auch als vordefinierter Ort bezeichnet) in einem Koordinatensystem des 2D-Kalibriermusters und/oder einem Koordinatensystem des 3D-Kalibriermusters 360 aufweisen kann. 3G stellt ein Koordinatensystem des 3D-Kalibriermusters 360 sowie ein Koordinatensystem der Plattform 350, ein Koordinatensystem der ersten Kamera 370 und ein Koordinatensystem der zweiten Kamera 380 dar. In einer Ausführungsform kann das Koordinatensystem des 3D-Kalibriermusters 360 Koordinatenachsen X 3 D P a t t e r n , Y 3 D P a t t e r n , Z 3 D P a t t e r n
    Figure DE102020106965A1_0001
    aufweisen, die auf Kanten des Polyeders 362 ausgerichtet sind. Der Ursprung des Koordinatensystems des 3D-Kalibriermusters 360 kann ein Ort innerhalb des Polyeders 362 (z. B. ein Zentrum des Polyeders 362), ein Ort auf einer Oberfläche des Polyeders 362 (z. B. an einem Zentrum der Fläche 362A) oder irgendein anderer Ort sein. In einer Ausführungsform, die in 3G dargestellt ist, kann das Koordinatensystem der Plattform 350 Koordinatenachsen X P l a t f o r m , Y P l a t f o r m , Z P l a t f o r m
    Figure DE102020106965A1_0002
    aufweisen, die auf die Mittelachse 356 der Plattform 350 ausgerichtet sind (siehe 3A) und einen Ursprung aufweisen, der im Zentrum 355 der Plattform 350 angeordnet ist. In einigen Fällen kann ein Koordinatensystem der ersten Kamera 370 oder der zweiten Kamera 380 Koordinatenachsen ( X C a m e r a 1 , Y C a m e r a 1 , Z C a m e r a 1
    Figure DE102020106965A1_0003
    für die erste Kamera 370 und X C a m e r a 2 , Y C a m e r a 2 , Z C a m e r a 2
    Figure DE102020106965A1_0004
    für die zweite Kamera 380) aufweisen, die auf eine optische Achse irgendeiner Linse der Kamera 370/380 ausgerichtet sind, und kann einen Ursprung aufweisen, der in einem Zentrum der Linse der Kamera 370/380, in einem Zentrum oder an einer Ecke eines Bildsensors der Kamera 370/380 oder an irgendeinem anderen Ort angeordnet ist. 3G stellt ferner ein Koordinatensystem für einen Verbindungspunkt 357 dar, wobei das Koordinatensystem durch Koordinatenachsen X L i n k , Y L i n k , Z L i n k
    Figure DE102020106965A1_0005
    definiert ist. Dieses Koordinatensystem wird nachstehend genauer erörtert.
  • In einer Ausführungsform kann jedes der 2D-Kalibriermuster 366A-366F des 3D-Kalibriermusters 360 sein eigenes Koordinatensystem aufweisen. 3H stellt beispielsweise ein erstes Koordinatensystem für das Kalibriermuster 366A dar, wobei das erste Koordinatensystem durch die Koordinatenachsen X 2 D P a t t e r n 1 , Y 2 D P a t t e r n 1 , Z 2 D P a t t e r n 1
    Figure DE102020106965A1_0006
    definiert ist. Die Figur stellt ferner ein zweites Koordinatensystem für das Kalibriermuster 366B und ein drittes Koordinatensystem für das Kalibriermuster 366C dar. Das zweite Koordinatensystem ist durch die Koordinatenachsen X 2 D P a t t e r n 2 , Y 2 D P a t t e r n 2 , Z 2 D P a t t e r n 2
    Figure DE102020106965A1_0007
    definiert, während das dritte Koordinatensystem durch die Koordinatenachsen X 2 D P a t t e r n 3 , Y 2 D P a t t e r n 3 , Z 2 D P a t t e r n 3
    Figure DE102020106965A1_0008
    definiert ist. Kalibriermuster sind in der US-Patentanmeldung Nr. 16/295,940 mit dem Titel „Method and System for Performing Automatic Camera Calibration for Robot Control,“ genauer beschrieben, deren gesamter Inhalt durch Verweis hierin aufgenommen wird.
  • Mit Rückbezug auf Schritt 201 von 2 kann der Schritt beinhalten, dass die Steuerschaltung 111 den ersten Satz von Kalibrierbildern von der ersten Kamera 170/370 von 1B oder 3A empfängt. In einer Ausführungsform wird der erste Satz von Kalibrierbildern durch die erste Kamera 170/370 erfasst oder anderweitig erzeugt, während das 3D-Kalibriermuster 160/360 zu anderen Orten und/oder in andere Orientierungen relativ zur ersten Kamera 170/370 bewegt wird. In einigen Fällen kann die Steuerschaltung 111 den Aktuator 140/340 steuern, um eine solche Bewegung über die Plattform 150/350 herbeizuführen. Die Steuerschaltung 111 kann beispielsweise einen oder mehrere Motorbefehle über die Kommunikationsschnittstelle 113 (von 1C) an den Aktuator 140/340 ausgeben. Der eine oder die mehreren Motorbefehle können bewirken, dass der Aktuator 140/340 die Plattform 150/350 dreht, was das 3D-Kalibriermuster 160/360 so bewegt, dass es mehrere Orientierungen relativ zur ersten Kamera 170/370 aufweist. In diesem Beispiel wird der erste Satz von Kalibrierbildern von Schritt 201 jeweils erzeugt, wenn das 3D-Kalibriermuster 160/360 die mehreren Orientierungen relativ zur ersten Kamera 170/370 aufweist. In einer Ausführungsform kann jedes Kalibrierbild des ersten Satzes von Kalibrierbildern einem unterschiedlichen jeweiligen Ort und/oder einer unterschiedlichen jeweiligen Orientierung des 3D-Kalibriermusters 160/360 relativ zur ersten Kamera 170/370 entsprechen. Mit anderen Worten, wenn das 3D-Kalibriermuster 160/360 so bewegt wird, dass es verschiedene Orte und/oder Orientierungen relativ zur ersten Kamera 170/370 aufweist, erzeugt die erste Kamera 170/370 jeweilige Kalibrierbilder des 3D-Kalibriermusters 160/360, während das 3D-Kalibriermuster 160/360 sich an den verschiedenen Orten und/oder in den verschiedenen Orientierungen befindet. Diese Kalibrierbilder können den ersten Satz von Kalibrierbildern bilden, die dann von der ersten Kamera 370 zur Steuerschaltung 111 des Computersystems 110 übertragen werden können.
  • In einer Ausführungsform kann jedes Kalibrierbild des ersten Satzes von Kalibrierbildern mindestens zwei Flächen des Polyeders 360 (z. B. den ersten Satz von Flächen 362A-362E) und mindestens zwei 2D-Kalibriermuster des ersten Satzes von 2D-Kalibriermustern (z. B. des ersten Satzes von 2D-Kalibriermustern 366A-366E von 3D-3F) erfassen. Jedes des ersten Satzes von Kalibrierbildern kann beispielsweise durch die erste Kamera 370 von 3A erzeugt werden, die einen Ort und eine Orientierung relativ zum 3D-Kalibriermuster 360 aufweisen kann, die ermöglichen, dass mindestens zwei 2D-Kalibriermuster des 3D-Kalibriermusters 360 immer für die erste Kamera 370 sichtbar sind. 4A stellt ein Beispielkalibrierbild 500 dar, das eines von einem ersten Satz von Kalibrierbildern des 3D-Kalibriermusters 360 von 3A ist. Das Beispielkalibrierbild 500 von 4A kann einen ersten Bildabschnitt 566A aufweisen, der das 2D-Kalibriermuster 366A und die Fläche 362A von 3B und 3D des Polyeders 362 von 3A und 3D erfasst. Das Kalibrierbild 500 kann ferner einen zweiten Bildabschnitt 566B aufweisen, der das 2D-Kalibriermuster 366B und die Fläche 362B, beide von 3B und 3D, erfasst und ferner einen dritten Bildabschnitt 566C aufweisen, der das 2D-Kalibriermuster 366C und die Fläche 362C, beide von 3B und 3D, erfasst. In einer Ausführungsform erfasst der erste Satz von Kalibrierbildern nicht die zusätzliche Fläche 362F des Polyeders 362 des 3D-Kalibriermusters 360.
  • In einer Ausführungsform kann die Steuerschaltung 111 von 1C oder 3A (z. B. als Teil von Schritt 201 von 2 oder nach Schritt 201) aus jedem Kalibrierbild des ersten Satzes von Kalibrierbildern Bildabschnitte (z. B. 566A, 566B, 566C) extrahieren, die jeweilige 2D-Kalibriermuster erfassen. Die Steuerschaltung 111 kann beispielsweise für jedes Kalibrierbild des ersten Satzes von Kalibrierbildern aus dem Kalibrierbild einen ersten Bildabschnitt extrahieren, der ein erstes 2D-Kalibriermuster erfasst, wobei das Kalibrierbild mindestens zwei 2D-Kalibriermuster erfassen kann. In einem Beispiel stellt 4A die Steuerschaltung 111 dar, die den Bildabschnitt 566A extrahiert, der das 2D-Kalibriermuster 366A (von 3D) aus dem Kalibrierbild 500 extrahiert. Die Steuerschaltung 111 kann ferner Informationen speichern, die Musterelemente des ersten 2D-Kalibriermusters (z. B. 2D-Kalibriermusters 366A) beschreiben. Wenn beispielsweise die Musterelemente Punkte sind, können die Informationen, die gespeichert werden, Pixelkoordinaten [u v]T von jeweiligen Orten sein, an denen die Punkte im Kalibrierbild 500 erscheinen.
  • In einer Ausführungsform kann die Steuerschaltung 111 andere Bildabschnitte extrahieren, die andere 2D-Kalibriermuster in einem Kalibrierbild darstellen, wie z. B. Bildabschnitte 566B und 566C im Kalibrierbild 500 von 4A. Der Bildabschnitt 566B kann das 2D-Kalibriermuster 366B erfassen und der Bildabschnitt 566C kann das 2D-Kalibriermuster 366C erfassen. In einigen Fällen kann die Steuerschaltung 111 aus dem Kalibrierbild (z. B. Kalibrierbild 500) den ersten Bildabschnitt entfernen, der extrahiert wurde, um die Detektion der anderen Bildabschnitte zu erleichtern und eine Wahrscheinlichkeit zu verringern, dass irgendein Teil des ersten Bildabschnitts irrtümlich als Teil der anderen Bildabschnitte identifiziert wird. Die Steuerschaltung 111 kann beispielsweise ein aktualisiertes Kalibrierbild durch Entfernen des ersten Bildabschnitts (z. B. Bildabschnitts 566A) aus dem Kalibrierbild (z. B. Kalibrierbild 500) erzeugen. In einigen Fällen kann die Entfernung durch Verdunkeln des ersten Bildabschnitts durchgeführt werden. Als Beispiel stellt 4B ein aktualisiertes Kalibrierbild 530 dar, in dem der erste Bildabschnitt 566A verdunkelt ist, um den ersten Bildabschnitt 566A durch einen ersten verdunkelten Abschnitt 534 zu ersetzen, der dem ersten Bildabschnitt 566A entspricht. In einigen Fällen kann das Verdunkeln des ersten Bildabschnitts 566A das Setzen aller Pixel des ersten Bildabschnitts 566A so, dass sie einen vordefinierten Intensitätswert (z. B. null) aufweisen, beinhalten.
  • In einer Ausführungsform kann die Steuerschaltung 111 aus dem aktualisierten Kalibrierbild (z. B. aktualisierten Kalibrierbild 530 von 4B) einen zweiten Bildabschnitt (z. B. Bildabschnitt 566C) extrahieren, der auch als anderer Bildabschnitt bezeichnet wird, der ein zweites 2D-Kalibriermuster (z. B. Kalibriermuster 366C von 3D) erfasst, und kann Informationen speichern, die Musterelemente des zweiten 2D-Kalibriermusters beschreiben. Die gespeicherten Informationen können z. B. Pixelkoordinaten [u v]T von jeweiligen Orten umfassen, an denen Musterelemente des zweiten 2D-Kalibriermusters im aktualisierten Kalibrierbild (z. B. aktualisierten Kalibrierbild 530) erscheinen.
  • In einer Ausführungsform kann die Steuerschaltung 111 den zweiten Bildabschnitt (z. B. 566C) und andere Bildabschnitte, die ein 2D-Kalibriermuster erfassen, entfernen (z. B. verdunkeln), bis alle bis auf einen von solchen Bildabschnitten aus dem Kalibrierbild 500 entfernt sind. 4C stellt beispielsweise die Steuerschaltung 111 dar, die ein zusätzliches aktualisiertes Kalibrierbild 560 durch weiteres Entfernen des zweiten Bildabschnitts 566C aus dem aktualisierten Kalibrierbild 530 erzeugt. Die Entfernung kann durch Ersetzen des zweiten Bildabschnitts 566C im aktualisierten Kalibrierbild 560 durch einen zweiten verdunkelten Abschnitt 535 durchgeführt werden, der dem zweiten Bildabschnitt 566C entspricht. Die Steuerschaltung 111 kann aus dem zusätzlichen aktualisierten Kalibrierbild 560 einen dritten Bildabschnitt 566B extrahieren, der das dritte 2D-Kalibriermuster 366B der drei 2D-Kalibriermuster 366A-366C erfasst, die im Kalibrierbild 500 von 4A dargestellt sind. Die Steuerschaltung 111 kann ferner Informationen speichern, die Musterelemente des dritten 2D-Kalibriermusters 366B beschreiben.
  • In einer Ausführungsform kann die Steuerschaltung 111 eine Abschätzung eines Kalibrierparameters der ersten Kamera 170/370 von 1B, 1D, 1E und/oder 3A auf der Basis des ersten Satzes von Kalibrierbildern, die in Schritt 201 von 2 empfangen werden, bestimmen. Diese Bestimmung kann beispielsweise auf gespeicherten Informationen basieren, die Musterelemente eines ersten 2D-Kalibriermusters und Musterelemente eines zweiten 2D-Kalibriermusters, die durch den ersten Satz von Kalibrierbildern erfasst werden, beschreiben. In einigen Fällen kann der Kalibrierparameter ein intrinsischer Kalibrierparameter wie z. B. eine Projektionsmatrix K sein, die eine Bildprojektion auf einen Bildsensor der ersten Kamera 170/370 beschreibt, oder ein Verzerrungsparameter, der eine Linsenverzerrung oder irgendeine andere Form von Verzerrung beschreibt, die die erste Kamera 170/370 erfährt. In einem solchen Beispiel kann die Bestimmung ein Teil einer intrinsischen Kamerakalibrierung sein, die durch die Steuerschaltung 111 durchgeführt wird. In einigen Fällen kann der Kalibrierparameter eine Transformationsfunktion sein, die eine räumliche Beziehung zwischen der ersten Kamera 170/370 und einem speziellen 2D-Kalibriermuster des 3D-Kalibriermusters 160/360 oder allgemeiner eine räumliche Beziehung zwischen der ersten Kamera 170/370 und dem 3D-Kalibriermuster 160/360 von 1E und/oder 3A-3F beschreibt. Die Transformationsfunktion kann beispielsweise eine Matrix T C a m e r a   N 2 D   P a t t e r n   M
    Figure DE102020106965A1_0009
    sein, die eine lineare Transformation (z. B. eine Drehung und Translation) zwischen einem Koordinatensystem der Kamera N (z. B. der ersten Kamera 370) und einem Koordinatensystem eines 2D-Kalibriermusters M (z. B. irgendeines des ersten Satzes von 2D-Kalibriermustern 366A-366E) beschreibt. Als spezielleres Beispiel kann die Steuerschaltung 111 eine Abschätzung einer Projektionsmatrix Kcamerai für die erste Kamera 170/370, jeweilige Abschätzungen einer Vielzahl von Verzerrungsparametern für die erste Kamera 170/370 und Matrizen T C a m e r a  1 2 D   P a t t e r n  1 , T C a m e r a  1 2 D   P a t t e r n  2 , T C a m e r a  1 2 D   P a t t e r n  3 , T C a m e r a  1 2 D   P a t t e r n  4  und  T C a m e r a  1 2 D   P a t t e r n  5
    Figure DE102020106965A1_0010
    bestimmen. Im obigen Beispiel kann sich die Kamera 1 (Camera 1) auf die erste Kamera 370 beziehen, während 2D-Muster (2D Pattern) 1 bis 5 sich jeweils auf die 2D-Kalibriermuster 366A bis 366E beziehen können. In einer Ausführungsform kann die Steuerschaltung 111 eine Abschätzung des intrinsischen Kalibrierparameters und/oder eine Abschätzung der Transformationsfunktion auf der Basis von gespeicherten Informationen, die Musterelemente (z. B. Punkte) des ersten Satzes von 2D-Kalibriermustern (z. B. 366A-366E) des 3D-Kalibriermusters 160/360 beschreiben, bestimmen. Die Bestimmung kann beispielsweise auf Pixelkoordinaten basieren, die beschreiben, wo die Musterelemente im ersten Satz von Kalibrierbildern erscheinen, und auf definierten Orten für die Musterelemente in einem Koordinatensystem des 3D-Kalibriermusters 160/360 oder einem Koordinatensystem von einem der 2D-Kalibriermuster 366A-366F basieren. Die Bestimmung kann z. B. den Perspektive-n-Punkt-Algorithmus, den Algorithmus, der in „A Flexible New Technique for Camera Calibration,“ Technical Report MSR-TR-98-71, von Zhengyou Zhang beschrieben ist (auch als Zhang-Algorithmus bezeichnet), irgendeinen anderen Algorithmus oder eine Kombination davon verwenden. Das Bestimmen einer Abschätzung eines Kalibrierparameters auf der Basis eines Kalibrierbildes ist in der US-Patentanmeldung Nr. 16/295,940 mit dem Titel „Method and System for Performing Automatic Camera Calibration for Robot Control,“ genauer beschrieben, deren gesamter Inhalt durch Verweis hierin aufgenommen wird.
  • In einer Ausführungsform kann der Kalibrierparameter, der abgeschätzt wird, eine Transformationsfunktion sein, die eine räumliche Beziehung zwischen der ersten Kamera 170/370 und der Plattform 150/350 von 1B, 1D, 1E und/oder 3A oder insbesondere zwischen der ersten Kamera 170/370 und einem Zentrum 355 von 3A der Plattform 150/350 beschreibt. Die Transformationsfunktion kann beispielsweise eine Matrix T P L A T F O R M C A M E R A  1
    Figure DE102020106965A1_0011
    sein, die eine lineare Transformation zwischen einem Koordinatensystem der ersten Kamera 170/370 und einem Koordinatensystem der Plattform 150/350 beschreibt. In einigen Fällen kann das Zentrum 355 der Plattform 150/350 als Weltpunkt behandelt werden und T P L A T F O R M C A M E R A  1
    Figure DE102020106965A1_0012
    kann eine Beziehung zwischen der ersten Kamera 170/370 und dem Weltpunkt beschreiben. In einigen Fällen kann das Bestimmen einer Abschätzung des Kalibrierparameters ein Teil einer Hand-Auge-Kalibrierphase sein. Die Hand-Auge-Kalibrierphase kann beispielsweise das Auflösen nach T P L A T F O R M C A M E R A  1
    Figure DE102020106965A1_0013
    auf der Basis der folgenden Gleichung beinhalten: T P L A T F O R M L I N K T L I N K 3 D   P A T T E R N = T P L A T F O R M C A M E R A 1 T C A M E R A  1 3 D  PATTERN
    Figure DE102020106965A1_0014
  • In diesem Beispiel kann T P L A T F O R M L I N K
    Figure DE102020106965A1_0015
    eine Transformationsfunktion sein, die eine räumliche Beziehung zwischen einem Koordinatensystem der Plattform 150/350 und einem Koordinatensystem eines Verbindungspunkts wie z. B. des Verbindungspunkts 357 von 3G beschreibt. In einer Ausführungsform kann der Verbindungspunkt 357 irgendein anderer Punkt auf der Plattform 350 sein als das Zentrum 355 der Plattform 350. In einigen Fällen kann der Verbindungspunkt 357 ein Punkt sein, der relativ zum 3D-Kalibriermuster 360 stationär ist. In einer Ausführungsform kann der Verbindungspunkt 357 irgendein Punkt auf der Plattform 350 sein, der mit dem 3D-Kalibriermuster 360 in Kontakt steht. In diesem Beispiel kann T P L A T F O R M L I N K
    Figure DE102020106965A1_0016

    durch die Steuerschaltung 111 auf der Basis eines Ausmaßes bestimmt werden, in dem der Aktuator 340 (von 3A) die Plattform 350 gedreht oder anderweitig betätigt hat. T P L A T F O R M L I N K
    Figure DE102020106965A1_0017

    kann beispielsweise eine Rotationsmatrix umfassen, die das Ausmaß der Drehung (z. B. eine Drehung von 60° oder 100°) beschreibt, die der Verbindungspunkt 357 relativ zu einer definierten anfänglichen Position erfährt.
  • Im obigen Beispiel kann T CAMERA 1 3 D   P A T T E R N
    Figure DE102020106965A1_0018
    eine Matrix sein, die eine räumliche Beziehung zwischen einem Koordinatensystem des 3D-Kalibriermusters 160/360 und der ersten Kamera 170/370 definiert, und kann auf der Basis von einem der vorstehend beschriebenen Algorithmen bestimmt worden sein, wie z. B. des Perspektive-n-Punkt-Algorithmus oder Zhang-Algorithmus. Ferner kann T L I N K 3 D   P A T T E R N
    Figure DE102020106965A1_0019
    eine Matrix sein, die eine räumliche Beziehung zwischen einem Koordinatensystem des 3D-Kalibriermusters 160/360 und dem Verbindungspunkt 357 beschreibt, während T P L A T F O R M C A M E R A  1
    Figure DE102020106965A1_0020
    eine Matrix sein kann, die eine räumliche Beziehung zwischen einem Koordinatensystem der ersten Kamera 170/370 und einem Koordinatensystem der Plattform 150/350 beschreibt. Das obige Beispiel kann eine Hand-Auge-Kalibrieroperation beinhalten, die nach T P L A T F O R M C A M E R A  1  und  T L I N K 3 D   P A T T E R N
    Figure DE102020106965A1_0021
    auf der Basis von Gleichung 1 auflöst. Die Hand-Auge-Kalibrierung und das Lösen von Gleichung 1 sind in der US-Patentanmeldung Nr. 16/295,940 mit dem Titel „Method and System for Performing Automatic Camera Calibration for Robot Control,“ genauer beschrieben, deren gesamter Inhalt durch Verweis in seiner Gesamtheit hierin aufgenommen wird.
  • Mit Rückkehr zu 2 kann das Verfahren 200 ferner einen Schritt 203 umfassen, in dem die Steuerschaltung 111 einen zweiten Satz von einem oder mehreren Kalibrierbildern über die Kommunikationsschnittstelle 113 (von 1C) von der zweiten Kamera 180/380 empfangen kann. Der zweite Satz von einem oder mehreren Kalibrierbildern kann eine zusätzliche Fläche des Polyeders erfassen, wie z. B. die Fläche 362F von 3C/3E (z. B. untere Fläche) des Polyeders 362 von 3B-3F. Die zusätzliche Fläche (z. B. Fläche 362F) kann eine Fläche sein, auf die die zweite Kamera 180/380 gerichtet ist, und/oder kann eine Fläche des Polyeders 360 sein, die mit der Plattform 150/350 (z. B. mit der ersten Oberfläche 352 der Plattform 350) in direktem Kontakt steht. Ferner kann der zweite Satz von einem oder mehreren Kalibrierbildern das zusätzliche 2D-Kalibriermuster (z. B. 2D-Kalibriermuster 366F) erfassen, das auf der zusätzlichen Fläche angeordnet ist, oder einen Umriss der zusätzlichen Fläche (auch als Kontur oder Silhouette der zusätzlichen Fläche bezeichnet) erfassen.
  • In einer Ausführungsform kann der zweite Satz von einem oder mehreren Kalibrierbildern mindestens ein Paar von Kalibrierbildern umfassen, die durch die zweite Kamera 180/380 unter verschiedenen jeweiligen Beleuchtungsbedingungen erfasst wurden. Das mindestens eine Paar von Kalibrierbildern kann ein erstes Kalibrierbild, das durch die zweite Kamera 180/380 unter einer ersten Beleuchtungsbedingung erfasst wird, und ein zweites Kalibrierbild, das durch die zweite Kamera 180/380 unter einer zweiten Beleuchtungsbedingung erfasst wird, die anders ist als die erste Beleuchtungsbedingung, umfassen, wobei sowohl das erste Kalibrierbild als auch das zweite Kalibrierbild für einen gleichen Ort und/oder eine gleiche Pose des 3D-Kalibriermusters 160/360 auf der Plattform 150/350 erzeugt werden. Insbesondere kann das 3D-Kalibriermuster 160/360 relativ zur zweiten Kamera 180/380 zwischen dann, wenn das erste Kalibrierbild des mindestens einen Paars von Kalibrierbildern erfasst wird und wenn das zweite Kalibrierbild des mindestens einen Paars von Kalibrierbildern erfasst wird, stationär geblieben sein. In einigen Fällen kann der zweite Satz von einem oder mehreren Kalibrierbildern mehrere Paare von Kalibrierbildern umfassen, wobei jedes Paar ein jeweiliges erstes Kalibrierbild, das durch die zweite Kamera 180/380 unter der ersten Beleuchtungsbedingung erfasst wird, umfasst, und ein jeweiliges zweites Kalibrierbild, das durch die zweite Kamera 180/380 unter der zweiten Beleuchtungsbedingung erfasst wird, umfasst.
  • In einer Ausführungsform ist die erste Beleuchtungsbedingung eine Rückseitenbeleuchtungsbedingung, unter der das 3D-Kalibriermuster 160/360 von dem Blickpunkt der zweiten Kamera 180/380 aus von hinten beleuchtet wird. Die Rückseitenbeleuchtungsbedingung kann z. B. durch Aktivieren der ersten Lichtquelle 120/320 herbeigeführt werden. Da das 3D-Kalibriermuster 160/360 zwischen der zweiten Kamera 180/380 und der ersten Lichtquelle 120/320 angeordnet ist, kann das 3D-Kalibriermuster 160/360 vom Blickpunkt der zweiten Kamera 180/380 aus als von hinten beleuchtet betrachtet werden. In einer solchen Ausführungsform kann das erste Kalibrierbild des mindestens einen Paars von Kalibrierbildern als jeweiliges von hinten beleuchtetes Kalibrierbild des Paars bezeichnet werden. In einigen Fällen kann die erste Beleuchtungsbedingung ferner beinhalten, dass die zweite Lichtquelle 130/330 deaktiviert wird. In einigen Fällen, wie nachstehend genauer erörtert, kann das von hinten beleuchtete Kalibrierbild eine Silhouette der zusätzlichen Fläche (z. B. 362F) des Polyeders (z. B. 362) des 3D-Kalibriermusters 160/360 erfassen.
  • In einer Ausführungsform ist die zweite Beleuchtungsbedingung eine Vorderseitenbeleuchtungsbedingung, unter der das 3D-Kalibriermuster 160/360 vom Blickpunkt der zweiten Kamera 180/380 aus von vorn beleuchtet wird. Die Vorderseitenbeleuchtungsbedingung kann z. B. durch Aktivieren der zweiten Lichtquelle 130/330 herbeigeführt werden. Da die zweite Lichtquelle 130/330 die zusätzliche Fläche (z. B. 362F) des Polyeders des 3D-Kalibriermusters 160/360 (oder irgendeine andere Fläche des Polyeders, die für die zweite Kamera 180/380 sichtbar ist) direkt beleuchten kann, kann das 3D-Kalibriermuster 160/360 vom Blickpunkt der zweiten Kamera 180/380 aus als von der Vorderseite beleuchtet betrachtet werden. In einer solchen Ausführungsform kann das zweite Kalibrierbild des mindestens einen Paars von Kalibrierbildern als jeweiliges von vorn beleuchtetes Kalibrierbild des Paars bezeichnet werden. In einigen Fällen kann die zweite Beleuchtungsbedingung ferner beinhalten, dass die erste Lichtquelle 120/320 deaktiviert wird. In einigen Fällen, wie nachstehend genauer erörtert, kann das von vorn beleuchtete Kalibrierbild das 2D-Kalibriermuster (z. B. 366F) erfassen, das auf der zusätzlichen Fläche (z. B. 362F) des Polyeders des 3D-Kalibriermusters 160/360 angeordnet ist. In einer Ausführungsform kann der zweite Satz von einem oder mehreren Kalibrierbildern mehrere Paare von Bildern umfassen, wobei jedes Paar ein jeweiliges von hinten beleuchtetes Kalibrierbild und ein jeweiliges von vorn beleuchtetes Kalibrierbild umfasst. Als Beispiel des mindestens einen Paars von Kalibrierbildern stellen 5A und 5B ein Paar eines ersten Kalibrierbildes 400 (z. B. ein von hinten beleuchtetes Kalibrierbild) dar, das durch die zweite Kamera 180/380 unter einer ersten Beleuchtungsbedingung erfasst wird, und ein zweites Kalibrierbild 450 (z. B. ein von vorn beleuchtetes Kalibrierbild), das durch die zweite Kamera 180/380 unter einer zweiten Beleuchtungsbedingung erfasst wird.
  • In einigen Fällen kann das Erfassen sowohl des jeweiligen ersten Kalibrierbildes 400 des Paars als auch des jeweiligen zweiten Kalibrierbildes 450 des Paars mit der zweiten Kamera 180/380 von 1B, 1D, 1E und/oder 3A Quellen eines Abbildungsfehlers kompensieren. Ein transparentes Material (z. B. Glas) der Plattform 150/350 von 1D-1E/3A kann beispielsweise Licht knicken oder anderweitig verzerren, das durch das Material zur zweiten Kamera 180/380 hindurchtritt. Diese Verzerrung kann eine Quelle eines Abbildungsfehlers sein und kann eine Fähigkeit der Steuerschaltung 111 von 1C/3A verringern, z. B. ein Merkmal des 3D-Kalibriermusters 160/360 von 1E/3A, wie z. B. Orte von unteren Ecken eines Polyeders (z. B. Polyeder 362 von 3A) des 3D-Kalibriermusters 160/360, genau zu identifizieren. In einigen Fällen kann das jeweilige zweite Kalibrierbild 450 (z. B. von vorn beleuchtetes Kalibrierbild) des Paars Informationen enthalten, die verwendet werden können, um eine Verzerrung oder einen anderen Abbildungsfehler zu kompensieren, der im jeweiligen ersten Kalibrierbild 400 (z. B. von hinten beleuchtetes Kalibrierbild) des Paars vorhanden sein kann, und umgekehrt, da die zwei Kalibrierbilder 400/450 unter verschiedenen Beleuchtungsbedingungen erfasst werden. Wie nachstehend genauer erörtert, kann die Steuerschaltung 111 beispielsweise dazu eingerichtet sein, sowohl das jeweilige erste Kalibrierbild 400 als auch das jeweilige zweite Kalibrierbild 450 eines Paars von Kalibrierbildern, die durch die zweite Kamera 180/380 erfasst werden, zu verwenden, um Koordinaten für Eckenorte der zusätzlichen Fläche (z. B. Fläche 362F von 3E) des Polyeders des 3D-Kalibriermusters 160/360 zu bestimmen.
  • In einer Ausführungsform kann das jeweilige erste Kalibrierbild 400 eines Paars von Kalibrierbildern, die durch die zweite Kamera 180/380 erfasst werden, eine Silhouette 412 der zusätzlichen Fläche (z. B. 362F) des Polyeders (z. B. 362) des 3D-Kalibriermusters (z. B. 360) erfassen und kann unter einer Rückseitenbeleuchtungsbedingung erzeugt werden, wie vorstehend angegeben. Die Rückseitenbeleuchtungsbedingung kann beispielsweise durch Aktivieren der ersten Lichtquelle 120/320 (z. B. eine obere LED) von 1B und 3A und Deaktivieren der zweiten Lichtquelle 130/330 (z. B. eine untere LED) von 1B und 3A herbeigeführt werden. Die Steuerschaltung 111 kann beispielsweise über die Kommunikationsschnittstelle 113 von 1C einen ersten Satz von einem oder mehreren Lichtquellenbefehlen an die erste Lichtquelle 120/320 und an die zweite Lichtquelle 130/330 ausgeben, um zu bewirken, dass die erste Lichtquelle 120/320 aktiviert wird und die zweite Lichtquelle 130/330 deaktiviert wird. Die zweite Lichtquelle 130/330 kann auf die oder zu der zusätzlichen Fläche (z. B. 362F) des Polyeders (z. B. Polyeders 362) gerichtet sein, während die erste Lichtquelle 120/320 als hinter (z. B. in Bezug auf einen Blickpunkt der zweiten Lichtquelle 130/330 oder Blickpunkt der zweiten Kamera 180/380) der zusätzlichen Fläche angeordnet betrachtet werden kann. In dieser Ausführungsform kann die Steuerschaltung 111 ferner über die Kommunikationsschnittstelle 113 einen ersten Satz von einem oder mehreren Kamerabefehlen an die zweite Kamera 180/380 ausgeben, um zu bewirken, dass die zweite Kamera 180/380 das erste Kalibrierbild 400 (von 5A) des mindestens einen Paars von Kalibrierbildern erzeugt, während die erste Lichtquelle 120/320 aktiviert wird und die zweite Lichtquelle 130/330 deaktiviert wird, wobei das mindestens eine Paar von Kalibrierbildern ein Teil des zweiten Satzes von einem oder mehreren Kalibrierbildern ist, die durch die zweite Kamera 180/380 erfasst oder anderweitig erzeugt werden. Da in der obigen Ausführungsform die zweite Lichtquelle 130/330 deaktiviert wird, wird kein Licht zur zweiten Oberfläche 154/354 von 1B, 1D-1E/3A (z. B. untere Oberfläche) der Plattform 150/350 von 1B oder 3A und auch nicht zur zusätzlichen Fläche (z. B. Fläche 362F) des Polyeders (z. B. 362) des Kalibriermusters 160/360 geliefert. Folglich kann die zusätzliche Fläche des Polyeders im ersten Kalibrierbild (z. B. 400) des Paars von Kalibrierbildern dunkel erscheinen. Ferner kann das 3D-Kalibriermuster 160/360 die erste Lichtquelle 120/320 verdunkeln oder verdecken oder allgemeiner die zweite Kamera 180/380 von der ersten Lichtquelle 120/320, die aktiviert ist, teilweise oder vollständig abschirmen. Eine solche Bedingung kann die Silhouette 412 der zusätzlichen Fläche (z. B. 362F) des Polyeders des 3D-Kalibriermusters 160/360 weiter betonen.
  • In einer Ausführungsform kann das zweite Kalibrierbild 450 von 5B erzeugt werden, während eine Vorderseitenbeleuchtungsbedingung besteht, wie vorstehend erörtert. In einem Beispiel kann die Vorderseitenbeleuchtungsbedingung herbeigeführt werden, wenn die erste Lichtquelle 120/320 (z. B. obere LED) von 1B oder 3A deaktiviert wird und die zweite Lichtquelle 130/330 (z. B. untere LED) aktiviert wird. Die Steuerschaltung 111 kann beispielsweise über die Kommunikationsschnittstelle 113 einen zweiten Satz von einem oder mehreren Lichtquellenbefehlen an die erste Lichtquelle 120/320 und an die zweite Lichtquelle 130/330 ausgeben, um zu bewirken, dass die zweite Lichtquelle 120/320 aktiviert wird. In einigen Fällen kann der zweite Satz von einem oder mehreren Lichtquellenbefehlen auch bewirken, dass die erste Lichtquelle 120/320 deaktiviert wird. Die Steuerschaltung 111 kann ferner über die Kommunikationsschnittstelle 113 einen zweiten Satz von einem oder mehreren Kamerabefehlen an die zweite Kamera 180/320 ausgeben, um zu bewirken, dass die zweite Kamera 180/380 das zweite Kalibrierbild 450 des mindestens einen Paars von Kalibrierbildern erzeugt, während die zweite Lichtquelle 130/330 aktiviert ist und die erste Lichtquelle 120/320 deaktiviert ist, wobei das mindestens eine Paar von Kalibrierbildern ein Teil des zweiten Satzes von einem oder mehreren Kalibrierbildern ist, die durch die zweite Kamera 180/380 erfasst werden. Wie in 5B dargestellt, kann das zweite Kalibrierbild 450 einen Bildabschnitt 466F aufweisen, der ein zusätzliches 2D-Kalibriermuster (z. B. 2D-Kalibriermuster 366F von 3E) der Vielzahl von 2D-Kalibriermustern (z. B. 366A-366F) des 3D-Kalibriermusters 160/360 erfasst, wobei das zusätzliche 2D-Kalibriermuster auf der zusätzlichen Fläche (z. B. Fläche 362F) des Polyeders des 3D-Kalibriermusters 160/360 angeordnet ist.
  • 5A und 5B stellen eine Ausführungsform dar, in der der zweite Satz von Kalibrierbildern in Schritt 203 nur die zusätzliche Fläche (z. B. Fläche 362F) des Polyeders des 3D-Kalibriermusters erfassen kann und nicht irgendeine des ersten Satzes von Flächen (z. B. Flächen 366A-366E) des Polyeders erfasst. Die zusätzliche Fläche kann eine Fläche sein, die direkt mit der Plattform 150/350 in Kontakt steht. In anderen Ausführungsformen kann der zweite Satz von Kalibrierbildern auch eine oder mehrere des ersten Satzes von Flächen (z. B. Fläche 366C oder 366E in 3D und 3E) des Polyeders des 3D-Kalibriermusters erfassen. Die zweite Kamera 180/380 kann beispielsweise eine oder mehrere des ersten Satzes von Flächen in einem Winkel betrachten können und Kalibrierbilder erzeugen, die die eine oder die mehreren des ersten Satzes von Flächen (zusätzlich zum Erfassen der zusätzlichen Fläche 362F) erfassen. Da jedoch die zweite Kamera 180/380 die eine oder die mehreren des ersten Satzes von Flächen (z. B. Fläche 362C) durch ein transparentes Material der Plattform 150/350 betrachtet, kann das transparente Material eine Verzerrung dahingehend einführen, wie der erste Satz von Flächen im zweiten Satz von einem oder mehreren Kalibrierbildern erscheint, insbesondere wenn die zweite Kamera 180/380 den ersten Satz von Flächen nicht frontal betrachtet. Folglich kann die Steuerschaltung 111 in einigen Implementierungen vom zweiten Satz von einem oder mehreren Kalibrierbildern Bildabschnitte entfernen, die irgendeine des ersten Satzes von Flächen (z. B. Flächen 362C, 362E) des Polyeders erfassen. In einigen Implementierungen kann die Steuerschaltung 111 einfach Bildabschnitte des zweiten Satzes von einem oder mehreren Kalibrierbildern ignorieren, die irgendeine des ersten Satzes von Flächen erfassen.
  • In einer Ausführungsform kann die Steuerschaltung 111 dazu eingerichtet sein, eine Abschätzung eines Kalibrierparameters für die zweite Kamera 170/380 auf der Basis des zweiten Satzes von einem oder mehreren Kalibrierbildern zu bestimmen. Die Steuerschaltung 111 kann beispielsweise dazu eingerichtet sein, eine intrinsische Kalibrierung für die zweite Kamera 180/380 durchzuführen, um eine Abschätzung eines intrinsischen Kalibrierparameters, wie z. B. eine Projektionsmatrix Kcamera2 oder einen Verzerrungsparameter, für die zweite Kamera 180/380 zu bestimmen. In einigen Fällen kann der Kalibrierparameter eine Transformationsfunktion T C a m e r a  2 2 D   P a t t e r n  6
    Figure DE102020106965A1_0022
    umfassen, wobei sich das 2D-Muster 6 (2D Pattern 6) z. B. auf das zusätzliche 3D-Kalibriermuster 366F beziehen kann und wobei sich die Kamera 2 (Camera 2) auf die zweite Kamera 380 beziehen kann. In einer Ausführungsform kann die Abschätzung des intrinsischen Kalibrierparameters oder von T C a m e r a  2 2 D   P a t t e r n  6
    Figure DE102020106965A1_0023
    auf der Basis von Musterelementen (z. B. Punkten) des zusätzlichen 2D-Kalibriermusters (z. B. 2D-Kalibriermusters 366F) bestimmt werden, die im Kalibrierbild 450 oder in irgendeinem anderen Kalibrierbild des zweiten Satzes von einem oder mehreren Kalibrierbildern erscheinen, in denen die Musterelemente erscheinen. Die Abschätzung kann in einer Weise ähnlich zu jener für die erste Kamera 170/370 durchgeführt werden.
  • In einer Ausführungsform kann jedes des ersten Satzes von Kalibrierbildern, die durch die erste Kamera 170/370 für Schritt 201 erzeugt werden, jeweils mindestens einem des zweiten Satzes von Kalibrierbildern entsprechen, die durch die zweite Kamera 180/380 für Schritt 203 erzeugt werden, oder umgekehrt. In einigen Fällen kann ein Kalibrierbild des ersten Satzes von Kalibrierbildern als einem Kalibrierbild des zweiten Satzes von einem oder mehreren Kalibrierbildern entsprechend betrachtet werden, wenn das 3D-Kalibriermuster 160/360 relativ zur ersten Kamera 170/370 und relativ zur zweiten Kamera 180/380 in einer Zeitdauer zwischen dann, wenn das Kalibrierbild des ersten Satzes von Kalibrierbildern erzeugt wurde und wenn das Kalibrierbild des zweiten Satzes von einem oder mehreren Kalibrierbildern stationär geblieben ist. In einigen Fällen kann ein Kalibrierbild, das durch die erste Kamera 170/370 erfasst oder anderweitig erzeugt wird, als einem Kalibrierbild entsprechend betrachtet werden, das durch die zweite Kamera 180/380 erfasst oder anderweitig erzeugt wird, wenn die zwei Kalibrierbilder erfasst oder anderweitig erzeugt wurden, während das 3D-Kalibriermuster 160/360 sich an einem gleichen Ort und/oder in einer gleichen Pose auf der Plattform 150/350 für beide Kalibrierbilder befand.
  • Mit Rückkehr zu 2 kann das Verfahren 200 ferner Schritte 205-209 umfassen, in denen die Steuerschaltung 111 Koordinaten eines Satzes von Ecken des Polyeders (z. B. Polyeders 362) des 3D-Kalibriermusters 160/360 bestimmen kann. Die Steuerschaltung 111 kann einen Satz von Koordinaten für diese Ecken relativ zur ersten Kamera 170/370 (z. B. in einem Koordinatensystem der ersten Kamera 170/370) bestimmen und einen Satz von Koordinaten für dieselben Ecken relativ zur zweiten Kamera 180/380 (z. B. in einem Koordinatensystem der zweiten Kamera 180/380) bestimmen. In einigen Fällen kann die Steuerschaltung 111 die zwei Sätze von Koordinaten verwenden, um eine räumliche Beziehung zwischen der ersten Kamera 170/370 und der zweiten Kamera 180/380 zu bestimmen. Die räumliche Beziehung kann einen Ort und/oder eine Orientierung der ersten Kamera 170/370 relativ zur zweiten Kamera 180/380 oder umgekehrt beschreiben. In einem Beispiel kann die räumliche Beziehung als Matrix T C a m e r a  1 C a m e r a   2
    Figure DE102020106965A1_0024
    ausgedrückt werden, die eine lineare Transformation zwischen einem Koordinatensystem der ersten Kamera 170/370 (die als Kamera 1 benannt ist) und einem Koordinatensystem der zweiten Kamera 180/380 (die als Kamera 2 benannt ist) ausdrückt.
  • Insbesondere kann die Steuerschaltung 111 in Schritt 205 auf der Basis des ersten Satzes von 2D-Kalibriermustern (z. B. 2D-Kalibriermustern 366A-366E) einen ersten Satz von Koordinaten zum Darstellen eines Satzes von jeweiligen Ecken der zusätzlichen Fläche (z. B. Fläche 362F) des Polyeders (z. B. Polyeders 362) relativ zu einem Ort und einer Orientierung der ersten Kamera 170/370 bestimmen. Der Satz von jeweiligen Ecken kann beispielsweise ein Satz von vier Ecken 364a-364d der Fläche 362F sein, wie in 3C dargestellt. In einigen Fällen kann dieser Satz von jeweiligen Ecken 364a-364d untere Ecken des Polyeders 362 des 3D-Kalibriermusters 360 sein. In einigen Fällen kann der erste Satz von Koordinaten sich in einem Koordinatensystem der ersten Kamera 170/370 befinden. In einer Ausführungsform kann der Satz von jeweiligen Ecken immer für die zweite Kamera 180/380 sichtbar sein, da sie Ecken z. B. einer unteren Fläche eines Polyeders (z. B. Polyeders 362) des 3D-Kalibriermusters 160/360 sind, wohingegen eine oder mehrere des Satzes von jeweiligen Ecken manchmal für die erste Kamera 170/370 nicht sichtbar sein können. In einer Ausführungsform kann die Steuerschaltung 111 Schritt 205 für jedes Kalibrierbild des ersten Satzes von Kalibrierbildern durchführen, die in Schritt 201 empfangen werden, wobei der Schritt 205 auf der Basis der 2D-Kalibriermuster und der Musterelemente, die im Kalibrierbild erfasst sind, durchgeführt werden kann.
  • In einigen Fällen kann die Steuerschaltung 111 definierte Informationen (auch als vordefinierte Informationen bezeichnet) hinsichtlich einer Geometrie des 3D-Kalibriermusters 160/360 verwenden, um den ersten Satz von Koordinaten zu bestimmen. Schritt 205 kann beispielsweise das Bestimmen eines 3D-Modells des Polyeders (z. B. Polyeders 362) auf der Basis des ersten Satzes von 2D-Kalibriermustern (z. B. 366A-366E) im ersten Satz von Kalibrierbildern beinhalten. In einer solchen Ausführungsform kann der erste Satz von Koordinaten für den Satz von jeweiligen Ecken (z. B. Ecken 364a-364d) der zusätzlichen Fläche des Polyeders auf der Basis des 3D-Modells des Polyeders (z. B. Polyeders 362) bestimmt werden. In einer Ausführungsform kann das 3D-Modell des Polyeders eine dreidimensionale Struktur des Polyeders beschreiben. Das 3D-Modell kann beispielsweise eine räumliche Beziehung zwischen Flächen des Polyeders beschreiben. In einigen Fällen kann die räumliche Beziehung zwischen zwei oder mehr Flächen des Polyeders als Transformationsfunktion wie z. B. Matrix ausgedrückt werden.
  • Als Beispiel zum Erzeugen und Verwenden des 3D-Modells des Polyeders des 3D-Kalibriermusters kann die Steuerschaltung 111 auf der Basis des ersten Satzes von 2D-Kalibriermustern (z. B. 362A-362E) Informationen bestimmen, die jeweilige imaginäre Ebenen beschreiben, die durch den ersten Satz von Flächen (z. B. 362A-362E) des Polyeders (z. B. Polyeders 362) gebildet sind. In diesem Beispiel kann das 3D-Modell des Polyeders durch zumindest die Informationen dargestellt werden, die die jeweiligen imaginären Ebenen beschreiben. In einigen Fällen kann die Steuerschaltung 111 eine Koordinate einer Ecke des Polyeders, wie z. B. einer Ecke einer oberen Fläche des Polyeders (z. B. Fläche 362A in 3B), als Schnitt von drei imaginären Ebenen bestimmen, die den drei jeweiligen Flächen des Polyeders (z. B. Fläche 362A, Fläche 362B und Fläche 362C des Polyeders 362) entsprechen. Der Schnitt kann auch als Ort bezeichnet werden, an dem mindestens drei der jeweiligen imaginären Ebenen sich schneiden. In einigen Fällen kann das 3D-Modell des Polyeders ferner einen definierten Wert einer Abmessung des Polyeders umfassen. Da die Abmessung (z. B. Größe) des Polyeders des Kalibriermusters 160/360 einen definierten Wert aufweist, der gespeichert oder anderweitig für die Steuerschaltung 111 zugänglich sein kann, kann die Steuerschaltung 111 die definierte Abmessung verwenden, um eine Koordinate einer anderen Ecke des Polyeders weiter zu bestimmen, wie z. B. einer Ecke einer unteren Fläche des Polyeders, wie nachstehend genauer erörtert.
  • In einer Ausführungsform kann die Steuerschaltung 111 Informationen, die die jeweiligen imaginären Ebenen beschreiben, auf der Basis einer Beziehung zwischen dem ersten Satz von Flächen (z. B. Flächen 366A-366E) des Polyeders (z. B. Polyeders 362) bestimmen. Als Beispiel kann das 3D-Kalibriermuster 360 von 3A durch sechs imaginäre Ebenen definiert sein, die jeweilige Orientierungen der sechs Flächen 362A-362F des Polyeders 362 des 3D-Kalibriermusters 360 definieren. Die sechs imaginären Ebenen können mit den sechs Flächen 362A-362F jeweils koplanar sein. In einer Ausführungsform kann die Steuerschaltung 111 dazu eingerichtet sein, eine spezielle imaginäre Ebene auf der Basis von Musterelementen eines 2D-Kalibriermusters zu identifizieren, das auf einer Fläche angeordnet ist, die der imaginären Ebene entspricht. Die Steuerschaltung 111 kann beispielsweise dazu eingerichtet sein, eine imaginäre Ebene, die durch die Fläche 362A des Polyeders 362 von 3D definiert ist, auf der Basis von Orten von mindestens drei Punkten des 2D-Kalibriermusters 366A zu identifizieren, das auf der Fläche 362A angeordnet ist, wobei die mindestens drei Punkte nicht kollinear sind. Insbesondere kann die Steuerschaltung 111 dazu eingerichtet sein, Informationen zu bestimmen, die die imaginäre Ebene identifizieren, die durch die Fläche 362A definiert ist. Die Informationen können die Form z. B. eines Vektors, der zur imaginären Ebene normal ist, einer Gleichung, die die Ebene darstellt (z. B. ax + by + cz =0), oder irgendeine andere Form von Informationen aufweisen. Die Steuerschaltung 111 kann dazu eingerichtet sein, diese Informationen auf der Basis der jeweiligen Orte der mindestens drei Punkte des 2D-Kalibriermusters 366A zu bestimmen. Ebenso kann die Steuerschaltung 111 dazu eingerichtet sein, jeweilige imaginäre Ebenen, die durch eine oder mehrere der Flächen 362B-362E definiert sind, auf der Basis von Orten von Musterelementen der 2D-Kalibriermuster 366B-366E zu identifizieren.
  • Wie vorstehend angegeben, kann die Steuerschaltung 111 eine räumliche Beziehung zwischen dem ersten Satz von Flächen (z. B. Flächen 366A-366E) des Polyeders bestimmen. In einer solchen Ausführungsform können die Informationen, die die jeweiligen imaginären Ebenen beschreiben, auf einer räumlichen Beziehung zwischen dem ersten Satz von Flächen (z. B. Flächen 366A-366E) des Polyeders (z. B. Polyeders 362) basieren. In einer Ausführungsform kann die räumliche Beziehung zwischen dem ersten Satz von Flächen als Transformationsfunktion T 2D Pattern  N 2 D   P a t t e r n   M
    Figure DE102020106965A1_0025
    ausgedrückt werden, wobei das 2D-Muster M (2D Pattern M) eines des ersten Satzes von 2D-Kalibriermustern (z. B. eines des ersten Satzes von 2D-Kalibriermustern 366A-366E) ist und das 2D-Muster N (2D Pattern N) ein anderes des ersten Satzes von 2D-Kalibriermustern ist. T 2D Pattern 2 2 D   P a t t e r n  1
    Figure DE102020106965A1_0026
    kann beispielsweise eine Drehung von 90 Grad zwischen einer durch das 2D-Kalibriermuster 362A gebildeten imaginären Ebene und einer durch das 2D-Kalibriermuster 362B gebildeten imaginären Ebene beschreiben, wobei das 2D-Muster 1 sich auf das 2D-Kalibriermuster 366A von 3D bezieht und das 2D-Muster 2 sich auf das 2D-Kalibriermuster 366B von 3D bezieht. Diese durch die Transformationsfunktion beschriebene räumliche Beziehung kann verwendet werden, um Informationen für die imaginären Ebenen in einem gemeinsamen Koordinatensystem auszudrücken. Als Beispiel zum Bestimmen von T 2D Pattern 2 2 D   P a t t e r n  1
    Figure DE102020106965A1_0027
    kann die Steuerschaltung 111 T 2D Pattern 2 2 D   P a t t e r n  1
    Figure DE102020106965A1_0028
    auf der Basis von T C a m e r a  1 2 D   P a t t e r n  1
    Figure DE102020106965A1_0029
    und T C a m e r a  1 2 D   P a t t e r n  2
    Figure DE102020106965A1_0030
    bestimmen. Die Bestimmung von T C a m e r a  1 2 D   P a t t e r n  1  und  T C a m e r a  1 2 D   P a t t e r n  2
    Figure DE102020106965A1_0031
    ist vorstehend beschrieben. In einem Beispiel kann diese Bestimmung von T C a m e r a  1 2 D   P a t t e r n  1  und  T C a m e r a  1 2 D   P a t t e r n  2
    Figure DE102020106965A1_0032
    das Lösen der folgenden Gleichung beinhalten: [ u v 1 ] = k C a m e r a 1 T C a m e r a   1 2 D  Pattern  N [ x y z 1 ] 2 D   P a t t e r n   N
    Figure DE102020106965A1_0033
  • In der obigen Gleichung kann sich [u, v] auf eine Pixelkoordinate beziehen, an der ein Musterelement des 2D-Kalibriermusters N (z. B. 366A oder 366B) in einem Kalibrierbild erscheint, und kCamera1 kann eine Projektionsmatrix der ersten Kamera 170/370 sein. Das Kalibrierbild kann eines des ersten Satzes von Kalibrierbildern sein, die in Schritt 201 empfangen werden. Ferner kann die Koordinate [x, y, z] eine definierte Koordinate dieses Musterelements in einem Koordinatensystem des 2D-Kalibriermusters N sein (auch als Musterkoordinatensystem des 2D-Kalibriermusters N bezeichnet). Wie vorstehend angegeben, können T C a m e r a   1 2 D  Pattern  1
    Figure DE102020106965A1_0034
    und T C a m e r a   1 2 D  Pattern  2
    Figure DE102020106965A1_0035
    so bestimmt werden, dass sie eine räumliche Beziehung zwischen dem 2D-Kalibriermuster 366A (als 2D-Muster 1 benannt) und dem 2D-Kalibriermuster 366B (als 2D-Muster 2 benannt) bestimmen. In einem Beispiel kann die räumliche Beziehung zwischen dem 2D-Kalibriermuster 366A und dem 2D-Kalibriermuster 366B auf der Basis der folgenden Gleichung bestimmt werden: T 2 D   P a t t e r n 2 C a m e r a   1 T C a m e r a   1 2 D  Pattern  1 = T 2 D   P a t t e r n 2 2 D   P a t t e r n 1
    Figure DE102020106965A1_0036
  • Im obigen Beispiel kann die Transformationsfunktion T 2 D   P a t t e r n _ 2 2 D   P a t t e r n _ 1
    Figure DE102020106965A1_0037
    ferner eine räumliche Beziehung zwischen der Fläche 362A und der Fläche 362B des Polyeders 362 von 3D beschreiben, da das 2D-Kalibriermuster 366A auf der Fläche 362A angeordnet ist und das 2D-Kalibriermuster 366B auf der Fläche 362B angeordnet ist. In einem Beispiel, wie vorstehend angegeben, kann T 2 D   P a t t e r n _ 2 2 D   P a t t e r n _ 1
    Figure DE102020106965A1_0038
    eine Drehung von 90 Grad zwischen der Fläche 362A und der Fläche 362B beschreiben. In einer Ausführungsform kann die Steuerschaltung 111 ferner in einer ähnlichen Weise wie vorstehend beschrieben eines oder mehrere von T 2 D   P a t t e r n _ 3 2 D   P a t t e r n _ 1 ,   T 2 D   P a t t e r n _ 4 2 D   P a t t e r n _ 1 ,
    Figure DE102020106965A1_0039
    T 2 D   P a t t e r n _ 5 2 D   P a t t e r n _ 1
    Figure DE102020106965A1_0040
    bestimmen (wobei sich 2D-Muster (2D Pattern) 3, 4 und 5 jeweils auf die 2D-Kalibriermuster 366C-366E beziehen) oder eine Transformationsfunktion zwischen irgendeiner anderen Kombination von 2D-Kalibriermustern bestimmen.
  • In einer Ausführungsform kann die Steuerschaltung 111 die räumliche Beziehung zwischen dem ersten Satz von Flächen (z. B. Flächen 366A-366E) des Polyeders (z. B. Polyeders 362) verwenden, um einen Satz von Koordinaten für einen ersten Satz von Ecken (z. B. oberen Ecken) des Polyeders zu bestimmen. Diese Koordinaten können verwendet werden, um Koordinaten für andere Ecken (z. B. untere Ecken) des Polyeders zu bestimmen. Die räumliche Beziehung kann beispielsweise durch eine Transformationsfunktion beschrieben werden, wie z. B. durch T 2 D   P a t t e r n _ 2 2 D   P a t t e r n _ 1  und  T 2 D   P a t t e r n _ 3 2 D   P a t t e r n _ 1 ,
    Figure DE102020106965A1_0041
    und der erste Satz von Ecken kann Ecken der Fläche 362A des Polyeders 362 von 3D sein. In diesem Beispiel kann die Steuerschaltung 111 Informationen bestimmen, die eine erste imaginäre Ebene identifizieren, die durch die Fläche 362A definiert ist, Informationen bestimmen, die eine zweite imaginäre Ebene identifizieren, die durch die Fläche 362B definiert ist, und Informationen bestimmen, die eine dritte imaginäre Ebene identifizieren, die durch die Fläche 362C von 3D definiert ist, wie vorstehend beschrieben. In einer Ausführungsform kann die Steuerschaltung T 2 D   P a t t e r n _ 2 2 D   P a t t e r n _ 1  und  T 2 D   P a t t e r n _ 3 2 D   P a t t e r n _ 1
    Figure DE102020106965A1_0042
    verwenden, um die obigen Informationen in einem gemeinsamen Koordinatensystem wie z. B. einem Koordinatensystem des Musters 1 auszudrücken, das das 2D-Kalibriermuster 366A ist. Insbesondere wenn die Steuerschaltung 111 die Informationen bestimmt, die die sekundäre imaginäre Ebene identifizieren, können diese Informationen anfänglich relativ zu einem Koordinatensystem des Musters 2 ausgedrückt werden, das das 2D-Kalibriermuster 366B ist, das auf der Fläche 362B angeordnet ist. Wenn die Steuerschaltung 111 die Informationen bestimmt, die die dritte imaginäre Ebene identifizieren, können diese Informationen ebenso anfänglich relativ zu einem Koordinatensystem des Musters 3 ausgedrückt werden, das das 2D-Kalibriermuster 366C ist, das auf der Fläche 362C angeordnet ist. Die Steuerschaltung 111 kann T 2 D   P a t t e r n _ 2 2 D   P a t t e r n _ 1
    Figure DE102020106965A1_0043
    oder ein Inverses davon auf die Informationen anwenden (z. B. damit multiplizieren), die die zweite imaginäre Ebene identifizieren, um die Informationen (z. B. einen normalen Vektor oder eine Gleichung, die die imaginäre Ebene beschreibt) umzuwandeln, davon, dass sie im Koordinatensystem des 2D-Kalibriermusters 366B ausgedrückt sind, dazu, dass sie sich im Koordinatensystem des 2D-Kalibriermusters 366A befinden. Die Steuerschaltung 111 kann ferner T 2 D   P a t t e r n _ 3 2 D   P a t t e r n _ 1
    Figure DE102020106965A1_0044
    oder ein Inverses davon auf die Informationen anwenden, die die dritte imaginäre Ebene identifizieren, um die Informationen umzuwandeln, davon, dass sie im Koordinatensystem des 2D-Kalibriermusters 366C ausgedrückt sind, dazu, dass sie sich im Koordinatensystem des 2D-Kalibriermusters 366A befinden.
  • In einer Ausführungsform kann, nachdem die Informationen, die die erste imaginäre Ebene, die zweite imaginäre Ebene und die dritte imaginäre Ebene identifizieren, relativ zu einem gemeinsamen Koordinatensystem ausgedrückt sind, wie z. B. einem Koordinatensystem des 2D-Kalibriermusters 366A, die Steuerschaltung 111 dazu eingerichtet sein, eine Koordinate zu bestimmen, an der sich die erste imaginäre Ebene, die zweite imaginäre Ebene und die dritte imaginäre Ebene schneiden. Diese Koordinate kann ein Ort von einer des ersten Satzes von Ecken (z. B. einer Ecke der Fläche 362A, die direkt über der Ecke 364b von 3C liegt) sein. In einer Ausführungsform kann die Bestimmung dieses Schnitts stattfinden, nachdem die Steuerschaltung 111 Informationen bestimmt hat, die eine vierte imaginäre Ebene und eine fünfte imaginäre Ebene identifizieren, wie nachstehend genauer erörtert.
  • Insbesondere können im obigen Beispiel die erste imaginäre Ebene, die zweite imaginäre Ebene und die dritte imaginäre Ebene durch eine erste Fläche 362A, eine zweite Fläche 362B und eine dritte Fläche 362C des ersten Satzes von Flächen 362A-362E des Polyeders 362 definiert sein oder allgemeiner damit koplanar sein. In einer Ausführungsform kann die Steuerschaltung 111 dazu eingerichtet sein, Informationen zu bestimmen, die eine vierte imaginäre Ebene identifizieren, die durch eine vierte Fläche 362D des ersten Satzes von Flächen 362A-362E des Polyeders (z. B. 362) definiert ist oder allgemeiner damit koplanar ist. Diese Bestimmung kann auf einer definierten Abmessung „d“ des Polyeders 362 des 3D-Kalibriermusters 360 basieren. Wie vorstehend angegeben, kann die definierte Abmessung „d“ ein Teil eines 3D-Modells des Polyeders 362 sein. Das 3D-Modell kann beispielsweise angeben, dass das Polyeder 362 ein Würfel ist. Die Steuerschaltung 111 kann bestimmen, dass, da das Polyeder 362 ein Würfel mit einer Abmessung „d“ ist, die vierte Fläche 362D somit zur ersten Fläche 362A parallel ist und von der ersten Fläche 362A um einen Abstand gleich der definierten Abmessung „d“ getrennt ist. Die Steuerschaltung 111 kann dann die vierte imaginäre Ebene als imaginäre Ebene bestimmen, die zur ersten imaginären Ebene parallel ist und von der ersten imaginären Ebene um einen Abstand gleich der Abmessung „d“ getrennt ist.
  • Ebenso kann die Steuerschaltung 111 dazu eingerichtet sein, Informationen zu bestimmen, die eine fünfte imaginäre Ebene identifizieren, die durch eine fünfte Fläche 362E (von 3E) definiert ist oder allgemeiner damit koplanar ist. Die Steuerschaltung kann beispielsweise bestimmen, da das Polyeder 362 ein Würfel mit der Abmessung „d“ ist, dass die fünfte Fläche 362E daher zur dritten Fläche 362C parallel ist und von der dritten Fläche 362C um einen Abstand gleich der Abmessung „d“ getrennt ist. Die Steuerschaltung 111 kann dann die fünfte imaginäre Ebene als imaginäre Ebene bestimmen, die zur dritten imaginären Ebene parallel ist und die von der dritten imaginären Ebene um einen Abstand gleich der Abmessung „d“ getrennt ist.
  • In einer Ausführungsform kann die Steuerschaltung 111 Koordinaten von Punkten bestimmen, an denen die erste imaginäre Ebene bis fünfte imaginäre Ebene einander schneiden, wobei jeder der Punkte ein Schnitt von mindestens drei imaginären Ebenen aus der ersten imaginären Ebene bis zur fünften imaginären Ebene ist. In dem vorstehend beschriebenen Beispiel können die erste imaginäre Ebene bis zur fünften imaginären Ebene mindestens vier Schnittpunkte aufweisen, wobei jeder Schnittpunkt ein Schnitt von mindestens drei der imaginären Ebenen ist. Diese vier Schnittpunkte können mit den vier Ecken der Fläche 36A des Polyeders 362 übereinstimmen. Diese vier Ecken können der vorstehend angeführte erste Satz von Ecken sein. In einer Ausführungsform können diese vier Ecken ein Satz von oberen Ecken des Polyeders 362 sein. In einer Ausführungsform bestimmt die Steuerschaltung 111 die obigen Koordinaten anfänglich in einem Koordinatensystem z. B. des Musters 1, das das 2D-Kalibriermuster 366A ist. Die Steuerschaltung 111 kann dazu eingerichtet sein, T C a m e r a   1 2 D  Pattern 1
    Figure DE102020106965A1_0045
    zu verwenden, um diese Koordinaten umzuwandeln, davon, dass sie sich im Koordinatensystem des Musters 1 befinden, dazu, dass sie sich im Koordinatensystem der ersten Kamera 170/370 befinden. Diese Koordinaten können als zusätzlicher Satz von Koordinaten betrachtet werden, die verwendet werden können, um den ersten Satz von Koordinaten der Ecken der zusätzlichen Fläche (z. B. 362F) des Polyeders in Schritt 205 zu bestimmen.
  • Insbesondere kann mit Rückbezug auf Schritt 205 die Steuerschaltung 111 in einer Ausführungsform den ersten Satz von Koordinaten für den Satz von jeweiligen Ecken der zusätzlichen Fläche (z. B. Fläche 362F) des Polyeders (z. B. 362) des 3D-Kalibriermusters 160/360 auf der Basis von Koordinaten bestimmen, die vorstehend für den ersten Satz von Ecken bestimmt wurden. Die jeweiligen Ecken der zusätzlichen Fläche (z. B. Ecken 364a-364d) in Schritt 205 können beispielsweise untere Ecken des Polyeders (z. B. Polyeders 362) sein, während der erste Satz von Ecken, die vorstehend beschrieben sind (z. B. Ecken der Fläche 362A), obere Ecken des Polyeders sein können. In einigen Fällen können die Koordinaten des ersten Satzes von Ecken als zusätzlicher Satz von Koordinaten oder als dritter Satz von Koordinaten bezeichnet werden. In einem solchen Fall kann die Steuerschaltung 111 dazu eingerichtet sein, den ersten Satz von Koordinaten für die Ecken der zusätzlichen Fläche (z. B. die unteren Ecken) auf der Basis des zusätzlichen Satzes von Koordinaten oder des dritten Satzes von Koordinaten für den ersten Satz von Ecken (z. B. die oberen Ecken) und auf der Basis einer definierten Abmessung des Polyeders (z. B. 362) des 3D-Kalibriermusters 360 zu bestimmen.
  • Die Steuerschaltung 111 kann beispielsweise dazu eingerichtet sein, den ersten Satz von Koordinaten, die für die Ecken der zusätzlichen Fläche des Polyeders sind, als Satz von Koordinaten zu bestimmen, die jeweils von einer jeweiligen Koordinate des zusätzlichen Satzes von Koordinaten um einen Abstand gleich der definierten Abmessung „d“ getrennt sind. Wenn beispielsweise der zusätzliche Satz von Koordinaten die Koordinaten [x1, y1, z1], [x2, y2, z2], [x3, y3, z3], [x4, y4, z4] in einem Koordinatensystem des Kalibriermusters 366A des 3D-Kalibriermusters 360 umfasst, kann die Steuerschaltung 111 entsprechende Koordinaten des ersten Satzes von Koordinaten als gleich [x1, y1, z1-d], [x2, y2, z2-d], [x3, y3, z3-d], [x4, y4, z4-d], auch in einem Koordinatensystem des Kalibriermusters 366A bestimmen. In einem solchen Beispiel kann die Steuerschaltung 111 dazu eingerichtet sein, jedes von [x1, y1, z1-d], [x2, y2, z2-d], [x3, y3, z3-d], [x4, y4, z4-d] mit T C a m e r a   1 2 D  Pattern 1
    Figure DE102020106965A1_0046
    oder einem Inversen davon zu multiplizieren, um diese Koordinaten umzuwandeln, davon, dass sie sich im Koordinatensystem des Kalibriermusters 366A befinden, dazu, dass sie sich im Koordinatensystem der ersten Kamera 370 befinden.
  • Mit Rückkehr zu 2 kann das Verfahren 200 ferner einen Schritt 207 umfassen, in dem die Steuerschaltung 111 auf der Basis des zweiten Satzes von einem oder mehreren Kalibrierbildern, die in Schritt 203 empfangen werden, einen zweiten Satz von Koordinaten zum Darstellen des Satzes von jeweiligen Ecken (z. B. 364a-364d) der zusätzlichen Fläche (z. B. 362F) des Polyeders (z. B. 362) relativ zu einem Ort und einer Orientierung der zweiten Kamera 180/380 bestimmt. In einer Ausführungsform kann sich der zweite Satz von Koordinaten in einem Koordinatensystem der zweiten Kamera 180/380 befinden. Wie nachstehend genauer mit Bezug auf Schritt 209 erörtert, kann die Steuerschaltung 111 dazu eingerichtet sein, eine räumliche Beziehung zwischen der ersten Kamera 170/370 und der zweiten Kamera 180/380 durch Bestimmen einer Transformationsfunktion zu bestimmen, die den ersten Satz von Koordinaten in den zweiten Satz von Koordinaten oder umgekehrt umwandelt. Der erste Satz von Koordinaten kann aus mindestens einem Kalibrierbild des ersten Satzes von Kalibrierbildern bestimmt werden und der zweite Satz von Koordinaten kann aus einem oder mehreren entsprechenden Kalibrierbildern des zweiten Satzes von einem oder mehreren Kalibrierbildern bestimmt werden. Wie oben diskutiert, können ein von der ersten Kamera 170/370 aufgenommenes Kalibrierungsbild und ein von der zweiten Kamera 180/380 aufgenommenes Kalibrierungsbild einander entsprechen, wenn das 3D-Kalibrierungsmuster 160/360 zwischen der Aufnahme der beiden Kalibrierungsbilder relativ zu beiden Kameras stationär blieb. In dieser Ausführungsform kann die Steuerschaltung 111 den zweiten Satz von Koordinaten durch Identifizieren von Pixelkoordinaten (z. B. vier Pixelkoordinaten), an denen der Satz von jeweiligen Ecken (z. B. 364a-364d) in einem des zweiten Satzes von Kalibrierbildern erscheint, und Anwenden einer inversen Projektionsmatrix K C a m e r a 2 1
    Figure DE102020106965A1_0047
    auf die Pixelkoordinaten bestimmen, um entsprechende Koordinaten der jeweiligen Ecken in einem Koordinatensystem der zweiten Kamera 180/380 zu bestimmen. In einer Ausführungsform kann die Steuerschaltung 111 Schritt 207 für jedes Kalibrierbild des zweiten Satzes von einem oder mehreren Kalibrierbildern durchführen.
  • In einer Ausführungsform, wenn der zweite Satz von einem oder mehreren Kalibrierbildern mindestens ein Paar eines ersten Kalibrierbildes (z. B. 400 von 5A), das durch die zweite Kamera 180/380 unter einer ersten Beleuchtungsbedingung erfasst wird, und eines zweiten Kalibrierbildes (z. B. 450 von 5B), das durch die zweite Kamera 180/380 unter einer zweiten Beleuchtungsbedingung erfasst wird, umfasst, kann Schritt 207 unter Verwendung sowohl des ersten Kalibrierbildes des Paars als auch des zweiten Kalibrierbildes des Paars durchgeführt werden. Wenn der zweite Satz von einem oder mehreren Kalibrierbildern mehrere Paare eines jeweiligen ersten Kalibrierbildes und eines jeweiligen zweiten Kalibrierbildes umfasst, kann Schritt 207 für jedes Paar unter Verwendung des jeweiligen ersten Kalibrierbildes des Paars und des jeweiligen zweiten Kalibrierbildes des Paars durchgeführt werden. Ein Beispiel einer solchen Ausführungsform ist in 5C und 5D dargestellt. Insbesondere stellt 5C einen Abschnitt des ersten Kalibrierbildes 400 dar, das durch die zweite Kamera 180/380 unter einer ersten Beleuchtungsbedingung erfasst wird, und 5D stellt einen Abschnitt des zweiten Kalibrierbildes 450 dar, das durch die zweite Kamera 180/380 unter einer zweiten Beleuchtungsbedingung erfasst wird. In diesem Beispiel kann die Steuerschaltung 111 auf der Basis des zweiten Kalibrierbildes 450 von 5B und 5D einen Satz von Pixelregionen bestimmen, in denen jeweilige Ecken des zusätzlichen 2D-Kalibriermusters (z. B. 2D-Kalibriermusters 366F) im zweiten Kalibrierbild 450 des Paars von Bildern erscheinen, die durch die zweite Kamera 180/380 erfasst werden. 5D stellt beispielsweise ein Beispiel dar, in dem die Steuerschaltung 111 einen Satz von Pixelregionen 480a-480d bestimmt hat, in denen vier jeweilige Ecken des zusätzlichen Kalibriermusters 366F (von 3E) erscheinen. In einer Ausführungsform kann die Steuerschaltung 111 den Satz von Pixelregionen 480a-480d als Regionen im zweiten Kalibrierbild 450 bestimmen oder anderweitig identifizieren, die nahe jeweiligen Umfangsmusterelementen (z. B. Umfangspunkten) liegen, die im zweiten Kalibrierbild 450 erscheinen. In einigen Fällen kann ein Umfangsmusterelement ein Musterelement sein, das kein benachbartes Musterelement auf mindestens einer Seite dieses Musterelements aufweist oder das kein benachbartes Musterelement auf mehreren Seiten dieses Musterelements aufweist. 5D stellt beispielsweise Umfangsmusterelemente 482a-482d dar, die im zweiten Kalibrierbild 450 erscheinen, wobei jedes der Umfangsmusterelemente 482-482d kein benachbartes Musterelement auf mindestens zwei Seiten des Umfangsmusterelements aufweist. In einigen Fällen, wie in 5D dargestellt, kann jede der Pixelregionen 480a-480d eine definierte Größe aufweisen und/oder kann von den jeweiligen Umfangsmusterelementen 482a-482d um einen definierten Abstand getrennt sein. In anderen Fällen kann jede der Pixelregionen 480a-480d die jeweiligen Umfangsmusterelemente 482a-482d umfassen.
  • In einer Ausführungsform kann, wenn die Steuerschaltung 111 die Pixelregionen 480a-480d im zweiten Kalibrierbild 450 von 5D identifiziert oder anderweitig bestimmt hat, die Steuerschaltung das erste Kalibrierbild 400 von 5C auch innerhalb des Satzes von Pixelregionen 480a-480d durchsuchen, um Pixelkoordinaten zu identifizieren, an denen der Satz von jeweiligen Ecken (z. B. 364a-364d von 3C) der zusätzlichen Fläche (z. B. 362F) im ersten Kalibrierbild 400 des Paars von Bildern erscheint, die durch die zweite Kamera 180/380 erfasst werden. Wenn beispielsweise die Steuerschaltung 111 aus dem zweiten Kalibrierbild 450 des Paars von Bildern bestimmt, dass eine der Pixelregionen eine rechteckige Region ist, die durch Pixel [u1, v1], [u2, v2], [u3, v3], [u4, v4] begrenzt ist, kann die Steuerschaltung 111 dieselbe rechteckige Region (d. h. die durch die Pixel [u1, v1], [u2, v2], [u3, v3], [u4, v4] begrenzte Region) im ersten Kalibrierbild 400 des Paars von Bildern durchsuchen, um eine Pixelkoordinate [ua, va] von einer der jeweiligen Ecken der zusätzlichen Fläche des Polyeders zu identifizieren.
  • In einer Ausführungsform wird der zweite Satz von Koordinaten für den Satz von jeweiligen Ecken in Schritt 207 auf der Basis der Pixelkoordinaten bestimmt, an denen der Satz von jeweiligen Ecken im ersten Kalibrierbild (z. B. 400) des Paars von Kalibrierbildern erscheint, die durch die zweite Kamera 180/380 erfasst werden. Wie vorstehend angegeben, kann die Steuerschaltung 111 beispielsweise eine Pixelkoordinate [ua, va] von einer der jeweiligen Ecken der zusätzlichen Fläche des Polyeders identifizieren. In diesem Beispiel kann die Steuerschaltung 111 dann eine des zweiten Satzes von Koordinaten [x' y' z'] auf der Basis des Ergebnisses der Berechnung von K C a m e r a 2 1
    Figure DE102020106965A1_0048
    [ua, va]T bestimmen.
  • Die obige Ausführungsform, die die Verwendung eines Paars von Kalibrierbildern beinhaltet, die unter Verwendung von verschiedenen jeweiligen Beleuchtungsbedingungen erfasst wurden, kann eine Robustheit verbessern, mit der die Pixelkoordinaten der jeweiligen Ecken der zusätzlichen Fläche bestimmt werden. Mit Bezug auf 5A-5D kann beispielsweise das erste Kalibrierbild 400 des Paars einen Abbildungsfehler als Folge einer Verzerrung umfassen, die durch ein transparentes Material der Plattform 150/350 oder durch irgendeine andere Quelle eines Abbildungsfehlers verursacht wird. In einigen Fällen kann der Abbildungsfehler verursachen, dass einige Abschnitte des ersten Kalibrierbildes 400 fehlerhaft als Ecke einer Fläche eines Polyeders des 3D-Kalibriermusters 160/360 erscheinen. Die Steuerschaltung 111 kann jedoch vermeiden, fehlerhaft solche Abschnitte als Ecke der Fläche des Polyeders zu identifizieren, durch Begrenzen ihrer Suche auf nur jene Pixelregionen, die aus dem zweiten Kalibrierbild 450 des Paars identifiziert werden. Das zweite Kalibrierbild 450 kann ermöglichen, dass die Pixelregionen mit ausreichender Genauigkeit identifiziert werden, indem gestützt auf Punkte oder andere Musterelemente, die im zweiten Kalibrierbild 450 sichtbar sind, nur Regionen neben oder um einige dieser Musterelemente durchsucht werden, um die Ecken der Fläche des Polyeders zu detektieren. Folglich kann die Verwendung einer Kombination des ersten Kalibrierbildes 400, das unter einer ersten Beleuchtungsbedingung erfasst wird, und des zweiten Kalibrierbildes 450, das unter einer zweiten Beleuchtungsbedingung erfasst wird, eine Robustheit verbessern, mit der die Pixelkoordinaten der jeweiligen Ecken der zusätzlichen Fläche des 3D-Kalibriermusters 160/360 bestimmt werden.
  • In einer Ausführungsform kann Schritt 207 das Einstellen des zweiten Satzes von Koordinaten auf der Basis von Informationen vom zweiten Kalibrierbild 450 von 5B und 5D beinhalten. Die Steuerschaltung 111 kann beispielsweise auf der Basis der Silhouette 412 der zusätzlichen Fläche (z. B. Fläche 362F), die im ersten Kalibrierbild 400 von 5A und 5C erfasst wird, eine erste Abschätzung des zweiten Satzes von Koordinaten des Satzes von jeweiligen Ecken (z. B. 364a-364d) der zusätzlichen Fläche (z. B. Fläche 362F) des Polyeders (z. B. Polyeders 362) bestimmen. Als Beispiel kann die Steuerschaltung 111 die erste Abschätzung von Koordinaten der Ecken 364-364d als [a1', b1', c1'], [a2', b2', c2'], [a3', b3', c3'] und [a4', b4', c4'] bestimmen. Die Steuerschaltung 111 kann die erste Abschätzung auf der Basis dessen einstellen, ob die erste Abschätzung von Koordinaten der Ecken 364-364d auf eine imaginäre Ebene fällt, wobei die imaginäre Ebene auf der Basis von Musterelementen bestimmt wird, die im zweiten Kalibrierbild 450 erscheinen. Insbesondere kann die Steuerschaltung 111 ferner auf der Basis des zusätzlichen 2D-Kalibriermusters (z. B. 2D-Kalibriermusters 366F), das im zweiten Kalibrierbild 450 erfasst wird, Informationen bestimmen, die eine imaginäre Ebene beschreiben, die durch die zusätzliche Fläche (z. B. 362F) des Polyeders gebildet ist. Die imaginäre Ebene kann beispielsweise eine Ebene sein, die durch mindestens drei Punkte oder andere Musterelemente des zusätzlichen 2D-Kalibriermusters 366F definiert ist, wobei die mindestens drei Punkte nicht kollinear sind. Dann kann die Steuerschaltung 111 jeweilige Ausmaße an Abweichung zwischen der ersten Abschätzung des zweiten Satzes von Koordinaten (z. B. [a1', b1', c1'], [a2', b2', c2'], [a3', b3', c3'] und [a4', b4', c4']) und der imaginären Ebene bestimmen. Das Ausmaß der Abweichung für eine spezielle abgeschätzte Koordinate kann z. B. ein kleinster Abstand oder kürzester Abstand zwischen der abgeschätzten Koordinate und der imaginären Ebene sein. In dieser Ausführungsform kann die Steuerschaltung 111 eine zweite Abschätzung des zweiten Satzes von Koordinaten (z. B. [x1', y1', z1'], [x2', y2', z2'], [x3', y3', z3'] und [x4', y4', z4’]) auf der Basis der jeweiligen Ausmaße der Abweichung zwischen der ersten Abschätzung des zweiten Satzes von Koordinaten und der imaginären Ebene bestimmen. Die Steuerschaltung 111 kann beispielsweise die zweite Abschätzung des zweiten Satzes von Koordinaten (z. B. [x1', y1', z1'], [x2', y2', z2'], [x3', y3', z3'] und [x4', y4', z4']) durch Einstellen der ersten Abschätzung des zweiten Satzes von Koordinaten (z. B. [a1', b1', c1'], [a2', b2', c2'], [a3', b3', c3'] und [a4', b4', c4’]) in einer Weise bestimmen, die die jeweiligen Ausmaße der Abweichung zwischen der eingestellten Abschätzung des zweiten Satzes von Koordinaten und der imaginären Ebene verringert. In dieser Ausführungsform kann die zweite Abschätzung des zweiten Satzes von Koordinaten in Schritt 209 verwendet werden, der nachstehend genauer erörtert wird.
  • Mit Rückkehr zu 2 kann das Verfahren 200 ferner einen Schritt 209 umfassen, in dem die Steuerschaltung 111 auf der Basis des ersten Satzes von Koordinaten und des zweiten Satzes von Koordinaten eine Transformationsfunktion bestimmen kann, die eine räumliche Beziehung zwischen der ersten Kamera 170/370 und der zweiten Kamera 180/380 beschreibt. Die räumliche Beziehung kann z. B. einen Ort und eine Orientierung der ersten Kamera 170/370 relativ zur zweiten Kamera 180/380 oder umgekehrt beschreiben. In einer Ausführungsform kann die Transformationsfunktion eine Matrix T C a m e r a   1 C a m e r a   2
    Figure DE102020106965A1_0049
    sein, die eine lineare Transformation zwischen einem Koordinatensystem der Kamera 1, die die erste Kamera 170/370 ist, und einem Koordinatensystem der Kamera 2, die die zweite Kamera 180/380 ist, beschreibt. In einer Ausführungsform kann Schritt 209 das Bestimmen der Matrix T C a m e r a   1 C a m e r a   2
    Figure DE102020106965A1_0050
    auf der Basis der folgenden Gleichung (in homogener Form) beinhalten: [ X Y Z 1 ] C a m e r a 1 C o r n e r   N , C a l i b r a t i o n   i m a g e   M = T C a m e r a   1 C a m e r a   2 [ X ' Y ' Z ' 1 ] C a m e r a   2 C o r n e r   N , C o r r e s p o n d i n g   C a l i b r a t i o n   I m a g e ( s )
    Figure DE102020106965A1_0051
  • Im obigen Beispiel kann [X Y Z]T eine des ersten Satzes von Koordinaten sein, die in Schritt 205 bestimmt werden, und kann auf einen Ort und eine Orientierung der ersten Kamera 170/370 bezogen sein (z. B. in einem Koordinatensystem der ersten Kamera 170/370). Die Koordinate [X Y Z]T kann beispielsweise eine Koordinate z. B. der unteren Ecke 364a von 3C sein und kann aus einem Kalibrierbild M bestimmt werden, das eines des ersten Satzes von Kalibrierbildern ist, die in Schritt 201 empfangen werden, wie z. B. das Kalibrierbild 500 von 4A. In diesem Beispiel kann [X' Y' Z’]T eine des zweiten Satzes von Koordinaten sein, die in Schritt 207 bestimmt werden, und kann auf einen Ort und eine Orientierung der zweiten Kamera 170/370 bezogen sein (z. B. in einem Koordinatensystem der zweiten Kamera 180/380). Ferner kann die Koordinate [X' Y' Z’]T eine Koordinate derselben Ecke (z. B. der unteren Ecke 364a) sein, wie durch [X Y Z]T dargestellt, und kann aus einem oder mehreren Kalibrierbildern des zweiten Satzes von Kalibrierbildern von Schritt 203 bestimmt werden, die dem Kalibrierbild M entsprechen. Das eine oder die mehreren Kalibrierbilder können beispielsweise Kalibrierbilder 400 und 450 von 4A und 4B sein. Wie vorstehend angegeben, kann das Kalibrierbild 400/450 dem Kalibrierbild 500 entsprechen, wenn das 3D-Kalibriermuster 160/360 relativ zur ersten Kamera 170/370 und zur zweiten Kamera 180/380 zwischen dann, wenn das Kalibrierbild 400/450 erfasst wurde und wenn das Kalibrierbild 500 erfasst wurde, stationär geblieben ist. In einer Ausführungsform kann Schritt 209 das Bestimmen einer Matrix T C a m e r a   1 C a m e r a   2
    Figure DE102020106965A1_0052
    beinhalten, die die obige Gleichung für jede Kombination von Ecke N und Kalibrierbild M am besten erfüllt.
  • In einer Ausführungsform kann die Transformationsfunktion (z. B. T C a m e r a   1 C a m e r a   2 )
    Figure DE102020106965A1_0053
    als erste Transformationsfunktion bezeichnet werden. In einer solchen Ausführungsform kann die Steuerschaltung 111 die Kamerakalibrierung durch Bestimmen einer zweiten Transformationsfunktion (z. B. T P l a t f o r m C a m e r a 1 )
    Figure DE102020106965A1_0054
    durchführen, die eine Beziehung zwischen der ersten Kamera 170/370 und der Plattform 150/350 (z. B. einem Zentrum 355 der Plattform 350) beschreibt. Diese Bestimmung kann ein Teil einer Hand-Auge-Kalibrierung für die erste Kamera 170/370 sein, wie vorstehend erörtert.
  • In einer Ausführungsform kann die Steuerschaltung 111 die Hand-Auge-Kalibrierung für die zweite Kamera 180/380 auf der Basis der ersten Transformationsfunktion und auf der Basis der Hand-Auge-Kalibrierung durchführen, die für die erste Kamera 170/370 durchgeführt wurde. Die Steuerschaltung 111 kann beispielsweise auf der Basis der ersten Transformationsfunktion (z. B. T C a m e r a   1 C a m e r a   2 )
    Figure DE102020106965A1_0055
    und der zweiten Transformationsfunktion (z. B. T P l a t f o r m C a m e r a 1 )
    Figure DE102020106965A1_0056
    eine dritte Transformationsfunktion bestimmen, die eine Beziehung zwischen der zweiten Kamera 180/380 und der Plattform 150/350 (z. B. einem Zentrum 355 der Plattform 350) beschreibt. Die dritte Transformationsfunktion kann beispielsweise auf der Basis der folgenden Beziehung bestimmt werden: T P l a t f o r m C a m e r a   2 = T P l a t f o r m C a m e r a   1 T C a m e r a   1 C a m e r a   2
    Figure DE102020106965A1_0057
  • In einer Ausführungsform kann das Verfahren 200 für ein System (z. B. System 100A von 1D) mit einer dritten Kamera 190 durchgeführt werden. In einigen Fällen kann die dritte Kamera 190 benachbart zur ersten Oberfläche 152/352 der Plattform 150/350 angeordnet (z. B. über dieser angeordnet) sein und kann zur ersten Oberfläche 152/352 der Plattform 150/350 hin gerichtet sein, wobei die erste Oberfläche 152/352 zwischen der dritten Kamera 190 und der zweiten Oberfläche 354 der Plattform 150/350 angeordnet ist. In einer solchen Ausführungsform kann die Kommunikationsschnittstelle 113 mit der dritten Kamera 190 kommunizieren und die Steuerschaltung 111 kann die Kamerakalibrierung ferner durchführen durch: Empfangen eines dritten Satzes von Kalibrierbildern über die Kommunikationsschnittstelle 113 von der dritten Kamera 190, wobei der dritte Satz von Kalibrierbildern auch den ersten Satz von Flächen (z. B. Flächen 362A-362E) des Polyeders (z. B. Polyeders 362) und den ersten Satz von jeweiligen 2D-Kalibriermustern (z. B. 2D-Kalibriermustern 366A-366E), die auf dem ersten Satz von Flächen angeordnet sind, erfasst. Die Steuerschaltung 111 kann eine zusätzliche Transformationsfunktion (z. B. T C a m e r a   1 C a m e r a   3 )
    Figure DE102020106965A1_0058
    bestimmen, wobei die zusätzliche Transformationsfunktion eine räumliche Beziehung zwischen der ersten Kamera 170/370 und der dritten Kamera 190 beschreibt. In einigen Fällen kann die zusätzliche Transformationsfunktion auf der Basis einer Stereokalibrierungstechnik durchgeführt werden.
  • Mit Rückkehr zu 2 kann das Verfahren 200 ferner einen Schritt 211 umfassen, in dem die Steuerschaltung 111, nachdem die Kamerakalibrierung durchgeführt wurde und wenn ein anderes Objekt als das 3D-Kalibriermuster 160/360 auf der ersten Oberfläche 152/352 der Plattform 150/350 angeordnet ist, ein 3D-Modell (z. B. Punktwolke) des Objekts zum Darstellen des Objekts erzeugen kann, wobei das 3D-Modell auf der Basis der Transformationsfunktion von Schritt 209 (z. B. T C a m e r a   1 C a m e r a   2 ) ,
    Figure DE102020106965A1_0059
    auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle 113 von der ersten Kamera 170/370 empfangen werden, und auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle 113 von der zweiten Kamera 180/380 empfangen werden, erzeugt wird. Das Objekt kann z. B. ein Paket oder ein Handelsgut in einem Warenlager oder eine an einem Produkt in einer Fertigungsanlage zu montierende Komponente sein. In einigen Implementierungen kann das 3D-Modell auf der Basis einer Transformationsfunktion, die eine Beziehung zwischen der ersten Kamera 170/370 und der Plattform 150/350 beschreibt (z. B. T P l a t f o r m C a m e r a 1 ) ,
    Figure DE102020106965A1_0060
    und einer anderen Transformationsfunktion, die eine Beziehung zwischen der zweiten Kamera 180/380 und der Plattform 150/350 beschreibt (z. B. T P l a t f o r m C a m e r a   2 ) ,
    Figure DE102020106965A1_0061
    bestimmt werden. In einer Ausführungsform kann die Steuerschaltung 111 dazu eingerichtet sein, das 3D-Modell an ein Roboterbetriebssystem 101 über die Kommunikationsschnittstelle 113 zu übermitteln, um die Zusammenwirkung zwischen einem Roboter des Roboterbetriebssystems 101 und dem Objekt (oder mit anderen 3D-Objekten mit einer gleichen Form und/oder Größe wie das Objekt) zu erleichtern.
  • Kurzbeschreibung verschiedener Ausführungsformen
  • Die Ausführungsform 1 bezieht sich auf ein Computersystem mit einer Kommunikationsschnittstelle und einer Steuerschaltung. Die Kommunikationsschnittstelle ist dazu eingerichtet, zu kommunizieren mit: (i) einer ersten Kamera, (ii) einer zweiten Kamera und (iii) einem Aktuator zum Drehen einer Plattform, die transparent ist und die zwischen der ersten Kamera und der zweiten Kamera angeordnet ist, wobei die erste Kamera zu einer ersten Oberfläche der Plattform hin gerichtet ist und die zweite Kamera zu einer zweiten und entgegengesetzten Oberfläche der Plattform hin gerichtet ist. Die Steuerschaltung ist dazu eingerichtet, eine Kamerakalibrierung durchzuführen, wenn ein dreidimensionales (3D) Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, wobei das 3D-Kalibriermuster ein Polyeder mit einer Vielzahl von Flächen umfasst, die einen ersten Satz von Flächen und eine zusätzliche Fläche, die kein Teil des ersten Satzes von Flächen ist, umfassen, und einen ersten Satz von 2D-Kalibriermustern umfasst, die auf jeweiligen Flächen des ersten Satzes von Flächen angeordnet sind. Die Kamerakalibrierung wird durchgeführt durch: Empfangen eines ersten Satzes von Kalibrierbildern über die Kommunikationsschnittstelle von der ersten Kamera, wobei der erste Satz von Kalibrierbildern den ersten Satz von Flächen des Polyeders erfasst und den ersten Satz von 2D-Kalibriermustern erfasst, die jeweils auf dem ersten Satz von Flächen angeordnet sind, ohne die zusätzliche Fläche des Polyeders zu erfassen; Empfangen eines zweiten Satzes von einem oder mehreren Kalibrierbildern über die Kommunikationsschnittstelle von der zweiten Kamera, wobei der zweite Satz von einem oder mehreren Kalibrierbildern die zusätzliche Fläche des Polyeders erfasst; Bestimmen eines ersten Satzes von Koordinaten zum Darstellen eines Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern, wobei der erste Satz von Koordinaten auf einen Ort und eine Orientierung der ersten Kamera bezogen ist; Bestimmen eines zweiten Satzes von Koordinaten zum Darstellen des Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des zweiten Satzes von einem oder mehreren Kalibrierbildern, wobei der zweite Satz von Koordinaten auf einen Ort und eine Orientierung der zweiten Kamera bezogen ist; Bestimmen einer Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der ersten Kamera und der zweiten Kamera auf der Basis des ersten Satzes von Koordinaten und des zweiten Satzes von Koordinaten. Die Steuerschaltung ist ferner dazu eingerichtet, nachdem die Kamerakalibrierung durchgeführt wurde und wenn ein anderes Objekt als das 3D-Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, ein 3D-Modell zum Darstellen des Objekts zu erzeugen, wobei das 3D-Modell auf der Basis der Transformationsfunktion, auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der ersten Kamera empfangen werden, und auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der zweiten Kamera empfangen werden, erzeugt wird.
  • Die Ausführungsform 2 umfasst das Computersystem der Ausführungsform 1, wobei die Kommunikationsschnittstelle ferner dazu eingerichtet ist, zu kommunizieren mit: (i) einer ersten Lichtquelle, die zur ersten Oberfläche der Plattform hin gerichtet ist, und (ii) einer zweiten Lichtquelle, die zur zweiten Oberfläche der Plattform hin gerichtet ist, wobei die Plattform zwischen der ersten Lichtquelle und der zweiten Lichtquelle angeordnet ist. Ferner umfasst der zweite Satz von einem oder mehreren Kalibrierbildern mindestens ein Paar von Kalibrierbildern, die ein erstes Kalibrierbild und ein zweites Kalibrierbild umfassen. Die Steuerschaltung ist dazu eingerichtet, wenn sie die Kamerakalibrierung durchführt: über die Kommunikationsschnittstelle einen ersten Satz von einem oder mehreren Lichtquellenbefehlen an die erste Lichtquelle und an die zweite Lichtquelle auszugeben, um zu bewirken, dass die erste Lichtquelle aktiviert wird und die zweite Lichtquelle deaktiviert wird, über die Kommunikationsschnittstelle einen ersten Satz von einem oder mehreren Kamerabefehlen an die zweite Kamera auszugeben, um zu bewirken, dass die zweite Kamera das erste Kalibrierbild des mindestens einen Paars von Kalibrierbildern erzeugt, während die erste Lichtquelle aktiviert ist und die zweite Lichtquelle deaktiviert ist, wobei das erste Kalibrierbild mindestens eine Silhouette der zusätzlichen Fläche des Polyeders erfasst, über die Kommunikationsschnittstelle einen zweiten Satz von einem oder mehreren Lichtquellenbefehlen an die erste Lichtquelle und an die zweite Lichtquelle auszugeben, um zu bewirken, dass die zweite Lichtquelle aktiviert wird und die erste Lichtquelle deaktiviert wird, über die Kommunikationsschnittstelle einen zweiten Satz von einem oder mehreren Kamerabefehlen an die zweite Kamera auszugeben, um zu bewirken, dass die zweite Kamera das zweite Kalibrierbild des mindestens einen Paars von Kalibrierbildern erzeugt, während die zweite Lichtquelle aktiviert ist und die erste Lichtquelle deaktiviert ist, wobei das zweite Kalibrierbild ein zusätzliches 2D-Kalibriermuster erfasst, das auf der zusätzlichen Fläche angeordnet ist und ein Teil des 3D-Kalibriermusters ist. Die Steuerschaltung ist dazu eingerichtet, den zweiten Satz von Koordinaten auf der Basis des ersten Kalibrierbildes und des zweiten Kalibrierbildes des mindestens einen Paars von Kalibrierbildern zu bestimmen.
  • Die Ausführungsform 3 umfasst das Computersystem der Ausführungsform 2, wobei die Steuerschaltung dazu eingerichtet ist, die Kamerakalibrierung durchzuführen, wenn die erste Kamera und die erste Lichtquelle über der ersten Oberfläche der Plattform angeordnet sind, die zweite Kamera und die zweite Lichtquelle unter der zweiten Oberfläche der Plattform angeordnet sind und die zusätzliche Fläche des 3D-Kalibriermusters mit der ersten Oberfläche der Plattform in Kontakt steht.
  • Die Ausführungsform 4 umfasst das Computersystem der Ausführungsform 2 oder 3, wobei die Steuerschaltung dazu eingerichtet ist, wenn sie die Kamerakalibrierung durchführt: auf der Basis des zweiten Kalibrierbildes des mindestens einen Paars von Kalibrierbildern einen Satz von Pixelregionen zu bestimmen, in denen jeweilige Ecken des zusätzlichen Kalibriermusters im zweiten Kalibrierbild erscheinen; das erste Kalibrierbild des mindestens einen Paars von Kalibrierbildern auch innerhalb des Satzes von Pixelregionen zu durchsuchen, um Pixelkoordinaten zu identifizieren, an denen der Satz von jeweiligen Ecken der zusätzlichen Fläche im ersten Kalibrierbild erscheint. Der zweite Satz von Koordinaten für den Satz von jeweiligen Ecken wird auf der Basis der Pixelkoordinaten bestimmt, an denen der Satz von jeweiligen Ecken im ersten Kalibrierbild erscheint.
  • Die Ausführungsform 5 umfasst das Computersystem von irgendeiner der Ausführungsformen 2-4, wobei die Steuerschaltung dazu eingerichtet ist, wenn sie die Kamerakalibrierung durchführt: auf der Basis der Silhouette der zusätzlichen Fläche, die im ersten Kalibrierbild des mindestens einen Paars von Kalibrierbildern erfasst wird, eine erste Abschätzung des zweiten Satzes von Koordinaten des Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders zu bestimmen, auf der Basis des zusätzlichen Kalibriermusters, das im zweiten Kalibrierbild erfasst wird, Informationen zu bestimmen, die eine imaginäre Ebene beschreiben, die durch die zusätzliche Fläche gebildet ist, jeweilige Ausmaße einer Abweichung zwischen der imaginären Ebene und der ersten Abschätzung des zweiten Satzes von Koordinaten zu bestimmen und eine zweite Abschätzung des zweiten Satzes von Koordinaten auf der Basis der jeweiligen Ausmaße der Abweichung zu bestimmen. Die Transformationsfunktion wird auf der Basis der zweiten Abschätzung des zweiten Satzes von Koordinaten und auf der Basis des ersten Satzes von Koordinaten bestimmt.
  • Die Ausführungsform 6 umfasst das Computersystem von irgendeiner der Ausführungsformen 1-5, wobei jedes Kalibrierbild des ersten Satzes von Kalibrierbildern mindestens zwei 2D-Kalibriermuster des ersten Satzes von 2D-Kalibriermustern erfasst. Die Steuerschaltung ist dazu eingerichtet, für jedes Kalibrierbild des ersten Satzes von Kalibrierbildern: aus dem Kalibrierbild einen ersten Bildabschnitt zu extrahieren, der ein erstes 2D-Kalibriermuster der mindestens zwei 2D-Kalibriermuster erfasst, Informationen zu speichern, die Musterelemente des ersten 2D-Kalibriermusters beschreiben, ein aktualisiertes Kalibrierbild durch Entfernen des ersten Bildabschnitts aus dem Kalibrierbild zu erzeugen, aus dem aktualisierten Kalibrierbild einen anderen Bildabschnitt zu extrahieren, der ein zweites 2D-Kalibriermuster der mindestens zwei 2D-Kalibriermuster erfasst, und Informationen zu speichern, die Musterelemente des zweiten 2D-Kalibriermusters beschreiben, wobei die Steuerschaltung dazu eingerichtet ist, eine Abschätzung eines Kalibrierparameters der ersten Kamera auf der Basis von gespeicherten Informationen, die Musterelemente des ersten 2D-Kalibriermusters der mindestens zwei 2D-Kalibriermuster beschreiben, und gespeicherten Informationen, die Musterelemente des zweiten 2D-Kalibriermusters der mindestens zwei 2D-Kalibriermuster beschreiben, zu bestimmen.
  • Die Ausführungsform 7 umfasst das Computersystem von irgendeiner der Ausführungsformen 1-6, wobei die Steuerschaltung dazu eingerichtet ist, wenn sie die Kamerakalibrierung durchführt, ein 3D-Modell zum Darstellen des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern im ersten Satz von Kalibrierbildern zu bestimmen. Der erste Satz von Koordinaten für den Satz von jeweiligen Ecken der zusätzlichen Fläche des Polyeders wird auf der Basis des 3D-Modells des Polyeders bestimmt.
  • Die Ausführungsform 8 umfasst das Computersystem der Ausführungsform 7, wobei die Steuerschaltung dazu eingerichtet ist, wenn sie die Kamerakalibrierung durchführt, auf der Basis des ersten Satzes von 2D-Kalibriermustern Informationen zu bestimmen, die jeweilige imaginäre Ebenen beschreiben, die durch den ersten Satz von Flächen des Polyeders gebildet sind, wobei das 3D-Modell durch zumindest die Informationen dargestellt wird, die die jeweiligen imaginären Ebenen beschreiben.
  • Die Ausführungsform 9 umfasst das Computersystem der Ausführungsform 8, wobei die Steuerschaltung dazu eingerichtet ist, wenn die Kamerakalibrierung durchgeführt wird, eine räumliche Beziehung zwischen dem ersten Satz von Flächen des Polyeders zu bestimmen. Die Informationen, die die jeweiligen imaginären Ebenen beschreiben, werden auf der Basis der räumlichen Beziehung zwischen dem ersten Satz von Flächen des Polyeders bestimmt.
  • Die Ausführungsform 10 umfasst das Computersystem der Ausführungsform 8 oder 9, wobei der Satz von Ecken der zusätzlichen Fläche des Polyeders ein zweiter Satz von Ecken des Polyeders ist. Die Steuerschaltung ist dazu eingerichtet, wenn die Kamerakalibrierung durchgeführt wird, als zusätzlichen Satz von Koordinaten jeweilige Orte für einen ersten Satz von Ecken des Polyeders durch Bestimmen, wo mindestens drei der jeweiligen imaginären Ebenen sich schneiden, zu bestimmen. Der erste Satz von Koordinaten wird auf der Basis des zusätzlichen Satzes von Koordinaten und einer definierten Größe des Polyeders bestimmt.
  • Die Ausführungsform 11 umfasst das Computersystem von irgendeiner der Ausführungsformen 1-10, wobei die Transformationsfunktion eine erste Transformationsfunktion ist und wobei die Steuerschaltung dazu eingerichtet ist, die Kamerakalibrierung ferner durchzuführen durch: Bestimmen einer zweiten Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der ersten Kamera und einem Zentrum der Plattform, Bestimmen auf der Basis der ersten Transformationsfunktion und der zweiten Transformationsfunktion: einer dritten Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der zweiten Kamera und dem Zentrum der Plattform.
  • Die Ausführungsform 12 umfasst das Computersystem von irgendeiner der Ausführungsformen 1-11, wobei die Steuerschaltung dazu eingerichtet ist, einen oder mehrere Motorbefehle über die Kommunikationsschnittstelle an die Plattform auszugeben, um zu bewirken, dass die Plattform das 3D-Kalibriermuster dreht, so dass es mehrere Orientierungen relativ zur ersten Kamera aufweist, und wobei der erste Satz von Kalibrierbildern jeweils erzeugt wird, wenn das 3D-Kalibriermuster die mehreren Orientierungen relativ zur ersten Kamera aufweist.
  • Die Ausführungsform 13 umfasst das Computersystem von irgendeiner der Ausführungsformen 1-12, wobei die Kommunikationsschnittstelle dazu eingerichtet ist, mit einer dritten Kamera zu kommunizieren, die zur ersten Oberfläche der Plattform hin gerichtet ist. Die Steuerschaltung ist dazu eingerichtet, die Kamerakalibrierung ferner durchzuführen durch: Empfangen eines dritten Satzes von Kalibrierbildern über die Kommunikationsschnittstelle von der dritten Kamera, wobei der dritte Satz von Kalibrierbildern auch den ersten Satz von Flächen des Polyeders und den ersten Satz von jeweiligen 2D-Kalibriermustern erfasst, Bestimmen einer zusätzlichen Transformationsfunktion auf der Basis des ersten Satzes von Kalibrierbildern und des dritten Satzes von Kalibrierbildern, wobei die zusätzliche Transformationsfunktion eine räumliche Beziehung zwischen der ersten Kamera und der dritten Kamera beschreibt.
  • Die Ausführungsform 14 bezieht sich auf ein nicht flüchtiges computerlesbares Medium mit Befehlen darauf, die, wenn sie durch eine Steuerschaltung eines Computersystem ausgeführt werden, bewirken, dass die Steuerschaltung über eine Kommunikationsschnittstelle des Computersystems einen ersten Satz von Kalibrierbildern empfängt, wobei die Kommunikationsschnittstelle dazu eingerichtet ist, zu kommunizieren mit: (i) einer ersten Kamera, (ii) einer zweiten Kamera und (iii) einem Aktuator, der dazu eingerichtet ist, eine Plattform zu drehen, die transparent ist und die zwischen der ersten Kamera und der zweiten Kamera angeordnet ist, wobei die erste Kamera zu einer ersten Oberfläche der Plattform hin gerichtet ist und die zweite Kamera zu einer zweiten und entgegengesetzten Oberfläche der Plattform hin gerichtet ist. Der erste Satz von Kalibrierbildern wird von der ersten Kamera empfangen und wird erzeugt, wenn ein dreidimensionales (3D) Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, wobei das 3D-Kalibriermuster ein Polyeder mit einer Vielzahl von Flächen umfasst, die einen ersten Satz von Flächen und eine zusätzliche Fläche, die kein Teil des ersten Satzes von Flächen ist, umfassen, und einen ersten Satz von 2D-Kalibriermustern umfasst, die auf jeweiligen Flächen des ersten Satzes von Flächen des Polyeders angeordnet sind. Der erste Satz von Kalibrierbildern erfasst den ersten Satz von Flächen und den ersten Satz von 2D-Kalibriermustern, die jeweils auf dem ersten Satz von Flächen angeordnet sind, ohne die zusätzliche Fläche des Polyeders zu erfassen. Die Anweisungen, wenn sie durch die Steuerschaltung ausgeführt werden, bewirken ferner, dass die Steuerschaltung einen zweiten Satz von einem oder mehreren Kalibrierbildern über die Kommunikationsschnittstelle von der zweiten Kamera empfängt, wobei der zweite Satz von einem oder mehreren Kalibrierbildern die zusätzliche Fläche des Polyeders erfasst; einen ersten Satz von Koordinaten zum Darstellen eines Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern bestimmt, wobei der erste Satz von Koordinaten auf einen Ort und eine Orientierung der ersten Kamera bezogen ist; einen zweiten Satz von Koordinaten zum Darstellen des Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des zweiten Satzes von einem oder mehreren Kalibrierbildern bestimmt, wobei der zweite Satz von Koordinaten auf einen Ort und eine Orientierung der zweiten Kamera bezogen ist; eine Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der ersten Kamera und der zweiten Kamera auf der Basis des ersten Satzes von Koordinaten und des zweiten Satzes von Koordinaten bestimmt, wenn ein anderes Objekt als das 3D-Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, ein 3D-Modell zum Darstellen des Objekts erzeugt, wobei das 3D-Modell auf der Basis der Transformationsfunktion, auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der ersten Kamera empfangen werden, und auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der zweiten Kamera empfangen werden, erzeugt wird.
  • Die Ausführungsform 15 bezieht sich auf ein Verfahren zur Objektabtastung, das umfasst: Empfangen eines ersten Satzes von Kalibrierbildern durch ein Computersystem über eine Kommunikationsschnittstelle des Computersystems, wobei die Kommunikationsschnittstelle dazu eingerichtet ist, zu kommunizieren mit: (i) einer ersten Kamera, (ii) einer zweiten Kamera und (iii) einem Aktuator, der dazu eingerichtet ist, eine Plattform zu drehen, die transparent ist und die zwischen der ersten Kamera und der zweiten Kamera angeordnet ist, wobei die erste Kamera zu einer ersten Oberfläche der Plattform hin gerichtet ist und die zweite Kamera zu einer zweiten und entgegengesetzten Oberfläche der Plattform hin gerichtet ist. Der erste Satz von Kalibrierbildern wird von der ersten Kamera empfangen und wird erzeugt, wenn ein dreidimensionales (3D) Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, wobei das 3D-Kalibriermuster ein Polyeder mit einer Vielzahl von Flächen umfasst, die einen ersten Satz von Flächen und eine zusätzliche Fläche, die kein Teil des ersten Satzes von Flächen ist, umfassen, und einen ersten Satz von 2D-Kalibriermustern umfasst, die auf jeweiligen Flächen des ersten Satzes von Flächen des Polyeders angeordnet sind. Der erste Satz von Kalibrierbildern erfasst den ersten Satz von Flächen und erfasst den ersten Satz von 2D-Kalibriermustern, die jeweils auf dem ersten Satz von Flächen angeordnet sind, ohne die zusätzliche Fläche des Polyeders zu erfassen. Das Verfahren umfasst ferner: Empfangen eines zweiten Satzes von einem oder mehreren Kalibrierbildern über die Kommunikationsschnittstelle von der zweiten Kamera, wobei der zweite Satz von einem oder mehreren Kalibrierbildern die zusätzliche Fläche des Polyeders erfasst; Bestimmen eines ersten Satzes von Koordinaten zum Darstellen eines Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern, wobei der erste Satz von Koordinaten auf einen Ort und eine Orientierung bezogen ist; Bestimmen eines zweiten Satzes von Koordinaten zum Darstellen des Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des zweiten Satzes von einem oder mehreren Kalibrierbildern, wobei der zweite Satz von Koordinaten auf einen Ort und eine Orientierung der zweiten Kamera bezogen ist; Bestimmen einer Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der ersten Kamera und der zweiten Kamera auf der Basis des ersten Satzes von Koordinaten und des zweiten Satzes von Koordinaten, Erzeugen, wenn ein anderes Objekt als das 3D-Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, eines 3D-Modells zum Darstellen des Objekts, wobei das 3D-Modell auf der Basis der Transformationsfunktion, auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der ersten Kamera empfangen werden, und auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der zweiten Kamera empfangen werden, erzeugt wird.
  • Obwohl verschiedene Ausführungsformen vorstehend beschrieben wurden, sollte selbstverständlich sein, dass sie nur als Erläuterungen und Beispiele der vorliegenden Erfindung und nicht zur Begrenzung dargestellt wurden. Für Fachleute auf dem relevanten Gebiet ist ersichtlich, dass verschiedene Änderungen in der Form und im Detail darin durchgeführt werden können, ohne vom Gedanken und Schutzbereich der Erfindung abzuweichen. Folglich sollten der Umfang und der Schutzbereich der vorliegenden Erfindung nicht durch irgendeine der vorstehend beschriebenen beispielhaften Ausführungsformen begrenzt werden, sondern sollten nur gemäß den beigefügten Ansprüchen und ihren Äquivalenten definiert werden. Es ist auch selbstverständlich, dass jedes Merkmal jeder hierin erörterten Ausführungsform und jeder hierin angeführten Bezugnahme in Kombination mit den Merkmalen irgendeiner anderen Ausführungsform verwendet werden kann. Alle hierin erörterten Patente und Veröffentlichungen werden durch Verweis hierin 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 [0013, 0047, 0057]
    • US 16438084 [0013]
    • US 00770005 [0013]
    • US 16/295940 [0054]

Claims (20)

  1. Computersystem, das umfasst: eine Kommunikationsschnittstelle, die dazu eingerichtet ist, zu kommunizieren mit: (i) einer ersten Kamera, (ii) einer zweiten Kamera und (iii) einem Aktuator zum Drehen einer Plattform, die transparent ist und die zwischen der ersten Kamera und der zweiten Kamera angeordnet ist, wobei die erste Kamera zu einer ersten Oberfläche der Plattform hin gerichtet ist und die zweite Kamera zu einer zweiten und entgegengesetzten Oberfläche der Plattform hin gerichtet ist; und eine Steuerschaltung, die dazu eingerichtet ist, eine Kamerakalibrierung durchzuführen, wenn ein dreidimensionales (3D) Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, wobei das 3D-Kalibriermuster ein Polyeder mit einer Vielzahl von Flächen umfasst, die einen ersten Satz von Flächen und eine zusätzliche Fläche, die kein Teil des ersten Satzes von Flächen ist, umfassen, und einen ersten Satz von 2D-Kalibriermustern umfasst, die auf jeweiligen Flächen des ersten Satzes von Flächen angeordnet sind, wobei die Kamerakalibrierung durchgeführt wird durch: Empfangen eines ersten Satzes von Kalibrierbildern über die Kommunikationsschnittstelle von der ersten Kamera, wobei der erste Satz von Kalibrierbildern den ersten Satz von Flächen des Polyeders erfasst und den ersten Satz von 2D-Kalibriermustern erfasst, die jeweils auf dem ersten Satz von Flächen angeordnet sind, ohne die zusätzliche Fläche des Polyeders zu erfassen; Empfangen eines zweiten Satzes von einem oder mehreren Kalibrierbildern über die Kommunikationsschnittstelle von der zweiten Kamera, wobei der zweite Satz von einem oder mehreren Kalibrierbildern die zusätzliche Fläche des Polyeders erfasst; Bestimmen eines ersten Satzes von Koordinaten zum Darstellen eines Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern, wobei der erste Satz von Koordinaten auf einen Ort und eine Orientierung der ersten Kamera bezogen ist; Bestimmen eines zweiten Satzes von Koordinaten zum Darstellen des Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des zweiten Satzes von einem oder mehreren Kalibrierbildern, wobei der zweite Satz von Koordinaten auf einen Ort und eine Orientierung der zweiten Kamera bezogen ist; und Bestimmen einer Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der ersten Kamera und der zweiten Kamera auf der Basis des ersten Satzes von Koordinaten und des zweiten Satzes von Koordinaten, wobei die Steuerschaltung ferner dazu eingerichtet ist, nachdem die Kamerakalibrierung durchgeführt wurde und wenn ein anderes Objekt als das 3D-Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, ein 3D-Modell zum Darstellen des Objekts zu erzeugen, wobei das 3D-Modell auf der Basis der Transformationsfunktion, auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der ersten Kamera empfangen werden, und auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der zweiten Kamera empfangen werden, erzeugt wird.
  2. Computersystem nach Anspruch 1, wobei die Kommunikationsschnittstelle ferner dazu eingerichtet ist, zu kommunizieren mit: (i) einer ersten Lichtquelle, die zur ersten Oberfläche der Plattform hin gerichtet ist, und (ii) einer zweiten Lichtquelle, die zur zweiten Oberfläche der Plattform hin gerichtet ist, wobei die Plattform zwischen der ersten Lichtquelle und der zweiten Lichtquelle angeordnet ist, wobei der zweite Satz von einem oder mehreren Kalibrierbildern mindestens ein Paar von Kalibrierbildern umfasst, die ein erstes Kalibrierbild und ein zweites Kalibrierbild umfassen, wobei die Steuerschaltung dazu eingerichtet ist, wenn die Kamerakalibrierung durchgeführt wird: über die Kommunikationsschnittstelle einen ersten Satz von einem oder mehreren Lichtquellenbefehlen an die erste Lichtquelle und an die zweite Lichtquelle zum Bewirken, dass die erste Lichtquelle aktiviert wird und die zweite Lichtquelle deaktiviert wird, auszugeben, über die Kommunikationsschnittstelle einen ersten Satz von einem oder mehreren Kamerabefehlen an die zweite Kamera zum Bewirken, dass die zweite Kamera das erste Kalibrierbild des mindestens einen Paars von Kalibrierbildern erzeugt, während die erste Lichtquelle aktiviert ist und die zweite Lichtquelle deaktiviert ist, auszugeben, wobei das erste Kalibrierbild mindestens eine Silhouette der zusätzlichen Fläche des Polyeders erfasst, über die Kommunikationsschnittstelle einen zweiten Satz von einem oder mehreren Lichtquellenbefehlen an die erste Lichtquelle und an die zweite Lichtquelle zum Bewirken, dass die zweite Lichtquelle aktiviert wird und die erste Lichtquelle deaktiviert wird, auszugeben, und über die Kommunikationsschnittstelle einen zweiten Satz von einem oder mehreren Kamerabefehlen an die zweite Kamera zum Bewirken, dass die zweite Kamera das zweite Kalibrierbild des mindestens einen Paars von Kalibrierbildern erzeugt, während die zweite Lichtquelle aktiviert ist und die erste Lichtquelle deaktiviert ist, auszugeben, wobei das zweite Kalibrierbild ein zusätzliches 2D-Kalibriermuster erfasst, das auf der zusätzlichen Fläche angeordnet ist und ein Teil des 3D-Kalibriermusters ist, wobei die Steuerschaltung dazu eingerichtet ist, den zweiten Satz von Koordinaten auf der Basis des ersten Kalibrierbildes und des zweiten Kalibrierbildes des mindestens einen Paars von Kalibrierbildern zu bestimmen.
  3. Computersystem nach Anspruch 2, wobei die Steuerschaltung dazu eingerichtet ist, die Kamerakalibrierung durchzuführen, wenn die erste Kamera und die erste Lichtquelle über der ersten Oberfläche der Plattform angeordnet sind, die zweite Kamera und die zweite Lichtquelle unter der zweiten Oberfläche der Plattform angeordnet sind und die zusätzliche Fläche des 3D-Kalibriermusters mit der ersten Oberfläche der Plattform in Kontakt steht.
  4. Computersystem nach Anspruch 2, wobei die Steuerschaltung dazu eingerichtet ist, wenn die Kamerakalibrierung durchgeführt wird: auf der Basis des zweiten Kalibrierbildes des mindestens einen Paars von Kalibrierbildern einen Satz von Pixelregionen zu bestimmen, in denen jeweilige Ecken des zusätzlichen Kalibriermusters im zweiten Kalibrierbild erscheinen, und das erste Kalibrierbild des mindestens einen Paars von Kalibrierbildern auch innerhalb des Satzes von Pixelregionen zu durchsuchen, um Pixelkoordinaten zu identifizieren, an denen der Satz von jeweiligen Ecken der zusätzlichen Fläche im ersten Kalibrierbild erscheint, wobei der zweite Satz von Koordinaten für den Satz von jeweiligen Ecken auf der Basis der Pixelkoordinaten bestimmt wird, an denen der Satz von jeweiligen Ecken im ersten Kalibrierbild erscheint.
  5. Computersystem nach Anspruch 2, wobei die Steuerschaltung dazu eingerichtet ist, wenn die Kamerakalibrierung durchgeführt wird: auf der Basis der Silhouette der zusätzlichen Fläche, die im ersten Kalibrierbild des mindestens einen Paars von Kalibrierbildern erfasst wird, eine erste Abschätzung des zweiten Satzes von Koordinaten des Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders zu bestimmen, auf der Basis des zusätzlichen Kalibriermusters, das im zweiten Kalibrierbild erfasst wird, Informationen zu bestimmen, die eine imaginäre Ebene beschreiben, die durch die zusätzliche Fläche gebildet ist, jeweilige Ausmaße einer Abweichung zwischen der imaginären Ebene und der ersten Abschätzung des zweiten Satzes von Koordinaten zu bestimmen, und eine zweite Abschätzung des zweiten Satzes von Koordinaten auf der Basis der jeweiligen Ausmaße der Abweichung zu bestimmen, wobei die Transformationsfunktion auf der Basis der zweiten Abschätzung des zweiten Satzes von Koordinaten und auf der Basis des ersten Satzes von Koordinaten bestimmt wird.
  6. Computersystem nach Anspruch 1, wobei jedes Kalibrierbild des ersten Satzes von Kalibrierbildern mindestens zwei 2D-Kalibriermuster des ersten Satzes von 2D-Kalibriermustern erfasst, und wobei die Steuerschaltung dazu eingerichtet ist, für jedes Kalibrierbild des ersten Satzes von Kalibrierbildern: aus dem Kalibrierbild einen ersten Bildabschnitt zu extrahieren, der ein erstes 2D-Kalibriermuster der mindestens zwei 2D-Kalibriermuster erfasst, Informationen zu speichern, die Musterelemente des ersten 2D-Kalibriermusters beschreiben, ein aktualisiertes Kalibrierbild durch Entfernen des ersten Bildabschnitts aus dem Kalibrierbild zu erzeugen, aus dem aktualisierten Kalibrierbild einen anderen Bildabschnitt zu extrahieren, der ein zweites 2D-Kalibriermuster der mindestens zwei 2D-Kalibriermuster erfasst, und Informationen zu speichern, die Musterelemente des zweiten 2D-Kalibriermusters beschreiben, wobei die Steuerschaltung dazu eingerichtet ist, eine Abschätzung eines Kalibrierparameters der ersten Kamera auf der Basis von gespeicherten Informationen, die Musterelemente des ersten 2D-Kalibriermusters der mindestens zwei 2D-Kalibriermuster beschreiben, und gespeicherten Informationen, die Musterelemente des zweiten 2D-Kalibriermusters der mindestens zwei 2D-Kalibriermuster beschreiben, zu bestimmen.
  7. Computersystem nach Anspruch 1, wobei die Steuerschaltung dazu eingerichtet ist, wenn die Kamerakalibrierung durchgeführt wird, ein 3D-Modell zum Darstellen des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern im ersten Satz von Kalibrierbildern zu bestimmen, wobei der erste Satz von Koordinaten für den Satz von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des 3D-Modells des Polyeders bestimmt wird.
  8. Computersystem nach Anspruch 7, wobei die Steuerschaltung dazu eingerichtet ist, wenn die Kamerakalibrierung durchgeführt wird, auf der Basis des ersten Satzes von 2D-Kalibriermustern Informationen zu bestimmen, die jeweilige imaginäre Ebenen beschreiben, die durch den ersten Satz von Flächen des Polyeders gebildet sind, wobei das 3D-Modell durch zumindest die Informationen dargestellt wird, die die jeweiligen imaginären Ebenen beschreiben.
  9. Computersystem nach Anspruch 8, wobei die Steuerschaltung dazu eingerichtet ist, wenn die Kamerakalibrierung durchgeführt wird, eine räumliche Beziehung zwischen dem ersten Satz von Flächen des Polyeders zu bestimmen, wobei die Informationen, die die jeweiligen imaginären Ebenen beschreiben, auf der Basis der räumlichen Beziehung zwischen dem ersten Satz von Flächen des Polyeders bestimmt wird.
  10. Computersystem nach Anspruch 8, wobei der Satz von Ecken der zusätzlichen Fläche des Polyeders ein zweiter Satz von Ecken des Polyeders ist, wobei die Steuerschaltung dazu eingerichtet ist, wenn die Kamerakalibrierung durchgeführt wird: als zusätzlichen Satz von Koordinaten jeweilige Orte für einen ersten Satz von Ecken des Polyeders durch Bestimmen, wo mindestens drei der jeweiligen imaginären Ebenen sich schneiden, zu bestimmen, wobei der erste Satz von Koordinaten auf der Basis des zusätzlichen Satzes von Koordinaten und einer definierten Größe des Polyeders bestimmt wird.
  11. Computersystem nach Anspruch 1, wobei die Transformationsfunktion eine erste Transformationsfunktion ist und wobei die Steuerschaltung dazu eingerichtet ist, die Kamerakalibrierung ferner durchzuführen durch: Bestimmen einer zweiten Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der ersten Kamera und einem Zentrum der Plattform, und Bestimmen auf der Basis der ersten Transformationsfunktion und der zweiten Transformationsfunktion: einer dritten Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der zweiten Kamera und dem Zentrum der Plattform.
  12. Computersystem nach Anspruch 1, wobei die Steuerschaltung dazu eingerichtet ist, einen oder mehrere Motorbefehle über die Kommunikationsschnittstelle an die Plattform auszugeben, um zu bewirken, dass die Plattform das 3D-Kalibriermuster dreht, so dass es mehrere Orientierungen relativ zur ersten Kamera aufweist, und wobei der erste Satz von Kalibrierbildern jeweils erzeugt wird, wenn das 3D-Kalibriermuster die mehreren Orientierungen relativ zur ersten Kamera aufweist.
  13. Computersystem nach Anspruch 1, wobei die Kommunikationsschnittstelle dazu eingerichtet ist, mit einer dritten Kamera zu kommunizieren, die zur ersten Oberfläche der Plattform hin gerichtet ist, wobei die Steuerschaltung dazu eingerichtet ist, die Kamerakalibrierung ferner durchzuführen durch: Empfangen eines dritten Satzes von Kalibrierbildern über die Kommunikationsschnittstelle von der dritten Kamera, wobei der dritte Satz von Kalibrierbildern auch den ersten Satz von Flächen des Polyeders und den ersten Satz von jeweiligen 2D-Kalibriermustern erfasst, und Bestimmen einer zusätzlichen Transformationsfunktion auf der Basis des ersten Satzes von Kalibrierbildern und des dritten Satzes von Kalibrierbildern, wobei die zusätzliche Transformationsfunktion eine räumliche Beziehung zwischen der ersten Kamera und der dritten Kamera beschreibt.
  14. Nicht flüchtiges computerlesbares Medium mit Befehlen darauf, die wenn sie durch eine Steuerschaltung eines Computersystem ausgeführt werden, bewirken, dass die Steuerschaltung über eine Kommunikationsschnittstelle des Computersystems einen ersten Satz von Kalibrierbildern empfängt, wobei die Kommunikationsschnittstelle dazu eingerichtet ist, zu kommunizieren mit: (i) einer ersten Kamera, (ii) einer zweiten Kamera und (iii) einem Aktuator, der dazu eingerichtet ist, eine Plattform zu drehen, die transparent ist und die zwischen der ersten Kamera und der zweiten Kamera angeordnet ist, wobei die erste Kamera zu einer ersten Oberfläche der Plattform hin gerichtet ist und die zweite Kamera zu einer zweiten und entgegengesetzten Oberfläche der Plattform hin gerichtet ist, wobei der erste Satz von Kalibrierbildern von der ersten Kamera empfangen wird und erzeugt wird, wenn ein dreidimensionales (3D) Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, wobei das 3D-Kalibriermuster ein Polyeder mit einer Vielzahl von Flächen umfasst, die einen ersten Satz von Flächen und eine zusätzliche Fläche, die kein Teil des ersten Satzes von Flächen ist, umfassen, und einen ersten Satz von 2D-Kalibriermustern umfasst, die auf jeweiligen Flächen des ersten Satzes von Flächen des Polyeders angeordnet sind, wobei der erste Satz von Kalibrierbildern den ersten Satz von Flächen und den ersten Satz von 2D-Kalibriermustern erfasst, die jeweils auf dem ersten Satz von Flächen angeordnet sind, ohne die zusätzliche Fläche des Polyeders zu erfassen, wobei die Anweisungen, wenn sie durch die Steuerschaltung ausgeführt werden, ferner bewirken, dass die Steuerschaltung einen zweiten Satz von einem oder mehreren Kalibrierbildern über die Kommunikationsschnittstelle von der zweiten Kamera empfängt, wobei der zweite Satz von einem oder mehreren Kalibrierbildern die zusätzliche Fläche des Polyeders erfasst; einen ersten Satz von Koordinaten zum Darstellen eines Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern bestimmt, wobei der erste Satz von Koordinaten auf einen Ort und eine Orientierung der ersten Kamera bezogen ist; einen zweiten Satz von Koordinaten zum Darstellen des Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des zweiten Satzes von einem oder mehreren Kalibrierbildern bestimmt, wobei der zweite Satz von Koordinaten auf einen Ort und eine Orientierung der zweiten Kamera bezogen ist; eine Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der ersten Kamera und der zweiten Kamera auf der Basis des ersten Satzes von Koordinaten und des zweiten Satzes von Koordinaten bestimmt, wenn ein anderes Objekt als das 3D-Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, ein 3D-Modell zum Darstellen des Objekts erzeugt, wobei das 3D-Modell auf der Basis der Transformationsfunktion, auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der ersten Kamera empfangen werden, und auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der zweiten Kamera empfangen werden, erzeugt wird.
  15. Nicht flüchtiges computerlesbares Medium nach Anspruch 14, wobei die Kommunikationsschnittstelle ferner dazu eingerichtet ist, zu kommunizieren mit: (i) einer ersten Lichtquelle, die zur ersten Oberfläche der Plattform hin gerichtet ist, und (ii) einer zweiten Lichtquelle, die zur zweiten Oberfläche der Plattform hin gerichtet ist, wobei die Plattform zwischen der ersten Lichtquelle und der zweiten Lichtquelle angeordnet ist, wobei der zweite Satz von einem oder mehreren Kalibrierbildern mindestens ein Paar von Kalibrierbildern umfasst, die ein erstes Kalibrierbild und ein zweites Kalibrierbild umfassen, wobei die Anweisungen, wenn sie durch die Steuerschaltung ausgeführt werden, ferner bewirken, dass die Steuerschaltung: über die Kommunikationsschnittstelle einen ersten Satz von einem oder mehreren Lichtquellenbefehlen zum Bewirken, dass die erste Lichtquelle aktiviert wird, und zum Bewirken, dass die zweite Lichtquelle deaktiviert wird, ausgibt, über die Kommunikationsschnittstelle einen ersten Satz von einem oder mehreren Kamerabefehlen an die zweite Kamera zum Bewirken, dass die zweite Kamera das erste Kalibrierbild des mindestens einen Paars von Kalibrierbildern erzeugt, während die erste Lichtquelle aktiviert ist und die zweite Lichtquelle deaktiviert ist, ausgibt, wobei das erste Kalibrierbild mindestens eine Silhouette der zusätzlichen Fläche des Polyeders erfasst, über die Kommunikationsschnittstelle einen zweiten Satz von einem oder mehreren Lichtquellenbefehlen zum Bewirken, dass die erste Lichtquelle deaktiviert wird, und zum Bewirken, dass die zweite Lichtquelle aktiviert wird, ausgibt, über die Kommunikationsschnittstelle einen zweiten Satz von einem oder mehreren Kamerabefehlen an die zweite Kamera zum Bewirken, dass die zweite Kamera das zweite Kalibrierbild des mindestens einen Paars von Kalibrierbildern erzeugt, während die zweite Lichtquelle aktiviert ist und die erste Lichtquelle deaktiviert ist, ausgibt, wobei das zweite Kalibrierbild ein zusätzliches 2D-Kalibriermuster erfasst, das auf der zusätzlichen Fläche angeordnet ist und ein Teil des 3D-Kalibriermusters ist, und den zweiten Satz von Koordinaten auf der Basis des ersten Kalibrierbildes und des zweiten Kalibrierbildes des mindestens einen Paars von Kalibrierbildern bestimmt.
  16. Nicht flüchtiges computerlesbares Medium nach Anspruch 14, wobei die Anweisungen, wenn sie durch die Steuerschaltung ausgeführt werden, ferner bewirken, dass die Steuerschaltung ein 3D-Modell zum Darstellen des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern im ersten Satz von Kalibrierbildern bestimmt, wobei der erste Satz von Koordinaten für den Satz von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des 3D-Modells des Polyeders bestimmt wird.
  17. Nicht flüchtiges computerlesbares Medium nach Anspruch 15, wobei jedes Kalibrierbild des ersten Satzes von Kalibrierbildern mindestens zwei 2D-Kalibriermuster des ersten Satzes von 2D-Kalibriermustern erfasst, und wobei die Anweisungen, wenn sie durch die Steuerschaltung ausgeführt werden, ferner bewirken, dass die Steuerschaltung für jedes Kalibrierbild des ersten Satzes von Kalibrierbildern: aus dem Kalibrierbild einen ersten Bildabschnitt extrahiert, der ein erstes 2D-Kalibriermuster der mindestens zwei 2D-Kalibriermuster erfasst, Informationen speichert, die Musterelemente des ersten 2D-Kalibriermusters beschreiben, ein aktualisiertes Kalibrierbild durch Entfernen des ersten Bildabschnitts aus dem Kalibrierbild erzeugt, aus dem aktualisierten Kalibrierbild einen anderen Bildabschnitt extrahiert, der ein zweites 2D-Kalibriermuster der mindestens zwei 2D-Kalibriermuster erfasst, und Informationen speichert, die Musterelemente des zweiten 2D-Kalibriermusters beschreiben, wobei die Steuerschaltung dazu eingerichtet ist, eine Abschätzung eines Kalibrierparameters der ersten Kamera auf der Basis von gespeicherten Informationen, die Musterelemente des ersten 2D-Kalibriermusters der mindestens zwei 2D-Kalibriermuster beschreiben, und gespeicherten Informationen, die Musterelemente des zweiten 2D-Kalibriermusters der mindestens zwei 2D-Kalibriermuster beschreiben, zu bestimmen.
  18. Nicht flüchtiges computerlesbares Medium nach Anspruch 14, wobei die Transformationsfunktion eine erste Transformationsfunktion ist und wobei die Anweisungen, wenn sie durch die Steuerschaltung ausgeführt werden, bewirken, dass die Steuerschaltung ferner: die Kamerakalibrierung ferner durchführt durch: Bestimmen einer zweiten Transformationsfunktion zum Beschreiben einer Beziehung zwischen der ersten Kamera und einem Zentrum der Plattform, und Bestimmen auf der Basis der ersten Transformationsfunktion und der zweiten Transformationsfunktion: einer dritten Transformationsfunktion zum Beschreiben einer Beziehung zwischen der zweiten Kamera und dem Zentrum der Plattform.
  19. Verfahren zur Objektabtastung, das umfasst: Empfangen eines ersten Satzes von Kalibrierbildern durch ein Computersystem über eine Kommunikationsschnittstelle des Computersystems, wobei die Kommunikationsschnittstelle dazu eingerichtet ist, zu kommunizieren mit: (i) einer ersten Kamera, (ii) einer zweiten Kamera und (iii) einem Aktuator, der dazu eingerichtet ist, eine Plattform zu drehen, die transparent ist und zwischen der ersten Kamera und der zweiten Kamera angeordnet ist, wobei die erste Kamera zu einer ersten Oberfläche der Plattform hin gerichtet ist und die zweite Kamera zu einer zweiten und entgegengesetzten Oberfläche der Plattform hin gerichtet ist, wobei der erste Satz von Kalibrierbildern von der ersten Kamera empfangen wird und erzeugt wird, wenn ein dreidimensionales (3D) Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, wobei das 3D-Kalibriermuster ein Polyeder mit einer Vielzahl von Flächen umfasst, die einen ersten Satz von Flächen und eine zusätzliche Fläche, die kein Teil des ersten Satzes von Flächen ist, umfassen, und einen ersten Satz von 2D-Kalibriermustern umfasst, die auf jeweiligen Flächen des ersten Satzes von Flächen des Polyeders angeordnet sind, wobei der erste Satz von Kalibrierbildern den ersten Satz von Flächen erfasst und den ersten Satz von 2D-Kalibriermustern erfasst, die jeweils auf dem ersten Satz von Flächen angeordnet sind, ohne die zusätzliche Fläche des Polyeders zu erfassen wobei das Verfahren ferner umfasst: Empfangen eines zweiten Satzes von einem oder mehreren Kalibrierbildern über die Kommunikationsschnittstelle von der zweiten Kamera, wobei der zweite Satz von einem oder mehreren Kalibrierbildern die zusätzliche Fläche des Polyeders erfasst; Bestimmen eines ersten Satzes von Koordinaten zum Darstellen eines Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des ersten Satzes von 2D-Kalibriermustern, wobei der erste Satz von Koordinaten auf einen Ort und eine Orientierung der ersten Kamera bezogen ist; Bestimmen eines zweiten Satzes von Koordinaten zum Darstellen des Satzes von jeweiligen Ecken der zusätzlichen Fläche des Polyeders auf der Basis des zweiten Satzes von einem oder mehreren Kalibrierbildern, wobei der zweite Satz von Koordinaten auf einen Ort und eine Orientierung der zweiten Kamera bezogen ist; Bestimmen einer Transformationsfunktion zum Beschreiben einer räumlichen Beziehung zwischen der ersten Kamera und der zweiten Kamera auf der Basis des ersten Satzes von Koordinaten und des zweiten Satzes von Koordinaten; und Erzeugen, wenn ein anderes Objekt als das 3D-Kalibriermuster auf der ersten Oberfläche der Plattform angeordnet ist, eines 3D-Modells zum Darstellen des Objekts, wobei das 3D-Modell auf der Basis der Transformationsfunktion, auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der ersten Kamera empfangen werden, und auf der Basis von Bildern des Objekts, die über die Kommunikationsschnittstelle von der zweiten Kamera empfangen werden, erzeugt wird
  20. Verfahren nach Anspruch 19, wobei die Kommunikationsschnittstelle ferner dazu eingerichtet ist, zu kommunizieren mit: (i) einer ersten Lichtquelle, die zur ersten Oberfläche der Plattform hin gerichtet ist, und (ii) einer zweiten Lichtquelle, die zur zweiten Oberfläche der Plattform hin gerichtet ist, wobei die Plattform zwischen der ersten Lichtquelle und der zweiten Lichtquelle angeordnet ist, wobei der zweite Satz von einem oder mehreren Kalibrierbildern mindestens ein Paar von Kalibrierbildern umfasst, die ein erstes Kalibrierbild und ein zweites Kalibrierbild umfassen, wobei das Verfahren ferner umfasst: Ausgeben eines ersten Satzes von einem oder mehreren Lichtquellenbefehlen über die Kommunikationsschnittstelle zum Bewirken, dass die erste Lichtquelle aktiviert wird, und zum Bewirken, dass die zweite Lichtquelle deaktiviert wird, Ausgeben eines ersten Satzes von einem oder mehreren Kamerabefehlen über die Kommunikationsschnittstelle zum Bewirken, dass die zweite Kamera das erste Kalibrierbild des mindestens einen Paars von Kalibrierbildern erzeugt, während die erste Lichtquelle aktiviert ist und die zweite Lichtquelle deaktiviert ist, wobei das erste Kalibrierbild mindestens eine Silhouette der zusätzlichen Fläche des Polyeders erfasst, Ausgeben eines zweiten Satzes von einem oder mehreren Lichtquellenbefehlen über die Kommunikationsschnittstelle zum Bewirken, dass die erste Lichtquelle deaktiviert wird, und zum Bewirken, dass die zweite Lichtquelle aktiviert wird, und Ausgeben eines zweiten Satzes von einem oder mehreren Kamerabefehlen über die Kommunikationsschnittstelle zum Bewirken, dass die zweite Kamera das zweite Kalibrierbild des mindestens einen Paars von Kalibrierbildern erzeugt, während die zweite Lichtquelle aktiviert ist und die erste Lichtquelle deaktiviert ist, wobei das zweite Kalibrierbild ein zusätzliches 2D-Kalibriermuster erfasst, das auf der zusätzlichen Fläche angeordnet ist und ein Teil des 3D-Kalibriermusters ist, wobei das Bestimmen des zweiten Satzes von Koordinaten auf dem ersten Kalibrierbild und dem zweiten Kalibrierbild des mindestens einen Paars von Kalibrierbildern basiert.
DE102020106965.0A 2019-07-09 2020-03-13 Verfahren und system zum durchführen einer automatischen kamerakalibrierung für ein abtastsystem Pending DE102020106965A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/506,695 US10565737B1 (en) 2019-07-09 2019-07-09 Method and system for performing automatic camera calibration for a scanning system
US16/506,695 2019-07-09

Publications (1)

Publication Number Publication Date
DE102020106965A1 true DE102020106965A1 (de) 2021-01-14

Family

ID=68740105

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020106965.0A Pending DE102020106965A1 (de) 2019-07-09 2020-03-13 Verfahren und system zum durchführen einer automatischen kamerakalibrierung für ein abtastsystem

Country Status (4)

Country Link
US (3) US10565737B1 (de)
JP (3) JP6737522B1 (de)
CN (3) CN117115216A (de)
DE (1) DE102020106965A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022129462B3 (de) 2022-11-08 2023-11-09 Göpel electronic GmbH Anordnung zur Kalibrierung eines Kamerasystems, Kalibrierkörper und Verfahren zur Durchführung der Kalibrierung

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11072074B2 (en) * 2017-12-13 2021-07-27 Cognex Corporation Calibration and operation of vision-based manipulation systems
EP3755970A4 (de) * 2018-09-03 2021-11-24 ABB Schweiz AG Verfahren und vorrichtung zur verwaltung eines robotersystems
US10565737B1 (en) 2019-07-09 2020-02-18 Mujin, Inc. Method and system for performing automatic camera calibration for a scanning system
CN110930460B (zh) * 2019-11-15 2024-02-23 五邑大学 面向结构光3d视觉系统的全自动标定方法及装置
CN113219900B (zh) * 2019-12-12 2022-03-29 牧今科技 基于相机生成的图像信息执行运动规划的方法和计算系统
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
CN110976839B (zh) * 2019-12-24 2021-06-11 中冶南方工程技术有限公司 连铸机上部结构及长水口自动装卸方法
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 牧今科技 用于确定相机视场内的遮挡的方法和系统
US20210291376A1 (en) * 2020-03-18 2021-09-23 Cognex Corporation System and method for three-dimensional calibration of a vision system
DK3890305T3 (da) * 2020-03-31 2022-07-04 Sick Ag Automatisk konfiguration af et stort antal kameraer
US11673567B2 (en) * 2020-04-14 2023-06-13 Plusai, Inc. Integrated fiducial marker for simultaneously calibrating sensors of different types
US11635313B2 (en) * 2020-04-14 2023-04-25 Plusai, Inc. System and method for simultaneously multiple sensor calibration and transformation matrix computation
US11366233B2 (en) 2020-04-14 2022-06-21 Plusai, Inc. System and method for GPS based automatic initiation of sensor calibration
USD976992S1 (en) * 2020-05-22 2023-01-31 Lucasfilm Entertainment Company Ltd. Camera calibration tool
WO2022095704A1 (en) * 2020-11-03 2022-05-12 Ossfila Technology Limited 3d printing calibration artifact, method for 3d printing calibration and 3d printer
US20240054679A1 (en) * 2020-12-29 2024-02-15 Abb Schweiz Ag Method and apparatus for managing camera system
JP2022184415A (ja) * 2021-06-01 2022-12-13 株式会社エビデント 3次元画像表示方法、3次元画像表示装置、およびプログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10104033A (ja) 1996-09-27 1998-04-24 Komatsu Ltd 画像処理装置のキャリブレーションプレート、これを用いたキャリブレーション装置及び3次元位置計測装置
US6101455A (en) * 1998-05-14 2000-08-08 Davis; Michael S. Automatic calibration of cameras and structured light sources
JP3819662B2 (ja) * 1999-12-24 2006-09-13 三洋電機株式会社 三次元モデリング装置、方法及び媒体並びに三次形状データ記録装置、方法及び媒体
JP4877891B2 (ja) 2001-08-03 2012-02-15 株式会社トプコン 校正用被写体
JP3735344B2 (ja) 2002-12-27 2006-01-18 オリンパス株式会社 キャリブレーション装置、キャリブレーション方法、及びキャリブレーション用プログラム
GB0310504D0 (en) 2003-05-07 2003-06-11 Canon Europa Nv Photographing apparatus,device and method for obtaining images to be used for creating three-dimensional model
JP2005189203A (ja) 2003-12-26 2005-07-14 Fuji Xerox Co Ltd 全周囲3dモデル作成方法および装置
DE102009011300B4 (de) * 2009-03-02 2022-08-11 Kuka Roboter Gmbh Beladung von Lademitteln mit Paketen mittels Manipulator
US9188973B2 (en) * 2011-07-08 2015-11-17 Restoration Robotics, Inc. Calibration and transformation of a camera system's coordinate system
WO2015185110A1 (en) * 2014-06-03 2015-12-10 Metaio Gmbh Method and system for presenting a digital information related to a real object
US20160003612A1 (en) * 2014-07-07 2016-01-07 VirtualU Rapid and accurate three dimensional scanner
US9272417B2 (en) * 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
JP6403115B2 (ja) * 2014-12-24 2018-10-10 パナソニックIpマネジメント株式会社 3次元情報復元装置、3次元情報復元システム、及び3次元情報復元方法
JP6615486B2 (ja) * 2015-04-30 2019-12-04 株式会社東芝 カメラキャリブレーション装置、方法及びプログラム
US10074191B1 (en) 2015-07-05 2018-09-11 Cognex Corporation System and method for determination of object volume with multiple three-dimensional sensors
US9682481B2 (en) * 2015-10-26 2017-06-20 X Development Llc Communication of information regarding a robot using an optical identifier
CA3014049C (en) 2016-02-08 2021-06-22 Thomas Wagner Systems and methods for providing processing of a variety of objects employing motion planning
US10124489B2 (en) * 2016-02-26 2018-11-13 Kinema Systems Inc. Locating, separating, and picking boxes with a sensor-guided robot
WO2018081967A1 (en) * 2016-11-03 2018-05-11 Intel Corporation Real-time three-dimensional camera calibration
JP6396516B2 (ja) * 2017-01-12 2018-09-26 ファナック株式会社 視覚センサのキャリブレーション装置、方法及びプログラム
CN110506297B (zh) * 2017-04-17 2023-08-11 康耐视公司 高精确度校准系统和方法
CN107478203B (zh) * 2017-08-10 2020-04-24 李�杰 一种基于激光扫描的3d成像装置及成像方法
CN107505324B (zh) * 2017-08-10 2020-06-16 李�杰 基于双目协同激光的3d扫描装置及扫描方法
US10621753B2 (en) * 2017-09-29 2020-04-14 Intel IP Corporation Extrinsic calibration of camera systems
JP7008942B2 (ja) * 2017-12-21 2022-01-25 株式会社安川電機 較正方法及び較正装置
US10839557B1 (en) * 2018-04-03 2020-11-17 A9.Com, Inc. Camera calibration for augmented reality
JP7460532B2 (ja) * 2018-10-10 2024-04-02 株式会社Preferred Networks システム、方法及び装置
US10369701B1 (en) * 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods
US10369698B1 (en) * 2019-03-07 2019-08-06 Mujin, Inc. Method and system for performing automatic camera calibration for robot control
US10565737B1 (en) * 2019-07-09 2020-02-18 Mujin, Inc. Method and system for performing automatic camera calibration for a scanning system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022129462B3 (de) 2022-11-08 2023-11-09 Göpel electronic GmbH Anordnung zur Kalibrierung eines Kamerasystems, Kalibrierkörper und Verfahren zur Durchführung der Kalibrierung
EP4369299A1 (de) 2022-11-08 2024-05-15 Göpel electronic GmbH Anordnung zur kalibrierung eines kamerasystems, kalibrierkörper und verfahren zur durchführung der kalibrierung

Also Published As

Publication number Publication date
CN117115216A (zh) 2023-11-24
US20210012534A1 (en) 2021-01-14
US10565737B1 (en) 2020-02-18
JP2021012180A (ja) 2021-02-04
JP7417866B2 (ja) 2024-01-19
CN111199559A (zh) 2020-05-26
JP6737522B1 (ja) 2020-08-12
US11074722B2 (en) 2021-07-27
CN110555872B (zh) 2023-09-05
JP2021016153A (ja) 2021-02-12
CN110555872A (zh) 2019-12-10
US11967113B2 (en) 2024-04-23
CN111199559B (zh) 2020-12-25
US20210312664A1 (en) 2021-10-07
JP2024038029A (ja) 2024-03-19

Similar Documents

Publication Publication Date Title
DE102020106965A1 (de) Verfahren und system zum durchführen einer automatischen kamerakalibrierung für ein abtastsystem
DE112020004813B4 (de) System zur Erweiterung von Sensorsystemen und Bildgebungssystemen mit Polarisation
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
DE102020105655A1 (de) Verfahren und system zum durchführen einer automatischen kamerakalibrierung zur roboterseuerung
DE60202198T2 (de) Vorrichtung und verfahren zur erzeugung von dreidimensionalen positionsdaten aus einem erfassten zweidimensionalen bild
DE69826753T2 (de) Optischer Profilsensor
DE112016006262B4 (de) Dreidimensionaler Scanner und Verarbeitungsverfahren zur Messunterstützung für diesen
DE112016006069T5 (de) Stereotiefenkamera mit vcsel-projektor mit gesteuerten projektionslinsen
DE112010004767T5 (de) Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm
DE102014013155A1 (de) Bildanzeigesystem
DE102017109039A1 (de) Verfahren zur Kalibrierung einer Kamera und eines Laserscanners
DE102017116853A1 (de) System und Verfahren zur automatischen Auswahl von 3D-Ausrichtungsalgorithmen in einem Sehsystem
DE102021201369A1 (de) Verfahren und System zur Bestimmung einer Okklusion bzw. Verdeckung innerhalb eines Kamerasichtfelds
DE102021201393A1 (de) Verfahren und computersystem zur verarbeitung vonkandidatenkanten
EP2819109B1 (de) Optoelektronischen 3D-Sensor und Verfahren zum Erkennen von Objekten
DE102010011528A1 (de) Anordnung und Verfahren zur Aufnahme geometrischer und photometrischer Objektdaten im Raum
EP2350977B1 (de) Verfahren zur bildfusion von zumindest zwei bildern zu einem panoramabild
DE102020100230A1 (de) Rekonstruktion von landmarkenpositionen in autonomen maschinenanwendungen
DE102017010683B4 (de) Verfahren zur automatischen Wiederherstellung eines eingemessenen Zustands eines Projektionssystems
DE102015106836A1 (de) Verfahren zur Steuerung einer 3D-Messvorrichtung mittels momentaner Bewegung und Vorrichtung hierzu
DE112021005543T5 (de) Parallaxentolerante panoramabilderzeugung
EP2818824B1 (de) Vorrichtung umfassend einen optoelektronischen 3D-Sensor und Verfahren zum Erkennen von Objekten
WO2023217603A1 (de) Verfahren zum bestimmen von punktgruppen, die von einem vorgegebenen betrachtungspunkt sichtbar oder nicht sichtbar sind
DE102020127797B4 (de) Sensorverfahren zum optischen Erfassen von Nutzungsobjekten zur Detektion eines Sicherheitsabstandes zwischen Objekten
WO2023061732A1 (de) Verfahren zum lokalisieren eines anhängers, verarbeitungseinheit und fahrzeug

Legal Events

Date Code Title Description
R012 Request for examination validly filed