Künstliche Intelligenz
BrushNet: Plug-and-Play-Bild-Inpainting mit Dual Branch Diffusion

Bildinpainting ist eines der klassischen Probleme in der Computer Vision und zielt darauf ab, maskierte Bereiche in einem Bild mit plausiblen und natürlichen Inhalten wiederherzustellen. Bestehende Arbeiten, die traditionelle Bild-Inpainting-Techniken wie Generative Adversarial Networks oder GANS und Variational Auto-Encoder oder VAEs verwenden, erfordern häufig zusätzliche handgefertigte Funktionen, liefern aber gleichzeitig keine zufriedenstellenden Ergebnisse. In den letzten Jahren haben diffusionsbasierte Methoden aufgrund ihrer bemerkenswert hochwertigen Bilderzeugungsfähigkeiten, Ausgabevielfalt und feinkörnigen Steuerung in der Computer-Vision-Community an Popularität gewonnen. Erste Versuche, Diffusionsmodelle für textgesteuertes Bild-Inpainting zu verwenden, modifizierten die Standardstrategie zur Rauschunterdrückung, indem die maskierten Bereiche aus einem vorab trainierten Diffusionsmodell und die unmaskierten Bereiche aus dem gegebenen Bild abgetastet wurden. Obwohl diese Methoden bei einfachen Bild-Inpainting-Aufgaben zu einer zufriedenstellenden Leistung führten, hatten sie Probleme mit komplexen Maskenformen, Textaufforderungen und Bildinhalten, was insgesamt zu einem Mangel an Kohärenz führte. Der bei diesen Methoden beobachtete Mangel an Kohärenz kann in erster Linie auf ihr begrenztes Wahrnehmungswissen über Maskengrenzen und den Kontext unmaskierter Bildregionen zurückzuführen sein.
Trotz der Fortschritte, Forschung und Entwicklung dieser Modelle in den letzten Jahren stellt das Inpainting von Bildern immer noch eine große Hürde für Computer-Vision-Entwickler dar. Aktuelle Anpassungen von Diffusionsmodellen für Bild-Inpainting-Aufgaben erfordern eine Änderung der Sampling-Strategie, oder die Entwicklung von Inpainting-spezifischen Diffusionsmodellen leidet häufig unter einer verringerten Bildqualität und einer inkonsistenten Semantik. Um diese Herausforderungen anzugehen und den Weg für Bild-Inpainting-Modelle zu ebnen, werden wir in diesem Artikel über BrushNet sprechen, ein neuartiges Plug-and-Play-Framework mit zwei Zweigen, das maskierte Bildfunktionen auf Pixelebene in jede vorab trainierte Diffusion einbettet Modell, wodurch Kohärenz und verbesserte Ergebnisse bei Bild-Inpainting-Aufgaben gewährleistet werden. Das BrushNet-Framework führt ein neuartiges Paradigma ein, bei dem das Framework die Bildmerkmale und das latente Rauschen in separate Zweige unterteilt. Die Aufteilung von Bildmerkmalen und verrauschten latenten Elementen verringert den Lernaufwand für das Modell drastisch und erleichtert eine differenzierte Einbindung wesentlicher maskierter Bildinformationen auf hierarchische Weise. Zusätzlich zum BrushNet-Framework werden wir auch über BrushBench und BrushData sprechen, die eine segmentierungsbasierte Leistungsbewertung bzw. ein Bild-Inpainting-Training ermöglichen.
Dieser Artikel zielt darauf ab, das BrushNet-Framework ausführlich zu behandeln, und wir untersuchen den Mechanismus, die Methodik, die Architektur des Frameworks sowie seinen Vergleich mit modernen Frameworks. Also lasst uns anfangen.
BrushNet: Bildinpainting mit Dual-Branch-Diffusion
Image Inpainting, eine Methode, die versucht, die Missionsbereiche eines Bildes wiederherzustellen und gleichzeitig die Gesamtkohärenz aufrechtzuerhalten, ist seit langem ein Problem im Bereich Computer Vision und bereitet Entwicklern und Forschern seit einigen Jahren Sorgen. Bildinpainting findet seine Anwendung bei einer Vielzahl von Computer-Vision-Aufgaben, einschließlich Bildbearbeitung und virtuellen Anproben. In letzter Zeit mögen Diffusionsmodelle Stable Diffusion und Stable Diffusion 1.5 haben eine bemerkenswerte Fähigkeit bewiesen, qualitativ hochwertige Bilder zu erzeugen, und sie bieten Benutzern die Flexibilität, die semantischen und strukturellen Kontrollen zu steuern. Das bemerkenswerte Potenzial von Diffusionsmodellen hat Forscher dazu veranlasst, auf Diffusionsmodelle für qualitativ hochwertige Bild-Inpainting-Aufgaben zurückzugreifen, die sich an den Eingabeaufforderungen des Texts orientieren.
Die von traditionellen diffusionsbasierten textgesteuerten Inpainting-Frameworks verwendeten Methoden können in zwei Kategorien unterteilt werden: Änderung der Stichprobenstrategie und Spezielle Inpainting-Modelle. Die Sampling-Strategie-Modifikationsmethode modifiziert den Standard-Rauschunterdrückungsprozess, indem sie die maskierten Regionen aus einem vorab trainierten Diffusionsmodell abtastet und die unmaskierten Regionen aus dem gegebenen Bild in jedem Entrauschungsschritt kopiert und einfügt. Obwohl Ansätze zur Modifikation der Sampling-Strategie in beliebigen Diffusionsmodellen implementiert werden können, führen sie häufig zu inkohärenten Inpainting-Ergebnissen, da sie nur über begrenzte Wahrnehmungskenntnisse über Maskengrenzen und den Kontext unmaskierter Bildregionen verfügen. Andererseits optimieren spezielle Inpainting-Modelle ein Bild-Inpainting-Modell, das speziell entwickelt wurde, indem sie die Dimensionen des Eingabekanals des Basisdiffusionsmodells erweitern, um beschädigte Bilder und Masken einzubeziehen. Während dedizierte Inpainting-Modelle es dem Diffusionsmodell ermöglichen, mit speziellen form- und inhaltsbewussten Modellen zufriedenstellendere Ergebnisse zu erzielen, ist es möglicherweise das beste Architekturdesign für Bild-Inpainting-Modelle, vielleicht aber auch nicht.
Wie in der folgenden Abbildung gezeigt, verschmelzen spezielle Inpainting-Modelle in einem frühen Stadium maskiertes Bild, latentes Rauschen, Text und Maske. Das architektonische Design solcher dedizierter Inpainting-Modelle beeinflusst leicht die maskierten Bildmerkmale und verhindert, dass die nachfolgenden Ebenen in der UNet-Architektur aufgrund des Texteinflusses reine maskierte Bildmerkmale erhalten. Darüber hinaus stellt die Handhabung der Erzeugung und Bedingung in einem einzigen Zweig eine weitere Belastung für die UNet-Architektur dar, und da diese Ansätze auch eine Feinabstimmung in verschiedenen Variationen des Diffusions-Backbones erfordern, sind diese Ansätze oft zeitaufwändig und nur begrenzt übertragbar.
Es mag den Anschein haben, dass das Hinzufügen eines zusätzlichen Zweigs zum Extrahieren maskierter Bildmerkmale eine angemessene Lösung für die oben genannten Probleme darstellt. Allerdings führen bestehende Frameworks häufig zum Extrahieren und Einfügen unzureichender Informationen, wenn sie direkt auf Inpainting angewendet werden. Daher liefern bestehende Frameworks wie ControlNet im Vergleich zu dedizierten Inpainting-Modellen unbefriedigende Ergebnisse. Um dieses Problem so effektiv wie möglich anzugehen, führt das BrushNet-Framework einen zusätzlichen Zweig zum ursprünglichen Diffusionsnetzwerk ein und schafft so eine geeignetere Architektur für Bild-Inpainting-Aufgaben. Das Design und die Architektur des BrushNet-Frameworks lassen sich in drei Punkten zusammenfassen.
- Anstatt Faltungsschichten zufällig zu initialisieren, implementiert das BrushNet-Framework einen VAE-Encoder, um das maskierte Bild zu verarbeiten. Dadurch ist das BrushNet-Framework in der Lage, die Bildfunktionen zur Anpassung an die UNet-Verteilung effektiver zu extrahieren.
- Das BrishNet-Framework integriert schrittweise die vollständigen UNet-Funktionen Schicht für Schicht in die vorab trainierte UNet-Architektur, ein hierarchischer Ansatz, der eine dichte Kontrolle pro Pixel ermöglicht.
- Das BrushNet-Framework entfernt Text-Queraufmerksamkeiten aus der UNet-Komponente, um sicherzustellen, dass reine Bildinformationen im zusätzlichen Zweig berücksichtigt werden. Darüber hinaus schlägt das BrushNet-Modell auch die Implementierung einer unscharfen Mischstrategie vor, um eine bessere Konsistenz und eine höhere Steuerbarkeit in unmaskierten Bildbereichen zu erreichen.
BrushNet: Methode und Architektur
Die folgende Abbildung gibt uns einen kurzen Überblick über das BrushNet-Framework.
Wie zu beobachten ist, verwendet das Framework eine Dual-Branch-Strategie für das Einfügen maskierter Bildführung und verwendet Mischvorgänge mit einer unscharfen Maske, um eine bessere Erhaltung unmaskierter Bereiche sicherzustellen. Es ist erwähnenswert, dass das BrushNet-Framework in der Lage ist, die hinzugefügte Skalierung anzupassen, um eine flexible Steuerung zu erreichen. Für eine gegebene maskierte Bildeingabe und die Maske gibt das BrushNet-Modell ein eingefärbtes Bild aus. Das Modell sampelt zunächst die Maske herunter, um sie an die Größe des latenten Raums anzupassen, und das maskierte Bild wird als Eingabe an den VAE-Encoder weitergeleitet, um die Verteilung des latenten Raums auszurichten. Das Modell verkettet dann das latente maskierte Bild, das latente Rauschen und die heruntergesampelte Maske und verwendet es als Eingabe. Die vom Modell extrahierten Merkmale werden dann nach einem Faltungsblock von Null zur vorab trainierten UNet-Schicht hinzugefügt. Nach der Rauschunterdrückung mischt das Modell das maskierte Bild und das erzeugte Bild mit einer unscharfen Maske.
Maskierte Bildführung
Das BrushNet-Framework fügt das maskierte Bildmerkmal mithilfe eines zusätzlichen Zweigs in das vorab trainierte Diffusionsnetzwerk ein, der die Merkmalsextraktion maskierter Bilder explizit vom Prozess der Bildgenerierung trennt. Die Eingabe wird durch Verkettung des latenten maskierten Bildes, des latenten Rauschens und der heruntergetasteten Maske gebildet. Genauer gesagt stellt das verrauschte Latent Informationen für die Bilderzeugung während des aktuellen Generierungsprozesses bereit und hilft dem Framework, die semantische Kohärenz des maskierten Bildmerkmals zu verbessern. Das BrushNet-Framework extrahiert dann mithilfe eines Variational AutoEncoders das latente maskierte Bild aus dem maskierten Bild. Darüber hinaus verwendet das Framework kubische Interpolation, um die Maske herunterzuskalieren, um sicherzustellen, dass die Maskengröße mit dem latenten maskierten Bild und dem latenten Rauschen übereinstimmt. Um die maskierten Bildmerkmale zu verarbeiten, implementiert das BrushNet-Framework einen Klon des vorab trainierten Diffusionsmodells und schließt die Queraufmerksamkeitsebenen des Diffusionsmodells aus. Der Grund dafür ist, dass die vorab trainierten Gewichte des Diffusionsmodells als starke Priorität für die Extraktion der Merkmale des maskierten Bildes dienen und durch den Ausschluss der Queraufmerksamkeitsebenen sichergestellt wird, dass das Modell nur reine Bildinformationen innerhalb des zusätzlichen Zweigs berücksichtigt. Das BrushNet-Framework fügt die Features Schicht für Schicht in das eingefrorene Diffusionsmodell ein und ermöglicht so eine hierarchische dichte Pro-Pixel-Steuerung und verwendet außerdem Schichten ohne Faltung, um eine Verbindung zwischen dem trainierbaren BrushNet-Modell und dem gesperrten Modell herzustellen und so sicherzustellen, dass schädliches Rauschen auftritt Kein Einfluss auf die verborgenen Zustände in der trainierbaren Kopie während der anfänglichen Trainingsphasen.
Mischvorgang
Wie bereits erwähnt, führt die Durchführung des Mischvorgangs im latenten Raum zu einer Größenänderung der Masken, was oft zu mehreren Ungenauigkeiten führt, und das BrushNet-Framework stößt auf ein ähnliches Problem, wenn es die Größe der Maske an die Größe des latenten Raums anpasst. Darüber hinaus ist zu beachten, dass Kodierungs- und Dekodierungsvorgänge in Variational AutoEncodern von Natur aus eingeschränkte Vorgänge haben und möglicherweise keine vollständige Bildrekonstruktion gewährleisten. Um sicherzustellen, dass das Framework ein vollständig konsistentes Bild der unmaskierten Region rekonstruiert, wurden in bestehenden Arbeiten verschiedene Techniken implementiert, wie zum Beispiel das Kopieren der unmaskierten Regionen aus dem Originalbild. Obwohl der Ansatz funktioniert, führt er häufig zu einem Mangel an semantischer Kohärenz bei der Generierung der Endergebnisse. Andererseits haben andere Methoden wie die Anwendung latenter Mischoperationen Schwierigkeiten, die gewünschten Informationen in den nicht maskierten Regionen beizubehalten.
Flexible Steuerung
Das architektonische Design des BrushNet-Frameworks macht es zu einer geeigneten Wahl für Plug-and-Play-Integrationen verschiedener vorab trainierter Diffusionsmodelle und ermöglicht eine flexible Konservierungsskala. Da das BrishNet-Framework die Gewichte des vorab trainierten Diffusionsmodells nicht verändert, haben Entwickler die Flexibilität, es als Plug-and-Play-Komponente mit einem fein abgestimmten Diffusionsmodell zu integrieren, was eine einfache Übernahme und Experimentierung mit vorab trainierten Modellen ermöglicht. Darüber hinaus haben Entwickler auch die Möglichkeit, die Erhaltungsskala der unmaskierten Regionen zu steuern, indem sie die Merkmale des BrushNet-Modells in das eingefrorene Diffusionsmodell mit dem gegebenen Gewicht w integrieren, das den Einfluss des BrushNet-Frameworks auf die Erhaltungsskala bestimmt, was Entwicklern die Möglichkeit bietet Möglichkeit, den gewünschten Konservierungsgrad anzupassen. Schließlich ermöglicht das BrushNet-Framework Benutzern die Anpassung des Unschärfemaßstabs und die Entscheidung, ob der Unschärfevorgang implementiert werden soll oder nicht. Dadurch lässt sich der Beibehaltungsmaßstab der unmaskierten Bereiche einfach anpassen, was Raum für flexible Anpassungen und eine feinkörnige Steuerung des Bild-Inpainting-Prozesses schafft .
BrushNet: Implementierung und Ergebnisse
Um seine Ergebnisse zu analysieren, schlägt das BrushNet-Framework BrushBench vor, a segmentierungsbasiert Bild-Inpainting-Datensatz mit über 600 Bildern, wobei jedes Bild von einer von Menschen kommentierten Maske und einer Beschriftungsanmerkung begleitet wird. Die Bilder im Benchmark-Datensatz sind gleichmäßig auf natürliche und künstliche Bilder verteilt und sorgen außerdem für eine gleichmäßige Verteilung auf verschiedene Kategorien, was eine faire Bewertung über verschiedene Kategorien hinweg ermöglicht. Um die Analyse der Inpainting-Aufgaben noch weiter zu verbessern, kategorisiert das BrushNet-Framework den Datensatz auf der Grundlage der verwendeten Methoden in zwei verschiedene Teile: segmentierungsbasiert und Pinselmasken.
Quantitativer Vergleich
Die folgende Tabelle vergleicht das BrushNet-Framework mit vorhandenen diffusionsbasierten Bild-Inpainting-Modellen im BrushBench-Datensatz mit der stabilen Diffusion als Basismodell.
Wie man beobachten kann, zeigt das BrushNet-Framework eine bemerkenswerte Effizienz bei der Erhaltung maskierter Bereiche, der Textausrichtung und der Bildqualität. Darüber hinaus sind Modelle wie Stable Diffusion Inpainting, HD-Painter, PowerPaint und andere zeigen eine starke Leistung bei Bild-Inpainting-Aufgaben, obwohl sie ihre Leistung bei Outside-Inpainting-Aufgaben nicht reproduzieren können, insbesondere im Hinblick auf Textausrichtung und Bildqualität. Insgesamt liefert das BrushNet-Framework die stärksten Ergebnisse.
Darüber hinaus vergleicht die folgende Tabelle das BrushNet-Framework mit vorhandenen diffusionsbasierten Bild-Inpainting-Modellen im EditBench-Datensatz. Die Leistung ist mit der im BrushBench-Datensatz beobachteten Leistung vergleichbar. Die Ergebnisse zeigen, dass das BrushNet-Framework bei einer Vielzahl von Bild-Inpainting-Aufgaben mit verschiedenen Maskentypen eine starke Leistung liefert.
Qualitativer Vergleich
Die folgende Abbildung vergleicht das BrushNet-Framework qualitativ mit vorhandenen Bild-Inpainting-Methoden. Die Ergebnisse decken künstliche Intelligenz und natürliche Bilder bei verschiedenen Inpainting-Aufgaben ab, einschließlich Zufallsmasken-Inpainting, Segmentierungsmaske innerhalb des Inpaintings und Segmentierungsmaske außerhalb des Inpaintings.
Wie zu beobachten ist, liefert das BrushNet-Framework bemerkenswerte Ergebnisse bei der Kohärenz der unmaskierten Region und der kohärenten Regionen und realisiert erfolgreich die Kenntnis der Hintergrundinformationen aufgrund der Implementierung des Dual-Branche-Entkopplungsansatzes. Darüber hinaus bietet der unberührte Zweig des vorab trainierten Diffusionsmodells auch den Vorteil, dass er verschiedene Datendomänen wie Anime und Malerei besser abdeckt, was zu einer besseren Leistung in verschiedenen Szenarien führt.
Abschließende Überlegungen
In diesem Artikel haben wir über BrushNet gesprochen, ein neuartiges Plug-and-Play-Framework mit zwei Zweigen, das maskierte Bildfunktionen auf Pixelebene in jedes vorab trainierte Diffusionsmodell einbettet und so Kohärenz und verbesserte Ergebnisse bei Bild-Inpainting-Aufgaben gewährleistet. Das BrushNet-Framework führt ein neuartiges Paradigma ein, bei dem das Framework die Bildmerkmale und das latente Rauschen in separate Zweige unterteilt. Die Aufteilung von Bildmerkmalen und verrauschten latenten Elementen verringert den Lernaufwand für das Modell drastisch und erleichtert eine differenzierte Einbindung wesentlicher maskierter Bildinformationen auf hierarchische Weise. Zusätzlich zum BrushNet-Framework werden wir auch über BrushBench und BrushData sprechen, die eine segmentierungsbasierte Leistungsbewertung bzw. ein Bild-Inpainting-Training ermöglichen.