WO2020126339A1 - Verfahren und vorrichtung zum betreiben eines maschinenlernmodells - Google Patents

Verfahren und vorrichtung zum betreiben eines maschinenlernmodells Download PDF

Info

Publication number
WO2020126339A1
WO2020126339A1 PCT/EP2019/082486 EP2019082486W WO2020126339A1 WO 2020126339 A1 WO2020126339 A1 WO 2020126339A1 EP 2019082486 W EP2019082486 W EP 2019082486W WO 2020126339 A1 WO2020126339 A1 WO 2020126339A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
training
machine learning
learning model
subsets
Prior art date
Application number
PCT/EP2019/082486
Other languages
English (en)
French (fr)
Inventor
Fabian HÜGER
Peter Schlicht
Original Assignee
Volkswagen Aktiengesellschaft
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 Aktiengesellschaft filed Critical Volkswagen Aktiengesellschaft
Priority to EP19809796.6A priority Critical patent/EP3899798A1/de
Priority to US17/414,675 priority patent/US20220044118A1/en
Publication of WO2020126339A1 publication Critical patent/WO2020126339A1/de

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

Verfahren und Vorrichtung zum Betreiben eines Maschinenlernmodells Die Erfindung betrifft ein Verfahren zum Betreiben eines Maschinenlernmodells (6, 6a), umfassend die folgenden Schritte während einer Trainingsphase (200): - Empfangen von markierten mehrdimensionalen Trainingsdaten (10), Auswählen von Teilmengen (11) aus den empfangenen Trainingsdaten (10), Erzeugen eines Trainingsdatensatzes (12), wobei der Trainingsdatensatz (12) Datensatzelemente (13) umfasst, welche auf Grundlage der ausgewählten Teilmengen (11) erzeugt werden, Trainieren des Maschinenlernmodells (6) mittels des Trainingsdatensatzes (12); und/oder die folgenden Schritte während einer Inferenzphase (300): Empfangen von Sensordaten (20) mindestens eines Sensors, Auswählen von Teilmengen (21) aus den empfangenen Sensordaten (20), Erzeugen eines Datenstapels (22), wobei der Datenstapel (22) als Stapelelemente (23) jeweils die ausgewählten Teilmengen (21) umfasst, 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), - Ausgeben des Inferenzergebnisses (24). Ferner betrifft die Erfindung einer Vorrichtung (1).

Description

