DE102022209517A1 - Method and device for training an object detector - Google Patents

Method and device for training an object detector Download PDF

Info

Publication number
DE102022209517A1
DE102022209517A1 DE102022209517.0A DE102022209517A DE102022209517A1 DE 102022209517 A1 DE102022209517 A1 DE 102022209517A1 DE 102022209517 A DE102022209517 A DE 102022209517A DE 102022209517 A1 DE102022209517 A1 DE 102022209517A1
Authority
DE
Germany
Prior art keywords
neural network
head
training
image
output
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
DE102022209517.0A
Other languages
German (de)
Inventor
Alexander Hirsch
Lukas Enderich
Simon Heming
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 DE102022209517.0A priority Critical patent/DE102022209517A1/en
Priority to PCT/EP2023/074544 priority patent/WO2024056503A1/en
Publication of DE102022209517A1 publication Critical patent/DE102022209517A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • 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/084Backpropagation, e.g. using gradient descent
    • 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

Landscapes

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

Abstract

Computerimplementiertes Verfahren zum Trainieren eines neuronalen Netzes (60), wobei das neuronale Netz (60) ausgebildet ist, Objekte in Bildern (x) zu detektieren, und das Training folgende Schritte umfasst:• Ermitteln einer Merkmalsrepräsentation (f) eines Trainingsbildes (xi) mittels eines Rückgrats (B) des neuronalen (60);• Ermitteln von Kopfausgaben (C1, C2, C3, P1, P2, P3, S1, S2, S3) basierend auf der Merkmalsrepräsentation (f) und mittels einer Mehrzahl (MC, MP, MS) von Köpfen (HC1, HC2, HC3, HP1, HP2, HP3, HS1, HS2, HS3) des neuronalen Netzes (60), wobei die Kopfausgaben (C1, C2, C3, P1, P2, P3, S1, S2, S3) jeweils für Bereiche des Trainingsbildes (xi) eine Anwesenheit oder Abwesenheit eines Objekts charakterisiert oder eine Ausdehnung des Objekts charakterisiert oder eine Position des Objekts charakterisiert oder die Ausdehnung und die Position charakterisiert;• Ermitteln einer Mehrzahl von ersten Verlustwerten, wobei jeweils ein erster Verlustwert mit einer Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) korrespondiert und eine Abweichung der Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) von einer gewünschten Kopfausgabe charakterisiert;• Anpassen zumindest eines Parameters (θ) des Rückgrats (B) und/oder zumindest eines Parameters eines Kopfes (HC1, HC2, HC3, HP1, HP2, HP3, HS1, HS2, HS3) basierend auf einem zweiten Verlustwert, wobei der zweite Verlustwert eine Summe der ersten Verlustwerte charakterisiert.Computer-implemented method for training a neural network (60), wherein the neural network (60) is designed to detect objects in images (x), and the training comprises the following steps: • Determining a feature representation (f) of a training image (xi) by means of a backbone (B) of the neuronal (60);• Determining head outputs (C1, C2, C3, P1, P2, P3, S1, S2, S3) based on the feature representation (f) and using a plurality (MC, MP, MS) of heads (HC1, HC2, HC3, HP1, HP2, HP3, HS1, HS2, HS3) of the neural network (60), the head outputs (C1, C2, C3, P1, P2, P3, S1, S2, S3) each for areas of the training image (xi) characterizes a presence or absence of an object or characterizes an extent of the object or characterizes a position of the object or characterizes the extent and the position; • Determining a plurality of first loss values, each with a first loss value corresponds to a head output (C1, C2, C3, P1, P2, P3, S1, S2, S3) and a deviation of the head output (C1, C2, C3, P1, P2, P3, S1, S2, S3) from a desired one head output characterized;• adjusting at least one parameter (θ) of the spine (B) and/or at least one parameter of a head (HC1, HC2, HC3, HP1, HP2, HP3, HS1, HS2, HS3) based on a second loss value, where the second loss value characterizes a sum of the first loss values.

Description

Die Erfindung betrifft ein Verfahren zum Trainieren eines neuronalen Netzes, ein Verfahren zum Ausführen des neuronalen Netzes, einer Vorrichtung zum Trainieren, einer Vorrichtung zum Ausführen, einem Computerprogramm und einem computerlesbaren Speichermedium.The invention relates to a method for training a neural network, a method for executing the neural network, a device for training, a device for executing, a computer program and a computer-readable storage medium.

Stand der TechnikState of the art

Tran et al „Hydra: Preserving Ensemble Diversity for Model Distillation“, 2020, https://arxiv.org/pdf/2001.04694.pdf offenbart ein Ensemble für Bildklassifikation.Tran et al “Hydra: Preserving Ensemble Diversity for Model Distillation,” 2020, https://arxiv.org/pdf/2001.04694.pdf reveals an ensemble for image classification.

Zhuo et al. „Objects as Points“, 2019, https://arxiv.org/abs/1904.07850 offenbart CenterNet, eine neuronale Netzwerk Architektur zur Objektdetektion.Zhuo et al. “Objects as Points”, 2019, https://arxiv.org/abs/1904.07850 reveals CenterNet, a neural network architecture for object detection.

Liu et al.: „SSD: Single Shot MultiBox Detector“, 2016, https-//arxiv.org/abs/1512.02325 offenbart SSD, eine neuronale Netzwerk Architektur zur Objektdetektion.Liu et al.: “SSD: Single Shot MultiBox Detector”, 2016, https-//arxiv.org/abs/1512.02325 discloses SSD, a neural network architecture for object detection.

Ren et al. „Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks“, 2015, https://arxiv.org/abs/1506.01497 offenbart Faster-RCNN, eine neuronale Netzwerk Architektur zur Objektdetektion.Ren et al. “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks,” 2015, https://arxiv.org/abs/1506.01497 discloses Faster-RCNN, a neural network architecture for object detection.

Vorteile der ErfindungAdvantages of the invention

Systeme des maschinellen Lernens, insbesondere neuronale Netze werden immer häufiger in verschiedenen Bereichen der Technik verwendet. Insbesondere in Fall, in denen aus Daten Aussagen nicht mehr oder nicht mit hinreichender Güte regelbasiert extrahiert werden können, haben sich diese statistischen Verfahren als geeignet erwiesen. Insbesondere bei der Detektion von Objekten aus digitalen Bildern erlauben Verfahren aus dem Bereich des maschinellen Lernens eine derzeit bestmögliche Güte hinsichtlich der Objektdetektionen.Machine learning systems, especially neural networks, are being used more and more frequently in various areas of technology. These statistical methods have proven to be suitable, particularly in cases where statements can no longer be extracted from data based on rules or cannot be extracted with sufficient quality. Particularly when detecting objects from digital images, methods from the field of machine learning currently allow the best possible quality in terms of object detection.

In diesem Zusammenhang hat sich gezeigt, dass Ensemble-Methoden im Vergleich zu einzelnen neuronalen Netzen sowohl die Qualität der Vorhersage als auch die Quantifizierung der Unsicherheit verbessern. Ensemble-Methoden können beispielsweise aus mehreren unabhängig voneinander trainierten neuronalen Netzen bestehen (engl. Deep Ensemble). Indem eine Mehrzahl von insbesondere verschiedenen Vorhersagen für dieselben Eingabedaten berechnet werden, kann unter anderem die Varianz der Vorhersagen als ein Indikator für eine Unsicherheit bezüglich einer Objektdetektion verwendet werden. Wenn beispielsweise die verschiedenen neuronalen Netze eines Deep Ensemble in ihrer Vorhersage weitgehend übereinstimmen, ist die Unsicherheit eher gering; wenn sie es nicht sind, nimmt die Unsicherheit zu. Die Vorhersagequalität verbessert sich außerdem durch die Berechnung des Mittelwerts über die einzelnen Vorhersagen.In this context, ensemble methods have been shown to improve both the quality of prediction and the quantification of uncertainty compared to individual neural networks. Ensemble methods can, for example, consist of several independently trained neural networks (deep ensemble). By calculating a plurality of, in particular, different predictions for the same input data, the variance of the predictions can, among other things, be used as an indicator of uncertainty regarding object detection. For example, if the various neural networks of a deep ensemble largely agree in their predictions, the uncertainty is rather low; if they are not, insecurity increases. The forecast quality also improves by calculating the average of the individual forecasts.

Diese Steigerung der Vorhersageperformanz kommt allerdings mit dem Preis eines stark erhöhten Rechenbedarfs. Typischerweise wächst der Bedarf an Rechenkapazitäten und Speicher linear mit der Anzahl der neuronalen Netze an, was bei heutigen neuronalen Netzen selbst bei einem kleinen Ensemble dazu führen kann, dass das Ensemble nicht mehr oder nicht mehr hinreichend schnell ausgewertet werden kann bzw. ein Speicherbedarf zu groß für den ausführenden Computer ist. Dies stellt insbesondere bei sicherheitskritischen Anwendungen ein erhebliches Risiko dar, da die Objekte der Bilder nicht mehr schnell genug ermittelt werden können.However, this increase in prediction performance comes at the price of a greatly increased computing requirement. Typically, the need for computing capacity and memory increases linearly with the number of neural networks, which in today's neural networks, even with a small ensemble, can lead to the ensemble no longer being able to be evaluated or no longer being evaluated sufficiently quickly, or the memory requirement being too large for the executing computer. This represents a significant risk, particularly in safety-critical applications, as the objects in the images can no longer be determined quickly enough.

Vorteilhafterweise ermöglicht ein neuronales Netz, welches nach einem Verfahren mit Merkmalen des Anspruchs 1 trainiert wird, die Vorteile einer Objektdetektion mittels eines Ensembles (genauere Vorhersagen, genauere Unsicherheitsbestimmung), während die Rechenzeit nur leicht erhöht wird. Dies erlaubt den Einsatz des neuronalen Netzes auch in Computerarchitekturen, die mit stark begrenzten Rechen- und Speicherkapazitäten umgehen müssen, wie beispielsweise eingebetteten Systemen.Advantageously, a neural network, which is trained according to a method with features of claim 1, enables the advantages of object detection using an ensemble (more precise predictions, more precise uncertainty determination), while the computing time is only slightly increased. This also allows the use of the neural network in computer architectures that have to deal with very limited computing and storage capacities, such as embedded systems.

Offenbarung der ErfindungDisclosure of the invention

In einem ersten Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Trainieren eines neuronalen Netzes, wobei das neuronale Netz ausgebildet ist, Objekte in Bildern zu detektieren, und das Training folgende Schritte umfasst:

  • • Ermitteln einer Merkmalsrepräsentation eines Trainingsbildes mittels eines Rückgrats des neuronalen Netzes;
  • • Ermitteln von Kopfausgaben basierend auf der Merkmalsrepräsentation und mittels einer Mehrzahl von Köpfen des neuronalen Netzes, wobei die Kopfausgaben jeweils für Bereiche des Trainingsbildes eine Anwesenheit oder Abwesenheit eines Objekts charakterisiert oder eine Ausdehnung des Objekts charakterisiert oder eine Position des Objekts charakterisiert oder die Ausdehnung und die Position charakterisiert;
  • • Ermitteln einer Mehrzahl von ersten Verlustwerten, wobei jeweils ein erster Verlustwert mit einer Kopfausgabe korrespondiert und eine Abweichung der Kopfausgabe von einer gewünschten Kopfausgabe charakterisiert;
  • • Anpassen zumindest eines Parameters des Rückgrats und/oder zumindest eines Parameters eines Kopfes basierend auf einem zweiten Verlustwert, wobei der zweite Verlustwert eine Summe der ersten Verlustwerte charakterisiert.
