DE102021207086A1 - Method and system for carrying out an industrial application, in particular a robot application - Google Patents

Method and system for carrying out an industrial application, in particular a robot application Download PDF

Info

Publication number
DE102021207086A1
DE102021207086A1 DE102021207086.8A DE102021207086A DE102021207086A1 DE 102021207086 A1 DE102021207086 A1 DE 102021207086A1 DE 102021207086 A DE102021207086 A DE 102021207086A DE 102021207086 A1 DE102021207086 A1 DE 102021207086A1
Authority
DE
Germany
Prior art keywords
model
environment
machine learning
image
object recognition
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
DE102021207086.8A
Other languages
German (de)
Inventor
Pierre Venet
Kirill Safronov
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.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland 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 KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Priority to DE102021207086.8A priority Critical patent/DE102021207086A1/en
Priority to PCT/EP2022/066935 priority patent/WO2023280566A1/en
Publication of DE102021207086A1 publication Critical patent/DE102021207086A1/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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

Ein Verfahren zum Erstellen von Trainingsdaten zum maschinellen Lernen einer Objekterkennung, insbesondere für eine Industrie-, insbesondere Roboterapplikation, umfasst die Schritte: Bereitstellen (S20) eines Modells eines ersten, zu erkennenden Objekts (5'); Auswählen (S30) eines Modells einer ersten Umgebung des ersten Objekts auf Basis des ersten Objekts aus einer Umgebungsmodellbibliothek; virtuelles Anordnen (S70) des Modells des ersten Objekts in dem Modell der ersten Umgebung in einer ersten Pose; und Ermitteln (S80) eines ersten Bilds der ersten Umgebung mit dem ersten Objekt auf Basis des Modells der ersten Umgebung mit dem darin in der ersten Pose virtuell angeordneten Modell des ersten Objekts als Trainingsbild zum maschinellen Lernen einer Objekterkennung.A method for creating training data for machine learning of object recognition, in particular for an industrial application, in particular a robot application, comprises the steps: providing (S20) a model of a first object (5') to be recognized; selecting (S30) a model of a first environment of the first object based on the first object from an environment model library; virtually arranging (S70) the model of the first object in the model of the first environment in a first pose; and determining (S80) a first image of the first environment with the first object based on the model of the first environment with the model of the first object virtually arranged therein in the first pose as a training image for machine learning of an object recognition.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Durchführen einer Industrie-, insbesondere Roboterapplikation auf Basis einer maschinell gelernten Objekterkennung, ein Verfahren zum maschinellen Lernen einer Objekterkennung auf Basis von Trainingsdaten, ein Verfahren zum Erstellen der Trainingsdaten sowie Systeme und Computerprogramm bzw. Computerprogrammprodukte zur Durchführung solcher Verfahren.The present invention relates to a method for carrying out an industrial application, in particular a robot application, based on machine-learned object recognition, a method for machine-learning object recognition based on training data, a method for creating the training data and systems and computer programs or computer program products for carrying out such methods .

Mithilfe maschinell gelernter Objekterkennungen können Industrie-, insbesondere Roboterapplikationen vorteilhaft durchgeführt, insbesondere Maschinen, insbesondere Roboter, auf Basis einer solchen Objekterkennung gesteuert und/oder überwacht werden, beispielsweise Objekte greifen, bearbeiten und/oder transportieren, Objekten ausweichen und/oder navigieren oder dergleichen.With the help of machine-learned object recognition, industrial applications, in particular robot applications, can be advantageously carried out, in particular machines, in particular robots, can be controlled and/or monitored on the basis of such object recognition, for example gripping, processing and/or transporting objects, avoiding and/or navigating objects or the like.

Zum maschinellen Lernen von Objekterkennungen werden viele Trainingsbilder von Umgebungen mit zu erkennenden Objekten benötigt, deren Bereitstellung, insbesondere Erzeugung und/oder Labelung bzw. Klassifizierung aufwendig ist.Many training images of environments with objects to be recognized are required for machine learning of object recognition, the provision of which, in particular generation and/or labeling or classification, is complex.

Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, Trainingsdaten zum maschinellen Lernen einer Objekterkennung zur Verfügung zu stellen bzw. das Erstellen solcher Trainingsdaten zu verbessern. Eine Aufgabe einer weiteren Ausführung der vorliegenden Erfindung ist es, das maschinelle Lernen einer Objekterkennung zu verbessern. Eine Aufgabe einer weiteren Ausführung der vorliegenden Erfindung ist es, das Durchführen einer Industrie-, insbesondere Roboterapplikation zu verbessern.An object of an embodiment of the present invention is to provide training data for machine learning of an object recognition or to improve the creation of such training data. An object of a further embodiment of the present invention is to improve the machine learning of an object recognition. An object of a further embodiment of the present invention is to improve the implementation of an industrial application, in particular a robot application.

Diese Aufgaben werden insbesondere durch ein Verfahren mit den Merkmalen des Anspruchs 1, 10 bzw. 11 gelöst. Ansprüche 12-15 stellen ein System bzw. Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.These objects are achieved in particular by a method having the features of claims 1, 10 and 11, respectively. Claims 12-15 protect a system or computer program or computer program product for carrying out a method described here. The dependent claims relate to advantageous developments.

Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Erstellen von Trainingsdaten zum maschinellen Lernen einer Objekterkennung die Schritte auf:

  • - Bereitstellen eines Modells eines ersten, zu erkennenden Objekts;
  • - Auswählen eines Modells einer ersten Umgebung des ersten Objekts auf Basis des ersten Objekts aus einer Umgebungsmodellbibliothek;
  • - virtuelles Anordnen des Modells des ersten Objekts in dem Modell der ersten Umgebung in einer ersten Pose; und
  • - Ermitteln eines ersten Bilds der ersten Umgebung mit dem ersten Objekt auf Basis des Modells der ersten Umgebung mit dem darin in der ersten Pose virtuell angeordneten Modell des ersten Objekts als Trainingsbild zum maschinellen Lernen einer Objekterkennung.
According to one embodiment of the present invention, a method for creating training data for machine learning of object recognition has the steps:
  • - providing a model of a first object to be recognized;
  • - selecting a model of a first environment of the first object based on the first object from an environment model library;
  • - virtually arranging the model of the first object in the model of the first environment in a first pose; and
  • - Determining a first image of the first environment with the first object based on the model of the first environment with the model of the first object arranged therein virtually in the first pose as a training image for machine learning of an object recognition.

Indem das Modell der ersten Umgebung auf Basis des ersten Objekts aus einer Umgebungsmodellbibliothek ausgewählt wird, wird zwar gegebenenfalls die Allgemeinheit der Objekterkennung reduziert, da eine entsprechend gelernte Objekterkennung insoweit auf bestimmte Umgebungen spezialisiert ist.By selecting the model of the first environment from an environment model library on the basis of the first object, the generality of the object recognition may be reduced, since a correspondingly learned object recognition is specialized in certain environments.

Dafür kann aber in einer Ausführung die Präzision der Objekterkennung erhöht werden. Dies ist besonders bei Industrieapplikationen und ganz besonderes bei Roboterapplikationen einerseits besonders wichtig, während dabei andererseits die Allgemeinheit der Objekterkennung von geringer(er) Bedeutung ist, da diese in der Regel in spezifischen Umgebungen durchgeführt werden.In return, however, the precision of the object recognition can be increased in one embodiment. On the one hand, this is particularly important for industrial applications and especially for robot applications, while on the other hand, the generality of object recognition is of lesser importance, since these are usually carried out in specific environments.

Daher ist die vorliegende Erfindung besonders für das Durchführen von Industrie-, insbesondere Roboterapplikationen bzw. das maschinelle Lernen von Objekterkennungen auf Basis von Trainingsdaten hierfür bzw. das Erstellen von Trainingsdaten hierfür geeignet, ohne jedoch hierauf beschränkt zu sein.The present invention is therefore particularly suitable for carrying out industrial applications, in particular robot applications, or for machine learning of object recognition on the basis of training data for this or for creating training data for this, but without being limited to this.

Allgemein kann in einer Ausführung durch das Auswählen des Modells der ersten Umgebung auf Basis des ersten Objekts aus einer Umgebungsmodellbibliothek die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen der Objekterkennung bzw. Erstellen von Trainingsdaten hierfür bzw. das maschinelle Lernen bzw. Durchführen der Applikation verbessert werden.In general, in one embodiment, by selecting the model of the first environment based on the first object from an environment model library, the precision, robustness, reliability and/or speed when executing the application, machine learning of object recognition or creation of training data for this or the machine Learning or carrying out the application can be improved.

In einer Ausführung weist das Verfahren die Schritte auf:

  • - virtuelles Anordnen des Modells des ersten Objekts in dem Modell der ersten Umgebung in einer oder mehreren zweiten Pose(n); und
  • - (jeweils) Ermitteln eines zweiten Bilds der ersten Umgebung mit dem ersten Objekt auf Basis des Modells der ersten Umgebung mit dem darin in (einer) der zweiten Pose(n) virtuell angeordneten Modell des ersten Objekts als (jeweils) weiteres Trainingsbild zum maschinellen Lernen der Objekterkennung.
In one embodiment, the method includes the steps:
  • - virtually arranging the model of the first object in the model of the first environment in one or more second pose(s); and
  • - (each) determining a second image of the first environment with the first object based on the model of the first environment with the model of the first object virtually arranged therein in (one) of the second pose(s) as (each) further training image for machine learning the object recognition.

Auf diese Weise können in einer Ausführung rasch, einfach und/oder robust weitere Trainingsdaten erstellt bzw. das maschinelle Lernen der Objekterkennung bzw. Durchführen der Applikation (weiter) verbessert, insbesondere die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen bzw. Erstellen von Trainingsdaten (weiter) verbessert werden.In this way, further training data can be created quickly, easily and/or robustly in one embodiment or the machine learning of the object recognition or execution of the application (further) improved, in particular the precision, robustness, reliability and/or speed when executing the application, machine learning or creating training data can be (further) improved.

