DE102022207266A1 - Apparatus and method for augmenting an image for self-supervised learning - Google Patents

Apparatus and method for augmenting an image for self-supervised learning Download PDF

Info

Publication number
DE102022207266A1
DE102022207266A1 DE102022207266.9A DE102022207266A DE102022207266A1 DE 102022207266 A1 DE102022207266 A1 DE 102022207266A1 DE 102022207266 A DE102022207266 A DE 102022207266A DE 102022207266 A1 DE102022207266 A1 DE 102022207266A1
Authority
DE
Germany
Prior art keywords
hyperparameter
augmentation
image
actuator
classifier
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
DE102022207266.9A
Other languages
German (de)
Inventor
Fabio Ferreira
Samuel Mueller
Frank Hutter
Diane Wagner
Robin Tibor Schirrmeister
Danny Stoll
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022207266.9A priority Critical patent/DE102022207266A1/en
Publication of DE102022207266A1 publication Critical patent/DE102022207266A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn
    • 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/84Arrangements for image or video recognition or understanding using pattern recognition or machine learning using probabilistic graphical models from image or video features, e.g. Markov models or Bayesian networks

Landscapes

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

Abstract

Ein computerimplementiertes Verfahren zur Bildaugmentation für selbstüberwachtes Lernen, das die folgenden Schritte umfasst: Empfangen (S21) zumindest eines Bildes (I), einer Mehrzahl von Augmentationsgruppen ({gi}) und mehrerer Hyperparameter ({Pgi}), die die Gruppen charakterisieren. Initialisieren (S22) einer leeren Liste von Augmentationssequenzen (A). Wiederholen (S23) der Schritte des Samplens einer Gruppe g gemäß dem ersten Hyperparameter ({Pgi}) und des Samplens, gemäß dem zweiten Hyperparameter (Ng), von Augmentationen von der Gruppe (g) und des Anhängens der Augmentationen an die Liste (A). Dann werden die gesampleten Augmentationssequenzen gemäß der Liste für das Bild (I) auf das Bild angewendet.A computer-implemented image augmentation method for self-supervised learning, comprising the following steps: receiving (S21) at least one image (I), a plurality of augmentation groups ({gi}), and a plurality of hyperparameters ({Pgi}) that characterize the groups. Initialize (S22) an empty list of augmentation sequences (A). Repeating (S23) the steps of sampling a group g according to the first hyperparameter ({Pgi}) and sampling, according to the second hyperparameter (Ng), augmentations from the group (g) and appending the augmentations to the list (A ). Then the sampled augmentation sequences are applied to the image according to the list for image (I).

Description

Stand der TechnikState of the art

Selbstüberwachtes Lernen (Self-Supervised Learning, SSL) ist ein Verfahren des maschinellen Lernens. Es lernt aus ungelabelten Beispieldaten. Es kann als eine Zwischenform zwischen überwachtem und unüberwachtem Lernen angesehen werden. Es basiert auf einem künstlichen neuronalen Netzwerk. Das neuronale Netzwerk lernt in zwei Schritten. Zuerst wird die Aufgabe basierend auf Pseudolabeln gelöst, was dabei hilft, die Netzwerkgewichte zu initialisieren. Zweitens wird die tatsächliche Aufgabe mit überwachtem oder unüberwachtem Lernen durchgeführt.Self-supervised learning (SSL) is a machine learning technique. It learns from unlabeled sample data. It can be viewed as an intermediate form between supervised and unsupervised learning. It is based on an artificial neural network. The neural network learns in two steps. First, the task is solved based on pseudolabels, which helps initialize the network weights. Second, the actual task is performed using supervised or unsupervised learning.

SSL hat in den letzten Jahren ein explosionsartiges Interesse erfahren, mit großem Fortschritt unter Verwendung von SSL als ein Vortrainingsverfahren für die Klassifizierung. Eine große Vielfalt von SSL-Verfahren wurden entwickelt, beispielsweise das Verwenden verschiedener Zielfunktionen und Optimierungsstrategien, mit kontinuierlich verbesserter Leistung an Benchmarks wie Imagenet.SSL has experienced an explosion of interest in recent years, with great progress using SSL as a pre-training method for classification. A wide variety of SSL techniques have been developed, such as using different objective functions and optimization strategies, with continually improving performance on benchmarks such as Imagenet.

Die Datenaugmentationsverfahren bei selbstüberwachtem Lernen (SSL) wurden überwiegend manuell gesetzt. Für überwachtes Lernen gibt es viele Verfahren zum Lernen der richtigen Datenaugmentationen, aber nicht für SSL.The data augmentation procedures in self-supervised learning (SSL) were predominantly set manually. For supervised learning, there are many methods for learning the right data augmentations, but not for SSL.

Daher wird vorgeschlagen, die Datenaugmentationshyperparameter von SSL-Algorithmen zu optimieren.Therefore, it is proposed to optimize the data augmentation hyperparameters of SSL algorithms.

Vorteile der ErfindungAdvantages of the invention

Die Erfindung schlägt vor, z. B. Bayessche Optimierung für neuronale Pipeline-Suche (Neural Pipeline Search, NEPS) zu verwenden, um nach optimalen Konfigurationen zu suchen. Dadurch wird eine verbesserte angepasste SSLspezifische Augmentationsrichtlinie präsentiert. Die gelernten Konfigurationen verbessern die lineare Klassifizierungsleistung in allen von uns evaluierten Einstellungen. Mit anderen Worten, eine bestimmte Parametrisierung des Augmentationsraums mit starker Leistung. Dies führt zu einer besseren Leistung und weniger manueller Labeling-Arbeit.The invention proposes, for. B. Use Bayesian Neural Pipeline Search (NEPS) optimization to search for optimal configurations. This presents an improved customized SSL-specific augmentation policy. The learned configurations improve linear classification performance in all settings we evaluated. In other words, a specific parameterization of the augmentation space with strong performance. This results in better performance and less manual labeling work.

Offenbarung der ErfindungDisclosure of the invention

In einem ersten Aspekt betrifft die Erfindung ein Verfahren zur Bildaugmentation für selbstüberwachtes Lernen nach Anspruch 1. Die Motivation hinter selbstüberwachtem Lernen besteht darin, zunächst allgemeine Merkmalsrepräsentationen unter Verwendung ungelabelter Daten zu lernen und dann diese Repräsentationen an Downstream-Aufgaben unter Verwendung einiger weniger Labels fein abzustimmen. Es stellt sich die Frage, wie man diese nützlichen Repräsentationen lernt, ohne die Labels zu kennen.In a first aspect, the invention relates to a method for image augmentation for self-supervised learning according to claim 1. The motivation behind self-supervised learning is to first learn general feature representations using unlabeled data and then to fine-tune these representations on downstream tasks using a few labels . The question arises as to how to learn these useful representations without knowing the labels.

Selbstüberwachtes Lernen (SSL) ist ein Paradigma des maschinellen Lernens, bei dem ein Modell, wenn in es unstrukturierte Daten als Eingabe eingespeist werden, Datenlabels automatisch erzeugt, die in anschließenden Iterationen als Ground Truths weiter verwendet werden können. Optional verwendet das Modell die Datenlabel mit hoher Konfidenz unter den erzeugten, um das Modell in den nächsten Iterationen wie jedes andere überwachte Lernmodell mittels Rückpropagation zu trainieren. Der einzige Unterschied liegt darin, dass die Datenlabels, die als Ground Truths verwendet werden, in jeder Iteration geändert werden.Self-supervised learning (SSL) is a machine learning paradigm in which a model, when fed unstructured data as input, automatically generates data labels that can be further used as ground truths in subsequent iterations. Optionally, the model uses the high confidence data labels among those generated to train the model using backpropagation in the next iterations like any other supervised learning model. The only difference is that the data labels used as ground truths are changed in each iteration.

Es wird vorgeschlagen, dass die Hyperparameter mit einer Bayesschen Optimierung optimiert werden. Die Bayessche Optimierung optimiert die Parametrisierung der Hyperparameter z. B. durch deren Sampling gemäß einer Erfassungsfunktion und Testen, wie gut die ausgewählten Hyperparameter bei einer Lernaufgabe abschneiden. Diese Schritte werden mehrere Male wiederholt, bis eine optimale Parametrisierung gefunden wird.It is proposed that the hyperparameters be optimized using Bayesian optimization. Bayesian optimization optimizes the parameterization of the hyperparameters e.g. B. by sampling them according to a detection function and testing how well the selected hyperparameters perform in a learning task. These steps are repeated several times until an optimal parameterization is found.

Ferner wird vorgeschlagen, dass ein Bildklassifizierer mit dem augmentierten Bild des ersten Aspekts der Erfindung trainiert wird.It is further proposed that an image classifier be trained with the augmented image of the first aspect of the invention.

