KI-Modelle und Plattformen

BrushNet: Bildretusche mit Dual-Branch-Diffusion

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

Bildretusche ist eines der klassischen Probleme im Bereich des maschinellen Sehens und zielt darauf ab, maskierte Bereiche in einem Bild mit plausiblem und natürlichem Inhalt wiederherzustellen. Bestehende Arbeiten, die traditionelle Bildretusche-Techniken wie Generative Adversarial Networks (GANs) und Variational Auto-Encoders (VAEs) verwenden, erfordern oft zusätzliche, von Hand erstellte Merkmale, liefern aber nicht immer zufriedenstellende Ergebnisse. In den letzten Jahren haben diffusionsbasierte Methoden innerhalb der Gemeinschaft des maschinellen Sehens an Popularität gewonnen, da sie bemerkenswerte Fähigkeiten zur Erzeugung hochwertiger Bilder, eine hohe Vielfalt der Ausgaben und eine feine Kontrolle bieten. Erste Versuche, Diffusionsmodelle für textgesteuerte Bildretusche zu verwenden, modifizierten die Standard-Denoising-Strategie, indem sie die maskierten Bereiche aus einem vorgefertigten Diffusionsmodell sampelten und die unmaskierten Bereiche aus dem gegebenen Bild kopierten. Obwohl diese Methoden zufriedenstellende Leistungen bei einfachen Bildretusche-Aufgaben erzielten, hatten sie Schwierigkeiten mit komplexen Maskenformen, Textprompts und Bildinhalten, was zu einem Mangel an Kohärenz führte. Der Mangel an Kohärenz in diesen Methoden kann hauptsächlich auf ihr begrenztes perzeptuelles Wissen über Maskengrenzen und den Kontext der unmaskierten Bildregion zurückgeführt werden.

Trotz der Fortschritte, Forschung und Entwicklung dieser Modelle in den letzten Jahren ist Bildretusche immer noch ein großes Hindernis für Entwickler im Bereich des maschinellen Sehens. Aktuelle Anpassungen von Diffusionsmodellen für Bildretusche-Aufgaben beinhalten die Modifizierung der Sampling-Strategie oder die Entwicklung von Bildretusche-spezifischen Diffusionsmodellen, die oft unter verringerter Bildqualität und inkonsistenten Semantiken leiden. Um diese Herausforderungen zu meistern und den Weg für Bildretusche-Modelle zu ebnen, werden wir in diesem Artikel über BrushNet sprechen, ein neuartiges, plug-and-play-fähiges, dual-branch-gestaltetes Framework, das pixelgenaue, maskierte Bildmerkmale in jedes vorgefertigte Diffusionsmodell einbettet, wodurch Kohärenz und verbesserte Ergebnisse bei Bildretusche-Aufgaben garantiert werden. Das BrushNet-Framework führt ein neues Paradigma ein, bei dem das Framework die Bildmerkmale und die lautenden Latenten in separate Zweige unterteilt. Die Unterteilung der Bildmerkmale und der lautenden Latenten verringert die Lernlast für das Modell drastisch und ermöglicht eine nuancierte Einbeziehung wesentlicher, maskierter Bildinformationen in hierarchischer Weise. Zusätzlich zum BrushNet-Framework werden wir auch über BrushBench und BrushData sprechen, die die segmentationsbasierte Leistungsbeurteilung und die Bildretusche-Training ermöglichen.

Dieser Artikel zielt darauf ab, das BrushNet-Framework in der Tiefe abzudecken, und wir erkunden den Mechanismus, die Methodik, die Architektur des Frameworks sowie dessen Vergleich mit State-of-the-Art-Frameworks. Lassen Sie uns beginnen.

BrushNet: Bildretusche mit Dual-Branch-Diffusion

