DE102020211475A1 - Kaskadierte Cluster-Generator-Netze zum Erzeugen synthetischer Bilder - Google Patents

Kaskadierte Cluster-Generator-Netze zum Erzeugen synthetischer Bilder Download PDF

Info

Publication number
DE102020211475A1
DE102020211475A1 DE102020211475.7A DE102020211475A DE102020211475A1 DE 102020211475 A1 DE102020211475 A1 DE 102020211475A1 DE 102020211475 A DE102020211475 A DE 102020211475A DE 102020211475 A1 DE102020211475 A1 DE 102020211475A1
Authority
DE
Germany
Prior art keywords
network
images
training
clustering
image
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
DE102020211475.7A
Other languages
English (en)
Inventor
Mehdi Noroozi
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 DE102020211475.7A priority Critical patent/DE102020211475A1/de
Priority to US17/374,529 priority patent/US20220083817A1/en
Priority to CN202111068580.4A priority patent/CN114187482A/zh
Publication of DE102020211475A1 publication Critical patent/DE102020211475A1/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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social 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/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/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

Verfahren (100) zum Trainieren einer Kombination aus einem Clustering-Netz (C) und einem Generator-Netz (G), wobei das Verfahren (100) die folgenden Schritte umfasst:• Bereitstellen (105) einer Menge von Trainingseingabebildern (1a);• Abbilden (110) durch das Clustering-Netz (C) der Trainingseingabebilder (1a) auf Repräsentationen (2), die Cluster (2a-2c), zu denen die Trainingseingabebilder (1a) gehören, angeben;• Ziehen (120) von Rauschmustern (3) aus einer Zufallsverteilung und Angaben von Ziel-Clustern (2a-2c) aus der Menge von Clustern (2a-2c), die durch das Clustering-Netz (C) identifiziert sind;• Abbilden (130) durch das Generator-Netz (G) der Rauschmuster (3) und der Angaben der Ziel-Cluster (2a-2c) auf Fake-Bilder (4) und Kombinieren (140) jedes Fake-Bilds (4) mit der Angabe des Ziel-Clusters (2a-2c), mit dem es produziert wurde, und dadurch Bilden eines Fake-Paars (4*);• Ziehen (150) echter Bilder (1) aus der Menge von Trainingseingabebildern (1a);• Kombinieren (160) jedes echten Bilds (1) mit einer Angabe des Clusters (2a-2c), dem es durch das Clustering-Netz (C) zugewiesen wurde, und dadurch bilden eines echten Paars (1*);• Eingeben (170) einer Mischung aus echten Paaren (1*) und Fake-Paaren (4*) in ein Diskriminator-Netz (D), das konfiguriert ist, echte Paare (1*) von Fake-Paaren (4*) zu unterscheiden;• Optimieren (180) der Parameter (5), die das Verhalten des Diskriminator-Netzes (D) charakterisieren, mit dem Ziel der Verbesserung der Genauigkeit, mit der das Diskriminator-Netz (D) zwischen echten Paaren (1*) und Fake-Paaren (4*) unterscheidet; und• Optimieren (190) der Parameter (6), die das Verhalten des Clustering-Netzes (C) charakterisieren, und der Parameter (7), die das Verhalten des Generator-Netzes (G) charakterisieren, mit dem Ziel der Verschlechterung dieser Genauigkeit.