In weiteren Aspekten der Erfindung wird sich vorgestellt, den mit den obigen Verfahren trainierten Klassifizierer bei einem Verfahren zu verwenden, das die folgenden Schritte umfasst:

  • - Empfangen eines Sensorsignals, das Daten von einem Sensor umfasst,
  • - Bestimmen eines Eingangssignals, das von dem Sensorsignal abhängt, und
  • - Einspeisen des Eingangssignals in den Klassifizierer, um ein Ausgangssignal zu erhalten, das eine Klassifizierung des Eingangssignals charakterisiert.
In further aspects of the invention, it is envisaged to use the classifier trained with the above methods in a method comprising the following steps:
  • - receiving a sensor signal that includes data from a sensor,
  • - Determining an input signal that depends on the sensor signal, and
  • - Feeding the input signal into the classifier to obtain an output signal that characterizes a classification of the input signal.

Die Erfindung kann zum Analysieren von Daten, die von einem Sensor erhalten werden, verwendet werden. Der Sensor kann Messungen der Umgebung in Form von Sensorsignalen bestimmen, die z. B. durch digitale Bilder, z. B. Video-, Radar-, LiDAR-, Ultraschall-, Bewegungs-, Wärmebilder, gegeben sein können.The invention can be used to analyze data obtained from a sensor. The sensor can determine measurements of the environment in the form of sensor signals, e.g. B. through digital images, e.g. B. video, radar, LiDAR, ultrasound, motion, thermal images can be given.

Der Klassifizierer, z. B. ein neuronales Netzwerk, kann mit einer derartigen Struktur ausgestattet sein, die dahingehend trainierbar ist, z. B. Fußgänger und/oder Fahrzeuge und/oder Straßenschilder und/oder Ampeln und/oder Straßenoberflächen und/oder menschliche Gesichter und/oder medizinische Anomalien in Bildern eines Bildgebungssensors zu identifizieren und zu unterscheiden. Alternativ kann der Klassifizierer, z. B. ein neuronales Netzwerk, mit einer derartigen Struktur ausgestattet sein, die dahingehend trainierbar ist, gesprochene Befehle in Signalen eines Audiosensors zu identifizieren.The classifier, e.g. B. a neural network can be equipped with such a structure that can be trained, e.g. B. identify and distinguish pedestrians and/or vehicles and/or street signs and/or traffic lights and/or road surfaces and/or human faces and/or medical anomalies in images from an imaging sensor. Alternatively, the classifier, e.g. B. a neural network, be equipped with such a structure that can be trained to identify spoken commands in signals from an audio sensor.

Solche Klassifizierer können dann verwendet werden, um ein Aktorsteuersignal zum Steuern eines Aktors bereitzustellen, umfassend alle der Schritte des obigen Verfahrens und ferner umfassend den folgenden Schritt:

  • - Bestimmen des Aktorsteuersignals in Abhängigkeit vom Ausgangssignal Vorzugsweise steuert der Aktor einen zumindest teilweise autonomen Roboter und/oder eine Herstellungsmaschine und/oder ein Zugangskontrollsystem.
Such classifiers can then be used to provide an actuator control signal for controlling an actuator, comprising all of the steps of the above method and further comprising the following step:
  • - Determining the actuator control signal as a function of the output signal Preferably, the actuator controls an at least partially autonomous robot and/or a manufacturing machine and/or an access control system.

In einem weiteren Aspekt der Erfindung wird ein computer-implementiertes Verfahren zur Verwendung des Klassifizierers zum Klassifizieren von Sensorsignalen vorgeschlagen. Der Klassifizierer wird mit dem Verfahren gemäß einem beliebigen der vorstehenden Aspekte der Erfindungen adoptiert, umfassend die folgenden Schritte: Empfangen eines Sensorsignals, das Daten vom Bildgebungssensor umfasst, Bestimmen eines Eingangssignals, das von dem Sensorsignal abhängt, und Einspeisen des Eingangssignals in den Klassifizierer, um ein Ausgangssignal zu erhalten, das eine Klassifizierung des Eingangssignals charakterisiert.In a further aspect of the invention, a computer-implemented method for using the classifier to classify sensor signals is proposed. The classifier is adopted with the method according to any of the above aspects of the inventions, comprising the following steps: receiving a sensor signal comprising data from the imaging sensor, determining an input signal dependent on the sensor signal, and feeding the input signal to the classifier to obtain an output signal that characterizes a classification of the input signal.

In einem weiteren Aspekt der Erfindung, ein computer-implementiertes Verfahren zur Verwendung des Klassifizierers, der mit dem Verfahren nach einem der vorstehenden Aspekte trainiert ist, zum Bereitstellen eines Aktorsteuersignals zum Steuern eines Aktors. Bestimmen eines Aktorsteuersignals in Abhängigkeit von einem Ausgangssignal des Klassifikators, das wie durch den vorherigen Abschnitt beschrieben bestimmt werden kann. Es wird vorgeschlagen, dass der Aktor einen zumindest teilweise autonomen Roboter und/oder eine Herstellungsmaschine und/oder ein Zugangskontrollsystem steuert.In a further aspect of the invention, a computer-implemented method for using the classifier trained with the method according to any of the preceding aspects to provide an actuator control signal for controlling an actuator. Determining an actuator control signal depending on an output signal of the classifier, which may be determined as described by the previous section. It is proposed that the actuator controls an at least partially autonomous robot and/or a manufacturing machine and/or an access control system.

In einem weiteren Aspekt der Erfindung wird ein Steuersystem zum Betreiben des Aktors vorgeschlagen. Das Steuersystem umfasst den Klassifizierer, der nach einem der vorstehenden Aspekte der Erfindung adoptiert wird, und ist dazu ausgelegt, den Aktor gemäß einer Ausgabe des Klassifizierers zu betreiben.In a further aspect of the invention, a control system for operating the actuator is proposed. The control system includes the classifier adopted according to any of the foregoing aspects of the invention and is configured to operate the actuator according to an output of the classifier.

Ausführungsformen der Erfindung werden mit Bezug auf die folgenden Figuren ausführlicher besprochen. Die Figuren zeigen:

  • 1 ein schematisches Flussdiagramm einer Ausführungsform der Erfindung;
  • 2 ein Steuersystem, das einen zumindest teilweise autonomen Roboter steuert;
  • 3 ein Steuersystem, das eine Herstellungsmaschine steuert;
  • 4 ein Steuersystem, das einen Zugangskontrollsystem steuert;
  • 5 ein Steuersystem, das ein Überwachungssystem steuert;
  • 6 ein Steuersystem, das einen automatisierten persönlichen Assistenten steuert;
  • 7 ein Steuersystem, das ein Bildgebungssystem steuert;
  • 8 ein Trainingssystem zum Steuern des Klassifizierers.
Embodiments of the invention will be discussed in more detail with reference to the following figures. The figures show:
  • 1 a schematic flow diagram of an embodiment of the invention;
  • 2 a control system that controls an at least partially autonomous robot;
  • 3 a control system that controls a manufacturing machine;
  • 4 a control system that controls an access control system;
  • 5 a control system that controls a monitoring system;
  • 6 a control system that controls an automated personal assistant;
  • 7 a control system that controls an imaging system;
  • 8th a training system to control the classifier.

Beschreibung der AusführungsformenDescription of the embodiments

Bei überwachtem Lernen übertreffen Datenaugmentationsalgorithmen gewöhnlicherweise Strategien mit manuell ausgewählter Augmentation. Drei Algorithmen, die auf das zufällige Samplen von Augmentationen aus einem festen Satz von Augmentationen angewiesen sind, sind als TrivialAugment und SmartSamplingAugment bekannt. Andere Algorithmen, wie etwa AutoAugment, RandAugment und SmartAugment, führen eine gradientenfreie Suche im Raum von Augmentationsrichtlininen durch. Es ist auch möglich, gradientenbasierte Optimierung zum Meta-Lernen von Vortrainingshyperparametern für EKG-Daten anzuwenden. Bei Self-Augment stützen sich die Autoren auf die Korrelation zwischen überwachter und selbstüberwachter Evaluierungsleistung, um eine Rotationsaufgabe zum effizienten Erzeugen von Augmentationsrichtlinien zu integrieren. SelfAugment unterscheidet sich qualitativ von den vorherigen Ansätzen in dem Sinne, dass es nicht für allgemeine Downstream-Leistung, sondern für Rotationsaufgabenleistung, optimiert. Zusätzlich wird es wahrscheinlich keine Rotationen in die ausgewählte Augmentationsrichtlinie einschließen.In supervised learning, data augmentation algorithms typically outperform strategies with manually selected augmentation. Three algorithms that rely on randomly sampling augmentations from a fixed set of augmentations are known as TrivialAugment and SmartSamplingAugment. Other algorithms, such as AutoAugment, RandAugment, and SmartAugment, perform gradient-free search in the space of augmentation policies. It is also possible to apply gradient-based optimization to meta-learn pre-training hyperparameters for ECG data. In Self-Augment, the authors rely on the correlation between supervised and self-supervised evaluation performance to incorporate a rotation task to efficiently generate augmentation policies. SelfAugment is qualitatively different from previous approaches in the sense that it does not optimize for general downstream performance, but rather for rotational task performance. Additionally, it will likely not include rotations in the selected augmentation policy.