In einer Ausführung werden die ersten und/oder zweite(n) Pose(n) zufallsbasiert vorgegeben. Dadurch kann in einer Ausführung das maschinelle Lernen der Objekterkennung bzw. Durchführen der Applikation (weiter) verbessert, insbesondere die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen der Objekterkennung bzw. Erstellen von Trainingsdaten hierfür verbessert werden.In one embodiment, the first and/or second pose(s) are predetermined on a random basis. As a result, in one embodiment, the machine learning of object recognition or execution of the application can be (further) improved, in particular the precision, robustness, reliability and/or speed when executing the application, machine learning of object recognition or the creation of training data for this can be improved.

In einer Ausführung weist das Verfahren die Schritte auf:

  • - Auswählen (je) eines Modells einer oder mehrerer zweiter Umgebung(en) des ersten Objekts auf Basis des ersten Objekts aus der Umgebungsmodellbibliothek;
  • - virtuelles Anordnen des Modells des ersten Objekts in dem (jeweiligen) Modell der (jeweiligen) zweiten Umgebung, insbesondere in einer oder mehreren verschiedenen Posen; und
  • - (jeweils) Ermitteln eines Bilds der (jeweiligen) zweiten Umgebung mit dem ersten Objekt auf Basis des (jeweiligen) Modells der (jeweiligen) zweiten Umgebung mit dem darin virtuell angeordneten Modell des ersten Objekts als (jeweils ein) weiteres Trainingsbild zum maschinellen Lernen der Objekterkennung, in einer Ausführung (jeweils) Ermitteln eines Bilds der (jeweiligen) zweiten Umgebung mit dem ersten Objekt auf Basis des (jeweiligen) Modells der (jeweiligen) zweiten Umgebung mit dem darin in einer der verschiedenen Posen virtuell angeordneten Modell des ersten Objekts als (jeweils ein) weiteres Trainingsbild zum maschinellen Lernen der Objekterkennung.
In one embodiment, the method includes the steps:
  • - selecting (each) a model of one or more second environment(s) of the first object based on the first object from the environment model library;
  • - Virtually arranging the model of the first object in the (respective) model of the (respective) second environment, in particular in one or more different poses; and
  • - (each) determining an image of the (each) second environment with the first object based on the (each) model of the (each) second environment with the model of the first object virtually arranged therein as (each) a further training image for machine learning Object recognition, in one embodiment (respectively) determining an image of the (respective) second environment with the first object on the basis of the (respective) model of the (respective) second environment with the model of the first object virtually arranged therein in one of the different poses as ( one) additional training image for machine learning of object recognition.

Auf diese Weise können in einer Ausführung rasch, einfach und/oder robust weitere Trainingsdaten erstellt bzw. das maschinelle Lernen der Objekterkennung bzw. Durchführen der Applikation (weiter) verbessert, insbesondere die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen bzw. Erstellen von Trainingsdaten (weiter) verbessert werden.In this way, in one embodiment, further training data can be created quickly, easily and/or robustly or the machine learning of object recognition or execution of the application can be (further) improved, in particular the precision, robustness, reliability and/or speed when executing the application, machine learning or the creation of training data can be (further) improved.

In einer Ausführung weist das Verfahren die Schritte auf:

  • - Bereitstellen (je) eines Modells eines oder mehrerer zweiter Objekte; und
  • - virtuelles Anordnen des Modells bzw. der Modelle des (jeweiligen) zweiten Objekts in dem Modell der ersten Umgebung;

wobei das erste Bild auf Basis des Modells der ersten Umgebung mit den darin virtuell angeordneten Modellen des ersten Objekts und des bzw. der zweiten Objekte als Trainingsbild zum maschinellen Lernen der Objekterkennung ermittelt wird.In one embodiment, the method includes the steps:
  • - Providing (each) a model of one or more second objects; and
  • - Virtually arranging the model or models of the (respective) second object in the model of the first environment;

wherein the first image is determined on the basis of the model of the first environment with the models of the first object and of the second object or objects arranged virtually therein as a training image for machine learning of the object recognition.

In einer Ausführung werden das bzw. eines oder mehrere der Modelle des (jeweiligen) zweiten Objekts auch in dem bzw. einem oder mehreren der Modelle der (jeweiligen) zweiten Umgebung virtuell angeordnet und die entsprechenden Bilder der (jeweiligen) zweiten Umgebung mit dem ersten Objekt auf Basis des Modells der zweiten Umgebung mit den darin virtuell angeordneten Modellen des ersten Objekts und des bzw. der zweiten Objekte als Trainingsbild zum maschinellen Lernen der Objekterkennung ermittelt.In one embodiment, the one or more models of the (respective) second object are also arranged virtually in the or one or more models of the (respective) second environment and the corresponding images of the (respective) second environment with the first object determined on the basis of the model of the second environment with the models of the first object and of the second object or objects arranged virtually therein as a training image for machine learning of object recognition.

Zusätzlich oder alternativ werden in einer Ausführung das bzw. eines oder mehrere der Modelle des (jeweiligen) zweiten Objekts jeweils in verschiedenen Posen in dem Modell der ersten Umgebung bzw. dem bzw. einem oder mehreren der Modelle der (jeweiligen) zweiten Umgebung virtuell angeordnet und die entsprechenden Bilder der (jeweiligen) Umgebung mit dem ersten Objekt auf Basis des Modells dieser Umgebung mit den darin in den entsprechenden Posen virtuell angeordneten Modellen des ersten Objekts und des bzw. der zweiten Objekte als Trainingsbild zum maschinellen Lernen der Objekterkennung ermittelt.Additionally or alternatively, in one embodiment, the or one or more of the models of the (respective) second object are arranged virtually in different poses in the model of the first environment or the or one or more of the models of the (respective) second environment and the corresponding images of the (respective) environment with the first object are determined on the basis of the model of this environment with the models of the first object and of the second object or objects virtually arranged therein in the corresponding poses as a training image for machine learning of object recognition.

Auf diese Weise können in einer Ausführung rasch, einfach und/oder robust weitere Trainingsdaten erstellt bzw. das maschinelle Lernen der Objekterkennung bzw. Durchführen der Applikation (weiter) verbessert, insbesondere die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen bzw. Erstellen von Trainingsdaten (weiter) verbessert werden.In this way, in one embodiment, further training data can be created quickly, easily and/or robustly or the machine learning of object recognition or execution of the application can be (further) improved, in particular the precision, robustness, reliability and/or speed when executing the application, machine learning or the creation of training data can be (further) improved.

In einer Ausführung ist das Modell der ersten Umgebung und/oder das bzw. eines oder mehrere der Modelle der zweiten Umgebung und/oder das Modell des ersten Objekts und/oder das Modell des bzw. eines oder mehrere der zweiten Objekte (jeweils) dreidimensional.In one embodiment, the model of the first environment and/or the one or more of the models of the second environment and/or the model of the first object and/or the model of the one or more of the second objects (each) is three-dimensional.

Zusätzlich oder alternativ ist, in einer Ausführung wird, das Modell der ersten Umgebung und/oder das bzw. eines oder mehrere der Modelle der zweiten Umgebung und/oder das Modell des ersten Objekts und/oder das Modell des bzw. eines oder mehrere der zweiten Objekte (jeweils) mithilfe eines Kamerabilds aus einer oder mehreren Kameraperspektiven erstellt. Somit umfasst in einer Ausführung das Verfahren zum Erstellen von Trainingsdaten auch das Erstellen des Modells der ersten Umgebung und/oder des bzw. eines oder mehrerer der Modelle der zweiten Umgebung und/oder des Modells des ersten Objekts und/oder des Modells des bzw. eines oder mehrere der zweiten Objekte.Additionally or alternatively, in one embodiment, the model of the first environment and/or the one or more of the models of the second environment and/or the model of the first object and/or the model of the or one or more of the second Objects (each) using a camera image from one or more camera pers spotting created. Thus, in one embodiment, the method for creating training data also includes creating the model of the first environment and/or the or one or more models of the second environment and/or the model of the first object and/or the model of the or one or more of the second objects.

In einer Ausführung ist, in einer Weiterbildung wird, das Modell der ersten Umgebung und/oder das bzw. eines oder mehrere der Modelle der zweiten Umgebung und/oder das Modell des ersten Objekts und/oder das Modell des bzw. eines oder mehrere der zweiten Objekte (jeweils) mithilfe einer robotergeführten oder handgeführten Kamera und/oder vSLAM (visual Simultaneous Localization and Mapping) erstellt. In einer Ausführung wird zum Erstellen des Modells der ersten Umgebung und/oder des bzw. eines oder mehrerer der Modelle der zweiten Umgebung und/oder des Modells des ersten Objekts und/oder des Modells des bzw. eines oder mehrere der zweiten Objekte dieselbe Kamera verwendet, die auch bei der Objekterkennung bzw. Durchführen der Applikation verwendet wird.In one embodiment, in a further development, the model is the first environment and/or one or more of the models of the second environment and/or the model of the first object and/or the model of one or more of the second Objects (each) created using a robotic or handheld camera and/or vSLAM (visual Simultaneous Localization and Mapping). In one embodiment, the same camera is used to create the model of the first environment and/or the one or more models of the second environment and/or the model of the first object and/or the model of the one or more second objects , which is also used for object recognition or execution of the application.

Durch eines oder insbesondere mehrere dieser Merkmale kann in einer Ausführung das maschinelle Lernen der Objekterkennung bzw. Durchführen der Applikation bzw. Erstellen von Trainingsdaten (weiter) verbessert, insbesondere die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen bzw. Erstellen von Trainingsdaten (weiter) verbessert werden.In one embodiment, one or more of these features can (further) improve the machine learning of the object recognition or the execution of the application or the creation of training data, in particular the precision, robustness, reliability and/or speed when executing the application, machine learning or Creation of training data can be (further) improved.

In einer Ausführung wird das erste Objekt zufallsbasiert und/oder auf einer virtuellen Ablagefläche in dem Modell der ersten Umgebung angeordnet, wobei diese Ablagefläche auf Basis des ersten Objekts und/oder der ersten Umgebung identifiziert ist, in einer Ausführung wird.In one embodiment, the first object is arranged randomly and/or on a virtual shelf in the model of the first environment, with this shelf being identified on the basis of the first object and/or the first environment, in one embodiment.

Zusätzlich oder alternativ wird das erste Objekt zufallsbasiert und/oder auf einer virtuellen Ablagefläche in dem bzw. einem oder mehreren der Modelle der (jeweiligen) zweiten Umgebung angeordnet, wobei diese Ablagefläche auf Basis des ersten Objekts und/oder der (jeweiligen) zweiten Umgebung identifiziert ist, in einer Ausführung wird.Additionally or alternatively, the first object is arranged randomly and/or on a virtual storage area in the or one or more of the models of the (respective) second environment, this storage area being identified on the basis of the first object and/or the (respective) second environment is, in one embodiment will.

Zusätzlich oder alternativ werden das bzw. eines oder mehrere der zweite(n) Objekt(e jeweils) zufallsbasiert und/oder auf einer virtuellen Ablagefläche in dem Modell der ersten Umgebung angeordnet, wobei diese Ablagefläche auf Basis des (jeweiligen) zweiten Objekts und/oder der ersten Umgebung identifiziert ist, in einer Ausführung wird.Additionally or alternatively, the or one or more of the second object(s) are randomly arranged and/or arranged on a virtual shelf in the model of the first environment, with this shelf based on the (respective) second object and/or the first environment is identified in an embodiment.

Zusätzlich oder alternativ werden das bzw. eines oder mehrere der zweite(n) Objekt(e jeweils) zufallsbasiert und/oder auf einer virtuellen Ablagefläche in dem bzw. einem oder mehreren der Modelle der (jeweiligen) zweiten Umgebung angeordnet, wobei diese Ablagefläche auf Basis des (jeweiligen) zweiten Objekts und/oder der (jeweiligen) zweiten Umgebung identifiziert ist, in einer Ausführung wird.Additionally or alternatively, the or one or more of the second (n) object (s) are randomly based and / or arranged on a virtual storage area in the or one or more of the models of the (respective) second environment, this storage area based of the (respective) second object and/or the (respective) second environment is identified, in one embodiment.

Bei der Identifikation einer virtuellen Ablagefläche auf Basis des Objekts, das virtuell auf dieser angeordnet wird, wird in einer Ausführung eine Außenabmessung des Objekts mit einer Außenabmessung der Ablagefläche verglichen und diese nur als virtuelle Ablagefläche identifiziert, falls ihre Außenabmessung so groß wie oder größer als die Außenabmessung des Objekts ist.In identifying a virtual shelf based on the object that is virtually placed on it, in one embodiment, an outside dimension of the object is compared to an outside dimension of the shelf and it is identified as a virtual shelf only if its outside dimension is equal to or greater than the Outer dimension of the object is.

Bei der Identifikation einer virtuellen Ablagefläche auf Basis der Umgebung wird in einer Ausführung eine Ablagefläche eines Umgebungselements verwendet, von dem bekannt ist, dass es eine entsprechende Ablagefläche aufweist und in der Umgebung vorhanden ist, beispielsweise eine Tischfläche eines Tischs oder dergleichen.When identifying a virtual shelf based on the environment, in one embodiment a shelf of an environmental element is used that is known to have a corresponding shelf and is present in the environment, for example a table surface of a table or the like.

Durch eines oder insbesondere mehrere dieser Merkmale kann in einer Ausführung das maschinelle Lernen der Objekterkennung bzw. Durchführen der Applikation bzw. Erstellen von Trainingsdaten (weiter) verbessert, insbesondere die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen bzw. Erstellen von Trainingsdaten (weiter) verbessert werden.In one embodiment, one or more of these features can (further) improve the machine learning of the object recognition or the execution of the application or the creation of training data, in particular the precision, robustness, reliability and/or speed when executing the application, machine learning or Creation of training data can be (further) improved.

In einer Ausführung weisen erstellte Trainingsdaten(sätze) zum maschinellen Lernen der Objekterkennung (jeweils) wenigstens eines der Trainingsbilder und Zusatzdaten, in einer Ausführung eine Bounding Box und/oder eine Maske, des ersten Objekts auf bzw. werden die entsprechenden Zusatzdaten auf Basis des ersten Objekts, insbesondere der Pose, in der sein Modell jeweils virtuell in dem entsprechenden Modell der entsprechenden Umgebung angeordnet wird bzw. ist, erstellt und zusammen mit dem entsprechenden Trainingsbild abgespeichert und/oder zum maschinellen Lernen der Objekterkennung zur Verfügung gestellt bzw. genutzt.In one embodiment, training data (sets) created for machine learning of object recognition (each) have at least one of the training images and additional data, in one embodiment a bounding box and/or a mask, of the first object or the corresponding additional data are based on the first Object, in particular the pose in which its model is or is arranged virtually in the corresponding model of the corresponding environment, is created and stored together with the corresponding training image and/or made available or used for machine learning of object recognition.

Dadurch kann in einer Ausführung das maschinelle Lernen der Objekterkennung bzw. Durchführen der Applikation (weiter) verbessert, insbesondere die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen bzw. Erstellen von Trainingsdaten (weiter) verbessert werden.As a result, in one embodiment, the machine learning of the object recognition or execution of the application can be (further) improved, in particular the precision, robustness, reliability and/or speed when executing the application, machine learning or creation of training data can be (further) improved.

In einer Ausführung sind eines oder mehrere der Trainingsbilder (jeweils) zweidimensional und/oder werden (jeweils) mithilfe eines künstlichen Rauschens und/oder einer Projektion dreidimensionaler Modelle auf zweidimensionale Bildabschnitte und/oder aus einer, in einer Ausführung zufallsbasiert, vorgegebenen Perspektive ermittelt.In one implementation, one or more of the training images are (each) two-dimensional and/or are (each) rendered using an artificial texture dynamically and/or a projection of three-dimensional models onto two-dimensional image sections and/or from a predetermined perspective, which in one embodiment is based on random chance.

Dadurch kann in einer Ausführung das maschinelle Lernen der Objekterkennung bzw. Durchführen der Applikation (weiter) verbessert, insbesondere die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen bzw. Erstellen von Trainingsdaten (weiter) verbessert werden.As a result, in one embodiment, the machine learning of the object recognition or execution of the application can be (further) improved, in particular the precision, robustness, reliability and/or speed when executing the application, machine learning or creation of training data can be (further) improved.

In einer Ausführung wird das Modell der ersten Umgebung datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie und/oder auf Basis einer ermittelten und/oder vorgegebenen, in einer Weiterbildung in einer Datenbank gespeicherten, Zuordnung von Objekten oder Objektklassen und Umgebungen, insbesondere von Objekten oder Objektklassen und Umgebungen, in denen diese Objekte bzw. Objektklassen häufig(er) und/oder üblicherweise vorkommen bzw. angeordnet sind bzw. werden, und/oder mithilfe von Data mining, insbesondere Web mining, ausgewählt. Hierzu wird in einer Ausführung das Modell der ersten Umgebung auf Basis einer Web-Ontologie klassifiziert bzw. gekennzeichnet.In one embodiment, the model of the first environment is database and/or Internet-based and/or based on a web ontology and/or based on a determined and/or specified assignment of objects or object classes, stored in a database in a further development Environments, in particular of objects or object classes and environments in which these objects or object classes occur or are or are arranged more frequently and/or usually, and/or are selected with the aid of data mining, in particular web mining. For this purpose, in one embodiment, the model of the first environment is classified or marked on the basis of a web ontology.

Zusätzlich oder alternativ werden in einer Ausführung das bzw. eines oder mehrere Modelle der (jeweiligen) zweiten Umgebung (jeweils) datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie und/oder auf Basis einer ermittelten und/oder vorgegebenen, in einer Weiterbildung in einer Datenbank gespeicherten, Zuordnung von Objekten oder Objektklassen und Umgebungen, insbesondere einer Zuordnung von Objekten oder Objektklassen und Umgebungen, in denen diese Objekte bzw. Objektklassen häufig(er) und/oder üblicherweise vorkommen bzw. angeordnet sind bzw. werden, und/oder mithilfe von Data mining, insbesondere Web mining, ausgewählt. Hierzu wird in einer Ausführung das (jeweilige) Modell der zweiten Umgebung auf Basis einer Web-Ontologie klassifiziert bzw. gekennzeichnet.Additionally or alternatively, in one embodiment, the or one or more models of the (respective) second environment are (each) based on a database and/or Internet and/or on the basis of a web ontology and/or on the basis of a determined and/or predetermined in a development stored in a database, allocation of objects or object classes and environments, in particular an allocation of objects or object classes and environments in which these objects or object classes occur or are or are arranged more frequently and/or usually, and/or selected using data mining, in particular web mining. For this purpose, in one embodiment, the (respective) model of the second environment is classified or marked on the basis of a web ontology.

Zusätzlich oder alternativ wird in einer Ausführung das Modell des ersten Objekts, insbesondere aus einer Objektmodellbibliothek, datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie ausgewählt, in einer Weiterbildung auf Basis einer Klassifikation in Objektklassen und/oder mithilfe von Data mining, insbesondere Web mining.Additionally or alternatively, in one embodiment, the model of the first object is selected, in particular from an object model library, database and/or internet-based and/or based on a web ontology, in a further development based on a classification in object classes and/or with the help of data mining, especially web mining.

Zusätzlich oder alternativ werden in einer Ausführung das bzw. eines oder mehrere Modelle des (jeweiligen) zweiten Objekts (jeweils), insbesondere aus einer Objektmodellbibliothek, datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie und/oder auf Basis einer Klassifikation in Objektklassen und/oder mithilfe von Data mining, insbesondere Web mining, und/oder auf Basis einer ermittelten und/oder vorgegebenen, in einer Weiterbildung in einer Datenbank gespeicherten, Zuordnung von (zweiten) Objekten und Umgebungen, insbesondere einer Zuordnung von (zweiten) Objekten und Umgebungen, die in diesen Umgebungen angeordnet werden können und/oder häufig(er) und/oder üblicherweise angeordnet sind bzw. werden, bereitgestellt bzw. ausgewählt.Additionally or alternatively, in one embodiment, the or one or more models of the (respective) second object (each), in particular from an object model library, database and / or Internet-based and / or based on a web ontology and / or based on a Classification in object classes and/or with the help of data mining, in particular web mining, and/or on the basis of a determined and/or specified assignment of (second) objects and environments stored in a database in a further development, in particular an assignment of (second ) Objects and environments that can be arranged in these environments and/or are or are arranged frequently(er) and/or usually are provided or selected.

Zusätzlich oder alternativ werden in einer Ausführung eine oder mehrere der virtuellen Ablageflächen (jeweils) datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie und/oder auf Basis einer ermittelten und/oder vorgegebenen, in einer Weiterbildung in einer Datenbank gespeicherten, Zuordnung von Objekten oder Objektklassen und Ablageflächen, insbesondere einer Zuordnung von Objekten oder Objektklassen und Ablageflächen, auf denen diese Objekte bzw. Objektklassen angeordnet werden können und/oder häufig(er) und/oder üblicherweise angeordnet sind bzw. werden, einer ermittelten und/oder vorgegebenen, in einer Weiterbildung in einer Datenbank gespeicherten, Zuordnung von Umgebungselementen und Ablageflächen, insbesondere einer Zuordnung von Ablageflächen und Umgebungselementen, die diese bzw. solche Ablageflächen aufweisen, und/oder mithilfe von Data mining, insbesondere Web mining, identifiziert. In einer Ausführung werden solche Umgebungselemente und/oder eine oder mehrere der virtuellen Ablageflächen mithilfe einer Bilderkennung ermittelt bzw. identifiziert.Additionally or alternatively, in one embodiment, one or more of the virtual storage areas are (each) based on a database and/or the Internet and/or on the basis of a web ontology and/or on the basis of a determined and/or specified storage area, stored in a database in a further development , allocation of objects or object classes and storage areas, in particular an allocation of objects or object classes and storage areas on which these objects or object classes can be arranged and/or are or are arranged more frequently and/or usually, a determined and/or or predefined assignments of environmental elements and storage areas stored in a database in a development, in particular an assignment of storage areas and environmental elements that have these or such storage areas, and/or identified with the help of data mining, in particular web mining. In one embodiment, such environmental elements and/or one or more of the virtual storage areas are determined or identified using image recognition.

So kann beispielsweise für ein zu erkennendes erstes Objekt ein(e) entsprechende(s Modell einer) Umgebung ausgewählt werden, in dem ein solches Objekt bzw. Objekte einer entsprechenden Objektklasse häufig(er) und/oder üblicherweise vorkommen, beispielsweise für ein Werkstück bzw. ein Objekt der Klasse „Werkstücke“ eine Umgebung einer Roboterzelle, eines Labors, eines Förderers, einer Produktionshalle oder dergleichen.For example, a corresponding model of an environment can be selected for a first object to be recognized, in which such an object or objects of a corresponding object class frequently and/or usually occur, for example for a workpiece or an object of the class "Workpieces" an environment of a robot cell, a laboratory, a conveyor, a production hall or the like.

Zusätzlich oder alternativ können zum Beispiel für ein(e) ausgewählte(s Modell einer) Umgebung ein oder mehrere (Modelle von) zweite(n) Objekte(n) ausgewählt werden, die häufig(er) und/oder üblicherweise in solchen Umgebungen vorkommen, beispielsweise für eine Roboterzelle ein oder mehrere Objekte der Klasse „Werkstücke“, „Roboterbauteil“, „Schrauben“, „Werkzeuge“ oder dergleichen.Additionally or alternatively, for example, for a selected model of an environment, one or more (models of) second object(s) can be selected that frequently (more) and/or usually occur in such environments, For example, for a robot cell, one or more objects of the class “Workpieces”, “Robot component”, “Screws”, “Tools” or the like.

Eine virtuelle Ablagefläche kann in einer Ausführung (auch) danach identifiziert werden, dass das entsprechende Objekt aufgrund der Abmessungen von Objekt und Ablagefläche auf der Ablagefläche platziert werden kann, und/oder (auch) danach, dass sie eine Ablagefläche eines Umgebungselements, zum Beispiel in Form (einer Tischfläche) eines Tisches, ist, das üblicherweise in der entsprechenden Umgebung, zum Beispiel Laboren, vorhanden ist. Insbesondere dann kann zum Beispiel mittels Bilderkennung eine solche Ablagefläche bzw. ein solches Umgebungselement ermittelt bzw. identifiziert werden.In one embodiment, a virtual storage area can (also) be identified according to the fact that the corresponding object is based on the dimensions object and shelf can be placed on the shelf, and/or (also) after it is a shelf of a surrounding element, for example in the form of (a table surface) a table, which is usually in the corresponding environment, for example laboratories, is available. In particular, such a storage area or such a surrounding element can then be determined or identified, for example by means of image recognition.

Durch eines oder insbesondere mehrere dieser Merkmale kann in einer Ausführung das maschinelle Lernen der Objekterkennung bzw. Durchführen der Applikation bzw. Erstellen von Trainingsdaten (weiter) verbessert, insbesondere die Präzision, Robustheit, Zuverlässigkeit und/oder Geschwindigkeit beim Durchführen der Applikation, maschinellen Lernen bzw. Erstellen von Trainingsdaten (weiter) verbessert werden.In one embodiment, one or more of these features can (further) improve the machine learning of the object recognition or the execution of the application or the creation of training data, in particular the precision, robustness, reliability and/or speed when executing the application, machine learning or Creation of training data can be (further) improved.

Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum maschinellen Lernen einer Objekterkennung, insbesondere für eine Industrie-, insbesondere Roboterapplikation, die Schritte auf:

  • - Erstellen von Trainingsdaten mithilfe eines hier beschriebenen Verfahrens; und
  • - maschinelles Lernen der Objekterkennung, in einer Ausführung Trainieren eines künstlichen Neuronalen Netzes, insbesondere eines faltenden künstlichen neuronalen Netzes („Convolutional Neural Network“, CNNs) auf Basis dieser Trainingsdaten.
According to one embodiment of the present invention, a method for machine learning of object recognition, in particular for an industrial application, in particular a robot application, has the steps:
  • - create training data using a method described here; and
  • - Machine learning of object recognition, in one embodiment training an artificial neural network, in particular a convolutional artificial neural network (“Convolutional Neural Network”, CNNs) on the basis of this training data.

Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Durchführen einer Industrie-, insbesondere Roboterapplikation, die Schritte auf:

  • - maschinelles Lernen einer Objekterkennung mithilfe eines hier beschriebenen Verfahrens; und
  • - Durchführen der Applikation, in einer Ausführung Steuern und/oder Überwachen einer Maschine, insbesondere eines Roboters, auf Basis der maschinell gelernten Objekterkennung.
According to one embodiment of the present invention, a method for carrying out an industrial application, in particular a robot application, has the following steps:
  • - machine learning of an object recognition using a method described here; and
  • - Carrying out the application, in one embodiment controlling and/or monitoring a machine, in particular a robot, on the basis of machine-learned object recognition.

Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Erstellen von Trainingsdaten zum maschinellen Lernen einer Objekterkennung, insbesondere für eine Industrie-, insbesondere Roboterapplikation, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet, insbesondere hard- und/oder software-, insbesondere programmtechnisch, und/oder weist auf:

  • - Mittel zum Bereitstellen eines Modells eines ersten, zu erkennenden Objekts;
  • - Mittel zum Auswählen eines Modells einer ersten Umgebung des ersten Objekts auf Basis des ersten Objekts aus einer Umgebungsmodellbibliothek;
  • - Mittel zum virtuellen Anordnen des Modells des ersten Objekts in dem Modell der ersten Umgebung in einer ersten Pose; und
  • - Mittel zum Ermitteln eines ersten Bilds der ersten Umgebung mit dem ersten Objekt auf Basis des Modells der ersten Umgebung mit dem darin in der ersten Pose virtuell angeordneten Modell des ersten Objekts als Trainingsbild zum maschinellen Lernen einer Objekterkennung.
According to one embodiment of the present invention, a system for creating training data for machine learning of object recognition, in particular for an industrial application, in particular a robot application, is set up to carry out a method described here, in particular hardware and/or software, in particular programming, and/or or shows:
  • - Means for providing a model of a first object to be recognized;
  • - means for selecting a model of a first environment of the first object based on the first object from an environment model library;
  • - means for virtually arranging the model of the first object in the model of the first environment in a first pose; and
  • - Means for determining a first image of the first environment with the first object based on the model of the first environment with the model of the first object arranged therein virtually in the first pose as a training image for machine learning of an object recognition.

Nach einer Ausführung der vorliegenden Erfindung ist ein System zum maschinellen Lernen einer Objekterkennung, insbesondere für eine Industrie-, insbesondere Roboterapplikation, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet, insbesondere hard- und/oder software-, insbesondere programmtechnisch, und/oder weist auf:

  • - ein hier beschriebenes System zum Erstellen von Trainingsdaten nach dem vorhergehenden Anspruch; und
  • - Mittel zum maschinellen Lernen der Objekterkennung, insbesondere Trainieren eines künstlichen Neuronalen Netzes, auf Basis dieser Trainingsdaten.
According to one embodiment of the present invention, a system for machine learning of object recognition, in particular for an industrial application, in particular a robot application, is set up to carry out a method described here, in particular hardware and/or software, in particular programming, and/or has:
  • - A system described here for creating training data according to the preceding claim; and
  • - Means for machine learning of object recognition, in particular training an artificial neural network, based on this training data.

Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Durchführen einer Industrie-, insbesondere Roboterapplikation, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet, insbesondere hard- und/oder software-, insbesondere programmtechnisch, und/oder weist auf:

  • - ein hier beschriebenes System zum maschinellen Lernen einer Objekterkennung, insbesondere Trainieren eines künstlichen Neuronalen Netzes; und
  • - Mittel zum Durchführen der Applikation, insbesondere Steuern und/oder Überwachen einer Maschine, insbesondere eines Roboters, auf Basis der maschinell gelernten Objekterkennung.
According to one embodiment of the present invention, a system for carrying out an industrial application, in particular a robot application, is set up to carry out a method described here, in particular in terms of hardware and/or software, in particular in terms of programming, and/or has:
  • - A system described here for machine learning of object recognition, in particular training an artificial neural network; and
  • - Means for carrying out the application, in particular controlling and/or monitoring a machine, in particular a robot, on the basis of machine-learned object recognition.

In einer Ausführung weist das System bzw. sein(e) Mittel auf:

  • Mittel zum virtuellen Anordnen des Modells des ersten Objekts in dem Modell der ersten Umgebung in wenigstens einer zweiten Pose und Ermitteln eines zweiten Bilds der ersten Umgebung mit dem ersten Objekt auf Basis des Modells der ersten Umgebung mit dem darin in dieser zweiten Pose virtuell angeordneten Modell des ersten Objekts als weiteres Trainingsbild zum maschinellen Lernen der Objekterkennung; und/oder
  • Mittel zum Auswählen eines Modells wenigstens einer zweiten Umgebung des ersten Objekts auf Basis des ersten Objekts aus der Umgebungsmodellbibliothek und virtuellen Anordnen des Modells des ersten Objekts in diesem Modell der zweiten Umgebung und Ermitteln eines Bilds der zweiten Umgebung mit dem ersten Objekt auf Basis des Modells der zweiten Umgebung mit dem darin virtuell angeordneten Modell des ersten Objekts als weiteres Trainingsbild zum maschinellen Lernen der Objekterkennung; und/oder
  • Mittel zum Bereitstellen eines Modells wenigstens eines zweiten Objekts und virtuellen Anordnen des Modells des zweiten Objekts in dem Modell der ersten Umgebung, wobei das erste Bild auf Basis des Modells der ersten Umgebung mit den darin virtuell angeordneten Modellen des ersten und zweiten Objekts als Trainingsbild zum maschinellen Lernen der Objekterkennung ermittelt wird; und/oder Mittel zum Erstellen des Modells der ersten Umgebung und/oder des Modells der zweiten Umgebung und/oder des Modells des ersten Objekts und/oder des Modells des zweiten Objekts mithilfe eines Kamerabilds aus wenigstens einer Kameraperspektive, insbesondere aus mehreren Kameraperspektiven und/oder mithilfe einer roboter- oder handgeführten Kamera und/oder vSLAM; und/oder Mittel zum Anordnen des ersten und/oder zweiten Objekts zufallsbasiert und/oder auf einer virtuellen Ablagefläche in dem Modell der ersten Umgebung und/oder dem Modell der zweiten Umgebung, welche auf Basis dieses Objekts und/oder dieser Umgebung identifiziert ist, insbesondere Mittel zum Identifizieren einer virtuellen Ablagefläche in dem Modell der ersten Umgebung und/oder dem Modell der zweiten Umgebung auf Basis des ersten und/oder zweiten Objekts und/oder der ersten und/oder zweiten Umgebung; und/oder
  • Mittel zum Erstellen von Trainingsdaten zum maschinellen Lernen der Objekterkennung, die wenigstens eines der Trainingsbilder und Zusatzdaten, insbesondere eine Bounding Box und/oder eine Maske, des ersten Objekts aufweisen; und/oder
  • Mittel zum Ermitteln wenigstens eines der Trainingsbilder mithilfe eines künstlichen Rauschens und/oder einer Projektion dreidimensionaler Modelle auf zweidimensionale Bildabschnitte und/oder aus einer, insbesondere zufallsbasiert, vorgegebenen Perspektive; und/oder
  • Mittel zum Auswählen des Modells der ersten Umgebung und/oder des Modells der zweiten Umgebung und/oder des Modells des ersten Objekts und/oder des Modells des zweiten Objekts datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie und/oder Zuordnung von Objekten oder Objektklassen und Umgebungen und/oder Mittel zum Identifizieren wenigstens einer der virtuellen Ablageflächen datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie und/oder Zuordnung von Objekten oder Objektklassen und Ablageflächen und/oder Umgebungselementen und/oder mithilfe einer Bilderkennung.
In one embodiment, the system or its means(s) has:
  • means for virtually arranging the model of the first object in the model of the first environment in at least a second pose and determining a second image of the first environment with the first object based on the model of the first environment with the model virtually arranged therein in this second pose Model of the first object as a further training image for machine learning of object recognition; and or
  • Means for selecting a model of at least one second environment of the first object on the basis of the first object from the environment model library and virtually arranging the model of the first object in this model of the second environment and determining an image of the second environment with the first object on the basis of the model of the second environment with the model of the first object arranged virtually therein as a further training image for machine learning of object recognition; and or
  • Means for providing a model of at least one second object and virtual arrangement of the model of the second object in the model of the first environment, the first image based on the model of the first environment with the models of the first and second objects virtually arranged therein as a training image for the machine learning of object recognition is determined; and/or means for creating the model of the first environment and/or the model of the second environment and/or the model of the first object and/or the model of the second object using a camera image from at least one camera perspective, in particular from multiple camera perspectives and/or using a robotic or handheld camera and/or vSLAM; and/or means for arranging the first and/or second object randomly and/or on a virtual storage area in the model of the first environment and/or the model of the second environment, which is identified on the basis of this object and/or this environment, in particular means for identifying a virtual shelf in the model of the first environment and/or the model of the second environment based on the first and/or second object and/or the first and/or second environment; and or
  • Means for creating training data for machine learning of the object recognition, which have at least one of the training images and additional data, in particular a bounding box and/or a mask, of the first object; and or
  • means for determining at least one of the training images using artificial noise and/or a projection of three-dimensional models onto two-dimensional image sections and/or from a predetermined perspective, in particular based on random chance; and or
  • Means for selecting the model of the first environment and/or the model of the second environment and/or the model of the first object and/or the model of the second object database and/or internet-based and/or based on a web ontology and/or Allocation of objects or object classes and environments and/or means for identifying at least one of the virtual storage areas based on a database and/or internet and/or based on a web ontology and/or allocation of objects or object classes and storage areas and/or environmental elements and/or using image recognition.

Ein System und/oder ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere Trainingsdaten erstellen bzw. eine Objekterkennung maschinell lernen bzw. eine Industrie-, insbesondere Roboterapplikation durchführen kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein.In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System bzw. eine Steuerung, insbesondere einen Computer oder eine Anordnung von mehreren Computern, das System bzw. die Steuerung, insbesondere den bzw. die Computer, dazu ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet.A system and/or a means within the meaning of the present invention can be designed in terms of hardware and/or software, in particular at least one, in particular digital, processing unit, in particular microprocessor unit ( CPU), graphics card (GPU) or the like, and / or have one or more programs or program modules. The processing unit can be designed to process commands that are implemented as a program stored in a memory system, to detect input signals from a data bus and/or to output output signals to a data bus. A storage system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state and/or other non-volatile media. The program can be designed in such a way that it embodies or is able to execute the methods described here, so that the processing unit can execute the steps of such methods and thus in particular create training data or learn object recognition by machine or carry out an industrial application, in particular a robot application . In one embodiment, a computer program product can have, in particular, a computer-readable and/or non-volatile storage medium for storing a program or instructions or with a program stored thereon. In one embodiment, this program or these instructions are executed by a system or a controller, in particular a computer or an arrangement of several computers, the system or the controller, in particular the computer or computers, to carry out a method or one or more of its steps described here, or is that program or the instructions for this set up.

In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.In one embodiment, one or more, in particular all, steps of the method become full carried out continuously or partially automatically, in particular by the system or its means.

In einer Ausführung weist das System die Maschine, insbesondere den Roboter, auf.In one embodiment, the system has the machine, in particular the robot.

Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:

  • 1: ein System zum Durchführen eines Verfahrens nach einer Ausführung der vorliegenden Erfindung; und
  • 2: ein Verfahren nach einer Ausführung der vorliegenden Erfindung.
Further advantages and features emerge from the dependent claims and the exemplary embodiments. This shows, partially schematized:
  • 1 : a system for performing a method according to an embodiment of the present invention; and
  • 2 : a method according to an embodiment of the present invention.

1 zeigt ein System zum Durchführen eines Verfahrens nach einer Ausführung der vorliegenden Erfindung mit einem Roboter 1, einer Robotersteuerung 2, einem Computer 3 und einer robotergeführten Kamera 4. 1 shows a system for performing a method according to an embodiment of the present invention with a robot 1, a robot controller 2, a computer 3 and a robot-guided camera 4.