Description

  • Die Erfindung bezieht sich auf das gegnerische Training von Generatornetzen zum Produzieren synthetischer Bilder, das unter anderem zum Trainieren von Bildklassifizierern verwendet werden können.
  • Hintergrund
  • Bildklassifizierer müssen mit Trainingsbildern, für die „Wahr“-Klassifizierungsbewertungen, die der Klassifizierer den entsprechenden Bildern zuweisen soll, bekannt sind, trainiert werden. Das Erhalten einer große Menge von Trainingsbildern mit ausreichender Variabilität ist zeitaufwändig und teuer. Falls beispielsweise der Bildklassifizierer Verkehrssituationen, die mit einem oder mehreren Sensoren, die von einem Fahrzeug getragen werden, aufgenommen werden, klassifizieren soll, sind lange Testfahrten erforderlich, um eine ausreichende Anzahl von Trainingsbildern zu erhalten. Die „Wahr“-Klassifizierungsbewertungen, die zum Trainieren benötigt werden, müssen häufig durch manuelles Annotieren der Trainingsbilder erhalten werden, was ebenfalls zeitaufwändig und teuer ist. Außerdem treten einige Verkehrssituationen wie z. B. ein Schneesturm nur selten während des Aufnehmens der Trainingsbilder auf.
  • Um den Mangel an Trainingsbildern zu verringern, können erzeugende gegnerische Netze (GANs) trainiert werden, um synthetische Bilder zu erzeugen, die wie echte Bilder aussehen und als Trainingsbilder für Bildklassifizierer verwendet werden können. Bedingte GANs (cGANs) können verwendet werden, um synthetische Bilder zu erzeugen, die zu einer speziellen Art der Verteilung realistischer Bilder gehören. Beispielsweise kann ein bedingtes GAN synthetische Bilder erzeugen, die zu einer speziellen Klasse der Klassifizierung gehören.
  • DE 10 2018 204 494 B3 offenbart ein Verfahren zum Erzeugen synthetischer Radarsignale als Trainingsmaterial für Klassifizierer.
  • Offenbarung der Erfindung
  • Die vorliegende Erfindung verwendet eine Kombination aus einem Clustering-Netz und einem Generator-Netz, um synthetische Bilder zu produzieren. Das Generator-Netz arbeitet in gewisser Weise dem Generator in einem früheren cGAN ähnlich darin, dass es konfiguriert ist, ein Rauschmuster und einige zusätzliche Informationen auf ein synthetisches Bild abzubilden. Anders als in cGANs sind diese zusätzlichen Informationen jedoch nicht ein Klassenkennzeichen oder eine Klassifizierungsbewertung gemäß einer durch einen Menschen bereitgestellte Klassifizierung. Vielmehr sind die zusätzlichen Informationen eine Angabe eines Ziel-Clusters, zu dem das gesuchte synthetische Bild gehören soll. Die Cluster werden wiederum durch ein Clustering-Netz bestimmt. Das Clustering-Netz ist konfiguriert, ein Eingabebild auf eine Repräsentation in einem latenten Raum abzubilden. Diese Repräsentation gibt ein Cluster an, zu dem das Eingabebild gehört.
  • Die Repräsentation in dem latenten Raum kann beispielsweise eine direkte Zuweisung des Eingabebilds zu einem Cluster sein, wie z. B. „dieses Eingabebild gehört zu jenem Cluster“. Die Repräsentation in dem latenten Raum als solches kann jedoch auch nur ein Punkt in einem latenten Raum sein, der mehrdimensional ist, jedoch eine viel geringere Dimensionalität als das Eingabebild aufweist. Die Punkte in dem latenten Raum können dann in einem zweiten Schritt in Cluster unterteilt werden.
  • Der Hauptunterschied zwischen diesen Clustern einerseits und Klassenkennzeichen andererseits ist, dass die Cluster aus Eingabebildern auf eine nicht überwachte Weise erzeugt werden. Das bedeutet, dass selbst dann, wenn im Voraus voreingestellt ist, dass eine spezielle Menge von Eingabebildern in eine spezielle Anzahl von Clustern unterteilt werden soll, ist es vorher nicht bekannt, was genau diese Cluster bedeuten. Falls beispielsweise eine Menge von Eingabebildern von Verkehrsszenen in 10 Cluster unterteilt wird, könnten diese Cluster unterschiedliche Objekte, die in den Bildern enthalten sind, repräsentieren, könnten jedoch ebenso unterschiedliche Wetterbedingungen, in denen die Bilder aufgenommen wurden, repräsentieren. Im Gegensatz dazu ist das Zuweisen von Klassenkennzeichen zu Eingabebildern eine von einem Menschen eingeführte Bedingung.
  • Die Erfindung stellt ein Verfahren zum Trainieren der Kombination aus dem Clustering-Netz und dem Generator-Netz bereit. Im Verlauf dieses Verfahrens wird eine Menge von Trainingseingabebildern bereitgestellt. Das Clustering-Netz bildet diese Trainingseingabebilder auf Repräsentationen ab, die Cluster angeben, zu denen die Trainingseingabebilder gehören. Das heißt, spätestens nachdem alle Trainingseingabebilder durch das Clustering-Netz verarbeitet worden sind, sind die Cluster bekannt, und es ist bekannt, welches Trainingseingabebild zu welchem Cluster gehört.
  • Rauschmuster werden aus einer Zufallsverteilung gezogen. Außerdem werden Angaben von Ziel-Clustern aus der Menge von Clustern, die durch das Clustering-Netz identifiziert sind, gezogen. Das Generator-Netz verwendet Kombinationen von Rauschmustern und Angaben von Ziel-Clustern als Eingabe und erzeugt ein Fake-Bild. Die Kombination aus diesem Fake-Bild und der Angabe des Ziel-Clusters, mit dem es produziert wurde, bildet ein Fake-Paar. Somit kann das Fake-Paar beispielsweise aus einem erzeugten Fake-Bild und einer Zahl oder einem anderen Bezeichner des Ziel-Clusters bestehen.
  • Echte Bilder werden aus der Menge von Trainingseingabebildern gezogen. Jedes echte Bild wird mit einer Angabe des Clusters, dem es durch das Clustering-Netz zugewiesen wurde, kombiniert, so dass ein echtes Paar gebildet wird. Somit kann das echte Paar aus einem echten Bild und einer Zahl oder einem anderen Bezeichner des Clusters, zu dem es gemäß dem Clustering-Netz gehört, bestehen.
  • Für gegnerisches Training wird eine Mischung aus echten Paaren und Fake-Paaren in ein Diskriminator-Netz, das konfiguriert ist, echte Paare von Fake-Paaren zu unterscheiden, eingegeben. Insbesondere kann dieser Diskriminator zwei Arten von Signalen benutzen, um zu bestimmen, dass ein eingegebenes Paar eher ein Fake-Paar als ein echtes Paar ist: Zuerst, falls das Bild für sich allein nicht als realistisch erscheint, kann der Diskriminator bestimmen, dass es ein Fake-Bild ist und dass das eingegebene Paar deswegen ein Fake-Paar ist. Das kann beispielsweise eintreten, falls ein Generator ein mangelhaftes Bild mit sichtbaren Artefakten anstelle eines realistischen Bilds erzeugt. Zweitens, falls das Bild für sich allein realistisch aussieht, jedoch seine Zuweisung zu einem speziellen Cluster nicht realistisch erscheint, kann der Diskriminator bestimmen, dass das eingegebene Paar ein Fake-Paar ist. Das kann beispielsweise eintreten, falls ein Paar eine perfekt erzeugte Darstellung eines Autos mit einem Cluster, der im Wesentlichen nur Bäume enthält, anstatt mit einem Cluster, der im Wesentlichen nur Autos enthält, kombiniert. Es ist ein Ziel des Trainings, dass der Generator fähig ist, für alle durch das Clustering-Netz identifizierten Cluster realistische Bilder zu erzeugen, die als reale Bilder durchgehen, die zu dem entsprechenden Cluster gehören.
  • Parameter, die das Verhalten des Diskriminator-Netzes charakterisieren, werden mit dem Ziel der Verbesserung der Genauigkeit, mit der das Diskriminator-Netz zwischen echten Paaren und Fake-Paaren unterscheidet, optimiert. Gleichzeitig werden Parameter, die das Verhalten des Clustering-Netzes charakterisieren, und Parameter, die das Verhalten des Generator-Netzes charakterisieren, mit dem Ziel der Verschlechterung der genannten Genauigkeit optimiert. Das heißt, das Clustering-Netz und das Generator-Netz arbeiten Hand in Hand und konkurrieren mit dem Diskriminator-Netz.
  • Im Gegensatz zu einem cGAN erfordert die Kombination aus dem Clustering-Netz und dem Generator-Netz kein menschliches Eingreifen, um Klassenkennzeichen zu Trainingseingabebildern zuzuweisen, so dass die später erzeugten Bilder auf diesen Klassenkennzeichen konditioniert werden können. Vielmehr sind nur einfache nicht gekennzeichnete Eingabebilder ausreichend. Das bringt den Vorteil mit sich, dass der Aufwand und die Kosten für das manuelle Kennzeichnen nicht notwendig sind. Das ist jedoch nicht der einzige Vorteil.
  • Vielmehr ist, wie in vielen Fällen gefunden wurde, die Unterteilung einer konkreten Menge von Trainingseingabebildern in Cluster durch das Clustering-Netz besser geeignet als eine Unterteilung derselben Menge von Trainingseingabebildern in Klassen einer durch einen Menschen eingeführten Klassifizierung. Das heißt, das Clustering-Netz lernt automatisch, welche unterscheidenden Merkmale in den Eingabebildern vorhanden sind und zum Unterteilen der Eingabebilder in unterschiedliche Cluster verwendet werden können.
  • Es hängt deshalb von der Zusammensetzung der Menge von Trainingseingabebildern ab, welche Unterteilung in Cluster geeignet ist. Insbesondere erfordert das Unterteilen der Menge von Trainingseingabebildern in Cluster in Bezug auf eine spezielle Eigenschaft auf sinnvolle Weise, dass einige Beispiele für jede Eigenschaft vorhanden sind.
  • Beispielsweise ergibt das Unterteilen einer Menge von Trainingseingabebildern in vier Cluster, die die vier Jahreszeiten repräsentieren, keinen Sinn, wenn fast alle Trainingseingabebilder nur in einer einzigen Jahreszeit aufgenommen wurden. In einem weiteren Beispiel ergibt das Unterteilen einer Menge von Trainingseingabebildern in 1000 Cluster, die unterschiedliche Objekte repräsentieren, keinen Sinn, falls nur 500 unterschiedliche Objekte in der gesamten Menge von Trainingsbildern vorhanden sind.
  • Somit gibt das Clustering durch das Clustering-Netz nur eine Unterteilung der Menge von Trainingseingabebildern gemäß Merkmalen aus, die in dieser konkrete Menge von Trainingseingabebildern tatsächlich vorhanden und erkennbar sind. Das bedeutet, dass sich die Bilder, die durch den Generator erzeugt werden und auf einem speziellen Ziel-Cluster konditioniert sind, auf ein Cluster beziehen, das tatsächlich aus der Menge der Trainingseingabebilder erkennbar ist. Somit wären bei einer gegebenen Menge von Trainingseingabebildern, die alle in einer einzigen Jahreszeit aufgenommen wurden, keine Cluster vorhanden, die sich auf unterschiedliche Jahreszeiten beziehen, und das Generator-Netz würde keinen Versuch unternehmen, Bilder von drei Jahreszeiten zu „erraten“, für die er niemals irgendein Trainingseingabebild gesehen hat. Im Allgemeinen kann der Generator keine Daten aus einem Modus der Verteilung erzeugen, der in der Trainingsmenge nicht vorhanden ist. Mit dem vorhandenen selbst kennzeichnenden cGAN wird diese Einschränkung automatisch erzwungen, und für die Bilder, die das selbst kennzeichnende cGAN produziert, ist eine ausreichende Basis in der Trainingsmenge garantiert.
  • Das endgültige Ergebnis ist, dass, nachdem eine Kombination aus einem Clustering-Netz und einem Generator-Netz wie hier beschrieben trainiert worden ist, erwartet werden kann, dass die Bilder, die durch das Generator-Netz erzeugt werden, realistischer sind als Bilder, die früher durch cGANs erzeugt wurden. Außerdem werden die verfügbaren Klassen für realistische Bilderzeugung automatisch bestimmt. Der Anwender muss nicht manuell bestimmen, welche Klassen aus den Trainingseingabebildern erkennbar sind. Vielmehr empfängt der Anwender direkt eine Rückmeldung der Art „diese Trainingsdatenmenge ist gut zum Unterscheiden zwischen diesen Klassen“.
  • Die Unterteilung der Menge von Trainingseingabebildern, die das Clustering-Netz vornimmt, kann als eine Rückmeldung dafür verwendet werden, wie die Menge von Trainingseingabebildern weiter zu erweitern ist, falls eine weitere Unterteilung gewünscht ist. Beispielsweise falls eine Unterteilung in vier Cluster gewünscht ist, die Cluster jedoch gemäß einer anderen Eigenschaft als den Jahreszeiten, in denen die Bilder aufgenommen wurden, gebildet werden sollen, bedeutet das, dass mehr Trainingseingabebilder, die in unterschiedlichen Jahreszeiten aufgenommen wurden, benötigt werden, um Cluster an den Grenzen zwischen Jahreszeiten unterteilt zu bekommen. Es kann auch notwendig werden, die Anzahl von Clustern zu erhöhen.
  • In irgendeinem cGAN kann die Optimierung gemäß den konkurrierenden Zielen beispielsweise gemäß einer vorbestimmten Verlustfunktion ausgeführt werden. Beispielsweise kann eine solche Verlustfunktion Ladv die folgende Form annehmen: L a d v ( G , D ) = E x , y P R [ log D ( x , y ) ] + E z P Z , c P C [ log ( 1 D ( G ( z , c ) ,1 K ( c ) ) ) ] .
    Figure DE102020211475A1_0001
  • Hier repräsentiert G das Generator-Netz, und D repräsentiert das Diskriminator-Netz. Die Verwendung dieser als Argumente der Verlustfunktion und als Größen, über die zu minimieren oder zu maximieren ist, ist die Kurzform für die Parameter, die das Verhalten des jeweiligen Netzes charakterisieren. E bedeutet die Berechnung eines Erwartungswerts über angegebene Verteilungen.
  • PR ist die Verteilung der echten Paare von Bildern x und Kennzeichen y, zu denen diese Bilder x wirklich gehören. PZ ist eine Verteilung von Rauschmustern z in einem latenten Raum, z. B. eine multivariate Gaußverteilung. PC ist eine kontinuierliche Verteilung von Angaben c von Zielkennzeichen, und 1K(c) codiert eine solche Angabe c in einem 1-aus-n-Vektor der Dimension K. K ist die Anzahl verfügbarer Kennzeichen.
  • Für ein selbst kennzeichnendes cGAN ist in der vorstehenden Formel das Kennzeichen y, zu dem ein Bild wirklich gehört, nicht bekannt, weil keine Kennzeichnung durch einen Menschen stattfindet. Vielmehr kann das Clustering-Netz C so verstanden werden, dass es für jedes Bild eine Wahrscheinlichkeit p(ylx) bereitgestellt, dass das Bild x zu dem Cluster y gehört, die jetzt anstelle des Kennzeichens verwendet wird. Außerdem werden die Angaben c von Zielkennzeichen jetzt zu Angaben des Ziel-Clusters, das durch C bereitgestellt wird. K wird zu der Anzahl von Clustern, die für das Clustering voreingestellt sein kann oder ein Ergebnis des Clustering sein kann, abhängig von dem Typ des verwendeten Clustering. Damit kann der gegnerische Verlust Ladv neu geschrieben werden als L a d v ( G , C , D ) = E x , P R [ log D ( x , p ( y | x ) ) ] + E z P Z , c P C [ log ( 1 D ( G ( z , c ) ,1 K ( c ) ) ) ] .
    Figure DE102020211475A1_0002
  • Wie vorstehend diskutiert werden die Parameter, die das Verhalten des Generator-Netzes D charakterisieren, mit dem Ziel der Maximierung dieses gegnerischen Verlusts Ladv optimiert, während die Parameter, die das Verhalten des Clustering-Netzes und des Generator-Netzes charakterisieren, optimiert werden, um Ladv zu minimieren.
  • Die Anzahl K von Clustern kann vorzugsweise als ein Hyperparameter vorab eingestellt sein. Dann kann beispielsweise K-Means-Clustering verwendet werden. Beim K-Means-Clustering werden K Zentren anfangs zufällig in dem latenten Raum verteilt, und dann werden sie bewegt, so dass die Summe der quadratischen Abstände der Repräsentationen von ihrem jeweiligen Zentrum minimiert ist.
  • In einer besonders vorteilhaften Ausführungsform wird der Wert dieses Hyperparameters K für eine maximale Diversität von Fake-Bildern, die durch das Generator-Netz erzeugt werden, optimiert. Beispielsweise kann diese Diversität in Form der „Fréchet Inception Distance“, FID, gemessen werden. Auf diese Weise wird die Anzahl unterschiedlicher Cluster automatisch auf die Anzahl eingestellt, die die Menge von Trainingseingabebildern tatsächlich unterstützt. Es wird kein Versuch mehr unternommen, eine Unterscheidung zwischen Clustern, die tatsächlich nicht erkennbar ist, in die Menge von Trainingseingabebildern zu interpretieren.
  • In einer besonders vorteilhaften Ausführungsform wird das Generator-Netz zusätzlich mit dem Ziel trainiert, dass das Fake-Bild durch das Clustering-Netz auf eine Angabe des Ziel-Clusters abgebildet wird. Beispielsweise kann neben der Verlustfunktion Ladv(G,C,D) ein weiterer additiver Term L m i ( G ) = E z P Z , c P C log [ p ( y = c | G ( z , c ) ) ]
    Figure DE102020211475A1_0003
    berücksichtigt werden. Das zusätzliche Trainingsziel dient zum Bestrafen einer degenerierten „Schummel“-Lösung, auf die das Clustering-Netz C und das Generator-Netz G zurückgreifen könnten, um vor dem Diskriminator D zu verbergen, dass die Zuweisung eines Bilds zu einem speziellen Cluster ein Fake ist: Falls das Clustering-Netz nur die Zuweisung der Cluster zu Eingabebildern randomisiert, kann das Kombinieren eines realistisch erzeugten Fake-Bilds mit irgendeinem Ziel-Cluster nicht schlechter sein als das. Das heißt, falls das Fake-Bild realistisch aussieht, kann das Fake-Paar, in dem es enthalten ist, als ein echtes Paar durchgehen. Das zusätzliche Trainingsziel und der Verlust Lmi(G) dienen dazu, dieses zu vermeiden.
  • In einer weiteren besonders vorteilhaften Ausführungsform wird das Clustering-Netz zusätzlich mit dem Ziel trainiert, dass das Clustering-Netz eine transformierte Version des Eingabebilds, die durch Unterziehen des Eingabebilds einer oder mehrerer vorbestimmter Störungen erhalten wird, auf eine Repräsentation abbildet, die dasselbe Cluster angibt, zu dem das Eingabebild gehört. Auf diese Weise kann berücksichtigt werden, dass die vorbestimmten Störungen die semantische Bedeutung des Bilds nicht ändern, so dass eine Änderung des Clusters nicht angebracht ist. Beispielsweise kann ein weiterer additiver Beitrag L a u g ( C ) = E x P R c = 1 K p ( y = c | x t ) log [ p ( y = c | x ) ]
    Figure DE102020211475A1_0004
    zu der Verlustfunktion berücksichtigt werden. Hier ist xt die transformierte Version des Bilds.
  • Beispielsweise können die vorbestimmten Störungen eines oder mehrere aus Beschneiden, Farb-Jittering und Umdrehen umfassen.
  • Wenn die gesamte Verlustfunktion aus Ladv(G, C, D), Lmi(G), Laug(C) und möglicherweise mehr Beiträgen zusammengestellt wird, können die Beiträge in Bezug aufeinander gewichtet werden, um die Trainingsziele zu priorisieren. Die gesamte Verlustfunktion wird in Bezug auf die Parameter, die das Verhalten des Diskriminator-Netzes D charakterisieren, maximiert. Das Ergebnis wird wiederum in Bezug auf die Parameter, die das Verhalten des Clustering-Netzes C und das Verhalten des Generator-Netzes G charakterisieren, minimiert.
  • Das Clustering-Netz kann zusätzlich mit dem Ziel der Maximierung der wechselseitigen Informationen zwischen einerseits einer Repräsentation, auf die das Clustering-Netz das Eingabebild abbildet, und andererseits einer Repräsentation, auf die das Clustering-Netz die transformierte Version des Eingabebilds abbildet, trainiert werden. Das bedeutet, dass dann, wenn das eine bekannt ist, das bereits einen Hinweis darauf gibt, was das andere sein kann.
  • Außerdem kann das Generator-Netz zusätzlich mit dem Ziel der Maximierung der wechselseitigen Informationen zwischen einerseits einem Cluster, dem die Clustering-Netze ein Fake-Bild zuweisen, und andererseits der Angabe des Ziel-Clusters, mit dem das Fake-Bild produziert wurde, trainiert werden. Das verbessert die Selbstkonsistenz.
  • Wechselseitige Informationen können beispielsweise in Form von Kreuzentropie gemessen werden.
  • In einer weiteren besonders vorteilhaften Ausführungsform kann ein Diskriminator-Netz gewählt werden, das für ein Paar, das in das Diskriminator-Netz eingegeben wird, getrennt ausgibt,
    • • einerseits, ob das Bild, das in dem Paar enthalten ist, ein echtes Bild oder ein Fake-Bild ist, und
    • • andererseits, ob das Paar als Ganzes ein echtes Paar oder ein Fake-Paar ist.
  • Falls das Diskriminator-Netz auf diese Weise aufgebaut ist, kann die gegnerische Verlustfunktion sowohl Terme, die von Bildern abhängen, als auch Terme, die von Paaren abhängen, umfassen.
  • Die Erfindung stellt außerdem ein Verfahren zum Erzeugen synthetischer Bilder basierend auf einer gegebenen Menge von Bildern bereit. Im Verlauf dieses Verfahrens kann eine Kombination aus einem Clustering- und einem Generator-Netz trainiert werden, wie vorstehend diskutiert, unter Verwendung der gegebenen Menge von Bildern als Trainingsbilder. Rauschmuster werden dann aus einer Zufallsverteilung gezogen, und Angaben von Ziel-Clustern werden aus der Menge von Clustern, die durch das Clustering-Netz während des Trainings identifiziert werden, gezogen. Unter Verwendung des Generator-Netzes werden die Rauschmuster und die Angaben der Ziel-Cluster auf die gesuchten synthetischen Bilder abgebildet.
  • Wie vorstehend diskutiert lernt das Clustering-Netz während des Trainings der Kombination aus dem Clustering-Netz und dem Generator-Netz auf nicht überwachte Weise, welche Merkmale des Trainingseingabebilds verwendet werden können, um die Menge von Trainingseingabebildern in Cluster aufzuteilen. Dieses „Repräsentationslernen“ erfasst grundlegende Merkmale der Trainingseingabebilder und kann verwendet werden, um die Aufgabe zum Klassifizieren von Bildern zu erleichtern: Sobald das Clustering-Netz trainiert ist, muss das Training für eine spezielle Bildklassifizierungsaufgabe nicht mehr von Grund auf starten. Vielmehr kann ein solches Training ab den Repräsentationen, auf die das Clustering-Netz Eingabebilder abbildet, starten. Das heißt, das Training startet nicht mit den Rohbildern, sondern mit einer Form der Bilder, an denen bereits einige Arbeit ausgeführt worden ist.
  • Somit kann ein Bildklassifizierer, der konfiguriert ist, ein Eingabebild auf eine Klassifizierungsbewertung in Bezug auf eine oder mehrere Klassen aus einer vorbestimmten Menge verfügbarer Klassen abzubilden, umfassen:
    • • ein Clustering-Netz, das gemäß dem vorstehend beschriebenen Verfahren trainiert ist; und
    • • ein Klassifizierer-Netz, das konfiguriert ist, Repräsentationen, die durch das Clustering-Netz produziert werden, auf Klassifizierungsbewertungen in Bezug auf eine oder mehrere Klassen aus einer vorbestimmten Menge verfügbarer Klassen abzubilden.
  • Das erleichtert die Arbeit des Klassifizierer-Netzes sehr. Eine bildliche Analogie zu dieser Herangehensweise ist, dass es viel leichter ist, eine Sonde zum Mond von einer Basis in einer Erdumlaufbahn zu starten (was dem trainierten Clustering-Netz entspricht), als es ist, die gleiche Sonde von der Erdoberfläche zu starten.
  • Die Erfindung stellt außerdem ein Verfahren zum Trainieren des Bildklassifizierers, der eine Kaskade aus einem Clustering-Netz und einem Klassifizierer-Netz umfasst, bereit. Im Verlauf dieses Verfahrens werden Trainingsbilder und entsprechende Trainingsklassifizierungsbewertungen („Kennzeichen“) bereitgestellt. Die Trainingsbilder werden durch das Clustering-Netz auf Repräsentationen in dem latenten Raum abgebildet. Das Klassifizierer-Netz bildet die so erhaltenen Repräsentationen auf Klassifizierungsbewertungen ab.
  • Diese Klassifizierungsbewertungen werden mit den Trainingsklassifizierungsbewertungen verglichen. Das Resultat dieses Vergleichs wird mit einer vorbestimmten Verlustfunktion beurteilt. Parameter, die das Verhalten des Klassifizierernetzes charakterisieren, werden mit dem Ziel der Verbesserung der Beurteilung durch die Verlustfunktion, die resultiert, wenn die Verarbeitung der Trainingsbilder fortgesetzt wird, optimiert.
  • Beispielsweise kann ein solches Training in Schritte und Epochen unterteilt sein. Nach jedem Schritt wird basierend auf der Beurteilung durch die Verlustfunktion eine Aktualisierung für die Parameter des Klassifizierer-Netzes bestimmt.
  • Beispielsweise können Gradienten der Verlustfunktion in Bezug auf die Parameter durch das Klassifizierer-Netz rückpropagiert werden. Eine Epoche ist fertiggestellt, wenn alle verfügbaren Trainingsbilder einmal verwendet worden sind. Normalerweise erstreckt sich ein Training über viele Epochen.
  • Es ist ein besonderer Vorteil dieses Trainingsverfahrens, dass das „Repräsentationslernen“ des Klassifizierer-Netzes ziemlich generisch ist, was bedeutet, dass ein und dasselbe trainierte Klassifizierer-Netz für viele Klassifizierungsaufgaben verwendet werden kann. Um von einer Klassifizierungsaufgabe zur nächsten umzuschalten, ist nur ein neues Training oder Wiedertraining des Klassifizierer-Netzes erforderlich.
  • Deshalb werden in einer besonders vorteilhaften Ausführungsform wenigstens zwei Klassifizierer-Netze mit demselben Clustering-Netz jedoch mit unterschiedlichen Trainingsbildern und Klassifizierungsbewertungen trainiert.
  • Die vorstehend beschriebenen Verfahren können vollständig oder teilweise computerimplementiert sein. Sie können somit in einem Computerprogramm verwirklicht sein, das auf einen oder mehrere Computer geladen sein kann. Die Erfindung stellt deshalb auch ein Computerprogramm mit maschinenlesbaren Anweisungen bereit, die dann, wenn sie durch einen oder mehrere Computer ausgeführt werden, den einen oder die mehreren Computer veranlassen, ein oder mehrere Verfahren wie vorstehend beschrieben auszuführen. In dieser Hinsicht sind eingebettete Systeme und Steuereinheiten, z. B. zum Gebrauch in Fahrzeugen oder anderen Maschinen, die Programmcode ausführen können, ebenfalls als Computer betrachtet.
  • Die Erfindung stellt außerdem ein nicht-transitorisches computerlesbares Speichermedium und/oder ein Produkt zum Herunterladen mit dem Computerprogramm bereit. Ein Produkt zum Herunterladen ist ein digitales Produkt, das über ein Computernetz zugestellt werden kann, d. h. durch einen Anwender des Computernetzes heruntergeladen werden kann, das z. B. zum Verkauf angeboten und sofort in einem Online-Shop heruntergeladen werden kann.
  • Außerdem können ein oder mehrere Computer mit dem Computerprogramm, dem computerlesbaren Speichermedium und/oder mit dem Produkt zum Herunterladen ausgestattet sein.
  • Figurenliste
  • Im Folgenden wird die Erfindung unter Verwendung von Figuren ohne irgendeine Absicht, den Schutzbereich der Erfindung einzuschränken, dargestellt. In den Figuren zeigen:
    • 1: eine beispielhafte Ausführungsform des Verfahrens 100 zum Trainieren einer Kombination aus einem Clustering-Netz C und einem Generator-Netz G;
    • 2: eine beispielhafte Ausführungsform des Verfahrens 200 zum Erzeugen synthetischer Bilder 11 aus gegebenen Bildern 10;
    • 3: Beispiele für synthetische Bilder 11, die durch das Verfahren 200 basierend auf der MNIST-Datenmenge handgeschriebener Zahlen erzeugt sind;
    • 4: eine beispielhafte Ausführungsform des Verfahrens 300 zum Trainieren eines Bildklassifizierers 20.
  • 1 ist ein schematischer Ablaufplan einer Ausführungsform des Verfahrens 100 zum Trainieren einer Kombination aus einem Clustering-Netz C und einem Generator-Netz G.
  • In Schritt 105 wird eine Menge von Trainingseingabebildern 1a bereitgestellt. In Schritt 110 bildet das Clustering-Netz C diese Trainingseingabebilder auf Repräsentationen 2 in einem latenten Raum Z ab. Jede Repräsentation 2 gibt ein Cluster 2a-2c an, zu dem das Eingabebild 1 gehört. Die Anzahl von Clustern 2a-2c kann im Voraus bekannt sein (z. B. eine voreingestellte Zahl K), die Zentren dieser Cluster 2a-2c und die Grenzen zwischen ihnen erscheinen jedoch während der Verarbeitung vieler Trainingseingabebilder 1a.
  • In Schritt 120 werden Rauschmuster 3 aus einer Zufallsverteilung gezogen. Außerdem werden aus der Menge der Cluster 2a-2c, die vorher durch das Clustering-Netz C identifiziert sind, Angaben von Ziel-Clustern 2a-2c gezogen (als Proben genommen). In Schritt 130 werden die Rauschmuster 3 und die Angaben der Ziel-Cluster 2a-2c durch das Generator-Netz G auf Fake-Bilder 4 abgebildet. In Schritt 140 wird jedes Fake-Bild 4 mit der Angabe des Ziel-Clusters 2a-2c, mit dem es produziert wurde, kombiniert, um ein Fake-Paar 4* zu bilden.
  • Optional kann gemäß Block 131 eine voreingestellte Anzahl K von Clustern 2a-2c für eine maximale Diversität von Fake-Bildern 4, die durch das Generator-Netz G erzeugt werden, optimiert sein.
  • In Schritt 150 werden echte Bilder 1 aus der Menge von Trainingseingabebildern 1a gezogen. In Schritt 160 wird jedes echte Bild 1 mit einer Angabe des Clusters 2a-2c, zu dem es das Clustering-Netz C zugewiesen hat, kombiniert, um ein echtes Paar 1* zu bilden.
  • Eine Mischung aus echten Paaren 1* und Fake-Paaren 4* wird in Schritt 170 in das Diskriminator-Netz D eingegeben. Der Diskriminator D gibt eine Entscheidung 1* v 4* aus, ob das eingegebene Paar ein echtes Paar 1* oder ein Fake-Paar 4* ist.
  • In Schritt 180 werden Parameter 5, die das Verhalten des Diskriminator-Netzes D charakterisieren, mit dem Ziel zum Verbessern der Genauigkeit, mit der das Diskriminator-Netz D zwischen echten Paaren 1* und Fake-Paaren 4* unterscheidet, optimiert. Der endgültig trainierte Zustand dieser Parameter ist mit dem Bezugszeichen 5* gekennzeichnet.
  • In Abstimmung mit diesem Training werden in Schritt 190 Parameter 6, die das Verhalten des Clustering-Netzes C charakterisieren, und Parameter 7, die das Verhalten des Generator-Netzes G charakterisieren, optimiert mit dem Ziel der Verschlechterung der Genauigkeit der Entscheidungen 1* v 4*, die durch das Diskriminator-Netz D getroffen werden. Die endgültig trainierten Zustände der Parameter 6 und 7 sind mit den Bezugszeichen 6* bzw. 7* gekennzeichnet.
  • Insbesondere kann gemäß Block 191 das zusätzliche Optimierungsziel, dass das Fake-Bild 4 durch das Clustering-Netz C auf eine Angabe des Ziel-Clusters 2a-2c abgebildet wird, angestrebt werden, wenn das Generator-Netz G trainiert wird.
  • Gemäß Block 192 kann das Clustering-Netz C ferner mit dem Ziel trainiert werden, dass das Clustering-Netz C eine transformierte Version 1' des Eingabebilds 1, die durch Unterziehen des Eingabebilds 1 einer oder mehrerer vorbestimmten Störungen erhalten worden ist, auf eine Repräsentation 2 abbildet, die dasselbe Clustering 2a-2c angibt, zu dem das Eingabebild 1 gehört.
  • Gemäß Block 192a kann das Clustering-Netz C zusätzlich mit dem Ziel der Maximierung der wechselseitigen Informationen zwischen einerseits einer Repräsentation 2, auf die das Clustering-Netz C das Eingabebild abbildet, und andererseits einer Repräsentation 2, auf die das Clustering-Netz C die transformierte Version 1' des Eingabebilds 1 abbildet, trainiert werden.
  • Gemäß Block 193 kann der Generator 193 mit dem weiteren Ziel der Maximierung der wechselseitigen Informationen zwischen einerseits einem Cluster 2a-2c, dem die Clustering-Netze ein Fake-Bild 4 zuweisen, und andererseits der Angabe des Ziel-Clusters 2a-2c, mit dem dieses Fake-Bild 4 produziert wurde, trainiert werden.
  • 2 ist eine schematische Ablaufplanausführungsform des Verfahrens 200 zum Erzeugen synthetischer Bilder basierend auf einer gegebenen Menge von Bildern 10.
  • In Schritt 210 wird eine Kombination aus einem Clustering-Netz C und einem Generator-Netz G durch das vorstehend beschriebene Verfahren 100 unter Verwendung der gegebenen Menge von Bildern als Trainingsbilder 1a trainiert.
  • In Schritt 220 werden Rauschmuster 3 aus einer Zufallsverteilung gezogen, und Angaben von Ziel-Clustern 2a-2c werden aus der Menge von Clustern 2a-2c, die durch das Clustering-Netz C während des Trainings identifiziert werden, gezogen.
  • In Schritt 230 werden die Rauschmuster 3 und die Angaben der Ziel-Cluster 2a-2c durch das Generator-Netz G auf die gesuchten synthetischen Bilder 11 abgebildet.
  • 3 zeigt Beispiele für synthetische Bilder 11, die durch das gerade beschriebene Verfahren 200 erzeugt sind.
  • In 3 ist Bild (a) eines der Bilder aus der gegebenen Menge von Bildern 10. Hier wurden Bilder handgeschriebener Ziffern aus der bekannten MNIST-Datenmenge als gegebene Bilder 10 verwendet. Bild (b) ist eine fast exakte GAN-Rekonstruktion des gegebenen Bilds 10.
  • Jetzt wurden synthetische Bilder 11 produziert. Die Bilder (c) und (d) zeigen beispielhafte synthetische Bilder 11 für dasselbe Cluster, dem das gegebene Bild 10 zugewiesen wurde.
  • Bild (c) zeigt zehn synthetische Bilder 11, die mit einer voreingestellten Anzahl K von Clustern 2a-2c für das Clustering, die auf 10 eingestellt war, produziert wurden. Diese Anzahl K von Clustern 2a-2c verursacht, dass wenigstens die Kategorie des gegebenen Bilds 10 reproduziert wird, jedoch weisen einige der synthetischen Ziffern eine Form auf, die von der Form in dem gegebenen Bild 10 recht verschieden ist.
  • Bild (d) zeigt zehn synthetische Bilder 11, die mit der auf 50 eingestellten voreingestellten Anzahl K von Clustern produziert wurden. Diese Anzahl von Clustern ist ausreichend, um auch die Form der jeweiligen Ziffer in dem gegebenen Bild 10 zu codieren. Als eine Konsequenz wird diese Form in den synthetischen Bildern 11 reproduziert.
  • 4 ist ein schematischer Ablaufplan des Verfahrens 300 zum Trainieren eines Bildklassifizierers 20, der ein Clustering-Netz C und ein Generator-Netz G umfasst. Der Klassifizierer 20 ist konfiguriert, ein Eingabebild 1 auf eine Klassifizierungsbewertung 8 in Bezug auf eine oder mehrere Klassen 8a-8c aus einer vorbestimmten Menge verfügbarer Klassen 8a-8c abzubilden.
  • In Schritt 310 werden Trainingsbilder 1a und entsprechende Trainingsklassifizierungsbewertungen 1b bereitgestellt.
  • In Schritt 320 bildet das Clustering-Netz C die Trainingsbilder 1a auf Repräsentation 2 in dem latenten Raum Z ab.
  • In Schritt 330 bildet das Klassifizierer-Netz Q die Repräsentation 2 auf Klassifizierungsbewertungen 8 ab.
  • In Schritt 340 werden die Klassifizierungsbewertungen 8 mit den Trainingsklassifizierungsbewertungen 1b verglichen. Das Resultat 340a dieses Vergleichs 340 wird in Schritt 350 mit einer vorbestimmten Verlustfunktion 21 beurteilt.
  • In Schritt 360 die Parameter 9, die das Verhalten des Klassifizierer-Netzes Q charakterisieren, mit dem Ziel, die Beurteilung 350a der Verlustfunktion 21 zu verbessern, die resultiert, wenn das Verarbeiten der Trainingsbilder 1a fortgesetzt wird. Der schließlich erhaltene Zustand der Parameter 9 ist mit dem Bezugszeichen 9* gekennzeichnet.
  • 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
    • DE 102018204494 B3 [0004]