Beschreibung
Verfahren und Vorrichtung zum Betreiben eines Maschinenlernmodells
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Betreiben eines
Maschinenlernmodells.
Maschinenlernen und tiefe Neuronale Netze (engl. Deep Neural Networks) kommen vermehrt auch in Fahrzeugen zum Einsatz, beispielsweise in Infotainmentsystemen,
Fahrerassistenzsystemen, Sicherheitssystemen, bei Komfortfunktionen oder beim
teilautomatisierten oder automatisierten Fahren. Hierbei kommen insbesondere auch
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.
Maschinenlernmodelle und insbesondere tiefe Neuronale Netze sind während des Anwendens, d.h. während einer Inferenzphase beim Ausführen im Fahrzeug, sehr rechenintensiv.
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.
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
Rechenleistung, betrieben werden kann.
Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des
Patentanspruchs 1 und eine Vorrichtung mit den Merkmalen des Patentanspruchs 9 gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Insbesondere wird ein Verfahren zum Betreiben eines Maschinenlernmodells zur Verfügung gestellt, umfassend die folgenden Schritte während einer Trainingsphase:
- Empfangen von markierten mehrdimensionalen Trainingsdaten,
- 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,
- Trainieren des Maschinenlernmodells mittels des Trainingsdatensatzes;
und/oder die folgenden Schritte während einer Inferenzphase:
- Empfangen von Sensordaten mindestens eines Sensors,
- Auswählen von Teilmengen aus den empfangenen Sensordaten,
- Erzeugen eines Datenstapels, wobei der Datenstapel als Stapelelemente jeweils die ausgewählten Teilmengen umfasst,
- Anwenden des oder eines gemäß den Schritten der Trainingsphase trainierten
Maschinenlernmodells auf jedes Stapelelement des Datenstapels, wobei das Anwenden zeitgleich erfolgt, und Ableiten eines Inferenzergebnisses,
- Ausgeben des Inferenzergebnisses.
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:
- Empfangen von markierten mehrdimensionalen Trainingsdaten,
- Auswählen von Teilmengen aus den Trainingsdaten,
- Erzeugen eines Trainingsdatensatzes, wobei der Trainingsdatensatz Datensatzelemente umfasst, welche auf Grundlage der ausgewählten Teilmengen erzeugt werden,
- Trainieren des Maschinenlernmodells mittels des Trainingsdatensatzes;
und/oder die folgenden Schritte während einer Inferenzphase durchzuführen:
- Empfangen von Sensordaten mindestens eines Sensors,
- Auswählen von Teilmengen aus den empfangenen Sensordaten,
- Erzeugen eines Datenstapels, wobei der Datenstapel als Stapelelemente jeweils die ausgewählten Teilmengen umfasst,
- Anwenden des oder eines gemäß den Schritten der Trainingsphase trainierten
Maschinenlernmodells auf jedes Stapelelement des Datenstapels, wobei das Anwenden zeitgleich erfolgt, und Ableiten eines Inferenzergebnisses,
- Ausgeben des Inferenzergebnisses.
Es ist einer der Grundgedanken der Erfindung, Eingangsdaten eines Maschinenlernmodells sowohl beim Trainieren als auch in der Inferenzphase beim Anwenden des
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
Maschinenlernmodell verarbeitet werden müssen. Daher werden aus markierten (gelabelten) mehrdimensionalen Trainingsdaten Teilmengen ausgewählt. Aus den ausgewählten
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
umfangreich ausgebildet sind, kann das Maschinenlernmodell hinsichtlich seiner
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.
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
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
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
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.
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.
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.
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.
Es kann jedoch alternativ oder zusätzlich auch vorgesehen sein, dass beide Teile des
Verfahrens auf einer einzigen Vorrichtung ausgeführt werden, beispielsweise in einem
Fahrzeug.
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.
Die Eingangsdaten des Maschinenlernmodells, das heißt die Trainingsdaten und die
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.
Das Maschinenlernmodell verarbeitet die Eingangsdaten, das heißt Trainingsdaten und
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
Neuronalen Netzen ist eine Auflösung der Eingangsdaten bei sogenannten vollen
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.
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.
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.
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.
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
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,
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.
Es kann ferner vorgesehen sein, gleichermaßen vom Maschinenlernmodell inferierte
Metadaten, wie beispielsweise ein zugehöriges Konfidenzmaß und/oder eine zugehörige Robustheit miteinander zu fusionieren.
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 einer bevorzugten Ausführungsform ist vorgesehen, dass das Maschinenlernmodell ein tiefes Neuronales Netz ist.
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.
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
Verkehrsteilnehmer erkannt, so kann der entsprechende Bildausschnitt mit einer hohen
Relevanz markiert werden und in einem aktuellen Zeitschritt aufgrund dieser Markierung als Teilmenge ausgewählt werden.
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.
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
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.
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.
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
Ä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).
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
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
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
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
Konfidenzwert abgeleitet.
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.
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
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
zweidimensionale Daten, beispielsweise Bilddaten einer Abbildung einer Kamera, so sind die jeweils ausgewählten Teilmengen ebenfalls zweidimensional. Die zweidimensionalen
Teilmengen werden dann zu einer dreidimensionalen Matrix zusammengefasst. Das Trainieren und das Anwenden werden dann jeweils auf der dreidimensionalen Matrix durchgeführt.
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
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
Kompromiss zwischen Rechenleistung bzw. Rechendauer und einer Menge an verarbeiteten Eingangsdaten angestrebt.
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.
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.
Es wird ferner insbesondere ein Fahrzeug geschaffen, umfassend mindestens eine Vorrichtung gemäß einer der beschriebenen Ausführungsformen.
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.
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.
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
Betreiben eines Maschinenlernmodells (Trainingsphase);
Fig. 2 eine schematische Darstellung einer Ausführungsform der Vorrichtung zum
Betreiben eines Maschinenlernmodells (Inferenzphase);
Fig. 3 ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum
Betreiben eines Maschinenlernmodells.
In Fig. 1 ist eine schematische Darstellung einer Ausführungsform der Vorrichtung 1 zum Betreiben eines Maschinenlernmodells 6 während einer Trainingsphase gezeigt. Das
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.
Während der Trainingsphase des tiefen Neuronalen Netzes 4 empfängt die
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.
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
Relevanz 14 können der Auswahleinrichtung 5 beispielsweise von außen bereitgestellt werden.
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.
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.
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.
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.
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.
Während der Inferenzphase des trainierten tiefen Neuronalen Netzes 4a empfängt die
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.
Anschließend wählt die Recheneinrichtung 2 aus den empfangenen Sensordaten 20
Teilmengen 21 aus. Hierzu umfasst die Recheneinrichtung 2 eine Auswahleinrichtung 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
Relevanz 14 können der Auswahleinrichtung 5 beispielsweise von außen bereitgestellt werden.
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.
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.
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
Neuronalen Netzes 4a gleichzeitig erzeugt, wobei eine Anzahl einer Anzahl von
Stapelelementen 23 in dem Datenstapel 22 entspricht. Anschließend führt die
Recheneinrichtung 2 den einzelnen Instanzen des trainierten tiefen Neuronalen Netzes 4a zeitgleich jeweils eines der Stapelelemente 23 zu. Die Instanzen des trainierten tiefen
Neuronalen Netzes liefern jeweils ein inferiertes Ergebnis. Die inferierten Ergebnisse werden ebenfalls als Stapel oder in zusammengefasster Form als Inferenzergebnis 24 bereitgestellt.
Das Inferenzergebnis 24 wird anschließend ausgegeben, beispielsweise als digitales
Datenpaket. Das Ausgeben erfolgt beispielsweise mittels einer hierfür vorgesehenen
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.
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.
Zuverlässigkeit des jeweils inferierten Ergebnisses.
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
unterscheiden, eine Trainingsphase 200 und eine Inferenzphase 300. Diese können sowohl einzeln als auch zusammengefasst ausgeführt werden.
Nach einem Starten 100 des Verfahrens werden in der Trainingsphase 200 die
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
(gelabelt), das heißt den Abbildungen sind Informationen über die in den Abbildungen vorhandenen Objekte und/oder deren Größe, Eigenschaften usw. zugeordnet.
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.
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.
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.
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.
In einem Verfahrensschritt 203 wird ein Trainingsdatensatz bereitgestellt. Der
Trainingsdatensatz umfasst Datensatzelemente, welche jeweils aus den ausgewählten
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
(niedrigaufgelösten) Teilmengen statt, welche als Datensatzelemente im Datensatz
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.
In einem Verfahrensschritt 204 wird das tiefe Neuronale Netz mittels des Trainingsdatensatzes trainiert. Hierbei können an sich bekannte Verfahren des Maschinenlernens verwendet werden.
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.
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.
Mit Abschluss der Trainingsphase 200 steht ein trainiertes tiefes Neuronales Netz zur
Verfügung, welches in einer nachfolgenden Inferenzphase verwendet werden kann.
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
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.
Die Inferenzphase 300 umfasst die Verfahrensschritte 301 bis 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 einem Verfahrensschritt 302 werden Teilmengen aus den empfangenen Sensordaten ausgewählt. Die Teilmengen sind in dem beschriebenen Beispiel Bildausschnitte der Abbildung.
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
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.
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.
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
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.
Bildausschnitte auf Grundlage von Salienzverfahren erfolgt (Human Salience oder Machine Salience, z.B. Optical Flow, trainierte Salienzverfahren, Heatmappingverfahren bei einem vorherigen Zeitschritt usw.).
In einem Verfahrensschritt 303 wird ein Datenstapel erzeugt. Der Datenstapel umfasst Stapelelemente, die jeweils aus den ausgewählten Teilmengen erzeugt werden.
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 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
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.
Anschließend ist das Verfahren beendet 400.
Es kann vorgesehen sein, dass die Inferenzphase des Verfahrens anschließend wiederholt wird, wobei zu einem späteren Zeitpunkt erfasste Sensordaten ausgewertet werden.
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.
Bezugszeichenliste
Vorrichtung
Recheneinrichtung
Speicher
tiefes Neuronales Netz
a trainiertes tiefes Neuronales Netz
Auswahleinrichtung
Maschinenlernmodell
a trainiertes Maschinenlernmodell
0 Trainingsdaten
1 Teilmenge
2 Trainingsdatensatz
3 Datensatzelement
4 Relevanz
5 situationsabhängiger Kontext
6 Konfidenzmaß
0 Sensordaten
1 Teilmenge
2 Datenstapel
3 Stapelelement
4 Inferenzergebnis
0 Fahrzeug
1 Sensor
2 Assistenzsystem
00 Verfahrensschritt
00 Trainingsphase
01-204 Verfahrensschritte
01-305 Verfahrensschritte
00 Inferenzphase
00 Verfahrensschritt

