DE102021214254A1 - Method and device for estimating the pose of objects - Google Patents

Method and device for estimating the pose of objects Download PDF

Info

Publication number
DE102021214254A1
DE102021214254A1 DE102021214254.0A DE102021214254A DE102021214254A1 DE 102021214254 A1 DE102021214254 A1 DE 102021214254A1 DE 102021214254 A DE102021214254 A DE 102021214254A DE 102021214254 A1 DE102021214254 A1 DE 102021214254A1
Authority
DE
Germany
Prior art keywords
feature
determining
pose
point cloud
feature representation
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
DE102021214254.0A
Other languages
German (de)
Inventor
Fabian Duffhauss
Gerhard Neumann
Tobias Demmler
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021214254.0A priority Critical patent/DE102021214254A1/en
Publication of DE102021214254A1 publication Critical patent/DE102021214254A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

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

Computerimplementiertes Verfahren zum Ermitteln einer Pose eines Objekts umfassend die Schritte:
• Empfangen einer Mehrzahl von Bildern, wobei Pixeln der Bilder der Mehrzahl von Bildern jeweils Tiefeninformationen zugeordnet sind;
• Falls die Tiefeninformationen nicht in Form von jeweils Punktwolken vorliegen, umwandeln der jeweiligen Tiefeninformationen in jeweilige Punktwolken, wobei Punkte der jeweiligen Punktwolken jeweils Pixeln der Bilder zugeordnet sind;
• Ermitteln von ersten Merkmalsrepräsentationen der Pixel der Bilder, wobei jeweils für einen Pixel eine erste Merkmalsrepräsentation ermittelt wird;
• Zusammenfassen der Punktwolken zu einer Gesamtpunktwolke;
• Ermitteln von zweiten Merkmalsrepräsentationen, wobei jeweils für einen Punkt der Gesamtpunktwolke eine zweite Merkmalsrepräsentation ermittelt wird;
• Ermitteln von dritten Merkmalsrepräsentationen, wobei die dritten Merkmalsrepräsentationen jeweils eine Konkatenation von erster Merkmalsrepräsentation und zweiter Merkmalsrepräsentation eines Pixels charakterisieren;
• Ermitteln einer vierten Merkmalsrepräsentation basierend auf den dritten Merkmalsrepräsentationen;
• Ermitteln der Pose des Objekts basierend auf den dritten Merkmalsrepräsentationen und der vierten Merkmalsrepräsentation.

Figure DE102021214254A1_0000
Computer-implemented method for determining a pose of an object, comprising the steps:
• receiving a plurality of images, wherein pixels of the images of the plurality of images are each associated with depth information;
• If the depth information is not in the form of respective point clouds, converting the respective depth information into respective point clouds, with points of the respective point clouds being associated with pixels of the images;
• determining first feature representations of the pixels of the images, a first feature representation being determined for each pixel;
• Combining the point clouds into a total point cloud;
• Determining second feature representations, a second feature representation being determined for each point in the total point cloud;
• determining third feature representations, the third feature representations each characterizing a concatenation of a first feature representation and a second feature representation of a pixel;
• determining a fourth feature representation based on the third feature representations;
• determining the pose of the object based on the third feature representations and the fourth feature representation.
Figure DE102021214254A1_0000

Description

Stand der TechnikState of the art

He et al. „PVN3D: A Deep Point-wise 3D Keypoints Voting Network for 6DoF Pose Estimation“, 24.03.2020, https://arxiv.org/pdf/1911.04231.pdf offenbart ein Verfahren zur 6D Posenschätzung von Objekten.He et al. "PVN3D: A Deep Point-wise 3D Keypoints Voting Network for 6DoF Pose Estimation", 03/24/2020, https://arxiv.org/pdf/1911.04231.pdf discloses a method for 6D pose estimation of objects.

Vorteile der ErfindungAdvantages of the Invention

Moderne automatisierte Vorrichtung, wie beispielsweise Roboter, benötigen regelmäßig Verfahren, mit denen sie in die Lage versetzt werden, Objekte und deren Position in einer Umgebung der Vorrichtung zu ermitteln. Falls eine Position der Objekte im dreidimensionalen Raum bestimmt werden soll, wird hierfür auch regelmäßig der Begriff 6D Posenschätzung verwendet, wobei 6D andeutet, dass eine Position eines Objekts bezüglich Translation und Rotation im dreidimensionalen Raum ermittelt wird.Modern automated devices, such as robots, regularly require methods with which they are able to determine objects and their position in the environment of the device. If a position of the objects in three-dimensional space is to be determined, the term 6D pose estimation is also regularly used for this, with 6D indicating that a position of an object with regard to translation and rotation in three-dimensional space is determined.

Für das Problem der 6D Posenschätzung wird von He et al. ein Verfahren vorgeschlagen, wie eine 6D Pose eines Objekts basierend auf einer Mehrzahl von RGBD-Bildern des Objekts ermittelt werden kann.For the problem of 6D pose estimation, He et al. proposed a method of how a 6D pose of an object can be determined based on a plurality of RGBD images of the object.

Die Erfinder konnten jedoch feststellen, dass sich die Güte der Posenschätzung verbessern lässt, wenn anstelle eines Bildes mit Tiefeninformationen mehrere Bilder des Objekts mit jeweils Tiefeninformationen verwendet, insbesondere, wenn die Bilder aus möglichst diversen Perspektiven auf das Objekt aufgenommen werden.However, the inventors were able to determine that the quality of the pose estimation can be improved if, instead of one image with depth information, multiple images of the object each with depth information are used, in particular if the images are recorded from as diverse perspectives as possible on the object.

Offenbarung der ErfindungDisclosure of Invention

Vor diesem Hintergrund betrifft die Erfindung in einem ersten Aspekt ein computerimplementiertes Verfahren zum Ermitteln einer Pose eines Objekts umfassend die Schritte:

  • • Empfangen einer Mehrzahl von Bildern, die das Objekt zeigen, wobei Pixeln der Bilder der Mehrzahl von Bildern jeweils Tiefeninformationen bezüglich des Objekts zugeordnet sind;
  • • Falls die Tiefeninformationen nicht in Form von jeweils Punktwolken vorliegen, umwandeln der jeweiligen Tiefeninformationen in jeweilige Punktwolken, wobei Punkte der jeweiligen Punktwolken jeweils Pixeln der Bilder zugeordnet sind;
  • • Ermitteln von ersten Merkmalsrepräsentationen der Pixel der Bilder, wobei jeweils für einen Pixel eine erste Merkmalsrepräsentation ermittelt wird;
  • • Zusammenfassen der Punktwolken zu einer Gesamtpunktwolke;
  • • Ermitteln von zweiten Merkmalsrepräsentationen, wobei jeweils für einen Punkt der Gesamtpunktwolke eine zweite Merkmalsrepräsentation ermittelt wird;
  • • Ermitteln von dritten Merkmalsrepräsentationen, wobei die dritten Merkmalsrepräsentationen jeweils eine Konkatenation von erster Merkmalsrepräsentation und zweiter Merkmalsrepräsentation eines Pixels charakterisieren;
  • • Ermitteln einer vierten Merkmalsrepräsentation basierend auf den dritten Merkmalsrepräsentationen;
  • • Ermitteln der Pose des Objekts basierend auf den dritten Merkmalsrepräsentationen und der vierten Merkmalsrepräsentation.
