EP3899798A1 - Method and device for operating a machine learning model - Google Patents

Method and device for operating a machine learning model

Info

Publication number
EP3899798A1
EP3899798A1 EP19809796.6A EP19809796A EP3899798A1 EP 3899798 A1 EP3899798 A1 EP 3899798A1 EP 19809796 A EP19809796 A EP 19809796A EP 3899798 A1 EP3899798 A1 EP 3899798A1
Authority
EP
European Patent Office
Prior art keywords
data
training
machine learning
learning model
subsets
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
EP19809796.6A
Other languages
German (de)
French (fr)
Inventor
Fabian HÜGER
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
Original Assignee
Volkswagen AG
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 filed Critical Volkswagen AG
Publication of EP3899798A1 publication Critical patent/EP3899798A1/en
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the invention relates to a method and a device for operating a
  • Machine learning and deep neural networks are also increasingly being used in vehicles, for example in infotainment systems,
  • Functions of deep learning are used, in which higher-value data, for example in the form of an environment model, object detection, regulation or a driver model, are generated from sensor data recorded using a sensor (e.g. environment sensors, interior monitoring, sensors in or on the vehicle, etc.).
  • a sensor e.g. environment sensors, interior monitoring, sensors in or on the vehicle, etc.
  • Machine learning models and especially deep neural networks are in use, i.e. during an inference phase when running in the vehicle, very computation-intensive.
  • the invention is based on the object of providing a method and a device for operating a machine learning model in which the machine learning model requires less effort, in particular with regard to one required during an inference phase
  • Computing power can be operated.
  • a method for operating a machine learning model comprising the following steps during a training phase:
  • Machine learning model on each stack element of the data stack, the application taking place simultaneously, and deriving an inference result
  • a device for operating a machine learning model comprising a computing device with a memory in which the machine learning model is formed, the computing device being set up to carry out the following steps during a training phase:
  • the training data record comprising data record elements which are generated on the basis of the selected subsets
  • Machine learning model on each stack element of the data stack, the application taking place simultaneously, and deriving an inference result
  • the subsets can be image sections of an image captured by the camera.
  • the image sections have fewer pixels than the original image, so that less input data from both during training and when used
  • Machine learning model must be processed. Therefore, subsets are selected from marked (labeled) multi-dimensional training data. From the selected
  • a training data record is generated for subsets, wherein individual data record elements of the training data record are each generated on the basis of one of the selected subsets. If, for example, five pedestrians are depicted in an image of the camera in the aforementioned example, they can each be cut out of the image as an image section or subset and can be included in the training data record as a data record element.
  • the machine learning model is then trained using the training data set provided. Since the subsets each are less on their own
  • Input dimensions are made smaller, that is, it is compressed. This can reduce the computing power required to use the machine learning model during an inference phase.
  • sensor data are received by at least one sensor. Subsets are also selected from these sensor data.
  • these can again be image sections of an image captured by a camera.
  • a data stack is generated, the data stack each comprising the selected subsets, for example the image sections already described, as stack elements.
  • Training phase of the method trained machine learning model is then applied to each stack element of the data stack. This takes place in parallel or simultaneously, so that the trained machine learning model is applied to a stack element of the data stack.
  • the trained machine learning model is in particular instanced or generated several times. By applying them in parallel, inferred results are available for everyone
  • Inference phase even if the machine learning model is applied to all stacking elements at the same time. As a result, a required computing power can be reduced both in the training phase and in the inference phase.
  • the method and the device can be used in particular in the context of an environment detection on the basis of acquired sensor data or image data of the environment.
  • the method and the device can be used in a vehicle, for example to support an assistance system in automated driving.
  • a vehicle is in particular a motor vehicle, in particular a partially automated or automated motor vehicle.
  • the vehicle can also be another land, air or water vehicle.
  • the method is divided into a training phase in which the machine learning model is trained and an inference phase in which a trained machine learning model is applied to sensor data.
  • the training phase and the inference phase are not carried out using the same device.
  • a machine learning model can be trained on a device by a manufacturer of a vehicle.
  • the machine learning model that has already been trained is then installed in a further device for providing a perception function in an assistance system of the vehicle.
  • the trained machine learning model is used there, for example, to recognize objects in sensed sensor data in an environment of the vehicle. For this purpose, only the inference phase is carried out in the device.
  • Process can be carried out on a single device, for example in one
  • the method is carried out in particular by means of a computing device with a memory.
  • the machine learning model is formed in particular in the memory and the computing device is set up to adapt the weights or parameters etc. of the machine learning model as a function of an inferred result and at least one target function during training.
  • the input data of the machine learning model i.e. the training data and the
  • Sensor data can be images captured by a camera, for example, individual video images. However, input data can also be recorded using other sensors, for example using a radar, light detection and ranging (lidar) or ultrasonic sensor.
  • sensors for example using a radar, light detection and ranging (lidar) or ultrasonic sensor.
  • the machine learning model processes the input data, i.e. training data and
  • Sensor data in particular image data, in a lower resolution than that of one Sensor are provided.
  • the resolution is reduced.
  • a variable resolution of the input data or a fixed resolution can be provided.
  • Neural networks is a resolution of the input data with so-called full
  • Convolutional networks for example, are variable. However, other topologies of deep neural networks require a fixed resolution of the input data. The reduced input data represent the partial quantities in the process.
  • the training data or sensor data provided by the at least one sensor can be reduced in various ways to a resolution processed in the input data by the machine learning model.
  • downsampling can reduce both triggering, e.g. a number of pixels, as well as a number of markings (labels) can be achieved in the training data.
  • segments with a corresponding resolution can be cut out of the training data or the sensor data. If it is, for example, image data, segments with the appropriate resolution, size or number of pixels can be cut out of the image data. It can be provided that the segments are cut out of an image center and / or along a horizon.
  • the individual inferred results of the stacking elements that are output as stacks are then combined or combined into a single result.
  • the subsets represent image sections of an image captured by means of a camera
  • at least the part of the image which was taken into account by selecting the respective subsets can then be reassembled and provided as an overall result, that is to say in particular as a single model prediction become.
  • the combination can be carried out, for example, using appropriate masks, so that the subsets can be inserted at the original position of the sensor data or the image. It can be provided here that the subsets are shifted with respect to one position and / or with respect to one
  • Resolution are scaled to be moved back to an original position and / or to be brought to an original resolution.
  • machine learning model When applying the machine learning model to the data stack, it may happen that individual stack elements overlap with respect to the subsets contained therein, that is to say that the respective subsets have a common intersection.
  • image data used as subsets for example, image sections in an image can overlap with one another.
  • the inferred results delivered for the individual subsets can be combined to form a result for overlapping areas, in particular merged with one another. This can be done in different ways. Provision can be made to offset the overlapping regions with one another, for example by forming an average, a weighted average or locally weighted averages. It can also be provided
  • a suitable mask for summarizing, for example the smallest, largest or an object-specific mask.
  • a decision can also be made on the basis of a confidence measure determined for the respective subset involved or a prediction result. E.g. the most confident or the most common prediction can be used.
  • a distance to a mask or image center and / or a mask or image edge can also be used. Fusion methods learned by machine learning can also be used, for example methods that merge the results based on a context, semantics or training experience.
  • the machine learning model can be any suitable model created by means of machine learning, which can be trained in a training phase on the basis of marked training data and can then be applied to sensor data in an inference phase.
  • suitable machine learning models are support vector machines, neural networks or probabilistic models, for example based on Bayesian networks.
  • the machine learning model is a deep neural network.
  • the selection of the subsets takes place during the training phase and / or during the inference phase on the basis of a relevance of the respective subsets.
  • the training data and the sensor data For example, around image data from a camera, only relevant areas can be taken into account in this image data. In this way, attention can be focused in the input data processed by the machine learning model.
  • a relevance arises, for example, by considering criteria such as security (eg weak road users in the training data and / or in the sensor data) or particularly high-contrast or low-contrast image areas.
  • a list with relevant subsets is created for training data and sensor data and the selection is then made on the basis of the created list, for example by only selecting the most relevant 5, 10, 20, ... subsets .
  • the partial quantities are selected from the training data and / or the received sensor data additionally or alternatively on the basis of a situation-dependent context. If, for example, the training data and the sensor data are image data from a camera, it can be provided that, depending on a situation-dependent context, different ones
  • Image sections can be selected as subsets.
  • the selected subsets can be selected differently when driving on a motorway than when driving around town.
  • lanes running to the left and right of a vehicle are of increased interest since they provide potential alternatives for the vehicle.
  • a bicycle lane for example, may be of increased interest when driving around the city, since there may be a weaker road user on it.
  • the subsets are accordingly selected depending on the situation. In this way, situations that are identified as critical can also be better considered. For example a zebra crossing or a child playing on a road ahead can be taken into account better by selecting these image sections as subsets.
  • a planned route is evaluated as a context or is used to determine a situation-dependent context for at least one current point in time.
  • the route can be queried, for example, by a navigation device of a vehicle.
  • the respective subsets can then be selected.
  • other information can also be taken into account, such as a road condition, current or future weather, weather conditions, traffic jam reports, etc.
  • the selection of the subsets or the generation of the data stack is made dependent on results of the inference phase of a method carried out at an earlier point in time.
  • expected or predicted shifts of relevant subsets in the sensor data can be taken into account. For example, movements and / or perspective
  • At least one confidence measure is determined and / or output for the machine learning model, the at least one confidence measure being determined and / or output separately for at least two selected subsets and / or stacking elements.
  • a confidence measure can be specified separately for each of the subsets or each of the stacking elements.
  • the procedure must be recorded and / or evaluated more precisely.
  • the confidence measure is, in particular, a confidence value with regard to the respective inference result, for example an object class or an object size, etc.
  • a confidence value is an indication of the probability with which the trained machine learning model can determine an object under consideration or the corresponding size.
  • the confidence measure thus defines the correctness of a perception or an inferred result of the trained machine learning model. If, for example, an object class is pedestrians, the confidence value when recognizing a pedestrian indicates that the trained machine learning model can recognize the object "pedestrian" with a probability of, for example, 99%. If the machine learning model is a deep neural network, it can
  • Confidence measure can be determined, for example, by statistical evaluation of inference results when the trained deep neural network is used repeatedly on the same or similar input data. Will with the deep neural network
  • a confidence for the inferred result can be achieved by multi-inference, i.e. by repeatedly applying the deep neural network to the same input data , determine.
  • the multiple inferred results are evaluated using statistical methods and derived from them
  • the data record elements in the training data record are combined into a matrix, the computing operations required for training being carried out on the matrix and / or for using the trained machine learning model, the stack elements in the data stack are combined into a matrix , the necessary for inferring
  • Arithmetic operations are performed on the matrix.
  • matrix is intended to refer in particular to a hypermatrix, that is to say a matrix with more than two indices. Is the training data and sensor data, for example?
  • the selected subsets are also two-dimensional.
  • the two-dimensional data for example image data from an image of a camera.
  • Subsets are then combined into a three-dimensional matrix.
  • the training and the application are then carried out on the three-dimensional matrix.
  • a data resolution at the input of the machine learning model and / or a number of stack elements of the data stack is determined as a function of a computing power available when the trained machine learning model is used and / or a maximum possible latency.
  • a machine learning model can be tailored for an application scenario. For example, a maximum latency of 30 milliseconds is provided for a perception function in a vehicle, since then on the basis of a
  • the machine learning model is designed in such a way that the application falls below the 30 milliseconds during the inference phase.
  • a data resolution for example a number of pixels in image data, and / or a number of stack elements of the data stack can be changed.
  • a data resolution for example a number of pixels in image data, and / or a number of stack elements of the data stack can be changed.
  • a compromise between computing power or computing time and a quantity of processed input data is sought.
  • One embodiment provides that when training the machine learning model, a target function for at least one of the subsets is selected or specified separately.
  • the machine learning model can be trained specifically for certain properties of the subset.
  • loess or cost functions dependent on the image section can be used, for example. The advantage is that this can speed up the training phase.
  • a vehicle comprising at least one device according to one of the described embodiments.
  • a computer program with program code means is created in order to carry out all steps of the method in one of the described embodiments when the program is executed on a computer.
  • a computer program product is created with program code means which are stored on a computer-readable data carrier in order to carry out the method according to one of the described embodiments when the program product is executed on a computer.
  • Fig. 1 is a schematic representation of an embodiment of the device for
  • Fig. 2 is a schematic representation of an embodiment of the device for
  • Fig. 3 is a schematic flow diagram of an embodiment of the method for
  • FIG. 1 shows a schematic representation of an embodiment of the device 1 for operating a machine learning model 6 during a training phase.
  • machine learning model 6 is a deep neural network 4.
  • the device 1 comprises a computing device 2 with a memory 3.
  • the deep neural network 4 is formed in the memory 3, i.e. its structural characteristics and associated weights are stored there.
  • Computing device 2 selects multi-dimensional training data 10. Subsequently, computing device 2 selects subsets 11 from training data 10. For this purpose, the computing device 2 comprises a selection device 5.
  • the selection device 5 selects the subsets 11 based on a relevance 14 of the respective subsets 11. Requirements for the
  • Relevance 14 can be provided to the selection device 5 from the outside, for example.
  • the selection device 5 additionally or alternatively selects the subsets 11 based on a situation-dependent context 15.
  • a current context 15 can be provided to the selection device 5 from the outside, for example.
  • the selection device 5 then provides a training data record 12, the training data record 12 being composed of data record elements 13 which were each generated by the selection device 5 on the basis of the selected subsets 11.
  • the deep neural network 4 is then trained using the training data set 12 compiled in this way.
  • the training is carried out by the computing device 2. It can be provided that at least one confidence measure is determined and / or output for the deep neural network 4 after the training.
  • the confidence measure specifies in particular the probability with which the deep neural network 4 can correctly recognize a specific result after training, for example that the neural network 4 can correctly recognize the object “pedestrian” after training with a probability of 98%.
  • FIG. 2 shows a schematic representation of an embodiment of the device 1 for operating a trained machine learning model 6a during an inference phase, the trained machine learning model 6a being a trained deep neural network 4a.
  • the device 1 can be designed to carry out the inference phase or to use the trained deep neural network 4a, in particular in a vehicle 50.
  • the device 1 comprises a computing device 2 with a memory 3.
  • the trained deep neural network 4a is formed in the memory 3, i.e. its structural characteristics and the weightings determined during the training phase (see FIGS. 1 and 3) are stored there.
  • Computing device 2 multidimensional sensor data 20 of a sensor 52.
  • the sensor 52 is, for example, a top view camera of the vehicle 50, which provides image data in the form of captured images of an environment of the vehicle 50 as sensor data 20.
  • the computing device 2 then selects from the received sensor data 20
  • the computing device 2 comprises a selection device 5.
  • the selection device 5 selects the subsets 21 based on a relevance 14 of the respective subsets 21. Requirements for the
  • Relevance 14 can be provided to the selection device 5 from the outside, for example.
  • the selection device 5 additionally or alternatively selects the subsets 21 on the basis of a situation-dependent context 15.
  • a current context 15 can be provided to the selection device 5 from the outside, for example.
  • the specifications for relevance 14 and / or for the situation-dependent context 15 during the inference phase correspond to the specifications during the training phase.
  • the selection device 5 generates a data stack 22 from the selected subsets 21, the data stack 22 each comprising the selected subsets 21 as stack elements 23.
  • the data stack 22 is fed to the trained deep neural network 4a.
  • the trained deep neural network 4a is then applied to the data stack 22.
  • the computing device 2 uses several instances of the trained depth
  • Neural network 4a generated simultaneously, a number of a number of
  • Computing device 2 simultaneously assigns one of the stack elements 23 to the individual instances of the trained deep neural network 4a.
  • the instances of the trained deep neural network 4a are the instances of the trained deep neural network 4a.
  • Neural networks each deliver an inferred result.
  • the infered results are also provided as a stack or in a summarized form as an inference result 24.
  • the inference result 24 is then output, for example as a digital one
  • the output takes place, for example, using a device provided for this purpose
  • the output inference result 24 can then be processed further, for example by an assistance system 52 of the vehicle 50 as part of an environmental interpretation or for planning a trajectory of the vehicle 50.
  • At least one confidence measure 16 is determined and / or output for the trained deep neural network 4a. It is provided here that the at least one confidence measure 16 is determined and / or output separately for at least two stacking elements 23.
  • a confidence value 16 can be specified for each result inferred for a stack element 23, that is to say in particular an indication of the probability with which the trained deep neural network 4a correctly recognizes the inferred result in each case, that is to say a measure of the correctness or
  • FIG. 3 shows a schematic flow diagram of an embodiment of the method for operating a machine learning model.
  • the machine learning model is a deep neural network. There are two parts to the process
  • Method steps 201 to 204 are carried out. Marked multi-dimensional training data are received in a method step 201. This can be, for example, images of an environment captured by a camera, for example an environment of a vehicle. The illustrations are marked here
  • the images are assigned information about the objects present in the images and / or their size, properties, etc.
  • subsets are selected from the training data.
  • these are image sections from the illustrations. If, for example, an image of a street scene is involved, image sections with pedestrians can be selected as subsets.
  • the subsets or image sections can then be processed further, in particular a resolution or number of pixels can be adapted to an input dimension of the deep neural network.
  • the selection of the subsets takes place during the training phase on the basis of a relevance of the respective subsets.
  • the subsets or image sections can be selected depending on a security-relevant property of the depicted object.
  • weak road users such as Pedestrians are rated as highly relevant and should therefore be considered when selecting the subsets or image sections.
  • Properties of an image itself can also be used to derive relevance. For example, low-contrast and therefore difficult to see image sections can be given high relevance so that they are selected as subsets.
  • a data resolution at the input of the deep neural network is determined as a function of a computing power available when the trained deep neural network is used and / or a maximum possible latency.
  • the available computing power and / or the maximum possible latency are predefined, for example, by hardware of a vehicle.
  • the data resolution is then selected in such a way that the available computing power and / or the maximum possible latency is never fully utilized.
  • a training data record is provided in a method step 203.
  • Training data record comprises data record elements, each of which is selected from the selected
  • Partial quantities are generated. Since a selection has been made, it is no longer necessary to use a complete (especially high-resolution) image for training the deep neural network. Training takes place only with the help of the individual
  • the deep neural network is trained using the training data record.
  • Known methods of machine learning can be used here.
  • a target function can be used specifically for certain subsets or image sections. This can accelerate a training phase.
  • the inference phase 300 can be carried out independently of the training phase 200. For example, it can be provided that the inference phase 300 in a vehicle for Providing an assistant function is carried out. A deep neural network trained according to the training phase 200 is used for this. The trained deep neural network is stored, for example, by a manufacturer of the vehicle in the memory
  • the device as described in FIG. 2 is deposited and can then be used in a subsequent inference phase 300 when the vehicle is delivered to a customer.
  • the inference phase 300 comprises the method steps 301 to 305.
  • sensor data are received from at least one sensor.
  • the sensor data are, for example, an image of an environment of the vehicle captured by means of a camera.
  • subsets are selected from the received sensor data.
  • the subsets are image sections of the illustration.
  • the subsets or image sections can be selected depending on a security-relevant property of an object depicted therein. For example, weak ones
  • the partial quantities are selected from the sensor data on the basis of a situation-dependent context. For example, depending on the current situation, other subsets or image sections can be taken into account when selecting. Areas on lanes of the freeway are particularly relevant on a freeway; traffic lights and pedestrians are generally not to be found there. In city traffic, however, traffic lights, pedestrians and other objects, especially weaker road users, should be given priority when selecting.
  • Inference phase serve as the starting point for the selection. If an inference result shows, for example, that a pedestrian can be seen in an image, the associated image section can also be selected in an image captured at a later time. It can be provided here that the selection of the subsets or
  • Image sections based on salience processes human salience or machine salience, e.g. optical flow, trained salience processes, heat mapping processes in a previous time step, etc.).
  • a data stack is generated.
  • the data stack comprises stack elements which are each generated from the selected subsets.
  • a number of stack elements of the data stack is determined as a function of a computing power available when the trained deep neural network is used and / or a maximum possible latency.
  • the available computing power and / or the maximum possible latency are specified, for example, by a vehicle's hardware.
  • the number of stack elements is then selected such that the available computing power and / or the maximum possible latency is never fully utilized.
  • the trained deep neural network is applied to the data stack.
  • an instance of the trained deep neural network is generated for each stack element and then one of the stack elements is fed to each instance.
  • the individual instances then deliver an inferred result for each stack element, that is to say for each subset or each image section.
  • the inferred results become one
  • the combination can also include, for example, a mask-based generation of a single image from the subsets or the individual inferred results, so that a single image with the associated inferred results can be provided. For example, an image with objects classified therein and associated object positions can be provided in this way.
  • the inference result is output in a method step 305, for example as a digital data packet.
  • the inference result or the digital data packet can then be made available to an assistance system of a vehicle.
  • the method is then ended 400.
  • the inference phase of the method is then repeated, sensor data recorded at a later point in time being evaluated.
  • the machine learning model 6, 6a is a deep neural network 4, 4a.
  • the machine learning model 6 can also be designed differently, for example in the form of a support vector machine or in the form of a probabilistic model.
  • the training phase and the inference phase are then carried out analogously for these machine learning models 6, 6a.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Algebra (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

The invention relates to a method for operating a machine learning model (6, 6a), comprising the following steps during a training phase (200): receiving selected multidimensional training data (10); selecting subsets (11) from the received training data (10); generating a training data set (12), wherein the training data set (12) includes data set elements (13) which are generated on the basis of the selected subsets (11); training the machine learning model (6) by means of the training data set (12); and/or comprising the following steps during an inference phase (300): receiving sensor data (20) of at least one sensor; selecting subsets (21) from the received sensor data (20); generating a data stack (22), wherein the data stack (22) includes the respective selected subsets (21) as stack elements (23); applying the, or a, machine learning model (6a) trained according to the steps of the training phase (200) to every stack element (23) of the data stack (22), wherein the application occurs simultaneously, and deducing an inference result (24); and outputting the inference result (24). The invention also relates to a device (1).

Description

Beschreibung description
Verfahren und Vorrichtung zum Betreiben eines Maschinenlernmodells Method and device for operating a machine learning model
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Betreiben eines The invention relates to a method and a device for operating a
Maschinenlernmodells. Machine learning model.
Maschinenlernen und tiefe Neuronale Netze (engl. Deep Neural Networks) kommen vermehrt auch in Fahrzeugen zum Einsatz, beispielsweise in Infotainmentsystemen, Machine learning and deep neural networks are also increasingly being used in vehicles, for example in infotainment systems,
Fahrerassistenzsystemen, Sicherheitssystemen, bei Komfortfunktionen oder beim Driver assistance systems, safety systems, comfort functions or
teilautomatisierten oder automatisierten Fahren. Hierbei kommen insbesondere auch semi-automated or automated driving. Here come in particular
Funktionen des tiefen Lernens zum Einsatz, bei denen aus mittels eines Sensors erfassten Sensordaten (z.B. Umfeldsensorik, Innenraumüberwachung, Sensoren in oder am Fahrzeug etc.) höherwertige Daten, beispielsweise in Form eines Umfeldmodells, einer Objekterkennung, einer Regelung oder eines Fahrermodells, erzeugt werden. Functions of deep learning are used, in which higher-value data, for example in the form of an environment model, object detection, regulation or a driver model, are generated from sensor data recorded using a sensor (e.g. environment sensors, interior monitoring, sensors in or on the vehicle, etc.).
Maschinenlernmodelle und insbesondere tiefe Neuronale Netze sind während des Anwendens, d.h. während einer Inferenzphase beim Ausführen im Fahrzeug, sehr rechenintensiv. Machine learning models and especially deep neural networks are in use, i.e. during an inference phase when running in the vehicle, very computation-intensive.
Insbesondere im Hinblick auf eine Anwendung im Bereich des automatisierten Fahrens mit hohen Anforderungen an eine Redundanz einer verwendeten Soft- und Hardware gilt es, die für eine Funktion benötigte Rechenleistung zu verringern. Particularly with regard to an application in the field of automated driving with high demands on redundancy of the software and hardware used, it is important to reduce the computing power required for a function.
Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren und eine Vorrichtung zum Betreiben eines Maschinenlernmodells zu schaffen, bei denen das Maschinenlernmodell mit weniger Aufwand, insbesondere im Hinblick auf eine während einer Inferenzphase benötigte The invention is based on the object of providing a method and a device for operating a machine learning model in which the machine learning model requires less effort, in particular with regard to one required during an inference phase
Rechenleistung, betrieben werden kann. Computing power, can be operated.
Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des The object is achieved by a method with the features of
Patentanspruchs 1 und eine Vorrichtung mit den Merkmalen des Patentanspruchs 9 gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen. Claim 1 and a device with the features of claim 9 solved. Advantageous embodiments of the invention result from the subclaims.
Insbesondere wird ein Verfahren zum Betreiben eines Maschinenlernmodells zur Verfügung gestellt, umfassend die folgenden Schritte während einer Trainingsphase: In particular, a method for operating a machine learning model is provided, comprising the following steps during a training phase:
- Empfangen von markierten mehrdimensionalen Trainingsdaten, - receiving marked multi-dimensional training data,
- Auswählen von Teilmengen aus den empfangenen Trainingsdaten, - Erzeugen eines Trainingsdatensatzes, wobei der Trainingsdatensatz Datensatzelemente umfasst, welche auf Grundlage der ausgewählten Teilmengen erzeugt werden, Selection of subsets from the received training data, Generating a training data record, the training data record comprising data record elements which are generated on the basis of the selected subsets,
- Trainieren des Maschinenlernmodells mittels des Trainingsdatensatzes; - Training the machine learning model using the training data set;
und/oder die folgenden Schritte während einer Inferenzphase: and / or the following steps during an inference phase:
- Empfangen von Sensordaten mindestens eines Sensors, Receiving sensor data from at least one sensor,
- Auswählen von Teilmengen aus den empfangenen Sensordaten, Selection of subsets from the received sensor data,
- Erzeugen eines Datenstapels, wobei der Datenstapel als Stapelelemente jeweils die ausgewählten Teilmengen umfasst, Generating a data stack, the data stack each comprising the selected subsets as stack elements,
- Anwenden des oder eines gemäß den Schritten der Trainingsphase trainierten - Apply the or one trained according to the steps of the training phase
Maschinenlernmodells auf jedes Stapelelement des Datenstapels, wobei das Anwenden zeitgleich erfolgt, und Ableiten eines Inferenzergebnisses, Machine learning model on each stack element of the data stack, the application taking place simultaneously, and deriving an inference result,
- Ausgeben des Inferenzergebnisses. - Output of the inference result.
Ferner wird eine Vorrichtung zum Betreiben eines Maschinenlernmodells geschaffen, umfassend eine Recheneinrichtung mit einem Speicher, in dem das Maschinenlernmodell ausgebildet ist, wobei die Recheneinrichtung dazu eingerichtet ist, die folgenden Schritte während einer Trainingsphase durchzuführen: Furthermore, a device for operating a machine learning model is created, comprising a computing device with a memory in which the machine learning model is formed, the computing device being set up to carry out the following steps during a training phase:
- Empfangen von markierten mehrdimensionalen Trainingsdaten, - receiving marked multi-dimensional training data,
- Auswählen von Teilmengen aus den Trainingsdaten, - selection of subsets from the training data,
- Erzeugen eines Trainingsdatensatzes, wobei der Trainingsdatensatz Datensatzelemente umfasst, welche auf Grundlage der ausgewählten Teilmengen erzeugt werden, Generating a training data record, the training data record comprising data record elements which are generated on the basis of the selected subsets,
- Trainieren des Maschinenlernmodells mittels des Trainingsdatensatzes; - Training the machine learning model using the training data set;
und/oder die folgenden Schritte während einer Inferenzphase durchzuführen: and / or perform the following steps during an inference phase:
- Empfangen von Sensordaten mindestens eines Sensors, Receiving sensor data from at least one sensor,
- Auswählen von Teilmengen aus den empfangenen Sensordaten, Selection of subsets from the received sensor data,
- Erzeugen eines Datenstapels, wobei der Datenstapel als Stapelelemente jeweils die ausgewählten Teilmengen umfasst, Generating a data stack, the data stack each comprising the selected subsets as stack elements,
- Anwenden des oder eines gemäß den Schritten der Trainingsphase trainierten - Apply the or one trained according to the steps of the training phase
Maschinenlernmodells auf jedes Stapelelement des Datenstapels, wobei das Anwenden zeitgleich erfolgt, und Ableiten eines Inferenzergebnisses, Machine learning model on each stack element of the data stack, the application taking place simultaneously, and deriving an inference result,
- Ausgeben des Inferenzergebnisses. - Output of the inference result.
Es ist einer der Grundgedanken der Erfindung, Eingangsdaten eines Maschinenlernmodells sowohl beim Trainieren als auch in der Inferenzphase beim Anwenden des It is one of the basic ideas of the invention to input data of a machine learning model both during training and in the inference phase when using the
Maschinenlernmodells in kleinere Teilmengen zu zerlegen. Handelt es sich beispielsweise bei den als Eingangsdaten verwendeten Trainingsdaten und den Sensordaten um Bilddaten einer Kamera, so können die Teilmengen Bildausschnitte einer von der Kamera erfassten Abbildung sein. Die Bildausschnitte weisen weniger Pixel als die ursprüngliche Abbildung auf, sodass sowohl beim Trainieren als auch beim Anwenden weniger Eingangsdaten von dem To break down the machine learning model into smaller subsets. For example, if the training data used as input data and the sensor data are image data of one Camera, the subsets can be image sections of an image captured by the camera. The image sections have fewer pixels than the original image, so that less input data from both during training and when used
Maschinenlernmodell verarbeitet werden müssen. Daher werden aus markierten (gelabelten) mehrdimensionalen Trainingsdaten Teilmengen ausgewählt. Aus den ausgewählten Machine learning model must be processed. Therefore, subsets are selected from marked (labeled) multi-dimensional training data. From the selected
Teilmengen wird ein Trainingsdatensatz erzeugt, wobei einzelne Datensatzelemente des Trainingsdatensatzes jeweils auf Grundlage einer der ausgewählten Teilmengen erzeugt werden. Sind beispielsweise im vorgenannten Beispiel fünf Fußgänger in einer Abbildung der Kamera abgebildet, so können diese jeweils als Bildausschnitt bzw. Teilmenge aus der Abbildung ausgeschnitten und jeweils als Datensatzelement in den Trainingsdatensatz aufgenommen werden. Anschließend wird das Maschinenlernmodell mittels des bereitgestellten Trainingsdatensatzes trainiert. Da die Teilmengen jede für sich genommen weniger A training data record is generated for subsets, wherein individual data record elements of the training data record are each generated on the basis of one of the selected subsets. If, for example, five pedestrians are depicted in an image of the camera in the aforementioned example, they can each be cut out of the image as an image section or subset and can be included in the training data record as a data record element. The machine learning model is then trained using the training data set provided. Since the subsets each are less on their own
umfangreich ausgebildet sind, kann das Maschinenlernmodell hinsichtlich seiner are extensively trained, the machine learning model with regard to its
Eingangsdimensionen kleiner ausgebildet werden, das heißt es wird komprimiert. Hierdurch kann eine zum Anwenden des Maschinenlernmodells während einer Inferenzphase benötigte Rechenleistung reduziert werden. In der Inferenzphase werden von mindestens einem Sensor Sensordaten empfangen. Aus diesen Sensordaten werden ebenfalls Teilmengen ausgewählt.Input dimensions are made smaller, that is, it is compressed. This can reduce the computing power required to use the machine learning model during an inference phase. In the inference phase, sensor data are received by at least one sensor. Subsets are also selected from these sensor data.
Im beschriebenen Beispiel können dies wieder Bildausschnitte einer mittels einer Kamera erfassten Abbildung sein. Nach dem Auswählen wird ein Datenstapel erzeugt, wobei der Datenstapel als Stapelelemente jeweils die ausgewählten Teilmengen, beispielsweise jeweils die bereits beschriebenen Bildausschnitte, umfasst. Ein gemäß den Schritten der In the example described, these can again be image sections of an image captured by a camera. After selection, a data stack is generated, the data stack each comprising the selected subsets, for example the image sections already described, as stack elements. One according to the steps of
Trainingsphase des Verfahrens trainiertes Maschinenlernmodell wird anschließend auf jedes Stapelelement des Datenstapels angewendet. Dies erfolgt parallel bzw. zeitgleich, sodass das trainierte Maschinenlernmodell jeweils auf ein Stapelelement des Datenstapels angewendet wird. Hierzu wird das trainierte Maschinenlernmodell insbesondere mehrmals instanziert bzw. erzeugt. Durch das parallele Anwenden stehen jeweils inferierte Ergebnisse für alle Training phase of the method trained machine learning model is then applied to each stack element of the data stack. This takes place in parallel or simultaneously, so that the trained machine learning model is applied to a stack element of the data stack. For this purpose, the trained machine learning model is in particular instanced or generated several times. By applying them in parallel, inferred results are available for everyone
Stapelelemente gleichzeitig zur Verfügung. Nach dem Anwenden des Maschinenlernmodells wird das sich aus den inferierten Ergebnissen zusammensetzende Inferenzergebnis ausgegeben. Da das trainierte Maschinenlernmodell hinsichtlich einer Eingangsdimension weniger komplex ausgebildet ist, reduziert sich die benötigte Rechenleistung in der Stacking elements available at the same time. After applying the machine learning model, the inference result made up of the infered results is output. Since the trained machine learning model is less complex in terms of an input dimension, the computing power required in the is reduced
Inferenzphase, selbst wenn das Maschinenlernmodell zeitgleich auf alle Stapelelemente angewendet wird. Im Ergebnis kann daher eine benötigte Rechenleistung sowohl in der Trainingsphase als auch in der Inferenzphase reduziert werden. Inference phase, even if the machine learning model is applied to all stacking elements at the same time. As a result, a required computing power can be reduced both in the training phase and in the inference phase.
Das Verfahren und die Vorrichtung können insbesondere im Rahmen einer Umfelderkennung auf Grundlage von erfassten Sensordaten bzw. Bilddaten des Umfelds angewendet werden. Insbesondere können das Verfahren und die Vorrichtung in einem Fahrzeug eingesetzt werden, beispielsweise zum Unterstützen eines Assistenzsystems beim automatisierten Fahren. The method and the device can be used in particular in the context of an environment detection on the basis of acquired sensor data or image data of the environment. In particular, the method and the device can be used in a vehicle, for example to support an assistance system in automated driving.
Ein Fahrzeug ist insbesondere ein Kraftfahrzeug, insbesondere ein teilautomatisiert oder automatisiert gefahrenes Kraftfahrzeug. Das Fahrzeug kann prinzipiell aber auch ein anderes Land-, Luft- oder Wasserfahrzeug sein. A vehicle is in particular a motor vehicle, in particular a partially automated or automated motor vehicle. In principle, however, the vehicle can also be another land, air or water vehicle.
Das Verfahren ist unterteilt in eine Trainingsphase, in der das Maschinenlernmodell trainiert wird, und eine Inferenzphase, in der ein trainiertes Maschinenlernmodell auf Sensordaten angewandt wird. Es kann insbesondere vorgesehen sein, dass die Trainingsphase und die Inferenzphase nicht mittels derselben Vorrichtung durchgeführt werden. Beispielsweise kann ein Maschinenlernmodell bei einem Hersteller eines Fahrzeugs auf einer Vorrichtung trainiert werden. Das bereits trainierte Maschinenlernmodell wird anschließend in einer weiteren Vorrichtung zum Bereitstellen einer Wahrnehmungsfunktion in einem Assistenzsystem des Fahrzeugs verbaut. Dort kommt das trainierte Maschinenlernmodell zur Anwendung, um beispielsweise Objekte in erfassten Sensordaten in einem Umfeld des Fahrzeugs zu erkennen. Hierzu wird lediglich die Inferenzphase in der Vorrichtung ausgeführt. The method is divided into a training phase in which the machine learning model is trained and an inference phase in which a trained machine learning model is applied to sensor data. In particular, it can be provided that the training phase and the inference phase are not carried out using the same device. For example, a machine learning model can be trained on a device by a manufacturer of a vehicle. The machine learning model that has already been trained is then installed in a further device for providing a perception function in an assistance system of the vehicle. The trained machine learning model is used there, for example, to recognize objects in sensed sensor data in an environment of the vehicle. For this purpose, only the inference phase is carried out in the device.
Es kann jedoch alternativ oder zusätzlich auch vorgesehen sein, dass beide Teile des However, it can alternatively or additionally also be provided that both parts of the
Verfahrens auf einer einzigen Vorrichtung ausgeführt werden, beispielsweise in einem Process can be carried out on a single device, for example in one
Fahrzeug. Vehicle.
Das Verfahren wird insbesondere mittels einer Recheneinrichtung mit einem Speicher ausgeführt. Hierbei ist das Maschinenlernmodell insbesondere in dem Speicher ausgebildet und die Recheneinrichtung ist dazu eingerichtet, beim Trainieren die Gewichte bzw. Parameter etc. des Maschinenlernmodells in Abhängigkeit eines inferierten Ergebnisses und mindestens einer Zielfunktion anzupassen. The method is carried out in particular by means of a computing device with a memory. Here, the machine learning model is formed in particular in the memory and the computing device is set up to adapt the weights or parameters etc. of the machine learning model as a function of an inferred result and at least one target function during training.
Die Eingangsdaten des Maschinenlernmodells, das heißt die Trainingsdaten und die The input data of the machine learning model, i.e. the training data and the
Sensordaten können beispielsweise mittels einer Kamera erfasste Abbildungen sein, beispielsweise einzelne Videobilder. Eingangsdaten können jedoch auch mittels anderer Sensoren erfasst werden, beispielsweise mittels eines Radar-, Light Detection and Ranging (Lidar)- oder Ultraschallsensors. Sensor data can be images captured by a camera, for example, individual video images. However, input data can also be recorded using other sensors, for example using a radar, light detection and ranging (lidar) or ultrasonic sensor.
Das Maschinenlernmodell verarbeitet die Eingangsdaten, das heißt Trainingsdaten und The machine learning model processes the input data, i.e. training data and
Sensordaten, insbesondere Bilddaten, in einer geringeren Auflösung als diese von einem Sensor bereitgestellt werden. Insbesondere ist vorgesehen, dass eine Reduktion der Auflösung vorgenommen wird. Je nach Art des verwendeten Maschinenlernmodells kann eine variable Auflösung der Eingangsdaten oder eine feste Auflösung vorgesehen sein. Bei tiefen Sensor data, in particular image data, in a lower resolution than that of one Sensor are provided. In particular, it is provided that the resolution is reduced. Depending on the type of machine learning model used, a variable resolution of the input data or a fixed resolution can be provided. At deep
Neuronalen Netzen ist eine Auflösung der Eingangsdaten bei sogenannten vollen Neural networks is a resolution of the input data with so-called full
Faltungsnetzen (engl fully convolutional networks) beispielsweise variabel. Andere Topologien von tiefen Neuronalen Netzen erfordern hingegen eine fest Auflösung der Eingangsdaten. Die reduzierten Eingangsdaten stellen jeweils die Teilmengen im Verfahren dar. Convolutional networks, for example, are variable. However, other topologies of deep neural networks require a fixed resolution of the input data. The reduced input data represent the partial quantities in the process.
Beim Trainieren und beim Anwenden des Maschinenlernmodells können die von dem mindestens einen Sensor bereitgestellten Trainingsdaten oder Sensordaten auf verschiedene Weise auf eine von dem Maschinenlernmodell in den Eingangsdaten verarbeitete Auflösung reduziert werden. When training and using the machine learning model, the training data or sensor data provided by the at least one sensor can be reduced in various ways to a resolution processed in the input data by the machine learning model.
Beispielsweise kann mittels Downsamplings eine Reduktion sowohl einer Auslösung, z.B. einer Pixelanzahl, als auch einer Anzahl von Markierungen (Label) in den Trainingsdaten erreicht werden. For example, downsampling can reduce both triggering, e.g. a number of pixels, as well as a number of markings (labels) can be achieved in the training data.
Ferner können Segmente mit einer entsprechenden Auflösung aus den Trainingsdaten oder den Sensordaten ausgeschnitten werden. Handelt es sich beispielsweise um Bilddaten, so können Segmente mit der entsprechenden Auflösung, Größe bzw. Pixelanzahl aus den Bilddaten ausgeschnitten werden. Hierbei kann vorgesehen sein, die Segmente aus einem Bildzentrum und/oder entlang eines Horizonts auszuschneiden. Furthermore, segments with a corresponding resolution can be cut out of the training data or the sensor data. If it is, for example, image data, segments with the appropriate resolution, size or number of pixels can be cut out of the image data. It can be provided that the segments are cut out of an image center and / or along a horizon.
Es ist insbesondere vorgesehen, dass die einzelnen als Stapel ausgegebenen inferierten Ergebnisse der Stapelelemente anschließend zu einem einzigen Ergebnis zusammengefasst bzw. zusammengeführt werden. Im Beispiel, in dem die Teilmengen Bildausschnitte einer mittels einer Kamera erfassten Abbildung darstellen, kann im Anschluss daher zumindest der Teil der Abbildung, welcher durch Auswahl der jeweiligen Teilmengen berücksichtigt wurde, wieder zusammengesetzt und als Gesamtergebnis, das heißt insbesondere als eine einzige Modellvorhersage, bereitgestellt werden. Das Zusammenfassen kann beispielsweise mittels entsprechender Masken erfolgen, sodass die Teilmengen an die jeweils ursprüngliche Position der Sensordaten bzw. der Abbildung eingefügt werden können. Hierbei kann vorgesehen sein, dass die Teilmengen hinsichtlich einer Position verschoben und/oder hinsichtlich einer In particular, it is provided that the individual inferred results of the stacking elements that are output as stacks are then combined or combined into a single result. In the example in which the subsets represent image sections of an image captured by means of a camera, at least the part of the image which was taken into account by selecting the respective subsets can then be reassembled and provided as an overall result, that is to say in particular as a single model prediction become. The combination can be carried out, for example, using appropriate masks, so that the subsets can be inserted at the original position of the sensor data or the image. It can be provided here that the subsets are shifted with respect to one position and / or with respect to one
Auflösung skaliert werden, um wieder an eine ursprüngliche Position verschoben und/oder auf eine ursprünglich Auflösung gebracht zu werden. Es kann beim Anwenden des Maschinenlernmodells auf den Datenstapel Vorkommen, dass einzelne Stapelelemente in Bezug auf die darin enthaltenen Teilmengen miteinander überlappen, das heißt dass die jeweiligen Teilmengen eine gemeinsame Schnittmenge aufweisen. Im Beispiel der als Teilmengen verwendeten Bilddaten können beispielsweise Bildausschnitte in einer Abbildung miteinander überlappen. Die jeweils für die einzelnen Teilmengen gelieferten inferierten Ergebnisse können für überlappende Bereiche zu einem Ergebnis zusammengefasst, insbesondere miteinander fusioniert werden. Dies kann auf verschiedene Weise erfolgen. Es kann vorgesehen sein, die überlappenden Bereiche miteinander zu verrechnen, beispielsweise indem ein Durchschnitt, ein gewichteter Durchschnitt oder lokal gewichtete Durchschnitte gebildet werden. Es kann auch vorgesehen sein, Resolution are scaled to be moved back to an original position and / or to be brought to an original resolution. When applying the machine learning model to the data stack, it may happen that individual stack elements overlap with respect to the subsets contained therein, that is to say that the respective subsets have a common intersection. In the example of the image data used as subsets, for example, image sections in an image can overlap with one another. The inferred results delivered for the individual subsets can be combined to form a result for overlapping areas, in particular merged with one another. This can be done in different ways. Provision can be made to offset the overlapping regions with one another, for example by forming an average, a weighted average or locally weighted averages. It can also be provided
Entscheidungsverfahren anzuwenden, um eine geeignete Maske zum Zusammenfassen zu verwenden, beispielsweise die kleinste, größte oder eine objektspezifische Maske. Ferner kann auch eine Entscheidung auf Grundlage eines für die jeweils beteiligte Teilmenge ermittelten Konfidenzmaßes oder eines Vorhersageergebnisses erfolgen. Z.B. kann die konfidenteste oder die häufigste Vorhersage verwendet werden. Weiter kann auch eine Entfernung zu einer Masken- bzw. Bildmitte und/oder einem Masken- oder Bildrand verwendet werden. Auch mittels Maschinenlernen angelernte Fusionsverfahren können verwendet werden, beispielsweise Verfahren, die auf Grundlage eines Kontextes, einer Semantik oder einer Trainingserfahrung eine Fusion der Ergebnisse vornehmen. Use decision-making procedures to use a suitable mask for summarizing, for example the smallest, largest or an object-specific mask. Furthermore, a decision can also be made on the basis of a confidence measure determined for the respective subset involved or a prediction result. E.g. the most confident or the most common prediction can be used. A distance to a mask or image center and / or a mask or image edge can also be used. Fusion methods learned by machine learning can also be used, for example methods that merge the results based on a context, semantics or training experience.
Es kann ferner vorgesehen sein, gleichermaßen vom Maschinenlernmodell inferierte It can also be provided, equally inferred from the machine learning model
Metadaten, wie beispielsweise ein zugehöriges Konfidenzmaß und/oder eine zugehörige Robustheit miteinander zu fusionieren. To merge metadata, such as an associated confidence measure and / or an associated robustness.
Das Maschinenlernmodell kann prinzipiell jedes geeignete mittels maschinellen Lernens erstellte Modell sein, das in einer Trainingsphase auf Grundlage von markierten Trainingsdaten trainiert werden und anschließend in einer Inferenzphase auf Sensordaten angewendet werden kann. Beispiele für geeignete Maschinenlernmodelle sind Support Vector Machines, Neuronale Netze oder probabilistische Modelle, beispielsweise auf Grundlage von Bayesschen Netzen. In principle, the machine learning model can be any suitable model created by means of machine learning, which can be trained in a training phase on the basis of marked training data and can then be applied to sensor data in an inference phase. Examples of suitable machine learning models are support vector machines, neural networks or probabilistic models, for example based on Bayesian networks.
In einer bevorzugten Ausführungsform ist vorgesehen, dass das Maschinenlernmodell ein tiefes Neuronales Netz ist. In a preferred embodiment it is provided that the machine learning model is a deep neural network.
In einer Ausführungsform ist vorgesehen, dass das Auswahlen der Teilmengen während der Trainingsphase und/oder während der Inferenzphase auf Grundlage einer Relevanz der jeweiligen Teilmengen erfolgt. Handelt es sich bei den Trainingsdaten und den Sensordaten beispielsweise um Bilddaten einer Kamera, so können lediglich relevante Bereiche in diesen Bilddaten berücksichtigt werden. Es kann hierdurch eine Fokussierung der Aufmerksamkeit in den vom Maschinenlernmodell verarbeiteten Eingangsdaten erfolgen. Eine Relevanz ergibt sich beispielsweise durch Berücksichtigung von Kriterien wie einer Sicherheit (z.B. schwache Verkehrsteilnehmer in den Trainingsdaten und/oder in den Sensordaten) oder besonders kontrastreicher oder kontrastarmer Bildbereiche. In one embodiment it is provided that the selection of the subsets takes place during the training phase and / or during the inference phase on the basis of a relevance of the respective subsets. Is it the training data and the sensor data For example, around image data from a camera, only relevant areas can be taken into account in this image data. In this way, attention can be focused in the input data processed by the machine learning model. A relevance arises, for example, by considering criteria such as security (eg weak road users in the training data and / or in the sensor data) or particularly high-contrast or low-contrast image areas.
Es kann ferner vorgesehen sein, dass eine Relevanz von Teilmengen anhand einer zeitlich vorgelagerten Auswertung ermittelt wird. Werden beispielsweise regelmäßig Sensordaten erfasst, beispielsweise Abbildungen eines Umfelds mittels einer Kamera, so kann vorgesehen sein, dass eine Relevanz von Teilmengen, im Beispiel eine Relevanz einzelner Bildausschnitte, auf Grundlage einer in einem vorherigen Zeitschnitt erfassten und ausgewerteten Abbildung erfolgt. Wurde in einer zeitlich vorgelagerten Abbildung beispielsweise ein schwacher Provision can furthermore be made for the relevance of subsets to be determined on the basis of an upstream evaluation. If, for example, sensor data is recorded regularly, for example images of an environment by means of a camera, it can be provided that a relevance of partial quantities, in the example a relevance of individual image sections, takes place on the basis of an image captured and evaluated in a previous time segment. For example, if a previous image was a weak one
Verkehrsteilnehmer erkannt, so kann der entsprechende Bildausschnitt mit einer hohen Road users recognized, the corresponding image section with a high
Relevanz markiert werden und in einem aktuellen Zeitschritt aufgrund dieser Markierung als Teilmenge ausgewählt werden. Relevance are marked and selected in a current time step based on this marking as a subset.
Es kann auch vorgesehen sein, dass zu Trainingsdaten und Sensordaten eine Liste mit relevanten Teilmengen, beispielsweise Bildausschnitten, erstellt wird und das Auswählen anschließend auf Grundlage der erstellten Liste erfolgt, beispielsweise indem lediglich die relevantesten 5, 10, 20,... Teilmengen ausgewählt werden. It can also be provided that a list with relevant subsets, for example image sections, is created for training data and sensor data and the selection is then made on the basis of the created list, for example by only selecting the most relevant 5, 10, 20, ... subsets .
In einer weiteren Ausführungsform ist vorgesehen, dass das Auswählen der Teilmengen aus den Trainingsdaten und/oder den empfangenen Sensordaten zusätzlich oder alternativ auf Grundlage eines situationsabhängigen Kontextes erfolgt. Handelt es sich beispielsweise bei den Trainingsdaten und den Sensordaten um Bilddaten einer Kamera, so kann vorgesehen sein, dass in Abhängigkeit eines situationsabhängigen Kontextes unterschiedliche In a further embodiment it is provided that the partial quantities are selected from the training data and / or the received sensor data additionally or alternatively on the basis of a situation-dependent context. If, for example, the training data and the sensor data are image data from a camera, it can be provided that, depending on a situation-dependent context, different ones
Bildausschnitte als Teilmengen ausgewählt werden. So können die ausgewählten Teilmengen beispielsweise bei einer Autobahnfahrt anders gewählt werden als bei einer Stadtfahrt. Auf einer dreispurigen Autobahn sind beispielsweise links und rechts von einem Fahrzeug verlaufende Fahrspuren von erhöhten Interesse, da diese potentielle Ausweichmöglichkeiten für das Fahrzeug bereitstellen. Hingegen kann bei einer Stadtfahrt beispielsweise eine Fahrradspur von erhöhten Interesse sein, da sich auf dieser ein schwächerer Verkehrsteilnehmer befinden kann. Entsprechend erfolgt eine Auswahl der Teilmengen situationsabhängig. Auch als kritisch identifizierte Situationen können hierdurch verbessert berücksichtigt werden. Beispielsweise kann ein Zebrastreifen oder ein auf einer vorausliegenden Fahrbahn spielendes Kind verbessert berücksichtigt werden, indem diese Bildausschnitte als Teilmengen ausgewählt werden. Image sections can be selected as subsets. For example, the selected subsets can be selected differently when driving on a motorway than when driving around town. On a three-lane motorway, for example, lanes running to the left and right of a vehicle are of increased interest since they provide potential alternatives for the vehicle. On the other hand, a bicycle lane, for example, may be of increased interest when driving around the city, since there may be a weaker road user on it. The subsets are accordingly selected depending on the situation. In this way, situations that are identified as critical can also be better considered. For example a zebra crossing or a child playing on a road ahead can be taken into account better by selecting these image sections as subsets.
Es kann ferner vorgesehen sein, dass eine geplante Route als Kontext ausgewertet wird bzw. dazu verwendet wird, einen situationsabhängigen Kontext für zumindest einen aktuellen Zeitpunkt zu bestimmen. Die Route kann beispielsweise von einer Navigationseinrichtung eines Fahrzeugs abgefragt werden. Je nach konkreter Ausgestaltung einzelner, zumindest für einen aktuellen Zeitpunkt relevanter Teilrouten, können anschließend die jeweiligen Teilmengen ausgewählt werden. Hierbei können neben der Route auch weitere Informationen berücksichtigt werden, wie beispielsweise eine Straßenbeschaffenheit, ein aktuelles oder zukünftiges Wetter, eine Witterung, Staumeldungen etc. It can also be provided that a planned route is evaluated as a context or is used to determine a situation-dependent context for at least one current point in time. The route can be queried, for example, by a navigation device of a vehicle. Depending on the specific configuration of individual sub-routes relevant at least for a current point in time, the respective subsets can then be selected. In addition to the route, other information can also be taken into account, such as a road condition, current or future weather, weather conditions, traffic jam reports, etc.
Es kann weiter vorgesehen sein, dass das Auswählen der Teilmengen bzw. das Erzeugen des Datenstapels von Ergebnissen der Inferenzphase eines zu einem früheren Zeitpunkt durchgeführten Verfahrens abhängig gemacht wird. Hierbei können insbesondere erwartete bzw. vorhergesagte Verschiebungen von relevanten Teilmengen in den Sensordaten berücksichtigt werden. Beispielsweise können Bewegungen und/oder perspektivische It can further be provided that the selection of the subsets or the generation of the data stack is made dependent on results of the inference phase of a method carried out at an earlier point in time. In particular, expected or predicted shifts of relevant subsets in the sensor data can be taken into account. For example, movements and / or perspective
Änderungen von Bildausschnitten in zu unterschiedlichen Zeitpunkten erfassten Abbildungen einer Kamera berücksichtigt werden. Auch eine Anwendung von Salienzverfahren ist hierbei möglich (z.B. Optical Flow, trainierte Salienzverfahren, Heatmapping für einen vorhergehenden Zeitpunkt). Changes in image sections in images of a camera captured at different times are taken into account. The use of salience procedures is also possible (e.g. optical flow, trained salience procedures, heat mapping for a previous point in time).
In einer weiteren Ausführungsform ist vorgesehen, dass für das Maschinenlernmodell mindestens ein Konfidenzmaß ermittelt und/oder ausgegeben wird, wobei das mindestens eine Konfidenzmaß für mindestens zwei ausgewählte Teilmengen und/oder Stapelelemente separat ermittelt und/oder ausgeben wird. Auf diese Weise kann für jede der Teilmengen bzw. jedes der Stapelelemente separat ein Konfidenzmaß angegeben werden. Dies ermöglicht beispielsweise das Erstellen von ortsaufgelösten Konfidenzangaben. Auf Grundlage dieser ortsaufgelösten Konfidenzangaben kann beispielsweise entschieden werden, ob bestimmte Bereiche im Umfeld oder bestimmte Teile in den Sensordaten erneut oder in zukünftigen Durchläufen des In a further embodiment it is provided that at least one confidence measure is determined and / or output for the machine learning model, the at least one confidence measure being determined and / or output separately for at least two selected subsets and / or stacking elements. In this way, a confidence measure can be specified separately for each of the subsets or each of the stacking elements. This enables, for example, the creation of spatially resolved confidence information. On the basis of this spatially resolved confidence information, it can be decided, for example, whether certain areas in the environment or certain parts in the sensor data again or in future runs of the
Verfahrens genauer erfasst und/oder ausgewertet werden müssen. Das Konfidenzmaß ist insbesondere ein Konfidenzwert im Hinblick auf das jeweilige Inferenzergebnis, z.B. eine Objektklasse oder eine Objektgröße etc. Insbesondere ist ein solcher Konfidenzwert eine Angabe darüber, mit welcher Wahrscheinlichkeit das trainierte Maschinenlernmodell ein jeweils betrachtetes Objekt oder die entsprechende Größe bestimmen kann. Das Konfidenzmaß definiert also die Richtigkeit einer Wahrnehmung bzw. eines inferierten Ergebnisses des trainierten Maschinenlernmodells. Handelt es sich bei einer Objektklasse beispielsweise um Fußgänger, so gibt der Konfidenzwert beim Erkennen eines Fußgängers an, dass das trainierte Maschinenlernmodell das Objekt„Fußgänger“ mit einer Wahrscheinlichkeit von z.B. 99 % erkennen kann. Ist das Maschinenlernmodell ein tiefes Neuronales Netz, so kann das The procedure must be recorded and / or evaluated more precisely. The confidence measure is, in particular, a confidence value with regard to the respective inference result, for example an object class or an object size, etc. In particular, such a confidence value is an indication of the probability with which the trained machine learning model can determine an object under consideration or the corresponding size. The confidence measure thus defines the correctness of a perception or an inferred result of the trained machine learning model. If, for example, an object class is pedestrians, the confidence value when recognizing a pedestrian indicates that the trained machine learning model can recognize the object "pedestrian" with a probability of, for example, 99%. If the machine learning model is a deep neural network, it can
Konfidenzmaß beispielsweise durch statistisches Auswerten von Inferenzergebnissen bei wiederholtem Anwenden des trainierten tiefen Neuronalen Netzes auf die gleichen oder auf gleichartige Eingangsdaten bestimmt werden. Wird bei dem tiefen Neuronalen Netz Confidence measure can be determined, for example, by statistical evaluation of inference results when the trained deep neural network is used repeatedly on the same or similar input data. Will with the deep neural network
beispielsweise ein Monte-Carlo-Drop-Out-Verfahren umgesetzt, bei dem mit jeder Anwendung einzelne Neuronen zufällig abgeschaltet werden, dann lässt sich eine Konfidenz für das inferierte Ergebnis durch Multiinferenz, das heißt durch das mehrmalige Anwenden des tiefen Neuronalen Netzes auf die gleichen Eingangsdaten, ermitteln. Die mehrfach inferierten Ergebnisse werden hierbei mittels statistischer Methoden ausgewertet und hieraus ein For example, if a Monte Carlo drop-out method is implemented, in which individual neurons are switched off randomly with each application, then a confidence for the inferred result can be achieved by multi-inference, i.e. by repeatedly applying the deep neural network to the same input data , determine. The multiple inferred results are evaluated using statistical methods and derived from them
Konfidenzwert abgeleitet. Confidence value derived.
Es kann ferner vorgesehen sein, dass das Auswählen der Teilmengen bzw. das Erzeugen des Datenstapels in Abhängigkeit eines für einen früheren Zeitpunkt ermittelten Konfidenzmaßes einzelner Teilmengen erfolgt. Beispielsweise können Bildausschnitte einer zu einem früheren Zeitpunkt erfassten Abbildung, zu denen eine geringe Konfidenz beim inferierten Ergebnis ermittelt wurde, durch Auswählen entsprechender Bildausschnitte in einer zu einem späteren Zeitpunkt erfassten Abbildung berücksichtigt werden. Provision can furthermore be made for the selection of the subsets or the generation of the data stack as a function of a confidence measure of individual subsets determined for an earlier point in time. For example, image sections of an image captured at an earlier point in time, for which a low confidence in the inferred result was determined, can be taken into account by selecting corresponding image sections in a figure captured at a later point in time.
In einer Ausführungsform ist vorgesehen, dass zum Trainieren des Maschinenlernmodells die Datensatzelemente im Trainingsdatensatz zu einer Matrix zusammengefasst werden, wobei die zum Trainieren notwendigen Rechenoperationen auf der Matrix ausgeführt werden und/oder dass zum Anwenden des trainierten Maschinenlernmodells die Stapelelemente im Datenstapel zu einer Matrix zusammengefasst werden, wobei die zum Inferieren notwendigen In one embodiment it is provided that for training the machine learning model, the data record elements in the training data record are combined into a matrix, the computing operations required for training being carried out on the matrix and / or for using the trained machine learning model, the stack elements in the data stack are combined into a matrix , the necessary for inferring
Rechenoperationen auf der Matrix ausgeführt werden. Der Begriff Matrix soll hierbei insbesondere eine Hypermatrix, das heißt eine Matrix mit mehr als zwei Indices, bezeichnen. Handelt es sich bei den Trainingsdaten und den Sensordaten beispielsweise um Arithmetic operations are performed on the matrix. The term matrix is intended to refer in particular to a hypermatrix, that is to say a matrix with more than two indices. Is the training data and sensor data, for example?
zweidimensionale Daten, beispielsweise Bilddaten einer Abbildung einer Kamera, so sind die jeweils ausgewählten Teilmengen ebenfalls zweidimensional. Die zweidimensionalen two-dimensional data, for example image data from an image of a camera, the selected subsets are also two-dimensional. The two-dimensional
Teilmengen werden dann zu einer dreidimensionalen Matrix zusammengefasst. Das Trainieren und das Anwenden werden dann jeweils auf der dreidimensionalen Matrix durchgeführt. Subsets are then combined into a three-dimensional matrix. The training and the application are then carried out on the three-dimensional matrix.
Hierdurch kann eine benötigte Rechenleistung weiter reduziert werden. ln einer weiteren Ausführungsform ist vorgesehen, dass eine Datenauflösung am Eingang des Maschinenlernmodells und/oder eine Anzahl von Stapelelementen des Datenstapels in Abhängigkeit einer beim Anwenden des trainierten Maschinenlernmodells zur Verfügung stehenden Rechenleistung und/oder einer maximal möglichen Latenzzeit festgelegt wird. Auf diese Weise kann ein Maschinenlernmodell für ein Anwendungsszenario maßgeschneidert werden. Ist beispielsweise für eine Wahrnehmungsfunktion in einem Fahrzeug eine maximale Latenzzeit von 30 Millisekunden vorgesehen, da anschließend auf Grundlage eines This can further reduce the computing power required. In a further embodiment it is provided that a data resolution at the input of the machine learning model and / or a number of stack elements of the data stack is determined as a function of a computing power available when the trained machine learning model is used and / or a maximum possible latency. In this way, a machine learning model can be tailored for an application scenario. For example, a maximum latency of 30 milliseconds is provided for a perception function in a vehicle, since then on the basis of a
Inferenzergebnisses eine Entscheidung eines Assistenzsystems getroffen werden muss, so wird das Maschinenlernmodell derart ausgebildet, dass die 30 Millisekunden beim Anwenden während der Inferenzphase stets unterschritten werden. Um dies zu erreichen kann eine Datenauflösung, beispielsweise eine Anzahl von Pixeln in Bilddaten, und/oder eine Anzahl von Stapelelementen des Datenstapels verändert werden. Insbesondere wird hierbei ein If a decision of an assistance system has to be made in the inference result, the machine learning model is designed in such a way that the application falls below the 30 milliseconds during the inference phase. To achieve this, a data resolution, for example a number of pixels in image data, and / or a number of stack elements of the data stack can be changed. In particular, a
Kompromiss zwischen Rechenleistung bzw. Rechendauer und einer Menge an verarbeiteten Eingangsdaten angestrebt. A compromise between computing power or computing time and a quantity of processed input data is sought.
In einer Ausführungsform ist vorgesehen, dass beim Trainieren des Maschinenlernmodells eine Zielfunktion für mindestens eine der Teilmengen separat gewählt oder vorgegeben wird. One embodiment provides that when training the machine learning model, a target function for at least one of the subsets is selected or specified separately.
Hierdurch kann das Maschinenlernmodell gezielt auf bestimmte Eigenschaften der Teilmenge trainiert werden. Bei einem als Maschinenlernmodell verwendeten tiefen Neuronalen Netz können beispielsweise bildausschnittabhängige Löss- bzw. Kostenfunktionen verwendet werden. Der Vorteil ist, dass die Trainingsphase hierdurch beschleunigt werden kann. As a result, the machine learning model can be trained specifically for certain properties of the subset. In the case of a deep neural network used as a machine learning model, loess or cost functions dependent on the image section can be used, for example. The advantage is that this can speed up the training phase.
Es wird ferner insbesondere ein Fahrzeug geschaffen, umfassend mindestens eine Vorrichtung gemäß einer der beschriebenen Ausführungsformen. In particular, a vehicle is also created, comprising at least one device according to one of the described embodiments.
Weiter wird insbesondere ein Computerprogramm mit Programmcode-Mitteln geschaffen, um alle Schritte des Verfahrens in einer der beschriebenen Ausführungsformen durchzuführen, wenn das Programm auf einem Computer ausgeführt wird. Furthermore, in particular a computer program with program code means is created in order to carry out all steps of the method in one of the described embodiments when the program is executed on a computer.
Ferner wird insbesondere ein Computerprogrammprodukt mit Programmcode-Mitteln geschaffen, die auf einem computerlesbaren Datenträger gespeichert sind, um das Verfahren nach einer der beschriebenen Ausführungsformen durchzuführen, wenn das Programmprodukt auf einem Computer ausgeführt wird. Furthermore, in particular a computer program product is created with program code means which are stored on a computer-readable data carrier in order to carry out the method according to one of the described embodiments when the program product is executed on a computer.
Nachfolgend wird die Erfindung anhand bevorzugter Ausführungsbeispiele unter Bezugnahme auf die Figuren näher erläutert. Hierbei zeigen: Fig. 1 eine schematische Darstellung einer Ausführungsform der Vorrichtung zum The invention is explained in more detail below on the basis of preferred exemplary embodiments with reference to the figures. Here show: Fig. 1 is a schematic representation of an embodiment of the device for
Betreiben eines Maschinenlernmodells (Trainingsphase); Operating a machine learning model (training phase);
Fig. 2 eine schematische Darstellung einer Ausführungsform der Vorrichtung zum Fig. 2 is a schematic representation of an embodiment of the device for
Betreiben eines Maschinenlernmodells (Inferenzphase); Operating a machine learning model (inference phase);
Fig. 3 ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum Fig. 3 is a schematic flow diagram of an embodiment of the method for
Betreiben eines Maschinenlernmodells. Operating a machine learning model.
In Fig. 1 ist eine schematische Darstellung einer Ausführungsform der Vorrichtung 1 zum Betreiben eines Maschinenlernmodells 6 während einer Trainingsphase gezeigt. Das 1 shows a schematic representation of an embodiment of the device 1 for operating a machine learning model 6 during a training phase. The
Maschinenlernmodell 6 ist im gezeigten Ausführungsbeispiel ein tiefes Neuronalen Netz 4. Die Vorrichtung 1 umfasst eine Recheneinrichtung 2 mit einem Speicher 3. In dem Speicher 3 ist das tiefe Neuronale Netz 4 ausgebildet, d.h. dessen strukturelle Merkmale sowie zugehörige Gewichtungen sind dort hinterlegt. In the exemplary embodiment shown, machine learning model 6 is a deep neural network 4. The device 1 comprises a computing device 2 with a memory 3. The deep neural network 4 is formed in the memory 3, i.e. its structural characteristics and associated weights are stored there.
Während der Trainingsphase des tiefen Neuronalen Netzes 4 empfängt die During the training phase of the deep neural network 4 receives the
Recheneinrichtung 2 markierte mehrdimensionale Trainingsdaten 10. Anschließend wählt die Recheneinrichtung 2 aus den Trainingsdaten 10 Teilmengen 11 aus. Hierzu umfasst die Recheneinrichtung 2 eine Auswahleinrichtung 5. Computing device 2 selects multi-dimensional training data 10. Subsequently, computing device 2 selects subsets 11 from training data 10. For this purpose, the computing device 2 comprises a selection device 5.
Es kann hierbei vorgesehen sein, dass die Auswahleinrichtung 5 die Teilmengen 11 auf Grundlage einer Relevanz 14 der jeweiligen Teilmenge 11 auswählt. Vorgaben für die It can be provided here that the selection device 5 selects the subsets 11 based on a relevance 14 of the respective subsets 11. Requirements for the
Relevanz 14 können der Auswahleinrichtung 5 beispielsweise von außen bereitgestellt werden. Relevance 14 can be provided to the selection device 5 from the outside, for example.
Es kann ferner vorgesehen sein, dass die Auswahleinrichtung 5 die Teilmengen 1 1 zusätzlich oder alternativ auf Grundlage eines situationsabhängigen Kontextes 15 auswählt. Ein aktueller Kontext 15 kann der Auswahleinrichtung 5 beispielsweise von außen bereitgestellt werden. It can also be provided that the selection device 5 additionally or alternatively selects the subsets 11 based on a situation-dependent context 15. A current context 15 can be provided to the selection device 5 from the outside, for example.
Die Auswahleinrichtung 5 stellt anschließend einen Trainingsdatensatz 12 bereit, wobei der Trainingsdatensatz 12 aus Datensatzelementen 13 zusammengestellt wird, welche jeweils auf Grundlage der ausgewählten Teilmengen 11 von der Auswahleinrichtung 5 erzeugt wurden. The selection device 5 then provides a training data record 12, the training data record 12 being composed of data record elements 13 which were each generated by the selection device 5 on the basis of the selected subsets 11.
Mit dem auf diese Weise zusammengestellten Trainingsdatensatz 12 wird das tiefe Neuronale Netz 4 anschließend trainiert. Das Trainieren wird von der Recheneinrichtung 2 durchgeführt. Es kann vorgesehen sein, dass für das tiefe Neuronale Netz 4 nach dem Trainieren mindestens ein Konfidenzmaß ermittelt und/oder ausgegeben wird. Das Konfidenzmaß gibt insbesondere an, mit welcher Wahrscheinlichkeit das tiefe Neuronale Netz 4 nach dem Trainieren ein bestimmtes Ergebnis richtig erkennen kann, beispielsweise dass das Neuronale Netz 4 nach dem Trainieren das Objekt„Fußgänger“ mit einer Wahrscheinlichkeit von 98 % richtig erkennen kann. The deep neural network 4 is then trained using the training data set 12 compiled in this way. The training is carried out by the computing device 2. It can be provided that at least one confidence measure is determined and / or output for the deep neural network 4 after the training. The confidence measure specifies in particular the probability with which the deep neural network 4 can correctly recognize a specific result after training, for example that the neural network 4 can correctly recognize the object “pedestrian” after training with a probability of 98%.
In Fig. 2 ist eine schematische Darstellung einer Ausführungsform der Vorrichtung 1 zum Betreiben eines trainierten Maschinenlernmodells 6a während einer Inferenzphase gezeigt, wobei das trainierte Maschinenlernmodell 6a ein trainiertes tiefes Neuronales Netz 4a ist. Die Vorrichtung 1 kann zum Ausführen der Inferenzphase bzw. Anwenden des trainierten tiefen Neuronalen Netzes 4a insbesondere in einem Fahrzeug 50 ausgebildet sein. FIG. 2 shows a schematic representation of an embodiment of the device 1 for operating a trained machine learning model 6a during an inference phase, the trained machine learning model 6a being a trained deep neural network 4a. The device 1 can be designed to carry out the inference phase or to use the trained deep neural network 4a, in particular in a vehicle 50.
Die Vorrichtung 1 umfasst eine Recheneinrichtung 2 mit einem Speicher 3. In dem Speicher 3 ist das trainierte tiefe Neuronale Netz 4a ausgebildet, d.h. dessen strukturelle Merkmale sowie die während der Trainingsphase (vgl. Figuren 1 und 3) festgelegten Gewichtungen sind dort hinterlegt. The device 1 comprises a computing device 2 with a memory 3. The trained deep neural network 4a is formed in the memory 3, i.e. its structural characteristics and the weightings determined during the training phase (see FIGS. 1 and 3) are stored there.
Während der Inferenzphase des trainierten tiefen Neuronalen Netzes 4a empfängt die During the inference phase of the trained deep neural network 4a, the
Recheneinrichtung 2 mehrdimensionale Sensordaten 20 eines Sensors 52. Der Sensor 52 ist beispielsweise eine Top-View-Kamera des Fahrzeugs 50, welche Bilddaten in Form von erfassten Abbildungen eines Umfelds des Fahrzeugs 50 als Sensordaten 20 bereitstellt. Computing device 2 multidimensional sensor data 20 of a sensor 52. The sensor 52 is, for example, a top view camera of the vehicle 50, which provides image data in the form of captured images of an environment of the vehicle 50 as sensor data 20.
Anschließend wählt die Recheneinrichtung 2 aus den empfangenen Sensordaten 20 The computing device 2 then selects from the received sensor data 20
Teilmengen 21 aus. Hierzu umfasst die Recheneinrichtung 2 eine Auswahleinrichtung 5. Subsets 21 out. For this purpose, the computing device 2 comprises a selection device 5.
Es kann hierbei vorgesehen sein, dass die Auswahleinrichtung 5 die Teilmengen 21 auf Grundlage einer Relevanz 14 der jeweiligen Teilmenge 21 auswählt. Vorgaben für die It can be provided here that the selection device 5 selects the subsets 21 based on a relevance 14 of the respective subsets 21. Requirements for the
Relevanz 14 können der Auswahleinrichtung 5 beispielsweise von außen bereitgestellt werden. Relevance 14 can be provided to the selection device 5 from the outside, for example.
Es kann ferner vorgesehen sein, dass die Auswahleinrichtung 5 die Teilmengen 21 zusätzlich oder alternativ auf Grundlage eines situationsabhängigen Kontextes 15 auswählt. Ein aktueller Kontext 15 kann der Auswahleinrichtung 5 beispielsweise von außen bereitgestellt werden. It can further be provided that the selection device 5 additionally or alternatively selects the subsets 21 on the basis of a situation-dependent context 15. A current context 15 can be provided to the selection device 5 from the outside, for example.
Es ist hierbei insbesondere vorgesehen, dass die Vorgaben für die Relevanz 14 und/oder für den situationsabhängigen Kontext 15 während der Inferenzphase den Vorgaben während der Trainingsphase entsprechen. Die Auswahleinrichtung 5 erzeugt aus den ausgewählten Teilmengen 21 einen Datenstapel 22, wobei der Datenstapel 22 als Stapelelemente 23 jeweils die ausgewählten Teilmengen 21 umfasst. Der Datenstapel 22 wird dem trainierten tiefe Neuronalen Netz 4a zugeführt. In particular, it is provided that the specifications for relevance 14 and / or for the situation-dependent context 15 during the inference phase correspond to the specifications during the training phase. The selection device 5 generates a data stack 22 from the selected subsets 21, the data stack 22 each comprising the selected subsets 21 as stack elements 23. The data stack 22 is fed to the trained deep neural network 4a.
Das trainierte tiefe Neuronale Netz 4a wird anschließend auf den Datenstapel 22 angewendet. Hierzu werden von der Recheneinrichtung 2 mehrere Instanzen des trainierten tiefen The trained deep neural network 4a is then applied to the data stack 22. For this purpose, the computing device 2 uses several instances of the trained depth
Neuronalen Netzes 4a gleichzeitig erzeugt, wobei eine Anzahl einer Anzahl von Neural network 4a generated simultaneously, a number of a number of
Stapelelementen 23 in dem Datenstapel 22 entspricht. Anschließend führt die Corresponds to stack elements 23 in the data stack 22. Then the
Recheneinrichtung 2 den einzelnen Instanzen des trainierten tiefen Neuronalen Netzes 4a zeitgleich jeweils eines der Stapelelemente 23 zu. Die Instanzen des trainierten tiefen Computing device 2 simultaneously assigns one of the stack elements 23 to the individual instances of the trained deep neural network 4a. The instances of the trained deep
Neuronalen Netzes liefern jeweils ein inferiertes Ergebnis. Die inferierten Ergebnisse werden ebenfalls als Stapel oder in zusammengefasster Form als Inferenzergebnis 24 bereitgestellt. Neural networks each deliver an inferred result. The infered results are also provided as a stack or in a summarized form as an inference result 24.
Das Inferenzergebnis 24 wird anschließend ausgegeben, beispielsweise als digitales The inference result 24 is then output, for example as a digital one
Datenpaket. Das Ausgeben erfolgt beispielsweise mittels einer hierfür vorgesehenen Data packet. The output takes place, for example, using a device provided for this purpose
Schnittstelle (nicht gezeigt). Das ausgegebene Inferenzergebnis 24 kann anschließend weiterverarbeitet werden, beispielsweise von einem Assistenzsystem 52 des Fahrzeug 50 im Rahmen einer Umfeldinterpretation oderzum Planen einer Trajektorie des Fahrzeugs 50. Interface (not shown). The output inference result 24 can then be processed further, for example by an assistance system 52 of the vehicle 50 as part of an environmental interpretation or for planning a trajectory of the vehicle 50.
Es kann vorgesehen sein, dass für das trainierte tiefe Neuronale Netz 4a mindestens ein Konfidenzmaß 16 ermittelt und/oder ausgegeben wird. Hierbei ist vorgesehen, dass das mindestens eine Konfidenzmaß 16 für mindestens zwei Stapelelemente 23 separat ermittelt und/oder ausgeben wird. Einfach ausgedrückt kann zu jedem für ein Stapelelement 23 inferierten Ergebnis ein Konfidenzwert 16 angegeben werden, das heißt insbesondere eine Angabe darüber, mit welcher Wahrscheinlichkeit das trainierte tiefe Neuronale Netz 4a das jeweils inferierte Ergebnis richtig erkennt, das heißt ein Maß für die Richtigkeit bzw. It can be provided that at least one confidence measure 16 is determined and / or output for the trained deep neural network 4a. It is provided here that the at least one confidence measure 16 is determined and / or output separately for at least two stacking elements 23. In simple terms, a confidence value 16 can be specified for each result inferred for a stack element 23, that is to say in particular an indication of the probability with which the trained deep neural network 4a correctly recognizes the inferred result in each case, that is to say a measure of the correctness or
Zuverlässigkeit des jeweils inferierten Ergebnisses. Reliability of the inferred result.
In Fig. 3 ist ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum Betreiben eines Maschinenlernmodells gezeigt. Das Maschinenlernmodell ist in der gezeigten Ausführungsform ein tiefes Neuronales Netz. Im Verfahren lassen sich zwei Teile 3 shows a schematic flow diagram of an embodiment of the method for operating a machine learning model. In the embodiment shown, the machine learning model is a deep neural network. There are two parts to the process
unterscheiden, eine Trainingsphase 200 und eine Inferenzphase 300. Diese können sowohl einzeln als auch zusammengefasst ausgeführt werden. distinguish between a training phase 200 and an inference phase 300. These can be carried out both individually and in combination.
Nach einem Starten 100 des Verfahrens werden in der Trainingsphase 200 die After starting the method 100 in the training phase 200
Verfahrensschritte 201 bis 204 durchgeführt. ln einem Verfahrensschritt 201 werden markierte mehrdimensionale Trainingsdaten empfangen. Dies können beispielsweise mittels einer Kamera erfasste Abbildungen eines Umfeldes sein, beispielsweise eines Umfelds eines Fahrzeugs. Die Abbildungen sind hierbei markiert Method steps 201 to 204 are carried out. Marked multi-dimensional training data are received in a method step 201. This can be, for example, images of an environment captured by a camera, for example an environment of a vehicle. The illustrations are marked here
(gelabelt), das heißt den Abbildungen sind Informationen über die in den Abbildungen vorhandenen Objekte und/oder deren Größe, Eigenschaften usw. zugeordnet. (labeled), that is, the images are assigned information about the objects present in the images and / or their size, properties, etc.
In einem Verfahrensschritt 202 werden Teilmengen aus den Trainingsdaten ausgewählt. Im Beispiel sind dies Bildausschnitte aus den Abbildungen. Handelt es sich beispielsweise um eine Abbildung einer Straßenszene, so können Bildausschnitte mit Fußgängern als Teilmengen ausgewählt werden. Die Teilmengen bzw. Bildausschnitte können anschließend weiter bearbeitet werden, insbesondere kann eine Auflösung bzw. Pixelanzahl angepasst werden auf eine Eingangsdimension des tiefen Neuronalen Netzes. In a method step 202, subsets are selected from the training data. In the example, these are image sections from the illustrations. If, for example, an image of a street scene is involved, image sections with pedestrians can be selected as subsets. The subsets or image sections can then be processed further, in particular a resolution or number of pixels can be adapted to an input dimension of the deep neural network.
Es kann vorgesehen sein, dass das Auswählen der Teilmengen während der Trainingsphase auf Grundlage einer Relevanz der jeweiligen Teilmengen erfolgt. Beispielsweise können die Teilmengen bzw. Bildausschnitte in Abhängigkeit einer sicherheitsrelevanten Eigenschaft des abgebildeten Objektes ausgewählt werden. Auf diese Weise können beispielsweise schwache Verkehrsteilnehmer wie z.B. Fußgänger mit einer hohen Relevanz bewertet und daher bevorzugt beim Auswählen der Teilmengen bzw. Bildausschnitte berücksichtigt werden. Auch können Eigenschaften einer Abbildung selbst zum Ableiten einer Relevanz verwendet werden. Beispielsweise können kontrastschwache und daher schwer einsehbare Bildausschnitte mit einer hohen Relevanz versehen werden, sodass diese als Teilmengen ausgewählt werden. It can be provided that the selection of the subsets takes place during the training phase on the basis of a relevance of the respective subsets. For example, the subsets or image sections can be selected depending on a security-relevant property of the depicted object. In this way, for example, weak road users such as Pedestrians are rated as highly relevant and should therefore be considered when selecting the subsets or image sections. Properties of an image itself can also be used to derive relevance. For example, low-contrast and therefore difficult to see image sections can be given high relevance so that they are selected as subsets.
Zusätzlich oder alternativ kann vorgesehen sein, dass das Auswählen der Teilmengen aus den Trainingsdaten auf Grundlage eines situationsabhängigen Kontextes erfolgt. Beispielsweise können je nach aktueller Situation andere Teilmengen bzw. Bildausschnitte beim Auswählen berücksichtigt werden. Auf einer Autobahn sind insbesondere Bereiche auf Fahrspuren der Autobahn relevant, Lichtsignalanlagen und Fußgänger sind in der Regel dort nicht anzutreffen. Im Stadtverkehr sollten hingegen auch Lichtsignalanlagen, Fußgänger und weitere Objekte, insbesondere schwächere Verkehrsteilnehmer, beim Auswählen bevorzugt berücksichtigt werden. Additionally or alternatively, provision can be made for the subsets to be selected from the training data on the basis of a situation-dependent context. For example, depending on the current situation, other subsets or image sections can be taken into account when selecting. Areas on lanes of the freeway are particularly relevant on a freeway; traffic lights and pedestrians are generally not to be found there. In city traffic, however, traffic lights, pedestrians and other objects, especially weaker road users, should be given priority when selecting.
Es kann vorgesehen sein, dass eine Datenauflösung am Eingang des tiefen Neuronalen Netzes in Abhängigkeit einer beim Anwenden des trainierten tiefen Neuronalen Netzes zur Verfügung stehenden Rechenleistung und/oder einer maximal möglichen Latenzzeit festgelegt wird. Die zur Verfügung stehende Rechenleistung und/oder die maximal mögliche Latenzzeit sind beispielsweise durch eine Hardware eines Fahrzeug vorgegeben. Die Datenauflösung wird dann derart gewählt, dass die vorhandene Rechenleistung und/oder die maximal mögliche Latenzzeit zu keinem Zeitpunkt voll ausgeschöpft werden. It can be provided that a data resolution at the input of the deep neural network is determined as a function of a computing power available when the trained deep neural network is used and / or a maximum possible latency. The available computing power and / or the maximum possible latency are predefined, for example, by hardware of a vehicle. The data resolution is then selected in such a way that the available computing power and / or the maximum possible latency is never fully utilized.
In einem Verfahrensschritt 203 wird ein Trainingsdatensatz bereitgestellt. Der A training data record is provided in a method step 203. Of the
Trainingsdatensatz umfasst Datensatzelemente, welche jeweils aus den ausgewählten Training data record comprises data record elements, each of which is selected from the selected
Teilmengen erzeugt werden. Da eine Auswahl stattgefunden hat, muss nicht mehr eine komplette (insbesondere hochaufgelöste) Abbildung zum Trainieren des tiefen Neuronalen Netzes verwendet werden. Das Trainieren findet lediglich mit Hilfe der einzelnen Partial quantities are generated. Since a selection has been made, it is no longer necessary to use a complete (especially high-resolution) image for training the deep neural network. Training takes place only with the help of the individual
(niedrigaufgelösten) Teilmengen statt, welche als Datensatzelemente im Datensatz (low-resolution) subsets instead, which are data record elements in the data record
zusammengefasst wurden. Hierdurch wird einerseits eine Kompression des tiefen Neuronalen Netzes erreicht. Eine Dimension der Eingangsdaten des tiefen Neuronalen Netzes kann reduziert werden, wodurch sich Rechenleistung und Rechenzeit einsparen lassen. Andererseits kann hierdurch auch eine Fokussierung einer Aufmerksamkeit erfolgen, da zum Trainieren beispielsweise nur als relevant erachtete Teilmengen bzw. Bildausschnitte berücksichtigt werden können. were summarized. On the one hand, this results in compression of the deep neural network. One dimension of the input data of the deep neural network can be reduced, whereby computing power and computing time can be saved. On the other hand, this can also focus attention because, for example, only partial quantities or image sections considered relevant can be taken into account for training.
In einem Verfahrensschritt 204 wird das tiefe Neuronale Netz mittels des Trainingsdatensatzes trainiert. Hierbei können an sich bekannte Verfahren des Maschinenlernens verwendet werden. In a method step 204, the deep neural network is trained using the training data record. Known methods of machine learning can be used here.
Es kann vorgesehen sein, dass beim Trainieren des tiefen Neuronalen Netzes eine Zielfunktion für mindestens eine der Teilmengen separat gewählt oder vorgegeben wird. Beispielsweise kann eine Zielfunktion speziell für bestimmte Teilmengen bzw. Bildausschnitte verwendet werden. Hierdurch lässt sich eine Trainingsphase beschleunigen. Provision can be made for a target function for at least one of the subsets to be selected or specified separately when training the deep neural network. For example, a target function can be used specifically for certain subsets or image sections. This can accelerate a training phase.
Es kann ferner vorgesehen sein, dass zum Trainieren des tiefen Neuronalen Netzes die Datensatzelemente im Trainingsdatensatz zu einer Matrix zusammengefasst werden, wobei die zum Trainieren notwendigen Rechenoperationen auf der Matrix ausgeführt werden. Hierdurch lässt sich das Verarbeiten des Trainingsdatensatzes zum Trainieren des tiefen Neuronalen Netzes beschleunigen. Provision can also be made for the data record elements in the training data record to be combined to form a matrix for training the deep neural network, the computing operations required for training being carried out on the matrix. In this way, the processing of the training data record for training the deep neural network can be accelerated.
Mit Abschluss der Trainingsphase 200 steht ein trainiertes tiefes Neuronales Netz zur At the end of training phase 200, a trained deep neural network is available
Verfügung, welches in einer nachfolgenden Inferenzphase verwendet werden kann. Which can be used in a subsequent inference phase.
Die Inferenzphase 300 kann unabhängig von der Trainingsphase 200 durchgeführt werden. Es kann beispielsweise vorgesehen sein, dass die Inferenzphase 300 in einem Fahrzeug zum Bereitstellen einer Assistenzfunktion durch geführt wird. Hierzu wird ein gemäß der Trainingsphase 200 trainiertes tiefes Neuronales Netz verwendet. Das trainierte tiefe Neuronale Netz wird beispielsweise von einem Hersteller des Fahrzeugs in dem Speicher einer The inference phase 300 can be carried out independently of the training phase 200. For example, it can be provided that the inference phase 300 in a vehicle for Providing an assistant function is carried out. A deep neural network trained according to the training phase 200 is used for this. The trained deep neural network is stored, for example, by a manufacturer of the vehicle in the memory
Vorrichtung, wie sie in der Fig. 2 beschrieben ist, hinterlegt und kann dann bei Auslieferung des Fahrzeugs an einen Kunden in einer nachfolgenden Inferenzphase 300 verwendet werden. The device as described in FIG. 2 is deposited and can then be used in a subsequent inference phase 300 when the vehicle is delivered to a customer.
Die Inferenzphase 300 umfasst die Verfahrensschritte 301 bis 305. The inference phase 300 comprises the method steps 301 to 305.
In einem Verfahrensschritt 301 werden Sensordaten von mindestens einem Sensor empfangen. In dem bereits beschriebenen Beispiel sind die Sensordaten beispielsweise eine mittels einer Kamera erfasste Abbildung eines Umfelds des Fahrzeugs. In a method step 301, sensor data are received from at least one sensor. In the example already described, the sensor data are, for example, an image of an environment of the vehicle captured by means of a camera.
In einem Verfahrensschritt 302 werden Teilmengen aus den empfangenen Sensordaten ausgewählt. Die Teilmengen sind in dem beschriebenen Beispiel Bildausschnitte der Abbildung. In a method step 302, subsets are selected from the received sensor data. In the example described, the subsets are image sections of the illustration.
Es kann vorgesehen sein, dass das Auswählen der Teilmengen während der Inferenzphase auf Grundlage einer Relevanz der jeweiligen Teilmengen erfolgt. Beispielsweise können die Teilmengen bzw. Bildausschnitte in Abhängigkeit einer sicherheitsrelevanten Eigenschaft eines darin abgebildeten Objektes ausgewählt werden. Beispielsweise können schwache Provision can be made for the subsets to be selected during the inference phase on the basis of a relevance of the respective subsets. For example, the subsets or image sections can be selected depending on a security-relevant property of an object depicted therein. For example, weak ones
Verkehrsteilnehmer, wie z.B. Fußgänger, mit einer hohen Relevanz bewertet und daher bevorzugt beim Auswählen der Teilmengen bzw. Bildausschnitte berücksichtigt werden. Auch können Eigenschaften einer Abbildung selbst zum Ableiten einer Relevanz verwendet werden. Beispielsweise können kontrastschwache und daher schwer einsehbare Bildausschnitte mit einer hohen Relevanz versehen werden, sodass diese als Teilmengen ausgewählt werden. Road users, e.g. Pedestrians, with a high relevance and are therefore preferred when selecting the subsets or image sections. Properties of an image itself can also be used to derive relevance. For example, low-contrast and therefore difficult to see image sections can be given high relevance so that they are selected as subsets.
Zusätzlich oder alternativ kann vorgesehen sein, dass das Auswählen der Teilmengen aus den Sensordaten auf Grundlage eines situationsabhängigen Kontextes erfolgt. Beispielsweise können je nach aktueller Situation andere Teilmengen bzw. Bildausschnitte beim Auswählen berücksichtigt werden. Auf einer Autobahn sind insbesondere Bereiche auf Fahrspuren der Autobahn relevant, Lichtsignalanlagen und Fußgänger sind in der Regel dort nicht anzutreffen. Im Stadtverkehr sollten hingegen auch Lichtsignalanlagen, Fußgänger und weitere Objekte, insbesondere schwächere Verkehrsteilnehmer, beim Auswählen bevorzugt berücksichtigt werden. Additionally or alternatively, it can be provided that the partial quantities are selected from the sensor data on the basis of a situation-dependent context. For example, depending on the current situation, other subsets or image sections can be taken into account when selecting. Areas on lanes of the freeway are particularly relevant on a freeway; traffic lights and pedestrians are generally not to be found there. In city traffic, however, traffic lights, pedestrians and other objects, especially weaker road users, should be given priority when selecting.
Es kann ferner vorgesehen sein, dass das Auswählen der Teilmengen zusätzlich oder alternativ auf Grundlage einer Auswahl einer zu einem früheren Zeitpunkt bzw. Zeitschritt ausgewählten Teilmenge erfolgt. So kann beispielsweise beim wiederholten Durchführen der Inferenzphase vorgesehen sein, das als relevant erachtete Bildausschnitte einer zu einem früheren Zeitpunkt erfassten Abbildung oder auch ein Inferenzergebnis eines früheren Durchlaufs der Provision can furthermore be made that the selection of the subsets is additionally or alternatively based on a selection of an earlier or time step Subset is done. For example, when the inference phase is carried out repeatedly, it can be provided that the image sections of an image that were considered relevant at an earlier point in time or also an inference result from an earlier run of the
Inferenzphase als Ausgangspunkt für das Auswahlen dienen. Ergibt ein Inferenzergebnis beispielsweise, dass ein Fußgänger in einer Abbildung zu sehen ist, so kann der zugehörige Bildausschnitt in einer zu einem späteren Zeitpunkt erfassten Abbildung ebenfalls ausgewählt werden. Es kann hierbei vorgesehen sein, dass das Auswählen der Teilmengen bzw. Inference phase serve as the starting point for the selection. If an inference result shows, for example, that a pedestrian can be seen in an image, the associated image section can also be selected in an image captured at a later time. It can be provided here that the selection of the subsets or
Bildausschnitte auf Grundlage von Salienzverfahren erfolgt (Human Salience oder Machine Salience, z.B. Optical Flow, trainierte Salienzverfahren, Heatmappingverfahren bei einem vorherigen Zeitschritt usw.). Image sections based on salience processes (human salience or machine salience, e.g. optical flow, trained salience processes, heat mapping processes in a previous time step, etc.).
In einem Verfahrensschritt 303 wird ein Datenstapel erzeugt. Der Datenstapel umfasst Stapelelemente, die jeweils aus den ausgewählten Teilmengen erzeugt werden. In a method step 303, a data stack is generated. The data stack comprises stack elements which are each generated from the selected subsets.
Es kann in den Verfahrensschritten 302 bzw. 303 vorgesehen sein, dass eine Anzahl von Stapelelementen des Datenstapels in Abhängigkeit einer beim Anwenden des trainierten tiefen Neuronalen Netzes zur Verfügung stehenden Rechenleistung und/oder einer maximal möglichen Latenzzeit festgelegt wird. Die zur Verfügung stehende Rechenleistung und/oder die maximal mögliche Latenzzeit sind beispielsweise durch eine Hardware eines Fahrzeugs vorgegeben. Die Anzahl der Stapelelemente wird dann derart gewählt, dass die vorhandene Rechenleistung und/oder die maximal mögliche Latenzzeit zu keinem Zeitpunkt voll ausgeschöpft werden. In method steps 302 or 303, it can be provided that a number of stack elements of the data stack is determined as a function of a computing power available when the trained deep neural network is used and / or a maximum possible latency. The available computing power and / or the maximum possible latency are specified, for example, by a vehicle's hardware. The number of stack elements is then selected such that the available computing power and / or the maximum possible latency is never fully utilized.
In einem Verfahrensschritt 304 wird das trainierte tiefe Neuronale Netz auf den Datenstapel angewendet. Hierzu wird für jedes Stapelelement eine Instanz des trainierten tiefen Neuronalen Netzes erzeugt und jeder Instanz dann eines der Stapelelemente zugeführt. Die einzelnen Instanzen liefern dann zu jedem Stapelelement, das heißt zu jeder Teilmenge bzw. jedem Bildausschnitt, ein inferiertes Ergebnis. Die inferierten Ergebnisse werden zu einem In a method step 304, the trained deep neural network is applied to the data stack. For this purpose, an instance of the trained deep neural network is generated for each stack element and then one of the stack elements is fed to each instance. The individual instances then deliver an inferred result for each stack element, that is to say for each subset or each image section. The inferred results become one
Inferenzergebnis zusammengefasst. Das Zusammenfassen kann hierbei beispielsweise auch ein maskenbasiertes Erzeugen einer einzigen Abbildung aus den Teilmengen bzw. den einzelnen inferierten Ergebnissen umfassen, sodass eine einzige Abbildung mit den zugehörigen inferierten Ergebnissen bereitgestellt werden kann. Beispielsweise kann auf diese Weise eine Abbildung mit darin klassifizierten Objekten und zugehörigen Objektpositionen bereitgestellt werden. ln einem Verfahrensschritt 305 wird das Inferenzergebnis ausgegeben, beispielsweise als digitales Datenpaket. Das Inferenzergebnis bzw. das digitale Datenpaket können anschließend einem Assistenzsystem eines Fahrzeugs bereitgestellt werden. Inference result summarized. The combination can also include, for example, a mask-based generation of a single image from the subsets or the individual inferred results, so that a single image with the associated inferred results can be provided. For example, an image with objects classified therein and associated object positions can be provided in this way. The inference result is output in a method step 305, for example as a digital data packet. The inference result or the digital data packet can then be made available to an assistance system of a vehicle.
Anschließend ist das Verfahren beendet 400. The method is then ended 400.
Es kann vorgesehen sein, dass die Inferenzphase des Verfahrens anschließend wiederholt wird, wobei zu einem späteren Zeitpunkt erfasste Sensordaten ausgewertet werden. It can be provided that the inference phase of the method is then repeated, sensor data recorded at a later point in time being evaluated.
In den in den Figuren 1 bis 3 gezeigten Ausführungsformen ist das Maschinenlernmodell 6, 6a ein tiefes Neuronales Netz 4, 4a. Prinzipiell kann das Maschinenlernmodell 6 jedoch auch anders ausgebildet sein, beispielsweise in Form einer Support Vector Machine oder in Form eines probabilistischen Modells. Die Trainingsphase und die Inferenzphase werden dann analog für diese Maschinenlernmodelle 6, 6a durchgeführt. In the embodiments shown in FIGS. 1 to 3, the machine learning model 6, 6a is a deep neural network 4, 4a. In principle, however, the machine learning model 6 can also be designed differently, for example in the form of a support vector machine or in the form of a probabilistic model. The training phase and the inference phase are then carried out analogously for these machine learning models 6, 6a.
Bezugszeichenliste Reference list
Vorrichtung contraption
Recheneinrichtung Computing device
Speicher Storage
tiefes Neuronales Netz deep neural network
a trainiertes tiefes Neuronales Netz a trained deep neural network
Auswahleinrichtung Selection device
Maschinenlernmodell Machine learning model
a trainiertes Maschinenlernmodella trained machine learning model
0 Trainingsdaten0 training data
1 Teilmenge1 subset
2 Trainingsdatensatz2 training record
3 Datensatzelement3 record element
4 Relevanz4 relevance
5 situationsabhängiger Kontext5 contextual context
6 Konfidenzmaß6 confidence measure
0 Sensordaten0 sensor data
1 Teilmenge1 subset
2 Datenstapel2 data stacks
3 Stapelelement3 stacking element
4 Inferenzergebnis4 Inference result
0 Fahrzeug0 vehicle
1 Sensor1 sensor
2 Assistenzsystem2 assistance system
00 Verfahrensschritt00 procedural step
00 Trainingsphase00 training phase
01-204 Verfahrensschritte01-204 procedural steps
01-305 Verfahrensschritte01-305 process steps
00 Inferenzphase00 inference phase
00 Verfahrensschritt 00 procedural step

Claims

Patentansprüche Claims
1. Verfahren zum Betreiben eines Maschinenlernmodells (6), umfassend die folgenden Schritte während einer Trainingsphase (200): 1. A method for operating a machine learning model (6), comprising the following steps during a training phase (200):
- Empfangen von markierten mehrdimensionalen Trainingsdaten (10), - receiving marked multidimensional training data (10),
- Auswahlen von Teilmengen (11 ) aus den empfangenen Trainingsdaten (10), Selection of subsets (11) from the received training data (10),
- Erzeugen eines Trainingsdatensatzes (12), wobei der Trainingsdatensatz (12) - Generation of a training data record (12), the training data record (12)
Datensatzelemente (13) umfasst, welche auf Grundlage der ausgewählten Teilmengen (11 ) erzeugt werden, Comprises data record elements (13) which are generated on the basis of the selected subsets (11),
- Trainieren des Maschinenlernmodells (6) mittels des Trainingsdatensatzes (12); und/oder die folgenden Schritte während einer Inferenzphase (300): - Training the machine learning model (6) using the training data set (12); and / or the following steps during an inference phase (300):
- Empfangen von Sensordaten (20) mindestens eines Sensors, Receiving sensor data (20) from at least one sensor,
- Auswählen von Teilmengen (21 ) aus den empfangenen Sensordaten (20), - Selection of subsets (21) from the received sensor data (20),
- Erzeugen eines Datenstapels (22), wobei der Datenstapel (22) als - Generating a data stack (22), wherein the data stack (22) as
Stapelelemente (23) jeweils die ausgewählten Teilmengen (21 ) umfasst, Stack elements (23) each comprise the selected subsets (21),
- Anwenden des oder eines gemäß den Schritten der Trainingsphase (200) trainierten Maschinenlernmodells (6a) auf jedes Stapelelement (23) des Datenstapels (22), wobei das Anwenden zeitgleich erfolgt, und Ableiten eines Inferenzergebnisses (24),Applying the machine learning model (6a) trained according to the steps of the training phase (200) to each stack element (23) of the data stack (22), the application taking place simultaneously, and deriving an inference result (24),
- Ausgeben des Inferenzergebnisses (24). - Output of the inference result (24).
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass das Maschinenlernmodell (6, 6a) ein tiefes Neuronales Netz (4, 4a) ist. 2. The method according to claim 1, characterized in that the machine learning model (6, 6a) is a deep neural network (4, 4a).
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Auswählen der Teilmengen (1 1 , 21 ) während der Trainingsphase (200) und/oder während der 3. The method according to claim 1 or 2, characterized in that the selection of the subsets (1 1, 21) during the training phase (200) and / or during the
Inferenzphase (300) auf Grundlage einer Relevanz (14) der jeweiligen Teilmengen (11 , 21 ) erfolgt. Inference phase (300) takes place on the basis of a relevance (14) of the respective subsets (11, 21).
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass das 4. The method according to any one of claims 1 to 3, characterized in that the
Auswählen der Teilmengen (1 1 , 21 ) aus den Trainingsdaten (10) und/oder den empfangenen Sensordaten (20) zusätzlich oder alternativ auf Grundlage eines situationsabhängigen Kontextes (15) erfolgt. The subsets (11, 21) are selected from the training data (10) and / or the received sensor data (20) additionally or alternatively on the basis of a situation-dependent context (15).
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass für das Maschinenlernmodell (6, 6a) mindestens ein Konfidenzmaß (16) ermittelt und/oder ausgegeben wird, wobei das mindestens eine Konfidenzmaß für mindestens zwei ausgewählte Teilmengen (11 , 21 ) und/oder Stapelelemente (23) separat ermittelt und/oder ausgeben wird. 5. The method according to any one of claims 1 to 4, characterized in that for the machine learning model (6, 6a) at least one confidence measure (16) is determined and / or output, the at least one confidence measure for at least two selected subsets (11, 21 ) and / or stack elements (23) is determined and / or output separately.
6. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass zum Trainieren des Maschinenlernmodells (6) die Datensatzelemente (13) im 6. The method according to any one of the preceding claims, characterized in that for training the machine learning model (6) the data record elements (13) in
Trainingsdatensatz (12) zu einer Matrix zusammengefasst werden, wobei die zum Trainieren notwendigen Rechenoperationen auf der Matrix ausgeführt werden und/oder Training data set (12) can be combined into a matrix, the computing operations required for training being carried out on the matrix and / or
dass zum Anwenden des trainierten Maschinenlernmodells (6a) die Stapelelemente (23) im Datenstapel (22) zu einer Matrix zusammengefasst werden, wobei die zum Inferieren notwendigen Rechenoperationen auf der Matrix ausgeführt werden. that in order to use the trained machine learning model (6a), the stack elements (23) in the data stack (22) are combined into a matrix, the computing operations necessary for inferring being carried out on the matrix.
7. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass eine Datenauflösung am Eingang des Maschinenlernmodells (6) und/oder eine Anzahl von Stapelelementen (23) des Datenstapels (22) in Abhängigkeit einer beim Anwenden des trainierten Maschinenlernmodells (6a) zur Verfügung stehenden Rechenleistung und/oder einer maximal möglichen Latenzzeit festgelegt wird. 7. The method according to any one of the preceding claims, characterized in that a data resolution at the input of the machine learning model (6) and / or a number of stack elements (23) of the data stack (22) depending on when using the trained machine learning model (6a) available standing computing power and / or a maximum possible latency is determined.
8. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass beim Trainieren des Maschinenlernmodells (6) eine Zielfunktion für mindestens eine der Teilmengen (1 1 ) separat gewählt oder vorgegeben wird. 8. The method according to any one of the preceding claims, characterized in that when training the machine learning model (6) a target function for at least one of the subsets (1 1) is selected or specified separately.
9. Vorrichtung (1 ) zum Betreiben eines Maschinenlernmodells (4, 4a), umfassend: 9. Device (1) for operating a machine learning model (4, 4a), comprising:
eine Recheneinrichtung (2) mit einem Speicher (3), in dem das Maschinenlernmodell (6, 6a) ausgebildet ist, a computing device (2) with a memory (3) in which the machine learning model (6, 6a) is formed,
wobei die Recheneinrichtung (2) dazu eingerichtet ist, die folgenden Schritte während einer Trainingsphase (200) durchzuführen: the computing device (2) being set up to carry out the following steps during a training phase (200):
- Empfangen von markierten mehrdimensionalen Trainingsdaten (10), - receiving marked multidimensional training data (10),
- Auswählen von Teilmengen (11 ) aus den Trainingsdaten (10), - Selection of subsets (11) from the training data (10),
- Erzeugen eines Trainingsdatensatzes (1 1 ), wobei der Trainingsdatensatz (1 1 ) - Generation of a training data record (1 1), the training data record (1 1)
Datensatzelemente (13) umfasst, welche auf Grundlage der ausgewählten Teilmengen (11 ) erzeugt werden, Comprises data record elements (13) which are generated on the basis of the selected subsets (11),
- Trainieren des Maschinenlernmodells (6) mittels des Trainingsdatensatzes (1 1 ); und/oder die folgenden Schritte während einer Inferenzphase (300) durchzuführen: - Training the machine learning model (6) using the training data set (1 1); and / or carry out the following steps during an inference phase (300):
- Empfangen von Sensordaten (20) mindestens eines Sensors (51 ), Receiving sensor data (20) from at least one sensor (51),
- Auswahlen von Teilmengen (21 ) aus den empfangenen Sensordaten (20), Selection of subsets (21) from the received sensor data (20),
- Erzeugen eines Datenstapels (22), wobei der Datenstapel (22) als - Generating a data stack (22), wherein the data stack (22) as
Stapelelemente (23) jeweils die ausgewählten Teilmengen (21 ) umfasst, Stack elements (23) each comprise the selected subsets (21),
- Anwenden des oder eines gemäß den Schritten der Trainingsphase (200) trainierten Maschinenlernmodells (6a) auf jedes Stapelelement (23) des Datenstapels (22), wobei das Anwenden zeitgleich erfolgt, und Ableiten eines Inferenzergebnisses (24), Applying the machine learning model (6a) trained according to the steps of the training phase (200) to each stack element (23) of the data stack (22), the application taking place simultaneously, and deriving an inference result (24),
- Ausgeben des Inferenzergebnisses (24). - Output of the inference result (24).
10. Vorrichtung (1 ) nach Anspruch 9, dadurch gekennzeichnet, dass das 10. The device (1) according to claim 9, characterized in that the
Maschinenlernmodell (6, 6a) ein tiefes Neuronales Netz (4, 4a) ist. Machine learning model (6, 6a) is a deep neural network (4, 4a).
11. Fahrzeug (50), umfassend mindestens eine Vorrichtung (1 ) gemäß Anspruch 9 oder 10. 11. Vehicle (50) comprising at least one device (1) according to claim 9 or 10.
12. Computerprogramm mit Programmcode-Mitteln, um alle Schritte von jedem beliebigen der Ansprüche 1 bis 8 durchzuführen, wenn das Programm auf einem Computer ausgeführt wird. 12. Computer program with program code means to carry out all steps of any one of claims 1 to 8 when the program is executed on a computer.
13. Computerprogrammprodukt mit Programmcode-Mitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um das Verfahren nach jedem beliebigen der Ansprüche 1 bis 8 durchzuführen, wenn das Programmprodukt auf einem Computer ausgeführt wird. 13. Computer program product with program code means, which are stored on a computer-readable data carrier, in order to carry out the method according to any one of claims 1 to 8, when the program product is executed on a computer.
EP19809796.6A 2018-12-18 2019-11-25 Method and device for operating a machine learning model Pending EP3899798A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018222202.9A DE102018222202A1 (en) 2018-12-18 2018-12-18 Method and device for operating a machine learning model
PCT/EP2019/082486 WO2020126339A1 (en) 2018-12-18 2019-11-25 Method and device for operating a machine learning model

Publications (1)

Publication Number Publication Date
EP3899798A1 true EP3899798A1 (en) 2021-10-27

Family

ID=68699438

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19809796.6A Pending EP3899798A1 (en) 2018-12-18 2019-11-25 Method and device for operating a machine learning model

Country Status (4)

Country Link
US (1) US20220044118A1 (en)
EP (1) EP3899798A1 (en)
DE (1) DE102018222202A1 (en)
WO (1) WO2020126339A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020209900A1 (en) 2020-08-05 2022-02-10 Robert Bosch Gesellschaft mit beschränkter Haftung Method and analysis device for processing environmental sensor data
US11943244B2 (en) 2021-06-22 2024-03-26 International Business Machines Corporation Anomaly detection over high-dimensional space
DE102022209460A1 (en) 2022-09-09 2024-03-14 Volkswagen Aktiengesellschaft Method for controlling an artificial neural network when operating a vehicle

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10373019B2 (en) * 2016-01-13 2019-08-06 Ford Global Technologies, Llc Low- and high-fidelity classifiers applied to road-scene images
US10592805B2 (en) * 2016-08-26 2020-03-17 Ford Global Technologies, Llc Physics modeling for radar and ultrasonic sensors
US10360494B2 (en) * 2016-11-30 2019-07-23 Altumview Systems Inc. Convolutional neural network (CNN) system based on resolution-limited small-scale CNN modules

Also Published As

Publication number Publication date
US20220044118A1 (en) 2022-02-10
DE102018222202A1 (en) 2020-06-18
WO2020126339A1 (en) 2020-06-25

Similar Documents

Publication Publication Date Title
DE112017006530B4 (en) FEEDBACK FOR AN AUTONOMOUS VEHICLE
EP3765927B1 (en) Method for generating a training data record for training an artificial intelligence module for a control device of a vehicle
EP3899798A1 (en) Method and device for operating a machine learning model
DE102018132520A1 (en) Method and system for controlling a motor vehicle
DE102016215314A1 (en) Driver assistance system, means of transportation and method for predicting a traffic situation
EP3789926A1 (en) Method for detecting an adversarial fault in the input data of a neural network
WO2018215242A2 (en) Method for determining a driving instruction
DE102018203745A1 (en) Method, a device and a corresponding computer program for varying or suppressing at least one driver information
EP4078238A1 (en) Method and device for making sensor data more robust against adverse disruptions
EP3935463B1 (en) Method and device for operating an automated vehicle
EP4350660A1 (en) System and method for predicting a future position of a traffic participant
DE102019204187A1 (en) Classification and temporal recognition of tactical driving maneuvers by road users
DE102018216719A1 (en) Keyframe-based autonomous vehicle operation
AT524932B1 (en) Method and system for testing a driver assistance system for a vehicle
DE102018203743A1 (en) A method, a device, a mobile user device, and a corresponding computer program for varying or suppressing at least one driver information
WO2021078512A1 (en) Method for making a neural network more robust against adversarial disruptions
DE102013219414A1 (en) Method and device for providing predictive vehicle movement information for a driver assistance system of a vehicle
DE102020129451A1 (en) Method for predicting driving interventions, method for training an algorithm and motor vehicle
EP4078237A1 (en) Method and apparatus for recognising removal of a sensor data domain from a reference data domain
DE102019104973A1 (en) Method and control device for a system for controlling a motor vehicle
DE102020201016A1 (en) Method and device for providing at least one trajectory for an automatically driven vehicle
DE102018203742A1 (en) A method, a device, a mobile user device, and a corresponding computer program for varying or suppressing at least one driver information
DE102019118607A1 (en) ANOMALY DETECTOR FOR VEHICLE CONTROL SIGNALS
DE102006004361A1 (en) Method for determination of duration of vehicle presence at specific location, comprises use of reference times and -paths
DE102019213222B4 (en) Method for predicting a future driving situation of a foreign object, device, vehicle participating in road traffic

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20210719

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20240222