-
Technisches Gebiet
-
Die Erfindung bezieht sich auf ein Verfahren zum Übertragen eines Merkmals eines ersten Bilds an ein zweites Bild unter Verwendung künstlicher neuronaler Netze und ein Verfahren, um diese künstlichen neuronalen Netze zu trainieren.
-
Hintergrund
-
Die Bilderzeugung hat aufgrund des Erfolgs tief generativer kontradiktorischer Netze (GAN) breite Beachtung gefunden. Diese Modelle lernen Verteilungen von Merkmalen in realen Datensätzen und erzeugen Bilder mit dem trainierten Modell. Während ein Erzeugen von Bildern aus Zufallsvektoren oder Bildkategorien unter einer sich ergebenden Unschärfe leidet, sind bildbasierte Bilderzeugungsmodelle in der Lage, scharfe und realistische Bilder zu erzeugen. Verschiedene Ansätze sind vorgeschlagen worden, um schwierige Bilderzeugungsprobleme anzugehen. Die meisten dieser Modelle lernen die Verteilung des Datensatzes im Bildraum und fragen ein Gesamtbild aus dem trainierten Modell, das auf ein Bild konditioniert ist, ab.
-
Ein Erzeugen von Bildern aus gegebenen Merkmalen wurde unter Verwendung einer Interpolation tiefer Merkmale in einem trainierten Modell, das Bilder mit gegebenen Merkmalen erzeugt, oder durch eine Manipulation von Merkmalen in einem GAN-Rahmen untersucht. Ein zweistufiges Schema zum Training des gesamten Netzes und Erzeugen von Bildern mit dem gegebenen Merkmal wurde angewandt. Um ein realistisches Aussehen der erzeugten Bilder zu gewährleisten, wurden Algorithmen, die zwei Netze, ein Transformationsnetz und ein Verbesserungsnetz, enthalten, verwendet. Derartige Algorithmen versuchen typischerweise eine implizite Verteilung eines Merkmals zu lernen.
-
Für einige praktische Anwendung einer Bildklassifizierung, wie z. B. eine Fehlerdetektion in der Produktionsautomatisierung und eine Krankheitsdetektion in der medizinischen Bildklassifizierung ist der Datensatz von Bildern stark unausgewogen. Es sind viel weniger Bilder, die die Anomalie zeigen, z. B. Produktbilder mit Fehlern oder medizinische Bilder mit bösartigen Tumorzellen, als Bilder ohne Anomalien vorhanden. Ein Training robuster Bildklassifikatoren auf der Grundlage derartiger Datensätze ist schwierig.
-
Ausführliche Beschreibung der Erfindung
-
Entsprechend ist die vorliegende Erfindung auf ein Verfahren, um ein Merkmal eines Merkmalsbilds, das das Merkmal enthält, unter Verwendung eines künstlichen neuronalen Erzeugungsnetzes an ein unverfälschtes Bild zu übertragen, und ein Verfahren, um das künstliche neuronale Erzeugungsnetz mit den Merkmalen, die in den unabhängigen Ansprüchen beschrieben sind, zu trainieren, gerichtet. Die Erfindung ist außerdem auf ein Computerprogrammprodukt und ein computerlesbares Speichermedium, die konfiguriert sind, die Verfahren auszuführen, gerichtet.
-
Vorteilhafte Änderungen der Erfindung sind in den abhängigen Ansprüchen angegeben. Alle Kombinationen von mindestens zwei Merkmalen, die in der Beschreibung, den Ansprüchen und den Figuren offenbart werden, fallen in den Umfang der Erfindung. Um Wiederholungen zu vermeiden, sollen Merkmale, die gemäß den Verfahren offenbart werden, auch gemäß den erwähnten Systemen und Vorrichtungen gelten und beanspruchbar sein.
-
Die der Erfindung zugrunde liegende Idee ist, zu vermeiden, einem neuronalen Netz die Verteilung von einem Merkmal in einem Bild beizubringen, sondern ihm beizubringen, lediglich ein bestimmtes Merkmal von einem Bild zu einem weiteren zu kopieren, während weitere Bereich der Bilder unverändert gehalten werden. Ansonsten wäre, da einige Merkmale, z. B. Kratzer auf Produkten ziemlich zufällig sind, die implizite Verteilung dieser Merkmale aufgrund der großen erforderlichen Datenmenge kompliziert zu erlernen.
-
Um diese und weitere Vorteile zu erreichen und gemäß dem Zweck dieser Erfindung, wie er hier verkörpert und ausführlich beschrieben ist, wird ein Verfahren bereitgestellt, um ein künstliches neuronales Generator-Netz zu trainieren, das ein Merkmal eines Merkmalsbildes, das dieses Merkmal enthält, zu einem unverfälschten Bild überträgt, indem es eine Trainingssequenz des Generatornetzes wiederholt, bis ein Betrag einer Verlustfunktion des Generatornetzes unter einem vordefinierten Schwellenwert liegt.
-
Das neuronale Generator-Netz kann ein künstliches neuronales Netz (ANN) sein, das ein Rechensystem ist, das in etwa durch die biologischen neuronalen Netze, die Tiergehirne bilden, inspiriert ist. Ein neuronales Netz selbst ist kein Algorithmus, sondern ein Rahmen, damit viele verschiedenen Algorithmen für maschinelles Lernen zusammenarbeiten und komplexe Dateneingaben verarbeiten. Derartige Systeme lernen unter Berücksichtigung von Beispielen, Aufgaben durchzuführen, im Allgemeinen ohne mit aufgabenspezifischen Regeln programmiert zu sein. Ein ANN basiert auf einer Sammlung verbundener Einheiten oder Knoten, die als künstliche Neurone bezeichnet werden. Jede Verbindung kann ein Signal von einem künstlichen Neuron zu einem weiteren übertragen. Ein künstliches Neuron, das ein Signal empfängt, kann es verarbeiten und dann weiteren künstlichen Neuronen, die mit ihm verbunden sind, signalisieren.
-
In üblichen ANN-Implementierung ist das Signal an einer Verbindung zwischen künstlichen Neuronen eine reelle Zahl und die Ausgabe jedes künstlichen Neurons wird durch eine nichtlineare Funktion der Summe seiner Eingänge berechnet. Künstliche Neuronen und Kanten haben typischerweise ein Gewicht, das sich anpasst, während das Lernen fortschreitet. Das Gewicht erhöht oder verringert die Stärke des Signals bei einer Verbindung. Künstliche Neuronen können einen Schwellenwert besitzen, derart, dass das Signal lediglich gesendet wird, wenn das zusammengefasste Signal den Schwellenwert überschreitet. Typischerweise werden künstliche Neuronen in Schichten zusammengefasst. Verschiedene Schichten können verschieden Arten Transformationen an ihren Eingängen durchführen. Signale laufen von der ersten Schicht, der Eingangsschicht, zur letzten Schicht, der Ausgangsschicht, möglicherweise nachdem sie die Schichten mehrfach durchlaufen haben.
-
Die erwähnte Trainingssequenz enthält einen Schritt zum Erzeugen eines Zwischengeneratorbildes durch Liefern eines Merkmalsbildes, das das Merkmal enthält, aus mehreren Merkmalsbildern, die das Merkmal enthalten, und eines unverfälschten Bildes ohne das Merkmal aus mehreren unverfälschten Bildern ohne das Merkmal zum Generatornetz.
-
Mehrere Merkmalsbilder, die das Merkmal enthalten, das an mehrere unverfälschte Bilder ohne das Merkmal übertragen werden soll, können als ein Satz Trainingsbilder für das Generatornetz dienen, wenn die Trainingsfolgen des Verfahrens wie beschrieben durchgeführt werden.
-
Das Generatornetz erzeugt ein Zwischengeneratorbild am Ausgang des Generatornetzes, das aus den an seinem Eingang bereitgestellten Bildern entsteht. Das Generatornetz ist durch seine Netzparameter festgelegt, die für bestimmte Aufgaben des Generatornetzes angewandt werden können und zusammen mit den Eingangsbildern die Ausgabe des Generatornetzes bestimmen.
-
Ein weiterer Schritt der Trainingssequenz ist das Überlagern des Zwischengeneratorbildes mit dem Merkmalsbild, das das Merkmal enthält, um ein gefälschtes Bild zu erzeugen. Das Zwischengeneratorbild ist aufgrund der Struktur des Rahmens des neuronalen Netzes ein Negativbild des Merkmals. Überlagern des Merkmalsbildes mit dem Zwischengeneratorbild kann, abhängig von der Qualität der Leistung des Generatornetzes in einem erzeugten gefälschten Bild resultieren, das das Merkmal nicht mehr enthält.
-
Ein weiterer Schritt der Trainingssequenz ist, das gefälschte Bild und das unverfälschte Bild einem ersten Diskriminatornetz zu liefern. Ein weiterer Schritt ist das Berechnen einer Verlustfunktion des ersten Diskriminatornetzes in jeder ungeraden Trainingssequenz. Als Ergebnis dieses Datenstroms und dieser Struktur besitzt das erste Diskriminatornetz die Aufgabe, vorherzusagen, ob das gefälschte Bild ein echtes Bild ist.
-
Der Diskriminator ist typischerweise aus einer Folge von Schichten aufgebaut. Die erste Schicht des Diskriminators nimmt ein Bild an und der Diskriminator erzeugt einige Werte, die die Wahrscheinlichkeit anzeigen, dass das Eingangsbild echt oder gefälscht ist. Sowohl für den Generator als auch den Diskriminator sind folgende Schichten typisch: Faltungsnetzschichten, z. B. mit oder ohne Erweiterung oder mit oder ohne Tiefentrennung, eine Entfaltungsschicht, Pooling-Schichten, z. B. Maximum-Pooling oder Durchschnitts-Pooling, Normierungsschichten, z. B. Chargennormierung, Schichtennormierung, Normierung mit lokaler Antwort und Instanznormierung, Aktivierungsfunktionen, z. B. gleichgerichtete Lineareinheit (RELU), undichte gleichgerichtete Lineareinheit (Leaky-RELU), exponentielle Lineareinheit (elu), skalierte exponentielle Lineareinheiten (selu), eine Sigmoid-Funktion oder eine tanh-Funktion, ResNet oder ein Block ResNets.
-
Die Trainingssequenz umfasst ferner den Schritt des Überlagerns eines Zwischengeneratorbilds, das zuvor invertiert wurde, mit dem unverfälschten Bild, um ein gefälschtes Merkmalsbild zu bilden. Weil das Zwischengeneratorbild wie zuvor diskutiert ein Negativ des Merkmals ist, muss es zuerst invertiert werden, um das Merkmal dem Bild, das ursprünglich ohne das Merkmal war, hinzuzufügen, indem es mit dem Bild überlagert wird. Dies resultiert in einem gefälschten Bild, das das Merkmal enthält und auf dem unverfälschten Bild basiert.
-
Das Liefern des gefälschten Merkmalsbilds und des Merkmalsbilds zu einem zweiten Diskriminatornetz ist ein weiterer Schritt der Trainingssequenz. Damit ist es möglich, als einen nächsten Schritt eine Verlustfunktion des zweiten Diskriminatornetzes in jeder ungeraden Trainingssequenz zu berechnen.
-
Die Neuberechnung der Netzparameter des ersten und des zweiten Diskriminatornetzes erfolgt als ein weiterer Schritt des beschriebenen Verfahrens in jeder ungeraden Trainingssequenz. Diese Neuberechnung der entsprechenden Netzparameter erfolgt alternativ mit jeder weiteren Folge mit dem Generatornetz.
-
Die Trainingssequenzen werden gezählt, wenn die Anzahl ungerade ist, erfolgt der Schritt des Neuberechnens der Netzparameter des ersten und des zweiten Diskriminatornetzes, und sonst erfolgt keine Aktualisierungsberechnung. Dieses Aktualisieren der Parameter des Generatornetzes und des Diskriminatornetzes kann durch ein Verfahren erfolgen, das als Rückausbreitung bezeichnet wird.
-
Ein weiterer Schritt der Trainingssequenz ist das Berechnen einer Verlustfunktion des Generatornetzes in jeder geraden Trainingssequenz. Die Verlustfunktion kann ein Maß der Qualität des Generatornetzes sein, die geforderte Übertragung des Merkmals durchzuführen.
-
Der Betrag der Verlustfunktion des Generatornetzes bestimmt das Ende der Folgen des Trainings. Wenn der Betragswert der Verlustfunktion unter einem vordefinierten Schwellenwert liegt, enden die Trainingssequenzen des Generatornetzes und das Generatornetz kann als ein trainiertes Generatornetz bezeichnet werden.
-
In jeder geradzahligen Trainingssequenz des Generatornetzes wird eine Neuberechnung der Netzparameter des Generatornetzes durchgeführt. Das bedeutet, dass die Neuberechnung des Generatornetzes und der zwei Diskriminatornetze abwechselnd durchgeführt wird.
-
Die Verbesserung bei Verwendung des beschriebenen Verfahrens ist, dass das Training des Generatornetzes, eine Neuberechnung seiner Parameter auf die beschriebene Weise unter Verwendung von zwei Diskriminatornetzen, in einem sehr stabilen Trainingsverhalten des Generatornetzes in Bezug auf verschiedene Bilder und zu übertragende Merkmale resultiert. Keine sorgfältige Hyperparameterabstimmung ist erforderlich. Das Verwenden nur eines Diskriminatornetzes ist nicht so stabil.
-
Ein weiterer Nutzen des offenbarten Verfahrens ist die Interpretierbarkeit von Zwischenergebnissen, weil das Generatornetz neben der Erzeugung der erforderlichen gefälschten Merkmalsbilder außerdem Zwischengeneratorbilder erzeugt, die das zu übertragende Merkmal, z. B. einen Defekt eines Produkts, repräsentieren. Dies vermittelt eine intuitive Vorstellung über weitere gefälschte Merkmalsbilder.
-
Gemäß einem Aspekt der vorliegenden Erfindung berücksichtigt die Berechnung der Verlustfunktion des Generators eine Ausgabe des ersten und des zweiten Diskriminators.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird die Verlustfunktion des Generators unter Verwendung der folgenden Formel berechnet:
wobei Lg für die Verslustfunktion des Generatornetzes steht, E
x1~p(x) die Erwartung über die Verteilung von realen Bildern ohne Merkmale ist und E
x2~p(x+) die Erwartung über die Verteilung von realen Bildern mit einem Merkmal ist. x1 ist ein Abtastwert des Bildraums, D1(x1) ist die Ausgabe des Diskriminators und G ist die Ausgabe des Generators.
-
Gemäß einem weiteren Aspekt des beschriebenen Verfahrens ist das künstliche neuronale Generatornetz, das für das beschriebene Verfahren verwendet wird, ein neuronales Faltungs-Codierer/Decoder-Netz.
-
Zusätzlich wird ein Verfahren zum Übertragen eines Merkmals eines Merkmalsbildes, das das Merkmal enthält, zu einem aufnehmenden Bild mittels eines künstlichen neuronalen Generatornetzes, das gemäß dem beschriebenen Verfahren zum Trainieren eines künstlichen neuronalen Generatornetzes trainiert ist, bereitgestellt.
-
Das Verfahren zum Übertragen eines Merkmals eines Merkmalsbildes zu einem aufnehmenden Bild mittels eines künstlichen neuronalen Generatornetzes wird offenbart, wobei das Generatornetz gemäß dem oben beschriebenen Verfahren zum Trainieren eines künstlichen neuronalen Generatornetzes trainiert ist.
-
Ein Schritt des Verfahrens zum Übertragen eines Merkmals ist das Liefern des Merkmalsbildes, das das Merkmal enthält, und eines aufnehmenden Bildes ohne das Merkmal, das die Grundlage für ein gefälschtes Merkmalsbild sein sollte, an einen Eingang des künstlichen neuronalen Generatornetzes, wobei das Generatornetz ein Zwischengeneratorbild am Ausgang des Generatornetzes liefert.
-
Der nächste Schritt des Verfahrens zum Übertragen eines Merkmals ist eine Überlagerung des invertierten Zwischengeneratorbildes mit dem aufnehmenden Bild, um das Merkmal des Merkmalsbildes zum aufnehmenden Bild zu übertragen. Dies resultiert in einem gefälschten Merkmalsbild, das das Merkmal enthält und auf dem empfangenden Bild basiert.
-
Eine technische Anwendung des Verfahrens, das Merkmale von einem Merkmalsbild, das das Merkmal enthält, zu einem weiteren Bild überträgt, kann zur Daten-Augmentation verwendet werden. Wenn ein Trainingsdatensatz zum Trainieren neuronaler Netze klein ist, kann das beschriebene Verfahren verwendet werden, um mehr Trainingsbilder für ein verbessertes Modelltraining zu erzeugen. Dies erzeugt einen großen Datensatz real aussehender Bilder mit Anomalien, weil die Anzahl von Bildern ohne Defekte nicht begrenzt ist und die erforderliche Anzahl von Bildern, die zu übertragende Merkmale enthalten, klein ist. Als ein Beispielwert kann es mit einigen hundert Bildern, die das erforderliche Merkmal enthalten, verwendet werden. Das beschriebene Verfahren benötigt keine große Menge von Fehlerbildern, um zu lernen, wie es die Merkmale auf ein Bild eines Produkts, das keinen Fehler aufweist, anwenden kann. Dies ist darauf zurückzuführen, dass es nicht erforderlich ist, die Verteilung des Merkmals in den Bildern zu lernen.
-
Zum Beispiel kann dieses Verfahren zur Datenaugmentation eine automatische optische Prüfung unterstützen. Wenn ein Trainingsdatensatz klein ist, weil lediglich eine geringe Menge von Bildern von einer geringen Menge von Fehlern während der Produktion vorliegt, kann dieses Verfahren verwendet werden, um mehr Trainingsbilder für ein besseres Modelltraining zu erzeugen. Mit diesem verbesserten Modell kann eine Fehlerdetektion, z. B. zur optischen Inspektion auf der Grundlage von Detektionsverfahren durch neuronale Netze verbessert werden. Zum Beispiel können Produktbilder mit Defekten wie Kratzern auf der Grundlage von Produktbildern ohne Fehler erzeugt werden, wenn mindestens einige Beispiele von fehlerhaften Produkten verfügbar sind.
-
Eine weitere technische Anwendung kann eine Bildanalyse zur medizinischen Verwendung sein. Weil das offenbarte Verfahren ein Zwischengeneratorbild erzeugt, das Merkmale repräsentiert, die mit Merkmalen, die charakteristische Gewebeänderung auf der Grundlage von Tumoränderungen anzeigen, korreliert sein können.
-
Eine weitere technische Anwendung des offenbarten Verfahrens kann sein, das Verfahren als z. B. eine Mobiltelefonanwendung anzuwenden, um die Änderung eines Bildes einer Person mit einer Sonnenbrille, die von jemand anderem getragen wird, zu ermöglichen, wenn ein Bild der Sonnenbrille verfügbar ist.
-
Zusätzlich wird ein Verfahren zum Erzeugen gefälschter Merkmalsbilder, die ein Merkmal enthalten, beschrieben. Ein Schritt dieses Verfahrens ist ein iteratives Durchführen des Verfahrens zum Übertragen eines Merkmals eines Merkmalsbildes gemäß dem oben beschriebenen Verfahren, wobei ein Merkmalsbild, das das Merkmal enthält, aus einer ersten Mehrzahl Merkmalsbilder gewählt wird und dem Generatornetz wiederholt geliefert wird, während jedes aufnehmende Bild, das aus einer zweiten Mehrzahl aufnehmender Bilder gewählt wird, dem Generatornetz einmalig geliefert wird. Die Anzahl von Elementen der zweiten Mehrzahl ist höher als die Anzahl von Elementen der ersten Mehrzahl.
-
Dies ermöglicht einem Anwender, mehrere Bilder, die erforderliche Merkmale enthalten, künstlich durch Übertragen von Merkmalen eines Merkmalsbildes zu einem weiteren Bild zu erzeugen, wenn die Anzahl ursprünglicher Bilder, die ein derartiges Merkmal umfassen, beschränkt ist.
-
Ein Computerprogrammprodukt wird beschrieben, das Anweisungen enthält, die, wenn das Programm durch einen Computer ausgeführt wird, bewirken, dass der Computer das Verfahren nach den Ansprüchen 1 bis 4 ausführt.
-
Ein computerlesbares Speichermedium wird beschrieben, das Anweisungen enthält, die, wenn das Programm durch einen Computer ausgeführt wird, bewirken, dass der Computer das Verfahren nach den Ansprüchen 1 bis 4 ausführt.
-
Ein System wird beschrieben, das ein künstliches neuronales Netzsystem umfasst, das durch einen oder mehrere Computer ausgeführt wird, wobei das künstliche neuronale Netzsystem konfiguriert ist, das Verfahren nach den Ansprüchen 1 bis 4 auszuführen.
-
Figurenliste
-
Die begleitenden Zeichnungen, die enthalten sind, um ein besseres Verständnis der Erfindung zu liefern, und in die Erfindung aufgenommen sind und einen Teil dieser Anmeldung bilden, veranschaulichen Ausführungsformen der Erfindung und dienen gemeinsam mit der Beschreibung dazu, das Prinzip der Erfindung zu erläutern. In den Zeichnungen zeigt:
- 1 den Datenfluss im Rahmen neuronaler Netze, die einen Generator und zwei Diskriminatoren enthalten;
- 2 schematisch die Struktur eines künstlichen neuronalen Generatornetzes;
- 3 schematisch die Struktur des künstlichen neuronalen Diskriminatornetzes;
- 4 die Schritte des Verfahrens zum Trainieren des Generatornetzes und
- 5 den Datenfluss zum Übertragen eines Merkmals des Merkmalsbildes zu einem aufnehmenden Bild.
-
Ausführliche Beschreibung einer Ausführungsform der Erfindung
-
1 veranschaulicht einen Datenfluss des Rahmens neuronaler Netze, die ein Generatornetz (G) 1, ein erstes Diskriminatornetz (D1) 2 und ein zweites Diskriminatornetz (D2) 3 enthalten, zum Training des künstlichen neuronalen Generatornetzes (G) 1, das ein Merkmal, das in einem Merkmalsbild enthalten ist, zu einem unverfälschten Bild übertragt. Dieser Rahmen kann verwendet werden, um das Generatornetz (G) 1 das Übertragen von Merkmalen vom Merkmalsbild I+ zu einem unverfälschten Bild I, das das Merkmal aufnehmen soll z. B. weil es das Merkmal nicht umfasst, lernen zu lassen.
-
Die Spezifikation der zu übertragenden Merkmale kann von einer bestimmten Aufgabe abhängen. Zum Beispiel kann das Merkmal zur Gesichtsbildanalyse ‚Bart‘, ‚Brille‘ oder ‚Lächeln‘ sein. Zur optischen Prüfung während der Produktion kann ein Merkmal ‚Fehler‘ sein.
-
Ein Merkmalsbild I+, das ein Bild ist, das ein zu übertragendes Merkmal enthält, und ein unverfälschtes Bild I, das ein Bild ohne das Merkmal ist, werden an einem Eingang 1a bzw. 1b des Generatornetzes (G) 1 bereitgestellt. Die Eingangsdaten des Generatornetzes (G) 1 können ein Satz von zwei Bildern sein und die Ausgabe des Generatornetzes (G) 1 kann ein Bild mit derselben Auflösung wie die Eingangsbilder sein.
-
Wie in 1 angegeben ist, kann der Generatorausgang 1c ein Zwischengeneratorbild als ein Ergebnis seiner Eingabe und des Generatornetzes (G) 1 liefern und kann mit dem Merkmalsbild I+ überlagert und dem ersten Diskriminatornetz D1 an einem ersten Eingang 2a geliefert werden. Einem zweiten Eingang 2b des Diskriminators (D1) 2 wird das unverfälschte Bild I geliefert. Der Diskriminator (D1) 2 liefert sein Diskriminationsergebnis als seine Ausgabe 2c.
-
Außerdem ist in 1 angedeutet, dass das Zwischengeneratorbild invertiert ist, mit dem unverfälschten Bild I überlagert wird und einem ersten Eingang 3a des zweiten Diskriminatornetzes (D2) 3 geliefert wird. Dem zweiten Eingang 3b des zweiten Diskriminatornetzes (D2) 3 wird das Merkmalsbild I+ geliefert. Der Diskriminator (D2) 3 liefert sein Diskriminationsergebnis an seinem Ausgang 3c.
-
Der Gesamtdatenfluss, wie er in 1 gezeigt ist, resultiert in der Erzeugung von zwei gefälschten Bildern, eines mit dem und das andere ohne das Merkmal, das aus den zwei realen Bildern resultiert, wobei dem Generator das Merkmalsbild und das unverfälschte Bild geliefert werden.
-
Neben der Tatsache, dass dieser Rahmen neuronaler Netze ein Generatornetz und ein Diskriminatornetz umfasst, unterscheidet er sich von einem generativen kontradiktorischen Netz (GAN) dadurch, dass er einen zweiten Diskriminator D2 enthält und dass dem Generatornetz G zwei Bilder statt Rauschen im Falle eines GAN-Netzes geliefert werden. Zusätzlich wird das Zwischengeneratorbild, das am Ausgang 1c des Generatornetzes G geliefert wird, nicht direkt zum Diskriminator weitergegeben, sondern zu einem der zwei Eingangsbilder addiert, bevor sie einem der Diskriminatoren geliefert werden.
-
Die Architektur des Generatornetzes kann eine beliebige Architektur sein, die derart konfiguriert ist, dass sie einen Satz von zwei Bildern in ihrer Eingangsstufe aufnimmt und ein Bild in einer Ausgangsstufe liefert, wie z. B. automatische Codierer oder beliebige Architekturen zur semantischen Segmentierung. Eine Ausführungsform des Generatornetzes wird unten in Bezug auf 2 diskutiert.
-
In 2 ist die Struktur eines künstlichen neuronalen Codierer/Decoder-Netzes schematisch gezeigt. Die Architektur derartiger neuronaler Codierer/Decoder-Netze ist typischerweise mit zwei Teilen konstruiert. Der erste Teil ist eine Folge von Schichten, die die Abtastrate der Eingangsnetze zu einer geringeren Auflösung verringern, mit dem Ziel, die gewünschten Informationen zu erhalten und die redundanten Informationen zu verwerfen. Der zweite Teil ist eine Folge von Schichten, die die Abtastrate der Ausgabe des ersten Teils erhöhen und die gewünschte Ausgangsauflösung (z. B. die Eingangsauflösung) wiederherstellen. Wahlweise können Auslassverbindungen vorliegen, die einige Schichten im ersten Teil und im zweiten Teil direkt verbinden.
-
Eine Ausführungsform des Generatornetzes (G) 2 kann die Architektur des Codierer/Decoder-Netzes 20 besitzen, das verwendet werden kann, um einen Ausgangstensor zu erzeugen, der das Zwischengeneratorbild repräsentiert. Das Codierer/Decoder-Netz 20 kann aus einem neuronalen Faltungsnetz-Codierer (CNN-Codierer) 23 und einem CNN-Decoder 24 bestehen. Die Schicht 21 ist die Eingabeschicht und die Schicht 22 ist die Ausgabeschicht des Codierer/Decoder-Netzes 20.
-
Der Codierer 23 des Codierer/Decoder-Netzes 20 ist aus d (z. B. d = 8) Blöcken gebildet. Jeder Block kann eine Schicht, eine Folge von Schichten oder sogar weitere Blöcke von Schichten enthalten. Es können eine Faltungsschicht mit der Kernnummer N1 (z. B. N1 = 32) und Fortschritt 2; Leaky-RELU-Schichten, Faltungsschichten mit der Kernnummer N2 (z. B. N2 = 64) und Fortschritt 2, Normierungsschichten (z. B. Instanznormierung); Leaky-RELU-Schichten, Faltungsschichten mit der Kernnummer N3 (z. B. N3 = 128) und Fortschritt 2, Normierungsschichten (z. B. Instanznormierung); oder mehrere Blöcke von Schichten, wobei jeder Block Leaky-RELU-Schichten enthält, Faltungsschichten mit der Kernnummer N4 (z. B. N4 = 256) und Fortschritt 2, Normierungsschichten (z. B. Instanznormierung) vorliegen.
-
Der Decoder 24 des Codierer/Decoder-Netzes 20 ist auch aus d Blöcken gebildet.
-
Der Decoder kann mehrere Blöcke von Schichten enthalten, wobei jeder Block Leaky-RELU-Schichten, eine Entfaltungsschicht mit der Kernnummer N5 (z. B. N5 = 256) und Fortschritt
2, Normierungsschichten, z. B. Instanznormierung; Leaky-RELU-Schichten, Entfaltungsschichten mit der Kernnummer N6 (z. B. N6 = 128) und Fortschritt
2, Normierungsschichten; Leaky-RELU-Schichten, Entfaltungsschichten mit der Kernnummer N7 z. B. N7 = 128 und Fortschritt
2, Normierungsschichten; Leaky-RELU-Schichten, Entfaltungsschichten mit der Kernnummer N8 (z. B. N8 = 64) und Fortschritt
2, Normierungsschichten; und Leaky-RELU-Schichten, Entfaltungsschichten mit der Kernnummer N9 (z. B. N9=32) und Fortschritt
2, tanh-Schichten enthalten kann. Tabelle 1a beschreibt die Schichten genauer.
Tabelle 1a: Struktur des Generators G |
Eingang 256×256×3 Bilder |
32 Faltung 4×4. Fortschritt 2. |
Leaky-RELU, 64 Faltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 128 Faltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 256 Faltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 256 Faltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 256 Faltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 256 Faltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 256 Faltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 256 Entfaltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 256 Entfaltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 256 Entfaltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 256 Entfaltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 128 Entfaltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 64 Entfaltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 32 Entfaltung 4×4, Fortschritt 2. Instanznormierung |
Leaky-RELU, 3 Entfaltung 4×4, Fortschritt 2. tanh |
-
3 skizziert die Architektur beider Diskriminatoren D1 und D2. Die Schicht
31 ist eine Eingangsschicht einer Ausführungsform der Diskriminatoren D1 und D2. Jeder Diskriminator kann mehrere Blöcke von Schichten enthalten. Er kann Folgendes enthalten: Faltungsschichten mit N10 (z. B. N10 = 64) Kernen und Fortschritt
2, Leaky-RELU; Faltungsschichten mit N11 (z. B. N11 = 128) Kernen und Fortschritt
2, Leaky-RELU; Faltungsschichten mit N12 (z. B. N12 = 256) Kernen und Fortschritt
2, Leaky-RELU; Faltungsschichten mit N13 (z. B. N13 = 512) Kernen und Fortschritt
2, Leaky-RELU; und eine Faltungsschicht oder wahlweise eine Softmax-Schicht. Tabelle 1b beschreibt die Schichten genauer.
Tabelle 1b: Struktur des Diskriminators D1/D2 |
Eingang 256×256×3 Bilder |
64 Faltung 4×4, Fortschritt 2, Leaky-RELU |
128 Faltung 4×4, Fortschritt 2. Instanznormierung, Leaky-RELU |
256 Faltung 4×4, Fortschritt 2. Instanznormierung, Leaky-RELU |
512 Faltung 4×4, Fortschritt 2. Instanznormierung, Leaky-RELU |
1 Faltung 4×4, Fortschritt 1. |
-
Das künstliche neuronale Generatornetz ist trainiert, ein Zwischengeneratorbild zu erzeugen, das dem unverfälschten Bild überlagert werden kann, und überträgt ein Merkmal des Merkmalsbilds zum aufnehmenden Bild, um ein gefälschtes Merkmalsbild, das das Merkmal enthält, zu erzeugen. Um dies zu erreichen, muss der Generator lernen, wie ein Merkmalsbild aussieht, was bedeutet, dass der Generator lernen muss, ein Merkmalsbild, das das Merkmal enthält, zu einem Ausgangszwischengeneratorbild, das nur das Merkmal repräsentiert, zu übertragen. Überlagern dieses Zwischengeneratorbildes auf ein Bild ohne das Merkmal erzeugt ein neues gefälschtes Merkmalsbild, das das Merkmal enthält.
-
4 beschreibt die Schritte zum Training eines künstlichen neuronalen Generatornetzes, das ein Merkmal eines Merkmalsbilds, das das Merkmal enthält, auf ein unverfälschtes Bild überträgt.
-
Bevor das Training begonnen wird, wird jeder Parameter der Netze derart eingestellt, dass er einen Anfangswert besitzt. Es liegen einige Initialisierungsverfahren vor, wie z. B. das Einstellen des Anfangswerts eines Parameters auf 0, zufälliges Wählen eines Werts aus einer Gaußverteilung von N(0,1) oder Verwenden irgendeines normalen Parameterinitialisierungsverfahrens wie z. B. Xavier-Initialisierung.
-
In Schritt S1 wird ein Zwischengeneratorbild durch das Generatornetz erzeugt, wenn ein Merkmalsbild aus mehreren Merkmalsbildern, die das Merkmal enthalten, und ein unverfälschtes Bild ohne das Merkmal aus mehreren unverfälschten Bildern ohne das Merkmal dem Eingang des Generatornetzes geliefert wird.
-
In Schritt S2 des beschriebenen Verfahrens werden das Zwischengeneratorbild und das Merkmalsbild überlagert, um ein gefälschtes Bild zu bilden.
-
In Schritt S3 werden das gefälschte Bild und das unverfälschte Bild zu einem ersten Diskriminatornetz geliefert.
-
In Schritt
S4 wird eine Verlustfunktion des ersten Diskriminatornetzes berechnet.
Die Verlustfunktion von D1 ist wie folgt definiert:
-
In dieser Gleichung gibt x2 ein Bild mit Merkmalen an und x1 gibt ein Bild ohne Merkmale an. Dieser Verlust L1 enthält zwei Teile. Der erste Term ist der Verlust aus realen Bildern ohne das Merkmal. Der zweite Term ist der Verlust aus gefälschten Bildern, die durch Addieren von x2 zum erzeugten Residualbild G(x1,x2) erzeugt werden.
-
In Schritt S5 wird das invertierte Zwischengeneratorbild dem unverfälschten Bild überlagert, um ein gefälschtes Merkmalsbild zu bilden.
-
In Schritt S6 werden das gefälschte Merkmalsbild und das Merkmalsbild einem zweiten Diskriminatornetz geliefert.
-
In Schritt
S7 wird eine Verlustfunktion des zweiten Diskriminatornetzes berechnet.
Die Verlustfunktion von D2 ist analog zur Verlustfunktion von D1, die oben erläutert wurde, definiert:
-
In Verfahrensschritt S8 werden die Netzparameter des ersten und des zweiten Diskriminatornetzes erneut berechnet, wenn die Trainingssequenzanzahl, die die Trainingssequenzen zählt, ungerade ist.
-
In Schritt
S9 wird eine Verlustfunktion des Generatornetzes berechnet. Die Verlustfunktion des Generators G ist wie folgt definiert:
-
Diese Verlustfunktion enthält drei Teile. Der erste Term ist der Verlust, der an D1 definiert ist. Der zweite Term ist der Verlust, der durch D2 definiert ist. Der dritte Term ist die L1-Normierung der erzeugten Residualkarte und begünstigt eine dünnbesetzte erzeuge Residualkarte.
-
In Schritt S10 werden die Netzparameter des Generatornetzes erneut berechnet, wenn die Anzahl der Trainingssequenzen gerade ist. Das bedeutet, dass während des Trainings die Parameter des Generators und des Diskriminators iterativ aktualisiert werden.
-
In Schritt S11 wird der Betrag einer Verlustfunktion des Generatornetzes mit einem vordefinierten Schwellenwert verglichen, um zu entscheiden, ob mit Schritt 1 fortgefahren wird, oder ob die Trainingssequenzen beendet werden sollen.
-
5 beschreibt den Datenfluss zum Übertragen eines Merkmals eines Merkmalsbildes, das das Merkmal enthält, zu einem aufnehmenden Bild. Nach dem Training des Generatornetzes (G) 1, wie es oben beschrieben wird, kann das Generatornetz (G) 1 gefälschte Bilder durch Übertragen eines Merkmals eines Merkmalsbildes I+ auf ein weiteres Bild wie z. B. das aufnehmende Bild erzeugen.
-
Ein Merkmalsbild I+, das heißt ein Bild, das ein zu übertragendes Merkmal enthält, und ein aufnehmendes Bild, das heißt ein Bild, das mit diesem Merkmal versehen werden soll, werden an einen Eingang 1a bzw. 1b des Generatornetzes (G) 1 geliefert.
-
Die Eingangsdaten des Generatornetzes (G) 1 können in derselben Weise strukturiert sein, wie für das Trainingsverfahren des Generatornetzes, das oben beschrieben wird.
-
Wie in 5 angegeben wird, kann der Generatorausgang 1c ein Zwischengeneratorbild als ein Ergebnis seines Eingangs und des trainierten Generatornetzes (G) 1 liefern und kann mit dem Merkmalsbild I+ überlagert werden, um ein erzeugtes gefälschtes Bild ohne das Merkmal auf der Grundlage des Merkmalsbildes zu bilden.
-
Nach dem Invertieren des Zwischengeneratorbildes, wie in 5 angegeben wird, wird es mit dem aufnehmenden Bild I überlagert, um ein erzeugtes gefälschtes Merkmalsbild, das das Merkmal enthält und auf dem aufnehmenden Bild basiert, zu liefern.
-
Wie auf der Hand liegt, ist die Struktur des Generatornetzes (G) 1 identisch zur Struktur des Generatornetzes (G), das zum Training verwendet wird und das bereits oben genau beschrieben wurde.