Claims

Patentansprüche
1. Verfahren zum Betreiben eines Maschinenlernmodells (6), umfassend die folgenden Schritte während einer Trainingsphase (200):
- Empfangen von markierten mehrdimensionalen Trainingsdaten (10),
- Auswahlen von Teilmengen (11 ) aus den empfangenen Trainingsdaten (10),
- Erzeugen eines Trainingsdatensatzes (12), wobei der Trainingsdatensatz (12)
Datensatzelemente (13) umfasst, welche auf Grundlage der ausgewählten Teilmengen (11 ) erzeugt werden,
- Trainieren des Maschinenlernmodells (6) mittels des Trainingsdatensatzes (12); und/oder die folgenden Schritte während einer Inferenzphase (300):
- Empfangen von Sensordaten (20) mindestens eines Sensors,
- Auswählen von Teilmengen (21 ) aus den empfangenen Sensordaten (20),
- Erzeugen eines Datenstapels (22), wobei der Datenstapel (22) als
Stapelelemente (23) jeweils die ausgewählten Teilmengen (21 ) umfasst,
- 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),
- Ausgeben des Inferenzergebnisses (24).
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass das Maschinenlernmodell (6, 6a) ein tiefes Neuronales Netz (4, 4a) ist.
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
Inferenzphase (300) auf Grundlage einer Relevanz (14) der jeweiligen Teilmengen (11 , 21 ) erfolgt.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass das
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.
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.
6. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass zum Trainieren des Maschinenlernmodells (6) die Datensatzelemente (13) im
Trainingsdatensatz (12) 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 (6a) die Stapelelemente (23) im Datenstapel (22) zu einer Matrix zusammengefasst werden, wobei die zum Inferieren notwendigen Rechenoperationen auf der Matrix ausgeführt werden.
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.
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.
9. Vorrichtung (1 ) zum Betreiben eines Maschinenlernmodells (4, 4a), umfassend:
eine Recheneinrichtung (2) mit einem Speicher (3), in dem das Maschinenlernmodell (6, 6a) ausgebildet ist,
wobei die Recheneinrichtung (2) dazu eingerichtet ist, die folgenden Schritte während einer Trainingsphase (200) durchzuführen:
- Empfangen von markierten mehrdimensionalen Trainingsdaten (10),
- Auswählen von Teilmengen (11 ) aus den Trainingsdaten (10),
- Erzeugen eines Trainingsdatensatzes (1 1 ), wobei der Trainingsdatensatz (1 1 )
Datensatzelemente (13) umfasst, welche auf Grundlage der ausgewählten Teilmengen (11 ) erzeugt werden,
- Trainieren des Maschinenlernmodells (6) mittels des Trainingsdatensatzes (1 1 ); und/oder die folgenden Schritte während einer Inferenzphase (300) durchzuführen:
- Empfangen von Sensordaten (20) mindestens eines Sensors (51 ),
- Auswahlen von Teilmengen (21 ) aus den empfangenen Sensordaten (20),
- Erzeugen eines Datenstapels (22), wobei der Datenstapel (22) als
Stapelelemente (23) jeweils die ausgewählten Teilmengen (21 ) umfasst,
- 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),
- Ausgeben des Inferenzergebnisses (24).
10. Vorrichtung (1 ) nach Anspruch 9, dadurch gekennzeichnet, dass das
Maschinenlernmodell (6, 6a) ein tiefes Neuronales Netz (4, 4a) ist.
11. Fahrzeug (50), umfassend mindestens eine Vorrichtung (1 ) gemäß Anspruch 9 oder 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.
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.
PCT/EP2019/082486 2018-12-18 2019-11-25 Verfahren und vorrichtung zum betreiben eines maschinenlernmodells WO2020126339A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19809796.6A EP3899798A1 (de) 2018-12-18 2019-11-25 Verfahren und vorrichtung zum betreiben eines maschinenlernmodells
US17/414,675 US20220044118A1 (en) 2018-12-18 2019-11-25 Method and Device for Operating a Machine Learning Model

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018222202.9A DE102018222202A1 (de) 2018-12-18 2018-12-18 Verfahren und Vorrichtung zum Betreiben eines Maschinenlernmodells
DE102018222202.9 2018-12-18

