DE102021107333A1 - 3d-stellungsabschätzung mit einer 2d-kamera - Google Patents

3d-stellungsabschätzung mit einer 2d-kamera Download PDF

Info

Publication number
DE102021107333A1
DE102021107333A1 DE102021107333.2A DE102021107333A DE102021107333A1 DE 102021107333 A1 DE102021107333 A1 DE 102021107333A1 DE 102021107333 A DE102021107333 A DE 102021107333A DE 102021107333 A1 DE102021107333 A1 DE 102021107333A1
Authority
DE
Germany
Prior art keywords
image
feature point
training
actual object
feature
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
DE102021107333.2A
Other languages
English (en)
Inventor
Te Tang
Tetsuaki Kato
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102021107333A1 publication Critical patent/DE102021107333A1/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/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning 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
    • G06T7/73Determining position or orientation of objects or cameras 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
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Ein System und ein Verfahren zum Erhalten einer 3D-Stellung eines Objekts unter Verwendung von 2D-Bildern von einer 2D-Kamera und einem lernbasierten neuronalen Netzwerk werden aufgezeigt. Das neuronale Netzwerk extrahiert eine Vielzahl von Merkmalen auf dem Objekt aus den 2D-Bildern und erzeugt eine Heatmap für jedes der extrahierten Merkmale, die die Wahrscheinlichkeit einer Position eines Merkmalspunktes auf dem Objekt durch eine Farbdarstellung identifizieren. Das Verfahren stellt ein Merkmalspunktbild bereit, das die Merkmalspunkte aus den Heatmaps auf den 2D-Bildern enthält, und schätzt die 3D-Stellung des Objekts durch Vergleich des Merkmalspunktbilds und eines virtuellen 3D-CAD-Modells des Objekts.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein ein System und Verfahren zur Gewinnung einer 3D-Stellung eines Objekts unter Verwendung einer 2D-Kamera und insbesondere ein System und Verfahren zur Gewinnung einer 3D-Stellung eines Objekts unter Verwendung einer 2D-Kamera und eines lembasierten neuronalen Netzes, wobei das System und das Verfahren insbesondere für eine Robotersteuerung Anwendung findet.
  • STAND DER TECHNIK
  • Roboter führen eine Vielzahl von Aufgaben aus, wie z. B. Pick-and-Place-Operationen, bei denen der Roboter Objekte von einem Ort, z. B. einem Förderband, aufnimmt und zu einem anderen Ort, z. B. einem Sammelbehälter, bewegt, wobei die Lage und Ausrichtung der Objekte, die als 3D-Stellung des Objekts bezeichnet wird, leicht unterschiedlich sind. Damit der Roboter ein Objekt effektiv aufnehmen kann, muss er daher oft die 3D-Stellung des Objekts kennen. Verschiedene Techniken zur Bestimmung der 3D-Stellung von Objekten verwenden zu diesem Zweck eine 3D-Kamera, die 3D-Bilder des Objekts in Echtzeit aufnimmt, wobei die 3D-Bilder Abstandsmessungen zu vielen Punkten im Sichtfeld der Kamera identifizieren, die an die Robotersteuerung gesendet werden. Diese Techniken können eine 3D-Karte einer Szene mit strukturiertem Licht erstellen und dann nach Objekten in der Karte suchen, indem 3D-Merkmale der Objekte identifiziert werden.
  • Die Verwendung von 3D-Kameras zur Bestimmung der 3D-Stellung von Objekten für Roboteranwendungen hat sich als effektiv erwiesen. 3D-Kameras sind jedoch kostspielige Geräte und arbeiten oft langsamer als gewünscht.
  • Eine ansonsten in der Praxis bekannte Technik, um die 3D-Stellung eines Objekts für Roboteranwendungen zu erhalten, verwendet eine 2D-Kamera. Diese Technik nimmt ein einzelnes 2D-Farbbild einer Szene auf und verarbeitet das Bild mit Hilfe einer vollfehlerkonvergenten Architektur. Ein Algorithmus unterteilt das Bild in ein 2D-Gitter mit S X S Zellen und identifiziert die Objekte in den Zellen. Der Algorithmus projiziert eine Bounding Box (Begrenzungsquader) um jedes Objekt im Bild und sagt die 2D-Position der acht Ecken der Box voraus. Dieses Verfahren zur Vorhersage der Ecken der Bounding Boxen hat jedoch Einschränkungen bei der Genauigkeit und eine geringe Robustheit gegenüber Verdeckungen.
  • Einige der oben genannten Verfahren zur Bestimmung der 3D-Stellung eines Objekts verwenden künstliche Intelligenz (KI), die ein Bereich der Informatik ist, der Algorithmen verwendet, die es Softwareanwendungen ermöglichen, aus ihrer Umgebung zu lernen und daraus Entscheidungen zu treffen, um ein bestimmtes Ergebnis zu erzielen. Maschinelles Lernen ist ein Teil der KI, der Softwareanwendungen einsetzt, die ihr eigenes Wissen erwerben, indem sie große Mengen an rohen Eingabedaten in einer iterativen Art und Weise analysieren, um Muster aus den Daten zu extrahieren und es der Softwareanwendung zu ermöglichen, zu lernen, eine Aufgabe auszuführen, ohne speziell für die Ausführung dieser Aufgabe programmiert zu sein. Deep Learning ist eine besondere Art des maschinellen Lernens, die eine höhere Lernleistung bietet, indem sie eine bestimmte reale Umgebung als eine Hierarchie von zunehmend komplexen Konzepten darstellt.
  • Beim Deep Learning wird typischerweise eine Softwarestruktur verwendet, die mehrere Schichten neuronaler Netze beinhaltet, die eine nichtlineare Verarbeitung durchführen, wobei jede nachfolgende Schicht eine Ausgabe von der vorherigen Schicht erhält. Im Allgemeinen umfassen die Schichten eine Eingabeschicht, die Rohdaten von einem Sensor empfängt, eine Reihe von versteckten Schichten, die abstrakte Merkmale aus den Daten extrahieren, und eine Ausgabeschicht, die einen bestimmten Gegenstand auf der Grundlage der Merkmalsextraktion aus den versteckten Schichten identifiziert. Die neuronalen Netze enthalten Neuronen oder Knoten, die jeweils ein „Gewicht“ haben, durch das die Eingabe an den Knoten multipliziert wird, um eine Wahrscheinlichkeit zu erhalten, ob etwas richtig ist. Genauer gesagt hat jeder der Knoten ein Gewicht, das eine Gleitkommazahl ist, die mit der Eingabe in den Knoten multipliziert wird, um eine Ausgabe für diesen Knoten zu generieren, die ein gewisser Anteil der Eingabe ist. Die Gewichte werden anfänglich „trainiert“ oder eingestellt, indem die neuronalen Netzwerke veranlasst werden, einen Satz bekannter Daten unter überwachter Verarbeitung zu analysieren und indem eine Kostenfunktion minimiert wird, damit das Netzwerk die höchste Wahrscheinlichkeit für eine korrekte Ausgabe erhält.
  • Neuronale Netze mit tiefem Lernen (Deep learning neural networks) werden häufig eingesetzt, um die Bildextraktion und -transformation für die visuelle Erkennung und Klassifizierung von Objekten in einem Bild bereitzustellen, wobei ein Video oder ein Strom von Bildern vom Netz analysiert werden kann, um Objekte zu identifizieren und zu klassifizieren und durch den Prozess zu lernen, die Objekte besser zu erkennen. So kann das System in diesen Arten von Netzwerken die gleiche Verarbeitungskonfiguration verwenden, um bestimmte Objekte zu erkennen und sie unterschiedlich zu klassifizieren, je nachdem, wie der Algorithmus gelernt hat, die Objekte zu erkennen.
  • Im Folgenden werden ein System und ein Verfahren zur Gewinnung einer 3D-Stellung eines Objekts unter Verwendung von 2D-Bildern von einer 2D-Kamera und eines lembasierten neuronalen Netzes gezeigt und beschrieben. Das neuronale Netzwerk extrahiert eine Vielzahl von Merkmalen auf dem Objekt aus den 2D-Bildern und erzeugt eine Heatmap für jedes der extrahierten Merkmale, die die Wahrscheinlichkeit einer Position eines Merkmalspunkts auf dem Objekt durch eine Farbdarstellung identifizieren. Das Verfahren stellt ein Merkmalspunktbild bereit, das die Merkmalspunkte aus den Heatmaps auf den 2D-Bildern enthält, und schätzt die 3D-Stellung des Objekts durch Vergleich des Merkmalspunktbildes und eines virtuellen 3D-CAD-Modells des Objekts.
  • Zusätzliche Merkmale der Erfindung werden aus der folgenden Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen ersichtlich.
  • Figurenliste
    • 1 ist eine Darstellung eines Robotersystems mit einem Roboter, der Objekte von einem Förderband aufnimmt und in einen Behälter legt, wobei das System eine 2D-Kamera zur Aufnahme von 2D-Bildern der Objekte und eine Steuerung zur Berechnung einer 3D-Stellung der Objekte unter Verwendung der 2D-Bilder verwendet;
    • 2 ist ein Flussdiagramm, das einen Prozess zur Gewinnung eines Datensatzes von einem Objekt unter Verwendung einer 2D-Kamera zum Trainieren eines neuronalen Netzes zeigt;
    • 3 ist eine Darstellung eines neuronalen Netzes mit einer Vielzahl von Knoten, von denen jeder ein einstellbares Gewicht hat;
    • 4 ist ein Flussdiagramm, das einen lembasierten neuronalen Netzwerkprozess zur Verwendung des trainierten neuronalen Netzwerks zur Schätzung der 3D-Stellung eines Objekts unter Verwendung eines 2D-Bildes des Objekts und eines neuronalen Netzwerks zeigt;
    • 5 ist eine Darstellung, die ein Perspektive-n-Punkt (PnP)-Verfahren zur Bestimmung einer 3D-Stellungsschätzung des Objekts in dem in 4 gezeigten Verfahren zeigt;
    • 6 ist eine Darstellung eines Kamerasystems, das mehrere Kameras zur Abbildung eines Objekts verwendet;
    • 7 ist ein Blockdiagramm eines Systems zur Schätzung der 3D-Stellung eines Objekts unter Verwendung mehrerer 2D-Kameras;
    • 8 ist eine Darstellung eines PnP-Prozesses zur Schätzung der 3D-Stellung des Objekts in dem in 7 gezeigten System; und
    • 9 ist ein Flussdiagramm, das einen Vektorfeldschätzungsprozess zur Vorhersage von Merkmalspunkten auf einem Objekt zeigt.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die folgende Erörterung der Ausführungsformen der Erfindung, die auf ein System und ein Verfahren gerichtet ist, das ein lernbasiertes neuronales Netzwerk zur Gewinnung einer 3D-Stellung eines Objekts unter Verwendung einer 2D-Kamera einsetzt, hat lediglich exemplarischen Charakter und soll die Erfindung oder ihre Anwendungen oder Verwendungen in keiner Weise einschränken. Beispielsweise werden das System und das Verfahren zur Bestimmung der Position und Orientierung eines Objekts angewendet, das von einem Roboter gegriffen wird. Allerdings können das System und das Verfahren auch anders angewendet werden.
  • 1 ist eine Darstellung eines Robotersystems 10 mit einem Roboter 12, der Objekte 14 von einem Förderband 16 aufnimmt und in einen Sammelbehälter 18 legt. Das System 10 soll jede Art von Robotersystem darstellen, das von der hier gezeigten Erfindung bzw. Ausführungsform profitieren kann, wobei der Roboter 12 jeder für diesen Zweck geeignete Roboter sein kann. Jedes Objekt 14 hat eine andere Ausrichtung und Position auf dem Förderband 16 relativ zu den anderen Objekten 14, während sie sich auf dem Förderband 16 weiter bewegen. Damit der Roboter 12 die Objekte 14 effektiv ergreifen und aufnehmen kann, muss er in der Lage sein, einen Endeffektor 20 am Roboter 12 an der richtigen Stelle und in der richtigen Ausrichtung zu positionieren, bevor er das Objekt 14 ergreift. Um dies zu erreichen, enthält das System 10 eine 2D-Kamera 22, die an einer gewünschten Stelle relativ zu den Objekten 14 vorgesehen ist und 2D-Bilder an eine Robotersteuerung 24 liefert, die den Roboter 12 steuert, um den Endeffektor 20 zu bewegen. Wie im Folgenden näher erläutert wird, verwendet die Robotersteuerung 24 Algorithmen, um die 2D-Bilder von der Kamera 22 in eine 3D-Stellung der Objekte 14 umzuwandeln, um den Endeffektor 20 richtig zu steuern.
  • Damit die Steuerung 24 die 3D-Stellung der Objekte 14 genau bestimmen kann, wird, wie erörtert wird, in einer Ausführungsform ein lembasiertes neuronales Netzwerk in den Algorithmen und der Software verwendet, die in der Steuerung 24 laufen, die Objektmerkmale extrahieren, wobei das neuronale Netzwerk mit Daten trainiert werden muss, die von repräsentativen Objekten erhalten wurden. 2 ist ein Flussdiagramm 30, das einen Prozess zur Gewinnung von Bilddaten von einem Objekt 32, das mit den Objekten 14 im System 10 identisch ist, unter Verwendung einer 2D-Kamera 40 zeigt, die zum Trainieren eines neuronalen Netzwerks verwendet wird. Das Objekt 32 wird auf einer Marker-Tafel 34 platziert, die eine geeignete Anzahl von Markern 36 mit einem speziellen detektierbaren Design aufweist, das verwendet wird, um die „Grundwahrheit“ oder die tatsächliche Position des Objekts 32 zu identifizieren, wobei nur einer der Marker 36 auf der Tafel 34 angezeigt ist, und ein durch eine Linie 38 dargestellter Offset-Abstand zwischen dem Marker 34 und dem Objekt 32 gemessen wird.
  • Die Kamera 40 liefert ein oder mehrere 2D-Bilder 42 der Marker-Tafel 34 - hier vier Bilder - unter verschiedenen Winkeln. Der Prozess führt dann eine Projektion auf die Bilder 42 durch, um die Drehung und Position eines der Marker 36 zu bestimmen, die durch einen Koordinatenrahmen 44 identifiziert werden. Der Algorithmus addiert dann den zuvor gemessenen Offset zwischen dem Marker 36 und dem Objekt 32 zu der Drehung und Position des Markers 36, um die Drehung und Position des Objekts 32 zu bestimmen. Sobald die tatsächliche Position des Objekts 32 bestimmt ist, kann die Position von Merkmalspunkten 46, wie z. B. Ecken, auf dem Objekt 32 mit einem bekannten Merkmalspunktextraktionsverfahren berechnet werden, wobei ein Minimum von vier Merkmalspunkten erforderlich ist. Ein Algorithmus, der z. B. ein Gauß-Verteilungsverfahren verwenden kann, betrachtet jeden im Bild 42 identifizierten Merkmalspunkt 46 und erzeugt eine „Heatmap“ 48 für diesen Punkt 46, wobei jede Heatmap 48 durch Farbintensität die Wahrscheinlichkeit angibt, dass einer der Merkmalspunkte des Objekts 32 an einer bestimmten Stelle existiert. Beispielsweise würde der Stelle im Bild 42, an der ein Merkmalspunkt vermutet wird, wie im Bereich 50, eine bestimmte Farbe zugewiesen, wie z. B. Rot, und wenn die Wahrscheinlichkeit sinkt, dass der Merkmalspunkt an einer Stelle existiert, die sich von dem Bereich 50 entfernt, ändert sich die Farbe zu z. B. Blau, wie im Bereich 52.
  • Die von den 2D-Bildern 42 bereitgestellten Daten und die entsprechenden Heatmaps 48, die durch den in der 30 dargestellten Prozess erzeugt wurden, werden dann zum Trainieren eines neuronalen Netzes unter Verwendung bekannter KI-Trainingsschemata verwendet, das dann im System 10 zur Identifizierung der 3D-Stellung der Objekte 14 eingesetzt wird. 3 ist eine Darstellung eines neuronalen Netzwerks 60 mit einer Vielzahl von Knoten 62, die jeweils ein einstellbares Gewicht W aufweisen, wobei das Netzwerk 60 allgemein das hier diskutierte neuronale Netzwerk darstellen soll. Das neuronale Netzwerk 60 enthält eine Eingabeschicht 64, die die einzelnen Pixeldaten aus den 2D-Bildern empfängt, mehrere Restblockschichten 66 und 68, die Merkmale in den Pixeldaten der 2D-Bilder identifizieren, und mehrere Faltungsschichten 70, wobei jeder Knoten 62 in den Faltungsschichten 70 eine Heatmap liefert. Es wird darauf hingewiesen, dass die Faltungsschichten 70 und die Restblockschichten 66 und 68 Standardmodule sind, die im Bereich des Deep Learning verwendet werden. Diese Arten von Faltungsschichten bestehen aus mehreren Filterkernen, die Faltungsoperationen an der Eingabe von Bildern oder den vorherigen Faltungsschichten durchführen, sodass Kanten, Texturen oder Konturinformationen aus der Eingabe extrahiert werden können. Eine Restblockschicht ist eine Struktur, die zwei Faltungsschichten mit Skip-Verbindung enthält, wobei die Ausgabe der zweiten Faltungsschicht zur Eingabe der ersten Faltungsschicht addiert wird, um als Blockausgabe zu dienen.
  • 4 ist ein Flussdiagramm 80, das einen in der Steuerung 24 arbeitenden Algorithmus zeigt, der ein lembasiertes neuronales Netzwerk 78 verwendet, um die 3D-Stellung der Objekte 14 aus einem von der Kamera 22 aufgenommenen 2D-Bild 82 der Objekte 14 zu schätzen. Das Bild 82 wird einer Eingabeschicht 84 und mehreren aufeinanderfolgenden Restblockschichten 86 und 88 zugeführt, die eine Vorwärtskopplungsschleife im neuronalen Netzwerk 78 enthalten, das in der KI-Software in der Steuereinheit 24 arbeitet, die eine Merkmalsextraktion, wie z. B. Gradienten, Kanten, Konturen usw., von möglichen Merkmalspunkten auf dem Objekt 14 im Bild 82 unter Verwendung eines Filterungsprozesses bereitstellt. Die Bilder mit den extrahierten Merkmalen werden mehreren aufeinanderfolgenden Faltungsschichten 90 im neuronalen Netzwerk 78 zugeführt, die die aus den extrahierten Merkmalen erhaltenen möglichen Merkmalspunkte als eine Reihe von Heatmaps 92 definieren, eine für jeden der Merkmalspunkte, die die Wahrscheinlichkeit veranschaulichen, wo der Merkmalspunkt auf dem Objekt 14 existiert, basierend auf der Farbe in der Heatmap 92. Unter Verwendung des Bildes 82 des Objekts 14 wird ein Bild 94 erzeugt, das die Merkmalspunkte 96 für alle Merkmalspunkte aus allen Heatmaps 92 enthält, wobei jedem Merkmalspunkt 96 ein Konfidenzwert zugewiesen wird, der auf der Farbe der Heatmap 92 für diesen Merkmalspunkt basiert, und wobei diejenigen Merkmalspunkte 96, die keinen Konfidenzwert über einem bestimmten Schwellenwert haben, nicht verwendet werden.
  • Das Bild 94 wird dann mit einem nominalen oder virtuellen 3D-CAD-Modell des Objekts 14 verglichen, das die gleichen Merkmalspunkte in einem Stellungs-Schätzungsprozessor 98 aufweist, um eine geschätzte 3D-Stellung 100 des Objekts 14 zu erhalten. Ein geeigneter Algorithmus für den Vergleich des Bildes 94 mit dem CAD-Modell ist in der Technik als Perspektive-n-Punkt (PnP) bekannt. Im Allgemeinen schätzt das PnP-Verfahren die Stellung eines Objekts in Bezug auf eine kalibrierte Kamera, wenn ein Satz von n 3D-Punkten des Objekts im Weltkoordinatensystem und ihre entsprechenden 2D-Projektionen in einem Bild der Kamera gegeben sind. Die Stellung beinhaltet sechs Freiheitsgrade (DOF), die sich aus der Rotation (Roll, Nick und Gier) und der 3D-Translation des Objekts in Bezug auf den Kamerakoordinatenrahmen zusammensetzen.
  • 5 ist eine Darstellung 104, wie der PnP-Prozess in diesem Beispiel implementiert werden kann, um die 3D-Stellung des Objekts 14 zu erhalten. Die Darstellung 104 zeigt ein 3D-Objekt 106, das das Objekt 14 repräsentiert, an einem Bodenwahrheits- oder Realstandort. Das Objekt 106 wird von einer Kamera 112, die die Kamera 22 repräsentiert, beobachtet und als 2D-Objektbild 108 auf eine 2D-Bildebene 110 projiziert, wobei das Objektbild 108 das Bild 94 repräsentiert und wobei Punkte 102 auf dem Bild 108 vom neuronalen Netz 78 vorhergesagte Merkmalspunkte sind, die die Punkte 96 repräsentieren. Die Darstellung 104 zeigt auch ein virtuelles 3D-CAD-Modell 114 des Objekts 14 mit Merkmalspunkten 132 an der gleichen Stelle wie die Merkmalspunkte 96, das zufällig vor der Kamera 112 platziert ist und als 2D-Modellbild 116 auf die Bildebene 110 projiziert wird, das ebenfalls projizierte Merkmalspunkte 118 enthält. Das CAD-Modell 114 wird vor der Kamera 112 gedreht und verschoben, die das Modellbild 116 dreht und verschiebt, um den Abstand zwischen jedem der Merkmalspunkte 118 auf dem Modellbild 116 und den entsprechenden Merkmalspunkten 102 auf dem Objektbild 108 zu minimieren, d. h. die Bilder 116 und 108 auszurichten. Sobald das Modellbild 116 bestmöglich mit dem Objektbild 108 ausgerichtet ist, ist die Stellung des CAD-Modells 114 in Bezug auf die Kamera 112 die geschätzte 3D-Stellung 100 des Objekts 14.
  • Diese Analyse wird durch Gleichung (1) für einen der entsprechenden Merkmalspunkte zwischen den Bildern 108 und 116 dargestellt, wobei Gleichung (1) für alle Merkmalspunkte der Bilder 108 und 116 verwendet wird. min ( R , T ) i = 1 l ( v i a i ) ' ( v i a i ) , s . t .  v i = p r o j e c t ( R V i + T ) ,     i
    Figure DE102021107333A1_0001
    wobei Vi einer der Merkmalspunkte 132 auf dem CAD-Modell 114 ist, vi der entsprechende projizierte Merkmalspunkt 102 im Modellbild 116 ist, ai einer der Merkmalspunkte 102 auf dem Objektbild 108 ist, R die Rotation und T die Translation des CAD-Modells 114 jeweils in Bezug auf die Kamera 112 ist, das Symbol' die Vektor-Transponierung ist und V sich auf einen beliebigen Merkmalspunkt mit dem Index i bezieht. Durch Lösen der Gleichung (1) mit einem Optimierungslöser können die optimale Rotation und Translation berechnet werden, was die Schätzung der 3D-Stellung 100 des Objekts 14 ermöglicht.
  • Das oben beschriebene Verfahren, das ein lembasiertes neuronales Netzwerk zur Schätzung der 3D-Stellung des Objekts 14 einsetzt, bietet eine hohe Genauigkeit. Es können jedoch Verbesserungen vorgenommen werden. Zum Beispiel verursacht ein kleiner Pixelfehler der 2D-Projektion des Objekts 14 auf der Bildebene 110 in der x- oder y-Achse orthogonal zur optischen z-Achse der Kamera 112 einen relativ großen Fehler in der z-Achse, der zu einer erheblichen Unsicherheit der Objektposition führen und die Leistung der 3D-Stellungsschätzung verringern kann. Daher wird in dieser Erfindung auch ein 3D-Stellungsschätzungsprozess vorgeschlagen, der die z-Achsen-Unsicherheit durch die Verwendung mehrerer Kameras reduziert.
  • 6 ist eine Darstellung eines Kamerasystems 120 mit einer ersten Kamera 122 und einer zweiten Kamera 124, die relativ zu einem x-, y- und z-Koordinatenrahmen ausgerichtet sind, wobei die z-Achse entlang der optischen Achse der Kameras 122 und 124 verläuft. Ein Unsicherheitsbereich 126 ist dargestellt, der die Einschränkung der Genauigkeit zeigt, mit der Bilder von der Kamera 122 den Ort des Objekts 14 schätzen können, und ein Unsicherheitsbereich 128 ist dargestellt, der die Einschränkung der Genauigkeit zeigt, mit der Bilder von der Kamera 124 den Ort des Objekts 14 schätzen können. Wie dargestellt, sind die beiden Kameras 122 und 124 in der x- und y-Achse sehr genau, aber in der z-Achse in ihrer Genauigkeit begrenzt, wobei die Genauigkeit in allen Achsen vom Abstand zwischen der Kamera 122 bzw. 124 und dem abzubildenden Objekt 14 abhängt. Durch die Verschmelzung der 3D-Stellungsschätzung, die von beiden Kameras 122 und 124 bereitgestellt wird, wird die Genauigkeit der Schätzung der 3D-Stellung des Objekts 14 in der z-Achse jedoch erheblich verbessert, wie der Unsicherheitsbereich 130 zeigt. Mit anderen Worten, für diese Darstellung ist die z-Achse einer der Kameras 122 und 124 die x-Achse für die andere Kamera 122 und 124, so dass die allgemeine Unsicherheit des Schätzungsprozesses die Unsicherheit in Richtung der x-Achse ist.
  • In dieser nicht einschränkenden Ausführungsform sind die Kameras 122 und 124 so ausgerichtet, dass die optischen Achsen der Kameras 122 und 124 orthogonal zueinander stehen und einen optimalen Abstand von der Kamera 122 oder 124 zum Objekt 14 haben, um den minimalen Unsicherheitsbereich 130 zu gewährleisten. Ein reales System kann jedoch hinsichtlich der Positionierung der Kameras 122 und 124 mit den z-Achsen relativ zueinander und dem Abstand zwischen der Kamera 122 oder 124 und dem Objekt 14 zusammen mit anderen einschränkenden Faktoren, wie z. B. der Beleuchtung, der Art der verwendeten Kameras usw., begrenzt sein, was zu nicht orthogonalen optischen Achsen und anderen Einschränkungen führen kann. In diesen Systemen kann es wünschenswert sein, mehr als zwei Kameras zu verwenden, um die Größe des Unsicherheitsbereichs zu reduzieren, um näher am minimalen Unsicherheitsbereich 130 zu sein.
  • 7 ist ein Blockdiagramm eines Systems 140 zur Schätzung der 3D-Stellung des Objekts 14 unter Verwendung der 2D-Kameras 122 und 124 und eines lembasierten neuronalen Netzwerks der oben beschriebenen Art. Die Kamera 122 liefert 2D-Bilder 142 und die Kamera 124 liefert 2D-Bilder 144 des Objekts 14 in ihren jeweiligen Winkeln. Die Bilder 142 werden einem Prozessor 146 und die Bilder 144 einem Prozessor 148 zur Verfügung gestellt, die Feature-Point-Bilder 150 bzw. 152 erzeugen, die dem Bild 94 aus ihrer Perspektive ähnlich sind, wobei die Prozessoren 146 und 148 beispielsweise die Eingabeschicht 84, die mehreren aufeinanderfolgenden Restblockschichten 86 und 88 und die mehreren aufeinanderfolgenden Faltungsschichten 90 verwenden, um Heatmaps zu erzeugen, die dann verwendet werden, um die Bilder 150 und 152 auf die oben beschriebene Weise zu erzeugen. Die Bilder 150 und 152 werden in einem Stellungschätzungsblock 154 fusioniert, der eine genauere geschätzte 3D-Stellung 156 des Objekts 14 erzeugt als das, was die einzelne Kamera 22 liefern könnte, wobei der Stellungschätzungsprozess auch einen PnP-Algorithmus verwendet, wie oben beschrieben.
  • 8 ist eine Darstellung 160, die der Darstellung 104 ähnlich ist, wobei gleiche Elemente durch dasselbe Bezugszeichen gekennzeichnet sind, und die den PnP-Prozess für die Bildfusion im Block 154, wie besprochen, darstellt. In der Darstellung 160 steht eine Kamera 162 für die Kamera 122 und eine Kamera 164 für die Kamera 124. Die Darstellung 160 zeigt ein 2D-Modellbild 166 mit Merkmalspunkten 172, das eine Projektion des CAD-Modells 114 auf eine 2D-Bildebene 170 für die Kamera 164 ist und ein 2D-Objektbild 168 mit Merkmalspunkten 174, das eine Projektion des 3D-Objekts 106 auf die Bildebene 170 für die Kamera 164 ist. Das CAD-Modell 114 wird vor den Kameras 162 und 164 gedreht und verschoben, um die optimale Modellposition für beide Kameras 162 und 164 gleichzeitig zu erhalten, bei der die Merkmalspunkte 118 auf dem Modellbild 116 auf der Bildebene 110 so nah wie möglich an den Merkmalspunkten 102 auf dem Objektbild 108 liegen und die Merkmalspunkte 172 auf dem Modellbild 166 auf der Bildebene 170 so nah wie möglich an den Merkmalspunkten 174 auf dem Objektbild 168 liegen. Damit erhält man die optimale Ausrichtung des 3D-Modells 114, das die 3D-Stellung des Objekts 14 repräsentiert.
  • Diese Analyse wird durch Gleichung (2) für einen der entsprechenden Merkmalspunkte zwischen den Bildern 108 und 116 und den Bildern 166 und 168 dargestellt, wobei Gleichung (2) für alle Merkmalspunkte der Bilder 108 und 116 und der Bilder 166 und 168 verwendet wird. min ( R , T ) i = 1 l [ ( v i a i ) ' ( v i a i ) + ( u i b i ) ' ( u i b i ) ] s . t .   v i = p r o j e c t ( R V i + T ) ,    i u i = p r o j e c t [ R 12 ( R V i + T ) + T 12 ] ,    i
    Figure DE102021107333A1_0002
    wobei ui einer der Merkmalspunkte 172 auf dem Modellbild 166 ist und bi der entsprechende Merkmalspunkt 174 auf dem Objektbild 168 ist.
  • Die oben diskutierten Techniken zur Extraktion von Merkmalen aus den 2D-Bildern, um eine 3D-Stellungsabschätzung des Objekts 14 mit Hilfe eines lembasierten neuronalen Netzwerks zu erhalten, ist eine geeignete Technik zur Merkmalsextraktion. Es gibt aber auch andere. Im Folgenden wird eine Merkmalsextraktionstechnik beschrieben, die Deep Learning und eine Vektorfeldschätzung verwendet, die die lembasierte Technik ebenfalls mit zufriedenstellenden Ergebnissen ersetzen kann. Wie unten im Detail besprochen wird, ersetzt das Verfahren der Vektorfeldschätzung das neuronale Netzwerk 78 einschließlich der Eingabeschicht 84, der mehreren aufeinanderfolgenden Restblockschichten 86 und 88 und der mehreren aufeinanderfolgenden Faltungsschichten 90, die die Heatmaps 92 erzeugen, durch Elemente der Vektorfeldschätzung. Es wird jedoch betont, dass, obwohl der Prozess der Vektorfeldschätzung hier zur Gewinnung einer 3D-Stellung eines Objekts beschrieben wird, der Prozess für jeden geeigneten Prozess, der eine Merkmalsextraktion aus einem Bild erfordert, Anwendung findet.
  • 9 ist ein Flussdiagramm 180, das einen Prozess zur Schätzung des Vektorfeldes zeigt, der in der Steuerung 24 zur Erzeugung einer 3D-Stellung des Objekts 14 unter Verwendung der von der Kamera 22 aufgenommenen 2D-Bilder 82 des Objekts 14 abläuft, wobei gleiche Elemente durch dasselbe Bezugszeichen identifiziert werden. Die Bildeingabe ist ein dreikanaliges RGB (rot-grün-blau)-Bild, das durch eine dreidimensionale Matrix N*N*3 definiert ist, wobei N die Höhe und Breite des Bildes 82 ist. Das Bild 82 wird einem neuronalen Kodier/Dekodier-Netzwerk 182 zugeführt, das ein Kodier-Netzwerk 184, das mögliche Schlüsselmerkmale im Bild 82 extrahiert, und ein Dekodier-Netzwerk 186 enthält, das aus den extrahierten Merkmalen Bilder erzeugt, um mögliche Merkmalspunkte auf dem Objekt 14 zu identifizieren, was weiter unten besprochen wird, wobei beide Netzwerke 184 und 186 eine Anzahl von neuronalen Netzwerkschichten der oben besprochenen Art enthalten. Insbesondere umfassen in einer nicht-einschränkenden Ausführungsform die neuronalen Netzwerkschichten im Kodier-Netzwerk 184 Faltungsschichten 188, Batch-Normalisierungsschichten (BN) 190 und Rectified-Linear-Unit-Schichten (ReLu) 192, und die neuronalen Netzwerkschichten im Decoder-Netzwerk 186 umfassen Pooling-Schichten 194, Upsampling-Schichten 196 und Softmax-Schichten 198.
  • Das Netzwerk 182 verarbeitet die dreidimensionale Matrix des Bildes 82 und erzeugt aus den drei Kanälen ein eindimensionales (N*N*1) Masken-Bild 200 und ein zweidimensionales (N*N*2) Vektorfeld-Bild 202 für jeden identifizierten Merkmalspunkt.
  • Um das Masken-Bild 200 zu erzeugen, weist das Netzwerk 182 jedem Pixel im Bild 82 eine digitale Eins oder Null zu, je nachdem, ob ein Teil des Objekts 14 im jeweiligen Pixel vorhanden ist, wobei die Pixel in den hellen Bereichen des Masken-Bilds 200 eine digitale Eins und die Pixel in den dunklen Bereichen des Masken-Bilds 200 eine digitale Null haben. Jedes Vektorfeld-Bild 202 enthält eine Anzahl von Pfeilen, die jeweils durch einen Vektorwert in x-Richtung und einen Vektorwert in y-Richtung definiert sind, die für jedes Pixel im Bild 82 vorgesehen sind, wobei die Richtung des Pfeils auf einen der Merkmalspunkte im Bild 82 gerichtet ist. Die Werte der Pixel im Masken-Bild 200 werden mit den Werten der entsprechenden Pixel im Vektorfeld-Bild 202 multipliziert, so dass diejenigen Pfeile verworfen werden, die nicht mit einem Pixel verbunden sind, das einen Teil des Objekts 14 hat und keine nützliche Richtung zu dem Merkmalspunkt liefert, wie es das Vektorfeld-Extraktionsbild 204 zeigt.
  • Jeder Pfeil im Vektorfeld-Extraktionsbild 204 liefert eine Richtung zu einem der Merkmalspunkte, aber keinen Abstand zu diesem Merkmalspunkt. So wird für jede Kombination von zwei Objektpixeln pi und pj im Vektorfeldextraktionsbild 204, die einen Wert haben, ein Punkt xij identifiziert, an dem sich ihre Vektoren vi und vj schneiden, wie im Vektorschnittpunktbild 206 dargestellt. Jedem Punkt xij wird eine Punktzahl zugewiesen, die von der Entfernung zwischen dem Pixel pj und dem Punkt xij und zwischen dem Pixel pj und dem Punkt xij und der Gradientengröße an den Pixeln pi und pj abhängt. Zum Beispiel ergibt ein kleinerer Abstand zwischen dem Pixel pi und dem Punkt Xij und zwischen dem Pixel pj und dem Punkt xij eine höhere Punktzahl und eine höhere Gradientengröße an den Pixeln pi und pj eine höhere Punktzahl. Das Ergebnis ist ein Raster mit vielen Punkten xij, die jeweils eine Punktzahl haben, wobei der Bereich im Bild mit den meisten Punkten xij eine wahrscheinliche Feature-Punkt-Lage identifiziert, wie durch eine Punktabstimmungs- Bild 208 gezeigt wird.
  • Das Vektorfeld Bild 202 zeigt Vektorpfeile für einen der möglichen Merkmalspunkte, die durch das Netzwerk 182 identifiziert wurden. Das Netzwerk 182 würde auch für jeden möglichen Merkmalspunkt ein eigenes Vektorfeld Bild 202 erzeugen, das mit der Maske 200 multipliziert wird. Alle Merkmalspunkte für alle Punktabstimmungsbilder 208 würden zu einem einzigen Bild kombiniert werden, wie z. B. das Bild 94 mit den Merkmalspunkten 96, wobei jeder einzelne der Merkmalspunkte 96 von einem der Punktabstimmungsbilder 208 bereitgestellt wird. Das Bild 94 kann dann dem PnP-Prozess im Stellungsschätzungsprozessor 98 unterzogen werden, um die 3D-Stellung 100 auf die oben beschriebene Weise zu erzeugen. Wegen der oben erwähnten Unsicherheit entlang der optischen Achse für eine einzelne Kamera können auch mehrere Kameras verwendet werden, wobei die Bilder von diesen Kameras jeweils durch den Prozess der Vektorfeldschätzung verarbeitet werden würden.
  • Wie bereits erwähnt, kann der Prozess der Vektorfeldschätzung auch für andere Prozesse angewendet werden, die eine Extraktion von Merkmalspunkten erfordern. Zum Beispiel sucht eine Anwendung in der Robotik nach dem Zentrum eines Objekts, das von einem Roboter aufgenommen wird, wobei die Orientierung des Objekts nicht notwendig ist. Eine andere Anwendung könnte die Bestimmung der Maße eines Objekts zu Zwecken der Qualitätssicherung sein.
  • Wie dem Fachmann klar sein wird, können sich die mehreren und verschiedenen Schritte und Verfahren, die hierin zur Beschreibung der Erfindung erörtert werden, auf Operationen beziehen, die von einem Computer, einem Prozessor oder einer anderen elektronischen Rechenvorrichtung durchgeführt werden, die Daten unter Verwendung elektrischer Phänomene manipulieren und/oder transformieren. Diese Computer und elektronischen Geräte können verschiedene flüchtige und/oder nichtflüchtige Speicher verwenden, einschließlich nichttransitorischer computerlesbarer Medien mit einem darauf gespeicherten ausführbaren Programm, das verschiedene Codes oder ausführbare Anweisungen enthält, die von dem Computer oder Prozessor ausgeführt werden können, wobei der Speicher und/oder das computerlesbare Medium alle Formen und Typen von Speichern und anderen computerlesbaren Medien umfassen kann.
  • Die vorstehenden Ausführungen zeigen und beschreiben lediglich beispielhafte Ausführungsformen der vorliegenden Erfindung. Ein Fachmann wird aus dieser Erörterung und aus den beigefügten Zeichnungen und Ansprüchen leicht erkennen, dass verschiedene Änderungen, Modifikationen und Variationen darin vorgenommen werden können, ohne vom Geist und Umfang der Erfindung, wie in den folgenden Ansprüchen definiert, abzuweichen.