In a first aspect, the invention relates to a computer-implemented method for training a neural network, wherein the neural network is designed to detect objects in images and the training comprises the following steps:
  • • Determining a feature representation of a training image using a backbone of the neural network;
  • • Determining head outputs based on the feature representation and by means of a plurality of heads of the neural network, the head outputs each characterizing a presence or absence of an object for areas of the training image or characterizing an extent of the object or characterizing a position of the object or the extent and the position characterized;
  • • Determining a plurality of first loss values, a first loss value corresponding to a head output and characterizing a deviation of the head output from a desired head output;
  • • Adjusting at least one parameter of the spine and/or at least one parameter of a head based on a second Loss value, wherein the second loss value characterizes a sum of the first loss values.

Dass das neuronale Netz ausgebildet ist, Objekte auf Bildern zu detektieren, kann insbesondere derart verstanden werden, als dass das neuronale Netz ausgebildet ist ein Eingabebild zu verarbeiten, wobei das Eingabebild das Bild, insbesondere ein digitales Bild, umfasst und das neuronale Netz ferner eingerichtet ist ein Ausgabesignal zu ermitteln, welches die Anwesenheit oder Abwesenheit von Objekten innerhalb des Bildes charakterisiert. Insbesondere kann der Begriff „Objektdetektion“ damit als die Detektion einer Abwesenheit eines Objekts verstanden werden.The fact that the neural network is designed to detect objects in images can be understood in particular as meaning that the neural network is designed to process an input image, the input image comprising the image, in particular a digital image, and the neural network being further set up to determine an output signal that characterizes the presence or absence of objects within the image. In particular, the term “object detection” can be understood as the detection of the absence of an object.

Der Ausdruck des „Objekts, welches sich im Bild befindet“ oder „Objekt eines Bildes“ kann insbesondere derart verstanden werden, dass das Bild das Objekt abbildet, es also eine Mehrzahl von Pixelwerten innerhalb des Bildes gibt, die zusammen das Objekt repräsentieren. Typischerweise sind solche Objekte die Abbildung eines Objekts der realen Welt auf ein digitales Bild mittels eines entsprechenden Sensors. Also Sensor können insbesondere optische Sensoren eingesetzt werden, insbesondere eine Kamera. Bilder im Sinne der Erfindung können jedoch auch von anderen Sensoren aufgezeichnet werden, zum Beispiel einem LIDAR, einem Radar, einem Ultraschallsensor oder einer Thermalkamera.The expression “object that is in the image” or “object of an image” can be understood in particular to mean that the image depicts the object, i.e. there are a plurality of pixel values within the image that together represent the object. Typically, such objects are the mapping of a real-world object onto a digital image using a corresponding sensor. So sensor, in particular optical sensors can be used, in particular a camera. However, images within the meaning of the invention can also be recorded by other sensors, for example a LIDAR, a radar, an ultrasonic sensor or a thermal camera.

Vorzugsweise kann das Ausgabesignal auch eine räumliche Ausdehnung zumindest eines Objekts innerhalb des Bildes und/oder eine Positionierung des Objekts innerhalb des Bildes charakterisieren. Alternativ zur räumlichen Ausdehnung innerhalb des Bildes und/oder zur Positionierung innerhalb des Bildes kann das Ausgabesignal auch eine räumliche Ausdehnung bezüglich realer Maße des Objekts in der echten Welt und/oder Positionierung innerhalb eines Koordinatensystems der echten Welt charakterisieren. Zum Beispiel können durch intrinsische und extrinsische Parameter einer Kamera den Pixeln und damit Objekten eines Bildes eine Koordinate in einem vordefinierten Koordinatensystem der realen Welt zugeordnet werden. Das neuronale Netz kann dann derart trainiert werden anstatt, der Position und/oder Ausdehnung des Objekts bezüglich einer Breite und Höhe des Bildes in Pixeln eine Position und/oder Ausdehnung des Objekts bezüglich des vordefinierten Koordinatensystems zu ermitteln.Preferably, the output signal can also characterize a spatial extent of at least one object within the image and/or a positioning of the object within the image. As an alternative to spatial extent within the image and/or positioning within the image, the output signal can also characterize a spatial extent with respect to real dimensions of the object in the real world and/or positioning within a coordinate system of the real world. For example, the intrinsic and extrinsic parameters of a camera can be used to assign a coordinate in a predefined coordinate system of the real world to the pixels and thus objects of an image. The neural network can then be trained in such a way that instead of determining the position and/or extent of the object with respect to a width and height of the image in pixels, a position and/or extent of the object with respect to the predefined coordinate system.

Das neuronale Netz selbst kann als aus zwei Teilen bestehend verstanden werden. Der erste Teil des Netzes umfasst das Rückgrat (engl. backbone). Der Begriff Backbone ist geläufig im Stand der Technik. Gelegentlich werden auch die Begriffe Basis (engl. base) oder Basisnetzwerk (engl. base network) synonym zum Begriff Backbone verwendet. Das Rückgrat, manchmal auch als Merkmalsextraktor (engl. Feature Extractor) bezeichnet, kann wiederum als neuronales Netz verstanden werden. Die Aufgabe des Rückgrats ist es, dass Bild in die Merkmalsrepräsentation zu transformieren, auf deren Basis dann die Objektdetektion durchgeführt werden kann. Vorzugsweise handelt es sich bei der Merkmalsrepräsentation um zumindest einen dreidimensionalen Tensor mit jeweils einer Dimension für Breite, Höhe und Tiefe. Entlang der Tiefendimension befinden sich in diesem Fall Merkmalsvektoren, die Bereiche des Bildes charakterisieren, wobei der Bereich des Bildes, welchen der Merkmalsvektor repräsentiert, durch die Breite- und Höhedimension des Tensors angezeigt wird. Die Architektur des Rückgrats kann gängigen Architekturen für neuronale Netze, insbesondere neuronalen Netzen für Bilder, folgen, zum Beispiel Residualnetzwerken (engl. Residual Networks, ResNets) oder optischen Transformatoren (engl. Vision Transformer oder Visual Transformer).The neural network itself can be understood as consisting of two parts. The first part of the network includes the backbone. The term backbone is common in the prior art. The terms base or base network are occasionally used synonymously with the term backbone. The backbone, sometimes referred to as a feature extractor, can in turn be understood as a neural network. The task of the backbone is to transform the image into the feature representation, on the basis of which object detection can then be carried out. The feature representation is preferably at least one three-dimensional tensor, each with one dimension for width, height and depth. In this case, there are feature vectors along the depth dimension that characterize areas of the image, with the area of the image that the feature vector represents being displayed by the width and height dimensions of the tensor. The architecture of the backbone can follow common architectures for neural networks, in particular neural networks for images, for example residual networks (ResNets) or optical transformers (Vision Transformers or Visual Transformers).

Die Merkmalsrepräsentation wird von einem zweiten Teil des neuronalen Netzes verarbeitet. Dieser zweite Teil umfasste sogenannte Köpfe (engl. Heads). Die Köpfe sind jeweils ausgebildet jeweils für Bereiche des Trainingsbildes eine Kopfausgabe zu ermitteln, welche eine Anwesenheit oder Abwesenheit eines Objekts zu charakterisiert oder sind jeweils ausgebildet eine Ausdehnung des Objekts zu charakterisiert oder sind jeweils ausgebildet eine Position des Objekts zu charakterisiert oder sind jeweils ausgebildet die Ausdehnung und die Position zu charakterisiert. Zusätzlich zur Anwesenheit oder Abwesenheit eines Objekts kann außerdem auch eine von einem Kopf bestimmte Klassenzugehörigkeit eines Objekts in einer Kopfausgabe bereitgestellt werden. Dies ist ein Unterschied zu bekannten neuronalen Netzen, da bei bekannten neuronalen Netzen nur ein Kopf vorgesehen ist, um die Anwesenheit oder Abwesenheit eines Objekts oder eine Ausdehnung des Objekts oder eine Position des Objekts oder die Ausdehnung und die Position vorherzusagen. Zum Beispiel existiert bei der bekannten CenterNet Architektur jeweils ein Kopf für die An-/Abwesenheitsbestimmung, ein Kopf für die Positionsbestimmung und ein Kopf für die Bestimmung von Breite und Höhe des Objekts. Bei der bekannten Single Shot Detection (SSD) Architektur existieren zwei Köpfe, wobei einer die An-/Abwesenheitsbestimmung durchführt und der andere Kopf die Positions- und Ausdehnungsbestimmung durchführt. Ähnlich zum SSD sieht der Aufbau eines Faster-RCNN aus.
Im Gegensatz zu diesen bekannten Architekturen ermittelt das in dieser Erfindung vorgestellte neuronale Netz jeweils eine Mehrzahl von Köpfen zur Ermittlung der Ab-/Abwesenheit oder zur Ermittlung der Position oder zum Ermitteln der Ausdehnung oder zum Ermitteln der Ausdehnung und der Position. Die Köpfe können daher als Ensemble verstanden werden, welches ausgebildet ist, die An-/Abwesenheit oder die Position oder die Ausdehnung oder die Position und die Ausdehnung zu ermitteln. Dier Erfinder konnten feststellen, dass die Einführung eines Ensembles zu einer erheblichen Steigerung der Genauigkeit bezüglich der Objektdetektion führt.
The feature representation is processed by a second part of the neural network. This second part included so-called heads. The heads are each designed to determine a head output for areas of the training image, which characterizes a presence or absence of an object, or are each designed to characterize an extent of the object, or are each designed to characterize a position of the object, or are each designed to characterize the extent and characterize the position. In addition to the presence or absence of an object, a header-determined class membership of an object can also be provided in a header output. This is different from known neural networks because in known neural networks only one head is provided to predict the presence or absence of an object or an extent of the object or a position of the object or the extent and the position. For example, in the well-known CenterNet architecture there is a head for determining the presence/absence, a head for determining the position and a head for determining the width and height of the object. In the well-known Single Shot Detection (SSD) architecture, there are two heads, one of which determines the presence/absence and the other head determines the position and extent. The structure of a Faster RCNN looks similar to the SSD.
In contrast to these known architectures, the neural network presented in this invention determines a plurality of heads to determine the absence/absence or to determine the position or to determine the extent or to determine the extent and the posi tion. The heads can therefore be understood as an ensemble that is designed to determine the presence/absence or the position or the extent or the position and the extent. The inventors were able to find that the introduction of an ensemble leads to a significant increase in the accuracy of object detection.

Bevorzugt ist ein Kopf wiederum ein neuronales Netz. Das neuronale Netz kann sich somit bevorzugt aus mehreren Unternetzen zusammensetzen, nämlich dem Rückgrat und den Köpfen. Als Rückgrat und Köpfe sind jedoch auch andere Modelle aus dem Bereich des maschinellen Lernens möglich, zum Beispiel Stützvektor-Maschinen (engl. Support Vector Machines).A head is preferably a neural network. The neural network can therefore preferably be composed of several sub-networks, namely the backbone and the heads. However, other models from the field of machine learning are also possible as backbones and heads, for example support vector machines.

