DE102022107249A1 - Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben - Google Patents

Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben Download PDF

Info

Publication number
DE102022107249A1
DE102022107249A1 DE102022107249.5A DE102022107249A DE102022107249A1 DE 102022107249 A1 DE102022107249 A1 DE 102022107249A1 DE 102022107249 A DE102022107249 A DE 102022107249A DE 102022107249 A1 DE102022107249 A1 DE 102022107249A1
Authority
DE
Germany
Prior art keywords
dimensions
neural network
neural networks
access
target values
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
DE102022107249.5A
Other languages
English (en)
Inventor
Yongxiang Fan
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 DE102022107249A1 publication Critical patent/DE102022107249A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2207/00Other aspects
    • G06K2207/1016Motor control or optical moving unit control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

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

Abstract

Verfahren zur Modularisierung von hochdimensionalen, neuronalen Netzen in neuronale Netze niedrigerer Eingabedimensionen. Das Verfahren ist geeignet zum Erzeugen von Roboterzugriffsaktionen mit vollem Freiheitsgrad basierend auf Bildern von aufzuhebenden Teilen. In einem Beispiel kodiert ein erstes Netz die Lage betreffende Zugriffsdimensionen und ein zweites Netz kodiert Rotationsdimensionen. Das erste Netz wird trainiert, um eine Position vorherzusagen, bei der eine Zugriffsqualität für jeden Wert der Rotationen des Zugriffs maximiert ist. Das zweite Netz wird trainiert, um die maximale Zugriffsqualität zu ermitteln, während nur an der Position aus dem ersten Netz gesucht wird. Folglich ermitteln die zwei Netze zusammen einen optimalen Zugriff, während jeder Suchraum des Netzes reduziert wird. Es können viele Positionen und Rotationen des Zugriffs in einer Suchmenge der Summe der bewerteten Positionen und Rotationen anstelle des Produkts bewertet werden. Dimensionen können in jeder geeigneten Art und Weise getrennt werden, was in einigen Anwendungen drei neuronale Netze einschließt.

