Stummel DiffSeg: Unüberwachte Zero-Shot-Segmentierung mit stabiler Diffusion – Unite.AI
Vernetzen Sie sich mit uns

Artificial Intelligence

DiffSeg: Unbeaufsichtigte Zero-Shot-Segmentierung mit stabiler Diffusion

mm

Veröffentlicht

 on

DiffSeg: Unbeaufsichtigte Zero-Shot-Segmentierung mit stabiler Diffusion

Eine der zentralen Herausforderungen bei auf Computer Vision basierenden Modellen ist die Generierung hochwertiger Segmentierungsmasken. Jüngste Fortschritte im groß angelegten überwachten Training haben eine Zero-Shot-Segmentierung über verschiedene Bildstile hinweg ermöglicht. Darüber hinaus hat das unbeaufsichtigte Training die Segmentierung vereinfacht, ohne dass umfangreiche Anmerkungen erforderlich sind. Trotz dieser Entwicklungen bleibt die Entwicklung eines Computer-Vision-Frameworks, das alles in einer Zero-Shot-Umgebung ohne Anmerkungen segmentieren kann, eine komplexe Aufgabe. Semantische Segmentierung, ein grundlegendes Konzept in Computer-Vision-Modellen, beinhaltet die Aufteilung eines Bildes in kleinere Bereiche mit einheitlicher Semantik. Diese Technik bildet die Grundlage für zahlreiche nachgelagerte Aufgaben wie medizinische Bildgebung, Bildbearbeitung, autonomes Fahren und mehr.

Um die Entwicklung von Computer-Vision-Modellen voranzutreiben, ist es entscheidend, dass die Bildsegmentierung nicht auf einen festen Datensatz mit begrenzten Kategorien beschränkt ist. Stattdessen sollte es als vielseitige Basisaufgabe für verschiedene andere Anwendungen dienen. Die hohen Kosten für die Erfassung von Etiketten pro Pixel stellen jedoch eine erhebliche Herausforderung dar und schränken den Fortschritt von Zero-Shot- und überwachten Segmentierungsmethoden ein, die keine Anmerkungen erfordern und keinen vorherigen Zugriff auf das Ziel haben. In diesem Artikel wird erläutert, wie sich die Selbstaufmerksamkeit einfügt stabile Diffusionsmodelle kann die Erstellung eines Modells erleichtern, das in der Lage ist, jede Eingabe in einer Zero-Shot-Umgebung zu segmentieren, auch ohne geeignete Anmerkungen. Diese Selbstaufmerksamkeitsschichten verstehen von Natur aus Objektkonzepte, die von einem vorab trainierten stabilen Diffusionsmodell gelernt wurden.

DiffSeg: Ein verbesserter Zero-Shot-Segmentierungsalgorithmus

Semantische Segmentierung ist ein Prozess, der ein Bild in verschiedene Abschnitte unterteilt, wobei jeder Abschnitt eine ähnliche Semantik aufweist. Diese Technik bildet die Grundlage für zahlreiche nachgelagerte Aufgaben. Traditionell beruhten Zero-Shot-Computer-Vision-Aufgaben auf einer überwachten semantischen Segmentierung, bei der große Datensätze mit annotierten und beschrifteten Kategorien verwendet wurden. Allerdings bleibt die Implementierung einer unbeaufsichtigten semantischen Segmentierung in einer Zero-Shot-Umgebung eine Herausforderung. Während herkömmliche überwachte Methoden effektiv sind, sind ihre Kosten für die Beschriftung pro Pixel oft unerschwinglich, was die Notwendigkeit unterstreicht, unbeaufsichtigte Segmentierungsmethoden in einer weniger restriktiven Zero-Shot-Umgebung zu entwickeln, in der das Modell weder annotierte Daten noch vorherige Kenntnis der Daten erfordert.

Um diese Einschränkung zu beheben, führt DiffSeg eine neuartige Nachbearbeitungsstrategie ein, die die Fähigkeiten des Stable Diffusion-Frameworks nutzt, um ein generisches Segmentierungsmodell zu erstellen, das eine Zero-Shot-Übertragung auf jedem Bild ermöglicht. Stable-Diffusion-Frameworks haben ihre Wirksamkeit bei der Erzeugung hochauflösender Bilder unter zeitnahen Bedingungen bewiesen. Für generierte Bilder können diese Frameworks mithilfe entsprechender Textaufforderungen Segmentierungsmasken erstellen, die typischerweise nur dominante Vordergrundobjekte umfassen.

