DE102022124487A1 - Method and processor circuit for generating a machine learning model with time-consistent recognition capability and computer-readable storage medium for a processor circuit - Google Patents

Method and processor circuit for generating a machine learning model with time-consistent recognition capability and computer-readable storage medium for a processor circuit Download PDF

Info

Publication number
DE102022124487A1
DE102022124487A1 DE102022124487.3A DE102022124487A DE102022124487A1 DE 102022124487 A1 DE102022124487 A1 DE 102022124487A1 DE 102022124487 A DE102022124487 A DE 102022124487A DE 102022124487 A1 DE102022124487 A1 DE 102022124487A1
Authority
DE
Germany
Prior art keywords
sequence
training
model
data set
training data
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
DE102022124487.3A
Other languages
German (de)
Inventor
Alessandro Montesi
Anton Bruch
Milan Jonah Rohde
Hans-Arne Driescher
Peter Schlicht
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.)
Volkswagen AG
Cariad SE
Original Assignee
Volkswagen AG
Cariad SE
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 Volkswagen AG, Cariad SE filed Critical Volkswagen AG
Priority to DE102022124487.3A priority Critical patent/DE102022124487A1/en
Publication of DE102022124487A1 publication Critical patent/DE102022124487A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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

Abstract

Die Erfindung betrifft ein Verfahren zum Erzeugen eines Modells (12) des Maschinellen Lernens. Das Verfahren umfasst: Bereitstellen einer Sequenz (42) von Trainingsdatensätzen (43) mit Abbildungen eines Objekts (21, 51) und zu jedem Trainingsdatensatz (43) Bereitstellen eines jeweiligen Labeldatensatzes (45), der ein von dem Modell (12) zu erzielendes Detektionsergebnis betreffend das Objekt (21, 51) angibt, wobei dann in jeweiligen Trainingsiterationen (41) die folgenden Schritte erfolgen: Betreiben des Modells (12) mit solchen der Trainingsdatensätze (43), die eine zusammenhängende Teilsequenz (42) darstellen, und hierdurch Erzeugen eines jeweiligen Ausgabevektors (48) zu dem jeweiligen Trainingsdatensatz (43) der Teilsequenz (42), und Anwenden einer Loss-Funktion auf den jeweiligen Ausgabevektor (48). Die Erfindung sieht vor, dass durch die Loss-Funktion zusätzlich zu dem Unterschied zwischen dem jeweiligen Ausgabevektor (48) und dem zugehörigen Labeldatensatz (45) auch ein Unterschied zwischen den jeweiligen Ausgabevektoren (48) von in der Teilsequenz (42) unmittelbar aufeinanderfolgenden Trainingsdatensätzen (43) quantifiziert wird.The invention relates to a method for generating a machine learning model (12). The method comprises: providing a sequence (42) of training data sets (43) with images of an object (21, 51) and, for each training data set (43), providing a respective label data set (45) which specifies a detection result relating to the object (21, 51) to be achieved by the model (12), the following steps then being carried out in respective training iterations (41): operating the model (12) with those of the training data sets (43) which represent a coherent partial sequence (42), and thereby generating a respective output vector (48) for the respective training data set (43) of the partial sequence (42), and applying a loss function to the respective output vector (48). The invention provides that, in addition to the difference between the respective output vector (48) and the associated label data set (45), the loss function also quantifies a difference between the respective output vectors (48) of immediately consecutive training data sets (43) in the subsequence (42).

Description

Die Erfindung betrifft ein Verfahren und eine Prozessorschaltung zum Erzeugen eines Modells des maschinellen Lernens. Mittels des Modells soll in einer Sequenz von Abbildungen, beispielsweise einer Videosequenz, ein Objekt detektiert werden. Für das Training stehen die Abbildungen des Objekts aus den einzelnen Abbildungen der Sequenz sowie ein jeweils zugehöriger Labeldatensatz, der das Soll-Detektionsergebnis angibt, bereit. Zu der Erfindung gehört auch ein computerlesbares Speichermedium, um mittels einer Prozessorschaltung das Verfahren durchführen zu können.The invention relates to a method and a processor circuit for generating a machine learning model. Using the model, an object is to be detected in a sequence of images, for example a video sequence. The images of the object from the individual images of the sequence as well as an associated label data set that indicates the target detection result are available for training. The invention also includes a computer-readable storage medium in order to be able to carry out the method using a processor circuit.

Ein Modell des maschinellen Lernens, beispielsweise ein künstliches neuronales Netzwerk, kann dafür verwendet werden, in einer Abbildung, beispielsweise einem Kamerabild oder einer Punktwolke eines LiDAR oder eines Radar, ein Objekt automatisiert zu detektieren. Hierzu muss das Modell des maschinellen Lernens trainiert werden, wofür Trainingsdatensätze, das heißt einzelne Abbildungen des Objekts, zusammen mit einem zugehörigen Labeldatensatz, der das gewünschte oder zu erzielende Detektionsergebnis (Ground Truth) angibt, bereitgestellt werden. Soll ein Modell des maschinellen Lernens auf einer Sequenz von aufeinanderfolgenden Abbildungen der besagten Art trainiert werden, die z.B. mehr als eine Abbildung pro Sekunde umfasst, so ist es notwendig, für jede einzelne Abbildung der Sequenz einen solchen Labeldatensatz bereitzustellen. Dieser wird in der Regel manuell durch eine Bedienperson erzeugt, was einen entsprechend großen Arbeitsaufwand darstellt.A machine learning model, for example an artificial neural network, can be used to automatically detect an object in an image, for example a camera image or a point cloud from a LiDAR or a radar. For this purpose, the machine learning model must be trained, for which training data sets, i.e. individual images of the object, are provided together with an associated label data set that indicates the desired or to be achieved detection result (ground truth). If a machine learning model is to be trained on a sequence of consecutive images of the type in question, which, for example, includes more than one image per second, it is necessary to provide such a label data set for each individual image of the sequence. This is usually created manually by an operator, which represents a correspondingly large amount of work.

Aus zwei wissenschaftlichen Veröffentlichungen ist bekannt, dass in einer Videosequenz nicht jede einzelne Abbildung (Frame) eines Sequenz mit manuell angefertigten Labeldatensätzen versehen sein muss, sondern dies kann lückenhaft geschehen, und dazwischenliegende, nicht manuell gelabelte Abbildungen werden dennoch für ein Training nutzbar gemacht, indem für diese künstliche oder automatisiert erzeugte Labeldatensätze, also von dem Computersystem selbst generierte Labeldatensätze, auf Basis der vorgegebenen Labeldatensätze interpoliert werden können. Die entsprechenden Veröffentlichungen sind von Shu et al. (Shu Hu, Chun-Hao Liu, Jayanta Dutta, Ming-Ching Chang, Siwei Lyu, Naveen Ramakrishnan, „PseudoProp: Robust Pseudo-Label Generation for Semi-Supervised Object Detection in Autonomous Driving Systems“, arXiv:2203.05983v1 [cs.CV] 11 Mar 2022) und Yan et al. (Pengxiang Yan, Guanbin Li, Yuan Xie, Zhen Li, Chuan Wang, Tianshui Chen, Liang Lin, „Semi-Supervised Video Salient Object Detection Using Pseudo-Labels“, Computer Vision Foundation, IEEE Xplore).It is known from two scientific publications that in a video sequence not every single image (frame) of a sequence has to be provided with manually created label data sets, but this can happen in gaps, and intervening, non-manually labeled images are still made usable for training by For these artificially or automatically generated label data sets, i.e. label data sets generated by the computer system itself, can be interpolated on the basis of the specified label data sets. The corresponding publications are by Shu et al. (Shu Hu, Chun-Hao Liu, Jayanta Dutta, Ming-Ching Chang, Siwei Lyu, Naveen Ramakrishnan, “PseudoProp: Robust Pseudo-Label Generation for Semi-Supervised Object Detection in Autonomous Driving Systems,” arXiv:2203.05983v1 [cs. CV] 11 Mar 2022) and Yan et al. (Pengxiang Yan, Guanbin Li, Yuan Xie, Zhen Li, Chuan Wang, Tianshui Chen, Liang Lin, “Semi-Supervised Video Salient Object Detection Using Pseudo-Labels,” Computer Vision Foundation, IEEE Xplore).

Der Grund für die Verwendung vieler Abbildungen mit zugehörigem Labeldatensatz (manuell gefertigt oder selbst generiert) besteht darin, das Training des Modells des maschinellen Lernens dahingehend effizient zu gestalten, dass das Modell ein robustes Detektionsergebnis für die Detektion eines Objekts insbesondere in einer Sequenz von Abbildungen, beispielsweise einer Videosequenz, bringen soll.The reason for using many images with an associated label data set (manually produced or self-generated) is to make the training of the machine learning model efficient in such a way that the model produces a robust detection result for the detection of an object, especially in a sequence of images, for example a video sequence.

Der Erfindung liegt die Aufgabe zugrunde, ein Modell des maschinellen Lernens effizient daraufhin zu trainieren, in einer Sequenz von Abbildungen ein Objekt zu detektieren.The invention is based on the object of efficiently training a machine learning model to detect an object in a sequence of images.

Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterentwicklungen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Figuren beschrieben.The task is solved by the subject matter of the independent patent claims. Advantageous further developments of the invention are described in the dependent claims, the following description and the figures.