Against this background, in a first aspect, the invention relates to a computer-implemented method for determining a pose of an object, comprising the steps:
  • • receiving a plurality of images showing the object, wherein pixels of the images of the plurality of images are each associated with depth information relating to the object;
  • • If the depth information is not in the form of respective point clouds, converting the respective depth information into respective point clouds, with points of the respective point clouds being associated with pixels of the images;
  • • determining first feature representations of the pixels of the images, a first feature representation being determined for each pixel;
  • • Combining the point clouds into a total point cloud;
  • • Determining second feature representations, a second feature representation being determined for each point in the total point cloud;
  • • determining third feature representations, the third feature representations each characterizing a concatenation of a first feature representation and a second feature representation of a pixel;
  • • determining a fourth feature representation based on the third feature representations;
  • • determining the pose of the object based on the third feature representations and the fourth feature representation.

Unter einer Pose kann insbesondere eine 6D Pose verstanden werden.A pose can be understood in particular as a 6D pose.

Die empfangenen Bilder können als Bilder eines optischen Sensors, zum Beispiel einer Kamera, verstanden werden, wobei die Bilder zusätzlich mit Tiefeninformationen angereichert sind. Dies kann derart verstanden werden, dass Pixeln des Bildes, vorzugsweise allen Pixeln des Bildes, jeweils Informationen zugeordnet sind, die einen Abstand des vom Pixel charakterisierten Teils einer Umgebung des optischen Sensors von der Kamera charakterisieren. Zum Beispiel kann ein Pixel einen diskreten Teil des Objekts charakterisieren, wobei die Tiefeninformation einen Abstand des diskreten Teils zur Kamera charakterisiert.The images received can be understood as images from an optical sensor, for example a camera, with the images additionally being enriched with depth information. This can be understood in such a way that pixels of the image, preferably all pixels of the image, are each assigned information which characterizes a distance of the part of an area surrounding the optical sensor characterized by the pixel from the camera. For example, a pixel can characterize a discrete part of the object, where the depth information characterizes a distance of the discrete part to the camera.

Die Mehrzahl der Bilder kann vorzugsweise von einer Mehrzahl von Kameras aufgezeichnet werden, wobei extrinsische Informationen der Kameras bekannt sind.The plurality of images can preferably be recorded by a plurality of cameras, with extrinsic information from the cameras being known.

Vorzugsweise ist möglich, dass jeweils ein Bild und die dem Bild zugeordnete Tiefeninformation in Form eines RGBD-Bildes vorliegen.It is preferably possible for an image and the depth information associated with the image to be present in the form of an RGBD image.

Basierend auf den Tiefeninformationen und extrinsischen Informationen der Kamera kann die Tiefeninformation als Punktwolke dargestellt werden, falls die Tiefeninformation nicht bereits als Punktwolke vorliegt. Derart kann eine Mehrzahl von Punktwolken ermittelt werden, und zwar jeweils eine Punktwolke, die Tiefeninformationen bezüglich eines Bildes charakterisiert. Die Punkte eines Punktwolke können als mit den Pixeln des Bildes korrespondierend verstanden werde, also in dem Sinn, dass ein Punkt der Punktwolke eine 1-zu-1-Beziehung zu einem Pixel des Bildes hat, mit der die Punktwolke korrespondiert.Based on the depth information and extrinsic information from the camera, the depth information can be presented as a point cloud if the depth information is not already available as a point cloud. In this way, a plurality of point clouds can be determined, in each case a point cloud that characterizes depth information relating to an image. The points of a point cloud can be understood as corresponding to the pixels of the image, in the sense that a point of the point cloud has a 1-to-1 relationship to a pixel of the image with which the point cloud corresponds.

Die Punktewolken der Mehrzahl von Bildern können dann in ein Koordinatensystem gebracht werden, vorzugsweise basierend auf den extrinsischen Informationen der Kameras. Vorzugsweise sind die Kameras so angeordnet, dass die Punktwolke unterschiedliche Ansichten des Objekts erfasst. Zum Beispiel können die Kameras so angeordnet sein, dass sie auf unterschiedliche Seiten des Objekts gerichtet sind. Vorteilhafterweise kann die Gesamtpunktwolke so Informationen von mehreren Seiten des Objekts erfassen und „blinde Flecken“ (engl. blind spots) des Objekts werden minimiert. Die ermittelte Gesamtpunktwolke kann dann von einem Verfahren des maschinellen Lernens (engl. machine learning, ML) verarbeitet werden, um zweite Merkmalsrepräsentationen zu ermitteln. Zum Verarbeiten der Gesamtpunktwolke können insbesondere spezielle neuronale Netze verwendet werden, wie beispielsweise ein PointNet oder ein PointNet++. Vorzugsweise kann für jeden Punkt der Gesamtpunktwolke eine zweite Repräsentation ermittelt werden. Es ist aber auch möglich, dass nur für eine Untermenge von Punkten der Gesamtpunktwolke eine zweite Merkmalsrepräsentation ermittelt wird, beispielsweise falls nur ein Ausschnitt der Gesamtpunktwolke im Verfahren betrachtet werden soll oder falls es eine Rechenkapazität des das Verfahren ausführenden Computers nicht anders zulässt. Vorteilhafterweise ermöglicht das Verarbeiten der Gesamtpunktwolke bessere zweite Merkmalsrepräsentationen, da nicht nur Relationen von Punkte einer Kameraperspektive vom maschinellen Lernverfahren betrachtet werden können, sondern Relationen von Punkte aus unterschiedlichen Kameraperspektiven betrachtet werden können. Die Erfinder konnten feststellen, dass so beispielsweise blinde Flecken einer Kameraperspektive ausgeglichen werden können und so bessere zweiten Merkmalsrepräsentationen ermittelt werden können.The point clouds of the plurality of images can then be placed in a coordinate system, preferably based on the extrinsic information from the cameras. The cameras are preferably arranged in such a way that the point cloud captures different views of the object. For example, the cameras can be arranged to face different sides of the object. Advantageously, the overall point cloud can thus capture information from multiple sides of the object and “blind spots” of the object are minimized. The determined overall point cloud can then be processed by a machine learning (ML) method in order to determine second feature representations. In particular, special neural networks can be used to process the overall point cloud, such as a PointNet or a PointNet++. A second representation can preferably be determined for each point in the overall point cloud. However, it is also possible for a second feature representation to be determined only for a subset of points in the overall point cloud, for example if only a section of the overall point cloud is to be considered in the method or if the computing capacity of the computer executing the method does not permit otherwise. Advantageously, the processing of the overall point cloud enables better second feature representations, since not only relations of points from one camera perspective can be considered by the machine learning method, but relations of points from different camera perspectives can be considered. The inventors were able to determine that, for example, blind spots in a camera perspective can be compensated for in this way and better second feature representations can be determined in this way.

Generell kann eine Merkmalsrepräsentationen als besser als eine weitere Merkmalsrepräsentation verstanden werden, falls die Merkmalsrepräsentation diskriminativer ist als die weitere Merkmalsrepräsentation, also eine bessere Unterscheidung oder Klassifikation des durch die Merkmalsrepräsentation charakterisierten Datums (in den Beispielen von oben die Punkte der Gesamtpunktwolke) ermöglichen.In general, a feature representation can be understood as better than another feature representation if the feature representation is more discriminative than the other feature representation, i.e. it enables better differentiation or classification of the datum characterized by the feature representation (in the examples above, the points of the total point cloud).