Im Gegensatz dazu ist DiffSeg eine innovative Nachbearbeitungsmethode, die Segmentierungsmasken erstellt, indem Aufmerksamkeitstensoren aus den Selbstaufmerksamkeitsschichten in einem Diffusionsmodell verwendet werden. Der DiffSeg-Algorithmus besteht aus drei Schlüsselkomponenten: iterative Aufmerksamkeitszusammenführung, Aufmerksamkeitsaggregation und nicht maximale Unterdrückung, wie in der folgenden Abbildung dargestellt.

Der DiffSeg-Algorithmus bewahrt visuelle Informationen über mehrere Auflösungen hinweg, indem er die 4D-Aufmerksamkeitstensoren mit räumlicher Konsistenz aggregiert und einen iterativen Zusammenführungsprozess durch Abtasten von Ankerpunkten nutzt. Diese Anker dienen als Startrampe für die verschmelzenden Aufmerksamkeitsmasken, wobei dieselben Objektanker schließlich absorbiert werden. Das DiffSeg-Framework steuert den Zusammenführungsprozess mithilfe von KL-Divergenzmethode um die Ähnlichkeit zwischen zwei Aufmerksamkeitskarten zu messen. 

Im Vergleich zu Clustering-basierten unbeaufsichtigten Segmentierungsmethoden müssen Entwickler im DiffSeg-Algorithmus die Anzahl der Cluster nicht im Voraus angeben, und selbst ohne Vorkenntnisse kann der DiffSeg-Algorithmus eine Segmentierung durchführen, ohne zusätzliche Ressourcen zu verbrauchen. Insgesamt ist der DiffSeg-Algorithmus „Eine neuartige unbeaufsichtigte und Zero-Shot-Segmentierungsmethode, die ein vorab trainiertes Stable Diffusion-Modell nutzt und Bilder ohne zusätzliche Ressourcen oder Vorkenntnisse segmentieren kann."  

DiffSeg: Grundlegende Konzepte

DiffSeg ist ein neuartiger Algorithmus, der auf den Erkenntnissen von Diffusionsmodellen, unbeaufsichtigter Segmentierung und Zero-Shot-Segmentierung aufbaut. 

Diffusionsmodelle

Der DiffSeg-Algorithmus baut auf den Erkenntnissen vorab trainierter Diffusionsmodelle auf. Diffusionsmodelle sind eines der beliebtesten generativen Frameworks für Computer-Vision-Modelle und erlernen den Vorwärts- und Rückwärtsdiffusionsprozess aus einem abgetasteten isotropen Gaußschen Rauschbild, um ein Bild zu erzeugen. Stable Diffusion ist die beliebteste Variante von Diffusionsmodellen und wird zur Durchführung einer Vielzahl von Aufgaben verwendet, darunter überwachte Segmentierung, Zero-Shot-Klassifizierung, Semantic-Correspondence-Matching, Label-effiziente Segmentierung und Segmentierung mit offenem Vokabular. Das einzige Problem bei Diffusionsmodellen besteht jedoch darin, dass sie zur Ausführung dieser Aufgaben auf hochdimensionale visuelle Merkmale angewiesen sind und häufig zusätzliches Training erfordern, um diese Funktionen vollständig nutzen zu können. 

Unbeaufsichtigte Segmentierung

Der DiffSeg-Algorithmus steht in engem Zusammenhang mit der unbeaufsichtigten Segmentierung, einer modernen KI-Praxis, die darauf abzielt, dichte Segmentierungsmasken ohne den Einsatz von Anmerkungen zu generieren. Um jedoch eine gute Leistung zu erzielen, benötigen unbeaufsichtigte Segmentierungsmodelle zuvor ein unbeaufsichtigtes Training des Zieldatensatzes. Auf unbeaufsichtigter Segmentierung basierende KI-Frameworks können in zwei Kategorien charakterisiert werden: Clustering mithilfe vorab trainierter Modelle und Clustering basierend auf Invarianz. In der ersten Kategorie nutzen die Frameworks die von vorab trainierten Modellen erlernten Unterscheidungsmerkmale, um Segmentierungsmasken zu generieren, während Frameworks der zweiten Kategorie einen generischen Clustering-Algorithmus verwenden, der die gegenseitige Information zwischen zwei Bildern optimiert, um Bilder in semantische Cluster zu segmentieren und eine degenerierte Segmentierung vermeiden. 

Zero-Shot-Segmentierung