Die Köpfe der Mehrzahl von Köpfen ermitteln jeweils eine Kopfausgabe. Zum Training werden diese Kopfausgaben jeweils mit einer gewünschten Kopfausgabe verglichen, um einen ersten Verlustwert zu ermitteln. So kann für jeden Kopf ein erster Verlustwert basierend auf der Kopfausgabe des Kopfes ermittelt werden. Hierdurch entsteht eine eins-zu-eins Korrespondenz jeweils eines Kopfes mit einem ersten Verlustwert. Die so ermittelten ersten Verlustwerte können dann über eine Summe, beispielsweise eine gewichtete Summe, insbesondere eine gleichgewichtete Summe zum zweiten Verlustwert zusammengeführt werden. Basierend auf dem zweiten Verlustwert kann dann das neuronale Netz während des Trainings angepasst werden, zum Beispiel mittels einem Gradientenabstieg der Parameter des neuronalen Netzes bezüglich des zweiten Verlustwerts.The heads of the plurality of heads each determine a head output. For training, these head outputs are each compared with a desired head output in order to determine a first loss value. In this way, a first loss value can be determined for each head based on the head output of the head. This creates a one-to-one correspondence of one head with a first loss value. The first loss values determined in this way can then be combined to form the second loss value using a sum, for example a weighted sum, in particular an equally weighted sum. Based on the second loss value, the neural network can then be adjusted during training, for example by means of a gradient descent of the parameters of the neural network with respect to the second loss value.

Eine Kopfausgabe ist vorzugsweise in Form einer Matrix oder eines Tensors gegeben.A header output is preferably given in the form of a matrix or a tensor.

Zum Ermitteln der ersten Verlustwerte kann jeweils die gleiche gewünschte Kopfausgabe mit den jeweiligen ermittelten Kopfausgaben verglichen werden. Für den Fall, dass die Kopfausgaben eine An- bzw. Abwesenheit von Objekten charakterisieren, kann insbesondere eine Kreuzentropie zwischen einer Kopfausgabe und der gewünschten Kopfausgabe als erster Verlustwert bereitgestellt werden. Für die anderen Fälle kann insbesondere eine L1-Verlustfunktion verwendet werden, um einen ersten Verlustwert zu ermitteln.To determine the first loss values, the same desired header output can be compared with the respective determined header outputs. In the event that the header outputs characterize a presence or absence of objects, in particular a cross entropy between a header output and the desired header output can be provided as the first loss value. For the other cases, in particular an L 1 loss function can be used to determine a first loss value.

In bevorzugten weiteren Ausführungsformen kann auch vorgesehen sein, dass der zweite Verlustwert eine negative Korrelation bezüglich der verschiedenen Kopfausgaben charakterisiert.In preferred further embodiments it can also be provided that the second loss value characterizes a negative correlation with respect to the various head outputs.

Die Kopfausgaben können insbesondere in Form von Matrizen oder Tensoren vorliegen, wobei gleichende Indizes verschiedener Kopfausgaben jeweils einen gleichen Teil des Trainingsbildes charakterisieren. Für jeweils gleiche Indizes kann dann jeweils eine negative Korrelation der Werte an den entsprechenden Indizes ermittelt werden. Als Trainingsziel kann dann vorteilhafterweise festgelegt werden, dass die jeweiligen Werte der Kopfausgaben an gleichen Indizes eine möglichst hohe negative Korrelation aufweisen. Als Trainingsziel kann aber auch eine andere Metrik verwendet werden, die eine Diversität zwischen den Kopfausgaben ausdrückt und somit maximiert werden soll.The head outputs can in particular be in the form of matrices or tensors, with identical indices of different head outputs each characterizing the same part of the training image. For the same indices, a negative correlation of the values on the corresponding indices can then be determined. As a training goal, it can then advantageously be set that the respective values of the head outputs on the same indices have the highest possible negative correlation. However, another metric that expresses diversity between the head outputs and should therefore be maximized can also be used as a training goal.

Dies kann als eine Regularisierung der Kopfausgaben verstanden werden. Durch die Regularisierung der Kopfausgaben lernt das neuronale Netz bezüglich einer Merkmalsrepräsentation unterschiedliche Kopfausgaben zu ermitteln, wobei die Summe der ersten Verlustwerte das neuronale Netz weiterhin lernen lässt, die Objekte korrekt zu detektieren. Dies kann als ein Ausbalancieren von zwei Lernzielen verstanden werden, zum einen das Ziel möglichst unterschiedliche Kopfausgaben zu ermitteln und zum anderen das Ziel Objekte im Trainingsbild korrekt zu detektieren. Die Erfinder konnten feststellen, dass der Einsatz einer negativen Korrelation als Regularisierung die Genauigkeit des neuronalen Netzes vorteilhafterweise weiter steigert.This can be understood as a regularization of head expenditure. By regularizing the head outputs, the neural network learns to determine different head outputs with respect to a feature representation, whereby the sum of the first loss values allows the neural network to continue to learn to correctly detect the objects. This can be understood as a balancing of two learning goals, on the one hand the goal of determining as different head outputs as possible and on the other hand the goal of correctly detecting objects in the training image. The inventors were able to determine that the use of a negative correlation as regularization advantageously further increases the accuracy of the neural network.

Technisch gesehen können alle negativen Korrelationen von Werten gleicher Indizes zwischen den Kopfausgaben summiert werden oder ein Durchschnittswert aus den negativen Korrelationen ermittelt werden, wobei die Summe oder der Durchschnittswert als die oben beschriebene negative Korrelation in den zweiten Verlustwert mit einfließt. Die negative Korrelation kann insbesondere als Term zur Summe der ersten Verlustwerte addiert werden, um den zweiten Verlustwert zu ermitteln. Vorzugsweise kann die negative Korrelation mit einem vordefinierten Wert multipliziert werden, der als Hyperparameter des Trainings verstanden werden kann.Technically speaking, all negative correlations of values of the same indices between the head expenses can be summed or an average value can be determined from the negative correlations, with the sum or average value being included in the second loss value as the negative correlation described above. The negative correlation can in particular be added as a term to the sum of the first loss values in order to determine the second loss value. Preferably, the negative correlation can be multiplied by a predefined value, which can be understood as a hyperparameter of the training.

In verschiedenen bevorzugten Ausführungsformen kann auch jeweils für die Bestimmung der An-/Abwesenheit und für die Bestimmung der Position und für die Bestimmung der Ausdehnung eine Mehrzahl von Köpfen vorgesehen sein. Dies kann derart verstanden werden, als dass jeweils ein Ensemble zur Bestimmung der An-/Abwesenheit, der Position und der Ausdehnung im neuronalen Netz existiert, also eine Mehrzahl von Mehrzahlen von Köpfen. Die Erfinder konnten feststellen, dass durch den Einsatz einer Mehrzahl von Mehrzahlen von Köpfen die Genauigkeit des neuronalen Netzes noch weiter gesteigert werden kann.In various preferred embodiments, a plurality of heads can also be provided for determining the presence/absence and for determining the position and for determining the extent. This can be understood as meaning that there is an ensemble for determining the presence/absence, the position and the extent in the neural network, i.e. a plurality of pluralities of heads. The inventors were able to find that the accuracy of the neural network can be increased even further by using a plurality of heads.

In einem weiteren Aspekt betrifft die Erfindung ein Ausführen des trainierten neuronalen Netzes, also ein Verfahren zum Ermitteln eins Ausgabesignal mittels des neuronalen Netzes, wobei das Verfahren die folgenden Schritte umfasst:

  • • Ermitteln einer Merkmalsrepräsentation des Bildes mittels des Rückgrats des neuronalen Netzes;
  • • Ermitteln einer Mehrzahl von Kopfausgaben basierend auf der Merkmalsrepräsentation und mittels der Mehrzahl von Köpfen des neuronalen Netzes;
  • • Ermitteln einer Zusammenfassung der Mehrzahl von Kopfausgaben zu einer Kopfausgabe;
  • • Ermitteln des Ausgabesignals basierend auf der einen Kopfausgabe.
In a further aspect, the invention relates to executing the trained neural network, i.e. a method for determining an output signal by means of the neural network, the method comprising the following steps:
  • • Determining a feature representation of the image using the backbone of the neural network;
  • • Determine a plurality of head outputs based on the feature representation and using the plurality of heads of the neural network;
  • • Determining a summary of the plurality of head issues into a head issue;
  • • Determine the output signal based on the one head output.

Die Schritte zum Ausführen des neuronalen Netzes, also die Schritte während der Inferenzphase, sind größtenteils gleich mit den Schritten, die notwendig sind, um das neuronale Netz zu trainieren. Ein wesentlicher Unterschied liegt jedoch im Ermitteln des Ausgabesignals. Während des Trainings wurden die verschiedenen Kopfausgaben jeweils ausgegeben, sodass jede Kopfausgabe mit einer gewünschten Kopfausgabe verglichen werden kann. Zur Inferenzzeit werden die von der Mehrzahl der Köpfe ermittelten Kopfausgaben zu der einen Kopfausgabe zusammengefasst, wobei basierend auf dieser zusammengefassten Kopfausgabe das Ausgabesignal ermittelt wird, welches eine Objektdetektion von Objekten des Bildes charakterisiert.The steps to run the neural network, i.e. the steps during the inference phase, are largely the same as the steps necessary to train the neural network. However, a key difference lies in determining the output signal. During training, the different head outputs were each output so that each head output can be compared to a desired head output. At the inference time, the head outputs determined by the majority of heads are combined into the one head output, the output signal which characterizes an object detection of objects in the image being determined based on this combined head output.

Zum Zusammenfassen können verschiedene Verfahren gewählt werden. In verschiedenen Ausführungsformern ist möglich, dass die Kopfausgaben in ihrer Form (zum Beispiel Matrix oder Tensor) jeweils gleich sind (zum Beispiel gleiche Anzahl von Dimensionen und Elementen in den jeweiligen Dimensionen). Dies kann insbesondere dann der Fall sein, wenn die einzelnen Köpfe in ihrer Architektur jeweils gleich sind (zum Beispiel eine gleiche Anzahl von Schichten mit gleicher Anzahl von Neuronen) bzw. die jeweils letzten Schichten der Köpfe gleich sind. In diesen bevorzugten Fällen können zum Zusammenfassen jeweils die durchschnittlichen Werte von Elementen an gleichen Indexpositionen der Kopfausgaben verwendet werden. Alternativ ist auch möglich, dass anstelle einer Durchschnittsbildung eine gewichtete Summe gewählt wird, wobei die jeweiligen Gewichte als Hyperparameter des neuronalen Netzes verstanden werden können. Insbesondere kann jeder Kopfausgabe ein Gewicht zugeordnet sein, welches für alle Werte der entsprechenden Kopfausgabe bei der Bildung der gewichteten Summe verwendet wird.Various methods can be chosen for summarizing. In various embodiments, it is possible that the head outputs are each the same in their form (e.g. matrix or tensor) (e.g. same number of dimensions and elements in the respective dimensions). This can be the case in particular if the architecture of the individual heads is the same (for example, the same number of layers with the same number of neurons) or the last layers of the heads are the same. In these preferred cases, the average values of elements at the same index positions of the header outputs can be used for summarization. Alternatively, it is also possible for a weighted sum to be selected instead of averaging, whereby the respective weights can be understood as hyperparameters of the neural network. In particular, each header output can be assigned a weight, which is used for all values of the corresponding header output when forming the weighted sum.

Die Erfinder konnten feststellen, dass die besondere Ausgestaltung des Netzes durch ein Rückgrat und das Ensemble von Köpfen die Genauigkeit des Netzes vorteilhafterweise steigert. Darüber hinaus ist die Anforderung an Rechenkapazität und Speicher im Vergleich zu einem Einsatz eines tiefen Ensembles (engl. Deep Ensemble) wesentlich geringer.The inventors were able to determine that the special design of the network through a backbone and the ensemble of heads advantageously increases the accuracy of the network. In addition, the requirement for computing capacity and memory is significantly lower compared to using a deep ensemble.