Ein Bild kann von einem Verfahren des maschinellen Lernens (engl. machine learning, ML) verarbeitet werden, vorzugsweise von einem neuronalen Netz, um für die Pixel des Bildes jeweils erste Merkmalsrepräsentation zu ermitteln. Dabei kann das Bild von einem anderen ML-Verfahren verarbeitet werden als die Gesamtpunktewolke. Zum Beispiel kann das Bild von einem neuronalen Faltungsnetz (engl. convolutional neural network, CNN), wie etwa einem PSPNet oder einem ResNet verarbeitet werden.An image may be processed by a machine learning (ML) method, preferably by a neural network, to determine first feature representations for each pixel of the image. The image can be processed by a different ML method than the overall point cloud. For example, the image may be processed by a convolutional neural network (CNN) such as a PSPNet or a ResNet.

Ähnlich wie bei den Punkten der Punktwolke, können vom ML-Verfahren alle Pixel des Bildes verarbeitet werden, um jeweils erste Merkmalsrepräsentationen zu ermitteln. Alternativ ist auch möglich, dass nur für eine Untermenge von Pixeln erste Merkmalsrepräsentationen ermittelt werden, beispielsweise falls nur ein Ausschnitt des Bildes im Verfahren betrachtet werden soll oder falls es eine Rechenkapazität des das Verfahren ausführenden Computers nicht anders zulässt.Similar to the points of the point cloud, all pixels of the image can be processed by the ML method in order to determine the first feature representations. Alternatively, it is also possible for first feature representations to be determined only for a subset of pixels, for example if only a section of the image is to be viewed in the method or if the computing capacity of the computer executing the method does not permit otherwise.

Durch das Verfahren kann für zumindest eine Untermenge von Pixeln der Mehrzahl von Bilden und zumindest für eine Untermenge von mit den Pixeln der Untermenge jeweils zugeordneten Punkten der Gesamtpunktwolke jeweils eine erste Merkmalsrepräsentation und eine zweite Merkmalsrepräsentation ermittelt werden. Die Pixel der zumindest Untermenge können dabei vorzugsweise von verschiedenen Bildern der Mehrzahl von Bildern stammen. Vorzugsweise umfasst die zumindest Untermenge von Pixeln Pixel von allen Bildern der Mehrzahl von Bildern.The method can be used to determine a first feature representation and a second feature representation for at least a subset of pixels in the plurality of images and at least for a subset of points in the total point cloud associated with the pixels in the subset. In this case, the pixels of the at least subset can preferably originate from different images of the plurality of images. Preferably, the at least subset of pixels includes pixels from all images of the plurality of images.

So können für ein Bild der Mehrzahl von Bildern erste Merkmalsrepräsentationen ermittelt werden, die das Bild charakterisieren, und zweite Merkmalsrepräsentationen ermittelt werden, die die Punktwolke charakterisieren, wobei jeweils zu den Pixeln des Bildes eine erste Merkmalsrepräsentation ermittelt wird und jeweils für die Punkte der Punktwolke eine zweite Merkmalsrepräsentation ermittelt wird.First feature representations that characterize the image and second feature representations that characterize the point cloud can be determined for an image of the plurality of images, with a first feature representation being determined for each of the pixels of the image and one for each point in the point cloud second feature representation is determined.

Jeweils eine erste Merkmalsrepräsentation und zweite Merkmalsrepräsentation korrespondieren zueinander, haben also eine 1-zu-1 Beziehung. Dies wird dadurch bedingt, dass ein Pixel mit einer Tiefeninformation and darüber mit einem Punkt korrespondiert. Die erste Merkmalsrepräsentation bezüglich des Pixels und zweite Merkmalsrepräsentation bezüglich des Punktes korrespondieren daher über die Beziehung des Pixels zum Punkt.A first feature representation and a second feature representation correspond to one another, ie have a 1-to-1 relationship. This is due to the fact that a pixel with depth information and above it corresponds to a point. The first feature representation related to the pixel and the second feature representation related to the point therefore correspond via the relationship of the pixel to the point.

Die Pose des Objekts kann dann basierend auf einer Verarbeitung der ersten Merkmalsrepräsentationen und der zweiten Merkmalsrepräsentationen ermittelt werden. Hierzu können miteinander korrespondierende erste Merkmalsrepräsentationen und zweite Merkmalsrepräsentationen zusammengefasst werden. Vorteilhafterweise kann dies über eine Operation geschehen, die auch als dichte Fusion (engl. DenseFusion) bekannt ist. Hierbei werden korrespondierende erste Merkmalsrepräsentationen und zweite Merkmalsrepräsentationen zu jeweils einer dritten Merkmalsrepräsentation zusammengefasst und basierend auf allen dritten Merkmalsrepräsentationen eine vierte Merkmalsrepräsentation ermittelt.The pose of the object can then be determined based on processing the first feature representations and the second feature representations. For this purpose, corresponding first feature representations and second feature representations can be combined. Advantageously, this can be done via an operation also known as dense fusion. Corresponding first feature representations and second feature representations are combined to form a third feature representation and are based on all third features mal representations determined a fourth feature representation.

In bevorzugten Ausführungsformen der Erfindung ist weiterhin möglich, dass das Ermitteln der Pose des Objekts basierend auf den dritten Merkmalsrepräsentationen und der vierten Merkmalsrepräsentation die folgenden Schritte umfasst:

  • • Ermitteln einer Mehrzahl von fünften Merkmalsrepräsentation durch Konkatenation jeweils einer dritten Merkmalsrepräsentation und der vierten Merkmalsrepräsentation;
  • • Ermitteln jeweils einer Klassifikation der fünften Merkmalsrepräsentationen und zusammenführen der Punkte der Punktewolke, die mit den fünften Merkmalsrepräsentationen korrespondieren, die in eine Klasse des Objekts klassifiziert wurden;
  • • Ermitteln von Schlüsselpunkten der zusammengeführten Punkte und von Schlüsselpunkten einer Punktewolke, wobei die Punktewolke ein Modell des Objekts charakterisiert;
  • • Ermitteln der Pose basierend auf einer Ermittlung einer Transformation von den Schlüsselpunkten der zusammengeführten Punkte und den Schlüsselpunkten der das Modell charakterisierenden Punktwolke.
In preferred embodiments of the invention, it is also possible for the determination of the pose of the object based on the third feature representations and the fourth feature representation to include the following steps:
  • • determining a plurality of fifth feature representations by concatenating a third feature representation and the fourth feature representation;
  • • Determining a classification of the fifth feature representations and merging the points of the point cloud that correspond to the fifth feature representations that have been classified into a class of the object;
  • • determining key points of the merged points and key points of a point cloud, the point cloud characterizing a model of the object;
  • • Determining the pose based on determining a transformation from the key points of the merged points and the key points of the point cloud characterizing the model.

Die zusätzlichen Schritte dieser Ausführungsformen sind analog zu den Schritten, die von He et al. zur Ermittlung einer Pose eines Objekts verwendet werden. Vorteilhafterweise verwendet das vorgeschlagene Verfahren jedoch die fünfte Merkmalsrepräsentation, die, durch die Verwendung von mehreren Bildern und jeweiligen Tiefeninformationen diskriminativer ist, als die Merkmalsrepräsentation, die von He et al. vorgeschlagen wird. Die Erfinder konnten feststellen, dass hierdurch die Genauigkeit der ermittelten Pose gesteigert werden kann.The additional steps of these embodiments are analogous to the steps described by He et al. used to determine a pose of an object. However, the proposed method advantageously uses the fifth feature representation, which, due to the use of multiple images and respective depth information, is more discriminative than the feature representation proposed by He et al. is suggested. The inventors were able to establish that the accuracy of the determined pose can be increased in this way.

