KI-Modelle und Plattformen

Hochpräzise semantische Bildbearbeitung mit EditGAN

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufügen

Generative Adversarial Networks oder GANs haben in den letzten Monaten neue Anwendungen in der Bildbearbeitungsindustrie gefunden. EditGAN gewinnt in der AI/ML-Industrie an Popularität, da es eine neuartige Methode für hochpräzise und hochwertige semantische Bildbearbeitung ist.

Wir werden uns mit dem EditGAN-Modell im Detail befassen und erklären, warum es ein Meilenstein in der semantischen Bildbearbeitungsindustrie sein könnte.

Lassen Sie uns beginnen. Bevor wir jedoch herausfinden, was EditGAN ist, ist es wichtig, die Bedeutung von EditGAN und warum es ein wichtiger Schritt nach vorne ist, zu verstehen.

Warum EditGAN?

Obwohl traditionelle GAN-Architekturen die AI-basierte Bildbearbeitungsindustrie erheblich vorangebracht haben, gibt es einige große Herausforderungen bei der Erstellung einer GAN-Architektur von Grund auf.

  1. Während der Trainingsphase benötigt eine GAN-Architektur eine große Menge an gelabelten Daten mit semantischen Segmentierungsannotationen.
  2. Sie sind nur in der Lage, eine hohe Kontrolle zu bieten.
  3. Und oft interpolieren sie nur zwischen Bildern hin und her.

Es kann beobachtet werden, dass traditionelle GAN-Architekturen die Arbeit zwar erledigen, aber nicht effektiv für eine breite Einsatzmöglichkeit sind. Die geringe Effizienz traditioneller GAN-Architekturen ist der Grund, warum EditGAN von NVIDIA (NVDA ) im Jahr 2022 vorgestellt wurde.

EditGAN ist vorgeschlagen, um eine effektive Methode für hochpräzise und hochwertige semantische Bildbearbeitung mit der Fähigkeit zu bieten, Benutzern zu ermöglichen, Bilder durch Ändern ihrer hochdetaillierten Segmentierungsmasken zu bearbeiten. Einer der Gründe, warum EditGAN eine skalierbare Methode für Bildbearbeitungsaufgaben ist, liegt in seiner Architektur.

Das EditGAN-Modell basiert auf einem GAN-Rahmenwerk, das Bilder und ihre semantischen Segmentierungen gemeinsam modelliert und nur eine Handvoll gelabelter oder annotierter Trainingsdaten benötigt. Die Entwickler von EditGAN haben versucht, ein Bild in den latenten Raum von GAN einzubetten, um das Bild effektiv durch bedingte latente Code-Optimierung gemäß der Segmentierungsbearbeitung zu ändern. Darüber hinaus versucht das Modell, “Bearbeitungsvektoren” im latenten Raum zu finden, die die Bearbeitungen realisieren.

Die Architektur des EditGAN-Rahmenwerks ermöglicht es dem Modell, eine beliebige Anzahl von Bearbeitungsvektoren zu erlernen, die dann direkt auf andere Bilder mit hoher Geschwindigkeit und Effizienz angewendet werden können. Darüber hinaus zeigen experimentelle Ergebnisse, dass EditGAN Bilder mit einem noch nie dagewesenen Detailgrad bearbeiten kann, während die Bildqualität maximal erhalten bleibt.

Um zusammenzufassen, warum wir EditGAN benötigen, ist es das erste GAN-basierte Bildbearbeitungsframework, das

  1. Sehr hochpräzise Bearbeitung bietet.
  2. Mit einer Handvoll gelabelter Daten arbeiten kann.
  3. Effektiv in Echtzeit-Szenarien eingesetzt werden kann.
  4. Komposition für multiple Bearbeitungen gleichzeitig ermöglicht.
  5. Auf GAN-generierte, reale eingebettete und sogar außerhalb des Bereichs liegende Bilder funktioniert.

Hochpräzise semantische Bildbearbeitung mit EditGAN

StyleGAN2, ein State-of-the-Art-GAN-Rahmenwerk für Bildsynthese, ist die primäre Bildgenerierungskomponente von EditGAN. Das StyleGAN2-Rahmenwerk mappt latente Codes, die aus einer Menge multivariater Normalverteilung gezogen werden, und mappt sie in realistische Bilder.