Claims (20)

  1. Verfahren zur Schätzung einer 3D-Stellung eines tatsächlichen Objekts, wobei das Verfahren folgende Schritte aufweist: Gewinnen eines 2D-Bildes des tatsächlichen Objekts unter Verwendung einer 2D-Kamera; Extrahieren einer Vielzahl von Merkmalen des tatsächlichen Objekts aus dem 2D-Bild unter Verwendung eines neuronalen Netzwerks; Erzeugen einer aktuellen Heatmap für jedes der extrahierten Merkmale, die die Wahrscheinlichkeit des Ortes eines Merkmalspunktes auf dem tatsächlichen Objekt identifizieren; Bereitstellen eines Merkmalspunktbildes, das die Merkmalspunkte aus den Heatmaps und dem 2D-Bild kombiniert; und Schätzen der 3D-Stellung des aktuellen Objekts unter Verwendung des Merkmalspunktbildes.
  2. Verfahren nach Anspruch 1, wobei das Schätzen der 3D-Stellung des tatsächlichen Objekts den Vergleich des Merkmalspunktbildes mit einem virtuellen 3D-Modell des Objekts beinhaltet.
  3. Verfahren nach Anspruch 2, wobei das Schätzen der 3D-Stellung des tatsächlichen Objekts die Verwendung eines Perspektive-n-Punkt-Algorithmus beinhaltet.
  4. Verfahren nach Anspruch 1, wobei die Wahrscheinlichkeit der Lage des Merkmalspunktes in der Heatmap als Farbe auf der Heatmap dargestellt wird.
  5. Verfahren nach Anspruch 1, wobei der Wahrscheinlichkeit der Lage des Merkmalspunktes auf dem tatsächlichen Objekt ein Konfidenzwert zugeordnet wird, bei dem es sich um einen Merkmalspunkt handelt.
  6. Verfahren nach Anspruch 1 das ferner Folgendes aufweist: Trainieren des neuronalen Netzes durch Erhalten eines Datensatzes, der das Platzieren eines Trainingsobjekts, das für das tatsächliche Objekt repräsentativ ist, auf einer Markierungstafel mit einer Markierung, das Messen eines Versatzes zwischen der Markierung und dem Trainingsobjekt auf der Tafel, das Aufnehmen mindestens eines 2D-Trainingsbildes der Markierungstafel, das Identifizieren einer 3D-Stellung der Markierung in dem 2D-Trainingsbild, Addieren des Offsets zu der 3D-Stellung der Markierung, um Merkmalspunkte auf dem Trainingsobjekt zu erhalten, Erzeugen einer separaten Trainings-Heatmap, die die Wahrscheinlichkeit jeder Merkmalspunktposition identifiziert, und Verwenden der Trainings-Heatmaps zum Trainieren des neuronalen Netzes.
  7. Verfahren nach Anspruch 6, wobei das Aufnehmen mindestens eines 2D-Trainingsbildes das Aufnehmen einer Vielzahl von 2D-Trainingsbildern in unterschiedlichen Ausrichtungen beinhaltet.
  8. Verfahren nach Anspruch 6, wobei das Erzeugen einer separaten Trainings-Heatmap einen Gauß-Verteilungsprozess verwendet.
  9. Verfahren nach Anspruch 1, wobei das Extrahieren einer Vielzahl von Merkmalen auf dem tatsächlichen Objekt das Extrahieren von mindestens vier Merkmalen beinhaltet.
  10. Verfahren nach Anspruch 1, wobei das Verfahren in einem Robotersystem eingesetzt wird und das tatsächliche Objekt von einem Roboter aufgenommen wird.
  11. Verfahren zum Schätzen einer 3D-Stellung eines Objekts, wobei das Objekt von einem Roboter aufgenommen wird, wobei das Verfahren Folgendes beinhaltet: Erhalten von 2D-Bildern des Objekts unter Verwendung einer 2D-Kamera; Extrahieren einer Vielzahl von Merkmalspunkten auf dem Objekt aus den 2D-Bildern unter Verwendung eines neuronalen Netzes, wobei Gewichte von Knoten in dem neuronalen Netz aus einem gesammelten Trainingssatz unter Verwendung eines repräsentativen Objekts des Objekts trainiert werden; Erzeugen einer Heatmap für jedes der extrahierten Merkmale, die die Wahrscheinlichkeit eines Ortes eines Merkmalspunktes auf dem tatsächlichen Objekt identifizieren, wobei die Wahrscheinlichkeit eines Ortes des Merkmalspunktes in der Heatmap als Farbe auf der Heatmap angezeigt wird; Bereitstellen eines Merkmalspunktbildes, das die Merkmalspunkte aus den Heatmaps und dem 2D-Bild kombiniert; und Schätzen der 3D-Stellung des tatsächlichen Objekts durch Vergleichen des Merkmalspunktbildes mit einem virtuellen 3D-Modell des Objekts unter Verwendung eines Perspektive-n-Punkt-Algorithmus.
  12. Verfahren nach Anspruch 11, wobei der Wahrscheinlichkeit der Lage des Merkmals auf dem tatsächlichen Objekt ein Konfidenzwert zugeordnet wird, bei dem es sich um einen Merkmalspunkt handelt.
  13. Verfahren nach Anspruch 11, wobei das Extrahieren einer Vielzahl von Merkmalen auf dem tatsächlichen Objekt das Extrahieren von mindestens vier Merkmalen beinhaltet.
  14. System zur Schätzung einer 3D-Stellung eines Objekts, wobei das System Folgendes aufweist: Mittel zur Gewinnung eines 2D-Bildes des tatsächlichen Objekts unter Verwendung einer 2D-Kamera; Mittel zum Extrahieren einer Vielzahl von Merkmalen des tatsächlichen Objekts aus dem 2D-Bild unter Verwendung eines neuronalen Netzwerks; Mittel zum Erzeugen einer aktuellen Heatmap für jedes der extrahierten Merkmale, die die Wahrscheinlichkeit eines Ortes eines Merkmalspunktes auf dem tatsächlichen Objekt identifizieren; Mittel zum Bereitstellen eines Merkmalspunktbildes, das die Merkmalspunkte aus den Heatmaps und dem 2D-Bild kombiniert; und Mittel zum Schätzen der 3D-Stellung des tatsächlichen Objekts unter Verwendung des Merkmalspunktbildes.
  15. System nach Anspruch 14, wobei das Mittel zum Schätzen der 3D-Stellung des tatsächlichen Objekts das Merkmalspunktbild mit einem virtuellen 3D-Modell des Objekts vergleicht.
  16. System nach Anspruch 15, wobei das Mittel zur Schätzung der 3D-Stellung des tatsächlichen Objekts einen Perspektive-n-Punkt-Algorithmus verwendet.
  17. System nach Anspruch 14, wobei die Wahrscheinlichkeit einer Lage des Merkmalspunkts in der Heatmap als Farbe auf der Heatmap dargestellt wird.
  18. System nach Anspruch 14, wobei der Wahrscheinlichkeit eines Ortes des Merkmals auf dem Objekt ein Konfidenzwert zugeordnet wird, bei dem es sich um ein Merkmal handelt.
  19. System nach Anspruch 14 wobei ferner Mittel zum Trainieren von Knoten in dem neuronalen Netz aus einer gesammelten Trainingsmenge unter Verwendung eines repräsentativen Objekts des Objekts vorgesehen sind.
  20. System nach Anspruch 14, wobei das System in einer Robotersteuerung eingesetzt wird und das Objekt von einem Roboter aufgenommen wird.