Als eine Lösung umfasst die Erfindung ein Verfahren zum Trainieren oder Erzeugen eines Modells des maschinellen Lernens. Ein solches Modell kann beispielsweise ein künstliches neuronales Netzwerk und/oder einen Decision-Tree (Entscheidungsbaum) umfassen. Das Verfahren umfasst den Schritt, dass eine Sequenz von Abbildungen eines Objekts bereitgestellt wird, das von dem Modell detektiert werden soll. Eine solche Sequenz kann beispielsweise eine Videosequenz sein, wobei dann eine einzelne Abbildung ein Einzelbild oder ein Frame der Videosequenz darstellt, und/oder die Sequenz kann beispielsweise eine Abfolge von LiDAR-Punktwolken und/oder ein jeweiliges Radar-Abbild einer Umgebung sein. Insbesondere handelt es sich um eine Sequenz, wie sie in einem Kraftfahrzeug durch zumindest einen Umfeldsensor des Kraftfahrzeugs, beispielsweise einer Kamera und/oder einen LiDAR und/oder einen Radar, erzeugt werden kann. Mit „Sequenz“ ist hier eine Abfolge von Abbildungen gemeint, die das Objekt zu aufeinanderfolgenden Zeitpunkten darstellt, deren zeitliche Abstände insbesondere in einem Bereich von zehn Millisekunden bis eine Sekunde liegen kann, also eine Bewegung wiedergeben oder abbilden kann. Jede der Abbildungen ist als ein Trainingsdatensatz vorgegeben, also beispielsweise als ein Bilddatensatz oder eine Beschreibung einer Punktwolke aus Messpunkten. Eine Abbildung und ein Trainingsdatensatz können hier also synonym verwendet werden.As a solution, the invention includes a method for training or generating a machine learning model. Such a model can include, for example, an artificial neural network and/or a decision tree. The method includes the step of providing a sequence of images of an object to be detected by the model. Such a sequence can be, for example, a video sequence, in which case a single image represents a single image or a frame of the video sequence, and/or the sequence can be, for example, a sequence of LiDAR point clouds and/or a respective radar image of an environment. In particular, it is a sequence such as can be generated in a motor vehicle by at least one surroundings sensor of the motor vehicle, for example a camera and/or a LiDAR and/or a radar. “Sequence” here means a sequence of images that represents the object at successive times, the time intervals of which can be in the range of ten milliseconds to one second, i.e. can reproduce or depict a movement. Each of the images is specified as a training data set, for example as an image data set or a description of a point cloud of measurement points. An image and a training data set can therefore be used synonymously here.

Zu jedem Trainingsdatensatz wird ein jeweiliger Labeldatensatz bereitgestellt, der das von dem Modell zu erzielende Detektionsergebnis betreffend das Objekt angibt. Der Labeldatensatz kann beispielsweise eine Position des Objekts in der jeweiligen Abbildung und/oder eine Objektklasse (beispielsweise Fußgänger, Radfahrer, Kraftfahrzeug, Verkehrsschild, Ampel, Straßenmarkierung) angeben. Somit ist zu jeder Abbildung vorgegeben oder bekannt, wie ein Soll-Detektionsergebnis lauten muss, wenn das Modell korrekt oder fertig trainiert ist. Das Verfahren kann auch für die gleichzeitige Detektion mehrere Objekte durchgeführt werden, wofür entsprechende Abbildungen und Labeldatensätze bereitgestellt sein müssen, aber die Funktionsweise kann hier ohne Beschränkung der Allgemeingültigkeit für ein Objekt erläutert werden.For each training data set, a respective label data set is provided, which indicates the detection result to be achieved by the model regarding the object. The label data set can, for example, indicate a position of the object in the respective image and/or an object class (e.g. pedestrian, cyclist, motor vehicle, Traffic sign, traffic light, road marking). This means that for each image it is specified or known what a target detection result must be when the model is trained correctly or completely. The method can also be carried out for the simultaneous detection of several objects, for which corresponding images and label data sets must be provided, but the functionality can be explained here without limiting the generality for one object.

Das Training erfolgt iterativ in aufeinanderfolgenden Trainingsschritten oder Trainingsiterationen. Jede Trainingsiteration sieht vor, dass das Modell des maschinellen Lernens (z.B. nacheinander oder bei mehreren Instanzen des Modells auch parallel) mit mehreren der Trainingsdatensätze betrieben wird, wobei diese Auswahl der Trainingsdatensätze jeweils eine zusammenhängende Teilsequenz aus der besagten Sequenz darstellt. Es wird also eine Abfolge oder Reihe von aufeinanderfolgenden Abbildungen für den jeweiligen Trainingsdurchlauf oder die jeweilige Trainingsiteration verwendet. Dies wird im Stand der Technik auch als Batch-Training bezeichnet. Hierdurch erzeugt das Modell in an sich bekannter Weise durch getrenntes Anwenden auf die Trainingsdatensätze einen jeweiligen Ausgabevektor zu dem jeweiligen Trainingsdatensatz der Teilsequenz. Ein solcher Ausgabevektor kann die Ausgabewerte der letzten Schicht oder Ausgabeschicht eines künstlichen neuronalen Netzwerks des Modells darstellen. Es stellt also das Detektionsergebnis zu der jeweiligen Abbildung aus der Teilsequenz dar.Training occurs iteratively in successive training steps or training iterations. Each training iteration provides that the machine learning model is operated (e.g. one after the other or, in the case of several instances of the model, in parallel) with several of the training data sets, with this selection of training data sets each representing a coherent sub-sequence from the sequence in question. A sequence or series of successive images is therefore used for the respective training run or training iteration. This is also referred to as batch training in the prior art. As a result, the model generates a respective output vector for the respective training data set of the partial sequence in a manner known per se by applying it separately to the training data sets. Such an output vector may represent the output values of the last layer or output layer of an artificial neural network of the model. It therefore represents the detection result for the respective image from the partial sequence.

Für das Training kann nun der an sich bekannte Backpropagation-Algorithmus verwendet werden. Allgemein erfolgt ein Training des Modells des maschinellen Lernens dahingehend, dass eine Loss-Funktion auf den jeweiligen Ausgabevektor angewendet wird. Durch die Loss-Funktion wird zu dem jeweiligen Ausgabevektor ein Unterschiedsmaß berechnet wird, das den Unterschied zwischen diesem Ausgabevektor und dem zugehörigen Labeldatensatz quantifiziert. Mit anderen Worten beschreibt das Unterschiedsmaß die Abweichung des Detektionsergebnisses gemäß Ausgabevektor zu dem zu erzielenden Detektionsergebnis oder dem Soll-Detektionsergebnis aus dem Labeldatensatz. Durch einen Trainingsschritt wird dann das Modell zur Verringerung dieses Unterschiedsmaßes angepasst. Dies ist an sich bekannt und beispielsweise mittels des Backpropagation-Algorithmus realisierbar oder durchführbar. Allgemein ist die am Modell durchgeführte Veränderung umso Größer, je größer das Unterschiedsmaß ist.The well-known backpropagation algorithm can now be used for training. In general, the machine learning model is trained by applying a loss function to the respective output vector. The loss function is used to calculate a difference measure for the respective output vector, which quantifies the difference between this output vector and the associated label data set. In other words, the difference measure describes the deviation of the detection result according to the output vector from the detection result to be achieved or the target detection result from the label data set. The model is then adapted to reduce this difference in a training step. This is known per se and can be realized or carried out, for example, using the backpropagation algorithm. In general, the larger the difference, the greater the change made to the model.

Um nun diese Trainingsiterationen effektiver zu gestalten, also insbesondere mit weniger Trainingsiterationen denselben Trainingserfolg zu erzielen, ist vorgesehen, dass durch die Loss-Funktion in dem besagten Unterschiedsmaß zusätzlich zu dem Unterschied oder der Abweichung zwischen dem jeweiligen Ausgabevektor und dem zugehörigen Labeldatensatz auch ein Unterschied zwischen den jeweiligen Ausgabevektoren von in der Teilsequenz unmittelbar aufeinanderfolgenden Trainingsdatensätzen quantifiziert wird. Die Loss-Funktion signalisiert also auch dann einen Unterschied oder eine Abweichung, wenn zwei aufeinanderfolgende Trainingsdatensätze zu unterschiedlichen Detektionsergebnissen führen. Ein solcher Unterschied zwischen den Detektionsergebnissen von aufeinanderfolgenden Trainingsdatensätzen wird ebenfalls durch die Loss-Funktion mit einem „Loss“ oder Kosten bewertet oder als nachteilig bewertet, sodass das Modell z.B. von dem Backpropagation-Algorithmus oder von dem Training des Decision-Tree in dem Trainingsschritt dahingehend verändert oder angepasst wird, dass auch dieser Unterschied im Erkennungsergebnis oder Detektionsergebnis zwischen aufeinanderfolgenden Trainingsdatensätzen verringert wird. Bei dem Backpropagation-Algorithmus ergibt sich dies dahingehend implizit, wenn in der Loss-Funktion der Unterschied zwischen den Ausgabevektoren quantifiziert wird und dann, wie es aus dem Stand der Technik bekannt ist, durch eine mathematische Ableitung der Loss-Funktion ein Gradient für die Backpropagation berechnet wird.In order to make these training iterations more effective, i.e. in particular to achieve the same training success with fewer training iterations, it is provided that the loss function in the said difference measure in addition to the difference or deviation between the respective output vector and the associated label data set also creates a difference between is quantified by the respective output vectors of training data sets that immediately follow one another in the partial sequence. The loss function also signals a difference or deviation if two consecutive training data sets lead to different detection results. Such a difference between the detection results of successive training data sets is also assessed by the loss function with a “loss” or cost or assessed as disadvantageous, so that the model is influenced, for example, by the backpropagation algorithm or by the training of the decision tree in the training step is changed or adjusted so that this difference in the recognition result or detection result between successive training data sets is also reduced. In the case of the backpropagation algorithm, this results implicitly when the difference between the output vectors is quantified in the loss function and then, as is known from the prior art, a gradient for the backpropagation is created through a mathematical derivation of the loss function is calculated.

Durch die Erfindung ergibt sich der Vorteil, dass bei einer Sequenz von Abbildungen das Vorwissen genutzt wird, dass zwei zeitlich unmittelbar aufeinanderfolgende Abbildungen, das heißt die zugehörigen Trainingsdatensätze, zu ähnlichen Detektionsergebnissen (beispielsweise betreffend eine Position des Objekts und/oder eine Objektklasse des Objekts) keine sprunghaften Veränderungen aufweisen dürfen, sodass diese zeitliche Konsistenz (gleiche oder ähnliche Detektionsergebnisse für aufeinanderfolgende Abbildungen) als weiteres Unterschiedsmaß zum Ausgestalten einer Loss-Funktion genutzt werden kann. Mit diesem Vorwissen kann also das Modell in jedem Trainingsschritt stärker oder in größeren Schritten oder weiter an den trainierten Zustand angenähert werden als ohne dieses Vorwissen, sodass weniger Trainingsiterationen insgesamt notwendig sind, bis das Trainingsziel erreicht ist. Das Trainingsziel selbst kann wieder gemäß dem Stand der Technik gewählt werden.The invention results in the advantage that, in the case of a sequence of images, the prior knowledge is used that two images that immediately follow each other in time, i.e. the associated training data sets, produce similar detection results (for example regarding a position of the object and/or an object class of the object). must not show any sudden changes, so that this temporal consistency (same or similar detection results for successive images) can be used as a further difference measure for designing a loss function. With this prior knowledge, the model can be closer to the trained state in each training step or in larger steps or further than without this prior knowledge, so that fewer training iterations are necessary overall until the training goal is achieved. The training goal itself can again be selected according to the state of the art.

