DE102021205447A1 - Datenanreicherung für das Trainieren von Bildklassifizierern - Google Patents

Datenanreicherung für das Trainieren von Bildklassifizierern Download PDF

Info

Publication number
DE102021205447A1
DE102021205447A1 DE102021205447.1A DE102021205447A DE102021205447A1 DE 102021205447 A1 DE102021205447 A1 DE 102021205447A1 DE 102021205447 A DE102021205447 A DE 102021205447A DE 102021205447 A1 DE102021205447 A1 DE 102021205447A1
Authority
DE
Germany
Prior art keywords
image
network
representation
given
images
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
Application number
DE102021205447.1A
Other languages
English (en)
Inventor
Claudia Blaiotta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021205447.1A priority Critical patent/DE102021205447A1/de
Priority to US17/742,778 priority patent/US20220383617A1/en
Priority to CN202210585456.3A priority patent/CN115410025A/zh
Publication of DE102021205447A1 publication Critical patent/DE102021205447A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

Verfahren (100) zum Erzeugen eines Ausgabebildes xgaus einem Eingabebild x, das ein gegebener Bildklassifizierer (3) in eine Zielklasse c' klassifiziert, die aus mehreren verfügbaren Klassen einer gegebenen Klassifizierung ausgewählt wird, umfassend die Schritte:• Abbilden (110) des Eingabebildes x mittels eines trainierten Kodierernetzwerks (1) auf eine niedriger-dimensionale Darstellung z in einem latenten Raum;• Ziehen (115) einer Rauschprobe n aus einer gegebenen Verteilung; und• Abbilden (120) der Rauschprobe n mittels eines trainierten Generatornetzwerks (2) auf ein Ausgabebild xg, wobei diese Abbildung sowohl auf die Zielklasse c' als auch auf die Darstellung z konditioniert wird.