StyleGAN2 ist ein tiefes generatives Modell, das trainiert wurde, um Bilder der höchsten Qualität möglich zu synthetisieren, zusammen mit einem semantischen Verständnis der modellierten Bilder.

Segmentierungstraining und -inferenz

Das EditGAN-Modell bettet ein Bild in den latenten Raum von GAN mithilfe von Optimierung und einem Encoder ein, um eine Segmentierung auf einem neuen Bild durchzuführen und die Segmentierungsverzweigung zu trainieren. Das EditGAN-Rahmenwerk baut auf vorherigen Arbeiten auf und trainiert einen Encoder, um Bilder im latenten Raum einzubetten. Das primäre Ziel hier ist, den Encoder mit Standard-Pixel-weise-L2- und LPIPS-Konstruktionsverlusten mithilfe von GAN- und Echtzeit-Trainingsdaten zu trainieren. Darüber hinaus regularisiert das Modell den Encoder explizit mithilfe der latenten Codes, wenn es mit GAN-Beispielen arbeitet.

Infolgedessen bettet das Modell die annotierten Bilder aus der Datenbank, die mit semantischer Segmentierung beschriftet sind, in den latenten Raum ein und verwendet Kreuzentropieverlust, um die Segmentierungsverzweigung des Generators zu trainieren.

Verwendung von Segmentierungsbearbeitung, um Semantik im latenten Raum zu finden

Der primäre Zweck von EditGAN ist es, die gemeinsame Verteilung von semantischen Segmentierungen und Bildern für hochpräzise Bildbearbeitung zu nutzen. Nehmen wir an, wir haben ein Bild x, das bearbeitet werden muss, so dass das Modell das Bild in den latenten Raum von EditGAN einbettet oder Beispiele aus dem Modell selbst verwendet. Die Segmentierungsverzweigung generiert dann y oder die entsprechende Segmentierung, hauptsächlich weil sowohl RGB-Bilder als auch Segmentierungen die gleichen latenten Codes w teilen. Entwickler können dann beliebige Markierungs- oder digitale Malwerkzeuge verwenden, um die Segmentierung zu ändern und sie manuell nach Bedarf zu bearbeiten.

Unterschiedliche Arten der Bearbeitung während der Inferenz

Die im latenten Raum ermittelten Bearbeitungsvektoren können als semantisch bedeutsam beschrieben werden und sind oft von verschiedenen Attributen entkoppelt. Daher kann das Modell, um ein neues Bild zu bearbeiten, das Bild direkt in den latenten Raum einbetten und die gleichen Bearbeitungsoperationen durchführen, die das Modell zuvor gelernt hat, ohne die Optimierung von vorne herein zu starten. Es wäre sicher zu sagen, dass die Bearbeitungsvektoren, die das Modell lernt, die Optimierung amortisieren, die ursprünglich erforderlich war, um das Bild zu bearbeiten.

Es ist erwähnenswert, dass die Entwickler die Entkopplung noch nicht perfektioniert haben und die Bearbeitungsvektoren oft nicht die besten Ergebnisse liefern, wenn sie auf andere Bilder angewendet werden. Dieses Problem kann jedoch durch Entfernen von Bearbeitungsartefakten aus anderen Teilen des Bildes überwunden werden, indem einige zusätzliche Optimierungsschritte während der Testzeit durchgeführt werden.

Basierend auf unseren aktuellen Erkenntnissen kann das EditGAN-Rahmenwerk auf drei verschiedene Arten verwendet werden, um Bilder zu bearbeiten.

  • Echtzeit-Bearbeitung mit Bearbeitungsvektoren

Für lokalisierte und entkoppelte Bilder bearbeitet das Modell die Bilder, indem es die zuvor gelernten Bearbeitungsvektoren mit verschiedenen Skalen anwendet und die Bilder mit interaktiven Raten manipuliert.

  • Verwendung von selbstüberwachter Refinierung für vektorbasierte Bearbeitung

Für die Bearbeitung von lokalisierten Bildern, die nicht perfekt mit anderen Teilen des Bildes entkoppelt sind, initialisiert das Modell die Bearbeitung des Bildes mithilfe der zuvor gelernten Bearbeitungsvektoren und entfernt Bearbeitungsartefakte, indem es einige zusätzliche Optimierungsschritte während der Testzeit durchführt.

  • Optimierungsbasierte Bearbeitung

Um große und bildspezifische Bearbeitungen durchzuführen, führt das Modell die Optimierung von vorne herein durch, da Bearbeitungsvektoren nicht verwendet werden können, um diese Arten von Übertragungen auf andere Bilder durchzuführen.

Implementierung

Das EditGAN-Rahmenwerk wird auf Bildern aus vier verschiedenen Kategorien ausgewertet: Autos, Vögel, Katzen und Gesichter. Die Segmentierungsverzweigung des Modells wird mithilfe von Bild-Masken-Paaren von 16, 30, 30, 16 als gelabelte Trainingsdaten für Autos, Vögel, Katzen und Gesichter trainiert. Wenn das Bild ausschließlich mithilfe von Optimierung oder wenn das Modell versucht, die Bearbeitungsvektoren zu erlernen, führt das Modell 100 Optimierungsschritte mithilfe des Adam-Optimierers durch.

Für die Katzen-, Auto- und Gesichtsdatensätze verwendet das Modell reale Bilder aus dem Testdatensatz von DatasetGAN, die nicht zum Trainieren des GAN-Rahmenwerks verwendet wurden, um die Bearbeitungsfunktion durchzuführen. Diese Bilder werden direkt in den latenten Raum von EditGAN eingebettet, indem Optimierung und Kodierung verwendet werden. Für die Vogelkategorie wird die Bearbeitung auf GAN-generierten Bildern gezeigt.

Ergebnisse

Qualitative Ergebnisse

In-Domain-Ergebnisse

Das obige Bild zeigt die Leistung des EditGAN-Rahmenwerks, wenn es die zuvor gelernten Bearbeitungsvektoren auf neue Bilder anwendet und die Bilder mithilfe von 30 Optimierungsschritten verfeinert. Diese von EditGAN durchgeführten Bearbeitungsoperationen sind für alle Klassen entkoppelt und bewahren die Gesamtbildqualität.

Was erstaunlich ist, ist, dass das EditGAN-Rahmenwerk sehr hochpräzise Bearbeitungen wie das Erweitern der Pupillen oder das Bearbeiten der Felgen in den Reifen eines Autos durchführen kann. Darüber hinaus kann EditGAN auch verwendet werden, um semantische Teile von Objekten zu bearbeiten, die nur wenige Pixel haben, oder um große Änderungen an einem Bild vorzunehmen. Es ist erwähnenswert, dass die mehreren Bearbeitungsoperationen des EditGAN-Rahmenwerks in der Lage sind, manipulierte Bilder zu generieren, die nicht im GAN-Trainingsdatensatz vorkommen.

Außerhalb des Bereichs liegende Ergebnisse

Um die Leistung von EditGAN außerhalb des Bereichs zu bewerten, wurde das Rahmenwerk auf dem MetFaces-Datensatz getestet. Das EditGAN-Modell verwendet echte Gesichter aus dem Bereich, um Bearbeitungsvektoren zu erstellen. Das Modell bettet dann MetFaces-Porträts, die außerhalb des Bereichs liegen, mithilfe eines 100-Schritt-Optimierungsprozesses ein und wendet die Bearbeitungsvektoren mithilfe eines 30-Schritt-Selbstüberwachungs-Verfeinerungsprozesses an. Die Ergebnisse können im folgenden Bild gesehen werden.

Quantitative Ergebnisse

Um die Bildbearbeitungsfähigkeiten von EditGAN quantitativ zu messen, verwendet das Modell einen Lächel-Bearbeitungs-Benchmark, der ursprünglich von MaskGAN eingeführt wurde. Gesichter mit neutraler Ausdrucksweise werden durch lächelnde Gesichter ersetzt und die Leistung wird über drei Parameter gemessen.

  • Semantische Korrektheit