In verschiedenen Vorteilhaften Ausführungsformen kann darüber hinaus vorgesehen sein, dass das Ausgabesignal zusätzlich einen Wert umfasst, der eine Unsicherheit bezüglich der Zusammenfassung der Mehrzahl von Kopfausgaben charakterisiert.In various advantageous embodiments, it can also be provided that the output signal additionally comprises a value that characterizes an uncertainty regarding the summary of the plurality of head outputs.

Falls die Kopfausgaben der Mehrzahl von Kopfausgaben eine Klassifikation bezüglich der An- bzw. Abwesenheit von Objekten charakterisieren, kann die Unsicherheit beispielsweise eine Unsicherheit über die tatsächliche An- bzw. Abwesenheit eines Objekts charakterisieren. Falls die Kopfausgaben der Mehrzahl von Kopfausgaben eine Prädiktion bezüglich der Ausdehnung eines Objekts charakterisieren, kann die Unsicherheit beispielsweise eine Unsicherheit über die tatsächliche Ausdehnung des Objekts charakterisieren. Falls die Kopfausgaben der Mehrzahl von Kopfausgaben eine Prädiktion bezüglich der Position eines Objekts charakterisieren, kann die Unsicherheit beispielsweise eine Unsicherheit über die tatsächliche Position des Objekts charakterisieren. If the head outputs of the plurality of head outputs characterize a classification regarding the presence or absence of objects, the uncertainty may, for example, characterize an uncertainty about the actual presence or absence of an object. If the head outputs of the plurality of head outputs characterize a prediction regarding the extent of an object, the uncertainty may, for example, characterize an uncertainty about the actual extent of the object. If the head outputs of the plurality of head outputs characterize a prediction regarding the position of an object, the uncertainty may, for example, characterize an uncertainty about the actual position of the object.

Vorteilhafterweise kann einem Benutzer des neuronalen Netzes mittels der Unsicherheit angezeigt werden, wie vertrauenswürdig das neuronale Netz seine Ausgabe selber einschätzt. Dem Benutzer wird so vorteilhafterweise die Möglichkeit gegeben, dass er bei Ausgaben, die mit einer hohen Unsicherheit verbunden sind, einzugreifen, um mögliches Fehlverhalten zu verringern oder zu unterdrücken.
Da die Kopfausgaben typischerweise in Form einer Matrix oder eines Tensors vorliegen, kann die Unsicherheit insbesondere bezüglich jedes Elements oder einer Untermenge von Elementen der Matrix bzw. des Tensors ermittelt werden. Diese Mehrzahl von Unsicherheiten kann dann im Ausgabesignal bereitgestellt werden. Hierdurch kann insbesondere den Benutzer des neuronalen Netzes angezeigt werden, für welchen Bereich des Bildes die Objektdetektion welche Unsicherheit ermittelt hat.
Advantageously, the uncertainty can be used to show a user of the neural network how trustworthy the neural network itself assesses its output. The user is thus advantageously given the opportunity to intervene in expenditures that are associated with a high degree of uncertainty in order to reduce or suppress possible misconduct.
Since the head outputs are typically in the form of a matrix or tensor, the uncertainty can be determined in particular with respect to each element or a subset of elements of the matrix or tensor. This plurality of uncertainties can then be provided in the output signal. In this way, the user of the neural network can in particular be shown which area of the image the object detection has determined which uncertainty for.

Die Unsicherheit kann als ein Wert ausgedrückt werden, der mittels einer vordefinierten Funktion ermittelt wird. Als Funktion kann insbesondere die gemeinsame Information (engl. mutual Information) verwendet werden. Alternativ sind auch andere Funktionen möglich, zum Beispiel kann für jede Kopfausgabe eine Entropie ermittelt werden und für jede Indexposition innerhalb der Kopfausgaben eine maximale Entropie als Unsicherheitswert bezüglich der Indexposition bereitgestellt werden.The uncertainty can be expressed as a value that is determined using a predefined function. In particular, mutual information can be used as a function. Alternatively, other functions are also possible, for example an entropy can be determined for each head output and a maximum entropy can be provided as an uncertainty value with respect to the index position for each index position within the head outputs.

In weiteren Aspekten der Erfindung ist ein Verfahren zum Ermitteln eines Ansteuersignals eines Aktors oder einer Anzeigevorrichtung basierend auf einem Bild vorgesehen, wobei das Ansteuersignal basierend auf dem Ausgabesignal ermittelt wird.In further aspects of the invention, a method is provided for determining a control signal of an actuator or a display device based on an image, wherein the control signal is determined based on the output signal.

Vorteilhafterweise kann der Aktor so besser angesteuert werden, da das Ausgabesignal genauere Objektdetektion ermöglicht.Advantageously, the actuator can be controlled better because the output signal enables more precise object detection.

Das Ansteuersignal kann insbesondere auch basierend auf der ermittelten Unsicherheit ermittelt werden. Zum Beispiel kann das Ansteuersignal derart gewählt werden, dass ein Benutzer der Vorrichtung aufgefordert wird die Steuerung des Aktors zu übernehmen, falls die Unsicherheit bezüglich der Zusammenfassung der Mehrzahl von Kopfausgaben einen vordefinierten Schwellenwert erreicht oder übersteigt. Vorteilhafterweise kann so die Steuerung des Aktors sicherer gestaltet werden, da Entscheidung mit hoher Unsicherheit und damit hohem Fehlpotential durch den Benutzer korrigiert werden können.The control signal can in particular also be determined based on the determined uncertainty. For example, the control signal can be selected such that a user of the device is requested to take control of the actuator if the uncertainty regarding the summary of the plurality of head outputs reaches or exceeds a predefined threshold. Advantageously, the control of the actuator can be made more secure, since decisions with a high degree of uncertainty and thus a high potential for errors can be corrected by the user.

In einem weiteren Aspekt betrifft die Erfindung eine Vorrichtung, welche eingerichtet ist, das Verfahren zur Ermittlung des Ausgabesignals oder des Ansteuersignals auszuführen.In a further aspect, the invention relates to a device which is set up to carry out the method for determining the output signal or the control signal.

Die Vorrichtung kann insbesondere als Computer oder Teil eines Computers verstanden werden.The device can be understood in particular as a computer or part of a computer.

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

  • 1 schematisch ein neuronales Netz zur Trainingszeit;
  • 2 schematisch ein Trainingssystem zum Trainieren des neuronalen Netzes;
  • 3 das neuronale Netz zur Inferenzzeit;
  • 4 schematisch einen Aufbau eines Steuerungssystems zur Ansteuerung eines Aktors;
  • 5 schematisch ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
  • 6 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
  • 7 schematisch ein Ausführungsbeispiel zur Steuerung eines Zugangssystems;
  • 8 schematisch ein Ausführungsbeispiel zur Steuerung eines Überwachungssystems;
  • 9 schematisch ein Ausführungsbeispiel zur Steuerung eines persönlichen Assistenten;
  • 10 schematisch ein Ausführungsbeispiel zur Steuerung eines medizinisch bildgebenden Systems.
Embodiments of the invention are explained in more detail below with reference to the accompanying drawings. Shown in the drawings:
  • 1 schematically a neural network at training time;
  • 2 schematically a training system for training the neural network;
  • 3 the neural network at inference time;
  • 4 schematically a structure of a control system for controlling an actuator;
  • 5 schematically an exemplary embodiment for controlling an at least partially autonomous robot;
  • 6 schematically an exemplary embodiment for controlling a manufacturing system;
  • 7 schematically an exemplary embodiment for controlling an access system;
  • 8th schematically an exemplary embodiment for controlling a monitoring system;
  • 9 schematically an exemplary embodiment for controlling a personal assistant;
  • 10 schematically an exemplary embodiment for controlling a medical imaging system.

Beschreibung der AusführungsbeispieleDescription of the exemplary embodiments

1 zeigt ein neuronales Netz (60), welches zum Training eingerichtet ist. Das neuronale Netz (60) umfasst ein Rückgrat (B), welches wiederum ein neuronales Netz charakterisiert, zum Beispiel einen Vision Transformer. Das Rückgrat ist ausgebildet, aus einem Trainingsbild (xi), welches das neuronale Netz als Eingabe erhält, eine Merkmalsrepräsentation (f) zu ermitteln. Diese Merkmalsrepräsentation wird an eine Mehrzahl (MC) von Köpfen (HC1, HC2, HC3) des neuronalen Netzes (60) als Eingabe der Köpfe (HC1, HC2, HC3) übermittelt. Die Köpfe (HC1, HC2, HC3) sind vorzugsweise jeweils auch neuronale Netze, zum Beispiel Faltungsnetze (engl. Convolutional neural networks, CNN). Im Ausführungsbeispiel sind die Köpfe eingerichtet eine An- bzw. Abwesenheit von Objekten zu ermitteln. Hierzu ermitteln die Köpfe (HC1, HC2, HC3) jeweils Kopfausgaben (C1, C2, C3) in Form von Matrizen, deren Elemente mit Bereichen des Trainingsbildes (xi) korrespondieren. Das rezeptive Feld (engl. receptive field) eines Elements der Matrix definiert dabei die Ausdehnung des Bereiches innerhalb des Trainingsbildes (xi). Ein Element kann dann charakterisieren, ob sich innerhalb des mit ihm korrespondierenden Bereichs des Trainingsbildes ein Objekt befindet oder nicht. Vorzugsweise kann ein Element angeben, ob ein Mittelpunkt einer Begrenzungsbox (engl. Bounding Box), die das Objekt umschließt, innerhalb des Bereichs liegt. Das Element kann vorzugsweise eine reellwertige Zahl zwischen einschließlich 0 und 1 sein, die als Wahrscheinlichkeit für das Vorhandensein eines Objekts charakterisiert werden kann. Ab einem vordefinierten Schwellenwert, z.B. 0,5 kann dann ein Element derart verstanden werden, als dass es die Anwesenheit eines Objekts anzeigt. Werte kleiner 0,5 charakterisieren in diesem Fall die Abwesenheit von Objekten innerhalb des korrespondierenden Bereichs. Der Schwellenwert kann als Hyperparameter des neuronalen Netzes verstanden werden. 1 shows a neural network (60) which is set up for training. The neural network (60) includes a backbone (B), which in turn characterizes a neural network, for example a vision transformer. The backbone is designed to determine a feature representation (f) from a training image (x i ), which the neural network receives as input. This feature representation is transmitted to a plurality ( MC ) of heads ( HC1 , HC2 , HC3 ) of the neural network (60) as input from the heads ( HC1 , HC2 , HC3 ). The heads ( HC1 , HC2 , HC3 ) are preferably also neural networks, for example convolutional neural networks (CNN). In the exemplary embodiment, the heads are set up to determine the presence or absence of objects. For this purpose, the heads ( HC1 , HC2 , HC3 ) each determine head outputs (C 1 , C 2 , C 3 ) in the form of matrices whose elements correspond to areas of the training image ( xi ). The receptive field of an element of the matrix defines the extent of the area within the training image (xi ) . An element can then characterize whether there is an object within the area of the training image corresponding to it or not. Preferably, an element can indicate whether a center of a bounding box that encloses the object lies within the region. The element may preferably be a real-valued number between 0 and 1 inclusive, which can be characterized as the probability of the existence of an object. From a predefined threshold value, for example 0.5, an element can then be understood as indicating the presence of an object. In this case, values less than 0.5 characterize the absence of objects within the corresponding area. The threshold can be understood as a hyperparameter of the neural network.