Im Gegensatz zu diesen deckt unserer Ansatz GroupAugment einen vielfältigeren Raum von Augmentationsstrategien als bestehende Verfahren ab und kann z. B. Augmentationsstrategien gestalten, die manuell gestalteten SSL-Augmentationsstrategien ähneln. Er generalisiert bestehende Ansätze durch Optimieren gruppenspezifischer Sampling-Wahrscheinlichkeiten, der Anzahl gruppenspezifischer Augmentationen und der Gesamtanzahl von angewendeten Augmentationen, während dem Satz von Augmentationen wie etwa SelfAugment keine Beschränkungen auferlegt werden.In contrast to these, our GroupAugment approach covers a more diverse space of augmentation strategies than existing methods and can e.g. B. Design augmentation strategies that are similar to manually designed SSL augmentation strategies. It generalizes existing approaches by optimizing group-specific sampling probabilities, the number of group-specific augmentations, and the total number of applied augmentations, while imposing no restrictions on the set of augmentations such as SelfAugment.

Um über die oben aufgelisteten Suchräume zu optimieren, wird Bayessche Optimierung (BO) ( Mockus, J., Tiesis, V. und Zilinskas, A. „The application of Bayesian methods for seeking the extremum. Towards Global Optimization“, 2(117-129) , 1978.) mit fachkundigen Vorkenntnissen verwendet, siehe z. B. Hvarfner, C., Stoll, D., Souza, A., Lindauer, M., Hutter, F.: „Augmenting acquisition functions with user beliefs for bayesian optimization“. In Proceedings der International Conference on Learning Representations (ICLR'21), 2021.To optimize over the search spaces listed above, Bayesian optimization (BO) is used ( Mockus, J., Tiesis, V. and Zilinskas, A. “The application of Bayesian methods for seeking the extremum. Towards Global Optimization,” 2(117-129) , 1978.) with expert prior knowledge, see e.g. B. Hvarfner, C., Stoll, D., Souza, A., Lindauer, M., Hutter, F.: “Augmenting acquisition functions with user beliefs for Bayesian optimization”. In Proceedings of the International Conference on Learning Representations (ICLR'21), 2021.

In diesem Abschnitt wird GroupAugment eingeführt, ein automatisierter Datenaugmentationsalgorithmus, der an Gruppen von Augmentationen (wie etwa Farb- oder Qualitätstransformationen) arbeitet und Sampling-Strategien über diese Gruppen gestaltet. Ferner wird eine empirische Studie präsentiert, in der vorgefunden wird, dass, im Gegensatz zu den Datenaugmentationsalgorithmen, die für überwachtes Lernen gestaltet sind, GroupAugment robust die Basislinie in allen analysierten Einstellungen übertrifft.This section introduces GroupAugment, an automated data augmentation algorithm that works on groups of augmentations (such as color or quality transformations) and designs sampling strategies across these groups. Furthermore, an empirical study is presented in which it is found that, unlike the data augmentation algorithms designed for supervised learning, GroupAugment robustly outperforms the baseline in all settings analyzed.

In Anbetracht einiger Gruppen von Datenaugmentationen (gi) verwendet GroupAugment einen globalen Hyperparameter und zwei Sätze von gruppenspezifischen Hyperparametern, um eine Liste von Augmentationssequenzen zu erzeugen, die nacheinander an einem Bild angewendet werden. Der globale Hyperparameter 7 bestimmt die Anzahl von Augmentationssequenzen in dieser Liste. Der gruppenspezifische Hyperparameter Pgi bestimmt die Wahrscheinlichkeit, dass die Augmentationsgruppe gi gewählt wird, um die folgende Augmentationssequenz zu erzeugen. Ngi bestimmt die Anzahl von Augmentationen, um einheitlich ersatzlos zu samplen, um eine Augmentationssequenz für die Augmentationsgruppe gi zu bilden. Es wird Pseudocode für eine GroupAugment-Richtlinie in Algorithmus 1 bereitgestellt:

Figure DE102022207266A1_0001
Given some groups of data augmentations (g i ), GroupAugment uses a global hyperparameter and two sets of group-specific hyperparameters to generate a list of augmentation sequences that are sequentially applied to an image. The global hyperparameter 7 determines the number of augmentation sequences in this list. The group-specific hyperparameter P gi determines the probability that the augmentation group gi is chosen to produce the following augmentation sequence. N gi determines the number of augmentations to sample uniformly without replacement to form an augmentation sequence for the augmentation group gi . Pseudocode for a GroupAugment policy is provided in Algorithm 1:
Figure DE102022207266A1_0001

Anwenden gesampleter Augmentationssequenzen A an IApplying sampled augmentation sequences A to I

GroupAugment generalisiert diese Idee auf einen beliebigen Satz von Augmentationsgruppen und sucht über allgemeinere Räume von Sampling-Strategien. In einer Ausführungsform wird GroupAugment mit fünf Gruppen instanziiert: Farbe, geometrisch, unstarr, Qualität und exotisch. Siehe Tabelle für ein Beispiel spezifischer Augmentationen und ihre Gruppierung, die verwendet wurden: Gruppe Augmentation Farbe ColorJitter(Helligkeit=0,4, Kontrast=0,4, Sättigung=0,4, Farbton=0,1) ToGray() Solarize() Equalize() ChannelShuffle() geometrisch ShiftScaleRotate(lnterpolation=cv2. I NTE R CUBIC) Horizontal Flip() Unstarr ElasticTransform(Alpha=0,5, Sigma=10, Alpha affin=5, Interpolation=cv2.INTER CUBIC) GridDistortion(Interpolation=cv2.INTER CUBIC) OpticalDistortion(Verzerrungsgrenze=0,5, Verschiebungsgrenze=0,5, Interpolation=cv2.INTER CUBIC) Qualität GaussianBlur() GaussNoise() exotisch RandomGridShuffle() Cutout(Anzahl Löcher=4) GroupAugment generalizes this idea to any set of augmentation groups and searches over more general spaces of sampling strategies. In one embodiment, GroupAugment is instantiated with five groups: color, geometric, non-rigid, quality, and exotic. See table for an example of specific augmentations and their grouping that were used: group augmentation Color ColorJitter(Brightness=0.4, Contrast=0.4, Saturation=0.4, Hue=0.1) ToGray() Solarize() Equalize() ChannelShuffle() geometric ShiftScaleRotate(Interpolation=cv2. I NTE R CUBIC) Horizontal Flip() Unrigid ElasticTransform(Alpha=0.5, Sigma=10, Alpha affine=5, Interpolation=cv2.INTER CUBIC) GridDistortion(Interpolation=cv2.INTER CUBIC) OpticalDistortion(Distortion limit=0.5, Displacement limit=0.5, Interpolation=cv2.INTER CUBIC) Quality GaussianBlur() GaussNoise() exotic RandomGridShuffle() Cutout(number of holes=4)

Siehe die folgende Tabelle für eine beispielhafte Beschreibung des Suchraums von GroupAugment: Hyperparameter Typ Bereich Log Prior Standard p Farbtransformationen Gleitkommazahl [0,1] Falsch 0,5 p geometrische Transformationen Gleitkommazahl [0,1] Falsch 0,5 p unstarre Transfor- Gleitkomma- [0,1] Falsch 0,0 mationen zahl p Qualitätstransformationen Gleitkommazahl [0,1] Falsch 0,0 p exotische Transformationen Gleitkommazahl [0,1] Falsch 0,0 Anzahl Farbtransformationen Ganzzahl [0,5] Falsch 1 Anzahl geometrische Transformationen Ganzzahl [0,5] Falsch 1 Anzahl unstarre Transformationen Ganzzahl [0,5] Falsch 1 Anzahl Qualitätstransformationen Ganzzahl [0,5] Falsch 1 Anzahl Gesamtgruppensamples Ganzzahl [0,5] Falsch 1 See the following table for an example description of GroupAugment's search space: Hyperparameters Type Area Log Prior default p color transformations Floating point number [0,1] Incorrect 0.5 p geometric transformations Floating point number [0,1] Incorrect 0.5 p non-rigid transform floating point [0,1] Incorrect 0.0 mations number p quality transformations Floating point number [0,1] Incorrect 0.0 p exotic transformations Floating point number [0,1] Incorrect 0.0 Number of color transformations Integer [0.5] Incorrect 1 Number of geometric transformations Integer [0.5] Incorrect 1 Number of non-rigid transformations Integer [0.5] Incorrect 1 Number of quality transformations Integer [0.5] Incorrect 1 Number of total group samples Integer [0.5] Incorrect 1

