DE102020214996A1 - Measurement of the sensitivity of an image classifier to changes in the input image - Google Patents
Measurement of the sensitivity of an image classifier to changes in the input image Download PDFInfo
- Publication number
- DE102020214996A1 DE102020214996A1 DE102020214996.8A DE102020214996A DE102020214996A1 DE 102020214996 A1 DE102020214996 A1 DE 102020214996A1 DE 102020214996 A DE102020214996 A DE 102020214996A DE 102020214996 A1 DE102020214996 A1 DE 102020214996A1
- Authority
- DE
- Germany
- Prior art keywords
- stage
- input image
- candidate
- image
- mask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
- G06V10/993—Evaluation of the quality of the acquired pattern
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
Abstract
Verfahren (100) zur Messung, inwieweit die Entscheidung eines Bildklassifikators (1) über die Zuordnung (3) eines Eingabe-Bildes (2) zu einer oder mehreren Klassen einer vorgegebenen Klassifikation durch Veränderungen diese Eingabe-Bildes (2) beeinflussbar ist, mit den Schritten:• es werden mehrere binäre Kandidaten-Masken (5) erzeugt (110);• zu jeder Kandidaten-Maske (5) wird eine Kandidaten-Abwandlung (7) des Eingabe-Bildes (2) erzeugt;• die Kandidaten-Masken (5) werden jeweils mit einer Gütefunktion (8) bewertet (130), die davon abhängt, wie sich die Ausgabe (3) des Bildklassifikators (1) ändert, wenn dem Bildklassifikator (1) an Stelle des Eingabe-Bildes (2) die anhand der jeweiligen Kandidaten-Maske (5) erzeugte Kandidaten-Abwandlung (7) zugeführt wird;• die am besten bewertete Kandidaten-Maske (5) wird als eine Etappen-Maske (5*) festgelegt (140a), und die zugehörige Kandidaten-Abwandlung (7) wird als eine Etappen-Abwandlung (7*) festgelegt (140b);• in der gleichen Weise werden aus dem gleichen Eingabe-Bild (2) weitere Etappen-Masken (5*) und Etappen-Abwandlungen (7*) ermittelt (150), bis eine vorgegebene Anzahl erreicht ist;• die Etappen-Abwandlungen (7*) werden als neue Eingabe-Bilder (2) verwendet, um in der gleichen Weise neue Etappen-Masken (5*) und Etappen-Abwandlungen (7*) zu erzeugen (160);• in Antwort darauf, dass eine vorgegebene Abbruchbedingung (9) erfüllt ist (170), werden alle oder eine Auswahl der Etappen-Abwandlungen (7*) zu der gesuchten Aussage (1*) über die Beeinflussbarkeit der Entscheidung zusammengeführt (180).Method (100) for measuring the extent to which the decision of an image classifier (1) on the assignment (3) of an input image (2) to one or more classes of a specified classification can be influenced by changes in this input image (2), with the Steps:• several binary candidate masks (5) are generated (110);• a candidate modification (7) of the input image (2) is generated for each candidate mask (5);• the candidate masks ( 5) are each evaluated with a quality function (8) (130), which depends on how the output (3) of the image classifier (1) changes if the image classifier (1) instead of the input image (2) uses the the respective candidate mask (5) generated candidate modification (7) is supplied;• the best-scoring candidate mask (5) is determined as a stage mask (5*) (140a), and the associated candidate modification (7) is defined (140b) as a stage modification (7*); • in the same way a From the same input image (2), additional stage masks (5*) and stage modifications (7*) are determined (150) until a predetermined number is reached;• the stage modifications (7*) are used as new input - Images (2) used to create (160) new stage masks (5*) and stage modifications (7*) in the same way;• in response to a predetermined termination condition (9) being met (170 ), all or a selection of the stage modifications (7*) are brought together (180) to form the statement sought (1*) about the ability to influence the decision.
Description
Die vorliegende Erfindung betrifft die Kontrolle des Verhaltens trainierbarer Bildklassifikatoren, die beispielsweise für die Qualitätskontrolle von in Serie gefertigten Produkten oder auch für das zumindest teilweise automatisierte Führen von Fahrzeugen genutzt werden können.The present invention relates to the control of the behavior of trainable image classifiers that can be used, for example, for the quality control of mass-produced products or also for the at least partially automated driving of vehicles.
Stand der TechnikState of the art
Bei der Serienfertigung von Produkten ist es in der Regel erforderlich, die Qualität der Fertigung laufend zu überprüfen. Dabei wird angestrebt, Qualitätsprobleme möglichst schnell zu erkennen, um die Ursache baldmöglichst beheben zu können und nicht zu viele Einheiten des jeweiligen Produkts als Ausschuss zu verlieren.In the series production of products, it is usually necessary to continuously check the quality of the production. The aim is to identify quality problems as quickly as possible in order to be able to remedy the cause as soon as possible and not lose too many units of the respective product as scrap.
Die optische Kontrolle der Geometrie und/oder Oberfläche eines Produkts ist schnell und zerstörungsfrei. Die
Bilder des Produkts können auch unmittelbar mit einem Bildklassifikator auf der Basis künstlicher neuronaler Netzwerke einer von mehreren Klassen einer vorgegebenen Klassifikation zugeordnet werden. Auf dieser Basis kann das Produkt einer von mehreren vorgegebenen Qualitätsklassen zugeordnet werden. Im einfachsten Fall ist diese Klassifikation binär („OK“/ „nicht OK“).Images of the product can also be directly assigned to one of several classes of a given classification using an image classifier based on artificial neural networks. On this basis, the product can be assigned to one of several specified quality classes. In the simplest case, this classification is binary ("OK"/"not OK").
Beim zumindest teilweise automatisierten Führen von Fahrzeugen werden ebenfalls trainierbare Bildklassifikatoren eingesetzt, um Verkehrssituationen zu bewerten oder zumindest auf ihren Gehalt an Objekten zu untersuchen.When driving vehicles in an at least partially automated manner, image classifiers that can be trained are also used in order to evaluate traffic situations or at least to examine their content of objects.
Offenbarung der ErfindungDisclosure of Invention
Im Rahmen der Erfindung wurde ein Verfahren zur Messung entwickelt, inwieweit die Entscheidung eines Bildklassifikators über die Zuordnung eines Eingabe-Bildes zu einer oder mehreren Klassen einer vorgegebenen Klassifikation durch Veränderungen diese Eingabe-Bildes beeinflussbar ist.Within the scope of the invention, a method was developed for measuring the extent to which the decision of an image classifier regarding the assignment of an input image to one or more classes of a specified classification can be influenced by changes in this input image.
Bei diesem Verfahren werden unter Nutzung von Parametern, die aus mindestens einer Zufallsverteilung gezogen werden, mehrere binäre Kandidaten-Masken erzeugt. Jedes Element einer binären Kandidaten-Maske gibt an, ob auf ein hierzu korrespondierendes Pixel des Eingabe-Bildes eine vorgegebene Störung anzuwenden ist oder nicht. Dementsprechend wird zu jeder Kandidaten-Maske eine Kandidaten-Abwandlung des Eingabe-Bildes erzeugt, indem auf die durch die jeweilige Kandidaten-Maske vorgegebenen Pixel des Eingabe-Bildes die vorgegebene Störung angewendet wird.In this method, multiple binary candidate masks are generated using parameters drawn from at least one random distribution. Each element of a candidate binary mask indicates whether or not a given perturbation is to be applied to a corresponding pixel of the input image. Accordingly, a candidate modification of the input image is generated for each candidate mask by applying the specified perturbation to the pixels of the input image specified by the respective candidate mask.
Die vorgegebene Störung kann beispielsweise beinhalten, alle Pixel im von der Störung betroffenen Bereich auf Null oder einen anderen einheitlichen Wert zu setzen. Die vorgegebene Störung kann alternativ oder auch in Kombination hierzu beispielsweise beinhalten, Pixelwerte im von der Störung betroffenen Bereich durch Pixelwerte einer weichgezeichneten Version des Eingabe-Bildes in diesem Bereich zu ersetzen.The predetermined perturbation may include, for example, setting all pixels in the area affected by the perturbation to zero or some other uniform value. Alternatively or in combination with this, the predetermined disturbance can include, for example, replacing pixel values in the area affected by the disturbance with pixel values of a blurred version of the input image in this area.
Die Kandidaten-Masken werden jeweils mit einer Gütefunktion bewertet. Diese Gütefunktion hängt mindestens davon ab, wie sich die Ausgabe des Bildklassifikators ändert, wenn dem Bildklassifikator an Stelle des Eingabe-Bildes die anhand der jeweiligen Kandidaten-Maske erzeugte Kandidaten-Abwandlung zugeführt wird. Darüber hinaus können noch beliebige weitere Kriterien in die Gütefunktion eingehen.The candidate masks are each evaluated with a quality function. This quality function depends at least on how the output of the image classifier changes when the candidate modification generated using the respective candidate mask is supplied to the image classifier instead of the input image. In addition, any other criteria can also be included in the quality function.
Die gemäß der Gütefunktion am besten bewertete Kandidaten-Maske wird als eine Etappen-Maske festgelegt, und die zugehörige Kandidaten-Abwandlung wird als eine Etappen-Abwandlung festgelegt. In der gleichen Weise werden aus dem gleichen Eingabe-Bild weitere Etappen-Masken und Etappen-Abwandlungen ermittelt, bis eine vorgegebene Anzahl erreicht ist. Damit entsteht eine Ebene eines Baums, in der ein und dasselbe Eingabebild eine vorgegebene Anzahl Etappen-Abwandlungen als „Kinder“ hervorbringt.The best-scoring candidate mask according to the merit function is designated as a staging mask, and the associated candidate modification is designated as a staging modification. In the same way, further stage masks and stage modifications are determined from the same input image until a predetermined number is reached. This creates a level of a tree in which one and the same input image produces a predetermined number of stage modifications as "children".
Die Etappen-Abwandlungen werden wiederum als neue Eingabe-Bilder verwendet, um in der gleichen zuvor beschriebenen Weise neue Etappen-Masken und Etappen-Abwandlungen zu erzeugen. Jede Etappen-Abwandlung und ihre zugehörige Etappen-Maske bringen also wiederum die vorgegebene Anzahl neuer Etappen-Abwandlungen als „Kinder“ hervor, so dass die nächste Ebene des Baums entsteht.The stage mods are in turn used as new input images to generate new stage masks and stage mods in the same manner previously described. Thus, each Stage Modification and its associated Stage Mask, in turn, spawns the specified number of new Stage Modifications as “children,” resulting in the next level of the tree.
Dieser Prozess wird fortgesetzt, bis eine vorgegebene Abbruchbedingung erreicht ist. Wenn diese Abbruchbedingung erreicht ist, werden alle oder eine Auswahl der insgesamt erzeugten Etappen-Abwandlungen zu der gesuchten Aussage über die Beeinflussbarkeit der Entscheidung zusammengeführt.This process continues until a predetermined termination condition is met. If this termination condition is reached, all or a selection of the total stage modifications generated are brought together to form the statement sought about the influenceability of the decision.
Das ursprüngliche Eingabe-Bild und jede bereits erzeugte Etappen-Abwandlung sind somit der Ausgangspunkt für die Erzeugung jeweils mehrerer weiterer Etappen-Abwandlungen. Jede dieser weiteren Etappen-Abwandlungen wird als „lokales Optimum“ erhalten, indem aus zufällig gezogenen Parametern jeweils Kandidaten-Masken gebildet werden und unter Nutzung der Gütefunktion die beste Kandidaten-Maske ausgewählt wird.The original input image and each stage modification already generated are thus the starting point for the generation of several further stage modifications. Any of these Further stage modifications are obtained as a "local optimum" in that candidate masks are formed from randomly drawn parameters and the best candidate mask is selected using the quality function.
Um eine neue Ebene des Baums zu erzeugen, können also ausgehend von dem ursprünglichen Eingabe-Bild, bzw. von der bereits erzeugten Etappen-Abwandlung, beispielsweise 10 Kandidaten-Masken getestet werden. Aus diesen Kandidaten-Masken wird diejenige ausgewählt, deren zugehörige Kandidaten-Abwandlung des ursprünglichen Eingabe-Bildes, bzw. der bereits erzeugten Etappen-Abwandlung, von der Gütefunktion am besten bewertet wird. Damit entstehen auf der neuen Ebene des Baums die erste Etappen-Maske und zugehörige Etappen-Abwandlung, also der erste „Knoten“ des Baums auf dieser Ebene. Anschließend können beispielsweise wieder 10 neue Kandidaten-Masken in der gleichen Weise verarbeitet werden, um den nächsten „Knoten“ auf der gleichen Ebene zu erzeugen. Beispielsweise können aus dem ursprünglichen Eingabe-Bild, bzw. aus jeder bereits erzeugten Etappen-Abwandlung auf einer Ebene, jeweils zwei bis vier neue „Knoten“ auf der nächsten Ebene des Baums hervorgehen. Indem bereits eine relativ kleine Anzahl von Kandidaten-Masken zur Bildung eines lokalen Optimums in Bezug auf einen „Knoten“ des Baums ausreicht, kann die Optimierung über alle „Knoten“ des Baums insgesamt mit einem praktisch handhabbaren Budget an Rechenzeit durchgeführt werden. Auch bietet gerade die baumartige Strukturierung der insgesamt durchzuführenden Arbeit transparente Möglichkeiten, ein vorgegebenes Gesamtbudget an Rechenzeit so zu verteilen, dass hieraus der größtmögliche Nutzen in Bezug auf die letztendlich gesuchte Aussage generiert werden kann.In order to generate a new level of the tree, 10 candidate masks, for example, can be tested starting from the original input image or from the stage modification already generated. From these candidate masks, that one is selected whose associated candidate modification of the original input image, or of the stage modification that has already been generated, is rated best by the quality function. This creates the first stage mask and associated stage modification on the new level of the tree, i.e. the first "node" of the tree on this level. Then, for example, 10 new candidate masks can be processed in the same way again to generate the next "node" on the same level. For example, two to four new "nodes" can emerge on the next level of the tree from the original input image, or from each stage modification already generated on one level. Since a relatively small number of candidate masks is already sufficient to form a local optimum in relation to a "node" of the tree, the optimization can be carried out over all "nodes" of the tree overall with a practically manageable budget of computing time. The tree-like structuring of the work to be carried out as a whole also offers transparent options for distributing a given total budget of computing time in such a way that the greatest possible benefit can be generated from it in relation to the statement ultimately sought.
Je tiefer sich eine Etappen-Maske in dem Baum befindet, desto öfter wurde sie in der beschriebenen Weise nacheinander jeweils lokal optimiert. Durch dieses jeweils lokale Optimieren wird die Etappen-Maske Schritt für Schritt immer besser. Auf der tiefsten Ebene des Baums sind diejenigen Etappen-Abwandlungen versammelt, aus denen keine weiteren Etappen-Abwandlungen erzeugt worden sind. Jede dieser Etappen-Abwandlungen auf der tiefsten Ebene des Baums ist durch die gleiche Anzahl sukzessiver lokaler Optimierungsschritte aus dem ursprünglichen Eingabe-Bild hervorgegangen und repräsentiert insoweit einen gleich langen Lernprozess.The deeper a stage mask is located in the tree, the more often it was successively locally optimized in the manner described. Through this local optimization, the stage mask is getting better and better step by step. At the lowest level of the tree those stage modifications are gathered from which no further stage modifications have been created. Each of these stage modifications at the deepest level of the tree has emerged from the original input image through the same number of successive local optimization steps and thus represents a learning process of the same length.
Somit werden in einer besonders vorteilhaften Ausgestaltung diejenigen zuletzt erzeugten Etappen-Abwandlungen, aus denen keine weiteren Etappen-Abwandlungen erzeugt wurden, für das Zusammenführen zu der gesuchten Aussage über die Beeinflussbarkeit der Entscheidung ausgewählt. Dies ist ein Stück weit damit vergleichbar, dass ein Arbeitgeber, der aus den Schülern einer Schule Mitarbeiter für ein neues Team rekrutiert, die Schüler im Wesentlichen aus den Abschlussjahrgängen auswählen wird.Thus, in a particularly advantageous embodiment, those stage modifications generated last, from which no further stage modifications were generated, are selected for merging to form the sought-after statement about the ability to influence the decision. This is somewhat analogous to the fact that an employer who is recruiting students for a new team from a school's students will essentially select the students from the senior years.
Beispielsweise kann danach gefragt sein, auf welche Anteile des Eingabe-Bildes der Bildklassifikator seine Entscheidung stützt, das Eingabe-Bild einer bestimmten Klasse zuzuordnen. Wenn es im Eingabe-Bild Bereiche gibt, die mit der vorgegebenen Störung beaufschlagt werden können, ohne dass sich die Entscheidung des Bildklassifikators (bzw. ein diesbezüglicher Klassifikations-Score) deutlich ändert, bedeutet dies, dass der Bildklassifikator seine Entscheidung gerade nicht auf diese Bildbereiche stützt. Stattdessen muss die Information, auf die der Bildklassifikator seine Entscheidung in Bezug auf das Eingabe-Bild stützt, irgendwo in den nicht durch die Störung unkenntlich gemachten Bereichen sitzen. Mit dem hier beschriebenen Verfahren kann die komplexe Aufgabe, möglichst alle nicht entscheidungsrelevanten Bereiche ausfindig zu machen und so zu einer möglichst präzisen Aussage über die verbliebenen entscheidungsrelevanten Bildbereiche zu gelangen, in viele kleine lokale Teilaufgaben zerlegt werden, die jeweils unter Nutzung der Gütefunktion gelöst werden können. Es können also beispielsweise bei jeder Erzeugung neuer Kandidaten-Masken aus vorhandenen Etappen-Masken weitere Pixel, die bislang noch nicht durch die vorgegebene Störung verändert wurden, verändert werden. Änderungen des Eingabe-Bildes, die die Entscheidung des Bildklassifikators nicht ändern, können also etappenweise „gelernt“ werden. Es kommt in dem insgesamt entstehenden Baum von Etappen-Masken also jedem „Kind“ jeweils die Erfahrung seiner „Vorfahren“ zugute. Werden hingegen Masken unabhängig voneinander jeweils zufällig generiert, lassen sich diese Masken nicht in synergistischer Weise miteinander kombinieren. Man fängt bei jeder komplett zufälligen Erzeugung einer Maske wieder bei Null an, ohne auf vorheriger Erfahrung aufzubauen.For example, the question can be asked on which parts of the input image the image classifier bases its decision to assign the input image to a specific class. If there are areas in the input image that can be subjected to the specified interference without the decision of the image classifier (or a related classification score) changing significantly, this means that the image classifier does not base its decision on these image areas supports. Instead, the information on which the image classifier bases its decision regarding the input image must reside somewhere in the areas not obscured by the interference. With the method described here, the complex task of locating as many areas as possible that are not relevant to the decision and thus obtaining the most precise possible statement about the remaining image areas relevant to the decision can be broken down into many small local sub-tasks, each of which can be solved using the quality function . For example, each time new candidate masks are generated from existing stage masks, further pixels that have not yet been changed by the specified disturbance can be changed. Changes in the input image that do not change the decision of the image classifier can therefore be "learned" in stages. In the resulting tree of stage masks, each "child" benefits from the experience of their "ancestors". If, on the other hand, masks are randomly generated independently of one another, these masks cannot be combined with one another in a synergistic manner. You start from scratch every time you generate a mask completely randomly, without building on previous experience.
Somit werden in einer besonders vorteilhaften Ausgestaltung alle Pixel, die gemäß mindestens einer Etappen-Maske zu verändern sind, als zu verändernde Pixel in die aus dieser Etappen-Maske erzeugten Kandidaten-Masken übernommen.Thus, in a particularly advantageous embodiment, all pixels that are to be changed according to at least one stage mask are adopted as pixels to be changed in the candidate masks generated from this stage mask.
Dabei schafft gerade die Nutzung von Parametern, die aus einer Zufallsverteilung gezogen werden, größtmögliche Flexibilität in Bezug auf die Gütefunktion. Diese muss nur an den bestimmten, durch die zufälligen Parameter festgelegten Stellen lokal auswertbar sein. Es ist jedoch anders als beispielsweise bei einem Gradientenabstiegsverfahren nicht notwendig, dass die Gütefunktion differenzierbar oder auch nur überall erklärt ist.The use of parameters that are drawn from a random distribution creates the greatest possible flexibility with regard to the quality function. This only has to be able to be evaluated locally at the specific points defined by the random parameters. However, in contrast to a gradient descent method, for example, it is not necessary for the quality function to be differentiable or even explained everywhere.
Um Stück für Stück die nicht entscheidungsrelevanten Anteile des Eingabe-Bildes auszublenden, kann insbesondere beispielsweise eine Gütefunktion gewählt werden, die eine Kandidaten-Maske umso besser bewertet, je geringer sich eine Veränderung des Eingabe-Bildes gemäß dieser Kandidaten-Maske auf die Ausgabe des Bildklassifikators auswirkt. Um hierbei der Tendenz entgegenzuwirken, dass das Verfahren sich in allzu kleinen Schritten „vortastet“, kann die Gütefunktion optional zusätzlich die Kandidaten-Maske umso besser bewerten, je mehr Pixel des Eingabe-Bildes gemäß dieser Kandidaten-Maske verändert werden. Dabei können diese beiden Kriterien in beliebiger Weise relativ zueinander gewichtet werden.In order to hide the parts of the input image that are not relevant to the decision bit by bit, a quality function can be selected, for example, which evaluates a candidate mask the better, the smaller a change in the input image according to this candidate mask affects the output of the image classifier affects. In order to counteract the tendency for the method to "feel its way" in steps that are too small, the quality function can optionally also evaluate the candidate mask the better, the more pixels of the input image are changed according to this candidate mask. These two criteria can be weighted in any way relative to each other.
Entscheidungsrelevante Anteile des Eingabe-Bildes können jedoch auch beispielsweise gesucht werden, indem nach möglichst kleinen Veränderungen des Eingabe-Bildes gesucht wird, die zu einer maximalen Änderung der Ausgabe des Bildklassifikators führen. Hierzu kann beispielsweise eine Gütefunktion gewählt werden, die eine Kandidaten-Maske umso besser bewertet, je stärker sich diese Veränderung zugleich auf die Ausgabe des Bildklassifikators auswirkt. Für die gezielte Suche nach gerade möglichst kleinen Veränderungen des Eingabe-Bildes kann die Gütefunktion weiterhin optional eine Kandidaten-Maske umso besser bewerten, je weniger Pixel des Eingabe-Bildes gemäß dieser Kandidaten-Maske verändert werden. Beide Kriterien können wiederum in beliebiger Weise relativ zueinander gewichtet werden.However, decision-relevant parts of the input image can also be searched for, for example, by looking for the smallest possible changes in the input image that lead to a maximum change in the output of the image classifier. For this purpose, for example, a quality function can be selected that evaluates a candidate mask the better, the stronger this change affects the output of the image classifier at the same time. For the targeted search for changes in the input image that are as small as possible, the quality function can optionally evaluate a candidate mask the better the fewer pixels of the input image are changed according to this candidate mask. Both criteria can in turn be weighted in any way relative to one another.
Beide Ansätze sind nicht zueinander äquivalent, sondern werden in der Regel unterschiedliche Ergebnisse liefern. Welcher Ansatz vorteilhafter ist als der andere, hängt somit davon ab, wonach in der konkreten Anwendung genau gefragt wird.Both approaches are not equivalent to each other, but will usually deliver different results. Which approach is more advantageous than the other therefore depends on what exactly is being asked for in the specific application.
Wenn das Eingabe-Bild beispielsweise eine Verkehrssituation zeigt und der Bildklassifikator für die Erkennung von Fußgängern ausgebildet ist, gibt es beim schrittweisen Ausblenden nicht relevanter Bildanteile eher die Tendenz, dass der komplette Fußgänger als entscheidungsrelevant eingestuft wird. Das Stören von Bildanteilen, die einzelne Körperteile (etwa Kopf oder Gliedmaßen) des Fußgängers zeigen, wird die Einteilung in die Klasse „Fußgänger“ vielleicht noch nicht zu einer anderen Klasse umstoßen, aber den Klassifikations-Score in Bezug auf die Klasse „Fußgänger“ bereits viel stärker ändern als das Stören anderer Bildbereiche. Somit ist zu erwarten, dass eher dem Stören anderer Bildbereiche der Vorzug gegeben wird.If the input image shows a traffic situation, for example, and the image classifier is designed to recognize pedestrians, the gradual hiding of irrelevant image parts tends to classify the entire pedestrian as relevant to the decision. Disrupting parts of the image that show individual parts of the pedestrian's body (e.g. head or limbs) may not overturn the classification in the "pedestrian" class to another class, but it will change the classification score in relation to the "pedestrian" class much more than disturbing other areas of the image. It is therefore to be expected that preference will be given to disturbing other areas of the image.
Hingegen liefert die Suche nach kleinsten Veränderungen, die den größten Effekt bewirken, tendenziell eher eine Aussage darüber, welche Anteile des Fußgängers im Bild mindestens erkennbar sein müssen, damit der Fußgänger als solcher erkannt wird. Wenn sich die Klassifikation nur dann entscheidend ändern lässt, indem der komplette Fußgänger durch die Störung unkenntlich gemacht wird, ist dies für das zumindest teilweise automatisierte Fahren sehr vorteilhaft. Es ist in diesem Fall damit zu rechnen, dass der Fußgänger auch dann noch sicher erkannt wird, wenn er beispielsweise durch eine Lücke zwischen geparkten Autos auf die Fahrbahn tritt und bis zum letzten Moment teilweise verdeckt ist. Wenn hingegen beispielsweise bereits durch das Stören von Bildanteilen, die die Beine oder den Kopf zeigen, die Einteilung in die Klasse „Fußgänger“ erschüttert werden kann, wird ein Fußgänger, dessen Beine oder Kopf in der Verkehrssituation verdeckt sind, möglicherweise nicht rechtzeitig erkannt.On the other hand, the search for the smallest changes that cause the greatest effect tends to provide a statement about which parts of the pedestrian must at least be recognizable in the image in order for the pedestrian to be recognized as such. If the classification can only be decisively changed by making the entire pedestrian unrecognizable due to the disruption, this is very advantageous for at least partially automated driving. In this case, it can be expected that the pedestrian will still be reliably detected if, for example, he steps through a gap between parked cars and is partially covered up to the last moment. If, on the other hand, the classification into the "pedestrian" class can be shaken, for example, by the interference of image parts that show the legs or the head, a pedestrian whose legs or head are covered in the traffic situation may not be recognized in good time.
Bei der Suche nach den kleinsten Veränderungen können insbesondere beispielsweise jeweils zusammenhängende Gebiete gesucht werden, in denen die Anwendung der vorgegebenen Störung sinnvoll ist. Im Gegensatz zu einer Änderung einzelner Pixel begünstigt dies keine singulären „adversarial examples“, sondern real in Bildern vorkommende Strukturen und Objekte.When searching for the smallest changes, it is possible, for example, to search for connected areas in which the application of the specified disturbance makes sense. In contrast to changing individual pixels, this does not favor singular "adversarial examples", but structures and objects that actually occur in images.
Das Herunterbrechen einer sehr komplexen Aufgabe auf einfachere Aufgaben ist ein Stück weit vergleichbar mit einem kryptoanalytischen Angriff auf eine Verschlüsselung, der es ermöglicht, verschiedene Anteile eines langen kryptographischen Schlüssels unabhängig voneinander zu ermitteln. Während das Durchprobieren aller möglichen langen Schlüssel mit einem „Brüte-Force-Angriff“ meistens nicht praktikabel ist, ist das unabhängige Ermitteln der verschiedenen Anteile typischerweise um viele Größenordnungen schneller möglich und somit für einen realen Angreifer wirtschaftlich.Breaking down a very complex task into simpler tasks is somewhat comparable to a cryptanalytic attack on an encryption, which makes it possible to independently determine different parts of a long cryptographic key. While trying out all possible long keys with a "brute force attack" is usually not practicable, the independent determination of the different parts is typically many orders of magnitude faster and therefore economical for a real attacker.
Wenn die Abbruchbedingung erfüllt ist, liegt eine Vielzahl von Etappen-Masken vor, die in unterschiedlichen Anzahlen von Generationen aus dem ursprünglichen Eingabe-Bild erzeugt worden sind. Einige dieser Etappen-Masken können trotz ihrer geringen Generation schon gut sein. Es muss auch nicht jede neue Generation zwangsläufig besser sein als die vorherige, sondern es kann auch der Fall eintreten, dass die Bildung einer weiteren Generation die Maske „verschlimmbessert“. Sind zum Beispiel schon genau alle Bildpixel gestört, die nicht zu einem gesuchten Objekt gehören, führt jedes weitere Hinzufügen von Störungen zu einem „Anknabbern“ des gesuchten Objekts und somit zu einer Verschlechterung. Somit ist es nicht zwingend erforderlich, nur die in der letzten Generation gebildeten Etappen-Masken zu der gesuchten Aussage zusammenzuführen, inwieweit die Entscheidung des Bildklassifikators beeinflussbar ist. Stattdessen können optional auch Etappen-Masken aus früheren Generationen zumindest als Beimischung berücksichtigt werden. Tendenziell unterdrückt jedoch das Zusammenführen einer großen Anzahl Etappen-Abwandlungen der letzten Generation, an denen jeweils viele Generationen von aus der Zufallsverteilung gezogenen Parametern mitgewirkt haben, die Auswirkung einzelner „verschlimmbessernder“ Etappen-Masken auf die letztendlich erhaltene Aussage über die Beeinflussbarkeit der Entscheidung.If the termination condition is met, then there are a plurality of hop masks generated in different numbers of generations from the original input image. Some of these stage masks can already be good despite their low generation. Each new generation does not necessarily have to be better than the previous one, but it can also happen that the formation of another generation "makes the mask worse". If, for example, all image pixels that do not belong to an object being searched for are already disturbed, any further addition of disturbances leads to the object being searched for being “nibbled” and thus to a deterioration. It is therefore not absolutely necessary to combine only the stage masks formed in the last generation to obtain the statement sought as to the extent to which the decision of the image classifier can be influenced. Instead, you can optionally also use stage masks from earlier genes rations are taken into account at least as an admixture. However, the merging of a large number of stage modifications of the last generation, in which many generations of parameters drawn from the random distribution have contributed, tends to suppress the effect of individual "worsening-improving" stage masks on the ultimately obtained statement about the influenceability of the decision.
Daher wird in einer besonders vorteilhaften Ausgestaltung ein Entfernungsmaß zwischen den Ausgaben, auf die der Bildklassifikator die Etappen-Abwandlungen abbildet, und den Ausgaben, auf die der Bildklassifikator das ursprüngliche Eingabe-Bild abbildet, ermittelt. Die Etappen-Masken zu Etappen-Abwandlungen, für die dieses Entfernungsmaß ein vorgegebenes Kriterium erfüllt, werden als Aussage über die Beeinflussbarkeit der Entscheidung des Bildklassifikators ermittelt. Wenn beispielsweise danach gefragt ist, dass sich durch die Änderungen des Eingabe-Bildes die Ausgabe des Bildklassifikators nicht ändern soll, können die Etappen-Masken zu solchen Etappen-Abwandlungen ausgewählt werden, für die das Entfernungsmaß unterhalb eines vorgegebenen Schwellwerts liegt. Ist hingegen danach gefragt, dass kleine Änderungen die Ausgabe des Bildklassifikators maximal ändern sollen, können die Etappen-Masken zu solchen Etappen-Abwandlungen ausgewählt werden, für die das Entfernungsmaß oberhalb eines vorgegebenen Schwellwerts liegt.Therefore, in a particularly advantageous embodiment, a distance measure is determined between the outputs onto which the image classifier maps the stage modifications and the outputs onto which the image classifier maps the original input image. The stage masks for stage modifications for which this distance measure satisfies a predetermined criterion are determined as information about the ability to influence the decision of the image classifier. If, for example, it is asked that the output of the image classifier should not change as a result of the changes in the input image, the stage masks can be selected for those stage modifications for which the distance measure is below a predetermined threshold value. If, on the other hand, it is asked that small changes should change the output of the image classifier as much as possible, the stage masks for those stage modifications can be selected for which the distance measure is above a predetermined threshold value.
Die Abbruchbedingung für die Erzeugung weiterer Generationen von Etappen-Masken kann beispielsweise eine maximale Rekursionstiefe für die Erzeugung von Etappen-Masken beinhalten. Hiermit kann insbesondere beispielswiese ein maximales Budget an Rechenaufwand für die Erstellung von Etappen-Masken festgelegt werden.The termination condition for the generation of further generations of stage masks can contain, for example, a maximum recursion depth for the generation of stage masks. In this way, for example, a maximum budget for computing effort for the creation of stage masks can be specified.
In einer besonders vorteilhaften Ausgestaltung werden alle Etappen-Masken unüberwacht geclustert. Die Abbruchbedingung beinhaltet, dass die Anzahl der dabei entstehenden Cluster konvergiert. Wenn sich das Stören weiterer Bereiche des Eingabe-Bildes als vorteilhaft erweist und „durchsetzt“, werden mit der Zeit hieraus viele weitere Etappen-Masken hervorgehen, die ebenfalls die gleiche vorteilhafte Wirkung haben und einen eigenen Cluster bilden. Bilden sich hingegen keine neuen Cluster, findet durch die weiteren neu gebildeten Etappen-Masken kein weiterer Erkenntnisgewinn statt.In a particularly advantageous embodiment, all stage masks are clustered without being monitored. The termination condition means that the number of resulting clusters converges. Over time, if disturbing other areas of the input image proves beneficial and "pervasive", many more stage masks will emerge that also have the same beneficial effect and form a cluster of their own. If, on the other hand, no new clusters form, no further knowledge gain takes place through the further newly formed stage masks.
Das Erzeugen der Kandidaten-Masken kann insbesondere beispielsweise beinhalten, Koordinaten von Bereichen des Eingabe-Bildes, auf die die vorgegebene Störung in unterschiedlichem Maße anzuwenden ist, aus der mindestens einen Zufallsverteilung zu ziehen. So können beispielsweise für zweidimensionale Koordinatenrichtungen x und y jeweils Schwellwerte, die einen Übergang zwischen unterschiedlich zu behandelnden Bereichen definieren, aus der mindestens einen Zufallsverteilung gezogen werden.In particular, the generation of the candidate masks can include, for example, extracting from the at least one random distribution coordinates of regions of the input image to which the predetermined perturbation is to be applied to different degrees. For example, for two-dimensional coordinate directions x and y, threshold values that define a transition between areas to be treated differently can be drawn from the at least one random distribution.
Beispielsweise kann das Eingabe-Bild in Bereiche unterteilt werden, deren Pixel jeweils mit unterschiedlichen Wahrscheinlichkeiten anhand der vorgegebenen Störung verändert werden. Wenn beispielsweise ein Schwellwert für eine Koordinatenrichtung x und/oder y aus einer Zufallsverteilung gezogen wurde, kann es wiederum aus einer Zufallsverteilung gezogen werden, ob jeweils Bildbereiche verändert werden sollen, deren Koordinaten unterhalb oder oberhalb des jeweiligen Schwellwerts liegen. Dabei können die Wahrscheinlichkeiten für die Alternativen „unterhalb“ und „oberhalb“ frei gewählt werden.For example, the input image can be divided into areas whose pixels are each changed with different probabilities based on the specified disturbance. If, for example, a threshold value for a coordinate direction x and/or y was drawn from a random distribution, it can in turn be drawn from a random distribution whether image areas are to be changed whose coordinates are below or above the respective threshold value. The probabilities for the alternatives “below” and “above” can be chosen freely.
Wie zuvor erläutert, kann die in einer neuen Kandidaten-Maske hinzugefügte Änderung insbesondere beispielsweise darin bestehen, dass im Vergleich zur vorherigen Etappen-Maske weitere Pixel zum Verändern mit der vorgegebenen Störung vorgemerkt werden. Um weitere Freiheitsgrade zu schaffen und die Komplexität der Etappen-Masken insgesamt zu erhöhen, kann aber auch beispielsweise das Erzeugen mindestens einer Kandidaten-Maske aus einer Etappen-Maske beinhalten, die Etappen-Maske in einem anhand der zufällig gezogenen Parameter festgelegten Gebiet zu invertieren. Das bedeutet, dass in diesem Gebiet die zuvor als „zu stören“ vorgemerkten Pixel nicht mehr gestört werden, während die zuvor als „nicht zu stören“ vorgemerkten Pixel nunmehr zu stören sind.As explained above, the change added in a new candidate mask can, for example, consist in particular in that, compared to the previous stage mask, further pixels are marked for changing with the specified disturbance. In order to create further degrees of freedom and to increase the overall complexity of the stage masks, the generation of at least one candidate mask from a stage mask can also include inverting the stage mask in an area defined using the randomly drawn parameters. This means that in this area the pixels previously flagged as “to be disturbed” are no longer disturbed, while the pixels previously flagged as “do not disturb” are now to be disturbed.
In einer besonders vorteilhaften Ausgestaltung wird ein Bild eines in Serie gefertigten Produkts als Eingabe-Bild gewählt. Die Klassen der Klassifikation repräsentieren dann eine Qualitätsbewertung des Produkts, wie beispielsweise „OK“, „nicht OK = NOK“, „keine Entscheidung möglich“ oder auch beliebige Abstufungen dazwischen. In diesem Zusammenhang sind insbesondere Erklärungen dafür, warum der Bildklassifikator ein Eingabe-Bild der Klasse „NOK“ zuordnet, wichtig. Mit solchen Erklärungen lässt sich nicht nur der Bildklassifikator selbst verbessern, sondern es lassen sich auch Erkenntnisse über die mögliche Ursache des Qualitätsproblems gewinnen, die im Fertigungsprozess gesetzt wurde. Wenn beispielsweise eine Vielzahl kleiner lokalisierter Defekte am Produkt für die Einstufung als „NOK“ ausschlaggebend waren und diese Defekte wiederum mit bestimmten physikalischen Bedingungen während der Herstellung des Produkts korreliert sind (wie etwa hohe Temperatur oder hoher Druck), kann gezielt darauf hingewirkt werden, diese Bedingungen zu korrigieren, damit künftig ein größerer Anteil der hergestellten Produktexemplare als „OK“ eingestuft wird.In a particularly advantageous embodiment, an image of a mass-produced product is selected as the input image. The classes of the classification then represent a quality assessment of the product, such as "OK", "not OK = NOK", "no decision possible" or any gradations in between. In this context, explanations for why the image classifier assigns an input image to the class "NOK" are particularly important. Such explanations not only improve the image classifier itself, but also provide insight into the possible root cause of the quality issue that was set in the manufacturing process. For example, if a large number of small, localized defects in the product were decisive for the classification as "NOK", and these defects are in turn correlated with certain physical conditions during the manufacture of the product (such as high temperature or high pressure), targeted efforts can be made to eliminate these correct conditions so that In the future, a larger proportion of the manufactured product examples will be classified as "OK".
Die mit dem Verfahren ermittelte Aussage, inwieweit die Entscheidung eines Bildklassifikators über die Zuordnung eines Eingabe-Bildes zu einer oder mehreren Klassen einer vorgegebenen Klassifikation durch Veränderungen diese Eingabe-Bildes beeinflussbar ist, kann insbesondere beispielsweise mit einem Anteil des Eingabe-Bildes verglichen werden, der anhand einer Beobachtung des gleichen Produkts mit einer anderen Abbildungsmodalität als relevant für die Qualitätsbewertung des Produkts ermittelt wurde. Aus dem Ergebnis dieses Vergleichs kann dann eine Qualitätsbewertung für den Bildklassifikator ermittelt werden. Beispielsweise können Hyperparameter des Bildklassifikators optimiert werden mit dem Ziel, diese Qualitätsbewertung zu optimieren.The statement determined with the method as to the extent to which the decision of an image classifier on the assignment of an input image to one or more classes of a given classification can be influenced by changes in this input image can be compared, for example, with a proportion of the input image that determined to be relevant to the quality assessment of the product based on an observation of the same product with a different imaging modality. A quality assessment for the image classifier can then be determined from the result of this comparison. For example, hyperparameters of the image classifier can be optimized with the aim of optimizing this quality assessment.
In einer weiteren besonders vorteilhaften Ausgestaltung wird ein von einem Fahrzeug aus aufgenommenes Bild einer Verkehrssituation als Eingabe-Bild gewählt. Die Klassen der Klassifikation repräsentieren dann Bewertungen der Verkehrssituation, auf deren Basis das künftige Verhalten des Fahrzeugs geplant wird. Gerade in diesem Anwendungsfeld kann dem Bildklassifikator und einem nachgeschalteten Warnsystem, Fahrassistenzsystem oder System zum zumindest teilweise automatisierten Fahren häufig nur unter der Voraussetzung vertraut werden, dass die Entscheidungen des Bildklassifikators erklärbar sind. Das Verfahren kann genau diese Erklärungen liefern.In a further particularly advantageous embodiment, an image of a traffic situation taken from a vehicle is selected as the input image. The classes of the classification then represent assessments of the traffic situation, on the basis of which the future behavior of the vehicle is planned. Especially in this field of application, the image classifier and a downstream warning system, driver assistance system or system for at least partially automated driving can often only be trusted if the decisions of the image classifier can be explained. The method can provide precisely these explanations.
Die mit dem Verfahren ermittelte Aussage, inwieweit die Entscheidung eines Bildklassifikators über die Zuordnung eines Eingabe-Bildes zu einer oder mehreren Klassen einer vorgegebenen Klassifikation durch Veränderungen diese Eingabe-Bildes beeinflussbar ist, kann insbesondere beispielsweise mit einem Anteil des Eingabe-Bildes verglichen werden, der als für die Beurteilung der Verkehrssituation relevant bekannt ist. Aus dem Ergebnis dieses Vergleichs kann dann eine Qualitätsbewertung für den Bildklassifikator ermittelt werden. Analog zum Anwendungsbeispiel der Qualitätskontrolle von in Serie gefertigten Produkten können dann beispielsweise Hyperparameter des Bildklassifikators optimiert werden mit dem Ziel, dass die Qualität des Bildklassifikators danach besser bewertet wird.The statement determined with the method as to the extent to which the decision of an image classifier on the assignment of an input image to one or more classes of a given classification can be influenced by changes in this input image can be compared, for example, with a proportion of the input image that known to be relevant for assessing the traffic situation. A quality assessment for the image classifier can then be determined from the result of this comparison. Analogous to the application example of the quality control of products manufactured in series, hyper parameters of the image classifier can then be optimized with the aim that the quality of the image classifier is then better evaluated.
Das Verfahren kann insbesondere ganz oder teilweise computerimplementiert sein. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, das beschriebene Verfahren auszuführen. In diesem Sinne sind auch Steuergeräte für Fahrzeuge und Embedded-Systeme für technische Geräte, die ebenfalls in der Lage sind, maschinenlesbare Anweisungen auszuführen, als Computer anzusehen.In particular, the method can be fully or partially computer-implemented. The invention therefore also relates to a computer program with machine-readable instructions which, when executed on one or more computers, cause the computer or computers to carry out the method described. In this sense, control devices for vehicles and embedded systems for technical devices that are also able to execute machine-readable instructions are also to be regarded as computers.
Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger und/oder auf ein Downloadprodukt mit dem Computerprogramm. Ein Downloadprodukt ist ein über ein Datennetzwerk übertragbares, d.h. von einem Benutzer des Datennetzwerks downloadbares, digitales Produkt, das beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann.The invention also relates to a machine-readable data carrier and/or a download product with the computer program. A downloadable product is a digital product that can be transmitted over a data network, i.e. can be downloaded by a user of the data network and that can be offered for sale in an online shop for immediate download, for example.
Weiterhin kann ein Computer mit dem Computerprogramm, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt ausgerüstet sein.Furthermore, a computer can be equipped with the computer program, with the machine-readable data carrier or with the downloadable product.
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.Further measures improving the invention are presented in more detail below together with the description of the preferred exemplary embodiments of the invention with the aid of figures.
Figurenlistecharacter list
Es zeigt:
-
1 Ausführungsbeispiel des Verfahrens 100 zur Messung, durch welche Änderungen eines Eingabe-Bildes 2 eine Entscheidung eines Bildklassifikators 1 über diese Eingabe-Bild beeinflussbar ist, einschließlich beispielhafter weiterer Auswertung; -
2 Veranschaulichung der schrittweisen Erzeugung einer baumartigen Hierarchie von Etappen-Masken 5*.
-
1 Exemplary embodiment of themethod 100 for measuring which changes in aninput image 2 can influence a decision of animage classifier 1 about this input image, including exemplary further evaluation; -
2 Illustration of the step-by-step generation of a tree-like hierarchy ofstage masks 5*.
In Schritt 110 wird unter Nutzung von Parametern 4, die aus mindestens einer Zufallsverteilung gezogen werden, mehrere binäre Kandidaten-Masken 5 erzeugt. Jedes Element einer binären Kandidaten-Maske 5 gibt an, ob auf ein hierzu korrespondierendes Pixel des Eingabe-Bildes 2 eine vorgegebene Störung 6 anzuwenden ist oder nicht.In
Dieses Erzeugen der Kandidaten-Masken 5 kann gemäß Block 111 insbesondere beispielsweise beinhalten, Koordinaten von Bereichen des Eingabe-Bildes 2, auf die die vorgegebene Störung 6 in unterschiedlichem Maße anzuwenden ist, aus der mindestens einen Zufallsverteilung zu ziehen. Gemäß Block 111a kann das Eingabe-Bild 2 insbesondere beispielsweise in Bereiche unterteilt werden, deren Pixel jeweils mit unterschiedlichen Wahrscheinlichkeiten anhand der vorgegebenen Störung 6 verändert werden.This generation of the candidate masks 5 can, in accordance with
In Schritt 120 wird zu jeder Kandidaten-Maske 5 eine Kandidaten-Abwandlung 7 des Eingabe-Bildes 2 erzeugt, indem auf die durch die jeweilige Kandidaten-Maske 5 vorgegebenen Pixel des Eingabe-Bildes 2 die vorgegebene Störung 6 angewendet wird.In
In Schritt 130 werden die Kandidaten-Masken 5 werden jeweils mit einer Gütefunktion 8 bewertet. Diese Gütefunktion 8 ist für die konkrete Fragestellung an das Verfahren spezifisch. Sie hängt mindestens davon ab, wie sich die Ausgabe 3 des Bildklassifikators 1 zu einer neuen Ausgabe 3' ändert, wenn dem Bildklassifikator 1 an Stelle des Eingabe-Bildes 2 die anhand der jeweiligen Kandidaten-Maske 5 erzeugte Kandidaten-Abwandlung 7 zugeführt wird.In
Gemäß Block 131 kann beispielsweise eine Gütefunktion 8 gewählt werden, die eine Kandidaten-Maske 5 umso besser bewertet, je geringer sich eine Veränderung des Eingabe-Bildes 2 gemäß dieser Kandidaten-Maske 5 auf die Ausgabe 3 des Bildklassifikators 1 auswirkt. Optional kann die Gütefunktion 8 zusätzlich die Kandidaten-Maske 5 umso besser bewerten, je mehr Pixel des Eingabe-Bildes 2 gemäß dieser Kandidaten-Maske 5 verändert werden. Wenn eine große Menge von Pixeln auf einmal als nicht entscheidungsrelevant eingestuft werden kann, ist dies bereits für sich genommen eine wertvolle Aussage.According to block 131, a quality function 8 can be selected, for example, which evaluates a
Gemäß Block 132 kann alternativ beispielsweise eine Gütefunktion 8 gewählt werden, die eine Kandidaten-Maske 5 umso besser bewertet, je stärker sich diese Veränderung zugleich auf die Ausgabe 3 des Bildklassifikators 1 auswirkt. Für die gezielte Suche nach gerade möglichst kleinen Veränderungen des Eingabe-Bildes 2 kann die Gütefunktion 8 weiterhin optional eine Kandidaten-Maske 5 umso besser bewerten, je weniger Pixel des Eingabe-Bildes 2 gemäß dieser Kandidaten-Maske 5 verändert werden.According to block 132, a quality function 8 can alternatively be selected, for example, which evaluates a
Die anhand der Bewertung 8a durch die Gütefunktion 8 beste Kandidaten-Maske 5 wird in Schritt 140a als eine Etappen-Maske 5* festgelegt. In Schritt 140b wird die zu der Kandidaten-Maske 5 zugehörige Kandidaten-Abwandlung 7 als eine zu der Etappen-Maske 5* zugehörige Etappen-Abwandlung 7* festgelegt.The
In Schritt 150 wird geprüft, ob aus dem Eingabe-Bild 2 schon eine vorgegebene Anzahl Etappen-Masken 5* und Etappen-Abwandlungen 7* erzeugt worden ist. Ist dies noch nicht der Fall (Wahrheitswert 0), wird zum Erzeugen weiterer Etappen-Masken 5* und Etappen-Abwandlungen 7* ab Schritt 110 zurückverzweigt.In
Wenn hingegen die vorgegebene Anzahl Etappen-Masken 5* und Etappen-Abwandlungen 7* erzeugt worden ist (Wahrheitswert 1), werden in Schritt 160 die die Etappen-Abwandlungen 7* als neue Eingabe-Bilder 2 verwendet, um in der gleichen Weise neue Etappen-Masken 5* und Etappen-Abwandlungen 7* zu erzeugen. Das bedeutet, in der baumartigen Hierarchie von Etappen-Masken 5* und Etappen-Abwandlungen 7* wird eine neue Ebene begonnen. Hierfür werden die in der gestrichelten Umrandung enthaltenen Schritte 110 bis 150 ausgehend von den Etappen-Abwandlungen 7* in der aktuellen Ebene erneut ausgeführt. Es geht also aus jeder Etappen-Abwandlung 7* wieder die vorgegebene Anzahl neuer Etappen-Abwandlungen 7* auf der neuen Ebene hervor. Wie zuvor erläutert, wird jede dieser neuen Etappen-Abwandlungen 7* als lokales Optimum über eine vorgegebene Anzahl von Kandidaten-Abwandlungen 7 gebildet, die jeweils durch Veränderung der bisherigen Kandidaten-Abwandlung 7* anhand einer neuen Kandidaten-Maske 5 entstehen. Die neuen Kandidaten-Masken 5 werden unter Nutzung neuer, aus der Zufallsverteilung 4 gezogener Parameter erzeugt.On the other hand, if the predetermined number of
In Schritt 170 wird geprüft, ob eine vorgegebene Abbruchbedingung 9 für die Bildung der baumartigen Hierarchie erfüllt ist. Wenn dies nicht der Fall ist (Wahrheitswert 0), wird zur Erzeugung weiterer Ebenen gemäß Schritt 160 zurückverzweigt. Ist die Abbruchbedingung 9 hingegen erfüllt (Wahrheitswert 1), werden die insgesamt in der baumartigen Hierarchie enthaltenen Etappen-Abwandlungen 7* in Schritt 180 zu der gesuchten Aussage 1* über die Beeinflussbarkeit der Entscheidung zusammengeführt.In
Gemäß Block 171 kann die Abbruchbedingung 9 beispielsweise eine vorgegebene maximale Rekursionstiefe für die Erzeugung von Etappen-Masken 5* beinhalten.According to block 171, the
Gemäß Block 172 können alle Etappen-Masken 5* unüberwacht geclustert werden. Gemäß Block 173 kann die Abbruchbedingung 9 dann beinhaltet, dass die Anzahl der dabei entstehenden Cluster konvergiert.According to block 172, all
Um die Etappen-Abwandlungen 7* zu der Aussage 1* zusammenzuführen, kann gemäß Block 181 ein Entfernungsmaß zwischen den Ausgaben (3'), auf die der Bildklassifikator 1 die Etappen-Abwandlungen 7* abbildet, und den Ausgaben 3, auf die der Bildklassifikator 1 das ursprüngliche Eingabe-Bild 2 abbildet, ermittelt werden. Gemäß Block 182 können dann die Etappen-Masken 5* zu Etappen-Abwandlungen 7*, für die dieses Entfernungsmaß ein vorgegebenes Kriterium erfüllt, als Aussage 1* über die Beeinflussbarkeit der Entscheidung des Bildklassifikators 1 ermittelt werden. Diese Aussage 1* ist dann also gewissermaßen eine Lösungsmenge, die eine Auswahl von Etappen-Abwandlungen 7* enthält.In order to combine the
Wie zuvor erläutert, können insbesondere beispielsweise gemäß Block 183 diejenigen Etappen-Abwandlungen 7*, aus denen keine weiteren Etappen-Abwandlungen 7* erzeugt wurden, für das Zusammenführen zu der gesuchten Aussage 1* ausgewählt werden. Gerade diese Etappen-Abwandlungen 7* auf der tiefsten Ebene des Baums von Etappen-Abwandlungen 7* sind durch die gleiche, größte Anzahl lokaler Optimierungsschritte aus dem ursprünglichen Eingabe-Bild 2 hervorgegangen.As explained above, for example according to block 183 those
In
Insoweit die Aussage 1* anhand eines Eingabe-Bildes 2 ermittelt wurde, das ein in Serie gefertigtes Produkt zeigt, kann diese Aussage 1* in Schritt 190 mit einem Anteil 2b des Eingabe-Bildes 2 verglichen werden, der anhand einer Beobachtung des gleichen Produkts mit einer anderen Abbildungsmodalität als relevant für die Qualitätsbewertung des Produkts ermittelt wurde. Aus dem Ergebnis 190a dieses Vergleichs 190 kann dann in Schritt 200 eine Qualitätsbewertung 1a für den Bildklassifikator 1 ermittelt werden.Insofar as the
Insoweit die Aussage 1* anhand eines Eingabe-Bildes 2 ermittelt wurden, das eine Verkehrssituation zeigt, kann diese Aussage 1* in Schritt 210 mit einem Anteil 2b des Eingabe-Bildes verglichen werden, der als für die Beurteilung der Verkehrssituation relevant bekannt ist. Aus dem Ergebnis 210a dieses Vergleichs 210 kann dann in Schritt 220 eine Qualitätsbewertung 1a für den Bildklassifikator 1 ermittelt werden.Insofar as
Eine erste Etappen-Maske 5* wurde bei der ersten Ausführung von Schritt 140a gewonnen. Bei der Wiederholung gemäß Block 150 wurde eine zweite Etappen-Maske 5* erzeugt. Damit war die vorgegebene Zahl von 2 zu erzeugenden Etappen-Masken 5* erreicht. In beiden Etappen-Masken 5* sind unterschiedliche Bereiche für die Anwendung der Störung 6 vorgemerkt.A
In Schritt 160 wurde nun der baumartigen Hierarchie eine weitere Ebene hinzugefügt, indem beide bereits vorhandenen Etappen-Masken 5* wiederum verwendet wurden, um jeweils zwei weitere Etappen-Masken 5* zu erzeugen.In
Hierbei wurden den bereits für die Anwendung der Störung vorgemerkten Bereichen jeweils unterschiedliche weitere Bereiche hinzugefügt.Here, different further areas were added to the areas already marked for the application of the fault.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent Literature Cited
- WO 2018/197074 A1 [0003]WO 2018/197074 A1 [0003]
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020214996.8A DE102020214996A1 (en) | 2020-11-27 | 2020-11-27 | Measurement of the sensitivity of an image classifier to changes in the input image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020214996.8A DE102020214996A1 (en) | 2020-11-27 | 2020-11-27 | Measurement of the sensitivity of an image classifier to changes in the input image |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102020214996A1 true DE102020214996A1 (en) | 2022-06-02 |
Family
ID=81586052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102020214996.8A Pending DE102020214996A1 (en) | 2020-11-27 | 2020-11-27 | Measurement of the sensitivity of an image classifier to changes in the input image |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102020214996A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018197074A1 (en) | 2017-04-27 | 2018-11-01 | Robert Bosch Gmbh | Inspection apparatus for optically inspecting an object, and object inspection arrangement |
-
2020
- 2020-11-27 DE DE102020214996.8A patent/DE102020214996A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018197074A1 (en) | 2017-04-27 | 2018-11-01 | Robert Bosch Gmbh | Inspection apparatus for optically inspecting an object, and object inspection arrangement |
Non-Patent Citations (4)
Title |
---|
BILLONES, Robert Kerwin C., et al. Vehicle-pedestrian classification with road context recognition using convolutional neural networks. In: 2018 IEEE 10th International Conference on Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment and Management (HNICEM). IEEE, 2018. S. 1-6. |
CHANG, Chun-Hao, et al. Explaining image classifiers by counterfactual generation. arXiv preprint arXiv:1807.08024, 2018. |
GOYAL, Yash, Ziyan WU, Jan ERNST, Dhruv BATRA, Devi PARIKH, and Stefan LEE. "Counterfactual visual explanations." In International Conference on Machine Learning, pp. 2376-2384. PMLR, 2019. |
LANFREDI, Ricardo Bigolin; SCHROEDER, Joyce D.; TASDIZEN, Tolga. Quantifying the preferential direction of the model gradient in adversarial training with projected gradient descent. arXiv preprint arXiv:2009.04709, 2020. |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102018128289A1 (en) | METHOD AND DEVICE FOR AUTONOMOUS SYSTEM PERFORMANCE AND CLASSIFICATION | |
DE102019204139A1 (en) | Training for artificial neural networks with better utilization of the learning data sets | |
DE102018220941A1 (en) | Evaluation of measured variables with AI modules taking into account measurement uncertainties | |
WO2020249758A1 (en) | Method and generator for generating disturbed input data for a neural network | |
DE102019213061A1 (en) | Classification of AI modules | |
DE102020214996A1 (en) | Measurement of the sensitivity of an image classifier to changes in the input image | |
DE102020207323A1 (en) | Measure the sensitivity of image classifiers based on realistic changes that cross class boundaries | |
DE102021201833A1 (en) | Device for processing at least one input data set using a neural network and method | |
WO2020233992A1 (en) | Method for making a neural network more robust in a function-specific manner | |
DE102020206990A1 (en) | Device for processing sensor data and training methods | |
DE102020208474A1 (en) | Measuring the sensitivity of classifiers based on interacting disturbances | |
WO2020233961A1 (en) | Method for assessing a function-specific robustness of a neural network | |
WO2021004741A1 (en) | More robust training for artificial neural networks | |
DE102020212005B4 (en) | Procedure for determining the image parts that are relevant for an image classifier | |
DE202018102649U1 (en) | System for rock detection | |
DE102020216054A1 (en) | Determine the effect of the input image of an image classifier on an intermediate product formed by convolutional layers | |
DE102020205535A1 (en) | Characterization, training and application of image classifiers | |
DE102020207324A1 (en) | Plausibility check of the output of an image classifier with a generator for modified images | |
DE102020211995A1 (en) | Determination of the image parts in the latent space of the image classifier that are relevant for the decision of an image classifier | |
DE102021214253A1 (en) | Determination of the image parts that are relevant for image processing with a transformer network | |
DE102022206892A1 (en) | Method for determining an optimal architecture of an artificial neural network | |
DE202022103792U1 (en) | Device for determining an optimal architecture of an artificial neural network | |
DE102022208083A1 (en) | Training a neural network using knowledge graphs | |
DE102020210732A1 (en) | Method for measuring the relevance of image areas for decisions of an image classifier | |
EP4012611A1 (en) | Determination of image sections relevant for an image classifier by targeted modification in the latent space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06K0009620000 Ipc: G06V0030190000 |