Das Modell verwendet einen vorgefertigten Lächel-Attribut-Klassifizierer, um zu messen, ob die Gesichter in den Bildern nach der Bearbeitung lächelnde Ausdrucksweise zeigen.

  • Verteilungs-Image-Qualität

Kernel-Inception-Distanz oder KID und Frechet-Inception-Distanz oder FID werden zwischen dem CelebA-Testdatensatz und 400 bearbeiteten Testbildern berechnet.

  • Identitätsbewahrung

Die Fähigkeit des Modells, die Identität der Subjekte bei der Bildbearbeitung zu bewahren, wird mithilfe eines vorgefertigten ArcFace-Feature-Extraktionsnetzwerks gemessen.

Die obige Tabelle vergleicht die Leistung des EditGAN-Rahmenwerks mit anderen Basismodellen im Lächel-Bearbeitungs-Benchmark. Die Methode, die das EditGAN-Rahmenwerk verwendet, um solche hohen Ergebnisse zu liefern, wird über drei verschiedene Basismodelle verglichen:

  • MaskGAN

MaskGAN verwendet nicht lächelnde Bilder zusammen mit ihren Segmentierungsmasken und einer Ziel-Lächel-Segmentierungs-Maske als Eingabe. Es ist erwähnenswert, dass das MaskGAN-Rahmenwerk im Vergleich zu EditGAN eine große Menge an annotierten Daten erfordert.

  • Lokale Bearbeitung

EditGAN vergleicht auch seine Leistung mit lokaler Bearbeitung, einer Methode, die verwendet wird, um GAN-Features zu clustern, um lokale Bearbeitung durchzuführen, und die von Referenzbildern abhängt.

  • InterFaceGAN

Ähnlich wie EditGAN versucht InterFaceGAN, Bearbeitungsvektoren im latenten Raum des Modells zu finden. Allerdings verwendet das InterFaceGAN-Modell im Gegensatz zu EditGAN eine große Menge an annotierten Daten, Hilfsattribut-Klassifizierern und hat keine feine Bearbeitungspräzision.

  • StyleGAN2-Destillation

Diese Methode schafft einen alternativen Ansatz, der keine echten Bild-Einbettungen erfordert, sondern stattdessen ein Bearbeitungsvektor-Modell verwendet, um ein Trainingsdatensatz zu erstellen.

Einschränkungen

Da EditGAN auf dem GAN-Rahmenwerk basiert, hat es die gleichen Einschränkungen wie jedes andere GAN-Modell: Es kann nur mit Bildern arbeiten, die von GAN modelliert werden können. Die Einschränkung von EditGAN, nur mit GAN-modellierten Bildern zu arbeiten, ist der Hauptgrund, warum es schwierig ist, EditGAN in verschiedenen Szenarien einzusetzen. Es ist jedoch erwähnenswert, dass die hochpräzisen Bearbeitungen von EditGAN leicht auf andere verschiedene Bilder übertragen werden können, indem Bearbeitungsvektoren verwendet werden.

Fazit

Einer der Hauptgründe, warum GAN kein Industriestandard in der Bildbearbeitung ist, liegt in seiner begrenzten Praktikabilität. GAN-Rahmenwerke erfordern in der Regel eine große Menge an annotierten Trainingsdaten und liefern oft keine hohe Effizienz und Genauigkeit.

EditGAN zielt darauf ab, die Probleme zu lösen, die durch konventionelle GAN-Rahmenwerke aufgeworfen werden, und versucht, eine effektive Methode für hochwertige und hochpräzise semantische Bildbearbeitung zu sein. Die Ergebnisse haben bisher gezeigt, dass EditGAN tatsächlich das bietet, was es beansprucht, und bereits besser als einige der aktuellen Industriestandards und -modelle performt.

Kunal Kejriwal ist Backend‑Entwickler und spezialisiert auf Python, PostgreSQL, Redis sowie Cloud‑Infrastruktur auf GCP und AWS. Mit drei Jahren Erfahrung im Aufbau und Skalieren von Produktionssystemen schreibt er über KI‑Infrastruktur, verteilte Systeme und die Architektur hinter der Bereitstellung von Machine‑Learning‑Arbeitslasten.