Um über den resultierenden Suchraum zu optimieren, wird der gleiche Ansatz mit Bayesscher Optimierung (BO) mit fachkundigen Vorkenntnissen wie oben verwendet. Ferner werden die gesampleten Wahrscheinlichkeiten normiert, da BO jede Gruppenwahrscheinlichkeit individuell samplet, und daher addieren sie sich nicht unbedingt zu 1.To optimize over the resulting search space, the same expert Bayesian optimization (BO) approach is used as above. Furthermore, since BO samples each group probability individually, the sampled probabilities are normalized, and therefore they do not necessarily add up to 1.

1 zeigt ein beispielhaftes Verfahren zur Bildaugmentation für selbstüberwachtes Lernen. 1 shows an exemplary image augmentation method for self-supervised learning.

Das Verfahren startet mit Empfangen (S21) zumindest eines Bildes (I), einer Mehrzahl von Augmentationsgruppen ({gi}), eines ersten Hyperparameters ({Pgi}), der gruppenspezifische Sampling-Wahrscheinlichkeiten charakterisiert, eines zweiten Hyperparameters ({Ngi}), der eine Anzahl von gruppenspezifischen Augmentationen charakterisiert, und eines dritten Hyperparameters (7), der eine Anzahl von Gesamtgruppensamples charakterisiert.The method starts with receiving (S21) at least one image (I), a plurality of augmentation groups ({g i }), a first hyperparameter ({P gi }), which characterizes group-specific sampling probabilities, a second hyperparameter ({N gi }), which characterizes a number of group-specific augmentations, and a third hyperparameter (7), which characterizes a number of total group samples.

Ein Schritt des Initialisierens (S22) einer leeren Liste mit Augmentationssequenzen (A) wird dann ausgeführt.A step of initializing (S22) an empty list of augmentation sequences (A) is then carried out.

Dann wird eine Schleife (S23) ausgeführt, in der ein Zähler schrittweise erhöht wird, bis der Wert des dritten Hyperparameters (T) erreicht wird. Die Schleife umfasst einen Schritt des Samplens einer Gruppe g gemäß dem ersten Hyperparameter ({Pgi}) und des Samplens, gemäß dem zweiten Hyperparameter (Ng), von Augmentationen aus der gesampleten Gruppe (g). Die gesamplete Augmentation wird zu der Liste (A) hinzugefügt.A loop (S23) is then executed in which a counter is increased step by step until the value of the third hyperparameter (T) is reached. The loop includes a step of sampling a group g according to the first hyperparameter ({P gi }) and sampling, according to the second hyperparameter (N g ), augmentations from the sampled group (g). The sampled augmentation is added to list (A).

Nachdem mehrere Augmentationen gesamplet wurden und die Schleife beendet ist, werden die gesampleten Augmentationen an einem Bild gemäß der definierten Sequenz der Liste angewendet (S25).After multiple augmentations have been sampled and the loop is completed, the sampled augmentations are applied to an image according to the defined sequence of the list (S25).

Optional wird ein Bildklassifizierer, vorzugsweise ein neuronales Netzwerk, gemäß selbstüberwachtem Lernen mit dem augmentierten Bild von Schritt S25 trainiert.Optionally, an image classifier, preferably a neural network, is trained according to self-supervised learning with the augmented image from step S25.

In 2 ist eine Ausführungsform eines Aktors mit einem Steuersystem 40 gezeigt. Der Aktor und seine Umgebung werden zusammen ein Aktorsystem genannt. Mit vorzugsweise einheitlich beabstandeten Abständen erfasst ein Sensor 30 einen Zustand des Aktorsystems. Der Sensor 30 kann mehrere Sensoren umfassen. Vorzugsweise ist der Sensor 30 ein optischer Sensor, der Bilder der Umgebung aufnimmt. Ein Ausgangssignal S des Sensors 30 (oder in dem Fall, dass der Sensor 30 eine Mehrzahl von Sensoren umfasst, ein Ausgangssignal S für jeden der Sensoren), das den erfassten Zustand codiert, wird zu dem Steuersystem 40 übertragen.In 2 an embodiment of an actuator with a control system 40 is shown. The actuator and its environment are collectively called an actuator system. A sensor 30 detects a state of the actuator system at preferably uniformly spaced distances. The sensor 30 may include multiple sensors. Preferably, the sensor 30 is an optical sensor that records images of the environment. An output signal S of the sensor 30 (or in the case that the sensor 30 includes a plurality of sensors, an output signal S for each of the sensors) that encodes the detected condition is transmitted to the control system 40.

Dadurch empfängt das Steuersystem 40 einen Strom von Sensorsignalen S. Es berechnet dann eine Reihe von Aktorsteuerbefehlen A in Abhängigkeit von dem Strom von Sensorsignalen S, die dann zu einer Aktoreinheit 10 übertragen werden, die die Steuerbefehle A in mechanische Bewegungen oder Änderungen physikalischer Größen umwandelt. Beispielsweise kann die Aktoreinheit 10 den Steuerbefehl A in eine elektrische, hydraulische, pneumatische, thermische, magnetische und/oder mechanische Bewegung oder Änderung umwandeln. Spezifische, jedoch nicht beschränkende Beispiele beinhalten elektrische Motoren, elektroaktive Polymere, hydraulische Zylinder, piezoelektrische Aktoren, pneumatische Aktoren, Servomechanismen, Solenoide, Schrittmotoren usw. Thereby, the control system 40 receives a stream of sensor signals S. It then calculates a series of actuator control commands A depending on the stream of sensor signals S, which are then transmitted to an actuator unit 10 which converts the control commands A into mechanical movements or changes physical quantities. For example, the actuator unit 10 can convert the control command A into an electrical, hydraulic, pneumatic, thermal, magnetic and/or mechanical movement or change. Specific but non-limiting examples include electric motors, electroactive polymers, hydraulic cylinders, piezoelectric actuators, pneumatic actuators, servomechanisms, solenoids, stepper motors, etc.

Das Steuersystem 40 empfängt den Strom von Sensorsignalen S des Sensors 30 in einer optionalen Empfangseinheit 50. Die Empfangseinheit 50 transformiert die Sensorsignale S in Eingangssignale x. Alternativ, in einem Fall ohne Empfangseinheit 50, kann jedes Sensorsignal S direkt als ein Eingangssignal x angenommen werden. Das Eingangssignal x kann zum Beispiel als ein Auszug aus dem Sensorsignal S gegeben werden. Alternativ kann das Sensorsignal S verarbeitet werden, um das Eingangssignal x zu erbringen. Das Eingangssignal x umfasst Bilddaten, die einem durch den Sensor 30 aufgezeichneten Bild entsprechen. Mit anderen Worten wird das Eingangssignal x gemäß dem Sensorsignal S bereitgestellt.The control system 40 receives the stream of sensor signals S from the sensor 30 in an optional receiving unit 50. The receiving unit 50 transforms the sensor signals S into input signals x. Alternatively, in a case without a receiving unit 50, each sensor signal S can be directly accepted as an input signal x. The input signal x can be given, for example, as an extract from the sensor signal S. Alternatively, the sensor signal S can be processed to yield the input signal x. The input signal x includes image data corresponding to an image recorded by the sensor 30. In other words, the input signal x is provided according to the sensor signal S.

Das Eingangssignal x wird dann an den Bildklassifizierer 60 weitergeleitet, der zum Beispiel durch ein künstliches neuronales Netzwerk gegeben sein kann und mit augmentierten Bildern, die durch das Verfahren von 1 erhalten wurden, trainiert wurde.The input signal x is then passed on to the image classifier 60, which can be given, for example, by an artificial neural network and with augmented images created by the method of 1 were obtained, trained.

Der Klassifizierer 60 wird durch Parameter ϕ parametrisiert, die in der Parameterspeicherung St1 gespeichert sind und durch diese bereitgestellt werden.The classifier 60 is parameterized by parameters φ, which are stored in and provided by the parameter storage St 1 .

Der Klassifizierer 60 bestimmt Ausgangssignale y aus den Eingangssignalen x. Das Ausgangssignal y umfasst Informationen, die dem Eingangssignal x ein oder mehrere Labels zuweisen. Die Ausgangssignale y werden zu einer optionalen Umwandlungseinheit 80 übertragen, die die Ausgangssignale y in die Steuerbefehle A umwandelt. Die Aktorsteuerbefehle A werden dann zu der Aktoreinheit 10 übertragen, um die Aktoreinheit 10 entsprechend zu steuern. Alternativ können die Ausgangssignale y direkt als die Steuerbefehle A angenommen werden.The classifier 60 determines output signals y from the input signals x. The output signal y includes information that assigns one or more labels to the input signal x. The output signals y are transmitted to an optional conversion unit 80, which converts the output signals y into the control commands A. The actuator control commands A are then transmitted to the actuator unit 10 to control the actuator unit 10 accordingly. Alternatively, the output signals y can be accepted directly as the control commands A.