Es ist möglich, dass die Verarbeitung der Bilder und der Gesamtpunktewolke hin zur Ermittlung der Pose durch ein maschinelles Lernverfahren geschieht, insbesondere einem neuronalen Netz, wobei die vorher beschriebenen neuronalen Netze zur Ermittlung der ersten Merkmalsrepräsentationen bzw. der zweiten Merkmalsrepräsentationen Teile des maschinellen Lernverfahrens sind, bzw. Teilnetze des neuronalen Netzes sind.It is possible that the processing of the images and the overall point cloud to determine the pose is done by a machine learning method, in particular a neural network, with the neural networks described above for determining the first feature representations and the second feature representations being parts of the machine learning process. or sub-networks of the neural network.

Zum Trainieren des neuronalen Netzes können die gleichen Trainingsdaten verwendet werden, die von He et al. vorgeschlagen werden.The same training data used by He et al. be suggested.

Die Erfinder konnten jedoch feststellen, dass das neuronale Netz auch basierend auf synthetisch generierten Daten trainiert werden kann und anschließend auf realen Daten eine angemessene Güte der Schätzung der Pose erreicht.However, the inventors were able to establish that the neural network can also be trained based on synthetically generated data and then achieve an appropriate quality of the estimate of the pose on real data.

Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:

  • 1 schematisch einen Aufbau eines Steuerungssystems zur Ansteuerung eines Aktors;
  • 2 schematisch ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
  • 3 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
  • 4 schematisch ein Trainingssystem.
Embodiments of the invention are explained in more detail below with reference to the accompanying drawings. In the drawings show:
  • 1 schematically a structure of a control system for controlling an actuator;
  • 2 schematically an embodiment for controlling an at least partially autonomous robot;
  • 3 schematically an embodiment for controlling a manufacturing system;
  • 4 schematic of a training system.

Beschreibung der AusführungsbeispieleDescription of the exemplary embodiments

1 zeigt einen Aktor (10) in seiner Umgebung (20) in Interaktion mit einem Steuerungssystem (40). In vorzugsweise regelmäßigen zeitlichen Abständen wird die Umgebung (20) durch mehrere optische Sensoren (30) erfasst, wobei die Sensoren (30) jeweils zusätzlich zu Bildinformationen Tiefeninformationen der Umgebung (20) ermitteln. Vorzugsweise sind die Sensoren (30) als RGBD-Sensoren ausgebildet. Die durch die Sensoren (30) ermittelten Sensorsignal (S) werden an das Steuerungssystem (40) übermittelt. Das Steuerungssystem (40) empfängt somit eine Mehrzahl von Sensorsignalen (S). Das Steuerungssystem (40) ermittelt hieraus Ansteuersignale (A), welche an den Aktor (10) übertragen werden. 1 shows an actuator (10) in its environment (20) in interaction with a control system (40). The surroundings (20) are recorded by a plurality of optical sensors (30) at preferably regular time intervals, the sensors (30) each determining depth information of the surroundings (20) in addition to image information. The sensors (30) are preferably designed as RGBD sensors. The sensor signals (S) determined by the sensors (30) are transmitted to the control system (40). The control system (40) thus receives a plurality of sensor signals (S). From this, the control system (40) determines control signals (A) which are transmitted to the actuator (10).

Das Steuerungssystem (40) empfängt die Folge von Sensorsignalen (S) des Sensors (30) in einer optionalen Empfangseinheit (50), die die Mehrzahl von Sensorsignalen (S) in eine Mehrzahl von Eingabesignalen (x) umwandelt. Die Eingabesignale (x) umfassen jeweils ein Bild und zu den Pixeln des Bildes jeweils zugehörige Tiefeninformationen. Ein Eingabesignal kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung eines Sensorsignals sein. Mit anderen Worten wird ein Eingabesignal abhängig von einem Sensorsignal ermittelt. Die Mehrzahl von Eingabesignalen (x) wird einem Posenschätzer (60) zugeführt, der ausgebildet ist, basierend auf der Mehrzahl von Eingabesignalen (x) eine Pose zumindest eines Objekts in der Umgebung (20) zu ermitteln.The control system (40) receives the sequence of sensor signals (S) from the sensor (30) in an optional receiving unit (50) which converts the plurality of sensor signals (S) into a plurality of input signals (x). The input signals (x) each include an image and depth information associated with the pixels of the image. An input signal can be, for example, a section or further processing of a sensor signal. In other words, an input signal is determined depending on a sensor signal. The plurality of input signals (x) is fed to a pose estimator (60), which is designed to determine a pose of at least one object in the environment (20) based on the plurality of input signals (x).

Der Posenschätzer (60) wandelt zunächst die Tiefeninformationen der jeweiligen Eingabesignale (x) in Punktwolken um und führt die so ermittelten Punktwolken in eine Gesamtpunktwolke zusammen. Für die so ermittelte Gesamtpunktwolke wird dann mittels eines Verfahrens des maschinellen Lernens, insbesondere einem neuronalen Netz, insbesondere einem PointNet oder einem PointNet++, eine zweite Merkmalsrepräsentation ermittelt. Die durch die jeweiligen Eingabesignale (x) charakterisierten Bilder werden einem weiteren Verfahren des maschinellen Lernens, insbesondere einem neuronalen Netz, insbesondere einem PSPNet, zugeführt, wobei das weitere Verfahren des maschinellen Lernens derart ausgebildet ist, dass es für jeden Pixel der Bilder eine erste Merkmalsrepräsentation ermittelt. Basierend auf den Korrespondenzen zwischen Pixeln der Bilder und Punkten der Gesamtpunktewolke, können dann im Schätzer erste Merkmalsrepräsentationen zweiten Merkmalsrepräsentationen zugeordnet werden. Durch Konkatenation kann so aus einer ersten Merkmalsrepräsentation und einer zweiten Merkmalsrepräsentation eine dritte Merkmalsrepräsentation ermittelt werden, die sowohl Informationen eines Pixels als auch eines Punktes der Gesamtpunktwolke charakterisiert.The pose estimator (60) first converts the depth information of the respective input signals (x) into point clouds and merges the point clouds determined in this way into an overall point cloud. For the total point cloud determined in this way, a machine learning method, in particular a neural network, is then used to especially a PointNet or a PointNet++, a second feature representation is determined. The images characterized by the respective input signals (x) are fed to a further method of machine learning, in particular a neural network, in particular a PSPNet, with the further method of machine learning being designed in such a way that there is a first feature representation for each pixel of the images determined. Based on the correspondences between pixels of the images and points of the overall point cloud, first feature representations can then be assigned to second feature representations in the estimator. By concatenation, a third feature representation can be determined from a first feature representation and a second feature representation, which characterizes information of both a pixel and a point of the overall point cloud.

