DE102022202321A1 - Device and method for controlling a robot - Google Patents
Device and method for controlling a robot Download PDFInfo
- Publication number
- DE102022202321A1 DE102022202321A1 DE102022202321.8A DE102022202321A DE102022202321A1 DE 102022202321 A1 DE102022202321 A1 DE 102022202321A1 DE 102022202321 A DE102022202321 A DE 102022202321A DE 102022202321 A1 DE102022202321 A1 DE 102022202321A1
- Authority
- DE
- Germany
- Prior art keywords
- objects
- bounding box
- training
- information
- loss
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 33
- 238000013528 artificial neural network Methods 0.000 claims abstract description 25
- 239000011159 matrix material Substances 0.000 claims description 42
- 239000013598 vector Substances 0.000 claims description 32
- 238000010801 machine learning Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000001514 detection method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 239000012636 effector Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 230000035508 accumulation Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Trainieren eines neuronalen Netzes zur Erkennung von Objekten in Bilddaten beschrieben, umfassend, für jedes Bild einer Mehrzahl von Trainingsbildern, Bestimmen, für jeden einer Mehrzahl von Objektbegrenzungsrahmen, von Begrenzungsrahmenkoordinaten, Objekthierarchieinformationen, und Klassifizierungsinformationen über Objekte, die den Objektbegrenzungsrahmen entsprechen, und Trainieren des neuronalen Netzes, um einen Verlust zwischen Grundwissen für die Hierarchieinformationen, für die Begrenzungsrahmenkoordinaten und für die Klassifizierungsinformationen und den Hierarchieinformationen zu reduzieren, wobei die Begrenzungsrahmenkoordinaten und die Klassifizierungsinformationen, jeweils für die Trainingsbilder bestimmt wurden. According to various embodiments, a method for training a neural network to recognize objects in image data is described, comprising, for each image of a plurality of training images, determining, for each of a plurality of object bounding boxes, bounding box coordinates, object hierarchy information, and classification information about objects that are the correspond to object bounding boxes, and training the neural network to reduce a loss between basic knowledge for the hierarchy information, for the bounding box coordinates and for the classification information and the hierarchy information, wherein the bounding box coordinates and the classification information have been determined for the training images, respectively.
Description
Stand der TechnikState of the art
Die vorliegende Offenbarung betrifft Vorrichtungen und Verfahren zur Steuerung eines Roboters.The present disclosure relates to devices and methods for controlling a robot.
Robotervorrichtungen können unter Verwendung von maschinellem Lernen für die Objektmanipulation trainiert werden. Dies beinhaltet typischerweise ein Trainieren eines maschinellen Lernmodells, um eine Objekterkennung durchzuführen, wie beispielsweise in
Insbesondere die Objektmanipulation mit einem Roboterarm ist von großem Interesse und hat eine breite Palette von Anwendungen, z. B. in der industriellen Fertigung oder Suche & Rettung. Dies können insbesondere Anwendungen sein, bei denen sich viele Objekte häufen und die Objekte daher aufgrund von Verdeckungen usw. schwer zu erkennen sind. Jedoch kann es auch in solchen Fällen notwendig sein, dass Objekte zuverlässig erkannt werden müssen. Ferner sollten ihre Stapelbeziehungen bestimmt werden, z. B., um zu entscheiden, welches Objekt zuerst manipuliert werden soll.In particular, object manipulation with a robotic arm is of great interest and has a wide range of applications, e.g. B. in industrial manufacturing or search & rescue. This can particularly be applications where many objects accumulate and the objects are therefore difficult to detect due to occlusions etc. However, even in such cases it may be necessary for objects to be reliably recognized. Furthermore, their stacking relationships should be determined, e.g. B. to decide which object should be manipulated first.
Dementsprechend sind zuverlässige Ansätze zur Erkennung von Objekten wünschenswert, wenn mehrere Objekte zusammen angeordnet sind, z. B. im Arbeitsbereich eines Roboters, so dass zwischen ihnen Stapelbeziehungen bestehen (d. h., die Objekte häufen sich zumindest teilweise), und zum Erkennen dieser Stapelbeziehungen.Accordingly, reliable approaches to detecting objects are desirable when multiple objects are arranged together, e.g. B. in the work area of a robot, so that stacking relationships exist between them (i.e. the objects are at least partially piled up), and to recognize these stacking relationships.
Offenbarung der ErfindungDisclosure of the invention
Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Trainieren eines neuronalen Netzes zur Erkennung von Objekten in Bilddaten bereitgestellt, umfassend, für jedes Bild einer Mehrzahl von Trainingsbildern,
- • Bestimmen von Merkmalsvektoren aus dem Trainingsbild durch einen Encoder eines Transformer-Encoder-Decoder-Netzes;
- • Bestimmen, für jeden einer Mehrzahl von Objektbegrenzungsrahmen, von Begrenzungsrahmenkoordinaten aus den Merkmalsvektoren durch einen Decoder des Encoder-Decoder-Netzes und einen Begrenzungsrahmenkopf;
- • Bestimmen von Objekthierarchieinformationen aus den Begrenzungsrahmenkoordinaten für die Mehrzahl von Objekten und von Merkmalen für die Begrenzungsrahmen, die aus den Merkmalsvektoren abgeleitet werden, wobei die Objekthierarchieinformationen Stapelbeziehungen der Mehrzahl von Objekten in Bezug zueinander spezifizieren; und
- • Bestimmen von Klassifizierungsinformationen über Objekte, die den Objektbegrenzungsrahmen entsprechen, durch einen Klassifizierungskopf.
- • Determining feature vectors from the training image by an encoder of a transformer-encoder-decoder network;
- • determining, for each of a plurality of object bounding boxes, bounding box coordinates from the feature vectors by a decoder of the encoder-decoder network and a bounding box header;
- • determining object hierarchy information from the bounding box coordinates for the plurality of objects and features for the bounding boxes derived from the feature vectors, the object hierarchy information specifying stacking relationships of the plurality of objects with respect to one another; and
- • Determining classification information about objects corresponding to the object bounding boxes by a classification head.
Das Verfahren umfasst ferner Trainieren des neuronalen Netzes zum Reduzieren eines Verlusts zwischen Grundwissen für die Hierarchieinformationen, für die Begrenzungsrahmenkoordinaten und für die Klassifizierungsinformationen und die Hierarchieinformationen, wobei die die Begrenzungsrahmenkoordinaten und die Klassifizierungsinformationen jeweils für die Trainingsbilder bestimmt wurden.The method further includes training the neural network to reduce a loss between basic knowledge for the hierarchy information, for the bounding box coordinates and for the classification information and the hierarchy information, where the bounding box coordinates and the classification information have been determined for the training images, respectively.
Durch die Berücksichtigung von Begrenzungsrahmen, Klassifizierungsinformationen der Begrenzungsrahmen und Adjazenzinformationen beim Training gemäß dem obigen Verfahren, d. h. durch Trainieren des neuronalen Netzes zum Bestimmen von Begrenzungsrahmen und Klassifizierungen für die Begrenzungsrahmen und Trainieren des neuronalen Netzes zum Bestimmen von Adjazenzinformationen gemäß dem obigen Verfahren, kann eine hohe Leistungsfähigkeit des (trainierten) neuronalen Netzes für diese drei Inferenzergebnisse erreicht werden. Hier bezieht sich die Leistung beispielsweise auf eine Kombination aus einer Genauigkeit der Klassifizierung, einer Begrenzungsrahmen-Inferenzgenauigkeit, und einer Genauigkeit der Objektbeziehungsinferenz über die Adjazenzmatrix. Beispielsweise wird dies aus der Objekt-Präzision (wodurch beschrieben wird, wie viele der erkannten Tupel (Erkennung, Klassifizierung und Beziehung) alle korrekt sind) und dem Objekt-Recall (wodurch beschrieben wird, wie viele korrekte Tupel erkannt wurden aus allen Zieltupeln in einem Bild), die erreicht werden können, abgeleitet. Die Leistung kann sich beispielsweise auf die Bildgenauigkeit beziehen, die den Prozentsatz der Bilder angibt, bei denen die OP 100 % und der OR 100 % wäre, mit anderen Worten, die Bilder, bei denen alle Zieltupel korrekt erkannt wurden und nicht mehr.By considering bounding boxes, bounding box classification information and adjacency information when training according to the above method, i.e. H. By training the neural network to determine bounding boxes and classifications for the bounding boxes and training the neural network to determine adjacency information according to the above method, high performance of the (trained) neural network can be achieved for these three inference results. Here, for example, performance refers to a combination of classification accuracy, bounding box inference accuracy, and object relation inference accuracy via the adjacency matrix. For example, this is made up of object precision (which describes how many of the detected tuples (detection, classification and relationship) are all correct) and object recall (which describes how many correct tuples were detected from all target tuples in one Image) that can be achieved are derived. For example, performance may refer to image accuracy, which indicates the percentage of images where the OP would be 100% and the OR would be 100%, in other words, the images where all target tuples were correctly detected and no more.
Durch die Berücksichtigung der Adjazenzinformationen ist das neuronale Netz in der Lage, die räumlichen Beziehungen zwischen in Bildern gezeigten Objekten abzuleiten, und kann diese Informationen somit beim Erkennen (Detektieren) von Objekten berücksichtigen, wie etwa die Berücksichtigung von Schatten, die von anderen Objekten geworfen werden, und von Teilen eines Objekts, die verdeckt werden. Die bestimmten Adjazenzinformationen (auch als Objekthierarchieinformationen bezeichnet, z. B. in Form einer Adjazenzmatrix) können von nachgeschalteten Komponenten weiterverwendet werden oder nicht. Beispielsweise kann eine Robotervorrichtungssteuerung eine Robotervorrichtung rein basierend auf der Ausgabe der Sehaufgabe (Begrenzungsrahmen und Klassifizierung) steuern. Mit anderen Worten, in einer Ausführungsform werden die Objekthierarchieinformationen (Adjazenzinformationen) nur für das Training verwendet.By taking adjacency information into account, the neural network is able to infer the spatial relationships between objects shown in images and can thus take this information into account when recognizing (detecting) objects, such as taking into account shadows cast by other objects , and parts of an object that are obscured. The specific adjacency information (also called object hierarchy information, e.g. in the form of an adjacency matrix) may or may not be further used by downstream components. For example, a robotic device controller may control a robotic device based purely on the output of the visual task (bounding box and classification). In other words, in one embodiment, the object hierarchy information (adjacency information) is used only for training.
Im Folgenden werden verschiedene Beispiele beschrieben.Various examples are described below.
Beispiel 1 ist das Verfahren zum Trainieren eines neuronalen Netzes zur Erkennung von Objekten in Bilddaten, wie es oben beschrieben wird.Example 1 is the method for training a neural network to recognize objects in image data as described above.
Beispiel 2 ist das Verfahren von Beispiel 1, umfassend Transformieren der Merkmalsvektoren in einen Merkmalsvektor für jeden Objektbegrenzungsrahmen, Verketten, für jeden Objektbegrenzungsrahmen, des Merkmalsvektors für den Begrenzungsrahmen mit den Begrenzungsrahmenkoordinaten für den Objektbegrenzungsrahmen zu einem Eingabevektor, und Bestimmen der Objekthierarchieinformationen aus den Eingabevektoren.Example 2 is the method of Example 1, comprising transforming the feature vectors into a feature vector for each object bounding box, concatenating, for each object bounding box, the feature vector for the bounding box with the bounding box coordinates for the object bounding box into an input vector, and determining the object hierarchy information from the input vectors.
Daher werden die Merkmalswerte durch eine Dimensionstransformation transformiert, um sie an die Anzahl der Begrenzungsrahmen anzupassen. Dies ermöglicht eine komfortable Eingabe in Schichten eines neuronalen Netzes zum Bestimmen der Objekthierarchie durch Verkettung.Therefore, the feature values are transformed through dimension transformation to adapt to the number of bounding boxes. This enables convenient input into layers of a neural network to determine the object hierarchy through concatenation.
Beispiel 3 ist das Verfahren von Beispiel 2, umfassend Bestimmen der Objekthierarchieinformationen aus den Eingabevektoren durch eine Mehrzahl von Verarbeitungskanälen, wobei jeder Verarbeitungskanal die Eingabevektoren für die Objektbegrenzungsrahmen empfängt, und eine Adjazenzmatrixkomponente erzeugt, und Multiplizieren der von den Kanälen erzeugten Adjazenzmatrixkomponenten, um eine Adjazenzmatrix zu erzeugen, die die Objekthierarchieinformationen spezifiziert.Example 3 is the method of Example 2, comprising determining the object hierarchy information from the input vectors through a plurality of processing channels, each processing channel receiving the input vectors for the object bounding boxes and producing an adjacency matrix component, and multiplying the adjacency matrix components generated by the channels to form an adjacency matrix generate that specifies the object hierarchy information.
Beispielsweise ist die Adjazenzmatrix quadratisch und die Adjazenzmatrixkomponenten rechteckig und ergeben die Adjazenzmatrix, wenn sie multipliziert werden. Beispielsweise hat jeder Kanalausgang die Dimensionen Q x H, wobei Q = 300 (Abfragen des Begrenzungsrahmens) und H = 260 (die verborgene Größe des Encoders plus die des Begrenzungsrahmenkoordinaten) ist. Die Multiplikation der Ausgänge der Kanäle ergibt die Adjazenzmatrix. Diese Matrixmultiplikation ermöglicht, dass die Elemente der Adjazenzmatrix hinsichtlich der Objekterkennungsreihenfolge invariant sind, beispielsweise sollte die Beziehung zwischen den Objekten 125 und 262 identisch sein, wenn sie stattdessen beispielsweise als Objekte 231 und 51 identifiziert würden. Mit anderen Worten, die Abfragereihenfolge spielt keine Rolle.For example, the adjacency matrix is square and the adjacency matrix components are rectangular and produce the adjacency matrix when multiplied. For example, each channel output has dimensions Q x H, where Q = 300 (bounding box queries) and H = 260 (the hidden size of the encoder plus that of the bounding box coordinates). Multiplying the outputs of the channels results in the adjacency matrix. This matrix multiplication allows the elements of the adjacency matrix to be invariant with respect to object recognition order, for example the relationship between objects 125 and 262 should be identical if they were instead identified as objects 231 and 51, for example. In other words, query order doesn't matter.
Beispiel 4 ist das Verfahren nach einem der Beispiele 1 bis 3, wobei das neuronale Netz unter Verwendung eines kombinierten Verlustes aus einem Kreuzentropieverlust für die Klassifizierungsinformationen, einem binären elementweisen Verlust für die Objekthierarchieinformationen, und einer linearen Kombination aus absolutem Abweichungsverlust und generalisiertem Überlappungsverlust für die Begrenzungsrahmenkoordinaten trainiert wird.Example 4 is the method according to any of Examples 1 to 3, wherein the neural network is formed using a combined loss of a cross-entropy loss for the classification information, a binary element-wise loss for the object hierarchy information, and a linear combination of absolute deviation loss and generalized overlap loss for the bounding box coordinates is trained.
Dieser Verlust stellt ein robustes Training bereit, während alle drei Ergebnisse des neuronalen Netzes (Klassifizierungen, Begrenzungsrahmen, und Objekthierarchie) berücksichtigt werden.This loss provides robust training while taking all three neural network outputs (classifiers, bounding boxes, and object hierarchy) into account.
Beispiel 5 ist ein Verfahren zur Steuerung einer Robotervorrichtung, umfassend Trainieren eines maschinellen Lernmodells gemäß einem der Beispiele 1 bis 4, Erfassen eines Kamerabildes, das das eine oder die mehreren Objekte zeigt, Einspeisen des Kamerabildes in das neuronale Netz, um das eine oder die mehren Objekte zu erkennen, und Steuern des Roboters unter Berücksichtigung der erkannten einen oder mehreren Objekte.Example 5 is a method for controlling a robotic device, comprising training a machine learning model according to any one of Examples 1 to 4, capturing a camera image showing the one or more objects, feeding the camera image to the neural network to display the one or more objects Detect objects and control the robot taking into account the detected one or more objects.
Beispiel 6 ist eine Steuerung, die dazu ausgelegt ist, ein Verfahren nach einem der Beispiele 1 bis 5 durchzuführen.Example 6 is a controller designed to perform a method according to any of Examples 1 to 5.
Beispiel 7 ist ein Computerprogramm, das Anweisungen umfasst, die, wenn sie von einem Computer ausgeführt werden, bewirken, dass der Computer ein Verfahren gemäß einem der Beispiele 1 bis 5 durchführt.Example 7 is a computer program that includes instructions that, when executed by a computer, cause the computer to perform a method according to any of Examples 1 to 5.
Beispiel 8 ist ein computerlesbares Medium, das Anweisungen umfasst, die, wenn sie von einem Computer ausgeführt werden, bewirken, dass der Computer ein Verfahren gemäß einem der Beispiele 1 bis 5 durchführt.Example 8 is a computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform a method according to any of Examples 1 to 5.
In den Zeichnungen beziehen sich ähnliche Bezugszeichen in den unterschiedlichen Ansichten im Allgemeinen auf dieselben Teile. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu, stattdessen wird allgemein Wert darauf gelegt, die Prinzipien der Erfindung zu veranschaulichen. In der folgenden Beschreibung werden verschiedene Aspekte unter Bezugnahme auf die folgenden Zeichnungen beschrieben, in denen:
-
1 einen Roboter zeigt. -
2 einen Betrieb der Steuerung für eine Bin-Picking-Aufgabe veranschaulicht. -
3 ein beispielhaftes Szenario mit drei Objekten zeigt. -
4 ein Grundwissen-Objekthierarchiediagramm und ein Beispiel für ein geschätztes Objekthierarchiediagramm für das Szenario mit drei Objekten aus3 zeigt. -
5 ein Flussdiagramm zeigt, das ein Verfahren zur Steuerung einer Robotervorrichtung gemäß einer Ausführungsform veranschaulicht.
-
1 shows a robot. -
2 illustrates operation of the controller for a bin picking task. -
3 shows an example scenario with three objects. -
4 a basic knowledge object hierarchy diagram and an example estimated object hierarchy diagram for the three object scenario3 shows. -
5 shows a flowchart illustrating a method for controlling a robotic device according to an embodiment.
Die folgende ausführliche Beschreibung bezieht sich auf die beigefügten Zeichnungen, die zur Veranschaulichung spezifische Einzelheiten und Aspekte dieser Offenbarung zeigen, in denen die Erfindung praktiziert werden kann. Andere Aspekte können verwendet werden, und strukturelle, logische und elektrische Änderungen können vorgenommen werden, ohne dabei vom Umfang der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht notwendigerweise gegenseitig aus, da einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.The following detailed description refers to the accompanying drawings which show, by way of illustration, specific details and aspects of this disclosure in which the invention may be practiced. Other aspects may be used and structural, logical and electrical changes may be made without departing from the scope of the invention. The various aspects of this disclosure are not necessarily mutually exclusive, as some aspects of this disclosure may be combined with one or more other aspects of this disclosure to form new aspects.
Im Folgenden werden verschiedene Beispiele ausführlicher beschrieben.Various examples are described in more detail below.
Der Roboter 100 weist einen Roboterarm 101 auf, beispielsweise einen Industrieroboterarm zum Handhaben oder Montieren eines Werkstücks (oder eines oder mehrerer anderer Objekte). Der Roboterarm 101 weist Manipulatoren 102, 103, 104 und eine Basis (oder Halterung) 105 auf, durch die die Manipulatoren 102, 103, 104 getragen werden. Der Begriff „Manipulator“ bezieht sich auf die beweglichen Elemente des Roboterarms 101, deren Betätigung eine physische Interaktion mit der Umgebung ermöglicht, z. B. die Ausführung einer Aufgabe. Zur Steuerung weist der Roboter 100 eine (Roboter-) Steuerung 106 auf, die dazu ausgelegt ist, die Interaktion mit der Umgebung gemäß einem Steuerprogramm zu implementieren. Das letzte Element 104 (am weitesten von der Halterung 105 entfernt) der Manipulatoren 102, 103, 104 wird auch als Endeffektor 104 bezeichnet und weist ein Greifwerkzeug auf (das auch ein Sauggreifer sein kann).The
Die anderen Manipulatoren 102, 103 (die sich näher an der Halterung 105 befinden) können eine Positioniervorrichtung bilden, so dass zusammen mit dem Endeffektor 104 der Roboterarm 101 mit dem Endeffektor 104 an seinem Ende bereitgestellt wird. Der Roboterarm 101 ist ein mechanischer Arm, der ähnliche Funktionen wie ein menschlicher Arm bereitstellen kann.The
Der Roboterarm 101 kann Gelenkelemente 107, 108, 109 aufweisen, die die Manipulatoren 102, 103, 104 miteinander und mit der Halterung 105 verbinden. Ein Gelenkelement 107, 108, 109 kann eines oder mehrere Gelenke aufweisen, die an zugeordneten Manipulatoren jeweils eine Drehbewegung (d. h. Rotationsbewegung) und/oder Translationsbewegung (d. h. Verschiebung) relativ zueinander ermöglichen können. Die Bewegung der Manipulatoren 102, 103, 104 kann durch Aktoren initiiert werden, die durch die Steuerung 106 gesteuert werden.The
Der Begriff „Aktor“ kann als eine Komponente verstanden werden, die dazu geeignet ist, einen Mechanismus oder Prozess als Reaktion auf eine Ansteuerung zu beeinflussen. Der Aktor kann von der Steuerung 106 erteilte Anweisungen (die sogenannte Aktivierung) in mechanische Bewegungen umsetzen. Der Aktor, z. B. ein elektromechanischer Wandler, kann dazu ausgelegt sein, als Reaktion auf eine Ansteuerung elektrische Energie in mechanische Energie umzuwandeln.The term “actuator” can be understood as a component that is capable of influencing a mechanism or process in response to a control. The actuator can convert instructions given by the controller 106 (the so-called activation) into mechanical movements. The actor, e.g. B. an electromechanical converter, can be designed to convert electrical energy into mechanical energy in response to a control.
Der Begriff „Steuerung“ kann als jede Art von Logikimplementierungseinheit verstanden werden, die beispielsweise eine Schaltung und/oder einen Prozessor aufweisen kann, die in der Lage sind, in einem Speichermedium gespeicherte Software, Firmware oder eine Kombination davon auszuführen, und die Anweisungen erteilen können, z. B. an einen Aktor, in dem vorliegenden Beispiel. Die Steuerung kann beispielsweise durch einen Programmcode (z. B. Software) konfiguriert sein, um den Betrieb eines Systems, in dem vorliegenden Beispiel eines Roboters, zu steuern.The term “controller” may be understood as any type of logic implementation unit, which may include, for example, a circuit and/or a processor capable of executing software, firmware, or a combination thereof stored in a storage medium and capable of issuing instructions , e.g. B. to an actuator, in the present example. The controller may be configured, for example, through program code (e.g., software) to control the operation of a system, in the present example a robot.
In dem vorliegenden Beispiel weist die Steuerung 106 einen oder mehrere Prozessoren 110 und einen Speicher 111 auf, der Code und Daten speichert, auf deren Grundlage der Prozessor 110 den Roboterarm 101 steuert. Gemäß verschiedenen Ausführungsformen steuert die Steuerung 106 den Roboterarm 101 basierend auf einem in dem Speicher 111 gespeicherten maschinellen Lernmodell 112 (das z. B. eines oder mehrere neuronale Netze umfasst).In the present example, the
Die Aufgabe des Roboters ist beispielsweise, ein Bin-Picking durchzuführen, d. h. ein Objekt von mehreren Objekten 113 zu greifen (wobei das Greifen auch ein Aufnehmen des Objekts 113 mit einem Saugnapf aufweist) und den Gegenstand 113 beispielsweise einem Scanner zu zeigen, oder das Objekt 113 zu einem anderen Behälter zu bewegen. Um das aufzunehmende Objekt 113 und eine geeignete Greifstelle an dem Objekt 113 bestimmen zu können, verwendet die Steuerung 106 Bilder des Roboterarbeitsbereichs, in dem sich die Objekte 113 befinden. Diese Bilder können von einer Kamera 114 bereitgestellt werden, die an dem Roboterarm 101 angebracht ist (oder auf irgendeine andere Weise, so dass die Steuerung den Blickwinkel der Kamera 114 steuern kann).The task of the robot is, for example, to carry out bin picking, that is, to grab an object from a plurality of objects 113 (grasping also includes picking up the
Das Erkennen von Objekten kann schwierig sein, wenn es einen Stapel von Objekten gibt, da in aufgenommenen Bildern Objekte zumindest teilweise verdeckt sein können und ein Objekt einen Schatten auf ein anderes Objekt werfen kann.Detecting objects can be difficult when there is a stack of objects because in captured images, objects may be at least partially obscured and one object may cast a shadow on another object.
Andererseits, wenn ein Stapel von Objekten 113 vorhanden ist, d. h. die Objekte nicht isoliert sind und daher nicht manipuliert werden können, ohne andere Objekte zu beeinflussen, sondern übereinandergestapelt sein können, muss darauf geachtet werden, dass ein Fallen des Stapels vermieden wird, wenn ein tragendes Objekt entfernt wird (und dadurch möglicherweise Objekte beschädigt oder Personen verletzt werden können). Auch im Hinblick auf die Effizienz des Roboterbetriebs kann es wünschenswert sein, die Objekthierarchie (d. h. die gegenseitige Abhängigkeit von Objekten in Bezug auf die Stapelreihenfolge der Objekte) zu respektieren, da es einfacher sein kann und weniger Kraft erfordert, ein Objekt von oben auf einem Haufens zu greifen, als zu versuchen, ein Objekt von unten herauszuziehen.On the other hand, if there is a stack of
Daher sollte die Steuerung 106 bei der Entscheidung, welches Objekt aufgenommen werden soll, in einigen Anwendungsfällen die Objekthierarchie berücksichtigen, z. B., wenn es einen Stapel von Objekten gibt. Dies bedeutet, dass der Roboterarm 101 kein Objekt aufnehmen sollte, auf dem sich ein anderes Objekt befindet, das herunterfallen und zerbrechen kann, wenn der Roboterarm 101 das stützende Objekt aufnimmt. Die Objekthierarchie (-informationen) soll(en) hier also die Beziehungen zwischen Objekten 113 beschreiben, die übereinandergestapelt sind (d. h. eine Stapelbeziehung haben), z. B. eine erste Tasse, die auf einer zweiten Tasse gestapelt ist, usw. Bei Anwendungen, die die Manipulation von Objekten in einem dichten Durcheinander erfordern, ermöglicht das Wissen über die Objekthierarchie eine effiziente Manipulation (und die Vermeidung von Schäden an den Objekten).Therefore, in some applications, the
Jedoch ist das Ableiten dieser Beziehung (d. h. der Objekthierarchie) aus einem einzelnen RGB-Bild eine von Natur aus schwierige Aufgabe, da möglicherweise mit mehreren verdeckten Objekten bei unterschiedlichen Lichtverhältnissen umgegangen werden muss. Gemäß verschiedenen Ausführungsformen wird ein maschinelles Lernmodell (das z. B. dem maschinellen Lernmodell 112 entspricht) in Form eines als Adjazenznetz (Adj-Net) bezeichneten neuronalen Netz bereitgestellt, das alle Objekte in einer Szene erkennt, die in einem Farb- (RGB) Bild gezeigt werden, und die räumliche Beziehung aus dem gegebenen Farbbild folgert. Dies verbessert tatsächlich die Objekterkennung, und kann somit sogar dann vorteilhaft sein, wenn die Adjazenzinformationen (die Objekthierarchie, d. h. räumliche Beziehung) selbst nicht in der weiteren Steuerung verwendet werden.However, inferring this relationship (i.e., object hierarchy) from a single RGB image is an inherently difficult task, as it may have to deal with multiple occluded objects in different lighting conditions. According to various embodiments, a machine learning model (e.g., corresponding to machine learning model 112) is provided in the form of a neural network called an adjacency network (Adj-Net) that detects all objects in a scene that are in a color (RGB) Image are shown, and the spatial relationship is inferred from the given color image. This actually improves object recognition, and thus can be beneficial even if the adjacency information (the object hierarchy, i.e. spatial relationship) itself is not used in further control.
Figure 2 veranschaulicht einen Betrieb der Steuerung 106 für eine Bin-Picking-Aufgabe unter Verwendung eines solchen Adjazenznetzes.Figure 2 illustrates operation of
Die Steuerung 106 führt Folgendes durch:
- 1. Aufnehmen eines
Bildes 201 der Szene (d. h. des Roboterarbeitsbereichs, der dieObjekte 113 aufweist) mittels derKamera 114. - 2.
Durchleiten des Bildes 201 durch das Adjazenznetz 202 (welches insbesondere als Objektdetektor arbeitet) zur gemeinsame Vorherzusage von N Vorschlägen für Begrenzungsrahmen 212 (durch ein Begrenzungsrahmen-MLP (mehrschichtiges Perzeptron) 203 des neuronalen Netzes 202),von Klassenwerten 213 für die Begrenzungsrahmen (durch einen Klassifizierer-MLP 204 des neuronalen Netzes 202), und einer einzelnen Adjazenzmatrix 211 der Größe N x N (durch Adjazenz-MLPs 205 des neuronalen Netzes 202, deren Ausgänge durch eineKombinationsoperation 206 kombiniert werden). - 3. Herausfiltern der „None“-Klassen aus der Ausgabe des Objektdetektors, um eine reduzierte Ausgabe
von Begrenzungsrahmen 214,Klassen 215, und einer kleineren Adjazenzmatrix 216 zu erzeugen. - 4. Weiterleiten dieser Ausgaben an weitere Komponenten der Steuerung (z. B. Bestimmen der tatsächlichen Greifpose und/oder Auswählen des zu greifenden Objekts unter Verwendung dieser Ausgaben).
- 5. Zurückkehren zu (1), d. h. Aufnehmen eines neues Bildes 201, falls erforderlich (z. B., um das nächste Objekt zu greifen).
- 1. Capture an
image 201 of the scene (ie, the robot workspace containing the objects 113) using thecamera 114. - 2. Passing the
image 201 through the adjacency network 202 (which in particular works as an object detector) for the joint prediction of N proposals for bounding boxes 212 (by a bounding box MLP (multi-layer perceptron) 203 of the neural network 202), class values 213 for the bounding boxes ( by aclassifier MLP 204 of the neural network 202), and asingle adjacency matrix 211 of size N x N (byadjacency MLPs 205 of theneural network 202, the outputs of which are combined by a combining operation 206). - 3. Filter out the "None" classes from the output of the object detector to produce a reduced output of bounding
boxes 214,classes 215, and asmaller adjacency matrix 216. - 4. Forwarding these outputs to other components of the controller (e.g., determining the actual grasping pose and/or selecting the object to be grasped using these outputs).
- 5. Return to (1), ie, capture a
new image 201 if necessary (e.g., to grab the next object).
Die Bilder 201 sind beispielsweise RGB-D-Bilder (d. h. Farbbilder mit Tiefeninformationen). Andere Arten von Bilddaten, z. B. Video-, Radar-, LiDAR-, Ultraschall, Bewegungs-, Wärme-Bilder, oder Sonar, können ebenfalls (alternativ oder zusätzlich) verwendet werden. Diese können durch entsprechende Bildsensoren (Kameras) erfasst werden.The
Die weiteren Steuerungskomponenten 210 (z. B. ein Aktionsselektor) können beispielsweise die Adjazenzmatrix 209 (im Allgemeinen Objekthierarchieinformationen über die Objekte) verwenden, um eines oder mehreres des Folgenden zu bestimmen:
- • Die sicherste Reihenfolge beim Greifen von Objekten, z. B. für Ansammlungen zerbrechlicher Objekte.
- • Das beste Objekt zum Schieben, um die Unordnung für ein effizientes Greifen zu verteilen, z. B. für objektspezifische Greifaufgaben.
- • Der beste nächste Blickwinkel für das neue Bild zur Verbesserung der probabilistischen Darstellung der Szene.
- • The safest order when grasping objects, e.g. B. for accumulations of fragile objects.
- • Best object to push to distribute the mess for efficient grasping e.g. B. for object-specific gripping tasks.
- • The best closest viewing angle for the new image to improve the probabilistic representation of the scene.
Die Steuerung kann dann den Roboter entsprechend steuern.The controller can then control the robot accordingly.
Das maschinelle Lernmodell 112 wird durch ein maschinelles Lernverfahren (ML) trainiert (entweder durch die Steuerung 106 oder durch eine andere Vorrichtung, von der es dann in der Steuerung 106 gespeichert wird), um aus einer Bildeingabe eine Adjazenzmatrixausgabe 211 zu erzeugen, die einen probabilistischen Objekthierarchiegraphen darstellt.The
Die Objekthierarchie kann als gerichteter Graph dargestellt werden. Ein gerichteter Graph
Es versteht sich, dass als eine Wahrscheinlichkeit eines Träger der Ai,j's zwischen 0 und 1 liegt. Außerdem sind die diagonalen Elemente alle gleich 0.It is understood that as a probability of a carrier the A i,j 's is between 0 and 1. In addition, the diagonal elements are all equal to 0.
Gemäß verschiedenen Ausführungsformen wird ein Objekthierarchiegraphin Form einer Adjazenzmatrix dargestellt, die als Abezeichnet wird, oder einfach als A, um die Notationen abzukürzen. Die Adjazenzmatrix ist eine quadratische Matrix mit den Dimensionen NV × NV, wobei NV die Anzahl der Knoten, d. h. der in der Szene erkannten Objekte ist. Jedes Element Ai,j entspricht der Kante der Objekte i bis j:
In dem Beispiel von
Im Folgenden wird die Netzwerkarchitektur des Adjazenznetzes Adj-Net 202 ausführlicher beschrieben. Gemäß verschiedenen Ausführungsformen verwendet das Adjazenznetz 202 als Backbone ein Transformator-Encoder-Decoder-(Objektdetektor-)Netz (wie es z. B. in Referenz 1 beschrieben wird), das durch einen Encoder 207 und einen Decoder 208 gebildet wird. Dem Encoder 207 kann ein Extraktor 217 für visuelle Merkmale vorangestellt sein (z. B. ein konvolutionelles neuronales Netz, wie etwa ResNet), der das aktuelle Bild 201 als Eingabe empfängt. Dem Decoder 208 werden Abfragen 218 zugeführt, die sichtbar sind, um Bereiche des Eingangsbildes 201 zu spezifizieren, wo das Adjazenznetz 202 nach Objekten sucht. Die Anzahl der Abfragen ist beispielsweise ein vordefinierter Hyperparameter, aber die Parameter der Abfragen (d. h. Bildorte) können während des Trainings des Adjazenznetzes 202 gelernt werden.The network architecture of the adjacency network Adj-
Das Adjazenznetz 202 hat einen Adjazenzkopf (der durch eine Projektionsoperation 209, Adjazenz-MLPs 205, und die Kombinationsoperation 206 implementiert wird), der von dem Encoder 207 eine Matrix der Merkmalsvektorgröße E × H erhält, wobei E die Anzahl der Encoder-Merkmalsvektoren ist, und H ist die Dimension eines jeweiligen Merkmalsvektors ist.The
Die Objekterkennung ist auch eine wichtige Komponente des Adj-Net 202, daher hat es sowohl Klassifizierungs- als auch Begrenzungsrahmen-Vorhersageköpfe (implementiert durch das Klassifizierungs-MLP 204 bzw. das Begrenzungsrahmen-MLP 203. Der Decoder 208 gibt eine Matrix von Merkmalsvektoren der Größe Q × H aus, wobei Q eine voreingestellte Anzahl möglicher Begrenzungsrahmen-Kandidaten ist. Jeder Merkmalsvektor durchläuft den Begrenzungsrahmen MLP 203 und erzeugt einen Satz vorhergesagter Begrenzungsrahmenkoordinaten als eine Matrixgröße Q × 4. Der Klassifizierer MLP 204 empfängt einen verketteten Merkmalsvektor sowohl der Decoderausgabe als auch der Begrenzungsrahmenkoordinaten und gibt eine Q-Wahrscheinlichkeit aus Vektoren 213 für jeden entsprechenden Begrenzungsrahmen mit einer Länge von C+1 aus, wobei C einer jeweiligen Kandidatenklasse entspricht, und der zusätzliche Begriff entspricht einer „leeren“ Klasse, die dazu vorgesehen ist, Begrenzungsrahmenkandidaten herauszufiltern, die entweder Bereiche ohne Objekte markieren oder eine Überlappung mit früheren Objekterkennungen sind.Object detection is also an important component of the Adj-
Zum Vorhersagen der Adjazenzmatrix 211 wird die Encoderausgabe durch den Projektionsblock geleitet, der einem doppelten Zweck dient; erstens projiziert er die Dimension der Encoderausgabe auf eine Merkmalsmatrixgröße Q × H, um mit den Begrenzungsrahmenvorschlägen übereinzustimmen; zweitens denkt er über die Verbindungen zwischen Encodermerkmalsbeziehungen nach, und versucht, sie mit der Hierarchie zwischen den Objekten zu verbinden.To predict the
Danach wird die Merkmalsmatrix mit den Begrenzungsrahmen-Vorhersagen 212 verkettet und in zwei Kanäle aufgeteilt. Jeder Kanal wird durch einen auf einem neuronalen Netz basierten Adjazenzblock (d. h. Adjazenz-MLP 205) geleitet, der die Dimensionen beibehält, und dann werden die Ausgaben von jedem Kanal multipliziert und durch eine Sigmoid-Schicht geleitet (d. h. durch die kombinierende Kombination 206 verarbeitet), um eine vorläufige Q × Q-Adjazenzmatrix 211 zu schaffen.The feature matrix is then concatenated with the
Jede Zeile und Spalte der Nachbarschaft in der Adjazenzmatrix 211 entspricht einem Vorschlag für einen Begrenzungsrahmen, und der Klassifizierer filtert die Vorschläge für die Begrenzungsrahmen über die „leere“ Klasse, d. h. Vorschläge, für die der Klassifizierer eine „leere“ Klasse vorhersagt, werden verworfen.Each row and column of the neighborhood in the
xe bezeichne die Ausgabe des Encoders 207, xd die Begrenzungsrahmen-Vorschlagskoordinaten 212, χ'e die projizierte Encoderausgabe, verkettet mit xd, und die Funktionen g(·), ƒ1(·) and ƒ2(·) beschreiben den Projektionsblock 209 bzw. beide Nachbarblöcke 205. Die Adjazenzkopfoperation kann dann wie folgt beschrieben werden:
Beispielsweise ist die Dimension des verborgenen Zustands H = 256, wobei der Encoder E = 17821 Merkmalsvektoren ausgibt und Q = 300 Vorschläge für Begrenzungsrahmen berücksichtigt werden. Die Größe jedes Klassenwahrscheinlichkeitsvektors hängt von der Situation des Problems ab. Beispielsweise ist zum Testen mit dem VMRD-Datensatz (Visual Manipulation Relationship Dataset) C+1 = 32. Eine Binäre Klassifizierung (d. h. Objekt oder kein Objekt, C+1 = 2) kann auf viele Probleme im wirklichen Leben angewendet werden.For example, the dimension of the hidden state is H = 256, where the encoder outputs E = 17821 feature vectors, and Q = 300 bounding box proposals are considered. The size of each class probability vector depends on the situation of the problem. For example, for testing on the Visual Manipulation Relationship Dataset (VMRD), C+1 = 32. Binary classification (i.e. object or no object, C+1 = 2) can be applied to many real-life problems.
Wie oben beschrieben, werden mehrschichtige Perzeptrons (MLPs) beispielsweise für den Projektionsblock 209, den Begrenzungsrahmen, die Klassifizierung und beide Kanäle des Adjazenzkopfes verwendet.As described above, multi-layer perceptrons (MLPs) are used, for example, for the
Das Adj-Net 202 kann auf überwachte Weise aus einem Trainingssatz trainiert werden, der aus RGB-Bildeingaben und Labels besteht, die aus den Grundwissen-Klassen, Begrenzungsrahmen und räumlichen Beziehungen bestehen. Zwei online verfügbare Beispiele für solche Datensätze sind VMRD und REGRAD (Relational Grasp Dataset). Bei einem gegebenen bezeichnetem Bild erzeugt Adj-Net 202 rohe Begrenzungsrahmen, Klassifizierungsbewertungen und eine Adjazenzmatrix.The Adj-
Um einen Verlust zu berechnen, werden die abgeleiteten Begrenzungsrahmen mit den „nächstgelegenen“ Zielbegrenzungsrahmen und -klassen abgeglichen. Der ungarische Algorithmus kann beispielsweise zum Abgleichen der Begrenzungsrahmen verwendet werden. Außerdem werden die relevanten Zeilen und Spalten in Ap abgeleitet, und es wird eine abgeglichene Adjazenzmatrix Am gebildet, die die Einträge aufweist, die den abgeglichenen Begrenzungsrahmen entsprechen.To calculate a loss, the derived bounding boxes are matched to the “nearest” target bounding boxes and classes. For example, the Hungarian algorithm can be used to match the bounding boxes. In addition, the rele vant rows and columns in A p and a matched adjacency matrix A m is formed that has the entries corresponding to the matched bounding boxes.
Beispielsweise gibt es viele (z. B. 300) vorgeschlagene Begrenzungsrahmen, so dass (in vielen Anwendungsfällen) die meisten von ihnen keinem Objekt entsprechen. Die Adjazenzmatrix Ap beschreibt die Beziehungen zwischen all diesen 300 Objekten. Der Klassifizierungskopf bestimmt jeweils, ob der Vorschlag verworfen werden soll (über die Klasse „kein Objekt“) oder nicht. Aus den nicht verworfenen Begrenzungsrahmen, z. B. 5 Objekte, ist Am die 5x5 Adjazenzmatrix, die die Beziehung zwischen diesen Objekten beschreibt. Beispielsweise vergleicht der Matcher im Training, unter Verwendung des ungarischen Abgleichs-Algorithmus als Matcher, aus den 300 Vorschlägen die „nächstliegenden“ mit der Zieladjazenzmatrix. Unter der Annahme, dass das Grundwissen eine 4x4-Adjazenzmatrix ist, findet der Matcher über eine interne Kostenfunktion die 4 Vorschläge, die den Zielen am nächsten liegen, und das Training wird in Bezug auf diese abgeglichenen Vorschläge durchgeführt. Für die Inferenz (d. h. nach dem Training) ist dieser Abgleich nicht erforderlich.For example, there are many (e.g. 300) proposed bounding boxes, so (in many use cases) most of them do not correspond to any object. The adjacency matrix A p describes the relationships between all of these 300 objects. The classification header determines whether the proposal should be rejected (via the “no object” class) or not. From the non-discarded bounding boxes, e.g. For example, if there are 5 objects, A m is the 5x5 adjacency matrix that describes the relationship between these objects. For example, in training, using the Hungarian matching algorithm as a matcher, the matcher compares the “closest” ones from the 300 proposals with the target adjacency matrix. Assuming that the baseline is a 4x4 adjacency matrix, the matcher finds the 4 proposals that are closest to the targets via an internal cost function, and training is performed on these matched proposals. This comparison is not required for inference (i.e. after training).
Der Klassifizierungskopf wird über gewichteten Kreuzentropieverlust trainiert. Für ein Bild I mit Vorschlägen ρ ∈und die Klasse c beträgt der gewichtete Kreuzentropieverlust:
Da die Anzahl der Erkennungen, für die die Grundwissen-Klasse „unbekannt“ ist, im Allgemeinen deutlich größer als die Anzahl der Objekte in der Szene ist, wird die Klasse „unbekannt“ mit einem kleinen wC+1 << 1 gewichtet, während für andere Klassen wc = 1 ist. Für die abgeglichenen Begrenzungsrahmen wird eine lineare Kombination aus dem 11- (absolute Abweichung) Verlust
Da die Adjazenzmatrix Am (und durch Erweiterung Ap) im Allgemeinen eine dünnbesetzte Matrix mit vielen 0-Werten und wenigen 1-Werten ist, besteht die Gefahr, dass das Adjazenznetz 202 während des Lernens zu dem geeigneten lokalen Minimum einer Matrix aus Nullen konvergiert. Dies ist ein erhebliches Problem bei der Verwendung von elementweisen l1- und l2-Verlusten, da sie eine falsche 0 nicht wesentlich bestrafen. Dieses Problem wird noch verschärft, wenn versucht wird, die gesamte Ap zu lernen, die mit Nullen oder Einsen für die Zeilen und Spalten aufgefüllt ist, die nicht übereinstimmen. Somit wird gemäß verschiedenen Ausführungsformen ein binärer elementweiser Kreuzentropieverlust über Am verwendet gemäß
Die Gesamtverlustfunktion ist eine gewichtete Summe aller Einzelverlustfunktionen:
Das Adjazenznetz 202 wird beispielsweise in zwei Phasen trainiert.The
In der ersten Phase wird nur der Detektor (Klassifizierungskopf und Begrenzungsrahmenkopf) durch Weglassen von
In der zweiten Phase wird
Zusammenfassend wird gemäß verschiedenen Ausführungsformen ein Verfahren zum Steuern einer Robotervorrichtung bereitgestellt, wie in
In 501 werden, für jedes Bild einer Mehrzahl von Trainingsbildern,
- • Merkmalsvektoren aus dem Trainingsbild durch einen Encoder eines Transformator-Encoder-Decoder-Netzes bestimmt, in 502,
- • für jeden einer Mehrzahl von Objektbegrenzungsrahmen Begrenzungsrahmenkoordinaten aus den Merkmalsvektoren durch einen Decoder des Encoder-Decoder-Netzes und einen Begrenzungsrahmenkopf bestimmt, in 503;
- • Objekthierarchieinformationen aus den Begrenzungsrahmenkoordinaten bestimmt für die Mehrzahl von Objekten und Merkmalen für die Begrenzungsrahmen, die von den Merkmalsvektoren abgeleitet werden, in 504, wobei die Objekthierarchieinformationen Stapelbeziehungen der Mehrzahl von Objekten in Bezug zueinander spezifizieren;
- • Klassifizierungsinformationen über Objekte, die den Objektbegrenzungsrahmen entsprechen, durch einen Klassifizierungskopf bestimmt, in 505.
- • Feature vectors from the training image determined by an encoder of a transformer-encoder-decoder network, in 502,
- • for each of a plurality of object bounding boxes, bounding box coordinates from the feature vectors determined by a decoder of the encoder-decoder network and a bounding box header, in 503;
- • Object hierarchy information from the bounding box coordinates determined for the plurality of objects and features for the bounding boxes derived from the feature vectors in 504, the object hierarchy information specifying stacking relationships of the plurality of objects with respect to one another;
- • Classification information about objects corresponding to the object bounding boxes, determined by a classification header, in 505.
In 506 wird das neuronale Netz trainiert, um einen Verlust zwischen Grundwissen für die Hierarchieinformationen, für die Begrenzungsrahmenkoordinaten und für die Klassifizierungsinformationen und den Hierarchieinformationen zu reduzieren, wobei die Begrenzungsrahmenkoordinaten und die Klassifizierungsinformationen jeweils für die Trainingsbilder bestimmt wurden.In 506, the neural network is trained to reduce a loss between basic knowledge for the hierarchy information, for the bounding box coordinates and for the classification information and the hierarchy information, where the bounding box coordinates and the classification information have been determined for the training images, respectively.
Dies bedeutet, dass das neuronale Netz mit der Summe eines Verlustes zwischen Grundwissen für die Hierarchieinformationen und die abgeleiteten Hierarchieinformationen, eines Verlustes zwischen Grundwissen für die Begrenzungsrahmenkoordinaten und die abgeleiteten Begrenzungsrahmenkoordinaten, und eines Verlustes zwischen Grundwissen für die Klassifizierungsinformationen und die abgeleiteten Klassifizierungsinformationen trainiert wird.This means that the neural network is trained with the sum of a loss between basic knowledge for the hierarchy information and the derived hierarchy information, a loss between basic knowledge for the bounding box coordinates and the derived bounding box coordinates, and a loss between basic knowledge for the classification information and the derived classification information.
Während in den obigen Ausführungsformen der Ansatz von
Gemäß einer Ausführungsform ist das Verfahren computerimplementiert.According to one embodiment, the method is computer implemented.
Obwohl hierin spezifische Ausführungsformen dargestellt und beschrieben wurden, wird der Durchschnittsfachmann erkennen, dass eine Vielzahl von alternativen und/oder äquivalenten Implementierungen die gezeigten und beschriebenen spezifischen Ausführungsformen ersetzen können, ohne dabei vom Umfang der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll alle Anpassungen oder Variationen der hier diskutierten spezifischen Ausführungsformen abdecken. Daher soll diese Erfindung nur durch die Ansprüche und deren Äquivalente beschränkt sein.Although specific embodiments have been shown and described herein, those of ordinary skill in the art will recognize that a variety of alternative and/or equivalent implementations may replace the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, this invention is intended to be limited only by the claims and their equivalents.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
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.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte Nicht-PatentliteraturNon-patent literature cited
- N. Carion et al., „End-to-end object detection with transformers“, in der European Conference on Computer Vision, Springer, 2020, Seiten 213-229 [0002]N. Carion et al., “End-to-end object detection with transformers,” in the European Conference on Computer Vision, Springer, 2020, pages 213-229 [0002]
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022202321.8A DE102022202321A1 (en) | 2022-03-08 | 2022-03-08 | Device and method for controlling a robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022202321.8A DE102022202321A1 (en) | 2022-03-08 | 2022-03-08 | Device and method for controlling a robot |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102022202321A1 true DE102022202321A1 (en) | 2023-09-14 |
Family
ID=87760015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102022202321.8A Pending DE102022202321A1 (en) | 2022-03-08 | 2022-03-08 | Device and method for controlling a robot |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102022202321A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117191821A (en) * | 2023-11-03 | 2023-12-08 | 山东宇影光学仪器有限公司 | High-light-transmittance Fresnel lens real-time detection method based on defocable-DAB-DETR |
-
2022
- 2022-03-08 DE DE102022202321.8A patent/DE102022202321A1/en active Pending
Non-Patent Citations (1)
Title |
---|
N. Carion et al., „End-to-end object detection with transformers", in der European Conference on Computer Vision, Springer, 2020, Seiten 213-229 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117191821A (en) * | 2023-11-03 | 2023-12-08 | 山东宇影光学仪器有限公司 | High-light-transmittance Fresnel lens real-time detection method based on defocable-DAB-DETR |
CN117191821B (en) * | 2023-11-03 | 2024-02-06 | 山东宇影光学仪器有限公司 | High-light-transmittance Fresnel lens real-time detection method based on defocable-DAB-DETR |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112017002154T5 (en) | Mobile robot and control method for a mobile robot | |
DE202017106506U1 (en) | Device for deep machine learning to robot grip | |
DE102014108287A1 (en) | Quick learning by imitating power torque tasks by robots | |
DE112016004535T5 (en) | Universal Compliance Network | |
DE112017007025T5 (en) | POSITION CONTROL DEVICE AND POSITION CONTROL PROCESS | |
DE102018119682A1 (en) | Image processing device, image processing method and non-temporary computer readable memory | |
DE102021107333A1 (en) | 3D POSITION ASSESSMENT WITH A 2D CAMERA | |
DE102022202321A1 (en) | Device and method for controlling a robot | |
DE102022107227A1 (en) | LEARNING TO GRIP USING MODULAR NEURONAL NETWORKS | |
DE102021205722A1 (en) | SYSTEM AND PROCEDURE FOR MULTI-SCALE MODELS WITH DEEP BALANCE | |
DE102022107249A1 (en) | Modularization of networks for learning high-dimensional robot tasks | |
DE102021121612A1 (en) | SYSTEM AND METHOD OF PICKING BOXES FROM A STACK | |
DE102021107479A1 (en) | CAPTURING A THREE-DIMENSIONAL POSE BY MULTIPLE 2D CAMERAS | |
DE102021204846A1 (en) | Method of controlling a robotic device | |
DE102020209080A1 (en) | IMAGE PROCESSING SYSTEM | |
DE102019124809A1 (en) | Imaging device and imaging system | |
EP4326500A1 (en) | Control of an industrial robot for a gripping task | |
DE102019207410A1 (en) | Method and device for an automated influencing of an actuator | |
DE102022107228A1 (en) | PICKING OBJECTS FROM A BIN (BIN PICKING) WITH ROTATION COMPENSATION | |
EP2642749B1 (en) | Device and method for optimising the determination of pick-up areas | |
DE102020214301A1 (en) | DEVICE AND METHOD FOR CONTROLLING A ROBOT TO PICK AN OBJECT IN DIFFERENT POSITIONS | |
Ren et al. | A fast search algorithm based on image pyramid for robotic grasping | |
DE102021209646B4 (en) | Robot device, method for computer-implemented training of a robot control model and method for controlling a robot device | |
EP4212288A1 (en) | Device and method for controlling a robot | |
Kellenberger | Interactive machine vision for wildlife conservation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R083 | Amendment of/additions to inventor(s) | ||
R163 | Identified publications notified | ||
R012 | Request for examination validly filed |