Publications (1)

Publication Number Publication Date
WO2020126339A1 true WO2020126339A1 (de) 2020-06-25

Family

ID=68699438

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/082486 WO2020126339A1 (de) 2018-12-18 2019-11-25 Verfahren und vorrichtung zum betreiben eines maschinenlernmodells

Country Status (4)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11943244B2 (en) 2021-06-22 2024-03-26 International Business Machines Corporation Anomaly detection over high-dimensional space

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020209900A1 (de) 2020-08-05 2022-02-10 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Analysiereinrichtung zum Verarbeiten von Umfeldsensordaten
DE102022209460A1 (de) 2022-09-09 2024-03-14 Volkswagen Aktiengesellschaft Verfahren zum Steuern eines künstlichen neuronalen Netzes beim Betreiben eines Fahrzeuges

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170200063A1 (en) * 2016-01-13 2017-07-13 Ford Global Technologies, Llc Low- and high-fidelity classifiers applied to road-scene images
US20180060725A1 (en) * 2016-08-26 2018-03-01 Ford Global Technologies, Llc Physics Modeling for Radar and Ultrasonic Sensors

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360494B2 (en) * 2016-11-30 2019-07-23 Altumview Systems Inc. Convolutional neural network (CNN) system based on resolution-limited small-scale CNN modules

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170200063A1 (en) * 2016-01-13 2017-07-13 Ford Global Technologies, Llc Low- and high-fidelity classifiers applied to road-scene images
US20180060725A1 (en) * 2016-08-26 2018-03-01 Ford Global Technologies, Llc Physics Modeling for Radar and Ultrasonic Sensors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11943244B2 (en) 2021-06-22 2024-03-26 International Business Machines Corporation Anomaly detection over high-dimensional space

Also Published As

Publication number Publication date
US20220044118A1 (en) 2022-02-10
DE102018222202A1 (de) 2020-06-18
EP3899798A1 (de) 2021-10-27

Similar Documents

Publication Publication Date Title
WO2020126339A1 (de) Verfahren und vorrichtung zum betreiben eines maschinenlernmodells
DE102018132520A1 (de) Verfahren sowie System zum Steuern eines Kraftfahrzeugs
DE102016215314A1 (de) Fahrerassistenzsystem, Fortbewegungsmittel und Verfahren zur Prädiktion einer Verkehrssituation
EP3789926A1 (de) Verfahren zum erkennen einer adversarialen störung in eingangsdaten eines neuronalen netzes
DE102018132370A1 (de) Verwendung von tiefer videobildvorhersage zum trainieren einer steuerung eines autonomen fahrzeugs und verfahren davon
WO2018215242A2 (de) Verfahren zur ermittlung einer fahranweisung
DE102018203745A1 (de) Verfahren, eine Vorrichtung sowie ein korrespondierendes Computerprogramm zum Variieren oder Unterdrücken zumindest einer Fahrerinformation
DE102016203522B4 (de) Verfahren und Vorrichtung zum Vorhersagen von Trajektorien eines Kraftfahrzeugs
WO2021122338A1 (de) Verfahren und vorrichtung zum robustifizieren von sensordaten gegen adversariale störungen
DE102019204187A1 (de) Klassifizierung und temporale Erkennung taktischer Fahrmanöver von Verkehrsteilnehmern
DE102018216719A1 (de) Schlüsselbildbasierter autonomer Fahrzeugbetrieb
AT524932B1 (de) Verfahren und System zum Testen eines Fahrerassistenzsystems für ein Fahrzeug
DE102018203743A1 (de) Verfahren, eine Vorrichtung, ein mobiles Anwendergerät, sowie ein korrespondierendes Computerprogramm zum Variieren oder Unterdrücken zumindest einer Fahrerinformation
EP4049186A1 (de) Verfahren zum robustifizieren eines neuronalen netzes gegen adversariale störungen
DE102020129451A1 (de) Verfahren zur Prädiktion von Fahreingriffen, Verfahren zum Training eines Algorithmus und Kraftfahrzeug
EP4078237A1 (de) Verfahren und vorrichtung zum erkennen einer entfremdung einer sensordatendomäne von einer referenzdatendomäne
DE102019104973A1 (de) Verfahren sowie Steuergerät für ein System zum Steuern eines Kraftfahrzeugs
DE102020201016A1 (de) Verfahren und Vorrichtung zum Bereitstellen mindestens einer Trajektorie für ein automatisiert gefahrenes Fahrzeug
DE102018203742A1 (de) Verfahren, eine Vorrichtung, ein mobiles Anwendergerät, sowie ein korrespondierendes Computerprogramm zum Variieren oder Unterdrücken zumindest einer Fahrerinformation
DE102019118607A1 (de) Anomaliedetektor für fahrzeugsteuersignale
DE102013219414A1 (de) Verfahren und Vorrichtung zur Bereitstellung einer prädiktiven Fahrzeugbewegungsinformation für ein Fahrerassistenzsystem eines Fahrzeugs
DE102006004361A1 (de) Verfahren und System zur Ermittlung der Aufenthaltswahrscheinlichkeit eines Fahrzeuges
DE102019213222B4 (de) Verfahren zum Vorhersagen einer zukünftigen Fahr-Situation eines am Straßenverkehr teilnehmenden Fremd-Objektes, Vorrichtung, Fahrzeug
DE102019219924B4 (de) Verfahren und Vorrichtung zum Erzeugen und Bereitstellen einer Datenbank mit darin hinterlegten Sensordatenpatches zur Verwendung beim Quilting
DE102022200353A1 (de) Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19809796

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019809796

Country of ref document: EP

Effective date: 20210719