DE102021107333.2A 2020-04-03 2021-03-24 3d-stellungsabschätzung mit einer 2d-kamera Pending DE102021107333A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/839,274 US11475589B2 (en) 2020-04-03 2020-04-03 3D pose estimation by a 2D camera
US16/839,274 2020-04-03

Publications (1)

Publication Number Publication Date
DE102021107333A1 true DE102021107333A1 (de) 2021-10-07

Family

ID=77749799

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021107333.2A Pending DE102021107333A1 (de) 2020-04-03 2021-03-24 3d-stellungsabschätzung mit einer 2d-kamera

Country Status (4)

Country Link
US (1) US11475589B2 (de)
JP (1) JP2021163503A (de)
CN (1) CN113496525A (de)
DE (1) DE102021107333A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11600017B2 (en) * 2020-04-29 2023-03-07 Naver Corporation Adversarial scene adaptation for camera pose regression
US20210398338A1 (en) * 2020-06-22 2021-12-23 Nvidia Corporation Image generation using one or more neural networks
DE102021202759A1 (de) * 2021-03-22 2022-09-22 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters
US20220405506A1 (en) * 2021-06-22 2022-12-22 Intrinsic Innovation Llc Systems and methods for a vision guided end effector
KR102639637B1 (ko) * 2021-10-12 2024-02-22 주식회사 에너자이 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템
KR102433287B1 (ko) * 2021-10-12 2022-08-18 주식회사 에너자이(ENERZAi) 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템
US20230135230A1 (en) * 2021-11-01 2023-05-04 Sony Group Corporation Electronic device and method for spatial synchronization of videos
KR102694987B1 (ko) * 2023-12-20 2024-08-16 주식회사 플라잎 인공지능을 이용하여 객체에 대한 로봇의 엔드 이펙터의 포즈를 추정하는 포즈 추정 장치 및 방법과 이를 포함하는 로봇 제어 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778867B (zh) * 2016-12-15 2020-07-07 北京旷视科技有限公司 目标检测方法和装置、神经网络训练方法和装置
US10789717B2 (en) * 2017-11-24 2020-09-29 Electronics And Telecommunications Research Institute Apparatus and method of learning pose of moving object
US10821897B2 (en) * 2019-01-31 2020-11-03 StradVision, Inc. Method and device for adjusting driver assistance apparatus automatically for personalization and calibration according to driver's status
US11361505B2 (en) * 2019-06-06 2022-06-14 Qualcomm Technologies, Inc. Model retrieval for objects in images using field descriptors

Also Published As

Publication number Publication date
US20210312655A1 (en) 2021-10-07
US11475589B2 (en) 2022-10-18
JP2021163503A (ja) 2021-10-11
CN113496525A (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
DE102021107333A1 (de) 3d-stellungsabschätzung mit einer 2d-kamera
DE102021107351A1 (de) System zur eigenschaftserkennung durch deep-learning und vektorfeldschätzung
DE102017220307B4 (de) Vorrichtung und Verfahren zum Erkennen von Verkehrszeichen
DE102015111080B4 (de) Robotervorrichtung mit maschinellem Sehen
DE102016120775A1 (de) System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem
EP0560779B1 (de) Verfahren zur erkennung und schätzung der räumlichen lage von objekten aus einer zweidimensionalen abbildung
DE102016100101A1 (de) System zum maschinellen sehen und analytisches verfahren zur segmentierung planarer oberflächen
DE102019104310A1 (de) System und Verfahren zur simultanen Betrachtung von Kanten und normalen bei Bildmerkmalen durch ein Sichtsystem
DE102017116853A1 (de) System und Verfahren zur automatischen Auswahl von 3D-Ausrichtungsalgorithmen in einem Sehsystem
DE112018003571T5 (de) Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
DE102012223047B4 (de) Mehrteil-Korrespondierer (corresponder) für mehrere Kameras
DE102021121068A1 (de) 3d-erkennung mehrerer transparenter objekte
DE102021107479A1 (de) Erfassung einer dreidimensionalen pose durch mehrere 2d-kameras
DE102022107228A1 (de) Aufnahme von objekten aus einem behälter (bin picking) mit drehungsausgleich
EP3931798B1 (de) Schätzung der bewegung einer bildposition
DE102020122844A1 (de) System und verfahren für tiefgehendes maschinelles lernen für computer-vision-anwendungen
DE102022107249A1 (de) Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
DE102021109036A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte
DE102020214301A1 (de) Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts in verschiedenen lagen
DE102020209080A1 (de) Bildverarbeitungssystem
DE102020214300A1 (de) Vorrichtung und verfahren zum trainieren eines maschinellen lernmodells zum erkennen einer objekttopologie eines objekts aus einem bild des objekts
DE102019115224A1 (de) System und verfahren zum auffinden und klassifizieren von linien in einem bild mittels eines schichtsystems
DE102006036345B4 (de) Verfahren und Vorrichtung zur Lagebestimmung von Objekten im dreidimensionalen Raum
DE102020101444A1 (de) Ein Verfahren zum Detektieren sich bewegender Objekte