Claims (15)

  1. Verfahren (100) zum Trainieren einer Kombination aus • einem Clustering-Netz (C), das konfiguriert ist, ein Eingabebild (1) auf eine Repräsentation (2) in einem latenten Raum (Z) abzubilden, wobei diese Repräsentation (2) ein Cluster (2a-2c) angibt, zu dem das Eingabebild (1) gehört; und • einem Generator-Netz (G), das konfiguriert ist, ein Rauschmuster (3) und eine Angabe eines Ziel-Clusters (2a-2c) auf ein Bild (4), das zu dem Ziel-Cluster (2a-2c) gehört, abzubilden, wobei das Verfahren (100) die folgenden Schritte umfasst: • Bereitstellen (105) einer Menge von Trainingseingabebildern (1a); • Abbilden (110) durch das Clustering-Netz (C) der Trainingseingabebilder (1a) auf Repräsentationen (2), die Cluster (2a-2c) angeben, zu denen die Trainingseingabebilder (1a) gehören; • Ziehen (120) von Rauschmustern (3) aus einer Zufallsverteilung und Angaben von Ziel-Clustern (2a-2c) aus der Menge von Clustern (2a-2c), die durch das Clustering-Netz (C) identifiziert sind; • Abbilden (130) durch das Generator-Netz (G) der Rauschmuster (3) und der Angaben der Ziel-Cluster (2a-2c) auf Fake-Bilder (4) und Kombinieren (140) jedes Fake-Bilds (4) mit der Angabe des Ziel-Clusters (2a-2c), mit dem es produziert wurde, und dadurch Bilden eines Fake-Paars (4*); • Ziehen (150) echter Bilder (1) aus der Menge von Trainingseingabebildern (1a); • Kombinieren (160) jedes echten Bilds (1) mit einer Angabe des Clusters (2a-2c), dem es durch das Clustering-Netz (C) zugewiesen wurde, und dadurch bilden eines echten Paars (1*); • Eingeben (170) einer Mischung aus echten Paaren (1*) und Fake-Paaren (4*) in ein Diskriminator-Netz (D), das konfiguriert ist, echte Paare (1*) von Fake-Paaren (4*) zu unterscheiden; • Optimieren (180) der Parameter (5), die das Verhalten des Diskriminator-Netzes (D) charakterisieren, mit dem Ziel der Verbesserung der Genauigkeit, mit der das Diskriminator-Netz (D) zwischen echten Paaren (1*) und Fake-Paaren (4*) unterscheidet; und • Optimieren (190) der Parameter (6), die das Verhalten des Clustering-Netzes (C) charakterisieren, und der Parameter (7), die das Verhalten des Generator-Netzes (G) charakterisieren, mit dem Ziel der Verschlechterung dieser Genauigkeit.
  2. Verfahren (100) nach Anspruch 1, wobei das Generator-Netz (G) zusätzlich mit dem Ziel, dass das Fake-Bild (4) durch das Clustering-Netz (C) auf eine Angabe des Ziel-Clusters (2a-2c) abgebildet wird, trainiert wird (191).
  3. Verfahren (100) nach einem der Ansprüche 1 oder 2, wobei das Clustering-Netz (C) ferner mit dem Ziel trainiert wird (192), dass das Clustering-Netz (C) eine transformierte Version (1') des Eingabebilds (1), die durch Unterziehen des Eingabebilds (1) einer oder mehrerer vorbestimmten Störungen erhalten worden ist, auf eine Repräsentation (2), die dasselbe Clustering-Netz (2a-2c) angibt, zu dem das Eingabebild (1) gehört, abbildet.
  4. Verfahren (100) nach Anspruch 3, wobei die vorbestimmten Störungen eines oder mehrere aus dem Folgenden umfassen: Beschneiden, Farb-Jittering und Umdrehen.
  5. Verfahren (100) nach einem der Ansprüche 3 bis 4, wobei das Clustering-Netz (C) zusätzlich mit dem Ziel der Maximierung der wechselseitigen Informationen zwischen einerseits einer Repräsentation (2), auf die das Clustering-Netz (C) das Eingabebild (1) abbildet, und andererseits einer Repräsentation (2), auf die das Clustering-Netz (C) die transformierte Version (1') des Eingabebilds (1) abbildet, trainiert wird (192a).
  6. Verfahren (100) nach einem der Ansprüche 1 bis 5, wobei ein Diskriminator-Netz (D) gewählt wird, das für ein Paar (1*, 4*), das in das Diskriminator-Netz (D) eingegeben wird, separat ausgibt: • einerseits, ob das Bild (1, 4), das in dem Paar (1*, 4*) enthalten ist, ein echtes Bild (1) oder ein Fake-Bild (4) ist, und • andererseits, ob das Paar (1*, 4*) als Ganzes ein echtes Paar (1*) oder ein Fake-Paar (4*) ist.
  7. Verfahren (100) nach einem der Ansprüche 1 bis 6, wobei das Generator-Netz (G) zusätzlich mit dem Ziel der Maximierung der wechselseitigen Informationen zwischen einerseits einem Cluster (2a-2c), dem die Clustering-Netze ein Fake-Bild (4) zuweisen, und andererseits der Angabe des Ziel-Clusters (2a-2c), mit dem dieses Fake-Bild (4) produziert wurde, trainiert wird.
  8. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei das Clustering-Netz (C) die Trainingseingabebilder (1a) in eine voreingestellte Anzahl K von Clustern (2a-2c) unterteilt.
  9. Verfahren (100) nach Anspruch 8, das ferner Folgendes umfasst: Optimieren (131) der Anzahl K von Clustern (2a-2c) für eine maximale Diversität von Fake-Bildern (4), die durch das Generator-Netz (G) erzeugt werden.
  10. Verfahren (200) zum Erzeugen synthetischer Bilder (11) basierend auf einer gegebenen Menge von Bildern (10), das die folgenden Schritte umfasst: • Trainieren (210) einer Kombination aus einem Clustering-Netz (C) und einem Generator-Netz (G) durch das Verfahren (100) nach einem der Ansprüche 1 bis 9 unter Verwendung der gegebenen Menge von Bildern (10) als Trainingsbilder (1a); • Ziehen (220) von Rauschmustern (3) aus einer Zufallsverteilung und Angaben von Ziel-Clustern (2a-2c) aus der Menge von Clustern (2a-2c), die durch das Clustering-Netz (C) während des Trainings identifiziert werden; und • Abbilden (230) durch das Generator-Netz (G) der Rauschmuster (3) und der Angaben des Ziel-Cluster (2a-2c) auf die gesuchten synthetischen Bilder (11).
  11. Verfahren (300) zum Trainieren eines Bildklassifizierers (20), der konfiguriert ist, ein Eingabebild (1) auf eine Klassifizierungsbewertung (8) in Bezug auf eine oder mehrere Klassen (8a-8c) aus einer vorbestimmten Menge verfügbarer Klassen (8a-8c) abzubilden, wobei der Bildklassifizierer Folgendes umfasst: • ein Clustering-Netz (C), das gemäß dem Verfahren (100) nach einem der Ansprüche 1 bis 9 trainiert ist; und • ein Klassifizierer-Netz (Q), das konfiguriert ist, Repräsentationen (2), die durch das Clustering-Netz (C) produziert sind, auf Klassifizierungsbewertungen (8) in Bezug auf eine oder mehrere Klassen (8a-8c) aus der vorbestimmten Menge verfügbarer Klassen (8a-8c) abzubilden, wobei das Verfahren (300) die folgenden Schritte umfasst: • Bereitstellen (310) von Trainingsbildern (1a) und entsprechenden Trainingsklassifizierungsbewertungen (1b); • Abbilden (320) durch das Clustering-Netz (C) der Trainingsbilder (1a) auf Repräsentationen (2) in dem latenten Raum (Z); • Abbilden (330) durch das Klassifizierer-Netz (Q) der so erhaltenen Repräsentationen (2) auf Klassifizierungsbewertungen (8); • Vergleichen (340) der so erhaltenen Klassifizierungsbewertungen (8) mit den Trainingsklassifizierungsbewertungen (1b); • Beurteilen (350) des Resultats (340a) des Vergleichs (340) mit einer vorbestimmten Verlustfunktion (21); und • Optimieren (360) der Parameter (9), die das Verhalten des Klassifizierernetzes (Q) charakterisieren, mit dem Ziel der Verbesserung des Resultats (350a) der Beurteilung durch die Verlustfunktion (21), das resultiert, wenn das Verarbeiten der Trainingsbilder (1a) fortgesetzt wird.
  12. Verfahren (300) nach Anspruch 11, wobei wenigstens zwei Klassifizierer-Netze (Q) mit demselben Clustering-Netz (C) jedoch unterschiedlichen Trainingsbildern (1a) und Klassifizierungsbewertungen (1b) trainiert werden.
  13. Computerprogramm, das maschinenlesbare Anweisungen umfasst, die dann, wenn sie durch einen oder mehrere Computer ausgeführt werden, den einen oder die mehreren Computer veranlassen, eines oder mehrere der Verfahren (100, 200, 300) nach einem der Ansprüche 1 bis 12 auszuführen.
  14. Nicht-transitorisches computerlesbares Speichermedium mit dem Computerprogramm nach Anspruch 13.
  15. Ein oder mehrere Computer mit dem Computerprogramm nach Anspruch 13 und/oder mit dem nicht-transitorischen computerlesbaren Speichermedium nach Anspruch 14.
DE102020211475.7A 2020-09-14 2020-09-14 Kaskadierte Cluster-Generator-Netze zum Erzeugen synthetischer Bilder Pending DE102020211475A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020211475.7A DE102020211475A1 (de) 2020-09-14 2020-09-14 Kaskadierte Cluster-Generator-Netze zum Erzeugen synthetischer Bilder
US17/374,529 US20220083817A1 (en) 2020-09-14 2021-07-13 Cascaded cluster-generator networks for generating synthetic images
CN202111068580.4A CN114187482A (zh) 2020-09-14 2021-09-13 用于生成合成图像的级联聚类生成器网络

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020211475.7A DE102020211475A1 (de) 2020-09-14 2020-09-14 Kaskadierte Cluster-Generator-Netze zum Erzeugen synthetischer Bilder

Publications (1)

Publication Number Publication Date
DE102020211475A1 true DE102020211475A1 (de) 2022-03-17

Family

ID=80351882

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020211475.7A Pending DE102020211475A1 (de) 2020-09-14 2020-09-14 Kaskadierte Cluster-Generator-Netze zum Erzeugen synthetischer Bilder

Country Status (3)

Country Link
US (1) US20220083817A1 (de)
CN (1) CN114187482A (de)
DE (1) DE102020211475A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018204494B3 (de) 2018-03-23 2019-08-14 Robert Bosch Gmbh Erzeugung synthetischer Radarsignale

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11748851B2 (en) * 2019-03-25 2023-09-05 Korea Advanced Institute Of Science And Technology Method of replacing missing image data by using neural network and apparatus thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018204494B3 (de) 2018-03-23 2019-08-14 Robert Bosch Gmbh Erzeugung synthetischer Radarsignale

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GHASEDI, Kamran, et al. Balanced self-paced learning for generative adversarial clustering network. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. S. 4386-4395
LIANG, Jie, et al. Sub-GAN: An unsupervised generative model via subspaces. In: Proceedings of the European Conference on Computer Vision (ECCV). 2018

Also Published As

Publication number Publication date
CN114187482A (zh) 2022-03-15
US20220083817A1 (en) 2022-03-17

Similar Documents

Publication Publication Date Title
DE60208223T2 (de) Anordnung und verfahren zur gesichtserkennung unter verwendung von teilen des gelernten modells
DE102019006149A1 (de) Begrenzungsbewusste Objektentfernung und Contentfüllung
DE202017007528U1 (de) Differenzmetrik für auf maschinellem Lernen basierende Verarbeitungssysteme
DE102019209644A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
DE19648016A1 (de) Verfahren zur fraktalen Bildkodierung und Anordnung zur Durchführung des Verfahrens
DE112021006280T5 (de) Generieren von daten auf grundlage von vorab trainierten modellen unter verwendung generierender konkurrierender modelle
DE102021203021A1 (de) Semantisch konsistente erweiterte trainingsdaten zur ampelerkennung
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
DE112010005982T5 (de) Kartensymbol zeichnende Vorrichtung
DE102018206806A1 (de) Verfahren und Vorrichtung zur Umsetzung eines Eingangsbildes einer ersten Domäne in ein Ausgangsbild einer zweiten Domäne
DE102022110889A1 (de) Halbüberwachtes training grober labels bei bildsegmentierung
DE102021124445A1 (de) Metamerkmal-trainingsmodelle für maschinenlernalgorithmen
EP1190373B1 (de) Verfahren zum adresslesen
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
DE102020211475A1 (de) Kaskadierte Cluster-Generator-Netze zum Erzeugen synthetischer Bilder
DE202022104461U1 (de) Syntaxgeleitetes Erkennungssystem für mathematische Termini
DE102021205447A1 (de) Datenanreicherung für das Trainieren von Bildklassifizierern
DE102021204550A1 (de) Verfahren zum Erzeugen wenigstens eines Datensatzes zum Trainieren eines Algorithmus maschinellen Lernens
WO2021175783A1 (de) Computerimplementiertes verfahren und system zum erzeugen synthetischer sensordaten und trainingsverfahren
DE102020202795A1 (de) Verfahren und Vorrichtung zum Komprimieren eines Neuronalen Netzes
DE102020210710A1 (de) Trainingsverfahren für einen Generator zur Erzeugung realistischer Bilder
DE60007333T2 (de) Trainierbares, anpassungfähiges fokussiertes replikatornetzwerk zur datenanalyse
DE102021204960A1 (de) Numerisch stabileres Trainingsverfahren für Bildklassifikatoren
DE102022208083A1 (de) Trainieren eines neuronalen Netzwerks mit Hilfe von Wissensgraphen
DE102021200614A1 (de) Domänenunabhängiges Training von Bildklassifikatoren

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