Die Erfindung umfasst auch Weiterentwicklungen, durch die sich zusätzliche Vorteile ergeben.The invention also includes further developments that result in additional advantages.

Gemäß einer Weiterentwicklung wird durch die Loss-Funktion in dem Unterschiedsmaß zum Quantifizieren des Unterschieds zwischen den jeweiligen Ausgabevektoren zu zwei gemäß der Sequenz unmittelbar aufeinanderfolgenden Trainingsdatensätzen deren geometrische Distanz, also die Distanz der Ausgabevektoren, berechnet. Als Distanz kann insbesondere die euklidische Distanz berechnet werden, also die Differenz der zueinander korrespondierenden Vektoreinträge zum Quadrat, diese dann aufsummiert und (optional) die Wurzel aus dieser Summe berechnet. Es kann auch eine gewichtete Quadratsumme der Differenzen der Vektoreinträge der Ausgabevektoren berechnet werden, um für unterschiedliche Vektoreinträge der Ausgabevektoren unterschiedliche Prioritäten oder Einflüsse zu programmieren. Ein Unterschiedsmaß basierend auf der Distanz der Ausgabevektoren weist den Vorteil auf, dass nicht nur die gleiche Klassifizierung für die beiden Trainingsdatensätze gefordert wird (also Ausgabevektoren zeigen dasselbe Detektionsergebnis in Bezug auf Objekttyp), sondern auch das Maß der Unsicherheit (uncertainty), wie es durch die Werte in den Ausgabevektoren ausgedrückt ist, wird angeglichen, um hierdurch das Erkennungsverhalten des Modells des maschinellen Lernens für die unterschiedlichen Trainingsdatensätze anzugleichen.According to a further development, the loss function in the difference measure is used to quantify the difference between the respective output vectors to two training data that are immediately consecutive according to the sequence sets whose geometric distance, i.e. the distance of the output vectors, is calculated. In particular, the Euclidean distance can be calculated as the distance, i.e. the difference of the corresponding vector entries squared, then summed up and (optionally) the root calculated from this sum. A weighted sum of squares of the differences in the vector entries of the output vectors can also be calculated in order to program different priorities or influences for different vector entries of the output vectors. A difference measure based on the distance of the output vectors has the advantage that not only the same classification is required for the two training data sets (i.e. output vectors show the same detection result with regard to object type), but also the measure of uncertainty, as shown by the values expressed in the output vectors are adjusted to thereby equalize the recognition behavior of the machine learning model for the different training data sets.

Gemäß einer Weiterentwicklung wird durch die Loss-Funktion in dem Unterschiedsmaß zum Quantifizieren des Unterschieds zwischen den jeweiligen Ausgabevektoren (zu den unmittelbar aufeinanderfolgenden Trainingsdatensätzen) aus den unterschiedlichen Ausgabevektoren ein jeweiliger Differenzwert von einem oder mehreren korrespondierenden Konfidenzwerten paarweise berechnet. Mit anderen Worten wird gezielt in der Loss-Funktion eine Angleichung der Konfidenzen für die unterschiedlichen Trainingsdatensätze eintrainiert. Hierdurch wird ein konsistentes Erkennungsverhalten in vorteilhafter Weise in dem Modell eingeprägt.According to a further development, a respective difference value of one or more corresponding confidence values is calculated in pairs from the different output vectors by the loss function in the difference measure for quantifying the difference between the respective output vectors (to the immediately successive training data sets). In other words, an alignment of the confidences for the different training data sets is specifically trained in the loss function. This advantageously imprints a consistent recognition behavior on the model.

Gemäß einer Weiterentwicklung werden durch den jeweiligen Labeldatensatz (Ground Truth) ein Objekttyp des Objekts (wie bereits beschrieben) und eine Positionsbeschreibung des Objekts angegeben. Eine solche Positionsbeschreibung kann beispielsweise als eine Beschreibung einer Kontur oder eines Außenumrisses des Objekts oder einer Annäherung eines solchen Außenumrisses angegeben sein. Besonders vorteilhaft ist eine Positionsbeschreibung als Bounding-Box, deren Position in der jeweiligen Abbildung, beispielsweise in dem Einzelbild einer Videosequenz, angegeben ist.According to a further development, an object type of the object (as already described) and a position description of the object are specified by the respective label data record (ground truth). Such a position description may be specified, for example, as a description of a contour or an external outline of the object or an approximation of such an external outline. A position description as a bounding box is particularly advantageous, the position of which is indicated in the respective image, for example in the individual image of a video sequence.

In der beschriebenen Weise kann hierbei gemäß einer Weiterentwicklung nur zu einigen der Trainingsdatensätze ein jeweiliger Labeldatensatz als vorgegebener Labeldatensatz verfügbar sein oder empfangen werden, also ein jeweiliger Labeldatensatz, wie er also beispielsweise manuell durch eine Bedienperson angefertigt worden sein kann. Somit sind nicht alle Trainingsdatensätze mit vorgegebenen Labeldatensätzen versorgt oder vorgegeben. Insbesondere ist zwischen solchen Trainingsdatensätzen mit vorgegebenem Labeldatensatz jeweils zumindest ein Trainingsdatensatz ohne Labeldatensatz vorhanden. Zu zumindest einem solchen in der Sequenz vorangehenden und/oder zumindest einem in der Sequenz nachfolgenden Trainingsdatensatz, insbesondere unmittelbar vorangehenden oder nachfolgenden Trainingsdatensätzen, wird ein jeweiliger selbst generierter Labeldatensatz erzeugt, der dann zu diesem Trainingsdatensatz gehört. Mit „selbst generiert“ ist gemeint, dass er automatisiert im Rahmen des Verfahrens erzeugt wird. Dies geschieht, indem in der Sequenz der Trainingsdatensätze eine Position des Objekts mittels einer Trackingfunktion über diese Sequenz hinweg verfolgt wird. Eine solche Trackingfunktion kann dabei durch die Positionsbeschreibungen aus den vorgegebenen Labeldatensätzen konfiguriert oder gestützt oder parametriert werden. Mit anderen Worten kann anhand der Positionsbeschreibungen aus den vorgegebenen Labeldatensätzen eine Bewegungsfunktion oder ein Tracking-Pfad des Objekts beispielsweise auf Grundlage einer Interpolation der Positionsbeschreibung mittels einer linearen oder einer quadratischen oder einer Polynomfunktion berechnet werden. Der jeweilige selbst generierte Labeldatensatz wird aus zumindest einem vorgegebenen Labeldatensatz und diesen Trackingdaten der Trackingfunktion erzeugt. Über die Sequenz der Abbildungen hinweg wird also durch die Trackingfunktion ein Bewegungspfad oder eine Positionsbeschreibung interpoliert.In the manner described, according to a further development, a respective label data set can be available or received as a predetermined label data set for only some of the training data sets, i.e. a respective label data set, such as may have been prepared manually by an operator, for example. This means that not all training data sets are provided with or predefined label data sets. In particular, at least one training data set without a label data set is present between such training data sets with a given label data set. A respective self-generated label data set is generated for at least one such training data set preceding and/or following in the sequence, in particular immediately preceding or following training data sets, which then belongs to this training data set. “Self-generated” means that it is generated automatically as part of the process. This is done by tracking a position of the object in the sequence of training data sets using a tracking function across this sequence. Such a tracking function can be configured or supported or parameterized by the position descriptions from the specified label data sets. In other words, a movement function or a tracking path of the object can be calculated based on the position descriptions from the predetermined label data sets, for example based on an interpolation of the position description using a linear or a quadratic or a polynomial function. The respective self-generated label data record is generated from at least one predetermined label data record and this tracking data from the tracking function. The tracking function interpolates a movement path or a position description across the sequence of images.

Die Trackingfunktion kann aber noch weiter ausgestaltet werden. Gemäß einer Weiterentwicklung werden durch die Trackingfunktion in der jeweiligen Abbildung vorgegebene charakteristische Merkmale lokalisiert, also deren Position in der Abbildung bestimmt, und in gemäß der Sequenz aufeinanderfolgenden Abbildungen korrespondierende Merkmale einander zugeordnet. Als Merkmal können beispielsweise jeweils eine Kante oder eine Ecke oder eine vorgegebene Textur (beispielsweise Schrägstriche oder Kanten) und/oder monochrome Farbflächen (beispielsweise rote Bereiche oder gelbe Bereiche) detektiert werden. In jeweiligen aufeinanderfolgenden Abbildungen kann dann überprüft werden, wo mittels der Trackingfunktion das jeweilige charakteristische Merkmal ebenfalls aufgefunden wurde.However, the tracking function can be further developed. According to a further development, characteristic features specified in the respective image are localized by the tracking function, i.e. their position in the image is determined, and corresponding features are assigned to one another in images that follow one another according to the sequence. For example, an edge or a corner or a predetermined texture (for example slashes or edges) and/or monochrome color areas (for example red areas or yellow areas) can be detected as a feature. In each successive image, it can then be checked where the respective characteristic feature was also found using the tracking function.

Um diesen Ansatz umzusetzen, sieht eine Weiterentwicklung vor, dass die charakteristischen Merkmale durch einen RANSAC-Algorithmus (Random Sample Consensus) und/oder durch ein siamesisches Netzwerk, einer Variante eines künstlichen neuronalen Netzwerks mit zwei Eingangsschichten, lokalisiert und einander zugeordnet werden. Diese beiden Ansätze haben sich als besonders robust bei der Analyse von Sequenzen aufeinanderfolgender Abbildungen gezeigt.In order to implement this approach, a further development envisages that the characteristic features are localized and assigned to one another using a RANSAC algorithm (Random Sample Consensus) and/or a Siamese network, a variant of an artificial neural network with two input layers. These two approaches have proven to be... shown to be particularly robust when analyzing sequences of consecutive images.