Der DiffSeg-Algorithmus ist eng mit Zero-Shot-Segmentierungs-Frameworks verwandt, einer Methode mit der Fähigkeit, alles ohne vorherige Schulung oder Kenntnis der Daten zu segmentieren. Zero-Shot-Segmentierungsmodelle haben in jüngster Zeit außergewöhnliche Zero-Shot-Übertragungsfunktionen gezeigt, obwohl sie einige Texteingaben und Eingabeaufforderungen erfordern. Im Gegensatz dazu verwendet der DiffSeg-Algorithmus ein Diffusionsmodell, um eine Segmentierung zu erzeugen, ohne mehrere Bilder abzufragen und zu synthetisieren und ohne den Inhalt des Objekts zu kennen. 

DiffSeg: Methode und Architektur

Der DiffSeg-Algorithmus nutzt die Selbstaufmerksamkeitsschichten in einem vorab trainierten stabilen Diffusionsmodell, um qualitativ hochwertige Segmentierungsaufgaben zu generieren. 

Stabiles Diffusionsmodell

Stabile Diffusion ist eines der grundlegenden Konzepte im DiffSeg-Framework. Stable Diffusion ist ein generatives KI-Framework und eines der beliebtesten Diffusionsmodelle. Eines der Hauptmerkmale eines Diffusionsmodells ist ein Vorwärts- und ein Rückwärtsdurchlauf. Im Vorwärtsdurchlauf wird einem Bild bei jedem Zeitschritt iterativ eine kleine Menge Gaußsches Rauschen hinzugefügt, bis das Bild zu einem isotropen Gaußschen Rauschbild wird. Andererseits entfernt das Diffusionsmodell im umgekehrten Durchgang iterativ das Rauschen im isotropen Gaußschen Rauschbild, um das Originalbild ohne Gaußsches Rauschen wiederherzustellen. 

Das Stable Diffusion-Framework verwendet einen Encoder-Decoder und ein U-Net-Design mit Aufmerksamkeitsschicht, bei dem es einen Encoder verwendet, um zunächst ein Bild in einen latenten Raum mit kleineren räumlichen Abmessungen zu komprimieren, und den Decoder zum Dekomprimieren des Bildes verwendet. Die U-Net-Architektur besteht aus einem Stapel modularer Blöcke, wobei jeder Block aus einer der folgenden beiden Komponenten besteht: einer Transformer-Schicht und einer ResNet-Schicht. 

Komponenten und Architektur

Selbstaufmerksamkeitsschichten in Diffusionsmodellen gruppieren Informationen inhärenter Objekte in Form von räumlichen Aufmerksamkeitskarten, und DiffSeg ist eine neuartige Nachbearbeitungsmethode, um Aufmerksamkeitstensoren in einer gültigen Segmentierungsmaske zusammenzuführen, wobei die Pipeline aus drei Hauptkomponenten besteht: Aufmerksamkeitsaggregation, nicht maximale Unterdrückung und iterative Aufmerksamkeit.

Aufmerksamkeitsaggregation

Für ein Eingabebild, das die U-Net-Schichten und den Encoder durchläuft, generiert das Stable Diffusion-Modell insgesamt 16 Aufmerksamkeitstensoren mit 5 Tensoren für jede Dimension. Das Hauptziel der Generierung von 16 Tensoren besteht darin, diese Aufmerksamkeitstensoren mit unterschiedlichen Auflösungen zu einem Tensor mit der höchstmöglichen Auflösung zusammenzufassen. Um dies zu erreichen, behandelt der DiffSeg-Algorithmus die vier Dimensionen unterschiedlich. 

Von den vier Dimensionen haben die letzten beiden Dimensionen in den Aufmerksamkeitssensoren unterschiedliche Auflösungen, sind jedoch räumlich konsistent, da die räumliche 2D-Karte des DiffSeg-Frameworks der Korrelation zwischen den Standorten und den räumlichen Standorten entspricht. Infolgedessen tastet das DiffSeg-Framework diese beiden Dimensionen aller Aufmerksamkeitskarten mit der höchsten Auflösung von allen ab, 2 x 64. Andererseits geben die ersten beiden Dimensionen die Standortreferenz der Aufmerksamkeitskarten an, wie im folgenden Bild gezeigt. 

Da sich diese Dimensionen auf den Standort der Aufmerksamkeitskarten beziehen, müssen die Aufmerksamkeitskarten entsprechend aggregiert werden. Um außerdem sicherzustellen, dass die aggregierte Aufmerksamkeitskarte eine gültige Verteilung aufweist, normalisiert das Framework die Verteilung nach der Aggregation, wobei jeder Aufmerksamkeitskarte eine Gewichtung zugewiesen wird, die proportional zu ihrer Auflösung ist. 

