DE102020116803A1 - System und verfahren zur objekterkennung auf der grundlage von bilddaten - Google Patents

System und verfahren zur objekterkennung auf der grundlage von bilddaten Download PDF

Info

Publication number
DE102020116803A1
DE102020116803A1 DE102020116803.9A DE102020116803A DE102020116803A1 DE 102020116803 A1 DE102020116803 A1 DE 102020116803A1 DE 102020116803 A DE102020116803 A DE 102020116803A DE 102020116803 A1 DE102020116803 A1 DE 102020116803A1
Authority
DE
Germany
Prior art keywords
edge information
mode
image
image data
dimensional
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
DE102020116803.9A
Other languages
English (en)
Inventor
Jinze Yu
Jose Jeronimo Moreira Rodrigues
Xutao Ye
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mujin Inc
Original Assignee
Mujin Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of DE102020116803A1 publication Critical patent/DE102020116803A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/181Segmentation; Edge detection involving edge growing; involving edge linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Multimedia (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Image Analysis (AREA)

Abstract

Es werden ein System und ein Verfahren zur Erkennung von Objekten bereitgestellt. Das Verfahren umfasst das Erzeugen einer ersten Kanteninformation aus ersten Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines ersten Modus der Bilderfassung, das Erzeugen einer zweiten Kanteninformation aus zweiten Bilddaten, die das Objekt repräsentieren, auf der Grundlage eines zweiten Modus der Bilderfassung, wobei sich der zweite Modus von dem ersten Modus unterscheidet, das Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation, um eine fusionierte Kanteninformation zu erzeugen, das Erzeugen einer Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation und das Validieren der Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, der ersten Kanteninformation und/oder der zweiten Ka nteni nformation.

Description

  • HINTERGRUND
  • Bereich
  • Die vorliegende Offenbarung betrifft Objekterkennung, und insbesondere Systeme und Verfahren zur Erkennung von Objektkanten.
  • Verwandter Stand der Technik
  • Bei einigen Bildverarbeitungsanwendungen kann die Erkennung der Kanten von Objekten oder Kisten bzw. Schachteln, die sich entlang einer Fördereinrichtung bewegen, auf einer Palette gestapelt oder in einem Container verpackt sind, wichtig sein, um Lücken zu erkennen und die Abmessungen oder die Art des Objekts zu bestimmen. Bei verwandten Systemen des Standes der Technik kann es jedoch aufgrund der Farbe oder der optischen Auflösung einer Kamera oder eines anderen verwendeten Bilderfassungsgeräts schwierig sein, Kontrast oder Grenzen zwischen zwei Objekten oder Kisten, zwischen einem Objekt und der Umgebung oder zwischen mehreren Objekten, die auf einer einzigen Palette verpackt sind, zu erkennen. Verwandte Systeme des Standes der Technik, die sich auf ein einziges Bilderfassungsgerät verlassen, können eine erhöhte Wahrscheinlichkeit haben, dass sie die Grenzen oder Kanten um die Objekte herum nicht finden oder erkennen können. Beispielimplementierungen der vorliegenden Erfindung können Mängel in den verwandten Systemen des Standes der Technik beheben.
  • Zusammenfassung der Offenbarung
  • Zu den Aspekten der vorliegenden Erfindung kann ein Verfahren zur Erkennung von Objekten gehören. Das Verfahren kann folgendes umfassen: Erzeugen einer ersten Kanteninformation aus ersten Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines ersten Modus der Bilderfassung, Erzeugen einer zweiten Kanteninformation aus zweiten Bilddaten, die das Objekt repräsentieren, auf der Grundlage eines zweiten Modus der Bilderfassung, wobei sich der zweite Modus von dem ersten Modus unterscheidet, Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation, um eine fusionierte Kanteninformation zu erzeugen, Erzeugen einer Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, und Validieren der Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, der ersten Kanteninformation und/oder der zweiten Kanteninformation.
  • Zusätzliche Aspekte der vorliegenden Erfindung können ein nichtflüchtiges computerlesbares Medium umfassen, das mit Befehlen kodiert ist, die ein Computergerät veranlassen, ein Verfahren zur Erkennung von Objekten auszuführen. Das Verfahren kann folgendes umfassen: Erzeugen einer ersten Kanteninformation aus ersten Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines ersten Modus der Bilderfassung, Erzeugen einer zweiten Kanteninformation aus zweiten Bilddaten, die das Objekt repräsentieren, auf der Grundlage eines zweiten Modus der Bilderfassung, wobei sich der zweite Modus von dem ersten Modus unterscheidet, Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation, um eine fusionierte Kanteninformation zu erzeugen, Erzeugen einer Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, und Validieren der Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, der ersten Kanteninformation und/oder der zweiten Ka nteni nformation.
  • Weitere Aspekte der vorliegenden Erfindung können ein Computersystem zur Erkennung von Objekten mittels Bildverarbeitung sein. Das Computersystem kann eine Systemschnittstelle und einen mit der Systemschnittstelle kommunikativ gekoppelten Prozessor enthalten. Die Systemschnittstelle kann so konfiguriert sein, dass sie erste Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines ersten Modus der Bilderfassung empfängt, und zweite Bilddaten, die das Objekt repräsentieren, auf der Grundlage eines zweiten Modus der Bilderfassung empfängt, wobei sich der zweite Modus vom ersten Modus unterscheidet. Der Prozessor kann so konfiguriert sein, dass er ein Objekterkennungsverfahren ausführt. Das Verfahren kann Folgendes umfassen: Erzeugen einer ersten Kanteninformation aus den ersten Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines ersten Modus der Bilderfassung, Erzeugen einer zweiten Kanteninformation aus den zweiten Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines zweiten Modus der Bilderfassung, wobei sich der zweite Modus von dem ersten Modus unterscheidet, Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation, um eine fusionierte Kanteninformation zu erzeugen, Erzeugen einer Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, und Validieren der Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, der ersten Kanteninformation und/oder der zweiten Kanteninformation.
  • Zusätzliche Aspekte der vorliegenden Erfindung können ein weiteres Objekterkennungssystem zur Erkennung von Objekten mittels Bildverarbeitung beinhalten. Das System kann Vorrichtungen umfassen, die so konfiguriert sind, dass sie Bilder eines ersten Bilderfassungsmodus erfassen und Bilder eines zweiten Bilderfassungsmodus erfassen, Vorrichtungen, die so konfiguriert sind, dass sie erste Objektkanteninformationen aus Bilddaten erzeugen, die mit einem ersten Modus der Bilderfassung gesammelt wurden, und zweite Objektkanteninformationen aus Bilddaten erzeugen, die mit einem zweiten Modus der Bilderfassung gesammelt wurden, wobei sich der zweite Modus vom ersten Modus unterscheidet, und einen Prozessor. Der Prozessor kann konfiguriert sein, um die erste Objektkanteninformation und die zweite Objektkanteninformation zu fusionieren, um eine fusionierte Kanteninformation zu erzeugen, eine Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation zu erzeugen und die Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, der ersten Objektkanteninformation und der zweiten Objektkanteninformation zu validieren.
  • Figurenliste
  • Die beispielhafte(n) Ausführungsform(en) der vorliegenden Erfindung wird (werden) anhand der folgenden Abbildungen ausführlich beschrieben, wobei
    • 1A eine Darstellung einer Beispielumgebung ist, in der ein Robotersystem, das beispielhafte Ausführungsformen der vorliegenden Erfindung einschließt, verwendet werden kann,
    • 1B ein Blockdiagramm ist, das das Robotersystem, das beispielhafte Ausführungsformen der vorliegenden Erfindung einschließt, veranschaulicht,
    • 2 eine Vorrichtung zur Erkennung von Objekten darstellt, die sich entlang einer Fördervorrichtung bewegen, gemäß einem ersten Implementierungsbeispiel der vorliegenden Erfindung,
    • 3 eine Vorrichtung zur Erkennung von Objekten zeigt, die sich entlang einer Fördervorrichtung bewegen, gemäß einem zweiten Implementierungsbeispiel der vorliegenden Erfindung,
    • 4 eine Vorrichtung zur Erkennung von Objekten darstellt, die sich entlang einer Fördervorrichtung bewegen, gemäß einem dritten Implementierungsbeispiel der vorliegenden Erfindung,
    • 5 eine schematische Darstellung von Bilddaten zeigt, die gemäß einem Vergleichsbeispiel repräsentativ für Kantenerkennungsergebnisse einer einzelnen Bilderfassungsvorrichtung oder Kamera sein können,
    • 6 eine schematische Ansicht einer Darstellung von fusionierten Bilddaten zeigt, die repräsentativ für die Ergebnisse der fusionierten Kantenerkennung sein können, anhand einer Beispielimplementierung der vorliegenden Erfindung,
    • 7A und 7B schematische Darstellungen einer ungenauen Erkennungshypothese zeigen, die durch die Verwendung der fusionierten erkannten Kantendaten gemäß Beispielimplementierungen der vorliegenden Erfindung vermieden werden können,
    • 8 ein Flussdiagramm eines Verfahrens zur Objekterkennung und -validierung gemäß Beispielimplementierungen der vorliegenden Erfindung darstellt,
    • 9 eine beispielhafte Computerumgebung mit einer beispielhaften Computervorrichtung zeigt, die zur Verwendung in einigen Beispielimplementierungen der vorliegenden Erfindung geeignet ist.
  • Detaillierte Beschreibung
  • Die folgende detaillierte Beschreibung enthält weitere Einzelheiten zu den Abbildungen und Beispielimplementierungen der vorliegenden Erfindung. Bezugszahlen und Beschreibungen von redundanten Elementen in den Abbildungen sind aus Gründen der Übersichtlichkeit weggelassen. Die in der gesamten Beschreibung verwendeten Begriffe dienen als Beispiele und sollen nicht einschränkend wirken. Beispielsweise kann die Verwendung des Begriffs „automatisch“ vollautomatische oder halbautomatische Implementierungen umfassen, bei denen der Benutzer oder Bediener die Kontrolle über bestimmte Aspekte der Implementierung hat, je nach der von einem Fachmann gewünschten Implementierung, der die Implementierungen der vorliegenden Erfindung ausführt. Ferner können in der Beschreibung und in den Ansprüchen sequenzielle Begriffe wie „erste“, „zweite“, „dritte“ usw. lediglich zu Kennzeichnungszwecken verwendet werden und sollten sich nicht darauf beschränken, sich auf beschriebene Handlungen oder Gegenstände zu beziehen, die in der beschriebenen Reihenfolge auftreten. Handlungen oder Gegenstände können in eine andere Reihenfolge gebracht oder parallel oder dynamisch ausgeführt werden, ohne dass der Schutzumfang der vorliegenden Erfindung verlassen wird.
  • Bei der vorliegenden Erfindung kann der Begriff „computerlesbares Medium“ eine lokale Speichervorrichtung, eine Cloud-basierte Speichervorrichtung, einen entfernt aufgestellten Server oder jede andere Speichervorrichtung umfassen, die für eine Person mit durchschnittlichem Fachwissen offensichtlich ist.
  • Beispielimplementierungen von Bildverarbeitungs- oder Objekterkennungssystemen gemäß der vorliegenden Erfindung können die Wahrscheinlichkeiten der Erkennung von Objektkanten verbessern, z.B. durch die Erkennung von Lücken oder Zwischenräumen zwischen Objekten oder Kisten bzw. Schachteln, indem zwei oder mehr Modi von Bilddaten verwendet werden, um Lücken oder Kontrastunterschiede zwischen Objekten zu erkennen. Durch die Verwendung von zwei oder mehr Modi von Bilddaten können Unterschiede in Material, Hintergrund, Gehäuse oder Objekten, Umgebungsbeleuchtung oder Reflexion erkannt werden, und auf der Grundlage dieser Erkennungen kann das Computersystem fusionierte Kanteninformationen erzeugen, um Kanten zwischen Lücken oder Punktwolken zu identifizieren, um Objektgrößen zu bestimmen. Darüber hinaus können, wie unten erläutert, durch die Fusion von Kanteninformationen, die unter Verwendung verschiedener Bilddatenmodi erkannt werden, Beispielimplementierungen die umgebende Kontur des Objekts oder der Kisten bzw. Schachtel, d.h. die Kanten der Kistens auf der Karte, sehen, was zu einer besseren Möglichkeit führt, diesen Bereich zu definieren und korrekte Erkennungshypothesen für die spätere Verarbeitung zu liefern. Indem die Wahrscheinlichkeit der Erkennung von Objektpositionen und -konturen verbessert wird, können Objekte innerhalb einer industriellen Verarbeitungs-, Verpackungs- oder Versandeinrichtung besser verfolgt und lokalisiert werden.
  • Die hier beschriebenen Beispielimplementierungen können sich auf die Nachverfolgung von Paletten oder Kisten bzw. Schachteln beziehen, die sich durch eine Sortier- oder Fertigungsanlage bewegen. Die Beispielimplementierungen sind jedoch nicht auf diese Anwendungen beschränkt. Die Beispielimplementierungen der hier beschriebenen Verfahren und Systeme können auch für 3D-Kartierungen, autonome Bildverarbeitungs- oder andere Anwendungen verwendet werden, die von einer verbesserten Kantenerkennung profitieren können. Im Vergleich zu herkömmlichen Kantenerkennungssystemen können Beispielimplementierungen verbesserte Ergebnisse bei der Kantenerkennung liefern, indem mehr Datenmodule verwendet werden, um die Schwäche oder Einschränkungen verschiedener Erfassungsvorrichtungen zu überwinden und die Stärken oder Fähigkeiten für die gegebene Umgebung zu kombinieren.
  • Geeignete Umgebungen
  • 1A ist eine Veranschaulichung einer Beispielumgebung, in der ein Robotersystem 100 mit Bildverarbeitungs- oder Objekterkennungssystemen gemäß den beispielhaften Ausführungsformen der vorliegenden Anmeldung verwendet wird. Das Robotersystem 100 umfasst eine oder mehrere Strukturen (z.B. Roboter), die zur Ausführung einer oder mehrerer Aufgaben konfiguriert sind. Aspekte des Stückverlust-Verwaltungsmechanismus können von den verschiedenen Strukturen ausgeübt oder implementiert werden.
  • Für das in 1A dargestellte Beispiel kann das Robotersystem 100 eine Entladeeinheit 102, eine Transfereinheit 104, eine Transporteinheit 106, eine Ladeeinheit 108 oder eine Kombination davon in einem Lager oder einem Verteiler-/Versandzentrum umfassen. Jede der Einheiten im Robotersystem 100 kann so konfiguriert sein, dass sie eine oder mehrere Aufgaben ausführt. Die Aufgaben können nacheinander kombiniert werden, um eine Operation durchzuführen, mit der ein Ziel erreicht wird, z. B. das Entladen von Objekten aus einem Lastwagen oder Lieferwagen zur Lagerung in einem Lager oder das Entladen von Objekten aus Lagerorten und das Verladen auf einen Lastwagen oder Lieferwagen zum Versand. In einem anderen Beispiel kann die Aufgabe das Bewegen von Objekten von einem Container zu einem anderen Container umfassen. Jede der Einheiten kann so konfiguriert sein, dass sie eine Folge von Aktionen ausführt (z.B. die Bedienung einer oder mehrerer Komponenten darin), um eine Aufgabe auszuführen.
  • Bei einigen Ausführungsformen kann die Aufgabe die Manipulation (z. B. Verschieben und/oder Neuausrichten) eines Zielobjekts 112 (z. B. Schachteln, Kisten, Käfige, Paletten usw.) von einem Startort 114 zu einem Aufgabenort 116 umfassen. Zum Beispiel kann die Entladeeinheit 102 (z.B. ein Lastwagenentladeroboter) so konfiguriert sein, dass sie das Zielobjekt 112 von einem Ort in einem Träger (z.B. einem Lastwagen) zu einem Ort auf einem Förderband transportiert. Auch die Transfereinheit 104 (z.B. ein Palettierroboter) kann so konfiguriert sein, dass sie das Zielobjekt 112 von einem Ort auf dem Förderband zu einem Ort auf der Transporteinheit 106 überführt, z.B. zum Laden des Zielobjekts 112 auf eine Palette auf der Transporteinheit 106.
  • Gemäß einer anderen beispielhaften Ausführungsform kann die Transporteinheit 104 (z.B. ein Stück-Kommissionierroboter) so konfiguriert sein, dass sie das Zielobjekt 112 von einem Behälter in einen anderen Behälter überführt. Nach Abschluss des Vorgangs kann die Transporteinheit 106 das Zielobjekt 112 von einem mit der Transfereinheit 104 verbundenen Bereich in einen mit der Ladeeinheit 108 verbundenen Bereich transferieren. Die Ladeeinheit 108 kann das Zielobjekt 112 (z.B. durch Bewegen der Palette mit dem Zielobjekt 112) von der Transfereinheit 104 an einen Lagerort (z.B. einen Platz in den Regalen) überführen.
  • Einzelheiten zu der Aufgabe und den damit verbundenen Aktionen werden im Folgenden beschrieben.
  • Zur Veranschaulichung wird das Robotersystem 100 im Kontext eines Versandzentrums beschrieben; es wird jedoch davon ausgegangen, dass das Robotersystem 100 so konfiguriert sein kann, dass es Aufgaben in anderen Umgebungen und für andere Zwecke ausführt, z. B. für die Fertigung, Montage, Verpackung, das Gesundheitswesen und/oder andere Arten der Automatisierung. Es wird auch davon ausgegangen, dass das Robotersystem 100 andere Einheiten, wie z.B. Manipulatoren, Serviceroboter, modulare Roboter usw. umfassen kann, die nicht in 1 dargestellt sind.
  • Beispielsweise kann das Robotersystem 100 in einigen Ausführungsformen eine Entpalettiereinheit zum Transferieren der Objekte von Käfigen, Wagen oder Paletten auf Förderer oder andere Paletten, eine Behälterwechseleinheit zum Transferieren der Objekte von einem Behälter in einen anderen, eine Verpackungseinheit zum Einwickeln der Objekte, eine Sortiereinheit zum Gruppieren der Objekte nach einem oder mehreren Merkmalen davon, eine Stückkommissioniereinheit zum Manipulieren (z.B. zum Sortieren, Gruppieren und/oder Transferieren) der Objekte je nach einem oder mehreren Merkmalen davon oder einer Kombination davon umfassen.
  • Geeignetes System
  • 1B ist ein Blockdiagramm, das das Robotersystem 100 mit Bildverarbeitungs-oder Objekterkennungssystemen gemäß beispielhaften Ausführungsformen der gegenwärtigen Technologie veranschaulicht. In einigen Ausführungsformen kann z.B. das Robotersystem 100 (z.B. an einer oder mehreren der oben beschriebenen Einheiten und/oder Roboter) elektronische/elektrische Geräte enthalten, wie z.B. einen oder mehrere Prozessoren 118, ein oder mehrere Speichergeräte 120, ein oder mehrere Kommunikationsgeräte 122, ein oder mehrere Ein-/Ausgabegeräte 124, ein oder mehrere Betätigungsgeräte 128, einen oder mehrere Transportmotoren 130, einen oder mehrere Sensoren 132 oder eine Kombination davon.
  • Die verschiedenen Geräte können über Drahtverbindungen und/oder drahtlose Verbindungen kommunikativ miteinander gekoppelt sein. Beispielsweise kann das Robotersystem 100 einen Bus, wie einen Systembus, einen PCI-Bus (Peripheral Component Interconnect) oder PCI-Express-Bus, einen HyperTransport- oder ISA-Bus (Industry Standard Architecture), einen SCSI-Bus (Small Computer System Interface), einen USB-Bus (Universal Serial Bus), einen IIC-Bus (I2C) oder einen 1394-Bus (auch als „FIREWIRE“ bezeichnet) nach dem Standard des Institute of Electrical and Electronics Engineers (IEEE) umfassen. Das Robotersystem 100 kann z.B. auch Brücken, Adapter, Steuervorrichtungen oder andere signalbezogene Geräte enthalten, um die Drahtverbindungen zwischen den Geräten herzustellen. Die drahtlosen Verbindungen können z.B. auf zellularen Kommunikationsprotokollen (z.B. 3G, 4G, LTE, 5G usw.), Protokollen des drahtlosen lokalen Netzwerks (LAN) (z.B. Wireless Fidelity (WIFI)), Peer-to-Peer- oder direkten Geräte (Device-to-Device)-Kommunikationsprotokollen (z.B. Bluetooth, Near-Field-Kommunikation (NFC) usw.), Internet der Dinge (Internet of Things, IoT)-Protokollen (z.B. NB-IoT, LTE-M usw.) und/oder anderen drahtlosen Kommunikationsprotokollen basieren.
  • Zu den Prozessoren 118 können Datenprozessoren (z.B. Zentraleinheiten (CPUs), Spezialcomputer und/oder Onboard-Server) gehören, die so konfiguriert sind, dass sie auf den Speichergeräten 120 (z.B. Computerspeicher) gespeicherte Befehle (z.B. Softwarebefehle) ausführen. Die Prozessoren 118 können die Programmbefehle zur Steuerung/Schnittstellenbildung mit anderen Geräten implementieren und dadurch das Robotersystem 100 zur Ausführung von Aktionen, Aufgaben und/oder Operationen veranlassen.
  • Die Speichergeräte 120 können nichtflüchtige computerlesbare Medien enthalten, auf denen Programmbefehle (z.B. Software) gespeichert sind. Einige Beispiele für die Speichereinheiten 120 können flüchtigen Speicher (z.B. Cache-Speicher und/oder RAM (Random Access Memory) und/oder nichtflüchtigen Speicher (z.B. Flash-Speicher und/oder Magnetplattenlaufwerke) enthalten. Andere Beispiele für die Speichergeräte 120 können tragbare Speicherlaufwerke und/oder Cloud-Speichergeräte sein.
  • In einigen Ausführungsformen können die Speichergeräte 120 zur weiteren Speicherung von und zum Zugriff auf Verarbeitungsergebnisse und/oder Daten/Schwellenwerte (z. B. vorgegebene Daten und Schwellenwerte) verwendet werden. Die Speichergeräte 120 können z.B. Stammdaten speichern, die Beschreibungen von Objekten (z.B. Schachteln, Kisten und/oder Produkte) enthalten, die durch das Robotersystem 100 manipuliert werden können. In einer oder mehreren Ausführungsformen können die Stammdaten eine Abmessung, eine Form (z.B. Schablonen für potentielle Posen und/oder computergenerierte Modelle zur Erkennung des Objekts in verschiedenen Posen), ein Farbschema, ein Bild, Identifikationsinformationen (z.B. Strichcodes, Quick-Response (QR)-Codes, Logos usw. und/oder erwartete Positionen davon), ein erwartetes Gewicht oder eine Kombination davon für die Objekte, die vom Robotersystem 100 manipuliert werden sollen, enthalten. In einigen Ausführungsformen können die Stammdaten manipulationsbezogene Informationen bezüglich der Objekte enthalten, wie z.B. einen Massenmittelpunkt auf jedem der Objekte, erwartete Sensormessungen (z.B. für Kraft-, Drehmoment-, Druck- und/oder Kontaktmessungen), die einer oder mehreren Aktionen/Manövern entsprechen, oder eine Kombination davon.
  • Die Speichergeräte 120 können beispielsweise auch Objektverfolgungsdaten speichern. In einigen Ausführungsformen können die Objektverfolgungsdaten ein Protokoll der gescannten oder manipulierten Objekte enthalten. In einigen Ausführungsformen können die Objektverfolgungsdaten Bilddaten (z. B. ein Bild, eine Punktwolke, eine Live-Videoeinspeisung usw.) der Objekte an einem oder mehreren Orten (z. B. bestimmten Aufnahme- oder Abgabeplätzen und/oder Förderbändern) enthalten. In einigen Ausführungsformen können die Objektverfolgungsdaten Standorte und/oder Ausrichtungen der Objekte an einem oder mehreren Standorten umfassen.
  • Die Kommunikationsgeräte 122 können Schaltungen enthalten, die so konfiguriert sind, dass sie über ein Netzwerk mit externen oder entfernten Geräten kommunizieren. Beispielsweise können die Kommunikationsgeräte 122 Empfänger, Sender, Modulatoren/Demodulatoren (Modems), Signaldetektoren, Signalkodierer/ -dekodierer, Steckverbinderanschlüsse, Netzwerkkarten usw. umfassen. Die Kommunikationsgeräte 122 können so konfiguriert sein, dass sie elektrische Signale gemäß einem oder mehreren Kommunikationsprotokollen (z.B. dem Internet-Protokoll (IP), drahtlosen Kommunikationsprotokollen usw.) senden, empfangen und/oder verarbeiten. In einigen Ausführungsformen kann das Robotersystem 100 die Kommunikationsgeräte 122 verwenden, um Informationen zwischen Einheiten des Robotersystems 100 auszutauschen und/oder Informationen (z.B. zu Zwecken der Berichterstattung, Datenerfassung, Analyse und/oder Fehlerbehebung) mit Systemen oder Geräten außerhalb des Robotersystems 100 auszutauschen.
  • Die Ein-/Ausgabegeräte 124 können Benutzerschnittstellengeräte umfassen, die so konfiguriert sind, dass sie Informationen an Bediener (z.B. menschliche Bediener) übermitteln und/oder von diesen Informationen empfangen. Die Ein-/Ausgabegeräte 124 können z.B. ein Display 126 und/oder andere Ausgabegeräte (z.B. einen Lautsprecher, eine Haptikschaltung oder ein taktiles Rückmeldegerät usw.) zur Übermittlung von Informationen an den menschlichen Bediener enthalten. Die Ein-/Ausgabegeräte 124 können auch Steuer- oder Empfangsgeräte umfassen, wie z.B. eine Tastatur, eine Maus, einen Touchscreen, ein Mikrofon, einen Sensor für die Benutzerschnittstelle (UI) (z.B. eine Kamera zum Empfang von Bewegungsbefehlen), ein tragbares Eingabegerät usw. In einigen Ausführungsformen kann das Robotersystem 100 die Ein-/Ausgabegeräte 124 verwenden, um mit den menschlichen Bedienern bei der Ausführung einer Handlung, einer Aufgabe, eines Vorgangs oder einer Kombination davon zu interagieren.
  • Das Robotersystem 100 kann physische oder strukturelle Elemente (z.B. Roboter-Manipulatorarme) enthalten, die an Verbindungen zur Bewegung (z.B. Rotations-und/oder Translationsverschiebungen) verbunden sind. Die Strukturelemente und die Verbindungen können eine kinetische Kette bilden, die so konfiguriert ist, dass sie einen Endeffektor (z.B. den Greifer) manipulieren, der so konfiguriert ist, dass er eine oder mehrere Aufgaben ausführt (z.B. Greifen, Drehen, Schweißen usw.), je nach Verwendung/Betrieb des Robotersystems 100. Das Robotersystem 100 kann die Betätigungsvorrichtungen 128 (z.B. Motoren, Aktuatoren, Drähte, künstliche Muskeln, elektroaktive Polymere usw.) enthalten, die konfiguriert sind, um die Strukturelemente um oder an einer entsprechenden Verbindung anzutreiben oder zu manipulieren (z.B. zu verschieben und/oder neu auszurichten). In einigen Ausführungsformen kann das Robotersystem 100 die Transportmotoren 130 enthalten, die so konfiguriert sind, dass sie die entsprechenden Einheiten/Fahrgestelle von Ort zu Ort transportieren.
  • Das Robotersystem 100 kann die Sensoren 132 enthalten, die so konfiguriert sind, dass sie Informationen erhalten, die zur Durchführung der Aufgaben verwendet werden, z.B. zur Manipulation der Strukturelemente und/oder zum Transport der Robotereinheiten. Die Sensoren 132 können Vorrichtungen enthalten, die so konfiguriert sind, dass sie eine oder mehrere physikalische Eigenschaften des Robotersystems 100 (z.B. einen Zustand, einen Zustand und/oder einen Ort eines oder mehrerer Strukturelemente/Verbindungen davon) und/oder für eine Umgebung erfassen oder messen. Einige Beispiele für die Sensoren 132 können Beschleunigungsmesser, Gyroskope, Kraftsensoren, Dehnungsmessstreifen, taktile Sensoren, Drehmomentsensoren und Positionsgeber sein.
  • In einigen Ausführungsformen können die Sensoren 132 beispielsweise ein oder mehrere Bilderfassungsgeräte 134 (z.B. 2-dimensionale und/oder 3-dimensionale Kameras einschließlich visueller und/oder Infrarotkameras, LADARs, RADARs und/oder andere Abstandsmess- oder Abbildungsgeräte) umfassen, die so konfiguriert sind, dass sie die Umgebung erfassen. Das Bilderfassungsgerät 134 kann die erfasste Umgebung erkennen und eine Darstellung der erkannten Umgebung erzeugen, wie z.B. ein digitales Bild und/oder eine Punktwolke, die für die Implementierung der maschinellen/computergestützten Bildverarbeitung (z.B. für automatische Inspektion, Roboterführung oder andere Roboteranwendungen) verwendet wird. Wie weiter unten näher beschrieben, kann das Robotersystem 100 (z.B. über die Prozessoren 118) das digitale Bild und/oder die Punktwolke verarbeiten, um das Zielobjekt 112 von 1A, den Startort 114 von 1A, den Aufgabenort 116 von 1A, eine Pose des Zielobjekts 112 von 1A oder eine Kombination davon zu identifizieren.
  • Zur Manipulation des Zielobjekts 112 kann das Robotersystem 100 (z.B. über die verschiedenen Einheiten) ein Bild eines bestimmten Bereichs (z.B. innerhalb des Lastwagens, innerhalb des Containers oder eines Aufnahmeortes für Objekte auf dem Förderband) erfassen und analysieren, um das Zielobjekt 112 und dessen Startort 114 zu identifizieren. In ähnlicher Weise kann das Robotersystem 100 ein Bild eines anderen bezeichneten Bereichs (z.B. einer Abgabestelle zum Ablegen von Objekten auf dem Förderband, einer Stelle zum Ablegen von Objekten im Inneren des Containers oder einer Stelle auf der Palette zu Stapelzwecken) erfassen und analysieren, um den Aufgabenort 116 zu identifizieren.
  • Die Sensoren 132 können z.B. auch Positionssensoren 136 (z.B. Positionsgeber, Potentiometer usw.) enthalten, die so konfiguriert sind, dass sie die Positionen von Strukturelementen (z.B. der Roboterarme und/oder der Endeffektoren) und/oder der entsprechenden Verbindungen des Robotersystems 100 erkennen. Das Robotersystem 100 kann die Positionssensoren 136 verwenden, um die Positionen und/oder Ausrichtungen der Strukturelemente und/oder der Verbindungen während der Ausführung der Aufgabe zu verfolgen.
  • In einigen Ausführungsformen können die Sensoren 132 Kontaktsensoren 138 (z.B. Drucksensoren, Kraftsensoren, Dehnungsmessstreifen, piezoresistive/piezoelektrische Sensoren, kapazitive Sensoren, elastoresistive Sensoren und/oder andere taktile Sensoren) enthalten, die so konfiguriert sind, dass sie eine Eigenschaft messen, die einem direkten Kontakt zwischen mehreren physischen Strukturen oder Oberflächen zugeordnet ist. Die Kontaktsensoren 138 können die Eigenschaft messen, die einem Griff des Endeffektors (z.B. des Greifers) auf das Zielobjekt 112 entspricht. Dementsprechend können die Kontaktsensoren 138 ein Kontaktmaß ausgeben, das ein quantifiziertes Maß darstellt (z.B. eine gemessene Kraft, ein gemessenes Drehmoment, eine gemessene Position usw.), das einem Grad der Berührung oder Befestigung zwischen dem Greifer und dem Zielobjekt 112 entspricht. Beispielsweise kann das Kontaktmaß eine oder mehrere Kraft- oder Drehmomentmessungen umfassen, die den vom Endeffektor auf das Zielobjekt 112 ausgeübten Kräften entsprechen. Einzelheiten zur Kontaktmessung werden nachstehend beschrieben.
  • Wie weiter unten näher beschrieben, kann das Robotersystem 100 (z.B. über die Prozessoren 118) verschiedene Aktionen implementieren, um die Aufgabe basierend auf der Kontaktmessung zu erfüllen. Beispielsweise kann das Robotersystem 100 das Zielobjekt 112 neu greifen, wenn die anfängliche Kontaktmessung unter einem Schwellenwert liegt. Außerdem kann das Robotersystem 100 das Zielobjekt 112 absichtlich fallen lassen, die Aufgabenposition 116 anpassen, eine Geschwindigkeit oder eine Beschleunigung für die Aktion oder eine Kombination davon einstellen, wenn die Kontaktmessung während der Ausführung der Aufgabe unter einen Schwellenwert fällt.
  • Beispielausführungen von Endeffektoren (z.B. der Greifer) entsprechend der vorliegenden Anwendung können eine größere Flexibilität bei der Werkzeugauswahl und -anpassung haben, indem sie die Möglichkeit bieten, einen Werkzeugkopf je nach benötigten Fähigkeiten zu wechseln. Beispielsweise können variable Greifer ausgetauscht werden, um dem Typ des zu greifenden Objekts zu entsprechen. Die Anpassung kann auf der Grundlage der Größe des Objekts, der Feinheit des Objekts oder jedes anderen Faktors erfolgen, der für eine Person mit durchschnittlichen Fachkenntnissen auf diesem Gebiet offensichtlich ist. Diese Änderungsmöglichkeit wird durch eine Verbinderstruktur bereitgestellt, die kommunikativ mit einem Steuermodul gekoppelt ist, das so konfiguriert ist, dass es die Änderung des Werkzeugs erfasst und die Signal-E/A-Operation und die zugeführten Druckluftzuführungen so anpasst, dass sie den Anforderungen des neuen Werkzeugs entsprechen.
  • Beispiel-Implementierungen
  • 2 veranschaulicht eine Vorrichtung 205 zum Erkennen von Objekten 275a-275c, die sich entlang einer Fördervorrichtung 220 bewegen, gemäß einer ersten Beispielimplementierung der vorliegenden Erfindung. Die Vorrichtung 205 kann zwei Bilddatenerfassungsvorrichtungen 210/212 enthalten, die in einem Abstand entlang einer Z-Achse von der Fördervorrichtung 220 beabstandet angeordnet sind. Wie dargestellt, sind die Bilddatenerfassungsvorrichtungen 210/212 in einer Bewegungsrichtung der Objekte 275a-275c entlang der Fördervorrichtung 220 ausgerichtet und befinden sich auf derselben Seite der Fördervorrichtung 220 wie die Objekte 275a-275c. Die Beispielimplementierungen sind jedoch nicht auf diese Konfiguration beschränkt und können in anderen Konfigurationen angeordnet werden, wie es für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist. Andere Beispielkonfigurationen werden in den nachstehenden 3 und 4 erläutert. Ferner wird zur Veranschaulichung die Vorrichtung 205 mit den Objekten 275a-275c auf der Fördervorrichtung 220 gezeigt, obwohl davon ausgegangen wird, dass die Objekte 275a-275c in einer anderen Konfiguration angeordnet werden können. Beispielsweise können die Objekte 275a-275c gestapelt oder auf einer Plattform, z.B. einer Palette, oder innerhalb eines Objektbehälters, z.B. eines Wagens oder Behälters, angeordnet sein.
  • In einigen Beispielimplementierungen kann es sich bei einer oder beiden Bilddatenerfassungsvorrichtungen 210/212 um zweidimensionale Bilderfassungsgeräte oder Kameras handeln, wie z.B. eine Farbbildkamera (z.B. eine RGB-Kamera), eine Farbvideokamera, eine Monochrom- oder Graustufen-Standbildkamera, eine Monochrom- oder Graustufen-Videokamera oder jedes andere zweidimensionale Bilderfassungsgerät, das für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich sein könnte. Darüber hinaus kann in einigen Beispielimplementierungen jede der Bilddatenerfassungsvorrichtungen 210/212 ein anderer Typ eines zweidimensionalen Bilderfassungsgerätes sein (z.B. kann eine Bilddatenerfassungsvorrichtung eine RGB-Kamera und die andere Bilddatenerfassungsvorrichtung eine Monochromkamera oder jede andere Kombination von zweidimensionalen Bilderfassungsgeräten sein, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich sein könnte).
  • In einigen Beispielimplementierungen kann eine oder beide der Bilddatenerfassungsvorrichtungen 210/212 ein dreidimensionales Bilderfassungsgerät sein, das in der Lage ist, 3D-Punktwolkeninformationen zu erzeugen, wie z.B. eine Stereo-Vision-Kamera, eine Entfernungsbildkamera (d.h. eine TOF-Kamera (Time of Flight)) oder jedes andere Gerät, das in der Lage ist, 3D-Punktwolkeninformationen zu erzeugen. Zusätzlich kann in einigen Beispielimplementierungen jede der Bilddatenerfassungsvorrichtungen 210/212 ein anderer Typ eines dreidimensionalen Bilderfassungsgerätes sein (z.B. kann ein Bilderfassungsgerät eine Stereo-Vision-Kamera und das andere Bilderfassungsgerät eine Laufzeitkamera (Time-of-Flight-Kamera) oder jede andere Kombination von dreidimensionalen Bilderfassungsgeräten sein, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist).
  • Darüber hinaus kann in einigen Beispielimplementierungen eine der Bilddatenerfassungsvorrichtungen (z.B. Vorrichtung 210) eine zweidimensionale Bilddatenerfassungsvorrichtung und die andere der Bilddatenerfassungsvorrichtungen (z.B. Vorrichtung 212) eine dreidimensionale Bilddatenerfassungsvorrichtung sein.
  • Wie in 2 dargestellt, können die Bilddatenerfassungsvorrichtungen 210/212 so konfiguriert sein, dass sie Bilddaten der Objekte 275a-275c erfassen oder erzeugen, wenn diese während der Fahrt auf der Fördervorrichtung 220 sich unter den Bilddatenerfassungsvorrichtungen 210/212 hindurchbewegen. In einigen Beispielimplementierungen können die Objekte 275a-275c Kisten bzw. Schachteln, Packungen oder Paletten sein, die auf der Fördervorrichtung 220 oder ähnlichen Geräten in einer Industrie-, Fertigungs- oder Sortieranlage transportiert werden.
  • Die Vorrichtung 205 kann auch eine Computervorrichtung 225 enthalten, die mit den Bilddatenerfassungsvorrichtungen 210/212 gekoppelt ist, um Bilddaten der Objekte 275a-275c zu verarbeiten. In einigen Beispielimplementierungen kann die Computervorrichtung 225 eine Systemschnittstelle 280 (z.B. eine Eingabe/Ausgabe (E/A)-Schnittstelle) enthalten, die die Bilddatenerfassungsvorrichtungen 210/212 mit einem oder mehreren Prozessoren innerhalb der Computervorrichtung 225 kommunikativ koppelt. Beispielsweise kann eine Systemschnittstelle 280 der Computervorrichtung 225 von den Bilddatenerfassungsvorrichtungen 210/212 erfasste oder erzeugte Bilddaten empfangen und die Bilddaten an den einen oder die mehreren Prozessoren der Computervorrichtung 225 liefern.
  • Ferner können der eine oder die mehreren Prozessoren der Computervorrichtung 225 so konfiguriert sein, dass sie Kanten der Objekte 275a-275c auf der Grundlage der von den Bilddatenerfassungsvorrichtungen 210/212 erfassten oder erzeugten Bilddaten erkennen. Als ein weiteres Beispiel können der eine oder die mehreren Prozessoren der Computervorrichtung 225 so konfiguriert sein, dass sie die Kanten, die in den Bilddaten der Bilddatenerfassungsvorrichtungen 210/212 erkannt wurden, fusionieren, um Lücken zwischen den Objekten 275a-275c zu erkennen. Die Verfahren zur Erkennung und Fusion der Kanten werden weiter unten ausführlicher besprochen. In einigen Beispielimplementierungen kann die Computervorrichtung 225 z.B. eine Computervorrichtung 905 einer Computerumgebung 900 von 9 sein, die weiter unten erörtert wird. Zusätzlich kann die Systemschnittstelle 280 z.B. eine E/A-Schnittstelle 925 der Computervorrichtung 905 aus 9 sein. Ferner kann der eine oder die mehreren Prozessoren z.B. der/die Prozessor(en) 910 der Computervorrichtung 905 aus 9 sein.
  • Die Computervorrichtung 225 kann auch ein kombiniertes Bildsignal aus der Ausgabe der Bilddatenerfassungsvorrichtungen 210/212 erzeugen, um die Kanten und Lücken zwischen den Objekten 275a-275c besser zu erkennen. In einigen Beispielimplementierungen kann die Computervorrichtung 225 das kombinierte Bildsignal auch an eine Vielzahl von Geräten 235-265 übertragen, die kommunikativ miteinander verbunden sind, z.B. über ein Netzwerk 230 (z.B. durch drahtgebundene und/oder drahtlose Verbindungen), die die erkannten Lücken und Kanten zum Sortieren, Verfolgen oder für jeden anderen Zweck verwenden können, der für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist.
  • Die Vielzahl der Geräte 235-265 kann unter anderem einen Computer 235 (z.B. ein Laptop-Computer), mobile Geräte 240 (z.B. ein Smartphone oder Tablet), ein tragbares Gerät 255 (z.B. eine Smartwatch), einen Server-Computer 245, der mit einem Speichergerät 250 verbunden ist, und andere Computergeräte 260-265 umfassen, die für eine Person mit durchschnittlichen Fachkenntnissen erkennbar sind. Die Geräte 235-265 können auch die Computerumgebung 900 haben, wie unten in 9 gezeigt.
  • Obwohl in einigen Beispielimplementierungen die Computervorrichtung 225 ein kombiniertes Bildsignal erzeugen kann, bevor das kombinierte Bildsignal an die Vielzahl der Geräte 235-265 übertragen wird, sind Beispielimplementierungen der vorliegenden Erfindung nicht auf diese Konfiguration beschränkt. Zum Beispiel kann die Computervorrichtung 225 die Bilddaten von der Bilddatenerfassungsvorrichtung 210 (die auch als erste Bilddatenerfassungsvorrichtung 210 bezeichnet werden kann) mit den Bilddaten von der Bilddatenerfassungsvorrichtung 212 (die auch als zweite Bilddatenerfassungsvorrichtung 212 bezeichnet werden kann) kombinieren, um Kanten und Lücken in Bezug auf die Objekte 275a-275c zu erkennen, um das kombinierte Bildsignal unter Verwendung der unten besprochenen Verfahren oder Algorithmen zu erzeugen.
  • Umgekehrt kann in anderen Beispielimplementierungen die Computervorrichtung 225 die Bilddaten von der Bilddatenerfassungsvorrichtung 210 und die Bilddaten von der Bilddatenerfassungsvorrichtung 212 als getrennte Signale an eines oder mehrere der Vielzahl von Geräten 235-265 übertragen. Sobald die getrennten Signale empfangen werden, kann jedes der Vielzahl von Geräten 235-265 die getrennten Signale unter Verwendung der unten erörterten Verfahren oder Algorithmen kombinieren, um das kombinierte Bildsignal zu erzeugen, um die Kanten und Lücken in Bezug auf die Objekte 275a-275c zu erkennen.
  • Die Computervorrichtung 225 kann bestimmen, ob das kombinierte Bildsignal oder getrennte Signale, die den Bilddaten von der Bilddatenerfassungsvorrichtung 210 und den Bilddaten von der Bilddatenerfassungsvorrichtung 212 entsprechen, übertragen werden sollen, um das kombinierte Bildsignal während eines anfänglichen Aufbaus oder einer rekonfigurierbaren Einstellung der Vorrichtung 205 zu erzeugen. Die Bestimmung, ob das kombinierte Bildsignal oder die getrennten Signale übertragen werden sollen, kann auf der Abfrage jedes der Vielzahl von Geräten 235-265 beruhen, um die Fähigkeiten jedes der Vielzahl von Geräten 235-265 und die für die Datenübertragung zu jedem der Vielzahl von Geräten 235-265 verfügbare Bandbreite zu bestimmen.
  • 3 veranschaulicht eine Vorrichtung 305 zum Erkennen von Objekten 375a-375c, die sich entlang einer Fördervorrichtung 320 bewegen, gemäß einem zweiten Implementierungsbeispiel der vorliegenden Erfindung. Die Vorrichtung 305 ist der in 2 dargestellten und oben beschriebenen Vorrichtung 205 ähnlich. Daher werden ähnliche Bezugszahlen verwendet, um ähnliche Strukturen und Komponenten darzustellen.
  • Die Vorrichtung 305 enthält zwei Bilddatenerfassungsvorrichtungen 310/312, die in einem Abstand entlang einer Z-Achse von der Fördervorrichtung 320 beabstandet angeordnet sind. Im Gegensatz zu 2 sind die Bilddatenerfassungsvorrichtungen 310/312 jedoch so dargestellt, dass sie in einem Winkel zueinander stehen und sich gleichzeitig auf der gleichen Seite der Fördervorrichtung 320 wie die Objekte 375a-375c befinden. Auch hier sind die Beispielimplementierungen nicht auf diese Konfiguration beschränkt und können in anderen Konfigurationen angeordnet werden, wie es für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist. Andere Beispielkonfigurationen werden in 4, die unten besprochen wird, dargestellt.
  • In einigen Beispielimplementierungen kann es sich bei einem oder beiden Bilddatenerfassungsvorrichtungen 310/312 um zweidimensionale Bilderfassungsgeräte oder Kameras handeln, wie z.B. eine Farbbildkamera (z.B. eine RGB-Kamera), eine Farbvideokamera, eine Monochrom- oder Graustufen-Standbildkamera, eine Monochrom- oder Graustufen-Videokamera oder jedes andere zweidimensionale Bilderfassungsgerät, das für eine Person mit gewöhnlichen Kenntnissen auf diesem Gebiet offensichtlich ist. Darüber hinaus kann in einigen Beispielimplementierungen jede der Bilddatenerfassungsvorrichtungen 310/312 ein anderer Typ eines zweidimensionalen Bilderfassungsgerätes sein (z.B. kann eine Bilddatenerfassungsvorrichtung eine RGB-Kamera und die andere Bilddatenerfassungsvorrichtung eine Monochromkamera oder jede andere Kombination von zweidimensionalen Bilderfassungsgeräten sein, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich sein könnte).
  • In einigen Beispielimplementierungen kann eine oder beide der Bilddatenerfassungsvorrichtungen 310/312 ein dreidimensionales Bilderfassungsgerät sein, das in der Lage ist, 3D-Punktwolken zu erfassen, wie z.B. eine Stereo-Vision-Kamera, eine TOF-Kamera (Time of Flight) oder jedes andere Gerät, das in der Lage ist, eine 3D-Punktwolke zu erfassen. Darüber hinaus kann in einigen Beispielimplementierungen jede der Bilddatenerfassungsvorrichtungen 310/312 ein anderer Typ eines dreidimensionalen Bilderfassungsgerätes sein (z.B. kann eine Bilddatenerfassungsvorrichtung eine Stereo-Vision-Kamera und die andere Bilddatenerfassungsvorrichtung eine Laufzeitkamera oder jede andere Kombination von dreidimensionalen Bilderfassungsgeräten sein, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist).
  • Darüber hinaus kann in einigen Beispielimplementierungen eine der Bilddatenerfassungsvorrichtungen (z.B. Vorrichtung 310) eine zweidimensionale Erfassungsvorrichtung und die andere der Bilddatenerfassungsvorrichtungen (z.B. Vorrichtung 312) eine dreidimensionale Erfassungsvorrichtung sein.
  • Die Bilddatenerfassungsvorrichtungen 310/312 können so konfiguriert sein, dass sie Bilddaten der Objekte 375a-375c erfassen, die während der Bewegung auf einer Fördervorrichtung 320 sich unter den Bilddatenerfassungsvorrichtungen 310/312 hindurchbewegen. In einigen Beispielimplementierungen können die Objekte 375a-375c Kisten bzw. Schachteln, Packungen oder Paletten sein, die auf einem Förderband oder einer ähnlichen Vorrichtung in einer Industrie-, Fertigungs- oder Sortieranlage transportiert werden.
  • Die Vorrichtung 305 kann auch eine Computervorrichtung 325 enthalten, die mit den Bilddatenerfassungsvorrichtungen 310/312 gekoppelt ist, um Bilddaten der Objekte 375a-375c zu verarbeiten. In einigen Beispielimplementierungen kann die Computervorrichtung 325 eine Systemschnittstelle 380 (z.B. eine E/A-Schnittstelle) enthalten, die die Bilddatenerfassungsvorrichtungen 310/312 mit einem oder mehreren Prozessoren innerhalb der Computervorrichtung 325 kommunikativ koppelt. Beispielsweise kann eine Systemschnittstelle 380 der Computervorrichtung 325 von den Bilddatenerfassungsvorrichtungen 310/312 erfasste oder erzeugte Bilddaten empfangen und die Bilddaten an den einen oder die mehreren Prozessoren der Computervorrichtung 325 liefern.
  • Der eine oder die mehreren Prozessoren der Computervorrichtung 325 können so konfiguriert sein, dass sie Kanten der Objekte 375a-375c erkennen und die erkannten Kanten fusionieren, um Lücken zwischen den Objekten 375a-375c zu erkennen. Die Verfahren zur Erkennung und Fusion der Kanten werden weiter unten ausführlicher besprochen. In einigen Beispielimplementierungen kann die Computervorrichtung 325 z.B. die Computervorrichtung 905 der unten besprochenen Computerumgebung 900 von 9 sein. Zusätzlich kann die Systemschnittstelle 380 z.B. eine E/A-Schnittstelle 925 der Computervorrichtung 905 von 9 sein. Ferner kann der eine oder die mehreren Prozessoren z.B. der/die Prozessor(en) 910 der Computervorrichtung 905 aus 9 sein.
  • Die Computervorrichtung 325 kann auch ein kombiniertes Bildsignal aus der Ausgabe der Bilddatenerfassungsvorrichtungen 310/312 erzeugen, um die Kanten und Lücken zwischen den Objekten 375a-375c besser zu erkennen. In einigen Beispielimplementierungen kann die Computervorrichtung 325 das kombinierte Bildsignal auch an eine Vielzahl von Geräten 335-365 übertragen, die kommunikativ miteinander verbunden sind, z.B. über ein Netzwerk 330 (z.B. durch drahtgebundene und/oder drahtlose Verbindungen), die die erkannten Lücken und Kanten zum Sortieren, Verfolgen oder für jeden anderen Zweck verwenden können, der für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist.
  • Die Vielzahl der Geräte 335-365 kann unter anderem einen Computer 335 (z.B. ein Laptop-Computer), mobile Geräte 340 (z.B. ein Smartphone oder Tablet), ein tragbares Gerät 355 (z.B. eine Smartwatch), einen Server-Computer 345, der mit einem Speichergerät 350 verbunden ist, und andere Computergeräte 360-365 umfassen, die für eine Person mit durchschnittlichen Fachkenntnissen erkennbar sein können. Die Geräte 335-365 können auch die Computerumgebung 900 haben, wie unten in 9 gezeigt.
  • Obwohl in einigen Beispielimplementierungen die Computervorrichtung 325 ein kombiniertes Bildsignal erzeugen kann, bevor das kombinierte Bildsignal an die Vielzahl der Geräte 335-365 übertragen wird, sind Beispielimplementierungen der vorliegenden Erfindung nicht auf diese Konfiguration beschränkt. Zum Beispiel kann die Computervorrichtung 325 die Bilddaten von der Bilddatenerfassungsvorrichtung 310 (die auch als erste Bilddatenerfassungsvorrichtung 310 bezeichnet werden kann) mit den Bilddaten von der Bilddatenerfassungsvorrichtung 312 (die auch als zweite Bilddatenerfassungsvorrichtung 312 bezeichnet werden kann) kombinieren, um Kanten und Lücken in Bezug auf die Objekte 375a-375c zu erkennen, um das kombinierte Bildsignal unter Verwendung der unten besprochenen Verfahren oder Algorithmen zu erzeugen.
  • Umgekehrt kann in anderen Beispielimplementierungen die Computervorrichtung 325 die Bilddaten von der Bilddatenerfassungsvorrichtung 310 und die Bilddaten von der Bilddatenerfassungsvorrichtung 312 als getrennte Signale an eines oder mehrere der Vielzahl von Geräten 335-365 übertragen. Sobald die getrennten Signale empfangen werden, kann jedes der Vielzahl von Geräten 335-365 die getrennten Signale unter Verwendung der unten besprochenen Verfahren oder Algorithmen kombinieren, um das kombinierte Bildsignal zu erzeugen, um die Kanten und Lücken in Bezug auf die Objekten 375a-375c zu erkennen.
  • Die Computervorrichtung 325 kann bestimmen, ob das kombinierte Bildsignal oder getrennte Signale, die den Bilddaten von der Bilddatenerfassungsvorrichtung 310 und den Bilddaten von der Bilddatenerfassungsvorrichtung 312 entsprechen, übertragen werden sollen, um das kombinierte Bildsignal während eines anfänglichen Aufbaus oder einer rekonfigurierbaren Einstellung der Vorrichtung 305 zu erzeugen. Die Bestimmung, ob das kombinierte Bildsignal oder die getrennten Signale übertragen werden sollen, kann auf der Abfrage jedes der Vielzahl von Geräten 335-365 beruhen, um die Fähigkeiten jedes der Vielzahl von Geräten 335-365 und die für die Datenübertragung zu jedem der Vielzahl von Geräten 335-365 verfügbare Bandbreite zu bestimmen.
  • 4 veranschaulicht eine Vorrichtung 405 zum Erkennen von Objekten 475a-475c, die sich entlang einer Fördervorrichtung 420 bewegen, gemäß einem dritten Implementierungsbeispiel der vorliegenden Erfindung. Die Vorrichtung 405 ist der in 2 dargestellten und oben beschriebenen Vorrichtung 205 ähnlich. Daher werden ähnliche Bezugszahlen verwendet, um ähnliche Strukturen und Komponenten zu veranschaulichen.
  • Die Vorrichtung 405 enthält zwei Bilddatenerfassungsvorrichtungen 410/412, die in einem Abstand entlang einer Z-Achse von der Fördervorrichtung beabstandet angeordnet sind. Im Gegensatz zu 2 sind die Bilddatenerfassungsvorrichtungen 410/412 jedoch so dargestellt, dass sie auf einer oder mehreren von X-, Y-oder Z-Achsen ausgerichtet sind, während sie sich auch auf unterschiedlichen Seiten der Objekte 475a-475c, genauer gesagt auf den entgegengesetzten Seiten einer Fördervorrichtung 420 befinden. Auch hier sind die Beispielimplementierungen nicht auf diese Konfiguration beschränkt und können in anderen Konfigurationen angeordnet werden, wie es für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist.
  • In einigen Beispielimplementierungen kann es sich bei einer oder beiden Bilddatenerfassungsvorrichtungen 410/412 um zweidimensionale Bilderfassungsgeräte oder Kameras handeln, wie z.B. eine Farbstandbildkamera (z.B. eine RGB-Kamera), eine Farbvideokamera, eine Monochrom- oder Graustufen-Standbildkamera, eine Monochrom- oder Graustufen-Videokamera oder jede andere zweidimensionale Bilderfassungsgerät, das für eine Person mit durchschnittlichen Fachkenntnissen erkennbar sein könnte. Darüber hinaus kann in einigen Beispielimplementierungen jede der Bilddatenerfassungsvorrichtungen 410/412 ein anderer Typ eines zweidimensionalen Bilderfassungsgerätes sein (z.B. kann eine Bilddatenerfassungsvorrichtung eine RGB-Kamera und die andere Bilddatenerfassungsvorrichtung eine Monochromkamera oder jede andere Kombination von zweidimensionalen Bilderfassungsgeräten sein, die für eine Person mit gewöhnlichen Kenntnissen auf diesem Gebiet offensichtlich ist).
  • In einigen Beispielimplementierungen kann es sich ferner bei einer oder beiden Bilddatenerfassungsvorrichtungen 410/412 um ein dreidimensionales Bilderfassungsgerät handeln, das 3D-Punktwolken erfassen kann, wie z.B. eine Stereo-Vision-Kamera, eine TOF-Kamera (Time of Flight) oder jedes andere Gerät, das eine 3D-Punktwolke erfassen kann. Darüber hinaus kann in einigen Beispielimplementierungen jede der Bilddatenerfassungsvorrichtungen 410/412 ein anderer Typ eines dreidimensionalen Bilderfassungsgerätes sein (z.B. kann eine Bilddatenerfassungsvorrichtung eine Stereo-Vision-Kamera und die andere Bilddatenerfassungsvorrichtung eine Laufzeitkamera oder jede andere Kombination von dreidimensionalen Bilderfassungsgeräten sein, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist).
  • Darüber hinaus kann in einigen Beispielimplementierungen eine der Bilddatenerfassungsvorrichtungen (z.B. Vorrichtung 410) ein zweidimensionales Erfassungsgerät und die andere der Bilddatenerfassungsvorrichtungen (z.B. Vorrichtung 412) ein dreidimensionales Erfassungsgerät sein.
  • Die Bilddatenerfassungsvorrichtungen 410/412 können so konfiguriert sein, dass sie Bilddaten der Objekte 475a-475c erfassen, die während des Transports auf der Fördervorrichtung 420 sich unter den Bilddatenerfassungsvorrichtungen 410/412 hindurchbewegen. In einigen Beispielimplementierungen können die Objekte 475a-475c Schachteln bzw. Kisten, Packungen oder Paletten sein, die auf einem Förderband oder einer ähnlichen Vorrichtung in einer Industrie-, Fertigungs- oder Sortieranlage transportiert werden.
  • Die Vorrichtung 405 kann auch eine Computervorrichtung 425 enthalten, die mit den Bilddatenerfassungsvorrichtungen 410/412 gekoppelt ist, um die Bilddaten der Objekte 475a-475c zu verarbeiten. In einigen Beispielimplementierungen kann die Computervorrichtung 425 eine Systemschnittstelle 480 (z.B. eine E/A-Schnittstelle) enthalten, die die Bilddatenerfassungsvorrichtungen 410/412 mit einem oder mehreren Prozessoren innerhalb der Computervorrichtung 425 kommunikativ koppelt. Beispielsweise kann eine Systemschnittstelle 480 der Computervorrichtung 425 von den Bilddatenerfassungsvorrichtungen 410/412 erfasste oder erzeugte Bilddaten empfangen und die Bilddaten an den einen oder die mehreren Prozessoren der Computervorrichtung 425 liefern.
  • Der eine oder die mehreren Prozessoren der Computervorrichtung 425 können so konfiguriert sein, dass sie Kanten der Objekte erkennen und die Kanten fusionieren, um Lücken zwischen den Objekten 475a-475c zu erkennen. Die Verfahren zur Erkennung und Fusion der Kanten werden weiter unten ausführlicher besprochen. In einigen Beispielimplementierungen kann die Computervorrichtung 425 z.B. die Computervorrichtung 905 der unten besprochenen Computerumgebung 900 von 9 sein. Zusätzlich kann die Systemschnittstelle 480 z.B. eine E/A-Schnittstelle 925 der Computervorrichtung 905 von 9 sein. Ferner kann der eine oder die mehreren Prozessoren z.B. der/die Prozessor(en) 910 der Computervorrichtung 905 aus 9 sein.
  • Die Computervorrichtung 425 kann auch ein kombiniertes Bildsignal aus der Ausgabe der Bilddatenerfassungsvorrichtungen 410/412 erzeugen, um die Kanten und Lücken zwischen den Objekten 475a-475c besser zu erkennen. In einigen Beispielimplementierungen kann die Computervorrichtung 425 das kombinierte Bildsignal auch an eine Vielzahl von Geräten 435-465 übertragen, die kommunikativ miteinander verbunden sind, z.B. über ein Netzwerk 430 (z.B. durch drahtgebundene und/oder drahtlose Verbindungen), die die erkannten Lücken und Kanten zum Sortieren, Verfolgen oder für jeden anderen Zweck verwenden können, der für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist.
  • Die Vielzahl der Geräte 435-465 kann unter anderem einen Computer 435 (z.B. ein Laptop-Computer), mobile Geräte 440 (z.B. ein Smartphone oder Tablet), ein tragbares Gerät 455 (z.B. eine Smartwatch), einen Server-Computer 445, der mit einem Speichergerät 450 verbunden ist, und andere Computergeräte 460-465 umfassen, die für eine Person mit gewöhnlichen Fachkenntnissen offensichtlich sind. Die Geräte 435-465 können auch die Computerumgebung 900 haben, wie unten in 9 gezeigt.
  • Obwohl in einigen Beispielimplementierungen die Computervorrichtung 425 ein kombiniertes Bildsignal erzeugen kann, bevor das kombinierte Bildsignal an die Vielzahl der Geräte 435-465 übertragen wird, sind Beispielimplementierungen der vorliegenden Erfindung nicht auf diese Konfiguration beschränkt. Zum Beispiel kann die Computervorrichtung 425 die Bilddaten von der Bilddatenerfassungsvorrichtung 410 (die auch als die erste Bilderfassungsvorrichtung 410 bezeichnet werden kann) mit den Bilddaten von der Bilddatenerfassungsvorrichtung 412 (die auch als die zweite Bilderfassungsvorrichtung 412 bezeichnet werden kann) kombinieren, um Ränder und Lücken in Bezug auf die Objekte 475a-475c zu erkennen, um das kombinierte Bildsignal unter Verwendung der unten besprochenen Verfahren oder Algorithmen zu erzeugen.
  • Umgekehrt kann in anderen Beispielimplementierungen die Computervorrichtung 425 die Bilddaten von der Bilddatenerfassungsvorrichtung 410 und die Bilddaten von der Bilddatenerfassungsvorrichtung 412 als getrennte Signale an eines oder mehrere der Vielzahl von Geräten 435-465 übertragen. Sobald die getrennten Signale empfangen werden, kann jedes der Vielzahl von Geräten 435-465 die getrennten Signale unter Verwendung der unten beschriebenen Verfahren oder Algorithmen kombinieren, um das kombinierte Bildsignal zu erzeugen, um die Kanten und Lücken in Bezug auf die Objekte 475a-475c zu erkennen.
  • Die Computervorrichtung 425 kann bestimmen, ob das kombinierte Bildsignal oder getrennte Signale, die den Bilddaten aus der Bilddatenerfassungsvorrichtung 410 und den Bilddaten aus der Bilddatenerfassungsvorrichtung 412 entsprechen, übertragen werden sollen, um das kombinierte Bildsignal während einer anfänglichen Einrichtung oder einer rekonfigurierbaren Einstellung der Vorrichtung 405 zu erzeugen. Die Bestimmung, ob das kombinierte Bildsignal oder die getrennten Signale übertragen werden sollen, kann auf der Abfrage jeder der Vielzahl von Geräten 435-465 basieren, um die Fähigkeiten jedes der Vielzahl von Geräten 435-465 und die für die Datenübertragung zu jedem der Vielzahl von Geräten 435-465 verfügbare Bandbreite zu bestimmen.
  • 5 zeigt eine schematische Ansicht 500 von Bilddaten, die gemäß einem Vergleichsbeispiel repräsentativ für die Ergebnisse der Kantenerkennung einer einzelnen Bilddatenerfassungsvorrichtung oder einer einzelnen Kamera sein können. Wie dargestellt, können die Kantenerkennungsergebnisse der Bilddaten eine Vielzahl von Rechtecken 502, 510 und 530 unterschiedlicher Größe umfassen, die Kisten oder Objekte von im Allgemeinen gleicher Größe auf einer Palette 501 grafisch darstellen. Mit anderen Worten, die Bilddaten von 5 veranschaulichen, dass die Rechtecke 502, 510 und 530 unterschiedliche Größen haben, was darauf hindeutet, dass das System die von jedem Rechteck dargestellten Objekte oder Kisten mit zueinander unterschiedlichen Größen erkennt. In Wirklichkeit sind jedoch die tatsächlichen Kisten oder Objekte, die von der Bilddatenerfassungsvorrichtung abgebildet werden, die das System durch die Rechtecke 502, 510, 530 darzustellen versucht, in diesem Beispiel im Allgemeinen von ähnlicher Größe und Form. Mit anderen Worten, das System erkennt fälschlicherweise, dass die Kisten unterschiedliche Formen und Größen haben, obwohl die Kisten in Wirklichkeit im Allgemeinen ähnliche Größe und Form haben.
  • Jede Kiste oder jedes Objekt hat eine erkannte Form, die durch in den Bilddaten erkannte Kanten (z. B. die Linien und Kurven, die Kanten darstellen, die die Form des Objekts definieren) definiert ist. In 5 sind die Kanten der von der einzelnen Bilddatenerfassungsvorrichtung erkannten Kisten oder Objekte als gerade Linien dargestellt, die durch die Bezugszahlen 505, 512, 515 und 535 repräsentiert werden, welche die Seiten der Rechtecke 502, 510 und 530 bilden. Die detektierten Kanten brauchen jedoch keine geraden Linien zu sein und können auch Kurven oder unregelmäßige Formen aufweisen.
  • Wie dargestellt, wurde die Linie 505 (die eine erkannte Kante repräsentiert) mit einer ersten Länge und die Linie 512 (die eine andere erkannte Kante repräsentiert) mit einer zweiten Länge erkannt, die länger als die der Linie 505 ist. Ferner wurde festgestellt, dass die Linien 515 und 535 (die jeweils detektierte Kanten darstellen) relativ zu den durch die Linien 505 und 512 dargestellten detektierten Kanten eine geringere Länge aufweisen. In diesem Beispiel wurden in den Bereichen 520 und 525 keine zusätzlichen Innenkanten (z.B. Kanten zwischen den in den Bilddaten dargestellten Objekten oder Kisten) erkannt, obwohl für die tatsächlichen Kisten oder Objekte, die in den Bereichen 520 und 525 vorhanden sind, Innenkanten vorhanden sein können. Beispielimplementierungen können Kanten oder Konturen fusionieren, die aus verschiedenen Modi von Bilddaten unter Verwendung des Verfahrens 800, das in Bezug auf 8 unten beschrieben wird, erkannt wurden, um Fehler bei der Konturerkennung zu beheben (z.B. nicht erkannte Innenkanten, erkannte Kanten mit Längen, die länger oder kürzer als die tatsächlichen Kanten von Objekten sind, oder andere Erkennungsfehler, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich sind).
  • 6 zeigt eine schematische Ansicht 600 einer Darstellung von fusionierten Bilddaten, die Ergebnisse der fusionieren Kantenerkennung als Beispielimplementierung der vorliegenden Erfindung darstellen kann. Wie dargestellt, können zwei verschiedene Bilddatendarstellungen (z.B. die erste Bilddatendarstellung 610 und die zweite Bilddatendarstellung 615) zu einer Fusionsbilddatendarstellung 605 zusammengefügt werden, die repräsentativ Fusionsbilddaten darstellt, die den fusionierten Kanten oder Konturen der erkannten Objekte entsprechen.
  • Beispielsweise kann die erste Bilddatendarstellung 610 visuelle Darstellungen von Bilddaten aufweisen, die unter Verwendung von 2D-Bilddaten erfasst wurden, wie z.B. die Bilddaten einer monochromen Kamera. In einigen Fällen hat ein 2D-Bilderfassunggerät (z.B. eine 2D-Bildkamera) möglicherweise keine ausreichende Auflösung, um den Kontrast zwischen verschiedenen Objekten, wie z.B. Kisten, zu bestimmen. Wenn die Auflösung des 2D-Bilderfassunggeräts nicht ausreicht, um den Kontrast zwischen verschiedenen Kisten zu bestimmen, kann es vorkommen, dass ein Teil der Kanten (z.B. Innenkanten zwischen benachbarten Kisten bzw. Schachteln) nicht erkannt wird, was zu ungenau erkannten Kanten führt, wie z.B. die Linie 655, während andere Kanten genau erkannt werden, wie durch die Linien 660 dargestellt. In 6 wurden Bereiche, die erkannte Objekte auf der Grundlage ungenauer erkannter Kanten darstellen, durch die schraffierten Linien in den Bereichen 620 dargestellt. Die erste Bilddatendarstellung 610 selbst kann als Erkennungsfehler angesehen werden, da die Innenkanten zwischen den Kisten in den Bereichen mit ungenauen erkannten Kanten (z.B. schraffierte Linien in den Bereichen 620) möglicherweise nicht genau erkannt wurden. Wie nachfolgend erläutert, kann jedoch, wenn die erste Bilddatendarstellung 610 mit der zweiten Bilddatendarstellung 615 kombiniert wird, die fusionierte Bilddatendarstellung 605 erzeugt werden.
  • Als Beispiel kann die zweite Bilddatendarstellung 615 visuelle Darstellungen von 3D-Punktwolkendaten (auch als 3D-Bilddaten bezeichnet) sein, die von einer 3D-Kamera (z.B. einer Tiefenwahrnehmungskamera) erzeugt wurden. Die schraffierte Fläche im Bereich 625 kann repräsentativ für die 3D-Punktwolkendaten sein. Obwohl Teile der 3D-Punktwolke repräsentativ für die Höhe der Kisten oder Objekte in dem Bereich 625 sein können, können Kanten der Peripherie der Objekte verzerrt oder nicht vollständig dargestellt sein, was auf Rauschen oder Umweltfaktoren zurückzuführen sein kann, wie die ermittelte Konturlinie 640 im Vergleich zu der tatsächlichen Kante, die durch die gestrichelte Linie 630 dargestellt wird, anzeigt. In einigen Fällen kann die auf der Verarbeitung und/oder Analyse der 3D-Bilddaten basierende Kantenerkennung Kanten genau erkennen, wie durch die Linien 665 dargestellt, während in anderen Fällen die auf der Verarbeitung und/oder Analyse der 3D-Bilddaten basierende Kantenerkennung unvollständige oder ungenaue Kantenerkennungen erzeugen kann, wie durch die Linien 670 dargestellt. Auch hier gilt, dass einige der detektierten Kanten auf der Grundlage der zweiten Bilddatendarstellung 615 ebenfalls als Detektionsfehler angesehen werden können, da einige der Innenkanten (d.h. Linien 670) und die Kanten der Peripherie der Objekte verzerrt, unvollständig und/oder ungenau sein können (wie der Unterschied zwischen der ermittelten Konturlinie 640 und der tatsächlichen Kante, dargestellt durch die gestrichelte Linie 630, zeigt).
  • Durch die Fusion von Bilddaten (die 2D-Bilddaten darstellen), wie durch die erste Bilddatendarstellung 610 dargestellt, mit der zweiten Bilddatendarstellung 615 (die 3D-Tiefenkameradaten darstellt), wie durch die zweite Bilddatendarstellung 615 dargestellt, können die fusionierten Bilddaten, wie durch die Bilddatendarstellung 605 dargestellt, erzeugt werden. Wie veranschaulicht, können mit der fusionierten Bilddatendarstellung 605 neun verschiedene Objekte 635 auf der Grundlage einer erhöhten Erkennungsgenauigkeit von Innenkonturen oder Kanten 645 und Umfangskonturen oder Kanten 650 erkannt werden, die durch Fusion teilweise erkannter, ungenauer oder unvollständiger erkannter Kanten bestimmt werden können, wie z.B. die durch die Linien 670 und 655 dargestellten erkannten Kanten miteinander und/oder durch eine Kombination genau erkannter Kanten (d.h. Kanten mit einem hohen Grad an Detektionssicherheit, wie z. B. Außenkanten), wie z. B. die durch die Linien 666 und 665 dargestellten detektierten Kanten, mit einer oder mehreren der teilweise detektierten, ungenauen oder unvollständigen detektierten Kanten.
  • So kann die Kantenfusion unter Verwendung von Verfahren gemäß Beispielimplementierungen der vorliegenden Erfindung es ermöglichen, die fusionierte Bilddatendarstellung 605 aus einem Paar der ersten Bilddatendarstellung 610 und der zweiten Bilddatendarstellung 615 zu erzeugen, die sonst jeweils zu einer Objekterkennungshypothese führen würden, die als ungenau oder von geringer Zuverlässigkeit angesehen werden kann.
  • Die und veranschaulichen schematische Darstellungen der Objekterkennung in Übereinstimmung mit Beispielimplementierungen der vorliegenden Erfindung. Das Robotersystem 100 aus 1 kann eine Objekterkennungshypothese wie unten in Bezug auf Schritt 820 im Verfahren 800 von 8 beschrieben erzeugen. Sobald die Objekterkennungshypothese, wie in Bezug auf Schritt 820 beschrieben, bestimmt worden ist, kann die Objekterkennungshypothese, wie nachstehend in Bezug auf Schritt 825 des Verfahrens 800 in 8 beschrieben, validiert werden. Durch Verwendung der fusionierten Bilddaten kann eine verbesserte Erzeugung der Objekterkennungshypothese und deren Validierung erreicht werden.
  • 7A zeigt ein erstes Beispiel für eine ungenaue Erkennungshypothese, die durch die Verwendung der Darstellungen der fusionierten Kantendaten in Übereinstimmung mit Beispielimplementierungen der vorliegenden Erfindung vermieden werden kann. Wie in 7A dargestellt, kann es in einigen Fällen vorkommen, dass die innere Kontur oder Kante (z.B. die Kontur oder Kante zwischen zwei Kisten), die durch die gestrichelte Linie 715 dargestellt ist, auf der Grundlage der Analyse der Kantenerkennungsdaten, die durch das Rechteck 710 aus einem einzigen Modus der Bilderfassung dargestellt werden, nicht erkannt wird und dass das Robotersystem 100 möglicherweise nicht in der Lage ist, die Erkennungshypothese für das tatsächliche Objekt, das durch das Quadrat 705 dargestellt wird, genau zu erzeugen. Infolgedessen kann das Robotersystem 100 möglicherweise fälschlicherweise die Erkennungshypothese als das Rechteck 710 erzeugen. Da die Fusion von Kantenerkennungsdaten, die verschiedenen Modi von Bilddaten zugeordnet sind, die Sicherheit der Kanteninformationen verbessern und/oder Kanten identifizieren kann, die andernfalls nicht als gültiges Kantenerkennungsergebnis für die Konturen des Objekts betrachtet würden, kann das Robotersystem 100 die Erzeugung und/oder Validierung der Erkennungshypothese verbessern.
  • 7B zeigt ein zweites Beispiel für eine ungenaue Erkennungshypothese, die durch die Verwendung der fusionierten erkannten Kantendaten gemäß Beispielimplementierungen der vorliegenden Erfindung vermieden werden kann. Wie dargestellt, kann eine Reihe von Kisten bzw. Schachteln 725 auf einer Palette 720 erkannt werden. Zusätzlich kann die Erkennungshypothese (dargestellt durch Quadrat745) auf der Grundlage von Bildinformationen erzeugt werden, die ein Eingabebild 740 darstellen. In einigen Fällen kann es jedoch vorkommen, dass das Robotersystem 100 die Teilungskontur (z. B. eine Innenkontur oder eine Kante zwischen zwei Kisten), die durch die gestrichelte Linie 735 dargestellt ist, nicht durch Kantenerkennung auf der Grundlage eines einzigen Bilderfassungsmodus erkennt und stattdessen fälschlicherweise die Erkennungshypothese erzeugt, die durch das Rechteck 745 dargestellt wird. Mit anderen Worten, die Nichterkennung der Kante oder Kontur (z.B. Innenkante zwischen zwei Kästen), die durch die gestrichelte Linie 735 dargestellt wird, kann zu einer fehlerhaften oder ungenauen Objekterkennungshypothese führen. Da die Fusion der Kantenerkennungsdaten, die mit verschiedenen Bilddatenmodi verbunden sind, eine bessere Erkennung der Konturen des Objekts ermöglichen kann, kann eine verbesserte Erzeugung und/oder Validierung der Objekterkennungshypothese erreicht werden.
  • 8 veranschaulicht ein Flussdiagramm eines Verfahrens 800 zur Objekterkennung und -validierung gemäß Beispielimplementierungen der vorliegenden Erfindung. Das Verfahren 800 kann durch eine Computervorrichtung (wie z.B. die Computervorrichtung 905 der in 9 dargestellten und unten erörterten Computerumgebung 900) des Robotersystems 100 durchgeführt werden.
  • Wie in 8 dargestellt, beginnt das Verfahren 800 mit der Erkennung von Kanteninformation, die Bilddaten zugeordnet ist, die in einem ersten Bilderfassungsmodus in Schritt 805 erfasst wurden. Kanteninformation ist Information, die die Konturen eines oder mehrerer Objekte, die in den Bilddaten erfasst wurden, definieren und/oder beschreiben. Wie oben erläutert, können die Kanten eines Objekts Linien und/oder Kurven sein, die die Kanten darstellen, welche die Form eines Objekts definieren. Die Kanteninformation kann Kantenabmessungen (z.B. Kantenlängen), Kantenformen (z.B. gerade, gekrümmt usw.), Kantenorte und Eckorte (z.B. Orte, an denen zwei oder mehr Kanten aufeinandertreffen) umfassen. Bei der Kanteninformation kann es sich beispielsweise um Koordinateninformationen (d. h. die (x-, y-)Koordinaten) handeln, die der Position eines oder mehrerer Pixel entsprechen, die die erkannte Kante in den Bilddaten bilden. Die Kanteninformation kann auch Höhen- oder Tiefeninformation (z.B. Informationen, die einen Abstand zwischen der Bilddatenerfassungsvorrichtung und einem Punkt auf einer Oberfläche darstellen) und Positionen von Bereichen mit ähnlicher Höhe enthalten. Als Beispiel kann die Tiefeninformation einen Wert enthalten, der die Entfernung von der Bilddatenerfassungsvorrichtung (d.h. der 3D-Kamera) repräsentiert. In einigen Ausführungsformen kann die Tiefeninformation Tiefenwerte darstellen, die den Pixeln in den Bilddaten zugeordnet sind.
  • Wenn in den Bilddaten mehrere Objekte erfasst werden, können die Bilddaten externe oder periphere Konturen oder Kanten enthalten, die sich an der Peripherie einer Sammlung mehrerer in den Bilddaten erfasster Objekte befinden. Beispielsweise können periphere Kanten oder Konturen durch die Bezugszahl 650 in der fusionierten Bilddatendarstellung 605 von 6 dargestellt werden. Weiterhin können die Bilddaten interne Konturen oder Kanten enthalten, die sich zwischen benachbarten Objekten befinden. Beispielsweise können die Innenkonturen oder Kanten für Kisten senkrecht zu den Umfangskanten oder -konturen verlaufen. Weiterhin können z.B. Innenkonturen oder Kanten durch die Bezugszahl 645 in der Darstellung der fusionierten Bilddaten 605 von 6 dargestellt werden.
  • Der erste Bilderfassungsmodus (z.B. erster Modus der Bilderfassung) kann ein Verfahren zur Erfassung oder Erzeugung der Bilddaten sein. In einigen Beispielimplementierungen kann der erste Bilderfassungsmodus ein Verfahren zur Erfassung von 2D-Bilddaten sein, um eine Bilddatendarstellung zu erzeugen, wie die erste Bilddatendarstellung 610, die oben in Bezug auf 6 erörtert wurde, beispielhaft zeigt. Mit anderen Worten, in einigen Beispielimplementierungen kann die Kanteninformationserkennung des ersten Bilderfassungsmodus auf der Grundlage zweidimensionaler Bilddaten erfolgen, wie z.B. Daten von einer monochromen Kamera (z.B. einer Graustufenkamera), einer Farbkamera (z.B. einer Rot-Grün-Blau (RGB)-Kamera) oder jeder anderen zweidimensionalen Kamera, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist.
  • In Bezug auf zweidimensionale Bilddaten kann die Kantenerkennung unter Verwendung jeder Art von 2D-Kantenerkennungsalgorithmus durchgeführt werden, der für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich sein könnte. Verfahren der 2D-Kantenerkennung können beispielsweise CANNY-Kantenerkennung, Bereichsähnlichkeitskantenerkennung (RSD), Liniensegmenterkennung (LSS) oder jedes andere 2D-Kantenerkennungsverfahren sein, das zur Erkennung von Objektkonturen verwendet werden kann, um die Kanteninformation zu extrahieren.
  • In anderen Beispielimplementierungen kann der erste Bilderfassungsmodus ein Verfahren der Erfassung von 3D-Punktwolkendaten sein, um eine Bilddatendarstellung zu erzeugen, wie durch die zweite Bilddatendarstellung 615, die oben in Bezug auf 6 erörtert wurde, beispielhaft veranschaulicht ist. Mit anderen Worten, in einigen Beispielimplementierungen kann die Kanteninformationserkennung des ersten Bilderfassungsmodus auf der Grundlage dreidimensionaler Daten erfolgen, wie z.B. Daten von einer Stereo-Vision-Kamera, einer Bereichsabbildungsbildkamera (z.B. TOF-Kamera (Time of Flight)) oder jeder anderen dreidimensionalen Kamera, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist.
  • In Bezug auf dreidimensionale Bilddaten (z.B. 3D-Punktwolkendaten) kann die 3D-Punktwolke eine Projektion von Punkten in einem Bildraum sein, die die Objekte darstellen. Aus der 3D-Punktwolke können dann die Objektkonturen oder -kanten identifiziert werden. Beispielsweise kann das Robotersystem 200 die Objektkonturen oder -kanten aus der projizierten 3D-Punktwolke auf der Grundlage einer Änderung oder Differenz der Tiefeninformationen zwischen einer Position in der 3D-Punktwolke und einer benachbarten Position in der 3D-Punktwolke identifizieren.
  • In Schritt 810 wird die Kanteninformation erkannt, die Bilddaten zugeordnet ist, die mit einem zweiten Bilderfassungsmodus erfasst wurden. Wie weiter unten ausführlicher erörtert wird, unterscheidet sich der zweite Bilderfassungsmodus vom ersten Bilderfassungsmodus, der der Kanteninformationserkennung von Schritt 805 zugeordnet ist.
  • Wie oben erläutert, handelt es sich bei der Kanteninformation um Informationen, die die Konturen eines oder mehrerer in den Bilddaten erfasster Objekte definieren. Wie oben erläutert, handelt es sich bei den Konturen eines Objekts um Linien und/oder Kurven, die die Kanten darstellen, welche die Form eines Objekts definieren. Auch hier können die Kanteninformationen Kantenabmessungen (z.B. Kantenlängen), Kantenformen (z.B. gerade Linie, gekrümmt usw.), Kantenorte und Eckenorte (z.B. Orte, an denen zwei oder mehr Kanten aufeinandertreffen) umfassen. Die Kanteninformation kann auch Höhen- oder Tiefeninformationen (z.B. Informationen, die einen Abstand zwischen der Bilddatenerfassungsvorrichtung und einem Punkt auf einer Oberfläche darstellen) und Positionen von Bereichen mit ähnlicher Höhe umfassen. Die Konturen können äußere oder periphere Konturen oder Kanten umfassen, die sich an der Peripherie einer Sammlung von mehreren Objekten befinden, die in den Bilddaten erfasst wurden. Zum Beispiel können periphere Kanten oder Konturen durch die Bezugszahl 650 in der fusionierten Bilddatendarstellung 605 von 6 dargestellt sein. Weiterhin können die Bilddaten interne Konturen oder Kanten enthalten, die sich zwischen benachbarten Objekten befinden. Beispielsweise können die Innenkonturen oder Kanten für Kisten senkrecht zu den Umfangskanten oder -konturen verlaufen. Außerdem können z.B. Innenkonturen oder Kanten durch die Bezugszahl 645 in der Darstellung der fusionierten Bilddaten 605 von 6 dargestellt werden.
  • Der zweite Bilderfassungsmodus (z.B. zweiter Modus der Bilderfassung) kann ebenfalls ein Verfahren zur Erfassung oder Erzeugung der Bilddaten sein. In einigen Beispielimplementierungen kann der zweite Bilderfassungsmodus ein Verfahren zur Erfassung von 2D-Bilddaten sein, um eine Bilddatendarstellung zu erzeugen, wie die erste Bilddatendarstellung 610, die oben in Bezug auf 6 erörtert wurde, beispielhaft zeigt. Mit anderen Worten, in einigen Beispielimplementierungen kann die Kanteninformationserkennung des zweiten Bilderfassungsmodus auf der Grundlage zweidimensionaler Bilddaten erfolgen, wie z.B. Daten von einer monochromen Kamera (z.B. Graustufenkamera), einer Farbkamera (z.B. RGB-Kamera) oder jeder anderen zweidimensionalen Kamera, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist.
  • In Bezug auf zweidimensionale Bilddaten kann die Kantenerkennung unter Verwendung jeder Art von 2D-Kantenerkennungsalgorithmus durchgeführt werden, der für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich sein könnte. Verfahren der 2D-Kantenerkennung können beispielsweise CANNY-Kantenerkennung, Bereichsähnlichkeitskantenerkennung (RSD), Liniensegmenterkennung (LSS) oder jedes andere 2D-Kantenerkennungsverfahren sein, das zur Erkennung von Objektkonturen verwendet werden kann, um Kanteninformationen zu extrahieren.
  • In anderen Beispielimplementierungen kann der zweite Bilderfassungsmodus ein Verfahren der Erfassung von 3D-Punktwolkendaten sein, um eine Bilddatendarstellung zu erzeugen, wie die zweite Bilddatendarstellung 615, die oben in Bezug auf 6 diskutiert wurde, veranschaulicht. Mit anderen Worten, in einigen Beispielimplementierungen kann die Kanteninformationserkennung des zweiten Bilderfassungsmodus auf der Grundlage dreidimensionaler Daten erfolgen, wie z.B. Daten von einer Stereo-Vision-Kamera, einer Entfernungsbildkamera (z.B. TOF-Kamera (Time of Flight)) oder jeder anderen dreidimensionalen Kamera, die für eine Person mit durchschnittlichen Fachkenntnissen offensichtlich ist.
  • In Bezug auf dreidimensionale Bilddaten (z.B. 3D-Punktwolkendaten) kann die 3D-Punktwolke eine Projektion von Punkten in einem Bildraum sein, die die Objekte repräsentieren. Aus der 3D-Punktwolke können dann die Objektkonturen oder -kanten identifiziert werden. Beispielsweise kann das Robotersystem 200 die Objektkonturen oder -kanten aus der projizierten 3D-Punktwolke auf der Grundlage einer Änderung oder Differenz der Tiefeninformation zwischen einer Position in der 3D-Punktwolke und einer benachbarten Position in der 3D-Punktwolke identifizieren.
  • Der zweite Bilderfassungsmodus (z.B. zweiter Modus der Bilderfassung) ist eine andere Art der Bilderfassung als der erste Bilderfassungsmodus. Wenn z.B. die dem ersten Bilderfassungsmodus zugeordnete Kantenerkennung auf der Grundlage zweidimensionaler Daten erfolgte, kann in Schritt 810 Kanteninformation auf der Grundlage dreidimensionaler Daten oder eines anderen Typs zweidimensionaler Daten erkannt werden (z.B. eine monochrome Kamera, wenn in Schritt 805 eine Farbkamera verwendet wurde, oder eine Farbkamera, wenn in Schritt 805 monochrome Kameradaten verwendet wurden).
  • Umgekehrt kann, wenn die dem ersten Bilderfassungsmodus zugeordnete Kantenerkennung auf dreidimensionalen Daten basiert, die Kanteninformation in Schritt 810 auf der Grundlage zweidimensionaler Daten oder einem anderen Typ von dreidimensionalen Daten erkannt werden (z.B. eine Stereo-Vision-Kamera, wenn in Schritt 805 eine TOF-Kamera verwendet wurde, oder eine TOF-Kamera, wenn in Schritt 805 eine Stereo-Vision-Kamera verwendet wurde).
  • In Schritt 815 werden die Kanteninformationen, die aus den dem ersten Bilderfassungsmodus und dem zweiten Bilderfassungsmodus zugeordneten Daten ermittelt wurden, kombiniert, um mittels eines Fusionsverfahrens fusionierte Kanteninformation zu erzeugen. Insbesondere werden die Kanten, die auf der Grundlage des ersten Bilderfassungsmodus und des zweiten Bilderfassungsmodus erkannt wurden, zu einem „Standard“-Kameraraum kombiniert. Mit anderen Worten, die Kanten, die auf der Grundlage des ersten und des zweiten Bilderfassungsmodus erkannt wurden, werden aus dem nativen Kameraraum (z.B. dem Koordinatensystem), der jedem Bilderfassungsmodus zugeordnet ist, in einen gemeinsamen oder gemeinsam genutzten Kameraraum (z.B. den Standard-Kameraraum) transformiert, wie weiter unten näher erläutert wird. Beispielimplementierungen des Standard-Kameraraums können einen 3D-Kameraraum beinhalten, wie z.B. den Kameraraum für die Stereo-Vision-Kamera oder die ToF-Kamera.
  • In einigen Beispielimplementierungen können die aus den zweidimensionalen Bilddaten (z.B. aus einem 2D-Bildgebungsmodus) erkannten Kanten in einen dreidimensionalen Kameraraum projiziert werden, wobei die Tiefeninformation für eine zweidimensionale Ebene oder Oberfläche, die die Kantenhöhe definieren kann, neben den detektierten Kanten des 2D-Bildes erfasst wird. Darüber hinaus können in einigen Beispielimplementierungen dreidimensionale Raumdaten in einen anderen Modus von dreidimensionalen Raumdaten transformiert werden (z.B. können Bilddaten von einer ToF-Kamera in Bilddaten von einer Stereo-Vision-Kamera transformiert werden).
  • Mit anderen Worten, das Fusionsverfahren kann durch die Erzeugung von projizierten Kantenpunkten (z.B. Koordinaten oder Positionen von Punkten entlang der erkannten Kanten), die einem der Modi der Bilddaten zugeordnet sind, in einen gemeinsamen Bildraum (z.B. einen „Standard“-Kameraraum) durchgeführt werden. Genauer gesagt können die erkannten Kanten von einem der Modi der Bilddaten in den gemeinsamen Bildraum einer ausgewählten Kamera oder eines ausgewählten Bildgerätes (auch als ausgewählter Standard-Kameraraum bezeichnet) projiziert (oder abgebildet) werden, was z.B. der Stereo-Vision-Kameraraum sein kann). Während des Fusionsverfahrens kann das Robotersystem 100 mögliche Ungenauigkeiten der Koordinaten von Kantenpunkten nach der Transformation und Projektion aufgrund von Faktoren wie Punktwolkenrauschen oder Kalibrierung (z.B. physischer Offset/Winkel/Abstand zwischen den Kameras) berücksichtigen und korrigieren.
  • Für die erkannten Kanten im Bildraum der ausgewählten Standardkamera (z.B. der Stereo-Vision-Kamera) kann die Projektion unter Verwendung der ursprünglichen Positionsinformationen (d.h. der Koordinaten) der erkannten Kanten für die Standardkamera durchgeführt werden. Mit anderen Worten, das Robotersystem 100 muss die Projektion der erkannten Kanten von der ausgewählten Standard-kamera auf den gemeinsamen Bildraum durchführen. In einigen Beispielimplementierungen kann die ausgewählte Standardkamera dem ersten Bilderfassungsmodus zugeordnet sein. In anderen Beispielimplementierungen kann die ausgewählte Kamera dem zweiten Bilderfassungsmodus zugeordnet sein.
  • Für erkannte Kanten in den Bildräumen anderer Kameras (z.B. wenn die Kamera einen nativen Bildraum hat, der sich vom gewählten „Standard“-Kameraraum unterscheidet), können je nach Kameratyp mehrere verschiedene Schritte durchgeführt werden.
  • Wenn es sich bei dem anderen Bilderfassungsmodus um eine 2D-Kamera handelt, können Kantenpunkten, d.h. den Punkten, die die erkannten Kanten bilden und aus den 2D-Bilddaten der 2D-Kamera erkannt wurden (auch als 2D-Kantenpunkte bezeichnet), Tiefenwerte zugeordnet werden, indem die 2D-Kantenpunkte auf den ausgewählten Kamerabildraum, der in diesem Fall ein 3D-Bildraum ist, der ausgewählten Standardkamera projiziert werden, wobei die Tiefeninformation der ausgewählten Standardkamera verwendet wird, die den projizierten 2D-Punkten entspricht. Mit anderen Worten, die Tiefenwerte für Punkte (d.h. Pixel) aus dem ausgewählten Standard-Kamerabildraum (z.B. der Stereo-Vision-Kamera), die den 2D-Positionen entsprechen (z.B. die (x-, y-)Pixelkoordinaten, an denen sich die Kantenpunkte für die erkannten Kanten im 2D-Bildraum der 2D-Kamera befinden), werden verwendet, um die 2D-Kantenpunkte in den 3D-Bildraum der ausgewählten Standard-Kamera zu projizieren. Dadurch können aus den 2D-Kantenpunkten projizierte 3D-Kantenpunkte erzeugt werden.
  • Darüber hinaus können die von der anderen Kamera erfassten Kantenpunkte (z.B. wenn die Kamera einen nativen Bildraum hat, der sich vom ausgewählten Standardbildraum unterscheidet) in den ausgewählten Standardbildraum transformiert werden (auch als „transformierte Kantenpunkte“ bezeichnet). Die transformierten Kantenpunkte können aus den im vorstehenden Absatz beschriebenen projizierten 2D-Kantenpunkten erzeugt werden oder von einer anderen 3D-Kamera stammen, die sich von der ausgewählten Standardkamera oder dem ausgewählten Standardbildgerät unterscheidet. Beispielsweise können die transformierten Kantenpunkte, die aus den projizierten 2D-Kantenpunkten erzeugt werden, in den 3D-Raum der ausgewählten Standardkamera transformiert werden, so dass die transformierten Kantenpunkte so betrachtet werden können, als ob sie auch Teil der ursprünglichen Bilddaten der ausgewählten Standardkamera wären. Die Transformation der Kantenpunkte einer Kamera zur ausgewählten Standardkamera kann eine Verschiebung oder Verlagerung der Position der projizierten 3D-Kantenpunkte und/oder eine Skalierung der projizierten 3D-Kantenpunkte umfassen, so dass die projizierten 3D-Kantenpunkte an den Standard-Kamerabildraum der ausgewählten Kamera angepasst werden können.
  • Sobald die projizierten 3D-Kantenpunkte in den ausgewählten Standard-Kamerabildraum verschoben wurden, kann das Computersystem 100 eine 2D-Darstellung (auch als 2D-Bitmap bezeichnet) der 3D-Punktwolke erzeugen, die die projizierten 3D-Kantenpunkte (auch als fusionierte 3D-Punktwolke bezeichnet) enthält. Beispielsweise kann eine 2D-Bitmap einer von oben nach unten gerichteten Darstellung der fusionierten 3D-Punktwolke entsprechen, die die oberen Flächen des Kisten- und Palettenstapels umfassen kann, wie in 6 dargestellt. In diesem Zusammenhang bezieht sich die der ausgewählten Standardkamera zugeordnete 2D-Bitmap nicht auf Tiefenwerte des 3D-Bildraums, sondern entspricht den 2D-Koordinaten des Bildes selbst (z.B. x-y-Koordinaten für Pixel des Bildes oder die Koordinaten entlang der x- und y-Achse, wie in den oben beschriebenen 2 bis 4 oben dargestellt). In einigen Ausführungsformen können die Pixel in der 2D-Bitmap den Dimensionen der realen Welt entsprechen (d.h. die Länge des Pixels kann einer Längeneinheit oder einem Abstand in der realen Welt entsprechen). In solchen Ausführungsformen kann das Robotersystem 100 die 2D-Bitmap der fusionierten 3D-Punktwolke für nachgelagerte Verfahren verwenden, z. B. für die Bewegungsplanung, die Griffpositionierung und andere Operationen, die die Objekte betreffen.
  • Sobald die fusionierten Kanteninformationen erzeugt sind, kann das Robotersystem 100 eine Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation in Schritt 820 erstellen. In einigen Beispielimplementierungen kann das Robotersystem 100 die auf der Objekterkennungshypothese basierende Segmentierung der 3D-Punktwolkeninformationen auf der Grundlage der fusionierten Kanten der fusionierten Kanteninformationen erzeugen. Beispielsweise kann das Robotersystem 100 die 3D-Punktwolkeninformationen entlang der fusionierten Kanten segmentieren, bis ein Kantenkreuzungspunkt erreicht ist. Die Kantenkreuzungspunkte können z.B. Orte sein, an denen sich zwei oder mehr der fusionierten Kanten schneiden, oder in einigen Fällen, an denen ein Schnittpunkt zwischen einer Extrapolation der erkannten Kanten liegen würde. In einem Beispiel eines kistenförmigen Objekts kann das Robotersystem 100 die Objekterkennungshypothese als den Teil der 3D-Punktwolkeninformation erzeugen, der durch zwei parallele Paare der fusionierten Kanten definiert ist, wobei ein paralleles Paar der fusionierten Kanten senkrecht zu dem anderen parallelen Paar der fusionierten Kanten steht, zusammen mit den Kantenkreuzungspunkten, die den Schnittpunkten zwischen den beiden parallelen Paaren der fusionierten Kanten entsprechen. In einigen Ausführungsformen kann das Robotersystem 100 mehrere Objekterkennungshypothesen erzeugen, die auf unterschiedlichen Kombinationen der fusionierten Kanten basieren.
  • Durch die Verwendung der fusionierten Kanteninformation zur Generierung der Objekterkennungshypothesen können mehrere wichtige Vorteile erzielt werden, wie oben in Bezug auf 7A und 7B diskutiert. Ein wichtiger Vorteil, der erreicht werden kann, besteht darin, dass die fusionierte Kanteninformation dazu verwendet werden kann, die Punktwolkendaten im Vergleich zu der Kanteninformation, die aus einem einzigen Modus der Bilderfassung erzeugt wird, genauer und präziser zu segmentieren. Bei einer Anwendung zur Erkennung von Objekten oder Kisten bzw. Schachteln mit im Wesentlichen ähnlicher Höhe, z. B. wenn die Oberflächen jeder der Kisten die gleiche oder eine ähnliche Höhe haben, so dass die Oberflächen eine im Wesentlichen horizontale Ebene oder Fläche bilden, ist es möglich, dass der Teil der Punktwolke (auch als „Punktwolkenschicht“ bezeichnet), der den Oberflächen der Kisten bzw. Schachteln entspricht, erfasst werden kann, der mehrere Objekte oder Kisten umfasst. Um das Beispiel fortzusetzen, innerhalb der Punktwolkenschicht können die Kisten oder Objekte gleiche oder ähnliche Höhen-/Tiefenwerte aufweisen, wodurch es schwierig wird, einzelne Kisten oder Objekte zu erfassen (d.h. die Innenkonturen 645, die den Trennungen zwischen den Kisten entsprechen). Genauer gesagt kann die Segmentierung der 3D-Punktwolkendaten anhand der auf den 2D-Bilddaten basierenden erkannten Kanten unvollständige Kanten (d.h. erkannte Kanten, die einem Teil einer gesamten Kante der tatsächlichen Oberflächen der Kisten entsprechen) oder falsche Kanten (d.h. erkannte Kanten, die nicht tatsächlich der tatsächlichen Kante der Oberfläche der Kisten bzw. Schachteln entsprechen, wie z.B. eine Kante einer Schachtel-Klappe, eine Falte/Rille oder ein Teil eines Designs/Grafik/Bildes auf der Oberfläche der Kiste bzw. Schachtel) ergeben. Da die Kisten bzw. Schachteln dicht gepackt sein können, werden Unterschiede in der Tiefe, die einer Trennung zwischen den Schachteln entsprechen können, in den 3D-Bilddaten möglicherweise nicht erfasst. Daher kann die fusionierte Kanteninformation, die die Kanteninformation aus mehreren Abbildungsmodi kombiniert, die Identifizierung der tatsächlichen Objektkanten verbessern und die Sicherheit der Korrelation zwischen der Kanteninformation und den tatsächlichen Objektkanten erhöhen, indem sie die falsche Kantenerkennung reduziert und/oder Kanten identifiziert, die andernfalls unentdeckt bleiben würden. Dies kann eine bessere Segmentierung der Punktwolkenschicht und eine verbesserte Erkennung einzelner Objekte oder Kisten bzw. Schachteln ermöglichen.
  • Ein weiterer wichtiger Vorteil, der erreicht werden kann, besteht darin, dass die fusionierte Kanteninformation als Merkmal für die Generierung von Erkennungshypothesen verwendet werden kann. Wie oben beschrieben, kann die fusionierte Kanteninformation z.B. zur Erkennung oder Erzeugung von Kantenkreuzungspunkten (z.B. Stellen, an denen sich zwei oder mehr der erkannten Kanten schneiden oder ein Schnittpunkt zwischen einer Extrapolation der erkannten Kanten wäre) verwendet werden, die der Position der Ecken der Konturen von Objekten entsprechen können. Genauer gesagt kann die Analyse von Bilddaten allein aus einem einzigen Bilderfassungsmodus (d.h. die Kantenerkennung auf der Grundlage der zweidimensionalen Bilddaten oder der dreidimensionalen Bilddaten) eine höhere Fehlerwahrscheinlichkeit oder ein Versagen bei der Identifizierung von Kanten aufweisen, wobei die Verwendung der fusionierten Kanteninformation zur Erzeugung der Erkennungshypothese die Wahrscheinlichkeit erhöht, dass die Objekterkennungshypothese korrekt ist.
  • Nachdem die Objekterkennungshypothese generiert wurde, kann das Robotersystem 100 die Validierung der Objekterkennungshypothese in Schritt 825 durchführen. In einigen Ausführungsformen kann das Robotersystem 100 die Objekterkennungshypothese auf der Grundlage eines Vergleichs der Objekterkennungshypothese mit Objektbeschreibungen für registrierte Objekte in den Stammdaten von 2 validieren. Beispielsweise kann das Robotersystem 100 die Objekterkennungshypothese validieren, indem es die Kontureigenschaften (d.h. Längen der fusionierten Kanten, Positionen/Lagen der Kantenkreuzungspunkte) der Objekterkennungshypothese mit denen vergleicht, die den registrierten Objekten in den Stammdaten entsprechen. In einigen Ausführungsformen kann das Robotersystem 100 beim Vergleich mit den registrierten Objekten während der Validierung der Objekterkennungshypothese eine Reihe von Faktoren berücksichtigen, wie z.B. die Vollständigkeit der fusionierten Kanteninformation (d.h. ob die fusionierte Kante Diskontinuitäten enthält oder ob die Länge der fusionierten Kante den gesamten Abstand zwischen zwei Kreuzpunkten überspannt), die die Genauigkeit der erkannten Konturen beeinflussen können. Beispielsweise kann das Robotersystem 100 eine Sicherheitsbewertung der Objekterkennungshypothese oder einen Grad der Übereinstimmung mit den registrierten Objekten liefern. Als spezielles Beispiel kann das Robotersystem 100 eine höhere Sicherheitsbewertung für die Erkennungshypothese liefern, die einen höheren Grad an Vollständigkeit der fusionierten Kanteninformation beinhaltet, wie oben beschrieben. Da die fusionierte Kanteninformation ein Maximum an möglicher Information aus der Kombination der verfügbaren Bilderfassungsgeräte liefern kann, kann die fusionierte Kanteninformation dazu beitragen, die Genauigkeit und Zuverlässigkeit zu erhöhen, die mit der Bestimmung der genauen Positionen der Kanten oder Konturen den Objekten auf der Grundlage der Erkennungshypothese zugeordnet wird. Darüber hinaus können mögliche Ungenauigkeiten der Koordinaten von Kantenpunkten nach der Transformation und Projektion aufgrund von Faktoren wie Punktwolkenrauschen oder Kalibrierung (z.B. physischer Versatz/Winkel/Abstand zwischen den Kameras) bei der Bestimmung der Sicherheitsbewertung oder des Übereinstimmungsgrades berücksichtigt werden.
  • Nach der Validierung der Objekterkennungshypothese kann das Robotersystem 100 die Objektkonturen, Lage-/Orientierungsinformation und/oder Standortinformation des Zielobjekts (wie z.B. das Zielobjekt 112 von 1), die der Objekterkennungshypothese entsprechen, für die weitere Verarbeitung des Zielobjekts in Schritt 830 verwenden. Das Robotersystem kann beispielsweise die Objektkonturen, Positions-/Orientierungsinformationen und/oder Standortinformationen für Operationen verwenden, die eine Manipulation des Zielobjekts beinhalten, wie z.B. für die Greiferplatzierung eines Endeffektors eines Roboters und/oder Bewegungsplanungsberechnungen für die Bewegung des Zielobjekts. Mit verbesserter Genauigkeit der Kontur- und Lageerkennung können Versand- oder Fertigungsverfahren verbessert werden. Nach der Übertragung der Objektkonturen und - position kann das Verfahren 800 bei Bedarf wiederholt werden, um weitere Objekterkennungshypothesen zu generieren, die zusätzliche Kantenfusionsoperationen gemäß den obigen Schritten beinhalten können, oder das Verfahren kann beendet werden.
  • BEISPIEL COMPUTERUMGEBUNG
  • 9 veranschaulicht eine Beispiel-Computerumgebung 900 mit einer Beispiel-Computervorrichtung 905, die für die Verwendung in einigen Beispielimplementierungen geeignet ist. Die Computervorrichtung 905 in der Computerumgebung 900 kann eine oder mehrere Verarbeitungseinheiten, Kerne oder Prozessoren 910, Speicher 915 (z.B. RAM, ROM und/oder ähnliches), interne Speicher 920 (z.B. magnetische, optische, Festkörperspeicher und/oder organische Speicher) und/oder die E/A-Schnittstelle 925 enthalten, von denen jede an einen Kommunikationsmechanismus oder Bus 930 zur Übermittlung von Informationen gekoppelt oder in die Computervorrichtung 905 eingebettet sein kann.
  • Die Computervorrichtung 905 kann kommunikativ mit der Eingabe/Schnittstelle 935 und der Ausgabevorrichtung/Schnittstelle 940 gekoppelt sein. Entweder eines oder beide von Eingabe/Schnittstelle 935 und Ausgabevorrichtung/Schnittstelle 940 können eine verdrahtete oder drahtlose Schnittstelle sein und können abnehmbar sein. Eingabe/Schnittstelle 935 kann jedes Gerät, jede Komponente, jeden Sensor oder jede Schnittstelle, physisch oder virtuell, umfassen, die zur Eingabe verwendet werden können (z.B. Tasten, Touchscreen-Schnittstelle, Tastatur, eine Zeige-/Cursor-Steuerung, Mikrofon, Kamera, Braille-Schrift, Bewegungssensor, optisches Lesegerät und/oder ähnliches).
  • Die Ausgabevorrichtung/Schnittstelle 940 kann eine Anzeige, ein Fernsehgerät, einen Monitor, einen Drucker, einen Lautsprecher, eine Braillevorrichtung oder ähnliches umfassen. In einigen Beispielimplementierungen können Eingabe/Schnittstelle 935 (z.B. Nutzerschnittstelle) und Ausgabevorrichtung/Schnittstelle 940 in die Computervorrichtung 905 eingebettet oder mit dieser physisch gekoppelt sein. In anderen Beispielimplementierungen können andere Computervorrichtungen als Eingabe/Schnittstelle 935 und Ausgabevorrichtung/Schnittstelle 940 als eine Computervorrichtung 905 fungieren oder die Funktionen eines solchen Geräts bereitstellen. Diese Elemente können unter anderem bekannte AR-Hardware-Eingänge umfassen, so dass ein Nutzer mit einer AR-Umgebung interagieren kann.
  • Beispiele für die Computervorrichtung 905 können unter anderem hochmobile Geräte (z.B. Smartphones, Geräte in Fahrzeugen und anderen Maschinen, von Menschen und Tieren getragene Geräte und dergleichen), mobile Geräte (z.B, Tablets, Notebooks, Laptops, Personalcomputer, tragbare Fernsehgeräte, Radios und dergleichen) und nicht für Mobilität ausgelegte Geräte (z.B. Desktop-Computer, Server-Geräte, andere Computer, Informationskioske, Fernsehgeräte mit einem oder mehreren darin eingebetteten und/oder daran gekoppelten Prozessoren, Radios und dergleichen).
  • Die Computervorrichtung 905 kann kommunikativ (z.B. über die E/A-Schnittstelle 925) mit dem externen Speicher 945 und dem Netzwerk 950 gekoppelt sein, um mit einer beliebigen Anzahl von vernetzten Komponenten, Geräten und Systemen, einschließlich einer oder mehreren Computervorrichtungen gleicher oder unterschiedlicher Konfiguration, zu kommunizieren. Die Computervorrichtung 905 oder jede angeschlossene Computervorrichtung kann als Server, Client, Thin-Server, allgemeine Maschine, Spezialmaschine oder eine andere Bezeichnung fungieren, Dienste bereitstellen oder als solcher bezeichnet werden.
  • Die E/A-Schnittstelle 925 kann, ist aber nicht darauf beschränkt, drahtgebundene und/oder drahtlose Schnittstellen umfassen, die beliebige Kommunikations- oder E/A-Protokolle oder -Standards (z. B. Ethernet, 802.11xs, Universal-System-Bus, WiMAX, Modem, ein zellulares Netzwerkprotokoll und dergleichen) zur Kommunikation von Informationen zu und/oder von mindestens allen angeschlossenen Komponenten, Geräten und Netzwerken in der Computerumgebung 900 verwenden. Das Netzwerk 950 kann ein beliebiges Netzwerk oder eine Kombination von Netzwerken sein (z.B. das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk, ein Telefonnetzwerk, ein zellulares Netzwerk, ein Satellitennetzwerk und ähnliches).
  • Die Computervorrichtung 905 kann computerverwendbare oder computerlesbare Medien, einschließlich flüchtiger Medien und nichtflüchtiger Medien, verwenden und/oder mit ihnen kommunizieren. Zu den flüchtigen Medien gehören Übertragungsmedien (z.B. Metallkabel, Glasfaseroptik), Signale, Trägerwellen und dergleichen. Zu den nichtflüchtigen Medien gehören magnetische Medien (z.B. Disks und Bänder), optische Medien (z.B. CD-ROM, digitale Videodisks, Blu-ray-Disks), Festkörpermedien (z.B. RAM, ROM, Flash-Speicher, Festkörperspeicher) und andere nichtflüchtige Speicher.
  • Die Computervorrichtung 905 kann verwendet werden, um Techniken, Verfahren, Anwendungen, Prozesse oder computerausführbare Befehle in einigen Beispiel-Computerumgebungen zu implementieren. Computerausführbare Befehle können von flüchtigen Medien abgerufen und auf nichtflüchtigen Medien gespeichert und von diesen abgerufen werden. Die ausführbaren Befehle können aus einer oder mehreren beliebigen Programmier-, Skript- und Maschinensprachen stammen (z.B. C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript und andere).
  • (Ein) Prozessor(en) 910 kann/können unter jedem Betriebssystem (OS) (nicht gezeigt), in einer nativen oder virtuellen Umgebung ausgeführt werden. Es können eine oder mehrere Anwendungen eingesetzt werden, die die Logikeinheit 955, die API-Einheit (Application Programming Interface) 960, die Eingabeeinheit 965, die Ausgabeeinheit 970, die Kantenerkennungseinheit 975, die Kantenfusionseinheit 980, die Hypothesenerzeugungseinheit 985, die Hypothesenvalidierungseinheit 990 und den Interkommunikationsmechanismus 995 für die verschiedenen Einheiten umfassen, damit die verschiedenen Einheiten miteinander, mit dem Betriebssystem und mit anderen Anwendungen (nicht dargestellt) kommunizieren können.
  • Zum Beispiel können die Kantenerkennungseinheit 975, die Kantenfusionseinheit 980, die Hypothesenerzeugungseinheit 985 und die Hypothesenvalidierungseinheit 990 eines oder mehrere der in 8 gezeigten Verfahren implementieren. Die beschriebenen Einheiten und Elemente können in Design, Funktion, Konfiguration oder Implementierung variiert werden und sind nicht auf die gegebenen Beschreibungen beschränkt.
  • In einigen Beispielimplementierungen können Informationen oder eine Ausführungsanweisung, wenn sie von der API-Einheit 960 empfangen werden, an eine oder mehrere andere Einheiten übermittelt werden (z.B. die Kantenerkennungseinheit 975, die Kantenfusionseinheit 980, die Hypothesenerzeugungseinheit 985 und die Hypothesenvalidierungseinheit 990). Zum Beispiel kann die Kantenerkennungseinheit 975 automatisch Objektkanten aus Bilddaten erkennen, die von mindestens zwei verschiedenen Bilderfassungsmodi erfasst wurden, und die erkannten Kanten der Kantenfusionseinheit 980 zur Verfügung stellen. Die Kantenfusionseinheit 980 kann die erkannten Kanten zu erzeugten Kantenfusionsdaten fusionieren, die der Hypothesenerzeugungseinheit 985 zur Verfügung gestellt werden. Die Hypothesenerzeugungseinheit 985 kann Objekterkennungshypothesen auf der Grundlage der Kantenfusionsdaten erzeugen und der Hypothesenvalidierungseinheit 990 bereitstellen. Die Hypothesenvalidierungseinheit 990 kann die erzeugten Hypothesen auf der Grundlage der gesammelten Bilddaten und der Kantenfusionsdaten validieren.
  • In einigen Fällen kann die Logikeinheit 955 so konfiguriert sein, dass sie den Informationsfluss zwischen den Einheiten steuert und die Dienste leitet, die von der API-Einheit 960, der Eingabeeinheit 965, der Kantenerkennungseinheit 975, der Kantenfusionseinheit 980, der Hypothesenerzeugungseinheit 985 und der Hypothesenvalidierungseinheit 990 in einigen oben beschriebenen Beispielimplementierungen bereitgestellt werden. Beispielsweise kann der Ablauf eines oder mehrerer Verfahren oder Implementierungen durch die Logikeinheit 955 allein oder in Verbindung mit der API-Einheit 960 gesteuert werden.
  • Obwohl einige Beispielimplementierungen gezeigt und beschrieben wurden, werden diese Beispielimplementierungen bereitgestellt, um den hier beschriebenen Gegenstand Personen zu vermitteln, die mit diesem Gebiet vertraut sind. Es ist zu verstehen, dass der hier beschriebene Gegenstand in verschiedenen Formen implementiert werden kann, ohne auf die beschriebenen Beispielimplementierungen beschränkt zu sein. Der hier beschriebene Gegenstand kann ohne die speziell definierten oder beschriebenen Sachverhalte oder mit anderen oder unterschiedlichen nicht beschriebenen Elementen oder Sachverhalten ausgeübt werden. Diejenigen, die mit diesem Bereich vertraut sind, werden es zu schätzen wissen, dass Änderungen an diesen Beispielimplementierungen vorgenommen werden können, ohne von dem hier beschriebenen Gegenstand, wie er in den beigefügten Ansprüchen und ihren Äquivalenten definiert ist, abzuweichen.

Claims (20)

  1. Verfahren zum Erkennen von Objekten, aufweisend: Erzeugen einer ersten Kanteninformation aus ersten Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines ersten Modus der Bilderfassung; Erzeugen einer zweiten Kanteninformation aus zweiten Bilddaten, die das Objekt repräsentieren, auf der Grundlage eines zweiten Modus der Bilderfassung, wobei der zweite Modus sich von dem ersten Modus unterscheidet; Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation, um eine fusionierte Kanteninformation zu erzeugen; Erzeugen einer Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation; und Validieren der Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, der ersten Kanteninformation und/oder der zweiten Kanteninformation.
  2. Verfahren nach Anspruch 1, wobei das Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation das Kombinieren der ersten Kanteninformation mit der zweiten Kanteninformation in einen gemeinsamen Bildraum umfasst.
  3. Verfahren nach Anspruch 2, wobei das Kombinieren der ersten Kanteninformation mit der zweiten Kanteninformation in den gemeinsamen Bildraum einschließt: Abbilden der ersten Kanteninformation auf der Grundlage der Koordinaten der erkannten Kanten, die dem ersten Modus der Bilderfassung zugeordnet sind; und Transformieren der zweiten Kanteninformation, so dass sie einem Bildraum entspricht, der dem ersten Modus der Bilderfassung zugeordnet ist.
  4. Verfahren nach Anspruch 3, wobei der Bildraum, der dem ersten Modus der Bilderfassung zugeordnet ist, ein dreidimensionaler Bildraum ist; und wobei das Transformieren der zweiten Kanteninformation, so dass sie dem Bildraum entspricht, der dem ersten Modus der Bilderfassung zugeordnet ist, umfasst: Projizieren zweidimensionaler Kantenpunkte von der zweiten Kanteninformation auf den dreidimensionalen Bildraum auf der Grundlage von Tiefeninformation, die der ersten Kanteninformation zugeordnet ist, entsprechend den zweidimensionalen Positionen der zweidimensionalen Kantenpunkte der zweiten Kanteninformation, um projizierte dreidimensionale Punkte zu erzeugen, die der zweiten Kanteninformation zugeordnet sind; und Transformieren der projizierten dreidimensionalen Punkte, so dass sie dem dreidimensionalen Bildraum entsprechen.
  5. Verfahren nach Anspruch 4, wobei das Transformieren der zweiten Kanteninformation so, dass sie dem Bildraum entspricht, der dem ersten Modus der Bilderfassung zugeordnet ist, ferner aufweist: Projizieren der transformierten dreidimensionalen Punkte, die dem dreidimensionalen Bildraum entsprechen, auf zweidimensionale Koordinaten von Bildern, die der ersten Kanteninformation zugeordnet sind.
  6. Verfahren nach Anspruch 1, wobei die Bilddaten, die das Objekt auf der Grundlage des ersten Modus der Bilderfassung darstellen, Bilddaten sind, die durch einen Modus der zweidimensionalen Bilderfassung erfasst wurden, und wobei die Erkennung der ersten Kanteninformation eines oder mehrere des folgenden umfasst: CANNY -Kantenerkennung; Bereichsähnlichkeitskantenerkennung; und Liniensegmenterkennung .
  7. Verfahren nach Anspruch 1, wobei die Bilddaten, die das Objekt auf der Grundlage des ersten Modus der Bilderfassung repräsentieren, Bilddaten sind, die durch einen Modus der dreidimensionalen Bilderfassung erfasst wurden, und wobei die Erkennung der ersten Kanteninformation umfasst: Projizieren der Bilddaten, die unter Verwendung des ersten Modus erfasst wurden, in einen Bildraum, der einem oder mehreren zu erkennenden Objekten zugeordnet ist; und Extrahieren von Objektkanten aus einer projizierten 3D-Punktwolke.
  8. Nichtflüchtiges computerlesbares Medium, das mit Befehlen kodiert ist, um eine Computervorrichtung ein Verfahren zur Erkennung von Objekten ausführen zu lassen, wobei das Verfahren umfasst: Erzeugen einer ersten Kanteninformation aus ersten Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines ersten Modus der Bilderfassung; Erzeugen einer zweiten Kanteninformation aus zweiten Bilddaten, die das Objekt repräsentieren, auf der Grundlage eines zweiten Modus der Bilderfassung, wobei der zweite Modus sich von dem ersten Modus unterscheidet; Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation, um eine fusionierte Kanteninformation zu erzeugen; Erzeugen einer Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation; und Validieren der Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, der ersten Kanteninformation und/oder der zweiten Kanteninformation.
  9. Nichtflüchtiges computerlesbares Medium nach Anspruch 8, wobei das Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation das Kombinieren der ersten Kanteninformation mit der zweiten Kanteninformation in einen gemeinsamen Bildraum einschließt.
  10. Nichtflüchtiges computerlesbares Medium nach Anspruch 9, wobei das Kombinieren der ersten Kanteninformation mit der zweiten Kanteninformation in den gemeinsamen Bildraum umfasst: Abbilden der ersten Kanteninformation auf der Grundlage der Koordinaten der erkannten Kanten, die dem ersten Modus der Bilderfassung zugeordnet sind; und Transformieren der zweiten Kanteninformation, so dass sie einem Bildraum entspricht, der dem ersten Modus der Bilderfassung zugeordnet ist.
  11. Nichtflüchtiges computerlesbares Medium nach Anspruch 10, wobei der Bildraum, der dem ersten Modus der Bilderfassung zugeordnet ist, ein dreidimensionaler Bildraum ist; und wobei das Transformieren der zweiten Kanteninformation, so dass sie dem Bildraum entspricht, der dem ersten Modus der Bilderfassung zugeordnet ist, umfasst: Projizieren zweidimensionaler Kantenpunkte von der zweiten Kanteninformation auf den dreidimensionalen Bildraum auf der Grundlage von Tiefeninformation, die der ersten Kanteninformation zugeordnet ist, entsprechend den zweidimensionalen Positionen der zweidimensionalen Kantenpunkte der zweiten Kanteninformation, um projizierte dreidimensionale Punkte zu erzeugen, die der zweiten Kanteninformation zugeordnet sind; und Transformieren der projizierten dreidimensionalen Punkte, so dass sie dem dreidimensionalen Bildraum entsprechen.
  12. Nichtflüchtiges computerlesbares Medium nach Anspruch 11, wobei das Transformieren der zweiten Kanteninformation, so dass sie dem Bildraum entspricht, der dem ersten Modus der Bilderfassung zugeordnet ist, ferner umfasst: Projizieren der transformierten dreidimensionalen Punkte, die dem dreidimensionalen Bildraum entsprechen, auf zweidimensionale Koordinaten von Bildern, die der ersten Kanteninformation zugeordnet sind.
  13. Nichtflüchtiges computerlesbares Medium nach Anspruch 8, wobei die ersten Bilddaten, die das Objekt auf der Grundlage des ersten Modus der Bilderfassung darstellen, Bilddaten sind, die durch einen Modus der zweidimensionalen Bilderfassung erfasst wurden, und wobei die Erkennung der ersten Kanteninformation eines oder mehrere des folgenden umfasst: CANNY -Kantenerkennung; Bereichsähnlichkeitskantenerkennung; und Liniensegmenterkennung .
  14. Nichtflüchtiges computerlesbares Medium nach Anspruch 8, wobei die ersten Bilddaten, die das Objekt auf der Grundlage des ersten Modus der Bilderfassung darstellen, Bilddaten sind, die durch einen Modus der dreidimensionalen Bilderfassung erfasst wurden, und wobei die Erkennung der ersten Kanteninformation umfasst: Projizieren der Bilddaten, die unter Verwendung des ersten Modus erfasst wurden, in einen Bildraum, der einem oder mehreren zu erkennenden Objekten zugeordnet ist; und Extrahieren von Objektkanten aus einer projizierten 3D-Punktwolke.
  15. Objekterkennungssystem zum Erkennen von Objekten, wobei das System aufweist: eine Systemschnittstelle, die so konfiguriert ist, dass sie erste Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines ersten Modus der Bilderfassung empfängt und zweite Bilddaten, die das Objekt repräsentieren, auf der Grundlage eines zweiten Modus der Bilderfassung empfängt, wobei sich der zweite Modus von dem ersten Modus unterscheidet; einen Prozessor, der mit der Systemschnittstelle kommunikativ gekoppelt ist, wobei der Prozessor so konfiguriert ist, dass er ein Objekterkennungsverfahren durchführt, das Folgendes umfasst Erzeugen einer ersten Kanteninformation aus den ersten Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines ersten Modus der Bilderfassung; Erzeugen einer zweiten Kanteninformation aus den zweiten Bilddaten, die ein Objekt repräsentieren, auf der Grundlage eines zweiten Modus der Bilderfassung, wobei der zweite Modus sich von dem ersten Modus unterscheidet; Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation, um eine fusionierte Kanteninformation zu erzeugen; Erzeugen einer Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation; und Validieren der Objekterkennungshypothese auf der Grundlage der fusionierten Kanteninformation, der ersten Kanteninformation und/oder der zweiten Kanteninformation.
  16. Objekterkennungssystem nach Anspruch 15, wobei das Fusionieren der ersten Kanteninformation mit der zweiten Kanteninformation das Kombinieren der ersten Kanteninformation mit der zweiten Kanteninformation in einen gemeinsamen Bildraum umfasst.
  17. Objekterkennungssystem nach Anspruch 16, wobei das Kombinieren der ersten Kanteninformation mit der zweiten Kanteninformation in den gemeinsamen Bildraum umfasst: Abbilden der ersten Kanteninformation auf der Grundlage der Koordinaten der erkannten Kanten, die dem ersten Modus der Bilderfassung zugeordnet sind; und Transformieren der zweiten Kanteninformation, so dass sie einem Bildraum entspricht, der dem ersten Modus der Bilderfassung zugeordnet ist.
  18. Objekterkennungssystem nach Anspruch 17, wobei der Bildraum, der dem ersten Modus der Bilderfassung zugeordnet ist, ein dreidimensionaler Bildraum ist; und wobei das Transformieren der zweiten Kanteninformation, so dass sie dem Bildraum entspricht, der dem ersten Modus der Bilderfassung zugeordnet ist, umfasst: Projizieren zweidimensionaler Kantenpunkte von der zweiten Kanteninformation auf den dreidimensionalen Bildraum auf der Grundlage von Tiefeninformation, die der ersten Kanteninformation zugeordnet ist, entsprechend den zweidimensionalen Positionen der zweidimensionalen Kantenpunkte der zweiten Kanteninformation, um projizierte dreidimensionale Punkte zu erzeugen, die der zweiten Kanteninformation zugeordnet sind; und Transformieren der projizierten dreidimensionalen Punkte, so dass sie dem dreidimensionalen Bildraum entsprechen.
  19. Objekterkennungssystem nach Anspruch 18, wobei das Transformieren der zweiten Kanteninformation, so dass sie dem Bildraum entspricht, der dem ersten Modus der Bilderfassung zugeordnet ist, ferner umfasst: Projizieren der transformierten dreidimensionalen Punkte, die dem dreidimensionalen Bildraum entsprechen, auf zweidimensionale Koordinaten von Bildern, die der ersten Kanteninformation zugeordnet sind.
  20. Objekterkennungssystem nach Anspruch 15, wobei die ersten Bilddaten, die das Objekt auf der Grundlage des ersten Modus der Bilderfassung darstellen, Bilddaten sind, die durch einen Modus der dreidimensionalen Bilderfassung erfasst wurden, und wobei die Erkennung der ersten Kanteninformation umfasst: Projizieren der Bilddaten, die unter Verwendung des ersten Modus erfasst wurden, in einen Bildraum, der einem oder mehreren zu erkennenden Objekten zugeordnet ist; und Extrahieren von Objektkanten aus einer projizierten 3D-Punktwolke.
DE102020116803.9A 2019-07-15 2020-06-25 System und verfahren zur objekterkennung auf der grundlage von bilddaten Pending DE102020116803A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962874373P 2019-07-15 2019-07-15
US62/874,373 2019-07-15
US16/909,709 2020-06-23
US16/909,709 US11288814B2 (en) 2019-07-15 2020-06-23 System and method of object detection based on image data

Publications (1)

Publication Number Publication Date
DE102020116803A1 true DE102020116803A1 (de) 2021-01-21

Family

ID=73043611

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020116803.9A Pending DE102020116803A1 (de) 2019-07-15 2020-06-25 System und verfahren zur objekterkennung auf der grundlage von bilddaten

Country Status (4)

Country Link
US (2) US11288814B2 (de)
JP (2) JP6782046B1 (de)
CN (2) CN112308908A (de)
DE (1) DE102020116803A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288814B2 (en) * 2019-07-15 2022-03-29 Mujin, Inc. System and method of object detection based on image data
KR102537295B1 (ko) * 2021-02-01 2023-05-26 한국로봇융합연구원 적재된 객체 인식 장치 및 객체 인식 방법
WO2024048049A1 (ja) * 2022-08-29 2024-03-07 パナソニックIpマネジメント株式会社 画像処理システム、寸法測定システム、画像処理方法、及びプログラム
CN116228854B (zh) * 2022-12-29 2023-09-08 中科微至科技股份有限公司 一种基于深度学习的包裹自动分拣方法
CN116572078B (zh) * 2023-07-14 2023-10-17 中国空气动力研究与发展中心高速空气动力研究所 一种车削刀具磨损检测方法
CN117197743A (zh) * 2023-09-13 2023-12-08 南京北新智能科技有限公司 一种基于多帧二维点云识别的皮带纵向撕裂检测方法
CN117274605B (zh) * 2023-11-20 2024-03-01 北京飞渡科技股份有限公司 一种从无人机拍摄的照片中提取水域轮廓的方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000321050A (ja) 1999-05-14 2000-11-24 Minolta Co Ltd 3次元データ取得装置および3次元データ取得方法
DE19926559A1 (de) * 1999-06-11 2000-12-21 Daimler Chrysler Ag Verfahren und Vorrichtung zur Detektion von Objekten im Umfeld eines Straßenfahrzeugs bis in große Entfernung
US7796801B2 (en) * 1999-08-26 2010-09-14 Nanogeometry Research Inc. Pattern inspection apparatus and method
JP2010162638A (ja) 2009-01-14 2010-07-29 Toshiba Corp ロボットハンド
CN102713671A (zh) 2009-12-11 2012-10-03 株式会社拓普康 点群数据处理装置、点群数据处理方法和点群数据处理程序
KR20120067890A (ko) * 2010-12-16 2012-06-26 한국전자통신연구원 영상분석장치 및 그 방법
JP5963353B2 (ja) * 2012-08-09 2016-08-03 株式会社トプコン 光学データ処理装置、光学データ処理システム、光学データ処理方法、および光学データ処理用プログラム
CN103727930B (zh) * 2013-12-30 2016-03-23 浙江大学 一种基于边缘匹配的激光测距仪与相机相对位姿标定方法
US9486921B1 (en) * 2015-03-26 2016-11-08 Google Inc. Methods and systems for distributing remote assistance to facilitate robotic object manipulation
EP3414060B1 (de) 2016-02-08 2022-05-25 Berkshire Grey Operating Company, Inc. Systeme und verfahren zur bereitstellung der verarbeitung von verschiedenen objekten mit bewegungsplanung
CN109961501A (zh) * 2017-12-14 2019-07-02 北京京东尚科信息技术有限公司 用于建立三维立体模型的方法和装置
US10546202B2 (en) * 2017-12-14 2020-01-28 Toyota Research Institute, Inc. Proving hypotheses for a vehicle using optimal experiment design
CN108898609A (zh) * 2018-06-21 2018-11-27 深圳辰视智能科技有限公司 一种图像边缘检测方法、检测装置及计算机存储介质
US10282834B1 (en) * 2018-06-22 2019-05-07 Caterpillar Inc. Measurement platform that automatically determines wear of machine components based on images
CN110363815A (zh) * 2019-05-05 2019-10-22 东南大学 一种单视角点云下基于实例分割的机器人抓取检测方法
US11288814B2 (en) * 2019-07-15 2022-03-29 Mujin, Inc. System and method of object detection based on image data

Also Published As

Publication number Publication date
CN114820772B (zh) 2023-04-07
CN114820772A (zh) 2022-07-29
JP6782046B1 (ja) 2020-11-11
JP2021015600A (ja) 2021-02-12
US20210019891A1 (en) 2021-01-21
US20220284591A1 (en) 2022-09-08
US11288814B2 (en) 2022-03-29
JP2021015616A (ja) 2021-02-12
CN112308908A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
DE102019130046B4 (de) Robotersytem mit verbessertem Abtastmechanismus
DE102020116803A1 (de) System und verfahren zur objekterkennung auf der grundlage von bilddaten
DE102019009189B4 (de) Robotersytem mit Fehlererkennung und dynamischem Packmechanismus
DE112019000217B4 (de) Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Leitung zur automatischen Erkennung
DE102019009206B4 (de) Robotersystem mit dynamischem Packmechanismus
DE102019130048B4 (de) Ein Robotersystem mit Srückverlustverwaltungsmechanismus
DE102019130635B4 (de) Ein robotersystem mit packmechanismus
DE102020127473A1 (de) Robotersystem mit wandbasiertem packmechanismus und verfahren zum betreiben dieses systems
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE112020000067T5 (de) Roboter-mehrfachgreiferbaugruppen und -verfahren zum greifen und halten von objekten
DE102019130639B4 (de) ROBOTERSYSTEM ZUM VERARBEITEN VON PAKETEN, DIE AUßERHALB DER SEQUENZ ANKOMMEN
DE102020119866A1 (de) Roboter-mehrfachgreiferbaugruppen und -verfahren zum greifen und halten von objekten
DE102020101767B4 (de) Steuerverfahren und steuerung für ein robotersystem
DE102020111139A1 (de) Verfeinerung nach Erfassung basierend auf Kanten und mehrdimensionalen Ecken
DE102020112099A1 (de) Ein robotersystem mit einem koordinierten übertragungsmechanismus
DE102020206387B4 (de) Verfahren und computersystem zur verarbeitung von kandidatenkanten
US20230071488A1 (en) Robotic system with overlap processing mechanism and methods for operating the same
CN115609569A (zh) 具有基于图像的尺寸确定机制的机器人系统及其操作方法

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009600000

Ipc: G06V0030200000