Gemäß einer Weiterentwicklung wird der jeweilige vorgegebene Labeldatensatz dazu genutzt, eine Positionsbeschreibung einer Objektkontur des Objekts, insbesondere der beschriebenen Bounding-Box des Objekts, zu erhalten und durch das Merkmalstracking werden Merkmale aus innerhalb der Objektkontur dazu verwendet, eine Verschiebung der Objektkontur zu erkennen, indem diese Merkmal in der nächsten Abbildung (ohne vorgegebenen Labeldatensatz) wiedergefunden werden. Gemäß der verschobenen Objektkontur wird dann eine Positionsbeschreibung für den jeweiligen selbst generierten Labeldatensatz erzeugt.According to a further development, the respective predetermined label data set is used to obtain a position description of an object contour of the object, in particular the described bounding box of the object, and through feature tracking, features from within the object contour are used to detect a shift in the object contour This feature can be found again in the next figure (without a given label data set). According to the shifted object contour, a position description is then generated for the respective self-generated label data set.

Gemäß einer Weiterentwicklung ist vorgesehen, dass die Trackingfunktion das Merkmalstracking in Zeitverlaufsrichtung der Sequenz durchführt. Zusätzlich kann vorgesehen sein, das Merkmalstracking entgegen der Zeitverlaufsrichtung durchzuführen. Insbesondere ist eine Kombination in zeitlicher Vorwärtsrichtung und Rückwärtsrichtung durchzuführen, um so für einen Trainingsdatensatz ein Tracking von beiden Zeitrichtungen her zu erhalten, was dann zu einem konsistenten Ergebnis führen muss. Liegt eine Abweichung vor, kann beispielsweise der Mittelwert der beiden Trackingergebnisse, also der Mittelwert der Koordinaten aus der Positionsbeschreibung, verwendet werden.According to a further development, the tracking function carries out the feature tracking in the time direction of the sequence. In addition, it can be provided to carry out the feature tracking against the time direction. In particular, a combination in the forward and backward temporal direction is to be carried out in order to obtain tracking from both time directions for a training data set, which must then lead to a consistent result. If there is a deviation, the mean of the two tracking results, i.e. the mean of the coordinates from the position description, can be used, for example.

Für Anwendungsfälle oder Anwendungssituationen, die sich bei dem Verfahren ergeben können und die hier nicht explizit beschrieben sind, kann vorgesehen sein, dass gemäß dem Verfahren eine Fehlermeldung und/oder eine Aufforderung zur Eingabe einer Nutzerrückmeldung ausgegeben und/oder eine Standardeinstellung und/oder ein vorbestimmter Initialzustand eingestellt wird.For use cases or application situations that may arise with the method and that are not explicitly described here, it can be provided that an error message and/or a request to enter user feedback and/or a standard setting and/or a predetermined one can be issued according to the method Initial state is set.

Das trainierte Modell des maschinellen Lernens, also beispielsweise das trainierte künstliche neuronale Netzwerk, kann beim Führen eines Kraftfahrzeugs genutzt werden, beispielsweise um eine automatisierte Fahrfunktion, beispielsweise ein autonomes Fahren oder einen Spurhalteassistenten, zu realisieren. Gemäß einer Weiterentwicklung wird hierzu nach dem Durchführen der Trainingsschritte das dadurch trainierte Modell in einer Prozessorschaltung für Computer-Vision bereitgestellt. Eine solche Prozessorschaltung für Computer-Vision ist mit zumindest einem Umfeldsensor gekoppelt, welcher eine Umgebung oder ein Umfeld der Prozessorschaltung sensorisch erfasst und entsprechende Sensordaten als Abbild des Umfelds oder der Umgebung bereitstellt. Die Prozessorschaltung ist dazu ausgelegt, eine Sequenz aus Abbildungsdatensätzen oder Sensordatensätzen mit Abbildern der Umgebung der Prozessorschaltung zu erzeugen, und durch das trainierte Modell in der Sequenz aus Sensordatensätzen zumindest ein Objekt zu detektieren, das in den Abbildern gezeigt oder abgebildet ist, sich also in der Umgebung befindet, und eine Positionsbeschreibung des Objekts zu signalisieren, das heißt eine Position des Objekts in den Abbildern. Beispielsweise kann hierzu die beschriebene Bounding-Box oder allgemein eine Profilbeschreibung des Objekts, wie es beispielsweise durch semantische Segmentierung vorgesehen ist, bereitzustellen. Wie bei den Trainingsdatensätzen auch, wird also das Modell nun mit Sensordatensätzen einer Sequenz aus Abbildern als Eingabedaten versorgt. Eine solche Sequenz aus Sensordatensätzen kann beispielsweise eine Videosequenz aus Videobildern sein und/oder eine Sequenz aus LiDAR-Datensätzen oder Radar-Datensätzen. Mittels des trainierten Modells kann dann in solchen Sensordatensätzen und insbesondere in einer solchen Sequenz aus aufeinanderfolgenden Sensordatensätzen ein Objekt detektiert und in Bezug auf seine Positionsbeschreibung verfolgt oder getrackt werden, ohne dass ein jeweiliger Labeldatensatz vorgesehen ist oder genutzt wird.The trained machine learning model, for example the trained artificial neural network, can be used when driving a motor vehicle, for example to implement an automated driving function, for example autonomous driving or a lane keeping assistant. According to a further development, after carrying out the training steps, the model trained thereby is made available in a processor circuit for computer vision. Such a processor circuit for computer vision is coupled to at least one environment sensor, which sensorically detects an environment or an environment of the processor circuit and provides corresponding sensor data as an image of the environment or the environment. The processor circuit is designed to generate a sequence of image data sets or sensor data sets with images of the environment of the processor circuit, and to use the trained model to detect at least one object in the sequence of sensor data sets that is shown or depicted in the images, i.e. located in the Environment is located, and to signal a position description of the object, that is, a position of the object in the images. For example, the described bounding box or generally a profile description of the object, as provided for example by semantic segmentation, can be provided. As with the training data sets, the model is now supplied with sensor data sets of a sequence of images as input data. Such a sequence of sensor data sets can be, for example, a video sequence of video images and/or a sequence of LiDAR data sets or radar data sets. By means of the trained model, an object can then be detected in such sensor data sets and in particular in such a sequence of successive sensor data sets and followed or tracked with respect to its position description, without a respective label data set being provided or used.

In Bezug auf die Verwendung in einem Kraftfahrzeug sieht eine Weiterentwicklung vor, dass nach dem Durchführen der Trainingsschritte das dadurch trainierte Modell in ein Kraftfahrzeug übertragen wird und mit zumindest einem Umfeldsensor des Kraftfahrzeugs gekoppelt wird, welcher eine Sequenz von Sensordatensätzen, die Abbildungen von Verkehrsobjekten in einer Umgebung des Kraftfahrzeugs zu aufeinanderfolgenden Zeitpunkten beschreiben, für das Modell bereitstellt und in dem Kraftfahrzeug die Verkehrsobjekte als jeweiliges Objekt durch das Modell detektiert und an eine automatisierte Fahrfunktion des Kraftfahrzeugs signalisiert werden. Es wird also an die automatisierte Fahrfunktion signalisiert, wo in dem jeweiligen Abbild der Umgebung das jeweilige Verkehrsobjekt detektiert wurde, beispielsweise in der beschriebenen Weise als Positionsbeschreibung, wie beispielsweise eine Bounding-Box oder eine semantische Segmentierung. Durch die automatisierte Fahrfunktion wird dann eine bezüglich der signalisierten Verkehrsobjekte kollisionsfreie Fahrtrajektorie berechnet, also eine Bewegungslinie oder ein Fahrweg um diese Verkehrsobjekte herum oder an diesen vorbei. Mittels der berechneten Fahrtrajektorie wird dann das Kraftfahrzeug selbsttätig durch die automatisierte Fahrfunktion geführt, also die automatisierte Fahrfunktion steuert beispielsweise ein Lenksystem und/oder ein Bremssystem und/oder einen Fahrantrieb des Kraftfahrzeugs gemäß der berechneten Fahrtrajektorie an. Die beschriebene Computer-Vision und entsprechend auch die im Kraftfahrzeug vorgesehene Verarbeitung der Sequenz von Sensordatensätzen und die automatisierte Fahrfunktion können jeweils als ein Computerprogramm der jeweiligen Prozessorschaltung implementiert werden. In dem Kraftfahrzeug kann also ebenfalls eine Prozessorschaltung zum Betreiben des trainierten Modells vorgesehen sein.With regard to use in a motor vehicle, a further development provides that after carrying out the training steps, the model trained thereby is transferred to a motor vehicle and is coupled to at least one environment sensor of the motor vehicle, which contains a sequence of sensor data sets, the images of traffic objects in one Describe the environment of the motor vehicle at successive times, provide it for the model and in the motor vehicle the traffic objects are detected as respective objects by the model and signaled to an automated driving function of the motor vehicle. It is therefore signaled to the automated driving function where the respective traffic object was detected in the respective image of the environment, for example in the manner described as a position description, such as a bounding box or a semantic segmentation. The automated driving function then calculates a collision-free travel trajectory with respect to the signalized traffic objects, i.e. a movement line or a route around or past these traffic objects. Using the calculated travel trajectory, the motor vehicle is then automatically guided through the automated driving function, i.e. the automated driving function controls, for example, a steering system and/or a braking system and/or a traction drive of the motor vehicle in accordance with the calculated travel trajectory. The computer vision described and correspondingly also the processing of the sequence of sensor data sets and the automated driving function provided in the motor vehicle can each be used as a computer program respective processor circuit can be implemented. A processor circuit for operating the trained model can also be provided in the motor vehicle.