Die Kopfausgaben (C1, C2, C3) werden im Training als Teil eines Ausgabesignals (yi) bereitgestellt. Vorzugsweise umfasst das neuronale Netz (60) zur Ermittlung einer genauen Position des Objekts (z.B. des Mittelpunkts der Begrenzungsbox) eine weitere Mehrzahl (MP) von Köpfen (HP1, HP2, HP3). Die Köpfe (HP1, HP2, HP3) dieser weiteren Mehrzahl (MP) ermitteln weitere Kopfausgaben (P1, P2, P3) die jeweils die genaue Position charakterisieren und im Ausgabesignal (yi) bereitgestellt werden.The head outputs (C 1 , C 2 , C 3 ) are provided in training as part of an output signal (y i ). Preferably, the neural network (60) comprises a further plurality (M P ) of heads (H P1 , H P2 , H P3 ) for determining an exact position of the object (e.g. the center of the bounding box). The heads (H P1 , H P2 , H P3 ) of this further plurality (M P ) determine further head outputs (P 1 , P 2 , P 3 ), which each characterize the exact position and are provided in the output signal (y i ).

Alternativ oder zusätzlich umfasst das neuronale Netz (60) zur Ermittlung einer Ausdehnung des Objekts (zum Beispiel Breite und Höhe innerhalb des Bildes) eine weitere Mehrzahl (MS) von Köpfen (HS1, HS2, HS3). Die Köpfe (HS1, HS2, HS3) dieser weiteren Mehrzahl (MS) ermitteln weitere Kopfausgaben (S1, S2, S3) die jeweils die genaue Position charakterisieren und im Ausgabesignal (yi) bereitgestellt werden.Alternatively or additionally, the neural network (60) includes for determining an extent of the Object (for example width and height within the image) a further plurality ( MS ) of heads ( HS1 , HS2 , HS3 ). The heads ( HS1 , HS2 , HS3 ) of this further plurality ( MS ) determine further head outputs ( S1 , S2 , S3 ), which each characterize the exact position and are provided in the output signal ( yi ).

In weiteren Ausführungsbeispielen (nicht abgebildet) kann auch vorgesehen werden, dass Ausdehnung und Position jeweils gemeinsam von Köpfen einer Mehrzahl von Köpfen ermittelt werden.In further exemplary embodiments (not shown) it can also be provided that the extent and position are determined jointly by heads of a plurality of heads.

2 zeigt ein Ausführungsbeispiel eines Trainingssystems (140) zum Trainieren des neuronalen Netzes (60) mittels eines Trainingsdatensatzes (T). Der Trainingsdatensatz (T) umfasst eine Mehrzahl von Trainingsbilden (xi), die zum Trainieren des neuronalen Netzes (60) verwendet werden, wobei der Trainingsdatensatz (T) ferner zu jeweils einem Eingabebild (xi) ein gewünschtes Ausgabesignal (ti) umfasst, welches mit dem Eingabebild (xi) korrespondiert und die An- bzw. Abwesenheit von Objekten innerhalb des Trainingsbildes (xi) sowie deren Position und Ausdehnung innerhalb des Trainingsbildes (xi) charakterisiert. 2 shows an exemplary embodiment of a training system (140) for training the neural network (60) using a training data set (T). The training data set (T) comprises a plurality of training images (x i ), which are used to train the neural network (60), wherein the training data set (T) further comprises a desired output signal (t i ) for each input image (x i ). , which corresponds to the input image (xi ) and characterizes the presence or absence of objects within the training image ( xi ) as well as their position and extent within the training image (xi ) .

Zum Training greift eine Trainingsdateneinheit (150) auf eine computerimplementierte Datenbank (St2) zu, wobei die Datenbank (St2) den Trainingsdatensatz (T) zur Verfügung stellt. Die Trainingsdateneinheit (150) ermittelt aus dem Trainingsdatensatz (T) vorzugsweise zufällig zumindest ein Trainingsbild (xi) und das zum Trainingsbild (xi) korrespondierende gewünschte Ausgabesignal (ti) und übermittelt das Trainingsbild (xi) an das neuronale Netz (60). Das gewünschte Ausgabesignal (ti) umfasst zumindest eine gewünschte Kopfausgabe, Beispiel eine gewünschte Kopfausgabe bezüglich An- bzw. Abwesenheit von Objekten im Trainingsbild (xi). Vorzugsweise umfasst die gewünschte Ausgabesignal (ti) jeweils eine gewünschte Kopfausgabe für An- bzw. Abwesenheit von Objekten innerhalb des Trainingsbildes (xi), für eine Position von Objekten innerhalb des Trainingsbildes (xi) und für eine Ausdehnung der Objekte innerhalb des Trainingsbildes (xi). Das neuronale Netz (60) ermittelt auf Basis des Eingabebilds (xi) ein Ausgabesignal (yi).For training, a training data unit (150) accesses a computer-implemented database (St 2 ), the database (St 2 ) providing the training data set (T). The training data unit (150) preferably randomly determines at least one training image (x i ) and the desired output signal (t i ) corresponding to the training image (x i ) from the training data set (T ) and transmits the training image (x i ) to the neural network (60 ). The desired output signal (t i ) includes at least one desired head output, for example a desired head output regarding the presence or absence of objects in the training image (x i ). Preferably, the desired output signal (t i ) each comprises a desired head output for the presence or absence of objects within the training image (x i ), for a position of objects within the training image (x i ) and for an extent of the objects within the training image ( xi ). The neural network (60) determines an output signal (y i ) based on the input image (xi).

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

Basierend auf dem gewünschten Ausgabesignal (ti) und dem ermittelten Ausgabesignal (yi) werden dann von der Veränderungseinheit (180) neue Parameter (Φ') für das neuronale Netz (60) bestimmt. Hierfür ermittelt die Veränderungseinheit (180) zunächst eine Mehrzahl von ersten Verlustwerten, wobei ein Verlustwert jeweils eine Abweichung einer Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) des Ausgabesignals (yi) von einer korrespondierenden vom gewünschten Ausgabesignal (ti) umfassten gewünschten Kopfausgabe charakterisiert. Eine Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) korrespondiert mit einer gewünschten Kopfausgabe genau dann, wenn die Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) die gleiche Eigenschaft (also entweder An- bzw. Abwesenheit, Position, Ausdehnung) beschreibt wie die gewünschte Kopfausgabe. Falls eine Kopfausgabe Beispielsweise die An- bzw. Abwesenheit eines Objekts charakterisiert, wird diese Kopfausgabe mit der gewünschten Kopfausgabe für An- bzw. Abwesenheit verglichen.Based on the desired output signal (t i ) and the determined output signal (y i ), new parameters (Φ') are then determined by the change unit (180) for the neural network (60). For this purpose, the change unit (180) first determines a plurality of first loss values, each loss value being a deviation of a head output (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) of the output signal (y i ) is characterized by a corresponding desired head output included in the desired output signal (t i ). A head output (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) corresponds to a desired head output if and only if the head output (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) describes the same property (i.e. either presence or absence, position, extent) as the desired head output. For example, if a header output characterizes the presence or absence of an object, this header output is compared with the desired header output for presence or absence.

Insbesondere können die vom Ausgabesignal (yi) umfassten Kopfausgaben (C1, C2, C3, P1, P2, P3, S1, S2, S3) jeweils in Form einer Matrix oder eines dreidimensionalen Tensors vorliegen, wobei in diesem Fall auch die vom gewünschten Ausgabesignal (ti) umfasste gewünschte Kopfausgabe in Form einer Matrix bzw. eines dreidimensionalen Tensors vorliegt. Die entsprechenden Matrizen bzw. Tensoren enthalten entlang einer Höhen- und einer Breitendimension jeweils Werte bzw. Vektoren, die eine An- bzw. Abwesenheit, eine Position oder eine Ausdehnung charakterisieren. Werte bzw. Vektoren an gleichen Indizes entlang der Höhen- und Breitendimension einer Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) und einer korrespondieren Kopfausgabe können dann jeweils mittels einer Verlustfunktion verglichen werden. Die so ermittelten Werte können mittels einer mathematischen Operation akkumuliert werden beispielsweise summiert, gewichtet summiert oder ihr maximaler Wert ermittelt werden. Das Ergebnis der Akkumulation kann dann als ein erster Verlustwert bezüglich der Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) bereitgestellt werden.In particular, the head outputs (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) included in the output signal (y i ) can each be in the form of a matrix or a three-dimensional tensor, wherein in this case the desired head output included in the desired output signal (t i ) is also present in the form of a matrix or a three-dimensional tensor. The corresponding matrices or tensors each contain values or vectors along a height and a width dimension that characterize a presence or absence, a position or an extent. Values or vectors at the same indices along the height and width dimensions of a head output (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) and a corresponding head output can then respectively can be compared using a loss function. The values determined in this way can be accumulated using a mathematical operation, for example summed, weighted summed or their maximum value can be determined. The result of the accumulation can then be provided as a first loss value with respect to the head output (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ).

Die ermittelten ersten Verlustwerte können dann wiederum zusammengefasst werden, um einen zweiten Verlustwert zu ermitteln. Die Zusammenfassung kann wiederum durch eine Summe, eine gewichtete Summe oder eine Ermittlung des Maximums der ersten Werte geschehen. Bevorzugt ist auch möglich, dass der zweite Verlustwert um zumindest eine Regularisierung angereichert wird, beispielsweise eine L1 - oder L2 -Normalisierung von Parametern (Φ) des neuronalen Netzes (60). Vorzugsweise kann auch eine negative Korrelation zwischen den Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) als Regularisierung mit in den zweiten Verlustwert aufgenommen werden. Hierzu kann zunächst ein jeweils ein durchschnittlicher Wert oder durchschnittlicher Vektor über die Elemente der Kopfausgaben (C1, C2, C3, P1, P2, P3, S1, S2, S3) entlang der Höhen- und Breitendimension ermittelt werden. Anschließend kann für jedes Element eine negative Korrelation ermittelt werden und die so ermittelten Werte zu einer einzigen negativen Korrelation zusammengefasst werden. Diese Schritte können insbesondere durch die Formel n c ( K 1 , , K ( N ) ) = 1 N H W n = 1 N h = 1, w = 1 H , W K h , w ( n ) K h , w ¯ 2 2 ,

Figure DE102022209517A1_0001
K h , w ¯ = 1 N n = 1 N K h , w ( n )
Figure DE102022209517A1_0002
charakterisiert werden, wobei K(1), ... , K(N) die Mehrzahl von Kopfausgaben ist, N die Anzahl der Kopfausgaben, H die Anzahl von Elementen entlang der Höhendimension innerhalb einer Kopfausgabe, W die Anzahl von Elementen entlang der Breitendimension innerhalb einer Kopfausgabe, K h , w ( n )
Figure DE102022209517A1_0003
das Element der n-ten Kopfausgabe an Position h, w entlang der Höhen- bzw. Breitendimension und ∥·∥2 die Euklidische Norm ist.The determined first loss values can then be combined to determine a second loss value. The summarization can in turn be done by a sum, a weighted sum or by determining the maximum of the first values. It is also preferably possible for the second loss value to be enriched by at least one regularization, for example an L 1 or L 2 normalization of parameters (Φ) of the neural network (60). Preferably, a negative correlation between the head output (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) can also be included in the second loss value as regularization. For this purpose, an average value or average vector can first be calculated over the elements of the head outputs (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) along the height and width dimensions be determined. A negative correlation can then be determined for each element and the values determined in this way can be combined into a single negative correlation relation can be summarized. These steps can be done in particular by the formula n c ( K 1 , , K ( N ) ) = 1 N H W n = 1 N H = 1, w = 1 H , W K H , w ( n ) K H , w ¯ 2 2 ,
Figure DE102022209517A1_0001
K H , w ¯ = 1 N n = 1 N K H , w ( n )
Figure DE102022209517A1_0002
where K (1) , ..., K (N) is the plurality of head outputs, N is the number of head outputs, H is the number of elements along the height dimension within a head output, W is the number of elements along the width dimension within a head edition, K H , w ( n )
Figure DE102022209517A1_0003
is the element of the nth head output at position h, w along the height and width dimensions respectively and ∥·∥ 2 is the Euclidean norm.