Die so ermittelten dritten Merkmalsrepräsentationen können dann weiterverarbeitet werden, um die Pose des Objekts zu schätzen. Dies kann mit beispielsweise über ein Ermitteln von globalen und lokalen Merkmalsrepräsentationen basierend auf einem dichten Fusionsblock (engl. DenseFusion) und den dritten Merkmalsrepräsentationen geschehen. Hierdurch können die dritten Merkmalsrepräsentationen zusätzlich zu ihrem lokalen Informationsgehalt bezüglich jeweils eines Pixels und eines Punktes mit globalen Informationen bezüglich einer Mehrzahl von Pixeln und Punkten angereichert werden. Basierend auf diesen angereicherten Merkmalsrepräsentationen kann anschließend die Pose beispielsweise über eine Schlüsselpunkteschätzung und semantische Segmentierung wie von He et al. vorgeschlagen ermittelt werden.The third feature representations determined in this way can then be further processed in order to estimate the pose of the object. This can be done, for example, by determining global and local feature representations based on a dense fusion block (DenseFusion) and the third feature representations. As a result, the third feature representations can be enriched with global information relating to a plurality of pixels and points, in addition to their local information content relating to a respective pixel and point. Based on these enriched feature representations, the pose can then be calculated, for example, via key point estimation and semantic segmentation as described by He et al. proposed to be determined.

Der Posenschätzer (60) wird vorzugsweise parametriert durch Parameter (Φ), die in einem Parameterspeicher (P) hinterlegt sind und von diesem bereitgestellt werden.The pose estimator (60) is preferably parameterized by parameters (Φ) that are stored in a parameter memory (P) and are made available by it.

Der Posenschätzer (60) ermittelt aus den Eingangssignalen (x) ein Ausgabesignal (y), welches die Pose des Objekts charakterisiert. Das Ausgabesignal (y) wird einer optionalen Umformeinheit (80) zugeführt, die hieraus Ansteuersignale (A) ermittelt, welche dem Aktor (10) zugeführt werden, um den Aktor (10) entsprechend anzusteuern.From the input signals (x), the pose estimator (60) determines an output signal (y) which characterizes the pose of the object. The output signal (y) is fed to an optional conversion unit (80), which uses it to determine control signals (A) which are fed to the actuator (10) in order to control the actuator (10) accordingly.

Der Aktor (10) empfängt die Ansteuersignale (A), wird entsprechend angesteuert und führt eine entsprechende Aktion aus. Der Aktor (10) kann hierbei eine (nicht notwendigerweise baulich integrierte) Ansteuerlogik umfassen, welches aus dem Ansteuersignal (A) ein zweites Ansteuersignal ermittelt, mit dem dann der Aktor (10) angesteuert wird.The actuator (10) receives the control signals (A), is controlled accordingly and carries out a corresponding action. The actuator (10) can include control logic (not necessarily structurally integrated), which determines a second control signal from the control signal (A), with which the actuator (10) is then controlled.

In weiteren Ausführungsformen umfasst das Steuerungssystem (40) die Sensoren (30). In noch weiteren Ausführungsformen umfasst das Steuerungssystem (40) alternativ oder zusätzlich auch den Aktor (10).In further embodiments, the control system (40) includes the sensors (30). In still other embodiments, the control system (40) alternatively or additionally also includes the actuator (10).

In weiteren bevorzugten Ausführungsformen umfasst das Steuerungssystem (40) zumindest einen Prozessor (45) und zumindest ein maschinenlesbares Speichermedium (46), auf dem Anweisungen gespeichert sind, die dann, wenn sie auf dem zumindest einen Prozessor (45) ausgeführt werden, das Steuerungssystem (40) veranlassen, das erfindungsgemäße Verfahren auszuführen.In further preferred embodiments, the control system (40) comprises at least one processor (45) and at least one machine-readable storage medium (46) on which instructions are stored which, when they are executed on the at least one processor (45), the control system ( 40) cause the method according to the invention to be carried out.

In alternativen Ausführungsformen ist alternativ oder zusätzlich zum Aktor (10) eine Anzeigeeinheit (10a) vorgesehen.In alternative embodiments, a display unit (10a) is provided as an alternative or in addition to the actuator (10).

2 zeigt, wie das Steuerungssystem (40) zur Steuerung eines wenigstens teilautonomen Roboters, hier eines wenigstens teilautonomen Kraftfahrzeugs (100), eingesetzt werden kann. 2 shows how the control system (40) can be used to control an at least partially autonomous robot, here an at least partially autonomous motor vehicle (100).

Bei den Sensoren (30) kann es sich beispielsweise um vorzugsweise im Kraftfahrzeug (100) angeordneten RGBD-Sensor handeln.The sensors (30) can be, for example, RGBD sensors that are preferably arranged in the motor vehicle (100).

Der Posenschätzer (60) ist eingerichtet, auf den Eingabesignalen (x) erkennbare Objekte zu identifizieren und deren Pose zu ermitteln.The pose estimator (60) is set up to identify objects recognizable on the input signals (x) and to determine their pose.

Bei dem vorzugsweise im Kraftfahrzeug (100) angeordneten Aktor (10) kann es sich beispielsweise um eine Bremse, einen Antrieb oder eine Lenkung des Kraftfahrzeugs (100) handeln. Das Ansteuersignal (A) kann dann derart ermittelt werden, dass der Aktor oder die Aktoren (10) derart angesteuert wird, dass das Kraftfahrzeug (100) beispielsweise eine Kollision mit den vom Posenschätzer (60) identifizierten Objekten verhindert, insbesondere, wenn es sich um Objekte bestimmter Klassen, z.B. um Fußgänger, handelt.The actuator (10), which is preferably arranged in the motor vehicle (100), can be, for example, a brake, a drive or a steering system of the motor vehicle (100). The control signal (A) can then be determined in such a way that the actuator or actuators (10) is controlled in such a way that the motor vehicle (100), for example, prevents a collision with the objects identified by the pose estimator (60), particularly when it is a Objects of certain classes, e.g. pedestrians.

Alternativ oder zusätzlich kann mit dem Ansteuersignal (A) die Anzeigeeinheit (10a) angesteuert werden, und beispielsweise die identifizierten Objekte dargestellt werden. Auch ist es denkbar, dass die Anzeigeeinheit (10a) mit dem Ansteuersignal (A) derart angesteuert wird, dass sie ein optisches oder akustisches Warnsignal ausgibt, wenn ermittelt wird, dass das Kraftfahrzeug (100) droht, mit einem der identifizierten Objekte zu kollidieren. Die Warnung mittels eines Warnsignals kann auch mittels eines haptischen Warnsignals erfolgen, beispielsweise über ein Vibrieren eines Lenkrads des Kraftfahrzeugs (100).Alternatively or additionally, the display unit (10a) can be controlled with the control signal (A) and the identified objects can be displayed, for example. It is also conceivable that the display unit (10a) is controlled with the control signal (A) in such a way that it emits an optical or acoustic warning signal if it is determined that the motor vehicle (100) is threatening to collide with one of the identified objects. The warning by means of a warning signal can also be given by means of a haptic warning signal, for example via a vibration of a steering wheel of the motor vehicle (100).

Alternativ kann es sich bei dem wenigstens teilautonomen Roboter auch um einen anderen mobilen Roboter (nicht abgebildet) handeln, beispielsweise um einen solchen, der sich durch Fliegen, Schwimmen, Tauchen oder Schreiten fortbewegt. Bei dem mobilen Roboter kann es sich beispielsweise auch um einen wenigstens teilautonomen Rasenmäher oder einen wenigstens teilautonomen Putzroboter handeln. Auch in diesen Fällen kann das Ansteuersignal (A) derart ermittelt werden, dass Antrieb und/oder Lenkung des mobilen Roboters derart angesteuert werden, dass der wenigstens teilautonome Roboter beispielsweise eine Kollision mit vom Posenschätzer (60) identifizierten Objekten verhindert.Alternatively, the at least partially autonomous robot can also be a different one mobile robots (not shown), such as those that move by flying, swimming, diving or walking. The mobile robot can, for example, also be an at least partially autonomous lawn mower or an at least partially autonomous cleaning robot. In these cases too, the control signal (A) can be determined in such a way that the drive and/or steering of the mobile robot are controlled in such a way that the at least partially autonomous robot prevents, for example, a collision with objects identified by the pose estimator (60).

3 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem (40) zur Ansteuerung einer Fertigungsmaschine (11) eines Fertigungssystems (200) verwendet wird, indem ein die Fertigungsmaschine (11) steuernder Aktor (10) angesteuert wird. Bei der Fertigungsmaschine (11) kann es sich beispielsweise um eine Maschine zum Stanzen, Sägen, Bohren und/oder Schneiden handeln. Weiterhin ist denkbar, dass die Fertigungsmaschine (11) ausgebildet ist mittels eines Greifers ein Fertigungserzeugnis (12a, 12b) zu greifen. 3 shows an exemplary embodiment in which the control system (40) is used to control a production machine (11) of a production system (200), in that an actuator (10) controlling the production machine (11) is controlled. The production machine (11) can be, for example, a machine for punching, sawing, drilling and/or cutting. It is also conceivable that the manufacturing machine (11) is designed to grip a manufactured product (12a, 12b) by means of a gripper.

Bei den Sensoren (30) kann es sich dann beispielsweise um RGBD-Sensoren handeln, die z.B. die Förderfläche eines Förderbandes (13) erfassen, insbesondere aus verschiedenen Blickwinkeln auf das Förderband (13), wobei sich auf dem Förderband (13) Fertigungserzeugnissen (12a, 12b) befinden können. Der Posenschätzer (60) kann beispielsweise eingerichtet sein, Posen der Fertigungserzeugnisse (12a, 12b) auf dem Förderband zu ermitteln. Der die Fertigungsmaschine (11) steuernde Aktor (10) kann dann abhängig von den ermittelten Posen der Fertigungserzeugnisse (12a, 12b) angesteuert werden. Beispielsweise kann der Aktor (10) derart angesteuert werden, dass er ein Fertigungserzeugnis (12a, 12b) an einer vorbestimmten Stelle des Fertigungserzeugnisses (12a, 12b) stanzt, sägt, bohrt und/oder schneidet.The sensors (30) can then be, for example, RGBD sensors which, for example, detect the conveying surface of a conveyor belt (13), in particular from different viewing angles of the conveyor belt (13), with manufactured products (12a , 12b) can be located. The pose estimator (60) can be set up, for example, to determine poses of the manufactured products (12a, 12b) on the conveyor belt. The actuator (10) controlling the production machine (11) can then be controlled depending on the determined poses of the manufactured products (12a, 12b). For example, the actuator (10) can be controlled in such a way that it punches, saws, drills and/or cuts a manufactured product (12a, 12b) at a predetermined point on the manufactured product (12a, 12b).

Weiterhin ist denkbar, dass der Posenschätzer (60) ausgebildet ist, zusätzlich zur Pose weitere Eigenschaften eines Fertigungserzeugnisses (12a, 12b) zu ermitteln. Insbesondere ist vorstellbar, dass der Posenschätzer (60) ermittelt, ob ein Fertigungserzeugnis (12a, 12b) defekt und/oder beschädigt ist. In diesem Fall kann der Aktor (10) derart angesteuert werden, dass die Fertigungsmaschine (11) ein defektes und/oder beschädigtes Fertigungserzeugnis (12a, 12b) aussortiert. It is also conceivable that the pose estimator (60) is designed to determine other properties of a manufactured product (12a, 12b) in addition to the pose. In particular, it is conceivable that the pose estimator (60) determines whether a manufactured product (12a, 12b) is defective and/or damaged. In this case, the actuator (10) can be controlled in such a way that the production machine (11) sorts out a defective and/or damaged product (12a, 12b).

4 zeigt ein Ausführungsbeispiel eines Trainingssystems (140) zum Trainieren des Posenschätzers (60) des Steuerungssystems (40) mittels eines Trainingsdatensatzes (T). Der Trainingsdatensatz (T) umfasst eine Mehrzahl von Eingabesignalen (xi), die zum Trainieren des Klassifikators (60) verwendet werden, wobei der Trainingsdatensatz (T) ferner zu jeweils einem Eingabesignal (xi) ein gewünschtes Ausgabesignal (ti) umfasst, welches mit dem Eingabesignal (xi) korrespondiert und eine semantische Segmentierung des durch das Eingabesignal (xi) charakterisierten Bildes charakterisiert und Schlüsselpunkte von Objekten der durch das Eingabesignal (xi) charakterisierten Punktwolke des Eingabesignals (xi) charakterisiert. 4 shows an embodiment of a training system (140) for training the pose estimator (60) of the control system (40) using a training data set (T). The training data set (T) comprises a plurality of input signals (x i ), which are used to train the classifier (60), the training data set (T) also comprising a desired output signal (t i ) for each input signal (x i ), which corresponds to the input signal (x i ) and characterizes a semantic segmentation of the image characterized by the input signal (x i ) and characterizes key points of objects of the point cloud of the input signal (x i ) characterized by the input signal (x i ).

Zum Training greift eine Trainingsdateneinheit (150) auf eine computerimplementierte Datenbank (St2) zu, wobei die Datenbank (St2) den Trainingsdatensatz (T) zur Verfügung stellt. Die Trainingsdateneinheit (150) ermittelt aus dem Trainingsdatensatz (T) vorzugsweise zufällig zumindest ein Eingabesignal (xi) und das zum Eingabesignal (xi) korrespondierende gewünschte Ausgabesignal (ti) und übermittelt das Eingabesignal (xi) an den Klassifikator (60). Der Klassifikator (60) ermittelt auf Basis des Eingabesignals (xi) ein Ausgabesignal (yi).For training, a training data unit (150) accesses a computer-implemented database (St 2 ), the database (St 2 ) making the training data set (T) available. The training data unit (150) determines at least one input signal (x i ) and the desired output signal (t i ) corresponding to the input signal (x i ) from the training data set (T), preferably at random, and transmits the input signal (x i ) to the classifier (60) . The classifier (60) determines an output signal (y i ) based on the input signal (x i ).

Das gewünschte Ausgabesignal (ti) und das ermittelte Ausgabesignal (yi) werden an eine Veränderungseinheit (180) übermittelt.The desired output signal (t i ) and the determined output signal (y i ) are transmitted to a changing unit (180).

Basierend auf dem gewünschten Ausgabesignal (ti) und dem ermittelten Ausgabesignal (yi) werden dann von der Veränderungseinheit (180) neue Parameter (Φ') für den Klassifikator (60) bestimmt. Hierfür vergleicht die Veränderungseinheit (180) das gewünschte Ausgabesignal (ti) und das ermittelte Ausgabesignal (yi) mittels einer Verlustfunktion (engl. Loss Function). Die Verlustfunktion ermittelt einen ersten Verlustwert, der charakterisiert, wie weit das ermittelte Ausgabesignal (yi) vom gewünschten Ausgabesignal (ti) abweicht.Based on the desired output signal (t i ) and the ascertained output signal (y i ), the changing unit (180) then determines new parameters (Φ′) for the classifier (60). For this purpose, the modification unit (180) compares the desired output signal (t i ) and the determined output signal (y i ) using a loss function. The loss function determines a first loss value that characterizes how far the determined output signal (y i ) deviates from the desired output signal (t i ).

Die Veränderungseinheit (180) ermittelt auf Grundlage des ersten Verlustwertes die neuen Parameter (Φ'). Im Ausführungsbeispiel geschieht dies mittels eines Gradientenabstiegsverfahren, vorzugsweise Stochastic Gradient Descent, Adam, oder AdamW. In weiteren Ausführungsbeispielen kann das Training auch auf einem evolutionären Algorithmus oder einer Zweite-Grad-Optimierung (engl. second-order optimization) beruhen.The changing unit (180) determines the new parameters (Φ') based on the first loss value. In the exemplary embodiment, this is done using a gradient descent method, preferably Stochastic Gradient Descent, Adam, or AdamW. In further exemplary embodiments, the training can also be based on an evolutionary algorithm or second-order optimization.

Die ermittelten neuen Parameter (Φ') werden in einem Modellparameterspeicher (St1) gespeichert. Vorzugsweise werden die ermittelten neuen Parameter (Φ') als Parameter (Φ) dem Klassifikator (60) bereitgestellt.The determined new parameters (Φ') are stored in a model parameter memory (St 1 ). The determined new parameters (Φ′) are preferably made available to the classifier (60) as parameters (Φ).

In weiteren bevorzugten Ausführungsbeispielen wird das beschriebene Training iterativ für eine vordefinierte Anzahl an Iterationsschritten wiederholt oder iterativ wiederholt, bis der erste Verlustwert einen vordefinierten Schwellenwert unterschreitet. Alternativ oder zusätzlich ist auch vorstellbar, dass das Training beendet wird, wenn ein durchschnittlicher erster Verlustwert bezüglich eines Test- oder Validierungsdatensatzes einen vordefinierten Schwellenwert unterschreitet. In mindestens einer der Iterationen werden die in einer vorherigen Iteration bestimmten neuen Parameter (Φ') als Parameter (Φ) des Klassifikators (60) verwendet.In further preferred exemplary embodiments, the training described is repeated iteratively for a predefined number of iteration steps or iteratively repeated until the first loss value falls below a predefined threshold value tet. Alternatively or additionally, it is also conceivable that the training is ended when an average first loss value in relation to a test or validation data set falls below a predefined threshold value. In at least one of the iterations, the new parameters (Φ') determined in a previous iteration are used as parameters (Φ) of the classifier (60).

Des Weiteren kann das Trainingssystem (140) mindestens einen Prozessor (145) und mindestens ein maschinenlesbares Speichermedium (146) umfassen, welches Befehle enthält, welche, wenn sie durch den Prozessor (145) ausgeführt werden, das Trainingssystem (140) veranlassen, ein Trainingsverfahren nach einem der Aspekte der Erfindung auszuführen.Furthermore, the training system (140) can include at least one processor (145) and at least one machine-readable storage medium (146) containing instructions which, when executed by the processor (145), cause the training system (140) to carry out a training method according to one of the aspects of the invention.

Der Begriff „Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.The term "computer" includes any device for processing predeterminable calculation rules. These calculation rules can be in the form of software, or in the form of hardware, or in a mixed form of software and hardware.

Im Allgemeinen kann eine Mehrzahl als indexiert verstanden werden, d.h. jedem Element der Mehrzahl wird ein eindeutiger Index zugewiesen, vorzugsweise durch Zuweisung aufeinanderfolgender Ganzzahlen an die in der Mehrzahl enthaltenen Elemente. Vorzugsweise, wenn eine Mehrzahl N Elemente umfasst, wobei N die Anzahl der Elemente in der Mehrzahl ist, werden den Elementen die ganzen Zahlen von 1 bis N zugewiesen.In general, a plurality can be understood as indexed, i.e. each element of the plurality is assigned a unique index, preferably by assigning consecutive integers to the elements contained in the plurality. Preferably, when a plurality comprises N elements, where N is the number of elements in the plurality, integers from 1 to N are assigned to the elements.

Claims (12)

Computerimplementiertes Verfahren zum Ermitteln einer Pose eines Objekts umfassend die Schritte: • Empfangen einer Mehrzahl von Bildern, die das Objekt zeigen, wobei Pixeln der Bilder der Mehrzahl von Bildern jeweils Tiefeninformationen bezüglich des Objekts zugeordnet sind; • Falls die Tiefeninformationen nicht in Form von jeweils Punktwolken vorliegen, umwandeln der jeweiligen Tiefeninformationen in jeweilige Punktwolken, wobei Punkte der jeweiligen Punktwolken jeweils Pixeln der Bilder zugeordnet sind; • Ermitteln von ersten Merkmalsrepräsentationen der Pixel der Bilder, wobei jeweils für einen Pixel eine erste Merkmalsrepräsentation ermittelt wird; • Zusammenfassen der Punktwolken zu einer Gesamtpunktwolke; • Ermitteln von zweiten Merkmalsrepräsentationen, wobei jeweils für einen Punkt der Gesamtpunktwolke eine zweite Merkmalsrepräsentation ermittelt wird; • Ermitteln von dritten Merkmalsrepräsentationen, wobei die dritten Merkmalsrepräsentationen jeweils eine Konkatenation von erster Merkmalsrepräsentation und zweiter Merkmalsrepräsentation eines Pixels charakterisieren; • Ermitteln einer vierten Merkmalsrepräsentation basierend auf den dritten Merkmalsrepräsentationen; • Ermitteln der Pose des Objekts basierend auf den dritten Merkmalsrepräsentationen und der vierten Merkmalsrepräsentation.Computer-implemented method for determining a pose of an object, comprising the steps: • receiving a plurality of images showing the object, wherein pixels of the images of the plurality of images are each associated with depth information relating to the object; • If the depth information is not in the form of respective point clouds, converting the respective depth information into respective point clouds, with points of the respective point clouds being associated with pixels of the images; • determining first feature representations of the pixels of the images, a first feature representation being determined for each pixel; • Combining the point clouds into a total point cloud; • Determining second feature representations, a second feature representation being determined for each point in the total point cloud; • determining third feature representations, the third feature representations each characterizing a concatenation of a first feature representation and a second feature representation of a pixel; • determining a fourth feature representation based on the third feature representations; • determining the pose of the object based on the third feature representations and the fourth feature representation. Verfahren nach Anspruch 1, wobei jeweils ein Bild und die dem Bild zugeordnete Tiefeninformation in Form eines RGBD-Bildes vorliegen.procedure after claim 1 , wherein in each case an image and the depth information associated with the image are present in the form of an RGBD image. Verfahren nach einem der Ansprüche 1 oder 2, wobei das Ermitteln der Pose des Objekts basierend auf den dritten Merkmalsrepräsentationen und der vierten Merkmalsrepräsentation die folgenden Schritte umfasst: • Ermitteln einer Mehrzahl von fünften Merkmalsrepräsentation durch Konkatenation jeweils einer dritten Merkmalsrepräsentation und der vierten Merkmalsrepräsentation; • Ermitteln jeweils einer Klassifikation der fünften Merkmalsrepräsentationen und zusammenführen der Punkte der Punktewolke, die mit den fünften Merkmalsrepräsentationen korrespondieren, die in eine Klasse des Objekts klassifiziert wurden; • Ermitteln von Schlüsselpunkten der zusammengeführten Punkte und von Schlüsselpunkten einer Punktewolke, wobei die Punktewolke ein Modell des Objekts charakterisiert; • Ermitteln der Pose basierend auf einer Ermittlung einer Transformation von den Schlüsselpunkten der zusammengeführten Punkte und den Schlüsselpunkten der das Modell charakterisierenden Punktwolke.Procedure according to one of Claims 1 or 2 , wherein determining the pose of the object based on the third feature representations and the fourth feature representation comprises the following steps: • determining a plurality of fifth feature representations by concatenating a third feature representation and the fourth feature representation; • Determining a classification of the fifth feature representations and merging the points of the point cloud that correspond to the fifth feature representations that have been classified into a class of the object; • determining key points of the merged points and key points of a point cloud, the point cloud characterizing a model of the object; • Determining the pose based on determining a transformation from the key points of the merged points and the key points of the point cloud characterizing the model. Verfahren nach einem Anspruch 3, wobei die Schlüsselpunkte der zusammengeführten Punkte und/oder die Schlüsselpunkte der das Modell charakterisierenden Punktwolke mittels eines Algorithmus zur Ermittlung einer Stichprobe des entferntesten Punktes (engl.: farthest point sampling algorithm) ermitteln werden.procedure after a claim 3 , wherein the key points of the merged points and/or the key points of the point cloud characterizing the model are determined by means of a farthest point sampling algorithm. Verfahren nach einem der Ansprüche 3 oder 4, wobei die Pose durch eine Transformation, insbesondere eine Rotations-Transformation und Translations-Transformation, charakterisiert wird, wobei die Transformation eine Transformation charakterisiert, mit der die Schlüsselpunkte der das Modell charakterisierenden Punktewolke auf die Schlüsselpunkte der zusammengeführten Punkte abgebildet werden.Procedure according to one of claims 3 or 4 , the pose being characterized by a transformation, in particular a rotation transformation and a translation transformation, the transformation characterizing a transformation with which the key points of the point cloud characterizing the model are mapped to the key points of the merged points. Verfahren nach Anspruch 5, wobei die Transformation basierend auf einem Algorithmus zur Minimierung der kleinsten Fehlerquadrate ermittelt wird (engl. least-squares fitting).procedure after claim 5 , whereby the transformation is determined based on a least-squares fitting algorithm. Verfahren nach einem der Ansprüche 1 bis 6, wobei die ersten Merkmalsrepräsentationen und/oder die zweiten Merkmalsrepräsentationen und/oder die vierte Merkmalsrepräsentation und/oder die fünfte Merkmalsrepräsentation jeweils mittels eines Verfahrens des maschinellen Lernens ermittelt wird.Procedure according to one of Claims 1 until 6 , wherein the first feature representations and/or the second feature representations and/or the fourth feature representation and/or the fifth feature representation is determined in each case by means of a machine learning method. Verfahren nach Anspruch 7, wobei die maschinellen Lernverfahren in einem weiteren Schritt des Verfahrens trainiert werden.procedure after claim 7 , whereby the machine learning methods are trained in a further step of the method. Vorrichtung (60) zur Posenschätzung, welche ausgebildet ist das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.Device (60) for pose estimation, which is designed according to one of the methods Claims 1 until 7 to execute. Trainingsvorrichtung (140), welche eingerichtet ist, das Verfahren nach einem der Ansprüche 8 auszuführen.Training device (140), which is set up, the method according to any one of Claims 8 to execute. Computerprogramm, welches eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 8 auszuführen, wenn es durch einen Prozessor (45, 145) ausgeführt wird.Computer program which is set up, the method according to one of Claims 1 until 8th to be executed when executed by a processor (45, 145). Maschinenlesbares Speichermedium (46, 146), auf dem das Computerprogramm nach Anspruch 10 gespeichert ist.Machine-readable storage medium (46, 146) on which the computer program claim 10 is saved.
DE102021214254.0A 2021-12-13 2021-12-13 Method and device for estimating the pose of objects Pending DE102021214254A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021214254.0A DE102021214254A1 (en) 2021-12-13 2021-12-13 Method and device for estimating the pose of objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021214254.0A DE102021214254A1 (en) 2021-12-13 2021-12-13 Method and device for estimating the pose of objects

Publications (1)

Publication Number Publication Date
DE102021214254A1 true DE102021214254A1 (en) 2023-06-15

Family

ID=86498603

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021214254.0A Pending DE102021214254A1 (en) 2021-12-13 2021-12-13 Method and device for estimating the pose of objects

Country Status (1)

Country Link
DE (1) DE102021214254A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HE, Yisheng [u.a.]: PVN3D: A Deep Point-wise 3D Keypoints Voting Network for 6DoF Pose Estimation. 24-03-2020. S. 1-13. URL: https://arxiv.org/pdf/1911.04231v2.pdf [abgerufen am 2022-01-27].
TENG, X., et al.: Three-dimensional reconstruction method of rapeseed plants in the whole growth period using RGB-D camera. In: Sensors, 2021, 21. Jg., Nr. 14, 4628. S. 1-20. doi: 10.3390/s21144628
WU, M., et al.: Multi-view neural human rendering. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. S. 1682-1691. [online abrufbar über https://openaccess.thecvf.com/content_CVPR_2020/papers/Wu_Multi-View_Neural_Human_Rendering_CVPR_2020_paper.pdf]

Similar Documents

Publication Publication Date Title
DE102018215826B4 (en) Robot system and workpiece gripping method
DE102018215057B4 (en) Machine learning device, robot system and machine learning method
WO2015173092A1 (en) Method and apparatus for calibrating a camera system in a motor vehicle
DE102018128531A1 (en) System and method for analyzing a three-dimensional environment represented by a point cloud through deep learning
DE102018212531B4 (en) Article transfer device
DE112018007727B4 (en) robotic system
DE102017221765A1 (en) Train and operate a machine learning system
DE102016210482A1 (en) Optical sorting system and corresponding sorting method
DE102018121866A1 (en) Method for depth estimation of two-dimensional sensor data
WO2021063572A1 (en) Device and method for processing data from a neural network
DE102020201939A1 (en) Method and device for evaluating an image classifier
DE102021214254A1 (en) Method and device for estimating the pose of objects
DE102022201679A1 (en) Method and device for training a neural network
EP2059905A2 (en) Method for determining the position of objects in three-dimensional space
EP2808843B1 (en) Method of parameterisation of an image processing system for the monitoring of a machine tool
DE102004007049A1 (en) Method for classifying an object with a stereo camera
EP3582140A1 (en) System for the automatic recognition of laboratory work objects and method for operating a system for automatic recognition of laboratory work objects
DE102018121317A1 (en) Method and device for estimating direction information conveyed by a free space gesture for determining user input at a human-machine interface
DE102004050942B4 (en) Bootstrap method for supervised teach-in of a pattern recognition system
DE102018217219B4 (en) Method for determining a three-dimensional position of an object
EP4141805A1 (en) Method for the generation, automated annotation and provision of training image data
WO2022152522A1 (en) Method and system for recognizing objects, which are represented in an image by means of a point cloud
DE102022205824A1 (en) Method and device for training a neural network
DE112021001431T5 (en) ARTIFICIAL INTELLIGENCE COMPUTER PROGRAM PRODUCT AND TRAINING CONTROL DEVICE
DE102022209517A1 (en) Method and device for training an object detector

Legal Events

Date Code Title Description
R163 Identified publications notified