Technologische Neuigkeiten, Bewertungen und Tipps!

Bildsynthese – Auf dem Weg zur KI

Hinweis: Der folgende Artikel hilft Ihnen dabei: Bildsynthese – Auf dem Weg zur KI

Ursprünglich veröffentlicht auf Towards AI, dem weltweit führenden Nachrichten- und Medienunternehmen für KI und Technologie. Wenn Sie ein KI-bezogenes Produkt oder eine KI-bezogene Dienstleistung entwickeln, laden wir Sie ein, darüber nachzudenken, KI-Sponsor zu werden. Bei Towards AI helfen wir bei der Skalierung von KI- und Technologie-Startups. Wir helfen Ihnen dabei, Ihre Technologie der breiten Masse zugänglich zu machen.

In diesem Artikel stelle ich Methoden zur Generierung synthetischer Bilder zur Gesichtsvergrößerung mithilfe kürzlich vorgestellter GANs vor.

Ein wesentlicher Engpass beim Deep Learning ist die Datenverfügbarkeit. Für ein effektives Training von Modellen sind viele Daten erforderlich. Zur Erweiterung des Datensatzes werden zahlreiche Techniken eingesetzt, um die Anzahl der Trainingsbeispiele zu erhöhen. Typische Datenerweiterungen umfassen eine sehr begrenzte Anzahl von Transformationen wie Drehung, Spiegelung, Zuschneiden, Übersetzung und Skalierung vorhandener Bilder. Durch kleine Änderungen an den Bildern können ein paar zusätzliche Informationen gewonnen werden. Bei der synthetischen Datenerweiterung handelt es sich um eine neue, fortschrittliche Art der Datenerweiterung. Hochwertige synthetische Daten, die von einem generativen Modell erzeugt werden, ermöglichen mehr Variabilität und bereichern den Datensatz, um das Modell weiter zu verbessern.

Der enorme Fortschritt generativer Modelle bietet leistungsstarke Werkzeuge für die Erstellung neuer Daten aus einer trainierten Verteilung. Mathematisch funktionieren generative Modelle wie folgt. Schwarze Punkte auf der rechten Seite von Abbildung 1 stellen Bilder der tatsächlichen Datenverteilung dar. Das generative Modell, das gelbe, bildet die Einheits-Gauß-Verteilung in die generierte Verteilung, das grüne, ab. Die Form der erzeugten Verteilung hängt von den Modellparametern θ ab. Das Ziel des Trainings besteht darin, die Parameter θ zu finden, die den Unterschied zwischen generierten und echten Datenverteilungen minimieren.

Zu den beliebtesten generativen Modellen zählen Generative Adversarial Networks (GAN), Variational Autoencoders (VAE) und Diffusionsmodelle. GAN besteht aus zwei Modellen, einem Generator und einem Diskriminator, die miteinander konkurrieren und sich gleichzeitig gegenseitig stärken. Der Diskriminator lernt, zwischen echten und gefälschten Eingabebildern zu unterscheiden, während der Generator lernt, gefälschte Proben zu generieren, die für den Diskriminator nicht zu unterscheiden sind. VAE besteht aus zwei Komponenten: einem Encoder und einem Decoder. Der Encoder kodiert Eingabedaten in eine latente Darstellung, insbesondere in eine Gaußsche Verteilung. Der Decoder dekodiert latente Punkte aus der Gaußschen Verteilung zurück in den Datenraum. Diffusionsmodelle fügen den Daten nach und nach Gaußsches Rauschen hinzu und lernen dann, diesen Prozess für die Probengenerierung umzukehren.

Sehen wir uns an, wie wir GANs zur Bilderweiterung verwenden können. Manchmal ist es unmöglich oder mühsam, einen großen, vielfältigen und qualitativ hochwertigen Datensatz zu erhalten. Es ist von Vorteil, GAN anhand dieser begrenzten Daten zu trainieren, bevor ein Modell für Aufgaben wie Klassifizierung, Objekterkennung, Segmentierung usw. trainiert wird. Sobald wir ein Modell trainiert haben, können wir so viele Daten generieren, wie wir möchten. Natürlich ist die Vielfalt einer solchen Synthese begrenzt, da unser trainiertes GAN lediglich Trainingsdaten repliziert. Ganz anders sieht es aus, wenn wir das vorab trainierte GAN anhand eines größeren Datensatzes optimieren. In diesem Fall kann vorab trainiertes GAN im Voraus umfangreiche und vielfältige Daten generieren. Der Feinabstimmungsschritt lernt die Verteilung der Trainingsdaten und behält dabei die Eigenschaften des vorab trainierten Modells bei, wenn die Verteilungen der Daten vor dem Training und des Trainings nahe genug beieinander liegen. Dadurch können Sie die Größe des Datensatzes qualitativ um mehrere Größenordnungen erhöhen.

Eine nützliche Eigenschaft von GANs ist die Fähigkeit, einen Prozess der Bilderzeugung zu manipulieren. Werfen wir einen Blick auf das beliebteste GAN im Bereich der Generierung menschlicher Gesichter – StyleGan[1]. Anstatt das eingegebene 512-dimensionale Gaußsche Rauschen direkt auf das Bild abzubilden, wird es einem latenten Zwischencode derselben Dimension zugeordnet. Das neuronale Netz lernt, die Gesichtsdarstellung zu entwirren und einen sinnvollen latenten Raum zu schaffen. Es ermöglicht die Manipulation menschlicher Gesichter. In diesem latenten Raum gibt es Richtungen, die Gesichtsmodifikationen wie Geschlecht, Haarschnitt, Emotionen, Form usw. entsprechen. Indem wir den latenten Code in eine bestimmte Richtung variieren, verändern wir jeweils das erzeugte Bild.

Ein weiteres generatives Modell SemanticStyleGAN[2] gibt Kontrolle über die Generierung jedes semantischen Gesichtsteils wie Form, Farbe, Auge, Augenbraue, Mund, Nase, Haare, Hintergrund usw. Die Autoren schlagen vor, für jeden Gesichtsteil unterschiedliche latente Codes mit einem entsprechenden lokalen Generator für jeden latenten Code zu verwenden. Lokale Generatoren bilden die latenten Codes mit Tiefenmasken in Gesichtsteile ab und fügen sie dann zu einem einzigen Bild zusammen. Dies ermöglicht eine genauere lokale Kontrolle über das in Abbildung 2 gezeigte Gesichtsbild.

Der Augmentationsprozess sieht wie folgt aus. Wir nehmen ein generiertes Bild aus der Einheits-Gauß-Verteilung oder invertieren ein beliebiges Gesichtsfoto in den latenten Raum. Die Invertierung kann durch einen Optimierungsalgorithmus erfolgen. Für eine vollständige Ähnlichkeit zwischen unserem und dem invertierten Bild können wir GAN anhand des berechneten latenten Codes für etwa 300 Iterationen verfeinern. Jetzt können wir die Gesichtssemantik ändern, indem wir unsere latenten Codes mit latenten Codes anderer Gesichter mischen. Wenn wir beispielsweise das Problem der Gesichtserkennung lösen, wären wir daran interessiert, die Identität beizubehalten und Änderungen an Lichtverhältnissen und Haarschnitten vorzunehmen. Zu diesem Zweck frieren wir alle latenten Codes mit Ausnahme derjenigen ein, die für Blitze und Haarschnitte verantwortlich sind, und variieren sie, wie in den Abbildungen 3 und 4 dargestellt.

Die Fähigkeit generativer Modelle, plausible, vielfältige Bilder zu synthetisieren, eröffnet neue Möglichkeiten, die Leistung von Deep-Learning-Modellen zu steigern. In diesem Artikel haben wir über verschiedene Methoden gesprochen, wie wir GANs zur Gesichtsdatenerweiterung verwenden können.

Vielen Dank fürs Lesen. Ich hoffe, dies hilft Ihnen, Ihre Modelle zu verbessern.

Verweise:

  1. Eine stilbasierte Generatorarchitektur für generative gegnerische Netzwerke. Tero Karras, Samuli Laine, Timo Aila.
  2. SemanticStyleGAN: Erlernen kompositorischer generativer Prioritäten für kontrollierbare Bildsynthese und -bearbeitung. Yichun Shi, Xiao Yang, Yangyue Wan, Xiaohui Shen.
  3. Projektseite von SemanticStyleGAN: https://semanticstylegan.github.io

Gesichtsdatenerweiterung. Teil 2: Bildsynthese wurde ursprünglich in Towards AI auf Medium veröffentlicht, wo die Leute das Gespräch fortsetzen, indem sie diese Geschichte hervorheben und darauf reagieren.

Veröffentlicht über Towards AI