Bildretusche, eine Methode, die versucht, die fehlenden Bereiche eines Bildes wiederherzustellen, während die Gesamtkohärenz beibehalten wird, ist ein langjähriges Problem im Bereich des maschinellen Sehens und hat Entwickler und Forscher seit einigen Jahren beschäftigt. Bildretusche findet ihre Anwendungen in einer Vielzahl von Aufgaben des maschinellen Sehens, einschließlich Bildbearbeitung und virtuellen Anproben. Kürzlich haben Diffusionsmodelle wie Stable Diffusion und Stable Diffusion 1.5 ihre bemerkenswerte Fähigkeit zur Erzeugung hochwertiger Bilder unter Beweis gestellt und bieten Benutzern die Flexibilität, die semantischen und strukturellen Kontrollen zu steuern. Die bemerkenswerte Potenzialität von Diffusionsmodellen hat Forscher dazu veranlasst, auf Diffusionsmodelle für hochwertige Bildretusche-Aufgaben zurückzugreifen, die mit den Eingabetextprompts übereinstimmen.

Die Methoden, die von traditionellen diffusionsbasierten textgesteuerten Bildretusche-Frameworks verwendet werden, können in zwei Kategorien unterteilt werden: Modifizierung der Sampling-Strategie und spezielle Bildretusche-Modelle. Die Modifizierung der Sampling-Strategie modifiziert den Standard-Denoising-Prozess, indem die maskierten Bereiche aus einem vorgefertigten Diffusionsmodell sampelt und die unmaskierten Bereiche aus dem gegebenen Bild kopiert. Obwohl die Modifizierung der Sampling-Strategie in beliebigen Diffusionsmodellen implementiert werden kann, resultiert sie oft in inkohärenten Bildretusche-Ergebnissen, da sie ein begrenztes perzeptuelles Wissen über Maskengrenzen und den Kontext der unmaskierten Bildregion hat. Andererseits fine-tunen spezielle Bildretusche-Modelle ein Bildretusche-Modell, das speziell durch die Erweiterung der Dimensionen des Eingabekanals des Basis-Diffusionsmodells entwickelt wurde, um das korrupte Bild und die Masken zu inkorporieren. Obwohl spezielle Bildretusche-Modelle es dem Diffusionsmodell ermöglichen, zufriedenstellendere Ergebnisse mit spezialisierten shape-aware- und content-aware-Modellen zu erzeugen, muss es nicht unbedingt die beste architektonische Gestaltung für Bildretusche-Modelle sein.

Wie in dem folgenden Bild gezeigt, fusionieren spezielle Bildretusche-Modelle das maskierte Bild-Latent, das lautende Latent, den Text und die Maske in einem frühen Stadium. Die architektonische Gestaltung solcher spezieller Bildretusche-Modelle beeinflusst die maskierten Bildmerkmale und verhindert, dass die nachfolgenden Schichten in der UNet-Architektur reine maskierte Bildmerkmale aufgrund des Texteinflusses erhalten. Darüber hinaus verursacht die Handhabung der Generation und der Bedingung in einem einzigen Zweig eine weitere Belastung für die UNet-Architektur, und da diese Ansätze auch eine Feinabstimmung in verschiedenen Variationen des Diffusions-Backbones erfordern, sind sie oft zeitaufwändig mit begrenzter Übertragbarkeit.

