-
Die vorliegende Erfindung betrifft die Kontrolle des Verhaltens trainierbarer Klassifikatoren, die beispielsweise für die Qualitätskontrolle von in Serie gefertigten Produkten genutzt werden können.
-
Stand der Technik
-
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.
-
Die optische Kontrolle der Geometrie und/oder Oberfläche eines Produkts ist schnell und zerstörungsfrei. Die
WO 2018/197 074 A1 offenbart eine Prüfvorrichtung, in der ein Objekt einer Vielzahl von Beleuchtungssituationen ausgesetzt werden kann, wobei in jeder dieser Beleuchtungssituationen mit einer Kamera Bilder des Objekts aufgezeichnet werden. Aus diesen Bildern wird die Topographie des Objekts ausgewertet.
-
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“).
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde ein Verfahren zur Messung der Empfindlichkeit eines Klassifikators für Bilddaten gegen Veränderungen der eingegebenen Bilddaten entwickelt. Der Klassifikator ordnet Bilddaten einer oder mehreren Klassen einer vorgegebenen Klassifikation zu. Die Bilddaten können insbesondere beispielsweise mit einem oder mehreren Sensoren gemäß mindestens einer beliebigen Messmodalität erfasst worden sein. Es kann sich aber auch beispielsweise um realistische Bilddaten mindestens einer beliebigen Messmodalität handeln, die beispielsweise durch Simulation der Messmodalität erhalten oder mit einem Generator eines GAN erzeugt wurden.
-
Die Bilddaten können insbesondere beispielsweise Kamerabilder, Videobilder, Ultraschallbilder, Wärmebilder, Radarbilder oder Lidar-Bilder umfassen. Der Begriff „Bilddaten“ umfasst hierbei nicht nur Einzelbilder oder eine Folge solcher Einzelbilder, sondern beispielsweise auch Informationen über eine dynamische Veränderung von Bildinhalten, wie beispielsweise einen visuellen Fluss. Bilddaten können aber auch beispielsweise durch Transformieren anderer physikalischer Messdaten, wie beispielsweise Audiodaten, in eine zwei- oder dreidimensionale Repräsentation erhalten werden.
-
Im Rahmen des Verfahrens wird mindestens ein Eingabe-Datensatz mit Bilddaten bereitgestellt. Für den mindestens einen Eingabe-Datensatz wird mit dem Klassifikator eine Anfangs-Klassenzuordnung ermittelt. Diese Anfangs-Klassenzuordnung kann dem Eingabe-Datensatz eine oder mehrere Klassen zuordnen, beispielsweise in Form von Softmax-Scores für die zur Verfügung stehenden Klassen.
-
Hierbei bezeichnet der Begriff „Eingabe-Datensatz“ nicht die Gesamtheit aller zur Verfügung stehenden Eingabedaten, sondern eine Einheit von Eingabedaten, die dem Klassifikator für einen einzelnen Klassifikationsvorgang zur Verfügung gestellt wird. Bei einem Bildklassifikator etwa kann ein Eingabe-Datensatz insbesondere ein Bild umfassen.
-
Aus diesem Eingabe-Datensatz wird eine vorgegebene Anzahl verschiedener Störungen ermittelt. Eine Störung ist in diesem Zusammenhang insbesondere beispielsweise ein Änderungsvorschlag für die Bilddaten, der die ursprünglichen Bilddaten zumindest noch in groben Zügen erkennen lässt, jedoch die vom Klassifikator gelieferte Klassenzuordnung beeinflussen kann. Die Störungen werden mindestens anhand zweier Zielvorgaben ermittelt, die zueinander gegenläufig sind und beliebig gegeneinander gewichtet werden können.
-
Auf der einen Seite soll eine durch die gemeinsame Anwendung aller ermittelter Störungen gebildete Abwandlung des Eingabe-Datensatzes von dem Klassifikator auf eine Klassenzuordnung abgebildet werden, die sich nach Maßgabe eines vorgegebenen Kriteriums von der Anfangs-Klassenzuordnung unterscheidet. Das vorgegebene Kriterium kann beispielsweise beinhalten, dass diejenige Klasse, für die die neue Klassenzuordnung die höchste Konfidenz aufweist, eine andere Klasse sein soll als diejenige Klasse, für die die Anfangs-Klassenzuordnung die höchste Konfidenz aufweist. Hierzu können die Störungen in beliebiger Weise aggregiert werden, beispielsweise durch Summieren oder Mittelwertbildung.
-
Auf der anderen Seite soll eine durch Anwendung nur einer dieser Störungen gebildete Abwandlung des Eingabe-Datensatzes von dem Klassifikator auf eine Klassenzuordnung abgebildet werden, die nach Maßgabe des vorgegebenen Kriteriums der Anfangs-Klassenzuordnung entspricht. Wenn also beispielsweise die neue Klassenzuordnung als höchste Konfidenz nur noch 0,7 ausweist statt 0,9 in der Anfangs-Klassenzuordnung, aber diese höchste Konfidenz immer noch der gleichen Klasse zugeschrieben wird wie in der Anfangs-Klassenzuordnung, dann entspricht gemäß dem vorgenannten beispielhaften Kriterium die neue Klassenzuordnung noch der Anfangs-Klassenzuordnung.
-
Der Vergleich der neuen Klassenzuordnung mit der Anfangs-Klassenzuordnung kann jeweils mit einer beliebigen Metrik erfolgen, wie beispielsweise mit einem Distanzmaß zwischen Vektoren, die die Klassenzuordnungen repräsentieren.
-
Es wurde erkannt, dass die auf diese Weise ermittelten Störungen, die nur gemeinsam die Klassenzuordnung signifikant ändern, einen besseren Einblick in den Entscheidungsprozess des Klassifikators ermöglichen als beispielsweise eine Aussage dahingehend, dass die Klassenzuordnung eines Bildes durch das Hinzufügen einiger scheinbar zufälliger Pixel verändert werden kann. Zum einen sind Störungen, die nur gemeinsam, aber nicht für sich genommen die Klassenzuordnung ändern, subtiler. Abwandlungen der Bilddaten, die durch das Anwenden dieser Störungen erhalten wurden, erscheinen also mit einer höheren Wahrscheinlichkeit im Kontext der konkreten Anwendung realistisch. Zum anderen ist der Entscheidungsprozess des Klassifikators dann besser vergleichbar mit menschlichen Entscheidungsprozessen, in denen ebenfalls mehrere Faktoren nur gemeinsam zu einer Änderung der Klassenzuordnung zusammenwirken.
-
So wird beispielsweise bei der Personenkontrolle an Flughäfen oder Landesgrenzen eine Vielzahl von Faktoren berücksichtigt und schließlich zu der Entscheidung aggregiert, ob der betreffende Reisende ungehindert passieren darf oder welche zusätzlichen Kontrollen sinnvoll sind. Wird etwa nach Rauschgiftschmugglern gesucht, sind einige der immer wieder herangezogenen Kriterien,
- • ob der Reisende aus einem Land einreist, das auf einer Liste von Risikoländern geführt ist,
- • ob der Reisende nur für eine im Verhältnis zur zurückgelegten Entfernung auffällig kurze Zeit im Land bleibt oder
- • ob der Reisende jemand anderes ist als die Person, die das Flugticket gekauft hat.
-
Für jedes dieser Kriterien gibt es sehr viele Nicht-Schmuggler, die das jeweilige Kriterium aus einem legitimen Grund erfüllen, so dass kein einzelnes Kriterium für eine praktikable Klassifizierung als Schmuggler oder Nicht-Schmuggler ausreicht. So werden Risikoländer auch von normalen Touristen und Geschäftsreisenden bereist. Eine auffällig kurze Aufenthaltsdauer kann auch den Grund haben, dass der Reisende nur für ein bestimmtes Ereignis kommt. Das Buchen von Flugtickets für andere Personen ist insbesondere bei Geschäftsreisen durchaus üblich.
-
Wenn jedoch ein Reisender zwei oder gar alle drei Kriterien erfüllt, dann zahlt sich der Zeitaufwand für eine genauere Untersuchung des Gepäcks oder gar eine Röntgenuntersuchung des Reisenden häufig aus, und der Schmuggler hat ein großes Problem.
-
Auch bei der optischen Qualitätskontrolle von in Serie gefertigten Produkten lässt es sich nicht immer bereits an einem einzigen Mangel oder Schaden festmachen, ob das Produkt für seine vorgesehene Verwendung brauchbar ist. Beispielsweise muss sich noch nicht jeder Kratzer oder Riss in einem Bauteil gleich gravierend auf dessen Festigkeit auswirken. Wenn jedoch mehrere solche Schäden gleichzeitig vorhanden sind, können sie sich bei späterer Beanspruchung des Bauteils aufeinander zuarbeiten und letztlich zum Versagen des Bauteils führen.
-
In einer besonders vorteilhaften Ausgestaltung werden die Störungen anhand der weiteren Zielvorgabe ermittelt, dass für durch Anwendung einer der Störungen gebildete Abwandlungen des Eingabe-Datensatzes die Unsicherheit der Klassenzuordnung durch den Klassifikator maximiert wird. Dass die Unsicherheit besonders groß ist, ist ein Anzeichen dafür, dass sich die Abwandlung näher an einer Entscheidungsgrenze zwischen zwei Klassen ist als der ursprüngliche Eingabe-Datensatz. Je näher die Entscheidungsgrenze ist, desto größer ist die lokale Information und damit die Entropie, denn eine minimale weitere Veränderung kann zur Folge haben, dass die Entscheidungsgrenze überquert wird.
-
Ausgehend von einem vorgegebenen Klassifikator kann die Unsicherheit der Klassenzuordnung durch diesen Klassifikator beispielsweise anhand einer Verteilung von Klassenzuordnungen ermittelt werden, die sich ergibt, wenn nach Maßgabe einer Zufallsverteilung Neuronen oder andere Verarbeitungseinheiten des Klassifikators deaktiviert werden („Monte-Carlo-Dropout“).
-
So ist beispielsweise die Wahrscheinlichkeit für eine bestimmte Klassenzuordnung durch ein arithmetisches Mittel über Softmax-Scores, die jeweils in Zuständen des Klassifikators mit verschiedenen anhand der Zufallsverteilung bestimmten Konfigurationen von deaktivierten Neuronen oder anderen Verarbeitungseinheiten auf die gleiche Eingabe hin erhalten wurden, angenähert werden. Die Entropie dieser Wahrscheinlichkeit ist dann ein Maß für die Unsicherheit des Klassifikators bei der konkreten Eingabe. Die Bausteine, aus denen dieses Unsicherheitsmaß zusammengesetzt ist, sind alle differenzierbar. Dies kann für die gezielte Suche nach Eingaben, die die Unsicherheit erhöhen, ausgenutzt werden.
-
Der Monte-Carlo-Dropout ist jedoch nur eine beispielhafte von vielen Möglichkeiten, die Unsicherheit zu quantifizieren.
-
Weiterhin kann optional auch noch eine beliebige weitere Regularisierung als zusätzliche Zielvorgabe mit aufgenommen werden. Dadurch können Abwandlungen des Eingabe-Datensatzes bevorzugt werden, die den ursprünglichen Eingabe-Datensatz näher an die Entscheidungsgrenze bewegen, wie dies zuvor erläutert wurde. Hingegen kann der Tendenz entgegengewirkt werden, dass sich „wilde“ und völlig unerwartete Veränderungen durchsetzen. Derartige Veränderungen können die Unsicherheit maximieren, weil der Klassifikator sie noch nie zuvor gesehen hat, allerdings um den Preis, dass die Abwandlungen des Eingabe-Datensatzes im Kontext der konkreten Anwendung nicht mehr hinreichend realistisch sind. Beispiele für solche „wilden“ Veränderungen sind das Einführen farbiger Pixel in ein Graustufenbild und das zufällige Verteilen gestörter Pixel über ein Bild. Die Regularisierung kann nun beispielsweise hochfrequente Veränderungen, worunter das zufällige Verteilen der gestörten Pixel fällt, oder auch gezielt bestimmte unerwünschte Veränderungen, wie farbige Pixel in einem Graustufenbild, bestrafen. Dann setzen sich eher Abwandlungen durch, die immer noch realistisch wirken.
-
Besonders vorteilhaft können aus dem Eingabe-Datensatz zwischen 1 und 20 Störungen ermittelt werden. Diese Anzahl hat sich für die meisten Arten von Bilddaten als brauchbar erwiesen.
-
Die passende Anzahl von Störungen kann aber auch beispielsweise in selbstkonsistenter Weise ermittelt werden. Zu diesem Zweck werden in einer vorteilhaften Ausgestaltung die Störungen unüberwacht geclustert. Dieses Clustern führt auf eine Anzahl unabhängiger Cluster, wobei jeder dieser Cluster eine Familie ähnlicher Störungen repräsentiert. Wenn die Anzahl der ermittelten Störungen erhöht wird, wird sich zunächst auch die Anzahl dieser Cluster erhöhen, bis sie schließlich konvergiert. Dies ist dann ein Zeichen dafür, dass ein weiteres Erhöhen der Anzahl von Störungen nichts mehr bringt, weil keine wirklich neuen Klassen von Störungen mehr erzeugt werden.
-
In einer weiteren vorteilhaften Ausgestaltung werden aus den ermittelten Störungen nicht-essentielle Störungen, bei deren Fortlassen die übrigen Störungen nach wie vor eine Änderung der Klassenzuordnung bewirken, herausgefiltert. Es können also insbesondere beispielsweise nach einem beliebige Kriterium nicht-essentielle Störungen gesucht und gegebenenfalls verworfen werden, bis ein nicht weiter reduzierbarer Satz von Störungen ermittelt ist, die für eine Änderung der Klassenzuordnung mindestens zusammenwirken müssen.
-
Beispielsweise kann nach dem Clustern der Störungen nur jeweils ein Vertreter eines jeden Clusters mit einer beliebigen Metrik, etwa einer Lp-Norm, als der „beste“ Vertreter ausgewählt werden. Es kann auch beispielsweise sukzessive eine jede Störung testweise deaktiviert werden, und es kann dann geprüft werden, ob die Klassenzuordnung trotzdem noch signifikant geändert wird. Wenn dies der Fall ist, ist die getestete Störung entbehrlich und kann dauerhaft weggelassen werden. Dies lässt sich so lange weiter iterieren, bis jede der noch vorhandenen Störungen unverzichtbar für die Änderung der Klassenzuordnung ist.
-
In einer besonders vorteilhaften Ausgestaltung wird der Eingabe-Datensatz mit einem Generator, dessen Verhalten durch Generator-Parameter charakterisiert ist, auf die Störungen abgebildet. Hierzu kann der Generator einmal, aber auch mehrmals auf den Eingabe-Datensatz angewendet werden. Die Zielvorgaben sind in einer Kostenfunktion zusammengefasst, so dass jede der Zielvorgaben einen Beitrag zu der Kostenfunktion leistet. Dabei können diese Beiträge untereinander in weiten Grenzen gewichtet sein. Die Generator-Parameter werden auf das Ziel optimiert, dass die Kostenfunktion einen optimalen Wert annimmt, wie etwa ein Maximum oder ein Minimum. Somit lässt sich das Verhalten des Generators auf die gewählte Gewichtung maßschneidern. Beispielsweise kann jede Zielvorgabe für sich genommen in einer Einzel-Kostenfunktion ausgedrückt sein, und die Gesamt-Kostenfunktion kann als gewichtete Summe aus den Einzel-Kostenfunktionen zusammengesetzt werden.
-
Sei beispielsweise
ein Klassifikator, der ein Eingabe-Bild mit M × N Pixeln und 3 Farbkanälen zunächst auf k Merkmalskarten mit m × n Einträgen abbildet, bevor diese Merkmalskarten anschließend in reellwertige Klassifikations-Scores für c Klassen überführt werden. Sei f
u ein zu diesem Klassifikator gehöriges, vom Eingabe-Bild abhängiges Unsicherheitsmaß.
-
Dann kann ein Generator g, der eine vorgegebene Anzahl j von Störungen des Eingabe-Bildes erzeugt, geschrieben werden als Abbildung
-
Dann kann der Generator g beispielsweise so konstruiert sein, dass er nur Werte im Intervall [0, 1] liefert (etwa mit einer tanh-Funktion). Abwandlungen Φ eines Eingabe-Bildes I können dann beispielsweise geschrieben werden als
worin P eine fest vorgegebene Störung und m eine Maske für die Anwendung dieser Störung P ist, die als eine „Scheibe“ von g mit der Dimension R
M×N erhalten wurde. Das Zusammenwirken (Aggregieren) mehrerer Störungen kann dann beispielsweise durch eine beliebige differenzierbare Aggregations-Funktion φ der Gestalt
beschrieben werden.
-
Die Veränderung der Unsicherheit des Klassifikators durch die Störungen kann dann beispielsweise mit einer Kostenfunktion
bewertet werden, wobei das Mittel über alle j ermittelten Störungen läuft.
-
Inwieweit einzelne Störungen zu einer signifikanten Veränderung der Klassenzuordnung führen, was sie nicht sollen, kann dann beispielsweise mit einer Kostenfunktion
beschrieben werden. Hierin ist f(l) der Klassifikationsvektor, den ein ungestörter Klassifikator für die Eingabe I liefert, und Φ ist ein beliebiges Distanzmaß im Raum der Klassifikationsvektoren, wie etwa ein Kreuzentropiemaß.
-
Wenn es zwischen den j „Scheiben“ von g eine besonders große Variabilität gibt, ist der Mittelwert über diese j „Scheiben“ möglicherweise nicht aussagekräftig. Dann kann beispielsweise stattdessen die Kostenfunktion
verwendet werden.
-
Inwieweit die ermittelten Störungen kumuliert zu einer signifikanten Änderung der Klassenzuordnung führen, kann beispielsweise mit der Kostenfunktion
bewertet werden. Hierin ist η eine Funktion, die die Klassifikationsvektoren vergleicht. Diese Funktion sollte hohe Werte annehmen, wenn die Klassifikationsvektoren unterschiedlich sind, und dies insbesondere dann, wenn die Klassifikationsvektoren auf unterschiedliche Klassen verweisen. Die Funktion η kann beispielsweise identisch zu der Distanzfunktion ϕ sein.
-
Die Gesamt-Kostenfunktion L
total für das Training des Generators g kann dann beispielsweise gebildet werden als
wobei Gewichtungsfaktoren der Übersichtlichkeit halber weggelassen wurden. Diese Gesamt-Kostenfunktion L
total kann mit beliebigen Optimierungsverfahren optimiert werden.
-
Wie zuvor erläutert, kann zu dieser Gesamt-Kostenfunktion Ltotal eine beliebige Regularisierung als zusätzlicher Term hinzugefügt werden. Dies kann beispielsweise eine beliebige Lp-Norm sein. Hiermit können beispielsweise dünn besetzte oder homogene Störungen bevorzugt werden.
-
Beispielsweise kann der Generator zumindest teilweise als neuronales Netzwerk oder anderes trainierbares Modul ausgebildet sein. Wenn ein solches Netzwerk oder Modul mit einer Vielzahl von Eingabe-Datensätzen trainiert wird, kann seine Kraft zur Verallgemeinerung ausgenutzt werden, so dass auch für beim Training ungesehene Eingabe-Datensätze passende Störungen erzeugt werden können.
-
Das Training eines solchen Generators kann auch analog zum Training eines GANs „adversariell“ erfolgen, wobei dann der ursprüngliche Klassifikator als Diskriminator dient, wie gut die vom Generator gelieferten Störungen sind. Im Unterschied zum Training eines GAN bleibt wird dieser „Diskriminator“ dann aber nicht weiter trainiert, sondern bleibt fest. Das Training muss nicht auf ein einziges Eingabe-Bild beschränkt sein, sondern kann über eine vollständige Verteilung von Eingabe-Bildern erfolgen, die über eine bestimmte Zahl von Epochen jeweils in Batches präsentiert werden. Der Generator lernt dann auch die Verteilung kritischer Verteilungen in den Eingabebildern.
-
Der Generator kann insbesondere beispielsweise einen Autoencoder beinhalten, der zumindest teilweise mit einem Merkmalsextraktor des Klassifikators deckungsgleich ist. Dieser Merkmalsextraktor kann in dem Klassifikator insbesondere beispielsweise einen faltenden Teil eines neuronalen Netzwerks umfassen, an den sich bis zur Ausgabe der Klassenzuordnung beispielsweise noch Pooling-Schichten oder vollvernetzte Schichten anschließen können. Auf diese Weise können sowohl die Architektur als auch die bereits trainierten Gewichte des Merkmalsextraktors weiter verwendet werden. Das Training des Generators benötigt also weniger Rechenleistung und wird entsprechend schneller. So kann beispielsweise der bereits fertig trainierte Merkmalsextraktor den Encoder-Teil eines als Generator verwendeten Autoencoders schon vollständig bereitstellen, so dass nur noch der Decoder-Teil dieses Autoencoders zu trainieren ist.
-
In einer weiteren vorteilhaften Ausgestaltung werden die Generator-Parameter zusätzlich auf das Ziel optimiert, dass die mit dem Generator ermittelten Störungen vom Klassifikator auf eine vorgegebene gewünschte Klassenzuordnung abgebildet werden. Auf diese Weise lässt sich die Optimierung des Generators dahingehend beeinflussen, dass die durch Anwenden der Störungen auf den Eingabe-Datensatz erhaltene Abwandlung dieses Eingabe-Datensatzes im Kontext der jeweiligen konkreten Anwendung realistisch erscheint.
-
Die Störungen können insbesondere beispielsweise jeweils eine Reduzierung des Informationsgehalts eines Teils der Bilddaten beinhalten. Beispielsweise kann der Informationsgehalt durch Maskieren, Weichzeichnen und/oder Kontrastverschlechterung von Bildbereichen reduziert werden. Dann kann am Ende des Verfahrens beispielsweise die Erkenntnis stehen, dass das Zusammenwirken mehrerer Qualitätsmängel bei der Aufnahme der Bilder zu einer Falschklassifikation der Bilder führen können.
-
In einer besonders vorteilhaften Ausgestaltung umfassen die Bilddaten Bilder, die an in Serie gefertigten Produkten aufgenommen wurden. Für die schnelle Qualitätskontrolle der Serienfertigung werden solche Bilder sehr häufig verwendet. Die Eingabe-Datensätze sind sich dann nominell sehr ähnlich, so dass es eine große Datenbasis für das Training der Generator-Parameter gibt. Die ermittelten Störungen zeigen in unmittelbar einsichtiger Weise, welche Veränderungen in den Bildern zur Folge haben können, dass beispielsweise ein Produkt in die falsche Qualitätsklasse („OK“, „nicht OK = NOK“ und eventuell weitere Abstufungen dazwischen) einsortiert wird.
-
Beispielsweise kann geprüft werden, inwieweit die ermittelten Störungen zu Merkmalen in den Bildern korrespondieren, die für die Qualität des Produkts relevant sind. Wenn etwa die Optimierung ergeben hat, dass alle oder zumindest die meisten der ermittelten Störungen ähnlich zu aus der realen Produktion bekannten Mängeln und Schäden sind, kann dies als Anzeichen dafür gewertet werden, dass der Klassifikator wie gewünscht die verschiedenen sichtbaren Mängel und Schäden gegeneinander abwägt und zu einem Gesamturteil über die Qualität zusammenführt.
-
Es kann aber auch beispielsweise geprüft werden, inwieweit die ermittelten Störungen Merkmale in den Bildern, die für die Qualität des Produkts relevant sind, unkenntlich machen. Wenn etwa die Optimierung ergeben hat, dass das gleichzeitige Unkenntlichmachen mehrerer verschiedener Mängel oder Schäden mit einem Weichzeichner zur falschen Einstufung des Produkts als „OK“ führt, kann dies als Anzeichen dafür gewertet werden, dass diese Mängel oder Schäden für die Beurteilung der Qualität des Produkts besonders wichtig sind.
-
Die Verfahren können 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.
-
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.
-
Weiterhin kann ein Computer mit dem Computerprogramm, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt ausgerüstet sein.
-
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
-
Ausführungsbeispiele
-
Es zeigt:
- 1 Ausführungsbeispiel des Verfahrens 100 zur Messung der Empfindlichkeit eines Klassifikators 1;
- 2 Verdeutlichung der Wirkung des Verfahrens 100 am Beispiel einer binären Klassenzuordnung;
- 3 Beispielhafte Anwendung des Verfahrens 100 bei der Qualitätskontrolle von Produkten 11.
-
1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100. In Schritt 110 wird mindestens ein Eingabe-Datensatz x mit Bilddaten 2 bereitgestellt. In Schritt 120 wird für den mindestens einen Eingabe-Datensatz (x) wird mit dem Klassifikator 1 eine Anfangs-Klassenzuordnung 3d zu einer oder mehreren Klassen 3a-3c einer vorgegebenen Klassifikation 3 ermittelt.
-
In Schritt 130 werden Störungen 2a-2d ermittelt anhand der Zielvorgaben, dass
- • eine durch die gemeinsame Anwendung aller dieser Störungen 2a-2d gebildete Abwandlung x' des Eingabe-Datensatzes x von dem Klassifikator 1 auf eine Klassenzuordnung 3e abgebildet wird, die sich nach Maßgabe eines vorgegebenen Kriteriums 3* von der Anfangs-Klassenzuordnung 3d unterscheidet, während hingegen
- • eine durch Anwendung nur einer dieser Störungen 2a-2d gebildete Abwandlung xa, xb, xc, xd des Eingabe-Datensatzes x von dem Klassifikator 1 auf eine Klassenzuordnung 3f abgebildet wird, die nach Maßgabe des vorgegebenen Kriteriums 3* der Anfangs-Klassenzuordnung 3d entspricht.
-
Der ursprüngliche Eingabe-Datensatz x einerseits und die Abwandlung x' andererseits müssen also auf verschiedenen Seiten einer durch das Kriterium 3* definierten Entscheidungsgrenze des Klassifikators 1 liegen. Hingegen dürfen sich in den Abwandlungen xa, xb, xc, xd durchaus beispielsweise Zahlenwerte in Softmax-Scores geändert haben, aber diese Abwandlungen xa, xb, xc, xd müssen noch auf der gleichen Seite der durch das Kriterium 3* definierten Entscheidungsgrenze liegen.
-
Innerhalb des Kastens 130 sind beispielhafte Ausgestaltungen angegeben, wie die Störungen 2a-2d ermittelt werden können.
-
Gemäß Block 131 können die Störungen 2a-2d anhand der weiteren Zielvorgabe ermittelt werden, dass für durch Anwendung einer der Störungen 2a-2d gebildete Abwandlungen xa, xb, xc, xd des Eingabe-Datensatzes x die Unsicherheit der Klassenzuordnung durch den Klassifikator 1 maximiert wird. Hierbei kann insbesondere beispielsweise gemäß Block 131a die Unsicherheit der Klassenzuordnung durch den Klassifikator 1 anhand einer Verteilung von Klassenzuordnungen ermittelt werden, die sich ergibt, wenn nach Maßgabe einer Zufallsverteilung Neuronen oder andere Verarbeitungseinheiten des Klassifikators 1 deaktiviert werden („Monte-Carlo-Dropout“). Wie zuvor erläutert, kann durch eine geeignete Regularisierung der Tendenz, dass die Unsicherheit mit „wilden“ und völlig unerwarteten Störungen maximiert wird, entgegengewirkt werden.
-
Gemäß Block 132 kann der Eingabe-Datensatz x mit einem Generator 4, dessen Verhalten durch Generator-Parameter 4a charakterisiert ist, auf die Störungen 2a-2d abgebildet werden. Die Generator-Parameter 4a können dann gemäß Block 133 auf das Ziel optimiert werden, dass eine Kostenfunktion, zu der jede der Zielvorgaben einen Beitrag leistet, einen optimalen Wert annimmt. Dieses Training kann bei Erreichen eines beliebigen Abbruchkriteriums beendet werden. Der dann erreichte Zustand der Generator-Parameter 4a ist der fertig trainierte Zustand 4*.
-
Gemäß Block 133a können die Generator-Parameter 4a zusätzlich auf das Ziel optimiert werden, dass die mit dem Generator 4 ermittelten Störungen 2a-2d vom Klassifikator 1 auf eine vorgegebene gewünschte Klassenzuordnung abgebildet werden.
-
Die ermittelten Störungen 2a-2d können in Schritt 140 unüberwacht geclustert werden. Aus der Anzahl der Cluster kann dann in Schritt 150 ausgewertet werden, inwieweit die gewählte Anzahl der Störungen 2a-2d für die konkrete Anwendung zutreffend ist. Ist diese Anzahl nicht zutreffend, kann beispielsweise zum Ermitteln 130 einer neuen vorgegebenen Anzahl Störungen 2a-2d zurückverzweigt werden.
-
Aus den ermittelten Störungen 2a-2d können in Schritt 160 nicht-essentielle Störungen herausgefiltert werden. Es können also Störungen 2a-2d, bei deren Fortlassen die übrigen Störungen 2a-2d nach wie vor eine Änderung der Klassenzuordnung bewirken, in der Menge der insgesamt ermittelten Störungen 2a-2d gesucht und gegebenenfalls verworfen werden.
-
In einem wichtigen Anwendungsfall umfassen die Bilddaten 2 Bilder 10, die für die Qualitätskontrolle von Produkten 11 aufgenommen wurden. In diesem Anwendungsfall kann in Schritt 170 geprüft werden, inwieweit die ermittelten Störungen 2a-2d zu solchen Merkmalen 12a-12c in den Bildern 10 korrespondieren, die für die Qualität des Produkts 11 relevant sind. In Schritt 180 kann alternativ oder auch in Kombination hierzu geprüft werden, inwieweit die ermittelten Störungen 2a-2d Merkmale 12a-12c in den Bildern 10, die für die Qualität des Produkts 11 relevant sind, unkenntlich machen.
-
2 verdeutlicht die Wirkung des Verfahrens 100 am einfachen Beispiel einer binären Klassifikation, die durch einen eindimensionalen Score-Wert (hier 0,1 bis 0,9) gesteuert wird. Bei dem Score-Wert 0,5 verläuft die Entscheidungsgrenze zwischen den Klassen 3a und 3b.
-
In dem in 2 gezeigten Beispiel hat der Eingabe-Datensatz x mit Bilddaten 2 eine Anfangs-Klassenzuordnung 3d mit einem recht hohen Score-Wert nahe 0,9. Mit dem Verfahren 100 werden vier verschiedene Störungen 2a-2d ermittelt, die aus dem Eingabe-Datensatz x vier Abwandlungen xa, xb, xc, xd erzeugen. Diese Abwandlungen xa, xb, xc, xd haben jeweils eine Klassenzuordnung 3f, die ihnen nur noch einen Score-Wert in der Nähe von 0,8 zuschreibt. Sie liegen jedoch immer noch auf der gleichen Seite der Entscheidungsgrenze wie der Eingabe-Datensatz x. Daher entspricht nach Maßgabe des Kriteriums 3* die neue Klassenzuordnung 3f der ursprünglichen Klassenzuordnung 3d.
-
Werden hingegen alle Störungen 2a-2d kombiniert, entsteht eine Abwandlung x' mit einer Klassenzuordnung 3e, die nur noch einen Score-Wert nahe 0,1 beinhaltet. Diese Abwandlung x' liegt also jenseits der Entscheidungsgrenze. Somit ist die Klassenzuordnung 3e nach Maßgabe des Kriteriums 3* von der ursprünglichen Klassenzuordnung 3d verschieden.
-
3 zeigt eine beispielhafte Anwendung des Verfahrens bei der optischen Qualitätskontrolle von Produkten 11. Der Eingabe-Datensatz x ist ein Bild 10 des Produkts 11, das drei Risse 12a-12c aufweist. Wenn dieses Bild 10 dem Klassifikator 1 zugeführt wird, wird es richtigerweise in die Klasse 3a = „nicht OK, NOK“ eingestuft.
-
Wenn auf das Bild 10 eine Einzelstörung 2a angewendet wird, entsteht eine Abwandlung xa. In dieser Abwandlung xa ist nur der Riss 12a durch Weichzeichnen unkenntlich gemacht worden. Die beiden anderen Risse 12b und 12c werden vom Klassifikator 1 nach wie vor erkannt, und daher wird die Abwandlung xa wiederum in die Klasse 3a = „NOK“ eingestuft.
-
Werden hingegen mehrere Störungen 2a-2c gemeinsam auf das Bild 10 angewendet, entsteht eine Abwandlung x', in der alle drei Risse 12a-12c unkenntlich gemacht sind. Diese Abwandlung wird von dem Klassifikator 1 in die Klasse 3b = „OK“ eingestuft.
-
Somit wurde mit dem Auffinden der Störungen 2a-2c insgesamt die Erkenntnis gewonnen, dass einzelne Störungen dieser Art zwar noch nicht zu einer Falschklassifikation führen, während eine Häufung solcher Störungen eine solche Falschklassifikation bewirken kann.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
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.
-
Zitierte Patentliteratur
-