Description

  • HINTERGRUND
  • Gebiet
  • Die vorliegende Offenlegung betrifft allgemein ein Verfahren zur Entkopplung eines hochdimensionalen, neuronalen Netzes in zwei oder mehrere neuronale Netze niedrigerer Eingabedimensionen und spezieller ein Modularisierungsverfahren für Netze zum Erzeugen von Roboteraktionen für hochdimensionale Aufgaben, welches Aktionen hoher Freiheitsgrade (DOF) in Gruppen zerlegt, und jede der gruppierten Aktionen einzeln durch ein neuronales Netz unter Verwendung speziell entwickelter Daten durchsucht wird.
  • Erörterung des Standes der Technik
  • Der Einsatz von Industrierobotern ist bekannt, um einen breiten Bereich von Herstellungs-, Montage- und Materialbewegungsoperationen durchzuführen. Eine solche Anwendung ist ein Bestückungsvorgang, bei dem ein Roboter einzelne Teile aus einem Behälter aufhebt und jedes Teil auf ein Transportband oder einen Versandcontainer legt. Ein Beispiel dieser Anwendung wäre, wo Teile, die geformt oder maschinell bearbeitet wurden, in den Behälter fallengelassen werden und sich an zufälligen Stellen und Ausrichtungen absetzen und der Roboter damit beauftragt wird, jedes Teil aufzuheben und es in einer vorher bestimmten Ausrichtung (Pose) auf ein Transportband zu legen, welches die Teile zum Verpacken oder weiteren Verarbeiten transportiert. Abhängig von der Art der Teile in dem Behälter und von anderen Faktoren können Fingergreifer oder Sauggreifer als Roboterwerkzeug verwendet werden. Normalerweise wird ein Sichtsystem (eine oder mehrere Kameras) verwendet, um Position und Pose einzelner Teile im Behälter zu ermitteln.
  • Auf dem Fachgebiet ist bekannt, trainierte neuronale Netzsysteme zu nutzen, um Greifanweisungen für Teile in einem Behälter zu berechnen. Vorhandene neuronale Netzsysteme zum Lernen von Zugriffen leiden jedoch an Nachteilen, die ihren praktischen Einsatz einschränken. Ein bekanntes System kodiert einen Kandidaten-Zugriff von oben nach unten in eine Bildteilfläche und trainiert ein Netz, um die Qualität einer Vielzahl von Kandidaten-Zugriffen vorherzusagen. Dieses System erfordert eine lange Zeit zum Berechnen von Kandidaten-Zugriffen und kann nur Zugriffe für Greifer mit parallelen Einspannbacken von oben nach unten (vertikal) erzeugen. Außerdem kann dieses System die Störwirkung zwischen Teilen in überhäuften Umgebungen nicht vorhersagen, weil es nur mit einzelnen isolierten Teilen/Objekten, nicht mit einem zufälligen Durcheinander von Teilen in einem Behälter, trainiert ist.
  • Ein anderes bekanntes System hebt die Notwendigkeit einer zeitaufwändigen Berechnung von Greifkandidaten auf durch Training eines Netzes, um das originale Tiefenbild zu nehmen und die Qualität jedes Pixels auszugeben. Jedoch kann dieses System aufgrund der großen Anzahl von in jedem Bild enthaltenen Pixeln keine genauen Vorhersagen für jedes Pixel machen. Folglich ist dieses System nicht so genau wie das oben erörterte System. Darüber hinaus kann dieses System nicht mit der dicht angefüllten Umgebung umgehen, was typisch für Teile in einem Behälter aufgrund der Mehrdeutigkeit einer Kodierung von Winkel und Weite eines Greifers ist. Dazu kann dieses System nur die Lösung eines geradlinigen Zugriffs von oben nach unten bewirken. Schließlich kann dieses System, ohne die Tiefe vorherzusagen, den Robotergreifer möglicherweise zu benachbarten Teilen im Behälter lenken und eine Beschädigung an dem Greifer oder den Teilen verursachen.
  • Ein noch anderes vorhandenes System versucht, einen Zugriff mit sechs Freiheitsgraden mit einem einzelnen Netz zu bestimmen. Jedoch kann dieses System mit einer angefüllten Greifumgebung (wie zum Beispiel einem Stapel von Teilen) im Zugriffsbewertungsnetz nicht umgehen und erfordert einen Verfeinerungsschritt des Zugriffs nach der Zugriffsbewertung im neuronalen Netz.
  • Angesichts der oben beschriebenen Umstände besteht Bedarf an einem Verfahren zur Zerlegung hochdimensionaler, neuronaler Lernnetze in zwei oder mehrere Netze niedrigerer Dimensionen, wobei das Verfahren anwendbar ist auf eine Zugriffsplanung mit vollem Freiheitsgrad und andere Anwendungen.
  • ZUSAMMENFASSUNG
  • Nach der technischen Lehre der vorliegenden Offenlegung wird ein Verfahren zum Entkoppeln oder Modularisieren von hochdimensionalen, neuronalen Netzen in zwei oder mehrere neuronale Netze mit niedrigeren Eingabedimensionen beschrieben und dargestellt. Das offengelegte Modularisierungsverfahren für Netze ist besonders geeignet zum Erzeugen von Greifaktionen des Roboters mit vollem Freiheitsgrad auf der Basis von Bildern von aufzuhebenden Teilen in einem Behälter. In einem Beispiel kodiert ein erstes Netz die Positionsdimensionen des Zugriffs und ein zweites Netz die Rotationsdimensionen des Zugriffs. Das erste Netz wird trainiert, um eine Position vorherzusagen, in der eine Zugriffsqualität für jeden Wert der Rotationen des Zugriffs maximiert ist. Das zweite Netz wird trainiert, um die maximale Zugriffsqualität zu ermitteln, während nur an der zuvor ermittelten Position aus dem ersten Netz gesucht wird. Auf diese Weise ermitteln die zwei Netze gemeinsam einen optimalen Zugriff, während jeder dimensionale Suchraum des Netzes in hohem Maße reduziert wird. Speziell kann eine große Anzahl von Positionen und Rotationen des Zugriffs in einer Gesamtzahl von Suchen bewertet werden, die eher der Summe der bewerteten Positionen und Rotationen als dem Produkt gleichkommen. Die Abtrennung von Dimensionen zwischen den Netzen kann so ausgelegt werden, dass sie sich am besten für eine besondere Anwendung eignet, die selbst drei neuronale Netze anstatt zwei in einigen Anwendungen einschließt.
  • Zusätzliche Merkmale der gegenwärtig offengelegten Vorrichtungen und Verfahren erschließen sich aus der folgenden Beschreibung und den angefügten Ansprüchen, wenn sie in Verbindung mit den begleitenden Zeichnungen betrachtet werden.
  • Figurenliste
    • 1 ist die Übersichtsdarstellung eines robotergesteuerten Systems zum Aufheben von Teilen, welches entkoppelte, neuronale Netze zum Berechnen von Zugriffen mit vollem Freiheitsgrad gemäß einer Ausführungsform der vorliegenden Offenlegung verwendet;
    • 2 ist eine Darstellung, die Verfahren im Stand der Technik zum Berechnen von Roboteraufgaben mit hohem Freiheitsgrad unter Verwendung eines einzelnen großen, neuronalen Netzes den Verfahren der vorliegenden Offenlegung gegenüberstellt, bei denen die Freiheitsgrade in entkoppelte, neuronale Netze zerlegt werden;
    • 3 ist eine Darstellung eines mehrdimensionalen Suchraums, die zeigt, wie der Modularisierungsansatz eines Netzes maximalen Spielraums genutzt wird, um Suchdimensionen zu entkoppeln und dennoch eine maximale Bedingung aus dem originalen Suchraum gemäß einer Ausführungsform der vorliegenden Offenlegung zu finden;
    • 4 ist die Übersichtsdarstellung von Schritten in einer Trainingsphase eines Modularisierungsverfahrens neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenlegung;
    • 5 ist eine grafische Darstellung, die veranschaulicht, wie Daten dreidimensionaler Tiefenbilder zu einer Menge von Tiefenschichten verarbeitet und in der Trainingsphase von 4, gemäß einer Ausführungsform der vorliegenden Offenlegung, bereitgestellt werden;
    • 6 ist eine Darstellung eines Tiefenschichtbildes für eine spezielle Tiefenschicht von 5 und in der Trainingsphase von 4, gemäß einer Ausführungsform der vorliegenden Offenlegung, vorgesehen;
    • 7 ist eine Übersichtsdarstellung von Schritten in einer Schlussfolgerungsphase eines Modularisierungsverfahrens neuronaler Netze, gemäß einer Ausführungsform der vorliegenden Offenlegung;
    • 8 ist eine Übersichtsdarstellung des auf ein Zugriffssuchproblem mit drei Freiheitsgraden angewandten Modularisierungsverfahrens neuronaler Netze, gemäß einer Ausführungsform der vorliegenden Offenlegung;
    • 9 ist eine Übersichtsdarstellung des auf ein Zugriffssuchproblem mit fünf Freiheitsgraden angewandten Modularisierungsverfahrens neuronaler Netze, gemäß einer Ausführungsform der vorliegenden Offenlegung;
    • 10 ist eine Darstellung eines Verfahrens zum Training eines modularisierten Netzes zum Lernen von Zugriffen des in 9 gezeigten Typs unter Verwendung einer Kombination von Zugriffsoptimierung einzelner Objekte und Simulation von Abweichung dicht gedrängter Objekte und Beeinflussung, gemäß einer Ausführungsform der vorliegenden Offenlegung;
    • 11 ist eine Übersichtsdarstellung des auf ein Problem der Zugriffssuche mit sieben Freiheitsgraden angewandten Modularisierungsverfahrens neuronaler Netze unter Verwendung von drei neuronalen Netzen, gemäß einer Ausführungsform der vorliegenden Offenlegung; und
    • 12 ist ein Ablaufdiagramm eines Verfahrens zur Modularisierung einer hochdimensionalen Roboteraufgabe in zwei oder mehrere, in Reihe verbundene neuronale Netze niedrigerer Dimensionen, gemäß einer Ausführungsform der vorliegenden Offenlegung.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die folgende Erörterung der Ausführungsformen der vorliegenden, auf ein Modularisierungsverfahren neuronaler Netze gerichteten Offenlegung zum Lernen von hochdimensionalen Roboteraufgaben ist nur beispielhafter Natur und ist in keiner Weise beabsichtigt, die offengelegten Vorrichtungen und Verfahren oder ihre Anwendungen oder Einsätze einzuschränken.
  • Der Einsatz von Industrierobotern zum Aufheben von Teilen aus einer Quelle und zum Ablegen derselben an einem Bestimmungsort ist bekannt. Bei einer üblichen Anwendung ist ein Vorrat von Teilen in einem Behälter, zum Beispiel einem Behälter voll mit Teilen, die gerade gegossen oder geformt wurden, vorgesehen. Es ist immer anspruchsvoll gewesen, einem Roboter beizubringen, ein einzelnes Teil in einem mit Teilen vollen Behälter zu erkennen und zu ergreifen. Bei üblichen Verfahren werden Roboter in gegliederten Umgebungen von Hand eingelernt. Für hochdimensionale Aufgaben in ungegliederten Umgebungen ist es wünschenswert, eine stabile Greiffertigkeit durch Deep Learning beizubringen, indem ein zur Mustererkennung trainiertes neuronales Netz verwendet wird.
  • Um eine hochdimensionale Roboteraufgabe zu lernen, erfordern die auf dem Lernen basierenden Verfahren jedoch allgemein das Kodieren von hochdimensionalen Zuständen/Aktionen und Suchen im hochdimensionalen Aktionsraum. Zum Beispiel muss das neuronale Netz, um eine allgemeine Aufgabe zum Behälteraufheben mit sechs Freiheitsgraden zu lernen, die hochdimensionalen Beobachtungs- und Zugriffaktionen mit sechs Freiheitsgraden kodieren, bevor im Aktionsraum gesucht wird. Dies kann die Komplexität des Netzes erhöhen und eine erhebliche Rechenlast einfließen lassen.
  • Was die Herausforderungen im hochdimensionalen Lernen betrifft, reduzieren zwei bekannte bestehende Verfahren die Suche auf vier Dimensionen und schränken die Annäherungsrichtung der Zugriffe in der Weise von oben nach unten ein. Diese auf Lernen basierenden Verfahren sind außerdem entweder nicht schnell genug (aufgrund der Anforderung einer zeitaufwändigen Berechnung von Kandidaten-Zugriffen) oder nicht genau genug (weil sie versuchen, zu viele Dimensionen vorherzusagen, was für neuronale Netze schwierig ist). Bei einem noch anderen bestehenden Verfahren wird ein einzelnes neuronales Netz für einen Greifvorschlag mit sechs Freiheitsgraden genutzt, wobei aber dieses Verfahren an einer hohen Suchkomplexität leidet, eine anschließende Zugriffsverfeinerung erfordert und nicht mit einer Umgebung mit überhäuften Objekten, wie es für Teile in einem Behälter typisch ist, umgehen kann.
  • Um die Nachteile bestehender Verfahren und Systeme zu überwinden, beschreibt die vorliegende Offenlegung ein Verfahren zur Modularisierung oder Entkopplung großer hochdimensionaler, neuronaler Netze in zwei oder drei kleinere Netze niedrigerer Dimension. Mittels dieser Modularisierungsverfahren neuronaler Netze kann die Suchgenauigkeit beibehalten werden, während die Leistung und Effizienz des Netzes außerordentlich verbessert sind. Eine Anwendung für das offengelegte Modularisierungsverfahren neuronaler Netze besteht im robotergestützten Greifen von Teilen, bei der alle Freiheitsgrade (DOF) eines Zugriffs berechnet werden aus Bildern eines mit Teilen vollen Behälters, und der berechnete Zugriff einen Qualitätsschwellenwert überschreitet.
  • 1 ist die Übersichtsdarstellung eines robotergestützten Systems zum Aufheben von Teilen, welches entkoppelte neuronale Netze zum Berechnen von Zugriffen mit vollem Freiheitsgrad gemäß einer Ausführungsform der vorliegenden Offenlegung verwendet. Das in 1 gezeigte System ist vorgesehen, um eine beispielhafte Anwendung zu veranschaulichen, bei der das offengelegte Modularisierungsverfahren neuronaler Netze genutzt werden kann. Ein Roboter 100 mit einem Greifer 102 operiert innerhalb eines Arbeitsraums, wobei der Roboter 100 Teile oder Objekte von einer ersten Stelle (einem Behälter) zu einer zweiten Stelle (einem Transportband) bewegt.
  • Die Bewegung des Roboters 100 wird durch eine Steuereinheit 110 gesteuert, die normalerweise mit dem Roboter 100 über ein Kabel 112 in Verbindung steht. Die Steuereinheit 110 liefert dem Roboter 100 Gelenkbewegungsbefehle und empfängt Gelenkpositionsdaten von Kodierern in den Gelenken des Roboters 100, wie es auf dem Fachgebiet bekannt ist. Die Steuereinheit 110 stellt außerdem Anweisungen zur Operation des Greifers 102, die Rotationswinkel und Weite des Greifers einschließen, und Befehle zum Greifen/nicht Greifen bereit.
  • Der Computer 120 steht mit der Steuereinheit 110 in Verbindung. Der Computer 120 enthält einen Prozessor und Speicher/Abspeicherung, die mit neuronalen Netzen zur Berechnung eines auf dreidimensionalen Kamerabildern basierenden Zugriffvorschlags konfiguriert sind. In einer Ausführungsform ist der die neuronalen Netze im Ausführungs- oder Schlussfolgerungsmodus abarbeitende Computer derselbe Computer, auf dem zuvor die neuronalen Netze trainiert wurden. In einer weiteren Ausführungsform werden die neuronalen Netze auf einem anderen Computer trainiert und dem Computer 120 zur Verwendung bei direkten robotergestützten Greifoperationen bereitgestellt.
  • Ein Paar von 3D-Kameras 130 und 132 kommunizieren mit dem Computer 120 über eine drahtgebundene Verbindung oder drahtlos und liefern Bilder des Arbeitsraums. Insbesondere stellen die Kameras 130/132 Bilder von Objekten 140 in einem Behälter 150 bereit. Die Bilder (die Tiefendaten einschließen) von den Kameras 130/132 liefern Punktwolkendaten, die die Position und Ausrichtung der Objekte 140 im Behälter 150 definieren. Wenn zwei der 3D-Kameras 130 und 132 mit verschiedenen Perspektiven vorhanden sind, ist es möglich, eine dreidimensionale Tiefenabbildung der Objekte 140 im Behälter 150 von jedem geeigneten Standpunkt aus zu berechnen oder zu projizieren. In einer anderen Ausführungsform wird nur eine der 3D-Kameras (130), zum Beispiel für eine direkt vertikale Sichtlinie ausgerichtet, verwendet.
  • Die Position des Behälters 150 relativ zum Roboter 100 ist bekannt, sodass, wenn der Zugriff eines Objekts 140 an einer Stelle im Behälter 150 berechnet wird, der Roboter 100 den Greifer 102 steuern kann, um den Zugriff auszuführen. Aufgabe des Roboters 100 ist es, eines der Objekte 140 aus dem Behälter 150 aufzuheben und das Objekt zu einem Transportband 160 zu bewegen. Im gezeigten Beispiel ist ein einzelnes Teil 142 ausgewählt, das von dem Greifer 102 des Roboters 100 aufgehoben und entlang eines Weges 180 zum Transportband 160 bewegt wird.
  • Für jeden Entnahmevorgang von Teilen empfängt der Computer 120 von den Kameras 130/132 ein oder mehrere Bilder der Objekte 140 im Behälter 150. Aus den Kamerabildern berechnet der Computer 120 eine oder mehrere Tiefenabbildungen des Stapels von Objekten 140 im Behälter 150. Mittels der Tiefenabbildungen legen die auf dem Computer 120 ablaufenden neuronalen Netze einen hochqualitativen Zugriff mit vollem Freiheitsgrad für ein einzelnes Objekt im Behälter 150 fest. Zum Beispiel wäre ein Objekt obenauf dem Stapel von Objekten ein guter Greifkandidat, wobei bedeutende Teile seiner Seiten freiliegend und frei von umgebenden Objekten sind.
  • Wenn ermittelt wird, dass ein Objekt (wie zum Beispiel das Objekt 142) sich in einer Position für einen hochqualitativen Zugriff entsprechend den nachstehend ausführlich beschriebenen Verfahren befindet, liefert der Computer 120 die Zugriffsdaten des einzelnen Objekts an die Steuereinheit 110, die anschließend den Roboter 100 anweist, das Objekt zu ergreifen und zu bewegen. Die der Steuereinheit 110 durch den Computer 120 bereitgestellten Zugriffsdaten einzelner Objekte umfassen vorzugsweise dreidimensionale Koordinaten des Zugriffszielpunktes, den vom Greifer 102 zu verfolgenden Annäherungswinkel sowie Rotationswinkel und Weite des Greifers (oder Positionen aller Fingergelenke).
  • Unter Verwendung der Zugriffsdaten einzelner Objekte kann die Steuereinheit 110 Anweisungen der Roboterbewegung berechnen, die den Greifer 102 veranlassen, das ermittelte Objekt (z. B., das Objekt 142) zu ergreifen und es entlang eines kollisionsfreien Weges (des Weges 180) in den Zielort zu bewegen. Anstelle des Transportbandes 160 könnte der Zielort ein Versandcontainer sein, in welchem die Objekte in einzelnen Fächern untergebracht werden, oder eine beliebige andere Fläche oder Vorrichtung, wo die Objekte in einem anschließenden Arbeitsvorgang weiterverarbeitet werden.
  • Nachdem das Objekt 142 zum Transportband 160 bewegt worden ist, werden durch die Kameras 130/132 neue Bilddaten bereitgestellt, weil sich der Stapel von Objekten 140 verändert haben wird. Der Computer 120 muss dann ein neues Zielobjekt zum Greifen basierend auf den neuen Bilddaten ermitteln, indem die trainierten, neuronalen Netze verwendet werden. Das neue Zielobjekt muss sehr schnell durch den Computer 120 ermittelt werden, weil die Objektermittlung und Wegberechnung in Echtzeit so schnell durchgeführt werden müssen, wie der Roboter 100 eins der Objekte 140 bewegen kann und zurückkehren kann, um das nächste aufzuheben. Das durch modularisierte neuronale Netze niedrigerer Dimension vorgesehene effiziente Aufsuchen ermöglicht die in dieser Greifanwendung benötigte schnelle Zugriffsberechnung.
  • Die oben im System von 1 beschriebene Anwendung nutzt vorzugsweise einen Greifvorschlag mit sieben Freiheitsgraden (DOF) vom Computer 120. In einer Ausführungsform umfassen die sieben Freiheitsgrade zwei Freiheitsgrade für Annäherungsrichtung (x- und y-Komponenten, kombiniert mit einer z-Einheit der Abwärtsbewegung des Robotergreifers), drei Freiheitsgrade für Zugriffslokalisierung (x-, y-, z-Koordinaten) und zwei weitere Freiheitsgrade für Rotation/Drallwinkel des Greifers und Weite des Greifers. Um den Greifvorschlag mit sieben Freiheitsgraden, der auf Bildern eines mit Teilen vollen Behälters basiert, bereitzustellen, kann der Computer 120 vorteilhaft die offengelegten Modularisierungsverfahren neuronaler Netze nutzen, um die Zugriffssuchdimensionen in zwei oder auch drei Netze zu vereinzeln. Nachstehend werden die allgemeinen Vorstellungen der offengelegten Modularisierung neuronaler Netze erörtert, denen sich Beispiele der Modularisierung von Netzen anschließen, die auf robotergestützte Greifanwendungen angewandt werden.
  • 2 ist eine Abbildung, die Verfahren im Stand der Technik zur Berechnung von Roboteraufgaben mit hohem Freiheitsgrad mittels eines einzelnen großen neuronalen Netzes mit den Verfahren der vorliegenden Offenlegung vergleicht, bei denen die Freiheitsgrade in entkoppelte, neuronale Netze vereinzelt werden. In 2 und einigen späteren Figuren ist die Vorstellung von durch neuronale Netze bewerteten Dimensionen in Form von Positionsdimensionen p und Rotationsdimensionen r beschrieben. Zum Beispiel können Position und Ausrichtung eines Greifers an einem Roboter, die Weite des Greifers nicht berücksichtigend, vollständig durch drei Positions-Freiheitsgrade (x/y/z) (p) und drei Rotations-Freiheitsgrade (r) (Gieren/ Nicken/ Rollen oder zwei, eine Annäherungsrichtung beschreibende Winkel und außerdem den Rotationswinkel oder Eulerwinkel oder andere geeignete Winkel beschrieben werden.
  • Im Kästchen 210 von 2 ist ein herkömmlicher Lösungsweg zur Nutzung eines neuronalen Netzes zum Berechnen eines Zugriffs dargestellt. Es wird ein einzelnes neuronales Netz 220 verwendet, um alle sechs Freiheitsgrade mit drei Positionsdimensionen p und drei Rotationsdimensionen r zu kodieren. In einem Beispiel wird das neuronale Netz 220 mittels Tiefenbilder eines Objektstapels zusammen mit einem per Hand ermittelten Kandidaten eines Qualitätszugriffs eines einzelnen Objekts trainiert. In einer Ausführungsphase (auch als Entfaltungs- oder Schlussfolgerungsphase bekannt, bei der das trainierte, neuronale Netz verwendet wird, um Zugriffe bei aktuellen robotergestützten Operationen zu bestimmen) sind auf Linie 230 Umgebungsdaten enthaltende Tiefenbilder eingegeben, ausreichend, um die Qualitäten der Zugriffe mit vollem Freiheitsgrad einschließlich der Positionen sowie Rotationen {p, r} des Greifers abzuleiten. Eine Ausgabe auf Linie 232 sind die Dimensionen des vorgeschlagenen Qualitätszugriffs eines einzelnen Objekts einschließlich der vorgeschlagenen optimalen Positionen sowie Rotationen (p*, r*) des Greifers.
  • Das neuronale Netz 220 im Kästchen 210 kodiert sechs Dimensionen einer durch die eingegebenen Umgebungsdaten definierten Pose des Greifers, die zugehörig sind zu den Zugriffen {p, r}, und versucht in einer Ausführungsphase, Tiefenbilder zu suchen, um ein Optimum (p*, r*) aller sechs Dimensionen zu ermitteln. Ein neuronales Netz, welches diese vielen Dimensionen kodiert und sucht, wird sehr komplex (viele Schichten), und infolgedessen ist das Trainieren und Suchen sehr langsam, wobei die Suchergebnisse ungenau oder vieldeutig sein können.
  • Im Kästchen 250 von 2 ist ein neuer Lösungsweg zur Verwendung von neuronalen Netzen zum Berechnen eines Zugriffes gezeigt. Anstatt ein einzelnes neuronales Netz zum Berechnen aller Dimensionen des Zugriffs wie bei der oben erörterten herkömmlichen Herangehensweise zu nutzen, werden die neuronalen Netze (260 und 270) verwendet. Im ersten neuronalen Netz 260 werden mittels eingegebener Umgebungsdaten auf der Linie 252 die drei Positionsdimensionen p kodiert, sodass das erste neuronale Netz 260 nach dem Positionsdimensionswert p* suchen kann, was den optimalen Zugriff (Qualitätskennzahl des maximalen Zugriffs) über alle Werte der drei Rotationsdimensionen r ergibt. Im zweiten neuronalen Netz 270 werden alle Positions- und Rotationsdimensionen {p, r} unter Verwendung der ursprünglichen Eingabedaten von Linie 252 und außerdem des optimalen Positionsdimensionswertes p* auf der Linie 262 kodiert. Während der Ausführungsphase wird das zweite neuronale Netz 270 jedoch mit dem Positionswert p* versehen, welcher den optimalen Zugriff liefert und deshalb das zweite neuronale Netz 270 nur die Rotationsdimensionen r zu suchen braucht. Auf der Linie 272 sind die Dimensionen des vorgeschlagenen Qualitätszugriffs eines einzelnen Objekts einschließlich der vorgeschlagenen optimalen Positionen sowie Rotationen (p*, r*) des Greifers ausgegeben.
  • Eine weitere Möglichkeit, das oben Erwähnte zu erläutern, ist wie folgt. Das einzelne neuronale Netz 220 sucht nach einer hochdimensionalen Roboteraktion (sagt Dimensionswerte r * , p * = argmax r , p Q ( r , p )
    Figure DE102022107249A1_0001
    ) vorher, indem quer durch alle Dimensionen {r, p} für die Werte {r*, p*} gesucht wird, die eine Qualitätskennzahl Q maximieren, die eine Funktion sowohl von r als auch von p ist. Den gegenwärtig offengelegten Verfahren entsprechend kann das einzelne hochdimensionale, neuronale Netz 220 in eine Modularisierung der zwei neuronalen Netze 260 und 270 zerlegt werden, wobei das erste neuronale Netz 260 eine maximale Randbedingung p * = argmax p Q r ( p )
    Figure DE102022107249A1_0002
    vorhersagt, in der Qr (p) die entlang der Richtung r projizierte Zugriffsqualität ist, und das zweite neuronale Netz 270 das Zustandsverhalten  
    Figure DE102022107249A1_0003
    r * = argmax r Q ( r , p | p = p * )
    Figure DE102022107249A1_0004
    vorhersagt. Das Folgende ist eine ausführliche Erörterung, wie ein hochdimensionales Suchproblem in zwei neuronale Netze modularisiert werden kann, wobei jedes Netz einen reduzierten Dimensionssuchraum besitzt, aber die kombinierten Netze dennoch einen optimalen Wert der Zugriffsqualität finden.
  • 3 ist die Darstellung eines mehrdimensionalen Suchraums, die zeigt, wie der Modularisierungsansatz von Netzen maximalen Spielraums genutzt wird, um Suchdimensionen zu entkoppeln und dennoch eine maximale Bedingung vom ursprünglichen Suchraum, nach einer Ausführungsform der vorliegenden Offenlegung zu finden. Ein Gelenksuchraum über Dimensionen p und r wird durch ein Gitter 310 dargestellt. Das Gitter 310 stellt visuell den Suchraum dar, wobei Spalten die Werte von p (p0, p1,...,pi,) und Zeilen die Werte von r (r0, r1, ..., rj,) bezeichnen. Die Größe des Punktes in jeder Zeile des Gitters 310 stellt den Wert der Zugriffsqualität Q (r, p) für diese spezielle Kombination von p und r dar. Ein größerer Punkt gibt eine höhere Zugriffsqualität an.
  • Wie es früher erörtert wurde, umfassen p sowie r, wenn p und r Positions- und Rotationsdimensionen eines Zugriffs (Pose des Greifers) darstellen, jeweils drei Dimensionen oder Freiheitsgrade. Somit kann man sich leicht vorstellen, dass, um einen optimalen Greifkandidaten zu finden, viele unterschiedliche Werte von p und r gesucht werden müssen. Das heißt, es ist wahrscheinlich, dass die Werte von i und j zumindest in den Hunderten liegen. Zum Beispiel wird, wenn die Dimensionen x, y und z von p jeweils in zehn Zuwächse geteilt werden, p eine Dimensionsgröße von 10 x 10 x 10 = 1000 besitzen. Wenn das Suchen des Gitters 310 durch ein einzelnes neuronales Netz durchgeführt wird (wie zum Beispiel das Netz 220 von 2), muss die Suche i · j mal (i multipliziert mit j) durchgeführt werden. Dies läuft auf einen sehr großen Suchraum und somit ein sehr kompliziertes und langsames neuronales Netz hinaus. Wenn das Suchen des Gitters 310 durch zwei neuronale Netze niedrigerer Dimension (wie zum Beispiel die Netze 260 und 270 von 2) durchgeführt wird, muss die Suche i + j mal durchgeführt werden, was eine viel kleinere Anzahl ist. Daraus ergibt sich eine viel weniger komplizierte und schnellere Lösung des neuronalen Netzes, die nachstehend ausführlich erörtert wird.
  • Wie ebenfalls früher erwähnt, definiert die vorliegende Offenlegung Verfahren zur Abtrennung (Modularisierung) des einen großen hochdimensionalen, neuronalen Netzes in zwei (oder mehrere) einfachere neuronale Netze. Schlüssel zur Abtrennung des einen großen neuronalen Netzes in zwei einfachere neuronale Netze ist das Kodieren des ersten neuronalen Netzes, um einen Wert p* zu finden, der die insgesamt höchste Zugriffsqualität an einem seiner entsprechenden Werte von r ergibt, sodass das zweite neuronale Netz dann die Dimension r an einer optimalen Stelle in p suchen kann. Das Folgende ist eine Erörterung dieses Verfahrens.
  • Im Kästchen 320 ist ein erstes Verfahren zur Modularisierung neuronaler Netze gezeigt, bei dem das Suchen sowohl der Dimension p als auch der Dimension r des Gitters 310 in eine Suche der Dimension p abgetrennt wird, um p* zu finden, dem sich eine Suche der Dimension r bei p* anschließt, um die maximale Zugriffsqualität zu finden. Wie es oben erörtert wurde, kann p* gefunden werden durch p * = argmax p Q r ( p ) ,
    Figure DE102022107249A1_0005
    wobei Qr(p) die entlang der Richtung r projizierte p Zugriffsqualität Q(r,p) ist. Qr (p) verdeckt r und ist nur eine Funktion von p. Das im Kästchen 320 beschriebene Verfahren definiert Qr(p) = J Q(r, p)dr. Wenn Qr (p) auf diese Weise definiert ist, findet das erste neuronale Netz (bei 330 gezeigt) den Wert von p*, der die beste Durchschnittsqualität Q aufweist, das heißt, das Integral über alle Werte von r. Basierend auf den Größen der Qualitätspunkte im Gitter 310 wird ersichtlich, dass der Wert von p* im Kästchen 320 pi ist, welcher die Spalte mit der höchsten Durchschnittsqualität ist.
  • Wenn das zweite neuronale Netz im Kästchen 320, dargestellt bei 340, quer durch alle Werte von r bei p* = pi sucht, um den maximalen Wert von Q zu ermitteln, sind alle anderen Werte von p verdeckt. So findet das zweite neuronale Netz die maximale Zugriffsqualität für p* = pi, die bei r0 auftritt. Eine visuelle Prüfung des Gitters 310 sagt aus, dass die Zugriffsqualität bei (r0, pi) nicht die gesamte maximale Zugriffsqualität ist. Folglich ist das im Kästchen 320 gezeigte Verfahren mit normalem Spielraum nicht zuverlässig in der Lage, einen maximalen Wert zu finden, wenn es bei Modularisierung neuronaler Netze verwendet wird.
  • Im Kästchen 350 ist ein zweites Modularisierungsverfahren für neuronale Netze gezeigt, bei dem das Suchen beider Dimensionen p und r des Gitters 310 in eine Suche der Dimension p abgetrennt wird, um p* zu finden, dem sich eine Suche der Dimension r bei p* anschließt, um die maximale Zugriffsqualität zu finden. Nach der vorliegenden Offenlegung nutzt das im Kästchen 350 beschriebene Verfahren ein Verfahren mit maximalem Spielraum, welches Q r ( p ) = max r Q ( r , p )
    Figure DE102022107249A1_0006
    definiert. Wenn Qr(p) auf diese Weise definiert wird, findet das erste neuronale Netz (bei 360 dargestellt) den Wert von p*, welcher die beste Gesamtqualität Q aufweist, das heißt, die maximale Einzelqualität quer durch alle Werte von r. Mit anderen Worten, das erste neuronale Netz sagt vorher, dass ein spezielles p ein hohes Ergebnis aufweist, solange ein r vorhanden ist, das gut funktioniert. Basierend auf den Größen der Qualitätspunkte im Gitter 310 ist ersichtlich, dass der Wert von p* im Kästchen 350 po ist, welches die Spalte ist, die die Zelle mit der höchsten Einzelqualität enthält.
  • Wenn das zweite neuronale Netz im Kästchen 350, bei 370 dargestellt, quer durch alle Werte von r bei p* = p0 sucht, um den maximalen Wert von Q zu ermitteln, sind alle anderen Werte von p verdeckt. Somit findet das zweite neuronale Netz die maximale Zugriffsqualität für p* = p0, was bei rj auftritt. Eine visuelle Prüfung des Gitters 310 macht deutlich, dass die Zugriffsqualität bei (rj,p0) tatsächlich die gesamte maximale Zugriffsqualität ist. Somit ist das im Kästchen 350 dargestellte Verfahren mit maximalem Spielraum imstande, einen Zielwert von einer Dimension (p*) zu finden, was in Verwendung bei einer Modularisierung neuronaler Netze einen maximalen Wert liefert.
  • Weil das zweite neuronale Netz 370 im Kästchen 350 r nur bei p* = po sucht und alle anderen Werte von p verdeckt sind, ist die Suche des zweiten neuronalen Netzes viel schneller (um einen Faktor j) als eine einzelne Suche des neuronalen Netzes quer durch alle Dimensionen des Gitters 310. Diese gewaltige Verbesserung der Suchleistung des neuronalen Netzes ist bei robotergestützten Greifanwendungen sehr wichtig, wo der einem Bild eines Objektstapels entsprechende Greifvorschlag in Echtzeit berechnet werden muss, um eine Robotersteuerung zu unterstützen.
  • Auf der vorhergehenden Erörterung von 3 beruhend ist ersichtlich, dass das Verfahren mit maximalem Spielraum (im Kästchen 350 dargestellt, wo p* durch p * = argmax p   Q r ( p )  und  Q r ( p ) = max r Q ( r , p )
    Figure DE102022107249A1_0007
    gefunden werden kann), effektiv zur Modularisierung neuronaler Netze eingesetzt werden kann. Das Folgende ist eine Erörterung, wie dies in einer Trainingsphase und in einer Schlussfolgerungsphase der Modularisierung neuronaler Netze vorgenommen wird.
  • 4 ist die Übersichtsdarstellung von Schritten in einer Trainingsphase eines Modularisierungsverfahrens neuronaler Netze nach einer Ausführungsform der vorliegenden Offenlegung. Kästchen 400 umfasst die Schritte, die beim Training eines ersten neuronalen Netzes 410 verwendet werden. Das erste (410) und das zweite (460) neuronale Netz von 4 arbeiten in der Weise des oben erörterten ersten und zweiten neuronalen Netzes von 3.
  • Wie es oben an den Kästchen 400 und 450 schematisch dargestellt ist, kodiert das erste neuronale Netz 410 die eingeteilte Dimension p, sodass, basierend auf Eingabedaten, welche die Umgebung für {p} beschreiben, das erste neuronale Netz imstande ist, p* vorherzusagen, den Wert von p, für den es eine maximale Qualität bei einem gewissen Wert von r gibt. Das zweite neuronale Netz 460 kodiert anschließend alle Dimensionen (p, r) auf der Basis von Eingabedaten, welche die Umgebung definieren für alle r bei dem zuvor ermittelten p*, und ermittelt Werte (p*, r*), bei denen es eine maximale Zugriffsqualität gibt.
  • Zum Trainieren des ersten neuronalen Netzes 410 werden zuerst Daten des maximalen Spielraums vorbereitet, wie es bei 420 und 430 angegeben ist. Die bei 420 angegebenen Eingabedaten Ir(p) stellen den Zustand dar, um die Aktion p eindeutig zu kodieren. Die Aktion r ist verdeckt, somit ist Ir(p) eine Funktion von p. Die bei 430 angegebenen Ausgabedaten Qr (p) sind die Qualität Q(r,p), die entlang der Richtung r mit dem Verfahren des maximalen Spielraums (oben bezüglich 3 erörtert) projiziert wird. Die Ausgabedaten Qr(p) bei 430 werden in Form von Abbildungen der Zugriffsqualität zur Verfügung gestellt, wie es weiter unten erörtert wird. Qr (p) verdeckt r und ist nur eine Funktion von p. Obwohl die Qualität die Ausgabe des ersten neuronalen Netzes 410 ist, werden die Daten Qr (p) als Eingabe zum Training des Netzes bereitgestellt. Für eine Greifaufgabe stellt Ir(p) die Information (z. B. Tiefe) bei unterschiedlichem p dar, und Qr (p) ist die maximale Qualität für unterschiedliches r in einem speziellen p, wie es bei 420 und 430 dargestellt ist. 5 und 6 veranschaulichen ferner die Eingabedaten Ir(p), die Zugriffsqualitätsdaten Qr (p) und die Beziehung zwischen ihnen, die letzten Endes durch Training in das erste neuronale Netz 410 kodiert wird.
  • 5 ist eine grafische Darstellung 500, die veranschaulicht, wie dreidimensionale Tiefenbilddaten zu einer Menge von Tiefenschichten verarbeitet werden und in der Trainingsphase von 4 gemäß einer Ausführungsform der vorliegenden Offenlegung bereitgestellt werden. Für ein spezielles dreidimensionales Tiefenbild (in 4 bei 420 gezeigt) werden mehrere Tiefenbildschichten als Eingabedaten Ir(P) zum Trainieren des ersten neuronalen Netzes 410 bereitgestellt. In der grafischen Darstellung 500 stellt die x-Achse 510 eine horizontale Dimension des dreidimensionalen Tiefenbildes dar, und die z-Achse 520 die vertikale Dimension des Tiefenbildes (zum Beispiel könnte die z-Achse 520 die Höhe eines mit Teilen vollen Behälters sein). Die y-Achse 512 des dreidimensionalen Tiefenbildes geht „in die Seite“ in der grafischen Darstellung 500. Eine Kurve 530 stellt die gemeinsame Höhe des Teilestapels in der x-z-Ebene dar. Mit anderen Worten, die Kurve 530 ist die Oberseite eines Querschnitts des Teilestapels in der x-z-Ebene.
  • Das dreidimensionale Tiefenbild kann in mehrere Schichten jeweils bei einer anderen Höhe (z0, z1, ... zi, ... zN) geteilt werden. Die durch die Linie 540 dargestellte Höhe zo gibt den höchsten Punkt im Tiefenbild an (z. B., den Teilestapel). Eine Tiefenbildschicht ist vorgesehen für die Höhe zo, die eine gesamte Tiefenabbildung einschließlich aller Objekte vom Niveau zo (Oberseite des höchsten Objekts) ganz nach unten zum Niveau zN (Boden des Behälters) darstellt. In der Tiefenbildschicht für zo weisen die z-Koordinaten des Tiefenbildes einen auf zo gesetzten Bezugsursprungspunkt auf, sodass alles im Tiefenbild eine negative z-Koordinate aufweist. Die durch die Linie 542 dargestellte Höhe z1 zeigt ein Niveau leicht unterhalb der Oberseite des Tiefenbildes an. Eine weitere Tiefenbildschicht ist für die Höhe z1 vorgesehen, die wiederum eine Tiefenabbildung einschließlich aller Objekte vom Niveau zo nach unten bis zum unteren Niveau zN zeigt; wobei in der Tiefenbildschicht z1 jedoch die z-Koordinaten des Tiefenbildes einen Bezugsursprungspunkt besitzen, der auf z1 gesetzt ist, sodass alles über z1 im Tiefenbild eine positive z-Koordinate und alles unter z1 im Tiefenbild eine negative z-Koordinate aufweist. Gleichermaßen sind für zusätzliche Niveaus z1 (dargestellt durch eine Linie 544) Tiefenbildschichten vorgesehen. Jede Tiefenbildschicht ist ein vollständiges Tiefenbild für den gesamten Teilestapel, jedoch besitzt jede Tiefenbildschicht einen anderen Ursprungspunkt in der z-Richtung. Durch Aufschneiden bei unterschiedlichen Niveaus und Bereitstellen von mehreren Tiefenbildschichten wird die z-Richtung beim Training des neuronalen Netzes 410 kodiert. Das x- und y-Kodieren wird normalerweise durch die zweidimensionalen Informationen in jeder Schicht vorgenommen. Dies ist in 6 dargestellt.
  • Die Kurve 530 weist ein Merkmal 550 und ein Merkmal 560 auf. Die Merkmale 550 und 560 sind hohe Stellen in der Tiefenabbildung, die Orte angeben, an denen der Teilestapel aufgrund eines oder mehrerer vorhandener Teile höher ist. Die Merkmale 550 und 560 sind in Formen in dem Tiefenbild und in den Abbildungen der Zugriffsqualität, wie nachstehend erörtert, ausgewiesen.
  • 6 ist die Darstellung einer Tiefenbildschicht 600 für eine spezielle Tiefenschicht von 5, die in der Trainingsphase von 4 nach einer Ausführungsform der vorliegenden Offenlegung vorgesehen ist. In der Tiefenbildschicht 600 entspricht die x-Achse 510 der x-Achse 510 von 5, und die y-Achse 512 entspricht der y-Achse 512 von 5. Mit anderen Worten, die Tiefenbildschicht 600 ist ein Topdown-Tiefenbild, und die z-Achse 520 von 5 „kommt aus der Seite“ in 6 heraus.
  • Die Tiefenbildschicht 600 enthält eine Form 620 und eine Form 630, die jeweils den Merkmalen 550 und 560 von 5 entsprechen. Die Formen 620 und 630 sind in der Mitte am dunkelsten, geben die höchste z-Koordinate an und entsprechen den Höchstwerten der Merkmale 550 und 560 von 5. Falls die Tiefenbildschicht 600 für die Höhe zi steht, dann weisen die z-Koordinaten des Tiefenbildes einen auf zi gesetzten Bezugsursprung auf, sodass alles oberhalb von zi (die Linie 544) im Tiefenbild eine positive z-Koordinate aufweist, und alles unterhalb von zi (die Linie 544) im Tiefenbild eine negative z-Koordinate aufweist. Ähnlich sind die bei 430 von 4 angegebenen Qualitätsabbildungen ebenfalls zu Schichten oder Schnitten gestapelt. Jede Schicht der Qualitätsabbildungen 430 zeigt die Greifkandidaten, die sich nahe der aktuellen Schicht des Tiefenbildes befinden, wie zum Beispiel innerhalb eines schraffierten Bereichs 570 der Höhe zi. Zum Beispiel würde die Qualitätsabbildung für die Höhe z1 Qualitätszugriffe im Mittelpunkt der Formen 620 und 630 einschließen, wogegen die Qualitätsabbildung für die Höhe zN wahrscheinlich keine Qualitätszugriffe einschließen würde, weil es im Tiefenbild auf diesem Niveau kein greifbares Merkmal gibt. Die in den Qualitätsabbildungen 430 vorgesehenen Greifkandidaten können manuell durch herkömmliche Verfahren, wie zum Beispiel Heuristik, oder automatisch mittels Optimierungsberechnungen für Greifer/Objekt erzeugt werden, denen sich eine Simulation der physikalischen Umgebung (Objektstapel) anschließt, wie es weiter unten erörtert wird.
  • Um die Vorbereitung von Daten maximalen Spielraums zum Trainieren des ersten neuronalen Netzes 410 (im Kästchen 400 von 4) zusammenzufassen: Es werden Daten von Punktwolken oder anderen Tiefenabbildungen (zum Beispiel von 3D-Kameras) für einen speziellen Objektstapel verwendet, um die Tiefenbilder 420 (an mehreren Schichten) und entsprechende Qualitätsabbildungen 430 (die eine Zugriffsqualität an verschiedenen Punkten auf jeder Tiefenbildschicht bezeichnen) zur Verfügung zu stellen. Die zuvor erwähnten Schritte werden für viele verschiedene Objektstapel (vorzugsweise Tausende) durchgeführt. Nachdem die Daten maximalen Spielraums vorbereitet sind, wie bei 420 und 430 von 4 angegeben und weiter in 5 bis 6 einzeln angegeben, wird das erste neuronale Netz 410 trainiert. Der Trainingsschritt ist unten im Kästchen 400 dargestellt, wo das erste neuronale Netz 410 trainiert wird, um Zugriffsqualität Qr(p) basierend auf eingegebenen Bilddaten Ir(p) der Umgebung vorherzusagen. Das Training des ersten neuronalen Netzes ist unkompliziert und schnell, sobald die Daten vorbereitet sind. Weil die Zugriffsqualität (die Ausgabe des ersten neuronalen Netzes 410) als Trainingsdaten bereitgestellt wird, ist das im Kästchen 400 gezeigte Training als überwachtes Lernen bekannt.
  • Um das zweite neuronale Netz 460 (4) zu trainieren, werden Daten zum Kodieren aller Dimensionen r und p vorbereitet. Zuerst werden, wie bei 470 gezeigt, die zum Trainieren des ersten neuronalen Netzes 410 verwendeten Tiefenbilder 420 (an mehreren Schichten) zusammen mit den entsprechenden Qualitätsabbildungen 430 (die die Zugriffsqualität und -position an jeder Tiefenbildschicht bezeichnen) kombiniert. Jedes der Tiefenbilder 420 wird mit Positionen von Qualitätszugriffen kodiert, die zu einer speziellen Tiefenbildschicht zugehörig sind. Das Ergebnis sind bei 480 dargestellte Eingabedaten I(r,p), die eine Vielzahl von Tiefenbildschnitten (482, 484, 486, ...) enthalten, wobei jeder ein Teil eines der, wie durch die Qualitätsabbildungen 430 definiert, geschnittenen und gedrehten Tiefenbilder 420 ist.
  • Für Greifanwendungen wird in den bei 480 dargestellten Eingabedaten I(r,p) (den Tiefenbildschnitten 482, 484, 486, ...) p durch Schnittmitten (x und y vom Ort auf einer Tiefenbildschicht, und z vom Tiefenursprung dieser Schicht) kodiert, und r wird durch Schnittwinkel kodiert, beides wie es aus den Qualitätsabbildungen 430 festgelegt ist. Oftmals ist es vorteilhaft, nichtvertikale Zugriffsrichtungen zuzulassen, um die beste Fähigkeit zum Aufheben von Behältern zur Verfügung zu stellen. Die Annäherungsrichtung eines Zugriffs (das heißt, eine nichtvertikale Annäherungsrichtung) kann im ersten und zweiten neuronalen Netz (410/460) kodiert werden, indem Tiefenbilder 420 (bei 470 wieder genutzt) mit unterschiedlichen Blickwinkeln zugeführt werden. Die Tiefenbilder unterschiedlicher Blickwinkel können aus Punktwolkendaten berechnet werden, die, wie in 1 gezeigt, von zwei 3D-Kameras erhalten werden, die verschiedene Positionen und Ausrichtungen aufweisen.
  • Bei 490 sind Ausgabedaten Q(r,p) dargestellt, die eine Qualitätskennzahl enthalten, die zu jedem der Tiefenbildschnitte 482/484/486 zugehörig ist. Die Qualitätskennzahl wird außerdem durch die externe Trainingsdatenquelle (weiter unten mit Bezug auf 10 erörtert) für jeden Zugriff auf den Qualitätsabbildungen 430 bereitgestellt. Somit sind die Ausgabedaten Q (r, p) als Trainingsdaten für das zweite neuronale Netz 460 verfügbar. Zum Greifen sind die Ausgabedaten Q (r, p) ein skalarer Wert, der die zur Zugriffaktion r und p zugehörige Qualität darstellt. Obwohl das zweite neuronale Netz 460 alle Aktionsdimensionen r und p kodiert, muss es nur in Richtung r zur Schlussfolgerungszeit suchen, weil das Kodieren der Dimension p durch das erste neuronale Netz 410 durchgeführt wird. Nachdem die Eingabe- und Ausgabedaten des Gelenks (r und p) vorbereitet sind, wie bei 480 und 490 in 4 angegeben, wird das zweite neuronale Netz 460 trainiert. Im Kästchen 450 unten ist der Trainingsschritt dargestellt, bei dem das zweite neuronale Netz 460 trainiert wird, um Zugriffsqualität Q(r, p) basierend auf eingegebenen Umgebungsbilddaten I(r, p) vorherzusagen.
  • Das erste neuronale Netz 410 kann ein vollständig gefaltetes Netzwerk (FCN) sein, welches für Anwendungen von „Bild-Ein / Bild-Aus“ am besten geeignet ist. Das zweite neuronale Netz 460 kann ein gefaltetes neuronales Netzwerk (CNN) sein, welches für Anwendungen von „Bild-Ein / Skalar-Aus“ am besten geeignet ist, wo hohe Genauigkeit aufgrund des niedrigdimensionalen Inhalts der Ausgabe möglich ist. Das erste neuronale Netz 410 sowie das zweite neuronale Netz 460 werden mittels überwachten Lernens trainiert, was bedeutet, dass die gewünschten Ausgabedaten von den Netzen (die Qualitätsabbildungen 430 aus dem ersten neuronalen Netz 410 und die Qualitätskennzahlen 490 des Zugriffs aus dem zweiten neuronalen Netz 460) als Eingaben zum Training bereitgestellt werden. Im Anschluss an die in den Kästchen 400 und 450 von 4 dargestellten und oben erörterten Trainingsschritte werden die neuronalen Netze 410 und 460 trainiert und sind in aktuellen robotergestützten Operationen des in 1 gezeigten Typs einsatzbereit.
  • 7 ist eine Übersichtsdarstellung von Schritten in einer Schlussfolgerungsphase des Modularisierungsverfahrens neuronaler Netze nach einer Ausführungsform der vorliegenden Offenlegung. In der Schlussfolgerungsphase, die auch als die Entfaltungs- oder Ausführungsphase bekannt sein kann, werden die neuronalen Netze 410 und 460 bei aktiven robotergestützten Operationen zum Aufheben von Teilen genutzt, um dreidimensionale Tiefenbilder zu analysieren und Empfehlungen für Kandidaten eines Qualitätsgriffs zur Verfügung zu stellen. Es wird hier wiederum hervorgehoben, dass robotergestütztes Aufheben von Teilen (Zugriffsbestimmung aus dreidimensionalen Tiefenbildern) lediglich ein Beispiel der Modularisierung neuronaler Netze ist, um eine hochdimensionale Aufgabe in zwei oder mehrere Netze niedrigerer Dimension zu zerlegen.
  • Die neuronalen Netze 410 und 460, die in 4 dargestellt und wie oben erörtert trainiert sind, werden in der in 7 gezeigten Schlussfolgerungsphase verwendet. Während die neuronalen Netze 410 und 460 unabhängig voneinander trainiert werden, werden sie zur Eingriffszeit verbunden, um die volldimensionale Aktion zu lokalisieren. Es gibt mehrere Schritte zum Abarbeiten der Netze in der Schlussfolgerungsphase; das Kästchen 700 umfasst Schritte, die das erste neuronale Netz 410 einschließen, während das Kästchen 750 Schritte umfasst, die das zweite neuronale Netz 460 einschließen.
  • Im Kästchen 700 bereitet der erste Schritt die Eingabedaten Ir(P) vor, die p kodieren. Bei Greifanwendungen können Ir(p) Tiefenbilder sein, die zu einem anderen p zugehörig sind. In Abhängigkeit von den Kodierungsverfahren und der Netzstruktur kann es unterschiedliche Eingabe-/Ausgabetypen geben. Im gezeigten Greifbeispiel sind bei 710 mehrere Tiefenbildschichten zur Tiefenkodierung vorgesehen, wobei eine vollständig gefaltete Netzstruktur genutzt wird. Daher sind die Eingaben Tiefenbilder (horizontale Schnitte, die p in x und y kodieren), die in unterschiedlichen Höhen oder Schichten (die p in z kodieren) mittig angeordnet sind, wie es zuvor mit Bezug auf 4 bis 6 erörtert wurde.
  • Wenn die Eingaben Ir(P) (710) bereitgestellt sind, kann das neuronale Netz 410 in einer „Vorwärtsschleife“ im Schlussfolgerungsmodus abgearbeitet werden, wie es im Kästchen 700 dargestellt ist. Die Ausgabe vom Abarbeiten des ersten neuronalen Netzes 410 im Schlussfolgerungsmodus sind mehrlagige Qualitätsabbildungen (eine in jeder Schicht in z - wie bei 720 dargestellt), wobei jedes Bildelement (Pixel) die Qualität des maximalen Spielraums ( Q r ( p ) = max  r Q ( r , p ) )
    Figure DE102022107249A1_0008
    zeigt, wenn, wie zuvor erörtert, mit zugehörigem p gegriffen wird. Bildelemente in jeder Schicht von Qualitätsabbildungen, die eine Zugriffsqualität über einem Schwellenwert aufweisen, werden als Rasterpunkte oder Flächen hervorgehoben; alle anderen Bildelemente repräsentieren keinen Qualitätszugriff. Schließlich ist die endgültige Ausgabe aus dem ersten neuronalen Netz 410 der Wert des maximalen Spielraums von p, der, wie in Gleichung bei 730 gezeigt, aus p * = argmax p Q r ( p )
    Figure DE102022107249A1_0009
    erhalten wird. Der Wert des maximalen Spielraums p* wird dem zweiten neuronalen Netz 460, wie durch Pfeil 740 gezeigt, zur Verfügung gestellt.
  • Das Kästchen 750 umfasst die Schritte, die mit dem zweiten neuronalen Netz 460 verbunden sind. Dies beginnt durch Vorbereitung der Daten für das zweite neuronale Netz 460. Der von dem ersten neuronalen Netz 410 beim Pfeil 740 bereitgestellte Wert p* wird auf eine spezielle Tiefenbildschicht 760, wie beim Pfeil 762 dargestellt, angewandt. Durch die Ermittlung eines speziellen Schnittorts (x und y) auf einer speziellen Tiefenbildschicht (z) wird der Wert p* vollständig als Eingabe an das zweite neuronale Netz 460 definiert. Anschließend kann der r-Raum gesucht werden, indem eine Vielzahl von gedrehten, geschnittenen Bildteilflächen zur Verfügung gestellt wird, wie es bei 770 gezeigt ist. Somit ist die Eingabe an das zweite neuronale Netz 460 I(r, plp = p*). Es ist wichtig daran zu erinnern, dass während der Schlussfolgerungsphase das zweite neuronale Netz 460 nur im r-Raum sucht, weil der p-Raum (der Wert p*) bereits aus dem ersten neuronalen Netz 410 kodiert ist.
  • Die Ausgabe des zweiten neuronalen Netzes 460 ist die Qualität (skalarer Wert) jedes unterschiedlichen r, wie es bei 780 dargestellt ist. Somit ist die Ausgabe des zweiten neuronalen Netzes 460 Q (r,p|p = p*). Das heißt, ein Qualitätswert (Zugriffsqualität im gezeigten Beispiel) wird für jeden der gedrehten, geschnittenen Bildteilflächen 770 berechnet. Schließlich ist die endgültige Ausgabe von dem zweiten neuronalen Netz 460 ein Wert r, der den größten Wert von Q besitzt, der wie durch die Gleichung im Kästchen 790 dargestellt als r * = argmax  r Q ( r , p | p = p * )
    Figure DE102022107249A1_0010
    erhalten wird. Der Wert p* von dem ersten neuronalen Netz 410 wird mit dem Wert r* von dem zweiten neuronalen Netz 460 verknüpft, um die volle Aktion (r*, p*) zur Verfügung zu stellen, die im gezeigten Greifbeispiel ein voller Roboterzugriff mit sechs Freiheitsgraden eines Objekts ist, wobei der Zugriff die hohe Qualität Q besitzt, die, wie oben beschrieben, gefunden wurde.
  • Um noch einmal zu erläutern, was durch die modularisierten neuronalen Netze 410 und 460 gemäß 7 und wie oben erörtert vorgenommen wurde: Die bei 710 dargestellten Eingabedaten nutzend, hat das erste neuronale Netz 410 den Wert p* des maximalen Spielraums gefunden, welcher der Wert der Positionsdimension p mit einer individuellen Zugriffsqualität ist, die im gesamten Suchraum die höchste ist; dann hat das zweite neuronale Netz 460, den Wert p* als Eingabe nutzend, den Wert r* gefunden, welcher der Wert der Rotationsdimension r mit der maximalen Zugriffsqualität ist, wenn die Positionsdimension auf p* beschränkt ist. Die verknüpften Dimensionen (r*, p*) definieren einen vollen Roboterzugriff mit sechs Freiheitsgraden eines Objekts. Die Abtrennung der neuronalen Netze, wie offengelegt, lässt es zu, die Suche des p-Raums von der Suche des r-Raums zu entkoppeln, was zu einer tiefgreifenden Reduzierung der Größe des Suchraums führt (die Summe anstelle des Produkts der Dimensionsgrößen i und j).
  • Die vorhergehende Erörterung und die in 4 bis 7 gezeigten Beispiele wurden bezüglich der beispielhaften Anwendung beschrieben, einen hochqualitativen Zugriff mit vollem Freiheitsgrad eines Objekts für robotergestützte Operationen zum Aufheben von Teilen zu finden. Wie früher erwähnt, ist dies nur eine beispielhafte Anwendung für die offengelegten Modularisierungsverfahren für Netze. Die Verfahren können im Allgemeinen angewandt werden, um jedes hochdimensionale, neuronale Netz in zwei oder mehrere Netze niedrigerer Eingabedimension zu modularisieren, die viel schneller laufen. Einige spezielle Greifanwendungen werden weiter unten erörtert.
  • 8 ist eine Übersichtsdarstellung des offengelegten Modularisierungsverfahrens neuronaler Netze, das auf ein Suchproblem des Zugriffs mit drei Freiheitsgraden, nach einer Ausführungsform der vorliegenden Offenlegung, angewandt wird. Bei dem in 8 gezeigten Beispiel soll ein relativ einfacher Zugriff mit drei Freiheitsgraden aus einem dreidimensionalen Tiefenbild eines Objektstapels ermittelt werden. Die zu berechnenden drei Freiheitsgrade sind die Positionen x, y und z des Zugriffspunktes. In diesem Beispiel werden keine Rotationen berechnet. Anstatt die drei Freiheitsgrade in einem einzelnen Netz zu berechnen, kann die Berechnung in zwei neuronale Netze modularisiert werden, wobei das erste neuronale Netz die x- und y-Koordinaten eines Zugriffs bester Qualität berechnet und das zweite neuronale Netz die z-Koordinate berechnet.
  • Das Kästchen 800 enthält ein erstes neuronales Netz 810 und seine zugehörigen Eingabe- und Ausgabedaten. Als Eingabe wird ein Tiefenbild 820, zum Beispiel von einer oder mehreren 3D-Kameras, bereitgestellt. In der Trainingsphase wird außerdem ein entsprechender Zugriffsort bester Qualität zum überwachten Lernen bereitgestellt. Durch das Training mittels vieler Tiefenbilder 820 lernt das erste neuronale Netz 810 aus Merkmalen des Tiefenbildes 820, die einer besten Zugriffsqualität entsprechen, x und y zu kodieren. In der Schlussfolgerungsphase wird das Tiefenbild 820 dem ersten neuronalen Netz 810 zur Verfügung gestellt, wobei die Ausgabe eine einzelne Qualitätsabbildung 830 ist, die einen Zugriffsort bester Qualität in x- und y-Dimensionen angibt. Das heißt, das erste neuronale Netz 810 kodiert den maximalen Spielraum von Qz(xy). Das erste neuronale Netz 810 liefert in der Schlussfolgerungsphase die x-y-Dimensionen des besten Zugriffsorts (x*y*) an das zweite neuronale Netz 860, wie es beim Pfeil 840 angegeben ist.
  • Das Kästchen 850 enthält ein zweites neuronales Netz 860 und seine zugehörigen Eingabe- und Ausgabedaten. Die Funktion des zweiten neuronalen Netzes 860 ist es, die Dimension z zu kodieren. Aus einem Tiefenbild 870 (welches das gleiche wie das Tiefenbild 820 ist) und der Eingabe (x*y*) (die aus dem ersten neuronalen Netz 810 auf dem Pfeil 840 gekommen ist), kann eine Tiefenbild-Teilfläche an der besten x- und y-Position (x*y*), wie im Kästchen 880 bei 882 gezeigt, geschnitten werden. Eine andere Möglichkeit daran zu denken ist, dass in der Schlussfolgerungsphase das Tiefenbild 870 in z-Richtung in Scheiben geschnitten wird, wie es bei 890 gezeigt ist, und die Scheiben an dem besten (x*y*) Zugriffsort (beim Pfeil 892 dargestellt) bewertet werden, um die Höhe z* zu bestimmen, bei der ein Zugriff bester Qualität gefunden wird. Bei 898 ist eine der Scheiben aus dem bei 890 gezeigten Stapel dargestellt, wobei ein bester Zugriffsort mit Kreis versehen ist und der beste Zugriffsort in der Scheibe 898 dem besten Zugriffsort in der Qualitätsabbildung 830 aus dem ersten neuronalen Netz 810 entspricht (das die z-Richtung noch nicht bewertet hatte). So ist ersichtlich, dass die endgültige dreidimensionale Zugriffsqualität aus dem zweiten neuronalen Netz 860 ( max z Q ( z , z y ) )
    Figure DE102022107249A1_0011
    in der Scheibe 898 in x- und y-Richtung mit der maximalen, zweidimensionalen Zugriffsqualität (Qz(xy)) aus dem ersten neuronalen Netz 810 in der Qualitätsabbildung 830 übereinstimmt.
  • Der endgültige ausgegebene Zugriffsort (x*y*z*) enthält die durch das erste neuronale Netz 810 ermittelten besten Dimensionen x und y und die durch das zweite neuronale Netz 860 ermittelte beste Dimension z. Der endgültige ausgegebene Zugriffsort (x*y*z*) wird einer Robotersteuereinheit bereitgestellt, die anschließend den Roboter mit Anweisungen versorgt, um das Teil an den ermittelten Koordinaten zu greifen. Nachdem das Teil gegriffen wurde, würden den neuronalen Netzen 810 und 860 ein neues Tiefenbild bereitgestellt und Koordinaten eines neuen besten Zugriffsorts berechnet werden.
  • Durch Modularisierung der Zugriffssuche mit drei Freiheitsgraden in zwei Netze, einem zwei Dimensionen suchenden Netz und einem eine Dimension suchenden anderen Netz, wird die gesamte Suchleistung verbessert. Zum Beispiel wird ein Fall betrachtet, bei dem die Dimensionen x und y jeweils in ein ziemlich grobes Gitter von 20x20 und die Dimension z in zehn Schichten geteilt sind. Unter Verwendung der offengelegten Modularisierungsverfahren für Netze sucht das erste neuronale Netz 810 einen Raum der Größe von 20x20=400 und das zweite neuronale Netz 860 einen Raum der Größe 10, wobei der sich ergebende modularisierte Suchraum eine Größe von 400+10=410 besitzt. Wenn alle drei Dimensionen in einem einzelnen Netz gesucht würden, dann würde das Netz einen Suchraum mit einer Größe von 20x20x10=4000 besitzen.
  • 9 ist eine Übersichtsdarstellung des Modularisierungsverfahrens neuronaler Netze, das auf ein Suchproblem des Zugriffs mit fünf Freiheitsgraden angewandt wird, indem zwei neuronale Netze gemäß einer Ausführungsform der vorliegenden Offenlegung genutzt werden. Bei dem in 9 gezeigten Beispiel soll aus einem dreidimensionalen Tiefenbild eines Objektstapels ein Zugriff mit fünf Freiheitsgraden ermittelt werden. Die zu berechnenden fünf Freiheitsgrade umfassen die Positionen x, y und z des Zugriffspunktes zusammen mit einer Weite des Greifers und einem Rotationswinkel des Greifers. In diesem Beispiel wird kein Annäherungswinkel berechnet; angenommen wird eine vertikale Annäherung von oben nach unten. Anstatt die fünf Freiheitsgrade in einem einzelnen Netz zu berechnen, kann die Berechnung in zwei neuronale Netze modularisiert werden, indem die offengelegten Verfahren verwendet werden, wobei das erste neuronale Netz die Koordinaten x, y, z eines Zugriffs bester Qualität berechnet und das zweite neuronale Netz die Weite (w) des Greifers und den Rotationswinkel (θ) des Greifers zusammen mit der endgültigen Zugriffsqualität, die maximiert ist, berechnet.
  • Ein dreidimensionales Tiefenbild 910 (das zum Beispiel einen Objektstapel in einem Behälter bildlich darstellt) wird einem Netz 920 von Zugriffsvorschlägen bereitgestellt. Das Netz 920 von Zugriffsvorschlägen ist ein vollständig gefaltetes Netzwerk (FCN), da es ein Bild (das Tiefenbild 910) als Eingabe empfängt und ein Bild (eine Abbildung der Zugriffsqualität 930) als Ausgabe zur Verfügung stellt. Die Abbildung der Zugriffsqualität 930 wird einem Zugriffsbewertungsnetz 940 bereitgestellt, welches ein gefaltetes, neuronales Netzwerk (CNN) ist, da es ein eingegebenes Bild empfängt und ausgegebene skalare Daten (Weite und Rotation des Greifers) zur Verfügung stellt. Weite und Rotation des Greifers (dargestellt bei 950t) aus dem Zugriffsbewertungsnetz 940 werden mit der besten Zugriffsposition (x/y/z) aus der durch das Netz 920 von Zugriffsvorschlägen erzeugten Abbildung der Zugriffsqualität 930 kombiniert, wobei dies eine von einer Robotersteuereinheit zu verwendende Definition des Zugriffs mit fünf Freiheitsgraden (x/y/z/w/θ) liefert.
  • Wie es zuvor ausführlich erörtert wurde, werden das Netz 920 von Zugriffsvorschlägen und das Zugriffsbewertungsnetz 940 zuerst mittels überwachten Lernens trainiert und dann im Schlussfolgerungsmodus betrieben. Beim Training wird das Netz 920 von Zugriffsvorschlägen mit Tiefenbildern und entsprechenden Abbildungen der Zugriffsqualität versorgt. Das Zugriffsbewertungsnetz 940 wird durch Bereitstellung des Tiefenbildes und entsprechender Qualitätsabbildungen trainiert, wie sie dem Netz 920 von Zugriffsvorschlägen bereitgestellt werden, zusammen mit den gewünschten Ausgaben von Weite/Rotation des Greifers und der endgültigen Zugriffsqualität. Ein automatisiertes Verfahren zur Durchführung dieses Trainings wird weiter unten mit Bezug auf 10 erörtert.
  • Im Schlussfolgerungsmodus wird das Netz 920 von Zugriffsvorschlägen nur mit Tiefenbildern versorgt (und stellt als Ausgabe eine Qualitätsabbildung bereit), während das Zugriffsbewertungsnetz 940 als Eingabe mit dem Tiefenbild und einer entsprechenden Qualitätsabbildung versorgt wird (und Ausgaben von Weite/Rotation des Greifers und der endgültigen Zugriffsqualität liefert, die zum Ort des aus der Qualitätsabbildung gewählten besten Qualitätszugriffs zugehörig sind).
  • Durch Modularisierung der Zugriffssuche mit fünf Freiheitsgraden von 9 in zwei Netze, einem drei Dimensionen suchenden Netz und einem zwei Dimensionen suchenden anderen Netz, wird die gesamte Suchleistung verbessert. Zum Beispiel wird ein Fall betrachtet, bei dem die Dimensionen x und y jeweils in ein ziemlich grobes Gitter von 20x20 geteilt werden und die Dimension z in zehn Schichten geteilt wird, während die Weite des Greifers zehn Positionen und der Winkel des Greifers 20 Positionen besitzt. Mittels der offengelegten Modularisierungsverfahren für Netze sucht das erste neuronale Netz 920 einen Raum der Größe 20x20x10=4000 und das zweite neuronale Netz 940 einen Raum der Größe 10x20=200; wobei der sich ergebende modularisierte Suchraum eine Größe von 4000+200=4200 besitzt. Falls alle fünf Dimensionen in einem einzelnen Netz gesucht würden, würde das Netz einen viel größeren Suchraum mit einer Größe von 4000x200=800.000 besitzen.
  • 10 ist eine Darstellung eines Verfahrens zum Training eines modularisierten Netzes zum Lernen von Zugriffen des in 9 dargestellten Typs, unter Verwendung einer Kombination von Zugriffsoptimierung einzelner Objekte und Simulation von Veränderung und Beeinflussung gebündelter Objekte gemäß einer Ausführungsform der vorliegenden Offenlegung. Die in 10 dargestellten Verfahrensschritte des Trainings können in einer „rechnerunabhängigen“ Umgebung durchgeführt werden mittels eines Computers anstelle der Robotersteuereinheit, die später verwendet wird, um Roboterbewegung zu steuern und eine sehr effiziente Einrichtung zur Erzeugung von Zugriffsdaten zum Training der neuronalen Netze 920 und 940 von 9 zur Verfügung zu stellen.
  • In einem ersten Schritt der Datenvorbereitung beim Kästchen 1010 ist das automatische Zugriffssuchen an Einzelobjekten in einer Datenbank gezeigt. Es sind mehrfache Zugriffe eines Objekts 1012 durch einen Greifer 1014 dargestellt. Es werden dreidimensionale Volumen- oder Flächenmodelle von zu analysierenden Teilen zusammen mit Daten des Greifers, die Geometrie und Betriebsparameter einschließen (Orte von Fingergelenken, Bereiche von Gelenkwinkeln, usw.) zur Verfügung gestellt. Ein interaktives Optimierungsverfahren wird genutzt, um stabile Greifkandidaten basierend auf der Form von Teilen und Parametern des Greifers zu erzeugen. Der im Kästchen 1010 dargestellte Schritt liefert eine Vielzahl von Positionen und Ausrichtungen von Qualitätszugriffen für ein einzelnes Teil (das Objekt 1012) durch einen speziellen Greifer (den Greifer 1014). Diese Zugriffsposen können für viele unterschiedliche Objekte unter Verwendung vieler verschiedener Greifer automatisch berechnet werden.
  • In einem zweiten Schritt der Datenvorbereitung beim Kästchen 1020 wird eine stabile Greifsimulation durchgeführt, bei der Veränderung und Beeinflussung berücksichtigt werden. Bei diesem Schritt werden Objekte weiter zufällig in dichte Anhäufungen abgetastet, indem ein Strom der Objekte simuliert wird, die in einen Behälter stürzen und sich zufällig in einem Stapel von Objekten niederlassen, die verschiedene Positionen, Ausrichtungen und Verwicklungen besitzen. Die Pose jedes Objekts im simulierten Stapel ist bekannt, sodass die zuvor erzeugten Zugriffe (aus dem Kästchen 1010) getestet werden können, um ihre Effektivität bei simulierten realen Bedingungen (Verwicklungen und Beeinflussungen) festzulegen. Auf diese Weise wird der Erfolg jedes zuvor erzeugten Zugriffs getestet, indem ein dreidimensionales Tiefenbild des simulierten Objektstapels zusammen mit den zuvor erzeugten Zugriffen verwendet wird. Der im Kästchen 1020 dargestellte Schritt ist eine Simulation der physikalischen Umgebung, die gänzlich unter Verwendung von mathematischen Simulationen durchgeführt wird, indem keine wirklichen Teile und Bilder genutzt werden. Das simulierte Tiefenbild, die Qualitätsabbildungen von Zugriffsort, Zugriffsposen und die Erfolgsraten (zusammen beim Kästchen 1022 dargestellt) werden gespeichert und später verwendet, um die Zugriffe lernenden Netze von 9, die unten in 10 gezeigt sind, zu trainieren.
  • Die oben beschriebenen und in Kästchen 1010 und 1020 bildlich dargestellten Optimierungen und Simulationen von Zugriffen wurden in der US-Patentanmeldung, Serien-Nr. 17/016 731 , mit der Bezeichnung EFFICIENT DATA GENERATION FOR GRASP LEARNING WITH GENERAL GRIPPERS (Effiziente Datenerzeugung zum Lernen von Zugriffen mit allgemeinen Greifern), eingereicht am 10. September 2020, offengelegt und gemeinschaftlich mit der vorliegenden Anmeldung abgetreten und hiermit durch Verweis in ihrer Gesamtheit aufgenommen.
  • Die Zugriff lernenden Netze von 9 sind in einem Kästchen 1030 in 10 dargestellt. Das Folgende ist eine Erörterung, wie die automatisch erzeugten Zugriffsdaten verwendet werden, um die modularisierten neuronalen Netze zu trainieren, was das getrennte Trainieren des Netzes 920 von Zugriffsvorschlägen und des Zugriffsbewertungsnetzes 940 unter Verwendung der Daten vom Kästchen 1022 einschließt.
  • Das Training des Netzes 920 von Zugriffsvorschlägen erfordert als Eingabe das Tiefenbild 910. Das Tiefenbild 910 kann von dem Kästchen 1022 bereitgestellt werden, wobei dieses Tiefenbild 910 bildlich den Objektstapel aus der Simulation der physikalischen Umgebung darstellt. Zum überwachten Lernen erfordert das Training des Netzes 920 von Zugriffsvorschlägen außerdem die Abbildung der Zugriffsqualität 930, die bildlich die Qualität von Zugriffen an unterschiedlichen Pixelorten darstellt. Die Qualitätsabbildung 930 wird außerdem vom Kästchen 1022 bereitgestellt, wo Qualitätsabbildungen aus der Simulation der physikalischen Umgebung berechnet wurden. Die im Kästchen 1020 dargestellte Simulation der physikalischen Umgebung kann häufig (tausendmal) durchgeführt werden, wobei jede zufällige Simulation einen anderen zufälligen Objektstapel liefert, was zu einer reichlichen Menge und Vielfalt der Tiefenbilder 910 und entsprechender Qualitätsabbildungen 930 zum Trainieren des Netzes 920 von Zugriffsvorschlägen führt.
  • Als Nächstes wird das Zugriffsbewertungsnetz 940 trainiert. Dieses Netz nutzt Tiefenbildschnitte bei verschiedenen Winkeln (vorbereitet aus der Qualitätsabbildung 930) als Eingabe und gibt den Rotationswinkel (θ) des Greifers und die Weite (w) des Greifers, wie auf der Linie 950 dargestellt, zusammen mit der entsprechenden Zugriffsqualität aus, indem ebenfalls die Simulationsergebnisse vom Kästchen 1022 als Basis zum Training (überwachtes Lernen) genutzt werden. Mit einbezogenem Rotationswinkel des Greifers und Weite des Greifers umfasst jetzt die Ausgabe beim Kästchen 960 fünf Freiheitsgrade des Greifens. Um es wieder deutlich darzustellen, das Zugriffsoptimierungsverfahren von Kästchen 1010 erzeugt viele unterschiedliche Zugriffe für ein Objekt, indem ein spezieller Greifer verwendet wird; das Simulationsverfahren der physikalischen Umgebung von Kästchen 1020 erzeugt Simulationsergebnisse der Zugriffsqualität für unterschiedliche Zugriffsposen, die auf zufällig erzeugte Objektstapel angewandt werden; und die Ausgaben der Simulation der physikalischen Umgebung werden zum Trainieren des Netzes 920 von Zugriffsvorschlägen und des Zugriffsbewertungsnetzes 940 verwendet.
  • Im Anschluss an das Training der zwei neuronalen Netze (920, 940) kann, wie in 10 gezeigt, die eigentliche Ausführung des Robotergreifsystems mittels trainierter neuronaler Netze (920, 940) durchgeführt werden, um einen Zugriff basierend auf der Eingabe eines Tiefenbildes zu bestimmen und anschließend den Roboter zu steuern; wobei dies früher bezüglich 9 erörtert wurde. Die in den Kästchen 1010 und 1020 gezeigten Schritte der Datenerzeugung können nicht nur auf das Greifsystem/-verfahren mit fünf Freiheitsgraden von 9, sondern auf modularisierte Greifnetze geringerer Komplexität (z. B., drei Freiheitsgrade) oder größerer Komplexität (z. B., sieben Freiheitsgrade) angewandt werden.
  • 11 ist eine Übersichtsdarstellung des auf ein Zugriffssuchproblem mit sieben Freiheitsgraden angewandten Modularisierungsverfahrens neuronaler Netze unter Verwendung von drei neuronalen Netzen gemäß einer Ausführungsform der vorliegenden Offenlegung. Im System von 11 schließen die sieben Freiheitsgrade zum Greifen die Auswahl einer Annäherungsrichtung (zwei Freiheitsgrade), die Auswahl einer Zugriffsposition (drei Freiheitsgrade) und die Auswahl der Ausrichtung und Weite des Greifers (zwei Freiheitsgrade) ein. Wie bei der früheren Erörterung von neuronalen Netzsystemen mit drei Freiheitsgraden und fünf Freiheitsgraden, werden die in 11 dargestellten neuronalen Netze zuerst trainiert und dann im Schlussfolgerungsmodus verwendet, um bei wirklichen Arbeitsgängen zum Greifen von Teilen durch einen Roboter, wie es in 1 gezeigt ist, Zugriffsberechnungen durchzuführen.
  • Im Kästchen 1110 befinden sich die Schritte in einer ersten Phase des Verfahrens, in der die beste Annäherungsrichtung gewählt wird. Eine Eingabeszene 1112 vorgegeben, die zum Beispiel Bilder sein können von Teilen in einem Behälter, von einem Paar von 3D-Kameras, wird die zugehörige Punktwolke auf mehrere abgetastete Annäherungsrichtungen durch ein Richtungskodierungskästchen 1120 projiziert, um künstliche Bilder 1122 zu erzeugen. Die Bilder der Eingabeszene 1112 enthalten Tiefeninformationen, die dem Algorithmus im Richtungskodierungskästchen 1120 ermöglichen, künstliche Oberflächenbilder zu erzeugen, wenn man es von einer Vielzahl zufällig ausgewählter Projektionsstandorte aus betrachtet. Mit anderen Worten, wie wird das dreidimensionale Oberflächenbild von dieser Richtung aussehen, falls sich der Robotergreifer von einer bestimmten Richtung annähert? Diese künstlichen Bilder werden für viele verschiedene, zufällig abgetastete Projektionswinkel erzeugt und in den künstlichen Bildern 1122 bereitgestellt, wobei die Projektionswinkel innerhalb von Richtungsgrenzen liegen, von denen der Roboter sich annähern kann.
  • Es wird ein Netz 1130 von Annäherungsrichtungsvorschlägen verwendet, um die gesamte Qualität vorherzusagen, falls von jeder in den künstlichen Bildern 1122 vorgeschlagenen Annäherungsrichtung zugegriffen wird. Mit anderen Worten, in dem Netz 1130 ist der Zugriff verdeckt und es wird unter Verwendung des früher erörterten Verfahrens maximalen Spielraums die Annäherungsrichtung bestimmt, die die beste Zugriffsqualität enthält. Die Annäherungsrichtung ist definiert als zwei Vektoren v1 und v2, die Azimut- und Höhenwinkel in einem Polar-Koordinatensystem oder beliebige andere Komponenten sein können, die einen dreidimensionalen Vektor der Annäherungsrichtung definieren. Die gewählte Annäherungsrichtung (v1, v2) wird als Annäherungsrichtungsvektor 1138 gespeichert und später durch die Robotersteuereinheit verwendet. Das zur optimalen Annäherungsrichtung zugehörige Tiefenbild wird ebenfalls abgespeichert und in der nächsten Phase verwendet.
  • Im Kästchen 1140 befinden sich die Schritte in einer zweiten Phase des Verfahrens, in der über die beste Zugriffsposition entschieden wird. Es wird ein Tiefenbild 1142 bereitgestellt, welches das künstliche Tiefenbild (aus der Menge von Bildern 1122) ist, das zu der oben gewählten optimalen Annäherungsrichtung 1138 zugehörig ist. Das Tiefenbild 1142 wird beim Scheibenschneidkästchen 1150 in Scheiben mit unterschiedlichen Höhen geschnitten und an das Netz 1160 von Zugriffspositionsvorschlägen gesendet. Das Netz 1160 von Zugriffspositionsvorschlägen erzeugt Qualitätsabbildungen für Bildscheiben verschiedener Höhe, wie es bei 1164 gezeigt ist und früher bezüglich 4 erörtert wurde. Mit anderen Worten, das Netz 1160 verdeckt Weite und Winkel des Greifers und kodiert, den definierten Annäherungswinkel vorgegeben, die Zugriffsqualität als eine Funktion der Position. Die Qualitätsabbildungen 1164 geben die Qualität eines Zugriffs an, die sich aus der Wahl eines speziellen Punktes (x, y, z), die Annäherungsrichtung 1138 vorgegeben, ergeben wird. Die dreidimensionalen Koordinaten der Zugriffsposition erster Qualität werden bei 1168 gespeichert und für den folgenden Block als Eingabe bereitgestellt und werden außerdem später durch die Robotersteuereinheit verwendet.
  • Im Kästchen 1170 befinden sich die Schritte in einer dritten und Schlussphase des Verfahrens, in der über Zugriffswinkel (θ) und -weite (w) entschieden wird. Es wird ein Tiefenbild 1172 bereitgestellt, welches das Tiefenbild ist, das zugehörig ist zu der oben ausgewählten gewünschten Annäherungsrichtung 1138 (v1, v2) und der gewünschten Zugriffsposition 1168 (x,y,z). Im Kästchen 1180 werden Bildteilflächen bei unterschiedlichen Winkeln um die bei 1168 gespeicherte Zugriffsposition erster Qualität herum geschnitten. Diese Bildteilflächen (1182) werden an ein Zugriffsbewertungsnetz 1190 gesendet, um für jede bewertete Bildteilfläche und Winkel die Qualitäten und Weiten (1194) auszugeben. Zugriffswinkel (θ) und -weite (w), die der höchsten Qualität entsprechen, werden ausgewählt und bei 1198 gespeichert.
  • Die bei 1138 gespeicherte, gewünschte Annäherungsrichtung (zwei Freiheitsgrade - v1, v2), die bei 1168 gespeicherte beste Zugriffsposition (drei Freiheitsgrade - x,y,z) und bei 1198 gespeicherte beste Zugriffsweite/Winkel (zwei Freiheitsgrade - w,θ) werden zur Ausführung an die Robotersteuereinheit gesendet, wie es bei 1199 angegeben ist. Das heißt, die Robotersteuereinheit weist den Roboter an, ein Teil aus dem Behälter mittels Bewegungsbefehlen des Roboters zu ergreifen, die aus den Informationen von Annäherungsrichtung, Zugriffsposition und Zugriffsweite/Winkel berechnet werden. Der Roboter legt dann das Teil an einen vorgeschriebenen Ort (wie zum Beispiel auf ein Transportband oder in einen Versandcontainer). Das Verfahren kehrt anschließend zum Kästchen 1110 zurück, wo ein neues Bild für eine neue Eingabeszene 1112 bereitgestellt wird, wobei die Schritte der Zugriffsauswahl und Roboterausführung wiederholt werden.
  • Die Nutzung dreier neuronaler Netze für die Suchanwendung eines Zugriffs mit sieben Freiheitsgraden gemäß 11 stellt zahlreiche Vorteile zur Verfügung. Das Netz 1130 von Annäherungsrichtungsvorschlägen ermöglicht Zugriffsfertigkeit, indem die Einschränkung vertikaler Zugriffe von oben nach unten ausgeschlossen wird. Das Netz 1160 von Zugriffspositionsvorschlägen sorgt für eine schnelle Berechnung der drei Freiheitsgrade der Zugriffsposition, indem diese Dimensionen getrennt von den anderen Freiheitsgraden berechnet werden. Das Zugriffsbewertungsnetz 1190 liefert die Genauigkeit, die für die skalare Ausgabe eines gefalteten neuronalen Netzes charakteristisch ist. Darüber hinaus reduziert die Nutzung dreier neuronaler Netze für eine Zugriffssuche mit sieben Freiheitsgraden anstelle eines großen neuronalen Netzes die Größe des Suchraums um mehrere Größenordnungen bei entsprechender Verbesserung der Suchgeschwindigkeit. Außerdem ist das in 11 dargestellte System ausgelegt, die Stärken verschiedener Typen neuronaler Netze auszunutzen, indem vollständig gefaltete Netzwerke (FCN) für die neuronalen Netze 1130 und 1160 verwendet werden, die Bilder als Eingabe nehmen und Bilder als Ausgabe zur Verfügung stellen, und indem ein gefaltetes, neuronales Netzwerk (CNN) für das neuronale Netz 1190 verwendet wird, welches eine Bildeingabe empfängt und eine skalare Datenausgabe bereitstellt.
  • Die oben mit Bezug auf 8 bis 11 erörterten Beispiele (Zugreifen mit drei, fünf und sieben Freiheitsgraden) veranschaulichen die Fähigkeit und Flexibilität, die durch das offengelegte Modularisierungsverfahren für neuronale Netze in verschiedenen Greifanwendungen geboten werden. Wieder wird hervorgehoben, dass das offengelegte Modularisierungsverfahren für neuronale Netze, neben dem Greifen in anderen Anwendungen, in jeder Anwendung genutzt werden kann, wo das Kodieren neuronaler Netze und die Berechnung einer hochdimensionalen Aufgabe erforderlich ist.
  • 12 ist ein Ablaufdiagramm 1200 eines Verfahrens zur Lösung eines mehrdimensionalen Problems der Mustererkennung unter Verwendung von zwei oder mehreren neuronalen Netzen niedrigerer Dimensionen, nach einer Ausführungsform der vorliegenden Offenlegung. Beim Kästchen 1210 wird ein zu lösendes Problem definiert (ein mehrdimensionales Suchproblem, das geeignet ist zum Lösen bei der Mustererkennung neuronaler Netze), wobei die Dimensionen des Problems in Mengen von gruppierten Dimensionen geteilt werden. Dies wurde viele Male in der vorhergehenden Erörterung und in Darstellungen einschließlich 2 bis 7, wo das Zugriffsproblem mit sechs Freiheitsgraden in Positionsdimensionen p (x, y, z) und Rotationsdimensionen r (r1, r2, r3) geteilt wurde, und anderen Beispielen beschrieben, wo Zugriffssuchen mit drei Freiheitsgraden und fünf Freiheitsgraden in zwei Mengen von gruppierten Dimensionen geteilt und Zugriffssuchen mit sieben Freiheitsgraden in drei Mengen von gruppierten Dimensionen geteilt wurden.
  • Im Kästchen 1220 werden zwei oder mehrere neuronale Netze bereitgestellt, wobei für jede der Mengen von gruppierten Dimensionen vom Kästchen 1210 ein neuronales Netz vorgesehen ist. Die neuronalen Netze sind in Reihe verknüpft (für Schlussfolgerungsmodus), wie es in den vorhergehenden Abbildungen dargestellt und umfangreich erörtert wurde. Die neuronalen Netze laufen auf einem Computer ab, wie zum Beispiel dem Computer 120 von 1. Jedes der neuronalen Netze kodiert seine eigene Menge von gruppierten Dimensionen zusätzlich zu den Mengen von gruppierten Dimensionen von anderen neuronalen Netzen in der Reihe aufwärts. Zum Beispiel kodiert in 2 bis 4 das erste neuronale Netz die Dimensionen p, und das zweite Netz kodiert beide Dimensionen p und r. Im Beispiel von 11 mit drei Netzen kodiert das erste Netz die Freiheitsgrade der Annäherungsrichtung, das zweite Netz die Freiheitsgrade der Zugriffsposition in Verbindung mit der Annäherungsrichtung und das dritte Netz die Freiheitsgrade von Winkel und Weite des Greifers in Verbindung mit der Zugriffsposition und der Annäherungsrichtung.
  • Beim Kästchen 1230 werden die zwei oder mehrere neuronale Netze mittels überwachten Lernens unabhängig trainiert. Das Verfahren des überwachten Lernens beinhaltet, jedes Netz mit einer großen Anzahl von Trainingsbeispielen zu versehen, wobei jedes Beispiel sowohl Eingaben als auch gewünschte Ausgaben des Netzes umfasst. Zum Beispiel wird in 4 das erste neuronale Netz 410 trainiert, indem die Tiefenbilder 420 (an mehreren Schichten) und entsprechende Qualitätsabbildungen 430 (die Zugriffsqualität an verschiedenen Punkten an jeder Tiefenbildschicht bezeichnen) bereitgestellt werden; und das zweite neuronale Netz 460 wird trainiert, indem die gedrehten, geschnittenen Tiefenbilder 480 und die Ausgangsdaten 490 der Qualitätskennzahl bereitgestellt werden. Bei einem System mit zwei Netzen wird das erste Netz trainiert, um seine Menge von gruppierten Dimensionen zu kodieren, während die restliche Menge von gruppierten Dimensionen verdeckt ist, indem das Verfahren maximalen Spielraums verwendet wird, was zuerst in Verbindung mit 3 und 4 erörtert wurde. In einem System mit drei Netzen können die ersten beiden Netze zum Training das Verfahren maximalen Spielraums verwenden. Beim Verfahren maximalen Spielraums findet ein neuronales Netz Zielwerte seiner entsprechenden Menge von gruppierten Dimensionen, die einen optimalen Wert einer Ausgangsvariablen (wie zum Beispiel Qualität) aufweisen. Die Zielwerte werden anschließend von anderen der neuronalen Netze in der Reihe stromabwärts als Eingaben verwendet.
  • Im Kästchen 1240 werden die neuronalen Netze im Schlussfolgerungsmodus abgearbeitet, wobei eine die Umgebung des Problems definierende Eingabe zur Verfügung gestellt wird und jedes der neuronalen Netze nur seine entsprechende Menge von gruppierten Dimensionen sucht, um die Zielwerte zur finden. Die von jedem der neuronalen Netze ausgegebenen Zielwerte werden von anderen der neuronalen Netze in der Reihe stromabwärts als Eingaben verwendet. Zum Beispiel ist bei einem Zwei-Netz-System das eingegebene Tiefenbild die einzige Eingabe, die dem ersten neuronalen Netz bereitgestellt und durch das erste neuronale Netz verwendet wird, um eine Abbildungsausgabe der Zugriffsqualität zu berechnen, die die Zielwerte von Positionskoordinaten (erste Menge von gruppierten Dimensionen) hochqualitativer Zugriffe aufweist. Das eingegebene Tiefenbild und die Qualitätsabbildung werden dann dem zweiten neuronalen Netz als Eingabe zur Verfügung gestellt (weiterverarbeitet, wie zum Beispiel durch Schneiden und Rotation) und aus dem zweiten neuronalen Netz genutzt, um die Zielwerte von Rotationen (zweite Menge von gruppierten Dimensionen) hochqualitativer Zugriffe zu berechnen.
  • Im Kästchen 1250 werden die Ausgaben der zwei oder mehrerer neuronaler Netze kombiniert, um eine endgültige Ausgabe bereitzustellen. In dem mit Bezug auf das Kästchen 1240 erörterten Beispiel zweier Netze wird der metrische Wert der höchsten Qualität ausgewählt; werden die entsprechenden Zielwerte der zweiten Menge von gruppierten Dimensionen anschließend mit den Zielwerten der ersten Menge von gruppierten Dimensionen (aus dem ersten neuronalen Netz) kombiniert, um die vollständige und endgültige Ausgabe zusammenzustellen. Im Fall einer Zugriffsuche aus Tiefenbildern ist die endgültige Ausgabe die verknüpften Mengen von Dimensionen oder Freiheitsgrade, die dem Zugriff höchster Qualität entsprechen.
  • Die offengelegten Verfahren zur Modularisierung neuronaler Netze zum Lernen von hochdimensionalen Roboteraufgaben bieten viele Vorteile gegenüber bisher bekannten Verfahren. Ein großer Vorteil der offengelegten Verfahren ist eine schnelle Berechnung, weil das Suchen in einem hochdimensionalen Aktionsraum (z.B., fünf oder mehrere Freiheitsgrade) vermieden wird. Eine Abtrennung der Suchdimensionen in zwei oder drei neuronale Netze bietet einen Verbesserungsfaktor der Berechnungsgeschwindigkeit von mehreren Größenordnungen, wie es oben beschrieben ist. Diese Verringerung der Komplexität und Verbesserung der Geschwindigkeit machen es möglich, hochdimensionale Aufgaben zu berechnen, die mittels bestehender Verfahren einfach nicht durchführbar wären.
  • Die Entkopplung des Suchraums der unterschiedlichen neuronalen Netze erlaubt es, den Typ eines neuronalen Netzes für jede Aufgabe optimal zu suchen, wie zum Beispiel vollständig gefaltete Netzwerke zur Berechnung von Eingabe/Ausgabe von Bildern und ein zur Berechnung der endgültigen skalaren Ausgabe zu nutzendes gefaltetes, neuronales Netzwerk. Dazu sind Gestaltung und Leistungsfähigkeit des Netzes transparent und leicht zu analysieren. Im offengelegten Verfahren sucht jedes Netz einen abgetrennten Teil des Kontrollaktionsraums, und jedes Netz wird von anderen Netzen unabhängig trainiert. Daher kann die Leistungsfähigkeit jedes Netzes unabhängig analysiert werden, ohne dir Ausgaben von anderen Netzen zu berücksichtigen. Entkopplung oder Modularisierung des Netzes werden ermöglicht, indem das Verfahren maximalen Spielraums zur Kodierung einer Menge von gruppierten Dimensionen des Netzes, während andere verdeckt sind, verwendet wird.
  • In der vorangehenden Erörterung sind durchweg verschiedene Computer und Steuereinheiten beschrieben und einbezogen. Es soll verständlich werden, dass die Softwareanwendungen und Module dieser Computer und Steuereinheiten auf einem oder mehreren Rechengeräten mit einem Prozessor und einem Speichermodul ausgeführt werden. Insbesondere schließt dies einen Prozessor in der Robotersteuereinheit 110 ein, die den das Greifen von Objekten ausführenden Roboter steuert, im Computer 120 und in jedem anderen Computer, der verwendet wird für Training und Schlussfolgerung/Ausführung von neuronalen Netzen. Speziell sind die Prozessoren in dem Computer (den Computern) konfiguriert, Bildanalyse, Training und Ausführung von neuronalen Netzen in der Art und Weise durchzuführen, die durchweg in der vorangehenden Offenlegung beschrieben ist - für das Lernen von Zugriffen oder andere Anwendungen neuronaler Netze.
  • Während oben eine Anzahl beispielhafter Aspekte und Ausführungsformen der offengelegten Verfahren zur Modularisierung von hochdimensionalen, neuronalen Netzen erörtert worden sind, wird der Fachmann Modifizierungen, Umsetzungen, Ergänzungen und Unterkombinationen davon erkennen. Es ist daher beabsichtigt, dass die folgenden angefügten Ansprüche und hiernach bekannt gemachte Ansprüche so interpretiert werden, dass sie alle diese Modifizierungen, Umsetzungen, Ergänzungen und Unterkombinationen, wie sie in ihrem wahren Geist und Geltungsbereich bestehen, einschließen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17/016731 [0072]

Claims (20)

  1. Verfahren zur Lösung eines hochdimensionalen Mustererkennungsproblems unter Verwendung von neuronalen Netzen niedrigerer Eingabedimensionen, wobei das Verfahren umfasst: Teilen eines mehrdimensionalen Problems in zwei oder mehrere gegenseitig ausschließende Mengen von gruppierten Dimensionen; Bereitstellen von zwei oder mehreren, in Reihe verknüpften neuronalen Netzen, die auf einem Computer mit einem Prozessor und Speicher ablaufen, wobei eins der neuronalen Netze vorgesehen ist für jede der Mengen von gruppierten Dimensionen, und wobei jedes der neuronalen Netze seine entsprechende Menge von gruppierten Dimensionen und die Mengen von gruppierten Dimensionen anderer der neuronalen Netze stromaufwärts in der Reihe kodiert; unabhängiges Trainieren der zwei oder mehreren neuronalen Netze mittels überwachten Lernens, wobei mindestens ein erstes neuronales Netz in der Reihe unter Verwendung eines Verfahrens maximalen Spielraums trainiert wird, um Zielwerte seiner entsprechenden Menge von gruppierten Dimensionen zu finden, die einen optimalen Wert einer Ausgangsvariablen besitzen; Abarbeiten der zwei oder mehreren neuronalen Netze im Schlussfolgerungsmodus, wobei eine die Umgebung des Problems definierende ursprüngliche Eingabe bereitgestellt wird, und jedes der neuronalen Netze nur seine entsprechende Menge von gruppierten Dimensionen sucht, um die Zielwerte zu finden, und die Zielwerte von jedem der neuronalen Netze durch andere der neuronalen Netze stromabwärts in der Reihe als Eingaben verwendet werden; und Kombinieren von Ausgaben der zwei oder mehreren neuronalen Netze zur Bereitstellung einer endgültigen Ausgabe, die die Zielwerte aller Dimensionen in den zwei oder mehreren Mengen von gruppierten Dimensionen einschließt.
  2. Verfahren nach Anspruch 1, wobei die zwei oder mehreren, in Reihe verknüpften, neuronalen Netze das erste neuronale Netz in der Reihe einschließen, welches ein vollständig gefaltetes Netzwerk ist, das eingegebene Bilddaten empfängt und ausgegebene Bilddaten bereitstellt, und mindestens ein neuronales Netz in der Reihe ein gefaltetes neuronales Netzwerk ist, welches eingegebene Bilddaten empfängt und ausgegebene skalare Daten bereitstellt.
  3. Verfahren nach Anspruch 2, wobei das Trainieren der zwei oder mehreren neuronalen Netzen die Bereitstellung einer Vielzahl von Trainingsmustern für jedes der Netze umfasst, jedes der Trainingsmuster die eingegebenen Bilddaten und entweder die ausgegebenen Bilddaten oder die ausgegebenen skalaren Daten für das spezielle Netz einschließt, wobei die ausgegebenen Bilddaten oder die ausgegebenen skalaren Daten ein gewünschtes Ergebnis sind.
  4. Verfahren nach Anspruch 3, wobei das mehrdimensionale Problem ein Suchproblem des Roboterzugriffs ist, und die Mengen von gruppierten Dimensionen Freiheitsgrade eines Roboterzugriffs einschließen.
  5. Verfahren nach Anspruch 4, wobei die Trainingsmuster durch ein Datenerzeugungssystem bereitgestellt werden, welches eine Vielzahl von stabilen Zugriffen von Objekten durch einen Greifer berechnet, physikalische Umgebungen simuliert, die aus zufälligen Stapeln der Objekte bestehen, die auf die zufälligen Stapel der Objekte angewandten stabilen Zugriffe bewertet und Tiefenbilder der zufälligen Stapel von Objekten und entsprechende erfolgreiche simulierte Zugriffe ausgibt.
  6. Verfahren nach Anspruch 1, wobei das Verfahren des maximalen Spielraums das Ermitteln der Zielwerte der dem ersten neuronalen Netz entsprechenden Menge von gruppierten Dimensionen umfasst, die den optimalen Wert der Ausgangsvariablen für jede Kombination der Zielwerte der anderen Menge oder Mengen von gruppierten Dimensionen besitzen.
  7. Verfahren nach Anspruch 1, wobei das Abarbeiten der zwei oder mehreren neuronalen Netze im Schlussfolgerungsmodus das erste neuronale Netz in der Reihe einschließt, das Zielwerte maximalen Spielraums seiner entsprechenden Menge von gruppierten Dimensionen ermittelt, und Datenvorbereitungsverfahren das Bereitstellen von Tiefenbildschichten des in das erste neuronale Netz in der Reihe eingegebenen Originals und das Bereitstellen gedrehter, geschnittener Tiefenbild-Teilflächen für ein letztes neuronales Netz in der Reihe umfassen.
  8. Verfahren zur Lösung eines hochdimensionalen Mustererkennungsproblems unter Verwendung von neuronalen Netzen niedrigerer Eingabedimensionen, wobei das Verfahren umfasst: Teilen eines mehrdimensionalen Problems in zwei gegenseitig ausschließende Mengen von gruppierten Dimensionen; Bereitstellen zweier in Reihe verknüpfter neuronaler Netze, die auf einem Computer mit einem Prozessor und Speicher ablaufen, wobei ein erstes neuronales Netz in der Reihe nur seine entsprechende Menge von gruppierten Dimensionen kodiert und ein zweites neuronales Netz in Reihe beide der Mengen von gruppierten Dimensionen kodiert; unabhängiges Trainieren der neuronalen Netze mittels überwachten Lernens, wobei das erste neuronale Netz unter Verwendung eines Verfahrens maximalen Spielraums trainiert wird, um Zielwerte seiner entsprechenden Menge von gruppierten Dimensionen zu finden, die einen optimalen Wert einer Ausgangsvariablen für eine beliebige Kombination von Zielwerten der anderen Menge von gruppierten Dimensionen besitzen; Abarbeiten der neuronalen Netze im Schlussfolgerungsmodus, wobei eine die Umgebung des Problems definierende, ursprüngliche Eingabe bereitgestellt wird, und jedes der neuronalen Netze nur seine entsprechende Menge von gruppierten Dimensionen sucht, um die Zielwerte zu finden, und die Zielwerte aus dem ersten neuronalen Netz durch das zweite neuronale Netz als Eingaben verwendet werden, und Kombinieren von Ausgaben der neuronalen Netze zum Bereitstellen einer endgültigen Ausgabe, die die Zielwerte aller Dimensionen in beiden Mengen von gruppierten Dimensionen einschließt.
  9. Verfahren nach Anspruch 8, wobei das erste neuronale Netz in der Reihe ein vollständig gefaltetes Netzwerk ist, welches eingegebene Bilddaten empfängt und ausgegebene Bilddaten bereitstellt, und das zweite neuronale Netz in der Reihe ein gefaltetes neuronales Netzwerk ist, welches eingegebene Bilddaten empfängt und ausgegebene skalare Daten bereitstellt.
  10. Verfahren nach Anspruch 9, wobei das Training der neuronalen Netze das Bereitstellen einer Vielzahl von Trainingsmustern einschließt, wobei die Trainingsmuster für das erste neuronale Netz die ursprüngliche Eingabe als die eingegebenen Bilddaten und eine erste Ausgabe als die ausgegebenen Bilddaten einschließen, und die Trainingsmuster für das zweite neuronale Netz die ursprüngliche Eingabe und die erste Ausgabe als die eingegebenen Bilddaten und die endgültige Ausgabe als die ausgegebenen skalaren Daten umfassen.
  11. Verfahren nach Anspruch 10, wobei das mehrdimensionale Problem ein Suchproblem der Roboterzugriffe ist, und die Mengen von gruppierten Dimensionen Freiheitsgrade eines Roboterzugriffs einschließen.
  12. Verfahren nach Anspruch 11, wobei die Trainingsmuster durch ein Datenerzeugungssystem bereitgestellt werden, welches eine Vielzahl von stabilen Zugriffen von Objekten durch einen Greifer berechnet; physikalische Umgebungen, die aus zufälligen Stapeln der Objekte bestehen, simuliert; die auf die zufälligen Stapel der Objekte angewandten stabilen Zugriffe bewertet; und Tiefenbilder der zufälligen Stapel von Objekten und entsprechende erfolgreiche simulierte Zugriffe ausgibt.
  13. Verfahren nach Anspruch 8, wobei das Abarbeiten der neuronalen Netze im Schlussfolgerungsmodus das erste neuronale Netz in der Reihe umfasst, das Zielwerte des maximalen Spielraums seiner entsprechenden Menge von gruppierten Dimensionen ermittelt, und Datenvorbereitungsverfahren das Vorbereiten von Tiefenbildschichten der ursprünglichen Eingabe für das erste neuronale Netz in der Reihe und Bereitstellen von gedrehten, geschnittenen Tiefenbild-Teilflächen für das zweite neuronale Netz in der Reihe umfassen.
  14. Verfahren zur Lösung eines hochdimensionalen Mustererkennungsproblems unter Verwendung von neuronalen Netzen niedrigerer Eingabedimensionen, wobei das Verfahren umfasst: Teilen eines multidimensionalen Problems in erste, zweite und dritte gegenseitig ausschließende Mengen von gruppierten Dimensionen; Bereitstellen von drei, in Reihe verknüpften, neuronalen Netzen, die auf einem Computer mit einem Prozessor und Speicher ablaufen, wobei ein erstes neuronales Netz in der Reihe nur die erste Menge von gruppierten Dimensionen kodiert, ein zweites neuronales Netz in der Reihe die ersten und zweiten Mengen von gruppierten Dimensionen kodiert, und das dritte neuronale Netz in der Reihe alle drei Mengen von gruppierten Dimensionen kodiert; unabhängiges Trainieren der neuronalen Netze mittels überwachten Lernens, wobei das erste neuronale Netz unter Verwendung eines Verfahrens des maximalen Spielraums trainiert wird, um Zielwerte der ersten Menge von gruppierten Dimensionen zu finden, die einen optimalen Wert einer Ausgangsvariablen für jede Kombination von Zielwerten der anderen Mengen von gruppierten Dimensionen besitzen; und das zweite neuronale Netz unter Verwendung eines Verfahrens des maximalen Spielraums trainiert wird, um Zielwerte der zweiten Menge von gruppierten Dimensionen zu finden, die den optimalen Wert der Ausgangsvariablen für jede Kombination von Zielwerten der dritten Gruppe von gruppierten Dimensionen besitzen; Abarbeiten der neuronalen Netze im Schlussfolgerungsmodus, wobei eine die Umgebung des Problems definierende, ursprüngliche Eingabe bereitgestellt wird, und jedes der neuronalen Netze nur seine entsprechende Menge von gruppierten Dimensionen sucht, um die Zielwerte zu finden, und die Zielwerte aus dem ersten neuronalen Netz durch das zweite neuronale Netz als Eingaben genutzt werden, und die Zielwerte aus dem ersten und dem zweiten neuronalen Netz durch das dritte neuronale Netz als Eingaben genutzt werden; und Kombinieren von Ausgaben der neuronalen Netze zum Bereitstellen einer endgültigen Ausgabe, die die Zielwerte aller Dimensionen in allen drei der Mengen von gruppierten Dimensionen einschließt.
  15. Verfahren nach Anspruch 14, wobei das erste und das zweite neuronale Netz in der Reihe vollständig gefaltete Netzwerke sind, die eingegebene Bilddaten empfangen und ausgegebene Bilddaten bereitstellen, wobei das dritte neuronale Netz in der Reihe ein gefaltetes neuronales Netzwerk ist, welches eingegebene Bilddaten empfängt und ausgegebene skalare Daten bereitstellt.
  16. Verfahren nach Anspruch 15, wobei das Training der neuronalen Netze das Bereitstellen einer Vielzahl von Trainingsmustern umfasst, wobei die Trainingsmuster für das erste neuronale Netz die ursprüngliche Eingabe als die eingegebenen Bilddaten und eine erste Ausgabe als die ausgegebenen Bilddaten umfassen, die Trainingsmuster für das zweite neuronale Netz die ursprüngliche Eingabe und die erste Ausgabe als die eingegebenen Bilddaten und eine zweite Ausgabe als die ausgegebenen Bilddaten umfassen, und die Trainingsmuster für das dritte neuronale Netz die ursprüngliche Eingabe und die erste und zweite Eingabe als die eingegebenen Bilddaten und die endgültige Ausgabe als die ausgegebenen skalaren Daten umfassen.
  17. Verfahren nach Anspruch 16, wobei das mehrdimensionale Problem ein Suchproblem von Roboterzugriffen ist und die Mengen von gruppierten Dimensionen Freiheitsgrade eines Roboterzugriffs einschließen.
  18. Verfahren nach Anspruch 17, wobei die Trainingsmuster durch ein Datenerzeugungssystem bereitgestellt werden, welches eine Vielzahl von stabilen Zugriffen von Objekten durch einen Greifer berechnet; physikalische Umgebungen, die aus zufälligen Stapeln der Objekte bestehen, simuliert; die auf die zufälligen Stapel der Objekte angewandten stabilen Zugriffe bewertet; und Tiefenbilder der zufälligen Stapel von Objekten und entsprechende erfolgreiche simulierte Zugriffe ausgibt.
  19. Verfahren nach Anspruch 14, wobei das Abarbeiten der neuronalen Netze im Schlussfolgerungsmodus umfasst, dass das erste neuronale Netz in der Reihe Zielwerte des maximalen Spielraums der ersten Menge von gruppierten Dimensionen ermittelt, und das zweite neuronale Netz in der Reihe Zielwerte des maximalen Spielraums der zweiten Menge von gruppierten Dimensionen unter Verwendung der Zielwerte der ersten Menge von gruppierten Dimensionen ermittelt.
  20. Verfahren nach Anspruch 19, wobei das Abarbeiten der neuronalen Netze im Schlussfolgerungsmodus das Bereitstellen der ursprünglichen Eingabe und der Zielwerte der ersten Menge von gruppierten Dimensionen als Eingaben für das zweite neuronale Netz und das Bereitstellen der ursprünglichen Eingabe und der Zielwerte der ersten und der zweiten Menge von gruppierten Dimensionen als Eingaben für das dritte neuronale Netz umfasst.
DE102022107249.5A 2021-06-08 2022-03-28 Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben Pending DE102022107249A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/342,122 US11809521B2 (en) 2021-06-08 2021-06-08 Network modularization to learn high dimensional robot tasks
US17/342,122 2021-06-08

Publications (1)

Publication Number Publication Date
DE102022107249A1 true DE102022107249A1 (de) 2022-12-08

Family

ID=84102028

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022107249.5A Pending DE102022107249A1 (de) 2021-06-08 2022-03-28 Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben

Country Status (4)

Country Link
US (1) US11809521B2 (de)
JP (1) JP2022187983A (de)
CN (1) CN115456139A (de)
DE (1) DE102022107249A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230252383A1 (en) * 2020-12-18 2023-08-10 Strong Force Vcn Portfolio 2019, Llc Robotic Fleet Resource Provisioning System
WO2023205176A1 (en) * 2022-04-18 2023-10-26 Dextrous Robotics, Inc. System and/or method for grasping objects

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104049755B (zh) * 2014-06-18 2017-01-18 中国科学院自动化研究所 信息处理方法及装置
US10540590B2 (en) * 2016-12-29 2020-01-21 Zhejiang Gongshang University Method for generating spatial-temporally consistent depth map sequences based on convolution neural networks
US11379688B2 (en) * 2017-03-16 2022-07-05 Packsize Llc Systems and methods for keypoint detection with convolutional neural networks
US10467501B2 (en) * 2017-10-30 2019-11-05 Sap Se Computer vision architecture with machine learned image recognition models
US11270441B2 (en) * 2017-11-01 2022-03-08 Nokia Technologies Oy Depth-aware object counting
US20190273510A1 (en) * 2018-03-01 2019-09-05 Crowdstrike, Inc. Classification of source data by neural network processing
DE102018206848A1 (de) * 2018-05-03 2019-11-07 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln eines Tiefeninformationsbilds aus einem Eingangsbild
US20220215267A1 (en) * 2018-06-19 2022-07-07 Orbai Technologies, Inc. Processes and methods for enabling artificial general intelligence capable of flexible calculation, prediction, planning and problem solving with arbitrary and unstructured data inputs and outputs
US20200050941A1 (en) * 2018-08-07 2020-02-13 Amadeus S.A.S. Machine learning systems and methods for attributed sequences
WO2020051776A1 (en) * 2018-09-11 2020-03-19 Intel Corporation Method and system of deep supervision object detection for reducing resource usage
US11663483B2 (en) * 2018-10-30 2023-05-30 Huawei Technologies Co., Ltd. Latent space and text-based generative adversarial networks (LATEXT-GANs) for text generation
CN109472270B (zh) * 2018-10-31 2021-09-24 京东方科技集团股份有限公司 图像风格转换方法、装置及设备
CN110058883B (zh) * 2019-03-14 2023-06-16 梁磊 一种基于opu的cnn加速方法及系统
CA3076638A1 (en) * 2019-03-22 2020-09-22 Royal Bank Of Canada Systems and methods for learning user representations for open vocabulary data sets
US11068782B2 (en) * 2019-04-03 2021-07-20 Mashtraxx Limited Method of training a neural network to reflect emotional perception and related system and method for categorizing and finding associated content
WO2021012215A1 (zh) * 2019-07-24 2021-01-28 华为技术有限公司 神经网络切分方法、预测方法及相关装置
US10936950B1 (en) * 2019-08-15 2021-03-02 Advanced New Technologies Co., Ltd. Processing sequential interaction data
US11445222B1 (en) * 2019-09-30 2022-09-13 Isize Limited Preprocessing image data
US11922316B2 (en) * 2019-10-15 2024-03-05 Lg Electronics Inc. Training a neural network using periodic sampling over model weights
US11580401B2 (en) * 2019-12-11 2023-02-14 Inait Sa Distance metrics and clustering in recurrent neural networks
CN113011575A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 神经网络模型更新方法、图像处理方法及装置
US20230181082A1 (en) * 2020-01-03 2023-06-15 GE Precision Healthcare LLC System and methods for electrocardiogram beat similarity analysis
US11589828B2 (en) * 2020-01-03 2023-02-28 GE Precision Healthcare LLC System and methods for electrocardiogram beat similarity analysis using deep neural networks
KR20220166355A (ko) * 2020-04-21 2022-12-16 구글 엘엘씨 다수의 포지티브 예를 사용한 지도 대조 학습
CN113688981A (zh) * 2020-05-19 2021-11-23 深圳忆海原识科技有限公司 具有记忆与信息抽象功能的类脑神经网络
US20220051076A1 (en) * 2020-08-12 2022-02-17 Cognizant Technology Solutions U.S. Corporation System and Method For Generating Parametric Activation Functions
US20220122103A1 (en) * 2020-10-20 2022-04-21 Zhejiang University Customized product performance prediction method based on heterogeneous data difference compensation fusion
US11657522B2 (en) * 2020-11-11 2023-05-23 Toyota Research Institute, Inc. Sparse auxiliary network for depth completion
KR102493980B1 (ko) * 2020-12-21 2023-01-30 포항공과대학교 산학협력단 머신러닝 기반의 비디오 화질개선 방법 및 장치
US11460982B1 (en) * 2020-12-23 2022-10-04 Beijing Didi Infinity Technology And Development Co., Ltd. Number embedding application system
EP4128772A1 (de) * 2021-01-13 2023-02-08 Huawei Technologies Co., Ltd. Skalierbare codierung von video und zugehörige funktionen
TWI768676B (zh) * 2021-01-25 2022-06-21 瑞昱半導體股份有限公司 音頻處理方法及音頻處理裝置以及非暫態計算機可讀取媒體
EP4092572A1 (de) * 2021-05-20 2022-11-23 Wooptix S.L. Verfahren zur tiefenschätzung für eine kamera mit veränderlicher brennweite
US20230067528A1 (en) * 2021-08-24 2023-03-02 Microsoft Technology Licensing, Llc Multimodal domain embeddings via contrastive learning

Also Published As

Publication number Publication date
JP2022187983A (ja) 2022-12-20
US20220391638A1 (en) 2022-12-08
US11809521B2 (en) 2023-11-07
CN115456139A (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
DE102021121063A1 (de) Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern
DE102022107249A1 (de) Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben
DE102022107227A1 (de) Greifenlernen unter verwendung modularisierter neuronaler netze
EP3320483B1 (de) Verfahren zum steuern eines roboters und/oder eines autonomen fahrerlosen transportsystems
EP3765927B1 (de) Verfahren zum erzeugen eines trainingsdatensatzes zum trainieren eines künstlichen-intelligenz-moduls für eine steuervorrichtung eines fahrzeugs
DE102020120526A1 (de) Verfahren und computersystem zur objektidentifizierung
DE112021001104T5 (de) Bewegungsplanungsverfahren mit kollisionsvermeidung für industrieroboter
DE102021107532A1 (de) System und Verfahren zum Anlernen eines Roboters mittels Demonstration durch einen Menschen
DE102021107495A1 (de) Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern
DE102021107333A1 (de) 3d-stellungsabschätzung mit einer 2d-kamera
DE102021120633A1 (de) Verfahren und system zur industrieroboter-bewegungssteuerung
DE102022129008A1 (de) Verfahren zur behandlung von kollisionen bei der griffgenerierung
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
DE102022130652A1 (de) Anlernen eines roboters durch vorführen mit visualservoing
DE112018007729B4 (de) Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
DE102021109195A1 (de) Auf demontage basierende montageplanung
DE102021104001B3 (de) Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen
DE102021107351A1 (de) System zur eigenschaftserkennung durch deep-learning und vektorfeldschätzung
DE102021107479A1 (de) Erfassung einer dreidimensionalen pose durch mehrere 2d-kameras
DE102019124809A1 (de) Bildgebungsvorrichtung und Bildgebungssystem
DE102022202321A1 (de) Vorrichtung und Verfahren zur Steuerung eines Roboters
DE102018126310B3 (de) Verfahren zum Erstellen eines Objektmodells zum Greifen eines Objekts, computerlesbares Speichermedium und Robotersystem
DE102020214301A1 (de) Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts in verschiedenen lagen
DE102019202747A1 (de) Verfahren und Vorrichtung zur Klassifizierung von Eingangsdaten
DE102019218497A1 (de) Vorrichtung und Verfahren zum Ansteuern einer Fördereinrichtung