Description

  • Die vorliegende Erfindung betrifft die automatische Erzeugung von Bildern, die unter anderem verwendet werden können, um einen Trainingsdatensatz für einen Bildklassifizierer zu vergrößern.
  • Hintergrund
  • Beim Lenken eines Fahrzeugs durch den Verkehr ist die optische Beobachtung der Umgebung des Fahrzeugs die wichtigste Informationsquelle, die für die Planung der nächsten Aktionen des Fahrzeugs benötigt wird. Dies gilt für menschliche Fahrer ebenso wie für Systeme zur zumindest teilweisen Automatisierung des Fahrens. Die letztgenannten Systeme verwenden normalerweise trainierte Bildklassifizierer, die Bilder auf Klassifizierungsscores dafür, welche Arten von Objekte sie enthalten, abbilden.
  • Die optische Inspektion der Geometrie und/oder Oberfläche eines Produktes ist ein weiterer wichtiger Anwendungsbereich für Bildklassifizierer. Basierend auf dem Ergebnis kann das Produkt einer oder mehreren vorbestimmten Qualitätsklassen zugeordnet werden. Im einfachsten Fall ist dies eine binäre Klassifizierung der Form „OK“ / „nicht OK = NOK“.
  • Bildklassifizierer werden normalerweise an Trainingsbildern trainiert, die mit „Grundwahrheit“- („Ground-Truth“) Klassifizierungswerten gekennzeichnet sind. Das Ziel des Trainings besteht darin, dass der Bildklassifizierer die Trainingsbilder auf ihre jeweiligen „Grundwahrheit“-Klassifizierungsscores abbildet. Wenn das Training mit einem ausreichend großen Satz von Trainingsbildern durchgeführt wird, die eine ausreichende Variabilität aufweisen, dann erwartet werden kann, dass der Bildklassifizierer auch ungesehene Bilder korrekt klassifiziert. Das Erhalten der Trainingsbilder ist der teuerste Teil des Trainingsprozesses.
  • Insbesondere das Kennzeichnen der Trainingsbilder ist aufwendig, da sie häufig mit manueller Arbeit verbunden ist.
  • Offenbarung der Erfindung
  • Die Erfindung stellt ein Verfahren zum Erzeugen, aus einem Eingabebild x, eines Ausgabebildes xg bereit, das ein gegebener Bildklassifizierer in eine Zielklasse c' klassifiziert, die aus mehreren verfügbaren Klassen einer gegebenen Klassifizierung ausgewählt wird.
  • Bei diesem Verfahren wird das Eingabebild x durch ein trainiertes Kodierernetzwerk auf eine niedriger-dimensionale Darstellung z in einem latenten Raum abgebildet. Dieser latente Raum kann beispielsweise durch ein Training des Kodierernetzwerks in Verbindung mit dem Training eines Dekodierers, der das ursprüngliche Eingabebild x rekonstruieren soll, definiert werden. Eine solche Kodierer-Dekodierer-Struktur wird „Autoencoder“ genannt. Eine Art von Autoencodern, die im Kontext der vorliegenden Erfindung vorteilhaft verwendet werden können, ist der Variations-Autoencoder, VAE. Der latente Raum kann als Untermannigfaltigkeit eines kartesischen Raumes beliebiger Dimensionalität verstanden werden. Aufgrund dieser Eigenschaft ist es typischerweise einfacher, eine Probe z aus diesem latenten Raum zu erhalten, indem eine Probe in dem Raum der Eingabebilder x genommen und diese mittels des Kodierernetzwerks in die Probe z transformiert wird, als direkt eine Probe z zu finden, die zu dem latenten Raum gehört. Da die Dimensionalität der Darstellung z niedriger als die Dimensionalität des Eingabebildes x (und seiner Rekonstruktion) ist, werden die Informationen beim Berechnen der Darstellung und anschließenden Rekonstruieren des ursprünglichen Eingabebildes durch einen „Engpass“ gezwungen. Dieser Engpass zwingt den Kodierer, nur die Informationen in die Darstellung z zu kodieren, die für die Rekonstruktion des ursprünglichen Bildes x am wichtigsten sind.
  • Eine Rauschprobe n wird aus einer gegebenen Verteilung abgetastet. Mittels eines trainierten Generatornetzwerks wird diese Rauschprobe n auf ein Ausgangsbild xg abgebildet. Diese Abbildung ist sowohl von der Zielklasse c' als auch von der Darstellung z abhängig.
  • Generatornetzwerke, wie Generatorteile von GANs (Generative Adversarial Networks) produzieren bekanntlich Bilder, die zu einer gewünschten Domäne gehören und daher im Kontext anderer Bilder, die zu dieser Domäne gehören, „realistisch“ sind. Ein weiteres „Konditionieren“ der Erzeugung des Ausgabebildes xg auf eine bestimmte Größe oder Eigenschaft hin bedeutet, dass bevorzugt oder sogar erzwungen wird, dass xg mit der gegebenen Größe oder Eigenschaft übereinstimmt. Die Konditionierung auf die Zielklasse c' bevorzugt oder erzwingt somit Zielbilder xg, die zur Zielklasse c' gehören. Die Konditionierung auf die Darstellung z bevorzugt oder erzwingt Ausgabebilder xg, die mit der Darstellung z verknüpft sind. Insbesondere kann die Konditionierung auf die Darstellung z umfassen, dass das trainierte Generatornetzwerk ein Ausgabebild xg produziert, welches das trainierte Kodierernetzwerk auf die Darstellung z abbildet. Das heißt, es wird bevorzugt oder sogar erzwungen, dass die Ausgabebilder xg Bilder sind, die das trainierte Kodierernetzwerk auf Darstellungen zg abbildet, die so nahe wie möglich an z liegen.
  • Die Konditionierung auf die Darstellung z hat den Effekt, dass, wenn aus ein und demselben Eingabebild x eine Vielzahl von Ausgabebildern xg produziert werden, diese alle aus der Klasse c' sind, und dass ihr charakteristischster Inhalt, der zum Rekonstruieren eines Bild aus seiner Darstellung z am wichtigsten ist, ziemlich ähnlich sein wird. Alle Bildinformationen, die nicht zu diesem charakteristischsten Inhalt gehören, dürfen jedoch variieren. Das heißt, die Zufälligkeit der Rauschprobe n wird ausgenutzt, um selektiv eine Variabilität in den Teilen der Bilder xg zu produzieren, die weniger wichtige Merkmale in Bezug auf irgendwelche Entscheidungsgrenzen zwischen der Zielklasse c' und irgendwelchen anderen Klassen enthalten.
  • Der Generator kann jedes geeignete Verfahren verwenden, um zu fördern oder zu erzwingen, dass das Ausgabebild xg auf eine Darstellung zg abgebildet wird, die der Konditionierung z so nahe wie möglich kommt. Beispielsweise kann der Generator mehrere Kandidatenbilder erzeugen, jedes Kandidatenbild auf eine Darstellung abbilden, und das Kandidatenbild, dessen Darstellung zg am nächsten an z liegt, als Ausgabebild xg auswählen.
  • Dies macht die Ausgabebilder xg besonders nützlich als Trainingsbilder für Bildklassifizierer. Während des Trainings kann ein Bildklassifizierer verwirrende Korrelationen zwischen Klassen und unwichtigen Bildmerkmalen lernen, die tatsächlich nichts mit der Klassenmitgliedschaft zu tun haben. Wenn beispielsweise ein Bildklassifizierer darauf trainiert wird, Bilder von Job-Bewerbern auf bestimmte Fähigkeiten abzubilden, und einige der Personen in den Trainingsbildern auffällige Schulterpolster tragen, dann könnte der Bildklassifizierer zumindest teilweise eine Korrelation zwischen den leicht zu erkennenden Schulterpolstern und den Fähigkeiten lernen, anstatt die gesuchte Korrelation zwischen schwer zu erkennenden Gesichtszügen und den Fähigkeiten. In einem Trainingsdatensatz, der mit erzeugten Ausgabebildern xg angereichert ist, wird eine solche verwirrende Korrelation wahrscheinlich aufgebrochen. Der Generator gibt jeder Person mehr oder weniger zufällig Schulterpolster in verschiedenen Größen und Formen, oder gar keine Schulterpolster, ohne dass es eine Korrelation zum Fähigkeitsniveau gibt. Um eine gute Bewertung durch die Klassifizierungsverlustfunktion zu erzielen, bleibt dem Klassifizierer dann nichts anderes übrig, als den Zusammenhang zwischen Gesichtsmerkmalen und Fähigkeiten zu lernen.
  • Die Klassifizierung von Objekten in Verkehrsszenen ist ein weiterer wichtiger Anwendungsfall, bei dem verwirrende Korrelationen gelernt werden können. Neben den verkehrsrelevanten Objekten enthält die aufgenommene Szene in der Regel viele weitere Informationen, die für die Beurteilung der Verkehrslage nicht relevant sind. Wenn beispielsweise sowohl ein bestimmter Ladentyp als auch ein Stoppschild eher an Kreuzungen als in anderen Straßenabschnitten zu finden sind, könnte der Bildklassifizierer Bildinformationen, die zu dem Laden gehören, mit der semantischen Bedeutung des Stoppschilds korrelieren. Dies kann dazu führen, dass ein Stoppschild, das an einem Ort ohne diese Art von Laden auftritt, als Stoppschild mit einem geringeren Vertrauenswert eingestuft wird, oder sogar als etwas anderes falsch klassifiziert wird. In einem großen Satz erzeugter Ausgabebilder xg wird aber jedes Verkehrszeichen in Kombination mit allen möglichen unterschiedlichen Hintergründen vorhanden sein, so dass die verwirrende Korrelation aufgebrochen wird.
  • Außerdem erlaubt die Möglichkeit, Bilder beliebiger Klassen zu erzeugen, ein Klassenungleichgewicht zu mildern, das in dem Sinne vorliegt, dass Bilder mit einigen Grundwahrheit-Klassenkennzeichnungen in dem Satz von Trainingsbildern unterrepräsentiert sind. Beispielsweise kommt ein Schild, das einen Fahrer vor einem ungesicherten Bahnübergang oder Flussufer warnt, deutlich seltener vor als ein Stoppschild, ein Hinweisschild oder ein Geschwindigkeitsbegrenzungsschild. Aber die Häufigkeit, mit der die Schilder auftreten, korreliert nicht mit ihrer Bedeutung. Das Übersehen eines Tempolimit-Schildes hat wahrscheinlich weitaus weniger gefährliche Folgen, als an einem Flussufer nicht anzuhalten oder an einem ungesicherten Bahnübergang nicht auf entgegenkommende Züge zu achten. Mit dem vorliegenden Verfahren kann der Satz von Trainingsbildern um viele Trainingsbilder erweitert werden, die die erwähnten seltenen, aber wichtigen Verkehrsschilder enthalten.
  • Das Training eines Bildklassifizierers kann aus einem kombinierten Satz von Eingabebildern x und erzeugen Bildern xg eine Teilmenge auswählen, die einen Zielbetrag an Variabilität sowohl in Bezug auf Grundwahrheit-Klassenkennzeichnungen c (bzw. Zielklassen c') als auch in Bezug auf latente Darstellungen z bzw. zg aufweist. Eine beispielhafte Möglichkeit, eine Diversität in Bezug auf latente Darstellungen z, zg zu messen, besteht darin, für jede Darstellung z, zg den Abstand zu allen anderen Darstellungen z, zg der Eingabebilder x bzw. der erzeugten Bilder xg zu messen und die Ergebnisse zu aggregieren. Ein solches Diversitätsmaß ist an den trainierten Kodierer gebunden. Mit einem anderen Kodierer, oder einem anders trainierten Kodierer, wird die gesamte Struktur des latenten Raums, zu dem die z, zg gehören, unterschiedlich sein.
  • Schließlich kann die Auswahl nur einer Teilmenge der Trainingsbilder aus einem großen Pool mit einer großen Variabilität eine bessere Klassifizierungsgenauigkeit ergeben als die Verwendung des vollständigen Satzes von Trainingsbildern, die irgendeine Art von geprägter Voreingenommenheit aufweisen. Dies ist eine Abweichung von der üblichen Vorstellung, dass mehr Trainingsdaten immer besser sind als weniger Trainingsdaten.
  • In einer weiteren vorteilhaften Ausführungsform kann im Zuge der Abbildung der Rauschprobe n auf das Ausgabebild xg das Ausgabebild xg durch einen gegebenen Bildklassifizierer auf eine Klassifizierungsscore c# abgebildet werden. Mittels einer gegebenen Klassifizierungsverlustfunktion wird bestimmt, wie gut der Klassifizierungsscore c# mit einer Klassifizierung des Ausgabebildes xg in die Zielklasse c' übereinstimmt. Mindestens eine Eingabe in das Generatornetzwerk wird so optimiert, dass eine Neuberechnung des Ausgabebildes xg basierend auf der geänderten Eingabe wahrscheinlich eine Verbesserung des Wertes der Klassifizierungsverlustfunktion bewirkt. Auf diese Weise kann die Erzeugung des Ausgabebildes xg so fein abgestimmt werden, dass es entschiedener in die Zielklasse c' klassifiziert wird.
  • In einer weiteren besonders vorteilhaften Ausführungsform wird das Eingabebild x so gewählt, dass es aus einer Quellklasse c≠c' ist, wodurch das Ausgangsbild xg zu einem kontrafaktischen Bild für das Eingabebild x wird. Solche kontrafaktischen Bilder sind äußerst nützlich, um das Verhalten eines Bildklassifizierers nahe einer Entscheidungsgrenze zwischen Klassen zu untersuchen.
  • In einer besonders vorteilhaften Ausgestaltung wird das kontrafaktische Bild xg mit dem Eingabebild x verglichen. Die Bereiche, in denen sich das kontrafaktische Bild xg von dem Eingabebild x unterscheidet, werden als Bereiche bestimmt, die bezüglich der Klassengrenze zwischen der Quellklasse c und der Zielklasse c' signifikant sind. Anschließend kann bestimmt werden, ob diese Bereiche tatsächlich anwendungsrelevante Informationen enthalten.
  • Beispielsweise ist ein Klassifizierungsscore, der bei einer optischen Inspektion von Produkten von einem Bildklassifizierer ausgegeben wird, wenig glaubwürdig, wenn sich herausstellt, dass die Entscheidung auf Merkmalen im Hintergrund des Bildes basiert, die nichts mit dem Produkt selbst zu tun haben. Auch wenn die Änderung einiger Merkmale in einer Schaufensterdarstellung dazu führt, dass eine Verkehrssituation auf der Straße vor diesem Schaufenster anders klassifiziert wird, bestehen begründete Zweifel, ob dieser Klassifizierer wirklich geeignet ist, Verkehrssituationen richtig einzuschätzen. Ein solches Verhalten eines Bildklassifizierers ähnelt dem Kauf eines Produkts A anstelle eines ähnlichen Produkts B, nur weil der Vertriebsmitarbeiter für Produkt B größer ist als der Vertriebsmitarbeiter für Produkt A.
  • Auch ist es insbesondere für die Bewertung von Verkehrssituationen sehr wichtig zu wissen, auf welchen Teilen eines Objekts ein Bildklassifizierer seine Entscheidung zur Erkennung des Vorhandenseins dieses Objekts basiert. In vielen Verkehrssituationen werden Objekte teilweise von anderen Objekten verdeckt, müssen aber trotzdem erkannt werden. Auch wenn beispielsweise ein achteckiges Stoppschild mit Schnee bedeckt ist, wird von einem Fahrer, und auch von einem automatisierten Fahrzeug, erwartet, dass es dieses erkennt und sich entsprechend verhält. Auch die rechtzeitige Erkennung von Fußgängern, die kurz davor stehen, die Trajektorie des Fahrzeugs zu überqueren, hängt entscheidend davon ab, welche Teile des Fußgängers sichtbar sein müssen, damit der Fußgänger erkannt wird. Viele Gefahrensituationen entstehen, wenn ein Fußgänger ganz oder teilweise von parkenden Autos oder anderen Hindernissen verdeckt wird und plötzlich in die Fahrbahn eines Fahrzeugs tritt. Wenn der Bildklassifizierer nötig hat, dass mindestens der Kopf und die beiden Beine sichtbar sind, bevor er den Fußgänger erkennt, und die Beine für längere Zeit verdeckt sind, wird der Fußgänger möglicherweise erst erkannt, wenn es zu spät ist, um eine Kollision abzuwenden. Reicht dagegen bereits ein Erscheinen des Kopfes, des Oberkörpers oder eines Armes zur Erkennung des Fußgängers aus, wird viel mehr wertvolle Zeit für die Kollisionsabwehr gewonnen.
  • Daher wird in einer weiteren besonders vorteilhaften Ausführungsform durch eine gegebene Metrik bestimmt, wie gut die bezüglich einer Klassengrenze signifikanten Bereiche mit bestimmten Bereichen des Eingabebildes x übereinstimmen, die Merkmale des Eingabebildes enthalten, die als hervorstechend erachtet werden. Dem Bildklassifizierer wird ein Score zugewiesen, der für das von der gegebenen Metrik ausgegebene Ergebnis angemessen ist. Bei der optischen Inspektion von Massenprodukten beispielsweise befinden sich Produkt und Kamera immer in der gleichen räumlichen Anordnung zueinander. Daher ist es im Voraus bekannt, welche Teile des aufgenommenen Bildes zu dem Produkt gehören. Ebenso ist in Verkehrssituationen bekannt, dass der Himmel keine anderen Fahrzeuge enthält, auf die ein Auto reagieren muss.
  • Insbesondere in dem Anwendungsfall der optischen Inspektion kann die Metrik messen, ob die Bereiche, die für die Klassifizierung eines Produkts in die Klasse „nicht OK = NOK“ oder eine andere nicht optimale Klasse von Bedeutung sind, Bereichen mit konkreten Fehlern oder Mängeln entsprechen. Dies bringt die automatisierte optische Inspektion in Einklang mit der manuellen Inspektion, bei der ein menschlicher Qualitätsprüfer auf die Frage, warum ein konkretes Produkt auszusortieren ist, auf bestimmte Fehler oder Mängel hinweist.
  • Der dem Bildklassifizierer zugewiesene Score kann als Feedback verwendet werden, um den Bildklassifizierer zu verbessern. Daher werden in einer weiteren vorteilhaften Ausgestaltung Parameter, die das Verhalten des Bildklassifizierers charakterisieren, so optimiert, dass wenn die Berechnung des kontrafaktischen Bildes xg und der anschließenden Auswertung dieses kontrafaktischen Bildes xg wiederholt werden und der Score für den Bildklassifizierer neuberechnet wird, dieser Score sich wahrscheinlich verbessert.
  • Ein Anwendungsfall hierfür ist ein anwendungsspezifisches weiteres Training eines zuvor generisch vortrainierten Bildklassifizierers. Beispielsweise kann ein Bildklassifizierer generisch trainiert werden, um bestimmte Fehler oder Mängel zu erkennen, aber in einer konkreten Anwendung kann er weiter trainiert werden, um an den richtigen Stellen zu suchen, die zu dem eigentlichen Produkt und nicht zum Hintergrund gehören.
  • Wie zuvor diskutiert, kann das Eingabebild x ein Bild eines hergestellten Produkts sein, das im Zuge einer optischen Inspektion des Produkts erfasst wurde, und die Klassen der gegebenen Klassifizierung stellen Qualitätsstufen für das Produkt dar. In einem anderen Beispiel kann das Eingabebild x ein Bild einer Verkehrssituation sein, und die Klassen der gegebenen Klassifizierung können Objekte darstellen, die für die Interpretation der Verkehrssituation relevant sind.
  • Die Erfindung stellt auch ein Verfahren zum Trainieren einer Kombination eines Kodierernetzwerks und eines Generatornetzwerks zur Verwendung in dem zuvor beschriebenen Verfahren bereit.
  • Im Zuge dieses Trainingsverfahrens wird ein Dekodierernetzwerk bereitgestellt. Dieses Dekodierernetzwerk ist dazu ausgelegt, eine niedriger-dimensionale Darstellung z in einem latenten Raum, die von dem Kodierernetzwerk erhalten wurde, auf ein rekonstruiertes Bild xd in der Domäne der ursprünglichen Eingabebilder x abzubilden. Parameter, die das Verhalten der Kodierer- und Dekodierernetzwerke charakterisieren, werden dann mit dem Ziel optimiert, dass das rekonstruierte Bild xd mit dem ursprünglichen Eingabebild x, aus dem die Darstellung z erhalten wurde, übereinstimmt. Wie zuvor diskutiert, bilden das Kodierernetzwerk und das Dekodierernetzwerk dann einen Autoencoder mit einem Informationsengpass, der zu einer Konzentration der wichtigsten Bildmerkmale in der Darstellung z führt.
  • Außerdem wird ein Diskriminatornetzwerk bereitgestellt. Dieses Diskriminatornetzwerk ist dazu ausgelegt, zu unterscheiden, ob ein Bild aus der Domäne der ursprünglichen Eingabebilder x oder aus der Domäne der erzeugten Bilder xf stammt. Außerdem wird ein Bildklassifizierer bereitgestellt. Dieser Bildklassifizierer ist dazu ausgelegt, das ursprüngliche Eingabebild x und das erzeugte Bild xf auf eine oder mehrere Klassen der gegebenen Klassifizierung abzubilden. Die erzeugten Bilder werden auch als „gefälschte“ („Fake“) -Bilder bezeichnet.
  • Das Generatornetzwerk und das Diskriminatornetzwerk werden kontradiktorisch (kontradiktorisch) trainiert. Zum Beispiel kann das Training zwischen dem Training des Generatornetzwerks und dem Training des Diskriminatornetzwerks wechseln.
  • Parameter, die das Verhalten des Generatornetzwerks charakterisieren, werden mit den Zielen optimiert, dass
    • • die Genauigkeit, mit der das Diskriminatornetzwerk zwischen ursprünglichen Eingabebildern x und erzeugten Bildern xf unterscheidet, abnimmt,
    • • der Bildklassifizierer gefälschte (d. h. erzeugte) Bilder xf auf ihre gegebene Zielklasse c abbildet, und
    • • das Kodierernetzwerk 1 erzeugte Bilder xf auf die Darstellungen z, auf die ihre Erzeugung konditioniert wurde, abbildet.
  • Andererseits werden Parameter, die das Verhalten des Diskriminators charakterisieren, mit dem Ziel optimiert, dass die Genauigkeit, mit der das Diskriminatornetzwerk zwischen ursprünglichen Eingabebildern x und gefälschten Bildern xf unterscheidet, zunimmt.
  • Dieses kontradiktorische Training kann beispielsweise durch die Optimierung einer Verlustfunktion erreicht werden, die umfasst:
    • • einen kontradiktorischen Verlust, der die Genauigkeit misst, mit der das Diskriminatornetzwerk zwischen ursprünglichen Eingabebildern x und erzeugten Bildern xf unterscheidet,
    • • einen Klassifizierungsverlust, der misst, wie gut der Bildklassifizierer erzeugte Bilder xf auf ihre gegebene Zielklasse c' abbildet. Zum Beispiel kann dieser Klassifizierungsverlust ein Kreuzentropieverlust sein, und
    • • einen Darstellungsverlust, der misst, wie ähnlich eine Darstellung z', auf die das erzeugte Bild xf abgebildet wird, der Darstellung z ist, auf die die Erzeugung dieses Bildes xf konditioniert wurde.
  • Das übergeordnete Ziel des kontradiktorischen Trainings besteht darin, diese kombinierte Verlustfunktion zu minimieren. Dabei hängt der Klassifizierungsverlust nur von den Parametern ab, die das Verhalten des Generatornetzwerkes charakterisieren. Der kontradiktorische Verlust hängt jedoch zusätzlich von den Parametern ab, die das Verhalten des Diskriminatornetzwerks charakterisieren. Die Generatorparameter können optimiert werden, um den kontradiktorischen Verlust zu minimieren, und gleichzeitig können die Diskriminatorparameter optimiert werden, um den kontradiktorischen Verlust zu maximieren, oder umgekehrt.
  • Nachdem das kontradiktorische Training abgeschlossen ist, kann die Kombination des Kodierernetzwerks und des Generatornetzwerks in dem oben beschriebenen Verfahren zum Erzeugen eines Ausgabebildes xg verwendet werden, um ein erzeugtes Bild xf zu produzieren, das als das gesuchte Ausgabebild xg dienen kann.
  • Das kontradiktorische Training kann nach dem Training des Autoencoders durchgeführt werden. Das heißt, nachdem der Autoencoder trainiert wurde, können die Parameter des Kodierernetzwerks und des Dekodierernetzwerks festbleiben. Das Training des Autoencoders und das kontradiktorische Training können aber auch in einem einzigen Trainingsverfahren kombiniert werden. In diesem Fall ist es auch möglich, dasselbe Netzwerk als das Dekodierernetzwerk und das Generatornetzwerk zu verwenden. Das heißt, ein und dasselbe Netzwerk kann für das Dekodiererziel und für das Generatorziel trainiert werden. Auf diese Weise geht der Trainingsaufwand, der in das Dekodierernetzwerk geht, nicht „verloren“, wenn das Dekodierernetzwerk nach dem Training entfernt wird. Vielmehr bleibt dieser Aufwand in dem Generatornetzwerk vorhanden.
  • In einer weiteren vorteilhaften Ausgestaltung werden die Parameter, die das Verhalten des Kodierernetzwerks charakterisieren, zusätzlich auf das Ziel hin optimiert, dass der Informationsaustausch zwischen dem ursprünglichen Eingabebild x und seiner Darstellung z maximiert wird. Dadurch wird sichergestellt, dass die Darstellung z einige wichtige Attribute des Eingabebildes beibehält, so dass sie auf das erzeugte Bild xf übertragen werden können. Dies vermeidet Situationen, in denen das Kodierernetzwerk und das Dekodierernetzwerk eine sehr gute Rekonstruktion des ursprünglichen Eingabebildes x zu dem Preis erreichen, dass die Darstellung z eine geringe oder keine sichtbare Korrelation mit dem Eingabebild x aufweist.
  • Alternativ oder in Kombination werden die Parameter, die das Verhalten des Generatornetzwerks charakterisieren, zusätzlich auf das Ziel hin optimiert, dass der Informationsaustausch zwischen dem gefälschten Bild xf und der Darstellung z maximiert wird. Dies bewirkt, dass Attribute aus dem ursprünglichen Eingabebild x, die auf die Darstellung z übertragen wurden, in das erzeugte Bild xf übergehen. Solche Attribute können insbesondere Merkmale sein, die nicht von der Klasse erfasst werden, zu der das Bild gehört. Beispiele hierfür sind Bildstilattribute, wie etwa Liniendicken oder Farben, die über alle Klassen hinweg vorhanden sind und nicht an bestimmte Klassen gebunden sind.
  • In einer weiteren vorteilhaften Ausführungsform umfasst der Bildklassifizierer ein trainierbares Netzwerk, das dazu ausgelegt ist, Eingabebilder x und erzeugte Bilder xf auf eine Kombination aus einer niedriger-dimensionalen Darstellung z in dem latenten Raum und einem Klassifizierungsscore c# abzubilden. Parameter, die das Verhalten dieses trainierbaren Netzwerks charakterisieren, werden mit den Zielen optimiert, dass:
    • • der Bildklassifizierer ein ursprüngliches Eingabebild x auf eine Kombination abbildet aus: einer Darstellung z, die der durch das Kodierernetzwerk produzierten Darstellung z entspricht, und einem Klassifizierungsscore c#, der mit einer Grundwahrheit-Kennzeichnung c des Eingabebildes x konsistent ist; und
    • • der Bildklassifizierer ein erzeugtes Bild xf auf eine Kombination abbildet aus: einer Darstellung z, die der Darstellung z entspricht, auf die die Erzeugung des Bildes xf konditioniert wurde, und einem Klassifizierungsscore c#, die mit der Zielklasse c' konsistent ist, für die die erzeugtes Bild xf erzeugt wurde.
  • Auf diese Weise liefert der Bildklassifizierer nicht nur eine Rückmeldung über die Klasse des erzeugten Bildes xf. Es dient vielmehr auch der Überwachung der Selbstkonsistenz in dem latenten Darstellungsraum z.
  • Die oben beschriebenen Verfahren können ganz oder teilweise computerimplementiert und somit in Software verkörpert sein. Die Erfindung betrifft daher auch ein Computerprogramm, das maschinenlesbare Anweisungen umfasst, die, wenn sie von einem oder mehreren Computern ausgeführt werden, den einen oder die mehreren Computer veranlassen, ein oben beschriebenes Verfahren durchzuführen. Insofern sind unter Computer auch Steuervorrichtungen für Fahrzeuge und andere eingebettete Systeme zu verstehen, die ausführbaren Programmcode ausführen können. Ein nichtflüchtiges Speichermedium und/oder ein Downloadprodukt können das Computerprogramm umfassen. Ein Downloadprodukt ist ein elektronisches Produkt, das online verkauft und zur sofortigen Lieferung über ein Netzwerk übertragen werden kann. Einer oder mehrere Computer können mit dem Computerprogramm und/oder mit dem nichtflüchtigen Speichermedium und/oder dem Downloadprodukt ausgestattet sein.
  • Im Folgenden werden die Erfindung und ihre bevorzugten Ausführungsformen anhand von Figuren veranschaulicht, ohne den Umfang der Erfindung einschränken zu wollen.
  • Die Figuren zeigen:
    • 1 Eine beispielhafte Ausführungsform des Verfahrens 100 zum Erzeugen eines Ausgabebildes xg;
    • 2 Eine beispielhafte Ausführungsform des Verfahrens 200 zum Trainieren einer Kombination aus einem Kodierernetzwerk 1 und einem Generatornetzwerk 2;
    • 3 Eine beispielhafte Ausführungsform einer Konfiguration zum Durchführen des Verfahrens 200.
  • 1 ist ein schematisches Flussdiagramm einer Ausführungsform des Verfahrens 100 zum Erzeugen, aus einem Eingabebild x, eines Ausgabebilds xg, das ein gegebener Bildklassifizierer 3 in eine Zielklasse c' klassifiziert, die aus mehreren verfügbaren Klassen einer gegebenen Klassifizierung ausgewählt wird. In dem in 1 gezeigten Beispiel wird in Schritt 105 das Eingabebild x so gewählt, dass es aus einer Quellenklasse c≠c' ist, wodurch das Ausgabebild xg zu einem kontrafaktischen Bild für das Eingabebild x wird. Aber, wie zuvor diskutiert, kann das Verfahren auch dazu verwendet werden, um basierend auf einem Eingabebild x der Quellklasse c Ausgabebilder xg derselben Quellklasse c zu produzieren, um z. B. einen Satz von Trainingsbildern für den Bildklassifizierer 3 zu vergrößern.
  • In Schritt 110 bildet ein trainiertes Kodierernetzwerk 1 ein Eingabebild x auf eine niedriger-dimensionale Darstellung z in einem latenten Raum ab. In Schritt 115 wird eine Rauschprobe n aus einer gegebenen Verteilung gezogen. In Schritt 120 bildet ein trainiertes Generatornetzwerk 2 diese Rauschprobe n auf ein Ausgabebild xg ab. Diese Abbildung ist sowohl von der Zielklasse c' als auch von der Darstellung z abhängig. Diese Konditionierung auf die Darstellung z hin kann insbesondere umfassen, dass das trainierte Generatornetzwerk 2 ein Ausgabebild xg produziert, welches das trainierte Kodierernetzwerk 1 auf die Darstellung z abbildet. Das heißt, eine Darstellung zg, auf die das trainierte Kodierernetzwerk 1 das Ausgabebild xg abbildet, soll so nahe wie möglich an z sein.
  • Insbesondere kann das finale Ausgabebild xg durch einen Optimierungsprozess erhalten werden. Gemäß Block 121 kann ein anfängliches Ausgabebild xg durch den gegebenen Bildklassifizierer 3 auf eine Klassifizierungsscore c# abgebildet werden. Mittels einer gegebenen Klassifizierungsverlustfunktion Lc kann dann gemäß Block 122 bestimmt werden, wie gut der Klassifizierungsscore c# mit einer Klassifizierung des Ausgabebildes xg in die Zielklasse c' übereinstimmt. Gemäß Block 123 kann dann mindestens eine Eingabe in das Generatornetzwerk 2 so optimiert werden, dass eine Neuberechnung des Ausgabebildes xg basierend auf der geänderten Eingabe wahrscheinlich eine Verbesserung des Wertes der Klassifizierungsverlustfunktion Lc bewirkt.
  • Wenn das Ausgabebild xg ein kontrafaktisches Bild ist, kann dieses in Schritt 130 mit dem Eingabebild x verglichen werden. In Schritt 140 werden dann Bereiche Δ, in denen sich das kontrafaktische Bild xg von dem Eingabebild x unterscheidet, als Bereiche S bestimmt, die bezüglich der Klassengrenze zwischen der Quellklasse c und der Zielklasse c' signifikant sind.
  • In Schritt 150 wird bestimmt, wie gut diese Bereiche S mit gegebenen Bereichen S* des Eingabebildes x n, die Merkmale des Eingabebildes x enthalten, die als hervorstechende erachtet werden, übereinstimme. Ein Score 3a, der für das von der gegebenen Metrik 4 ausgegebene Ergebnis 4a angemessen ist, wird in Schritt 160 dem Bildklassifizierer 3 zugewiesen.
  • Im Schritt 170 werden Parameter (3b), die das Verhalten des gegebenen Bildklassifizierers 3 charakterisieren, so optimiert, dass wenn die Berechnung des kontrafaktischen Bildes xg und in Schritt 120 und der anschließenden Auswertung dieses kontrafaktischen Bildes xg in den Schritten 130 bis 160 wiederholt wird, sich der Score 3a des Bildklassifizierers 3 wahrscheinlich verbessert. Der finale optimierte Zustand der Parameter 3b ist mit dem Bezugszeichen 3b* gekennzeichnet.
  • 2 ist ein schematisches Flussdiagramm einer Ausführungsform des Verfahrens 200 zum Trainieren einer Kombination eines Kodierernetzwerks 1 und eines Generatornetzwerks 2 zur Verwendung in dem zuvor beschriebenen Verfahren 100.
  • In Schritt 210 wird ein Dekodierernetzwerk 5 bereitgestellt. Dieses Dekodierernetzwerk 5 ist dazu ausgelegt, eine niedriger-dimensionale Darstellung z in einem latenten Raum, die von dem Kodierernetzwerk 1 erhalten wurde, auf ein rekonstruiertes Bild xd in der Domäne der ursprünglichen Eingabebilder x abzubilden. In Schritt 220 werden Parameter 1a, 5a, die das Verhalten der Kodierer-1 und Dekodierer- 5 Netzwerke charakterisieren, mit dem Ziel optimiert, dass das rekonstruierte Bild xg mit dem ursprünglichen Eingabebild x, aus dem die Darstellung z erhalten wurde, übereinstimmt. Auf diese Weise werden der Kodierer 1 und der Dekodierer 5 trainiert, ein (Variations-) Autoencoder (V)AE zu werden. Die finalen optimierten Zustände der Parameter 1a und 5a sind mit den Bezugszeichen 1a* bzw. 5a* gekennzeichnet. Gemäß Block 221 kann ein zusätzliches Ziel der Optimierung darin bestehen, dass der Informationsaustausch zwischen dem ursprünglichen Eingabebild x und seiner Darstellung z maximiert wird.
  • Dieser Bildklassifizierer 3 kann fixiert und verwendet werden, wie er ist. Aber in der in 2 gezeigten Ausführungsform wird auch der Bildklassifizierer 3 trainiert. Gemäß Block 241 kann der Bildklassifizierer 3 ein trainierbares Netzwerk umfassen, das dazu ausgelegt ist, Eingabebilder x und erzeugte Bilder xf auf eine Kombination einer niedriger-dimensionalen Darstellung z in dem latenten Raum und einem Klassifizierungsscore c# abzubilden. Gemäß Block 242 werden Parameter 3b, die das Verhalten dieses trainierbaren Netzwerks charakterisieren, mit den Zielen optimiert, dass:
    • • der Bildklassifizierer 3 ein ursprüngliches Eingabebild x auf eine Kombination abbildet aus: einer Darstellung z, die der durch das Kodierernetzwerk 1 produzierten Darstellung z entspricht, und einem Klassifizierungsscore c#, die mit einer Grundwahrheit-Kennzeichnung c des Eingabebilds x übereinstimmt; und
    • • der Bildklassifizierer 3 ein gefälschtes Bild xf auf eine Kombination abbildet aus: einer Darstellung z, die der Darstellung z entspricht, auf die die Erzeugung des gefälschten Bildes xf konditioniert wurde, und einem Klassifizierungsscore c#, der mit der Zielklasse c, für die das Bild xf erzeugt wurde, übereinstimmt.
  • Der finale optimierte Zustand der Parameter 3b ist mit dem Bezugszeichen 3b* gekennzeichnet.
  • In Schritt 250 werden Parameter 2a, die das Verhalten des Generatornetzwerks 2 charakterisieren, mit den Zielen optimiert, dass:
    • • die Genauigkeit, mit der das Diskriminatornetzwerk 5 zwischen ursprünglichen Eingabebildern x und gefälschten Bildern xf unterscheidet, abnimmt,
    • • der Bildklassifizierer 3 erzeugte Bilder xf auf ihre gegebene Zielklasse c abbildet, und
    • • das Kodierernetzwerk 1 erzeugte Bilder xf auf die Darstellungen z, auf die ihre Erzeugung konditioniert wurde, abbildet.
  • Gemäß Block 251 kann ein weiteres Optimierungsziel darin bestehen, dass der Informationsaustausch zwischen dem Bild xf und der Darstellung z maximiert wird. Der finale optimierte Zustand der Parameter 2a ist mit dem Bezugszeichen 2a* gekennzeichnet.
  • Gleichzeitig werden in Schritt 260 Parameter 6a, die das Verhalten des Diskriminatornetzwerks 6 charakterisieren, mit dem Ziel optimiert, dass die Genauigkeit, mit der das Diskriminatornetzwerk 6 zwischen ursprünglichen Eingabebildern x und erzeugten Bildern xf unterscheidet, zunimmt. Der finale optimierte Zustand der Parameter 6a ist mit dem Bezugszeichen 6a* gekennzeichnet.
  • Das heißt, das Training 250 des Generatornetzwerks 2 und das Training 260 des Diskriminatornetzwerks 6 werden auf kontradiktorische Weise durchgeführt.
  • 3 zeigt eine beispielhafte Konfiguration, die verwendet werden kann, um das oben beschriebene Trainingsverfahren 200 durchzuführen. Das Kodierernetzwerk 1 und das Dekodierernetzwerk 5 bilden einen (Variations-) Autoencoder (V)AE. Das Generatornetzwerk 2 und das Diskriminatornetzwerk 6 bilden ein generatives kontradiktorisches Netzwerk, GAN. Das Diskriminatornetzwerk 6 gibt für jedes ihm eingegebene Bild eine Klassifizierung aus, ob dieses Bild in der Domäne der ursprünglichen Eingabebilder x liegt oder ob es ein gefälschtes Bild xg ist. In der in 3 gezeigten Ausführungsform wird der Bildklassifizierer 3 verwendet, um nicht nur einen Klassifizierungsscore c# vorherzusagen, sondern auch eine niedriger-dimensionale Darstellung z, die dem ursprünglichen Eingabebild x bzw. dem erzeugten Bild xg entspricht. Er kann daher als Teil des GAN angesehen werden. Das Kodierernetzwerk 1 und das Generatornetzwerk 2 bilden die Vorrichtung 10 zum Erzeugen eines Zielbildes xg, das eine andere Probe aus derselben Quellenverteilung ist, aus einem Quellbild x, das Teil einer Quellverteilung von Bildern ist.
  • Mit dem von dem Bildklassifizierer 3 ausgegebenen Klassifizierungsscore c# kann überwacht werden, wie gut das gefälschte Bild xg der Bedingung für seine Erzeugung, dass es zur Klasse c' gehören soll, entspricht. Wenn das gefälschte Bild xg in den trainierten Kodierer 1 eingegeben wird, kann überwacht werden, wie gut die resultierende Darstellung zg der Bedingung für die Erzeugung von xg, dass zg so ähnlich zu z wie möglich sein soll, entspricht.

Claims (15)

  1. Verfahren (100) zum Erzeugen eines Ausgabebildes xg aus einem Eingabebild x, das ein gegebener Bildklassifizierer (3) in eine Zielklasse c' klassifiziert, die aus mehreren verfügbaren Klassen einer gegebenen Klassifizierung ausgewählt wird, umfassend die Schritte: • Abbilden (110) des Eingabebildes x mittels eines trainierten Kodierernetzwerks (1) auf eine niedriger-dimensionale Darstellung z in einem latenten Raum; • Ziehen (115) einer Rauschprobe n aus einer gegebenen Verteilung; und • Abbilden (120) der Rauschprobe n mittels eines trainierten Generatornetzwerks (2) auf ein Ausgabebild xg, wobei diese Abbildung sowohl auf die Zielklasse c' als auch auf die Darstellung z konditioniert wird.
  2. Verfahren (100) nach Anspruch 1, wobei das Konditionieren der Abbildung auf die Darstellung z umfasst, dass das trainierte Generatornetzwerk (2) ein Ausgabebild xg produziert, welches das trainierte Kodierernetzwerk (1) auf die Darstellung z abbildet.
  3. Verfahren (100) nach einem der Ansprüche 1 bis 2, wobei die Abbildung (120) der Rauschprobe n auf das Ausgabebild xg ferner umfasst: • Abbilden (121) des Ausgabebildes xg mittels des gegebenen Bildklassifizierers (3) auf einen Klassifizierungsscore c#; • Bestimmen (122), mittels einer gegebenen Klassifizierungsverlustfunktion (LC), wie gut der Klassifizierungsscore c# mit einer Klassifizierung des Ausgabebildes xg in die Zielklasse c' übereinstimmt; und • Optimieren (123) mindestens einer Eingabe in das Generatornetzwerk (2), so dass eine Neuberechnung des Ausgabebildes xg basierend auf der geänderten Eingabe wahrscheinlich eine Verbesserung des Wertes der Klassifizierungsverlustfunktion (Lc) bewirkt.
  4. Verfahren (100) nach einem der Ansprüche 1 bis 3, wobei das Eingabebild x so gewählt wird (105), dass es aus einer Quellenklasse c≠c' ist, wodurch das Ausgabebild xg zu einem kontrafaktischen Bild für das Eingabebild x gemacht wird.
  5. Verfahren (100) nach Anspruch 4, ferner umfassend die Schritte: • Vergleichen (130) des kontrafaktischen Bildes xg mit dem Eingabebild x; und • Bestimmen (140) von Bereichen (Δ), in denen sich das kontrafaktische Bild xg von dem Eingabebild x unterscheidet, als Bereiche (S), die bezüglich der Klassengrenze zwischen der Quellklasse c und der Zielklasse c' signifikant sind.
  6. Verfahren (100) nach Anspruch 5, ferner umfassend die Schritte: • Bestimmen (150), mittels einer gegebenen Metrik (4), wie gut die bezüglich der Klassengrenze signifikanten Bereiche (S) mit gegebenen Bereichen (S*) des Eingabebildes x übereinstimmen, die Merkmale des Eingabebildes x enthalten, die als hervorstechend erachtet werden; und • Zuweisen (160), an den Bildklassifizierer (3), eines Scores (3a), der für das von der gegebenen Metrik (4) ausgegebene Ergebnis (4a) angemessen ist.
  7. Verfahren (100) nach Anspruch 6, ferner umfassend: Optimieren (170) von Parametern (3b), die das Verhalten des gegebenen Bildklassifizierers (3) charakterisieren, so dass, wenn vorherige Schritte (120-160) des Verfahrens (100) wiederholt werden, sich der Score (3a) des Bildklassifizierers (3) wahrscheinlich verbessert.
  8. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei das Eingabebild x ein Bild eines hergestellten Produkts ist, das im Zuge einer optischen Inspektion des Produkts erfasst wurde, und die Klassen der gegebenen Klassifizierung Qualitätsstufen für das Produkt darstellen.
  9. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei das Eingabebild x ein Bild einer Verkehrssituation ist, und die Klassen der gegebenen Klassifizierung Objekte darstellen, die für die Interpretation der Verkehrssituation relevant sind.
  10. Verfahren (200) zum Trainieren einer Kombination aus einem Kodierernetzwerk (1) und einem Generatornetzwerk (2) zur Verwendung in dem Verfahren (100) nach einem der Ansprüche 1 bis 9, umfassend die Schritte: • Bereitstellen (210) eines Dekodierernetzwerks (5), das dazu ausgelegt ist, eine niedriger-dimensionale Darstellung z in einem latenten Raum, die von dem Kodierernetzwerk (1) erhalten wurde, auf ein rekonstruiertes Bild xd in der Domäne der ursprünglichen Eingabebilder x abzubilden; • Optimieren (220) von Parametern (1a, 5a), die das Verhalten der Kodierer-(1) und Dekodierer- (5) Netzwerke charakterisieren, mit dem Ziel, dass das rekonstruierte Bild xd mit dem ursprünglichen Eingabebild x, aus dem die Darstellung z erhalten wurde, übereinstimmt; • Bereitstellen (230) eines Diskriminatornetzwerks (6), das dazu ausgelegt ist, zu unterscheiden, ob ein Bild aus der Domäne der ursprünglichen Eingabebilder x oder aus der Domäne der erzeugten Bilder xf stammt; • Bereitstellen (240) eines Bildklassifizierers (3), der dazu ausgelegt ist, das ursprüngliche Eingabebild x und das erzeugte Bild xf auf eine oder mehrere Klassen der gegebenen Klassifizierung abzubilden; • Optimieren (250) von Parametern (2a), die das Verhalten des Generatornetzwerkes (2) charakterisieren, mit den Zielen, dass ◯ die Genauigkeit, mit der das Diskriminatornetzwerk (5) zwischen ursprünglichen Eingabebildern x und erzeugten Bildern xf unterscheidet, abnimmt, oder Bildklassifizierer (3) erzeugte Bilder xf auf ihre gegebene Zielklasse c' abbildet, ◯ das Kodierernetzwerk (1) erzeugte Bilder xf auf die Darstellungen z, auf die ihre Erzeugung konditioniert wurde, abbildet; und • Optimieren (260) von Parametern (6a), die das Verhalten des Diskriminatornetzwerks (6) charakterisieren, mit dem Ziel, dass die Genauigkeit, mit der das Diskriminatornetzwerk (6) zwischen ursprünglichen Eingabebildern x und erzeugten Bildern xf unterscheidet, zunimmt.
  11. Verfahren (200) nach Anspruch 10, wobei • die Parameter (1a), die das Verhalten des Kodierernetzwerks (1) charakterisieren, zusätzlich auf das Ziel hin optimiert (221) werden, dass der Informationsaustausch zwischen dem ursprünglichen Eingabebild x und seiner Darstellung z maximiert wird; und/oder • die Parameter (2a), die das Verhalten des Generatornetzwerks (2) charakterisieren, zusätzlich auf das Ziel hin optimiert (251) werden, dass der Informationsaustausch zwischen dem erzeugten Bild xf und der Darstellung z maximiert wird.
  12. Verfahren (200) nach einem der Ansprüche 10 bis 11, wobei • der Bildklassifizierer (3) ein trainierbares Netzwerk umfasst (241), das dazu ausgelegt ist, Eingabebilder x und erzeugte Bilder xf auf eine Kombination einer niedriger-dimensionalen Darstellung z in dem latenten Raum und einem Klassifizierungsscore c# abzubilden; und • Parameter (3b), die das Verhalten dieses trainierbaren Netzwerks charakterisieren, optimiert (242) werden mit den Zielen, dass: oder Bildklassifizierer (3) ein ursprüngliches Eingabebild x auf eine Kombination abbildet aus: einer Darstellung z, die der durch das Kodierernetzwerk (1) produzierten Darstellung z entspricht, und einem Klassifizierungsscore c#, der mit einer Grundwahrheits-Kennzeichnung c des Eingabebildes x konsistent ist; und oder Bildklassifizierer (3) ein erzeugtes Bild xf auf eine Kombination abbildet aus: einer Darstellung z, die der Darstellung z entspricht, auf die die Erzeugung des Bildes xf konditioniert wurde, und einem Klassifizierungsscore c#, der mit der Zielklasse c', für die das erzeugte Bild xf erzeugt wurde, konsistent ist.
  13. Computerprogramm, das maschinenlesbare Anweisungen umfasst, die, wenn sie von einem oder mehreren Computern ausgeführt werden, den einen oder die mehreren Computer veranlassen, ein Verfahren (100, 200) nach einem der Ansprüche 1 bis 12 durchzuführen.
  14. Nichtflüchtiges Speichermedium mit dem Computerprogramm nach Anspruch 13.
  15. Einer oder mehrere Computer mit dem Computerprogramm nach Anspruch 13, und/oder mit dem nichtflüchtigen Speichermedium nach Anspruch 14.
DE102021205447.1A 2021-05-28 2021-05-28 Datenanreicherung für das Trainieren von Bildklassifizierern Pending DE102021205447A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021205447.1A DE102021205447A1 (de) 2021-05-28 2021-05-28 Datenanreicherung für das Trainieren von Bildklassifizierern
US17/742,778 US20220383617A1 (en) 2021-05-28 2022-05-12 Data augmentation for the training of image classifiers
CN202210585456.3A CN115410025A (zh) 2021-05-28 2022-05-27 用于图像分类器训练的数据扩充

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021205447.1A DE102021205447A1 (de) 2021-05-28 2021-05-28 Datenanreicherung für das Trainieren von Bildklassifizierern

Publications (1)

Publication Number Publication Date
DE102021205447A1 true DE102021205447A1 (de) 2022-12-01

Family

ID=83997694

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021205447.1A Pending DE102021205447A1 (de) 2021-05-28 2021-05-28 Datenanreicherung für das Trainieren von Bildklassifizierern

Country Status (3)

Country Link
US (1) US20220383617A1 (de)
CN (1) CN115410025A (de)
DE (1) DE102021205447A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11900534B2 (en) * 2021-07-30 2024-02-13 The Boeing Company Systems and methods for synthetic image generation

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHEN, Yanxiang, et al. Image generation via latent space learning using improved combination. Neurocomputing, 2019, 340. Jg., S. 8-18
SINGLA, Sumedha, et al. Explaining the black-box smoothly-a counterfactual approach. arXiv preprint arXiv:2101.04230v1, 11. Januar 2021
VAN LOOVEREN, Arnaud, et al. Conditional Generative Models for Counterfactual Explanations. arXiv preprint arXiv:2101.10123v1, 25. Januar 2021

Also Published As

Publication number Publication date
CN115410025A (zh) 2022-11-29
US20220383617A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
DE102018128290A1 (de) Verfahren und vorrichtung zum erzeugen von szenarien und parametrischen sweeps für die entwicklung und bewertung von autonomen antriebssystemen
DE102018128289B4 (de) Verfahren und vorrichtung für eine autonome systemleistung und zur einstufung
EP3393875B1 (de) Verfahren zum verbesserten erkennen von objekten durch ein fahrerassistenzsystem
EP3948688A1 (de) Training für künstliche neuronale netzwerke mit besserer ausnutzung der lern-datensätze
WO2019206792A1 (de) Verfahren und vorrichtung zur umsetzung eines eingangsbildes einer ersten domäne in ein ausgangsbild einer zweiten domäne
DE102019208735B4 (de) Verfahren zum Betreiben eines Fahrassistenzsystems eines Fahrzeugs und Fahrerassistenzsystem für ein Fahrzeug
WO2020249758A1 (de) Verfahren und generator zum erzeugen von gestörten eingangsdaten für ein neuronales netz
DE102018205561A1 (de) Vorrichtung zur Klassifizierung von Signalen
DE102021205447A1 (de) Datenanreicherung für das Trainieren von Bildklassifizierern
EP3850536A1 (de) Analyse dynamisscher räumlicher szenarien
DE102016120066A1 (de) Computer-implementiertes Verfahren zum Kontrollieren bzw. Testen eines Objekterkennungssystems
WO2021175783A1 (de) Computerimplementiertes verfahren und system zum erzeugen synthetischer sensordaten und trainingsverfahren
DE102021104672A1 (de) Erzeugen von kontrafaktischen Bildern für die Auswertung von Bildklassifikatoren
DE102009009904A1 (de) Verfahren zur Identifizierung von Objekten
DE102021206377A1 (de) Robusteres überwachtes Training für Bildklassifikatoren
WO2022043204A1 (de) Trainingsverfahren für einen generator zur erzeugung realistischer bilder
DE102020210711A1 (de) Training eines Generators zur Erzeugung realistischer Bilder mit einem semantisch segmentierenden Diskriminator
DE112022003908T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren, servervorrichtung, fahrzeugvorrichtung und informationsverarbeitungsprogramm
DE102022208083A1 (de) Trainieren eines neuronalen Netzwerks mit Hilfe von Wissensgraphen
DE102021209805A1 (de) Anomaliekontrolle für technische Systeme anhand der Kompatibilität von Bilddaten zu einer vorgegebenen Verteilung
DE102020203705A1 (de) Plausibilisierung der Ausgabe neuronaler Klassifikatornetzwerke anhand von Zusatzinformationen über Merkmale
DE102021208156A1 (de) Bildklassifikator mit geringerem Erfordernis gelabelter Trainingsdaten
DE102020211166A1 (de) Klassifikatornetzwerk mit transparenter, besser erklärbarer Arbeitsweise
DE102020210712A1 (de) Erzeugung realistischer Bilder aus vorgegebenen semantischen Karten
EP4125005A1 (de) Kontrastives representation learning für messdaten

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009660000

Ipc: G06V0030194000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06V0030194000

Ipc: G06V0010820000

R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication