WO2019068291A1 - - prüfen eines neuronalen netzes - - Google Patents
- prüfen eines neuronalen netzes - Download PDFInfo
- Publication number
- WO2019068291A1 WO2019068291A1 PCT/DE2018/200091 DE2018200091W WO2019068291A1 WO 2019068291 A1 WO2019068291 A1 WO 2019068291A1 DE 2018200091 W DE2018200091 W DE 2018200091W WO 2019068291 A1 WO2019068291 A1 WO 2019068291A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- neural network
- layer
- result
- plausibility
- output
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0025—Planning or execution of driving tasks specially adapted for specific operations
- B60W60/00259—Surveillance operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Definitions
- the invention relates to a method and a system for checking the output of a neural network, the invention further relates to a vehicle with such a system
- Program element and a computer readable medium.
- Driver assistance systems play an important role in improving road safety, such as Adaptive Cruise Control (ACC), Emergency Brake Assist (EBA) and Lateral Control Functions (LCF), such as Automatic Cruise Control (EBF).
- ACC Adaptive Cruise Control
- EBA Emergency Brake Assist
- LPF Lateral Control Functions
- EPF Automatic Cruise Control
- Road or lane departure prevention "oncoming” RDP / LPD oncoming, automatic prevention of lane departure or lane of own vehicle on oncoming vehicles
- the aim of these systems is the robust detection and classification of objects, lanes and traffic
- Machine learning architectures based on deep learning are an important contribution to the robust recognition of features and objects.
- very powerful and powerful neural networks have arisen in the past, e.g. the ResNet, GoogleNet or VGG-16.
- the neural networks used typically have a great depth and they are trained with large data sets (training data).
- CNNs convolutional neural networks
- a first aspect of the invention relates to
- a computer-implemented method for testing the output of a multi-layered neural network that detects or classifies objects. The method comprises the following steps:
- the first checking step comprises comparing the confidence value of the result with a predefined threshold value
- the complete result of at least one layer of the neural network is checked, ie in each case the result of all the nodes contained in this layer.
- a neural network can be trained with training data before it is put into operation.
- the layers consist of interconnected nodes (“nodes”), each of which has activation functions associated with them, and the connections between the nodes are weights
- the individual nodes (or subsets of such nodes) form mathematical filters.
- these filters may be created in the individual layers after the weights by which the individual layers and / or nodes / filters are connected have been initialized.
- the filters in the layers may each be responsible for a particular feature or feature component in the later operation of the neural network.
- the outputs of the neural network can be matched to a desired output of the neural network. The output can be optimized for the desired output by means of the filters, the layers and the weights between the layers so that the trained neural network generates the desired output for certain input data.
- the neural network can be acted upon with input data, for example, the input data can be generated by sensors. These input data can be analyzed by the filters of the individual layers of the neural network. To do this, the filters generate
- Filter responses wherein the filter responses are generated by features in the input data and correspond with them. Thus, based on the filter responses, certain features in the input data can be deduced.
- Filter responses can have confidence values for each feature detected in the input data.
- a confidence value is a measure of the reliability or plausibility of the respective feature recognition.
- the confidence value may be, for example, a probability, e.g. with which
- the confidence value may also be a statistical confidence or other parameter, or a combination of multiple confidence values and parameters, depending on the implementation can be merged in the layers to an object or a larger feature or in larger
- Classes are classified. These detected objects should correspond with the real objects present in the input data. Furthermore, those recognized by the respective layer or by the neural network can also be used.
- classified objects may be provided with a confidence value that says "safe” is the layer or neural network, that the object has been correctly recognized and / or classified, and that object-related confidence values may be defined analogously to those discussed above Feature-related confidence values, for example, the input data of a
- Vehicle camera sensor come as an input image.
- CNNs convolutional neural networks
- each of these convolution filters is stepped over the input image and / or intermediate results (activation folders) of the previous one
- An activation map is the (two-dimensional) result of applying a
- each of these convolution filters is assigned an activation folder at the output of a layer.
- a set of activation folders is calculated per layer of a neural network. Positions in these file folders correlate to positions in the image area (perceptive field).
- Such a set of activation folders for this layer may be referred to as the "result (s) of a layer" of a neural network.
- results of a layer can be arbitrarily combined in a neural network. Common are the concatenation of results and the continuation in one or more subsequent layers.
- the output layers are either also convolutional layers or fully connected layers.
- the neurons of the last output layers predicate eg the class of an object, the localization of an object, attributes of an object, etc.
- “result (s) of a layer” of a neural network can also be the activations of the respective
- the first method step as follows: reading at least one result from at least one
- the object recognition may consist of a feature extraction stage neural network, an object hypothesis generation processing unit, and an object classification unit.
- Layers are the various layers of the neural network ("NN"), therefore the term “layer” is used synonymously with the term "layer” in the context of the present invention.
- a neural network typically has at least one layer.
- Preferred are deep neural networks (deep NNs), neural networks with at least three layers, i. neural networks having at least one hidden layer between an input layer (in which the
- Input data Input data
- an output layer in which the result or the output of the object recognition takes place.
- a neural network it is common for a neural network to have a plurality of different layers of different complexity. Each layer in turn may have a plurality of filters. Furthermore, the individual layers are interconnected by different weights.
- This plausibility checker can perform the first verification step. For example, in the first checking step by high filter responses and their confidence values of one or more filters of a layer of the neural network, the plausibility of the result of a
- the plausibility checker which performs the first checking step, may for example consist of a simple method, which by means of
- Threshold technique checks the plausibility of the result or the results of the neural network or the individual layers of the neural network.
- the output of the neural network or a layer of the neural network can be checked by an independent entity for plausibility. This can be done for example by the plausibility checker. If it is found in the first checking step that the result of the checked layer of the neural network or the output of the neural network appears plausible, then a correct object recognition by the neural network can be concluded. If, on the other hand, it is determined in the first checking step that the result of the neural network layer under test or the output of the neural network is implausible, then false detection of the object by the neural network (for example due to a delusion) can be inferred. Thus, it can be avoided that the neural network outputs an incorrect output or a false result, which in turn leads to improved object recognition by the neural network. It can thus be avoided or at least reduced a frequency that objects are not recognized, or that objects
- the result and the confidence value of this result of one or more layer (s) of the neural network can be read in, for example by the plausibility checker. Subsequently, the output of the neural network or the result of the layer of the neural network on the plausibility of the result or the
- Object detection are checked, wherein the checking takes place taking into account the confidence value of the result.
- the confidence value of the result can be compared with a predefined threshold value. This predefined threshold can be e.g. 90%, 95% or 99%.
- the predefined threshold value can be undershot or exceeded here.
- two threshold values can be provided, which are an upper threshold (maximum acceptable confidence value) and a
- Sub threshold (minimum acceptable confidence value). Furthermore, the threshold value can be determined manually or automatically. It should be noted that several different threshold values can be used as a comparison depending on the position of the layer or the filter within the neural network. In addition to the absolute threshold can also be a relative threshold.
- the threshold value can be determined automatically, this can be done in particular in the context of the training of the neural network.
- the neural network can be specifically acted upon with manipulated input data, to implausible filter responses and corresponding
- the thus provoked behavior of the neural network can be used in the determination of the relevant
- Threshold for each filter or each layer are taken into account.
- Classification approaches also commonly known as Outlier Detection, Novelty Detection or Abnormality Detection
- the respective thresholds can also be learned through a training consisting of a combination of supervised learning with examples of deception and one-class classification.
- the output of the thresholds can be binary (in scope, out of scope), three values (underflow, overflow, in scope), or continuous.
- the output format may differ for the individual neurons, filters and layers of the neural network.
- Input data are influenced by the sensor itself, for example by noise or environmental influences.
- High confidence values of, for example, 90% and more indicate erroneous object recognition by the neural network.
- the predefined threshold can also be adjusted to each layer to be checked, so that you can check the
- the verification of the plausibility of the result can be done in different ways. This may in particular depend on the type of plausibility checker and the position of the
- Verification step of the method the or all results of several or all layers of the neural network and their confidence levels in a parent
- the checking step may in turn comprise an object recognition based on the same input data as the neural network to be checked.
- This (second) check can be triggered by a conspicuity in the existing neural network that was detected in the first verification step.
- the confidence value of a layer or a filter may be implausibly high or low, or a filter response will extremely strike a particular feature in the input data.
- Verification step and the result of the neural network can then be compared.
- the second checking step may also comprise a comparison with a list comprising known false identifiers of the neural network to be checked.
- the list can be matched with the input data of the neural network.
- the plausibility checker can already know input data which leads to false object recognition in the neural network or in a layer of the neural network.
- the checking step can provide the confidence value of the neural network layer to be checked for checking the plausibility of the neural network
- the method may further provide an implausibly high or low confidence value with respect to a feature of
- the neural network Close object recognition by the neural network. This may be the case, for example, if the confidence value of the Result of the layer of the neural network or the output of the neural network (the object recognition), for example, over 90%, 95% or 99% or less than 15%, 10% or 1%. Furthermore, in the checking step, the plausibility of the result of a layer can be determined on the basis of an analysis of the
- Input data extremely high this may indicate an abnormal behavior of the neural network.
- This abnormal behavior can be caused, for example, by a targeted attack from outside, such as an "adversarial attack", for example by applying the neural network with manipulated input data, by changing the image or by directly applying the neural network, without the input data of one
- This manipulated input data can lead to high filter responses in individual filters, and an object detection with a high confidence value is the result, although the input data with the actual, supposedly recognized, objects have little in common recognize neural network noise as one object or classify an object A as another object B.
- classification algorithms can be used in order to draw conclusions about a malfunction of the neural network based on combinations of the confidence values. Algorithms such as Random Forests, Decision Trees, Support Vector Machines, Markov Random Fields, Graphical Models, logistic regression, Bayesian model or small neural networks are used. These allow non-linear decision boundaries in a decision tree consisting of the confidence values of individual layers, filters, neurons, subnets or the entire network.
- the object recognition of the neural network can be made more efficient, since it is not necessary to calculate the complete neural network if it is concluded that the neural network is being incorrectly identified or classified. Furthermore, the method described above and below can be implemented in a very resource-saving manner, for example directly in an embedded system. On the other hand, the confidence values of the neuronal to be checked are determined
- the output of the neural network is checked by another classifier or a blacklist / whitelist and thus made plausible.
- the method can be carried out, for example, by the plausibility checker, which can be realized by a processor on a control unit.
- the method can work and be carried out independently of the neural network to be checked. In particular, the method can be performed in parallel with the neural network to be checked.
- the method can be used to check a plurality of different neural networks or a neural network can be checked by means of a plurality of different neural networks
- Procedures to be reviewed interfaces for reading in the Result and its confidence value to be examined layer of the neural network.
- Detections of any kind such as lane detection, road user recognition, traffic character recognition,
- Architecture or network architecture refers to the structure of the neural network, ie how many layers the neural network has and how the individual layers are shaped. Furthermore, the weights and filters in or between the individual layers can affect the architecture of the neural network. Deep neural networks typically have a plurality of layers interconnected by different weights.
- an incorrect or correct object recognition of the neural network is concluded when the confidence value of the result exceeds or falls below the predefined threshold value.
- a second checking step is performed only if (in the first checking step) the confidence value of the result exceeds or falls below a predefined threshold value or if a combination of confidence values of filters and / or layers exceeds or exceeds their respective threshold values
- Verification step confirms that a wrong
- the second checking step may determine the confidence levels of the layers of the neural network for the verification of
- the second checking step may be performed by a high
- Confidence value in a layer of the neural network in the first triggered or triggered in the checking step, the plausibility checker can then take a closer look at the result of a specific layer and check it for plausibility if the confidence value of the result of this layer exceeds or falls short of a predefined threshold value.
- This can provide a two-step and efficient method for checking the output of a neural network. In other words, a more detailed and detailed review of the outcome of a given
- Layer of the neural network if a first indication of a false object detection, here an implausible confidence value, was detected.
- a first indication of a false object detection here an implausible confidence value
- the second checking step is carried out by means of an arbitrary method, such as i) a Support Vector Machine, ii) a Structured Random Forest, iii) a One Class Classifier or iv) a convolved neural network (CNN), wherein the arbitrary method is independent of the neural network with multiple layers for object recognition.
- a Support Vector Machine ii) a Structured Random Forest, iii) a One Class Classifier or iv) a convolved neural network (CNN)
- CNN convolved neural network
- a verification step may be performed by another machine learning method.
- Exemplary here is a support vector machine (SVM), a decision tree or a structured random forest (SRF), a stochastic neural network, such. a restriced
- SVM support vector machine
- SRF structured random forest
- stochastic neural network such. a restriced
- RBM Boltzmann Machine
- OCC One Class Classifier
- CNN Convolutional Neural Network
- nonlinear regression Alternatively or additionally, the
- Verification step also by the plausibility checker or a classifier based on threshold technology, or a predefined list of known misrecognitions, such as a blacklist or whitelist, are performed.
- the plausibility checker can match the input data of the neural network with known data in which the neural network typically performs a false object detection.
- the false identifiers of the neural network can, for example, during the
- the false identifiers may be known by the architecture of the neural network or by appropriate means
- Algorithms are found or determined.
- the result of the last layer (output of the neural network) of the neural network or the result of each layer of the neural network is checked for plausibility.
- the plausibility check can in this case also be based exclusively on the last layer of the neural network, the last layer being the
- Expenditure layer of the neural network is. In a verification step can be provided
- the plausibility checker may check the input data, e.g. Match or compare image data, acoustic data, textual data directly with the objects detected by the neural network, or the classified objects.
- the input data e.g. Match or compare image data, acoustic data, textual data directly with the objects detected by the neural network, or the classified objects.
- Plausibilticiansprüfer itself be a classifier, which performs its own and independent object recognition or the plausibility checker concludes on the basis of the confidence values of the detected by the neural network objects on their
- the result of the object recognition of the plausibility checker deviates from the result of the object recognition of the neural network, this can be concluded from an implausible object recognition by the neural network.
- the neural network can then again perform the object recognition or request further or new input data.
- An action such as using the object recognition to control a vehicle system, may be omitted based on the implausible data.
- the result of each individual layer of the neural network can also be checked for plausibility.
- the results of the check of each layer can also be evaluated in a higher-level validation layer, for example, so that a false or correct object recognition by the neural network can be concluded when the synopsis of the individual checked
- Validation layer is also referred to as a global method because it is located globally over the individual layers of the neural network. It should be noted that in the checking step, results of a plurality of layers of the neural network, but not of all layers, can be checked for plausibility.
- a partial result within at least one layer of the neural network is checked for plausibility.
- a hidden layer of a network can be checked for plausibility.
- Confidence values to be checked for plausibility. For example, It can be known which filters of a certain layer are significantly involved in incorrect or correct object recognition of the neural network. In particular, which filters are involved with respect to certain objects or classes of objects to be recognized, such as other vehicles, lanes, potholes, animals, cyclists, pedestrians, or obstacles. When checking the filter responses can be used as a benchmark for
- Filter responses are also referred to as local procedures because they are checked locally within the layer.
- the results of at least two different layers of the neural network are checked for plausibility in order to obtain a to conclude incorrect or correct object recognition of the neural network.
- the last layer, or the results of all layers may also have any other number or plurality of results from different layers in the layer
- Verification step to be checked for plausibility.
- the results of two or more layers of the neural network can be checked. These two or more checks may then be used in their synopsis to infer whether the neural network has performed incorrect or correct object detection. This can be a
- the results of the individual reviews are summarized.
- the results of the validation may be weighted equally or differently to infer incorrect or correct object recognition by the neural network. For example, in the
- Validation layer to decide whether it is sufficient to conclude a false object detection by the neural network, if a confidence value is implausibly high, but the remaining confidence values are within the expected range.
- a two-stage method for checking the output of a neural network can arise. On the one hand, individual results of layers of the neural network are checked for plausibility and, on the other hand, the synopsis of all results of the examined layers is analyzed or evaluated in order to check the object recognition of the neural network.
- the at least two checks of the at least two layers of the neural network are weighted differently.
- the results are checked for plausibility, the result of this review in the validation layer can be weighted differently, in particular for the
- Object recognition particularly relevant or critical layers of the neural network are weighted more heavily.
- the method is provided for use in a vehicle or a control device for a vehicle.
- the method described above and below can be used in a driver assistance system, wherein the driver assistance system comprises recognizing or classifying objects.
- the driver assistance system which requires or uses optical input data.
- the driver assistance system may be based on a camera, a lidar sensor, a radar sensor, an ultrasound sensor, a thermal imager, a laser scanner, or any combination of all of the aforementioned sensors (or any subset thereof).
- the input data for the neural network for object recognition or classification comprise or contain image data that is at least one
- LSMN long-term short-term memory networks
- RNN Recurrent Neural Networks
- the method can find application in continuous, life-long and award-based deep learning procedures. These include architectures and procedures based on, for example, reinforcement learning techniques. Also, for better extraction of features, a neural network with feedback loop or
- Obj ektdetektions mentor be extended. This also applies to signal processing from applications with input data such as thermal images, ultrasound images, magnetic resonance signals, near-infrared spectroscopy and / or computed tomography, but also audio, radar, laser and lidar data, e.g. in medical technology. Furthermore, the method can be used in robotics for machine vision and in particular for advanced drivers
- ADAS Assistance Systems
- the described neural networks can be applied to the field of
- Object detection methods that use spatial and temporal data, such as those described in US Pat. Videos and / or images containing spatial information such as optical flow, disparty maps or depth maps.
- the false-positive rate ie the number of false detections can be improved
- the computing time in a false detection can be reduced, as in a hitting the
- Object detection can be improved in because the extreme values are checked by a second instance.
- Time span between the individual steps of the method lie. Also, the order of the individual steps can be changed.
- Another aspect of the invention relates to a system for testing the output of a multi-layered neural network which identifies or classifies objects.
- This system has an interface (IN) for obtaining at least one
- a plausibility checker to check the result taking into account its confidence value, so as to conclude a false or correct object detection of the neural network, and an output interface for outputting objects recognized or classified by the neural network.
- the plausibility checker compares the confidence value of the result with a predefined threshold value.
- the system can in particular be a microcontroller or
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- the method described above and below may be implemented on a system.
- the system can use an interface to transfer the result or the results of the read-in layer (s) of the neural network or filters.
- the plausibility checker can then be used to transfer the result or the results of the read-in layer (s) of the neural network or filters.
- the plausibility checker can, for example, from a
- classifiers which are not based on a neural network structure and may be arranged downstream of the neural network in order to perform the object recognition or the
- the plausibility checker can also consist of another network architecture, which the
- Probability of a targeted attack on the neural network such as An adversarial attack has already been described in the description of the procedure, so that a repetition is not required.
- Plausibility checker configured to compare the result of the layer to be checked with a predefined threshold value.
- the predefined threshold value can be undershot or exceeded, or a combination of confidence values for several filters and / or layers can be exceeded or undershot. Furthermore, a lower threshold and an upper threshold may also be provided so that the result should be between the upper and lower thresholds. If the result of the layer to be checked exceeds or falls below the predefined threshold value, it is possible to conclude that the neural network has received incorrect or correct object recognition.
- the confidence values of the object recognition of the individual layers of the neural network can be compared with the predefined threshold value and if the confidence value For example, over 90% can be concluded on a false object detection of the neural network, because so high
- Confidence values indicate a manipulation. In other words, the object recognition by the neural network would be too good to be plausible.
- the plausibility checker and / or the neural network has been trained with a predefined reference data record. Furthermore, a training based on one-class classification approaches is possible.
- Training is understood to be the targeted application of known input data to the neural network.
- the result ie the output of the neural network on the known ones
- Input data can be replayed during training the neural network.
- the solution or the correct object recognition with respect to the input data can be specified.
- the neural network processes input data and compares this with a predetermined target result.
- the neural network then adapts until the desired result is generated by the neural network.
- a large number of training data is required.
- the training takes a certain amount of time and, depending on the complexity of the neural network and the number of training data
- Reference data set to be trained can be trained at the same time, eg false object recognition of the neural network are included in a blacklist or whitelist, so that in later operation, the data of the blacklist or the whitelist can be matched with the input data or the output of the neural network.
- Another aspect of the invention relates to a vehicle having a control system for influencing a driving behavior or condition of the vehicle, the control system having a system described above and below, wherein the control system performs a control action based on the output of the neural network after one of the checks through the plausibility checker.
- the designation vehicle is not alone on one
- Another aspect of the invention relates to a program element that, when executed on a data processing system, directs the data processing system to execute the method described above and below. Another aspect of this invention relates to
- the present invention may be implemented in digital electronic circuits, computer hardware, firmware or software.
- the invention relates to a Driver assistance system with a system described above and below.
- Fig. 1 shows a neural network, wherein the last layer of the neural network is checked, according to an embodiment of the invention.
- FIG. 2 shows a neural network examining each layer of the neural network according to an embodiment of the invention.
- FIG. 3 shows a neural network examining selected layers and / or selected filters of a layer of the neural network according to one embodiment of the invention.
- FIG. 4 shows a flow chart for a method for testing a neural network according to an embodiment of the invention
- Fig. 5 shows a system for testing a neural network according to an embodiment of the invention.
- FIG. 6 shows a vehicle having a system for testing a neural network according to an embodiment of the invention.
- FIG. 1 shows a neural network 1 with a specific architecture according to an embodiment of the invention, wherein the
- Plausibility check 10 according to the classification level of the neural network 1, that is the last layer 11 (output of the neural network), is arranged.
- the plausibility checker 10 checks the result or the output of the neural network 1 taking into account the input image 12
- plausibility checker 10 may itself be a classifier that is different from neural network 1.
- Object detection by the neural network 1 are closed.
- the verification of the individual features or the object recognition can be done by comparing the confidence values of the
- the plausibility checker 10 may include a Support Vector Machine (SVM), a small, i. comprise sibling (to the neural network 1), neural network or a structured random forest, which checks the plausibility of the object recognition of the neural network 1 with the aid of the input image 12 and the results of the neural network 1.
- SVM Support Vector Machine
- Another advantage of this architecture may be that different
- plausibility checkers 10 can also conclude that the neural network detects incorrect or correct object recognition.
- the confidence values may be the normalized output of the last layer 11 of the network 1.
- the normalization may be, for example, a softmax function which displays the outputs for the respective object class in relation to the sum over all Weighted object classes.
- Interlayers can provide confidence values for each individual
- Filter or node for groups of filters or nodes or for an entire layer.
- the plausibility checker 10 forms an autonomous entity / subsystem other than the neural network 1. Spatially, the plausibility checker 10 may be integrated into the network, but this is not mandatory. In particular, the
- Plausibility checker 10 to be implemented in an embedded system.
- FIG. 2 shows a neural network 1 with a particular architecture according to another embodiment of the invention, wherein the plausibility checker 10 is located globally over the neural network 1, as a parent validation layer.
- This global plausibility checker 10 can check the results or the outputs of each layer 11 of the neural network 1 and conclude whether a false or correct object recognition of the neural network 1 has occurred.
- the plausibility checker 10 can in the higher-level validation layer the
- Collect confidence values of the various layers 11 of the neural network 1 and compare each with a predefined threshold value. Also, for example, in the global validation layer, it may be necessary for at least two Confidence values of two different layers are above or below their respective thresholds, so that the validation layer is correct or wrong
- the threshold (s) may be determined by experience / experiment.
- the thresholds are either fixed or can be adjusted via a user interface (not shown) or
- the global examination of individual or all layers of the neural network 1 can be realized in an exemplary application by a graphical model, which is used to analyze particularly high deflections in single or multiple
- Filter responses or high confidence levels of object detection is designed. Furthermore, the confidence values which exceed or fall short of a predefined threshold value may be checked by another entity, e.g. another classifier, trigger.
- FIG. 3 shows a neural network 1 having a particular architecture according to another embodiment of the invention, wherein the plausibility checker 10 is locally present in the architecture.
- the plausibility checker 10 is located within at least one layer 11 of the neural network 1.
- the plausibility checker 10 can check or make plausible the respective outputs of the individual filters within this at least one layer 11 of the neural network 1 locally, ie within a layer 11 ,
- Plausibility checkers 10 may be designed for high deflections of individual or multiple filter responses within a layer 11. Furthermore, a linkage of these local plausibility checker 10 is shown in FIG. In other words, the results of the review can be more local Plausibilticiansprüfer 10 by means and / or linking be connected to each other. Once a local plausibility checker 10 or more local plausibility checker 10 concludes a false result of a layer 11 or a filter of this layer 11, a false object recognition of the entire neural network 1 can be concluded.
- FIG. 3 shows a superordinate validation layer of the individual local plausibility checker 10. This consolidates the checks of the local plausibility checker 10 into an overall result.
- a link could be based on an AND or an OR link.
- Validation layer are weighted differently.
- a plausibility checker 10 in a particularly relevant layer 11 for correct or false object recognition of the neural network 1 can be considered more strongly in one overall result than another
- the validation layer can then conclude on the plausibility of the output of the neural network.
- 4 shows a flowchart for a method for checking the output of a neural network. In a step S1, the reading of a result and, if appropriate, the result
- Plausibility checker checks in step S2 the plausibility of the result of the layer (s) of the neural network, taking into account the confidence value of this result, so as to infer an incorrect or correct object recognition by the neural network.
- the confidence value of the result can be compared or adjusted with a predefined threshold value. For example, the confidence value of the layer or the filter of the layer can be compared with the predefined threshold value, and if the confidence value exceeds the threshold value, the plausibility checker can conclude that the neural network has incorrect object recognition or a second checking step (not shown) can be triggered.
- Fig. 5 shows a block diagram of a system 50 for testing the output of a neural network.
- the system 50 has an interface 51 and a plausibility checker 10. Via the interface 51, the output of the neural network, the output of the individual layers and / or the output of the individual filters within a layer in the system 50, as well as the corresponding confidence values can be read. The read-in output of the neural network or its filters and layers can be checked by the plausibility checker 10 so that the latter is incorrect or correct
- Object detection of the neural network can close. If the plausibility checker 10, for example, concludes false object recognition by the neural network, then the
- Object recognition based function such as evade or brake
- the plausibility checker 10 may perform the method and embodiments described above and below.
- false positives can be reduced by the neural network, increasing the reliability of the overall system (neural network 1 and neural network testing system 50), which in turn increases customer satisfaction.
- Fig. 6 shows a schematic representation of a vehicle 60 having a system 50 for checking the output of a neural network.
- Driver assistance system which uses one or more neural networks for object recognition, such a system 50 can be used to check the output of the neural network.
- the objects recognized by the neural network can be used to check the output of the neural network.
- Trigger vehicle functions such as one
- Brake assistants or a lane change may affect the way the
- Driver assistance system should react to the object detection. For example, a brake action may be mitigated if the check indicates a misrecognition or the driver, if time permitting, will be prompted via a user interface with a signal function to verify the detection, for example by means of an appropriate input.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Image Analysis (AREA)
Abstract
Die vorliegende Erfindung betrifft ein computerimplementiertes Verfahren und ein System zum Prüfen der Ausgabe eines neuronalen Netzes (1) mit mehreren Schichten (11), welches Objekte erkennt oder klassifiziert. Das Verfahren weist den Schritt (S1) des Einlesens mindestens eines Ergebnisses aus mindestens einer ersten Schicht (11) und dessen Konfidenzwertes, welcher in der ersten Schicht (11) eines neuronalen Netzes (1) erzeugt wird und den Schritt (S2) des Überprüfens einer Plausibilität des Ergebnisses unter Berücksichtigung dessen Konfidenzwertes, um so auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes (1) zu schließen, auf. Der Schritt (S2) des Überprüfens weist ein Vergleichen des Konfidenzwertes des Ergebnisses mit einem vordefinierten Grenzwert auf. Im Fall, dass beim Schritt (S2) des Überprüfens auf eine falsche Objekterkennung geschlossen wird, wird die Ausgabe des durch das neuronale Netz falsch erkannten Objekts vermieden.
Description
- Prüfen eines neuronalen Netzes -
Die Erfindung betrifft ein Verfahren und ein System zum Prüfen der Ausgabe eines neuronalen Netzes, ferner betrifft die Erfindung ein Fahrzeug mit einem solchen System, ein
Programmelement und ein computerlesbares Medium.
In aktuellen Automobilen leisten kamerabasierte
Fahrerassistenzsysteme einen wichtigen Beitrag zur Steigerung der Sicherheit im Straßenverkehr, wie beispielsweise Adaptive Cruise Control (ACC, Automatische Abstandsregelung) , Emergency Brake Assist (EBA, Notbremsassistent) und Lateral Control Functions (LCF, Automatische Querregelungsfunktionen) , wie z.B. Road oder Lane Departure Prevention „oncoming" (RDP/LPD oncoming, Automatische Prävention des Verlassens der Fahrbahn bzw. Fahrspur des eigenen Fahrzeugs bei entgegenkommenden Fahrzeugen) . Ziel dieser Systeme ist die robuste Erkennung und Klassifizierung von Objekten, Fahrspuren und
Umgebungsszenarien. Hierbei leisten Computer-Vision und
Machine-Learning Architekturen, die auf Deep-Learning basieren, einen wichtigen Beitrag zur robusten Erkennung von Merkmalen und Objekten. Gerade zur Verbesserung der Objekterkennung sind in der Vergangenheit sehr wirkungsvolle und mächtige neuronale Netze entstanden, wie z.B. das ResNet, GoogleNet oder VGG-16. Die eingesetzten neuronalen Netze haben typischerweise eine große Tiefe und sie werden mit großen Datensätzen (Trainingsdaten) trainiert .
Die robuste Erkennung von Objekten spielt bei neuronalen Netzen eine wichtige Rolle. Das Ziel hierbei ist, für Anwendungen wie ACC, die Anzahl an nicht erkannten Objekten zu reduzieren und für Anwendungen wie EBA oder RDP/LDP oncoming die Anzahl der Falscherkennungen, „false positives", zu reduzieren.
Durch die Einführung von auf Faltung basierenden und tiefen neuronalen Netzen (convolutional neural network CNN, deep neural network DNN) konnte die Erkennung und Klassifizierung von Objekten und Merkmalen gesteigert werden, insbesondere durch das End-to-End Learning. Hierbei lernt und bestimmt das neuronale Netz selbst die geeigneten Merkmale zur Objekterkennung aus den Trainingsdaten während des Trainings. Im Gegensatz zu
klassischen Detektionsansätzen weisen diese Netze einen Nachteil auf: Die Netze lassen sich täuschen. Dies wurde beispielsweise in dem Dokument „Deep Neuronal Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images" von
Nguyen et.al. aus dem Jahr 2015 thematisiert.
Es ist eine Aufgabe der Erfindung, die Objekterkennung und Klassifizierung eines neuronalen Netzes zu verbessern.
Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst . Ausführungsformen und Weiterbildungen sind den abhängigen Ansprüchen, der Beschreibung und den Figuren zu entnehmen.
Ein erster Aspekt der Erfindung betrifft ein
computerimplementiertes Verfahren zum Prüfen der Ausgabe eines neuronalen Netzes mit mehreren Schichten, welches Objekte erkennt oder klassifiziert. Das Verfahren weist die folgenden Schritte auf:
- Einlesen mindestens eines Ergebnisses aus mindestens einer ersten Schicht und dessen Konfidenzwertes, welcher in der ersten Schicht eines neuronalen Netzes (NN) erzeugt wird;
- Überprüfen einer Plausibilität des Ergebnisses unter
Berücksichtigung dessen Konfidenzwertes, um so auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes zu schließen;
wobei der erste Überprüfungsschritt umfasst, Vergleichen des Konfidenzwertes des Ergebnisses mit einem vordefinierten Schwellwert und
wobei in dem Fall, dass beim ersten Überprüfungsschritt auf eine falsche Objekterkennung geschlossen wird, die Ausgabe des durch das neuronale Netz falsch erkannten Objekts vermieden wird.
Bevorzugt wird das vollständige Ergebnis mindestens einer Schicht des neuronalen Netzes überprüft, also jeweils das Ergebnis sämtlicher Knoten, die in dieser Schicht enthalten sind.
Ein neuronales Netz kann mit Trainingsdaten trainiert werden bevor es in Betrieb genommen wird. Die Schichten bestehen aus miteinander verbundenen Knoten ( -punkten) (engl, „nodes") . Den Knoten sind jeweils Aktivierungsfunktionen zugeordnet. Die Verbindungen zwischen den Knoten sind durch Gewichte
quantifizierbar. Die einzelnen Knoten (oder Untermengen von solchen Knoten) bilden mathematische Filter. Während des Trainings können diese Filter in den einzelnen Schichten erzeugt bzw. eingestellt werden, nachdem die Gewichte, mittels derer die einzelnen Schichten und/oder Knotenpunkte/Filter verbunden sind, initialisiert wurden. Die Filter in den Schichten können jeweils für ein bestimmtes Merkmal oder Merkmalsbestandteil bei dem späteren Betrieb des neuronalen Netzes verantwortlich sein. Während des Trainings können die Ausgaben des neuronalen Netzes mit einer gewünschten Ausgabe des neuronalen Netzes abgeglichen werden. Die Ausgabe kann mittels der Filter, der Schichten und der Gewichte zwischen den Schichten auf die gewünschte Ausgabe optimiert werden, sodass das trainierte neuronale Netz zu bestimmten Eingangsdaten die gewünschte Ausgabe erzeugt.
Im Betrieb des neuronalen Netzes kann das neuronale Netz mit Eingangsdaten beaufschlagt werden, beispielsweise können die Eingangsdaten durch Sensoren erzeugt werden. Diese Eingangsdaten
können durch die Filter der einzelnen Schichten des neuronalen Netzes analysiert werden. Hierzu erzeugen die Filter
Filterantworten, wobei die Filterantworten durch Merkmale in den Eingangsdaten erzeugt werden und mit diesen korrespondieren. Somit kann basierend auf den Filterantworten auf bestimmte Merkmale in den Eingangsdaten geschlossen werden. Die
Filterantworten können für jedes in den Eingangsdaten erkannte Merkmal Konfidenzwerte aufweisen. Ein solcher Konfidenzwert ist ein Maß für die Zuverlässigkeit oder Plausibilität der jeweiligen Merkmalserkennung. Der Konfidenzwert kann beispielsweise eine Wahrscheinlichkeit sein, also z.B. mit welcher
Wahrscheinlichkeit der Filter „meint", dass das durch ihn erkannte Merkmal richtig erkannt wurde. Der Konfidenzwert kann aber auch eine statistische Konfidenz oder ein anderer Parameter sein, oder eine Kombination aus mehreren Konfidenzwerten und Parametern, je nach Implementierung. Die durch die Filter erkannten Merkmale können in den Schichten zu einem Objekt oder einem größeren Merkmal zusammengefügt bzw. in größere
Objektklassen klassifiziert werden. Diese erkannten Objekte sollten mit den in den Eingangsdaten vorhandenen, realen Obj ekten korrespondieren. Ferner können auch die durch die jeweilige Schicht oder durch das neuronale Netz erkannten und
klassifizierten Objekte mit einem Konfidenzwert versehen sein, welcher besagt, wie „sicher" sich die Schicht oder das neuronale Netz ist, dass das Objekt korrekt erkannt und/oder klassifiziert wurde. Diese Obj ekt-bezogenen Konfidenzwerte können analog definiert sein, wie die oben erläuterten Merkmals-bezogenen Konfidenzwerte . Beispielsweise können die Eingangsdaten von einem
Fahrzeugkamerasensor als Eingangsbild stammen. Für die
Objekterkennung aus Bilddaten haben sich
Faltungsbasierte neuronale Netzwerke (Convolutional Neural Networks, CNNs) als vorteilhaft erwiesen . CNNs basieren auf einer
Eingangsschicht, Zwischenschichten und Ausgangsschichten. Die Eingangs- und Zwischenschichten basieren auf Faltungen; diese Faltungen werden folgendermaßen in der Netzwerkarchitektur realisiert :
Sie bestehen aus einem Set an Faltungsfiltern, z.B. bestehend aus Faltungskerneln der Größe 3x3, 5x5, oder 7x7 Pixel; jeder dieser Faltungsfilter wird schrittweise über das Eingangsbild oder/und Zwischenergebnissen (Aktivierungsmappen) der vorherigen
Schichten geschoben . Eine Aktivierungsmappe (activation map) ist das (zweidimensionale) Ergebnis der Anwendung eines
Faltungsfilters. Folgende Operationen werden pro Position ausgeführt: Multiplikation, Normalisierung, Summierung,
Addition eines Bias und einer oder mehrerer nicht-linearen Funktionen (Reihenfolge ist abhängig von der
Netzwerkarchitektur) . Diesem Verfahren zufolge ist jedem dieser Faltungsfilter eine Aktivierungsmappe am Ausgang einer Schicht zugeordnet. Pro Schicht eines neuronalen Netzwerkes wird somit ein Set an Aktivierungsmappen berechnet. Positionen in diesen Aktvierungsmappen korrelieren zu Positionen im Bildbereich (perceptive field) .
Als „Ergebnis (se) einer Schicht" eines neuronalen Netzwerks kann ein solches Set an Aktivierungsmappen für diese Schicht bezeichnet werden.
Die Ergebnisse einer Schicht (Set an Aktivierungsmappen) können in einem neuronalen Netz beliebig kombiniert werden. Üblich sind die Konkatenation von Ergebnisse und die Weiterführung in eine oder mehrere folgende Schichten.
Die Ausgangsschichten sind entweder ebenfalls Faltungsschichten oder vollständig verbundene Schichten (fully connected layers) . Die Neuronen der letzen Ausgangsschichten prädizieren z.B. die Klasse eines Objektes, die Lokalisierung eines Objektes, Attribute eines Objektes, etc.
Als „Ergebnis (se) einer Schicht" eines neuronalen Netzwerks können ebenfalls die Aktivierungen der jeweiligen
Ausgangsschichten bezeichnet werden.
Mit anderen Worten könnten man für diesen Fall den ersten Verfahrensschritt folgendermaßen beschreiben: Einlesen mindestens eines Ergebnisses aus mindestens einer
Aktivierungsmappe einer Schicht und dessen Konfidenzwertes, welcher in der Schicht als Aktivierung erzeugt wurde. Mit anderen Worten kann die Objekterkennung durch ein neuronales Netz aus einer Stufe zur Extraktion von Merkmalen, einer Verarbeitungseinheit zur Erzeugung von Objekthypothesen und einer Einheit zur Klassifikation von Objekten bestehen. Als Schichten werden die verschiedenen Layer bzw. Lagen des neuronalen Netzes („NN") bezeichnet. Daher wird der Begriff „Schicht" im Kontext der vorliegenden Erfindung synonym mit dem Begriff „Layer" bzw. „Lage" verwendet. Ein neuronales Netz weist typischerweise wenigstens eine Schicht auf. Bevorzugt sind tiefe neuronale Netze (deep NNs) , neuronale Netze mit mindestens drei Schichten, d.h. neuronale Netze mit mindestens einer verborgenen Schicht zwischen einer Eingabeschicht (in welcher die
Eingangsdaten angelegt werden) und einer Ausgabeschicht (in welcher das Ergebnis bzw. die Ausgabe der Objekterkennung stattfindet) . In tiefen neuronalen Netzen ist es üblich, dass ein neuronales Netz eine Vielzahl von verschiedenen Schichten mit unterschiedlicher Komplexität aufweist. Jede Schicht wiederum kann eine Mehrzahl an Filtern aufweisen. Des Weiteren sind die einzelnen Schichten über unterschiedliche Gewichte miteinander verbunden.
In dem vorgeschlagenen Verfahren kann beispielsweise ein Plausibilitätsprüfer oder eine „Safety Barrier"
(Sicherheitsbarriere) in die Architektur des neuronalen Netzes
eingebracht werden. Dieser Plausibilitätsprüfer kann den ersten Überprüfungsschritt durchführen. Beispielsweise kann in dem ersten Überprüfungsschritt durch hohe Filterantworten und deren Konfidenzwerte einer oder mehrerer Filter einer Schicht des neuronalen Netzes die Plausibilität des Ergebnisses einer
Schicht überprüft werden. Der Plausibilitätsprüfer, welcher den ersten Überprüfungsschritt durchführt, kann beispielsweise aus einem einfachen Verfahren bestehen, welches mittels
Schwellwerttechnik die Plausibilität des Ergebnisses bzw. der Ergebnisse des neuronalen Netzes oder der einzelnen Schichten des neuronalen Netzes überprüft.
Mit anderen Worten, die Ausgabe des neuronalen Netzes oder einer Schicht des neuronalen Netzes kann durch eine unabhängige Instanz für die Plausibilität überprüft werden. Dies kann beispielsweise durch den Plausibilitätsprüfer geschehen. Wird in dem ersten Überprüfungsschritt festgestellt, dass das Ergebnis der überprüften Schicht des neuronalen Netzes oder die Ausgabe des neuronalen Netzes plausibel erscheint, kann auf eine korrekte Objekterkennung durch das neuronale Netz geschlossen werden. Wird hingegen in dem ersten Überprüfungsschritt festgestellt, dass das Ergebnis der überprüften Schicht des neuronalen Netzes oder die Ausgabe des neuronalen Netzes unplausibel ist, kann auf eine falsche Objekterkennung durch das neuronale Netz (z.B. auf Grund einer Täuschung) geschlossen werden. Somit kann vermieden werden, dass das neuronale Netz eine falsche Ausgabe bzw. ein falsches Ergebnis ausgibt, was wiederum zu einer verbesserten Objekterkennung durch das neuronale Netz führt. Es kann somit vermieden oder zumindest eine Häufigkeit verringert werden, dass Objekte nicht erkannt werden, oder dass Objekte
fälschlicherweise erkannt werden, d.h. es erfolgte eine vermeintliche Erkennung obwohl kein zu erkennendes Objekt vorhanden ist.
In einem ersten Schritt kann das Ergebnis und der Konfidenzwert dieses Ergebnisses einer oder mehrerer Schicht (en) des neuronalen Netzes eingelesen werden, beispielweise durch den Plausibilitätsprüfer . Anschließend kann die Ausgabe des neuronalen Netzes oder das Ergebnis der Schicht des neuronalen Netzes auf Plausibilität des Ergebnisses bzw. der
Objekterkennung überprüft werden, wobei das Überprüfen unter Berücksichtigung des Konfidenzwertes des Ergebnisses erfolgt. In einem weiteren Schritt kann der Konfidenzwert des Ergebnisses mit einem vordefinierten Schwellwert verglichen werden. Dieser vordefinierte Schwellwert kann z.B. bei 90%, 95% oder 99% liegen.
Der vordefinierte Schwellwert kann hierbei unterschritten oder überschritten werden. Alternativ oder zusätzlich können auch zwei Schwellwerte vorgesehen sein, welche eine Oberschwelle (maximal akzeptabler Konfidenzwert) und eine
Unterschwelle (minimal akzeptabler Konfidenzwert) bilden. Ferner kann der Schwellwert manuell oder automatisch bestimmt werden. Es sei angemerkt, dass mehrere verschiedene Schwellwerte abhängig von der Position der Schicht bzw. des Filters innerhalb des neuronalen Netzes als Vergleich herangezogen werden können. Neben dem absoluten Schwellwert kann auch ein relativer
Schwellwert Anwendung finden, sodass starke Schwankungen in den Konfidenzwerten zwischen zeitlich benachbarten Eingangsdaten den relativen Schwellwert überschreiten. Gemäß einer weiteren Ausführungsform der Erfindung kann der Schwellwert automatisiert bestimmt werden, dies kann insbesondere im Rahmen des Trainings des neuronalen Netzes geschehen. Hierzu kann das neuronale Netz gezielt mit manipulierten Eingangsdaten beaufschlagt werden, um unplausible Filterantworten und korrespondierende
Konfidenzwerte zu provozieren. Das so provozierte Verhalten des neuronalen Netzes kann in die Bestimmung des relevanten
Schwellwertes für jeden Filter bzw. jede Schicht berücksichtigt werden .
Alternativ oder zusätzlich können One-Class
Klassifikationsansätze (auch unter dem Namen Outlier Detection, Novelty Detection oder Abnormality Detection geläufig) verwendet werden, um ohne Täuschungsbeispiele die jeweiligen Schwellwerte automatisch zu trainieren. Des Weiteren können die jeweiligen Schwellwerte auch durch ein Training, bestehend aus einer Kombination aus supervised learning mit Täuschungsbeispielen und One-Class Classification, gelernt werden. Die Ausgabe der Schwellwerte kann binär (im Gültigkeitsbereich, außerhalb des Gültigkeitsbereichs) , aus drei Werten (underflow, overflow, im Gültigkeitsbereich) oder kontinuierlich sein. Das Ausgabeformat kann sich für die einzelnen Neuronen, Filter und Schichten des neuronalen Netzes unterscheiden.
Bei realen Eingangsdaten, wie z.B. Bilddaten einer Kamera, treten typischerweise Konfidenzwerte unter 90% auf, da die
Eingangsdaten durch den Sensor selbst beeinflusst werden, beispielsweise durch Rauschen oder Umwelteinflüsse. Hohe Konfidenzwerte von beispielsweise 90% und mehr deuten auf eine fehlerhafte Objekterkennung durch das neuronale Netz hin. Der vordefinierte Schwellwert kann auch auf jede zu überprüfende Schicht angepasst werden, sodass das Überprüfen der
Plausibilität des Ergebnisses an jedes neuronale Netz und dessen Architektur angepasst werden kann.
Die Überprüfung der Plausibilität des Ergebnisses kann hierbei auf verschiedene Arten erfolgen. Dies kann insbesondere von der Art des Plausibilitätsprüfers und der Position der zu
überprüfenden Schicht innerhalb des neuronalen Netzes abhängen. Alternativ oder zusätzlich kann das Verfahren bzw. der
Überprüfungsschritt des Verfahrens vorsehen, die bzw. alle Ergebnisse mehrerer bzw. aller Schichten des neuronalen Netzes und deren Konfidenzwerte in einer übergeordneten
Validierungsschicht auf Plausibilität zu überprüfen, um so auf eine falsche oder korrekte Objekterkennung durch das neuronale Netz zu schließen. Alternativ oder zusätzlich kann der Überprüfungsschritt seinerseits eine Objekterkennung aufweisen, basierend auf denselben Eingangsdaten wie das zu überprüfende neuronale Netz. Diese (zweite) Überprüfung kann durch eine Auffälligkeit in dem bestehenden neuronalen Netz ausgelöst bzw. getriggert werden, die im ersten Überprüfungsschritt erkannt wurde. Beispielsweise kann der Konfidenzwert einer Schicht oder eines Filters unplausibel hoch oder niedrig sein oder eine Filterantwort schlägt extrem auf ein bestimmtes Merkmal in den Eingangsdaten an. Das Ergebnis der Objekterkennung des zweiten
Überprüfungsschrittes und das Ergebnis des neuronalen Netzes kann anschließend verglichen werden. Ferner kann der zweite Überprüfungsschritt auch einen Vergleich mit einer Liste, die bekannte Falscherkennungen des zu überprüfenden neuronalen Netzes umfasst, aufweisen. In dem Vergleich kann die Liste mit den Eingangsdaten des neuronalen Netzes abgeglichen werden. Mit anderen Worten kann der Plausibilitätsprüfer Eingangsdaten bereits kennen, welche bei dem neuronalen Netz bzw. bei einer Schicht des neuronalen Netzes zu einer falschen Objekterkennung führen .
Alternativ oder zusätzlich kann der Überprüfungsschritt vorsehen, den Konfidenzwert der zu überprüfenden Schicht des neuronalen Netzes zur Überprüfung der Plausibilität des
Ergebnisses der Schicht des neuronalen Netzes heranzuziehen. Das Verfahren kann weiter vorsehen, einen unplausibel hohen oder niedrigen Konfidenzwert bezüglich eines Merkmals der
Eingangsdaten zu erkennen und dadurch auf eine falsche
Objekterkennung durch das neuronale Netz schließen. Dies kann beispielsweise der Fall sein, wenn der Konfidenzwert des
Ergebnisses der Schicht des neuronalen Netzes bzw. der Ausgabe des neuronalen Netzes (der Objekterkennung) z.B. über 90%, 95% oder 99% bzw. unter 15%, 10% oder 1% liegt. Ferner kann in dem Überprüfungsschritt die Plausibilität des Ergebnisses einer Schicht anhand einer Analyse der
Filterantworten erfolgen. Sind beispielsweise die
Filterantworten hoch bzw. schlagen diese bei gewissen
Eingangsdaten extrem aus, kann dies auf ein abnormales Verhalten des neuronalen Netzes hinweisen. Dieses abnormale Verhalten kann beispielsweise durch einen gezielten Angriff von außen verursacht werden, wie z.B. eine „adversarial attack", beispielsweise durch Beaufschlagen des neuronalen Netzes mit manipulierten Eingangsdaten. Durch ein verändertes Bild oder durch direktes Beaufschlagen des neuronalen Netzes , ohne dass die Eingangsdaten von einem Sensor erhoben wurden, kann eine Manipulation entstehen. Diese manipulierten Eingangsdaten können zu hohen Filterantworten in einzelnen Filtern führen, und eine Objekterkennung mit einem hohen Konfidenzwert ist die Folge, obwohl die Eingangsdaten mit den eigentlichen, vermeintlich erkannten, Objekten wenig gemeinsam haben. Beispielsweise kann das neuronale Netz Rauschen als ein Objekt erkennen oder ein Objekt A als ein anderes Objekt B klassifizieren. Hingegen treten bei realen Eingangsdaten von natürlichen Objekten keine so hohen Konfidenzwerte und hohe Filterantworten auf, z.B. führt überlagerte Unscharfe der Kamera oder Rauschen zu tendenziell eher niedrigeren Konfidenzwerten in den einzelnen Filtern und Schichten des neuronalen Netzes. Ferner können Klassifikationsalgorithmen herangezogen werden, um basierend auf Kombinationen der Konfidenzwerte Rückschlüsse auf ein Fehlverhalten des neuronalen Netzes zu ziehen. Hier können Algorithmen wie Random Forests, Decision Trees, Support Vector Machines, Markov Random Fields, graphische Modelle,
logistische Regression, Bayes Modells oder kleine neuronale Netzwerke zum Einsatz kommen. Diese ermöglichen nichtlineare Entscheidungsgrenzen in einem Entscheidungsbaum bestehend aus den Konfidenzwerten einzelner Schichten, Filter, Neuronen, Subnetze oder des gesamten Netzes.
Durch den Einsatz des vorhergehend und nachfolgend beschriebenen Verfahrens kann die Objekterkennung des neuronalen Netzes effizienter gestaltet werden, da nicht das komplette neuronale Netz berechnet werden muss, wenn auf eine falsche Objekterkennung bzw. Klassifizierung des neuronalen Netzes geschlossen wird. Ferner kann das vorhergehend und nachfolgend beschriebene Verfahren seinerseits sehr ressourcenschonend umgesetzt werden, beispielsweise direkt in einem embedded System. Es werden hingegen die Konfidenzwerte des zu überprüfenden neuronalen
Netzes für eine Überprüfung berücksichtigt, und gegebenenfalls wird die Ausgabe des neuronalen Netzes durch einen weiteren Klassifizierer oder eine Blacklist/Whitelist überprüft und somit plausibilisiert.
Das Verfahren kann beispielweise durch den Plausibilitätsprüfer ausgeführt werden, welcher durch einen Prozessor auf einem Steuergerät realisiert werden kann. Das Verfahren kann unabhängig von dem zu überprüfenden neuronalen Netz arbeiten und durchgeführt werden. Insbesondere kann das Verfahren parallel zu dem zu überprüfenden neuronalen Netz durchgeführt werden.
Alternativ oder zusätzlich können durch das Verfahren mehrere verschiedene neuronale Netze überprüft werden oder ein neuronales Netz kann mittels mehrerer unterschiedliche
Überprüfungsschritte, basierend auf unterschiedlichen
Verfahren, überprüft werden. Vorteilhafterweise können in dem zu überprüfenden neuronalen Netz Schnittstellen zum Einlesen des
Ergebnisses und dessen Konfidenzwertes der zu überprüfenden Schicht des neuronalen Netzes vorgesehen sein.
Für eine vereinfachte Beschreibung wird der Begriff
Objekterkennung allgemein verwendet und bezieht sich auf
Erkennungen jeglicher Art, wie beispielsweise Spurerkennung, Verkehrsteilnehmererkennung, Verkehrs Zeichenerkennung,
Gestenerkennung und/oder Gesichtserkennung. Als Architektur bzw. Netzarchitektur wird der Aufbau des neuronalen Netzes bezeichnet, also wie viele Schichten das neuronale Netz aufweist und wie die einzelnen Schichten gestaltet sind. Ferner können die Gewichte und Filter in den oder zwischen den einzelnen Schichten die Architektur des neuronalen Netzes beeinflussen. Tiefe neuronale Netze weisen typischerweise eine Vielzahl von Schichten auf, welche mittels verschiedener Gewichte miteinander verbunden sind.
Gemäß einer weiteren Ausführungsform der Erfindung wird auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes geschlossen, wenn der Konfidenzwert des Ergebnisses den vordefinierten Schwellwert über- oder unterschreitet.
Mit anderen Worten, kann der Konfidenzwert bzw. die
Konfidenzwerte dazu dienen direkt auf die Plausibilität des
Ergebnisses der Schicht des neuronalen Netzes zu schließen. Reale Eingangsdaten werden typischerweise durch Sensoren erfasst, somit sind diese durch den Sensor selbst oder Umwelteinflüsse beeinflusst (Rauschen, Dreck, Nebel, Dunkelheit, Gegenlicht) . Hierdurch ergibt sich in einer späteren Objekterkennung durch das neuronale Netz ein Konfidenzwert von unter beispielsweise 80%, 85% oder 90%.
Gemäß einer Ausführungsform der Erfindung wird ein zweiter Überprüfungsschritt nur dann durchgeführt, wenn (im ersten Überprüfungsschritt) der Konfidenzwert des Ergebnisses einen vordefinierten Schwellwert über- oder unterschreitet oder wenn eine Kombination aus Konfidenzwerten von Filtern und/oder Schichten ihre jeweiligen Schwellwerte über- oder
unterschreitet. Die Ausgabe des durch das neuronale Netz falsch erkannten Objekts wird nur vermieden, wenn der zweite
Überprüfungsschritt bestätigt, dass eine falsche
Objekterkennung vorliegt.
Der zweite Überprüfungsschritt kann die Konfidenzwerte der Schichten des neuronalen Netzes für die Überprüfung der
Plausibilität des Ergebnisses der Schicht heranziehen. Ferner kann der zweite Überprüfungsschritt durch einen hohen
Konfidenzwert in einer Schicht des neuronalen Netzes überhaupt erst ausgelöst bzw. getriggert werden. Mit anderen Worten, kann sich der Plausibilitätsprüfer in dem Überprüfungsschritt das Ergebnis einer bestimmten Schicht dann näher ansehen und auf Plausibilität überprüfen, wenn der Konfidenzwert des Ergebnisses dieser Schicht einen vordefinierten Schwellwert über- oder unterschreitet. Hierdurch kann ein zweitstufiges und effizientes Verfahren zur Überprüfung der Ausgabe eines neuronalen Netzes entstehen. Mit anderen Worten erfolgt eine genauere und detaillierte Überprüfung des Ergebnisses einer bestimmten
Schicht des neuronalen Netzes, wenn ein erstes Anzeichen für eine falsche Objekterkennung, hier ein unplausibler Konfidenzwert, erkannt wurde. Somit kann das Verfahren optimiert und Rechenzeit eingespart werden.
Gemäß einer weiteren Ausführungsform der Erfindung wird der zweite Überprüfungsschritt mittels eines beliebigen Verfahrens durchgeführt wie i) einer Support Vector Machine, ii) einem Structured Random Forest , iii) einem One Class Classificator oder
iv) einem gefalteten neuronalen Netz (CNN) , wobei das beliebige Verfahren unabhängig von dem neuronalen Netz mit mehreren Schichten zur Objekterkennung bzw. -klassifikation ist. Das „Überprüfungsnetz" ist vorzugsweise sehr viel kleiner als das eigentliche neuronale Netz mit mehreren Schichten und benötigt wenig Rechenzeit und Ressourcen für die Überprüfung, weshalb man es als kleines neuronales Netz bezeichnen kann.
Vorteilhafterweise kann ein Überprüfungsschritt durch ein weiteres maschinelles Lernverfahren durchgeführt werden.
Beispielhaft ist hier eine Support Vector Machine (SVM) , ein Entscheidungsbaum bzw. ein Structured Random Forest (SRF) , ein stochastisches neuronales Netz, wie z.B. eine Restriced
Boltzmann Machine (RBM) , ein One Class Classificator (OCC) , eines Convolutional Neural Network (CNN) oder nichtlineare Regression zu nennen. Alternativ oder zusätzlich kann der
Überprüfungsschritt auch durch den Plausibilitätsprüfer oder einen Klassifizierer, welcher auf Schwellwerttechnik basiert, oder einer vordefinierten Liste mit bekannten Falscherkennungen, wie beispielsweise eine Blacklist oder Whitelist, durchgeführt werden. Mit anderen Worten, kann der Plausibilitätsprüfer die Eingangsdaten des neuronalen Netzes mit bekannten Daten abgleichen, bei welchen das neuronale Netz typischerweise eine falsche Objekterkennung durchführt. Die Falscherkennungen des neuronalen Netzes können beispielsweise während der
Trainingsphase des neuronalen Netzes gefunden werden. Ferner können die Falscherkennungen durch die Architektur des neuronalen Netzes bekannt sein oder mittels geeigneter
Algorithmen herausgefunden bzw. bestimmt werden.
Gemäß einer Ausführungsform der Erfindung wird das Ergebnis der letzten Schicht (Ausgabe des neuronalen Netzes) des neuronalen Netzes oder das Ergebnis jeder Schicht des neuronalen Netzes auf Plausibilität überprüft. Die Überprüfung auf Plausibilität kann
hierbei auch ausschließlich auf die letzte Schicht des neuronalen Netzes gestützt werden, wobei die letzte Schicht die
Ausgabenschicht des neuronalen Netzes ist. In einem Überprüfungsschritt kann vorgesehen sein,
ausschließlich die Ausgabe bzw. das Ergebnis der letzten Schicht des neuronalen Netzes auf Plausibilität zu überprüfen. In diesem Fall kann der Plausibilitätsprüfer die Eingangsdaten, z.B. Bilddaten, akustische Daten, Textdaten, direkt mit den, durch das neuronale Netz, erkannten Objekten bzw. den klassifizierten Objekten abgleichen oder vergleichen. Hierzu kann der
Plausibilitätsprüfer selbst ein Klassifizierer sein, welcher eine eigene und unabhängige Objekterkennung durchführt oder der Plausibilitätsprüfer schließt anhand der Konfidenzwerte der durch das neuronale Netz erkannten Objekte auf deren
Plausibilität. Wenn das Ergebnis der Objekterkennung des Plausibilitätsprüfers von dem Ergebnis der Objekterkennung des neuronalen Netzes abweicht, kann dies auf eine unplausible Objekterkennung durch das neuronale Netz geschlossen werden. Das neuronale Netz kann daraufhin abermals die Objekterkennung durchführen oder weitere bzw. neue Eingangsdaten anfordern. Eine Aktion, wie das Verwenden der Objekterkennung zur Steuerung eines Fahrzeugsystems, kann basierend auf den unplausiblen Daten unterbleiben .
Neben der ausschließlichen Überprüfung der letzten Schicht des neuronalen Netzes kann auch das Ergebnis jeder einzelnen Schicht des neuronalen Netzes auf Plausibilität überprüft werden. Die Ergebnisse der Überprüfung von jeder Schicht können auch beispielsweise in einer übergeordneten Validierungsschicht ausgewertet werden, sodass auf eine falsche oder korrekte Objekterkennung durch das neuronale Netz geschlossen werden kann, wenn die Zusammenschau der einzelnen überprüften
Ergebnisse des neuronalen Netzes und/oder die Resultate der
Überprüfung dieses ergeben. Diese übergeordnete
Validierungsschicht wird auch als globales Verfahren bezeichnet, da sie global über den einzelnen Schichten des neuronalen Netzes angeordnet ist. Es sei angemerkt, dass in dem Überprüfungsschritt Ergebnisse einer Vielzahl von Schichten des neuronalen Netzes, jedoch nicht aller Schichten, auf Plausibilität überprüft werden können .
Gemäß einer Ausführungsform der Erfindung wird ein Teilergebnis innerhalb wenigstens einer Schicht des neuronalen Netzes auf Plausibilität überprüft. Beispielsweise kann eine versteckte Schicht eines Netzes auf Plausibilität überprüft werden.
Auch kann in einem Überprüfungsschritt das Ergebnis einzelner Filter einer bestimmen Schicht des neuronalen Netzes,
beispielsweise über die Filterantwort oder über die
Konfidenzwerte, auf Plausibilität überprüft werden. Z.B. kann bekannt sein, welche Filter einer bestimmten Schicht maßgeblich an einer falschen oder korrekten Objekterkennung des neuronalen Netzes beteiligt sind. Insbesondere welche Filter in Bezug auf gewisse zu erkennende Objekte oder Objektklassen beteiligt sind, wie beispielsweise andere Fahrzeuge, Fahrspuren, Schlaglöcher, Tiere, Fahrradfahrer, Fußgänger oder Hindernisse. Bei der Überprüfung können die Filterantworten als Maßstab zur
Beurteilung der Plausibilität des Ergebnisses dienen. Vor allem wenn die Filterantworten extreme Ausschläge aufweisen. Die Analyse auf Ebene der Filter und die Einbeziehung der
Filterantworten wird auch als lokales Verfahren bezeichnet, da das Überprüfen lokal innerhalb der Schicht stattfindet.
Gemäß einer weiteren Ausführungsform der Erfindung werden die Ergebnisse von wenigstens zwei verschiedenen Schichten des neuronalen Netzes auf Plausibilität überprüft, um auf eine
falsche oder korrekte Objekterkennung des neuronalen Netzes zu schließen .
Neben der Überprüfung des Ergebnisses einer Schicht,
beispielweise der letzten Schicht, oder der Ergebnisse aller Schichten, kann auch eine beliebige andere Anzahl oder Mehrzahl an Ergebnisses von verschiedenen Schichten in dem
Überprüfungsschritt auf Plausibilität überprüft werden. In einer bevorzugten Ausführungsform der Erfindung können die Ergebnisse von zwei oder mehr Schichten des neuronalen Netzes überprüft werden. Diese zwei oder mehr Überprüfungen können anschließend in ihrer Zusammenschau herangezogen werden, um darauf zu schließen, ob durch das neuronale Netz eine falsche oder korrekte Objekterkennung durchgeführt wurde. Hierzu kann eine
übergeordnete Validierungsschicht, in welcher die Resultate der einzelnen Überprüfungen zusammengefasst werden, eingeführt werden. In dieser Validierungsschicht können die Resultate der Überprüfung gleich oder unterschiedlich gewichtet werden, um auf eine falsche oder korrekte Objekterkennung durch das neuronale Netz zu schließen. Beispielsweise kann in der
Validierungsschicht entschieden werden, ob es ausreichend ist, auf eine falsche Objekterkennung durch das neuronale Netz zu schließen, wenn ein Konfidenzwert unplausibel hoch ist jedoch die restlichen Konfidenzwerte innerhalb des Erwartungsbereichs liegen. Somit kann ein zweistufiges Verfahren zum Prüfen der Ausgabe eines neuronalen Netzes entstehen. Zum einen werden einzelne Ergebnisse von Schichten des neuronalen Netzes auf Plausibilität überprüft und zum anderen wird die Zusammenschau aller Resultate der überprüften Schichten analysiert bzw. ausgewertet, um die Objekterkennung des neuronalen Netzes zu Prüfen .
Gemäß einer Ausführungsform der Erfindung werden bei dem Schließen auf eine falsche oder korrekte Objekterkennung des
neuronalen Netzes die wenigstens zwei Überprüfungen der wenigstens zwei Schichten des neuronalen Netzes unterschiedlich stark gewichtet. Abhängig davon von welchen Schichten des neuronalen Netzes die Ergebnisse auf Plausibilität überprüft werden, kann das Resultat dieser Überprüfung in der Validierungsschicht unterschiedlich stark gewichtet werden, insbesondere können für die
Objekterkennung besonders relevante bzw. kritische Schichten des Neuronalen Netzes stärker gewichtet werden.
Gemäß einer Ausführungsform der Erfindung ist das Verfahren für den Einsatz in einem Fahrzeug oder einem Steuergerät für ein Fahrzeug vorgesehen. Beispielsweise kann das oben und im Folgenden beschriebene Verfahren in einem Fahrerassistenzsystem eingesetzt werden, wobei das Fahrerassistenzsystem das Erkennen oder Klassifizieren von Objekten umfasst.
Insbesondere erfolgt der Einsatz in einem optischen
Fahrerassistenzsystem, welches optische Eingangsdaten benötigt bzw. verwendet. Das Fahrerassistenzsystem kann auf einer Kamera, einem Lidarsensor, einem Radarsensor, einem Ultraschallsensor, einem Wärmebildsensor, einem Laserscanner oder einer beliebigen Kombination aller der genannten Sensoren (oder einer beliebigen Untermange davon) basieren.
In einer vorteilhaften Ausführungsform umfassen oder beinhalten die Eingangsdaten für das neuronale Netz zur Objekterkennung oder -klassifizierung Bilddaten, die mit mindestens einer
Fahrzeugkamera aufgenommen worden sind.
Das vorhergehend und nachfolgend beschriebene Verfahren kann, datenunabhängig, in allen Architekturen Anwendung finden, wie z.B. Long-term Short-term Memory Networks (LSMN/LSTM) und/oder
Recurrent Neural Networks (RNN) . Des Weiteren kann das Verfahren Anwendung in kontinuierlichen, life-long- und award-basierten Deep-Learning Verfahren finden. Hierzu zählen Architekturen und Verfahren, die beispielsweise auf Reinforcement Learning Techniken basieren. Auch kann zur besseren Extraktion von Merkmalen ein neuronales Netz mit Feedbackschleife oder
Parallelpfaden zur Anwendung kommen. Ferner können die beschriebenen neuronalen Netze auf den Bereich der
Obj ektdetektionsverfahren erweitert werden. Dies gilt auch für die Signalverarbeitung aus Anwendungen mit Eingangsdaten wie Wärmebilder, Ultraschallbilder, Magnet-Resonanz-Signalen, Nah-Infrarot-Spektroskopie und/oder Computer-Tomographien, aber auch Audio-, Radar-, Laser- und Lidardaten, z.B. in der Medizintechnik. Des Weiteren kann das Verfahren in der Robotik für maschinelles Sehen und insbesondere für Advanced Driver
Assistance Systems (ADAS) verwendet werden. Ferner können die beschriebenen neuronalen Netze auf den Bereich der
Obj ektdetektionsverfahren erweitert werden, die räumliche und zeitliche Daten verwenden, wie z.B. Videos und/oder Bilder, welche räumliche Informationen wie den optischen Fluss, Dispartitätskarten oder Tiefenkarten enthalten.
Durch die Anwendung des vorhergehend und im Folgenden
beschriebenen Verfahrens ergeben sich zahlreiche Vorteile bei dem Einsatz von neuronalen Netzen. Beispielsweise kann die False-Positive Rate, also die Anzahl der Falscherkennungen verbessert werden, die Rechenzeit bei einer falschen Erkennung kann verringert werden, da bei einem Anschlagen des
Plausibilitätsprüfers die weitere Berechnung in nachfolgenden Schichten unterbunden werden kann. Ferner kann die
Objekterkennung in verbessert werden, da die extremen Werte durch eine zweite Instanz überprüft werden. Somit kann die Ausgabe des neuronalen Netzes und dessen Objekterkennung oder
Klassifizierung verlässlicher und robuster sein.
Die einzelnen Schritte des Verfahrens können zeitgleich oder sequentiell ausgeführt werden. Ferner kann eine größere
Zeitspanne zwischen den einzelnen Schritten des Verfahrens liegen. Auch kann die Reihenfolge der einzelnen Schritte verändert werden.
Ein weiterer Aspekt der Erfindung betrifft ein System zum Prüfen der Ausgabe eines neuronalen Netzes mit mehreren Schichten, welches Objekte erkennt oder klassifiziert. Dieses System weist eine Schnittstelle (IN) zum Erhalten mindestens eines
Ergebnisses an Aktivierungen und dessen Konfidenzwertes, welches in mindestens einer Schicht des neuronalen Netzes erzeugt wird, einen Plausibilitätsprüfer (PP) , zum Überprüfen des Ergebnisses unter Berücksichtigung dessen Konfidenzwertes, um so auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes zu schließen, und eine Ausgabeschnittstelle zum Ausgeben von durch das neuronale Netz erkannten oder klassifizierten Objekten auf. Der Plausibilitätsprüfer vergleicht den Konfidenzwert des Ergebnisses mit einem vordefinierten Schwellwert. Der
Plausibilitätsprüfer verhindert die Ausgabe über die
Ausgabeschnittstelle eines durch das neuronale Netz falsch erkannten Objekts, sofern der Plausibilitätsprüfer auf eine falsche Objekterkennung geschlossen hat.
Das System kann insbesondere einen MikroController oder
-prozessor, einen Digital Signal Processor (DSP) , einen ASIC (Application Specific Integrated Circuit) , einen FPGA (Field Programmable Gate Array) und dergleichen mehr sowie Software zur Durchführung der entsprechenden Verfahrensschritte umfassen.
Das oben und im Folgenden beschriebene Verfahren kann auf einem System umgesetzt bzw. implementiert sein. Das System kann über eine Schnittstelle das Ergebnis bzw. die Ergebnisse der zu
überprüfenden Schicht (en) des neuronalen Netzes oder der Filter einlesen. Der Plausibilitätsprüfer kann anschießend den
Überprüfungsschritt durchführen und auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes schließen. Der Plausibilitätsprüfer kann beispielsweise aus einem
Klassifizierer bestehen, welche nicht auf einer neuronalen Netzstruktur basiert und dem neuronalen Netz nachgelagert angeordnet sein kann, um die Objekterkennung oder die
Klassifizierung des neuronalen Netzes zu überprüfen bzw. zu plausibilisieren . Der Plausibilitätsprüfer kann ferner aus einer weiteren Netzwerkarchitektur bestehen, welche die
Wahrscheinlichkeit eines gezielten Angriffs auf das neuronale Netz, wie z.B. eine„adversarial attack", berechnet. Die weiteren Eigenschaften des Plausibilitätsprüfers wurden bereits im Rahmen der Beschreibung des Verfahrens beschrieben, sodass von einer Wiederholung abgesehen wird.
Gemäß einer Ausführungsform der Erfindung ist der
Plausibilitätsprüfer dazu eingerichtet, das Ergebnis der zu überprüfenden Schicht mit einem vordefinierten Schwellwert zu vergleichen .
Der vordefinierte Schwellwert kann hierbei unter- oder überschritten oder es kann eine Kombination aus Konfidenzwerten für mehrere Filter und/oder Schichten über- oder unterschritten werden. Ferner können auch ein unterer Schwellwert und ein oberer Schwellwert vorgesehen sein, sodass das Ergebnis zwischen dem oberen und dem unteren Schwellwert sein sollte. Überschreitet oder unterschreitet das Ergebnis der zu überprüfenden Schicht den vordefinierten Schwellwert, kann auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes geschlossen werden. Insbesondere können die Konfidenzwerte der Objekterkennung der einzelnen Schichten des neuronalen Netzes mit dem vordefinierten Schwellwert verglichen werden und wenn der Konfidenzwert
beispielsweise über 90% ist kann auf eine falsche Objekterkennung des neuronalen Netzes geschlossen werden, da so hohe
Konfidenzwerte auf eine Manipulation hindeuten. Mit anderen Worten wäre die Objekterkennung durch das neuronale Netz zu gut um plausibel zu sein.
Gemäß einer weiteren Ausführungsform der Erfindung wurde der Plausibilitätsprüfer und/oder das neuronale Netz mit einem vordefinierten Referenzdatensatz trainiert. Des Weiteren ist ein Training basierend auf One-Class Klassifikationsansätzen möglich .
Unter Trainieren wird das gezielte Beaufschlagen des neuronalen Netzes mit bekannten Eingangsdaten verstanden. Das Ergebnis, also die Ausgabe des neuronalen Netzes auf die bekannten
Eingangsdaten, kann während des Trainings dem neuronalen Netz zurückgespielt werden. Gleichzeitig kann die Lösung bzw. die korrekte Objekterkennung in Bezug auf die Eingangsdaten vorgegeben werden. Mit anderen Worten verarbeitet das neuronale Netz Eingangsdaten und vergleicht diese mit einem vorgegebenen Sollergebnis . Daraufhin passt sich das neuronale Netz solange an, bis das gewünschte Ergebnis durch das neuronale Netz erzeugt wird. Damit ein neuronales Netz eine Vielzahl von verschiedenen Eingangsdaten zuverlässig erkennen und klassifizieren kann, wird eine Vielzahl von Trainingsdaten benötigt. Ferner benötigt das Trainieren je nach Komplexität des neuronalen Netzes und der Anzahl an Trainingsdaten eine gewisse Zeitspanne und
Rechenleistung . Für einen ordnungsgemäßen Betrieb und eine zufriedenstellende Objekterkennung kann das neuronale Netz mit einem
Referenzdatensatz trainiert werden. Bei dem Training des neuronalen Netzes kann gleichzeitig der Plausibilitätsprüfer trainiert werden, z.B. können falsche Objekterkennungen des
neuronalen Netzes in eine Blacklist oder Whitelist aufgenommen werden, sodass im späteren Betrieb die Daten der Blacklist oder der Whitelist mit den Eingangsdaten bzw. der Ausgabe des neuronalen Netzes abgeglichen werden können.
Ein weiterer Aspekt der Erfindung betrifft ein Fahrzeug mit einem Steuersystem zum Beeinflussen eines Fahrverhaltens oder eines Zustands des Fahrzeugs, wobei das Steuersystem ein vorhergehend und nachfolgend beschriebenes System aufweist, wobei das Steuersystem eine Steueraktion durchführt, basierend auf der Ausgabe des neuronalen Netzes nach einer der Überprüfung durch den Plausibilitätsprüfer .
Die Bezeichnung Fahrzeug ist nicht alleine auf einen
Personenkraftwagen begrenzt, sondern schließt auch
Lastkraftwagen, Busse, Motorräder, Traktoren, Panzer,
Baumaschinen, Schienenfahrzeuge, Schiffe sowie Luftfahrzeuge wie Helikopter oder Flugzeuge mit ein. Ein weiterer Aspekt der Erfindung betrifft ein Programmelement, das, wenn es auf einem Datenverarbeitungssystem ausgeführt wird, das Datenverarbeitungssystem anleitet, das oben und im Folgenden beschriebene Verfahren auszuführen. Ein weiterer Aspekt dieser Erfindung betrifft ein
computerlesbares Medium, auf dem ein Programmelement gespeichert ist, welches das Datenverarbeitungssystem anleitet, das oben und im Folgenden beschriebene Verfahren auszuführen. Die vorliegende Erfindung kann in digitalen elektronischen Schaltkreisen, Computer-Hardware, Firmware oder Software implementiert sein.
Gemäß einem weiteren Aspekt betrifft die Erfindung ein
Fahrerassistenzsystem mit einem vorhergehend und nachfolgend beschriebenen System.
Weitere Merkmale, Vorteile und Anwendungsmöglichkeiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung der Ausführungsbeispiele und der Figuren.
Die Figuren sind schematisch und nicht maßstabsgetreu. Sind in der nachfolgenden Beschreibung der Figuren gleiche Bezugszeichen angegeben, so bezeichnen diese gleiche oder ähnliche Elemente.
Fig. 1 zeigt ein neuronales Netz, wobei die letzte Schicht des neuronalen Netzes überprüft wird, gemäß einer Ausführungsform der Erfindung.
Fig. 2 zeigt ein neuronales Netz, wobei jede Schicht des neuronalen Netzes überprüft wird, gemäß einer Ausführungsform der Erfindung. Fig. 3 zeigt ein neuronales Netz, wobei ausgewählte Schichten und/oder ausgewählte Filter einer Schicht des neuronalen Netzes geprüft werden, gemäß einer Ausführungsform der Erfindung.
Fig. 4 zeigt ein Flussdiagramm für ein Verfahren zum Prüfen eines neuronalen Netzes gemäß einer Ausführungsform der
Erfindung .
Fig. 5 zeigt ein System zum Prüfen eines neuronalen Netzes gemäß einer Ausführungsform der Erfindung.
Fig. 6 zeigt ein Fahrzeug mit einem System zur Prüfung eines neuronalen Netzes gemäß einer Ausführungsform der Erfindung.
Fig. 1 zeigt ein neuronales Netz 1 mit einer bestimmen Architektur gemäß einer Ausführungsform der Erfindung, wobei der
Plausibilitätsprüfer 10 nach der Klassifikationsstufe des neuronalen Netzes 1, also der letzten Schicht 11 (Ausgabe des neuronalen Netzes) , angeordnet ist. Der Plausibilitätsprüfer 10 überprüft das Ergebnis bzw. die Ausgabe des neuronalen Netzes 1 unter Berücksichtigung des Eingangsbildes 12. Der
Plausibilitätsprüfer 10 kann hierbei selbst ein Klassifizierer sein, der verschieden ist von dem neuronalen Netz 1.
Unterscheidet sich die Objekterkennung zwischen neuronalen Netz 1 und dem Plausibilitätsprüfer 10 kann auf eine falsche
Objekterkennung durch das neuronale Netz 1 geschlossen werden. Die Überprüfung der einzelnen Merkmale bzw. der Objekterkennung kann durch einen Vergleich der Konfidenzwerte der
Objekterkennung durch das neuronale Netz 1 veranlasst, ausgelöst oder getriggert werden. In dieser beispielhaften Ausführungsform kann der Plausibilitätsprüfer 10 eine Support Vector Machine (SVM) , ein kleines, d.h. nebengeordnetes ( zu dem neuronalen Netz 1), neuronales Netz oder ein Structured Random Forest umfassen, welche mit Hilfe des Eingangsbildes 12 und den Ergebnissen des neuronalen Netzes 1 die Plausibilität der Objekterkennung des neuronalen Netzes 1 überprüft. Ein weiterer Vorteil dieser Architektur kann darin bestehen, dass unterschiedlichen
Strukturen und Trainingsverfahren für das gegenseitige
Überprüfen und Beseitigen von Falscherkennungen, der „False Positives", angewandt wird. Ferner kann der
Plausibilitätsprüfer 10 auch anhand der Konfidenzwerte der einzelnen erkannten Objekte oder der einzelnen Merkmale in der Ausgabe des neuronalen Netzes 1 auf eine falsche oder korrekte Objekterkennung durch das neuronale Netz schließen. In diesem Beispiel können die Konfidenzwerte die normalisierte Ausgabe der letzten Schicht 11 des Netzes 1 sein. Die Normalisierung kann zum Beispiel eine softmax-Funktion sein, welche die Ausgaben für die jeweilige Objektklasse in Bezug auf die Summe über alle
Objektklassen gewichtet. In den folgenden Ausführungsformen können die Eingänge (Inputs) für die Berechnung der
Konfidenzwerte der Zwischenschichten, die Werte des neuronalen Netzes 1 der jeweiligen Filter oder Knoten sein. Die
Konfidenzwerte können direkt die Filterwerte bzw. die
Knotenwerte sein, Filterwerte auf welchen ein kleines
graphisches Modell berechnet wird, Filterwerte auf welchen ein statistisches Modell berechnet wird oder Filterwerte auf welchen ein kleines neuronales Netz berechnet wird. Für die
Zwischenschichten können Konfidenzwerte für jeden einzelnen
Filter bzw. Knoten, für Gruppen von Filtern bzw. Knoten oder für eine gesamte Schicht berechnet werden.
In dieser und den folgenden Ausführungsformen, bildet der Plausibilitätsprüfer 10 eine von dem neuronalen Netz 1 verschiedene, autonome Instanz/Untersystem. Räumlich kann der Plausibilitätsprüfer 10 in das Netz integriert sein, aber dies ist nicht zwingend. Insbesondere kann der
Plausibilitätsprüfer 10 in einem embedded System implementiert sein.
Fig. 2 zeigt ein neuronales Netz 1 mit einer bestimmen Architektur gemäß einer weiteren Ausführungsform der Erfindung, wobei der Plausibilitätsprüfer 10 global über dem neuronalen Netz 1, als eine übergeordnete Validierungsschicht, angeordnet ist. Dieser globale Plausibilitätsprüfer 10 kann die Ergebnisse bzw. die Ausgaben jeder Schicht 11 des neuronalen Netzes 1 überprüfen und daraus schließen, ob eine falsche oder korrekte Objekterkennung des neuronalen Netzes 1 erfolgt ist. Der Plausibilitätsprüfer 10 kann in der übergeordneten Validierungsschicht die
Konfidenzwerte der verschiedenen Schicht 11 des neuronalen Netzes 1 sammeln und jeweils mit einem vordefinierten Schwellwert vergleichen. Auch kann es beispielsweise in der globalen Validierungsschicht erforderlich sein, dass wenigstens zwei
Konfidenzwerte von zwei unterschiedlichen Schichten ihren jeweiligen Schwellwert über- oder unterschreiten, dass die Validierungsschicht auf eine korrekte oder falsche
Objekterkennung durch das neuronale Netz 1 schließt. Sowohl in dieser Ausführungsform als auch in allen anderen, kann der oder die Schwellwert (e) durch Erfahrung/Experimente bestimmt werden. Die Schwellwerte sind entweder fix oder lassen sich über eine Benutzerschnittstelle (nicht dargestellt) anpassen bzw.
verändern .
Die globale Überprüfung einzelner oder aller Schichten des neuronalen Netzes 1 kann in einer beispielhaften Anwendung durch ein graphisches Modell realisiert werden, welches zur Analyse besonders hohen Ausschläge in einzelnen oder mehreren
Filterantworten bzw. hohe Konfidenzwerte der Objekterkennung ausgelegt ist. Ferner können die Konfidenzwerte, welche einen vordefinierten Schwellwert über- oder unterschreiten die Überprüfung durch eine weitere Instanz, wie z.B. einen weiteren Klassifizierer, auslösen.
Fig. 3 zeigt ein neuronales Netz 1 mit einer bestimmen Architektur gemäß einer weiteren Ausführungsform der Erfindung, wobei der Plausibilitätsprüfer 10 lokal in der Architektur vorhanden ist. Mit anderen Worten, befindet der Plausibilitätsprüfer 10 innerhalb wenigstens einer Schicht 11 des neuronalen Netzes 1. Der Plausibilitätsprüfer 10 kann lokal, also innerhalb einer Schicht 11, die jeweiligen Ausgaben der einzelnen Filter innerhalb dieser wenigstens einer Schicht 11 des neuronalen Netzes 1 überprüfen bzw. plausibilisieren . Die lokalen
Plausibilitätsprüfer 10 können auf hohe Ausschläge einzelner oder mehrerer Filterantworten innerhalb einer Schicht 11 ausgelegt sein. Ferner ist in Fig. 3 eine Verknüpfung dieser lokalen Plausibilitätsprüfer 10 dargestellt. Mit anderen Worten können die Ergebnisse der Überprüfung mehrerer lokaler
Plausibilitätsprüfer 10 mittels und/oder-Verknüpfen miteinander verbunden sein. Sobald ein lokaler Plausibilitätsprüfer 10 oder mehrere lokale Plausibilitätsprüfer 10 auf ein falsches Ergebnis einer Schicht 11 bzw. eines Filters dieser Schicht 11 schließen, kann auf eine falsche Objekterkennung des gesamten neuronalen Netzes 1 geschlossen werden.
Ferner zeigt Fig. 3 eine übergeordnete Validierungsschicht der einzelnen lokalen Plausibilitätsprüfer 10. Diese konsolidiert die Überprüfungen der lokalen Plausibilitätsprüfer 10 zu einem Gesamtergebnis. In der einfachsten Auslegung könnte eine derartige Verknüpfung auf einer UND- oder eine ODER-Verknüpfung basieren. In einer weiteren Ausführungsform können die
Ergebnisse der lokalen Plausibilitätsprüfer 10 in der
Validierungsschicht unterschiedlich gewichtet werden. Mit anderen Worten kann ein Plausibilitätsprüfer 10 in einer besonders relevanten Schicht 11 für eine korrekte bzw. falsche Objekterkennung des neuronalen Netzes 1 stärker in einem Gesamtergebnis berücksichtigt werden als ein anderer
Plausibilitätsprüfer 10 in einer anderen Schicht 11 des neuronalen Netzes 1. Die Validierungsschicht kann anschließend auf die Plausibilität der Ausgabe des neuronalen Netzes schließen . Fig. 4 zeigt ein Flussdiagramm für ein Verfahren zum Prüfen der Ausgabe eines neuronalen Netzes. In einem Schritt Sl erfolgt das Einlesen eines Ergebnisses und gegebenenfalls dessen
Konfidenzwertes aus einer oder mehreren Schicht (en) eines neuronalen Netzes in einen Plausibilitätsprüfer . Der
Plausibilitätsprüfer überprüft in Schritt S2 die Plausibilität des Ergebnisses der Schicht (en) des neuronalen Netzes unter der Berücksichtigung des Konfidenzwertes dieses Ergebnisses, um so auf eine falsche oder korrekte Objekterkennung durch das neuronale Netz zu schließen. Innerhalb des ersten
Überprüfungsschritts S2 kann der Konfidenzwert des Ergebnisses mit einem vordefinierten Schwellwert verglichen bzw. abgeglichen werden. Beispielsweise kann der Konfidenzwert der Schicht bzw. des Filters der Schicht mit dem vordefinierten Schwellwert verglichen werden und wenn der Konfidenzwert den Schwellwert überschreitet, kann der Plausibilitätsprüfer auf eine falsche Objekterkennung des neuronalen Netzes schließen oder es kann ein zweiter Überprüfungsschritt (nicht dargestellt) getriggert werden .
Fig. 5 zeigt ein Blockschaltbild eines Systems 50 zur Prüfung der Ausgabe eines neuronalen Netzes. Das System 50 weist eine Schnittstelle 51 und einen Plausibilitätsprüfer 10 auf. Über die Schnittstelle 51 kann die Ausgabe des neuronalen Netzes, die Ausgabe der einzelnen Schichten und/oder die Ausgabe der einzelnen Filter innerhalb einer Schicht in das System 50, sowie die korrespondierenden Konfidenzwerte eingelesen werden. Die eingelesene Ausgabe des neuronalen Netzes bzw. dessen Filter und Schichten, kann durch den Plausibilitätsprüfer 10 überprüft werden, sodass dieser auf eine falsche oder korrekte
Objekterkennung des neuronalen Netzes schließen kann. Schließt der Plausibilitätsprüfer 10 beispielsweise auf eine falsche Objekterkennung durch das neuronale Netz, so kann die
Objekterkennung wiederholt werden bzw. die auf der
Objekterkennung beruhende Funktion, wie z.B. ausweichen oder bremsen, wird nicht durchgeführt. Mit anderen Worten, kann der Plausibilitätsprüfer 10 das vorhergehend und nachfolgend beschriebene Verfahren und dessen Ausführungsformen durchführen bzw. ausführen. Somit können Falscherkennungen, sogenannte „false positives", durch das neuronale Netz reduziert werden. Dies erhöht die Zuverlässigkeit des Gesamtsystems (neuronales Netz 1 und System 50 zum Prüfen des neuronalen Netzes) , was wiederrum die Kundenzufriedenheit erhöht.
Fig. 6 zeigt eine schematische Darstellung eines Fahrzeuges 60 mit einem System 50 zum Prüfen der Ausgabe eines neuronalen Netzes. Insbesondere bei einem Fahrzeug 60 mit einem
Fahrerassistenzsystem, welches ein oder mehrere neuronale Netze zur Objekterkennung nutzt kann ein solches System 50 eingesetzt werden, um die Ausgabe des neuronalen Netzes zu überprüfen. Die durch das neuronale Netz erkannten Objekte können
Fahrzeugfunktionen auslösen, wie beispielsweise einen
Bremsassistenten oder einen Spurwechsel. Das Ergebnis der Überprüfung kann die Art und Weise beeinflussen, wie das
Fahrerassistenzsystem auf die Objekterkennung reagieren soll. Zum Beispiel kann eine Bremsaktion gemildert werden, wenn die Überprüfung auf eine Falscherkennung hindeutet oder der Fahrer wird, wenn es die Zeit erlaubt, über eine Benutzerschnittstelle mit einer Signalfunktion aufgefordert die Erkennung zu verifizieren, beispielsweise mittels einer geeigneten Eingabe.
Claims
1. Computerimplementiertes Verfahren zum Prüfen der Ausgabe eines neuronalen Netzes (1) mit mehreren Schichten (11), welches Objekte erkennt oder klassifiziert, das Verfahren weist die folgenden Schritte auf:
- Einlesen (Sl) mindestens eines Ergebnisses aus mindestens einer ersten Schicht (11) und dessen Konfidenzwertes, welcher in der ersten Schicht (11) des neuronalen Netzes (1) erzeugt wird;
- Überprüfen (S2) einer Plausibilität des Ergebnisses unter
Berücksichtigung dessen Konfidenzwertes, um so auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes (1) zu schließen;
- wobei der erste Überprüfungsschritt (S2) umfasst, Vergleichen des Konfidenzwertes des Ergebnisses mit einem vordefinierten Schwellwert; und
- wobei im Fall, dass beim ersten Überprüfungsschritt (S2) auf eine falsche Objekterkennung geschlossen wird, die Ausgabe des durch das neuronale Netz falsch erkannten Objekts vermieden wird.
2. Verfahren gemäß Anspruch 1,
wobei die Ergebnisse von wenigstens zwei verschiedenen Schichten (11) des neuronalen Netzes (1) auf Plausibilität überprüft werden, um auf eine falsche oder korrekte
Objekterkennung des neuronalen Netzes (1) zu schließen.
3. Verfahren gemäß Anspruch 2,
wobei bei dem Schließen auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes (1) die Ergebnisse wenigstens zweier Überprüfungen der wenigstens zwei Schichten (11) des neuronalen Netzes unterschiedlich stark gewichtet werden .
4. Verfahren gemäß einem der vorhergehenden Ansprüche,
wobei auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes (1) geschlossen wird, wenn der Konfidenzwert des Ergebnisses den vordefinierten Schwellwert über- oder unterschreitet .
5. Verfahren gemäß einem der Ansprüche 1 bis 4,
wobei ein zweiter Überprüfungsschritt durchgeführt wird, wenn der Konfidenzwert des Ergebnisses den vordefinierten Schwellwert über- oder unterschreitet, und die Ausgabe des falsch erkannten Objekts durch das neuronale Netz nur vermieden wird, wenn der zweite Überprüfungsschritt bestätigt, dass eine falsche Objekterkennung vorliegt.
6. Verfahren gemäß Anspruch 5,
wobei der zweite Überprüfungsschritt implementiert wird mittels i) einer Support Vector Machine, ii) einem Structured Random Forest, iii) einem One Class Classificator oder iv) einem kleinen neuronalen Netz (CNN), welche (r/s) unabhängig von dem neuronalen Netz (1) mit mehreren Schichten ist.
7. Verfahren gemäß einem der vorhergehenden Ansprüche,
wobei nur das Ergebnis der letzten Schicht (11) des neuronalen Netzes (1) oder das Ergebnis jeder Schicht (11) des neuronalen Netzes auf Plausibilität überprüft wird.
8. Verfahren gemäß einem der vorhergehenden Ansprüche,
wobei ein Teilergebnis innerhalb wenigstens einer
Schicht (11) des neuronalen Netzes (1) auf Plausibilität überprüft wird.
9. Verfahren gemäß einem der vorhergehenden Ansprüche,
wobei das Verfahren in einem Fahrerassistenzsystem in einem
Fahrzeug (60) eingesetzt wird, wobei das Fahrerassistenzsystem das Erkennen oder Klassifizieren von Objekten umfasst.
10. Verfahren gemäß Anspruch 9,
wobei die Eingangsdaten für das neuronale Netz zur
Objekterkennung oder -klassifizierung Bilddaten mindestens einer Fahrzeugkamera umfassen.
11. System (50) zum Prüfen der Ausgabe eines neuronalen Netzes (1) mit mehreren Schichten (11), welches Objekte erkennt oder klassifiziert, aufweisend:
- eine Schnittstelle (51) zum Erhalten mindestens eines
Ergebnisses und dessen Konfidenzwertes, welches in mindestens einer ersten Schicht (11) des neuronalen Netzes (1) erzeugt wird;
- einen Plausibilitätsprüfer (10) zum Überprüfen des Ergebnisses unter Berücksichtigung dessen Konfidenzwertes, um so auf eine falsche oder korrekte Objekterkennung des neuronalen Netzes (1) zu schließen,
- eine Ausgabeschnittstelle zum Ausgeben von durch das neuronale Netz (1) erkannten oder klassifizierten Objekten, wobei der Plausibilitätsprüfer (10) den Konfidenzwert des Ergebnisses mit einem vordefinierten Schwellwert vergleicht , und wobei der Plausibilitätsprüfer (10) die Ausgabe eines durch das neuronale Netz (1) falsch erkannten Objekts verhindert, sofern der Plausibilitätsprüfer (10) auf eine falsche
Objekterkennung geschlossen hat.
12. System (50) gemäß Anspruch 11
wobei der Plausibilitätsprüfer (10) und/oder das neuronale Netz (1) mit einem vordefinierten Referenzdatensatz trainiert wurde .
13. Fahrzeug (60) mit einem Steuersystem zum Beeinflussen eines Fahrverhaltens oder eines Zustands des Fahrzeugs (60), wobei das Steuersystem ein System (50) gemäß Anspruch 11 oder 12 aufweist, wobei das Steuersystem eine Steueraktion durchführt basierend
auf der Ausgabe des neuronalen Netzes (1) nach einer Überprüfung durch den Plausibilitätsprüfer (10).
14. Programmelement, das, wenn es auf zumindest einem
Datenverarbeitungssystem ausgeführt wird, das
Datenverarbeitungssystem anleitet, das Verfahren gemäß einem der Ansprüche 1 bis 10 durchzuführen.
15. Computerlesbares Medium, auf dem ein Programmelement gemäß Anspruch 14 gespeichert ist.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/652,157 US11565721B2 (en) | 2017-10-05 | 2018-10-04 | Testing a neural network |
DE112018003974.9T DE112018003974A5 (de) | 2017-10-05 | 2018-10-04 | Prüfen eines neuronalen Netzes |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017217733.0 | 2017-10-05 | ||
DE102017217733.0A DE102017217733A1 (de) | 2017-10-05 | 2017-10-05 | Prüfen eines neuronalen Netzes |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019068291A1 true WO2019068291A1 (de) | 2019-04-11 |
Family
ID=63963012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DE2018/200091 WO2019068291A1 (de) | 2017-10-05 | 2018-10-04 | - prüfen eines neuronalen netzes - |
Country Status (3)
Country | Link |
---|---|
US (1) | US11565721B2 (de) |
DE (2) | DE102017217733A1 (de) |
WO (1) | WO2019068291A1 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019110215A1 (de) * | 2019-04-17 | 2020-10-22 | Zf Automotive Germany Gmbh | Verfahren sowie System zum Erkennen von Objekten in der Umgebung eines Fahrzeugs |
DE102021206981A1 (de) | 2021-07-02 | 2023-01-05 | Siemens Mobility GmbH | Verfahren zum Prüfen der Zuverlässigkeit einer KI-basierten Objekt-Detektion |
DE102022207997A1 (de) | 2022-08-02 | 2024-02-08 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Betreiben eines technischen Systems mit einem künstlichen neuronalen Netz |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7044000B2 (ja) * | 2018-07-20 | 2022-03-30 | 株式会社デンソー | 車両制御装置および車両制御方法 |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
US11790275B2 (en) * | 2019-04-18 | 2023-10-17 | Teledyne Scientific & Imaging, Llc | Adaptive continuous machine learning by uncertainty tracking |
DE102019217218A1 (de) * | 2019-11-07 | 2021-05-12 | Zf Friedrichshafen Ag | Computerimplementiertes Verfahren zum Bestimmen einer Kopfhaltung eines Fahrzeuginsassen für ein Fahrzeugsteuerungssystem, Steuergerät für automatisierte Fahrfunktionen, Innenraumüberwachungssystem eines Fahrzeuges und Computerprogrammprodukt zum Bestimmen einer Kopfhaltung |
DE102020202964A1 (de) * | 2020-03-09 | 2021-09-09 | Continental Automotive Gmbh | Die Erfindung betrifft ein Verfahren zur Erhöhung der Sicherheit von Fahrfunktionen. |
DE102020202974A1 (de) | 2020-03-09 | 2021-09-09 | Conti Temic Microelectronic Gmbh | Detektion von Adversarial Attacks durch einen Bildsignalvorverarbeitungsprozessor |
DE102020118504A1 (de) | 2020-07-14 | 2022-01-20 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und System zum Erweitern eines neuronalen Netzes für eine Umfelderkennung |
CN112115009B (zh) * | 2020-08-13 | 2022-02-18 | 中国科学院计算技术研究所 | 一种用于神经网络处理器的故障检测方法 |
CN114494087A (zh) * | 2020-11-12 | 2022-05-13 | 安霸国际有限合伙企业 | 无监督的多尺度视差/光流融合 |
DE102021202813A1 (de) | 2021-03-23 | 2022-09-29 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren, Vorrichtung und Computerprogramm für eine Unsicherheitsbewertung einer Bildklassifikation |
DE102021109751A1 (de) | 2021-04-19 | 2022-10-20 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und insbesondere computerimplementiertes Verfahren zur Verifikation |
DE102021205589B4 (de) | 2021-06-01 | 2023-02-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Betreiben eines Kraftstoffeinspritzventils mithilfe maschineller Lernverfahren |
DE102021205590A1 (de) | 2021-06-01 | 2022-12-01 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Betreiben eines Kraftstoffeinspritzventils mithilfe maschineller Lernverfahren |
DE102021206876A1 (de) | 2021-06-30 | 2023-01-05 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Betreiben eines Kraftstoffeinspritzventils mithilfe maschineller Lernverfahren |
DE102021118876A1 (de) | 2021-07-21 | 2023-01-26 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum Erkennen von Fehlstellen sowie Verfahren und Anlage zum Ablegen von Fasermaterial |
DE102021208280A1 (de) | 2021-07-30 | 2023-02-02 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Bereitstellen eines datenbasierten Zeitpunktbestimmungsmodells für die Bestimmung eines Öffnungs- oder Schließzeitpunkts eines Einspritzventils mithilfe maschineller Lernverfahren |
EP4383093A1 (de) * | 2022-12-07 | 2024-06-12 | Volkswagen Aktiengesellschaft | Verfahren, system und computerlesbares medium |
DE102022213679A1 (de) | 2022-12-15 | 2024-06-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein | Verbesserte aktivitätserkennung in einer fahrgastzelle eines verkehrsmittels mit hilfe von statischen oder dynamischen regionen von interesse, roi |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203619B (zh) * | 2015-05-29 | 2022-09-13 | 三星电子株式会社 | 数据优化的神经网络遍历 |
US10189479B2 (en) * | 2016-04-06 | 2019-01-29 | At&T Intellectual Property I, L.P. | Methods and apparatus for vehicle operation analysis |
US10509413B2 (en) * | 2017-09-07 | 2019-12-17 | GM Global Technology Operations LLC | Ground reference determination for autonomous vehicle operations |
-
2017
- 2017-10-05 DE DE102017217733.0A patent/DE102017217733A1/de not_active Withdrawn
-
2018
- 2018-10-04 US US16/652,157 patent/US11565721B2/en active Active
- 2018-10-04 DE DE112018003974.9T patent/DE112018003974A5/de active Pending
- 2018-10-04 WO PCT/DE2018/200091 patent/WO2019068291A1/de active Application Filing
Non-Patent Citations (3)
Title |
---|
NGUYEN, DEEP NEURONAL NETWORKS ARE EASILY FOOLED: HIGH CONFIDENCE PREDICTIONS FOR UNRECOGNIZABLE IMAGES, 2015 |
TIANYU PANG ET AL: "Robust Deep Learning via Reverse Cross-Entropy Training and Thresholding Test", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 2 June 2017 (2017-06-02), XP080767067 * |
XIN LI ET AL: "Adversarial Examples Detection in Deep Networks with Convolutional Filter Statistics", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 22 December 2016 (2016-12-22), XP080742529, DOI: 10.1109/ICCV.2017.615 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019110215A1 (de) * | 2019-04-17 | 2020-10-22 | Zf Automotive Germany Gmbh | Verfahren sowie System zum Erkennen von Objekten in der Umgebung eines Fahrzeugs |
DE102021206981A1 (de) | 2021-07-02 | 2023-01-05 | Siemens Mobility GmbH | Verfahren zum Prüfen der Zuverlässigkeit einer KI-basierten Objekt-Detektion |
DE102022207997A1 (de) | 2022-08-02 | 2024-02-08 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Betreiben eines technischen Systems mit einem künstlichen neuronalen Netz |
Also Published As
Publication number | Publication date |
---|---|
US20200247433A1 (en) | 2020-08-06 |
US11565721B2 (en) | 2023-01-31 |
DE112018003974A5 (de) | 2020-04-16 |
DE102017217733A1 (de) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019068291A1 (de) | - prüfen eines neuronalen netzes - | |
EP2951804B1 (de) | Erstellen eines umfeldmodells für ein fahrzeug | |
DE102018222720B4 (de) | Überwachung von auf neuronalen Netzwerken basierten Fahrfunktionen | |
DE102020214860A1 (de) | System und verfahren zum erkennen eines böswilligen angriffs | |
DE102022205084B3 (de) | Verfahren, Computerprogramm und Vorrichtung zur Umfeldwahrnehmung im Fahrzeug sowie entsprechendes Fahrzeug | |
EP3748453B1 (de) | Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs | |
DE102019209463A1 (de) | Verfahren zur Bestimmung eines Vertrauenswertes eines Objektes einer Klasse | |
DE102021207613A1 (de) | Verfahren zur Qualitätssicherung eines Systems | |
DE102017128082A1 (de) | Meta-Architektur-Design für ein CNN-Netzwerk | |
DE102017116016A1 (de) | Kraftfahrzeug-Sensorvorrichtung mit mehreren Sensoreinheiten und einem neuronalen Netz zum Erzeugen einer integrierten Repräsentation einer Umgebung | |
DE102020203707A1 (de) | Plausibilisierung der Ausgabe neuronaler Klassifikatornetzwerke | |
DE102019204269A1 (de) | Verfahren und Einrichtung zum Erzeugen eines Statussignals | |
EP3985558B1 (de) | Verfahren sowie vorrichtung zum klassifizieren von sensordaten | |
DE102019218127B4 (de) | Verfahren und Vorrichtung zum optimalen Bereitstellen von KI-Systemen | |
DE102017219269A1 (de) | Klassifizierung mit automatischer Auswahl aussichtsreicher Lerndaten | |
EP4248418A2 (de) | Verfahren und system zur annotation von sensordaten | |
DE102021201833A1 (de) | Vorrichtung zur Verarbeitung von mindestens einem Eingangsdatensatz unter Verwendung eines neuronalen Netzes sowie Verfahren | |
DE102020128952A1 (de) | Verfahren und Assistenzeinrichtung zur zweistufigen bildbasierten Szenenerkennung und Kraftfahrzeug | |
DE102021204040A1 (de) | Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug | |
WO2021239795A1 (de) | Verfahren zum generieren eines trainierten neuronalen faltungs-netzwerks mit invarianter integrationsschicht zum klassifizieren von objekten | |
EP3701428B1 (de) | Verfahren und vorrichtung zum verbessern der robustheit eines maschinellen lernsystems | |
WO2016087339A1 (de) | Verfahren zum erkennen einer abschattung einer sensoreinrichtung eines kraftfahrzeugs durch ein objekt, recheneinrichtung, fahrerassistenzsystem sowie kraftfahrzeug | |
DE102019118607A1 (de) | Anomaliedetektor für fahrzeugsteuersignale | |
DE102021208349B3 (de) | Verfahren und Sensorsystem zum Zusammenführen von Sensordaten sowie Fahrzeug mit einem Sensorsystem zum Zusammenführen von Sensordaten | |
DE102021100054A1 (de) | Verfahren zum Bestimmen eines Ereignisses in einer Umgebung eines Kraftfahrzeugs mittels eines Asistenzsystems, sowie Assistenzsystem |
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: 18792375 Country of ref document: EP Kind code of ref document: A1 |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: R225 Ref document number: 112018003974 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18792375 Country of ref document: EP Kind code of ref document: A1 |