Es mag so erscheinen, als ob die Hinzufügung eines zusätzlichen Zweigs, der speziell zur Extraktion von maskierten Bildmerkmalen dient, eine angemessene Lösung für die oben genannten Probleme sein könnte, jedoch resultieren bestehende Frameworks oft in der Extraktion und Einbindung unzureichender Informationen, wenn sie direkt auf Bildretusche angewendet werden. Als Ergebnis erzielen bestehende Frameworks wie ControlNet unzufriedenstellende Ergebnisse im Vergleich zu speziellen Bildretusche-Modellen. Um dieses Problem auf die effektivste Weise möglich zu lösen, führt das BrushNet-Framework einen zusätzlichen Zweig in das ursprüngliche Diffusionsnetzwerk ein und schafft so eine geeignetere Architektur für Bildretusche-Aufgaben. Die Gestaltung und Architektur des BrushNet-Frameworks können in drei Punkten zusammengefasst werden.

  1. Anstatt die Konvolutionslayer zufällig zu initialisieren, implementiert das BrushNet-Framework einen VAE-Encoder, um das maskierte Bild zu verarbeiten. Als Ergebnis kann das BrushNet-Framework die Bildmerkmale für die Anpassung an die UNet-Verteilung effektiver extrahieren.
  2. Das BrushNet-Framework inkorporiert die vollständige UNet-Feature-Schicht schrittweise in die vorgefertigte UNet-Architektur, ein hierarchischer Ansatz, der dichte per-Pixel-Kontrolle ermöglicht.
  3. Das BrushNet-Framework entfernt die Text-Kreuz-Korrelation aus der UNet-Komponente, um sicherzustellen, dass reine Bildinformationen in dem zusätzlichen Zweig berücksichtigt werden. Darüber hinaus schlägt das BrushNet-Modell vor, eine verschwommene Mischstrategie zu implementieren, um eine bessere Konsistenz sowie eine höhere Kontrollierbarkeit in den unmaskierten Bereichen des Bildes zu erreichen.

BrushNet: Methode und Architektur

Das folgende Bild gibt uns einen kurzen Überblick über das BrushNet-Framework.

Wie zu sehen ist, verwendet das Framework eine dual-branch-Strategie für die maskierte Bildführung und verwendet Mischoperationen mit einer verschwommenen Maske, um eine bessere Erhaltung der unmaskierten Bereiche zu gewährleisten. Es ist erwähnenswert, dass das BrushNet-Framework in der Lage ist, die hinzugefügte Skala anzupassen, um eine flexible Kontrolle zu erreichen. Für ein gegebenes maskiertes Bild und die Maske gibt das BrushNet-Modell ein retuschiertes Bild aus. Das Modell downsampt die Maske, um die Größe des Latents anzupassen, und das maskierte Bild wird als Eingabe für den VAE-Encoder verwendet, um die Verteilung des Latent-Raums auszurichten. Das Modell konkatiniert dann das maskierte Bild-Latent, das lautende Latent und die downgesamplete Maske und verwendet es als Eingabe. Die Merkmale, die das Modell extrahiert, werden dann der vorgefertigten UNet-Schicht nach einem Null-Konvolutionsblock hinzugefügt. Nach dem Denoising mischt das Modell das maskierte Bild und das generierte Bild mit einer verschwommenen Maske.

Maskierte Bildführung

Das BrushNet-Framework fügt die maskierte Bildmerkmale in das vorgefertigte Diffusionsnetzwerk ein, indem es einen zusätzlichen Zweig verwendet, der die Merkmalsextraktion von maskierten Bildern explizit von dem Prozess der Bildgenerierung trennt. Die Eingabe wird durch Konkatenation des maskierten Bild-Latents, des lautenden Latents und der downgesampleten Maske gebildet. Um spezifischer zu sein, liefert das lautende Latent Informationen für die Bildgenerierung während des aktuellen Generierungsprozesses und hilft dem Framework, die semantische Kohärenz des maskierten Bildmerkmals zu verbessern. Das BrushNet-Framework extrahiert das maskierte Bild-Latent aus dem maskierten Bild mithilfe eines Variational Auto-Encoders. Darüber hinaus verwendet das Framework kubische Interpolation, um die Maske herunterzusamplesn, um sicherzustellen, dass die Größe der Maske mit dem maskierten Bild-Latent und dem lautenden Latent übereinstimmt. Um die maskierten Bildmerkmale zu verarbeiten, implementiert das BrushNet-Framework eine Kopie des vorgefertigten Diffusionsmodells und schließt die Kreuz-Korrelations-Schichten des Diffusionsmodells aus. Der Grund dafür ist, dass die vorgefertigten Gewichte des Diffusionsmodells als starker Prior für die Merkmalsextraktion des maskierten Bildes dienen und das Ausschließen der Kreuz-Korrelations-Schichten sicherstellt, dass das Modell nur reine Bildinformationen innerhalb des zusätzlichen Zweigs berücksichtigt. Das BrushNet-Framework fügt die Merkmale schrittweise in die eingefrorene Diffusions-Modell-Schicht ein, wodurch eine hierarchische, dichte per-Pixel-Kontrolle ermöglicht wird, und verwendet auch Null-Konvolutions-Schichten, um eine Verbindung zwischen dem trainierbaren BrushNet-Modell und dem gesperrten Modell herzustellen, um sicherzustellen, dass schädliches Rauschen keinen Einfluss auf die versteckten Zustände im trainierbaren Modell während der anfänglichen Trainingsphasen hat.

Mischoperation

Wie bereits erwähnt, führt die Durchführung der Mischoperation im Latent-Raum zu einer Vergrößerung der Masken, die oft zu mehreren Ungenauigkeiten führt, und das BrushNet-Framework trifft auf ein ähnliches Problem, wenn es die Maske an die Größe des Latent-Raums anpasst. Darüber hinaus ist es erwähnenswert, dass die Kodier- und Dekodier-Operationen in Variational Auto-Encodern inhärente begrenzte Operationen haben und möglicherweise keine vollständige Bildrekonstruktion gewährleisten. Um sicherzustellen, dass das Framework ein vollständig konsistentes Bild des unmaskierten Bereichs rekonstruiert, haben bestehende Arbeiten verschiedene Techniken implementiert, wie das Kopieren der unmaskierten Bereiche aus dem ursprünglichen Bild. Obwohl dieser Ansatz funktioniert, führt er oft zu einem Mangel an semantischer Kohärenz bei der Generierung der Endresultate. Andererseits haben Methoden wie die Verwendung von latenten Mischoperationen Schwierigkeiten, die gewünschten Informationen in den unmaskierten Bereichen zu erhalten.

Flexible Kontrolle

Die architektonische Gestaltung des BrushNet-Frameworks macht es zu einer geeigneten Wahl für plug-and-play-Integrationen mit verschiedenen vorgefertigten Diffusionsmodellen und ermöglicht eine flexible Erhaltung der Skala. Da das BrushNet-Framework die Gewichte des vorgefertigten Diffusionsmodells nicht ändert, haben Entwickler die Flexibilität, es als plug-and-play-Komponente mit einem feinabgestimmten Diffusionsmodell zu integrieren, was eine einfache Adoption und Experimentierung mit vorgefertigten Modellen ermöglicht. Darüber hinaus haben Entwickler auch die Möglichkeit, die Erhaltungsskala der unmaskierten Bereiche zu kontrollieren, indem sie die Merkmale des BrushNet-Modells in das eingefrorene Diffusionsmodell mit dem gegebenen Gewicht w einfügen, das den Einfluss des BrushNet-Frameworks auf die Erhaltungsskala bestimmt, und Entwicklern die Möglichkeit bietet, die gewünschten Erhaltungsgrade anzupassen. Schließlich ermöglicht das BrushNet-Framework Benutzern, die Verschmier-Skala anzupassen und zu entscheiden, ob die Verschmier-Operation durchgeführt werden soll, wodurch eine einfache Anpassung und feine Kontrolle über den Bildretusche-Prozess ermöglicht wird.

BrushNet: Implementierung und Ergebnisse

Um seine Ergebnisse zu analysieren, schlägt das BrushNet-Framework BrushBench vor, ein segmentationsbasiertes Bildretusche-Datensatz mit über 600 Bildern, von denen jedes von einer human-annotierten Maske und einer Bildunterschrift begleitet wird. Die Bilder in dem Benchmark-Datensatz sind gleichmäßig zwischen natürlichen und künstlichen Bildern verteilt und gewährleisten auch eine gleichmäßige Verteilung zwischen verschiedenen Kategorien, was eine faire Bewertung über verschiedene Kategorien hinweg ermöglicht. Um die Analyse der Bildretusche-Aufgaben noch weiter zu verbessern, unterteilt das BrushNet-Framework den Datensatz in zwei verschiedene Teile basierend auf den verwendeten Methoden: segmentationsbasiert und Pinsel-Masken.

Quantitative Vergleich

Die folgende Tabelle vergleicht das BrushNet-Framework mit bestehenden diffusionsbasierten Bildretusche-Modellen auf dem BrushBench-Datensatz mit Stable Diffusion als Basis-Modell.

Wie zu sehen ist, zeigt das BrushNet-Framework bemerkenswerte Effizienz bei der Erhaltung der maskierten Bereiche, der Textausrichtung und der Bildqualität. Darüber hinaus zeigen Modelle wie Stable Diffusion Inpainting, HD-Painter, PowerPaint und andere starke Leistungen bei Bildretusche-Aufgaben innerhalb des Bildes, obwohl sie Schwierigkeiten haben, ihre Leistungen bei Bildretusche-Aufgaben außerhalb des Bildes zu wiederholen, insbesondere bei der Textausrichtung und der Bildqualität. Insgesamt liefert das BrushNet-Framework die stärksten Ergebnisse.

Darüber hinaus vergleicht die folgende Tabelle das BrushNet-Framework mit bestehenden diffusionsbasierten Bildretusche-Modellen auf dem EditBench-Datensatz, und die Leistung ist vergleichbar mit der auf dem BrushBench-Datensatz. Die Ergebnisse zeigen, dass das BrushNet-Framework starke Leistungen bei einer Vielzahl von Bildretusche-Aufgaben mit verschiedenen Maskentypen erzielt.

Qualitative Vergleich

Das folgende Bild vergleicht das BrushNet-Framework qualitativ mit bestehenden Bildretusche-Methoden, mit Ergebnissen, die künstliche Intelligenz und natürliche Bilder bei verschiedenen Bildretusche-Aufgaben abdecken, einschließlich zufälliger Masken-Bildretusche, segmentationsbasierter Innenaufgaben und segmentationsbasierter Außenaufgaben.

Wie zu sehen ist, liefert das BrushNet-Framework bemerkenswerte Ergebnisse bei der Kohärenz des unmaskierten Bereichs und der kohärenten Bereiche und realisiert erfolgreich die Wahrnehmung der Hintergrundinformationen aufgrund der Implementierung des dual-branch-Entkopplungsansatzes. Darüber hinaus bietet der unberührte Zweig des vorgefertigten Diffusionsmodells den Vorteil, verschiedene Datenbereiche wie Anime und Malerei besser abzudecken, was zu einer besseren Leistung bei verschiedenen Szenarien führt.

Letzte Gedanken

In diesem Artikel haben wir über BrushNet gesprochen, ein neuartiges, plug-and-play-fähiges, dual-branch-gestaltetes Framework, das pixelgenaue, maskierte Bildmerkmale in jedes vorgefertigte Diffusionsmodell einbettet, wodurch Kohärenz und verbesserte Ergebnisse bei Bildretusche-Aufgaben garantiert werden. Das BrushNet-Framework führt ein neues Paradigma ein, bei dem das Framework die Bildmerkmale und die lautenden Latenten in separate Zweige unterteilt. Die Unterteilung der Bildmerkmale und der lautenden Latenten verringert die Lernlast für das Modell drastisch und ermöglicht eine nuancierte Einbeziehung wesentlicher, maskierter Bildinformationen in hierarchischer Weise. Zusätzlich zum BrushNet-Framework werden wir auch über BrushBench und BrushData sprechen, die die segmentationsbasierte Leistungsbeurteilung und die Bildretusche-Training ermöglichen.

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.