Die Aktoreinheit 10 empfängt die Aktorsteuerbefehle A, wird entsprechend gesteuert und führt eine Handlung entsprechend den Aktorsteuerbefehlen A aus. Die Aktoreinheit 10 kann eine Steuerlogik umfassen, die den Aktorsteuerbefehl A in einen weiteren Steuerbefehl transformiert, der dann zum Steuern des Aktors 10 verwendet wird.The actuator unit 10 receives the actuator control commands A, is controlled accordingly and carries out an action in accordance with the actuator control commands A. The actuator unit 10 may include control logic that transforms the actuator control command A into a further control command, which is then used to control the actuator 10.

In weiteren Ausführungsformen kann das Steuersystem 40 den Sensor 30 umfassen. In noch weiteren Ausführungsformen kann das Steuersystem 40 alternativ oder zusätzlich den Aktor 10 umfassen.In further embodiments, the control system 40 may include the sensor 30. In still further embodiments, the control system 40 may alternatively or additionally include the actuator 10.

In einer Ausführungsform kann der Klassifizierer 60 dazu ausgebildet sein, Spuren auf einer vorausliegenden Straße zu identifizieren, z. B. durch Klassifizieren einer Straßenoberfläche und von Markierungen auf der Straße und Identifizieren von Spuren als Flächen der Straßenoberfläche zwischen den Markierungen. Basierend auf einer Ausgabe eines Navigationssystems kann dann eine geeignete Spur zum Verfolgen eines gewählten Pfades ausgewählt werden, und in Abhängigkeit von einer gegenwärtigen Spur und der Zielspur kann dann entschieden werden, ob das Fahrzeug 60 die Spur wechseln oder in der gegenwärtigen Spur bleiben soll. Der Steuerbefehl A kann dann berechnet werden, z. B. durch Abrufen eines vordefinierten Bewegungsmusters aus einer Datenbank entsprechend der identifizierten Handlung.In one embodiment, the classifier 60 may be configured to identify lanes on a road ahead, e.g. B. by classifying a road surface and markings on the road and identifying tracks as areas of the road surface between the markings. Based on an output from a navigation system, an appropriate lane for following a selected path may then be selected, and depending on a current lane and the target lane, a decision may then be made as to whether the vehicle 60 should change lanes or remain in the current lane. The control command A can then be calculated, e.g. B. by retrieving a predefined movement pattern from a database corresponding to the identified action.

Gleichermaßen können dann, nach dem Identifizieren von Straßenschildern oder Ampeln, in Abhängigkeit von einem identifizierten Typ des Straßenschilds oder einem identifizierten Zustand der Ampeln, entsprechende Beschränkungen an möglichen Bewegungsmustern des Fahrzeugs 60 z. B. aus einer Datenbank abgerufen werden, ein zukünftiger Pfad des Fahrzeugs 60 kann entsprechend den Beschränkungen berechnet werden und der Aktorsteuerbefehl A kann berechnet werden, um das Fahrzeug so zu lenken, dass die Trajektorie ausgeführt wird.Likewise, after identifying street signs or traffic lights, depending on an identified type of street sign or an identified state of the traffic lights, corresponding restrictions can then be placed on possible movement patterns of the vehicle 60, e.g. B. retrieved from a database, a future path of the vehicle 60 may be calculated according to the constraints, and the actuator control command A may be calculated to steer the vehicle to execute the trajectory.

Gleichermaßen kann, nach dem Identifizieren von Fußgängern und/oder Fahrzeugen, ein projiziertes zukünftiges Verhalten der Fußgänger und/oder Fahrzeuge geschätzt werden, und basierend auf dem geschätzten zukünftigen Verhalten kann dann eine Trajektorie ausgewählt werden, um eine Kollision mit dem Fußgänger und/oder dem Fahrzeug zu vermeiden, und der Aktorsteuerbefehl A kann berechnet werden, um das Fahrzeug so zu lenken, dass die Trajektorie ausgeführt wird.Likewise, after identifying pedestrians and/or vehicles, projected future behavior of the pedestrians and/or vehicles may be estimated, and based on the estimated future behavior, a trajectory may then be selected to avoid a collision with the pedestrian and/or vehicle Vehicle to avoid, and the actuator control command A can be calculated to steer the vehicle to execute the trajectory.

In noch weiteren Ausführungsformen kann sich vorgestellt werden, dass das Steuersystem 40 eine Anzeige 10a eines Aktors 10 steuert, wobei die Anzeige 10a den Steuerbefehl oder dergleichen anzeigen kann.
In anderen Ausführungsformen kann die Anzeige 10a eine Ausgabeschnittstelle zu einer Wiedergabevorrichtung sein, wie etwa eine Anzeige, eine Lichtquelle, ein Lautsprecher, ein Vibrationsmotor usw., die verwendet werden kann, um ein sensorisch wahrnehmbares Ausgangssignal zu erzeugen, das basierend auf der Merkmalsrepräsentation erzeugt werden kann, die durch den Videomerkmalsextraktor extrahiert wird. Das sensorisch wahrnehmbare Ausgangssignal kann die extrahierten Merkmale direkt angeben, kann aber auch ein abgeleitetes sensorisch wahrnehmbares Ausgangssignal repräsentieren, z. B. zur Verwendung bei der Führung, Navigation oder einem anderen Typ von Steuerung eines computergesteuerten Systems.
In still further embodiments, it can be imagined that the control system 40 controls a display 10a of an actuator 10, the display 10a displaying the control command or the like can.
In other embodiments, the display 10a may be an output interface to a display device, such as a display, a light source, a speaker, a vibration motor, etc., that may be used to generate a sensory-perceivable output signal based on the feature representation can be extracted by the video feature extractor. The sensory perceptible output signal can directly indicate the extracted features, but can also represent a derived sensory perceptible output signal, e.g. B. for use in guidance, navigation or other type of control of a computer controlled system.

Ferner kann das Steuersystem 40 einen Prozessor 45 (oder eine Mehrzahl von Prozessoren) und mindestens ein maschinenlesbares Speicherungsmedium 46 umfassen, auf dem Anweisungen gespeichert sind, die bei ihrer Ausführung bewirken, dass das Steuersystem 40 ein Verfahren gemäß einem Aspekt der Erfindung ausführt.Further, the control system 40 may include a processor 45 (or a plurality of processors) and at least one machine-readable storage medium 46 storing instructions that, when executed, cause the control system 40 to carry out a method according to an aspect of the invention.

In einer bevorzugten Ausführungsform von 2 wird das Steuersystem 40 zum Steuern des Aktors verwendet, der ein zumindest teilweise autonomer Roboter ist, z. B. ein zumindest teilweise autonomes Fahrzeug 100.In a preferred embodiment of 2 the control system 40 is used to control the actuator, which is an at least partially autonomous robot, e.g. B. an at least partially autonomous vehicle 100.

Der Sensor 30 kann einen oder mehrere Videosensoren und/oder einen oder mehrere Radar-Sensoren und/oder einen oder mehrere Ultraschallsensoren und/oder einen oder mehrere LiDAR-Sensoren und/oder einen oder mehrere Positionssensoren (wie z. B. GPS) umfassen. Einige oder alle dieser Sensoren sind vorzugsweise, aber nicht notwendigerweise, im Fahrzeug 100 integriert. Alternativ oder zusätzlich kann der Sensor 30 ein Informationssystem zum Bestimmen eines Zustands des Aktorsystems umfassen. Ein Beispiel für solch ein Informationssystem ist ein Wetterinformationssystem, das einen gegenwärtigen oder zukünftigen Zustand des Wetters in der Umgebung 20 bestimmt.The sensor 30 may include one or more video sensors and/or one or more radar sensors and/or one or more ultrasonic sensors and/or one or more LiDAR sensors and/or one or more position sensors (such as GPS). Some or all of these sensors are preferably, but not necessarily, integrated into the vehicle 100. Alternatively or additionally, the sensor 30 may include an information system for determining a state of the actuator system. An example of such an information system is a weather information system that determines a current or future state of the weather in the environment 20.

Beispielsweise kann der Klassifizierer 60 unter Verwendung des Eingangssignals x zum Beispiel Objekte in der Nähe des zumindest teilweise autonomen Roboters detektieren. Das Ausgangssignal y kann eine Information umfassen, die charakterisiert, wo sich Objekte in der Nähe des zumindest teilweise autonomen Roboters befinden. Der Steuerbefehl A kann dann gemäß dieser Information bestimmt werden, beispielsweise um Kollisionen mit den detektierten Objekten zu vermeiden.For example, the classifier 60 can detect, for example, objects in the vicinity of the at least partially autonomous robot using the input signal x. The output signal y may include information that characterizes where objects are located in the vicinity of the at least partially autonomous robot. The control command A can then be determined according to this information, for example to avoid collisions with the detected objects.