Um das trainierte Modell herzustellen, umfasst die Erfindung auch ein computerlesbares Speichermedium, das Programminstruktionen aufweist, die bei Ausführen durch eine Prozessorschaltung diese veranlassen, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Das Speichermedium kann z.B. zumindest teilweise als ein nicht-flüchtiger Datenspeicher (z.B. als eine Flash-Speicher und/oder als SSD - solid state drive) und/oder zumindest teilweise als ein flüchtiger Datenspeicher (z.B. als ein RAM - random access memory) bereitgestellt sein. Das Speichermedium kann in der Prozessorschaltung in deren Datenspeicher angeordnet sein. Das Speichermedium kann aber auch beispielsweise als sogenannter Appstore-Server im Internet betrieben sein. Durch den Computer oder Computerverbund kann eine Prozessorschaltung mit zumindest einem Mikroprozessor bereitgestellt sein. Der Programmcode können als Binärcode oder Assembler und/oder als Quellcode einer Programmiersprache (z.B. C) und/oder als Programmskript (z.B. Python) bereitgestellt sein.In order to produce the trained model, the invention also includes a computer-readable storage medium which has program instructions which, when executed by a processor circuit, cause it to carry out an embodiment of the method according to the invention. The storage medium can, for example, be provided at least partially as a non-volatile data storage (e.g. as a flash memory and/or as an SSD - solid state drive) and/or at least partially as a volatile data storage (e.g. as a RAM - random access memory). . The storage medium can be arranged in the processor circuit in its data memory. The storage medium can also be operated on the Internet as a so-called app store server, for example. The computer or computer network can provide a processor circuit with at least one microprocessor. The program code can be provided as binary code or assembler and/or as source code of a programming language (e.g. C) and/or as a program script (e.g. Python).

Auch eine entsprechend eingerichtete Prozessorschaltung, die eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen eingerichtet ist, ist als Bestandteil der Erfindung anzusehen. Die Prozessorschaltung kann hierzu zumindest einen Mikroprozessor und/oder zumindest einen Mikrocontroller und/oder zumindest einen FPGA (Field Programmable Gate Array) und/oder zumindest einen DSP (Digital Signal Processor) aufweisen. Des Weiteren kann die Prozessorschaltung Programmcode aufweisen, der dazu eingerichtet ist, bei Ausführen durch die Prozessorschaltung die Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Programmcode kann in einem Datenspeicher der Prozessorschaltung gespeichert sein. Die Prozessorschaltung der Prozessorschaltung kann z.B. zumindest eine Schaltungsplatine und/oder zumindest ein SoC (System on Chip) aufweisen.A correspondingly set up processor circuit, which is set up to carry out an embodiment of the method according to the invention, is also to be regarded as part of the invention. For this purpose, the processor circuit can have at least one microprocessor and/or at least one microcontroller and/or at least one FPGA (Field Programmable Gate Array) and/or at least one DSP (Digital Signal Processor). Furthermore, the processor circuit can have program code that is designed to carry out the embodiment of the method according to the invention when executed by the processor circuit. The program code can be stored in a data memory of the processor circuit. The processor circuit of the processor circuit can, for example, have at least one circuit board and/or at least one SoC (System on Chip).

Das erfindungsgemäße Kraftfahrzeug ist bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen oder Lastkraftwagen, oder als Personenbus oder Motorrad ausgestaltet.The motor vehicle according to the invention is preferably designed as a motor vehicle, in particular as a passenger car or truck, or as a passenger bus or motorcycle.

Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen. Die Erfindung umfasst also auch Realisierungen, die jeweils eine Kombination der Merkmale mehrerer der beschriebenen Ausführungsformen aufweisen, sofern die Ausführungsformen nicht als sich gegenseitig ausschließend beschrieben wurden.The invention also includes the combinations of the features of the described embodiments. The invention therefore also includes implementations that each have a combination of the features of several of the described embodiments, provided that the embodiments have not been described as mutually exclusive.

Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt:

  • 1 eine schematische Darstellung eines Systems mit einer Prozessorschaltung zum Trainieren eines Modells des maschinellen Lernens und eines Kraftfahrzeugs, welches das trainierte Modell für eine automatisierte Fahrfunktion nutzt; und
  • 2 eine Skizze zur Veranschaulichung einer Teilsequenz aus einer Sequenz von Trainingsdatensätzen.
Examples of embodiments of the invention are described below. This shows:
  • 1 a schematic representation of a system with a processor circuit for training a machine learning model and a motor vehicle that uses the trained model for an automated driving function; and
  • 2 a sketch illustrating a partial sequence from a sequence of training data sets.

Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.The exemplary embodiments explained below are preferred embodiments of the invention. In the exemplary embodiments, the described components of the embodiments each represent individual features of the invention that are to be considered independently of one another and which also further develop the invention independently of one another. Therefore, the disclosure is intended to include combinations of the features of the embodiments other than those shown. Furthermore, the described embodiments can also be supplemented by further features of the invention that have already been described.

In den Figuren bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.In the figures, the same reference numerals designate functionally identical elements.

1 zeigt ein System 10, bei welchem eine Prozessorschaltung 11 ein Modell 12, beispielsweise ein künstliches neuronales Netzwerk, trainieren kann und das fertig trainierte Modell 13 in ein Kraftfahrzeug 14 übertragen werden kann, in welchem das trainierte Modell 13 zum Betreiben einer automatisierten Fahrfunktion 15 des Kraftfahrzeugs 14 in einer Prozessorschaltung 16 des Kraftfahrzeugs 14 betrieben werden kann. 1 shows a system 10 in which a processor circuit 11 can train a model 12, for example an artificial neural network, and the fully trained model 13 can be transferred to a motor vehicle 14, in which the trained model 13 can be operated to operate an automated driving function 15 of the motor vehicle 14 in a processor circuit 16 of the motor vehicle 14.

Mittels der automatisierten Fahrfunktion 15 kann eine Längsführung (Beschleunigen und/oder Bremsen) und/oder eine Querführung (Lenken) des Kraftfahrzeugs 14 automatisiert durch die Fahrfunktion 15 durchgeführt werden. Die Fahrfunktion 15 kann hierzu als ein Programmcode in dem Kraftfahrzeug 14 bereitgestellt sein. Durch die Fahrfunktion 15 können Steuerbefehle 17 für eine Aktuatorik 18 des Kraftfahrzeugs 14 erzeugt werden. Die Aktuatorik 18 kann in der beschriebenen Weise ein Lenksystem für die Querführung und/oder ein Motorsteuergerät für das Steuern eines Fahrantriebs des Kraftfahrzeugs 14 und/oder ein Bremssystem des Kraftfahrzeugs 14 umfassen, die durch die Steuerbefehle 17 von der automatisierten Fahrfunktion 15 aus gesteuert werden können. Mittels der Steuerbefehle 17 kann die Fahrfunktion 15 das Kraftfahrzeug 14 durch eine Umgebung 19 entlang einer Fahrtrajektorie 20 führen, welche durch die Fahrfunktion 15 derart berechnet werden kann, dass Verkehrsobjekte oder allgemein Hindernissen oder Objekte 21 durch das Kraftfahrzeug 14 umfahren oder passiert werden, ohne dass es zu einer Kollision kommt. Hierzu kann durch die Prozessorschaltung 16 mittels des trainierten Modells 13 an die Fahrfunktion 15 eine Positionsbeschreibung 23 des jeweiligen Objekts 21 in der Umgebung 19 signalisiert werden. Hierzu kann in der Umgebung 19 das jeweilige Objekt 21 mittels zumindest eines Umfeldsensors 24, beispielsweise einer Kamera und/oder eines LiDAR und/oder eines Radar, erfasst werden, wozu ein Erfassungsbereich 25 des jeweiligen Umfeldsensors 24 in die Umgebung 19 ausgerichtet sein kann. Mittels des jeweiligen Umfeldsensors 24 kann zyklisch oder periodisch ein jeweiliges Abbild der Umgebung 19 erzeugt und als Sensordatensatz 26 an das trainierte Modell 13 oder die Prozessorschaltung 16 signalisiert werden. Mittels des trainierten Modells kann dann auf Basis einer Computer-Vision das jeweilige Objekt 21 detektiert oder erkannt werden und an die Fahrfunktion 15 signalisiert werden.By means of the automated driving function 15, longitudinal guidance (acceleration and/or braking) and/or transverse guidance (steering) of the motor vehicle 14 can be carried out automatically by the driving function 15. For this purpose, the driving function 15 can be provided as a program code in the motor vehicle 14. The driving function 15 can be used to generate control commands 17 for an actuator system 18 of the motor vehicle 14. In the manner described, the actuator system 18 can include a steering system for lateral guidance and/or an engine control unit for controlling a traction drive of the motor vehicle 14 and/or a braking system of the motor vehicle 14, which can be controlled by the control commands 17 from the automated driving function 15 . Using control commands 17, the driving function 15 can guide the motor vehicle 14 through an environment 19 along a travel trajectory 20, which can be calculated by the driving function 15 in such a way that traffic objects or general obstacles or objects 21 are bypassed or passed by the motor vehicle 14 without causing a Collision is coming. For this purpose, a position description 23 of the respective object 21 in the environment 19 can be signaled to the driving function 15 by the processor circuit 16 using the trained model 13. For this purpose, the respective object 21 can be detected in the environment 19 by means of at least one environment sensor 24, for example a camera and/or a LiDAR and/or a radar, for which purpose a detection area 25 of the respective environment sensor 24 can be aligned in the environment 19. By means of the respective environment sensor 24, a respective image of the environment 19 can be generated cyclically or periodically and signaled as a sensor data set 26 to the trained model 13 or the processor circuit 16. Using the trained model, the respective object 21 can then be detected or recognized based on computer vision and signaled to the driving function 15.

Um das Modell 13 zu trainieren, kann in der Prozessorschaltung 11 in an sich bekannter Weise ein Trainings-Algorithmus 40 vorgesehen sein, der auf dem an sich bekannten Backpropagation-Algorithmus beruhen kann. Der Trainings-Algorithmus 40 kann allgemein eine Kostenfunktion oder Loss-Funktion L vorsehen, der während eines Trainings in einzelnen Trainingsiterationen 41 bewertet oder entscheidet, ob das Modell 12 im Training fertig trainiert ist und als trainiertes Modell 13 beispielsweise im Kraftfahrzeug 14 bereitgestellt werden kann.In order to train the model 13, a training algorithm 40 can be provided in the processor circuit 11 in a manner known per se, which can be based on the backpropagation algorithm known per se. The training algorithm 40 can generally provide a cost function or loss function L, which evaluates or decides during training in individual training iterations 41 whether the model 12 has been fully trained during training and can be provided as a trained model 13, for example in the motor vehicle 14.