Der zweite Verlustwert kann daher insbesondere basierend auf der Formel L 2 = 1 N n = 1 N L 1 ( n ) + λ n c ( K 1 , , K N )

Figure DE102022209517A1_0004
ermittelt werden, wobei L2 der zweite Verlustwert ist, L1(n) der n-te erste Verlustwert ist und λ ein Gewichtungskoeffizient der Regularisierung ist, wobei λ einen Hyperparameter des Trainings charakterisiert.The second loss value can therefore be based in particular on the formula L 2 = 1 N n = 1 N L 1 ( n ) + λ n c ( K 1 , , K N )
Figure DE102022209517A1_0004
can be determined, where L2 is the second loss value, L1 (n) is the nth first loss value and λ is a weighting coefficient of the regularization, where λ characterizes a hyperparameter of the training.

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

Die ermittelten neuen Parameter (Φ') werden in einem Modellparameterspeicher (St1) gespeichert. Vorzugsweise werden die ermittelten neuen Parameter (Φ') als Parameter (Φ) dem Neuronales Netz (60) bereitgestellt.The determined new parameters (Φ') are stored in a model parameter memory (St 1 ). The new parameters (Φ') determined are preferably provided to the neural network (60) as parameters (Φ).

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

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

3 zeigt, wie das neuronale Netz (60) zur Objektdetektion von Objekten eines Eingabebildes (x) Inferenzzeit verwendet werden kann. Vorzugsweise liegen Parameter (Φ) des neuronalen Netzes (60) in trainierter Form vor. Mit anderen Worten, das neuronale Netz (60) ist zur Inferenzzeit bereits trainiert worden. 3 shows how the neural network (60) can be used for object detection of objects in an input image (x) inference time. Parameters (Φ) of the neural network (60) are preferably available in trained form. In other words, the neural network (60) has already been trained at inference time.

Da zur Inferenzzeit nicht mehrere Kopfausgaben bezüglich An- bzw. Abwesenheit oder Position oder Ausdehnung gewünscht sind, sondern jeweils nur eine, umfasst das neuronale Netz (60) zur Inferenzzeit eine Zusammenfassungseinheit (ZC, ZP, ZS), die die Kopfausgaben der Mehrzahl von Kopfausgaben zu einer einzigen Kopfausgabe (C, P, S) zusammenfasst. Im Ausführungsbeispiel ist vorgesehen, dass jeweils An- bzw. Abwesenheit, Position und Ausdehnung basierend auf einer jeweiligen Mehrzahl von Kopfausgaben ermittelt wird. In diesem Fall ist je eine Zusammenfassungseinheit (C,P,S) pro Mehrzahl von Kopfausgaben im neuronalen Netz (60) vorgesehen. Die entsprechend ermittelten einzelnen Kopfausgaben (C,P,S) werden dann in einem Ausgabesignal (y) vom neuronalen Netz (60) zur Verfügung gestellt. In anderen Ausführungsbeispielen (nicht abgebildet) kann auch vorgesehen sein, dass basierend auf den einzelnen Kopfausgaben (C, P, S) Begrenzungsboxen ermittelt werden und anstelle der Kopfausgaben (C, P, S) oder zusätzlich zu den Kopfausgaben (C,P,S) die Begrenzungsboxen im Ausgabesignal (y) bereitgestellt werden.Since multiple head outputs regarding presence or absence or position or extent are not desired at the inference time, but only one, the neural network (60) comprises a summary unit (Z C , Z P , Z S ) at the inference time, which contains the head outputs of the Multiple header issues are combined into a single header issue (C, P, S). In the exemplary embodiment it is provided that the presence or absence, position and extent are determined based on a respective plurality of head outputs. In this case, one summary unit (C, P, S) is provided for each plurality of head outputs in the neural network (60). The correspondingly determined individual head outputs (C, P, S) are then made available in an output signal (y) from the neural network (60). In other exemplary embodiments (not shown), it can also be provided that bounding boxes are determined based on the individual head outputs (C, P, S) and instead of the head outputs (C, P, S) or in addition to the head outputs (C, P, S ) the bounding boxes are provided in the output signal (y).

4 zeigt ein Steuerungssystem (40), welches ausgebildet ist, basierend auf dem neuronalen Netz (60) ein Ansteuersignal (A) eines Aktors (10) zu ermitteln. In vorzugsweise regelmäßigen zeitlichen Abständen wird die Umgebung (20) des Aktors (10) in einem Sensor (30), insbesondere einem Kamerasensor, erfasst, der auch durch eine Mehrzahl von Kamerasensoren gegeben sein kann, beispielsweise einer Stereokamera. Das Sensorsignal (S) - bzw. im Fall mehrerer Sensoren je ein Sensorsignal (S) - des Sensors (30) wird an das Steuerungssystem (40) übermittelt. Das Steuerungssystem (40) empfängt somit eine Folge von Sensorsignalen (S). Das Steuerungssystem (40) ermittelt hieraus Ansteuersignale (A), welche an den Aktor (10) übertragen werden. 4 shows a control system (40), which is designed to determine a control signal (A) of an actuator (10) based on the neural network (60). The environment (20) of the actuator (10) is detected at preferably regular time intervals in a sensor (30), in particular a camera sensor, which can also be provided by a plurality of camera sensors, for example a stereo camera. The sensor signal (S) - or in the case of several sensors, one sensor signal (S) - of the sensor (30) is transmitted to the control system (40). The control system (40) thus receives a sequence of sensor signals (S). The control system (40) uses this to determine control signals (A), which are transmitted to the actuator (10).

Das Steuerungssystem (40) empfängt die Folge von Sensorsignalen (S) des Sensors (30) in einer optionalen Empfangseinheit (50), die die Folge von Sensorsignalen (S) in eine Folge von Eingabebildern (x) umwandelt (alternativ kann auch unmittelbar je das Sensorsignal (S) als Eingabebild (x) übernommen werden). Das Eingabebild (x) kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals (S) sein. Mit anderen Worten wird das Eingabebild (x) abhängig von Sensorsignal (S) ermittelt. Die Folge von Eingabebildern (x) wird dem neuronalen Netz (60) zugeführt.The control system (40) receives the sequence of sensor signals (S) from the sensor (30). an optional receiving unit (50), which converts the sequence of sensor signals (S) into a sequence of input images (x) (alternatively, the sensor signal (S) can also be taken over directly as the input image (x)). The input image (x) can be, for example, a section or further processing of the sensor signal (S). In other words, the input image (x) is determined depending on the sensor signal (S). The sequence of input images (x) is fed to the neural network (60).

Das neuronale Netz (60) wird vorzugsweise parametriert durch Parameter (Φ), die in einem Parameterspeicher (DB) hinterlegt sind und von diesem bereitgestellt werden.The neural network (60) is preferably parameterized by parameters (Φ) which are stored in a parameter memory (DB) and are provided by it.

Das neuronale Netz (60) ermittelt aus den Eingabebildern (x) Ausgabesignale (y). Die Ausgabesignale (y) werden einer optionalen Umformeinheit (80) zugeführt, die hieraus Ansteuersignale (A) ermittelt, welche dem Aktor (10) zugeführt werden, um den Aktor (10) entsprechend anzusteuern.The neural network (60) determines output signals (y) from the input images (x). The output signals (y) are fed to an optional conversion unit (80), which uses this to determine control signals (A), which are fed to the actuator (10) in order to control the actuator (10) accordingly.

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

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

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

In alternativen Ausführungsformen ist alternativ oder zusätzlich zum Aktor (10) eine Anzeigevorrichtung (10a) vorgesehen. Die Anzeigevorrichtung (10a) kann insbesondere eine optische Anzeigevorrichtung sein, zum Beispiel ein Bildschirm. Alternativ kann die Anzeigevorrichtung (10a) auch für andere Sinne des Menschen eingerichtet sein. Sie kann zum Beispiel ein Lautsprecher sein oder über haptische Signale wie Vibration einem Benutzer ein Ereignis anzeigen.In alternative embodiments, a display device (10a) is provided as an alternative or in addition to the actuator (10). The display device (10a) can in particular be an optical display device, for example a screen. Alternatively, the display device (10a) can also be set up for other human senses. For example, it can be a loudspeaker or display an event to a user via haptic signals such as vibration.

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

Bei dem Sensor (30) kann es sich beispielsweise um einen vorzugsweise im Kraftfahrzeug (100) angeordneten Kamerasensor handeln.The sensor (30) can be, for example, a camera sensor preferably arranged in the motor vehicle (100).

Das neuronale Netz (60) ist im Ausführungsbeispiel eingerichtet, auf den Eingabebildern (x) erkennbare Objekte zu identifizieren, zum Beispiel andere Fahrzeuge, Personen, Tiere oder statische Objekte wie Ampeln oder Häuser.In the exemplary embodiment, the neural network (60) is set up to identify objects that can be recognized in the input images (x), for example other vehicles, people, animals or static objects such as traffic lights or houses.

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

Alternativ oder zusätzlich kann mit dem Ansteuersignal (A) die Anzeigevorrichtung (10a) angesteuert werden. Die Anzeigevorrichtung kann beispielsweise ein Bildschirm sein, auf dem die identifizierten Objekte dargestellt werden. Auch ist es möglich, dass die Anzeigevorrichtung (10a) mit dem Ansteuersignal (A) derart angesteuert wird, dass sie ein optisches oder akustisches Warnsignal ausgibt, wenn ermittelt wird, dass das Kraftfahrzeug (100) droht, mit einem der identifizierten Objekte zu kollidieren. Die Warnung mittels eines Warnsignals kann auch mittels eines haptischen Warnsignals erfolgen, beispielsweise über ein Vibrieren eines Lenkrads des Kraftfahrzeugs (100).Alternatively or additionally, the display device (10a) can be controlled with the control signal (A). The display device can be, for example, a screen on which the identified objects are displayed. It is also possible for the display device (10a) to be controlled with the control signal (A) in such a way that it emits a visual or acoustic warning signal if it is determined that the motor vehicle (100) is in danger of colliding with one of the identified objects. The warning by means of a warning signal can also be carried out by means of a haptic warning signal, for example via a vibration of a steering wheel of the motor vehicle (100).

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

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