Die Aktoreinheit 10, die vorzugsweise im Fahrzeug 100 integriert ist, kann durch eine Bremse, ein Antriebssystem, einen Motor, einen Antriebsstrang oder eine Lenkung des Fahrzeugs 100 gegeben sein. Die Aktorsteuerbefehle A können so bestimmt werden, dass die Aktor(oder Aktoren)-Einheit 10 so gesteuert wird, dass das Fahrzeug 100 Kollisionen mit den detektierten Objekten vermeidet. Die detektierten Objekte können auch danach klassifiziert werden, was der Klassifizierer 60 für am wahrscheinlichsten hält, z. B. Fußgänger oder Bäume, und die Aktorsteuerbefehle A können in Abhängigkeit von der Klassifizierung bestimmt werden.The actuator unit 10, which is preferably integrated in the vehicle 100, can be provided by a brake, a drive system, a motor, a drive train or a steering system of the vehicle 100. The actuator control commands A can be determined so that the actuator (or actuators) unit 10 is controlled so that the vehicle 100 avoids collisions with the detected objects. The detected objects can also be classified according to what the classifier 60 considers most likely, e.g. B. pedestrians or trees, and the actuator control commands A can be determined depending on the classification.

In weiteren Ausführungsformen kann der zumindest teilweise autonome Roboter durch einen anderen mobilen Roboter (nicht gezeigt) gegeben sein, der sich zum Beispiel durch Fliegen, Schwimmen, Tauchen oder Schreiten bewegen kann. Der mobile Roboter kann unter anderem ein zumindest teilweise autonomer Rasenmäher oder ein zumindest teilweise autonomer Reinigungsroboter sein. In allen der obigen Ausführungsformen kann der Aktorsteuerbefehl A so bestimmt werden, dass eine Antriebseinheit und/oder eine Lenkung und/oder eine Bremse des mobilen Roboters so gesteuert werden, dass der mobile Roboter Kollisionen mit den identifizierten Objekten vermeiden kann.In further embodiments, the at least partially autonomous robot may be another mobile robot (not shown) that can move, for example, by flying, swimming, diving or walking. The mobile robot can be, among other things, an at least partially autonomous lawn mower or an at least partially autonomous cleaning robot. In all of the above embodiments, the actuator control command A may be determined so that a drive unit and/or a steering and/or a brake of the mobile robot are controlled so that the mobile robot can avoid collisions with the identified objects.

In einer weiteren Ausführungsform kann der zumindest teilweise autonome Roboter durch einen Gartenroboter (nicht gezeigt) gegeben sein, der den Sensor 30, vorzugsweise einen optischen Sensor, verwendet, um einen Zustand von Pflanzen in der Umgebung 20 zu bestimmen. Die Aktoreinheit 10 kann eine Düse zum Sprühen von Chemikalien sein. In Abhängigkeit von einer identifizierten Art und/oder einem identifizierten Zustand der Pflanzen kann ein Aktorsteuerbefehl A bestimmt werden, um zu bewirken, dass die Aktoreinheit 10 die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien besprüht.In a further embodiment, the at least partially autonomous robot may be a garden robot (not shown) that uses the sensor 30, preferably an optical sensor, to determine a condition of plants in the environment 20. The actuator unit 10 can be a nozzle for spraying chemicals. Depending on an identified species and/or condition of the plants, an actuator control command A may be determined to cause the actuator unit 10 to spray the plants with an appropriate amount of appropriate chemicals.

In noch weiteren Ausführungsformen kann der zumindest teilweise autonome Roboter durch ein Haushaltsgerät (nicht gezeigt) gegeben sein, wie z. B. eine Waschmaschine, einen Herd, einen Ofen, eine Mikrowelle oder eine Spülmaschine. Der Sensor 30, z. B. ein optischer Sensor, kann einen Zustand eines Objekts detektieren, das einer Bearbeitung durch das Haushaltsgerät unterzogen werden soll. Beispielsweise in dem Fall, dass das Haushaltsgerät eine Waschmaschine ist, kann der Sensor 30 einen Zustand der Wäsche in der Waschmaschine detektieren. Das Aktorsteuersignal A kann dann in Abhängigkeit von einem detektierten Material der Wäsche bestimmt werden.In still further embodiments, the at least partially autonomous robot may be provided by a household appliance (not shown), such as. B. a washing machine, a stove, an oven, a microwave or a dishwasher. The sensor 30, e.g. B. an optical sensor can detect a state of an object that is to be subjected to processing by the household appliance. For example, in the case that the household appliance is a washing machine, the sensor 30 can indicate a state of the Detecting laundry in the washing machine. The actuator control signal A can then be determined depending on a detected material of the laundry.

In 3 ist eine Ausführungsform gezeigt, in der ein Steuersystem 40 verwendet wird, um eine Herstellungsmaschine 11, z. B. ein Stanzgerät, ein Schneidwerkzeug oder einen Tieflochbohrer, eines Herstellungssystems 200 z. B. als Teil einer Produktionslinie zu steuern.In 3 An embodiment is shown in which a control system 40 is used to control a manufacturing machine 11, e.g. B. a punching device, a cutting tool or a deep hole drill, a manufacturing system 200 z. B. to control as part of a production line.

Das Steuersystem 40 steuert eine Aktoreinheit 10, die im Gegenzug die Herstellungsmaschine 11 steuert.The control system 40 controls an actuator unit 10, which in turn controls the manufacturing machine 11.

Der Sensor 30 kann durch einen optischen Sensor gegeben sein, der Eigenschaften z. B. eines hergestellten Produkts 12 erfasst. Der Klassifizierer 60 kann einen Zustand des hergestellten Produkts 12 aus diesen erfassten Eigenschaften bestimmen. Die Aktoreinheit 10, die die Herstellungsmaschine 11 steuert, kann dann in Abhängigkeit von dem bestimmten Zustand des hergestellten Produkts 12 für einen anschließenden Herstellungsschritt des hergestellten Produkts 12 gesteuert werden. Oder es kann sich vorgestellt werden, dass die Aktoreinheit 10 während der Herstellung eines anschließenden hergestellten Produkts 12 in Abhängigkeit von dem bestimmten Zustand des hergestellten Produkts 12 gesteuert wird.The sensor 30 can be an optical sensor which has properties such as: B. a manufactured product 12 recorded. The classifier 60 can determine a condition of the manufactured product 12 from these detected properties. The actuator unit 10, which controls the manufacturing machine 11, can then be controlled for a subsequent manufacturing step of the manufactured product 12 depending on the specific state of the manufactured product 12. Or it can be imagined that the actuator unit 10 is controlled during the production of a subsequent manufactured product 12 depending on the specific state of the manufactured product 12.

In 4 ist eine Ausführungsform gezeigt, in der das Steuersystem ein Zugangskontrollsystem 300 steuert. Das Zugangskontrollsystem kann dazu ausgebildet sein, einen Zugang physisch zu kontrollieren. Es kann zum Beispiel eine Tür 401 umfassen. Der Sensor 30 ist dazu ausgelegt, eine Szene zu detektieren, die für die Entscheidung relevant ist, ob ein Zugang gewährt werden soll oder nicht. Er kann zum Beispiel ein optischer Sensor sein, um Bild- oder Videodaten zum Detektieren des Gesichts einer Person bereitzustellen. Der Klassifizierer 60 kann dazu ausgelegt sein, diese Bild- oder Videodaten zu interpretieren, z. B. durch Abgleichen von Identitäten mit bekannten Menschen, die in einer Datenbank gespeichert sind, wodurch eine Identität der Person bestimmt wird. Das Aktorsteuersignal A kann dann in Abhängigkeit von der Interpretation des Klassifizierers 60 z. B. gemäß der bestimmten Identität bestimmt werden. Die Aktoreinheit 10 kann ein Schloss sein, das in Abhängigkeit von dem Aktorsteuersignal A Zugang gewährt oder nicht. Eine nicht physische, logische Zugangskontrolle ist auch möglich.In 4 An embodiment is shown in which the control system controls an access control system 300. The access control system can be designed to physically control access. It may include a door 401, for example. The sensor 30 is designed to detect a scene that is relevant to deciding whether or not to grant access. For example, it can be an optical sensor to provide image or video data for detecting a person's face. The classifier 60 may be designed to interpret this image or video data, e.g. B. by matching identities with known people stored in a database, thereby determining an identity of the person. The actuator control signal A can then, depending on the interpretation of the classifier 60, e.g. B. be determined according to the specific identity. The actuator unit 10 can be a lock that grants access or not depending on the actuator control signal A. Non-physical, logical access control is also possible.