Das Modell 12 im Trainingszustand beziehungsweise das trainierte Modell 13 wird im Folgenden zusammenfassend als Modell M bezeichnet, womit lediglich auf dessen Modelltyp Bezug genommen wird, also beispielsweise als Modelltyp ein künstliches neuronales Netzwerk und/oder ein Decision-Tree. Zum Trainieren des Modells M mittels des Trainings-Algorithmus 40 kann eine Sequenz 42 aus Trainingsdatensätzen 43 aus einem Datenspeicher 44 verwenden. Jeder Trainingsdatensatz 43 kann beispielsweise ein einzelnes Abbild einer Umgebung wie der Umgebung 19 darstellen, insbesondere ist in den Abbildern der Trainingsdatensätze 43 ein jeweiliges Objekt 21, wie beispielsweise ein Verkehrsobjekt, dargestellt. Was in dem jeweiligen Trainingsdatensatz 43 abgebildet ist, kann durch einen jeweiligen Labeldatensatz 45 angegeben sein, von denen zumindest einige vorgegebene Labeldatensätze 46 sein können, die beispielsweise durch eine Bedienperson angefertigt worden sein können. Die übrigen Labeldatensätze können als selbst generierte Labeldatensätze 47 vorgesehen sein, die auf Grundlage der Tatsache, dass es sich bei den Trainingsdatensätzen 43 um eine Sequenz 42 aus aufeinanderfolgenden Abbildungen des Objekts handelt, generiert worden sein können.The model 12 in the training state or the trained model 13 is referred to below collectively as model M, which only refers to its model type, for example an artificial neural network and/or a decision tree as a model type. To train the model M using the training algorithm 40, a sequence 42 of training data sets 43 from a data memory 44 can be used. Each training data set 43 can, for example, represent an individual image of an environment such as the environment 19; in particular, a respective object 21, such as a traffic object, is shown in the images of the training data sets 43. What is depicted in the respective training data set 43 can be indicated by a respective label data set 45, at least some of which can be predetermined label data sets 46, which can have been created, for example, by an operator. The remaining label data sets can be provided as self-generated label data sets 47, which can have been generated based on the fact that the training data sets 43 are a sequence 42 of successive images of the object.

Mittels der Trainingsdatensätze 43 können die Trainingsiterationen 41 des Modells M durchgeführt werden, wobei mit jeder Trainingsiteration 41 das Modell M Ausgabevektoren 48, beispielsweise Werte einer Ausgabeschicht, erzeugt. Ein Ausgabevektor kann zusätzlich oder alternativ zu Werten einer Ausgabeschicht auch beispielsweise Zustandswerte zumindest einer Zwischenschicht des Modells M umfassen.Using the training data sets 43, the training iterations 41 of the model M can be carried out, with each training iteration 41 the model M generating output vectors 48, for example values of an output layer. In addition to or as an alternative to values of an output layer, an output vector can also include, for example, state values of at least one intermediate layer of model M.

Durch den Trainings-Algorithmus 40 kann auf Basis der Loss-Funktion L ein Abweichen des jeweiligen Ausgabevektors 48 von dem zugehörigen Labeldatensatz 45 berechnet werden und entsprechende Korrekturdaten 50 zum Anpassen des Modells M in der Trainingsiteration 41 erzeugt werden. Würde man nach diesem Anpassen dieselben Trainingsdatensätze wieder durch das Modell M verarbeiten lassen, um neue Ausgabevektoren 48 zu erzeugen, so würde dies dazu führen, dass gemäß der Loss-Funktion L eine geringere Abweichung der Ausgabevektoren 48 von dem Labeldatensatz 45 jeweils vorliegt. Dies kann in an sich bekannter Weise mittels eines Trainings-Algorithmus 40 auf Basis des Backpropagation-Algorithmus erfolgen.Using the training algorithm 40, a deviation of the respective output vector 48 from the associated label data set 45 can be calculated based on the loss function L and corresponding correction data 50 can be generated for adapting the model M in the training iteration 41. If, after this adjustment, the same training data sets were to be processed again by the model M in order to generate new output vectors 48, this would result in a smaller deviation of the output vectors 48 from the label data set 45 according to the loss function L. This can be done in a manner known per se using a training algorithm 40 based on the backpropagation algorithm.

Ergibt sich für einen vorbestimmten Anteil der Trainingsdatensätze 43, insbesondere für alle Trainingsdatensätze 43, dass eine Abweichung der jeweiligen Ausgabevektoren 48 von dem zugehörigen Trainingsdatensatz kleiner als ein vorbestimmter Schwellenwert ist, so kann das Modell M als trainiertes Modell 13 angesehen werden und der Prozessorschaltung 16 im Kraftfahrzeug 14 bereitgestellt werden, um die beschriebene Computer-Vision für Objekte 21 in der Umgebung 19 des Kraftfahrzeugs 14 durchzuführen und somit die automatisierte Fahrfunktion 15 mit Positionsbeschreibungen 23 der Objekte 21 zu versorgen.If it turns out for a predetermined proportion of the training data sets 43, in particular for all training data sets 43, that a deviation of the respective output vectors 48 from the associated training data set is smaller than a predetermined threshold value, then the model M can be viewed as a trained model 13 and the processor circuit 16 in Motor vehicle 14 are provided in order to carry out the described computer vision for objects 21 in the environment 19 of the motor vehicle 14 and thus to supply the automated driving function 15 with position descriptions 23 of the objects 21.

Die Loss-Funktion L kann bei der Prozessorschaltung 11 im Trainings-Algorithmus 40 zusätzlich zu der an sich bekannten Berechnung der Abweichung der Ausgabevektoren 48 von dem jeweils zugehörigen Labeldatensatz 45 auch vorsehen, dass eine Abweichung der Ausgabevektoren von benachbarten oder in der Sequenz 42 aufeinanderfolgenden Trainingsdatensätzen 43 berücksichtigt wird.In the processor circuit 11 in the training algorithm 40, the loss function L can, in addition to the known calculation of the deviation of the output vectors 48 from the respective associated label data set 45, also provide for a deviation of the output vectors from neighboring training data sets or those following one another in the sequence 42 43 is taken into account.

2 zeigt hierzu, wie für eine Trainingsiteration 41 aus der Sequenz 42 eine Teilsequenz T aus aufeinanderfolgenden Trainingsdatensätzen 43 zugrundegelegt werden kann, also ein sogenanntes Batch-Training ausgeführt werden kann. Dargestellt ist, wie jeder Trainingsdatensatz 43 eine jeweilige Abbildung eines Objekts 51, beispielsweise eines Verkehrsobjekts, abbilden oder darstellen kann. Die einzelnen Trainingsdatensätze 43 mit ihren Abbildungen des Objekts werden im Folgenden anhand eines Indexes i-1, i, i+1 unterschieden. Ein zeitlicher Abstand 52, in welchem die Abbildungen das Objekt 51 zeigen, kann in einem Bereich von zehn Millisekunden bis einer Sekunde liegen. Daher kann davon ausgegangen werden, dass in den einzelnen Trainingsdatensätzen 43 ein Unterschied in der Darstellung des Objekts 51 entsprechend gering ist, insbesondere wenn eine Relativgeschwindigkeit zwischen dem Sensor, der die Abbildlung erzeugt hat, und dem Objekt 51 kleiner als 250 km/h ist, insbesondere kleiner als 100 km/h. 2 shows how a partial sequence T from successive training data sets 43 can be used as a basis for a training iteration 41 from the sequence 42, i.e. a so-called batch training can be carried out. Shown is how each training data set 43 can map or represent a respective image of an object 51, for example a traffic object. The individual training data sets 43 with their images of the object are differentiated below using an index i-1, i, i+1. A time interval 52 in which the images show the object 51 can be in a range from ten milliseconds to one second. It can therefore be assumed that there is a correspondingly small difference in the representation of the object 51 in the individual training data sets 43, in particular if a relative speed between the sensor that generated the image and the object 51 is less than 250 km/h, especially less than 100 km/h.

Des Weiteren ist symbolisiert, wie durch den jeweiligen Labeldatensatz 45 jeweils eine Positionsbeschreibung 55, beispielsweise eine Bounding-Box, angegeben sein kann, welche als vorgegebene Positionsbeschreibung entsprechend der Positionsbeschreibung 23 angeben kann, wo in der Abbildung das Objekt 21 durch das Modell M erkannt oder lokalisiert oder detektiert werden soll.Furthermore, it is symbolized how a position description 55, for example a bounding box, can be specified by the respective label data record 45, which can indicate as a predetermined position description according to the position description 23 where in the illustration the object 21 is recognized by the model M or should be localized or detected.

Die Teilsequenz T, das heißt die entsprechenden Trainingsdatensätze 43, können dem Modell M in der Trainingssequenz oder der Trainingsiteration 41 eingegeben werden als Eingabewerte. Das Modell M kann daraufhin für jeden Trainingsdatensatz 43 einen entsprechenden Ausgabevektor 48 erzeuge oder ausgeben. Die Trainingsdatensätze 43 können jeweils an einer Eingabeschicht des Modells M bereitgestellt werden, von wo sie über zumindest eine Zwischenschicht prozessiert werden, um an der Ausgabeschicht die Ausgabevektoren 48 zu erzeugen, wie dies an sich aus dem Stand der Technik bekannt ist. Die Ausgabevektoren 48 für die dargestellten Trainingsdatensätze i-1, i, i+1 sind hier entsprechend beschrieben als Vi-1, Vi, Vi+1. Zu jedem dieser Ausgabevektoren Vi-1, Vi, Vi+1 (die Anzahl drei an Ausgabevektoren ist nur beispielhaft!) kann jeweils mittels der Loss-Funktion L entsprechend eine Abweichung des Ausgabevektors 48 von dem zugehörigen Labeldatensatz 45 quantisiert werden. Zusätzlich können aber auch die Unterschiede oder Abweichungen der Ausgabevektoren 48 der in der Teilsequenz T aufeinanderfolgenden Trainingsdatensätze 43 quantifiziert werden, also ein Unterschied oder eine Differenz D(Vi-1, Vi) und D(Vi, Vi+1) für die beiden Unterschiede oder Differenzen der „benachbarten“ oder entsprechend zeitlich aufeinanderfolgender Trainingsdatensätze 43. Eine beispielhafte Loss-Funktion, welches einen Unterschied U(Vi, Li) zwischen dem jeweiligen aktuellen Ausgabevektor Vi und dem zugehörigen Labeldatensatz Li beschreibt sowie die Differenz oder den Unterschied zwischen aufeinanderfolgenden Ausgabevektoren ist im Folgenden als Loss-Funktion zu einem Ausgabevektor Vi des Trainingsdatensatzes i dargestellt: L ( Vi ) = U ( Vi , Li ) + D ( Vi , Vi 1 ) + D ( Vi , Vi + i )