Bei dem Sensor (30) kann es sich dann beispielsweise um einen Videosensor handeln, der z.B. die Förderfläche eines Förderbandes (13) erfasst, wobei sich auf dem Förderband (13) Fertigungserzeugnissen (12a, 12b) befinden können. Das neuronale Netz (60) kann beispielsweise eingerichtet sein die Fertigungserzeugnisse (12a, 12b) auf dem Förderband zu detektieren und insbesondere ihre Position auf dem Förderband zu ermitteln. Der die Fertigungsmaschine (11) steuernde Aktor (10) kann dann abhängig von den ermittelten Positionen der Fertigungserzeugnisse (12a, 12b) angesteuert werden. Beispielsweise kann der Aktor (10) derart angesteuert werden, dass er ein Fertigungserzeugnis (12a, 12b) an einer vorbestimmten Stelle des Fertigungserzeugnisses (12a, 12b) stanzt, sägt, bohrt und/oder schneidet. The sensor (30) can then be, for example, a video sensor which, for example, detects the conveying surface of a conveyor belt (13), whereby manufactured products (12a, 12b) can be located on the conveyor belt (13). The neural network (60) can, for example, be set up to detect the manufactured products (12a, 12b) on the conveyor belt and in particular to determine their position on the conveyor belt. The actuator (10) controlling the manufacturing machine (11) can then be controlled depending on the determined positions of the manufactured products (12a, 12b). For example, the actuator (10) can be controlled in such a way that it punches, saws, drills and/or cuts a manufactured product (12a, 12b) at a predetermined location on the manufactured product (12a, 12b).

Weiterhin ist denkbar, dass das neuronale Netz (60) ausgebildet ist, alternativ oder zusätzlich zur Position weitere Eigenschaften eines Fertigungserzeugnisses (12a, 12b) zu ermitteln. Insbesondere ist vorstellbar, dass das neuronale Netz (60) ermittelt, ob ein Fertigungserzeugnis (12a, 12b) defekt und/oder beschädigt ist. In diesem Fall kann der Aktor (10) derart angesteuert werden, dass die Fertigungsmaschine (11) ein defektes und/oder beschädigtes Fertigungserzeugnis (12a, 12b) aussortiert.Furthermore, it is conceivable that the neural network (60) is designed to determine further properties of a manufactured product (12a, 12b) as an alternative or in addition to the position. In particular, it is conceivable that the neural network (60) determines whether a manufactured product (12a, 12b) is defective and/or damaged. In this case, the actuator (10) can be controlled in such a way that the manufacturing machine (11) sorts out a defective and/or damaged manufactured product (12a, 12b).

7 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines Zugangssystems (300) eingesetzt wird. Das Zugangssystem (300) kann eine physische Zugangskontrolle umfassen, beispielsweise eine Tür (401). Der Sensor (30) kann insbesondere ein Videosensor oder Wärmebildsensor sein, der eingerichtet ist, einen Bereich vor der Tür (401) zu erfassen. Mittels des neuronalen Netzes (60) kann ein erfasstes Bild interpretiert werden. Insbesondere kann das neuronale Netz (60) Personen auf einem übermittelten Eingabebild (x) detektieren. Sind mehrere Personen gleichzeitig detektiert worden, kann durch eine Zuordnung der Personen (also der Objekte) zueinander beispielweise die Identität der Personen besonders zuverlässig ermittelt werden, beispielsweise durch eine Analyse ihrer Bewegungen. 7 shows an exemplary embodiment in which the control system (40) is used to control an access system (300). The access system (300) may include a physical access control, for example a door (401). The sensor (30) can in particular be a video sensor or thermal image sensor that is set up to detect an area in front of the door (401). A captured image can be interpreted using the neural network (60). In particular, the neural network (60) can detect people on a transmitted input image (x). If several people have been detected at the same time, the identity of the people can be determined particularly reliably by assigning the people (i.e. the objects) to one another, for example by analyzing their movements.

Der Aktor (10) kann ein Schloss sein, dass abhängig vom Ansteuersignal (A) die Zugangskontrolle freigibt, oder nicht, beispielsweise die Tür (401) öffnet, oder nicht. Hierzu kann das Ansteuersignal (A) abhängig vom mittels des neuronalen Netzes (60) zum Eingabebild (x) ermittelten Ausgabesignal (y) gewählt werden. Beispielsweise ist denkbar, dass das Ausgabesignal (y) Informationen umfasst, die die Identität einer vom neuronalen Netz (60) detektierten Person charakterisiert, und das Ansteuersignal (A) basierend auf der Identität der Person gewählt wird.The actuator (10) can be a lock that, depending on the control signal (A), releases the access control or not, for example opens the door (401) or not. For this purpose, the control signal (A) can be selected depending on the output signal (y) determined by the neural network (60) for the input image (x). For example, it is conceivable that the output signal (y) includes information that characterizes the identity of a person detected by the neural network (60), and the control signal (A) is selected based on the identity of the person.

Anstelle der physischen Zugangskontrolle kann auch eine logische Zugangskontrolle vorgesehen sein.Instead of physical access control, logical access control can also be provided.

8 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines Überwachungssystems (400) verwendet wird. Von dem in 7 dargestellten Ausführungsbeispiel unterscheidet sich dieses Ausführungsbeispiel dadurch, dass an Stelle des Aktors (10) die Anzeigevorrichtung (10a) vorgesehen ist, die vom Steuerungssystem (40) angesteuert wird. Beispielsweise kann der Sensor (30) ein Eingabebild (x) aufzeichnen, auf dem zumindest eine Person zu erkennen ist, und die Position der zumindest einen Person mittels des neuronalen Netzes (60) detektiert werden. Das Eingabebild (x) kann dann auf der Anzeigevorrichtung (10a) dargestellt werden, wobei die detektierten Personen farblich hervorgehoben dargestellt werden können. 8th shows an embodiment in which the control system (40) is used to control a monitoring system (400). From the in 7 This exemplary embodiment differs from the illustrated embodiment in that instead of the actuator (10), the display device (10a), which is controlled by the control system (40), is provided. For example, the sensor (30) can record an input image (x) in which at least one person can be recognized, and the position of the at least one person can be detected using the neural network (60). The input image (x) can then be displayed on the display device (10a), whereby the detected people can be highlighted in color.

9 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines persönlichen Assistenten (250) eingesetzt wird. Der Sensor (30) ist bevorzugt ein optischer Sensor, der Bilder einer Geste eines Nutzers (249) empfängt, beispielsweise ein Videosensor oder eine Wärmebildkamera. 9 shows an exemplary embodiment in which the control system (40) is used to control a personal assistant (250). The sensor (30) is preferably an optical sensor that receives images of a user's gesture (249), for example a video sensor or a thermal imaging camera.

Abhängig von den Signalen des Sensors (30) ermittelt das Steuerungssystem (40) ein Ansteuersignal (A) des persönlichen Assistenten (250), beispielsweise, indem das neuronale Netz (60) eine Gestenerkennung durchführt. Dem persönlichen Assistenten (250) wird dann dieses ermittelte Ansteuersignal (A) übermittelt und er somit entsprechend angesteuert. Das ermittelte Ansteuersignal (A) kann insbesondere derart gewählt werden, dass es einer vermuteten gewünschten Ansteuerung durch den Nutzer (249) entspricht. Diese vermutete gewünschte Ansteuerung kann abhängig von der vom neuronalen Netz (60) erkannten Geste ermittelt werden. Das Steuerungssystem (40) kann dann abhängig von der vermuteten gewünschten Ansteuerung das Ansteuersignal (A) zur Übermittlung an den persönlichen Assistenten (250) wählen und/oder das Ansteuersignal (A) zur Übermittlung an den persönlichen Assistenten entsprechend der vermuteten gewünschten Ansteuerung (250) wählen.Depending on the signals from the sensor (30), the control system (40) determines a control signal (A) of the personal assistant (250), for example by the neural network (60) carrying out gesture recognition. This determined control signal (A) is then transmitted to the personal assistant (250) and it is thus controlled accordingly. The determined control signal (A) can in particular be selected such that it corresponds to an assumed desired control by the user (249). This assumed desired control can be determined depending on the gesture recognized by the neural network (60). Depending on the assumed desired control, the control system (40) can then select the control signal (A) for transmission to the personal assistant (250) and/or the control signal (A) for transmission to the personal assistant in accordance with the presumed desired control (250). choose.

Diese entsprechende Ansteuerung kann beispielsweise beinhalten, dass der persönliche Assistent (250) Informationen aus einer Datenbank abruft und sie für den Nutzer (249) rezipierbar wiedergibt.This corresponding control can, for example, involve the personal assistant (250) retrieving information from a database and reproducing it for the user (249) to receive.

Anstelle des persönlichen Assistenten (250) kann auch ein Haushaltsgerät (nicht abgebildet), insbesondere eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder eine Spülmaschine vorgesehen sein, um entsprechend angesteuert zu werden.Instead of the personal assistant (250), a household appliance (not shown), in particular a washing machine, a stove, an oven, a microwave or a dishwasher can also be provided in order to be controlled accordingly.

10 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines medizinischen bildgebenden Systems (500), beispielsweise eines MRT-, Röntgen- oder Ultraschallgeräts, verwendet wird. Der Sensor (30) kann beispielsweise durch einen bildgebenden Sensor gegeben sein. Durch das Steuerungssystem (40) wird die Anzeigevorrichtung (10a) angesteuert. Die Anzeigevorrichtung (10a) kann insbesondere durch einen Bildschirm gegeben sein. 10 shows an exemplary embodiment in which the control system (40) is used to control a medical imaging system (500), for example an MRI, X-ray or ultrasound device. The sensor (30) can be an imaging sensor, for example. The display device (10a) is controlled by the control system (40). The display device (10a) can in particular be a screen.

Der Sensor (30) ist eingerichtet ein Bild eines Patienten zu ermitteln, beispielsweise ein Röntgenbild, ein MRT-Bild oder ein Ultraschallbild. Zumindest ein Teil des Bildes wird als Eingabebild (x) an das neuronale Netz (60) übermittelt. Das neuronale Netz (60) kann beispielsweise eingerichtet sein, unterschiedlicher Arten eines auf dem Eingabebild (x) zu erkennendem Gewebe zu detektieren.The sensor (30) is set up to determine an image of a patient, for example an X-ray image, an MRI image or an ultrasound image. At least part of the image is transmitted to the neural network (60) as an input image (x). The neural network (60) can, for example, be set up to detect different types of tissue to be recognized on the input image (x).

Das Ansteuersignal (A) kann dann derart gewählt werden, dass die ermittelten Arten von Gewebe auf der Anzeigevorrichtung (10a) farblich hervorgehoben dargestellt werden.The control signal (A) can then be selected such that the determined types of tissue are highlighted in color on the display device (10a).

In weiteren Ausführungsbeispielen (nicht gezeigt) kann das bildgebende System (500) auch für nicht medizinische Zwecke verwendet werden, zum Beispiel um Materialeigenschaften eines Werkstücks zu ermitteln. Zu diesem Zweck kann das bildgebende System (500) ein Bild eines Werkstücks aufzeichnen. Das neuronale Netz (60) kann in diesem Fall derart eingerichtet sein, dass es zumindest einen Teil des Bildes als Eingabebild (x) entgegennimmt und Materialien des Werkstücks detektiert. Die so ermittelte Detektion kann beispielsweise zusammen mit dem Eingabebild auf der Anzeigevorrichtung (10a) dargestellt werden.In further exemplary embodiments (not shown), the imaging system (500) can also be used for non-medical purposes, for example to determine material properties of a workpiece. For this purpose, the imaging system (500) can record an image of a workpiece. In this case, the neural network (60) can be set up in such a way that it accepts at least part of the image as an input image (x) and detects materials of the workpiece. The detection determined in this way can, for example, be displayed together with the input image on the display device (10a).

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

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

Claims (11)