In 5 ist eine Ausführungsform gezeigt, in der das Steuersystem 40 ein Überwachungssystem 400 steuert. Diese Ausführungsform ist größtenteils mit der in 5 gezeigten Ausführungsform identisch. Daher werden nur die sich unterscheidenden Aspekte ausführlich beschrieben. Der Sensor 30 ist dazu ausgelegt, eine überwachte Szene zu detektieren. Das Steuersystem steuert nicht notwendigerweise einen Aktor 10, sondern eine Anzeige 10a. Beispielsweise kann das maschinelle Lernsystem 60 eine Klassifizierung einer Szene bestimmen, z. B. ob die durch den optischen Sensor 30 detektierte Szene verdächtig ist. Das Aktorsteuersignal A, das zu der Anzeige 10a übertragen wird, kann dann z. B. dazu ausgelegt sein, zu bewirken, dass die Anzeige 10a den angezeigten Inhalt in Abhängigkeit von der bestimmten Klassifizierung anpasst, um z. B. ein Objekt hervorzuheben, das durch das maschinelle Lernsystem 60 als verdächtig erachtet wird.In 5 An embodiment is shown in which the control system 40 controls a monitoring system 400. This embodiment is largely similar to that in 5 Embodiment shown identical. Therefore, only the different aspects are described in detail. The sensor 30 is designed to detect a monitored scene. The control system does not necessarily control an actuator 10, but rather a display 10a. For example, the machine learning system 60 may determine a classification of a scene, e.g. B. whether the scene detected by the optical sensor 30 is suspicious. The actuator control signal A, which is transmitted to the display 10a, can then z. B. be designed to cause the display 10a to adjust the displayed content depending on the particular classification, e.g. B. highlight an object that is considered suspicious by the machine learning system 60.

In 6 ist eine Ausführungsform gezeigt, in der das Steuersystem 40 verwendet wird, um einen automatisierten persönlichen Assistenten 250 zu steuern. Der Sensor 30 kann ein optischer Sensor sein, um z. B. Videobilder von Gesten eines Benutzers 249 zu empfangen. Alternativ kann der Sensor 30 auch ein Audiosensor sein, um z. B. einen Sprachbefehl des Benutzers 249 zu empfangen.In 6 An embodiment is shown in which the control system 40 is used to control an automated personal assistant 250. The sensor 30 can be an optical sensor, for example. B. to receive video images of gestures of a user 249. Alternatively, the sensor 30 can also be an audio sensor, for example. B. to receive a voice command from the user 249.

Das Steuersystem 40 bestimmt dann die Aktorsteuerbefehle A zum Steuern des automatisierten persönlichen Assistenten 250. Die Aktorsteuerbefehle A werden gemäß dem Sensorsignal S des Sensors 30 bestimmt. Das Sensorsignal S wird zu dem Steuersystem 40 übertragen. Beispielsweise kann der Klassifizierer 60 dazu ausgelegt sein, z. B. einen Gestenerkennungsalgorithmus auszuführen, um eine durch den Benutzer 249 vorgenommene Geste zu identifizieren. Das Steuersystem 40 kann dann einen Aktorsteuerbefehl A zur Übertragung zu dem automatisierten persönlichen Assistenten 250 bestimmen. Es überträgt dann den Aktorsteuerbefehl A zu dem automatisierten persönlichen Assistenten 250.The control system 40 then determines the actuator control commands A for controlling the automated personal assistant 250. The actuator control commands A are determined according to the sensor signal S of the sensor 30. The sensor signal S is transmitted to the control system 40. For example, the classifier 60 may be designed to, e.g. B. execute a gesture recognition algorithm to identify a gesture made by the user 249. The control system 40 may then determine an actuator control command A for transmission to the automated personal assistant 250. It then transmits the actuator control command A to the automated personal assistant 250.

Beispielsweise kann der Aktorsteuerbefehl A gemäß der identifizierten Benutzergeste, die durch den Klassifizierer 60 erkannt wird, bestimmt werden. Er kann dann Informationen umfassen, die bewirken, dass der automatisierte persönliche Assistent 250 Informationen aus einer Datenbank abruft und diese abgerufenen Informationen in einer für den Empfang durch den Benutzer 249 geeigneten Form ausgibt.For example, the actuator control command A may be determined according to the identified user gesture recognized by the classifier 60. It may then include information that causes the automated personal assistant 250 to retrieve information from a database and output that retrieved information in a form suitable for receipt by the user 249.

In weiteren Ausführungsformen kann sich vorgestellt werden, dass anstelle des automatisierten persönlichen Assistenten 250 das Steuersystem 40 ein Haushaltsgerät (nicht gezeigt) steuert, das gemäß der identifizierten Benutzergeste gesteuert wird. Das Haushaltsgerät kann eine Waschmaschine, ein Herd, ein Ofen, eine Mikrowelle oder eine Spülmaschine sein.In further embodiments, it can be imagined that instead of the automated personal assistant 250, the control system 40 controls a household appliance (not shown) that operates according to the identified user gesture. The household appliance can be a washing machine, a stove, an oven, a microwave or a dishwasher.

In 7 ist eine Ausführungsform eines Steuersystems 40 zum Steuern eines Bildgebungssystems 500 gezeigt, zum Beispiel einer MRT-Einrichtung, einer Röntgenbildgebungseinrichtung oder einer Ultraschallbildgebungseinrichtung. Der Sensor 30 kann zum Beispiel ein Bildgebungssensor sein. Das maschinelle Lernsystem 60 kann dann eine Klassifizierung des gesamten oder eines Teils des erfassten Bildes bestimmen. Das Aktorsteuersignal A kann dann gemäß dieser Klassifizierung gewählt werden, wodurch die Anzeige 10a gesteuert wird. Beispielsweise kann das maschinelle Lernsystem 60 ein Gebiet des erfassten Bildes als potenziell anomal interpretieren. In diesem Fall kann das Aktorsteuersignal A bestimmt werden, um zu bewirken, dass die Anzeige 10a das Bild anzeigt und das potenziell anomale Gebiet hervorhebt.In 7 1 is an embodiment of a control system 40 for controlling an imaging system 500, for example an MRI device, an X-ray imaging device or an ultrasound imaging device. The sensor 30 may be, for example, an imaging sensor. The machine learning system 60 can then determine a classification of all or part of the captured image. The actuator control signal A can then be selected according to this classification, thereby controlling the display 10a. For example, the machine learning system 60 may interpret an area of the captured image as potentially anomalous. In this case, the actuator control signal A may be determined to cause the display 10a to display the image and highlight the potentially abnormal area.

In 8 ist eine Ausführungsform eines Trainingssystems 500 gezeigt. Die Trainingsvorrichtung 500 umfasst ein Bereitstellungssystem 51, das Eingangsbilder aus einem Trainingsdatensatz bereitstellt. Die Eingangsbilder werden in das zu trainierende neuronale Netzwerk 52 eingespeist, das Ausgangsvariablen aus diesen bestimmt. Die Ausgangsvariablen und die Eingangsbilder werden an einen Bewerter 53 geliefert, der akute Hyper-/Parameter daraus bestimmt, die zu dem Parameterspeicher P übertragen werden, in dem sie die aktuellen Parameter ersetzen.In 8th an embodiment of a training system 500 is shown. The training device 500 includes a provision system 51 that provides input images from a training data set. The input images are fed into the neural network 52 to be trained, which determines output variables from them. The output variables and the input images are supplied to an evaluator 53 which determines acute hyper/parameters therefrom which are transferred to the parameter memory P in which they replace the current parameters.

Die durch die Trainingsvorrichtung 500 ausgeführten Prozeduren können als ein Computerprogramm implementiert werden, das auf einem maschinenlesbaren Speicherungsmedium 54 gespeichert ist und durch einen Prozessor 55 ausgeführt wird.The procedures performed by the training device 500 may be implemented as a computer program stored on a machine-readable storage medium 54 and executed by a processor 55.

Der Begriff „Computer“ deckt eine jegliche Vorrichtung für die Verarbeitung vordefinierter Berechnungsanweisungen ab. Diese Berechnungsanweisungen kann in Form von Software oder in Form von Hardware oder auch in einer gemischten Form aus Software und Hardware vorliegen.The term “computer” covers any device for processing predefined calculation instructions. These calculation instructions can be in the form of software or in the form of hardware or even in a mixed form of software and hardware.

Es versteht sich ferner, dass die Prozeduren nicht nur vollständig in Software implementiert werden können, wie beschrieben. Sie können auch in Hardware oder in einer gemischten Form aus Software und Hardware implementiert werden.It is further understood that the procedures cannot only be implemented entirely in software, as described. They can also be implemented in hardware or in a mixed form of software and hardware.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturNon-patent literature cited

  • Mockus, J., Tiesis, V. und Zilinskas, A. „The application of Bayesian methods for seeking the extremum. Towards Global Optimization“, 2(117-129) [0020]Mockus, J., Tiesis, V. and Zilinskas, A. “The application of Bayesian methods for seeking the extremum. Towards Global Optimization”, 2(117-129) [0020]

Claims (10)

Computer-implementiertes Verfahren (20) zur Bildaugmentation für selbstüberwachtes Lernen, umfassend die folgenden Schritte: Empfangen (S21) zumindest eines Bildes (I), einer Mehrzahl von Augmentationsgruppen ({gi}), eines ersten Hyperparameters ({Pgi}), der gruppenspezifische Sampling-Wahrscheinlichkeiten charakterisiert, eines zweiten Hyperparameters ({Ngi}), der eine Anzahl von gruppenspezifischen Augmentationen charakterisiert, und eines dritten Hyperparameters (T), der eine Anzahl von Gesamtgruppensamples charakterisiert; Initialisieren (S22) einer leeren Liste von Augmentationssequenzen (A): Wiederholen (S23), bis ein Zähler den Wert des dritten Hyperparameters (T) erreicht: Samplen einer Gruppe g gemäß dem ersten Hyperparameter ({{Pgi}); Samplen, gemäß dem zweiten Hyperparameter (Ng), von Augmentationen von der Gruppe (g); Anhängen der Augmentationen an die Liste (A); Anwenden (S24) der gesampleten Augmentationssequenzen gemäß der Liste auf das Bild (l).Computer-implemented method (20) for image augmentation for self-supervised learning, comprising the following steps: receiving (S21) at least one image (I), a plurality of augmentation groups ({g i }), a first hyperparameter ({P gi }), which characterizes group-specific sampling probabilities, a second hyperparameter ({N gi }) which characterizes a number of group-specific augmentations, and a third hyperparameter (T) which characterizes a number of total group samples; Initialize (S22) an empty list of augmentation sequences (A): Repeat (S23) until a counter reaches the value of the third hyperparameter (T): Sample a group g according to the first hyperparameter ({{P gi }); Sampling, according to the second hyperparameter (N g ), augmentations from the group (g); Append the augmentations to the list (A); Apply (S24) the sampled augmentation sequences according to the list to the image (l). Verfahren nach Anspruch 1, wobei der Schritt des Samplens gemäß dem zweiten Hyperparameter Ng durch einheitliches ersatzloses Samplen ausgeführt wird.Procedure according to Claim 1 , where the step of sampling according to the second hyperparameter N g is carried out by uniform sampling without replacement. Verfahren nach einem der vorstehenden Ansprüche, wobei die Hyperparameter mit Bayesscher Optimierung optimiert werden.Method according to one of the preceding claims, wherein the hyperparameters are optimized using Bayesian optimization. Verfahren nach einem der vorstehenden Ansprüche, wobei ein Bildklassifizierer (60) durch selbstüberwachtes Lernen mit dem augmentierten Bild trainiert wird.Method according to one of the preceding claims, wherein an image classifier (60) is trained by self-supervised learning with the augmented image. Verfahren nach Anspruch 4, wobei der Klassifizierer (60) zum Klassifizieren von Sensorsignalen trainiert wird, wobei der Klassifizierer (60) die folgenden Schritte umfasst: - Empfangen eines Sensorsignals (S), das Daten von einem Sensor (30) umfasst, - Bestimmen eines Eingangssignals (x), das von dem Sensorsignal (S) abhängt, und Einspeisen des Eingangssignals (x) in den Klassifizierer (60), um ein Ausgangssignal (y) zu erhalten, das eine Klassifizierung des Eingangssignals (x) charakterisiert.Procedure according to Claim 4 , wherein the classifier (60) is trained to classify sensor signals, the classifier (60) comprising the following steps: - receiving a sensor signal (S) comprising data from a sensor (30), - determining an input signal (x) , which depends on the sensor signal (S), and feeding the input signal (x) into the classifier (60) to obtain an output signal (y) which characterizes a classification of the input signal (x). Computer-implementiertes Verfahren zur Verwendung eines Klassifizierers (60), der mit dem Verfahren nach Anspruch 5 trainiert wird, zum Bereitstellen eines Aktorsteuersignals (A) zum Steuern eines Aktors (10), das alle Schritte des Verfahrens nach Anspruch 5 umfasst und ferner den folgenden Schritt umfasst: - Bestimmen des Aktorsteuersignals (A) in Abhängigkeit von dem Ausgangssignal (y).Computer-implemented method for using a classifier (60) that uses the method according to Claim 5 is trained to provide an actuator control signal (A) for controlling an actuator (10) that carries out all steps of the method Claim 5 and further comprises the following step: - determining the actuator control signal (A) as a function of the output signal (y). Verfahren nach Anspruch 6, wobei der Aktor (10) einen zumindest teilweise autonomen Roboter (100) und/oder eine Herstellungsmaschine (200) und/oder ein Zugangskontrollsystem (300) steuert.Procedure according to Claim 6 , wherein the actuator (10) controls an at least partially autonomous robot (100) and/or a manufacturing machine (200) and/or an access control system (300). Computerprogramm, das dazu ausgelegt ist, zu bewirken, dass ein Computer das Verfahren nach einem der Ansprüche 1 bis 7 mit allen seiner Schritte ausführt, falls das Computerprogramm durch einen Prozessor ausgeführt wird.Computer program designed to cause a computer to carry out the method according to one of the Claims 1 until 7 with all of its steps if the computer program is executed by a processor. Maschinenlesbares Speicherungsmedium, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.Machine-readable storage medium on which the computer program is written Claim 8 is stored. System, das dazu ausgelegt ist, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.System designed to carry out the method according to one of the Claims 1 until 7 to carry out.
DE102022207266.9A 2022-07-15 2022-07-15 Apparatus and method for augmenting an image for self-supervised learning Pending DE102022207266A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022207266.9A DE102022207266A1 (en) 2022-07-15 2022-07-15 Apparatus and method for augmenting an image for self-supervised learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022207266.9A DE102022207266A1 (en) 2022-07-15 2022-07-15 Apparatus and method for augmenting an image for self-supervised learning

Publications (1)

Publication Number Publication Date
DE102022207266A1 true DE102022207266A1 (en) 2024-01-18

Family

ID=89387363

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022207266.9A Pending DE102022207266A1 (en) 2022-07-15 2022-07-15 Apparatus and method for augmenting an image for self-supervised learning

Country Status (1)

Country Link
DE (1) DE102022207266A1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mockus, J., Tiesis, V. und Zilinskas, A. „The application of Bayesian methods for seeking the extremum. Towards Global Optimization", 2(117-129)

Similar Documents

Publication Publication Date Title
DE112017001311T5 (en) System and method for training an object classifier by machine learning
DE112009000485T5 (en) Object comparison for tracking, indexing and searching
DE102017127592A1 (en) A method of classifying image scenes in a driving support system
DE112017005651T5 (en) Device for classifying data
DE202019105282U1 (en) Device for optimizing a machine learning system
DE102020210352A1 (en) Method and device for transfer learning between modified tasks
DE102021205722A1 (en) SYSTEM AND PROCEDURE FOR MULTI-SCALE MODELS WITH DEEP BALANCE
DE102023102316A1 (en) SYSTEM AND METHOD FOR ROBUST GENERATION OF PSEUDO-LABELS FOR SEMI-SUPERVISED OBJECT DETECTION
DE102021201124A1 (en) TRAINING IMAGE CLASSIFIER NETWORKS
Bargoti et al. Image classification with orchard metadata
EP1180258B1 (en) Pattern recognition by means of an examination of supplementary features after a partial processing
DE102022210129A1 (en) IMAGE PROCESSING VIA ISOTONIC CONVOLUTIONAL NEURONAL NETWORKS
DE102021213118A1 (en) METHOD AND SYSTEM FOR BLACK-BOX UNIVERSAL LOW-QUERY ATTACKS
DE102023109072A1 (en) DATA AUGMENTATION FOR DOMAIN GENERALIZATION
CN110111358B (en) Target tracking method based on multilayer time sequence filtering
DE102020200503A1 (en) Method for generating labeled data, in particular for training a neural network, by improving initial labels
DE102020201939A1 (en) Method and device for evaluating an image classifier
DE102023203691A1 (en) Method and system for detecting graph level anomalies
DE102022207266A1 (en) Apparatus and method for augmenting an image for self-supervised learning
DE102022206060A1 (en) DEFENSE MULTIMODAL FUSION MODELS AGAINST SINGLE-SOURCE ATTACKERS
DE102021210721A1 (en) METHOD AND SYSTEM FOR ADVERSARY TRAINING USING METAGELEARNED INITIALIZATION
US20210287093A1 (en) Device and method for training a neuronal network
DE202022101997U1 (en) Device for jointly determining an optimal architecture of a neural network and optimal hyperparameters for training the neural network
DE102021210417A1 (en) Systems and methods with robust classifiers to defend against patch attacks
DE102020216188A1 (en) Apparatus and method for training a classifier

Legal Events

Date Code Title Description
R163 Identified publications notified