Figure DE102022124487A1_0001
The partial sequence T, that is, the corresponding training data sets 43, can be entered into the model M in the training sequence or the training iteration 41 as input values. The model M can then generate or output a corresponding output vector 48 for each training data set 43. The training data sets 43 can each be provided at an input layer of the model M, from where they are processed via at least one intermediate layer in order to generate the output vectors 48 at the output layer, as is known from the prior art. The output vectors 48 for the training data sets i-1, i, i+1 shown are described here accordingly as Vi-1, Vi, Vi+1. For each of these output vectors Vi-1, Vi, Vi+1 (the number of three output vectors is only an example!), a deviation of the output vector 48 from the associated label data set 45 can be quantized using the loss function L. In addition, the differences or deviations of the output vectors 48 of the training data sets 43 successive in the subsequence T can also be quantified, i.e. a difference or a difference D(Vi-1, Vi) and D(Vi, Vi+1) for the two differences or Differences between the “neighboring” or temporally successive training data sets 43. An exemplary loss function, which describes a difference U(Vi, Li) between the respective current output vector Vi and the associated label data set Li as well as the difference or the difference between successive output vectors is in Shown below as a loss function for an output vector Vi of the training data set i: L ( Vi ) = U ( Vi , Li ) + D ( Vi , Vi 1 ) + D ( Vi , Vi + i )
Figure DE102022124487A1_0001

Die Unterschiedsfunktion U kann dem Stand der Technik für den Vergleich oder die Bemessung des Unterschieds zum Labeldatensatz entnommen sein. Die Differenzfunktion D kann beispielsweise eine euklidische Distanz oder ein anderes Distanzmaß zwischen den Ausgabevektoren 48 angeben.The difference function U can be taken from the prior art for the comparison or measurement of the difference to the label data set. The difference function D can, for example, indicate a Euclidean distance or another distance measure between the output vectors 48.

In an sich bekannter Weise können beispielsweise auf Grundlage der Jacobi-Matrix zu der Loss-Funktion L die Korrekturdaten 50 zum Anpassen beispielsweise von Gewichtungswerten eines künstlichen neuronalen Netzwerks des Modells M für die Trainingsiteration 41 berechnet werden und im Modell M eingetragen oder eingestellt werden. Somit ist das Modell M für die nächste Trainingsiteration 41 bereit, das heißt es kann eine weitere Teilsequenz T oder die nächste Teilsequenz T aus der Sequenz 42 gebildet werden und die beschriebene Trainingsiteration erneut durchgeführt werden.In a manner known per se, for example, based on the Jacobi matrix for the loss function L, the correction data 50 for adjusting, for example, weighting values of an artificial neural network of the model M for the training iteration 41 can be calculated and entered or set in the model M. The model M is therefore ready for the next training iteration 41, that is, a further subsequence T or the next subsequence T can be formed from the sequence 42 and the training iteration described can be carried out again.

Insgesamt zeigen die Beispiele, wie ein robustes Training eines Modells des Maschinellen Lernens durch Forcierung eine zeitlichen Konsistenz bereitgestellt werden kann.Overall, the examples show how robust training of a machine learning model can be provided by forcing temporal consistency.

Claims (12)

Verfahren zum Erzeugen eines Modells (12) des Maschinellen Lernens, wobei das Verfahren die folgenden Schritte umfasst: • Bereitstellen einer Sequenz (42) von Abbildungen eines Objekts (21, 51), das von dem Modell (12) detektiert werden soll, wobei die Sequenz (42) der Abbildungen das Objekt (21, 51) zu aufeinanderfolgenden Zeitpunkten darstellt und jede Abbildung als ein Trainingsdatensatz (43) vorgegeben ist, und • zu jedem Trainingsdatensatz (43) Bereitstellen eines jeweiligen Labeldatensatzes (45), wobei der jeweilige Labeldatensatz (45) ein von dem Modell (12) zu erzielendes Detektionsergebnis betreffend das Objekt (21, 51) angibt, • in jeweiligen Trainingsiterationen (41) jeweils: Betreiben des Modells (12) mit mehreren der Trainingsdatensätze (43), die jeweils eine zusammenhängende Teilsequenz (42) der Sequenz (42) darstellen, und hierdurch Erzeugen eines jeweiligen Ausgabevektors (48) zu dem jeweiligen Trainingsdatensatz (43) der Teilsequenz (42), und Anwenden einer Loss-Funktion auf den jeweiligen Ausgabevektor (48), wobei durch die Loss-Funktion zu dem jeweiligen Trainingsdatensatz (43) ein Unterschiedsmaß, das einen Unterschied zwischen dem Ausgabevektor (48) und dem zu dem Trainingsdatensatz (43) gehörigen Labeldatensatz (45) quantifiziert, berechnet wird, und Anpassen des Modells (12) zur Verringerung des Unterschiedsmaßes durch einen Trainingsschritt,dadurch gekennzeichnet, dass durch die Loss-Funktion in dem Unterschiedsmaß zusätzlich zu dem Unterschied zwischen dem jeweiligen Ausgabevektor (48) und dem Labeldatensatz (45) auch ein Unterschied zwischen den jeweiligen Ausgabevektoren (48) von in der Teilsequenz (42) unmittelbar aufeinanderfolgenden Trainingsdatensätzen (43) quantifiziert wird.Method for generating a model (12) of machine learning, the method comprising the following steps: • Providing a sequence (42) of images of an object (21, 51) that is to be detected by the model (12), the Sequence (42) of the images represents the object (21, 51) at successive times and each image is specified as a training data set (43), and • providing a respective label data set (45) for each training data set (43), wherein the respective label data set ( 45) indicates a detection result to be achieved by the model (12) relating to the object (21, 51), • in respective training iterations (41): operating the model (12) with several of the training data sets (43), each of which is a coherent partial sequence (42) of the sequence (42), and thereby generating a respective output vector (48) for the respective training data set (43) of the partial sequence (42), and applying a loss function to the respective output vector (48), whereby the loss -Function for the respective training data set (43), a difference measure that quantifies a difference between the output vector (48) and the label data set (45) belonging to the training data set (43), is calculated, and adapting the model (12) for reducing the difference measure through a training step, characterized in that the loss function in the difference measure also creates a difference between the respective output vectors (48) in the difference measure in addition to the difference between the respective output vector (48) and the label data set (45). Partial sequence (42) is quantified in immediately successive training data sets (43). Verfahren nach Anspruch 1, wobei durch die Loss-Funktion in dem Unterschiedsmaß zum Quantifizieren des Unterschieds zwischen den jeweiligen Ausgabevektoren (48) deren Distanz, insbesondere deren euklidische Distanz, berechnet wird.Procedure according to Claim 1 , whereby the loss function in the difference measure for quantifying the difference between the respective output vectors (48) calculates their distance, in particular their Euclidean distance. Verfahren nach einem der vorhergehenden Ansprüche, wobei durch die Loss-Funktion in dem Unterschiedsmaß zum Quantifizieren des Unterschieds zwischen den jeweiligen Ausgabevektoren (48) paarweise aus unterschiedlichen der Ausgabevektoren (48) ein jeweiliger Differenzwert von einem oder von mehreren in den Ausgabevektoren (48) enthaltenen, korrespondierenden Konfidenzwerten berechnet wird.Method according to one of the preceding claims, wherein a respective difference value of one or more contained in the output vectors (48) is determined by the loss function in the difference measure for quantifying the difference between the respective output vectors (48) in pairs from different ones of the output vectors (48). , corresponding confidence values are calculated. Verfahren nach einem der vorhergehenden Ansprüche, wobei durch den jeweiligen Labeldatensatz (45) ein Objekttyp des Objekts (21, 51) und eine Positionsbeschreibung (23, 55) des Objekts (21, 51) angegeben wird und nur zu einigen Trainingsdatensätzen (43) ein jeweiliger Labeldatensatz (45) als vorgegebener Labeldatensatz (46) empfangen wird und zu zumindest einem in der Sequenz (42) vorangehenden und/oder zu zumindest einem in der Sequenz (42) nachfolgenden Trainingsdatensatz (43) ein jeweiliger selbstgenerierter Labeldatensatz (47) erzeugt wird, indem in der Sequenz (42) der Trainnigsdatensätze eine Position des Objekts (21, 51) mittels einer Trackingfunktion über die Sequenz (42) hinweg verfolgt wird und der jeweils selbstgenerierte Labeldatensatz (47) aus zumindest einem vorgegebenen Labeldatensatz (46) und Trackingdaten der Trackingfunktion erzeugt wird.Method according to one of the preceding claims, wherein an object type of the object (21, 51) and a position description (23, 55) of the object (21, 51) are specified by the respective label data record (45) and only for some training data records (43). respective label data record (45) is received as a predetermined label data record (46) and a respective self-generated label data record (47) is generated for at least one training data record (43) preceding in the sequence (42) and/or for at least one training data record (43) following in the sequence (42). in that in the sequence (42) of the training data sets, a position of the object (21, 51) is tracked across the sequence (42) using a tracking function and the self-generated label data set (47) consists of at least one predetermined label data set (46) and tracking data Tracking function is generated. Verfahren nach Anspruch 4, wobei durch die Trackingfunktion in der jeweiligen Abbildung, die durch den jeweiligen Trainingsdatensatz (43) gegeben ist, vorgegebene charakteristische Merkmale lokalisiert und in gemäß der Sequenz (42) aufeinanderfolgenden Abbildungen korrespondierende Merkmale einander zugeordnet werden.Procedure according to Claim 4 , wherein predetermined characteristic features are localized by the tracking function in the respective image, which is given by the respective training data set (43), and corresponding features are assigned to one another in successive images according to the sequence (42). Verfahren nach Anspruch 4 oder 5, wobei die charakteristischen Merkmale durch einen RANSAC-Algorithmus und/oder durch ein Siamesisches Netzwerk der Trackingfunktion lokalisiert und einander zugeordnet werden.Procedure according to Claim 4 or 5 , whereby the characteristic features are localized and assigned to one another by a RANSAC algorithm and/or by a Siamese network of the tracking function. Verfahren nach einem der Ansprüche 4 bis 6, wobei der jeweilige vorgegebene Labeldatensatz (46) eine Positionsbeschreibung (23, 55) einer Objektkontur des Objekts (21, 51), insbesondere einer Bounding-Box des Objekts (21, 51), umfasst und durch das Merkmalstracking anhand von solchen Merkmalen, die sich innerhalb der Objektkontur befinden, eine Verschiebung der Objektkontur erkannt wird und gemäß der verschobenen Objektkontur eine Positionsbeschreibung (23, 55) für den jeweiligen selbstgenerierten Labeldatensatz (47) erzeugt wird.Procedure according to one of the Claims 4 until 6 , wherein the respective predetermined label data record (46) comprises a position description (23, 55) of an object contour of the object (21, 51), in particular a bounding box of the object (21, 51), and through the feature tracking based on such features are located within the object contour, a shift in the object contour is detected and a position description (23, 55) is generated for the respective self-generated label data record (47) according to the shifted object contour. Verfahren nach einem der Ansprüche 4 bis 7, wobei die Trackingfunktion das Merkmalstracking in Zeitverlaufsrichtung der Sequenz (42) und/oder entgegen der Zeitverlaufsrichtung durchführt.Procedure according to one of the Claims 4 until 7 , wherein the tracking function carries out the feature tracking in the time progression direction of the sequence (42) and/or against the time progression direction. Verfahren nach einem der vorhergehenden Ansprüche, wobei nach dem Durchführen der Trainingsschritte das dadurch trainierte Modell (13) in einer Prozessorschaltung (11) für Computer-Vision bereitgestellt wird, die mit zumindest einem Umfeldsensor gekoppelt und dazu eingerichtet ist, eine Sequenzen (42) aus Sensordatensätzen (26) mit Abbildern einer Umgebung (19) der Prozessorschaltung (11) zu erzeugen, und durch das trainierte Modell (13) in der Sequenzen (42) aus den Sensordatensätzen (26) zumindest ein Objekt (21, 51) zu detektieren und eine Positionsbeschreibung (23, 55) des Objekts (21, 51) zu signalisieren.Method according to one of the preceding claims, wherein after carrying out the training steps, the model (13) trained thereby is provided in a processor circuit (11) for computer vision, which is coupled to at least one environment sensor and is set up to output a sequence (42). to generate sensor data sets (26) with images of an environment (19) of the processor circuit (11), and to detect at least one object (21, 51) by the trained model (13) in the sequences (42) from the sensor data sets (26) and to signal a position description (23, 55) of the object (21, 51). Verfahren nach einem der vorhergehenden Ansprüche, wobei nach dem Durchführen der Trainingsschritte das dadurch trainierte Modell (13) in ein Kraftfahrzeug (14) übertragen wird und mit zumindest einem Umfeldsensor des Kraftfahrzeugs (14) gekoppelt wird, welcher eine Sequenz (42) von Sensordatensätze (26), die Abbildungen von Verkehrsobjekten (21, 51) in einer Umgebung (19) des Kraftfahrzeugs (14) zu aufeinanderfolgenden Zeitpunkten beschreiben, für das Modell (12) bereitstellt, und in dem Kraftfahrzeug (14) die Verkehrsobjekte (21, 51) jeweils als Objekt (21, 51) durch das Modell (12) detektiert und an eine automatisierte Fahrfunktion (15) des Kraftfahrzeugs (14) signalisiert werden, wobei die automatisierte Fahrfunktion (15) eine bezüglich der signalisierten Verkehrsobjekte (21, 51) kollisionsfreie Fahrtrajektorie (20) berechnet und mittels der berechneten Fahrtrajektorie (20) das Kraftfahrzeug (14) selbsttätig führt.Method according to one of the preceding claims, wherein after carrying out the training steps, the model (13) trained thereby is transferred to a motor vehicle (14) and is coupled to at least one environment sensor of the motor vehicle (14), which contains a sequence (42) of sensor data sets ( 26), which describe images of traffic objects (21, 51) in an environment (19) of the motor vehicle (14) at successive times, for the model (12), and in the motor vehicle (14) the traffic objects (21, 51) each detected as an object (21, 51) by the model (12) and signaled to an automated driving function (15) of the motor vehicle (14), the automated driving function (15) having a collision-free travel trajectory with respect to the signaled traffic objects (21, 51). (20) and automatically guides the motor vehicle (14) using the calculated travel trajectory (20). Computerlesbares Speichermedium, aufweisend Programminstruktionen, die bei Ausführen durch eine Prozessorschaltung (11) diese veranlassen, ein Verfahren nach einem der vorhergehenden Ansprüche durchzuführen.Computer-readable storage medium, comprising program instructions which, when executed by a processor circuit (11), cause it to carry out a method according to one of the preceding claims. Prozessorschaltung (11), die dazu eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 10 durchzuführen.Processor circuit (11), which is set up to implement a method according to one of Claims 1 until 10 to carry out.
DE102022124487.3A 2022-09-23 2022-09-23 Method and processor circuit for generating a machine learning model with time-consistent recognition capability and computer-readable storage medium for a processor circuit Pending DE102022124487A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022124487.3A DE102022124487A1 (en) 2022-09-23 2022-09-23 Method and processor circuit for generating a machine learning model with time-consistent recognition capability and computer-readable storage medium for a processor circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022124487.3A DE102022124487A1 (en) 2022-09-23 2022-09-23 Method and processor circuit for generating a machine learning model with time-consistent recognition capability and computer-readable storage medium for a processor circuit

Publications (1)

Publication Number Publication Date
DE102022124487A1 true DE102022124487A1 (en) 2024-03-28

Family

ID=90140281

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022124487.3A Pending DE102022124487A1 (en) 2022-09-23 2022-09-23 Method and processor circuit for generating a machine learning model with time-consistent recognition capability and computer-readable storage medium for a processor circuit

Country Status (1)

Country Link
DE (1) DE102022124487A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110766724A (en) 2019-10-31 2020-02-07 北京市商汤科技开发有限公司 Target tracking network training and tracking method and device, electronic equipment and medium
US20220270366A1 (en) 2018-12-18 2022-08-25 Intel Corporation Bidirectional pairing architecture for object detection in video

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220270366A1 (en) 2018-12-18 2022-08-25 Intel Corporation Bidirectional pairing architecture for object detection in video
CN110766724A (en) 2019-10-31 2020-02-07 北京市商汤科技开发有限公司 Target tracking network training and tracking method and device, electronic equipment and medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HU, Shu [u.a.]: PseudoProp: Robust pseudo-label generation for semi-supervised object detection in autonomous driving systems. Version 1; arXiv:2203.05983v1. 11-03-2022. S. 1-16. URL: https://arxiv.org/pdf/2203.05983v1 [abgerufen am 2022-11-10].
WANG, Y., Hoai, M.: Pulling actions out of context: Explicit separation for effective combination. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018. S. 7044-7053. [online abrufbar über https://openaccess.thecvf.com/content_cvpr_2018/papers/Wang_Pulling_Actions_out_CVPR_2018_paper.pdf]
YAN, Pengxiang [u.a.]: Semi-supervised video salient object detection using pseudo-labels. In: IEEE/CVF International Conference on Computer Vision (ICCV) - 27.10.-02.11.2019 - Seoul, Korea (South), S. 7283-7292. - ISSN 2380-7504. DOI: 10.1109/ICCV.2019.00738. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9008826 [abgerufen am 2022-11-10].

Similar Documents

Publication Publication Date Title
EP3765927B1 (en) Method for generating a training data record for training an artificial intelligence module for a control device of a vehicle
DE102019110217B4 (en) Method for the automated control of a motor vehicle
EP3785177A1 (en) Method and device for determining a network configuration of a neural network
WO2020094534A1 (en) Method for training an artificial neural network, artificial neural network, use of an artificial neural network, corresponding computer program, machine-readable storage medium and corresponding device
DE102017127600A1 (en) Method for automatic parking for a motor vehicle with a driving support system
DE102018132370A1 (en) USING DEEP VIDEO IMAGE GUIDANCE FOR TRAINING A CONTROL OF AN AUTONOMOUS VEHICLE AND METHOD THEREOF
DE102018123896A1 (en) Method for operating an at least partially automated vehicle
EP3782081B1 (en) Method for generating a test data set, method for testing, method for operating a system, device, control system, computer program product, computer readable medium, generation and use
WO2020126339A1 (en) Method and device for operating a machine learning model
DE102018119467B4 (en) METHOD OF PERFORMING AUTONOMOUS OPERATION OF A VEHICLE THROUGH DEEP SPATIAL-TEMPORAL LEARNING
EP3748453A1 (en) Method and device for automatically executing a control function of a vehicle
DE102020200503A1 (en) Method for generating labeled data, in particular for training a neural network, by improving initial labels
DE102022124487A1 (en) Method and processor circuit for generating a machine learning model with time-consistent recognition capability and computer-readable storage medium for a processor circuit
DE102019208234A1 (en) Method and device for automatically executing a control function of a vehicle
DE102019204187A1 (en) Classification and temporal recognition of tactical driving maneuvers by road users
DE102021117227A1 (en) Analyzing a roundabout
EP4049186A1 (en) Method for making a neural network more robust against adversarial disruptions
DE102022131178B3 (en) Method for automated driving of a vehicle and method for generating a machine learning model capable of this, as well as processor circuit and vehicle
DE102019104973A1 (en) Method and control device for a system for controlling a motor vehicle
DE102020208421A1 (en) Method and control device for controlling a motor vehicle
DE102021100940A1 (en) Reconstructing the environment of an environment sensor system
DE102022202718A1 (en) Method for determining optimized basis functions for describing trajectories
DE102021210593A1 (en) Method for training a neural environment network for determining an object-enriched environment of a mobile platform
DE102022214341A1 (en) Method for detecting at least one lane line and/or road marking in at least one digital image representation
DE102022115189A1 (en) Method, processor circuit and computer-readable storage medium for operating pedestrian detection using a processor circuit of a motor vehicle

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication