DE102021201369A1 - Verfahren und System zur Bestimmung einer Okklusion bzw. Verdeckung innerhalb eines Kamerasichtfelds - Google Patents

Verfahren und System zur Bestimmung einer Okklusion bzw. Verdeckung innerhalb eines Kamerasichtfelds Download PDF

Info

Publication number
DE102021201369A1
DE102021201369A1 DE102021201369.4A DE102021201369A DE102021201369A1 DE 102021201369 A1 DE102021201369 A1 DE 102021201369A1 DE 102021201369 A DE102021201369 A DE 102021201369A DE 102021201369 A1 DE102021201369 A1 DE 102021201369A1
Authority
DE
Germany
Prior art keywords
camera
region
target feature
stack
computer system
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
DE102021201369.4A
Other languages
English (en)
Inventor
Jinze Yu
Jose Jeronimo Moreira Rodrigues
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 DE102021201369A1 publication Critical patent/DE102021201369A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/81Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Studio Devices (AREA)

Abstract

Es werden ein System und ein Verfahren zur Bestimmung einer Okklusion bzw. Verdeckung präsentiert. Das System empfängt Kameradaten, die von mindestens einer Kamera erzeugt werden, die eine erste Kamera mit einem ersten Kamerasichtfeld umfasst. Die Kameradaten werden erzeugt, wenn sich ein Stapel mit mehreren Objekten im ersten Kamerasichtfeld befindet, und sie beschreiben eine Stapelstruktur, die aus mindestens einer Objektstruktur für ein erstes Objekt der mehreren Objekte gebildet ist. Das System identifiziert ein Zielmerkmal der Objektstruktur oder das darauf angeordnet ist und bestimmt eine 2D-Region, die mit dem Zielmerkmal koplanar ist und dieses umgibt. Das System bestimmt eine 3D-Region, die durch Verbinden eines Orts der ersten Kamera und der 2D-Region definiert ist. Das System bestimmt basierend auf den Kameradaten und der 3D-Region eine Größe einer Okklusions- bzw. Verdeckungsregion und einen Wert eines Objekterkennungskonfidenzparameters.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung richtet sich an ein Verfahren und System zur Bestimmung der Okklusion bzw. der Verdeckung innerhalb eines Kamerasichtfelds.
  • ALLGEMEINER STAND DER TECHNIK
  • Mit zunehmender Automatisierung werden Roboter in mehr Umgebungen, wie beispielsweise in Lagerhaltungs- und Fertigungsumgebungen, verwendet. Roboter können zum Beispiel verwendet werden, um in einem Warenlager Gegenstände auf eine Palette zu laden oder davon zu entladen oder Gegenstände von einem Förderband in einem Werk aufzunehmen. Die Bewegung des Roboters kann fest vorgegeben sein oder kann auf einer Eingabe, wie z. B. Kameradaten, die durch eine Kamera in dem Warenlager oder dem Werk erzeugt werden, basieren. Die Kameradaten können zum Beispiel einen Ort und/oder eine Struktur eines Objekts relativ zu einem Greifer oder einer anderen Komponente des Roboters darstellen, der bzw. die konfiguriert ist, mit dem Objekt zu interagieren. Das Verlassen auf Kameradaten, um die Interaktion des Roboters mit dem Objekt zu unterstützen, kann Fehlern unterworfen sein, die durch Rauschen und/oder Ungenauigkeiten bei der Erkennung des Objekts von den Kameradaten verursacht werden.
  • KURZDARSTELLUNG
  • Ein Aspekt der Ausführungsformen hierin betrifft ein Computersystem, ein Verfahren und/oder ein nicht flüchtiges computerlesbares Medium, das Befehle zur Bestimmung einer Okklusion bzw. Verdeckung aufweist. Das Computersystem kann z. B. eine Kommunikationsschnittstelle und eine Steuerschaltung umfassen. Die Kommunikationsschnittstelle kann konfiguriert sein, mit mindestens einer Kamera zu kommunizieren, die eine erste Kamera mit einem ersten Kamerasichtfeld umfasst. Die Steuerschaltung kann konfiguriert sein, das Verfahren zur Bestimmung von Okklusion bzw. Verdeckung auszuführen, wenn sich ein Stapel mit mehreren Objekten im ersten Kamerasichtfeld befindet. In einigen Fällen kann die Steuerschaltung das Verfahren durch Ausführen von Befehlen ausführen, die auf dem nicht flüchtigen computerlesbaren Medium gespeichert sind. Das Verfahren kann das Empfangen von Kameradaten, die von der mindestens einen Kamera erzeugt werden, wobei die Kameradaten eine Stapelstruktur für den Stapel beschreiben und die Stapelstruktur aus mindestens einer Objektstruktur für ein erstes Objekt der mehreren Objekte gebildet ist; das Identifizieren, basierend auf der von der mindestens einen Kamera erzeugten Kameradaten, eines Zielmerkmals von der Objektstruktur oder das auf der Objektstruktur angeordnet ist (z. B. eine Ecke der Objektstruktur, eine Kante der Objektstruktur, eines auf einer Fläche der Objektstruktur angeordneten visuellen Merkmals oder eines Umrisses der Fläche der Objektstruktur) umfassen. Das Verfahren kann ferner das Bestimmen einer zweidimensionalen (2D) Region, die koplanar mit dem Zielmerkmal ist und deren Grenze das Zielmerkmal umgibt; das Bestimmen einer dreidimensionalen (3D) Region, die durch Verbinden eines Orts der ersten Kamera und der Grenze der 2D-Region definiert ist, wobei die 3D-Region Teil des ersten Kamerasichtfelds ist; das Bestimmen, basierend auf den Kameradaten und der 3D-Region, einer Größe einer Okklusions- bzw. Verdeckungsregion, wobei die Verdeckungsregion eine Region der Stapelstruktur ist, die sich zwischen dem Zielmerkmal und der mindestens einen Kamera und innerhalb der 3D-Region befindet, umfassen. Bei einer Ausführungsform kann die Steuerschaltung einen Wert eines Objekterkennungskonfidenzparameters basierend auf der Größe der Verdeckungsregion bestimmen. Bei einer Ausführungsform kann die Steuerschaltung eine Operation zur Steuerung von Roboterinteraktion mit der Stapelstruktur ausführen, wobei die Operation basierend auf dem Wert des Objekterkennungskonfidenzparameters ausgeführt wird.
  • Figurenliste
  • Die vorstehenden und andere Merkmale, Aufgaben und Vorteile der Erfindung werden aus der folgenden Beschreibung von Ausführungsformen, wie sie in den begleitenden Zeichnungen veranschaulicht sind, offensichtlich. Die begleitenden Zeichnungen, die hierin eingeschlossen sind und einen Teil der Beschreibung bilden, dienen ferner dazu, die Prinzipien der Ausführungsformen zu erklären und einen Fachmann auf dem Gebiet in die Lage zu versetzen, die Ausführungsformen angemessen herzustellen und zu verwenden. Die Zeichnungen sind nicht maßstäblich.
    • Die 1A bis 1B zeigen gemäß einer Ausführungsform hierin Blockdiagramme von Systemen, in denen eine Kameraokklusion bzw. -verdeckung erkannt werden kann.
    • 1C zeigt gemäß einer Ausführungsform hierin ein Blockdiagramm eines Roboterbetriebssystems, in dem Kameraverdeckung erkannt werden kann.
    • 2 zeigt gemäß einer Ausführungsform hierin ein Blockdiagramm eines Computersystems, das konfiguriert ist, eine Verdeckung innerhalb eines Kamerasichtfelds zu bestimmen.
    • Die 3A und 3B zeigen gemäß einer Ausführungsform hierin Systeme, in denen eine Kameraverdeckung für eine Objektstruktur innerhalb eines Kamerasichtfelds detektiert werden kann.
    • Die 4A bis 4B zeigen gemäß einer Ausführungsform hierin ein Flussdiagramm eines beispielhaften Verfahrens zur Bestimmung der Okklusion bzw. der Verdeckung innerhalb eines Kamerasichtfelds.
    • Die 5A bis 5D zeigen gemäß einer Ausführungsform hiervon eine Ausführungsform, bei der eine Verdeckung basierend auf einem Zielmerkmal, das eine Ecke einer Objektstruktur ist, bestimmt wird.
    • Die 6A bis 6D zeigen gemäß einer Ausführungsform hiervon eine Ausführungsform, bei der eine Verdeckung basierend auf einem Zielmerkmal, das eine Kante einer Objektstruktur ist, bestimmt wird.
    • Die 7A bis 7D zeigen gemäß einer Ausführungsform hiervon eine Ausführungsform, bei der eine Verdeckung basierend auf einem Zielmerkmal bestimmt wird, das ein visuelles Merkmal ist, das auf einer Fläche einer Objektstruktur oder einem Umriss der Fläche angeordnet ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung ist ihrer Natur nach lediglich beispielhaft und beabsichtigt nicht, die Erfindung oder die Anmeldung und Verwendungen davon zu begrenzen. Weiterhin besteht keine Absicht, an eine ausdrückliche oder implizite Theorie gebunden zu sein, die in dem vorstehenden technischen Gebiet, dem allgemeinen Stand der Technik, der Kurzdarstellung oder in der folgenden detaillierten Beschreibung dargestellt ist.
  • Hierin beschriebene Ausführungsformen betreffen die Bestimmung von Okklusion bzw. Verdeckung innerhalb eines Kamerasichtsfelds, wie z. B. durch Detektieren der Verdeckung innerhalb des Kamerasichtfelds, das Beurteilen eines Okklusions- bzw. Verdeckungsgrads mit dem Kamerasichtfeld und/oder jeden anderen Okklusions- bzw. Verdeckungsanalyseaspekt. Die Okklusion bzw. Verdeckung kann sich z. B. auf eine Situation beziehen, in der ein Ort im Kamerasichtfeld oder ein Teil einer Region um den Ort herum von der Betrachtung oder anderweitigen Erfassung durch eine Kamera blockiert ist oder kurz davor ist, blockiert zu werden. In einigen Fällen kann die Verdeckung darauf zurückzuführen sein, dass ein Objekt oder ein Teil davon eine Sichtlinie von der Kamera zu diesem Ort oder von der Kamera zu dem Teil der Region, der diesen Ort umgibt, blockiert oder beinahe blockiert. Beispielsweise kann sich das Okklusions- bzw. Verdeckungsobjekt zwischen der Kamera und dem okkludierten bzw. verdeckten Ort oder dem okkludierten bzw. verdeckten Teil der Region, die diesen Ort umgibt, befinden. In einigen Fällen kann ein Zielmerkmal an dem Ort oder der Region, die den Ort umgibt, angeordnet sein. Das Zielmerkmal kann z. B. ein Merkmal der Region sein, das zur Ausführung einer Objekterkennung verwendet wird, und kann z. B. zur Planung der Roboterinteraktion mit einer Struktur in dieser Region verwendet werden. Das Zielmerkmal kann z. B. eine Ecke oder Kante eines Objekts oder eine Fläche eines Objekts in dieser Region sein, oder es kann ein visuelles Merkmal sein, das auf der Fläche angeordnet ist. Das Vorhandensein des Verdeckungsobjekts kann die Fähigkeit zur Identifizierung des Zielmerkmals beeinträchtigen und/oder die Genauigkeit einer solchen Identifizierung beeinflussen. Dementsprechend bezieht sich ein Aspekt der Ausführungsformen hierin auf die Erkennung oder anderweitige Beurteilung einer Verdeckung, die ein Zielmerkmal oder irgendein anderes Merkmal innerhalb eines Kamerasichtfelds beeinflussen kann.
  • Bei einer Ausführungsform kann das Bestimmen der Verdeckung das Bestimmen der Größe einer Okklusions- bzw. Verdeckungsregion beinhalten. Die Verdeckungsregion kann z. B. eine Region eines Verdeckungsobjekts sein, die sich zwischen der Kamera und dem Zielmerkmal oder zwischen der Kamera und einem Teil einer das Zielmerkmal umgebenden Region befindet. Die Verdeckungsregion kann zum Beispiel eine 2D-Region des Verdeckungsobjekts sein (die eine erste 2D-Region sein kann), die sich innerhalb einer 3D-Region befindet, wobei die 3D-Region definiert werden kann, indem ein Ort der Kamera mit einer 2D-Region verbunden wird, die das Zielmerkmal umgibt (die eine zweite 2D-Region sein kann). Bei einer Ausführungsform kann das Bestimmen der Verdeckung das Bestimmen der Größe einer verdeckten Region beinhalten, was nachstehend ausführlicher beschrieben wird. In einigen Fällen kann die Größe der Verdeckungsregion (und/oder der verdeckten Region) verwendet werden, um z. B. ein Konfidenzniveau zur Objekterkennung zu bestimmen, was das Zielmerkmal beinhaltet oder beinhalten wird. In einigen Fällen kann das Konfidenzniveau auf eine Weise bestimmt werden, dass es in einem umgekehrten Verhältnis zur Größe der Verdeckungsregion und/oder zur Größe der verdeckten Region steht.
  • Bei einer Ausführungsform kann die Verdeckungsanalyse z. B. verwendet werden, um zu bestimmen, ob die Objekterkennung erneut ausgeführt werden soll, oder um die Art und Weise, in der die Objekterkennung ausgeführt wird, anzupassen. Wenn das Konfidenzniveau für einen Objekterkennungsvorgang unter einem definierten Schwellenwert liegt (z. B. einem definierten Konfidenzniveau), kann der Objekterkennungsvorgang beispielsweise erneut ausgeführt werden. Das Konfidenzniveau für die Objekterkennung kann sich z. B. als Resultat dessen, dass der Okklusions- bzw. Verdeckungsbetrag zu hoch ist, wie z. B. wenn das Verhältnis zwischen der Größe der Verdeckungsregion und einer Größe der 2D-Region, die das Zielmerkmal umgibt, einen definierten Okklusions- bzw. Verdeckungsschwellenwert überschreitet, oder wenn die Größe der Verdeckungsregion den definierten Verdeckungsschwellenwert überschreitet, unter dem definierten Schwellenwert befinden. Der definierte Verdeckungsschwellenwert kann in einigen Fällen eine Umkehrung des definierten Konfidenzschwellenwerts sein und/oder in einem umgekehrten Verhältnis zu dem definierten Konfidenzschwellenwert stehen. In einigen Fällen kann eine Beurteilung der Verdeckung verwendet werden, um die Roboterinteraktion mit dem Verdeckungsobjekt, mit dem Zielmerkmal oder einem Objekt, auf dem das Zielmerkmal angeordnet ist, oder mit einem anderen Objekt oder einer Struktur davon zu planen. Die Roboterinteraktion kann beispielsweise derart geplant werden, dass das Verdeckungsobjekt und/oder das Objekt, auf dem das Zielmerkmal angeordnet ist, bewegt wird, sodass sich der Verdeckungsbetrag oder insbesondere die Größe der Verdeckungsregion verringert, wie es nachstehend ausführlicher beschrieben wird.
  • 1A veranschaulicht ein Blockdiagramm eines Systems 100 zur Erkennung und/oder Beurteilung der Verdeckung innerhalb eines Kamerasichtfelds. Bei einer Ausführungsform kann sich das System 100 in einem Warenlager, einem Produktionsbetrieb oder in anderen Räumlichkeiten befinden. Das System 100 kann beispielsweise ein Bilderkennungssystem sein, das zur Erzeugung von Kameradaten (z. B. Bildern) von Objekten innerhalb des Warenlagers oder des Produktionsbetriebs verwendet wird. In einigen Fällen kann das Bilderkennungssystem Teil eines Robotersteuersystems sein oder damit kommunizieren, das die Kameradaten oder aus den Kameradaten abgeleitete Informationen verwendet, um z. B. Bewegungsbefehle zu erzeugen, die eine Roboterinteraktion bewirken, bei der ein Roboter mit den Objekten interagiert.
  • Wie in 1A dargestellt, kann das System 100 ein Computersystem 110 und eine Kamera 170 (die auch als erste Kamera 170 bezeichnet werden kann) umfassen. Bei einer Ausführungsform kann die Kamera 170 konfiguriert sein, Kameradaten zu erzeugen oder anderweitig zu erfassen, die eine Szene in einem Sichtfeld der Kamera 170 (auch als Kamerasichtfeld bezeichnet) erfassen. Die Kamera 170 kann beispielsweise konfiguriert sein, die Szene zu fotografieren oder insbesondere Objekte im Kamerasichtfeld zu fotografieren. Bei einer Ausführungsform kann die Kamera 170 eine dreidimensionale (3D) Kamera, eine zweidimensionale (2D) Kamera oder irgendeine Kombination davon sein (der Begriff „oder“ wird hierin verwendet, um sich auf „und/oder“ zu beziehen).
  • Bei einer Ausführungsform kann eine 3D-Kamera (die auch als Tiefenerfassungskamera oder Strukturerfassungsvorrichtung bezeichnet werden kann) eine Kamera sein, die konfiguriert ist, Kameradaten zu erzeugen, die 3D-Informationen über eine Szene im Kamerasichtfeld, umfassen, wobei die 3D-Informationen Tiefeninformationen für die Szene umfassen können. Insbesondere können die Tiefeninformationen entsprechende Tiefenwerte, relativ zur 3D-Kamera, von Orten auf einem oder mehreren Objekten im Kamerasichtfeld angeben. In einigen Fällen können die 3D-Informationen mehrere 3D-Datenpunkte, wie z. B. 3D-Koordinaten, umfassen, welche die Orte auf dem einen oder den mehreren Objekten darstellen. Beispielsweise können die mehreren 3D-Datenpunkte eine Punktwolke umfassen, welche die Orte auf einer oder mehreren Flächen des einen oder der mehreren Objekte im Kamerasichtfeld repräsentiert. In einigen Fällen kann die 3D-Kamera z. B. eine Time of Flight-Kamera (TOF-Kamera) oder eine Strukturlichtkamera umfassen.
  • Bei einer Ausführungsform kann eine 2D-Kamera eine Kamera sein, die konfiguriert ist, Kameradaten zu erzeugen, die 2D-Informationen über eine Szene im Kamerasichtfeld umfassen, wobei die 2D-Informationen Erfassungen eines Erscheinungsbilds der Szene sein oder dieses anderweitig darstellen können. Die 2D-Informationen können beispielsweise ein 2D-Bild oder eine andere Anordnung von Pixeln sein, das bzw. die ein oder mehrere Objekte im Kamerasichtfeld erfasst oder anderweitig darstellt. Die 2D-Kamera kann z. B. eine Farbkamera sein, die konfiguriert ist, ein 2D-Farbbild zu erzeugen, eine Graustufenkamera, die konfiguriert ist, ein 2D-Graustufenbild zu erzeugen, oder eine beliebige andere 2D-Kamera.
  • In einigen Fällen kann das Computersystem 110 von 1A konfiguriert sein, mit der Kamera 170 zu kommunizieren. Das Computersystem 110 kann beispielsweise konfiguriert sein, die Kamera 170 zu steuern. Das Computersystem 110 kann beispielsweise konfiguriert sein, einen Kamerabefehl zu erzeugen, der die Kamera 170 veranlasst, Kameradaten zu erzeugen, die eine Szene in einem Sichtfeld der Kamera 170 (auch als Kamerasichtfeld bezeichnet) erfassen, und es kann konfiguriert sein, den Kamerabefehl über eine drahtgebundene oder drahtlose Verbindung zur Kamera 170 zu kommunizieren. Der gleiche Befehl kann die Kamera 170 auch veranlassen, die Kameradaten zurück an das Computersystem 110 zu kommunizieren oder allgemeiner an ein nicht flüchtiges computerlesbares Medium (z. B. Speichervorrichtung), auf welches das Computersystem 110 zugreifen kann. Alternativ kann das Computersystem 110 einen weiteren Kamerabefehl erzeugen, der die Kamera 170 veranlasst, beim Empfangen des Kamerabefehls die von ihr erzeugten Kameradaten zum Computersystem 110 zu kommunizieren. Bei einer Ausführungsform kann die Kamera 170 automatisch Kameradaten erzeugen, die eine Szene in ihrem Kamerasichtfeld entweder periodisch oder als Reaktion auf eine definierte Auslösebedingung erfassen oder anderweitig darstellen, ohne einen Kamerabefehl vom Computersystem 110 zu benötigen. Bei einer solchen Ausführungsform kann die Kamera 170 auch konfiguriert sein, ohne einen Kamerabefehl vom Computersystem 110, die Kameradaten zum Computersystem 110 automatisch zu kommunizieren, oder allgemeiner an ein nicht flüchtiges computerlesbares Medium, auf welches das Computersystem 110 zugreifen kann.
  • Bei einer Ausführungsform kann das System 100 nur eine einzige Kamera umfassen. Bei einer weiteren Ausführungsform kann das System 100 mehrere Kameras umfassen. 1B stellt beispielsweise ein System 100A dar, das eine Ausführungsform des Systems 100 sein kann, das die Kamera 170 und eine Kamera 180 umfasst, die auch als eine erste Kamera 170 und eine zweite Kamera 180 bezeichnet werden können. In einem Beispiel kann die erste Kamera 170 eine 3D-Kamera sein, während die zweite Kamera 180 eine 2D-Kamera sein kann, oder umgekehrt. Bei einigen Implementierungen kann das Computersystem 110 konfiguriert sein, die zweite Kamera 180 in ähnlicher oder gleicher Weise, wie sie die erste Kamera 170 steuert, zu steuern, wie vorstehend in Bezug auf 1A beschrieben. In einigen Fällen können unterschiedliche Kamerabefehle entsprechend an die erste Kamera 170 und die zweite Kamera 180 gesendet werden. In einigen Fällen kann der gleiche Kamerabefehl an die erste Kamera 170 und die zweite Kamera 180 gesendet werden. In einigen Fällen können die erste Kamera 170 und die zweite Kamera 180 derart positioniert werden, dass sich das Sichtfeld der ersten Kamera 170 mit dem Sichtfeld der zweiten Kamera 180 im Wesentlichen überlappt. Daher können die erste Kamera 170 und die zweite Kamera 180 derart positioniert werden, dass sie Kameradaten (z. B. ein Bild und/oder eine Punktwolke) erzeugen, die den gleichen Bereich oder einen im Wesentlichen gleichen Bereich darstellen.
  • In einigen Fällen kann die erste Kamera 170 von 1B einen festen Ort und/oder eine feste Ausrichtung relativ zur zweiten Kamera 180 aufweisen. Die erste Kamera 170 kann beispielsweise entweder direkt oder indirekt an der Kamera 180 fest angebracht sein. Eine solche Anordnung kann bewirken, dass ein Winkel und/oder ein Abstand zwischen der ersten Kamera 170 und der Kamera 180 unverändert bleibt. In einigen Fällen kann eine solche Anordnung bewirken, dass eine räumliche Beziehung zwischen einem Koordinatensystem der ersten Kamera 170 und einem Koordinatensystem der zweiten Kamera 180 unverändert bleibt.
  • Wie vorstehend angegeben, kann das System 100/100A in einigen Fällen ein Roboterbetriebssystem oder Teil eines Roboterbetriebssystems sein. Zum Beispiel stellt 1C ein System 100B dar, das eine Ausführungsform des Systems 100/100A sein kann, das einen Roboter 150 in Kommunikation mit dem Computersystem 110 umfasst. In einigen Fällen kann das Computersystem 110 konfiguriert sein, die Bilder oder andere Kameradaten, die von der ersten Kamera 170 und/oder der zweiten Kamera 180 erzeugt werden, zur Steuerung des Betriebs des Roboters 150 oder zur Implementierung/Ausführung von Befehlen zur Steuerung des Betriebs des Roboters 150 zu verwenden. Das Computersystem 110 kann beispielsweise konfiguriert sein, den Roboter 150 derart steuert, dass er einen Depalettiervorgang durchführt, bei dem der Roboter 150 einen Stapel von Kisten oder anderen Objekten in einem Lagerhaus basierend auf Kameradaten entlädt, die von der ersten Kamera 170 und/oder der zweiten Kamera 180 erzeugt wurden.
  • Bei einer Ausführungsform kann das Computersystem 110 konfiguriert sein, über eine drahtgebundene und/oder drahtlose Kommunikation mit dem Roboter 150 und der ersten Kamera 170 und/oder der zweiten Kamera 180 zu kommunizieren. Das Computersystem 110 kann beispielsweise konfiguriert sein, mit dem Roboter 150, der ersten Kamera 170 und/oder der zweiten Kamera 180 über eine RS-232-Schnittstelle, eine Universal Serial Bus- (USB) - Schnittstelle, eine Ethernet-Schnittstelle, eine Bluetooth®-Schnittstelle, eine IEEE 802.11-Schnittstelle oder eine beliebige Kombination davon zu kommunizieren. Bei einer Ausführungsform kann das Computersystem 110 konfiguriert sein, mit dem Roboter 150 und/oder der Kamera 170/180 über einen lokalen Computerbus, wie beispielsweise einen Peripheral Component Interconnect- (PCI) -Bus zu kommunizieren. Bei einer Ausführungsform befinden sich das Computersystem 110 und die Kamera 170/180 in den gleichen Räumlichkeiten (z. B. Warenlager). Bei einer Ausführungsform kann sich das Computersystem 110 vom Roboter 150 und/oder der Kamera 170/180 entfernt befinden und konfiguriert sein, mit dem Roboter 150 und/oder der Kamera 170/180 über eine Netzwerkverbindung (z. B. eine lokale Netzwerk- (LAN) -Verbindung) zu kommunizieren.
  • Bei einer Ausführungsform kann das Computersystem 110 von 1C vom Roboter 150 getrennt sein und mit dem Roboter 150 über die vorstehend beschriebene drahtlose oder drahtgebundene Verbindung kommunizieren. Das Computersystem 110 kann zum Beispiel ein Einzelcomputer sein, der konfiguriert ist, mit dem Roboter 150 und der Kamera 170/180 über eine verdrahtete Verbindung oder eine drahtlose Verbindung zu kommunizieren. Bei einer Ausführungsform kann das Computersystem 110 von 1C ein wesentlicher Bestandteil des Roboters 150 sein und mit anderen Komponenten des Roboters 150 über den vorstehend beschriebenen lokalen Computerbus kommunizieren. In einigen Fällen kann das Computersystem 110 ein zugeordnetes Steuersystem sein (das auch als zugeordnete Steuerung bezeichnet wird), welches nur den Roboter 150 steuert. In anderen Fällen kann das Computersystem 110 konfiguriert sein, mehrere Roboter einschließlich des Roboters 150 zu steuern.
  • 2 zeigt ein Blockdiagramm des Computersystems 110. Wie in dem Blockdiagramm veranschaulicht, kann das Computersystem 110 eine Steuerschaltung 111, eine Kommunikationsschnittstelle 113 und ein nicht flüchtiges computerlesbares Medium 115 (z. B. Speicher oder eine andere Speichervorrichtung) umfassen. Bei einer Ausführungsform kann die Steuerschaltung 111 einen oder mehrere Prozessoren, eine programmierbare Logikschaltung (PLC) oder eine programmierbare logische Anordnung (PLA), ein feldprogrammierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC) oder irgendeine andere Steuerschaltung umfassen.
  • Bei einer Ausführungsform kann die Kommunikationsschnittstelle 113 eine oder mehrere Komponenten umfassen, die konfiguriert sind, mit der Kamera 170/180 der 1A-1C und/oder dem Roboter 150 von 1C zu kommunizieren. Die Kommunikationsschnittstelle 113 kann zum Beispiel eine Kommunikationsschaltung umfassen, die konfiguriert ist, Kommunikation über ein verdrahtetes oder drahtloses Protokoll auszuführen. Die Kommunikationsschaltung kann als Beispiel einen RS-232-Port-Controller, einen USB-Controller, einen Ethernet-Controller, einen IEEE 802.11-Controller, einen Bluetooth®-Controller, einen PCI-Bus-Controller, jede andere Kommunikationsschaltung oder eine Kombination davon umfassen.
  • Bei einer Ausführungsform kann das nicht flüchtige computerlesbare Medium 115 eine Informationsspeichervorrichtung, wie z. B. einen Computerspeicher, umfassen. Der Computerspeicher kann z. B. dynamischen Random Access Memory (DRAM), integrierten Festkörperspeicher und/oder ein Festplattenlaufwerk (HDD) umfassen. In einigen Fällen kann das Bestimmen der Okklusion bzw. der Verdeckung innerhalb des Sichtfelds der Kamera durch computerausführbare Befehle (z. B. Computercode) erfolgen, die auf dem nicht flüchtigen computerlesbaren Medium 115 gespeichert sind. In solchen Fällen kann die Steuerschaltung 111 einen oder mehrere Prozessoren umfassen, die konfiguriert sind, die computerausführbaren Befehle zum Detektieren der Verdeckung im Kamerasichtfeld auszuführen (z. B. die in den 4A und 4B veranschaulichten Schritte). Bei einer Ausführungsform kann das nicht flüchtige computerlesbare Medium konfiguriert sein, Kameradaten zu speichern, die von der Kamera 170/180 erzeugt und direkt oder indirekt von der Kamera 170/180 empfangen wurden. Bei einer solchen Ausführungsform kann das Computersystem 110 konfiguriert sein, die Kameradaten von dem nicht flüchtigen computerlesbaren Medium 115 zu empfangen oder anderweitig darauf zuzugreifen. In einigen Fällen kann das nicht-flüchtige computerlesbare Medium 115 eine Objekterkennungsvorlage speichern, was nachstehend ausführlicher beschrieben wird.
  • 3A zeigt ein Beispiel, bei dem das Computersystem 110 Teil eines Systems 200 zum Detektieren einer Verdeckung in einem Kamerasichtfeld ist. Das System 200 kann eine Ausführungsform des Systems 100/100A sein und umfasst das Computersystem 110 von 1A-1B sowie eine Kamera 270, die eine Ausführungsform der Kamera 170 sein kann. Wie in 3A dargestellt, kann die Kamera 270 (die auch als erste Kamera 270 bezeichnet sein kann) mit dem Computersystem 110 in Kommunikation sein und ein Sichtfeld (auch als Kamerasichtfeld bezeichnet) 272 aufweisen. Das Kamerasichtfeld 272 kann eine imaginäre Pyramide bilden, wie es in 3A veranschaulicht ist, oder eine andere Form, wie z. B. einen Kegel. Die Spitze der Pyramide, des Kegels oder einer anderen Form des Kamerasichtfelds 272 kann sich an der Kamera 270 befinden, z. B. an einem Ort einer Linse oder eines Bildsensors (falls vorhanden) der Kamera 270.
  • Bei einer Ausführungsform kann die Kamera 270 konfiguriert sein, Kameradaten zu erzeugen, die ein oder mehrere Objekte erfassen oder genereller ein oder mehrere Objekte darstellen, die sich mindestens teilweise innerhalb des Kamerasichtfelds 272 befinden. 3A veranschaulicht zum Beispiel einen Stapel 250 von mehreren Objekten 251-253, die sich mindestens teilweise im Kamerasichtfeld 272 befinden. Im Beispiel von 3A umfassen die mehreren Objekte ein erstes Objekt 251, ein zweites Objekt 252 und ein drittes Objekt 253. Die Objekte 251-253 können z. B. Kisten sein, die depalettiert werden sollen, oder beliebige andere Objekte. Bei einer Ausführungsform kann der Stapel 250 mehrere Lagen umfassen. Der Stapel 250 kann beispielsweise eine erste Lage von dem ersten Objekt 251 und dem dritten Objekt 253 sowie eine zweite Lage von dem zweiten Objekt 252 umfassen. Ein Objekt (z. B. 252) der zweiten Lage kann auf mindestens ein Objekt (z. B. 253) der ersten Schicht gestapelt sein (z. B. kann das zweite Objekt 252 auf das dritte Objekt 253 gestapelt sein). Bei einer solchen Anordnung können sich ein oder mehrere Objekte (z. B. 252) der zweiten Schicht relativ zu einem Abstand zwischen der Kamera 270 und einem oder mehreren Objekten (z. B. 251) der ersten Lage näher an der Kamera 270 befinden, da die zweite Lage zwischen der Kamera 270 und der ersten Lage angeordnet ist. Zum Beispiel veranschaulicht 3A einen Tiefenwert von Z1 relativ zur Kamera 270 für eine Fläche 252A (z. B. obere Fläche) des zweiten Objekts 252, wobei sich der Tiefenwert auf einen Abstand zwischen der Kamera 270 und der Fläche 252A beziehen kann. Der Tiefenwert von Z1 für die Fläche 251A kann kleiner sein als ein Tiefenwert von Z2 , der ein Tiefenwert einer Fläche 251A (z. B. obere Fläche) für das erste Objekt und/oder ein Tiefenwert einer Fläche 253A des dritten Objekts 253 sein kann. 3A veranschaulicht ferner einen Tiefenwert von Z3, der ein Tiefenwert einer Fläche von z. B. einem Boden, auf dem der Stapel 250 platziert ist, oder einer anderen Lage (z. B. einer unteren Lage) des Stapels 250, die weiter von der Kamera 270 entfernt ist, sein kann.
  • Bei einer Ausführungsform können die von der Kamera 270 erzeugten Kameradaten eine Struktur des Stapels 250 beschreiben, die auch als Stapelstruktur für den Stapel 250 bezeichnet werden kann. Die Stapelstruktur kann mindestens aus einer Struktur eines Objekts (auch als Objektstruktur bezeichnet) des Stapels gebildet sein. Die Stapelstruktur für den Stapel 250 kann beispielsweise aus mindestens einer Objektstruktur für das erste Objekt 251 (die sich auf eine Struktur des ersten Objekts 251 bezieht), einer Objektstruktur für das zweite Objekt 252 und einer Objektstruktur für das dritte Objekt 253 gebildet sein. In einigen Fällen können die Kameradaten die Stapelstruktur mit 3D-Informationen beschreiben, welche die entsprechenden Tiefenwerte der Orte auf einer oder mehreren Flächen des Stapels 250 relativ zur Kamera 270 beschreiben. Die 3D-Informationen können beispielsweise mehrere 3D-Datenpunkte (z. B. 3D-Koordinaten) umfassen, welche die entsprechenden Orte auf einer oder mehreren Flächen (z. B. 251A, 252A, 253A) des Stapels 250 beschreiben, oder insbesondere eine oder mehrere Flächen der Stapelstruktur für den Stapel 250. Da der Stapel 250 aus den Objekten 251-253 gebildet ist, können die mehreren der 3D-Datenpunkte auch die entsprechenden Orte auf einer oder mehreren Flächen der Objekte 251-253 oder insbesondere ihrer Objektstrukturen beschreiben. Die mehreren 3D-Datenpunkte können z. B. einen Tiefenwert von Z1, Z2 oder Z3 für diese Orte angeben. In einigen Fällen können die Kameradaten 2D-Informationen umfassen, wie z. B. ein Bild, das ein Erscheinungsbild des Stapels 250 erfasst oder anderweitig darstellt. Das Bild kann ein Merkmal (z. B. eine Ecke oder Kante) der Stapelstruktur und/oder eine Objektstruktur zeigen, wie es nachstehend näher beschrieben wird.
  • Bei einer Ausführungsform kann das System 200 zwei oder mehr Kameras aufweisen. 3B zeigt beispielsweise ein beispielhaftes System 200A, das eine Ausführungsform des Systems 100/100A/100B/200 sein kann. Das System 200A umfasst die Kamera 270 und eine Kamera 280, die auch als die erste Kamera 270 und die zweite Kamera 280 bezeichnet werden können. Die erste Kamera 270 kann eine Ausführungsform der ersten Kamera 170 der 1A-1C sein, und die zweite Kamera 280 kann eine Ausführungsform der zweiten Kamera 180 der 1B-1C sein. Wie in 3A kann die erste Kamera 270 ein Kamerasichtfeld 272 aufweisen. Die zweite Kamera 280 kann ein zweites Kamerasichtfeld 282 aufweisen, das sich mindestens teilweise mit dem Kamerasichtfeld 272 überlappt. Bei einigen Aspekten kann sich das Kamerasichtfeld 272 der ersten Kamera 270 mit dem Kamerasichtfeld 282 der zweiten Kamera 280 im Wesentlichen überlappen, sodass die erste Kamera 270 und die zweite Kamera 280 jeweils Kameradaten erzeugen können, die im Wesentlichen den gleichen Teil der Stapelstruktur für den Stapel 250 erfassen. Bei einer Ausführungsform können die erste Kamera 270 und die zweite Kamera 280 unterschiedliche Kameratypen sein. Die erste Kamera 270 kann beispielsweise eine 3D-Kamera sein, während die zweite Kamera 280 eine 2D-Kamera sein kann, oder umgekehrt. Bei anderen Ausführungsformen kann die erste Kamera 270 und die zweite Kamera 280 der gleiche Kameratyp sein.
  • Bei einer Ausführungsform kann das Computersystem 110 konfiguriert sein, auf Informationen zuzugreifen oder anderweitig Informationen zu empfangen, die eine räumliche Beziehung (z. B. relativer Ort und Ausrichtung) zwischen der ersten Kamera 270 und der zweiten Kamera 280 beschreiben. Diese Informationen können z. B. zuvor vom Computersystem 110 ermittelt worden sein (z. B. durch einen Stereokamerakalibrierungsvorgang), oder sie können zuvor manuell bestimmt und in dem nicht flüchtigen computerlesbaren Medium 115 des Computersystems 110 oder einer anderen Vorrichtung gespeichert worden sein. Als Beispiel können die Informationen eine Transformationsmatrix sein, die eine Translation und Rotation zwischen einem Koordinatensystem der ersten Kamera 270 und einem Koordinatensystem der zweiten Kamera 280 beschreiben. In einigen Fällen kann das Computersystem 110 konfiguriert sein, die Informationen bezüglich der räumlichen Beziehung zwischen der ersten Kamera 270 und der zweiten Kamera 280 derart zu verwenden, dass von der ersten Kamera 170 erzeugte Kameradaten und von der zweiten Kamera 280 erzeugte Kameradaten in einem gemeinsamen Bezugsrahmen, wie z. B. einem gemeinsamen Koordinatensystem, platziert werden. Wenn das Computersystem wie nachstehend ausführlicher beschrieben beispielsweise die Kameradaten der zweiten Kamera 280 verwendet, um den Ort eines Merkmals der Stapelstruktur zu bestimmen, kann das Computersystem 110 konfiguriert sein, jeden Unterschied zwischen einem Bezugsrahmen der Kamera 280 und dem gemeinsamen Bezugsrahmen auszugleichen. In einigen Fällen kann der gemeinsame Bezugsrahmen ein Bezugsrahmen von einer der Kameras sein, wie z. B. der ersten Kamera 270.
  • Bei einer Ausführungsform können die erste Kamera 270 und die zweite Kamera 280 eine im Wesentlichen feste räumliche Beziehung aufweisen. 3B veranschaulicht beispielsweise eine Befestigungsstruktur 202, an der sowohl die erste Kamera 270 als auch die zweite Kamera 280 fest angebracht sind. Die feste Anbringung kann bewirken, dass die erste Kamera 270 und die zweite Kamera 280 in Bezug auf ihren relativen Ort und ihre Ausrichtung zueinander fixiert sind.
  • Bei einer Ausführungsform kann ein Ort im Sichtfeld einer Kamera (z. B. 272) von der Sicht verdeckt sein, da eine Sichtlinie zwischen diesem Ort und der Kamera (z. B. 270) durch ein Objekt oder einen Teil davon im Sichtfeld der Kamera blockiert sein kann oder kurz davor sein kann, blockiert zu werden. Das Objekt oder ein Teil davon kann mit anderen Worten diesen Ort oder einen Teil von einer Region, die den Ort umgibt, gegenüber der Kamera verdecken oder kann nahe daran sein, dies zu tun. Bei einer Ausführungsform kann das Objekt verhindern, dass Licht oder ein anderes Signal, das zur Erfassung von Informationen über diesen Ort verwendet werden kann, die Kamera direkt erreicht, oder es kann das Signal erheblich verfälschen. In den 3A und 3B kann ein Teil des Stapels 250 oder insbesondere der Stapelstruktur relativ zur Kamera 270 durch einen anderen Teil der Stapelstruktur verdeckt sein. Zum Beispiel können, wie in 3B dargestellt, Orte, die sich in einer Region 251A-1 auf einer Fläche 251A des ersten Objekts 251 oder in einer Region 253A-1 auf einer Fläche 253A1 des dritten Objekts 253A befinden, gegenüber der Kamera 270 durch das zweite Objekt 252 oder insbesondere durch einen Teil davon, der von der Region 252A-1 eingenommen ist, verdeckt sein. In einigen Fällen kann die Verdeckung auf die Positionierung der Kamera 270 und der Objekte 251-253 des Stapels 250 relativ zur Kamera 270 und zueinander zurückzuführen sein. Die Verdeckung kann dazu führen, dass die von der Kamera 270 erzeugten Kameradaten eine unvollständige Beschreibung des Stapels 250 oder insbesondere seiner Stapelstruktur bereitstellen. Wenn die von der Kamera 270 erzeugten Kameradaten mehrere 3D-Datenpunkte umfassen, können diese 3D-Datenpunkte beispielsweise wenig bis gar keine Informationen über die Region 251A-1 und die Region 253A-1 bereitstellen. Wenn die von der Kamera 270 erzeugten Kameradaten ein 2D-Bild umfassen, kann es sein, dass das 2D-Bild die Region 251A-1 und die Region 253A-1 nicht zeigt oder anderweitig dargestellt. Während sich die vorstehende Erörterung auf die Verdeckung eines Orts relativ zur Kamera 270 bezieht, können ein oder mehrere Orte der Stapelstruktur für den Stapel 250 in 3B auch relativ zur Kamera 280 verdeckt sein.
  • Bei einer Ausführungsform kann die Verdeckung von einem oder mehreren Orten im Sichtfeld einer Kamera die Roboterinteraktion mit Objekten im Sichtfeld beeinflussen, da die Roboterinteraktion von Kameradaten abhängen kann, die z. B. die Lage, Größe und/oder Ausrichtung der Objekte relativ zu einem Roboter beschreiben. In einigen Fällen kann die Roboterinteraktion die Ausführung einer Objekterkennung umfassen, um die Objekte im Sichtfeld zu erkennen, und die Verdeckung kann die Genauigkeit der Objekterkennung beeinträchtigen. Daher beziehen sich einige Aspekte der Ausführungsformen hierin auf die Detektion oder anderweitige Bestimmung einer Verdeckung innerhalb eines Kamerasichtfelds. Eine solche Bestimmung kann z. B. verwendet werden, um eine Objekterkennung zu bewerten, die möglicherweise ausgeführt wurde, während eine Verdeckung im Kamerasichtfeld vorhanden war, um zu steuern, wie die Objekterkennung ausgeführt wird, und/oder um die Roboterinteraktion mit Objekten im Kamerasichtfeld zu steuern. Die 4A und 4B zeigen ein Beispiel für das Verfahren 400 zur Bestimmung einer Verdeckung innerhalb eines Kamerasichtfelds. Das Verfahren 400 kann von einem Computersystem ausgeführt werden, wie z. B. von der Steuerschaltung 111 des Computersystems 110 der 1A bis 1C und 2.
  • Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, das Verfahren 400 auszuführen, wenn die Kommunikationsschnittstelle 113 des Computersystems 110 mit mindestens einer Kamera in Kommunikation ist, wobei die mindestens eine Kamera eine erste Kamera (z. B. 170/270) mit einem ersten Kamerasichtfeld (z. B. 272) umfasst. Das Verfahren 400 kann beispielsweise für die in den 3A, 3B, 5A-5D, 6A-6D und 7A-7C dargestellten Situationen ausgeführt werden, wobei die erste Kamera 270, die zweite Kamera 280 und das Computersystem 110 in Kommunikation mit den Kameras 270/280 ist. In einem anderen Beispiel kann das Verfahren 400 für Situationen ausgeführt werden, in denen die mindestens eine Kamera die erste Kamera 270 umfasst und die zweite Kamera 280 nicht vorhanden ist.
  • Bei einer Ausführungsform kann das Verfahren 400 ferner ausgeführt werden, wenn sich ein Stapel mit mehreren Objekten in einem ersten Kamerasichtfeld (z. B. 272) der ersten Kamera (z. B. 270) befindet. Die Steuerschaltung 111 kann z. B. das Verfahren 400 ausführen, wenn sich z. B. der Stapel 250 der Objekte 251-253 der 3A, 3B, 5A und 6A im ersten Kamerasichtfeld 272 der ersten Kamera 270 befindet, oder wenn sich ein Stapel 750 der Objekte 751-753 der 7A im ersten Kamerasichtfeld 272 der ersten Kamera 270 befindet. Wie vorstehend angegeben, kann die Stapelstruktur für den Stapel 250 in 5A und 6A aus mindestens einer Objektstruktur für das erste Objekt 251 (wobei sich die Objektstruktur auf eine Struktur des Objekts bezieht) sowie aus einer Objektstruktur für das zweite Objekt 252 und der Objektstruktur für das dritte Objekt 253 gebildet sein. In ähnlicher Weise kann die Stapelstruktur für den Stapel 750 von 7A aus mindestens einer Objektstruktur für ein erstes Objekt 751 sowie aus einer Objektstruktur für ein zweites Objekt 752 und einer Objektstruktur für ein drittes Objekt 753 gebildet sein.
  • Bei einer Ausführungsform kann das Verfahren 400 mit einem Schritt 402 beginnen oder anderweitig diesen umfassen, in dem die Steuerschaltung 111 Kameradaten empfängt, die von mindestens einer Kamera erzeugt werden, die eine erste Kamera (z. B. 170/270) mit einem ersten Kamerasichtfeld (z. B. 272) umfasst, wobei die Kameradaten eine Stapelstruktur für den Stapel (z. B. 250/750 der 5A, 6A und 7A) beschreiben, wobei die Stapelstruktur eine Struktur des Stapels bezeichnen kann. In einigen Szenarien kann die mindestens eine Kamera die erste Kamera (z. B. 170/270) und eine zweite Kamera (z. B. 180/280) umfassen. In solchen Szenarien können die von der Steuerschaltung in Schritt 402 empfangenen Kameradaten sowohl von der ersten Kamera (z. B. 170/270) als auch von der zweiten Kamera (z. B. 180/280) erzeugte Kameradaten umfassen.
  • Wie vorstehend angegeben, können die von der Steuerschaltung 111 in Schritt 402 empfangenen Kameradaten in einigen Fällen 3D-Informationen umfassen, die Tiefeninformationen bezüglich einer Szene im ersten Kamerasichtfeld umfassen. Die Tiefeninformationen können z. B. Tiefenwerte von entsprechenden Orten an der Stapelstruktur angeben, wobei die Tiefenwerte relativ zur ersten Kamera (z. B. 270) sein können. In einigen Fällen können die Tiefeninformationen mehrere 3D-Datenpunkte umfassen, welche die Tiefenwerte beschreiben. Beispielsweise kann jeder der mehreren 3D-Datenpunkte eine 3D-Koordinate sein, wie z. B. eine [X Y Z]T-Koordinate, die einen entsprechenden Ort auf einer Fläche des Stapels beschreibt (die auch als Fläche der Stapelstruktur bezeichnet werden kann). In diesem Beispiel kann die Z-Komponente des 3D-Datenpunkts ein Tiefenwert des entsprechenden Orts sein, der durch den 3D-Datenpunkt dargestellt wird. In einigen Fällen können die mehreren 3D-Datenpunkte eine Punktwolke bilden, welche die entsprechenden Orte auf einer oder mehreren Flächen der Stapelstruktur für den Stapel (z. B. 250/750) beschreibt. Wie vorstehend weiter ausgeführt, können die in Schritt 402 empfangenen Kameradaten in einigen Fällen ein 2D-Bild des Stapels (z. B. 250/750) oder insbesondere der Stapelstruktur umfassen. Das 2D-Bild kann z. B. mehrere Pixel umfassen, die den Pixelkoordinaten [u v]T entsprechen.
  • Bei einer Ausführungsform kann das Verfahren 400 einen Schritt 404 umfassen, in dem die Steuerschaltung 111 basierend auf den von der mindestens einen Kamera erzeugten Kameradaten ein Zielmerkmal der Objektstruktur für ein Objekt (das auch als Zielmerkmal des Objekts bezeichnet werden kann) oder das darauf angeordnet ist identifizieren kann. Als Beispiel kann die Objektstruktur eine Struktur des ersten Objekts 251 der 5A und 6A oder eine Struktur des ersten Objekts 751 von 7A sein.
  • Bei einer Ausführungsform kann das Zielmerkmal irgendein Merkmal (z. B. Charakteristik) des Objekts sein, das von dem Computersystem 110 verwendet wird, um die Objekterkennung für ein Objekt (z. B. 251 von 5A oder 751 von 7A) auszuführen und/oder die Roboterinteraktion mit dem Objekt zu planen. Wie nachstehend ausführlicher beschrieben, kann die Steuerschaltung 111 in einigen Fällen konfiguriert sein, das Zielmerkmal basierend auf Informationen in einer Objekterkennungsvorlage zu identifizieren, die z. B. eine Größe (z. B. Abmessungen) der Objektstruktur, eine Form der Objektstruktur und/oder ein visuelles Merkmal, das auf einer Fläche der Objektstruktur erscheint, beschreiben kann.
  • Bei einer Ausführungsform kann das Zielmerkmal der Objektstruktur (das auch als Zielmerkmal eines Objekts bezeichnet werden kann) oder, das darauf angeordnet ist, mindestens eines von Folgendem sein: eine Ecke der Objektstruktur für ein Objekt, eine Kante der Objektstruktur, ein visuelles Merkmal, das auf einer Fläche der Objektstruktur angeordnet ist, oder ein Umriss der Fläche der Objektstruktur. Die vorstehend genannten Merkmale können auch als eine Ecke des Objekts, eine Kante des Objekts, ein auf der Fläche des Objekts angeordnetes visuelles Merkmal oder ein Umriss der Fläche des Objekts bezeichnet werden.
  • Insbesondere können einige Ausführungsformen zur Identifizierung des Zielmerkmals in Schritt 404 die Identifizierung einer Ecke einer Objektstruktur als das Zielmerkmal beinhalten, wie z. B. eine Ecke 251B der Objektstruktur für das erste Objekt 251 in 5A (die auch als Ecke 251B des ersten Objekts 251 bezeichnet werden kann). In einigen Fällen kann die Steuerschaltung 111 des Computersystems 110 konfiguriert sein, die Ecke 251B basierend auf 3D-Informationen aus den von der ersten Kamera 270 erzeugten Kameradaten und/oder den von der zweiten Kamera 280 von 5A erzeugten Kameradaten zu identifizieren. 5B stellt ein Beispiel für 3D-Informationen bereit, die mehrere 3D-Datenpunkte umfassen, welche die entsprechenden Tiefenwerte von Orten auf einer oder mehreren Flächen im Kamerasichtfeld 272 (oder 282) der Kamera 270 (oder der Kamera 280) von 3A, 3B und 5A angeben. Die mehreren 3D-Datenpunkte können beispielsweise einen ersten Satz von 3D-Datenpunkten umfassen, die einen Tiefenwert von Z1 für jeden von einem oder mehreren Orten (die durch die schwarzen Kreise in 5B angegeben sind) auf der Fläche 252A des zweiten Objekts 252 relativ zur Kamera 270/280 angeben. Die mehreren 3D-Datenpunkte können ferner einen zweiten Satz von Datenpunkten umfassen, die einen Tiefenwert von Z2 für jeden von einem oder mehreren Orten (die durch die weißen Kreise in 5B angegeben sind) auf der Fläche 251A des ersten Objekts 251 und der Fläche 253A des dritten Objekts 253 relativ zur Kamera 270/280 angeben. Die mehreren 3D-Datenpunkte können ferner einen dritten Satz von 3D-Datenpunkten umfassen, die einen Tiefenwert von Z3 für jeden von einem oder mehreren Orten von einer oder mehreren zusätzlichen Flächen angeben, die z. B. einem Boden entsprechen können, der den Stapel 250 von 5A umgibt, oder irgendeiner anderen Fläche, auf der das erste Objekt 251 und das dritte Objekt 253 angeordnet sind. Wie vorstehend angegeben, kann jeder der mehreren 3D-Datenpunkte bei einigen Ausführungsformen eine 3D-Koordinate, wie z. B. eine [X Y Z], sein. Bei einer solchen Ausführungsform kann der Tiefenwert z. B. durch eine Z-Komponente der 3D-Koordinate angegeben werden.
  • Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, die Ecke 251B basierend auf der Identifizierung einer konvexen Ecke oder einer vereinigten Ecke basierend auf den mehreren 3D-Datenpunkten von 5B zu identifizieren. Die Identifizierung einer konvexen Ecke oder einer vereinigten Ecke wird in der US-Patentanmeldung Nr. 16/578,900 mit dem Titel „Method and Computing System for Object Identification“ ausführlicher beschrieben, die durch Bezugnahme hierin in ihrer Gesamtheit aufgenommen wird. Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, die Ecke 251B zu identifizieren, indem sie 3D-Datenpunkte identifiziert, die eine Region darstellen, die im Wesentlichen einen ersten Tiefenwert für ein Viertel der Region und einen zweiten Tiefenwert (z. B. einen höheren Tiefenwert) für die restlichen drei Viertel der Region aufweist. In einigen Fällen kann die Ecke 251B als ein Zentrum der Region identifiziert werden.
  • Bei einer Ausführungsform kann die Identifizierung der Ecke 251B das Bestimmen ihres Orts beinhalten, wie z. B. das Bestimmen einer Koordinate [X Y Z]T basierend auf den Kameradaten, wie es in 5B veranschaulicht ist. In einigen Fällen kann die Steuerschaltung 111 die Koordinate relativ zu einem gemeinsamen Bezugsrahmen bestimmen, wie es vorstehend beschrieben ist. Als Beispiel kann der gemeinsame Bezugsrahmen ein Koordinatensystem der ersten Kamera 270 von 5A sein. Wenn die Koordinate [X Y Z]T auf den von der ersten Kamera 270 erzeugten Kameradaten basiert, kann sich die Koordinate in einigen Fällen bereits im gemeinsamen Bezugsrahmen befinden. In solchen Fällen kann die Koordinate [X Y Z]T für andere Schritte der Verfahren 400, wie z. B. Schritt 406, verwendet werden. Wenn in einigen Fällen die Koordinate [X Y Z]T anfänglich auf den von der zweiten Kamera 280 von 5A erzeugten Kameradaten basiert, kann die Koordinate anfänglich relativ zu einem Bezugsrahmen (z. B. Koordinatensystem) der zweiten Kamera 280 ausgedrückt werden. In einer solchen Situation kann die Steuerschaltung 111 konfiguriert sein, eine angepasste Koordinate [X' Y' Z']T zu erzeugen, die einen Unterschied im Ort und/oder der Ausrichtung zwischen einem Bezugsrahmen der ersten Kamera 270 und dem Bezugsrahmen der zweiten Kamera 280 berücksichtigt. Die Steuerschaltung 111 kann beispielsweise konfiguriert sein, die angepasste Koordinate [X' Y' Z']T durch Anwendung einer Transformationsmatrix auf die Koordinate [X Y Z]T zu erzeugen, wobei die Transformationsmatrix die räumliche Beziehung zwischen der ersten Kamera 270 und der zweiten Kamera 280 beschreibt, wie es vorstehend beschrieben ist. In einigen Fällen können die erste Kamera 270 und die zweite Kamera 280 koplanar sein, was bewirken kann, dass Z' gleich Z ist. Im vorstehenden Beispiel kann die angepasste Koordinate [X' Y' Z']T in anderen Schritten des Verfahrens 400, wie z. B. Schritt 406, verwendet werden.
  • Bei einer Ausführungsform kann die Steuerschaltung 111 des Computersystems 110 konfiguriert sein, die Ecke 251B von 5A basierend auf 2D-Informationen zu identifizieren, die aus den von der ersten Kamera 270 erzeugten Kameradaten oder aus den von der zweiten Kamera 280 von 5A erzeugten Kameradaten stammen können. Die zweite Kamera 280 kann beispielsweise in einigen Fällen eine 2D-Kamera sein, die konfiguriert ist, ein 2D-Bild zu erzeugen. 5C zeigt ein Beispiel für ein 2D-Bild des Stapels 250 von 5A. In diesem Beispiel erscheint im 2D-Bild die Fläche 251A der Objektstruktur für das erste Objekt 251, die Fläche 252A der Objektstruktur für das zweite Objekt 252 und die Fläche 253A der Objektstruktur für das dritte Objekt 253. Die Steuerschaltung 111 kann konfiguriert sein, z. B. die Ecke 251B aus dem 2D-Bild von 5C zu identifizieren, wie z. B. durch Bestimmung einer Pixelkoordinate [u v]T, an der die Ecke 251B in dem Bild erscheint, und Umwandlung der Pixelkoordinate in eine 3D-Koordinate [X Y Z]T. In einigen Fällen kann die Pixelkoordinate [u v]T als ein Schnittpunkt zwischen zwei Linien in dem Bild identifiziert werden, wobei die beiden Linien zwei entsprechende Außenkanten der Objektstruktur für das erste Objekt 251 darstellen. Bei einer Ausführungsform kann die Umwandlung der Pixelkoordinate [u v]T in die 3D-Koordinate [X Y Z]T z. B. auf einer inversen Projektionsmatrix K-1 (und/oder jeglichen anderen Kamerakalibrierungsinformationen) der Kamera, die das 2D-Bild erzeugt hat, wie z. B. die erste Kamera 270 oder die zweite Kamera 280, basieren. In einigen Fällen kann die Konvertierung außerdem auf 3D-Informationen basieren, die von der gleichen Kamera oder einer anderen Kamera erzeugt wurden. In einigen Fällen kann die Steuerschaltung 111 konfiguriert sein, die 3D-Koordinate [X Y Z]T weiter anzupassen, um die 3D-Koordinate in einem gemeinsamen Bezugsrahmen auszudrücken, wie es vorstehend beschrieben ist.
  • Wie vorstehend angegeben, können einige Ausführungsformen der Identifizierung des Zielmerkmals in Schritt 404 die Identifizierung einer Kante einer Objektstruktur als Zielmerkmal beinhalten, wie z. B. die Kante 251C der Objektstruktur für das erste Objekt 251 in 6A (die auch als die Kante 251C des ersten Objekts 251 bezeichnet werden kann). In einigen Fällen kann die Steuerschaltung 111 des Computersystems 110 konfiguriert sein, die Kante 251C basierend auf 3D-Informationen zu identifizieren, die aus den von der ersten Kamera 270 erzeugten Kameradaten und/oder aus den von der zweiten Kamera 280 in 6A erzeugten Kameradaten stammen können. 6B stellt beispielsweise 3D-Informationen dar, die mehrere 3D-Datenpunkte umfassen. Die in 6B dargestellten mehreren 3D-Datenpunkte können im Wesentlichen die gleichen wie die von 5B sein. Im Beispiel von 6B kann die Steuerschaltung 111 konfiguriert sein, die Kante 251C der Objektstruktur für das erste Objekt 251 basierend auf den 3D-Informationen und basierend auf einer Objekterkennungsvorlage zu identifizieren. Die Objekterkennungsvorlage kann die Objekterkennung für das erste Objekt 251 erleichtern, indem sie z. B. eine Größe der Objektstruktur für das erste Objekt 251 beschreibt und/oder andere Merkmale des ersten Objekts 251 beschreibt, die zur Ausführung einer Objekterkennung verwendet werden können. Die Objekterkennungsvorlage kann z. B. angeben, dass die Objektstruktur für das erste Objekt 251 eine Länge L und eine Breite W aufweist. Bei einem solchen Beispiel kann die Steuerschaltung 111 konfiguriert sein, die Kante 251C in 6B zu identifizieren, indem sie z. B. eine Außenkante 251D von 6A und 6B basierend auf den mehreren 3D-Datenpunkten identifiziert und die Kante 251C als einen Satz von Orten identifiziert (z. B. X1 Y1 Z1]T und [X2 Y2 Z2]T), die von der Außenkante 251D um die Breite W der Objektstruktur, die in der Objekterkennungsvorlage identifiziert wird, versetzt sind. In einigen Fällen kann die Steuerschaltung 111 konfiguriert sein, die Außenkante 251D von 6A zu identifizieren, indem sie eine Reihe von Orten bestimmt, an denen es eine Diskontinuität in Tiefenwerten gibt (z. B. eine Diskontinuität von Z2 zu Z3, wie in 3A veranschaulicht).
  • In einigen Fällen kann die Steuerschaltung 111 des Computersystems 110 konfiguriert sein, die Kante 251C basierend auf 2D-Informationen zu identifizieren, die aus den von der ersten Kamera 270 erzeugten Kameradaten und/oder aus den von der zweiten Kamera 280 in 6A erzeugten Kameradaten stammen können. 6C stellt beispielsweise ein 2D-Bild des Stapels 250 von 6A dar. Das 2D-Bild von 6C kann im Wesentlichen das gleiche wie das von 5C sein. Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, aus dem 2D-Bild eine oder mehrere Pixelkoordinaten zu identifizieren, an denen die Kante 251C im Bild von 6C erscheint. Die Steuerschaltung 111 kann beispielsweise eine erste Pixelkoordinate [u1 v1]T identifizieren, die einen Ort darstellt, an dem ein erster Endpunkt der Kante 251C in dem 2D-Bild von 6C erscheint, und eine zweite Pixelkoordinate [u2 v2]T identifizieren, die einen Ort darstellt, an dem ein zweiter Endpunkt der Kante 251C in dem 2D-Bild erscheint. In einigen Fällen kann die Steuerschaltung 111 konfiguriert sein, die erste Pixelkoordinate [u1 v1]T und die zweite Pixelkoordinate [u2 v2]T in eine erste 3D-Koordinate [X1 Y1 Z1]T und eine zweite 3D-Koordinate [X2 Y2 Z2]T, wie vorstehend in Bezug auf 5C beschrieben umzuwandeln.
  • Wie vorstehend angegeben, können einige Ausführungsformen der Identifizierung des Zielmerkmals in Schritt 404 das Identifizieren eines visuellen Merkmals, das auf einer Fläche der Objektstruktur angeordnet ist, als Zielmerkmal beinhalten. Bei einer Ausführungsform kann ein visuelles Merkmal ein grafisches Element oder irgendeine andere visuelle Markierung umfassen. 7A stellt beispielsweise ein visuelles Merkmal 751B auf einer Fläche 751A einer Objektstruktur für ein erstes Objekt 751 dar (das auch als ein visuelles Merkmal 751B bezeichnet werden kann, das auf einer Fläche 751A des ersten Objekts 751 angeordnet ist). Insbesondere stellt 7A eine Situation dar, in der sich ein Stapel 750 von Objekten 751-753 in einem Sichtfeld 272 der ersten Kamera 270 und/oder in einem Sichtfeld 282 der zweiten Kamera 280 befindet. Das erste Objekt 751 und das dritte Objekt 753 können eine erste Schicht des Stapels 750 bilden, während das zweite Objekt 752 eine zweite Schicht des Stapels 750 bilden und auf dem ersten Objekt 751 und auf dem dritten Objekt 753 gestapelt sein kann. Wie vorstehend angegeben, kann das erste Objekt 751 ein optisches Merkmal 751B aufweisen, das auf einer Fläche 751A des ersten Objekts 751 angeordnet ist. Im Beispiel von 7A kann das visuelle Merkmal 751B ein Logo sein, das einen Markennamen oder ein Warenzeichen (z. B. „A“) zeigt und auf die Fläche 751A der Objektstruktur für das erste Objekt 751 gedruckt oder darauf angebracht sein kann.
  • Bei einer Ausführungsform kann die Steuerschaltung 111 des Computersystems 110 konfiguriert sein, das visuelle Merkmal 751B basierend auf 2D-Informationen (z. B. ein 2D-Bild) zu identifizieren, die aus den von der ersten Kamera 270 erzeugten Kameradaten und/oder den von der zweiten Kamera 280 von 7A erzeugten Kameradaten stammen können. 7B stellt beispielsweise das visuelle Merkmal 751B dar, das in einem 2D-Bild des Stapels 750 erscheint. Insbesondere kann die Fläche 751A (z. B. die obere Fläche) des ersten Objekts 751, die Fläche 752A des zweiten Objekts 752 und die Fläche 753A des dritten Objekts 753 in dem in 7B dargestellten Bild erscheinen.
  • Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, das visuelle Merkmal 751B zu identifizieren, indem sie bestimmt, ob irgendein Teil der 2D-Informationen (z. B. 2D-Bild) von 7B mit einem Erscheinungsbild oder einer anderen Eigenschaft eines definierten visuellen Merkmals übereinstimmt. Die Steuerschaltung 111 kann beispielsweise eine Mustererkennung ausführen, um zu erkennen zu versuchen, ob irgendein Teil des 2D-Bildes von 7B mit einer Form, einer Markierung, einem Muster, einer Farbe oder irgendeinem anderen Aspekt des Erscheinungsbilds des definierten visuellen Merkmals übereinstimmt. Bei einer Ausführungsform können Informationen für das definierte visuelle Merkmal in dem nicht flüchtigen computerlesbaren Medium 115 gespeichert werden. Bei einer Ausführungsform können Informationen für das definierte visuelle Merkmal in einer Objekterkennungsvorlage gespeichert werden. Wie vorstehend angegeben, kann die Objekterkennungsvorlage die Objekterkennung für ein bestimmtes Objekt oder eine bestimmte Kategorie von Objekten erleichtern, indem sie dessen Eigenschaften beschreibt, wie z. B. eine Größe (z. B. Abmessungen) einer Objektstruktur für das Objekt oder die Kategorie von Objekten, eine Form der Objektstruktur und/oder ein Erscheinungsbild einer Fläche der Objektstruktur, wie z. B. ein auf der Fläche der Objektstruktur angeordnetes visuelles Merkmal. Die Objekterkennungsvorlage kann beispielsweise Informationen umfassen, die das „A“-Logo als ein visuelles Merkmal beschreiben, das auf einer Fläche (z. B. 751A) des ersten Objekts 751 oder einer Objektkategorie, zu der das erste Objekt 751 gehört, erscheint. In einem solchen Fall kann die Steuerschaltung 111 konfiguriert sein, das visuelle Merkmal 751B zu identifizieren, indem sie bestimmt, ob irgendein Teil des 2D-Bildes von 7B mit den Informationen übereinstimmt, die in der Objekterkennungsvorlage zur Beschreibung des „A“-Logos gespeichert sind.
  • Bei einer Ausführungsform kann die Identifizierung des Zielmerkmals in Schritt 404 die Identifizierung eines Umrisses einer Fläche einer Objektstruktur als das Zielmerkmal beinhalten. Der Umriss kann eine Grenze der Fläche der Objektstruktur beschreiben. Die Steuerschaltung 111 kann beispielsweise den Umriss der Objektstruktur für das erste Objekt 751 in 7A identifizieren, indem sie alle vier Kanten 751C-751F der Fläche 751A der Objektstruktur für das erste Objekt 751 identifiziert. Mit anderen Worten können beispielsweise die vier Kanten 751C-751F einen Umriss der Fläche 751A bilden. In einigen Fällen kann die Steuerschaltung 111 die Kanten 751C-751F basierend auf einer definierten Größe der Objektstruktur für das erste Objekt 751 identifizieren, wie z. B. einer definierten Größe, die in einer Objekterkennungsvorlage beschrieben wird. Die definierte Größe kann z. B. Abmessungen der Objektstruktur angeben, wie z. B. Länge und Breite. Die Steuerschaltung 111 kann beispielsweise konfiguriert sein, mindestens eine der Kanten 751C-751F basierend auf 2D-Informationen oder 3D-Informationen in den von der Kamera 270/280 erzeugten Kameradaten zu identifizieren und die verbleibenden Kanten 751C-751F basierend auf der definierten Größe der Objektstruktur für das erste Objekt 751 zu identifizieren.
  • Unter Bezugnahme auf die 4A bis 4B kann das Verfahren 400 ferner einen Schritt 406 umfassen, bei dem die Steuerschaltung 111 eine 2D-Region bestimmt, die mit dem Zielmerkmal koplanar ist und deren Kante das Zielmerkmal umgibt. Die 2D-Region kann z. B. eine 2D-Region mit einer rechteckigen Form (z. B. einer quadratischen Form), einer runden Form, einer sechseckigen Form oder irgendeiner anderen 2D-Form sein. In einigen Fällen kann die 2D-Region als Verdeckungsanalyseregion bezeichnet werden, da sie zur Bestimmung einer Verdeckungsregion verwendet wird, wie es nachstehend ausführlich erklärt wird.
  • Als Beispiel stellt 5A die Ecke 251B als das Zielmerkmal dar und eine 2D-Region 520 (z. B. eine quadratische Region), die mit der Ecke 251B koplanar ist und deren Grenze die Ecke 251B umgibt. Insbesondere kann die Ecke 251B eine Ecke der Fläche 251A einer Objektstruktur für das erste Objekt 251 sein und die 2D-Region 520 kann mit dieser Fläche 251A koplanar sein. Ferner kann sich die Ecke 251B innerhalb der 2D-Region 520 befinden. Die 2D-Region 520 kann eine quadratische Region sein, kann aber modifiziert sein, sodass sie z. B. eine rechteckige Region oder eine kreisförmige Region ist. In einigen Fällen kann die Steuerschaltung 111 die 2D-Region 520 als eine Region bestimmen, die: (i) eine definierte Größe und (ii) ein Zentrum, das sich an der Ecke 251B befindet, aufweist.
  • Als weiteres Beispiel zeigt 6A die Kante 251C wie vorstehend beschrieben als Zielmerkmal und stellt eine 2D-Region 620 (z. B. eine rechteckige Region) dar, die mit der Kante 251C der Objektstruktur für das erste Objekt 251 koplanar ist und deren Grenze die Kante 251C umgibt. Insbesondere kann die Kante 251C eine Kante der Fläche 251A der Objektstruktur für das erste Objekt 251 sein und die 2D-Region 620 kann mit der Fläche 251A koplanar sein. Ferner kann sich die Kante 251C innerhalb der 2D-Region 620 befinden. Bei einigen Aspekten kann die Steuerschaltung 111 die 2D-Region 620 als eine Region bestimmen, die: (i) eine definierte Größe und (ii) ein Zentrum, das sich an der Kante 251C befindet, aufweist. In einigen Fällen kann das Zentrum der 2D-Region 620 ein Zentrum der Kante 251C sein.
  • 7A zeigt das Zielmerkmal als das visuelle Merkmal 751B und/oder als ein Umriss der Fläche 751A der Objektstruktur für das erste Objekt 751, wie es vorstehend beschrieben ist. Im Beispiel von 7A kann die Steuerschaltung 111 als Teil von Schritt 406 eine 2D-Region 720 (z. B. eine quadratische Region) bestimmen. Die 2D-Region 720 kann mit dem visuellen Merkmal 751B und mit dem Umriss der Fläche 751A koplanar sein. Außerdem kann die 2D-Region 720 eine Grenze aufweisen, die das visuelle Merkmal 751B und auch den Umriss der Fläche 751A umgibt.
  • Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, die 2D-Region 520/620/720 basierend auf einer definierten Größe, die z. B. in dem nicht flüchtigen computerlesbaren Medium gespeichert ist, bestimmen. Die definierte Größe kann z. B. eine feste Größe für die 2D-Region 520/620/720 sein. Wenn das Zielmerkmal eine Ecke (z. B. 251B) ist, kann die 2D-Region (z. B. 520), welche die Ecke umgibt und damit koplanar ist, eine quadratische Region mit einer festen Größe von z. B. 2 cm × 2 cm oder 5 cm × 5 cm sein. Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, die Größe der 2D-Region (z. B. 620/720) basierend auf der Größe des Zielmerkmals zu bestimmen. Die Steuerschaltung 111 kann beispielsweise konfiguriert sein, eine Länge der 2D-Region 620 als ein Verhältnis multipliziert mit einer Länge der Kante 250C von 6A zu bestimmen. Bei einem anderen Beispiel kann die Steuerschaltung 111 konfiguriert sein, eine Länge der 2D-Region 720 als das Verhältnis multipliziert mit einer Länge einer ersten Kante (z. B. 750C), die den Umriss der Fläche 751A des ersten Objekts 751 bildet, zu bestimmen, und sie kann konfiguriert sein, eine Breite der 2D-Region 720 als das Verhältnis multipliziert mit einer Länge einer zweiten Kante (z. B. 751E), die den Umriss bildet, zu bestimmen, wobei die zweite Kante senkrecht zur ersten Kante sein kann. Die 2D-Region 720 kann eine Länge und eine Breite aufweisen, die unterschiedliche Werte oder den gleichen Wert aufweisen. In einigen Fällen kann das Verhältnis ein definierter Wert sein, der in dem nicht flüchtigen computerlesbaren Medium 115 oder an anderer Stelle gespeichert ist. In einigen Fällen kann das Verhältnis dynamisch definiert oder anderweitig durch die Steuerschaltung 111 bestimmt sein.
  • Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, eine Größe der 2D-Region (z. B. 520/620/720) basierend auf mindestens einem zu bestimmen von: einem Umgebungsfaktor oder einem Merkmal der Objektstruktur, zu der das Zielmerkmal gehört. In einigen Fällen kann der Umgebungsfaktor einen Bildrauschpegel umfassen, der z. B. die Lichtmenge in einer Umgebung der Kamera (z. B. 270/280) oder irgendeine andere Bedingung angibt, die eine Fähigkeit der Kamera, eine Szene in ihrem Sichtfeld (z. B. 272/282) genau zu erfassen, beeinflussen kann. In einigen Fällen kann das Merkmal der Objektstruktur, zu der das Zielmerkmal gehört, z. B. mindestens eines von einer Form der Objektstruktur oder eine Textur einer Fläche der Objektstruktur umfassen. Eine Objektstruktur mit einer runden Form kann beispielsweise wahrscheinlicher den Betrieb einer 3D-Kamera beeinträchtigen und in einer verminderten Genauigkeit der 3D-Informationen, die von der 3D-Kamera zur Beschreibung der Objektstruktur erzeugt werden, resultieren. In einigen Fällen kann die Textur der Fläche ein Reflexionsvermögen der Fläche angeben. Eine stärker reflektierende (z. B. glänzendere) Fläche kann beispielsweise den Betrieb einer 2D-Kamera wahrscheinlicher beeinträchtigen und die Genauigkeit der 2D-Informationen verringern, die von der 2D-Kamera zur Erfassung oder anderweitigen Darstellung des Erscheinungsbildes der Fläche erzeugt werden. Bei einer Ausführungsform kann das Bestimmen der Größe der 2D-Region (z. B. 620/720) das Bestimmen des vorstehend beschriebenen Verhältnisses, das mit einer Dimension des Zielmerkmals multipliziert ist, beinhalten. Bei einer solchen Ausführungsform kann das Verhältnis basierend auf dem Umgebungsfaktor und/oder der Charakteristik der Objektstruktur bestimmt werden. Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, die Größe der 2D-Region (z. B. 520/620/720) basierend auf einem Verhältnis bestimmt, bei dem die Größe zunimmt während der Bildrauschpegel zunimmt. In einigen Fällen kann das Vergrößern der Größe der 2D-Region (z. B. 520/620/720) eine Größe einer Verdeckungsregion vergrößern, was nachstehend beschrieben wird.
  • Unter Bezugnahme auf die 4A bis 4B kann das Verfahren einen Schritt 408 umfassen, bei dem die Steuerschaltung 111 eine 3D-Region bestimmt, die durch das Verbinden eines Orts der ersten Kamera von Schritt 402 (z. B. die erste Kamera 270) und der Grenze der 2D-Region, wo die 3D-Region Teil des ersten Kamerasichtfelds (z. B. 272) ist, definiert ist. Bei einer Ausführungsform kann der Ort der ersten Kamera (z. B. 270), der zur Definition der 3D-Region verwendet wird, ein Brennpunkt der ersten Kamera, ein Ort auf einem Bildsensor der ersten Kamera 270, wie z. B. eine Ecke oder ein Zentrum des Bildsensors, oder irgendein anderer Ort sein. In einigen Fällen kann die 3D-Region ein Teil des ersten Kamerasichtfelds (z. B. 272) sein, das für die Verdeckungsanalyse verwendet wird, und kann als Analysesichtfeld bezeichnet werden.
  • Als Beispiel für Schritt 408 zeigt 5A eine beispielhafte 3D-Region 530, die durch Verbinden eines Orts der ersten Kamera 270 und der Grenze der 2D-Region 520 definiert ist. Insbesondere kann die 3D-Region 530 durch die Linien 530A-530D definiert sein, die den Ort der Kamera 270 mit vier entsprechenden Ecken der Grenze der 2D-Region 520 verbinden. In einigen Fällen kann das Bestimmen der 3D-Region das Bestimmen von Informationen umfassen, welche die Linien 530A-530D darstellen.
  • Bei einem anderen Beispiel zeigt 6A eine beispielhafte 3D-Region 630, die durch Verbinden eines Orts der ersten Kamera 270 und der Grenze der 2D-Region 620 definiert ist. Die 3D-Region 630 kann auch durch Verbinden des Orts der Kamera 270 mit der Grenze der 2D-Region 620 definiert werden, und insbesondere durch die Linien 630A-630D, die sich von dem Ort der Kamera 270 zu den entsprechenden Ecken der 2D-Region 620 erstrecken. 7A zeigt ein Beispiel, bei dem eine 3D-Region 730 durch Verbinden des Orts der ersten Kamera 270 und der Grenze der 2D-Region 720 definiert ist. Insbesondere kann die 3D-Region 720 durch Verbindungslinien 730A-730D von dem Ort der Kamera 270 zu den vier entsprechenden Ecken der 2D-Region 720 definiert sein. Bei einer Ausführungsform kann die 3D-Region (z. B. 530/630/730) eine imaginäre Pyramide bilden, wenn die entsprechende 2D-Region (z. B. 520/620/720) z. B. eine rechteckige Region (z. B. eine quadratische Region) ist. Bei anderen Ausführungsformen kann die 3D-Region eine beliebige andere 3D-Form bilden, wie z. B. einen imaginären Kegel, der durch die Verbindung eines Orts der ersten Kamera 270 mit einer kreisförmigen 2D-Region definiert ist.
  • Unter Bezugnahme auf die 4A bis 4B kann das Verfahren 400 einen Schritt 412 umfassen, bei dem die Steuerschaltung 111 basierend auf den Kameradaten und der 3D-Region eine Größe (z. B. eine Fläche) einer Verdeckungsregion bestimmt. Bei einer Ausführungsform kann die Verdeckungsregion eine Region der Stapelstruktur (von Schritt 402) sein, die sich zwischen dem Zielmerkmal und der mindestens einen Kamera und innerhalb der 3D-Region befindet (z. B. 530/630/730). Insbesondere kann die Verdeckungsregion eine Region sein, die nicht koplanar mit dem Zielmerkmal ist und sich näher an der ersten Kamera (z. B. 270) der mindestens einen Kamera befindet als das Zielmerkmal, sodass sich die Verdeckungsregion zwischen dem Zielmerkmal und der ersten Kamera befindet. Die Verdeckungsregion kann beispielsweise eine Region sein, die höher ist als das Zielmerkmal. Da sich die Verdeckungsregion zwischen der ersten Kamera und dem Zielmerkmal und innerhalb der 3D-Region (z. B. 530/630/730) befindet, stellt sie einen Teil der Stapelstruktur dar, der sich an einem Ort befinden kann, der das Zielmerkmal (z. B. 251B/251C/751B) oder einen Teil einer das Zielmerkmal umgebenden Region gegenüber der ersten Kamera (z. B. 270) blockiert oder nahe daran ist, es oder ihn zu blockieren. Daher kann die Größe der Verdeckungsregion zur Beurteilung einer Verdeckung im ersten Kamerasichtfeld (z. B. 272) verwendet werden.
  • Zum Veranschaulichen eines Beispiels für Schritt 412 ist in 5D eine Verdeckungsregion 570 dargestellt. Insbesondere kann die Verdeckungsregion 570 ein Bereich der Stapelstruktur für den Stapel 250 sein und insbesondere ein Bereich der Fläche 252A (z. B. obere Fläche) der Objektstruktur für das zweite Objekt 252. Ferner kann sich die Verdeckungsregion 570 zwischen der Ecke 251B (die das Zielmerkmal der 5A und 5D ist) und der ersten Kamera 270 und innerhalb der 3D-Region 530 befinden. Wie vorstehend beschrieben, kann die 3D-Region 530 eine imaginäre Pyramide sein, die sich innerhalb des ersten Kamerasichtfelds 272 befindet (was in den 3A und 3B veranschaulicht ist), und sie kann basierend auf der 2D-Region 520 definiert werden, deren Grenze die Ecke 251B umgibt. Bei diesem Beispiel kann die 2D-Region 520 eine erste 2D-Region sein, und die Verdeckungsregion 570 kann eine zweite 2D-Region sein, die parallel zur ersten 2D-Region ist und sich innerhalb der imaginären Pyramide der 3D-Region 530 befindet. In einigen Fällen kann die Verdeckungsregion 570 mindestens eine Region umfassen, die: (i) parallel zur 2D-Region 520 ist und (ii) sich innerhalb der 3D-Region 530 befindet.
  • Bei einem weiteren Beispiel veranschaulicht 6D eine Verdeckungsregion 670, die eine Region der Stapelstruktur für den Stapel 250 ist, die sich zwischen der Kante 251C (die das Zielmerkmal von 6A und 6D ist) und der Kamera 270 und innerhalb der 3D-Region 630 befindet. Insbesondere kann die Verdeckungsregion 670 eine Region auf der Fläche 252A des zweiten Objekts 252 sein, wobei sich die Region innerhalb der imaginären Pyramide, die durch die 3D-Region 630 gebildet wird, und zwischen der ersten Kamera 270 und der Kante 251C befindet. Im Beispiel von 6D kann sich die Verdeckungsregion 670 parallel zur 2D-Region 620 befinden. 7C stellt eine Verdeckungsregion 770 dar, die eine Region der Stapelstruktur für den Stapel 750 ist, der sich zwischen dem Zielmerkmal von 7A und 7C (z. B. dem visuellen Merkmal 751B oder dem Umriss der Fläche 751A) und der ersten Kamera 270 und innerhalb der 3D-Region 730 befindet. Insbesondere kann die Verdeckungsregion 770 eine Region auf der Fläche 752A des zweiten Objekts 752 sein, wobei sich die Region innerhalb der imaginären Pyramide, die durch die 3D-Region 730 gebildet wird, und zwischen der ersten Kamera 270 und dem Zielmerkmal befindet. Im Beispiel von 7C kann sich die Verdeckungsregion 770 parallel zur 2D-Region 720 befinden. Wie vorstehend angegeben, kann die Verdeckungsregion 570/670/770 bei einer Ausführungsform eine Region sein, die sich auf einer Fläche befindet, die parallel zu der in Schritt 406 bestimmten 2D-Region 520/620/720 ist, wie z. B. die Fläche 252A/752A des zweiten Objekts 252/752. In einigen Fällen kann die Verdeckungsregion 570/670/770 darauf beschränkt sein, sich auf einer Fläche oder Flächen zu befinden, die parallel zu der 2D-Region 520/620/720 sind. In einigen Fällen kann sich die Verdeckungsregion 570 auf eine andere Fläche oder andere Flächen erstrecken, wie z. B. eine Fläche senkrecht zur Fläche 252A/752A (aber immer noch innerhalb der 3D-Region 530/630/730).
  • Bei einigen Aspekten kann die Steuerschaltung 111 die Größe der Verdeckungsregion (z. B. 570/670/770) basierend auf 3D-Informationen von den Kameradaten bestimmen, die z. B. von der ersten Kamera 270 erzeugt wurden. Die 3D-Informationen können z. B. Tiefeninformationen angeben, die eine Gruppe von Orten auf einer oder mehreren Flächen der Stapelstruktur für den Stapel identifizieren, die sich näher an der ersten Kamera 270 befinden als das Zielmerkmal bezüglich der Kamera 270 (z. B. Orte auf der Fläche 251A/751A). Die Steuerschaltung 111 kann bestimmen, welche Orte aus der Gruppe von Orten sich innerhalb der in Schritt 408 bestimmten 3D-Region (z. B. 530/630/730) befinden, und die Größe der Verdeckungsregion basierend auf der Gruppe von Orten bestimmen.
  • Im Beispiel der 5D, 6D und 7C kann die Steuerschaltung 111 beispielsweise konfiguriert sein, von den Kameradaten mehrere 3D-Datenpunkte (z. B. 3D-Koordinaten) zur Darstellung der entsprechenden Orte auf einer oder mehreren Flächen einer Stapelstruktur zu bestimmen, wie z. B. einer Fläche 251A/751A (z. B. obere Fläche) eines ersten Objekts 251/751 des Stapels 250/750, einer Fläche 252A/752A eines zweiten Objekts 252/752 des Stapels 250/750 und einer Fläche 253A/753A eines dritten Objekts 253/753 des Stapels 250/750. Die Steuerschaltung 111 kann in diesem Beispiel ferner als einen erwarteten Tiefenwert einen Tiefenwert von Z2 bestimmen, der mit dem Zielmerkmal 251B/251C/751B verbunden ist. Beispielsweise kann der mit dem Zielmerkmal 251B/251C/751B verbundene erwartete Tiefenwert eine Z-Komponente einer 3D-Koordinate (z. B. [X Y Z]T) des Zielmerkmals 251B/251C/751B sein, wobei sich die 3D-Koordinate wie vorstehend beschrieben in einem gemeinsamen Bezugsrahmen befinden kann. Die Steuerschaltung 111 kann ferner eine Untergruppe der mehreren 3D-Datenpunkte zur Darstellung entsprechender Orte auf der einen oder den mehreren Flächen der Stapelstruktur bestimmen, die sich relativ zu dem erwarteten Tiefenwert von Z2 näher an der ersten Kamera 270 befinden und die sich innerhalb der 3D-Region 530/630/730 befinden. Die Untergruppe kann 3D-Datenpunkte darstellen, die mit Orten verbunden sind, die sich zwischen dem Zielmerkmal 251B/251C/751B und der Kamera 270 und innerhalb der 3D-Region 530/630/730 befinden. Bei diesem Beispiel kann die Untergruppe die 3D-Datenpunkte sein, die mit Orten auf der Fläche 252A/752A einer Objektstruktur für das zweite Objekt 252/752 des Stapels 250/750 verbunden sind.
  • Bei einigen Aspekten kann die Steuerschaltung 111 die Größe der Verdeckungsregion (z. B. 570/670/770) bestimmen, indem sie eine Fläche der Verdeckungsregion, eine Dimension der Verdeckungsregion oder eine beliebige Kombination davon bestimmt. In einigen Fällen kann die Steuerschaltung 111 konfiguriert sein, die Größe der Verdeckungsregion (z. B. 570/670/770) basierend auf der vorstehend beschriebenen Untergruppe von 3D-Datenpunkten zu bestimmen. Die Größe der Verdeckungsregion kann beispielsweise auf einer Anzahl an 3D-Datenpunkten in der Untergruppe von 3D-Datenpunkten basieren oder auf dem Bestimmen einer Grenze einer Region, die durch die Untergruppe von 3D-Datenpunkten definiert ist, und dem Integrieren dieser Region, um eine Fläche davon zu bestimmen.
  • Bei einer Ausführungsform kann die Untergruppe von 3D-Datenpunkten basierend auf dem Vergleich des erwarteten Tiefenwerts (z. B. Z2) mit entsprechenden Tiefenwerten (z. B. Z1 und Z2), die mit den mehreren 3D-Datenpunkten verbunden sind, bestimmt werden. Die Untergruppe kann beispielsweise bestimmt werden, indem 3D-Datenpunkte von den mehreren 3D-Datenpunkten identifiziert werden, die: i) mit entsprechenden Tiefenwerten (z. B. Z1) verbunden sind, die um mindestens einen definierten Differenzschwellenwert kleiner als der erwartete Tiefenwert (z. B. Z2) sind, und ii) sich innerhalb der 3D-Region (z. B. 530/630/730) befinden. Bei diesem Beispiel kann der definierte Differenzschwellenwert für Bildrauschen oder Flächenunvollkommenheiten verantwortlich sein, die leichte Abweichungen bei Tiefenwerten für Orte, die sich eigentlich auf der gleichen Fläche (z. B. 251A) befinden, verursachen können. Um zu bestimmen, ob sich ein Ort auf einer Fläche befindet, die näher ist als eine erste Fläche, auf der sich das Zielmerkmal befindet, kann die Steuerschaltung 111 daher feststellen, ob ein Tiefenwert des Orts mindestens um den definierten Differenzschwellenwert kleiner ist als der erwartete Tiefenwert der ersten Fläche.
  • Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, die Größe einer verdeckten Region zu bestimmen, wie z. B. die verdeckte Region 751C von 7D. Die verdeckte Region (z. B. 751C) kann eine Region sein, die mit dem Zielmerkmal, wie z. B. dem Zielmerkmal 751B und/oder den Zielmerkmalen 251B/251C der 5A und 6A, koplanar ist. Die verdeckte Region 751C kann sich beispielsweise auf einer Fläche 751A befinden, auf der sich das Zielmerkmal 751B befindet. Bei einer Ausführungsform kann die Steuerschaltung 111 die verdeckte Region 751C definieren, indem sie eine Kante oder Ecke der Stapelstruktur für den Stapel 750 identifiziert, die sich näher an der ersten Kamera 270 befindet als sich das Zielmerkmal 751B (oder 251B/251C der 5A und 6A) an der ersten Kamera 270 befindet, indem sie eine Ebene (eine flache Ebene oder gekrümmte Ebene) definiert, die sich von einem Ort der ersten Kamera 270 zur Kante oder zur Ecke der Stapelstruktur erstreckt und die Ebene auf eine Fläche projiziert, auf der sich das Zielmerkmal befindet, und einen Schnittpunkt zwischen der Ebene und der Fläche bestimmt. Im Beispiel von 7D kann die Steuerschaltung 111 die Kante 752B der Fläche 752A als eine Kante der Stapelstruktur identifizieren, die sich näher an der ersten Kamera 270 befindet als das Zielmerkmal 751B. Die Steuerschaltung 111 kann eine Ebene 740 definieren, die sich von dem Ort der ersten Kamera 270 zur Kante 752B erstreckt, und kann die Ebene 740 auf die Fläche 751A projizieren, auf der sich das Zielmerkmal 751B befindet. Die Steuerschaltung 111 kann ferner die Linie 741 als Schnittpunkt zwischen der Ebene 740 und der Fläche 751A bestimmen. Bei diesem Beispiel kann die Linie 741 eine Kante sein, die Teil einer Grenze der verdeckten Region 751C ist. In einigen Fällen kann die Grenze der verdeckten Region 751C auch durch eine oder mehrere Kanten der Fläche 751A gebildet werden, auf der sich das Zielmerkmal 751B befindet, wie z. B. die Kanten 751E und 751F. In einigen Fällen kann die Grenze auch durch eine oder mehrere Flächen der Stapelstruktur gebildet werden, wie z. B. die Fläche 752C des zweiten Objekts 752, welche die Fläche 751A schneidet, auf der sich das Zielmerkmal 751B befindet.
  • Unter Bezugnahme auf die 4A bis 4B kann das Verfahren 400 ferner einen Schritt 414 umfassen, bei dem die Steuerschaltung 111 einen Wert eines Objekterkennungskonfidenzparameters basierend auf der Größe der Verdeckungsregion bestimmt. In einigen Fällen kann der Wert des Objekterkennungskonfidenzparameters in einer umgekehrten Beziehung zur Größe der Verdeckungsregion stehen. Eine Zunahme in der Größe der Verdeckungsregion kann beispielsweise bewirken, dass sich der Wert des Konfidenzparameters für die Objekterkennung in eine Richtung ändert, die ein geringeres Vertrauen in die Genauigkeit einem bereits ausgeführten oder geplanten Objekterkennungsvorgang angibt. Bei einer Ausführungsform kann die Steuerschaltung 111 konfiguriert sein, den Wert des Objekterkennungskonfidenzparameters zu bestimmen, indem sie ein Verhältnis zwischen der Größe der Verdeckungsregion (z. B. 570/670/770) und einer in Schritt 406 bestimmten Größe der 2D-Region (z. B. 520/620/720) oder eine Umkehrung des Verhältnisses bestimmt. Bei einer Ausführungsform kann die Steuerschaltung 111 alternativ oder zusätzlich den Wert des Konfidenzparameters für die Objekterkennung basierend auf der Größe der verdeckten Region (z. B. 751C von 7D) bestimmen, wie z. B. basierend auf einem Verhältnis zwischen der Größe der verdeckten Region und der Größe der 2D-Region (z. B. 520/620/720), das in Schritt 406 bestimmt wurde, oder einer Umkehrung des Verhältnisses.
  • In einigen Fällen kann der Wert des Objekterkennungskonfidenzparameters darauf basieren, ob das Verhältnis einen definierten Verdeckungsschwellenwert überschreitet. Der definierte Verdeckungsschwellenwert kann ein Wert sein, der in dem nicht flüchtigen computerlesbaren Medium 115 von 2 vordefiniert ist, oder er kann dynamisch definiert oder anderweitig durch die Steuerschaltung 111 bestimmt werden. In einigen Fällen kann die Steuerschaltung 111 konfiguriert sein, den Verdeckungsschwellenwert z. B. basierend auf einer Lichtmenge in der Umgebung einer Kamera (z. B. 270), der Form eines Objekts, zu dem das Zielmerkmal gehört, und/oder einer Textur einer Fläche des Objekts dynamisch zu definieren. In einigen Fällen kann die Steuerschaltung 111 eine Größe der 2D-Region (z. B. 520/620/720) von Schritt 406 anstelle oder zusätzlich zu dem Verdeckungsschwellenwert anpassen. Eine Bedingung, welche die Genauigkeit des Objekterkennungsvorgangs verringern kann (z. B. Bildrauschen, ein rundes Objekt und/oder ein Objekt mit einer glänzenden Fläche), kann durch eine Vergrößerung der 2D-Region und/oder eine Verkleinerung des definierten Verdeckungsschwellenwerts ausgedrückt werden.
  • Bei einer Ausführungsform umfasst das Verfahren 400 ferner einen Schritt 416, in dem die Steuerschaltung 111 eine Operation zum Steuern einer Roboterinteraktion mit der Stapelstruktur auszuführen, wobei die Operation basierend auf dem Wert des Objekterkennungskonfidenzparameters ausgeführt werden kann. In einigen Fällen kann die Operation von Schritt 416 das Ausgeben eines Bewegungsbefehls zum Bewirken einer Roboterbewegung beinhalten. Der Bewegungsbefehl kann z. B. derart bestimmt werden, dass sich der Wert des Konfidenzparameters in einer Weise ändert, die eine geringere Verdeckung des Zielmerkmals (z. B. in einer abnehmenden Richtung) und/oder ein größeres Vertrauen in einen Objekterkennungsvorgang angibt. Die Steuerschaltung 111 kann beispielsweise eine Bewegungsrichtung für einen Teil des Stapels, wie das erste Objekt 251/751 oder das zweite Objekt 252/752 des Stapels 250/750 der 5A und 7A, bestimmen, die eine Änderung des Werts des Objekterkennungskonfidenzparameters in eine Richtung, die eine geringere Verdeckung angibt, bewirken kann. Bei einem solchen Beispiel kann die Steuerschaltung 111 eine Roboterbewegung bestimmen, um eine solche Bewegungsrichtung für den Teil des Stapels zu bewirken, und einen Bewegungsbefehl bestimmen, um die Roboterbewegung zu bewirken. Die Steuerschaltung 111 kann ferner den Bewegungsbefehl über die Kommunikationsschnittstelle 113 ausgeben. Wenn der Bewegungsbefehl z. B. von dem Roboter 150 von 1C empfangen wird, kann der Roboter 150 als Reaktion auf den Bewegungsbefehl den Teil des Stapels in der bestimmten Richtung bewegen.
  • Bei einer Ausführungsform kann die Interaktion des Roboters mit der Stapelstruktur für den Stapel 250/750 die Ausführung einer Objekterkennung umfassen, um die Roboterinteraktion zu erleichtern, wobei die Objekterkennung auf dem vorstehend beschriebenen Zielmerkmal (z. B. 251B/251C/751B) und auf den Kameradaten von z. B. der ersten Kamera 270 basieren kann. Bei einer solchen Ausführungsform kann die Operation zur Steuerung der Roboterinteraktion die erneute Ausführung der Objekterkennung und/oder das Bestimmen, ob die Objekterkennung erneut ausgeführt werden soll, basierend auf dem Wert des Konfidenzparameters beinhalten. In einigen Fällen kann die Steuerschaltung 111 ferner eine Roboterbewegung nach der erneuten Ausführung der Objekterkennung bestimmen. Die Steuerschaltung 111 kann beispielsweise bestimmen, die Objekterkennung als Reaktion auf das Bestimmen, dass der Wert des Konfidenzparameters unter einem definierten Konfidenzschwellenwert liegt, erneut auszuführen. In einigen Fällen kann der definierte Konfidenzschwellenwert eine Umkehrung des definierten Verdeckungsschwellenwerts sein und/oder in umgekehrter Beziehung zu dem definierten Verdeckungsschwellenwert stehen. In einigen Fällen kann die Steuerschaltung 111 bestimmen, die Objekterkennung erneut auszuführen, wenn der Wert des Konfidenzparameters angibt, dass die Größe der Verdeckungsregion (z. B. 570/670/770) zu hoch ist. Die Steuerschaltung 111 kann beispielsweise bestimmen, die Objekterkennung erneut auszuführen, wenn das Verhältnis zwischen der Größe der Verdeckungsregion (z. B. 570/670/770) und der Größe der 2D-Region (z. B. 520/620/720) die definierte Verdeckungsschwelle überschreitet.
  • Kurzbeschreibung von verschiedenen Ausführungsformen
  • Ein Aspekt der vorliegenden Offenbarung bezieht sich auf Ausführungsform 1, die ein Computersystem mit einer Kommunikationsschnittstelle und einer Steuerschaltung umfasst. Bei dieser Ausführungsform ist die Kommunikationsschnittstelle konfiguriert, mit mindestens einer Kamera zu kommunizieren, die eine erste Kamera mit einem ersten Kamerasichtfeld umfasst. Die Steuerschaltung in dieser Ausführungsform ist konfiguriert, wenn sich ein Stapel mit mehreren Objekten im ersten Kamerasichtfeld befindet, von der mindestens einen Kamera erzeugte Kameradaten zu empfangen, wobei die Kameradaten eine Stapelstruktur für den Stapel beschreiben und die Stapelstruktur aus mindestens einer Objektstruktur für ein erstes Objekt der mehreren Objekte gebildet ist. Bei dieser Ausführungsform ist die Steuerschaltung ferner konfiguriert, basierend auf den von der mindestens einen Kamera erzeugten Kameradaten ein Zielmerkmal der Objektstruktur oder ein auf der Objektstruktur angeordnetes Zielmerkmal zu identifizieren, wobei das Zielmerkmal mindestens eines der folgenden Merkmale ist: eine Ecke der Objektstruktur, eine Kante der Objektstruktur, ein auf einer Fläche der Objektstruktur angeordnetes visuelles Merkmal oder ein Umriss der Fläche der Objektstruktur. Die Steuerschaltung ist bei dieser Ausführungsform auch konfiguriert, eine zweidimensionale (2D) Region zu bestimmen, die mit dem Zielmerkmal koplanar ist und deren Kante das Zielmerkmal umgibt; eine dreidimensionale (3D) Region zu bestimmen, die durch Verbinden eines Orts der ersten Kamera und der Kante der 2D-Region definiert ist, wobei die 3D-Region Teil des ersten Kamerasichtfelds ist; basierend auf den Kameradaten und der 3D-Region eine Größe einer Okklusions- bzw. Verdeckungsregion zu bestimmen, wobei die Verdeckungsregion ein Bereich der Stapelstruktur ist, der sich zwischen dem Zielmerkmal und der mindestens einen Kamera und innerhalb der 3D-Region befindet; einen Wert eines Objekterkennungskonfidenzparameters basierend auf der Größe der Verdeckungsregion zu bestimmen. Die Steuerschaltung ist bei dieser Ausführungsform ferner konfiguriert, eine Operation zur Steuerung einer Roboterinteraktion mit der Stapelstruktur auszuführen, wobei die Operation basierend auf dem Wert des Objekterkennungskonfidenzparameters ausgeführt wird.
  • Ausführungsform 2 umfasst das Computersystem von Ausführungsform 1. Bei Ausführungsform 2 ist die Steuerschaltung konfiguriert, das Zielmerkmal basierend auf Informationen in einer Objekterkennungsvorlage zu identifizieren, die eine Größe der Objektstruktur beschreibt oder die das visuelle Merkmal beschreibt, das auf der Fläche der Objektstruktur erscheint.
  • Ausführungsform 3 umfasst das Computersystem von Ausführungsform 1 oder 2. Bei Ausführungsform 3 ist das visuelle Merkmal ein Bild, das auf der Fläche der Objektstruktur angeordnet ist, und die Steuerschaltung ist konfiguriert, das Bild als das Zielmerkmal zu identifizieren.
  • Ausführungsform 4 umfasst das Computersystem von einer der Ausführungsformen 1 bis 3. Bei Ausführungsform 4 ist die Steuerschaltung konfiguriert, eine Größe der 2D-Region basierend auf einem Bildrauschpegel, einer Form der Objektstruktur oder einer Textur der Fläche der Objektstruktur zu bestimmen.
  • Ausführungsform 5 umfasst das Computersystem von einer der Ausführungsformen 1 bis 4. Bei Ausführungsform 5 ist das Zielmerkmal die Kante der Objektstruktur und die Steuerschaltung ist konfiguriert, die 2D-Region zu bestimmen als eine Region mit: (i) einer definierten Größe und (ii) ein Zentrum, das sich an der Kante befindet.
  • Ausführungsform 6 umfasst das Computersystem von einer der Ausführungsformen 1 bis 4. Bei Ausführungsform 6 ist das Zielmerkmal die Ecke der Objektstruktur und die Steuerschaltung ist konfiguriert, die 2D-Region zu bestimmen als eine Region mit: (i) einer definierten Größe und (ii) einem Zentrum, das sich an der Ecke befindet.
  • Ausführungsform 7 umfasst das Computersystem von einer der Ausführungsformen 1 bis 6. Bei Ausführungsform 6 ist die 3D-Region eine imaginäre Pyramide, die sich innerhalb des ersten Kamerasichtfelds befindet, wobei die 2D-Region, deren Grenze das Zielmerkmal umgibt, eine erste 2D-Region ist, und wobei die Verdeckungsregion eine zweite 2D-Region ist, die parallel zur ersten 2D-Region ist und sich innerhalb der imaginären Pyramide befindet.
  • Ausführungsform 8 umfasst das Computersystem von einer der Ausführungsformen 1 bis 7. Bei Ausführungsform 8 ist die Steuerschaltung konfiguriert, die Größe der Verdeckungsregion zu bestimmen durch: Bestimmen, von den Kameradaten, mehrerer 3D-Datenpunkte zum Darstellen entsprechender Orte auf einer oder mehreren Flächen der Stapelstruktur; Bestimmen, als einen erwarteten Tiefenwert, eines Tiefenwerts für das Zielmerkmal relativ zur ersten Kamera; und Bestimmen einer Untergruppe der mehreren 3D-Datenpunkte zum Darstellen entsprechender Orte auf der einen oder den mehreren Flächen der Stapelstruktur, die sich relativ zu dem erwarteten Tiefenwert näher an der ersten Kamera und innerhalb der 3D-Region befinden, wobei die Untergruppe basierend auf dem Vergleich des erwarteten Tiefenwerts mit entsprechenden Tiefenwerten, die mit den mehreren 3D-Datenpunkten verbunden sind, bestimmt wird.
  • Ausführungsform 9 umfasst das Computersystem von Ausführungsform 8. Bei Ausführungsform 9 wird die Untergruppe von 3D-Datenpunkten bestimmt, indem von den mehreren 3D-Datenpunkten 3D-Datenpunkte identifiziert werden, die: i) mit entsprechenden Tiefenwerten verbunden sind, die um mindestens einen definierten Differenzschwellenwert kleiner sind als der erwartete Tiefenwert und ii) sich innerhalb der 3D-Region befinden.
  • Ausführungsform 10 umfasst das Computersystem von einer der Ausführungsformen 1 bis 9, wobei bei Ausführungsform 10 die erste Kamera, mit der zu Kommunizieren die Kommunikationsschnittstelle konfiguriert ist, eine 3D-Kamera ist, die konfiguriert ist, als Teil der Kameradaten mehrere 3D-Datenpunkte zu erzeugen, die entsprechende Tiefenwerte für Orte auf einer oder mehreren Flächen der Stapelstruktur angeben.
  • Ausführungsform 11 umfasst das Computersystem von Ausführungsform 10. Bei Ausführungsform 11 umfasst die mindestens eine Kamera, mit der zu kommunizieren die Kommunikationsschnittstelle konfiguriert ist, ferner eine zweite Kamera, die konfiguriert ist, als Teil der Kameradaten ein 2D-Bild zu erzeugen, und wobei die Steuerschaltung konfiguriert ist, das Zielmerkmal basierend auf dem 2D-Bild zu identifizieren.
  • Ausführungsform 12 umfasst das Computersystem von einer der Ausführungsformen 1 bis 9. Bei Ausführungsform 12 ist die erste Kamera, mit der zu kommunizieren die Kommunikationsschnittstelle konfiguriert ist, eine 2D-Kamera, wobei die mindestens eine Kamera, mit der zu kommunizieren die Kommunikationsschnittstelle konfiguriert ist, ferner eine zweite Kamera umfasst, die konfiguriert ist, als Teil der Kameradaten mehrere 3D-Datenpunkte zur Darstellung entsprechender Tiefenwerte von Orten auf einer oder mehreren Flächen der Stapelstruktur zu erzeugen.
  • Ausführungsform 13 umfasst das Computersystem von einer der Ausführungsformen 1 bis 12. Bei Ausführungsform 13 ist die Steuerschaltung konfiguriert, den Wert des Objekterkennungskonfidenzparameters zu bestimmen durch: Bestimmen eines Verhältnisses zwischen der Größe der Verdeckungsregion und einer Größe der 2D-Region; und Bestimmen des Werts des Objekterkennungskonfidenzparameters basierend auf dem Verhältnis.
  • Ausführungsform 14 umfasst das Computersystem von Ausführungsform 13. Bei Ausführungsform 14 wird der Wert des Objekterkennungskonfidenzparameters basierend darauf bestimmt, ob das Verhältnis einen definierten Okklusions- bzw. Verdeckungsschwellenwert überschreitet.
  • Ausführungsform 15 umfasst das Computersystem von einer der Ausführungsformen 1 bis 14. Bei Ausführungsform 15 ist der Ort der ersten Kamera ein Brennpunkt der ersten Kamera.
  • Ausführungsform 16 umfasst das Computersystem von einer der Ausführungsformen 1 bis 15. Bei Ausführungsform 16 umfasst die Operation zur Steuerung der Roboterinteraktion das Ausgeben eines Bewegungsbefehls zum Bewirken einer Roboterbewegung, wobei der Bewegungsbefehl bestimmt ist, eine Änderung des Werts des Objekterkennungskonfidenzparameters in einer Weise zu bewirken, die eine geringere Verdeckung des Zielmerkmals anzeigt.
  • Ausführungsform 17 umfasst das Computersystem von einer der Ausführungsformen 1 bis 16. Bei Ausführungsform 17 ist die Steuerschaltung konfiguriert, eine Objekterkennung für das Zielmerkmal basierend auf den Kameradaten auszuführen, und wobei die Operation zur Steuerung der Roboterinteraktion das Bestimmen umfasst, ob die Objekterkennung erneut ausgeführt werden soll, basierend auf dem Wert des Objekterkennungskonfidenzparameters und das Bestimmen der Roboterbewegung nach der erneuten Ausführung der Objekterkennung.
  • Obwohl vorstehend verschiedene Ausführungsformen beschrieben wurden, versteht es sich, dass sie nur als Veranschaulichungen und Beispiele für die vorliegende Erfindung und nicht als Beschränkung dargestellt sind. Es wird für einen Fachmann selbstverständlich sein, dass verschiedene Veränderungen an Form und Detail vorgenommen werden können, ohne von dem erfindungsgemäßen Geist und Umfang abzuweichen. Daher sollten die Breite und der Umfang der vorliegenden Erfindung durch keinerlei der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern sollten lediglich in Übereinstimmung mit den angefügten Ansprüchen und ihren Äquivalenten definiert werden. Es sollte auch verstanden werden, dass jedes Merkmal von jeder hierin beschriebenen Ausführungsform und von jeder hierin angeführten Referenz in Kombination mit den Merkmalen jeder anderen Ausführungsform verwendet werden kann. Alle hierin beschriebenen Patente und Veröffentlichungen werden hierin durch Bezugnahme in ihrer Gesamtheit aufgenommen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 16578900 [0038]

Claims (15)

  1. Computersystem, umfassend: eine Kommunikationsschnittstelle, die konfiguriert ist, mit mindestens einer Kamera zu kommunizieren, die eine erste Kamera mit einem ersten Kamerasichtfeld umfasst; eine Steuerschaltung, die, wenn sich ein Stapel mit mehreren Objekten im ersten Kamerasichtfeld befindet, konfiguriert ist zum: Empfangen von Kameradaten, die von der mindestens einen Kamera erzeugt werden, wobei die Kameradaten eine Stapelstruktur für den Stapel beschreiben, wobei die Stapelstruktur aus mindestens einer Objektstruktur für ein erstes Objekt der mehreren Objekte gebildet ist; Identifizieren, basierend auf den von der mindestens einen Kamera erzeugten Kameradaten, eines Zielmerkmals der Objektstruktur oder ein auf der Objektstruktur angeordnetes Zielmerkmal, wobei das Zielmerkmal mindestens eines der folgenden Merkmale ist: eine Ecke der Objektstruktur, eine Kante der Objektstruktur, ein auf einer Fläche der Objektstruktur angeordnetes visuelles Merkmal oder ein Umriss der Fläche der Objektstruktur; Bestimmen einer zweidimensionalen (2D) Region, die mit dem Zielmerkmal koplanar ist und deren Grenze das Zielmerkmal umgibt; Bestimmen einer dreidimensionalen (3D) Region, die durch Verbinden eines Orts der ersten Kamera und der Grenze der 2D-Region definiert ist, wobei die 3D-Region Teil des ersten Kamerasichtfelds ist; Bestimmen, basierend auf den Kameradaten und dem 3D-Bereich, einer Größe einer Verdeckungs- bzw. Okklusionsregion, wobei die Verdeckungsregion eine Region der Stapelstruktur ist, die sich zwischen dem Zielmerkmal und der mindestens einen Kamera und innerhalb der 3D-Region befindet; Bestimmen eines Werts eines Objekterkennungskonfidenzparameters basierend auf der Größe der Verdeckungsregion; und Ausführen einer Operation zur Steuerung von Roboterinteraktion mit der Stapelstruktur, wobei die Operation basierend auf dem Wert des Objekterkennungskonfidenzparameters ausgeführt wird.
  2. Computersystem nach Anspruch 1, wobei die Steuerschaltung konfiguriert ist, das Zielmerkmal basierend auf Informationen in einer Objekterkennungsvorlage zu identifizieren, die eine Größe der Objektstruktur beschreibt oder die das visuelle Merkmal beschreibt, das auf der Fläche der Objektstruktur erscheint; und/oder wobei das visuelle Merkmal ein Bild ist, das auf der Fläche der Objektstruktur angeordnet ist, und die Steuerschaltung konfiguriert ist, das Bild als das Zielmerkmal zu identifizieren.
  3. Computersystem nach Anspruch 1 oder 2, wobei die Steuerschaltung konfiguriert ist, eine Größe der 2D-Region basierend auf einem Bildrauschpegel und/oder einer Form der Objektstruktur und/oder einer Textur der Fläche der Objektstruktur zu bestimmen.
  4. Computersystem nach einem der vorangegangenen Ansprüche, wobei das Zielmerkmal die Kante der Objektstruktur ist und die Steuerschaltung konfiguriert ist, die 2D-Region als eine Region zu bestimmen mit: (i) einer definierten Größe und (ii) einem Zentrum, das sich an der Kante befindet; und/oder wobei das Zielmerkmal die Ecke der Objektstruktur ist und die Steuerschaltung konfiguriert ist, die 2D-Region als eine Region zu bestimmen mit: (i) einer definierten Größe und (ii) einem Zentrum, das sich an der Ecke befindet.
  5. Computersystem nach einem der vorangegangenen Ansprüche, wobei die 3D-Region eine imaginäre Pyramide ist, die sich innerhalb des ersten Kamerasichtfelds befindet, wobei die 2D-Region, deren Grenze das Zielmerkmal umgibt, eine erste 2D-Region ist, und wobei die Verdeckungsregion eine zweite 2D-Region ist, die parallel zur ersten 2D-Region ist und sich innerhalb der imaginären Pyramide befindet.
  6. Computersystem nach einem der vorangegangenen Ansprüche, wobei die Steuerschaltung konfiguriert ist, die Größe der Verdeckungsregion zu bestimmen durch: Bestimmen, von den Kameradaten, mehrerer 3D-Datenpunkte zur Darstellung entsprechender Orte auf einer oder mehreren Flächen der Stapelstruktur; Bestimmen eines Tiefenwerts für das Zielmerkmal relativ zur ersten Kamera als einen erwarteten Tiefenwert; und Bestimmen einer Untergruppe der mehreren 3D-Datenpunkte zur Darstellung entsprechender Orte auf der einen oder den mehreren Flächen der Stapelstruktur, die sich relativ zu dem erwarteten Tiefenwert näher an der ersten Kamera und innerhalb der 3D-Region befinden, wobei die Untergruppe basierend auf dem Vergleich des erwarteten Tiefenwerts mit entsprechenden Tiefenwerten, die mit den mehreren 3D-Datenpunkten verbunden sind, bestimmt wird, und wobei vorzugsweise die Untergruppe von 3D-Datenpunkten bestimmt kann, indem von den mehreren 3D-Datenpunkten 3D-Datenpunkte identifiziert werden, die: i) mit entsprechenden Tiefenwerten verbunden sind, die um mindestens einen definierten Differenzschwellenwert kleiner sind als der erwartete Tiefenwert und ii) sich innerhalb der 3D-Region befinden.
  7. Computersystem nach einem der vorangegangenen Ansprüche, wobei die erste Kamera, mit der zu kommunizieren die Kommunikationsschnittstelle konfiguriert ist, eine 3D-Kamera ist, die konfiguriert ist, als Teil der Kameradaten mehrere 3D-Datenpunkte zu erzeugen, die entsprechende Tiefenwerte für Orte auf einer oder mehreren Flächen der Stapelstruktur angeben, und wobei bevorzugt die mindestens eine Kamera, mit der zu kommunizieren die Kommunikationsschnittstelle konfiguriert ist, ferner eine zweite Kamera umfassen kann, die konfiguriert ist, als Teil der Kameradaten ein 2D-Bild zu erzeugen, und wobei die Steuerschaltung konfiguriert ist, das Zielmerkmal basierend auf dem 2D-Bild zu identifizieren.
  8. Computersystem nach einem der Ansprüche 1 bis 6, wobei die erste Kamera, mit der zu kommunizieren die Kommunikationsschnittstelle konfiguriert ist, eine 2D-Kamera ist, wobei die mindestens eine Kamera, mit der zu kommunizieren die Kommunikationsschnittstelle konfiguriert ist, ferner eine zweite Kamera umfasst, die konfiguriert ist, als Teil der Kameradaten mehrere 3D-Datenpunkte zur Darstellung entsprechender Tiefenwerte von Orten auf einer oder mehreren Flächen der Stapelstruktur zu erzeugen.
  9. Computersystem nach einem der vorangegangenen Ansprüche, wobei die Steuerschaltung konfiguriert ist, den Wert des Objekterkennungskonfidenzparameters zu bestimmen durch: Bestimmen eines Verhältnisses zwischen der Größe der Verdeckungsregion und einer Größe der 2D-Region; und Bestimmen des Werts des Objekterkennungskonfidenzparameters basierend auf dem Verhältnis, wobei vorzugsweise der Wert des Objekterkennungskonfidenzparameters basierend darauf bestimmt werden kann, ob das Verhältnis einen definierten Okklusions- bzw. Verdeckungsschwellenwert überschreitet.
  10. Computersystem nach einem der vorangegangenen Ansprüche, wobei der Ort der ersten Kamera ein Brennpunkt der ersten Kamera ist.
  11. Computersystem nach einem der vorangegangenen Ansprüche, wobei die Operation zur Steuerung der Roboterinteraktion das Ausgeben eines Bewegungsbefehls zum Bewirken einer Roboterbewegung umfasst, wobei der Bewegungsbefehl bestimmt ist, eine Änderung des Werts des Objekterkennungskonfidenzparameters in einer Weise zu bewirken, die eine geringere Okklusion bzw. Verdeckung des Zielmerkmals angibt.
  12. Computersystem nach einem der vorangegangenen Ansprüche, wobei die Steuerschaltung konfiguriert ist, die Objekterkennung für das Zielmerkmal basierend auf den Kameradaten auszuführen, und wobei die Operation zum Steuern einer Roboterinteraktion das Bestimmen, basierend auf dem Wert des Objekterkennungskonfidenzparameters, ob die Objekterkennung erneut ausgeführt werden soll, und das Bestimmen einer Roboterbewegung, nachdem die Objekterkennung erneut ausgeführt wurde, umfasst.
  13. Verfahren, das durch ein Computersystem ausgeführt wird, wobei das Verfahren umfasst: Empfangen von Kameradaten durch das Computersystem, wobei das Computersystem eine Kommunikationsschnittstelle umfasst, die konfiguriert ist, mit mindestens einer Kamera zu kommunizieren, die eine erste Kamera mit einem ersten Kamerasichtfeld umfasst, wobei die Kameradaten von der mindestens einen Kamera erzeugt werden, wenn sich ein Stapel mit mehreren Objekten in dem ersten Kamerasichtfeld befindet, und wobei die Kameradaten eine Stapelstruktur für den Stapel beschreiben und die Stapelstruktur aus mindestens einer Objektstruktur für ein erstes Objekt der mehreren Objekte gebildet ist; Identifizieren, basierend auf den von der mindestens einen Kamera erzeugten Kameradaten, eines Zielmerkmals der Objektstruktur oder ein auf der Objektstruktur angeordnetes Zielmerkmal, wobei das Zielmerkmal mindestens eines der folgenden Merkmale ist: eine Ecke der Objektstruktur, eine Kante der Objektstruktur, ein auf einer Fläche der Objektstruktur angeordnetes visuelles Merkmal oder ein Umriss der Fläche der Objektstruktur; Bestimmen einer zweidimensionalen (2D) Region, die mit dem Zielmerkmal koplanar ist und deren Grenze das Zielmerkmal umgibt; Bestimmen einer dreidimensionalen (3D) Region, die durch Verbinden eines Orts der ersten Kamera und der Grenze der 2D-Region definiert ist, wobei die 3D-Region Teil des ersten Kamerasichtfelds ist; Bestimmen, basierend auf den Kameradaten und der 3D-Region, einer Größe einer Okklusions- bzw. Verdeckungsregion, wobei die Verdeckungsregion eine Region der Stapelstruktur ist, die sich zwischen dem Zielmerkmal und der mindestens einen Kamera und innerhalb der 3D-Region befindet; Bestimmen eines Werts eines Objekterkennungskonfidenzparameters basierend auf der Größe der Verdeckungsregion; und Ausführen einer Operation zur Steuerung einer Roboterinteraktion mit der Stapelstruktur, wobei die Operation basierend auf dem Wert des Objekterkennungskonfidenzparameters ausgeführt wird.
  14. Verfahren nach Anspruch 13, wobei die 3D-Region eine imaginäre Pyramide ist, die sich innerhalb des ersten Kamerasichtfelds befindet, wobei die 2D-Region, deren Grenze das Zielmerkmal umgibt, eine erste 2D-Region ist, und wobei die Verdeckungsregion eine zweite 2D-Region ist, die parallel zur ersten 2D-Region ist und sich innerhalb der imaginären Pyramide befindet.
  15. Nicht flüchtiges computerlesbares Medium mit darauf gespeicherten Befehlen, die bei Ausführung durch eine Steuerschaltung eines Computersystems die Steuerschaltung veranlassen zum Empfangen von Kameradaten, wobei das Computersystem eine Kommunikationsschnittstelle umfasst, die konfiguriert ist, mit mindestens einer Kamera zu kommunizieren, die eine erste Kamera mit einem ersten Kamerasichtfeld umfasst, wobei die Kameradaten von der mindestens einen Kamera erzeugt werden, wenn sich ein Stapel mit mehreren Objekten in dem ersten Kamerasichtfeld befindet, und wobei die Kameradaten eine Stapelstruktur für den Stapel beschreiben und die Stapelstruktur aus mindestens einer Objektstruktur für ein erstes Objekt der mehreren Objekte gebildet ist; Identifizieren, basierend auf den von der mindestens einen Kamera erzeugten Kameradaten, eines Zielmerkmals der Objektstruktur oder ein auf der Objektstruktur angeordnetes Zielmerkmal, wobei das Zielmerkmal mindestens eines der folgenden Merkmale ist: eine Ecke der Objektstruktur, eine Kante der Objektstruktur, ein auf einer Fläche der Objektstruktur angeordnetes visuelles Merkmal oder ein Umriss der Fläche der Objektstruktur; Bestimmen einer zweidimensionalen (2D) Region, die mit dem Zielmerkmal koplanar ist und deren Grenze das Zielmerkmal umgibt; Bestimmen einer dreidimensionalen (3D) Region, die durch Verbinden eines Orts der ersten Kamera und der Grenze der 2D-Region definiert ist, wobei die 3D-Region Teil des ersten Kamerasichtfelds ist; Bestimmen, basierend auf den Kameradaten und der 3D-Region, einer Größe einer Okklusions- bzw. Verdeckungsregion, wobei die Verdeckungsregion eine Region der Stapelstruktur ist, die sich zwischen dem Zielmerkmal und der mindestens einen Kamera und innerhalb der 3D-Region befindet; und Bestimmen eines Werts eines Objekterkennungskonfidenzparameters basierend auf der Größe der Verdeckungsregion; und Ausführen einer Operation zur Steuerung einer Roboterinteraktion mit der Stapelstruktur, wobei die Operation basierend auf dem Wert des Objekterkennungskonfidenzparameters ausgeführt wird.
DE102021201369.4A 2020-02-13 2021-02-12 Verfahren und System zur Bestimmung einer Okklusion bzw. Verdeckung innerhalb eines Kamerasichtfelds Pending DE102021201369A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/789,570 2020-02-13
US16/789,570 US11006039B1 (en) 2020-02-13 2020-02-13 Method and system for determining occlusion within a camera field of view

Publications (1)

Publication Number Publication Date
DE102021201369A1 true DE102021201369A1 (de) 2021-08-19

Family

ID=71523891

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102020205896.2A Pending DE102020205896A1 (de) 2020-02-13 2020-05-11 Verfahren und System zur Bestimmung einer Okklusion bzw. Verdeckung innerhalb eines Kamerasichtfelds
DE102021201369.4A Pending DE102021201369A1 (de) 2020-02-13 2021-02-12 Verfahren und System zur Bestimmung einer Okklusion bzw. Verdeckung innerhalb eines Kamerasichtfelds

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102020205896.2A Pending DE102020205896A1 (de) 2020-02-13 2020-05-11 Verfahren und System zur Bestimmung einer Okklusion bzw. Verdeckung innerhalb eines Kamerasichtfelds

Country Status (4)

Country Link
US (2) US11006039B1 (de)
JP (2) JP6723628B1 (de)
CN (1) CN113255415A (de)
DE (2) DE102020205896A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11407111B2 (en) * 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
US10614340B1 (en) * 2019-09-23 2020-04-07 Mujin, Inc. Method and computing system for object identification
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
US20220371200A1 (en) * 2021-05-18 2022-11-24 Mujin, Inc. Robotic system for object size measurement
CN116110041A (zh) * 2021-08-09 2023-05-12 牧今科技 用于物体检测的系统和方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9823737B2 (en) 2008-04-07 2017-11-21 Mohammad A Mazed Augmented reality personal assistant apparatus
JP4649559B2 (ja) 2009-03-05 2011-03-09 株式会社三次元メディア 3次元物体認識装置、並びに3次元物体認識プログラム及びこれが記録されたコンピュータ読み取り可能な記録媒体
JP2013101045A (ja) 2011-11-08 2013-05-23 Fanuc Ltd 物品の3次元位置姿勢の認識装置及び認識方法
CN104662589B (zh) 2012-08-21 2017-08-04 派力肯影像公司 用于使用阵列照相机捕捉的图像中的视差检测和校正的系统和方法
US9154697B2 (en) 2013-12-06 2015-10-06 Google Inc. Camera selection based on occlusion of field of view
US9424470B1 (en) * 2014-08-22 2016-08-23 Google Inc. Systems and methods for scale invariant 3D object detection leveraging processor architecture
JP2016099257A (ja) 2014-11-21 2016-05-30 キヤノン株式会社 情報処理装置及び情報処理方法
US9508681B2 (en) 2014-12-22 2016-11-29 Google Inc. Stacked semiconductor chip RGBZ sensor
EP3408848A4 (de) * 2016-01-29 2019-08-28 Pointivo Inc. Systeme und verfahren zur extraktion von informationen über objekte aus szeneninformationen
JP6890422B2 (ja) 2016-03-02 2021-06-18 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP6747665B2 (ja) 2016-06-07 2020-08-26 トヨタ自動車株式会社 ロボット
JP7065632B2 (ja) 2018-02-13 2022-05-12 Kyoto Robotics株式会社 箱状物ピッキング装置及びその方法
CN111133447B (zh) 2018-02-18 2024-03-19 辉达公司 适于自主驾驶的对象检测和检测置信度的方法和系统
CN108555908B (zh) 2018-04-12 2020-07-28 同济大学 一种基于rgbd相机的堆叠工件姿态识别及拾取方法
US10369698B1 (en) 2019-03-07 2019-08-06 Mujin, Inc. Method and system for performing automatic camera calibration for robot control
US10510155B1 (en) 2019-06-11 2019-12-17 Mujin, Inc. Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera
US10565737B1 (en) 2019-07-09 2020-02-18 Mujin, Inc. Method and system for performing automatic camera calibration for a scanning system

Also Published As

Publication number Publication date
US20210258478A1 (en) 2021-08-19
JP6723628B1 (ja) 2020-07-15
JP2021126761A (ja) 2021-09-02
US11006039B1 (en) 2021-05-11
JP2021126762A (ja) 2021-09-02
CN113255415A (zh) 2021-08-13
US11924559B2 (en) 2024-03-05
DE102020205896A1 (de) 2021-08-19

Similar Documents

Publication Publication Date Title
DE102021201369A1 (de) Verfahren und System zur Bestimmung einer Okklusion bzw. Verdeckung innerhalb eines Kamerasichtfelds
EP2767925B1 (de) Verfahren zur Erkennung von Objekten in einem Lager und/oder zur räumlichen Orientierung in einem Lager
EP2275990B1 (de) 3D-Sensor
DE102020106965A1 (de) Verfahren und system zum durchführen einer automatischen kamerakalibrierung für ein abtastsystem
DE102020105655A1 (de) Verfahren und system zum durchführen einer automatischen kamerakalibrierung zur roboterseuerung
DE112016001150T5 (de) Schätzung extrinsischer kameraparameter anhand von bildlinien
DE102011106072A1 (de) Schattenentfernung in einem durch eine fahrzeugbasierte kamera erfassten bild unter verwendung einer optimierten ausgerichteten linearen achse
DE102014222617A1 (de) Fahrzeugerfassungsverfahren und Fahrzeugerfassungssytem
DE112017006018T5 (de) Mobile robotische vorrichtung, die unstrukturierte daten von innenumgebungen verarbeitet, um räume in einer einrichtung zu segmentieren, um die bewegung der vorrichtung durch die einrichtung zu verbessern
DE202016008530U1 (de) Vereinheitlichte Bildbearbeitung für zusammengesetzte Bilder auf Basis räumlich nebeneinander angeordneter Bereiche
DE102020127340A1 (de) Verfahren und system zum bestimmen von posen für eine kamerakalibrierung
DE4405849A1 (de) Verfahren zum Aufnehmen drei-dimensionaler Bilder von Ladungen
DE102011082881A1 (de) Darstellung der Umgebung eines Kraftfahrzeugs in einer bestimmten Ansicht unter Verwendung räumlicher Information
DE10112732C2 (de) Verfahren zur Bestimmung der Lage von Meßbildern eines Objektes relativ zum Objekt
DE102014201409A1 (de) Parkplatz - trackinggerät und verfahren desselben
DE102013211904A1 (de) Verfahren und Vorrichtung zum Bestimmen von Gesten im Strahlbereich eines Projektors
EP3695387A1 (de) Verfahren zur darstellung von bildern eines kamerasystems eines fahrzeugs
WO2020160861A1 (de) Kalibrierung eines sensors für ein fahrzeug basierend auf objektseitigen und bildseitigen identifikationsindizes eines referenzobjektes
DE102020214250A1 (de) Verfahren zum Bereitstellen von Kalibrierungsdaten zum Kalibrieren einer Kamera, Verfahren zum Kalibrieren einer Kamera, Verfahren zum Herstellen zumindest eines vordefinierten punktsymmetrischen Bereichs und Vorrichtung
DE102019220364A1 (de) Kalibriereinrichtung und Verfahren zum Kalibrieren einer Vorrichtung
EP3555808A1 (de) Vorrichtung zur bereitstellung einer verbesserten hinderniserkennung
DE102022204515A1 (de) Verfahren zum Bestimmen von Punktgruppen, die von einem vorgegebenen Betrachtungspunkt sichtbar oder nicht sichtbar sind
WO2022100988A1 (de) Verfahren zum bereitstellen von überwachungsdaten zur detektion eines beweglichen objekts, verfahren zur detektion eines beweglichen objekts, verfahren zum herstellen zumindest eines vordefinierten punktsymmetrischen bereichs und vorrichtung
WO2023061732A1 (de) Verfahren zum lokalisieren eines anhängers, verarbeitungseinheit und fahrzeug
WO2023061731A1 (de) Verfahren zum ermitteln eines knickwinkels, verarbeitungseinheit und fahrzeug

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009580000

Ipc: G06V0030200000