Iterative Aufmerksamkeitszusammenführung

Während das Hauptziel der Aufmerksamkeitsaggregation darin bestand, einen Aufmerksamkeitstensor zu berechnen, besteht das Hauptziel darin, die Aufmerksamkeitskarten im Tensor zu einem Stapel von Objektvorschlägen zusammenzuführen, wobei jeder einzelne Vorschlag entweder die Stoffkategorie oder die Aktivierung eines einzelnen Objekts enthält. Die vorgeschlagene Lösung, um dies zu erreichen, besteht darin, einen K-Means-Algorithmus für die gültige Verteilung der Tensoren zu implementieren, um die Cluster der Objekte zu finden. Die Verwendung von K-Means ist jedoch nicht die optimale Lösung, da Benutzer beim K-Means-Clustering die Anzahl der Cluster im Voraus angeben müssen. Darüber hinaus kann die Implementierung eines K-Means-Algorithmus zu unterschiedlichen Ergebnissen für dasselbe Bild führen, da dieser stochastisch von der Initialisierung abhängt. Um diese Hürde zu überwinden, schlägt das DiffSeg-Framework vor, ein Stichprobenraster zu generieren, um die Vorschläge durch iteratives Zusammenführen von Aufmerksamkeitskarten zu erstellen. 

Nicht maximale Unterdrückung

Der vorherige Schritt der iterativen Aufmerksamkeitszusammenführung ergibt eine Liste von Objektvorschlägen in Form von Wahrscheinlichkeits- oder Aufmerksamkeitskarten, wobei jeder Objektvorschlag die Aktivierung des Objekts enthält. Das Framework nutzt die nicht-maximale Unterdrückung, um die Liste der Objektvorschläge in eine gültige Segmentierungsmaske umzuwandeln, und der Prozess ist ein effektiver Ansatz, da jedes Element in der Liste bereits eine Karte der Wahrscheinlichkeitsverteilung ist. Für jeden räumlichen Ort auf allen Karten nimmt der Algorithmus den Index mit der größten Wahrscheinlichkeit und weist eine Mitgliedschaft auf der Grundlage des Index der entsprechenden Karte zu. 

DiffSeg: Experimente und Ergebnisse

Frameworks, die an der unbeaufsichtigten Segmentierung arbeiten, nutzen zwei Segmentierungs-Benchmarks, nämlich Cityscapes und COCO-stuff-27. Der Cityscapes-Benchmark ist ein selbstfahrender Datensatz mit 27 Kategorien mittlerer Ebene, während der COCO-stuff-27-Benchmark eine kuratierte Version des ursprünglichen COCO-stuff-Datensatzes ist, der 80 Dinge und 91 Kategorien in 27 Kategorien zusammenführt. Um die Segmentierungsleistung zu analysieren, verwendet das DiffSeg-Framework außerdem die mittlere Schnittmenge über Union oder mIoU und die Pixelgenauigkeit oder ACC. Da der DiffSeg-Algorithmus keine semantische Bezeichnung bereitstellen kann, verwendet er den ungarischen Matching-Algorithmus, um eine Ground-Truth-Maske zuzuweisen jede vorhergesagte Maske. Falls die Anzahl der vorhergesagten Masken die Anzahl der Ground-Truth-Masken übersteigt, berücksichtigt das Framework die nicht übereinstimmenden vorhergesagten Aufgaben als falsch-negative Ergebnisse. 

Darüber hinaus legt das DiffSeg-Framework auch Wert auf die folgenden drei Funktionen zur Ausführung von Interferenzen: Language Dependency oder LD, Unsupervised Adaptation oder UA und Auxiliary Image oder AX. Sprachabhängigkeit bedeutet, dass die Methode beschreibende Texteingaben benötigt, um die Segmentierung für das Bild zu erleichtern. Unüberwachte Anpassung bezieht sich auf die Anforderung an die Methode, unüberwachtes Training für den Zieldatensatz zu verwenden, während Hilfsbild darauf hinweist, dass die Methode zusätzliche Eingaben benötigt, entweder als synthetische Bilder, oder als Pool von Referenzbildern. 

Die Ergebnisse

Beim COCO-Benchmark umfasst das DiffSeg-Framework zwei k-Means-Basislinien, K-Means-S und K-Means-C. Der K-Means-C-Benchmark umfasst 6 Cluster, die er durch Mittelung der Anzahl der Objekte in den ausgewerteten Bildern berechnet, während der K-Means-S-Benchmark eine bestimmte Anzahl von Clustern für jedes Bild auf der Grundlage der Anzahl der vorhandenen Objekte verwendet in der Grundwahrheit des Bildes, und die Ergebnisse dieser beiden Benchmarks werden im folgenden Bild veranschaulicht. 

Wie man sehen kann, übertrifft die K-Means-Basislinie bestehende Methoden und demonstriert so den Nutzen der Verwendung von Selbstaufmerksamkeitstensoren. Interessant ist, dass der K-Means-S-Benchmark den K-Means-C-Benchmark übertrifft, was darauf hinweist, dass die Anzahl der Cluster ein grundlegender Hyperparameter ist und seine Optimierung für jedes Bild wichtig ist. Darüber hinaus übertrifft das DiffSeg-Framework selbst bei Verwendung derselben Aufmerksamkeitstensoren die K-Means-Basislinien, was die Fähigkeit des DiffSeg-Frameworks beweist, nicht nur eine bessere Segmentierung bereitzustellen, sondern auch die Nachteile zu vermeiden, die sich aus der Verwendung von K-Means-Basislinien ergeben. 

Im Cityscapes-Datensatz liefert das DiffSeg-Framework ähnliche Ergebnisse wie die Frameworks, die Eingaben mit einer niedrigeren Auflösung von 320 verwenden, übertrifft jedoch Frameworks, die Eingaben mit einer höheren Auflösung von 512 benötigen, hinsichtlich Genauigkeit und mIoU. 

Wie bereits erwähnt, verwendet das DiffSeg-Framework mehrere Hyperparameter, wie im folgenden Bild gezeigt. 

Aufmerksamkeitsaggregation ist eines der grundlegenden Konzepte, die im DiffSeg-Framework verwendet werden. Die Auswirkungen der Verwendung unterschiedlicher Aggregationsgewichte werden im folgenden Bild veranschaulicht, wobei die Auflösung des Bildes konstant ist. 

Wie zu beobachten ist, liefern hochauflösende Karten in Abb. (b) mit 64 x 64-Karten die detailliertesten Segmentierungen, obwohl die Segmentierungen einige sichtbare Brüche aufweisen, wohingegen 32 x 32-Karten mit niedrigerer Auflösung dazu neigen, Details zu übersegmentieren, obwohl dies zu einer Übersegmentierung führt verbesserte kohärente Segmentierung. In Abbildung (d) erzeugen Karten mit niedriger Auflösung keine Segmentierung, da das gesamte Bild mit den vorhandenen Hyperparametereinstellungen zu einem einzelnen Objekt zusammengeführt wird. Schließlich führt Abbildung (a), die die proportionale Aggregationsstrategie nutzt, zu verbesserten Details und ausgewogener Konsistenz. 

Abschließende Überlegungen

Die unbeaufsichtigte Zero-Shot-Segmentierung ist immer noch eine der größten Hürden für Computer-Vision-Frameworks, und bestehende Modelle basieren entweder auf einer unbeaufsichtigten Non-Zero-Shot-Anpassung oder auf externen Ressourcen. Um diese Hürde zu überwinden, haben wir darüber gesprochen, wie Selbstaufmerksamkeitsschichten in stabilen Diffusionsmodellen die Konstruktion eines Modells ermöglichen können, das in der Lage ist, jede Eingabe in einer Zero-Shot-Umgebung ohne entsprechende Anmerkungen zu segmentieren, da diese Selbstaufmerksamkeitsschichten die inhärenten Konzepte von enthalten das Objekt, das ein vorab trainiertes stabiles Diffusionsmodell lernt. Wir haben auch über DiffSeg gesprochen, eine neuartige Nachbearbeitungsstrategie, die darauf abzielt, das Potenzial des Stable Diffusion-Frameworks zu nutzen, um ein generisches Segmentierungsmodell zu erstellen, das eine Zero-Shot-Übertragung für jedes Bild implementieren kann. Der Algorithmus basiert auf Inter-Attention-Ähnlichkeit und Intra-Attention-Ähnlichkeit, um Aufmerksamkeitskarten iterativ in gültige Segmentierungsmasken zusammenzuführen und so eine hochmoderne Leistung bei gängigen Benchmarks zu erzielen. 

„Von Beruf Ingenieur, von Herzen Schriftsteller“. Kunal ist ein technischer Autor mit einer tiefen Liebe und einem tiefen Verständnis für KI und ML, der sich der Vereinfachung komplexer Konzepte in diesen Bereichen durch seine ansprechende und informative Dokumentation widmet.