DE102020213566A1 - Verfahren und Computersystem zur Objekterkennung oder Objektregistrierung basierend auf einer Bildklassifizierung - Google Patents

Verfahren und Computersystem zur Objekterkennung oder Objektregistrierung basierend auf einer Bildklassifizierung Download PDF

Info

Publication number
DE102020213566A1
DE102020213566A1 DE102020213566.5A DE102020213566A DE102020213566A1 DE 102020213566 A1 DE102020213566 A1 DE 102020213566A1 DE 102020213566 A DE102020213566 A DE 102020213566A DE 102020213566 A1 DE102020213566 A1 DE 102020213566A1
Authority
DE
Germany
Prior art keywords
template
target image
storage location
template storage
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
DE102020213566.5A
Other languages
English (en)
Inventor
Jinze Yu
Jose Jeronimo Moreira Rodrigues
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
Priority claimed from US16/991,466 external-priority patent/US11772271B2/en
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of DE102020213566A1 publication Critical patent/DE102020213566A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35074Display object, recognition of geometric forms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40564Recognize shape, contour of object, extract position and orientation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

Es wird ein Computersystem und ein Verfahren zur Objekterkennung präsentiert. Das Verfahren umfasst, dass das Computersystem ein Bild zum Darstellen des einen oder der mehreren Objekte erhält und einen Zielbildteil erzeugt, der mit einem von dem einen oder den mehreren Objekten verbunden ist. Das Computersystem bestimmt, ob der Zielbildteil als texturiert oder texturlos zu klassifizieren ist, und wählt einen Vorlagenspeicherplatz aus einem ersten und einem zweiten Vorlagenspeicherplatz aus, wobei der erste Vorlagenspeicherplatz relativ zu dem zweiten Vorlagenspeicherplatz häufiger gelöscht wird. Der erste Vorlagenspeicherplatz wird als Reaktion auf eine Texturlosklassifizierung ausgewählt und der zweite Vorlagenspeicherplatz wird als Reaktion auf eine Texturiertklassifizierung als Vorlagenspeicherplatz ausgewählt. Das Computersystem führt eine Objekterkennung basierend auf dem Zielbildteil und dem ausgewählten Vorlagenspeicherplatz aus.

Description

  • Querverweis auf verwandte Anmeldung(en)
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr. 62/959,182 mit dem Titel „A Robotic System with Object Detection“, eingereicht am 10. Januar 2020, deren gesamter Inhalt hierin durch Bezugnahme aufgenommen wird.
  • Gebiet der Erfindung
  • Die vorliegende Offenbarung betrifft Computersysteme und Verfahren zur Ausführung von Objekterkennung oder Objektregistrierung basierend darauf, wie ein Bild oder ein Teil davon klassifiziert wurde, und insbesondere darauf, ob das Bild oder der Teil davon als texturiert oder texturlos klassifiziert wurde.
  • Hintergrund der Erfindung
  • Mit zunehmender Automatisierung können Bilder, die Objekte darstellen, verwendet werden, um Informationen über die Objekte, wie beispielsweise Kisten oder andere Verpackungen in einem Warenlager, einer Fabrik oder einem Verkaufsraum, automatisch zu extrahieren. Die Bilder können Aufgaben, wie beispielsweise automatische Paketverfolgung, Bestandsverwaltung oder Roboterinteraktion mit den Objekten, erleichtern.
  • Kurzdarstellung
  • Bei einer Ausführungsform wird ein Computersystem mit einem nicht-flüchtigen computerlesbaren Medium und mindestens einer Verarbeitungsschaltung bereitgestellt. Die Kommunikationsschnittstelle kann zur Kommunikation mit einem Roboter und einer Bilderfassungsvorrichtung konfiguriert sein. Die mindestens eine Verarbeitungsschaltung ist konfiguriert, das folgende Verfahren auszuführen, wenn sich ein oder mehrere Objekte in einem Sichtfeld der Bilderfassungsvorrichtung befinden oder befunden haben: Erhalten eines Bildes zum Darstellen des einen oder der mehreren Objekte, wobei das Bild von der Bilderfassungsvorrichtung erzeugt wird; Erzeugen eines Zielbildteils von dem Bild, wobei der Zielbildteil ein Teil des Bildes ist, der einem Objekt des einen oder der mehreren Objekte zugeordnet ist; und Bestimmen, ob der Zielbildteil als texturiert oder texturlos zu klassifizieren ist. Das Verfahren umfasst zudem das Auswählen eines Vorlagenspeicherplatzes aus einem ersten Vorlagenspeicherplatz und einem zweiten Vorlagenspeicherplatz basierend darauf, ob der Zielbildteil als texturiert oder texturlos klassifiziert wird, wobei der erste Vorlagenspeicherplatz relativ zu dem zweiten Vorlagenspeicherplatz häufiger gelöscht wird, wobei der erste Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturlos zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird, und der zweite Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturiert zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird; das Ausführen einer Objekterkennung basierend auf dem Zielbildteil und dem ausgewählten Vorlagenspeicherplatz. Das Verfahren umfasst ferner das Erzeugen eines Bewegungsbefehls zum Bewirken einer Roboterinteraktion mit mindestens dem Objekt, wobei der Bewegungsbefehl basierend auf einem Ergebnis von der Objekterkennung erzeugt wird. In einigen Fällen kann das Verfahren ausgeführt werden, wenn die mindestens eine Verarbeitungsschaltung mehrere Befehle auf dem nicht-flüchtigen computerlesbaren Medium ausführt.
  • Figurenliste
    • Die 1A bis 1H veranschaulichen ein System zum Ausführen von Objekterkennung oder Objektregistrierung basierend auf einer Bildklassifizierung gemäß Ausführungsformen hiervon.
    • Die 2A bis 2F zeigen Blockdiagramme, die ein Computersystem veranschaulichen, das konfiguriert ist, eine Objekterkennung oder Objektregistrierung basierend auf einer Bildklassifizierung gemäß Ausführungsformen hiervon auszuführen.
    • 3 stellt ein Flussdiagramm bereit, das ein Verfahren zum Ausführen von Objekterkennung basierend auf einer Bildklassifizierung gemäß einer Ausführungsform veranschaulicht.
    • Die 4A bis 4C veranschaulichen beispielsweise Umgebungen und Systeme, in denen eine Objekterkennung oder Objektregistrierung gemäß Ausführungsformen hiervon ausgeführt werden können.
    • Die 5A bis 5E veranschaulichen Aspekte des Ausführens von Objekterkennung oder Objektregistrierung basierend auf einer Klassifizierung für einen Teil eines Bildes gemäß einer Ausführungsform hiervon.
    • Die 6A bis 6I veranschaulichen Aspekte des Ausführens von Objekterkennung oder Objektregistrierung gemäß einer Ausführungsform hiervon.
    • Die 7A bis 7C veranschaulichen Aspekte des Ausführens von Objekterkennung gemäß Ausführungsformen hiervon.
    • Die 8A bis 8E veranschaulichen Aspekte des Ausführens von Objekterkennung gemäß Ausführungsformen hiervon.
    • Die 9A bis 9D veranschaulichen das Löschen von Texturlosvorlagen gemäß Ausführungsformen hiervon.
  • Detaillierte Beschreibung der Figuren
  • Ein Aspekt der vorliegenden Offenbarung stellt Systeme und Verfahren zum automatischen Ausführen von Objekterkennung oder Objektregistrierung basierend auf einer Bildklassifizierung, wie beispielsweise einer Klassifizierung, ob ein Bild oder ein Teil davon texturiert oder texturlos ist. Das Bild kann ein oder mehrere Objekte, wie beispielsweise Kisten auf einer Palette, erfassen oder anderweitig darstellen und die Objektregistrierung (falls sie ausgeführt wird) kann verwendet werden, um visuelle Eigenschaften oder andere Eigenschaften des einen oder der mehreren Objekte zu bestimmen und eine oder mehrere Vorlagen zu erzeugen, welche diese Eigenschaften beschreiben. In einigen Fällen können die eine oder die mehreren Vorlagen zum Ausführen einer Objekterkennung verwendet werden. Ein Ergebnis der Objekterkennung kann z. B. zum Ausführen von Bestandsverwaltung, zum Erleichtern einer Roboterinteraktion mit dem einen oder den mehreren Objekten oder zum Erfüllen eines anderen Zwecks verwendet werden. In einigen Fällen kann eine Vorlage, die erzeugt wird, als texturiert oder texturlos klassifiziert werden. Eine Texturiertvorlage kann eine Vorlage sein, die basierend auf einem Bild oder einem Teil eines Bildes (auch als Bildteil bezeichnet) erzeugt wird, das als texturiert klassifiziert wird, während eine Texturlosvorlage eine Vorlage sein kann, die basierend auf einem Bild oder einem Bildteil erzeugt wird, das bzw. der als texturlos klassifiziert wird. In einigen Fällen kann sich die Texturiert- oder Texturlosklassifizierung auf die visuelle Textur im Bild oder Bildteil beziehen oder genauer gesagt darauf, ob das Bild oder der Bildteil ein bestimmtes Niveau an visueller Textur aufweist. In einigen Fällen kann die visuelle Textur beeinflussen, ob eine Objekterkennung basierend auf der Übereinstimmung einer visuellen Eigenschaft eines Objekts mit einem oder mehreren visuellen Merkmalen, die in der Vorlage beschrieben sind, auf eine robuste Weise ausgeführt werden kann.
  • Bei einer Ausführungsform können eine Texturlosvorlage bzw. Texturlosvorlagen temporär verwendet werden, während eine Texturiertvorlage bzw. Texturiertvorlagen längerfristig verwendet werden können. Die Texturlosvorlage bzw. Texturlosvorlagen können beispielsweise verwendet werden, um eine bestimmte Roboteraufgabe zu erleichtern, wie beispielsweise eine Aufgabe, die beinhaltet, dass ein Roboter einen Kistenstapel depalettiert. In solchen Fällen kann die Texturlosvorlage basierend auf dem Erscheinungsbild und/oder der physischen Struktur einer bestimmten Kiste in dem Stapel erzeugt werden. Die Kiste kann in einigen Szenarien wenige oder keine visuellen Markierungen auf einer Fläche davon aufweisen. Die Texturlosvorlage kann ein Kistendesign oder allgemeiner ein Objektdesign beschreiben, das mit der Kiste verbunden ist. Die Texturlosvorlage kann beispielsweise ein visuelles Design und/oder ein physisches Design beschreiben, welches das Kistendesign bildet. Die Texturlosvorlage kann verwendet werden, um das Depalettieren anderer Kisten in dem Stapel zu erleichtern und insbesondere anderer Kisten, die das gleiche Kistendesign aufweisen und die daher mit der Texturlosvorlage übereinstimmen können. Bei dieser Ausführungsform kann die Texturlosvorlage nach Abschluss der Depalettierungsaufgabe gelöscht oder anderweitig entfernt werden. Die Texturlosvorlage kann beispielsweise in einem Cache oder einem anderen kurzfristigen Vorlagenspeicherplatz gespeichert werden und der Cache kann nach Abschluss der Depalettierungsaufgabe gelöscht werden. In einigen Fällen kann die Texturlosvorlage ein Texturlos-Flag umfassen. Wenn die Depalettierungsaufgabe abgeschlossen ist, kann das Texturlos-Flag bewirken, dass die Texturlosvorlage gelöscht wird. Ein Aspekt der Ausführungsformen hierin bezieht sich daher auf die Verwendung einer bzw. mehrere Texturlosvorlagen für eine bestimmte Roboteraufgabe, die eine Gruppe von Objekten (z. B. Kisten auf einer Palette) umfassen, wobei die Texturlosvorlage(n) basierend auf einem Objekt innerhalb dieser Gruppe erzeugt werden können, die Texturlosvorlagen jedoch nicht für eine andere nachfolgende Aufgabe wiederverwendet werden können, die eine andere Gruppe von Objekten beinhaltet. Die Texturlosvorlage kann z. B. zum Ausführen einer Objekterkennung bei Objekten der erstgenannten Gruppe nützlich sein, kann aber für Objekte der letztgenannten Gruppe weniger relevant sein.
  • Bei einer Ausführungsform können eine bzw. mehrere Texturiertvorlagen auch dazu verwendet werden, eine Roboteraufgabe oder eine andere Aufgabe zu erleichtern, und sie kann ferner für andere nachfolgende Aufgaben wiederverwendet werden. Daher können die Texturiertvorlage(n) permanenter sein als die Texturlosvorlage(n). In einigen Fällen können die Texturiertvorlage(n) in einer Langzeitdatenbank oder einem anderen Langzeitvorlagenspeicherplatz gespeichert werden. Wie nachstehend ausführlicher beschrieben, kann die temporäre Verwendung der Texturlosvorlage(n) und die längerfristige Verwendung der Texturiertvorlage(n) technische Vorteile bereitstellen, wie beispielsweise das Reduzieren der für die Speicherung von Vorlagen benötigten Speicherressourcen und/oder das Verbessern einer Geschwindigkeit, mit der die Objekterkennung ausgeführt wird.
  • 1A veranschaulicht ein System 100 zum Ausführen oder Erleichtern einer automatischen Objekterkennung oder Objektregistrierung (der Begriff „oder“ wird hierin im Zusammenhang mit „und/oder“ verwendet). Das System 100 kann ein Computersystem 101 und eine Bilderfassungsvorrichtung 141 (auch als Bilderfassungsvorrichtung bezeichnet) umfassen. Die Bilderfassungsvorrichtung 141 (z. B. eine 2D-Kamera) kann konfiguriert sein, ein Bild aufzunehmen oder anderweitig zu erzeugen, das eine Umgebung in einem Sichtfeld der Bilderfassungsvorrichtung 141 darstellt. In einigen Fällen kann die Umgebung z. B. ein Warenlager oder eine Fabrik sein. In solchen Fällen kann das Bild ein oder mehrere Objekte in dem Lager oder in der Fabrik darstellen, wie beispielsweise eine oder mehrere Kisten oder andere Behälter, die eine Roboterinteraktion erhalten sollen. Das Computersystem 101 kann das Bild direkt oder indirekt von der Bilderfassungsvorrichtung 141 empfangen und das Bild verarbeiten, um z. B. eine Objekterkennung auszuführen. Wie nachstehend ausführlicher beschrieben, kann die Objekterkennung das Identifizieren von Objekten beinhalten, auf welche die Bilderfassungsvorrichtung 141 angetroffen hat oder die sich insbesondere im Sichtfeld der Vorrichtung befunden haben. Die Objekterkennung kann ferner das Bestimmen umfassen, ob ein Erscheinungsbild des Objekts mit einer existierenden Vorlage übereinstimmt, die in einem Vorlagenspeicherplatz gespeichert ist, und/oder ob die Struktur des Objekts mit einer existierenden Vorlage in dem Vorlagenspeicherplatz übereinstimmt. In einigen Situationen kann die Objekterkennung versagen, das Objekt zu erkennen, wie beispielsweise, wenn das Erscheinungsbild des Objekts mit keiner existierenden Vorlage im Vorlagenspeicherplatz übereinstimmt und/oder wenn die Struktur des Objekts mit keiner existierenden Vorlage im Vorlagenspeicherplatz übereinstimmt. Bei einigen Implementierungen kann das Computersystem 101 konfiguriert sein, eine Objektregistrierung auszuführen, wenn der Objekterkennungsvorgang das Objekt nicht erkennt. Die Objektregistrierung kann z. B. das Speichern von Informationen über das Erscheinungsbild des Objekts (auch als dessen visuelles Erscheinungsbild bezeichnet), über eine physische Struktur des Objekts (auch als Objektstruktur oder Struktur des Objekts bezeichnet) und/oder über jedes andere Merkmal des Objekts und das Speichern dieser Informationen als eine neue Vorlage im Vorlagenspeicherplatz umfassen. Die neue Vorlage kann für eine nachfolgende Objekterkennung verwendet werden. In einigen Fällen können sich das Computersystem 101 und die Bilderfassungsvorrichtung 141 in den gleichen Räumlichkeiten, wie beispielsweise in einem Warenlager oder einer Fabrik, befinden. In einigen Fällen können sich das Computersystem 101 und die Bilderfassungsvorrichtung 141 entfernt voneinander befinden. Das Computersystem 101 kann sich beispielsweise in einem Datenzentrum befinden, das eine Cloud-Computing-Plattform bereitstellt.
  • Bei einer Ausführungsform kann das System 100 eine Raumstrukturerfassungsvorrichtung umfassen, wie beispielsweise eine 3D-Kamera. Insbesondere veranschaulicht 1B ein System 100A (das eine Ausführungsform von System 100 sein kann), welches das Computersystem 101, die Bilderfassungsvorrichtung 141 und ferner eine Raumstrukturerfassungsvorrichtung 142 umfasst. Die Raumstrukturerfassungsvorrichtung 142 kann konfiguriert sein, eine physische Struktur eines Objekts in ihrem Sichtfeld zu erfassen und/oder zu erfassen, wie das Objekt in einem 3D-Raum angeordnet ist. Beispielsweise kann die Raumstrukturerfassungsvorrichtung 142 eine Tiefenmessungskamera (z. B. eine Time of Flight-Kamera (TOF-Kamera) oder eine Strukturlichtkamera) oder irgendeine andere 3D-Kamera umfassen. Bei einer Ausführungsform kann die Raumstrukturerfassungsvorrichtung 142 konfiguriert sein, erfasste Strukturinformationen (auch als Raumstrukturinformationen bezeichnet), wie beispielsweise eine Punktwolke, zu erzeugen. Insbesondere können die erfassten Strukturinformationen Tiefeninformationen umfassen, wie beispielsweise eine Reihe von Tiefenwerten in einer Tiefenkarte, welche die Tiefe verschiedener Orte auf einer Fläche des Objekts beschreiben. Die Tiefe kann relativ zur Raumstrukturerfassungsvorrichtung 142 oder einem anderen Bezugssystem sein. In einigen Fällen können die erfassten Strukturinformationen (z. B. Punktwolke) 3D-Koordinaten umfassen, wie beispielsweise [X Y Z]T-Koordinaten, die entsprechende Orte auf einer oder mehreren Flächen eines Objekts identifizieren oder anderweitig beschreiben. In einigen Fällen können die erfassten Strukturinformationen die physische Struktur des Objekts beschreiben. Die Tiefeninformationen in der Punktwolke (oder eine andere Form der erfassten Strukturinformationen) können beispielsweise eine Größe oder Form des Objekts beschreiben. Die Größe des Objekts (auch als Objektgröße bezeichnet) kann z. B. die Abmessungen des Objekts beschreiben, wie beispielsweise eine Kombination aus Länge und Breite eines Behälters oder eines anderen Objekts oder eine Kombination aus Länge, Breite und Höhe des Behälters. Die Form des Objekts (auch als Objektform bezeichnet) kann z. B. das physische Profil des Objekts beschreiben, wie es nachstehend ausführlicher beschrieben wird.
  • Wie vorstehend angegeben, kann eine Objekterkennung ausgeführt werden, um zu bestimmen, ob ein Objekt mit einer existierenden Vorlage (falls vorhanden) übereinstimmt, die in einem Vorlagenspeicherplatz gespeichert ist. Wenn das Objekt mit keiner existierenden Vorlage im Vorlagenspeicherplatz übereinstimmt (oder wenn der Vorlagenspeicherplatz keine Vorlagen aufweist), kann eine Objektregistrierung ausgeführt werden, um eine neue Vorlage basierend auf dem Erscheinungsbild und/oder einer anderen Eigenschaft des Objekts zu erzeugen. Zum Beispiel veranschaulicht 1C ein System 100B (das eine Ausführungsform des Systems 100/100A sein kann), das einen ersten Vorlagenspeicherplatz 181 und einen zweiten Vorlagenspeicherplatz 182 aufweist. Bei einer Ausführungsform kann jeder der Vorlagenspeicherplätze 181, 182 ein Platz in einer Vorrichtung oder einem anderen nicht-flüchtigen computerlesbaren Medium sein, wobei der Platz zugewiesen oder anderweitig verwendet wird, um eine oder mehrere Vorlagen zur Objekterkennung zu speichern. In einigen Fällen kann der erste Vorlagenspeicherplatz 181 und/oder der zweite Vorlagenspeicherplatz 182 eine Computerdatei zum Speichern von Vorlagen oder anderen Vorlageninformationen umfassen. In einigen Fällen kann der Vorlagenspeicherplatz 181/182 einen Bereich oder Bereiche von Speicheradressen umfassen, die für das Speichern von Vorlagen oder anderen Vorlageninformationen zugewiesen sind oder anderweitig dafür verwendet werden. In den vorstehend genannten Fällen kann sich der Vorlagenspeicherplatz 181/182 auf einen virtuellen Raum beziehen, da die Computerdatei oder der bzw. die Bereiche von Speicheradressen virtuelle Speicherplätze sein können, die auf verschiedene physische Speicherplätze in einer Speichervorrichtung abgebildet sein können. In einigen Fällen kann sich der erste Vorlagenspeicherplatz 181 und/oder der zweite Vorlagenspeicherplatz 182 auf einen physischen Platz in der Speichervorrichtung beziehen.
  • Wie es nachstehend ausführlicher beschrieben wird, kann eine Vorlage im Vorlagenspeicherplatz 181/182 ein bestimmtes Objektdesign beschreiben, das mit einem Objekt oder einer Gruppe von Objekten verbunden ist. Wenn die Gruppe von Objekten beispielsweise Kisten oder andere Behälter ist, kann sich das Objektdesign auf ein Kisten- oder ein anderes Behälterdesign beziehen, das mit den Behältern verbunden ist. In einigen Fällen kann sich das Objektdesign z. B. auf ein visuelles Design oder eine visuelle Markierung beziehen, die das Erscheinungsbild einer oder mehrerer Flächen des Objekts definiert oder anderweitig einen Teil davon bildet, oder die eine andere visuelle Eigenschaft des Objekts definiert. In einigen Fällen kann sich das Objektdesign z. B. auf ein physisches Design beziehen, das eine physische Struktur oder eine andere mit dem Objekt verbundene physische Eigenschaft definiert oder anderweitig beschreibt. Bei einer Ausführungsform kann die Vorlage eine Beschreibung eines visuellen Merkmals umfassen, die Informationen enthalten kann, die das visuelle Design beschreiben. Die visuelle Merkmalbeschreibung kann z. B. ein Bild oder einen Bildteil umfassen, das bzw. der das Erscheinungsbild des Objekts darstellt oder anderweitig mit dem Erscheinungsbild des Objekts verbunden ist, oder Informationen (z. B. eine Liste von Deskriptoren), die visuelle Merkmale in dem Bild oder Bildteil zusammenfassen oder anderweitig beschreiben. Bei einer Ausführungsform kann die Vorlage eine Objektstrukturbeschreibung umfassen, die Informationen umfassen kann, die das physische Design beschreiben. Die Objektstrukturbeschreibung kann beispielsweise einen Wert bzw. Werte umfassen, welche die mit dem Objektdesign verbundene Objektgröße beschreiben, und/oder sie kann eine Punktwolke oder ein Computer-Aided Design-Modell (CAD-Modell) umfassen, das eine mit dem Objektdesign verbundene Objektform beschreibt.
  • Bei einer Ausführungsform kann der erste Vorlagenspeicherplatz 181 und/oder der zweite Vorlagenspeicherplatz auf dem Computersystem 101 gehostet sein oder sich anderweitig darauf befinden. Beispielsweise stellt die Ausführungsform von 1C eine Implementierung dar, in der das Computersystem 101 sowohl den ersten Vorlagenspeicherplatz 181 als auch den zweiten Vorlagenspeicherplatz 182 hostet oder anderweitig umfasst. Insbesondere können die zwei Vorlagenspeicherplätze 181, 182 auf einer Speichervorrichtung oder einem anderen nicht-flüchtigen computerlesbaren Medium des Computersystems 101 gehostet oder anderweitig angeordnet sein, wie es nachstehend in Bezug auf 2E näher beschrieben wird. Ferner veranschaulicht 1D ein System 100C (das eine Ausführungsform des Systems 100/100A sein kann), bei dem einer von dem ersten Vorlagenspeicherplatz 181 oder dem zweiten Vorlagenspeicherplatz 182 auf dem Computersystem 101 gehostet wird und der andere von dem ersten Vorlagenspeicherplatz 181 oder dem zweiten Vorlagenspeicherplatz 182 auf einem nicht-flüchtigen computerlesbaren Medium 198 getrennt von dem Computersystem 101 gehostet wird. Bei einer Ausführungsform kann sowohl der erste Vorlagenspeicherplatz 181 als auch der zweite Vorlagenspeicherplatz 182 auf dem nicht-flüchtigen computerlesbaren Medium 198 anstatt auf dem Computersystem 101 gehostet sein, wie es in 1E veranschaulicht ist.
  • Bei einer Ausführungsform kann das nicht-flüchtige computerlesbare Medium 198 eine einzelne Speichervorrichtung oder eine Gruppe von Speichervorrichtungen umfassen. Das Computersystem 101 und das nicht-flüchtige computerlesbare Medium 198 können sich in den gleichen Räumlichkeiten oder entfernt voneinander befinden. Das nicht-flüchtige computerlesbare Medium 198 kann beispielsweise eine elektronische Speichervorrichtung, eine magnetische Speichervorrichtung, eine optische Speichervorrichtung, eine elektromagnetische Speichervorrichtung, eine Halbleiterspeichervorrichtung oder eine geeignete Kombination davon, wie beispielsweise eine Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbaren programmierbaren Festwertspeicher (EPROM oder Flash-Speicher), ein Festkörperlaufwerk, einen statischen Direktzugriffsspeicher (SRAM), einen tragbaren Festwertspeicher (CD-ROM), eine Digital Versatile Disk (DVD) und/oder einen Speicherstick umfassen, ist aber nicht darauf beschränkt. In einigen Fällen kann das nicht-flüchtige computerlesbare Medium 198 und/oder das Computersystem 101 der 1C bis 1E eine Datenbank oder ein Datenbankverwaltungssystem zum Zugreifen auf Vorlagen (falls vorhanden) in dem ersten Vorlagenspeicherplatz 181 und/oder dem zweiten Vorlagenspeicherplatz 182 bereitstellen.
  • Bei einer Ausführungsform kann der erste Vorlagenspeicherplatz 181 im Vergleich zum zweiten Vorlagenspeicherplatz 182 öfter gelöscht werden. Der erste Vorlagenspeicherplatz 181 kann beispielsweise als Cache oder anderer kurzfristiger Vorlagenspeicherplatz agieren, der zur temporären Speicherung einer bestimmten Vorlage oder eines bestimmten Vorlagentyps verwendet wird. Wie es nachstehend ausführlicher beschrieben wird, kann der Cache oder der andere kurzfristige Vorlagenspeicherplatz zum Speichern von Vorlagen verwendet werden, die als texturlos (auch als Texturlosvorlagen bezeichnet) klassifiziert wurden. Bei einigen Ausführungsformen kann der erste Vorlagenspeicherplatz 181 auch als Texturlosvorlagenspeicherplatz 181 bezeichnet werden, wenn er als Cache oder anderer kurzfristiger Vorlagenspeicherplatz agiert, der zur temporären Speicherung der Texturlosvorlagen verwendet wird. In einigen Fällen kann der erste Vorlagenspeicherplatz 181 seine gespeicherten Vorlagen (falls vorhanden) beibehalten, während eine bestimmte Aufgabe, wie beispielsweise eine Roboteraufgabe, die das Depalettieren eines Kistenstapels oder von anderen Behältern beinhaltet, ausgeführt wird, und Vorlagen in dem ersten Vorlagenspeicherplatz 181 können nach Abschluss der Aufgabe gelöscht werden. In einem solchen Beispiel werden die Texturlosvorlagen, die für eine bestimmte Aufgabe erzeugt werden, nicht für eine nachfolgende Aufgabe wiederverwendet.
  • Bei einer Ausführungsform kann der zweite Vorlagenspeicherplatz 182 als langfristiger Vorlagenspeicherplatz (z. B. eine langfristige Vorlagendatenbank) agieren. In einigen Fällen kann der zweite Vorlagenspeicherplatz 182 für eine bestimmte Vorlage oder einen bestimmten Vorlagentyp reserviert sein, wie beispielsweise Vorlagen, die als texturierte klassifiziert wurden (auch als Texturiertvorlagen bezeichnet), wie es nachstehend ausführlicher beschrieben wird. Bei einigen Ausführungsformen kann der zweite Vorlagenspeicherplatz 182 auch als Texturiertvorlagenspeicherplatz 182 bezeichnet werden, wenn er als langfristiger Vorlagenspeicherplatz zum Speichern der Texturiertvorlagen agiert. Vorlagen oder andere Inhalte in dem zweiten Vorlagenspeicherplatz 182 können dauerhafter sein als Vorlagen oder andere Inhalte in dem ersten Vorlagenspeicherplatz 182. Beispielsweise kann der zweite Vorlagenspeicherplatz 182 seine gespeicherten Vorlagen (falls vorhanden) über viele Aufgaben hinweg, einschließlich der vorstehend beschriebenen Roboteraufgabe, beibehalten. Die Texturiertvorlagen, die für eine bestimmte Aufgabe erzeugt werden, können mit anderen Worten für eine nachfolgende Aufgabe wiederverwendet werden, um die Objekterkennung für diese nachfolgende Aufgabe zu erleichtern. Bei einer Ausführungsform kann die Verwendung des ersten Vorlagenspeicherplatzes 181 als kurzfristiger Vorlagenspeicherplatz und die Verwendung des zweiten Vorlagenspeicherplatzes 182 als langfristiger Vorlagenspeicherplatz einen technischen Vorteil des Reduzierens der für das Speichern von Vorlagen zur Objekterkennung erforderlichen Speicherressourcen und/oder einen technischen Vorteil des Verbesserns der Geschwindigkeit, mit der die Objekterkennung ausgeführt wird, bereitstellen, wie es nachstehend ausführlicher beschrieben wird.
  • Bei einer Ausführungsform kann das nicht-flüchtige computerlesbare Medium 198 der 1D und 1E ferner ein Bild, das von der Bilderfassungsvorrichtung 141 erzeugt wird, und/oder erfasste Strukturinformationen, die von der Raumstrukturerfassungsvorrichtung 142 erzeugt werden, speichern. Bei einer solchen Ausführungsform kann das Computersystem 101 das Bild und/oder die erfassten Strukturinformationen von dem nicht-flüchtigen computerlesbaren Medium 198 empfangen. In einigen Fällen können verschiedene Komponenten des Systems 100/100A/100B/100C/100D der 1A bis 1E über ein Netzwerk kommunizieren. 1F stellt beispielsweise ein System 100E dar, das eine Ausführungsform eines beliebigen Systems 100/100A/100B/100C/100D sein kann, das ein Netzwerk 199 umfasst. Insbesondere kann das Computersystem 101 über das Netzwerk 199 ein Bild empfangen, das von der Bilderfassungsvorrichtung 141 erzeugt wird. Das Netzwerk 199 kann eine einzelne Netzwerkverbindung oder eine Reihe von Netzwerkverbindungen bereitstellen, um dem Computersystem 101 zu erlauben, Bilddaten zu empfangen, die mit den hierin beschriebenen Ausführungsformen übereinstimmen. Bei einer Ausführungsform kann das Netzwerk 199 über drahtgebundene oder drahtlose Verbindungen verbunden sein. Drahtgebundene Verbindungen können Digital Subscriber Line (DSL), Koaxialkabel- oder Glasfaserleitungen umfassen. Drahtlose Verbindungen können Bluetooth®, Bluetooth Low Energy (BLE), ANT/ANT+, ZigBee, Z-Wave, Thread, Wi-Fi®, Worldwide Interoperability for Microwave Access (WiMAX®), Mobile WiMAX®, WiMAX®-Advanced, NFC, SigFox, LoRa, Random Phase Multiple Access (RPMA), Weightless-N/P/W, einen Infrarotkanal oder ein Satellitenband umfassen. Die drahtlosen Verbindungen können auch alle zellularen Netzwerkstandards zur Kommunikation zwischen mobilen Vorrichtungen umfassen, einschließlich Standards, die als 2G, 3G, 4G oder 5G qualifizieren. Drahtlose Standards können verschiedene Kanalzugriffsverfahren verwenden, wie beispielsweise FDMA, TDMA, CDMA oder SDMA. Die Netzwerkkommunikation kann über jedes geeignete Protokoll erfolgen, einschließlich z. B. http, tcp/ip, udp, ethernet, ATM usw.
  • Bei einer Ausführungsform können das Computersystem 101 und die Bilderfassungsvorrichtung 141 und/oder die Raumstrukturerfassungsvorrichtung 142 über eine direkte Verbindung anstatt über eine Netzwerkverbindung kommunizieren. Das Computersystem 101 kann bei einer solchen Ausführungsform beispielsweise konfiguriert sein, ein Bild von der Bilderfassungsvorrichtung 141 und/oder erfasste Strukturinformationen von der Raumstrukturvorrichtung 142 über eine fest zugeordnete Kommunikationsschnittstelle, wie beispielsweise eine RS-232-Schnittstelle, eine Universal Serial Bus-Schnittstelle (USB-Schnittstelle) und/oder über einen lokalen Computerbus, wie beispielsweise einen Peripheral Component Interconnect-Bus (PCI-Bus), zu empfangen.
  • Bei einer Ausführungsform kann ein Bild, das von der Bilderfassungsvorrichtung 141 erzeugt wird, verwendet werden, um das Steuern eines Roboters zu erleichtern. 1G veranschaulicht beispielsweise ein Roboterbetriebssystem 100F (das eine Ausführungsform des Systems 100/100A/100B/100C/100D/100E ist), welches das Computersystem 101, die Bilderfassungsvorrichtung 141 und einen Roboter 161 umfasst. Die Bilderfassungsvorrichtung 141 kann konfiguriert sein, ein Bild zu erzeugen, das z. B. ein Objekt in einem Warenlager oder einer anderen Umgebung darstellt, und der Roboter 161 kann derart gesteuert werden, dass er basierend auf dem Bild mit dem Objekt interagiert. Das Computersystem 101 ist beispielsweise konfiguriert, das Bild zu empfangen und eine Objekterkennung und/oder Objektregistrierung basierend auf dem Bild auszuführen. Die Objekterkennung kann z. B. das Bestimmen einer Größe oder Form des Objekts und, ob die Größe oder Form des Objekts mit einer vorhandenen Vorlage übereinstimmt, beinhalten. In diesem Beispiel kann die Interaktion des Roboters 161 mit dem Objekt basierend auf der bestimmten Größe oder Form des Objekts und/oder basierend auf einer übereinstimmenden Vorlage (falls vorhanden) gesteuert werden.
  • Bei einer Ausführungsform kann das Computersystem 101 ein Robotersteuersystem (auch als Robotersteuerung bezeichnet) bilden oder Teil davon sein, das konfiguriert ist, die Bewegung oder einen anderen Vorgang des Roboters 161 zu steuern. Das Computersystem 101 kann bei bei einer solchen Ausführungsform konfiguriert sein, die Bewegungsplanung für den Roboter 161 basierend auf einem von der Bilderfassungsvorrichtung 141 erzeugten Bild auszuführen und einen oder mehrere Bewegungsbefehle (z. B. Motorbefehle) basierend auf der Bewegungsplanung zu erzeugen. Das Computersystem 101 in einem solchen Beispiel kann beispielsweise den einen oder die mehreren Bewegungsbefehle an den Roboter 161 ausgeben, um seine Bewegung zu steuern.
  • Bei einer Ausführungsform kann das Computersystem 101 von einem Robotersteuersystem getrennt und konfiguriert sein, Informationen an das Robotersteuersystem zu kommunizieren, sodass das Robotersteuersystem den Roboter steuern kann. 1H zeigt beispielsweise ein Roboterbetriebssystem 100G (das eine Ausführungsform von einem der Systeme 100 bis 100F ist), welches das Computersystem 101 und ein von dem Computersystem 101 getrenntes Robotersteuersystem 162 umfasst. Das Computersystem 101 und die Bilderfassungsvorrichtung 141 in diesem Beispiel können ein Bildverarbeitungssystem 150 bilden, das konfiguriert ist, an das Robotersteuersystem 162 Informationen über eine Umgebung des Roboters 161 und insbesondere über Objekte in dieser Umgebung bereitzustellen. Das Computersystem 101 kann als Bildverarbeitungssteuerung fungieren, die konfiguriert ist, ein von der Bilderfassungsvorrichtung 141 erzeugtes Bild zu verarbeiten, um die Informationen über die Umgebung des Roboters 161 zu bestimmen. Das Computersystem 101 kann konfiguriert sein, die bestimmten Informationen zu dem Robotersteuersystem 162 zu kommunizieren, das konfiguriert sein kann, eine Bewegungsplanung für den Roboter 161 basierend auf den von dem Computersystem 101 empfangenen Informationen auszuführen.
  • Wie vorstehend angegeben, kann die Bilderfassungsvorrichtung 141 der 1A bis 1H konfiguriert sein, Bilddaten zu erzeugen, die ein Bild erfassen oder bilden, das ein oder mehrere Objekte in einer Umgebung der Bilderfassungsvorrichtung 141 darstellt. Insbesondere kann die Bilderfassungsvorrichtung 141 ein Vorrichtungssichtfeld aufweisen und konfiguriert sein, ein Bild zu erzeugen, das ein oder mehrere Objekte im Vorrichtungssichtfeld darstellt. Wie hierin verwendet, beziehen sich Bilddaten auf jede Art von Daten (auch als Informationen bezeichnet), die ein Erscheinungsbild des einen oder der mehreren Objekte (auch als ein oder mehrere physische Objekte bezeichnet) beschreiben. Bei einer Ausführungsform kann die Bilderfassungsvorrichtung 141 eine Kamera, wie beispielsweise eine Kamera, die konfiguriert ist, ein zweidimensionales (2D) Bild zu erzeugen, sein oder umfassen. Das 2D-Bild kann z. B. ein Graustufenbild oder ein Farbbild sein.
  • Wie vorstehend weiter ausgeführt, kann das von der Bilderfassungsvorrichtung 141 erzeugte Bild von dem Computersystem 101 verarbeitet werden. Bei einer Ausführungsform kann das Computersystem 101 einen Server (z. B. mit einem oder mehreren Server-Blades, Prozessoren usw.), einen Personalcomputer (z. B. einen Desktop-Computer, einen Laptop-Computer usw.), ein Smartphone, eine Tablet-Computer-Vorrichtung und/oder ein anderes beliebiges anderes Computersystem umfassen oder als solcher konfiguriert sein. Bei einer Ausführungsform kann die gesamte oder ein Teil der Funktionalität des Computersystems 101 als Teil einer Cloud-Computing-Plattform ausgeführt werden. Das Computersystem 101 kann eine einzelne Computervorrichtung (z. B. ein Desktop-Computer oder ein Server) sein oder mehrere Computervorrichtungen umfassen.
  • In 2A ist ein Blockdiagramm dargestellt, das eine Ausführungsform des Computersystems 101 veranschaulicht. Das Computersystem 101 umfasst mindestens eine Verarbeitungsschaltung 110 und ein nicht-flüchtiges computerlesbares Medium (oder Medien) 120. Bei einer Ausführungsform umfasst die Verarbeitungsschaltung 110 einen oder mehrere Prozessoren, einen oder mehrere Verarbeitungskerne, eine programmierbare logische Steuerung („PLC“), eine anwendungsspezifische integrierte Schaltung („ASIC“), ein programmierbares Gate-Array („PGA“), ein feldprogrammierbares Gate-Array („FPGA“), eine beliebige Kombination davon oder irgendeine andere Verarbeitungsschaltung.
  • Bei einer Ausführungsform kann das nicht-flüchtige computerlesbare Medium 120 eine Speichervorrichtung sein, wie beispielsweise eine elektronische Speichervorrichtung, eine magnetische Speichervorrichtung, eine optische Speichervorrichtung, eine elektromagnetische Speichervorrichtung, eine Halbleiterspeichervorrichtung oder eine beliebige geeignete Kombination davon, z. B. eine Computerdiskette, eine Festplatte, ein Festkörperlaufwerk (SSD), einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbaren programmierbaren Festwertspeicher (EPROM oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen tragbaren Compact Disc-Festwertspeicher (CD-ROM), eine Digital Versatile Disk (DVD), einen Speicherstick, eine beliebige Kombination davon oder eine andere Speichervorrichtung. In einigen Fällen kann das nicht-flüchtige computerlesbare Medium 120 mehrere Speichervorrichtungen umfassen. In bestimmten Fällen ist das nicht-flüchtige computerlesbare Medium 120 konfiguriert, Bilddaten, die von der Bilderfassungsvorrichtung 141 empfangen werden, und/oder erfasste Strukturinformationen, die von der Raumstrukturerfassungsvorrichtung 142 empfangen werden, zu speichern. In bestimmten Fällen speichert das nicht-flüchtige computerlesbare Medium 120 ferner computerlesbare Programmbefehle, die, wenn sie von der Verarbeitungsschaltung 110 ausgeführt werden, die Verarbeitungsschaltung 110 veranlassen, eine oder mehrere hierin beschriebene Verfahren auszuführen, wie beispielsweise ein in 3 beschriebenes Verfahren.
  • 2B stellt ein Computersystem 101A dar, das eine Ausführungsform des Computersystems 101 ist und eine Kommunikationsschnittstelle 130 umfasst. Die Kommunikationsschnittstelle 130 kann konfiguriert sein, z. B. ein Bild oder allgemeiner Bilddaten von der Bildaufnahmevorrichtung 141 zu empfangen, wie beispielsweise über das nicht-flüchtige computerlesbare Medium 198 von 1D oder 1E, das Netzwerk 199 von 1F oder über eine direktere Verbindung. Bei einer Ausführungsform kann die Kommunikationsschnittstelle 130 konfiguriert sein, mit dem Roboter 161 von 1G oder dem Robotersteuersystem 162 von 1H zu kommunizieren. Die Kommunikationsschnittstelle 130 kann z. B. eine Kommunikationsschaltung umfassen, die konfiguriert ist, die 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 Bluetooth®-Controller, einen PCI-Bus-Controller, jede andere Kommunikationsschaltung oder eine Kombination davon umfassen.
  • Wenn bei einer Ausführungsform der vorstehend beschriebene erste Vorlagenspeicherplatz 181 und/oder der zweite Vorlagenspeicherplatz 182 auf dem nicht-flüchtigen computerlesbaren Medium 198 der 1E und 1D gehostet werden oder sich anderweitig darauf befinden, kann die Kommunikationsschnittstelle 130 konfiguriert sein, mit dem nicht-flüchtigen computerlesbaren Medium 198 (z. B. direkt oder über ein Netzwerk) zu kommunizieren. Die Kommunikation kann ausgeführt werden, um eine Vorlage von dem Vorlagenspeicherplatz 181/182 zu empfangen oder um eine Vorlage zur Speicherung darin an den Vorlagenspeicherplatz 181/182 zu senden. In einigen Fällen kann wie vorstehend angegeben das Computersystem 101 den ersten Vorlagenspeicherplatz 181 und/oder den zweiten Vorlagenspeicherplatz 182 hosten oder anderweitig umfassen. Die 2C, 2D und 2E stellen beispielsweise Ausführungsformen dar, bei denen sich der erste Vorlagenspeicherplatz 181 und/oder der zweite Vorlagenspeicherplatz 182 auf dem nicht-flüchtigen computerlesbaren Medium 120 des Computersystems 101 befinden.
  • Bei einer Ausführungsform kann die Verarbeitungsschaltung 110 durch einen oder mehrere computerlesbare Programmbefehle programmiert sein, die auf dem nicht-flüchtigen computerlesbaren Medium 120 gespeichert sind. 2F veranschaulicht beispielsweise ein Computersystem 101B, das eine Ausführungsform des Computersystems 101/101A sein kann, in dem die Verarbeitungsschaltung 110 durch ein Bildzugriffsmodul 202, ein Bildklassifizierungsmodul 204, ein Objektregistrierungsmodul 206, ein Objekterkennungsmodul 207 und ein Bewegungsplanungsmodul 208 programmiert oder konfiguriert ist, diese auszuführen. Es versteht sich, dass die Funktionalität der verschiedenen Module, wie sie hierin beschrieben sind, repräsentativ und nicht einschränkend ist.
  • Bei einer Ausführungsform kann das Bildzugriffsmodul 202 ein Softwareprotokoll sein, das auf dem Computersystem 101B arbeitet und konfiguriert ist, ein Bild oder allgemeiner Bilddaten zu erhalten (z. B. zu empfangen). Das Bildzugriffsmodul 202 kann beispielsweise konfiguriert sein, auf Bilddaten, die in einem nicht-flüchtigen computerlesbaren Medium 120 oder 198 gespeichert sind, oder über das Netzwerk 199 und/oder die Kommunikationsschnittstelle 130 von 2B zuzugreifen. In einigen Fällen kann das Bildzugriffsmodul 202 konfiguriert sein, die Bilddaten direkt oder indirekt von der Bilderfassungsvorrichtung 141 zu empfangen. Die Bilddaten können zum Darstellen eines oder mehrerer Objekte in einem Sichtfeld der Bilderfassungsvorrichtung 141 dienen. Bei einer Ausführungsform kann das Bildklassifizierungsmodul 204 konfiguriert sein, ein Bild oder einen Bildteil als texturiert oder texturlos zu klassifizieren, wie es nachstehend ausführlicher beschrieben wird, wobei das Bild durch die Bilddaten dargestellt werden kann, die durch das Bildzugriffsmodul 202 erhalten wurden.
  • Bei einer Ausführungsform kann das Objektregistrierungsmodul 206 konfiguriert sein, eine visuelle Eigenschaft, eine physische Eigenschaft und/oder jede andere Eigenschaft eines Objekts zu bestimmen und eine Vorlage zu erzeugen, welche die Eigenschaft(en) des Objekts beschreibt. In einigen Fällen kann das Objekterkennungsmodul 207 konfiguriert sein, eine Objekterkennung z. B. basierend auf einem Erscheinungsbild des Objekts oder einem anderen visuellen Merkmal des Objekts auszuführen, um zu bestimmen, ob eine Vorlage, die diesem Objekt entspricht, bereits existiert. Insbesondere kann die Objekterkennung auf einer oder mehreren Vorlagen, wie beispielsweise den Vorlagen im ersten Vorlagenspeicherplatz 181 oder im zweiten Vorlagenspeicherplatz 182 der 2C bis 2E, basieren. Die Objekterkennung kann z. B. beinhalten, zu bestimmen, ob das Erscheinungsbild des Objekts mit einer Vorlage der einen oder der mehreren Vorlagen übereinstimmt. Wenn in einigen Fällen das Objekterkennungsmodul 207 bestimmt, dass es keine solche Übereinstimmung gibt, kann das Erscheinungsbild des Objekts vom Objektregistrierungsmodul 206 als Teil eines Objektregistrierungsprozesses zum Erstellen einer neuen Vorlage verwendet werden. Bei einer Ausführungsform kann das Bewegungsplanungsmodul 208 konfiguriert sein, eine Bewegungsplanung z. B. zum Steuern einer Roboterinteraktion mit einem Objekt basierend auf der von dem Bildklassifizierungsmodul 204 ausgeführten Klassifizierung und/oder basierend auf einem Ergebnis des Objekterkennungsmoduls 207 auszuführen, wie es nachstehend ausführlicher beschrieben wird.
  • Bei verschiedenen Ausführungsformen werden die Begriffe „Softwareprotokoll“, „Softwarebefehle“, „Computerbefehle“, „computerlesbare Befehle“ und „computerlesbare Programmbefehle“ verwendet, um Softwarebefehle oder Computercode zu beschreiben, die bzw. der zur Ausführung verschiedener Aufgaben und Operationen konfiguriert sind bzw. ist. Wie hierin verwendet, bezieht sich der Begriff „Modul“ allgemein auf eine Sammlung von Softwarebefehlen oder Code, die konfiguriert sind bzw. der konfiguriert ist, die Verarbeitungsschaltung 110 zu veranlassen, eine oder mehrere Funktionsaufgaben auszuführen. Der Einfachheit halber werden die verschiedenen Module, Computerbefehle und Softwareprotokolle derart beschrieben, dass sie verschiedene Operationen oder Aufgaben ausführen, während die Module, Computerbefehle und Softwareprotokolle in Wirklichkeit Hardwareprozessoren programmieren, die Operationen und Aufgaben auszuführen. Obwohl an verschiedenen Stellen als „Software“ beschrieben, wird davon ausgegangen, dass die von den „Modulen“, „Softwareprotokollen“ und „Computerbefehlen“ ausgeführten Funktionen genereller als Firmware, Software, Hardware oder eine Kombination davon implementiert sein können. Des Weiteren werden Ausführungsformen hierin in Form von Verfahrenschritten, Funktionsschritten und anderen Arten von Ereignissen beschrieben. Bei einer Ausführungsform erfolgen diese Aktionen entsprechend den Computerbefehlen oder Softwareprotokollen, die von der Verarbeitungsschaltung 110 des Computersystems 101 ausgeführt werden.
  • 3 ist ein Flussdiagramm, das beispielsweise Operationen für ein Verfahren 300 zum Ausführen von Objekterkennung und/oder Objektregistrierung veranschaulicht. In einem Beispiel kann das Verfahren 300 eine Depalettierungsaufgabe erleichtern oder Teil davon sein, bei der ein Stapel von Objekten (z. B. Kisten oder andere Pakete auf einer Palette) entladen wird. In einigen Fällen kann die Objekterkennung das Bestimmen einer Struktur für ein Objekt (auch als Objektstruktur bezeichnet) im Stapel erleichtern, was die Depalettierungsaufgabe unterstützen kann. In einigen Fällen kann die Objekterkennung und/oder Objektregistrierung das Nachverfolgen erleichtern, welches Objekt oder welche Objekttypen von einem Roboterbetriebssystem (z. B. 100F von 1G) entladen oder anderweitig verarbeitet wurden, was eine Bestandsverwaltungsaufgabe oder eine andere Aufgabe unterstützen kann. Bei einer Ausführungsform kann das Verfahren 300 durch das Computersystem 101 der 1A bis 2F ausgeführt werden, wie beispielsweise durch die Verarbeitungsschaltung 110. Das nicht-flüchtige computerlesbare Medium 120 des Computersystems 101 kann beispielsweise mehrere Befehle (z. B. Computerprogrammbefehle) speichern und die Verarbeitungsschaltung 100 kann das Verfahren 300 durch Ausführen der Befehle ausführen.
  • Die 4A bis 4C veranschaulichen eine beispielhafte Umgebung, in der das Verfahren 300 ausgeführt werden kann. Insbesondere stellt 4A ein System 400 (das eine Ausführungsform eines der Systeme 100 bis 100G sein kann) dar, welches das Computersystem 101, eine Bilderfassungsvorrichtung 441 (die eine Ausführungsform der Bilderfassungsvorrichtung 141 sein kann) und einen Roboter 461 (der eine Ausführungsform des Roboters 161 der 1G oder 1H sein kann) umfasst. 4B stellt ein System 400A dar, das Komponenten des Systems 400 und ferner eine Raumstrukturerfassungsvorrichtung 442 (die eine Ausführungsform der Raumstrukturerfassungsvorrichtung 142 sein kann) umfasst. Zusätzlich stellt 4C ein System 400B dar, das Komponenten des Systems 400A umfasst und ferner eine oder mehrere zusätzliche Bildaufnahmevorrichtungen oder Raumstrukturerfassungsvorrichtungen umfasst, wie beispielsweise die Raumstrukturerfassungsvorrichtungen 446, 448.
  • Wie in den 4A bis 4C dargestellt, kann das System 400/400A/400B zum Ausführen von Objekterkennung und/oder Objektregistrierung für ein oder mehrere Objekte, wie beispielsweise die Objekte 411-414 und 421-424, und/oder zum Steuern des Roboters 461, um mit dem einen oder den mehreren Objekten zu interagieren, verwendet werden. In einigen Szenarien können das eine oder die mehreren Objekte (z. B. Kisten oder andere Behälter) einen auf einer Plattform, wie beispielsweise die Palette 430, angeordneten Stapel bilden. Die Roboterinteraktion kann z. B. beinhalten, das eine oder die mehreren Objekte aufzunehmen und sie zu einem gewünschten Zielort zu bewegen, wie beispielsweise von der Palette 430 auf ein Förderband. Der Stapel kann mehrere Lagen aufweisen, wie beispielsweise eine erste Lage 410 und eine zweite Lage 420, die in den 4A bis 4C veranschaulicht sind. Die erste Lage 410 kann durch die Objekte 411-414 gebildet werden, während die zweite Lage 420 durch die Objekte 421-424 gebildet werden kann. In einigen Fällen kann eine visuelle Markierung auf einer oder mehreren Flächen eines Objekts erscheinen. Die 4A bis 4C stellen beispielsweise ein Bild 401A dar, das auf eine Fläche (z. B. die obere Fläche) des Objekts 411 gedruckt oder auf andere Weise darauf angeordnet ist, und ein Logo 412A oder eine andere visuelle Markierung, die auf eine Fläche des Objekts 412 gedruckt oder auf andere Weise darauf angeordnet ist, dar. Die visuelle Markierung kann mindestens Teil eines visuellen Designs des Objekts 411/412 sein. Wenn in einigen Fällen das Objekt 411/412 eine Kiste zur Aufnahme von Waren ist, kann das visuelle Design auf einen Markennamen der Waren, einen Hersteller oder Vertreiber der Waren hinweisen oder eine Veranschaulichung oder Zeichnung der Waren sein. In einigen Situationen kann ein physisches Element, wie beispielsweise ein Streifen des Bandes 414A, auf einer Fläche eines Objekts, wie beispielsweise auf einer oberen Fläche des Objekts 414, angeordnet sein. In einigen Situationen kann mindestens eines der Objekte keine visuelle Markierung auf einer oder mehreren Flächen aufweisen. Beispielsweise kann eine obere Fläche des Objekts 413 leer sein.
  • Bei einer Ausführungsform können die Objekte 411-414, 421-424 Objekte umfassen, die das gleiche Objektdesign aufweisen. Das Objekt 411 kann beispielsweise das gleiche Objektdesign wie das Objekt 424 aufweisen (was in 8A näher veranschaulicht ist), während das Objekt 412 das gleiche Objektdesign wie das Objekt 422 aufweisen kann (ebenfalls in 8A veranschaulicht). Insbesondere kann wie vorstehend angegeben das Objektdesign ein visuelles Design und/oder ein physisches Design umfassen. Bei einer Ausführungsform kann sich das physische Design eines Objekts auf seine physische Struktur beziehen, wie beispielsweise die Größe oder Form des Objekts. In diesem Beispiel kann beispielsweise das Objekt 411 das gleiche visuelle Design wie das Objekt 424 aufweisen, während das Objekt 412 das gleiche visuelle Design wie das Objekt 422 aufweisen kann. Wenn die Objekte 411-414, 421-424 Kisten oder andere Behälter zur Aufnahme von Waren sind, kann das gemeinsame visuelle Design zwischen den Objekten 411 und 424 sowie zwischen den Objekten 412 und 422 die Wahrscheinlichkeit angeben, dass diese Objekte die gleiche Ware oder das gleiche Warenmodell enthalten und/oder dass sie von dem gleichen Hersteller oder Vertreiber stammen können. In einigen Fällen kann das gemeinsame visuelle Design zwischen den Objekten 411 und 424 (oder zwischen den Objekten 412 und 422) eine Wahrscheinlichkeit angeben, dass diese Objekte zu dem gleichen Objektdesign gehören, und dass sie daher auch ein gemeinsames physisches Design aufweisen, wie beispielsweise eine gemeinsame Objektgröße und/oder eine gemeinsame Objektform.
  • Bei einer Ausführungsform kann die Objektregistrierung ausgeführt werden, um Vorlagen zu erzeugen, die verschiedene Objektdesigns beschreiben, die das System 100/400 angetroffen hat. Insbesondere können Informationen, die von der Bilderfassungsvorrichtung 441 oder von der Raumstrukturerfassungsvorrichtung 442 erfasst werden, verwendet werden, um eine Vorlage zu erzeugen, die ein Objektdesign eines Objekts, wie beispielsweise eines oder mehrere der Objekte 411-414, 421-424, beschreibt, wie es nachstehend ausführlicher beschrieben wird.
  • Wie vorstehend angegeben, kann die Vorlage in einigen Fällen eine visuelle Merkmalbeschreibung umfassen, die das Erscheinungsbild eines Objekts oder einer Gruppe von Objekten oder insbesondere eine visuelle Markierung (falls vorhanden), die auf einer Fläche von jedem Objekt der Gruppe von Objekten erscheint, beschreibt. Die visuelle Markierung, wie beispielsweise ein Bild, ein Muster oder ein Logo, kann ein visuelles Design bilden, das der Objektgruppe gemeinsam ist und in einem Bild oder anderen von der Bilderfassungsvorrichtung 441 erzeugten Informationen dargestellt werden kann. In einigen Fällen kann die Vorlage die visuelle Markierung selbst speichern oder anderweitig umfassen, wie beispielsweise das Bild, Muster oder Logo, das in dem von der Bilderfassungsvorrichtung 441 erzeugten Bild erscheinen kann. In einigen Fällen kann die Vorlage Informationen speichern, die das Bild, Muster, Logo oder eine andere visuelle Markierung codieren. Die Vorlage kann beispielsweise Deskriptoren speichern, die erzeugt werden, um die visuelle Markierung, oder insbesondere spezifische Merkmale zu beschreiben, die durch die visuelle Markierung (z. B. Bild oder Logo) gebildet werden.
  • In einigen Fällen kann die Vorlage eine Objektstrukturbeschreibung umfassen, die eine Objektstruktur (auch als physische Struktur bezeichnet) eines Objekts oder einer Gruppe von Objekten beschreiben kann. Die Objektstrukturbeschreibung kann beispielsweise eine Objektgröße und/oder eine Objektform beschreiben, die ein physisches Design bilden, das der Objektgruppe gemeinsam ist. In einigen Fällen kann die Objektgröße Objektabmessungen beschreiben, die mit der Objektgruppe oder allgemeiner mit dem physischen Design verbunden sind. In einigen Fällen kann die Objektform ein physisches Profil beschreiben, das durch jede der Objektgruppen gebildet wird, oder allgemeiner ein physisches Profil, das mit einem physischen Design verbunden ist, das mit der Objektgruppe verbunden ist. Das physische Profil eines Objekts kann sich z. B. auf eine Kontur (z. B. 3D-Kontur) des Objekts beziehen, die durch die Form von einer oder mehreren Flächen des Objekts und durch die Art und Weise, wie die Flächen relativ zueinander angeordnet sind, definiert sein kann. Das physische Profil einer quadratischen Kiste kann beispielsweise durch ein physisches Design mit ebenen Flächen, die orthogonal zueinanderstehen, definiert sein. In einigen Fällen kann das physische Profil jedes physische Merkmal umfassen, das auf einer oder mehreren Flächen des Objekts gebildet ist. Wenn das Objekt beispielsweise ein Behälter ist, kann das physische Merkmal einen Behälterrand oder einen Behältergriff (falls vorhanden) umfassen, die auf einer oder mehreren Flächen des Behälters gebildet sind. In diesem Beispiel kann die Objektgröße und/oder Objektform durch die erfassten Strukturinformationen beschrieben werden, die von der Raumstrukturerfassungsvorrichtung 442 (und/oder von den Raumstrukturerfassungsvorrichtungen 446, 448 von 4C) erzeugt werden. In einigen Fällen kann die Beschreibung der Objektstruktur die erfassten Strukturinformationen selbst, wie beispielsweise eine Punktwolke, umfassen. In einigen Fällen kann die Objektstrukturbeschreibung Informationen umfassen, die aus den erfassten Strukturinformationen abgeleitet sind, wie beispielsweise Informationen, welche die Objektgröße (z. B. Länge und Breite einer oberen Fläche oder ein Seitenverhältnis zwischen Länge und Breite) beschreiben, eine CAD-Datei, welche die Objektstruktur beschreibt, oder einige andere Informationen.
  • Unter erneuter Bezugnahme auf 3 kann das Verfahren 300 bei einer Ausführungsform mit einem Schritt 302 beginnen oder diesen anderweitig umfassen, für dessen Ausführung das Computersystem 101 konfiguriert sein kann, wenn sich ein oder mehrere Objekte, wie beispielsweise die Objekte 411-414, 421-424 in den 4A bis 4C, im Sichtfeld der Bilderfassungsvorrichtung befinden, wie beispielsweise das Sichtfeld 443 der Bilderfassungsvorrichtung 441. Wenn in einigen Fällen das Verfahren 300 das Verwenden einer Raumstrukturerfassungsvorrichtung (z. B. 442) beinhaltet, können sich das eine oder die mehreren Objekte (z. B. 411-414, 421-424) ferner in einem Sichtfeld (z. B. 444) der Raumstrukturerfassungsvorrichtung (z. B. 442) befinden. Während Schritt 302 kann die Verarbeitungsschaltung 110 des Computersystems 101 ein Bild zum Darstellen von einem oder mehreren Objekten (z. B. 411-414 und/oder 421-424) erhalten oder anderweitig empfangen, wobei das Bild von der Bilderfassungsvorrichtung (z. B. 441) erzeugt sein kann. In einigen Fällen kann der Vorgang 302 durch das Bildzugriffsmodul 202 von 2F ausgeführt werden.
  • Als Beispiel für Schritt 302 zeigt 5A ein erhaltenes Bild 501, das mindestens die Objekte 411-414 des Objektstapels 411-414, 421-424 der 4A bis 4C dargestellt oder anderweitig damit verbunden ist. Wie vorstehend angegeben, können die Objekte 411-414 in einem Beispiel Kisten oder andere Behälter auf einer Palette 430 sein. In diesem Beispiel können die Objekte 411-414, die durch das Bild 501 dargestellt werden, zu einer Lage der Palette gehören, wie beispielsweise zur Lage 410. Das Bild 501 kann von der Bilderfassungsvorrichtung 441 erzeugt werden, die in diesem Beispiel direkt über den Objekten 411-414, 421-424 positioniert sein kann. Insbesondere kann das Bild 501 ein Erscheinungsbild von entsprechenden oberen Flächen der Objekte 411-414, oder insbesondere eines nicht verdeckten bzw. nicht verdeckter Teile der oberen Flächen darstellen. Mit anderen Worten kann das Bild 501 in diesem Beispiel eine perspektivische Draufsicht darstellen, welche die oberen Flächen der Objekte 411-414 erfasst. In einigen Fällen kann das Bild 501 spezifischer ein Erscheinungsbild visueller Markierungen (falls vorhanden) darstellen, die auf eine oder mehrere Flächen der Objekte 411-414 gedruckt oder anderweitig darauf angeordnet sind. Die visuellen Markierungen können z. B. das Bild 411A, das auf eine Fläche des Objekts 411 gedruckt ist, und das Logo 412A oder ein anderes Muster, das auf eine Fläche des Objekts 412 gedruckt ist, umfassen. In einigen Fällen kann das Bild 501 das Erscheinungsbild eines physischen Elements darstellen, das auf einer oder mehreren Flächen angeordnet ist, wie beispielsweise der Streifen des Bandes 414A, der auf einer Fläche des Objekts 414 angeordnet ist. Bei einer Ausführungsform kann das Bild 501 ein zweidimensionales (2D) Pixelarray sein oder ein solches umfassen, das entsprechende Pixelwerte (auch als Pixelintensitätswerte bezeichnet) aufweisen kann, die mit der Intensität eines von der Bilderfassungsvorrichtung 441 erfassten Signals verbunden sind, wie beispielsweise eine Lichtintensität, die von entsprechenden Flächen (z. B. oberen Flächen) der Objekte 411-404 reflektiert wird. In einigen Fällen kann das Bild 501 ein Graustufenbild sein. In einigen Fällen kann das Bild 501 ein Farbbild sein.
  • Bei einer Ausführungsform kann das empfangene Bild (z. B. 501) durch das Computersystem 101 von der Bilderfassungsvorrichtung (z. B. 441) erhalten werden. Bei einer Ausführungsform kann das empfangene Bild (z. B. 501) auf einem nicht-flüchtigen computerlesbaren Medium (z. B. 120 oder 198 der 2C bis 2E) gespeichert worden sein, und die Gewinnung des Bildes in Schritt 302 kann das Abrufen (oder, allgemeiner, den Empfang) des Bildes (z. B. 501) von dem nicht-flüchtigen computerlesbaren Medium (z. B. 120 oder 198) oder von jeder anderen Quelle beinhalten. In einigen Situationen kann das Bild (z. B. 501) durch das Computersystem 101 von der Bilderfassungsvorrichtung (z. B. 441) empfangen worden sein, wie beispielsweise über die Kommunikationsschnittstelle 130 von 2B, und es kann auf dem nicht-flüchtigen computerlesbaren Medium (z. B. 120) des Computersystems 101 gespeichert worden sein, das einen Speicherplatz für das Bild (z. B. 501) bereitstellen kann. Das Bild (z. B. 501) kann beispielsweise von der Bilderfassungsvorrichtung (z. B. 441 von 4A/4B) empfangen und auf dem nicht-flüchtigen, computerlesbaren Medium (z. B. 120) gespeichert werden. Das Bild (z. B. 501) kann dann von dem nicht-flüchtigen computerlesbaren Medium (z. B. 120) durch die Verarbeitungsschaltung 110 des Computersystems 101 in Schritt 302 erhalten werden.
  • In einigen Situationen kann das empfangene Bild (z. B. 501) in dem nicht-flüchtigen computerlesbaren Medium (z. B. 120) des Computersystems 101 gespeichert werden und zuvor von der Verarbeitungsschaltung 110 des Computersystems 101 basierend auf von der Bilderfassungsvorrichtung (z. B. 441) erhaltenen Informationen erzeugt worden sein. Die Verarbeitungsschaltung 110 ist beispielsweise konfiguriert, das Bild (z. B. 501) basierend auf von der Bilderfassungsvorrichtung (z. B. 441) empfangenen Kamerarohdaten zu erzeugen und das erzeugte Bild in dem nicht-flüchtigen computerlesbaren Medium (z. B. 120) des Computersystems 101 zu speichern. Das Bild kann dann von der Verarbeitungsschaltung 110 in Schritt 302 empfangen werden (z. B. durch Abrufen des Bildes von dem nicht-flüchtigen computerlesbaren Medium 120). Wie nachstehend ausführlicher beschrieben, kann das Computersystem 101 konfiguriert sein, zu bestimmen, ob es ein in dem Bild (z. B. 501) dargestelltes Objekt (z. B. 411/412/413/414) z. B. durch das Bestimmen erkennt, ob ein Erscheinungsbild des Objekts mit bestehenden Vorlagen verschiedener Objektdesigns übereinstimmt, und es kann konfiguriert sein, eine neue Vorlage basierend auf dem Erscheinungsbild des Objekts und/oder einer physischen Struktur des Objekts zu erzeugen, wenn das Computersystem 101 das Objekt nicht erkennt. Das Erzeugen der neuen Vorlage kann Teil eines Objektregistrierungsprozesses sein, bei dem das Computersystem 101 Informationen bestimmt und speichert, die neu angetroffene Objekte beschreiben.
  • Bei einer Ausführungsform kann das Verfahren 300 einen Schritt 304 umfassen, in dem die Verarbeitungsschaltung 110 des Computersystems 101 einen Zielbildteil von dem Bild (z. B. 501) erzeugt, wobei der Zielbildteil ein Teil des Bildes sein kann, der einem Objekt (z. B. 411 der 4A bis 4C) des einen oder der mehreren durch das Bild (z. B. 501) dargestellten Objekte zugeordnet ist. Der Zielbildteil kann beispielsweise ein Teil des Bildes (auch als Bildteil bezeichnet) sein, der das Objekt (z. B. 411) darstellt. In einigen Fällen kann Schritt 304 auch von dem Bildzugriffsmodul 202 ausgeführt werden.
  • In einigen Fällen kann Schritt 304 das Extrahieren des Zielbildteils aus dem in Schritt 302 erhaltenen Bild beinhalten. Beispielsweise zeigt 5B ein Beispiel, in dem ein Zielbildteil 511, der das Objekt 411 darstellt, aus dem Bild 501 extrahiert wird. In einigen Fällen kann Schritt 304 in einem Kontext ausgeführt werden, in dem das in Schritt 302 erhaltene Bild mehrere Objekte darstellt, wie beispielsweise mehrere Kisten, die eine Lage in einem Kistenstapel bilden. Eine Gesamtheit des empfangenen Bildes 501 in den 5A und 5B kann beispielsweise mehrere Objekte darstellen, und zwar die Objekte 411-414. In diesem Beispiel kann jedes der Objekte 411-414 durch einen bestimmten Teil des Bildes 501 darstellt werden. In einigen Fällen kann das Objekt ein einzelnes Objekt (z. B. 411) sein, das von dem Computersystem 101 identifiziert wird, und es kann ein Ziel für die Objekterkennung oder Objektregistrierung und/oder ein Ziel für eine Roboterinteraktion sein (z. B., dass es von dem Roboter 161 von einer Palette abgeladen wird). Daher kann das Objekt auch als Zielobjekt bezeichnet werden. In solchen Fällen kann der Bildteil, der das Zielobjekt darstellt, als Zielbildteil bezeichnet werden. In einigen Fällen kann der Zielbildteil (z. B. 511) eine Region von Pixeln des empfangenen Bildes (z. B. 501) sein, wie beispielsweise eine rechteckige Region (z. B. eine quadratische Region) oder eine Region mit irgendeiner anderen Form. Wie vorstehend angegeben, zeigt 5B einen Zielbildteil 511, der das Objekt 411 darstellt. Bei einigen Ausführungsformen kann der Zielbildteil 511 eine Objektfläche (z. B. eine obere Fläche des Zielobjekts 411) darstellen, die der Bilderfassungsvorrichtung (z. B. 441 der 4B bis 4C) und/oder der Raumstrukturerfassungsvorrichtung (z. B. 442 von 4B bis 4C) zugewandt ist, oder er kann einen Teil dieser Fläche darstellen. Bei solchen Ausführungsformen kann der Zielbildteil 511 eine bestimmte Ansicht darstellen, wie beispielsweise eine Draufsicht des Objekts 411. Wie es nachstehend ausführlicher beschrieben wird, zeigt 6A ferner die Zielbildteile 512, 513 und 514, welche die Objekte 412, 413 bzw. 414 darstellen.
  • Bei einer Ausführungsform kann der Zielbildteil (z. B. 511) ein oder mehrere visuelle Details umfassen, wie beispielsweise eine Linie, eine Ecke, ein Muster oder eine Kombination davon. Das eine oder die mehreren visuellen Details in dem Zielbildteil (z. B. 511) können eine visuelle Markierung (falls vorhanden) darstellen, die auf ein Objekt (z. B. 411) gedruckt oder anderweitig darauf angeordnet ist, das durch den Zielbildteil dargestellt wird. Bei einer Ausführungsform kann der Zielbildteil (z. B. 513) wenige oder keine visuellen Details aufweisen und im Wesentlichen leer oder gleichförmig erscheinen. In einigen Situationen kann ein solcher Zielbildteil ein Objekt darstellen, das keine visuelle Markierung oder nur wenige visuelle Markierungen auf seiner Fläche aufweist.
  • Wenn bei einer Ausführungsform Schritt 304 das Extrahieren des Zielbildteils (z. B. 511), der ein Objekt (z. B. 411) darstellt, aus dem empfangenen Bild (z. B. 501) beinhaltet, kann die Extraktion auf dem Identifizieren von Orten innerhalb des Bildes (z. B. 501), an denen Kanten des Objekts (z. B. 411) erscheinen, und dem Extrahieren einer durch die identifizierten Orte begrenzten Region des Bildes (z. B. 501) basieren, wobei die Orte auch als Bildorte bezeichnet werden können. Wenn sich in einigen Fällen das eine oder die mehreren durch das Bild (z. B. 501) dargestellten Objekte (z. B. 411-414) auch in einem Sichtfeld einer Raumstrukturerfassungsvorrichtung (z. B. 442 von 4B) befinden, kann das Computersystem 101 konfiguriert sein, Raumstrukturinformationen zu empfangen, die von der Raumstrukturerfassungsvorrichtung (z. B. 442) erzeugt wurden, und den Zielbildteil (z. B. 511) mithilfe der Raumstrukturinformationen zu extrahieren. Die Raumstrukturinformationen können beispielsweise Tiefeninformationen umfassen und das Computersystem 101 kann konfiguriert sein, basierend auf den Tiefeninformationen die Orte von einer bzw. mehreren Kanten des Objekts (z. B. 411), die auch als Kantenorte bezeichnet werden, zu bestimmen. Die Kantenorte können beispielsweise durch Detektieren von Orten bestimmt werden, an denen es eine starke Veränderung oder eine Diskontinuität in der Tiefe gibt. Das Computersystem 101 kann in diesem Beispiel konfiguriert sein, diese Kantenorte auf Bildorte innerhalb des Bildes (z. B. 501) abzubilden und eine durch die Bildorte begrenzte Region des Bildes zu extrahieren, wobei die extrahierte Region der Zielbildteil (z. B. 501) sein kann. In einigen Fällen können die Bildorte z. B. 2D-Pixelkoordinaten sein, während die Kantenorte 3D-Koordinaten sein können. Das Computersystem 101 kann konfiguriert sein, die 2D-Koordinaten basierend auf den 3D-Koordinaten zu bestimmen. Eine solche Bestimmung wird in der US-Anmeldung Nr. 16/791,024 (Aktz. d. Anw. 0077-0009US1/MJ0049-US) mit dem Titel „METHOD AND COMPUTING SYSTEM FOR PROCESSING CANDIDATE EDGES“ näher beschrieben, deren gesamter Inhalt hierin durch Bezugnahme aufgenommen wird.
  • Wie vorstehend angegeben, kann das in Schritt 302 empfangene Bild (z. B. Bild 501) in einigen Fällen mehrere Objekte darstellen. In anderen Fällen kann das Bild, das in Schritt 302 empfangen wird, nur ein Objekt darstellen (z. B. nur eine Kiste). Das Bild kann beispielsweise, bevor es von dem Computersystem 101 empfangen wird, von der Bilderfassungsvorrichtung (z. B. 441) oder einer anderen Vorrichtung verarbeitet (z. B. beschnitten) worden sein, um nur ein bestimmtes Objekt (z. B. Objekt 411) darzustellen und jegliche Bildteile, die irgendein anderes Objekt im Sichtfeld (z. B. 443) der Bilderfassungsvorrichtung (z. B. 441) darstellen, zu entfernen. In einem solchen Beispiel kann das in Schritt 302 empfangene Bild nur dieses bestimmte Objekt (z. B. Objekt 411) darstellen, und der Zielbildteil, der in Schritt 304 extrahiert wird, kann gleich oder im Wesentlichen gleich dem Bild selbst sein.
  • Bei einer Ausführungsform umfasst das Verfahren 300 von 3 ferner eine Operation 306, in der die Verarbeitungsschaltung 110 des Computersystems 101 bestimmt, ob der Zielbildteil (z. B. 511) als texturiert oder texturlos zu klassifizieren ist. Eine solche Klassifizierung kann sich z. B. darauf beziehen, ob der Zielbildteil mindestens einen Schwellenwert einer visuellen Textur aufweist, oder ob der Zielbildteil keinen Schwellenwert einer visuellen Textur aufweist oder keine visuelle Textur aufweist, indem er im Wesentlichen leer oder im Erscheinungsbild gleichförmig ist. Beispielsweise kann der Zielbildteil 511 von 5B als texturiert klassifiziert werden, während die Zielbildteile 512-514 von 6A als texturlos klassifiziert werden können. Wie es nachstehend ausführlicher beschrieben wird, kann der Zielbildteil zur Objekterkennung und/oder Objektregistrierung verwendet werden. Die Klassifizierung in Schritt 306 kann für die Objekterkennung relevant sein, da die Klassifizierung angeben kann, wie viel visuelle Textur (falls vorhanden) im Zielbildteil (z. B. 511) vorhanden ist, wobei die visuelle Textur eine Objekterkennungsoperation erleichtern kann, die mindestens teilweise auf dem visuellen Erscheinungsbild eines Objekts basiert. Daher kann die Klassifizierung in Schritt 306 beeinflussen, wie die Objekterkennung ausgeführt wird. Wie auch nachstehend beschrieben, kann die Klassifizierung beeinflussen, wie die Objektregistrierung ausgeführt wird, indem sie beispielsweise beeinflusst, wo Vorlagen gespeichert werden. In einigen Fällen kann Schritt 306 von dem Bildklassifizierungsmodul 204 ausgeführt werden.
  • Bei einer Ausführungsform kann die Klassifizierung eines Bildes oder Bildteils als texturiert oder texturlos ein oder mehrere Verfahren anwenden, die in US-Patentanmeldung Nr. _____ (Aktz. d. Anw. MJ0051- US/0077-0011 US 1) mit dem Titel „METHOD AND SYSTEM FOR PERFORMING IMAGE CLASSIFICATION FOR OBJECT RECOGNITION“ beschrieben werden, deren gesamter Inhalt durch Bezugnahme hierin aufgenommen wird. Beispielsweise kann das Ausführen der Klassifizierung das Erzeugen einer oder mehrerer Bitmaps (auch als Masken bezeichnet) basierend auf dem Zielbildteil umfassen, wobei die eine oder die mehreren Bitmaps angeben können, ob der Zielbildteil visuelle Merkmale zur Merkmalserkennung aufweist oder ob es eine räumliche Variation zwischen den Pixelintensitätswerten des Zielbildteils gibt. In einem Beispiel können die eine oder die mehreren Bitmaps beispielsweise eine Deskriptorbitmap, eine Kantenbitmap und/oder eine Standardabweichungsbitmap umfassen.
  • Bei einigen Implementierungen kann die Deskriptorbitmap eine Heatmap oder Wahrscheinlichkeitskarte bereitstellen, um zu identifizieren, welche Region(en) des Zielbildteils von einem oder mehreren Deskriptoren (auch als eine oder mehrere Deskriptorregionen bezeichnet) eingenommen werden, oder um anzugeben, ob ein oder mehrere Deskriptoren im Zielbildteil vorhanden sind oder daraus detektiert wurden. Die Deskriptorbitmap kann von dem Computersystem 101 z. B. basierend auf dem Detektieren von Deskriptorschlüsselpunkten, falls vorhanden, im Zielbildteil erzeugt werden, wobei die Deskriptorschlüsselpunkte Zentrumsorte oder andere Orte der Deskriptorregionen angeben können. In einigen Fällen kann die Schlüsselpunktdetektion unter Verwendung einer Technik, wie beispielsweise dem Harris Corner-Detektionsalgorithmus, dem Scale-invariant Feature Transform-Algorithmus (SIFT-Algorithmus), dem Speeded up Robust Features-Algorithmus (SURF-Algorithmus), dem Feature from Accelerated Segment Test-Detektionsalgorithmus (FAST-Detektionsalgorithmus) und/oder dem Oriented FAST and Rotated Binary Robust Interdependent Elementary Features-Algorithmus (ORB-Algorithmus) ausgeführt werden. Das Computersystem 101 ist ferner konfiguriert, entsprechende Größen der Deskriptorregionen, falls vorhanden, basierend auf einem Skalenparameterwert zu bestimmen, der mit der Deskriptorschlüsselpunktdetektion verknüpft ist. In einigen Fällen kann das Computersystem die Klassifizierung basierend auf einer Menge von Deskriptoren ausführen, die durch die Deskriptorbitmap identifiziert werden.
  • Bei einigen Implementierungen kann die Kantenbitmap eine Heatmap oder Wahrscheinlichkeitskarte sein, um anzugeben, welche Regionen des Zielbildteils eine oder mehrere Kanten enthalten, oder um anzugeben, ob eine oder mehrere Kanten im Zielbildteil vorhanden sind oder daraus detektiert werden. Das Computersystem 101 kann Kanten im Zielbildteil (falls Kanten vorhanden sind) unter Verwendung einer Technik wie dem Sobel-Kantendetektionsalgorithmus, dem Prewitt-Kantendetektionsalgorithmus, dem Laplace-Kantendetektionsalgorithmus, dem Canny-Kantendetektionsalgorithmus oder einer anderen Kantendetektionstechnik detektieren.
  • Bei einigen Implementierungen kann die Standardabweichungsbitmap eine lokale Variation eines Pixelintensitätswerts um Pixel im Zielbildteil herum beschreiben oder einen Mangel an Variation des Pixelintensitätswerts um Pixel im Zielbildteil herum angeben. Das Computersystem 101 kann beispielsweise die Standardabweichungsbitmap erzeugen, indem es für jedes Pixel des Zielbildteils eine Standardabweichung zwischen den Pixelintensitätswerten in einer dieses Pixel umgebenden Bildregion bestimmt. In einigen Fällen kann das Computersystem 101 die Klassifizierung basierend auf einem Merkmal der Standardabweichungsbitmap Ausführen, wie beispielsweise ihres Maximalwerts, Minimalwerts oder Mittelwerts.
  • Bei einigen Implementierungen kann das Computersystem 101 die Klassifizierung in Schritt 306 basierend auf der einen oder den mehreren Bitmaps ausführen. Das Computersystem 101 kann beispielsweise die Deskriptorbitmap, die Kantenbitmap und/oder die Standardabweichungsbitmap kombinieren, um eine Fusions-Bitmap und/oder eine Texturbitmap zu erzeugen. In einigen Fällen kann die vereinigte Bitmap oder Texturbitmap auf eine Weise erzeugt werden, die ferner die Auswirkung eines Beleuchtungszustands auf eine oder mehrere Regionen des Zielbildteils (z. B. 511) berücksichtigt. Die vereinigte Bitmap oder Texturbitmap kann eine oder mehrere texturierte Regionen oder eine oder mehrere texturlose Regionen im Zielbildteil identifizieren. In solchen Fällen kann das Computersystem 101 konfiguriert sein, den Zielbildteil (z. B. 511) basierend auf einer Gesamtfläche der einen oder der mehreren texturierten Regionen (falls vorhanden) im Zielbildteil und/oder einer Gesamtfläche der einen oder der mehreren texturlosen Regionen (falls vorhanden) im Zielbildteil als texturiert oder texturlos zu klassifizieren.
  • Unter erneuter Bezugnahme auf 3 kann das Verfahren 300 ferner einen Schritt 308 umfassen, in dem die Verarbeitungsschaltung 110 des Computersystems 101 einen Vorlagenspeicherplatz auswählt. Insbesondere kann der Vorlagenspeicherplatz aus dem ersten Vorlagenspeicherplatz 181 und dem zweiten Vorlagenspeicherplatz 182 (auch als erfasste Strukturinformationen als der ausgewählte Vorlagenspeicherplatz bezeichnet), die vorstehend beschrieben wurden, ausgewählt werden, wobei das Auswählen darauf basieren kann, ob der Zielbildteil als texturiert oder texturlos klassifiziert ist. Wie vorstehend beschrieben, kann der erste Vorlagenspeicherplatz 181 relativ zu dem zweiten Vorlagenspeicherplatz 182 häufiger gelöscht werden. Der erste Vorlagenspeicherplatz 181 kann beispielsweise als Cache oder anderer kurzfristiger Vorlagenspeicherplatz agieren, während der zweite Vorlagenspeicherplatz 182 als langfristiger Vorlagenspeicherplatz, wie beispielsweise ein Vorlagenspeicherplatz, in dem Vorlagen dauerhaft oder für eine lange Zeit (z. B. Monate oder Jahre) gespeichert werden, bevor sie entfernt werden, agieren kann. Bei dieser Ausführungsform können Informationen oder andere Inhalte in dem ersten Vorlagenspeicherplatz 181 temporärer sein als Informationen oder andere Inhalte in dem zweiten Vorlagenspeicherplatz 182. Beispielsweise können Vorlagen, die im ersten Vorlagenspeicherplatz 181 gespeichert sind, für eine aktuelle Aufgabe spezifisch sein, wie beispielsweise das Depalettieren eines Stapels von Kisten, die sich gegenwärtig auf einer Palette befinden, und sie können nach Abschluss dieser Aufgabe aus dem ersten Vorlagenspeicherplatz 181 gelöscht werden. In einem solchen Beispiel können Vorlagen auf dem zweiten Vorlagenspeicherplatz 182 nicht nur für die aktuelle Aufgabe, sondern auch für nachfolgende Aufgaben als relevant betrachtet werden. Daher können die Vorlagen im zweiten Vorlagenspeicherplatz 182 nach Abschluss der aktuellen Aufgabe darin verbleiben, sodass die Vorlagen im zweiten Vorlagenspeicherplatz 182 noch immer zum Erleichtern der Objekterkennung bei nachfolgenden Aufgaben verfügbar sein können. Die Vorlagen im zweiten Vorlagenspeicherplatz 182 können mit anderen Worten für andere Aufgaben wiederverwendet werden, während die Vorlagen im ersten Vorlagenspeicherplatz 181 für eine bestimmte Aufgabe spezifisch sein können und nicht für andere Aufgaben wiederverwendet werden.
  • Bei einer Ausführungsform kann der Vorlagenspeicherplatz, der in Schritt 308 ausgewählt wird, als Reaktion auf eine Bestimmung des Computersystems 101, den Zielbildteil (z. B. 512/513/514) als texturlos zu klassifizieren, der erste Vorlagenspeicherplatz 181 sein, und als Reaktion auf eine Bestimmung des Computersystems 101, den Zielbildteil (z. B. 511) als texturiert zu klassifizieren, der zweite Vorlagenspeicherplatz 182 sein. Wenn der erste Vorlagenspeicherplatz 181 als Cache oder anderer kurzfristiger Vorlagenspeicherplatz und der zweite Vorlagenspeicherplatz 182 als langfristiger Vorlagenspeicherplatz verwendet wird, dann kann das Auswählen in Schritt 308 zwischen dem kurzfristigen Vorlagenspeicherplatz und dem langfristigen Vorlagenspeicherplatz erfolgen. Wenn ein Zielbildteil als Texturlosvorlage klassifiziert wird, kann die Objekterkennung beispielsweise das Vergleichen des Zielbildteils mit existierenden Vorlagen im kurzfristigen Vorlagenspeicherplatz beinhalten. In diesem Beispiel kann das Ausführen einer Objektregistrierung (falls sie ausgeführt wird) das Erzeugen einer neuen Texturlosvorlage basierend auf dem Zielbildteil und das Speichern der Texturlosvorlage im kurzfristigen Vorlagenspeicherplatz umfassen. Wenn in diesem Beispiel der Zielbildteil als texturiert klassifiziert wird, kann das Ausführen einer Objekterkennung das Vergleichen des Zielbildteils mit existierenden Vorlagen im langfristigen Vorlagenspeicherplatz und das Ausführen einer Objektregistrierung (falls sie ausgeführt wird) das Erzeugen einer neuen Texturiertvorlage basierend auf dem Zielbildteil und das Speichern der Texturiertvorlage im langfristigen Vorlagenspeicherplatz beinhalten.
  • Wie vorstehend angegeben, kann das Verwenden einer Kombination aus dem kurzfristigen Vorlagenspeicherplatz und dem langfristigen Vorlagenspeicherplatz einen technischen Vorteil des Reduzierens der für das Speichern von Vorlagen, die bei einem Objekterkennungsvorgang verwendet werden, erforderlichen Speicherressourcen und des Erleichterns des Ausführens des Objekterkennungsvorgangs auf schnelle und effiziente Weise bereitstellen. Bei einer Ausführungsform kann die Objekterkennung auf dem Versuch basieren, visuelle Details oder andere visuelle Informationen, die von einer Bilderfassungsvorrichtung erfasst wurden, mit visuellen Details oder anderen visuellen Informationen, die von einer Vorlage beschrieben werden, abzugleichen. In einigen Fällen kann das Vorhandensein einer visuellen Textur oder eines Niveaus an visueller Textur in einem Zielbildteil ein Niveau an visuellen Informationen angeben, das für das Ausführen einer Objekterkennung verfügbar ist. Ein hohes Niveau an visueller Textur kann ein hohes Niveau an visuellen Informationen angeben, mit der eine Objekterkennung auszuführen ist, während ein niedriges Niveau an visueller Textur oder ein Mangel an visueller Textur ein niedriges Niveau an visuellen Informationen angeben kann, mit der die Objekterkennung auszuführen ist. Daher kann ein Zielbildteil, der texturiert ist, für das Ausführen einer Objekterkennung wertvoll sein, da er ein hohes Maß an visuellen Informationen bereitstellen kann, mit der die Objekterkennung auszuführen ist. In einigen Fällen kann ein Zielbildteil, der texturlos ist, für das Ausführen einer Objekterkennung nicht so wertvoll sein wie ein texturierter Bildteil, kann aber dennoch eine gewisse Nützlichkeit für das Ausführen einer Objekterkennung aufweisen. Wenn die Objekterkennung beispielsweise während einer Aufgabe wie dem Depalettieren eines Kistenstapels von einer Palette ausgeführt wird, können einige oder alle Kisten auf der Palette die gleiche Ware des gleichen Einzelhändlers oder Herstellers enthalten und daher wahrscheinlich das gleiche visuelle Design oder allgemeiner das gleiche Objektdesign aufweisen. Beispielsweise kann das Objekt 412 in 4B ein gleiches Objektdesign und insbesondere das gleiche visuelle Design und physische Design, wie das Objekt 422 in 7A aufweisen. Daher kann das Erzeugen einer Vorlage basierend auf einem Zielbildteil, der eine der Kisten darstellt, selbst dann noch nützlich sein, wenn der Zielbildteil als texturlos klassifiziert ist, da die Texturlosvorlage wahrscheinlich dem Erscheinungsbild einer anderen Kiste auf der gleichen Palette entspricht. In einigen Fällen kann die Texturlosvorlage sowohl eine visuelle Merkmalbeschreibung als auch eine Objektstrukturbeschreibung umfassen, sodass beide Arten von Informationen während eines Objekterkennungsvorgangs geprüft werden können, um eine Genauigkeit der Objekterkennung zu verbessern. Das Erzeugen von Vorlagen sowohl für texturierte als auch texturlose Zielbildteile kann jedoch die Kosten für das Ausführen einer Objekterkennung und/oder das Ausführen einer Objektregistrierung erhöhen. In einigen Fällen können die zusätzlichen Kosten einen erhöhten Speicherbedarf für das Speichern der Vorlagen umfassen, da die Texturlosvorlagen die Gesamtzahl der gespeicherten Vorlagen erhöhen. In einigen Fällen können die zusätzlichen Kosten eine geringere Leistung umfassen, da das Computersystem 101 möglicherweise eine größere Anzahl an Vorlagen beim Versuch eine Vorlage zu finden, die dem Erscheinungsbild eines bestimmten Objekts entspricht, durchsuchen muss. Wenn eine große Anzahl texturloser Vorlagen erzeugt wird, kann die Wahrscheinlichkeit steigen, dass eine der Texturlosvorlagen mit dem Erscheinungsbild eines bestimmten Objekts unkorrekt abgeglichen wird, insbesondere wenn die Texturlosvorlagen ähnliche visuelle Merkmalbeschreibungen oder andere visuelle Informationen umfassen.
  • Bei einer Ausführungsform bezieht sich ein Aspekt der vorliegenden Offenbarung auf das Adressieren der vorstehend genannten Probleme, indem der erste Vorlagenspeicherplatz 181 speziell für das Speichern texturloser Vorlagen und der zweite Vorlagenspeicherplatz 182 speziell für das Speichern texturierter Vorlagen verwendet wird. Der erste Vorlagenspeicherplatz 181 kann als Cache oder anderer kurzfristiger Vorlagenspeicherplatz verwendet werden, während der zweite Vorlagenspeicherplatz als langfristiger Vorlagenspeicherplatz verwendet werden kann. Wie vorstehend angegeben, kann ein Zielbildteil, der als texturlos klassifiziert ist, verwendet werden, um eine neue Texturlosvorlage zu erzeugen, die in dem ersten Vorlagenspeicherplatz 181 gespeichert wird, und/oder sie mit vorhandenen Texturlosvorlagen in dem ersten Vorlagenspeicherplatz 181 zu vergleichen. In ähnlicher Weise kann ein Zielbildteil, der als texturiert klassifiziert ist, verwendet werden, um eine neue Texturiertvorlage zu erzeugen, die im zweiten Vorlagenspeicherplatz 182 gespeichert wird, und/oder sie mit vorhandenen Texturiertvorlagen im zweiten Vorlagenspeicherplatz 182 zu vergleichen. In einigen Implementierungen kann das Computersystem 101 konfiguriert sein, jeder der Texturlosvorlagen ein Texturlos-Flag zuzuordnen, um sie als texturlos zu kennzeichnen. Bei dieser Ausführungsform kann der zweite Vorlagenspeicherplatz 182 für das Speichern texturierter Vorlagen reserviert werden, was eine Gesamtzahl an Vorlagen darin begrenzen kann. Ein solches Ergebnis kann die für das Speichern der Texturiertvorlagen benötigten Speicherressourcen begrenzen. Die begrenzte Gesamtzahl an Vorlagen in dem zweiten Vorlagenspeicherplatz 182 kann weiter begrenzen, wie viele Vorlagen das Computersystem 101 durchsuchen muss, um eine Übereinstimmung für das Erscheinungsbild eines Objekts zu finden, was zu einer schnelleren Leistung bei einer Objekterkennung führen kann.
  • Wie vorstehend weiter ausgeführt, kann der erste Vorlagenspeicherplatz 181 ein kurzfristiger Speicherplatz sein, der öfter gelöscht wird als der zweite Vorlagenspeicherplatz 182. Der erste Vorlagenspeicherplatz 181 kann beispielsweise Texturlosvorlagen speichern, die basierend auf Objekten erzeugt werden, die an einer bestimmten Aufgabe beteiligt sind, wie beispielsweise Kisten, die an einer bestimmten Depalettierungsaufgabe beteiligt sind. Wenn die Depalettierungsaufgabe das Bewegen aller Behälter oder anderer Objekte von einer Palette zu einem gewünschten Ziel umfasst, kann die Aufgabe als Depalettierungszyklus bezeichnet werden. In einem solchen Beispiel können die Texturlosvorlagen nach Abschluss des Depalettierungszyklus aus dem ersten Vorlagenlagerplatz 181 gelöscht werden. Wie vorstehend angegeben, können die Texturlosvorlagen für die Depalettierung von Objekten, die am gleichen Depalettierungszyklus beteiligt sind, nützlich sein, da z. B. einige oder alle Kisten oder andere Objekte wahrscheinlich ein gemeinsames visuelles Design oder allgemeiner ein gemeinsames Kistendesign aufweisen können. Diese Texturlosvorlagen können für eine nachfolgende Aufgabe, wie beispielsweise die Depalettierung eines anderen Kistenstapels während eines anderen Depalettierungszyklus, weniger nützlich oder relevant sein, da Kisten von zwei verschiedenen Depalettierungszyklen weniger wahrscheinlich ein gemeinsames visuelles Design aufweisen können. Daher können Texturlosvorlagen aus dem ersten Vorlagenspeicherplatz 181 oder aus jedem anderen Vorlagenspeicherplatz bei oder nach Abschluss der früheren Aufgabe gelöscht werden. Das Löschen einer Vorlage aus dem ersten Vorlagenspeicherplatz 181 kann das Löschen der Vorlage, wie beispielsweise durch Löschen eines Zeigers oder Verweises auf die Vorlage oder durch Freigeben eines Teils bzw. von Teilen des ersten Vorlagenspeicherplatzes 181, der von der Vorlage eingenommen wird, beinhalten, sodass die Vorlage überschrieben werden kann. Wenn in einigen Fällen der nachfolgende Depalettierungszyklus oder eine andere Aufgabe beginnt, kann der erste Vorlagenspeicherplatz 181 leer sein oder als leer markiert sein und alle Texturlosvorlagen, die während des nachfolgenden Depalettierungszyklus in dem ersten Vorlagenspeicherplatz 181 gespeichert werden, können für Objekte spezifisch sein, die an diesem Zyklus beteiligt sind. Das Löschen des ersten Vorlagenspeicherplatzes 181 kann die für den ersten Vorlagenspeicherplatz 181 benötigten Speicherressourcen reduzieren, indem eine Gesamtzahl der darin befindlichen Vorlagen begrenzt wird. Das Löschen des ersten Vorlagenspeicherplatzes 181 kann ferner zu einem schnelleren Ausführen einer Objekterkennung führen, indem die Anzahl an Texturlosvorlagen verringert wird, die das Computersystem 101 durchsuchen muss, wenn es versucht, eine Übereinstimmung mit einem texturlosen Zielbildteil oder einem anderen Zielbildteil zu finden. In einigen Fällen können alle Vorlagen, die mit dem Texturlos-Flag verbunden sind, unabhängig davon, ob sie sich in dem ersten Vorlagenspeicherplatz 181 befinden, gelöscht werden. In einigen Beispielen kann der erste Vorlagenspeicherplatz 181 höchstens einige Vorlagen zu einer Zeit speichern. Die geringe Anzahl an Vorlagen in dem ersten Vorlagenspeicherplatz 181 kann eine Wahrscheinlichkeit weiter verringern, dass das Computersystem 101 eine der Vorlagen unkorrekt als eine Übereinstimmung für einen bestimmten Zielbildteil identifiziert.
  • Bei einer Ausführungsform kann das Verfahren 300 von 3 einen Schritt 310 umfassen, in dem die Verarbeitungsschaltung 110 des Computersystems 101 eine Objekterkennung ausführt, die auf dem in Schritt 304 erzeugten Zielbildteil und dem in Schritt 308 ausgewählten Vorlagenspeicherplatz basieren kann. In einigen Fällen kann Schritt 310 durch das Objekterkennungsmodul 207 ausgeführt werden. Ein Ergebnis der Objekterkennung kann z. B. zum Steuern der Roboterinteraktion mit einem Objekt verwendet werden, das durch den Zielbildteil dargestellt wird (z. B. Objekt 411), oder um zu bestimmen, ob die Objektregistrierung z. B. als Teil einer Bestandsverwaltung auszuführen ist, wie es nachstehend ausführlicher beschrieben wird.
  • In einigen Fällen kann das Ausführen von Schritt 310 das Bestimmen beinhalten, ob der ausgewählte Vorlagenspeicherplatz bereits eine Vorlage umfasst, die dem Zielbildteil entspricht. Wenn der ausgewählte Vorlagenspeicherplatz keine Vorlage aufweist, die dem Zielbildteil entspricht, kann das Computersystem 101 eine Objektregistrierung ausführen, indem es eine Vorlage basierend auf dem Zielbildteil erzeugt. In einigen Fällen wird die Vorlage nur dann erzeugt, wenn es keine Übereinstimmung gibt. In 5C ist beispielsweise ein Beispiel dargestellt, in dem der Zielbildteil 511 in Schritt 306 als texturiert klassifiziert wird und in dem der zweite Vorlagenspeicherplatz 182 in Schritt 308 ausgewählt wird. In diesem Beispiel wird der Zielbildteil 511 mit existierenden Vorlagen im zweiten Vorlagenspeicherplatz 182 verglichen, der als langfristiger Vorlagenspeicherplatz verwendet werden kann, in dem Texturiertvorlagen gespeichert werden. In einigen Implementierungen können die Vorlagen im Vorlagenspeicherplatz 182 (und/oder im ersten Vorlagenspeicherplatz 181) eine Beschreibung eines visuellen Merkmals umfassen, die ein oder mehrere visuelle Merkmale (falls vorhanden) beschreibt, die mit einem bestimmten visuellen Design oder allgemeiner mit einem bestimmten Objektdesign verbunden sind. Das eine oder die mehreren visuellen Merkmale können sich auf das Vorhandensein eines visuellen Details oder einer visuellen Markierung in Verbindung mit dem visuellen Design oder auf eine Charakteristik des visuellen Details oder der visuellen Markierung beziehen. In einigen Fällen kann die Beschreibung des visuellen Merkmals Bildinformationen umfassen, die diese visuellen Details wiedergeben, oder sie kann einen oder mehrere Deskriptoren umfassen, die diese visuellen Details codieren. In solchen Implementierungen kann das Computersystem 101 die Objekterkennung ausführen, indem es zu bestimmen, ob die in einer Vorlage enthaltene visuelle Merkmalbeschreibung mit visuellen Details, falls vorhanden, in dem Zielbildteil (z. B. 511) übereinstimmt. Das Computersystem 101 ist beispielsweise konfiguriert, Deskriptoren zu erzeugen, die den Zielbildteil (z. B. 511) beschreiben, und zu bestimmen, ob die Deskriptoren mit einer visuellen Merkmalbeschreibung von einer der Vorlagen im ausgewählten Vorlagenspeicherplatz (z. B. 182) übereinstimmen. Wenn in einigen Fällen der Zielbildteil mit einer der vorhandenen Vorlagen übereinstimmt, kann die übereinstimmende Vorlage verwendet werden, um eine Detektionshypothese zu erzeugen, die eine Hypothese bezüglich dessen sein kann, welches Objekt, welcher Objekttyp oder welches Objektdesign durch den Zielbildteil dargestellt wird.
  • Wie in 5C dargestellt, kann das Computersystem 101 den Zielbildteil 511 mit Texturiertvorlagen im zweiten Vorlagenspeicherplatz 182 vergleichen, da der Zielbildteil 511 als texturiert klassifiziert ist. Bei einer Ausführungsform kann der Zielbildteil 511 nur mit Vorlagen im zweiten Vorlagenspeicherplatz 182 verglichen werden. Bei einer weiteren Ausführungsform, wie sie in 5D dargestellt ist, kann das Computersystem 101 den Zielbildteil 511 mit allen existierenden gespeicherten Vorlagen einschließlich texturierter Vorlagen im zweiten Vorlagenspeicherplatz 182 und Texturlosvorlagen (falls vorhanden) im ersten Vorlagenspeicherplatz 181 vergleichen.
  • Wenn in einigen Fällen der Zielbildteil mit einer der vorhandenen Vorlagen im ausgewählten Vorlagenspeicherplatz 182 übereinstimmt, kann die übereinstimmende Vorlage eine Objektstrukturbeschreibung umfassen, die eine physische Struktur eines durch den Zielbildteil dargestellten Objekts (z. B. 511) beschreibt. Die Objektstrukturbeschreibung kann beispielsweise eine Objektgröße oder eine Objektform des Objekts (z. B. 411) beschreiben. In einigen Fällen kann die Objektstrukturbeschreibung in der übereinstimmenden Vorlage verwendet werden, um eine Roboterinteraktion mit dem Objekt zu planen und/oder zu steuern, wie es nachstehend ausführlicher beschrieben wird.
  • Wenn in einigen Fällen die Verarbeitungsschaltung 111 des Computersystems 101 bestimmt, dass der ausgewählte Vorlagenspeicherplatz keine Vorlage aufweist, die mit dem Zielbildteil (z. B. 511) übereinstimmt, kann das Computersystem 101 eine Objektregistrierung ausführen, indem es eine neue Vorlage basierend auf dem Zielbildteil (z. B. 511) erzeugt und bewirkt, dass die neue Vorlage im ausgewählten Vorlagenspeicherplatz gespeichert wird. In einigen Fällen kann die neue Vorlage als Reaktion auf die Bestimmung erzeugt werden, dass keine der Vorlagen im ersten Vorlagenspeicherplatz 181 und/oder im zweiten Vorlagenspeicherplatz 182 mit dem Zielbildteil (z. B. 511) übereinstimmt. Die 5C bis 5E zeigen ein Beispiel, in dem der Zielbildteil 511 mit keiner der vorhandenen Vorlagen (Vorlagen 1 bis n) im zweiten Vorlagenspeicherplatz 182 übereinstimmt oder mit keiner der existierenden gespeicherten Vorlagen (einschließlich Vorlagen im ersten Vorlagenspeicherplatz 181 als auch im zweiten Vorlagenspeicherplatz 182) übereinstimmt. Wie in 5E dargestellt, kann das Computersystem 101 eine neue Texturiertvorlage erzeugen, und zwar die Vorlage n+1, die ein visuelles Design beschreibt, das mit dem Zielbildteil 511 verbunden ist, und die allgemeiner ein Objektdesign für ein Objekt 411 beschreibt, das durch den Zielbildteil 511 dargestellt wird. Die Vorlage n+1 kann beispielsweise das Bild 411A beschreiben, das auf eine obere Fläche des Objekts 411 gedruckt ist. Insbesondere kann die neue Vorlage das Bild 411A oder eine andere visuelle Markierung wiedergeben, die im Zielbildteil 511 erscheint, oder Deskriptoren umfassen, die verschiedene visuelle Merkmale des Bildes 411A beschreiben. Die neue Vorlage kann im zweiten Vorlagenspeicherplatz 182 gespeichert werden, der als langfristiger Vorlagenspeicherplatz dienen kann. Wenn in einigen Fällen eine Raumstrukturerfassungsvorrichtung (z. B. 442) in Verfahren 300 verwendet wird, um erfasste Strukturinformationen zu erzeugen, die eine mit dem Objekt 411 verbundene Struktur beschreiben, kann das Computersystem 101 eine Objektstrukturbeschreibung basierend auf den erfassten Strukturinformationen erzeugen und die Objektstrukturbeschreibung in der neuen Vorlage einschließen. Die Objektstrukturbeschreibung kann z. B. eine Objektgröße oder Objektform für das Objekt 411 beschreiben.
  • In einigen Fällen kann das Computersystem 111 konfiguriert sein, zu versuchen, eine minimal vertretbare Region (MVR) zu detektieren, wenn das Computersystem 101 bestimmt, dass der ausgewählte Vorlagenspeicherplatz keine Vorlage aufweist, die dem Zielbildteil (z. B. 511) entspricht, oder wenn das Computersystem 101 bestimmt, dass keiner der Vorlagenspeicherplätze 181, 182 eine Vorlage aufweist, die dem Zielbildteil entspricht. Minimal vertretbare Regionen werden in der US-Patentanmeldung Nr. 16/443,743 mit dem Titel „AUTOMATED PACKAGE REGISTRATION SYSTEMS, DEVICES, AND METHODS“ ausführlicher beschrieben, deren gesamter Inhalt hierin durch Bezugnahme aufgenommen wird. In einigen Fällen kann die MVR-Detektion als Reaktion auf eine Bestimmung, dass der Zielbildteil (z. B. 511) als texturiert klassifiziert ist, als auch auf die Bestimmung, dass es keine übereinstimmende Vorlage im ausgewählten Vorlagenspeicherplatz (z. B. 182) gibt, oder dass es keine übereinstimmende Vorlage in allen Vorlagenspeicherplätzen 181, 182 gibt, ausgeführt werden. Die MVR-Detektion kann an dem Zielbildteil ausgeführt werden, um einen Ort der Kante oder Ecke eines Objekts abzuschätzen, wobei der Ort z. B. zum Steuern einer Roboterinteraktion mit dem Objekt und/oder zum Erzeugen der neuen vorstehend beschriebenen Vorlage verwendet werden kann. Insbesondere kann das Computersystem 101 bei einer Ausführungsform mindestens eine Ecke oder eine Kante im Zielbildteil (z. B. 511) detektieren und eine Region bestimmen, die mindestens durch die Ecke oder die Kante definiert ist. Das Computersystem 101 kann beispielsweise Pixelkoordinaten bestimmen, an denen Ecken oder Kanten im Zielbildteil (z. B. 511) oder im empfangenen Bild (z. B. 501) erscheinen, und eine Region des Zielbildteils oder des Bildes bestimmen, die von den Kanten oder Ecken umgeben ist. Die bestimmte Region kann verwendet werden, um die vorstehend beschriebene neue Vorlage zu erzeugen und/oder die Roboterinteraktion mit dem Objekt zu planen, wie beispielsweise durch Bestimmen eines Bewegungsbefehls zum Steuern der Roboterbewegung.
  • Wie vorstehend angegeben, kann der Zielbildteil 511 in einigen Szenarien eines von mehreren Objekten in einem Sichtfeld (z. B. 443) einer Bilderfassungsvorrichtung (z. B. 441) darstellen. In einigen Fällen kann das Computersystem 101 derart konfiguriert sein, dass jede neue Vorlage, die entweder dem ersten Vorlagenspeicherplatz 181 oder dem zweiten Vorlagenspeicherplatz 182 hinzugefügt wird, auf einem entsprechenden Zielbildteil für ein entsprechendes Objekt der mehreren Objekte basiert. Bei einer Ausführungsform können verschiedene hierin beschriebene Schritte (z. B. 304-310) für jedes Bild (z. B. 501), das in Schritt 302 empfangen wird, mehrfach ausgeführt werden. Die Schritte 304-310 können beispielsweise für jedes Objekt der mehreren Objekte ausgeführt werden, die in dem empfangenen Bild 501 dargestellt sind, das die Objekte 411-414 darstellt.
  • Insbesondere bezieht sich die vorstehende Beschreibung bezüglich der 5A bis 5E auf das Ausführen der Schritte 304-310 für den Zielbildteil 511, der das Objekt 411 darstellt. 6A stellt Schritt 304 dar, der angewendet wird, um die Zielbildteile 512, 513 und 514 zu erzeugen, die entsprechend die Objekte 412, 413 und 414 darstellen. Die Zielbildteile 512-514 können über mehrere Iterationen von Schritt 304 oder in einer Iteration erzeugt werden. In einigen Fällen können die Zielbildteile 512-514 aus dem Bild 501 extrahiert werden. Das Computersystem 101 kann ferner Schritt 306 an den Zielbildteilen 512-514 ausführen, indem es sie als texturiert oder texturlos klassifiziert. In einigen Implementierungen kann das Computersystem 101 die Zielbildteile 512-514 als texturlos klassifizieren, da sie keine visuelle Textur oder kein definiertes Niveau an visueller Textur aufweisen. Als Ergebnis der Klassifizierung kann das Computersystem 101 Schritt 308 ausführen, indem es den ersten Vorlagenspeicherplatz 181 für jeden der Zielbildteile 512-514 auswählt, und es kann in Schritt 310 eine Objekterkennung basierend auf dem ausgewählten Vorlagenspeicherplatz, und zwar dem ersten Vorlagenspeicherplatz 181, ausführen.
  • 6B zeigt ein Beispiel, in dem eine Objekterkennung und/oder Objektregistrierung für den Zielbildteil 512 oder allgemeiner für das Objekt 412, das durch den Zielbildteil 512 dargestellt wird, ausgeführt wird. Bei einer Ausführungsform kann der Objekterkennungsvorgang beinhalten, dass das Computersystem 101 bestimmt, ob der ausgewählte erste Vorlagenspeicherplatz 181 eine Vorlage aufweist, die mit dem Zielbildteil 512 übereinstimmt. In diesem Beispiel kann das Computersystem 101 bestimmen, dass der erste Vorlagenspeicherplatz 181 leer ist und daher keine Vorlage aufweist, die mit dem Zielbildteil 512 übereinstimmt. Der erste Vorlagenspeicherplatz in 6B kann leer sein, da er nach Abschluss einer vorherigen Roboteraufgabe (z. B. eines früheren Depalettierungszyklus) gelöscht worden sein kann. Bei einigen Ausführungsformen sucht das Computersystem 101 möglicherweise nur in dem ersten Vorlagenspeicherplatz 181 nach einer übereinstimmenden Vorlage für den Zielbildteil 512. Bei anderen Ausführungsformen kann das Computersystem 101 sowohl im ersten Vorlagenspeicherplatz 181 als auch im zweiten Vorlagenspeicherplatz 182 nach einer übereinstimmenden Vorlage für den Zielbildteil 512 suchen. Im Beispiel von 6B kann das Computersystem 101 bestimmen, dass es keine übereinstimmende Vorlage für den Zielbildteil 512 gibt, und es kann ferner eine Objektregistrierung ausführen, indem es eine neue Texturlosvorlage basierend auf dem Zielbildteil 512 erzeugt und bewirkt, dass die neue Texturlosvorlage als Vorlage 1 im ersten Vorlagenspeicherplatz 181 (z. B. in einem Vorlagencache) gespeichert wird, wie es in 6C veranschaulicht ist. Die Vorlage kann z. B. eine visuelle Merkmalbeschreibung umfassen, die ein Erscheinungsbild des Objekts 412 beschreibt, oder die den Zielbildteil 512 spezifischer beschreibt. Die Beschreibung des visuellen Merkmals kann beispielsweise den Zielbildteil 512 selbst oder Deskriptoren, die visuelle Details des Zielbildteils 512 codieren, umfassen. In einigen Implementierungen kann das Computersystem 101, wenn die Raumstrukturerfassungsvorrichtung 442 in dem Verfahren 300 verwendet wird, Raumstrukturinformationen empfangen, die von der Raumstrukturerfassungsvorrichtung 442 erzeugt werden, um eine Objektstrukturbeschreibung zu erzeugen, die eine Struktur des Objekts 412 beschreibt (z. B. Objektgröße oder Objektform), die durch den Zielbildteil 512 dargestellt wird. Das Computersystem 101 kann in solchen Implementierungen die Objektstrukturbeschreibung als Teil der neuen Vorlage umfassen.
  • 6D zeigt ein Beispiel, in dem eine Objekterkennung für den Zielbildteil 513 oder allgemeiner für das Objekt 413, das durch den Zielbildteil 513 dargestellt wird, ausgeführt wird. Im Beispiel von 6D kann der erste Vorlagenspeicherplatz 181 die Vorlage 1 (die basierend auf dem Zielbildteil 512 erzeugt wird) umfassen und das Computersystem 101 kann konfiguriert sein, beispielsweise zu bestimmen, ob eine visuelle Merkmalbeschreibung in der Vorlage 1 mit dem Zielbildteil 513 übereinstimmt. Wie vorstehend angegeben, kann das Computersystem 101 versuchen, eine übereinstimmende Vorlage von nur dem ersten Vorlagenspeicherplatz 181 zu finden, oder alternativ dazu versuchen, eine übereinstimmende Vorlage von dem ersten Vorlagenspeicherplatz 181 und dem zweiten Vorlagenspeicherplatz 182 zu finden. In diesem Beispiel könnte das Computersystem 101 bestimmen, dass der Zielbildteil 513 nicht mit Vorlage 1 übereinstimmt oder allgemeiner, dass es keine übereinstimmende Vorlage gibt. Infolgedessen kann das Computersystem 101 eine Objektregistrierung ausführen, indem es basierend auf dem Zielbildteil 513 eine neue Texturlosvorlage erzeugt und die neue Vorlage als Vorlage 2 im ersten Vorlagenspeicherplatz 181 speichert, wie es in 6E veranschaulicht ist. Obwohl Vorlage 2 nur wenige oder keine visuellen Details beschreibt, kann sie dennoch einige mit dem entsprechenden Objekt (z. B. 413) verbundene Details beschreiben, die für einen späteren Vergleich mit anderen Objekten nützlich sein können. Die Vorlage 2 kann beispielsweise ein Seitenverhältnis beschreiben, das mit einer oberen Fläche oder einer anderen Fläche des entsprechenden Objekts verbunden ist. Das Seitenverhältnis kann z. B. ein Verhältnis zwischen einer Länge und einer Breite dieser Fläche beschreiben. Das Computersystem kann konfiguriert sein, dieses in der Vorlage beschriebene Seitenverhältnis später mit einem Seitenverhältnis anderer Objekte zu vergleichen.
  • In ähnlicher Weise zeigt 6F ein Beispiel, in dem eine Objekterkennung für den Zielbildteil 514 oder allgemeiner für das Objekt 414, das durch den Zielbildteil 514 dargestellt wird, ausgeführt wird. Insbesondere kann das Computersystem 101 bestimmen, ob eine übereinstimmende Vorlage für den Zielbildteil 514 gibt, wie beispielsweise durch Bestimmen, ob der Zielbildteil 514 mit der existierenden Vorlage 1 und Vorlage 2 im ersten Vorlagenspeicherplatz 181 übereinstimmt. In diesem Beispiel kann das Computersystem 101 beispielsweise bestimmen, dass keine der Vorlagen mit dem Zielbildteil 514 übereinstimmt. Infolgedessen kann das Computersystem 101 ferner eine Objektregistrierung ausführen, indem es basierend auf dem Zielbildteil 514 eine neue Texturlosvorlage erzeugt und die neue Vorlage als Vorlage 3 im ersten Vorlagenspeicherplatz 181 speichert, wie es in 6G veranschaulicht ist.
  • Wie vorstehend angegeben, kann das Computersystem 101 eine Objektstrukturbeschreibung in einer Texturlosvorlage, wie beispielsweise Vorlage 1, 2 oder 3 in 6G, anstelle oder zusätzlich zu einer visuellen Merkmalbeschreibung umfassen. In einigen Fällen kann das Bestimmen, ob ein Zielbildteil, der texturlos ist (z. B. 513/514), mit einer Texturlosvorlage (z. B. Vorlage 1 oder Vorlage 2) übereinstimmt, das Bestimmen einschließen, ob es eine Übereinstimmung in der Struktur oder insbesondere eine Übereinstimmung zwischen der Struktur eines entsprechenden Objekts (z. B. 413/414) und der Objektstrukturbeschreibung in einer Partikelvorlage gibt. Das Computersystem 101 kann beispielsweise sowohl einen Zielbildteil (z. B. 514), der das Objekt darstellt, extrahieren als auch erfasste Strukturinformationen bezüglich dieses Objekts (z. B. 414) empfangen. In einem solchen Beispiel kann das Computersystem 101 bestimmen, ob das Objekt (z. B. 414) mit einer Vorlage (z. B. Vorlage 1 oder Vorlage 2 von 6F) übereinstimmt, indem es bestimmt, ob die Struktur des Objekts (wie in den erfassten Strukturinformationen beschrieben) mit der Objektstrukturbeschreibung in der Vorlage übereinstimmt. In einigen Fällen kann das Bestimmen einer Übereinstimmung basierend auf der Objektstrukturbeschreibung eine Robustheit oder Zuverlässigkeit der Objekterkennung verbessern. Da eine Vorlage ohne Texturlosvorlage basierend auf einem Bildteil mit relativ wenig visuellen Details erzeugt worden sein kann, kann das Ausführen einer Objekterkennung allein basierend auf dem visuellen Erscheinungsbild einen Mangel an optimaler Robustheit oder Zuverlässigkeit aufweisen. Daher kann die Objekterkennung alternativ oder zusätzlich auf der physischen Struktur basieren, die durch die Objektstrukturbeschreibung beschrieben wird, wie beispielsweise durch das Bestimmen von sowohl, ob ein Zielbildteil (z. B. 514) für ein Objekt (z. B. 414) mit einer visuellen Merkmalbeschreibung in einer Vorlage übereinstimmt, als auch, ob erfasste Strukturinformationen für das Objekt (z. B. 414) mit einer Objektstrukturbeschreibung in der Vorlage übereinstimmen.
  • Wenn das Computersystem 101 bei einer Ausführungsform versucht, nach einer übereinstimmenden Vorlage für ein Objekt (z. B. 411) zu suchen, das durch einen texturierten Zielbildteil (z. B. 511) dargestellt wird, kann das Computersystem 101 versuchen, eine Texturiertvorlage zu finden, die sowohl mit einem Erscheinungsbild des Objekts als auch mit einer physischen Struktur des Objekts übereinstimmt, oder es kann bestimmen, dass ein übereinstimmendes Erscheinungsbild allein ausreichend ist. In einigen Fällen können der texturierte Zielbildteil (z. B. 511) und die Texturiertvorlagen genügend visuelle Details umfassen, um eine genaue Objekterkennung allein basierend auf dem visuellen Erscheinungsbild des Objekts zu ermöglichen, selbst wenn die physische Struktur des Objekts nicht berücksichtigt wird.
  • Bei einer Ausführungsform kann das Computersystem 101 jede der Texturlosvorlagen mit einem Texturlos-Flag verbinden, wie beispielsweise durch Setzen eines Vorlagentypparameters in den Vorlagen auf einen Wert, der angibt, dass sie texturlos sind. 6H zeigt beispielsweise eine Texturlosvorlage, die in jeder der Vorlagen 1 bis 3 im ersten Vorlagenspeicherplatz 181 umfasst ist. Wenn in einigen Fällen ein Depalettierungszyklus oder eine andere Aufgabe abgeschlossen ist, kann das Computersystem 101 konfiguriert sein, nach allen Vorlagen mit dem Texturlos-Flag zu suchen und diese zu löschen.
  • 61 zeigt eine weitere Ausführungsform, die ein Texturlos-Flag beinhaltet. Während die vorstehenden Ausführungsformen den ersten Vorlagenspeicherplatz 181 (z. B. ein Vorlagencache) und den zweiten Vorlagenspeicherplatz 182 (z. B. eine langfristige Vorlagendatenbank) beinhalten, veranschaulicht 6I eine alternative Ausführungsform, bei welcher der erste Vorlagenspeicherplatz 181 und der zweite Vorlagenspeicherplatz 182 durch einen einzigen Vorlagenspeicherplatz 183 (z. B. eine einzelne Datei oder Datenbank) ersetzt sind. Bei dieser alternativen Ausführungsform kann das Verfahren 300 modifiziert sein, sodass das Auswählen von Schritt 308 wegfällt, und es kann die Objekterkennung von Schritt 310 basierend auf Vorlagen im Vorlagenspeicherplatz 183 ausführen. Das Computersystem 101 kann beispielsweise den Vorlagenspeicherplatz 183 nach Vorlagen durchsuchen, die einem Zielbildteil (z. B. 511) entsprechen. Wie in 61 dargestellt, kann das Computersystem 101 während der Objektregistrierung neu erzeugte Vorlagen im Vorlagenspeicherplatz 183 speichern und ein Texturlos-Flag in den Vorlagen, die texturlos sind, einschließen. Wenn ein Depalettierungszyklus oder eine andere Aufgabe abgeschlossen ist, kann das Computersystem 101 alle Vorlagen in dem Vorlagenspeicherplatz 183, die das Texturlos-Flag aufweisen, suchen und löschen.
  • Unter erneuter Bezugnahme auf 3 kann das Verfahren 300 bei einer Ausführungsform ferner einen Schritt 312 umfassen, in dem die Verarbeitungsschaltung 110 des Computersystems 101 einen Bewegungsbefehl erzeugt, um eine Roboterinteraktion mit mindestens einem Objekt zu bewirken, das durch einen Zielbildteil von Schritt 304 dargestellt wird, wie beispielsweise eines der Objekte 411-414. In einigen Fällen kann Schritt 312 durch das Bewegungsplanungsmodul 208 ausgeführt werden. Bei einer Ausführungsform kann der Bewegungsbefehl zur Bewegungsplanung für eine Roboteraufgabe verwendet werden, wie beispielsweise das Aufnehmen einer Kiste oder eines anderen Objekts von einer Palette und das Bewegen des Objekts zu einem gewünschten Ziel. Der Bewegungsbefehl kann basierend auf einem Ergebnis von der Objekterkennung erzeugt werden. Wenn das Ergebnis der Objekterkennung beispielsweise angibt, dass es keine Übereinstimmung mit existierenden Vorlagen (falls vorhanden) in einem Vorlagenspeicherplatz gibt und eine Objektregistrierung veranlasst wird, um eine neue Vorlage basierend auf dem Erscheinungsbild eines Objekts zu erzeugen, kann der Bewegungsbefehl auf der neuen Vorlage basieren. Wenn beispielsweise das Objekt 411 ein Ziel einer Depalettierungsaufgabe ist, bei welcher der Roboter 461 das Objekt 411 aufnimmt, kann das Computersystem 101 einen Bewegungsbefehl basierend auf der Vorlage n+ 1 in 5E erzeugen, die auf dem Objekt 411 oder insbesondere auf dem damit verbundenen Zielbildteil 511 basiert. Das Computersystem 101 kann den Bewegungsbefehl ausgeben, der von dem Roboter 461 empfangen werden kann, um mit dem Objekt 411 zu interagieren. Wenn das Objekt 412 beispielsweise ein weiteres Ziel der Depalettierungsaufgabe ist, kann das Computersystem 101 einen Bewegungsbefehl basierend auf Vorlage 1 in den 6C bis 61 erzeugen, die auf dem Objekt 412 oder insbesondere auf seinem damit verbundenen Zielbildteil 512 basiert. Bei einer Ausführungsform kann der Bewegungsbefehl basierend auf einer Objektstrukturbeschreibung (falls vorhanden) in der neuen Vorlage erzeugt werden. Wenn in einigen Fällen die Objekterkennung und/oder Objektregistrierung im Identifizieren einer Region basierend auf einer MVR-Detektion resultiert, kann der Bewegungsbefehl auf der identifizierten Region basieren. Beispielsweise kann der Bewegungsbefehl erzeugt werden, um einen Endeffektor des Roboters zu veranlassen, sich an einen Ort zu bewegen, welcher der identifizierten Region entspricht.
  • Wenn bei einer Ausführungsform ein Ergebnis der Objekterkennung darin besteht, dass eine Übereinstimmung zwischen einer Vorlage in dem ausgewählten Vorlagenspeicherplatz (z. B. 181/182) und dem Erscheinungsbild eines Objekts oder insbesondere seinem Zielbildteil besteht, kann das Computersystem 101 konfiguriert sein, den Bewegungsbefehl basierend auf der übereinstimmenden Vorlage zu erzeugen. In einigen Fällen kann der Bewegungsbefehl basierend auf einer Objektstrukturbeschreibung in der übereinstimmenden Vorlage erzeugt werden.
  • Wenn das Computersystem 101 bei einer Ausführungsform einen Bewegungsbefehl erzeugt, um einen Roboter (z. B. 461) zum Interagieren mit einem Objekt zu veranlassen, das durch einen Zielbildteil dargestellt wird, kann der Bewegungsbefehl darauf basieren, ob der Zielbildteil als texturiert oder texturlos klassifiziert ist. Wenn die Objekterkennung in Schritt 310 auf einem Zielbildteil basiert, der texturlos ist, kann ein Konfidenzniveau für die Objekterkennung beispielsweise relativ zu einer Situation, in welcher der Zielbildteil texturiert ist, als niedriger betrachtet werden. In einer solchen Situation kann das Computersystem 101 in Schritt 312 den Bewegungsbefehl in einer Weise erzeugen, die eine Geschwindigkeit des Roboters (z. B. 461) begrenzt, wenn der Roboter versucht, das Objekt aufzunehmen oder anderweitig damit zu interagieren, sodass die Roboterinteraktion mit einem höheren Maß an Vorsicht fortfahren kann.
  • Wenn bei einer Ausführungsform eine Bilderfassungsvorrichtung (z. B. 441) ein aktualisiertes Bild erzeugt, nachdem ein Objekt von einem Roboter (z. B. 461) als Ergebnis des in Schritt 312 erzeugten Bewegungsbefehls bewegt wurde, kann das Computersystem 301 konfiguriert sein, einige oder alle Schritte 302-312 basierend auf dem aktualisierten Bild zu wiederholen. In einigen Fällen kann das aktualisierte Bild jedes Mal erzeugt werden, wenn ein Objekt bewegt wird. 7A stellt beispielsweise ein Beispiel dar, in dem das Objekt 412 (in 4A) von dem Roboter 461 zu einem Zielort bewegt wurde, der sich außerhalb des Sichtfelds 443 der Bilderfassungsvorrichtung 441 befindet. Nachdem das Objekt 411 bewegt wurde, kann die Vorrichtung 441 ein aktualisiertes Bild 502 erzeugen, das in 7B dargestellt ist und die übrigen Objekte, und zwar die Objekte 411, 413, 414 und 421-424, darstellt.
  • Bei einer Ausführungsform kann das Computersystem 101 die Schritte 302 und 304 erneut ausführen, um das aktualisierte Bild 502 zu empfangen und einen Zielbildteil 522 zu erzeugen, der ein Teil des Bildes 502 sein kann, der das Objekt 422 darstellt. Bei einer solchen Ausführungsform kann das Computersystem 101 ferner die Schritte 306-310 erneut ausführen, indem es den Zielbildteil 522 als texturiert oder texturlos klassifiziert, basierend auf der Klassifizierung einen Vorlagenspeicherplatz auswählt und basierend auf dem ausgewählten Vorlagenspeicherplatz eine Objekterkennung ausführt. Als Beispiel kann der Zielbildteil 522 als texturlos klassifiziert sein. Infolgedessen kann das Computersystem 101 den ersten Vorlagenspeicherplatz 181 auswählen, der die drei Vorlagen von den 6G oder 6H umfassen kann. Wie in 7C dargestellt, kann das Computersystem 101 konfiguriert sein, eine Objekterkennung auszuführen, die bestimmt, ob der Zielbildteil 522 mit einer visuellen Merkmalbeschreibung und/oder einer Objektstrukturbeschreibung in einer Vorlage des ersten Vorlagenspeicherplatzes 181 übereinstimmt. In einigen Fällen ist diese Bestimmung nicht auf den ersten Vorlagenspeicherplatz 181 beschränkt, und das Computersystem 101 kann bestimmen, ob der Zielbildteil 522 mit einer Vorlage im ersten Vorlagenspeicherplatz 181 oder mit einer Vorlage im zweiten Vorlagenspeicherplatz 182 übereinstimmt. In dem Beispiel von 7C kann das Computersystem 101 bestimmen, dass der Zielbildteil 522 mit der Vorlage 1 im ersten Vorlagenspeicherplatz 181 übereinstimmt. Als Ergebnis der Übereinstimmung kann der Objektregistrierungsvorgang ausgelassen werden, sodass keine neue Vorlage erzeugt wird. In einigen Szenarien kann das Computersystem 101 Schritt 312 wiederholen, indem es basierend auf einem Ergebnis der Objekterkennung einen Bewegungsbefehl erzeugt. Wenn Vorlage 1 beispielsweise mit dem Zielbildteil 522 übereinstimmt und eine Objektstrukturbeschreibung umfasst, die eine bestimmte Objektstruktur beschreibt, kann der Bewegungsbefehl basierend auf der Objektstrukturbeschreibung erzeugt werden.
  • In einigen Fällen kann das vorstehend genannte aktualisierte Bild jedes Mal erzeugt werden, wenn eine ganze Ebene von Objekten bewegt wurde. 8A veranschaulicht beispielsweise ein Beispiel, in dem die Objekte 411-414 in der Lage 410 des Stapels von 4A von dem Roboter 461 zu einem Zielort außerhalb des Sichtfelds 443 der Bilderfassungsvorrichtung 441 bewegt wurden. 8B zeigt ein aktualisiertes Bild 503, das die Objekte 421-424 der Lage 420 darstellt, die im Sichtfeld 443 verbleiben. Bei einer Ausführungsform kann das Computersystem 101 konfiguriert sein, einen oder mehrere Zielbildteile, wie beispielsweise die Zielbildteile 521-524, aus dem aktualisierten Bild 503 zu extrahieren. Die extrahierten Zielbildteile 521-524 können entsprechend die Objekte 421-424 darstellen. Bei dieser Ausführungsform kann das Computersystem 101 konfiguriert sein, einige oder alle der Schritte 304-312 für jeden der Zielbildteile 521-524 zu wiederholen. 8C stellt beispielsweise ein Beispiel dar, in dem jeder der Zielbildteile 521-523 als texturlos klassifiziert ist, was das Computersystem 101 veranlassen kann, den ersten Vorlagenspeicherplatz 181 für das Ausführen einer Objekterkennung basierend auf diesen Zielbildteilen auszuwählen. In einigen Szenarien kann die Objekterkennung darin resultieren, dass das Computersystem 101 bestimmt, dass der Zielbildteil 522 mit Vorlage 1 übereinstimmt und der Zielbildteil 523 mit Vorlage 3 übereinstimmt. In einigen Fällen kann das Computersystem 101 bestimmen, dass der Zielbildteil 521 mit Vorlage 2 übereinstimmt, z. B. indem es bestimmt, dass ein von dem Zielbildteil 521 bestimmtes Seitenverhältnis mit einem in Vorlage 2 beschriebenen Seitenverhältnis übereinstimmt.
  • 8D zeigt beispielsweise ferner ein Beispiel, in dem der Zielbildteil 524 als texturiert klassifiziert ist. Infolgedessen kann das Computersystem 101 den zweiten Vorlagenspeicherplatz 182 für das Ausführen einer Objekterkennung auswählen. In diesem Beispiel kann die Objekterkennung darin resultieren, dass das Computersystem 101 bestimmt, dass der Zielbildteil 524 mit der Vorlage n+1 im zweiten Vorlagenspeicherplatz 182 übereinstimmt (was bewirken kann, dass das Computersystem 101 das Ausführen einer Objektregistrierung für den Zielbildteil 524 überspringt).
  • Bei einer Ausführungsform kann das Auswählen zwischen dem ersten Vorlagenspeicherplatz 181 und dem zweiten Vorlagenspeicherplatz 182 zur Objekterkennung beeinflussen, wo eine neue Vorlage, falls vorhanden, für eine Objektregistrierung gespeichert wird und/oder ob ein Texturlos-Flag in der neuen Vorlage enthalten ist. Die Objekterkennung, die basierend auf existierenden Vorlagen ausgeführt wird, kann nur mit dem ausgewählten Vorlagenspeicherplatz oder sowohl mit dem ersten Vorlagenspeicherplatz 181 als auch mit dem zweiten Vorlagenspeicherplatz 182 ausgeführt werden. 8E zeigt beispielsweise eine Ausführungsform, in der die Objekterkennung für die Zielbildteile 521-524 die Suche nach einer übereinstimmenden Vorlage sowohl im ersten Vorlagenspeicherplatz 181 als auch im zweiten Vorlagenspeicherplatz 182 beinhaltet.
  • Wie vorstehend angegeben, kann der erste Vorlagenspeicherplatz 181 ein kurzfristiger Vorlagenspeicherplatz sein, der im Vergleich zum zweiten Vorlagenspeicherplatz 182 häufiger gelöscht wird. In einigen Fällen kann das Computersystem 101 konfiguriert sein, zu bewirken, dass der erste Vorlagenspeicherplatz 181 nach Abschluss oder kurz nach Abschluss einer Roboteraufgabe von Vorlagen gelöscht wird. 9A veranschaulicht beispielsweise eine Situation, in der ein Depalettierungszyklus abgeschlossen ist. 9B veranschaulicht ein Bild 504, das von der Bilderfassungsvorrichtung 441 in einer solchen Situation erzeugt wird. In diesem Beispiel können alle Objekte 411-414, 421-424, die zu einer Palette von Objekten gehören, von dem Roboter 461 aufgenommen und zu einem gewünschten Zielort bewegt worden sein. Wie in den 9A und 9B veranschaulicht, kann es keine Kiste oder kein anderes Zielobjekt geben, die bzw. das im Sichtfeld 443 der Bilderfassungsvorrichtung 441 verbleibt. In einigen Fällen kann das Computersystem 101 konfiguriert sein, zu bestimmen, dass die Depalettierungsaufgabe oder eine andere Roboteraufgabe abgeschlossen ist, wenn es gegenwärtig kein Objekt gibt, das zur Roboterinteraktion mit dem Roboter 461 verbleibt. Als Reaktion auf eine solche Bestimmung kann das Computersystem 101 konfiguriert sein, den ersten Vorlagenspeicherplatz 181 zu löschen, ohne den zweiten Vorlagenspeicherplatz 182 zu löschen. 9C zeigt beispielsweise das Computersystem 101, das bewirkt, dass Vorlage 1 bis Vorlage 3 im ersten Vorlagenspeicherplatz 181 (in 8C) gelöscht werden, während Vorlage 1 bis Vorlage n+1 im zweiten Vorlagenspeicherplatz 182 in diesem Vorlagenspeicherplatz verbleiben können. Wie vorstehend angegeben, können die Vorlagen durch Entfernen eines Zeigers oder Verweises auf die Vorlagen gelöscht werden, sodass sie nicht mehr zugänglich sind. In einigen Fällen können die Vorlagen gelöscht werden, indem ein Teil des Vorlagenspeicherplatzes 181, den sie eingenommen hatten, freigegeben wird, sodass der freigegebene Teil mit anderen Daten überschrieben werden kann. 9D veranschaulicht ein weiteres Beispiel, in dem Texturlosvorlagen gelöscht werden. Das Beispiel von 9D gilt für die alternative Ausführungsform, in welcher der erste Vorlagenspeicherplatz 181 und der zweite Vorlagenspeicherplatz 182 durch den einzigen Vorlagenspeicherplatz 183 ersetzt sind. In diesem Beispiel kann das Computersystem 101 nach allen Vorlagen im Vorlagenspeicherplatz 183 suchen, die ein Texturlos-Flag (das in 61 veranschaulicht ist) umfassen, und kann diese Vorlagen löschen.
  • Bei einer Ausführungsform kann das Verfahren 300 von 3 einen oder mehrere der Schritte in dieser Figur auslassen und/oder einen oder mehrere andere Schritte hinzufügen. Beispielsweise kann das Verfahren 300 in einigen Fällen einen Schritt umfassen, in dem die Objekterkennung und/oder die Objektregistrierung verifiziert wird. Ein solcher Verifizierungsschritt kann nach der Objekterkennung in Schritt 310 und/oder vor dem Erzeugen des Bewegungsbefehls in Schritt 312 ausgeführt werden. In einigen Fällen kann das Verfahren 300 modifiziert werden, um Schritt 312 auszulassen. In einigen Fällen kann das Verfahren 300 einen Schritt umfassen, der basierend auf einem Ergebnis der Objekterkennung in Schritt 310 und/oder basierend auf einer Objektregistrierung eine Bestandsverwaltung ausführt. Ein solcher Schritt kann z. B. nachverfolgen, welches Objekt oder welche Art von Objekten sich in einem Sichtfeld einer Bilderfassungsvorrichtung (z. B. 441) und/oder einer Raumstrukturerfassungsvorrichtung (z. B. 442) befunden hat.
  • Zusätzliche Beschreibung verschiedener Ausführungsformen
  • Ausführungsform 1 betrifft ein Computersystem, das eine Kommunikationsschnittstelle und mindestens eine Verarbeitungsschaltung umfasst. Die Kommunikationsschnittstelle ist konfiguriert, mit einem Roboter und einer Bilderfassungsvorrichtung zu kommunizieren. Die mindestens eine Verarbeitungsschaltung ist konfiguriert, wenn sich ein oder mehrere Objekte in einem Sichtfeld der Bilderfassungsvorrichtung befinden oder befunden haben, ein Verfahren auszuführen, welches das Erhalten eines Bildes zum Darstellen des einen oder der mehreren Objekte umfasst, wobei das Bild von der Bilderfassungsvorrichtung erzeugt wird. Das Verfahren umfasst ferner das Erzeugen eines Zielbildteils von dem Bild, wobei der Zielbildteil ein Teil des Bildes ist, der mit einem Objekt des einen oder der mehreren Objekte verbunden ist, und das Bestimmen, ob der Zielbildteil als texturiert oder texturlos zu klassifizieren ist. Das Verfahren umfasst zudem das Auswählen eines Vorlagenspeicherplatzes aus einem ersten Vorlagenspeicherplatz und einem zweiten Vorlagenspeicherplatz basierend darauf, ob der Zielbildteil als texturiert oder texturlos klassifiziert wird, wobei der erste Vorlagenspeicherplatz relativ zu dem zweiten Vorlagenspeicherplatz häufiger gelöscht wird, wobei der erste Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturlos zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird, und der zweite Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturiert zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird; das Ausführen einer Objekterkennung basierend auf dem Zielbildteil und dem ausgewählten Vorlagenspeicherplatz. Das Verfahren umfasst zusätzlich das Erzeugen eines Bewegungsbefehls zum Bewirken einer Roboterinteraktion mit mindestens dem Objekt, wobei der Bewegungsbefehl basierend auf einem Ergebnis von der Objekterkennung erzeugt wird.
  • Ausführungsform 2 umfasst das Computersystem von Ausführungsform 1. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, die Objekterkennung auszuführen, indem sie bestimmt, ob der ausgewählte Vorlagenspeicherplatz eine Vorlage umfasst, die dem Zielbildteil entspricht.
  • Ausführungsform 3 umfasst das Computersystem von Ausführungsform 1 oder 2. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, die Objekterkennung auszuführen, indem sie bestimmt, ob der ausgewählte Vorlagenspeicherplatz eine oder mehrere Vorlagen umfasst, die eine visuelle Merkmalbeschreibung aufweisen, die dem Zielbildteil entspricht. Das heißt, die Verarbeitungsschaltung kann detektieren, ob der ausgewählte Vorlagenspeicherplatz eine Vorlage aufweist, die eine übereinstimmende visuelle Merkmalbeschreibung aufweist.
  • Ausführungsform 4 umfasst das Computersystem von einer der Ausführungsformen 1 bis 3. Bei dieser Ausführungsform ist die Kommunikationsschnittstelle konfiguriert, mit einer Raumstrukturerfassungsvorrichtung zu kommunizieren, und wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, erfasste Strukturinformationen zum Beschreiben einer mit dem Objekt verbundenen Objektstruktur zu empfangen, wobei die erfassten Strukturinformationen von der Raumstrukturerfassungsvorrichtung erzeugt werden. Ferner ist die mindestens eine Verarbeitungsschaltung konfiguriert, als Reaktion auf eine Bestimmung, den Zielbildteil als texturlos zu klassifizieren, die Objekterkennung weiter auszuführen, indem bestimmt wird, ob der ausgewählte Vorlagenspeicherplatz irgendeine Vorlage umfasst, die eine Objektstrukturbeschreibung aufweist, die mit den erfassten Strukturinformationen übereinstimmt.
  • Ausführungsform 5 umfasst das Computersystem von einer der Ausführungsformen 1 bis 4. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung als Reaktion auf eine Bestimmung, dass der ausgewählte Vorlagenspeicherplatz die Vorlage umfasst, die dem Zielbildteil entspricht, konfiguriert, den Bewegungsbefehl basierend auf der Vorlage zu erzeugen.
  • Ausführungsform 6 umfasst das Computersystem von einer der Ausführungsformen 1 bis 5. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung als Reaktion auf eine Bestimmung, dass der ausgewählte Vorlagenspeicherplatz keine Vorlage umfasst, die dem Zielbildteil entspricht, konfiguriert zum: Ausführen einer Objektregistrierung durch Erzeugen einer neuen Vorlage basierend auf dem Zielbildteil und Bewirken, dass die neue Vorlage in dem ausgewählten Vorlagenspeicherplatz gespeichert wird. Daher kann die Objektregistrierung ausgeführt werden, wenn der ausgewählte Vorlagenspeicherplatz keine Vorlage aufweist, die dem Zielbildteil entspricht.
  • Ausführungsform 7 umfasst das Computersystem von Ausführungsform 6. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, den Bewegungsbefehl basierend auf der neuen Vorlage zu erzeugen.
  • Ausführungsform 8 umfasst das Computersystem von Ausführungsform 6 oder 7. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, die Objektregistrierung weiter auszuführen durch: Detektieren mindestens einer Ecke oder einer Kante im Zielbildteil als Reaktion auf das Bestimmen, dass der ausgewählte Vorlagenspeicherplatz keine Vorlage umfasst, die dem Zielbildteil entspricht; und Bestimmen einer Region, die durch mindestens die Ecke oder Kante in dem Zielbildteil definiert ist, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, die neue Vorlage basierend auf der bestimmten Region zu erzeugen.
  • Ausführungsform 9 umfasst das Computersystem von Ausführungsform 8. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, wenn der ausgewählte Vorlagenspeicherplatz keine Vorlage umfasst, die dem Zielbildteil entspricht, den Bewegungsbefehl basierend auf der bestimmten Region zu erzeugen.
  • Ausführungsform 10 umfasst das Computersystem von Ausführungsform 8 oder 9. Bei dieser Ausführungsform erfolgt das Detektieren von dem mindestens einen von der Ecke oder der Kante im Zielbildteil als Reaktion von sowohl der Bestimmung, dass der ausgewählte Vorlagenspeicherplatz keine Vorlage umfasst, die dem Zielbildteil entspricht, als auch der Bestimmung, den Zielbildteil als texturiert zu klassifizieren, und wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, zu bewirken, dass die neue Vorlage im zweiten Vorlagenspeicherplatz gespeichert wird, wenn der Zielbildteil als texturiert klassifiziert wird.
  • Ausführungsform 11 umfasst das Computersystem von einer der Ausführungsformen 6 bis 10. Bei dieser Ausführungsform ist die Kommunikationsschnittstelle konfiguriert, mit einer Raumstrukturerfassungsvorrichtung zu kommunizieren. Ferner ist bei dieser Ausführungsform die mindestens eine Verarbeitungsschaltung konfiguriert, erfasste Strukturinformationen zum Beschreiben einer mit dem Objekt verbundenen Objektstruktur zu empfangen, wobei die erfassten Strukturinformationen von der Raumstrukturvorrichtung erzeugt werden, und wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, wenn der Zielbildteil als texturlos klassifiziert wird, die neue Vorlage derart zu erzeugen, dass sie eine Objektstrukturbeschreibung aufweist, welche die erfassten Strukturinformationen umfasst oder darauf basiert, und zu bewirken, dass die neue Vorlage im ersten Vorlagenspeicherplatz gespeichert wird.
  • Ausführungsform 12 umfasst das Computersystem von einer der Ausführungsformen 1 bis 11. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, den Bewegungsbefehl ferner basierend darauf, ob der Zielbildteil als texturiert oder texturlos klassifiziert wird, zu erzeugen.
  • Ausführungsform 13 umfasst das Computersystem der Ausführungsformen 1 bis 12. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, zu bestimmen, ob eine mit dem einen oder den mehreren Objekten verbundene Roboteraufgabe abgeschlossen ist. Die mindestens eine Verarbeitungsschaltung ist ferner konfiguriert, als Reaktion auf eine Bestimmung, dass die Roboteraufgabe abgeschlossen ist, zu bewirken, dass der erste Vorlagenspeicherplatz gelöscht wird, ohne den zweiten Vorlagenspeicherplatz zu löschen.
  • Ausführungsform 14 umfasst das Computersystem von Ausführungsform 13. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, zu bestimmen, dass die Roboteraufgabe abgeschlossen ist, wenn die mindestens eine Verarbeitungsschaltung nach dem Erzeugen des Bewegungsbefehls bestimmt, dass gegenwärtig kein Objekt zur Roboterinteraktion mit dem Roboter verblieben ist.
  • Ausführungsform 15 umfasst das Computersystem von einer der Ausführungsformen 1 bis 14. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, wenn sich mehrere Objekte im Sichtfeld der Bilderfassungsvorrichtung befinden, zu bewirken, dass jede Vorlage, die dem ausgewählten Vorlagenspeicherplatz hinzugefügt wird, auf einem entsprechenden Zielbildteil basiert, der mit einem entsprechenden Objekt der mehreren Objekte verbunden ist.
  • Ausführungsform 16 umfasst das Computersystem von einer der Ausführungsformen 1 bis 15. Bei dieser Ausführungsform ist die mindestens eine Verarbeitungsschaltung konfiguriert, eine erste Bitmap und eine zweite Bitmap zu erzeugen. Die erste Bitmap ist eine Deskriptorbitmap zum Identifizieren einer oder mehrerer Regionen des Zielbildteils, die einen oder mehrere entsprechende Deskriptoren umfassen, die aus dem Zielbildteil detektiert wurden, oder zum Angeben, dass kein Deskriptor in dem Zielbildteil detektiert wurde. Die zweite Bitmap ist eine Kantenbitmap zum Identifizieren einer oder mehrerer Regionen des Zielbildteils, die eine oder mehrere entsprechende Kanten umfassen, die aus dem Zielbildteil detektiert werden, oder zum Angeben, dass eine Kante in dem Zielbildteil nicht detektiert wurde. Bei dieser Ausführungsform basiert das Bestimmen, ob der Zielbildteil als texturiert oder texturlos zu klassifizieren ist, auf der ersten Bitmap und der zweiten Bitmap.
  • Es wird einem Durchschnittsfachmann offensichtlich sein, dass andere geeignete Modifikationen und Anpassungen an den hierin beschriebenen Verfahren und Anwendungen vorgenommen werden können, ohne vom Umfang einer der Ausführungsformen abzuweichen. Die vorstehend beschriebenen Ausführungsformen sind veranschaulichende Beispiele, und es sollte nicht der Schluss gezogen werden, dass die vorliegende Erfindung auf diese besonderen Ausführungsformen beschränkt ist. Es versteht sich, dass verschiedene Ausführungsformen, die hierin offenbart werden, in anderen Kombinationen kombiniert werden können, als die speziell in der Beschreibung und den begleitenden Zeichnungen dargestellten Kombinationen. Es versteht sich auch, dass abhängig vom Beispiel bestimmte Handlungen oder Ereignisse eines der hierin beschriebenen Prozesse oder Verfahren in einer anderen Reihenfolge ausgeführt, hinzugefügt, zusammengefügt oder ganz ausgelassen werden können (z. B. können nicht alle beschriebenen Handlungen oder Ereignisse zur Ausführung der Verfahren oder Prozesse erforderlich sein). Des Weiteren werden zwar bestimmte Merkmale von Ausführungsformen aus Gründen der Klarheit als von einer einzelnen Komponente, einem einzelnen Modul oder einer einzelnen Einheit ausgeführt beschrieben, jedoch versteht es sich, dass die hierin beschriebenen Merkmale und Funktionen von jeder beliebigen Kombination von Komponenten, Einheiten oder Modulen ausgeführt werden können. Daher können verschiedene Änderungen und Modifikationen von einem Fachmann vorgenommen werden, ohne vom Sinn oder Umfang der Erfindung, wie er in den beigefügten Ansprüchen definiert ist, abzuweichen.
  • 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 62/959182 [0001]
    • US 16/791024 [0045]
    • US 00770011 [0048]
    • US 16443743 [0063]

Claims (20)

  1. Computersystem, umfassend: eine Kommunikationsschnittstelle, die konfiguriert ist, mit einem Roboter und einer Bilderfassungsvorrichtung zu kommunizieren; mindestens eine Verarbeitungsschaltung, die konfiguriert ist, wenn sich ein oder mehrere Objekte in einem Sichtfeld der Bilderfassungsvorrichtung befinden oder befunden haben, zum: Erhalten eines Bildes zum Darstellen des einen oder der mehreren Objekte, wobei das Bild durch die Bilderfassungsvorrichtung erzeugt wird; Erzeugen eines Zielbildteils von dem Bild, wobei der Zielbildteil ein Teil des Bildes ist, der einem Objekt des einen oder der mehreren Objekte zugeordnet ist; Bestimmen, ob der Zielbildteil als texturiert oder texturlos zu klassifizieren ist; Auswählen eines Vorlagenspeicherplatzes aus einem ersten Vorlagenspeicherplatz und einem zweiten Vorlagenspeicherplatz basierend darauf, ob der Zielbildteil als texturiert oder texturlos klassifiziert wird, wobei der erste Vorlagenspeicherplatz relativ zu dem zweiten Vorlagenspeicherplatz häufiger gelöscht wird, wobei der erste Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturlos zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird, und der zweite Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturiert zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird; Ausführen einer Objekterkennung basierend auf dem Zielbildteil und dem ausgewählten Vorlagenspeicherplatz; und Erzeugen eines Bewegungsbefehls zum Bewirken einer Roboterinteraktion mit mindestens dem Objekt, wobei der Bewegungsbefehl basierend auf einem Ergebnis von der Objekterkennung erzeugt wird.
  2. Computersystem nach Anspruch 1, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, die Objekterkennung durch das Bestimmen auszuführen, ob der ausgewählte Vorlagenspeicherplatz eine Vorlage umfasst, die dem Zielbildteil entspricht.
  3. Computersystem nach Anspruch 1 oder 2, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, die Objekterkennung durch das Bestimmen auszuführen, ob der ausgewählte Vorlagenspeicherplatz eine oder mehrere Vorlagen umfasst, die eine visuelle Merkmalbeschreibung aufweisen, die dem Zielbildteil entspricht.
  4. Computersystem nach einem der Ansprüche 1 bis 3, wobei die Kommunikationsschnittstelle konfiguriert ist, mit einer Raumstrukturerfassungsvorrichtung zu kommunizieren, und wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, erfasste Strukturinformationen zum Beschreiben einer dem Objekt zugeordneten Objektstruktur zu empfangen, wobei die erfassten Strukturinformationen von der Raumstrukturerfassungsvorrichtung erzeugt werden, und wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, als Reaktion auf eine Bestimmung, den Zielbildteil als texturlos zu klassifizieren, die Objekterkennung weiter durch das Bestimmen auszuführen, ob der ausgewählte Vorlagenspeicherplatz eine oder mehrere Vorlagen umfasst, die eine Objektstrukturbeschreibung aufweisen, die mit den erfassten Strukturinformationen übereinstimmen.
  5. Computersystem nach Anspruch 2, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, als Reaktion auf eine Bestimmung, dass der ausgewählte Vorlagenspeicherplatz die Vorlage umfasst, die dem Zielbildteil entspricht, den Bewegungsbefehl basierend auf der Vorlage zu erzeugen.
  6. Computersystem nach einem der Ansprüche 2 bis 5, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist zum, als Reaktion auf eine Bestimmung, dass der ausgewählte Vorlagenspeicherplatz die Vorlage nicht umfasst, die dem Zielbildteil entspricht: Ausführen einer Objektregistrierung durch Erzeugen einer neuen Vorlage basierend auf dem Zielbildteil und Bewirken, dass die neue Vorlage in dem ausgewählten Vorlagenspeicherplatz gespeichert wird.
  7. Computersystem nach Anspruch 6, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, den Bewegungsbefehl basierend auf der neuen Vorlage zu erzeugen.
  8. Computersystem nach Anspruch 6 oder 7, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, die Objektregistrierung weiter auszuführen durch: Detektieren mindestens einer Ecke oder einer Kante in dem Zielbildteil als Reaktion auf das Bestimmen, dass der ausgewählte Vorlagenspeicherplatz die Vorlage, die dem Zielbildteil entspricht, nicht umfasst; und Bestimmen einer Region, die mindestens durch die Ecke oder Kante im Zielbildteil definiert ist, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, die neue Vorlage basierend auf der bestimmten Region zu erzeugen.
  9. Computersystem nach einem der Ansprüche 3 bis 8, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, wenn der ausgewählte Vorlagenspeicherplatz die Vorlage, die dem Zielbildteil entspricht, nicht umfasst, den Bewegungsbefehl basierend auf der bestimmten Region zu erzeugen.
  10. Computersystem nach Anspruch 8, wobei das Detektieren von mindestens einer Ecke oder Kante in dem Zielbildteil sowohl als Reaktion auf das Bestimmen, dass der ausgewählte Vorlagenspeicherplatz die Vorlage nicht umfasst, die dem Zielbildteil entspricht, als auch auf das Bestimmen, den Zielbildteil als texturiert zu klassifizieren, erfolgt, und wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, zu bewirken, dass die neue Vorlage in dem zweiten Vorlagenspeicherplatz gespeichert wird, wenn der Zielbildteil als texturiert klassifiziert wird.
  11. Computersystem nach einem der Ansprüche 6 bis 10, wobei die Kommunikationsschnittstelle konfiguriert ist, mit einer Raumstrukturerfassungsvorrichtung zu kommunizieren, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, erfasste Strukturinformationen zum Beschreiben einer dem Objekt zugeordneten Objektstruktur zu empfangen, wobei die erfassten Strukturinformationen von der Raumstrukturvorrichtung erzeugt werden, und wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, wenn der Zielbildteil als texturlos klassifiziert wird, die neue Vorlage derart zu erzeugen, dass sie eine Objektstrukturbeschreibung aufweist, welche die erfassten Strukturinformationen umfasst oder darauf basiert, und zu bewirken, dass die neue Vorlage im ersten Vorlagenspeicherplatz gespeichert wird.
  12. Computersystem nach einem der Ansprüche 1 bis 11, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, den Bewegungsbefehl ferner basierend darauf zu erzeugen, ob der Zielbildteil als texturiert oder texturlos klassifiziert wird.
  13. Computersystem nach einem der Ansprüche 1 bis 12, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist zum: Bestimmen, ob eine dem einen oder den mehreren Objekten zugeordnete Roboteraufgabe abgeschlossen ist, und als Reaktion auf eine Bestimmung, dass die Roboteraufgabe abgeschlossen ist, Bewirken, dass der erste Vorlagenspeicherplatz gelöscht wird, ohne den zweiten Vorlagenspeicherplatz zu löschen.
  14. Computersystem nach Anspruch 13, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, zu bestimmen, dass die Roboteraufgabe abgeschlossen ist, wenn die mindestens eine Verarbeitungsschaltung nach dem Erzeugen des Bewegungsbefehls bestimmt, dass gegenwärtig kein Objekt für eine Roboterinteraktion mit dem Roboter verblieben ist.
  15. Computersystem nach einem der Ansprüche 1 bis 14, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, wenn sich mehrere Objekte im Sichtfeld der Bilderfassungsvorrichtung befinden, zu bewirken, dass jede Vorlage, die dem ausgewählten Vorlagenspeicherplatz hinzugefügt wird, auf einem entsprechenden Zielbildteil basiert, der einem entsprechenden Objekt der mehreren Objekte zugeordnet ist.
  16. Computersystem nach einem der Ansprüche 1 bis 15, wobei die mindestens eine Verarbeitungsschaltung konfiguriert ist, eine erste Bitmap und eine zweite Bitmap basierend mindestens auf dem Zielbildteil zu erzeugen, wobei die erste Bitmap eine Deskriptorbitmap zum Identifizieren einer oder mehrerer Regionen des Zielbildteils ist, die einen oder mehrere entsprechende Deskriptoren umfassen, die von dem Zielbildteil detektiert wurden, oder zum Angeben, dass kein Deskriptor in dem Zielbildteil detektiert wurde, wobei die zweite Bitmap eine Kantenbitmap zum Identifizieren einer oder mehrerer Regionen des Zielbildteils ist, die eine oder mehrere entsprechende Kanten umfassen, die von dem Zielbildteil detektiert werden, oder zum Angeben, dass eine Kante in dem Zielbildteil nicht detektiert wurde, und wobei das Bestimmen, ob der Zielbildteil als texturiert oder texturlos zu klassifizieren ist, auf der ersten Bitmap und der zweiten Bitmap basiert.
  17. Nicht-flüchtiges computerlesbares Medium mit darauf befindlichen Befehlen, die bei Ausführung durch mindestens eine Verarbeitungsschaltung eines Computersystems die mindestens eine Verarbeitungsschaltung veranlassen zum: Erhalten eines Bildes, wobei das Computersystem konfiguriert ist, mit einer Bilderfassungsvorrichtung und mit einem Roboter zu kommunizieren, und wobei das Bild von der Bilderfassungsvorrichtung erzeugt wird und zum Darstellen eines oder mehrerer Objekte in einem Sichtfeld der Bilderfassungsvorrichtung dient; Erzeugen eines Zielbildteils von dem Bild, wobei der Zielbildteil ein Teil des Bildes ist, der einem Objekt des einen oder der mehreren Objekte zugeordnet ist; Bestimmen, ob der Zielbildteil als texturiert oder texturlos zu klassifizieren ist; Auswählen eines Vorlagenspeicherplatzes aus einem ersten Vorlagenspeicherplatz und einem zweiten Vorlagenspeicherplatz basierend darauf, ob der Zielbildteil als texturiert oder texturlos klassifiziert wird, wobei der erste Vorlagenspeicherplatz relativ zu dem zweiten Vorlagenspeicherplatz häufiger gelöscht wird, wobei der erste Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturlos zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird, und der zweite Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturiert zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird; Ausführen einer Objekterkennung basierend auf dem Zielbildteil und dem ausgewählten Vorlagenspeicherplatz; und Erzeugen eines Bewegungsbefehls zum Bewirken einer Roboterinteraktion mit dem Objekt, wobei der Bewegungsbefehl basierend auf einem Ergebnis von der Objekterkennung erzeugt wird.
  18. Nicht-flüchtiges computerlesbares Medium nach Anspruch 17, wobei die Befehle bei Ausführung von der mindestens einen Verarbeitungsschaltung die mindestens eine Verarbeitungsschaltung veranlassen, die Objekterkennung durch das Bestimmen auszuführen, ob der ausgewählte Vorlagenspeicherplatz eine Vorlage umfasst, die dem Zielbildteil entspricht, und als Reaktion auf eine Bestimmung, dass der ausgewählte Vorlagenspeicherplatz die Vorlage, die dem Zielbildteil entspricht, nicht umfasst, eine Objektregistrierung durch Erzeugen einer neuen Vorlage basierend auf dem Zielbildteil und Bewirken, dass die neue Vorlage in dem ausgewählten Vorlagenspeicherplatz gespeichert wird, auszuführen.
  19. Nicht-flüchtiges computerlesbares Medium nach Anspruch 17 oder 18, wobei die Befehle bei Ausführung von der mindestens einen Verarbeitungsschaltung die mindestens eine Verarbeitungsschaltung veranlassen zum: Bestimmen, ob eine dem einen oder den mehreren Objekten zugeordnete Roboteraufgabe abgeschlossen ist, und als Reaktion auf eine Bestimmung, dass die Roboteraufgabe abgeschlossen ist, zu bewirken, dass der erste Vorlagenspeicherplatz gelöscht wird, ohne den zweiten Vorlagenspeicherplatz zu löschen.
  20. Verfahren, das durch ein Computersystem ausgeführt wird, umfassend: Erhalten eines Bildes, durch das Computersystem, wobei das Computersystem konfiguriert ist, mit einer Bilderfassungsvorrichtung und einem Roboter zu kommunizieren, und wobei das Bild durch die Bilderfassungsvorrichtung erzeugt wird und zum Darstellen eines oder mehrerer Objekte in einem Sichtfeld der Bilderfassungsvorrichtung dient; Erzeugen eines Zielbildteils von dem Bild, wobei der Zielbildteil ein Teil des Bildes ist, der einem Objekt des einen oder der mehreren Objekte zugeordnet ist; Bestimmen, ob der Zielbildteil als texturiert oder texturlos zu klassifizieren ist; Auswählen eines Vorlagenspeicherplatzes aus einem ersten Vorlagenspeicherplatz und einem zweiten Vorlagenspeicherplatz basierend darauf, ob der Zielbildteil als texturiert oder texturlos klassifiziert wird, wobei der erste Vorlagenspeicherplatz relativ zu dem zweiten Vorlagenspeicherplatz häufiger gelöscht wird, wobei der erste Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturlos zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird, und der zweite Vorlagenspeicherplatz als Reaktion auf eine Bestimmung, den Zielbildteil als texturiert zu klassifizieren, als Vorlagenspeicherplatz ausgewählt wird; Ausführen einer Objekterkennung basierend auf dem Zielbildteil und basierend auf dem ausgewählten Vorlagenspeicherplatz; und Erzeugen eines Bewegungsbefehls zum Bewirken einer Roboterinteraktion mit dem Objekt, wobei der Bewegungsbefehl basierend auf einem Ergebnis von der Objekterkennung erzeugt wird.
DE102020213566.5A 2020-01-10 2020-10-28 Verfahren und Computersystem zur Objekterkennung oder Objektregistrierung basierend auf einer Bildklassifizierung Pending DE102020213566A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062959182P 2020-01-10 2020-01-10
US62/959,182 2020-01-10
US16/991,466 US11772271B2 (en) 2020-01-10 2020-08-12 Method and computing system for object recognition or object registration based on image classification
US16/991,466 2020-08-12

Publications (1)

Publication Number Publication Date
DE102020213566A1 true DE102020213566A1 (de) 2021-07-15

Family

ID=74860898

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020213566.5A Pending DE102020213566A1 (de) 2020-01-10 2020-10-28 Verfahren und Computersystem zur Objekterkennung oder Objektregistrierung basierend auf einer Bildklassifizierung

Country Status (4)

Country Link
US (1) US20230381971A1 (de)
JP (2) JP6844803B1 (de)
CN (1) CN113111899A (de)
DE (1) DE102020213566A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7417882B2 (ja) * 2021-08-09 2024-01-19 株式会社Mujin 計算システム、方法及び非一時的コンピュータ可読媒体
CN116110039A (zh) * 2021-08-09 2023-05-12 牧今科技 用于物体检测的系统和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US770011A (en) 1904-01-21 1904-09-13 Bucyrus Co Lower tumbler and ladder end for elevator-dredges.

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3426002B2 (ja) * 1993-09-20 2003-07-14 三菱電機株式会社 物体認識装置
JPH11333770A (ja) * 1998-03-20 1999-12-07 Kobe Steel Ltd 積荷位置姿勢認識装置
JP5939775B2 (ja) * 2011-11-30 2016-06-22 キヤノン株式会社 画像処理装置、画像処理プログラム、ロボット装置及び画像処理方法
JP2014029664A (ja) * 2012-06-28 2014-02-13 Seiko Epson Corp 比較画像範囲生成方法、位置姿勢検出方法、比較画像範囲生成装置、位置姿勢検出装置、ロボット、ロボットシステム、比較画像範囲生成プログラム及び位置姿勢検出プログラム
JP2019063984A (ja) * 2017-10-02 2019-04-25 キヤノン株式会社 情報処理装置、方法及びロボットシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US770011A (en) 1904-01-21 1904-09-13 Bucyrus Co Lower tumbler and ladder end for elevator-dredges.

Also Published As

Publication number Publication date
JP2021111354A (ja) 2021-08-02
JP2021111423A (ja) 2021-08-02
JP6844803B1 (ja) 2021-03-17
US20230381971A1 (en) 2023-11-30
CN113111899A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
DE112019000217B4 (de) Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Leitung zur automatischen Erkennung
DE112015005076T5 (de) Nicht-parametrisches Verfahren und System zum Abschätzen von Dimensionen von Objekten mit beliebiger Form
DE102020206387B4 (de) Verfahren und computersystem zur verarbeitung von kandidatenkanten
DE102020213566A1 (de) Verfahren und Computersystem zur Objekterkennung oder Objektregistrierung basierend auf einer Bildklassifizierung
US20210216767A1 (en) Method and computing system for object recognition or object registration based on image classification
DE102018119682A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium
DE102020127732A1 (de) Dreidimensionale (3d) tiefenbildgebungssysteme und -verfahren zur automatischen bestimmung einer versandcontainerfüllung basierend auf bildgebungsvorlagen
DE112022002858T5 (de) Bildbasierte anomalieerkennung basierend auf einer maschinellen lernanalyse eines objekts
DE102021121068A1 (de) 3d-erkennung mehrerer transparenter objekte
DE112019006132T5 (de) Verfahren, system und vorrichtung zur hilfsetikett-erkennung und -zuordnung
EP3696135A1 (de) Gabelstapler und system mit gabelstapler zur identifikation einer ware
DE102018006764B4 (de) Verfahren und system(e) für das management von frachtfahrzeugen
DE102021121612A1 (de) System und verfahren zum aufnehmen von kisten von einem stapel
DE102021104352A1 (de) Transporter-segmentierung für datenerfassungssystem
EP3767532A1 (de) Bestimmen einer verteil- und/oder sortierinformation zum automatisierten verteilen und/oder sortieren einer sendung
CN112288038B (zh) 基于图像分类的物体识别或物体注册的方法及计算系统
DE112017008146T5 (de) Verfahren und vorrichtung zum detektieren und zum erkennen von graphischen zeichendarstellungen in bilddaten unter verwendung symmetrisch angeordneter leerer flächen
DE102020213564A1 (de) Verfahren und System zur Ausführung von Bildklassifizierung für eine Objekterkennung
DE102018126310B3 (de) Verfahren zum Erstellen eines Objektmodells zum Greifen eines Objekts, computerlesbares Speichermedium und Robotersystem
DE112019004976T5 (de) Verfahren, system und vorrichtung zur objekterkennung in punktwolken
CN112288040B (zh) 执行用于物体识别的图像分类的方法和系统
DE102022128961A1 (de) Verwendung eines synthetischen datensatzes zum trainieren der robotergestützten depalettierung
DE102022134493A1 (de) Fehlschlagdetektion und wiederherstellung zur ai-entpalettierung
Savas et al. Critical evaluation of LOCO dataset with machine learning
DE112021005016T5 (de) Vorrichtung zur Verarbeitung von Schlussfolgerungen und Verfahren zur Verarbeitung von Schlussfolgerungen

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009780000

Ipc: G06V0030200000