Computerimplementiertes Verfahren zum Trainieren eines neuronalen Netzes (60), wobei das neuronale Netz (60) ausgebildet ist, Objekte in Bildern (x) zu detektieren, und das Training folgende Schritte umfasst: • Ermitteln einer Merkmalsrepräsentation (f) eines Trainingsbildes (xi) mittels eines Rückgrats (B) des neuronalen (60); • Ermitteln von Kopfausgaben (C1, C2, C3, P1, P2, P3, S1, S2, S3) basierend auf der Merkmalsrepräsentation (f) und mittels einer Mehrzahl (MC, MP, MS) von Köpfen (HC1, HC2, HC3, HP1, HP2, HP3, HS1, HS2, HS3) des neuronalen Netzes (60), wobei die Kopfausgaben (C1, C2, C3, P1, P2, P3, S1, S2, S3) jeweils für Bereiche des Trainingsbildes (xi) eine Anwesenheit oder Abwesenheit eines Objekts charakterisiert oder eine Ausdehnung des Objekts charakterisiert oder eine Position des Objekts charakterisiert oder die Ausdehnung und die Position charakterisiert; • Ermitteln einer Mehrzahl von ersten Verlustwerten, wobei jeweils ein erster Verlustwert mit einer Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) korrespondiert und eine Abweichung der Kopfausgabe (C1, C2, C3, P1, P2, P3, S1, S2, S3) von einer gewünschten Kopfausgabe charakterisiert; • Anpassen zumindest eines Parameters (θ) des Rückgrats (B) und/oder zumindest eines Parameters eines Kopfes (HC1, HC2, HC3, HP1, HP2, HP3, HS1, HS2, HS3) basierend auf einem zweiten Verlustwert, wobei der zweite Verlustwert eine Summe der ersten Verlustwerte charakterisiert.Computer-implemented method for training a neural network (60), wherein the neural network (60) is designed to detect objects in images (x), and the training comprises the following steps: • Determining a feature representation (f) of a training image (x i ) by means of a backbone (B) of the neuronal (60); • Determine head outputs (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) based on the feature representation (f) and using a plurality (M C , M P , M S ) of heads (H C1 , H C2 , H C3 , H P1 , H P2 , H P3 , HS1 , HS2 , H S3 ) of the neural network (60), where the head outputs (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) each for areas of the training image (x i ) characterizes a presence or absence of an object or characterizes an extent of the object or characterizes a position of the object or the extent and the position characterized; • Determining a plurality of first loss values, with a first loss value corresponding to a head output (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) and a deviation of the head output (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) characterized by a desired header output; • Adjusting at least one parameter (θ) of the backbone (B) and/or at least one parameter of a head ( HC1 , HC2 , HC3 , HP1, HP2 , HP3 , HS1 , HS2 , HS3 ) . on a second loss value, the second loss value characterizing a sum of the first loss values. Verfahren nach Anspruch 1, wobei der zweite Verlustwert zusätzlich eine negative Korrelation zwischen den Kopfausgaben (C1, C2, C3, P1, P2, P3, S1, S2, S3) charakterisiert.Procedure according to Claim 1 , where the second loss value additionally characterizes a negative correlation between the head outputs (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ). Verfahren nach Anspruch 1 oder 2, wobei das neuronale Netz (60) eine Mehrzahl von Mehrzahlen (MC, MP, MS) von Köpfen (HC1, HC2, HC3, HP1, HP2, HP3, HS1, HS2, HS3) umfasst und für jede Mehrzahl (MC, MP, MS) von Köpfen (HC1, HC2, HC3, HP1, HP2, HP3, HS1, HS2, HS3) jeweils ein zweiter Verlustwert ermittelt wird und das neuronale Netz (60) basierend auf einer Summe der zweiten Verlustwerte trainiert wird.Procedure according to Claim 1 or 2 , wherein the neural network (60) has a plurality of pluralities ( MC , MP , MS ) of heads ( HC1 , HC2 , HC3, HP1 , HP2 , HP3 , HS1 , HS2 , H S3 ) includes and a second one for each plurality ( MC , MP , MS ) of heads ( HC1 , HC2 , HC3, HP1 , HP2 , HP3 , HS1 , HS2 , HS3 ). Loss value is determined and the neural network (60) is trained based on a sum of the second loss values. Verfahren zum Ermitteln eins Ausgabesignal (y) mittels eines neuronalen Netzes (60), wobei das neuronale Netz gemäß einem der Ansprüche 1 bis 3 eingerichtet ist und das Ausgabesignal (y) die Anwesenheit bzw. Abwesenheit von Objekten innerhalb eines Bildes (x) charakterisiert, wobei das Verfahren die folgenden Schritte umfasst: • Ermitteln einer Merkmalsrepräsentation (f) des Bildes (x) mittels des Rückgrats (B) des neuronalen Netzes (60); • Ermitteln einer Mehrzahl von Kopfausgaben basierend auf der Merkmalsrepräsentation (f) und mittels der Mehrzahl (MC, MP, MS) von Köpfen (HC1, HC2, HC3, HP1, HP2, HP3, HS1, HS2, HS3) des neuronalen Netzes (60); • Ermitteln einer Zusammenfassung (ZC, ZP, ZS) der Mehrzahl von Kopfausgaben (C1, C2, C3, P1, P2, P3, S1, S2, S3) zu einer Kopfausgabe (C, P, S); • Ermitteln des Ausgabesignals (y) basierend auf der einen Kopfausgabe (C, P, S).Method for determining an output signal (y) using a neural network (60), where the neural network according to one of the Claims 1 until 3 is set up and the output signal (y) characterizes the presence or absence of objects within an image (x), the method comprising the following steps: • Determining a feature representation (f) of the image (x) using the backbone (B) of the neural network (60); • Determine a plurality of head outputs based on the feature representation (f) and using the plurality (M C , M P , M S ) of heads (H C1 , H C2 , H C3 , H P1 , H P2 , H P3 , H S1 , HS2 , HS3 ) of the neural network (60); • Determine a summary (Z C , Z P , Z S ) of the plurality of header outputs (C 1 , C 2 , C 3 , P 1 , P 2 , P 3 , S 1 , S 2 , S 3 ) into a header output ( C, P, S); • Determine the output signal (y) based on the one head output (C, P, S). Verfahren nach Anspruch 4, wobei das Verfahren zusätzlich das Training des neuronalen Netzes nach einem der Ansprüche 1 bis 3 umfasst.Procedure according to Claim 4 , wherein the method additionally involves training the neural network according to one of the Claims 1 until 3 includes. Verfahren nach Anspruch 4 oder 5, wobei das Ausgabesignal (y) zusätzlich einen Wert umfasst, der eine Unsicherheit bezüglich der Zusammenfassung der Mehrzahl von Kopfausgaben charakterisiert.Procedure according to Claim 4 or 5 , wherein the output signal (y) additionally comprises a value that characterizes an uncertainty regarding the summary of the plurality of head outputs. Verfahren zum Ermitteln eines Ansteuersignals (A) eines Aktors (10) oder einer Anzeigevorrichtung (10a) basierend auf einem Bild (x), wobei im Verfahren ein Ausgabesignal (y) basierend auf einem Bild (x) und gemäß einem der Ansprüche 4 bis 6 ermittelt wird und anschließend das Ansteuersignal (A) basierend auf dem Ausgabesignal (y) ermittelt wird.Method for determining a control signal (A) of an actuator (10) or a display device (10a) based on an image (x), wherein in the method an output signal (y) based on an image (x) and according to one of Claims 4 until 6 is determined and then the control signal (A) is determined based on the output signal (y). Vorrichtung (40), welche eingerichtet ist, das Verfahren nach einem der Ansprüche 4 bis 7 auszuführen.Device (40), which is set up to carry out the method according to one of Claims 4 until 7 to carry out. Trainingsvorrichtung (140), welche eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 3 auszuführen.Training device (140), which is set up to carry out the method according to one of Claims 1 until 3 to carry out. Computerprogramm, welches eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen, wenn es durch einen Prozessor (45, 145) ausgeführt wird.Computer program that is set up to carry out the procedure according to one of the Claims 1 until 7 when executed by a processor (45, 145). Maschinenlesbares Speichermedium (46, 146), auf dem das Computerprogramm nach Anspruch 10 gespeichert ist.Machine-readable storage medium (46, 146) on which the computer program is written Claim 10 is stored.
DE102022209517.0A 2022-09-12 2022-09-12 Method and device for training an object detector Pending DE102022209517A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022209517.0A DE102022209517A1 (en) 2022-09-12 2022-09-12 Method and device for training an object detector
PCT/EP2023/074544 WO2024056503A1 (en) 2022-09-12 2023-09-07 Method and device for training an object detector with an ensemble of several detection heads

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022209517.0A DE102022209517A1 (en) 2022-09-12 2022-09-12 Method and device for training an object detector

Publications (1)

Publication Number Publication Date
DE102022209517A1 true DE102022209517A1 (en) 2024-03-14

Family

ID=88018238

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022209517.0A Pending DE102022209517A1 (en) 2022-09-12 2022-09-12 Method and device for training an object detector

Country Status (2)

Country Link
DE (1) DE102022209517A1 (en)
WO (1) WO2024056503A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11334766B2 (en) * 2019-11-15 2022-05-17 Salesforce.Com, Inc. Noise-resistant object detection with noisy annotations
US20210158156A1 (en) * 2019-11-21 2021-05-27 Google Llc Distilling from Ensembles to Improve Reproducibility of Neural Networks
DE102020209162A1 (en) * 2020-07-21 2022-01-27 Robert Bosch Gesellschaft mit beschränkter Haftung Method and device for detecting anomalies in sensor recordings of a technical system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Backpropagation. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 20.08.2022. URL: https://de.wikipedia.org/w/index.php?title=Backpropagation&oldid=225480091 [abgerufen am 05.05.2023]
ROY, Gauthier [et al.]: Robust Mitosis Detection Using a Cascade Mask-RCNN Approach With Domain-Specific Residual Cycle-GAN Data Augmentation. arXiv preprint arXiv:2109.01878, 2021
SAUER, Axel; GEIGER, Andreas: Counterfactual generative networks. arXiv preprint arXiv:2101.06046, 2021

Also Published As

Publication number Publication date
WO2024056503A1 (en) 2024-03-21

Similar Documents

Publication Publication Date Title
DE102020210352A1 (en) Method and device for transfer learning between modified tasks
DE102020212515A1 (en) Method and device for training a machine learning system
DE102019209644A1 (en) Method for training a neural network
DE102020211262A1 (en) Method and device for compressing a neural network
WO2020173700A1 (en) Method and device for operating a control system
DE102022201679A1 (en) Method and device for training a neural network
DE102019209566A1 (en) Method and device for training a machine learning system
DE102022209517A1 (en) Method and device for training an object detector
DE102018218834A1 (en) Method and device for determining a control signal
DE102020212514A1 (en) Method for determining an output signal using a machine learning system
DE102018211875A1 (en) Method and device for operating a control system
DE102021202813A1 (en) Method, device and computer program for an uncertainty assessment of an image classification
DE102020208828A1 (en) Method and device for creating a machine learning system
DE102021204040A1 (en) Method, device and computer program for creating training data in the vehicle
DE102020216188A1 (en) Apparatus and method for training a classifier
DE102020213527A1 (en) Method for optimizing a strategy for a robot
DE202020104005U1 (en) Device for creating a system for the automated creation of machine learning systems
DE102021209643A1 (en) Method and device for object detection and/or for semantic segmentation
DE102020208309A1 (en) Method and device for creating a machine learning system
DE102018216295B4 (en) Method and device for determining a control signal for controlling an actuator
DE102018216078A1 (en) Method and device for operating a control system
DE102021202342A1 (en) Method and device for training a classifier and/or regressor
DE102022204263A1 (en) Method and device for training a neural network
DE102020210328A1 (en) Method and device for training a quantized classifier
WO2023057239A1 (en) Neural network for invariant classification and/or regression

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed