Beschreibung description
Verfahren und Generator zum Erzeugen von gestörten Eingangsdaten für ein neuronales Method and generator for generating disturbed input data for a neural
Netz network
Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen von gestörten Eingangsdaten für ein neuronales Netz zum Analysieren von Sensordaten, insbesondere zum Analysieren von digitalen Bildern, eines Fahrerassistenzsystems. Ferner betrifft die Erfindung ein Verfahren zum Prüfen der Robustheit eines solchen neuronalen Netzes und ein Verfahren zum Verbessern eines Parametersatzes eines solchen neuronalen Netzes. Des Weiteren betrifft die Erfindung einen Generator zum Erzeugen von gestörten Eingangsdaten für ein neuronales Netz zum Analysieren von Sensordaten, insbesondere zum Analysieren von digitalen Bildern, eines Fahrerassistenzsystems. The present invention relates to a method for generating disturbed input data for a neural network for analyzing sensor data, in particular for analyzing digital images, of a driver assistance system. The invention also relates to a method for checking the robustness of such a neural network and a method for improving a parameter set of such a neural network. The invention further relates to a generator for generating disturbed input data for a neural network for analyzing sensor data, in particular for analyzing digital images, of a driver assistance system.
Moderne Fahrzeuge umfassen Fahrerassistenzsysteme, welche den Fahrer bei der Steuerung des Fahrzeugs unterstützen oder die Fahraufgabe teilweise oder vollständig übernehmen.Modern vehicles include driver assistance systems that support the driver in controlling the vehicle or partially or completely take over the driving task.
Durch die Verwendung von solchen Fahrerassistenzsystemen können verschiedene Grade der Automatisierung der Fahrzeugsteuerung erreicht werden. Bei einem niedrigen By using such driver assistance systems, different degrees of automation of the vehicle control can be achieved. At a low one
Automatisierungsgrad werden dem Fahrer nur Informationen und Warnungen ausgegeben. Bei höheren Automatisierungsgraden greift das Fahrerassistenzsystem aktiv in die Steuerung des Fahrzeugs ein. Beispielsweise wird in die Lenkung des Fahrzeugs oder die Beschleunigung in positiver oder negativer Richtung eingegriffen. Bei einem noch höheren Grad der Level of automation, only information and warnings are given to the driver. With a higher degree of automation, the driver assistance system actively intervenes in the control of the vehicle. For example, the steering of the vehicle or the acceleration in a positive or negative direction are intervened. At an even higher degree of
Automatisierung wird so weit in Einrichtungen des Fahrzeugs eingegriffen, dass bestimmte Fortbewegungsarten des Fahrzeugs, zum Beispiel eine Geradeausfahrt, automatisch ausgeführt werden können. Beim höchsten Grad der Automatisierung kann das Fahrzeug autonom fahren. Automation is so far intervened in devices of the vehicle that certain types of locomotion of the vehicle, for example straight travel, can be carried out automatically. With the highest degree of automation, the vehicle can drive autonomously.
Bei derartigen Fahrerassistenzsystemen ist die Analyse von digitalen Bildern, die von der Umgebung des Fahrzeugs während der Fahrt aufgenommen werden, von essentieller In such driver assistance systems, the analysis of digital images that are recorded of the surroundings of the vehicle while driving is more essential
Bedeutung. Nur wenn die digitalen Bilder korrekt analysiert werden, kann das Importance. That can only be done if the digital images are correctly analyzed
Fahrerassistenzsystem das Fahrzeug sicher steuern. Bei der Analyse von digitalen Bildern eines Fahrerassistenzsystems hat das maschinelle Lernen großes Potential. Die Driver assistance system safely control the vehicle. When analyzing digital images of a driver assistance system, machine learning has great potential. The
Sensorrohdaten, die zum Beispiel von einer Kamera, einem Radarsensor oder einem Lidar- Sensor eines Fahrzeugs erzeugt werden, werden mittels eines tiefen neuronalen Netzes verarbeitet. Das neuronale Netz erzeugt Ausgangsdaten, aus denen das Raw sensor data, which are generated, for example, by a camera, a radar sensor or a lidar sensor of a vehicle, are processed by means of a deep neural network. The neural network generates output data from which the
Fahrerassistenzsystem relevante Informationen zum teilautomatisierten oder vollautomatisierten Driver assistance system relevant information for the partially automated or fully automated
2020-06-12 bes.doc
Fahren ableitet. Beispielsweise wird die Art und Position von Objekten im Fahrzeugumfeld und deren Verhalten ermittelt. Ferner kann mittels neuronaler Netze die Fahrbahngeometrie und Fahrbahntopologie ermittelt werden. Für die Verarbeitung von digitalen Bildern sind 2020-06-12 bes.doc Driving derives. For example, the type and position of objects in the vehicle environment and their behavior are determined. Furthermore, the road geometry and road topology can be determined by means of neural networks. For processing digital images are
insbesondere Faltungsnetze (convolutional neuronal networks) besonders geeignet. especially convolutional neuronal networks.
Für den Einsatz in einem Fahrerassistenzsystem werden solche tiefen neuronalen Netze trainiert. Dabei können die Parameter des neuronalen Netzes durch die Eingabe von Daten geeignet angepasst werden, ohne dass ein menschlicher Experte eingreifen muss. Für eine gegebene Parametrisierung wird dabei die Abweichung einer Ausgabe eines neuronalen Netzes von einer Grundwahrheit gemessen. Diese Abweichung wird auch als„Löss“ Such deep neural networks are trained for use in a driver assistance system. The parameters of the neural network can be suitably adapted by entering data without a human expert having to intervene. For a given parameterization, the deviation of an output of a neural network from a basic truth is measured. This deviation is also called "loess"
bezeichnet. Dabei wird eine so genannte Lossfunktion in einer Weise gewählt, dass die designated. A so-called loss function is chosen in such a way that the
Parameter differenzierbar von ihr abhängen. Im Rahmen eines Gradientenabstiegs werden in jedem Trainingsschritt dann die Parameter des neuronalen Netzes in Abhängigkeit von der Ableitung der Abweichung, die auf Basis mehrerer Beispiele ermittelt wird, angepasst. Diese Trainingsschritte werden sehr oft wiederholt, bis sich die Abweichung, d. h. der Löss, nicht mehr verringert. Parameters differentiable depend on it. As part of a gradient descent, the parameters of the neural network are then adapted in each training step as a function of the derivation of the deviation, which is determined on the basis of several examples. These training steps are repeated very often until the deviation, i. H. the loess, no longer diminished.
Die Parameter werden bei dieser Vorgehensweise ohne die Einschätzung eines menschlichen Experten oder eine semantisch motivierte Modellierung ermittelt. Dies hat für die neuronalen Netze zur Folge, dass sie vielfach für Menschen weitgehend intransparent sind und ihre With this approach, the parameters are determined without the assessment of a human expert or semantically motivated modeling. For the neural networks, this means that they are often largely opaque to people and theirs
Berechnungen nicht interpretierbar sind. Dies führt dazu, dass insbesondere tiefe neuronale Netze vielfach nicht systematisch getestet oder formell verifiziert werden können. Calculations are not interpretable. As a result, deep neural networks in particular often cannot be systematically tested or formally verified.
Des Weiteren ergibt sich das Problem, dass tiefe neuronale Netze anfällig für schädliche Störeinflüsse (adversial perturbations) sind. Kleine, für den Menschen kaum oder gar nicht wahrnehmbare Manipulationen an den Eingangsdaten oder Manipulationen, welche die Furthermore, there is the problem that deep neural networks are susceptible to harmful interference (adversial perturbations). Small manipulations of the input data that are barely or not at all perceptible to humans or manipulations which the
Situationseinschätzung nicht verändern, können zu Ausgangsdaten führen, welche sich erheblich von den Ausgangsdaten unterscheiden, welche sich ohne die Manipulation ergeben würden. Solche Manipulationen können sowohl mutwillig herbeigeführte Veränderungen der Sensordaten sein als auch zufällig auftretende Bildveränderungen aufgrund von Do not change the assessment of the situation, can lead to output data that differ significantly from the output data that would result without the manipulation. Such manipulations can be deliberately induced changes in the sensor data as well as randomly occurring image changes due to
Sensorrauschen, Witterungseinflüssen oder bestimmten Farben und Kontrasten. Sensor noise, weather influences or certain colors and contrasts.
Es ist dabei nicht vorhersehbar, auf welche Eingangsmerkmale ein neuronales Netz so sensibel reagiert, dass sich die Ausgangsdaten auch bei geringfügigen Veränderungen der It cannot be foreseen which input characteristics a neural network will react to so sensitively that the output data will change even if the
Eingangsdaten erheblich ändern. Dies hat zur Folge, dass synthetische Daten nicht erfolgreich für das Training von neuronalen Netzen, die in solchen Fahrerassistenzsystemen eingesetzt
werden, verwendet werden können. Es hat sich herausgestellt, dass neuronale Netze, die in Simulationen oder auf anderweitig synthetischen Daten trainiert wurden, eine schwache Performance beim Einsatz in einem Fahrerassistenzsystem mit reellen Sensordaten aufweisen. Außerdem hat sich herausgestellt, dass auch eine Ausführung eines Fahrerassistenzsystems mit einem neuronalen Netz in einer anderen Domäne die funktionale Güte stark reduzieren kann. Beispielsweise kann es passieren, dass ein Fahrerassistenzsystem mit einem neuronalen Netz, das im Sommer trainiert wurde, für die Ausführung im Winter ungeeignet ist. Die Change input data significantly. As a result, synthetic data are not successful for training neural networks that are used in such driver assistance systems can be used. It has been found that neural networks that have been trained in simulations or on other synthetic data have poor performance when used in a driver assistance system with real sensor data. It has also been found that an implementation of a driver assistance system with a neural network in a different domain can also greatly reduce the functional quality. For example, it can happen that a driver assistance system with a neural network that was trained in summer is unsuitable for execution in winter. The
Entwicklung und Freigabe von neuronalen Netzen für Fahrerassistenzsysteme auf der Basis einer Simulation ist daher problematisch. Development and approval of neural networks for driver assistance systems on the basis of a simulation is therefore problematic.
Es besteht daher ein Bedürfnis neuronale Netze für Fahrerassistenzsysteme zu entwickeln, welche robust gegen Störungen sind. Die neuronalen Netze sollen auch dann für das There is therefore a need to develop neural networks for driver assistance systems that are robust against interference. The neural networks should then also be used for the
Fahrerassistenzsystem brauchbare Ausgangsdaten erzeugen, wenn die Eingangsdaten gestört sind. Driver assistance systems generate usable output data when the input data is disturbed.
Um dies zu erreichen, ist es bekannt, mittels bekannter Störungen gestörte Eingangsdaten für ein neuronales Netz zu erzeugen und zu testen, wie die Ausgangsdaten des neuronalen Netzes auf diese gestörten Eingangsdaten reagieren. Es gibt Sammlungen für Störungen der In order to achieve this, it is known to generate disrupted input data for a neural network by means of known disturbances and to test how the output data of the neural network react to this disrupted input data. There are collections for disorders of the
Eingangsdaten, mittels derer getestet werden kann, wie robust ein neuronales Netz gegen solche Störungen ist. Dabei ergibt sich jedoch das Problem, dass gestörte Eingangsdaten nur in einem begrenzten Ausmaß durch bekannte Störungen erzeugt werden können. Es besteht somit ein Bedürfnis, gestörte Eingangsdaten für ein neuronales Netz zum Analysieren von Sensordaten, insbesondere digitalen Bildern, eines Fahrerassistenzsystems, zu erzeugen, um neuronale Netze zu testen und zu verbessern. Input data that can be used to test how robust a neural network is against such disturbances. However, the problem arises that disturbed input data can only be generated to a limited extent by known disturbances. There is thus a need to generate disturbed input data for a neural network for analyzing sensor data, in particular digital images, of a driver assistance system, in order to test and improve neural networks.
Der vorliegenden Erfindung liegt somit die Aufgabe zugrunde, ein Verfahren und einen The present invention is therefore based on the object of a method and a
Generator zum Erzeugen von gestörten Eingangsdaten für ein neuronales Netz zum Generator for generating disturbed input data for a neural network for
Analysieren von Sensordaten, insbesondere von digitalen Bildern, eines Analyzing sensor data, in particular digital images, of one
Fahrerassistenzsystems anzugeben, mit denen mittels bereits bekannter Störungen auf einfache Weise neue gestörte Eingangsdaten für das neuronale Netz erzeugt werden können. Specify driver assistance system with which new disrupted input data for the neural network can be generated in a simple manner by means of already known disturbances.
Erfindungsgemäß wird diese Aufgabe durch ein Verfahren mit den Merkmalen des Anspruchs 1 und ein Verfahren mit den Merkmalen des Anspruchs 12 sowie einen Generator mit den Merkmalen des Anspruchs 14 und einen Generator mit den Merkmalen des Anspruchs 20 gelöst. Des Weiteren kann hierdurch ein Verfahren zum Prüfen der Robustheit eines neuronalen Netzes zum Analysieren von Sensordaten, insbesondere digitalen Bildern,
gegenüber gestörten Eingangsdaten sowie ein Verfahren zum Verbessern eines Parametersatzes eines solche neuronalen Netzes angegeben werden. Vorteilhafte According to the invention, this object is achieved by a method with the features of claim 1 and a method with the features of claim 12 as well as a generator with the features of claim 14 and a generator with the features of claim 20. Furthermore, a method for checking the robustness of a neural network for analyzing sensor data, in particular digital images, against disturbed input data and a method for improving a parameter set of such a neural network can be specified. Beneficial
Ausgestaltungen und Weiterbildungen ergeben sich aus den abhängigen Ansprüchen. Refinements and developments result from the dependent claims.
Bei dem erfindungsgemäßen Verfahren zum Erzeugen von gestörten Eingangsdaten für ein neuronales Netz zum Analysieren von Sensordaten eines Fahrassistenzsystems wird eine erste Metrik definiert, die angibt, wie das Ausmaß einer Veränderung eines digitalen Bildes gemessen wird, und eine zweite Metrik definiert, die angibt, worauf eine Störung der In the method according to the invention for generating disturbed input data for a neural network for analyzing sensor data of a driver assistance system, a first metric is defined that indicates how the extent of a change in a digital image is measured, and a second metric is defined that indicates what a Disruption of
Eingangsdaten eines digitalen Bildes gerichtet ist. Aus einer Kombination der ersten Metrik und der zweiten Metrik wird ein Optimierungsproblem erzeugt. Das Optimierungsproblem wird mittels zumindest eines Lösungsalgorithmus gelöst, wobei die Lösung eine Ziel-Störung der Eingangsdaten angibt, und mittels der Ziel-Störung gestörte Eingangsdaten von Sensordaten für das neuronale Netz erzeugt werden. Input data of a digital image is directed. An optimization problem is generated from a combination of the first metric and the second metric. The optimization problem is solved by means of at least one solution algorithm, the solution specifying a target disruption of the input data, and input data from sensor data for the neural network disrupted by the target disruption being generated.
Bei den Sensordaten handelt es sich insbesondere um digitale Bilder. Die Ziel-Störung erzeugt in diesem Fall somit gestörte, d. h. veränderte digitale Bilder, welche die Eingangsdaten für das neuronale Netz bilden, welches das digitale Bild analysiert. The sensor data are in particular digital images. The target disturbance in this case thus generates disturbed, i.e. H. altered digital images that form the input data for the neural network that analyzes the digital image.
Bei dem erfindungsgemäßen Verfahren werden mögliche schädliche Störungen eines neuronalen Netzes, welches zur Analyse von Sensordaten eingesetzt wird, auf einer strukturellen Ebene betrachtet. Die Störung wird als eine Komposition verschiedener Elemente betrachtet, für die verschiedene Metriken definiert werden. Überraschenderweise konnte hierdurch erreicht werden, dass nicht mehr nur willkürlich zusammengesetzte Störungen verwendet werden, sondern es wird möglich, eine große Anzahl neuer schädlicher Ziel- Störungen auf der Basis von bekannten Störungen zu generieren, indem die Struktur bekannter Störungen hinsichtlich der Metriken analysiert wird. In the method according to the invention, possible harmful disturbances of a neural network, which is used for analyzing sensor data, are considered on a structural level. The disturbance is seen as a composition of different elements for which different metrics are defined. Surprisingly, it was possible to achieve that no longer only randomly composed disturbances are used, but it becomes possible to generate a large number of new harmful target disturbances on the basis of known disturbances by analyzing the structure of known disturbances with regard to the metrics.
Bei dem erfindungsgemäßen Verfahren wird vorteilhafterweise aus zwei Metriken, welche Veränderungen von Sensordaten, insbesondere eines digitalen Bildes, messen, ein In the method according to the invention, one is advantageously made from two metrics which measure changes in sensor data, in particular in a digital image
Optimierungsproblem erzeugt. Für ein solches Optimierungsproblem gibt es eine große Anzahl von bekannten Lösungsalgorithmen. Mit diesen Lösungsalgorithmen kann das Optimization problem generated. There are a large number of known solution algorithms for such an optimization problem. With these solution algorithms that can
Optimierungsproblem somit gelöst werden. Hierdurch wird eine Ziel-Störung der Eingangsdaten erzeugt. Mittels dieser Ziel-Störung können dann gestörte Eingangsdaten von Sensordaten für das neuronale Netz erzeugt werden. Auf Basis dieser gestörten Eingangsdaten kann das neuronale Netz dann getestet und trainiert werden. Vorteilhafterweise ermöglicht das
erfindungsgemäße Verfahren, sehr schnell und auf einfache Weise neue Störungen zu generieren. Optimization problem can thus be solved. This creates a target disruption of the input data. This target disturbance can then be used to generate disturbed input data from sensor data for the neural network. The neural network can then be tested and trained on the basis of this disturbed input data. This advantageously enables method according to the invention to generate new faults very quickly and in a simple manner.
Die bei dem erfindungsgemäßen Verfahren eingesetzte erste Metrik gibt an, wie das Ausmaß einer Veränderung von Sensordaten gemessen wird. Handelt es sich bei den Sensordaten um ein digitales Bild einer Kamera, soll die Störung zum Testen des neuronalen Netzes üblicherweise möglichst klein sein. Die erste Metrik gibt an, wie das Ausmaß der Veränderung des digitalen Bildes quantifiziert werden kann. Ein digitales Bild kann beispielsweise dadurch verändert werden, dass die Pixel des Bildes verschoben werden, gedreht werden oder gespiegelt werden. Die erste Metrik gibt das Ausmaß der Veränderung bei derartigen The first metric used in the method according to the invention indicates how the extent of a change in sensor data is measured. If the sensor data is a digital image from a camera, the disturbance for testing the neural network should usually be as small as possible. The first metric indicates how the extent of the change in the digital image can be quantified. A digital image can be modified, for example, by shifting, rotating or mirroring the pixels of the image. The first metric gives the degree of change in such
Transformationen an. Eine Rotation oder Translation eines digitalen Bildes kann nach der ersten Metrik durch einen Fixpunkt und den Rotationswinkel bzw. den Translationsabstand in horizontaler und vertikaler Richtung definiert sein. Ferner kann für jedes Pixel des Bildes die erste Metrik die Bildabstände dadurch bestimmen, dass die Summe der Differenzen aller Pixelwerte ermittelt wird. Der Pixelwert kann beispielsweise ein Graustufenwert oder ein Farbwert sein. Für jedes Pixel bildet man die Differenz des Pixelwerts für das ursprüngliche Bild und für das gestörte Bild. Diese Differenz wird für jedes Pixel bestimmt und die Differenzen werden dann addiert. Im Ergebnis ergibt sich ein Bildabstand, welcher den Unterschied der beiden Bilder nach der ersten Metrik angibt. Transformations. According to the first metric, a rotation or translation of a digital image can be defined by a fixed point and the rotation angle or the translation distance in the horizontal and vertical directions. Furthermore, the first metric can determine the image distances for each pixel of the image by determining the sum of the differences of all pixel values. The pixel value can be, for example, a grayscale value or a color value. For each pixel, the difference between the pixel value for the original image and for the disturbed image is formed. This difference is determined for each pixel and the differences are then added. The result is an image spacing which indicates the difference between the two images according to the first metric.
Des Weiteren kann man nach der ersten Metrik veränderte Bildbereiche betrachten. Die Bildbereiche können durch einen Ausgangspunkt und eine Ausdehnung in horizontaler und vertikaler Richtung, oder durch eine Liste von Pixeln definiert sein. Für diese Bildbereiche kann man nach der ersten Metrik Bildabstände bestimmen. Furthermore, changed image areas can be viewed after the first metric. The image areas can be defined by a starting point and an extent in the horizontal and vertical directions, or by a list of pixels. Image distances can be determined for these image areas according to the first metric.
Des Weiteren kann die erste Metrik das Ausmaß einer Veränderung eines digitalen Bildes in Bezug auf Bildcharakteristika, wie z. B. Luminanz-, Kontrast- und/oder Strukturwerte, oder beliebige Kombinationen davon, angeben. Furthermore, the first metric can be the extent of a change in a digital image with respect to image characteristics, such as e.g. B. luminance, contrast and / or structure values, or any combination thereof.
Bei der Definition der ersten Metrik können auch Einschränkungen enthalten sein, The definition of the first metric can also contain restrictions,
beispielsweise dass die Veränderungen, welche bei der ersten Metrik betrachtet werden, nur solche Bildbereiche berücksichtigen, bei denen beispielsweise bestimmte Bildcharakteristika vorliegen. Beispielsweise können nur solche Bereiche betrachtet werden, bei denen der Kontrast einen bestimmten Schwellwert überschreitet.
Gemäß einer Ausgestaltung des erfindungsgemäßen Verfahrens ist die erste Metrik ausgewählt unter ersten Metriken, die potentielle natürlich vorkommende Störungen messen, da durch diese Metriken ermittelte Störungen tatsächlich in der Ausführung im Feld auftreten können. Solche natürlichen Störungen sind beispielsweise Veränderungen der Sensordaten, die aufgrund von Witterungseinflüssen, wie Nebel oder Schnee, Sensorrauschen oder durch Kameraverschmutzung erzeugt werden oder die durch Texturen erzeugt werden. Ferner sind natürlich vorkommende Störungen natürlich vorkommende Objekte in der Umgebung eines Fahrzeugs, wie beispielsweise gedruckte Plakate oder Aufkleber auf Objekten. Wenn beispielsweise die Störung der zweiten Metrik darauf gerichtet ist, Objekte einer bestimmten Klasse verschwinden zu lassen, ist es möglich in ein digitales Bild ein gedrucktes Plakat, einen Aufkleber auf einem Objekt, Nebel oder Texturen hinzuzufügen. Mittels derartiger Störungen, die gemäß der zweiten Metrik auf einen bestimmten Effekt bei den Sensordaten gerichtet ist, können vorteilhafterweise solche gestörten Eingangsdaten für ein neuronales Netz erzeugt werden, die für den Einsatz in einem Fahrerassistenzsystem besonders relevant sind. for example that the changes that are considered in the first metric only take into account those image areas in which, for example, certain image characteristics are present. For example, only those areas can be considered in which the contrast exceeds a certain threshold value. According to one embodiment of the method according to the invention, the first metric is selected from first metrics which measure potential naturally occurring disturbances, since disturbances determined by these metrics can actually occur during execution in the field. Such natural disturbances are, for example, changes in the sensor data that are generated due to the effects of the weather, such as fog or snow, sensor noise or camera pollution, or that are generated by textures. Furthermore, naturally occurring disturbances are naturally occurring objects in the vicinity of a vehicle, such as printed posters or stickers on objects. For example, if the disturbance of the second metric is aimed at making objects of a certain class disappear, it is possible to add a printed poster, a sticker on an object, fog or textures to a digital image. By means of such disturbances, which according to the second metric is directed towards a certain effect in the sensor data, it is advantageously possible to generate such disturbed input data for a neural network which are particularly relevant for use in a driver assistance system.
Gemäß einer Ausgestaltung des erfindungsgemäßen Verfahrens ist die zweite Metrik auf eine Änderung der Klassifikation von Objekten gerichtet. Sie misst insbesondere die Abweichung der wahren Modellausgabe vom der angestrebten falschen Modellausgabe, also das Ziel der adverserialen Störung. Bei einem digitalen Bild können beispielsweise kleine Bildbereiche oder eine kleine Anzahl von Pixeln so gestört werden, dass ein Objekt des digitalen Bildes nicht mehr als Verkehrsteilnehmer, wie beispielsweise als Fußgänger, erkannt wird, sondern als ein anders klassifiziertes Objekt, zum Beispiel ein Bereich einer Fahrbahn. Ferner kann die Störung darauf gerichtet sein, dass immer dann, wenn ein Bereich als Straße erkannt wird, diese Straße immer als leere Straße ohne andere Verkehrsteilnehmer erkannt wird. According to one embodiment of the method according to the invention, the second metric is aimed at changing the classification of objects. In particular, it measures the deviation of the true model output from the desired false model output, i.e. the target of the adverserial disturbance. In the case of a digital image, for example, small image areas or a small number of pixels can be disturbed in such a way that an object in the digital image is no longer recognized as a road user, such as a pedestrian, but as a differently classified object, for example an area of a roadway . Furthermore, the disturbance can be aimed at ensuring that whenever an area is recognized as a street, this street is always recognized as an empty street without other road users.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens kann die zweite Metrik auf ein Verschwinden von Objekten gerichtet sein. Die Störung ist zum Beispiel darauf gerichtet, dass erkannte Objekte so verändert werden, dass sie verschwinden. Die zweite Metrik kann sich dabei auch nur auf bestimmte Bildbereiche beziehen. Beispielsweise kann die Störung, die durch die zweite Metrik beschrieben wird, darauf gerichtet sein, dass Objekte einer bestimmten Klasse in einem bestimmten Bildbereich nicht Vorkommen können. According to a further embodiment of the method according to the invention, the second metric can be aimed at the disappearance of objects. The disturbance is aimed, for example, at the fact that recognized objects are changed in such a way that they disappear. The second metric can only relate to certain image areas. For example, the disturbance that is described by the second metric can be aimed at the fact that objects of a specific class cannot occur in a specific image area.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens ist die zweiten Metrik auf eine Veränderung eines Objekts einer bestimmten Klasse gerichtet. Beispielsweise kann ein Objekt erkannt und klassifiziert werden. Beispielsweise kann ein Bildbereich einem According to a further embodiment of the method according to the invention, the second metric is aimed at a change in an object of a specific class. For example, an object can be recognized and classified. For example, an image area can be a
Verkehrsteilnehmer zugeordnet werden. Die zweite Metrik ist dann beispielsweise darauf
gerichtet, dieses Objekt größer oder kleiner oder an einer anderen Position darzustellen. Road users are assigned. The second metric is then on, for example directed to display this object larger or smaller or in a different position.
Beispielsweise können als Fußgänger klassifizierte Objekte kleiner oder größer dargestellt werden. Die Vergrößerung wird in diesem Fall beispielsweise durch die absolute Angabe von Pixeln, durch die das Objekt durch die Störung links, rechts, oben und unten vergrößert bzw. verkleinert wird, definiert. For example, objects classified as pedestrians can be displayed smaller or larger. In this case, the magnification is defined, for example, by specifying the absolute number of pixels by which the object is enlarged or reduced by the disturbance on the left, right, top and bottom.
Es gibt eine große Anzahl möglicher Störungen, die durch die zweite Metrik beschrieben werden können. Es können beliebige Änderungen der Sensordaten herbeigeführt werden, um die Sensordaten so zu verändern, dass bei der Analyse der Sensordaten in einem There are a large number of possible faults that can be described by the second metric. Any changes to the sensor data can be brought about in order to change the sensor data in such a way that the analysis of the sensor data in a
Fahrerassistenzsystem insbesondere sicherheitsrelevante Ergebnisse nicht mehr korrekt erzielt werden können. Beispielsweise kann ein Muster oder ein Raster auf die Sensordaten angewandt werden, damit bei einem digitalen Bild Objekte einer bestimmten Klasse, beispielsweise Fußgänger, verschwinden, andere Objekte jedoch weiterhin korrekt klassifiziert werden. Für die Anwendung des erfindungsgemäßen Verfahrens in einem Driver assistance system in particular safety-related results can no longer be achieved correctly. For example, a pattern or a grid can be applied to the sensor data so that objects of a certain class, for example pedestrians, disappear in a digital image, but other objects continue to be classified correctly. For the application of the method according to the invention in one
Fahrerassistenzsystem sind dabei insbesondere solche zweite Metriken relevant, welche die natürlich erscheinende Störungen bemessen: die Modellausgabe erscheint plausibel, weicht von der Wahrheit aber in bestimmten, sicherheitsrelevanten Einzelheiten ab. In this context, driver assistance systems are particularly relevant to those second metrics that measure the naturally occurring disturbances: the model output appears plausible, but deviates from the truth in certain safety-relevant details.
Gemäß einer Ausgestaltung des erfindungsgemäßen Verfahrens sind die Störungen, die durch die erste und/oder zweite Metrik beschrieben werden, natürlich vorkommende Störungen. Für die Anwendung in einem Fahrerassistenzsystem wird für die möglichen Störungen, die durch die erste und/oder zweite Metrik beschrieben werde, somit eine Auswahl getroffen, die für die Überprüfung und Verbesserung von neuronalen Netzen für einen Einsatz in einem According to one embodiment of the method according to the invention, the disturbances that are described by the first and / or second metric are naturally occurring disturbances. For the application in a driver assistance system, a selection is made for the possible disturbances that are described by the first and / or second metric, which is necessary for checking and improving neural networks for use in one
Fahrerassistenzsystem besonders relevant sind. Driver assistance systems are particularly relevant.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens sind die ersten und/oder zweiten Metriken in einer Datenbank gespeichert. Ein Datensatz zu einer natürlich vorkommenden Störung, die mit der ersten und/oder zweiten Metrik gemessen wird, wird dann aus der Datenbank geladen. Die Metriken für mögliche Störungen an den Eingangsdaten (erste Metriken) und für mögliche Veränderungen an den Modellausgaben (zweite Metriken) können beispielsweise in der Datenbank gespeichert sein. Gemäß einer Ausgestaltung des According to a further embodiment of the method according to the invention, the first and / or second metrics are stored in a database. A data set on a naturally occurring disorder, which is measured with the first and / or second metric, is then loaded from the database. The metrics for possible disturbances in the input data (first metrics) and for possible changes in the model outputs (second metrics) can be stored in the database, for example. According to one embodiment of the
erfindungsgemäßen Verfahrens wird dann ein Datensatz zu einer natürlich vorkommenden Störung (gemessen mit einer ersten Metrik) und für ein mögliches Ziel (eine avisierte According to the method according to the invention, a data set is then used for a naturally occurring disorder (measured with a first metric) and for a possible goal (an advised
Veränderung der Modellausgabe - z.B. Übersehen aller Fußgänger - gemessen mit einer zweiten Metrik) aus der Datenbank geladen.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens wird eine dritte Metrik definiert, die angibt, auf was für Sensordaten eine dritte Störung Anwendung findet. Z. B. wird die Störung auf allen Daten, auf nur einem Datenpunkt oder auf Daten mit bestimmten Changes to the model output - e.g. overlooking all pedestrians - measured with a second metric) loaded from the database. According to a further embodiment of the method according to the invention, a third metric is defined, which indicates what kind of sensor data a third disturbance is applied to. For example, the error occurs on all data, on only one data point or on data with certain data
Bedingungen, beispielsweise bei allen Daten mit mehrspurigen Straßen, angewendet. Das Optimierungsproblem wird dann aus einer Kombination zumindest zweier Metriken der ersten, der zweiten und der dritten Metrik erzeugt. Das Optimierungsproblem wird insbesondere aus einer Kombination der ersten, der zweiten und der dritten Metrik erzeugt. Bei den Sensordaten handelt es sich insbesondere um digitale Bilder. Diese werden insbesondere durch ein neuronales Netz in einem Fahrerassistenzsystem analysiert. Conditions applied to, for example, all data with multi-lane roads. The optimization problem is then generated from a combination of at least two metrics of the first, the second and the third metric. The optimization problem is generated in particular from a combination of the first, the second and the third metric. The sensor data are in particular digital images. These are analyzed in particular by a neural network in a driver assistance system.
Die dritte Metrik kann sich insbesondere auf alle Sensordaten, zum Beispiel alle digitalen Bilder, beziehen. Beispielsweise kann die Störung bei allen digitalen Bildern ein Verschwinden von Objekten einer bestimmten Klasse zur Folge haben. The third metric can in particular relate to all sensor data, for example all digital images. For example, the disruption in all digital images can result in objects of a certain class disappearing.
Ferner kann sich die dritte Metrik nur auf eine Teilmenge der Sensordaten, insbesondere der digitalen Bilder, auswirken. Die Störung kann beispielsweise nur solche digitalen Bilder beschreiben, die Objekte einer bestimmten Klasse, beispielsweise als Fußgänger klassifizierte Objekte, enthalten. Ferner kann die dritte Metrik digitale Bilder beschreiben, die an Tagen mit Schneefall oder Regen aufgenommen wurden. Hierdurch können die gestörten Eingangsdaten für das neuronale Netz bei einem Einsatz in einem Fahrerassistenzsystem beispielsweise eine andere Bewertung einer speziellen Verkehrssituation oder Umweltsituation bewirken. Furthermore, the third metric can only affect a subset of the sensor data, in particular the digital images. The disturbance can, for example, only describe those digital images which contain objects of a certain class, for example objects classified as pedestrians. Furthermore, the third metric can describe digital images that were recorded on days with snowfall or rain. As a result, the disturbed input data for the neural network when used in a driver assistance system can, for example, cause a different assessment of a special traffic situation or environmental situation.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens beschreibt die dritte Metrik nur Sensordaten, die ein bestimmtes Objekt enthalten. Alternativ oder zusätzlich kann die dritte Metrik nur ein bestimmtes digitales Bild auswählen. According to a further embodiment of the method according to the invention, the third metric only describes sensor data that contain a specific object. Alternatively or additionally, the third metric can only select a specific digital image.
Das Optimierungsproblem, welches auf Basis der Metriken erzeugt worden ist, kann sich beispielsweise wie folgt darstellen: Bei einer vorgegebenen maximalen Änderung eines digitalen Bildes, zum Beispiel durch Drehung eines bestimmten Bildbereichs, soll die Anzahl der als Personen klassifizierten Pixeln minimiert werden, und zwar für möglichst viele Bilder, in denen Personen Vorkommen. The optimization problem that has been generated on the basis of the metrics can be represented as follows, for example: With a given maximum change in a digital image, for example by rotating a certain image area, the number of pixels classified as people should be minimized, for as many images as possible in which people appear.
Bei einem anderen Beispiel soll bei einer minimalen Änderung des Eingangsbildes in Bereichen mit hohem Kontrast die Anzahl der als Person klassifizierten Pixeln minimiert werden, und zwar für möglichst viele Bilder, in denen Personen Vorkommen.
Für derartige Optimierungsprobleme wird bei dem erfindungsgemäßen Verfahren ein In another example, with a minimal change in the input image in areas with high contrast, the number of pixels classified as a person is to be minimized, namely for as many images as possible in which people occur. For such optimization problems, in the method according to the invention, a
Lösungsalgorithmus angegeben. Gemäß einer Ausgestaltung des erfindungsgemäßen Solution algorithm specified. According to one embodiment of the invention
Verfahrens umfasst der Lösungsalgorithmus iterative Verfahren unter Nutzung der Gradienten des neuronalen Netzes zur Bestimmung der Änderungsrichtungen. Ferner können iterative Verfahren unter Nutzung von Sampling, Evaluation und Kombinationen davon eingesetzt werden. Method, the solution algorithm includes iterative methods using the gradients of the neural network to determine the directions of change. Furthermore, iterative methods using sampling, evaluation and combinations thereof can be used.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens wird als According to a further embodiment of the method according to the invention, as
Lösungsalgorithmus eine Monte-Carlo-Methode verwendet, bei der beispielsweise ein Solution algorithm uses a Monte Carlo method, for example a
Rauschen für ein digitales Bild erzeugt wird, und das Ergebnis überprüft wird. Gemäß einer anderen Ausgestaltung kann ein genetischer Algorithmus zur Lösung des Noise is generated to a digital image and the result is verified. According to another embodiment, a genetic algorithm for solving the
Optimierungsproblems eingesetzt werden. Optimization problems are used.
Die Lösung des Optimierungsproblems kann beispielsweise ein gestörtes digitales Bild oder eine Störung sein, mit der Sensordaten gestört werden können, um gestörte Eingangsdaten für ein neuronales Netz zu erzeugen. Die gestörten Sensordaten oder das gestörte digitale Bild stellen dann die Eingangsdaten für das neuronale Netz dar, welches überprüft werden soll. Eine Störung kann auch auf einen Satz von Eingangsdaten durch Kombination auf Pixelebene angewendet werden, zum Beispiel durch Summation. The solution to the optimization problem can be, for example, a disturbed digital image or a disturbance with which sensor data can be disturbed in order to generate disturbed input data for a neural network. The disrupted sensor data or the disrupted digital image then represent the input data for the neural network that is to be checked. A perturbation can also be applied to a set of input data by combining at the pixel level, for example by summation.
Ein weiterer Aspekt der Erfindung betrifft ein Verfahren zum Erzeugen von gestörten Another aspect of the invention relates to a method for generating disturbed
Eingangsdaten für ein neuronales Netz zum Analysieren von Sensordaten, insbesondere digitalen Bildern, eines Fahrassistenzsystems, bei dem eine erste Menge definiert wird, die erste Metriken enthält, die jeweils unterschiedlich angeben, wie das Ausmaß einer Veränderung von Sensordaten gemessen wird, eine zweite Menge definiert wird, die zweite Metriken enthält, die jeweils unterschiedlich angeben, worauf eine Störung von Sensordaten gerichtet ist, eine beliebige Kombination einer ersten Metrik der ersten Menge und einer zweiten Metrik der zweiten Menge gewählt wird, aus der gewählten Kombination der ersten und zweiten Metrik ein Optimierungsproblem erzeugt wird, das Optimierungsproblem mittels zumindest eines Input data for a neural network for analyzing sensor data, in particular digital images, of a driver assistance system, in which a first set is defined which contains first metrics which each differently indicate how the extent of a change in sensor data is measured, a second set is defined , which contains second metrics, which each differently indicate where a disturbance of sensor data is aimed, any combination of a first metric of the first set and a second metric of the second set is selected, an optimization problem is generated from the selected combination of the first and second metric becomes, the optimization problem by means of at least one
Lösungsalgorithmus gelöst wird, wobei die Lösung eine Ziel-Störung der Eingangsdaten angibt, und mittels der Ziel-Störung gestörte Eingangsdaten 9 von Sensordaten für das neuronale Netz erzeugt werden. Solution algorithm is solved, the solution indicating a target disruption of the input data, and input data 9 disrupted by the target disruption are generated by sensor data for the neural network.
Vorteilhaft an diesem Verfahren ist, dass eine beliebige erste Metrik der ersten Menge und eine beliebige zweite Metrik der zweiten Menge verwendet werden kann, um durch die Lösung des Optimierungsproblems zu einer Zielstörung zu gelangen. Je mehr Metriken die erste und zweite
Menge enthält, desto mehr unterschiedliche Zielstörungen können von dem Verfahren generiert werden. Es kann somit eine sehr große Anzahl von Zielstörungen erzeugt werden. The advantage of this method is that any first metric of the first set and any second metric of the second set can be used in order to arrive at a target disruption by solving the optimization problem. The more metrics the first and second Quantity, the more different target faults can be generated by the method. A very large number of target disturbances can thus be generated.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens umfasst die erste Menge zumindest zwei, insbesondere zumindest fünf, unterschiedliche erste Metriken. Die erste Metrik kann jedoch auch mehr als 10, 20 oder mehr als 100 Metriken enthalten. According to a further embodiment of the method according to the invention, the first set comprises at least two, in particular at least five, different first metrics. However, the first metric can also contain more than 10, 20 or more than 100 metrics.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens umfasst die zweite Menge zumindest zwei, insbesondere zumindest fünf, unterschiedliche zweite Metriken. Die zweite Metrik kann jedoch auch mehr als 10, 20 oder mehr als 100 Metriken enthalten. According to a further embodiment of the method according to the invention, the second set comprises at least two, in particular at least five, different second metrics. However, the second metric can also contain more than 10, 20 or more than 100 metrics.
Die erste und/oder die zweite Metrik der ersten bzw. zweiten Menge können insbesondere einzeln oder in Kombination die Merkmale aufweisen, wie sie vorstehend beschrieben sind. The first and / or the second metric of the first or second quantity can in particular individually or in combination have the features as described above.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens wird eine dritte Metrik definiert, die angibt, auf was für Sensordaten eine Störung Anwendung findet und es wird eine beliebige Kombination einer ersten Metrik der ersten Menge, einer zweiten Metrik der zweiten Menge und der dritten Metrik gewählt. Aus der gewählten Kombination der ersten, zweiten und dritten Metrik wird dann ein Optimierungsproblem erzeugt. According to a further embodiment of the method according to the invention, a third metric is defined which indicates what kind of sensor data a disturbance applies to and any combination of a first metric of the first set, a second metric of the second set and the third metric is selected. An optimization problem is then generated from the selected combination of the first, second and third metrics.
Die dritte Metrik kann insbesondere einzeln oder in Kombination die Merkmale aufweisen, wie sie vorstehend beschrieben sind. The third metric can in particular individually or in combination have the features as described above.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens wird eine According to a further embodiment of the method according to the invention, a
Lösungsalgorithmus-Menge definiert, die mehrere Lösungsalgorithmen enthält, die das Solution algorithm set that contains several solution algorithms that use the
Optimierungsproblem jeweils unterschiedlich lösen, um unterschiedliche Ziel-Störungen der Eingangsdaten zu erzeugen. Ein beliebiger Lösungsalgorithmus der Lösungsalgorithmus- Menge wird dann ausgewählt, um gestörte Eingangsdaten von Sensordaten für das neuronale Netz zu erzeugen. Auf diese Weise kann eine noch größere Anzahl an Zielstörungen erzeugt werden, da auch der Lösungsalgorithmus variiert werden kann, wobei jeder Solve the optimization problem differently in order to generate different target disturbances in the input data. Any desired solution algorithm of the solution algorithm set is then selected in order to generate disturbed input data from sensor data for the neural network. In this way, an even greater number of target disturbances can be generated, since the solution algorithm can also be varied, each of them
Lösungsalgorithmus zu unterschiedlichen Zielstörungen gelangt. Solution algorithm arrives at different target disturbances.
Die Lösungsalgorithmen der Lösungsalgorithmus-Menge kann iterative Verfahren unter Nutzung der Gradienten des neuronalen Netzes zur Bestimmung der Änderungsrichtungen sowie samplingbasierte Verfahren, gradientenbasierte Verfahren, gradientenbasierte Verfahren mit Momentum und/oder surrogate-Modell basierte Verfahren umfassen.
Die vorliegende Erfindung betrifft außerdem ein Verfahren zum Prüfen der Robustheit eines neuronalen Netzes zum Analysieren von Sensordaten, insbesondere digitalen Bildern, gegenüber gestörten Eingangsdaten, bei dem folgende Schritte durchgeführt werden: The solution algorithms of the solution algorithm set can include iterative methods using the gradients of the neural network to determine the directions of change, as well as sampling-based methods, gradient-based methods, gradient-based methods with momentum and / or surrogate-model-based methods. The present invention also relates to a method for checking the robustness of a neural network for analyzing sensor data, in particular digital images, in relation to disturbed input data, in which the following steps are carried out:
Bereitstellen eines neuronalen Netzes mit einem zugehörigen Parametersatz, Erzeugen von Trainingsdaten mittels eines Beispiel-Sensordatensatzes, Erzeugen einer ersten Analyse des Beispiel-Sensordatensatzes auf Basis der Trainingsdaten mittels des neuronalen Netzes, Erzeugen von gestörten Eingangsdaten als Trainingsdaten für den Beispiel-Sensordatensatzes mittels des vorstehend beschriebenen Verfahrens zum Erzeugen von gestörten Eingangsdaten für ein neuronales Netz, Erzeugen einer zweiten Analyse des Beispiel-Sensordatensatzes auf Basis der gestörten Eingangsdaten mittels des neuronalen Netzes, Vergleichen der ersten und zweiten Analyse und Ermitteln eines Robustheitswerts in Abhängigkeit von dem Ergebnis des Vergleichs der ersten und zweiten Analyse. Providing a neural network with an associated parameter set, generating training data using an example sensor data set, generating a first analysis of the example sensor data set based on the training data using the neural network, generating disrupted input data as training data for the example sensor data set using the above-described Method for generating disrupted input data for a neural network, generating a second analysis of the sample sensor data set based on the disrupted input data by means of the neural network, comparing the first and second analysis and determining a robustness value depending on the result of the comparison of the first and second Analysis.
Die vorliegende Erfindung betrifft außerdem ein Verfahren zum Verbessern eines The present invention also relates to a method for improving a
Parametersatzes eines neuronalen Netzes zum Analysieren von Sensordaten, insbesondere digitalen Bildern, gegenüber gestörten Eingangsdaten. Bei dem Verfahren werden folgende Schritte durchgeführt: a. Bereitstellen eines neuronalen Netzes mit dem zugehörigen Parametersatz, Parameter set of a neural network for analyzing sensor data, in particular digital images, with regard to disturbed input data. The procedure involves the following steps: a. Provision of a neural network with the associated parameter set,
b. Erzeugen von Trainingsdaten mittels eines Beispiel-Sensordatensatzes, b. Generation of training data using a sample sensor data set,
c. Erzeugen einer ersten Analyse des Beispiel-Datensatzes auf Basis der Trainingsdaten mittels des neuronalen Netzes, c. Generating a first analysis of the example data set based on the training data using the neural network,
d. Erzeugen von gestörten Eingangsdaten als Trainingsdaten für den Beispiel- Sensordatensatz mittels des vorstehend beschriebenen Verfahrens zum Erzeugen von gestörten Eingangsdaten für ein neuronales Netz, d. Generation of disturbed input data as training data for the example sensor data set using the method described above for generating disturbed input data for a neural network,
e. Erzeugen einer zweiten Analyse des Beispiel-Sensordatensatzes auf Basis der e. Generating a second analysis of the sample sensor data set based on the
gestörten Eingangsdaten mittels des neuronalen Netzes, disturbed input data by means of the neural network,
f. Vergleichen der ersten und zweiten Analyse und f. Compare the first and second analyzes and
g. Ermitteln eines Robustheitswertes in Abhängigkeit von dem Ergebnis des Vergleichs der ersten und zweiten Analyse. G. Determining a robustness value as a function of the result of the comparison of the first and second analysis.
Bei dem Beispiel-Sensordatensatz handelt es sich insbesondere um ein digitales Beispielbild. The example sensor data set is in particular a digital example image.
Mittels des Verfahrens kann das eingangs beschriebene Verfahren zum Erzeugen von gestörten Eingangsdaten dazu verwendet werden, zu prüfen, wie robust ein neuronales Netz
zum Analysen von Sensordaten gegenüber den gestörten Eingangsdaten ist. Wird das neuronale Netz in einem Verfahren zum Analysieren von Sensordaten eines By means of the method, the method described at the beginning for generating disrupted input data can be used to check how robust a neural network is to analyze sensor data against the disturbed input data. If the neural network is used in a process for analyzing sensor data of a
Fahrerassistenzsystems eingesetzt, ist es für die Sicherheit beim Betrieb des Fahrzeugs, auf welches das Fahrerassistenzsystem einwirkt, wichtig, dass das neuronale Netz robust gegenüber gestörten Eingangsdaten für das neuronale Netz ist. Das neuronale Netz ist robust gegen solche gestörten Eingangsdaten, wenn die Abweichung bei der ersten und der zweiten Analyse sehr gering ist. Die gestörten Eingangsdaten haben dann einen geringen Einfluss auf die Ausgabe des neuronalen Netzes. Wenn hingegen die gestörten Eingangsdaten, selbst wenn die Störungen auf die Sensordaten nur sehr gering sind, zu einer sehr großen When a driver assistance system is used, it is important for the safety during operation of the vehicle on which the driver assistance system acts that the neural network is robust to disrupted input data for the neural network. The neural network is robust against such disturbed input data if the deviation in the first and the second analysis is very small. The disturbed input data then have little influence on the output of the neural network. If, on the other hand, the disturbed input data, even if the disturbances on the sensor data are only very small, become very large
Abweichung der zweiten Analyse des Beispiel-Sensordatensatzes von der ersten Analyse führt, ist das neuronale Netz nicht robust gegen die Störung der Eingangsdaten. If the second analysis of the example sensor data set deviates from the first analysis, the neural network is not robust against the disturbance of the input data.
Handelt es sich bei den Sensordaten um digitale Bilder, kann die erste und zweite Analyse ein semantisches Segmentieren des digitalen Bildes, ein Erkennen von Objekten des digitalen Bildes, ein Klassifizieren von Objekten des digitalen Bildes oder ein Erkennen der Position eines Objektes im digitalen Bild umfassen. Außerdem kann mittels der Analysen erkannt werden, wie sich ein Objekt im digitalen Bild verändert. Diese Analysen sind bei einem Einsatz des neuronalen Netzes in einem Fahrerassistenzsystem besonders relevant, so dass es wichtig ist, dass das neuronale Netz gegen Störungen, die bei solchen Analysen auftreten, robust ist, es somit zu geringen Veränderungen bei der Analyse kommt, wenn gestörte Eingangsdaten verwendet werden. If the sensor data is digital images, the first and second analysis can include semantic segmentation of the digital image, recognition of objects of the digital image, classification of objects of the digital image or recognition of the position of an object in the digital image. In addition, the analyzes can be used to identify how an object changes in the digital image. These analyzes are particularly relevant when the neural network is used in a driver assistance system, so that it is important that the neural network is robust against disturbances that occur during such analyzes, so that there are slight changes in the analysis when input data is disturbed be used.
Die Erfindung betrifft des Weiteren ein Verfahren zum Verbessern eines Parametersatzes eines neuronalen Netzes zum Analysieren von Sensordaten, insbesondere digitalen Bildern, gegenüber gestörten Eingangsdaten. Das Verfahren umfasst die Schritte a. bis f., wie sie vorstehend angegeben sind. Anschließend wird in einem Schritt h. ein verbesserter The invention also relates to a method for improving a parameter set of a neural network for analyzing sensor data, in particular digital images, with respect to disturbed input data. The method comprises the steps a. to f., as given above. Then in a step h. an improved one
Parametersatz für das neuronale Netz auf Basis des Ergebnisses des Vergleichs der ersten und zweiten Analyse erzeugt. Parameter set for the neural network generated on the basis of the result of the comparison of the first and second analysis.
Den verbesserten Parametersatz erhält man durch ein Training des neuronalen Netzes. Das Training wird für gestörte und ungestörte Sensordaten, d. h. insbesondere digitale Bilder, durchgeführt. Der verbesserte Parametersatz ergibt sich dann beispielsweise aus einem Gradientenabstieg (adverseriales Training). The improved set of parameters is obtained by training the neural network. The training is for disturbed and undisturbed sensor data, i. H. especially digital images. The improved parameter set then results, for example, from a gradient descent (adverserial training).
Die Erfindung betrifft des Weiteren einen Generator zum Erzeugen von gestörten The invention also relates to a generator for generating disturbed
Eingangsdaten für ein neuronales Netz zum Analysieren von Sensordaten, insbesondere
digitalen Bildern, eines Fahrerassistenzsystems mit einer ersten Metrikeinheit mit einer ersten Metrik, die angibt, wie das Ausmaß einer Veränderung von Sensordaten gemessen wird, einer zweiten Metrikeinheit mit einer zweiten Metrik, die angibt, worauf eine Störung der Input data for a neural network for analyzing sensor data, in particular digital images, a driver assistance system with a first metric unit with a first metric that indicates how the extent of a change in sensor data is measured, a second metric unit with a second metric that indicates what a disruption of the
Eingangsdaten von Sensordaten gerichtet ist, einer Verarbeitungseinheit, die mit der ersten und zweiten Metrikeinheit gekoppelt ist und die ausgebildet ist, aus der ersten und der zweiten Metrik ein Optimierungsproblem zu erzeugen, einer Lösungseinheit, die mit der Input data of sensor data is directed to a processing unit which is coupled to the first and second metric unit and which is designed to generate an optimization problem from the first and the second metric, a solution unit that is associated with the
Verarbeitungseinheit gekoppelt ist und die ausgebildet ist, das Optimierungsproblem mittels zumindest eines Lösungsalgorithmus zu lösen, wobei die Lösung eine Ziel-Störung der Processing unit is coupled and which is designed to solve the optimization problem by means of at least one solution algorithm, the solution being a target disruption of the
Eingangsdaten von Sensordaten angibt, und einer Erzeugungseinheit, die mit der Specifies input data from sensor data, and a generating unit that is associated with the
Lösungseinheit gekoppelt ist und die ausgebildet ist, mittels der Ziel-Störung gestörte Solution unit is coupled and which is designed to be disturbed by means of the target disruption
Eingangsdaten von Sensordaten für ein neuronales Netz zu erzeugen. Generate input data from sensor data for a neural network.
Der erfindungsgemäße Generator ist insbesondere ausgebildet, das vorstehend beschriebene Verfahren zum Erzeugen von gestörten Eingangsdaten auszuführen. Er weist somit auch dieselben Vorteile wie dieses Verfahren auf. The generator according to the invention is designed in particular to carry out the method described above for generating disturbed input data. It therefore also has the same advantages as this method.
Gemäß einer Ausgestaltung des erfindungsgemäßen Generators umfasst dieser ferner eine dritte Metrikeinheit mit einer dritten Metrik, die angibt, auf was für Sensordaten die Störung Anwendung findet. In diesem Fall ist die Verarbeitungseinheit ferner mit der dritten Metrikeinheit gekoppelt und ausgebildet, aus zumindest zwei Metriken der ersten, der zweiten und der dritten Metrik das Optimierungsproblem zu erzeugen. According to one embodiment of the generator according to the invention, it also includes a third metric unit with a third metric which specifies the sensor data to which the disturbance applies. In this case, the processing unit is also coupled to the third metric unit and designed to generate the optimization problem from at least two metrics of the first, second and third metrics.
Des Weiteren betrifft die Erfindung eine Vorrichtung zum Erzeugen eines Parametersatzes für ein neuronales Netz zum Analysieren von Sensordaten eines Fahrerassistenzsystems mit einer ersten Analyseeinheit zum Erzeugen einer ersten Analyse mittels des neuronalen Netzes auf Basis von Trainingsdaten für einen Beispiel-Sensordatensatz, dem vorstehend beschriebenen Generator zum Erzeugen von gestörten Eingangsdaten zum Erzeugen von gestörten The invention also relates to a device for generating a parameter set for a neural network for analyzing sensor data of a driver assistance system with a first analysis unit for generating a first analysis by means of the neural network based on training data for an example sensor data set, the generator described above for generating of disturbed input data to generate disturbed
Eingangsdaten als Trainingsdaten für den Beispiel-Sensordatensatz, einer zweiten Input data as training data for the sample sensor data set, a second
Analyseeinheit zum Erzeugen einer zweiten Analyse des Beispiel-Sensordatensatzes auf Basis der gestörten Eingangsdaten mittels des neuronalen Netzes, einer Vergleichseinheit, die mit der ersten und der zweiten Analyseeinheit gekoppelt ist und die ausgebildet ist, die erste und zweite Analyse zu vergleichen, und einer Erzeugungseinheit, die mit der Vergleichseinheit gekoppelt ist und die ausgebildet ist, einen verbesserten Parametersatz für das neuronale Netz auf Basis des Ergebnisses des Vergleichs der ersten und zweiten Analyse zu erzeugen.
Die Vorrichtung zum Erzeugen eines Parametersatzes ist insbesondere ausgebildet, das vorstehend beschriebene Verfahren zum Verbessern eines Parametersatzes eines neuronalen Netzes auszuführen. Sie weist somit auch dieselben Vorteile wie dieses Verfahren auf. Analysis unit for generating a second analysis of the example sensor data set on the basis of the disturbed input data by means of the neural network, a comparison unit which is coupled to the first and the second analysis unit and which is designed to compare the first and second analysis, and a generation unit, which is coupled to the comparison unit and which is designed to generate an improved parameter set for the neural network on the basis of the result of the comparison of the first and second analysis. The device for generating a parameter set is designed in particular to carry out the method described above for improving a parameter set of a neural network. It therefore also has the same advantages as this method.
Die Erfindung wird nun anhand von Ausführungsbeispielen mit Bezug zu den Figuren erläutert. The invention will now be explained using exemplary embodiments with reference to the figures.
Figur 1 zeigt schematisch den Aufbau eines Ausführungsbeispiels des erfindungsgemäßen Figure 1 shows schematically the structure of an embodiment of the invention
Generators, Generator,
Figur 2 zeigt schematisch den Ablauf eines Ausführungsbeispiels des erfindungsgemäßen Figure 2 shows schematically the sequence of an embodiment of the invention
Verfahrens zum Erzeugen von gestörten Eingangsdaten, Procedure for generating disturbed input data,
Figur 3 zeigt schematisch den Aufbau eines Ausführungsbeispiels der erfindungsgemäßen Figure 3 shows schematically the structure of an embodiment of the invention
Vorrichtung zum Erzeugen eines Parametersatzes, Device for generating a parameter set,
Figur 4 zeigt den Ablauf eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens zum Prüfen der Robustheit eines neuronalen Netzes, FIG. 4 shows the sequence of an exemplary embodiment of the method according to the invention for checking the robustness of a neural network,
Figur 5 zeigt den Ablauf des erfindungsgemäßen Verfahrens zum Verbessern eines FIG. 5 shows the sequence of the method according to the invention for improving a
Parametersatzes eines neuronalen Netzes und Parameter set of a neural network and
Figur 6 zeigt ein Beispiel einer Störung. Figure 6 shows an example of a fault.
Bei den Ausführungsbeispielen der Erfindung werden Sensordaten von einem neuronalen Netz analysiert oder es werden aus solchen Sensordaten gestörte Eingangsdaten für ein neuronales Netz erzeugt. Bei den Sensordaten handelt es sich bei den Ausführungsbeispielen um In the exemplary embodiments of the invention, sensor data are analyzed by a neural network or disturbed input data for a neural network are generated from such sensor data. The sensor data in the exemplary embodiments are
Rohdaten von Sensoren eines Fahrzeugs. Bei dem Sensor kann es sich um eine Kamera, einen Radarsensor, einen Lidar-Sensor oder einen beliebigen anderen Sensor handeln, welcher Sensordaten erzeugt, welche in einem Fahrerassistenzsystem weiter verarbeitet werden. Im Folgenden wird als Beispiel angenommen, dass es sich bei den Sensordaten um digitale Bilder handelt, welche von einer Kamera eines Fahrzeugs aufgenommen worden sind. Die Erfindung ist jedoch auf gleiche Weise auch auf andere Sensordaten anwendbar. Raw data from sensors of a vehicle. The sensor can be a camera, a radar sensor, a lidar sensor or any other sensor that generates sensor data that is processed further in a driver assistance system. In the following it is assumed as an example that the sensor data are digital images that have been recorded by a camera of a vehicle. However, the invention can also be applied to other sensor data in the same way.
Mit Bezug zu Figur 1 wird zunächst ein Ausführungsbeispiel des Generators 10 zum Erzeugen von gestörten Eingangsdaten für ein neuronales Netz zum Analysieren von digitalen Bildern eines Fahrerassistenzsystems beschrieben. With reference to FIG. 1, an exemplary embodiment of the generator 10 for generating disturbed input data for a neural network for analyzing digital images of a driver assistance system is first described.
Der Generator 10 umfasst eine erste Metrikeinheit 1 , eine zweite Metrikeinheit 2 und eine dritte Metrikeinheit 3. Die erst Metrikeinheit 1 umfasst eine erste Metrik, die angibt, wie das Ausmaß einer Veränderung von digitalen Bildern gemessen wird. Es ist von der ersten Metrikeinheit 1 definiert, wie das Ausmaß einer Veränderung von digitalen Bildern gemessen wird. Die
Definition der ersten Metrik kann in die erste Metrikeinheit 1 eingegeben werden. Die erste Metrikeinheit 1 kann jedoch auch über eine Schnittstelle auf eine Datenbank 16 zugreifen, in welcher Daten mit einer Vielzahl möglicher Definitionen für Metriken gespeichert ist, die das Ausmaß einer Veränderung von digitalen Bildern messen. Beispielsweise kann die erste Metrik die Bildabstände zweier digitaler Bilder vergleichen und für diesen Bildabstand einen Wert ausgeben. Der Bildabstand kann beispielsweise durch die Summe der Differenzen aller Pixelwerte der zu vergleichenden digitalen Bilder definiert sein. The generator 10 comprises a first metric unit 1, a second metric unit 2 and a third metric unit 3. The first metric unit 1 comprises a first metric which indicates how the extent of a change in digital images is measured. It is defined by the first metric unit 1 how the extent of a change in digital images is measured. The The definition of the first metric can be entered in the first metric unit 1. However, the first metric unit 1 can also access a database 16 via an interface, in which data is stored with a large number of possible definitions for metrics that measure the extent of a change in digital images. For example, the first metric can compare the image distances between two digital images and output a value for this image distance. The image distance can be defined, for example, by the sum of the differences of all pixel values of the digital images to be compared.
Bei dem Ausführungsbeispiel wählt die erste Metrikeinheit 1 aus der Datenbank 16 eine möglichst natürliche Störung aus. Unter einer natürlichen Störung wird eine Störung In the exemplary embodiment, the first metric unit 1 selects a disturbance that is as natural as possible from the database 16. Under a natural disorder becomes a disorder
verstanden, welche digitale Bilder der Umgebung eines Fahrzeugs so beeinflusst, wie dies auch durch natürlich vorkommende Phänomene in der Umgebung des Fahrzeugs auftreten kann. Die Veränderung eines digitalen Bildes durch eine natürliche Störung entspricht beispielsweise der Veränderung eines digitalen Bildes, wie es sich beim Auftreten von understood which digital images of the surroundings of a vehicle influence in the same way as this can also occur through naturally occurring phenomena in the surroundings of the vehicle. The change in a digital image due to a natural disturbance corresponds, for example, to the change in a digital image, as occurs when
Wetterphänomenen, wie beispielsweise beim Auftreten von Nebel, Schneefall oder Regen ergibt. Ferner werden unter natürlichen Störungen Bildveränderungen verstanden, bei denen Objekte in das Bild eingefügt werden oder aus dem Bild verschwinden, wie es auch in der Umgebung eines Fahrzeugs auftreten kann. Beispielsweise kann im Umfeld des Fahrzeugs ein Plakat oder ein Aufkleber auf einem Objekt eingefügt werden. Andere, nicht natürlich vorkommende Störungen, wie sie in der Datenbank 16 auch enthalten sein können, werden von der zweiten Metrikeinheit 1 nicht berücksichtigt, da sie für die Prüfung eines neuronalen Netzes, welches in einem Fahrerassistenzsystem eingesetzt wird, von geringerer Relevanz sind. Weather phenomena such as fog, snowfall or rain. Furthermore, natural disturbances are understood to mean image changes in which objects are inserted into the image or disappear from the image, as can also occur in the vicinity of a vehicle. For example, a poster or sticker can be inserted on an object in the vicinity of the vehicle. Other, non-naturally occurring disturbances, as they can also be contained in the database 16, are not taken into account by the second metric unit 1, since they are of lesser relevance for testing a neural network that is used in a driver assistance system.
Die zweite Metrikeinheit 2 umfasst eine zweite Metrik, die angibt, worauf eine Störung der Eingangsdaten der digitalen Bilder gerichtet ist, d. h. die zweite Metrik definiert, worauf eine Störung eines digitalen Bildes gerichtet ist. Die Definition der zweiten Metrik kann durch eine Eingabe an die zweite Metrikeinheit 2 übertragen werden. Gleichermaßen kann auch die zweite Metrikeinheit 2 mit der Datenbank 16 gekoppelt sein, in welcher Daten zu einer Vielzahl von Störungen gespeichert sind, welche auf eine bestimmte Veränderung von digitalen Bildern gerichtet ist. Es kann sich hierbei um Sammlungen solcher Störungen handeln. The second metric unit 2 comprises a second metric which indicates what a disturbance of the input data of the digital images is aimed at, i. H. the second metric defines what a disruption of a digital image is directed to. The definition of the second metric can be transmitted to the second metric unit 2 by an input. In the same way, the second metric unit 2 can also be coupled to the database 16, in which data on a large number of disturbances are stored, which is directed to a specific change in digital images. These can be collections of such faults.
Bei dem Ausführungsbeispiel wählt die zweite Metrikeinheit 2 aus der Datenbank 16 eine möglichst plausible Störung aus. Unter einer plausiblen Störung wird eine Störung verstanden, welche scheinbar realistische Modellausgabe zur Folge hat, sich aber in relevanten In the exemplary embodiment, the second metric unit 2 selects a fault that is as plausible as possible from the database 16. A plausible disturbance is understood to be a disturbance which apparently results in a realistic model output, but which is relevant
Einzelheiten von dieser unterscheidet. Bei einer plausiblen Störung erfolgt beispielsweise eine korrekte Segmentierung, bei der allerdings die Spurmarkierungen konsistent verschoben
wurden. Andere, nicht plausible Störungen, wie sie in der Datenbank 16 auch enthalten sein können, werden von der zweiten Metrikeinheit 2 nicht berücksichtigt, da sie für die Prüfung eines neuronalen Netzes, welches in einem Fahrerassistenzsystem eingesetzt wird, von geringerer Relevanz sind. Gravierend unplausible Modellausgaben sind nämlich leicht detektierbar. Details differ from this. In the case of a plausible fault, for example, correct segmentation takes place, in which, however, the lane markings are consistently shifted were. Other, implausible faults, as they can also be contained in the database 16, are not taken into account by the second metric unit 2, since they are of lesser relevance for testing a neural network that is used in a driver assistance system. Seriously implausible model outputs are easy to detect.
Die zweite Metrik kann beispielsweise darauf gerichtet sein, die Größe aller Objekte, die einer bestimmten Klasse zugeordnet sind, zum Beispiel der Klasse der Fußgänger, zu vergrößern. Die Störung erzeugt somit ein digitales Bild, bei welchem ein Objekt des Ausgangsbildes, welches als Fußgänger klassifiziert ist, iterativ in allen vier Richtungen vergrößert ist, wobei die sich ergebende Segmentierung des gestörten digitalen Bildes wieder miteinander kombiniert wird. Das Ergebnis ist ein digitales Bild, bei dem alle Objekte, die nicht zu der Klasse der Fußgänger gehören, unverändert bleiben, die Objekte, die zu der Klasse der Fußgänger gehören, jedoch vergrößert dargestellt sind. Die anderen Objekte sind nur insofern verändert, als dass sie durch die Vergrößerung der Objekte der Klasse Fußgänger verändert wurden. The second metric can be aimed, for example, at increasing the size of all objects that are assigned to a specific class, for example the class of pedestrians. The disruption thus generates a digital image in which an object of the initial image, which is classified as a pedestrian, is iteratively enlarged in all four directions, the resulting segmentation of the disrupted digital image being combined with one another again. The result is a digital image in which all objects that do not belong to the pedestrian class remain unchanged, but the objects that belong to the pedestrian class are shown enlarged. The other objects are only changed to the extent that they were changed by enlarging the objects of the pedestrian class.
Die dritte Metrikeinheit 3 umfasst eine dritte Metrik, die angibt, auf was für digitale Bilder die Störung Anwendung findet. Beispielsweise kann durch die Metrik definiert sein, dass die Störung nur auf digitale Bilder angewandt wird, welche andere Verkehrsteilnehmer zeigen, d. h. zum Beispiel Fußgänger, Fahrradfahrer und andere Fahrzeuge. The third metric unit 3 comprises a third metric which specifies to which digital images the disturbance applies. For example, it can be defined by the metric that the disturbance is only applied to digital images which show other road users, i.e. H. for example pedestrians, cyclists and other vehicles.
Die drei Metrikeinheiten 1 bis 3 sind mit einer Verarbeitungseinheit 4 verbunden. Die The three metric units 1 to 3 are connected to a processing unit 4. The
Verarbeitungseinheit 4 ist ausgebildet, aus den drei Metriken der ersten bis dritten Metrikeinheit 1 bis 3 ein Optimierungsproblem zu erzeugen. Beispielsweise umfasst das Processing unit 4 is designed to generate an optimization problem from the three metrics of the first to third metric units 1 to 3. For example, this includes
Optimierungsproblem eine Loss-Funktion für ein neuronales Netz, welches als Parameter einen Störungsparameter und ein sich durch die Störung ergebendes Bild enthält (zweite Metrik). Es soll bei dem Optimierungsproblem das Minimum des Störungsparameters gefunden werden, und zwar für die digitalen Bilder, die nach der dritten Metrik definiert sind und unter der Optimization problem of a loss function for a neural network, which contains a disturbance parameter as a parameter and an image resulting from the disturbance (second metric). The aim is to find the minimum of the disturbance parameter in the optimization problem, specifically for the digital images that are defined according to the third metric and below the
Bedingung, dass das Ausmaß der Veränderung des erzeugten Bildes relativ zu dem Condition that the extent of the change in the generated image relative to the
Ausgangsbild gemäß der ersten Metrik unterhalb eines bestimmten Wertes liegt. Output image is below a certain value according to the first metric.
Die Verarbeitungseinheit 4 überträgt das Optimierungsproblem als Datensatz an eine The processing unit 4 transmits the optimization problem as a data set to a
Lösungseinheit 5. Die Lösungseinheit 5 ist mit einer Datenbank 6 gekoppelt, in welcher zumindest ein Lösungsalgorithmus, bevorzugt eine Vielzahl von Lösungsalgorithmen, für Optimierungsprobleme gespeichert ist. Derartige Lösungsalgorithmen sind an sich bekannt. Beispielsweise können in der Datenbank 6 Monte-Carlo-Methoden, genetische Algorithmen
und/oder Gradienten-basierte Methoden gespeichert sein, auf welche die Lösungseinheit 5 zugreifen kann. Mittels dieser Lösungsalgorithmen kann die Lösungseinheit 5 als die Lösung des Optimierungsproblems eine Ziel-Störung der Eingangsdaten von digitalen Bildern erzeugen. Die Ziel-Störung erzeugt somit ein gestörtes digitales Bild, welche als Eingangsdaten für ein neuronales Netz zum Analysieren von digitalen Bildern verwendet werden kann. Das neuronale Netz ist insbesondere eingerichtet, digitale Bilder eines Fahrerassistenzsystems zu analysieren. Solution unit 5. The solution unit 5 is coupled to a database 6 in which at least one solution algorithm, preferably a plurality of solution algorithms, for optimization problems is stored. Such solution algorithms are known per se. For example, in the database 6 Monte Carlo methods, genetic algorithms and / or gradient-based methods can be stored, which the solution unit 5 can access. By means of these solution algorithms, the solution unit 5 can generate a target disruption of the input data of digital images as the solution to the optimization problem. The target disturbance thus generates a disturbed digital image which can be used as input data for a neural network for analyzing digital images. The neural network is set up in particular to analyze digital images from a driver assistance system.
Die Lösungseinheit 5 überträgt die Ziel-Störung an eine Erzeugungseinheit 7. Die The solving unit 5 transmits the target disturbance to a generating unit 7. The
Erzeugungseinheit 7 ist ferner mit einer Datenbank 8 gekoppelt, in welcher eine Vielzahl von digitalen Bildern gespeichert sind. Mittels der Ziel-Störung kann die Erzeugungseinheit 7 digitale Bilder der Datenbank 8 so stören, dass gestörte Eingangsdaten 9 der digitalen Bilder für ein neuronales Netz erzeugt werden. Die gestörten Eingangsdaten 9 werden dann von der Generation unit 7 is also coupled to a database 8 in which a multiplicity of digital images are stored. By means of the target disturbance, the generating unit 7 can disturb digital images in the database 8 in such a way that disturbed input data 9 of the digital images are generated for a neural network. The disturbed input data 9 are then from the
Erzeugungseinheit 7 ausgegeben. Mit diesen gestörten Eingangsdaten 9 kann dann ein neuronales Netz getestet, trainiert oder der Parametersatz des neuronalen Netzes verbessert werden. Generation unit 7 output. With these disturbed input data 9, a neural network can then be tested, trained or the parameter set of the neural network can be improved.
Mit Bezug zu Figur 2 wird ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens zum Erzeugen von gestörten Eingangsdaten 9 erläutert: With reference to Figure 2, an embodiment of the method according to the invention for generating disturbed input data 9 is explained:
In einem Schritt S1 wird eine erste Metrik definiert, die angibt, wie das Ausmaß einer In a step S1, a first metric is defined, which indicates how the extent of a
Veränderung von digitalen Bildern gemessen wird. Die erste Metrik bzw. ein Datensatz, welcher die erste Metrik beschreibt, wird in der ersten Metrikeinheit 1 gespeichert. Change in digital images is measured. The first metric or a data record which describes the first metric is stored in the first metric unit 1.
In einem Schritt S2 wird eine zweite Metrik definiert, die angibt, worauf eine Störung der digitalen Bilder gerichtet ist. Auch diese zweite Metrik bzw. ein Datensatz, der die zweite Metrik beschreibt, wird in der zweiten Metrikeinheit 2 gespeichert. In a step S2, a second metric is defined which indicates what a disruption of the digital images is aimed at. This second metric or a data record that describes the second metric is also stored in the second metric unit 2.
Schließlich wird in einem Schritt S3 eine dritte Metrik definiert, die angibt, auf was für digitale Bilder eine Störung Anwendung findet. Diese dritte Metrik bzw. ein Datensatz, der diese dritte Metrik beschreibt, wird in der dritten Metrikeinheit 3 gespeichert. Finally, in a step S3, a third metric is defined which specifies the type of digital images to which a disturbance applies. This third metric or a data record that describes this third metric is stored in the third metric unit 3.
In einem Schritt S4 werden die Datensätze, welche die drei Metriken beschreiben, an die Verarbeitungseinheit 4 übertragen.
ln einem Schritt S5 erzeugt die Verarbeitungseinheit 4 aus einer Kombination der drei Metriken ein Optimierungsproblem. In einem Schritt S6 überträgt die Verarbeitungseinheit 4 einen Datensatz, welcher das erzeugte Optimierungsproblem beschreibt, an die Lösungseinheit 5. In a step S4, the data records which describe the three metrics are transmitted to the processing unit 4. In a step S5, the processing unit 4 generates an optimization problem from a combination of the three metrics. In a step S6, the processing unit 4 transmits a data record, which describes the generated optimization problem, to the solution unit 5.
In einem Schritt S7 löst die Lösungseinheit 5 das Optimierungsproblem mittels zumindest eines Lösungsalgorithmus, welcher der Lösungseinheit 5 beispielsweise durch Zugriff auf die In a step S7, the solution unit 5 solves the optimization problem by means of at least one solution algorithm which the solution unit 5, for example, by accessing the
Datenbank 6 übertragen worden ist. Die Lösung ist eine Ziel-Störung für digitale Bilder. Database 6 has been transferred. The solution is a target disruption for digital images.
In einem Schritt S8 wird ein Datensatz für diese Ziel-Störung an die Erzeugungseinheit 7 übertragen. In a step S8, a data record for this target disruption is transmitted to the generation unit 7.
In einem Schritt S9 erzeugt die Erzeugungseinheit 7 durch Zugriff auf die Datenbank 8 gestörte digitale Bilder als Eingangsdaten 9 für ein neuronales Netz. Diese gestörten Eingangsdaten 9 werden in einem Schritt S10 ausgegeben. In a step S9, the generation unit 7 generates disrupted digital images as input data 9 for a neural network by accessing the database 8. These disturbed input data 9 are output in a step S10.
Im Folgenden wird das erfindungsgemäße Verfahren anhand eines Beispiels, bei welchem Objekte der Klasse Fußgänger vergrößert werden, im Detail mit Bezug zu den Figuren 6A bis 6C erläutert: In the following, the method according to the invention is explained in detail with reference to FIGS. 6A to 6C using an example in which objects of the pedestrian class are enlarged:
Gegeben ist ein Modell M. Für dieses Modell gibt es den Input x. Dieser Input x ist ein digitales Bild, wie es in Fig. 6A gezeigt ist. Des Weiteren ist der Output M(x) = y definiert. Eine Störung wird mit D bezeichnet, so dass sich als geänderter Input c' = x + D ergibt. Der geänderte Output ist dann y' = M(x + D). Der Zieloutput wird mit y" bezeichnet. A model M is given. For this model there is the input x. This input x is a digital image as shown in Figure 6A. Furthermore, the output M (x) = y is defined. A disturbance is denoted by D so that the changed input c '= x + D results. The changed output is then y '= M (x + D). The target output is denoted by y ".
In Fig. 6B ist der Output y des Modells M dargestellt. Das digitale Bild x wurde segmentiert, d. h. den Pixeln des digitalen Bildes x wurden, wie in Fig. 6B gezeigt, Klassen zugeordnet. Folgende Klassenzuordnungen haben sich dabei ergeben: The output y of the model M is shown in FIG. 6B. The digital image x has been segmented, i.e. H. the pixels of the digital image x have been assigned classes as shown in Fig. 6B. The following class assignments resulted:
K1 : Himmel; K1: sky;
K2: Natur; K2: nature;
K3: Gebäude; K3: building;
K4: Fußgänger; K4: pedestrian;
K5: Verkehrsschild; K5: traffic sign;
K6: Straße; K6: street;
K7: Markierung.
Der Zieloutput y", welcher durch die Störung D erzeugt werden soll, ist in Fig. 6C dargestellt. Das Ziel der Störung D ist es, dass der Fußgänger vergrößert dargestellt wird. Als Zielstörung wird definiert, dass höchstens eine Verschiebung einzelner Pixelwerte um den Wert 3 erfolgen darf. Die Zieldaten bestehen aus einem konkreten Bild x. K7: mark. The target output y ″, which is to be generated by the disturbance D, is shown in FIG. 6C. The aim of the disturbance D is that the pedestrian is shown enlarged. The target disturbance is defined as a shift of individual pixel values by the value 3. The target data consist of a concrete image x.
Die erste Metrik ist dann wie folgt definiert:
The first metric is then defined as follows:
Die Größe der Störung wird also bemessen als der maximale Pixelwert zwischen 0 und 255 in der Störung D. The size of the disturbance is measured as the maximum pixel value between 0 and 255 in the disturbance D.
Die zweite Metrik ist wie folgt definiert: The second metric is defined as follows:
Sie definiert die Summe der Pixelabweichungen vom Zieloutput. It defines the sum of the pixel deviations from the target output.
Die dritte Metrik ist wie folgt definiert:
The third metric is defined as follows:
Gemäß dieser dritten Metrik hat also nur das Inputbild x eine kleine Größe. Folglich bezieht sich der Angriff nur auf das Inputbild x, wenn man d3(x‘) < 1 fordert. Der Fokus in Hinsicht auf die anzugreifenden Daten ändert sich dramatisch, wenn man d3(x‘) < 2 fordert: dann bezieht sich die Attacke auf alle Bilder. According to this third metric, only the input image x has a small size. Consequently, the attack only relates to the input image x if one demands d3 (x ‘) <1. The focus with regard to the data to be attacked changes dramatically if one demands d3 (x ‘) <2: then the attack relates to all images.
Aus diesen drei Metriken wird dann das Optimierungsproblem wie folgt gebildet: The optimization problem is then formed from these three metrics as follows:
D= argmin (d2(Ä))
Gemäß dem Optimierungsproblem soll ein D gefunden werden, so dass d (Ä) minimal ist, wobei di(Ä) < 3 auf x ist. D = argmin (d 2 (Ä)) According to the optimization problem, we want to find a D such that d (Ä) is minimal, where di (Ä) <3 on x.
Dieses Optimierungsproblem kann anhand an sich bekannter Lösungsalgorithmen gelöst werden. Hierdurch erhält man eine neue adverseriale Störung aus bereits bekannten (di, dß) und neuartigen (d ) Metriken. Auch durch Rekombination bereits bekannter Metriken (di,..,d ) auf neuartige Weise oder deren Verbindung mit einem anderen Lösungsalgorithmus entstehen neue adverseriale Störungen. Das erfindungsgemäße Verfahren erlaubt so auf einfache Weise eine Konstruktion quasi beliebig vieler neuartiger adverserialer Störungen. This optimization problem can be solved with the aid of known solution algorithms. This results in a new adverserial disturbance from already known (di, d ß ) and novel (d) metrics. Also by recombining already known metrics (di, .., d) in a novel way or combining them with another solution algorithm, new adverserial disturbances arise. The method according to the invention thus allows in a simple manner a construction of virtually any number of novel adverserial disturbances.
Gemäß einer Variante dieses Beispiels kann man bei der ersten Metrik nur Pixeländerungen in einem Bildbereich zulassen, die als„Baum“ klassifiziert werden. Als Optimierungsproblem ergibt sich dann folgendes: Es soll ein D in Bildbereichen„Baum“ in dem digitalen Bild x gefunden werden, so dass d (A) minimal ist, wobei di(A) < 3 ist. According to a variant of this example, the first metric can only allow pixel changes in an image area that are classified as a “tree”. The following then results as an optimization problem: A D is to be found in image areas “tree” in the digital image x, so that d (A) is minimal, with di (A) <3.
Gemäß einer weiteren Variation dieses Beispiels kann man für die dritte Metrik eine Störung für alle Bilder suchen, wobei die erste Metrik di und die zweite Metrik d unverändert gelassen wird. Das Optimierungsproblem kann dann wie folgt formuliert werden: Es soll ein D gefunden werden, so dass d (A) für alle Bilder minimal ist, wobei di(A) < 3 ist. Mit anderen Worten: Es soll ein D mit di(A) < 3 gefunden werden, so dass die Modellausgabe für alle Inputbilder x wie y" aussieht. According to a further variation of this example, one can search for a disturbance for all images for the third metric, the first metric di and the second metric d being left unchanged. The optimization problem can then be formulated as follows: A D is to be found such that d (A) is minimal for all images, where di (A) <3. In other words: A D with di (A) <3 should be found so that the model output for all input images x looks like y ".
Im Folgenden wird ein weiteres Ausführungsbeispiel des erfindungsgemäßen Generators 10 und des erfindungsgemäßen Verfahrens zum Erzeugen von gestörten Eingangsdaten 9 erläutert: Another embodiment of the generator 10 according to the invention and the method according to the invention for generating disturbed input data 9 are explained below:
Der Generator 10 des weiteren Ausführungsbeispiels umfasst wie beim ersten Ausführungsbeispiel eine erste Metrikeinheit 1 und eine zweite Metrikeinheit 2. Die erste Metrikeinheit 1 umfasst in diesem Fall jedoch eine erste Menge mit einer Vielzahl von ersten Metriken, die jeweils unterschiedlich angeben, wie das Ausmaß einer Veränderung von Sensordaten gemessen wird. Die zweite Metrikeinheit 2 umfasst in diesem Fall eine zweite Menge mit einer Vielzahl von zweiten Metriken, die jeweils unterschiedlich angeben, worauf eine Störung der Eingangsdaten 9 von Sensordaten gerichtet ist. Die mit der ersten 1 und zweiten 2 Metrikeinheit gekoppelte Verarbeitungseinheit 4 ist in diesem Fall ausgebildet, aus einer beliebigen Kombination einer ersten Metrik der ersten Menge und einer zweiten Metrik der zweiten Menge das Optimierungsproblem zu erzeugen.
Die mit der Verarbeitungseinheit 4 gekoppelte Lösungseinheit 5 ist dann ausgebildet, das Optimierungsproblem mittels zumindest eines Lösungsalgorithmus zu lösen, wobei die Lösung eine Ziel-Störung der Eingangsdaten 9 von Sensordaten angibt. Analog zum ersten Ausführungsbeispiel ist auch die Erzeugungseinheit 7 ausgebildet, mittels der Ziel-Störung gestörte Eingangsdaten 9 von Sensordaten für ein neuronales Netz 11 zu erzeugen. The generator 10 of the further exemplary embodiment comprises, as in the first exemplary embodiment, a first metric unit 1 and a second metric unit 2. In this case, however, the first metric unit 1 comprises a first set with a plurality of first metrics, each of which indicates differently, such as the extent of a change measured by sensor data. In this case, the second metric unit 2 comprises a second set with a multiplicity of second metrics, which each differently indicate where a disturbance of the input data 9 of sensor data is directed. The processing unit 4 coupled to the first 1 and second 2 metric units is designed in this case to generate the optimization problem from any combination of a first metric of the first set and a second metric of the second set. The solution unit 5 coupled to the processing unit 4 is then designed to solve the optimization problem by means of at least one solution algorithm, the solution indicating a target disruption of the input data 9 of sensor data. Analogously to the first exemplary embodiment, the generation unit 7 is also designed to generate input data 9 from sensor data for a neural network 11 that are disturbed by the target interference.
Das Verfahren des weiteren Ausführungsbeispiels läuft analog zu dem Verfahren des ersten Ausführungsbeispiels ab. Jedoch wird in diesem Fall eine erste Menge definiert, welche die ersten Metriken enthält, die jeweils unterschiedlich angeben, wie das Ausmaß einer Veränderung von Sensordaten gemessen wird. Ferner wird eine zweite Menge definiert, welche die zweiten Metriken enthält, die jeweils unterschiedlich angeben, worauf eine Störung von Sensordaten gerichtet ist. Es wird dann eine beliebige Kombination einer ersten Metrik der ersten Menge und einer zweiten Metrik der zweiten Menge gewählt und aus der gewählten Kombination der ersten und zweiten Metrik das Optimierungsproblem erzeugt. Dieses wird dann wie bei dem Verfahren des ersten Ausführungsbeispiels mittels zumindest eines Lösungsalgorithmus gelöst, wobei die Lösung eine Ziel-Störung der Eingangsdaten 9 angibt. Mittels der Ziel-Störung werden gestörte Eingangsdaten 9 von Sensordaten für das neuronale Netz 11 erzeugt. The method of the further exemplary embodiment runs analogously to the method of the first exemplary embodiment. In this case, however, a first set is defined which contains the first metrics, which in each case indicate differently how the extent of a change in sensor data is measured. Furthermore, a second set is defined, which contains the second metrics, which in each case differently indicate where a disturbance of sensor data is directed. Any combination of a first metric of the first set and a second metric of the second set is then selected and the optimization problem is generated from the selected combination of the first and second metric. As in the method of the first exemplary embodiment, this is then solved by means of at least one solution algorithm, the solution indicating a target disruption of the input data 9. By means of the target disturbance, disturbed input data 9 are generated by sensor data for the neural network 11.
Mit Bezug zu Figur 3 wird ein Ausführungsbeispiel einer Vorrichtung zum Erzeugen eines Parametersatzes für ein neuronales Netz beschrieben: With reference to FIG. 3, an exemplary embodiment of a device for generating a parameter set for a neural network is described:
Die Vorrichtung umfasst die Datenbank 8 mit digitalen Bildern. Mit dieser Datenbank 8 ist der mit Bezug zu Figur 1 beschriebene Generator 10 verbunden. Mit der Datenbank 8 und dem Generator 10 ist ein neuronales Netz 11 gekoppelt. Der Ausgang des neuronalen Netzes 11 ist mit einer ersten Analyseeinheit 12 und einer zweiten Analyseeinheit 13 gekoppelt. Die erste Analyseeinheit 12 erzeugt eine erste Analyse mittels des neuronalen Netzes 11 auf Basis von digitalen Bildern, welche als Eingangsdaten von der Datenbank 8 dem neuronalen Netz 11 zugeführt werden. Die zweite Analyseeinheit 13 erzeugt eine zweite Analyse auf Basis von gestörten Eingangsdaten 9, die von dem Generator 10 dem neuronalen Netz 11 zugeführt werden. Zum Erzeugen der gestörten Eingangsdaten 9 greift der Generator 10 auf die The device comprises the database 8 with digital images. The generator 10 described with reference to FIG. 1 is connected to this database 8. A neural network 11 is coupled to the database 8 and the generator 10. The output of the neural network 11 is coupled to a first analysis unit 12 and a second analysis unit 13. The first analysis unit 12 generates a first analysis by means of the neural network 11 on the basis of digital images which are supplied as input data from the database 8 to the neural network 11. The second analysis unit 13 generates a second analysis on the basis of disturbed input data 9, which are fed from the generator 10 to the neural network 11. To generate the disturbed input data 9, the generator 10 accesses the
Datenbank 8 mit den digitalen Bildern zu und wendet auf diese die von dem Generator 10 erzeugte Ziel-Störung an.
Die erste Analyseeinheit 12 und die zweite Analyseeinheit 13 sind mit einer Vergleichseinheit 14 gekoppelt. Diese ist ausgebildet, die erste und die zweite Analyse miteinander zu vergleichen. Database 8 with the digital images and applies the target disturbance generated by the generator 10 to them. The first analysis unit 12 and the second analysis unit 13 are coupled to a comparison unit 14. This is designed to compare the first and the second analysis with one another.
Die Vergleichseinheit 14 ist mit einer Parametersatz-Erzeugungseinheit 15 gekoppelt. Die Parametersatz-Erzeugungseinheit 15 ist ausgebildet, einen verbesserten Parametersatz für das neuronale Netz 11 auf Basis des Ergebnisses des Vergleichs der ersten und der zweiten Analyse zu erzeugen, welcher von der Vergleichseinheit 14 übertragen wurde. Der The comparison unit 14 is coupled to a parameter set generation unit 15. The parameter set generation unit 15 is designed to generate an improved parameter set for the neural network 11 on the basis of the result of the comparison of the first and the second analysis, which was transmitted from the comparison unit 14. The
Parametersatz für das neuronale Netz 11 wird von der Parametersatz-Erzeugungseinheit 15 so erzeugt, dass die von dem Generator 10 erzeugten gestörten Eingangsdaten 9 der digitalen Bilder einen geringen Einfluss auf die Analyse dieser Eingangsdaten mittels des neuronalen Netzes 11 haben. Insbesondere wird der verbesserte Parametersatz so erzeugt, dass die Auswirkungen der gestörten Eingangsdaten 9 auf die semantische Segmentierung des digitalen Bildes mittels des neuronalen Netzes 11 für die gestörten Eingangsdaten nicht dazu führt, dass für ein Fahrerassistenzsystem sicherheitsrelevante Objekte falsch klassifiziert werden, diese Objekte verschwinden oder verändert dargestellt werden. Das neuronale Netz 11 kann somit mittels der gestörten Eingangsdaten 9, welche von dem Generator 10 erzeugt werden, trainiert werden. The parameter set generation unit 15 generates the parameter set for the neural network 11 in such a way that the disrupted input data 9 of the digital images generated by the generator 10 have little influence on the analysis of these input data by the neural network 11. In particular, the improved parameter set is generated in such a way that the effects of the disturbed input data 9 on the semantic segmentation of the digital image by means of the neural network 11 for the disturbed input data does not lead to objects relevant to safety being classified incorrectly for a driver assistance system, these objects disappearing or changing being represented. The neural network 11 can thus be trained using the disturbed input data 9 generated by the generator 10.
Mit Bezug zu Figur 4 wird ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens zum Prüfen der Robustheit eines neuronalen Netzes beschrieben: With reference to FIG. 4, an embodiment of the method according to the invention for checking the robustness of a neural network is described:
In einem Schritt R1 wird ein neuronales Netz mit einem zugehörigen Parametersatz In a step R1, a neural network with an associated parameter set is created
bereitgestellt. Dieses neuronale Netz soll überprüft werden. provided. This neural network is to be checked.
In einem Schritt R2 werden Trainingsdaten mittels einer Vielzahl von digitalen Bildern erzeugt. In a step R2, training data are generated using a large number of digital images.
In einem Schritt R3 wird das neuronale Netz auf an sich bekannte Weise mit Trainingsdaten trainiert und es wird eine erste Analyse der digitalen Bilder auf Basis der Trainingsdaten mittels des neuronalen Netzes erzeugt. In a step R3, the neural network is trained in a manner known per se with training data and a first analysis of the digital images is generated on the basis of the training data by means of the neural network.
In einem Schritt R4 werden gestörte Eingangsdaten als Trainingsdaten für die digitalen Bilder mittels des Verfahrens erzeugt, wie es mit Bezug zu Figur 2 erläutert wurde.
ln einem Schritt R5 wird eine zweite Analyse der digitalen Bilder auf Basis der gestörten Eingangsdaten, das heißt auf Basis der digitalen Bilder, auf welche die Ziel-Störung angewandt wurde, mittels des neuronalen Netzes erzeugt. In a step R4, disturbed input data are generated as training data for the digital images by means of the method as explained with reference to FIG. In a step R5, a second analysis of the digital images on the basis of the disturbed input data, that is to say on the basis of the digital images to which the target disturbance was applied, is generated by means of the neural network.
In einem Schritt R6 wird die erste und die zweite Analyse miteinander verglichen. In a step R6, the first and the second analysis are compared with one another.
In einem Schritt R7 wird schließlich ein Robustheitswert in Abhängigkeit von dem Ergebnis des Vergleichs der ersten und zweiten Analyse ermittelt. Der Robustheitswert ist hoch, wenn die Abweichung der zweiten Analyse von der ersten Analyse gering ist, insbesondere im Hinblick auf Abweichungen, die für den Betrieb eines Fahrerassistenzsystems relevant sind, In a step R7, a robustness value is finally determined as a function of the result of the comparison of the first and second analysis. The robustness value is high if the deviation of the second analysis from the first analysis is small, in particular with regard to deviations that are relevant for the operation of a driver assistance system,
insbesondere sicherheitskritisch sind. are particularly safety-critical.
Mit Bezug zu Figur 5 wird ein Verfahren zum Verbessern eines Parametersatzes eines neuronalen Netzes beschrieben: With reference to FIG. 5, a method for improving a parameter set of a neural network is described:
Zunächst werden die Schritte R1 bis R6 durchgeführt, wie es mit Bezug zu Figur 4 erläutert wurde. Anschließend wird in einem Schritt R8 ein verbesserter Parametersatz für das neuronale Netz auf Basis des Ergebnisses des Vergleichs und zweiten Analyse erzeugt.
First, steps R1 to R6 are carried out, as was explained with reference to FIG. Subsequently, in a step R8, an improved parameter set for the neural network is generated on the basis of the result of the comparison and the second analysis.
Bezugszeichenliste List of reference symbols
erste Metrikeinheit first metric unit
zweite Metrikeinheit second metric unit
dritte Metrikeinheit third metric unit
Verarbeitungseinheit Processing unit
Lösungseinheit Solution unit
Datenbank mit Lösungsalgorithmen Database with solution algorithms
Erzeugungseinheit Generating unit
Datenbank mit digitalen Bilddaten Database with digital image data
gestörte Eingangsdaten disturbed input data
Generator generator
neuronales Netz neural network
erste Analyseeinheit first analysis unit
zweite Analyseeinheit second analysis unit
Vergleichseinheit Comparison unit
Parametersatz-Erzeugungseinheit Parameter set generation unit
Datenbank mit Störung
Database with malfunction