Der Computer 3 ist dazu eingerichtet, ein nachfolgend beschriebenes Verfahren durchzuführen, insbesondere mithilfe der robotergeführten Kamera 4 und einer maschinell gelernten Objekterkennung beim Durchführen einer Roboterapplikation ein Objekt 5 auf einer Ablagefläche 6 zu erkennen und/oder mithilfe von Bildern von der Kamera 4 von Objekten 5' und/oder Umgebungen mit Ablageflächen 6` Modelle der Objekte bzw. Umgebung zu erstellen und/oder auf Basis von, in einer Ausführung diesen, Modellen von Objekten und/oder Umgebungen Trainingsdaten zu erstellen und/oder auf Basis von, in einer Ausführung diesen, Trainingsdaten eine, in einer Ausführung diese (oben genannte) Objekterkennung maschinell zu lernen.The computer 3 is set up to carry out a method described below, in particular to recognize an object 5 on a storage area 6 with the aid of the robot-guided camera 4 and machine-learned object recognition when carrying out a robot application and/or with the aid of images from the camera 4 of objects 5 'And/or environments with storage areas 6` to create models of the objects or environment and/or to create training data on the basis of, in one embodiment, these models of objects and/or environments and/or on the basis of, in one embodiment, these , Training data to machine-learn this (above-mentioned) object recognition in one embodiment.

In einem Schritt S10 werden mit der Kamera 4, die in einer Abwandlung auch handgeführt sein bzw. werden kann, aus verschiedenen Kameraperspektiven Kamerabilder der Umgebung mit der Ablagefläche 6' aufgenommen und aus diesen mithilfe von vSLAM ein dreidimensionales Modell dieser Umgebung erstellt und in einer Umgebungsmodellbibliothek abgespeichert, wobei diese Umgebung mithilfe von Web-Ontologie klassifiziert wird, beispielsweise als „Roboterzelle“, „Labor“, „Fertigungshalle“, „Außenumgebung“, „Küche“ oder dergleichen. Entsprechend können auch weitere Umgebungen modelliert, in der Umgebungsmodellbibliothek abgespeichert und mithilfe von Web-Ontologie klassifiziert werden. Alternativ kann dieser Schritt auch entfallen und in Schritt S30 auf eine bereits vorhandenen Umgebungsmodellbibliothek zurückgegriffen werden.In a step S10, the camera 4, which in a modification can also be or can be hand-held, takes camera images of the environment with the shelf 6' from different camera perspectives and uses vSLAM to create a three-dimensional model of this environment and places it in an environment model library stored, with this environment being classified using web ontology, for example as "robot cell", "laboratory", "manufacturing hall", "outdoor environment", "kitchen" or the like. Accordingly, other environments can also be modeled, stored in the environment model library and classified using web ontology. Alternatively, this step can also be omitted and an already existing environment model library can be used in step S30.

In einem Schritt S20 werden mit der Kamera 4, die in einer Abwandlung auch handgeführt sein bzw. werden kann, oder einer anderen Kamera (nicht dargestellt) aus verschiedenen Kameraperspektiven Kamerabilder des Objekts 5' aufgenommen und aus diesen mithilfe von vSLAM ein dreidimensionales Modell dieses Objekts erstellt, wobei dieses Objekt(modell) mithilfe von Web-Ontologie klassifiziert wird, beispielsweise als „Werkstück“ oder dergleichen. Gleichermaßen kann ein solches Modell auch aus CAD-Daten oder dergleichen bereitgestellt werden.In a step S20, the camera 4, which in a modification can also be or can be handheld, or another camera (not shown) takes camera images of the object 5' from different camera perspectives and uses vSLAM to create a three-dimensional model of this object from these created, where this object (model) is classified using web ontology, for example as "workpiece" or the like. Equally, such a model can also be provided from CAD data or the like.

In einem Schritt S30 wird für dieses erste Objekt eine erste Umgebung aus der Umgebungsmodellbibliothek datenbank- und/oder internetbasiert und/oder auf Basis der Web-Ontologie ausgewählt. Beispielsweise können in einer Datenbank Objekten der Objektklasse „Werkstück“ Umgebungen bzw. Umgebungsmodelle „Roboterzelle“, „Labor“ und „Fertigungshalle“ zugordnet sein, Objekten einer Objektklasse „Tasse“ Umgebungen bzw. Umgebungsmodelle wie „Küche“ etc.. Die Verwendung von Web-Ontologie verbessert dabei das Zuordnen bzw. Klassifizieren bzw. Auswählen.In a step S30, a first environment from the environment model library is selected based on a database and/or the Internet and/or on the basis of the web ontology for this first object. For example, in a database, objects of the object class "workpiece" can be assigned environments or environment models "robot cell", "laboratory" and "production hall", objects of an object class "cup" environments or environment models such as "kitchen" etc.. The use of Web -Ontology improves the assignment or classification or selection.

In einem Schritt S40 wird in der ausgewählten ersten Umgebung bzw. deren Umgebungsmodell, beispielsweise „Roboterzelle“, und/oder des ersten Objekts datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie eine virtuelle Ablagefläche identifiziert, zum Beispiel eine ausreichend große Tischfläche, eine horizontale freie Ablagefläche, deren Außenabmessungen größer als Außenabmessungen des ersten Objekts sind oder dergleichen. Hierzu können beispielsweise Tische mittels Bilderkennung und deren Tischflächen erkannt und als virtuelle Ablageflächen identifiziert werden. Gleichermaßen können auch direkt horizontale freie, ausreichend große Ablageflächen mittels Bilderkennung als virtuelle Ablageflächen identifiziert werden.In a step S40, a virtual storage area is identified in the selected first environment or its environment model, for example “robot cell”, and/or the first object based on a database and/or the Internet and/or on the basis of a web ontology, for example a sufficient one large table surface, a horizontal free storage area whose external dimensions are larger than the external dimensions of the first object or the like. For this purpose, for example, tables and their tabletops can be recognized by means of image recognition and identified as virtual storage areas. Likewise, horizontally free, sufficiently large storage areas can be identified as virtual storage areas by means of image recognition.

In einem Schritt S50 werden ein oder mehrere Modelle zweiter Objekte aus einer Objektmodellbibliothek datenbank- und/oder internetbasiert und/oder auf Basis der Web-Ontologie ausgewählt. Beispielsweise können in einer Datenbank einer Umgebung bzw. einem Umgebungsmodell „Roboterzelle“ Objekte der Objektklassen „Werkstück“ und „Roboterbauteil“ zugordnet sein und entsprechend Modelle von Roboterbauteilen als Modelle zweiter Objekte ausgewählt werden.In a step S50, one or more models of second objects are selected from an object model library based on a database and/or the Internet and/or on the basis of the web ontology. For example, objects of the object classes “workpiece” and “robot component” can be assigned in a database to an environment or an environment model “robot cell” and corresponding models of robot components can be selected as models of second objects.

In einem Schritt S60 werden in der Umgebung bzw. dem Umgebungsmodell analog zu Schritt S40 virtuelle Ablageflächen für diese zweiten Objekt(modell)e identifiziert.In a step S60, analogous to step S40, virtual storage areas for these second object (model)s are identified in the environment or the environment model.

In einem Schritt S70 werden das Modell des ersten Objekts in einer ersten Pose, die zufallsbasiert vorgegeben bzw. ermittelt wird, und die Modelle der zweiten Objekte in ebenfalls zufallsbasiert vorgegebenen bzw. ermittelten Posen virtuell auf den jeweils identifizierten virtuellen Ablageflächen in dem ausgewählten Modell der ersten Umgebung angeordnet.In a step S70, the model of the first object is presented in a first pose, which is predefined or determined on a random basis, and the models of the second objects are also presented in a randomly based manner Flat or determined poses arranged virtually on the respectively identified virtual storage areas in the selected model of the first environment.

In einem Schritt S80 wird ein erstes Bild der ersten Umgebung mit dem ersten Objekt und den zweiten Objekten auf Basis des Modells der ersten Umgebung mit dem darin in der ersten Pose virtuell angeordneten Modell des ersten Objekts und den virtuell angeordneten Modellen der zweiten Objekte als Trainingsbild zum maschinellen Lernen einer Objekterkennung ermittelt.In a step S80, a first image of the first environment with the first object and the second objects based on the model of the first environment with the model of the first object virtually arranged in the first pose and the virtually arranged models of the second objects is created as a training image for determined by machine learning of an object recognition.

Dabei werden die dreidimensionalen Modelle auf zweidimensionale Bildabschnitte projiziert und künstlich verrauscht, wobei die Projektion auf Basis einer zufallsbasiert vorgegebenen Perspektive ermittelt wird.The three-dimensional models are projected onto two-dimensional image sections and artificially noised, with the projection being determined on the basis of a randomly specified perspective.

Zusätzlich werden auf Basis der Kenntnis des Modells des ersten Objekts und seiner zufallsbasiert vorgegebenen Pose auf der virtuellen Ablagefläche Zusatzdaten in Form einer Bounding Box und einer binären Maske des ersten Objekts erstellt und zusammen mit dem ermittelten (Trainings)Bild als Trainingsdaten abgespeichert (Schritt S90).In addition, based on the knowledge of the model of the first object and its randomly specified pose on the virtual storage area, additional data in the form of a bounding box and a binary mask of the first object are created and stored together with the determined (training) image as training data (step S90) .

Die Schritte S70-S90 und gegebenenfalls S30, S40 und/oder S50, S60 werden ein- oder mehrfach wiederholt, wobei bei einer oder mehreren dieser Durchläufe (jeweils):

  • - in Schritt S70 das Modell des ersten Objekts und/oder eines oder mehrere Modelle der zweiten Objekte in anderen zufallsbasiert vorgegebenen bzw. ermittelten Posen und/oder auf anderen virtuellen Ablageflächen angeordnet und solcherart insbesondere zweite Bilder der ersten Umgebung ermittelt werden;
  • - in Schritt S80 die zufallsbasiert vorgegebene Perspektive der Projektion variiert wird und solcherart insbesondere weitere Trainingsbilder ermittelt werden;
  • - in Schritt S30 für das erste Objekt eine zweite Umgebung aus der Umgebungsmodellbibliothek ausgewählt wird, beispielsweise anstelle der Umgebung bzw. des Umgebungsmodells „Roboterzelle“ die Umgebung bzw. das Umgebungsmodell „Labor“ oder „Fertigungshalle“, und solcherart insbesondere Bilder der zweiten Umgebung als weitere Trainingsbilder ermittelt werden; und/oder
  • - in Schritt S50 Modelle zweiter Objekte hinzugefügt und/oder entfernt werden.
Steps S70-S90 and optionally S30, S40 and/or S50, S60 are repeated one or more times, with one or more of these runs (each):
  • - in step S70 the model of the first object and/or one or more models of the second objects are arranged in other randomly predetermined or determined poses and/or on other virtual storage areas and in this way in particular second images of the first environment are determined;
  • - in step S80, the randomly predetermined perspective of the projection is varied and in this way, in particular, further training images are determined;
  • - In step S30, a second environment is selected from the environment model library for the first object, for example instead of the environment or environment model "robot cell" the environment or environment model "laboratory" or "manufacturing hall", and such in particular images of the second environment as further training images are determined; and or
  • - in step S50 models of second objects are added and/or removed.

In einem Schritt S100 wird eine Objekterkennung mit den solcherart erstellten Trainingsdaten maschinell gelernt, in einer Ausführung ein CNN 7 trainiert.In a step S100, object recognition is learned by machine using the training data created in this way, in one embodiment a CNN 7 is trained.

In Schritt S110 wird dann eine Roboterapplikation durchgeführt und dabei mit dieser maschinell gelernten Objekterkennung ein Objekt 5 auf einer Ablagefläche 6 erkannt.A robot application is then carried out in step S110 and an object 5 on a storage area 6 is recognized with this machine-learned object recognition.

Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.Although exemplary embodiments have been explained in the preceding description, it should be pointed out that a large number of modifications are possible.

So kann - zur Erläuterung des Konzepts - anstelle eines Werkstücks eine Kaffeetasse als erstes Objekt angenommen werden. Dann können für diese Kaffeetasse oder ein Objekt der Klasse „Tasse“, „Geschirr“ oder dergleichen als Umgebung eine Küche, ein Labor oder dergleichen ausgewählt und für eine solche Umgebung „Küche“ als zweite Objekte Nahrungsmittel, Töpfe oder dergleichen ausgewählt bzw. bereitgestellt werden, als Ablageflächen insbesondere Tischflächen oder Küchenarbeitsflächen oder dergleichen.To explain the concept, a coffee cup can be assumed as the first object instead of a workpiece. A kitchen, a laboratory or the like can then be selected as the environment for this coffee cup or an object of the “cup”, “dishes” or the like class and food, pots or the like can be selected or provided as the second objects for such a “kitchen” environment , as storage areas in particular table tops or kitchen worktops or the like.

Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.In addition, it should be noted that the exemplary implementations are only examples and are not intended to limit the scope, applications, or construction in any way. Rather, the above description gives the person skilled in the art a guideline for the implementation of at least one exemplary embodiment, with various changes, in particular with regard to the function and arrangement of the components described, being able to be made without departing from the scope of protection as it emerges from the claims and these equivalent combinations of features.

Bezugszeichenlistereference list

11
Roboterrobot
22
Steuerungsteering
33
Computercomputer
44
Kameracamera
5; 5`5; 5`
Objektobject
6; 6`6; 6`
Ablageflächestorage space
77
CNNCNN

Claims (15)

Verfahren zum Erstellen von Trainingsdaten zum maschinellen Lernen einer Objekterkennung, insbesondere für eine Industrie-, insbesondere Roboterapplikation, mit den Schritten: - Bereitstellen (S20) eines Modells eines ersten, zu erkennenden Objekts (5`); - Auswählen (S30) eines Modells einer ersten Umgebung des ersten Objekts auf Basis des ersten Objekts aus einer Umgebungsmodellbibliothek; - virtuelles Anordnen (S70) des Modells des ersten Objekts in dem Modell der ersten Umgebung in einer ersten Pose; und - Ermitteln (S80) eines ersten Bilds der ersten Umgebung mit dem ersten Objekt auf Basis des Modells der ersten Umgebung mit dem darin in der ersten Pose virtuell angeordneten Modell des ersten Objekts als Trainingsbild zum maschinellen Lernen einer Objekterkennung.Method for creating training data for machine learning of object recognition, in particular for an industrial application, in particular a robot application, with the steps: - providing (S20) a model of a first object (5`) to be recognized; - selecting (S30) a model of a first environment of the first object based on the first object from an environment model library; - virtually arranging (S70) the model of the first object in the model of the first environment in a first pose; and - determining (S80) a first image of the first environment with the first object based on the model of the first environment with the model of the first object arranged therein virtually in the first pose as a training image for machine learning of an object recognition. Verfahren nach Anspruch 1, mit den Schritten: - virtuelles Anordnen (S70) des Modells des ersten Objekts in dem Modell der ersten Umgebung in wenigstens einer zweiten Pose; und - Ermitteln (S80) eines zweiten Bilds der ersten Umgebung mit dem ersten Objekt auf Basis des Modells der ersten Umgebung mit dem darin in dieser zweiten Pose virtuell angeordneten Modell des ersten Objekts als weiteres Trainingsbild zum maschinellen Lernen der Objekterkennung.procedure after claim 1 , comprising the steps of: - virtually arranging (S70) the model of the first object in the model of the first environment in at least one second pose; and - determining (S80) a second image of the first environment with the first object based on the model of the first environment with the model of the first object virtually arranged therein in this second pose as a further training image for machine learning of the object recognition. Verfahren nach einem der vorhergehenden Ansprüche, mit den Schritten: - Auswählen (S30) eines Modells wenigstens einer zweiten Umgebung des ersten Objekts auf Basis des ersten Objekts aus der Umgebungsmodellbibliothek; - virtuelles Anordnen (S70) des Modells des ersten Objekts in diesem Modell der zweiten Umgebung; und - Ermitteln (S80) eines Bilds der zweiten Umgebung mit dem ersten Objekt auf Basis des Modells der zweiten Umgebung mit dem darin virtuell angeordneten Modell des ersten Objekts als weiteres Trainingsbild zum maschinellen Lernen der Objekterkennung.Method according to one of the preceding claims, with the steps: - selecting (S30) a model of at least a second environment of the first object based on the first object from the environment model library; - virtual placement (S70) of the model of the first object in this model of the second environment; and - Determining (S80) an image of the second environment with the first object based on the model of the second environment with the model of the first object arranged virtually therein as a further training image for machine learning of the object recognition. Verfahren nach einem der vorhergehenden Ansprüche, mit den Schritten: - Bereitstellen (S50) eines Modells wenigstens eines zweiten Objekts; und - virtuelles (S70) Anordnen des Modells des zweiten Objekts in dem Modell der ersten Umgebung; wobei das erste Bild auf Basis des Modells der ersten Umgebung mit den darin virtuell angeordneten Modellen des ersten und zweiten Objekts als Trainingsbild zum maschinellen Lernen der Objekterkennung ermittelt wird.Method according to one of the preceding claims, with the steps: - Providing (S50) a model of at least one second object; and - virtual (S70) placing the model of the second object in the model of the first environment; wherein the first image is determined on the basis of the model of the first environment with the models of the first and second object arranged virtually therein as a training image for machine learning of the object recognition. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Modell der ersten Umgebung und/oder das Modell der zweiten Umgebung und/oder das Modell des ersten Objekts und/oder das Modell des zweiten Objekts dreidimensional und/oder mithilfe eines Kamerabilds aus wenigstens einer Kameraperspektive, insbesondere aus mehreren Kameraperspektiven und/oder mithilfe einer roboter- oder handgeführten Kamera und/oder vSLAM, erstellt ist.Method according to one of the preceding claims, characterized in that the model of the first environment and / or the model of the second environment and / or the model of the first object and / or the model of the second object three-dimensionally and / or using a camera image from at least one Camera perspective, in particular from multiple camera perspectives and / or using a robotic or hand-held camera and / or vSLAM created. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das erste und/oder zweite Objekt zufallsbasiert und/oder auf einer virtuellen Ablagefläche in dem Modell der ersten Umgebung und/oder dem Modell der zweiten Umgebung angeordnet wird, wobei diese virtuelle Ablagefläche auf Basis dieses Objekts und/oder dieser Umgebung identifiziert ist.Method according to one of the preceding claims, characterized in that the first and/or second object is arranged randomly and/or on a virtual storage area in the model of the first environment and/or the model of the second environment, this virtual storage area being based on this Object and / or this environment is identified. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass erstellte Trainingsdaten zum maschinellen Lernen der Objekterkennung wenigstens eines der Trainingsbilder und Zusatzdaten, insbesondere eine Bounding Box und/oder eine Maske, des ersten Objekts aufweisen.Method according to one of the preceding claims, characterized in that training data created for machine learning of object recognition have at least one of the training images and additional data, in particular a bounding box and/or a mask, of the first object. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens eines der Trainingsbilder zweidimensional ist und/oder mithilfe eines künstlichen Rauschens und/oder einer Projektion dreidimensionaler Modelle auf zweidimensionale Bildabschnitte und/oder aus einer, insbesondere zufallsbasiert, vorgegebenen Perspektive ermittelt wird.Method according to one of the preceding claims, characterized in that at least one of the training images is two-dimensional and/or is determined using artificial noise and/or a projection of three-dimensional models onto two-dimensional image sections and/or from a predetermined, in particular randomly based, perspective. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Modell der ersten Umgebung und/oder das Modell der zweiten Umgebung und/oder das Modell des ersten Objekts und/oder das Modell des zweiten Objekts datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie und/oder Zuordnung von Objekten oder Objektklassen und Umgebungen und/oder mithilfe von Data mining ausgewählt wird und/oder wenigstens eine der virtuellen Ablageflächen datenbank- und/oder internetbasiert und/oder auf Basis einer Web-Ontologie und/oder Zuordnung von Objekten oder Objektklassen und Ablageflächen und/oder Umgebungselementen und/oder mithilfe einer Bilderkennung identifiziert wird.Method according to one of the preceding claims, characterized in that the model of the first environment and / or the model of the second environment and / or the model of the first object and / or the model of the second object database and / or Internet-based and / or Based on a web ontology and/or assignment of objects or object classes and environments and/or is selected using data mining and/or at least one of the virtual storage areas is based on a database and/or internet and/or on the basis of a web ontology and/or Assignment of objects or object classes and storage areas and / or environmental elements and / or is identified using image recognition. Verfahren zum maschinellen Lernen einer Objekterkennung, insbesondere für eine Industrie-, insbesondere Roboterapplikation, mit den Schritten: Erstellen von Trainingsdaten mithilfe eines Verfahrens nach einem der vorhergehenden Ansprüche; und maschinelles Lernen (S100) der Objekterkennung, insbesondere Trainieren eines künstlichen Neuronalen Netzes (7), auf Basis dieser Trainingsdaten.Method for machine learning of object recognition, in particular for an industrial application, in particular a robot application, with the steps: Creating training data using a method according to any one of the preceding claims; and machine learning (S100) of object recognition, in particular training an artificial neural network (7) on the basis of this training data. Verfahren zum Durchführen einer Industrie-, insbesondere Roboterapplikation, mit den Schritten: maschinelles Lernen (S100) einer Objekterkennung mithilfe eines Verfahrens nach dem vorhergehenden Anspruch; und Durchführen (S110) der Applikation, insbesondere Steuern und/oder Überwachen einer Maschine, insbesondere eines Roboters (1), auf Basis der maschinell gelernten Objekterkennung.Method for carrying out an industrial application, in particular a robot application, with the steps: machine learning (S100) of object recognition using a method according to the preceding claim; and carrying out (S110) the application, in particular controlling and/or monitoring a machine, esp especially a robot (1), based on machine-learned object recognition. System zum Erstellen von Trainingsdaten zum maschinellen Lernen einer Objekterkennung, insbesondere für eine Industrie-, insbesondere Roboterapplikation, das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist: Mittel zum Bereitstellen eines Modells eines ersten, zu erkennenden Objekts; Mittel zum Auswählen eines Modells einer ersten Umgebung des ersten Objekts auf Basis des ersten Objekts aus einer Umgebungsmodellbibliothek; Mittel zum virtuellen Anordnen des Modells des ersten Objekts in dem Modell der ersten Umgebung in einer ersten Pose; und Mittel zum Ermitteln eines ersten Bilds der ersten Umgebung mit dem ersten Objekt auf Basis des Modells der ersten Umgebung mit dem darin in der ersten Pose virtuell angeordneten Modell des ersten Objekts als Trainingsbild zum maschinellen Lernen einer Objekterkennung.System for creating training data for machine learning of object recognition, in particular for an industrial application, in particular a robot application, which is set up to carry out a method according to one of the preceding claims and/or has: means for providing a model of a first object to be recognized; means for selecting a model of a first environment of the first object based on the first object from an environment model library; means for virtually arranging the model of the first object in the model of the first environment in a first pose; and Means for determining a first image of the first environment with the first object based on the model of the first environment with the model of the first object arranged therein virtually in the first pose as a training image for machine learning of an object recognition. System zum maschinellen Lernen einer Objekterkennung, insbesondere für eine Industrie-, insbesondere Roboterapplikation, das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist: ein System zum Erstellen von Trainingsdaten nach dem vorhergehenden Anspruch; und Mittel zum maschinellen Lernen der Objekterkennung, insbesondere Trainieren eines künstlichen Neuronalen Netzes, auf Basis dieser Trainingsdaten.System for machine learning of object recognition, in particular for an industrial application, in particular a robot application, which is set up and/or has to carry out a method according to one of the preceding claims: a system for creating training data according to the preceding claim; and Means for machine learning of object recognition, in particular training an artificial neural network, based on this training data. System zum Durchführen einer Industrie-, insbesondere Roboterapplikation, das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist: ein System zum maschinellen Lernen einer Objekterkennung, insbesondere Trainieren eines künstlichen Neuronalen Netzes, nach dem vorhergehenden Anspruch; und Mittel zum Durchführen der Applikation, insbesondere Steuern und/oder Überwachen einer Maschine, insbesondere eines Roboters, auf Basis der maschinell gelernten Objekterkennung.System for carrying out an industrial application, in particular a robot application, which is set up and/or has for carrying out a method according to one of the preceding claims: a system for machine learning of object recognition, in particular training an artificial neural network, according to the preceding claim; and Means for carrying out the application, in particular controlling and/or monitoring a machine, in particular a robot, on the basis of machine-learned object recognition. Computerprogramm oder Computerprogrammprodukt, wobei das Computerprogramm oder Computerprogrammprodukt, insbesondere auf einem computerlesbaren und/oder nicht-flüchtigen Speichermedium gespeicherte, Anweisungen enthält, die bei der Ausführung durch einen oder mehrere Computer oder ein System nach einem der Ansprüche 12 bis 14 den oder die Computer oder das System dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 11 durchzuführen.Computer program or computer program product, wherein the computer program or computer program product contains instructions, in particular stored on a computer-readable and/or non-volatile storage medium, which, when executed by one or more computers or a system according to one of Claims 12 until 14 cause the computer or system to perform a method according to any one of Claims 1 until 11 to perform.
DE102021207086.8A 2021-07-06 2021-07-06 Method and system for carrying out an industrial application, in particular a robot application Pending DE102021207086A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102021207086.8A DE102021207086A1 (en) 2021-07-06 2021-07-06 Method and system for carrying out an industrial application, in particular a robot application
PCT/EP2022/066935 WO2023280566A1 (en) 2021-07-06 2022-06-22 Method and system for carrying out an industrial application, in particular a robot application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021207086.8A DE102021207086A1 (en) 2021-07-06 2021-07-06 Method and system for carrying out an industrial application, in particular a robot application

Publications (1)

Publication Number Publication Date
DE102021207086A1 true DE102021207086A1 (en) 2023-01-12

Family

ID=82446449

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021207086.8A Pending DE102021207086A1 (en) 2021-07-06 2021-07-06 Method and system for carrying out an industrial application, in particular a robot application

Country Status (2)

Country Link
DE (1) DE102021207086A1 (en)
WO (1) WO2023280566A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019206444A1 (en) 2019-05-06 2020-11-12 Kuka Deutschland Gmbh Machine learning of object recognition using a robot-guided camera

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019113510A1 (en) * 2017-12-07 2019-06-13 Bluhaptics, Inc. Techniques for training machine learning
EP3495771A1 (en) * 2017-12-11 2019-06-12 Hexagon Technology Center GmbH Automated surveying of real world objects
US10867214B2 (en) * 2018-02-14 2020-12-15 Nvidia Corporation Generation of synthetic images for training a neural network model
US10854006B2 (en) * 2018-11-15 2020-12-01 Palo Alto Research Center Incorporated AR-enabled labeling using aligned CAD models
US11257272B2 (en) * 2019-04-25 2022-02-22 Lucid VR, Inc. Generating synthetic image data for machine learning
US11132845B2 (en) * 2019-05-22 2021-09-28 Microsoft Technology Licensing, Llc Real-world object recognition for computing device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019206444A1 (en) 2019-05-06 2020-11-12 Kuka Deutschland Gmbh Machine learning of object recognition using a robot-guided camera

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VENET, P. [et al.]: Application of Ontologies for Semantic Scene Segmentation and Object Recognition. In: ISR 2020, 52th International Symposium on Robotics. VDE, 2020. S. 1-7.URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9307480 [online abgerufen am 31.03.2022]

Also Published As

Publication number Publication date
WO2023280566A1 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
DE102015002760B4 (en) Robot simulation system that simulates the process of removing workpieces
DE69636693T2 (en) Method for interference monitoring
DE102016120763B4 (en) Method for collision-free motion planning
DE102014108287B4 (en) Quick learning by imitating power torque tasks by robots
DE102016008576B4 (en) Robot simulation device for a robotic system involving human intervention
DE102015107436B4 (en) Trainable path control
DE102017102260B4 (en) Robot programming device for teaching a robot program
DE102013112516B4 (en) Teaching point program selection process for robot simulator
DE102017124502B4 (en) A simulation apparatus and method that performs an operational simulation of a robot system and a recording medium that records a computer program
DE102018001792A1 (en) Control system of a machine tool
DE102015012763A1 (en) Robot teaching device for teaching a robot offline
WO2019020818A1 (en) Efficient programming of robots for processing workpieces with different variants
DE102018107864A1 (en) An offline programming apparatus and method having the function of generating a program for detecting a workpiece position by means of a contact sensor
DE102014118001A1 (en) Method for simulating the motion of a manipulator
DE102020104952A1 (en) MANAGEMENT DEVICE AND MANAGEMENT SYSTEM
DE102017130613A1 (en) Task scheduler
DE102019117877A1 (en) ROBOT PROGRAM GENERATION DEVICE
DE102022130341A1 (en) POINT SET INTERFERENCE CHECK
WO2017220199A1 (en) Configuring and/or controlling a robot arrangement
WO2020083633A1 (en) Device and method for actuating a robot system
EP2245564A1 (en) Method and system for qualifying cad objects
WO2008104426A2 (en) Industrial robot, and methods for determining the position of an industrial robot relative to an object
DE102021207086A1 (en) Method and system for carrying out an industrial application, in particular a robot application
EP3710900B1 (en) Method and system for defining or learning a robot command
DE102018218611A1 (en) Method and computing device for generating a three-dimensional CAD model

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009660000

Ipc: G06V0030194000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06V0030194000

Ipc: G06V0020640000