KI-Modelle und Plattformen

DiffSeg: Unbeaufsichtigte Zero-Shot-Segmentierung mit Stable Diffusion

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

Eine der Kernherausforderungen in computerbasierten Modellen ist die Erzeugung von hochwertigen Segmentierungsmasken. Aktuelle Fortschritte im Bereich des großen, beaufsichtigten Trainings haben Zero-Shot-Segmentierung über verschiedene Bildstile hinweg ermöglicht. Darüber hinaus hat das unbeaufsichtigte Training die Segmentierung ohne die Notwendigkeit umfangreicher Annotationen vereinfacht. Trotz dieser Entwicklungen bleibt die Konstruktion eines computerbasierten Frameworks, das in der Lage ist, alles in einem Zero-Shot-Szenario ohne Annotationen zu segmentieren, eine komplexe Aufgabe. Semantische Segmentierung, ein grundlegendes Konzept in computerbasierten Modellen, beinhaltet die Aufteilung eines Bildes in kleinere Regionen mit einheitlicher Semantik. Diese Technik bildet die Grundlage für zahlreiche nachgelagerte Aufgaben, wie medizinische Bildgebung, Bildbearbeitung, autonomes Fahren und vieles mehr.

Um die Entwicklung von computerbasierten Modellen voranzutreiben, ist es von entscheidender Bedeutung, dass die Bildsegmentierung nicht auf ein festes Dataset mit begrenzten Kategorien beschränkt ist. Stattdessen sollte sie als vielseitige Grundlage für verschiedene Anwendungen dienen. Allerdings stellt die hohe Kosten für die Erfassung von Labels auf Pixel-Ebene eine erhebliche Herausforderung dar, die den Fortschritt von Zero-Shot- und beaufsichtigten Segmentierungsmethoden, die keine Annotationen erfordern und keinen vorherigen Zugriff auf das Ziel haben, behindert. Dieser Artikel wird diskutieren, wie Selbst-Aufmerksamkeitsschichten in Stable-Diffusions-Modellen die Erstellung eines Modells ermöglichen können, das in der Lage ist, jedes Eingabebild in einem Zero-Shot-Szenario zu segmentieren, auch ohne ordnungsgemäße Annotationen. Diese Selbst-Aufmerksamkeitsschichten verstehen inhärent die Objektkonzepte, die ein vorge trainiertes Stable-Diffusions-Modell erlernt.

DiffSeg: Ein verbesserter Zero-Shot-Segmentierungsalgorithmus

Semantische Segmentierung ist ein Prozess, der ein Bild in verschiedene Abschnitte unterteilt, wobei jeder Abschnitt ähnliche Semantik aufweist. Diese Technik bildet die Grundlage für zahlreiche nachgelagerte Aufgaben. Traditionell haben Zero-Shot-Computer-Vision-Aufgaben von beaufsichtigter semantischer Segmentierung abhängig gemacht, die große Datensätze mit annotierten und gelabelten Kategorien verwenden. Allerdings bleibt die Implementierung von unbeaufsichtigter semantischer Segmentierung in einem Zero-Shot-Szenario eine Herausforderung. Während traditionelle beaufsichtigte Methoden effektiv sind, ist ihre Kosten für die Pixel-Labelierung oft prohibitiv, was die Notwendigkeit für die Entwicklung von unbeaufsichtigten Segmentierungsmethoden in einem weniger restriktiven Zero-Shot-Szenario unterstreicht, in dem das Modell weder annotierte Daten noch vorherige Kenntnisse der Daten erfordert.

Um diese Einschränkung zu überwinden, führt DiffSeg eine neue Post-Verarbeitungsstrategie ein, die die Fähigkeiten des Stable-Diffusions-Frameworks nutzt, um ein generisches Segmentierungsmodell zu erstellen, das in der Lage ist, Zero-Shot-Transfer auf jedem Bild durchzuführen. Stable-Diffusions-Frameworks haben ihre Wirksamkeit bei der Erzeugung von hochauflösenden Bildern auf der Grundlage von Prompt-Bedingungen unter Beweis gestellt. Für generierte Bilder können diese Frameworks Segmentierungsmasken mithilfe entsprechender Text-Prompts erstellen, die typischerweise nur dominanten Vordergrundobjekte enthalten.

Im Gegensatz dazu ist DiffSeg eine innovative Post-Verarbeitungsmethode, die Segmentierungsmasken durch die Verwendung von Aufmerksamkeitstensoren aus den Selbst-Aufmerksamkeitsschichten in einem Diffusionsmodell erstellt. Der DiffSeg-Algorithmus besteht aus drei Schlüsselkomponenten: iteratives Aufmerksamkeits-Merging, Aufmerksamkeits-Aggregation und Nicht-Maximum-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 ein iteratives Merging-Verfahren durch die Auswahl von Ankerpunkten verwendet. Diese Anker dienen als Startpunkt für das Merging der Aufmerksamkeitsmasken mit gleichem Objekt-Anker, der letztendlich absorbiert wird. Das DiffSeg-Framework steuert den Merging-Prozess mit Hilfe der KL-Divergenz-Methode zur Messung der Ähnlichkeit zwischen zwei Aufmerksamkeitskarten.

Im Vergleich zu clustering-basierten unbeaufsichtigten Segmentierungsmethoden müssen Entwickler bei dem DiffSeg-Algorithmus nicht die Anzahl der Cluster im Voraus angeben, und selbst ohne vorherige Kenntnisse kann der DiffSeg-Algorithmus Segmentierung ohne die Verwendung zusätzlicher Ressourcen erstellen. Insgesamt ist der DiffSeg-Algorithmus ein neues, unbeaufsichtigtes und Zero-Shot-Segmentierungsverfahren, das ein vorge trainiertes Stable-Diffusions-Modell nutzt und Bilder ohne zusätzliche Ressourcen oder vorherige Kenntnisse segmentieren kann.

DiffSeg: Grundlegende Konzepte

DiffSeg ist ein neuer Algorithmus, der auf den Erkenntnissen von Diffusions-Modellen, unbeaufsichtigter Segmentierung und Zero-Shot-Segmentierung aufbaut.

Diffusions-Modelle

Der DiffSeg-Algorithmus baut auf den Erkenntnissen von vorge trainierten Diffusions-Modellen auf. Diffusions-Modelle sind eines der beliebtesten generativen Frameworks für computerbasierte Modelle und lernen den Vorwärts- und Rückwärts-Diffusionsprozess von einem isotropen Gauß-Rauschbild zu einem Bild. Stable Diffusion ist die beliebteste Variante von Diffusions-Modellen und wird für eine Vielzahl von Aufgaben eingesetzt, einschließlich beaufsichtiger Segmentierung, Zero-Shot-Klassifizierung, semantischer Korrespondenz, label-effizienter Segmentierung und offener Vokabular-Segmentierung. Allerdings haben Diffusions-Modelle das Problem, dass sie auf hochdimensionalen visuellen Merkmalen basieren, um diese Aufgaben durchzuführen, und oft zusätzliches Training erfordern, um diese Merkmale voll auszunutzen.

Unbeaufsichtigte Segmentierung

Der DiffSeg-Algorithmus ist eng mit der unbeaufsichtigten Segmentierung verbunden, einer modernen KI-Praxis, die darauf abzielt, dichte Segmentierungsmasken ohne die Verwendung von Annotationen zu erstellen. Allerdings benötigen unbeaufsichtigte Segmentierungsmodelle für gute Leistung einige vorherige unbeaufsichtigte Trainings auf dem Ziel-Datensatz. Unbeaufsichtigte Segmentierung basierende KI-Frameworks können in zwei Kategorien unterteilt werden: Clustering mit vorge trainierten Modellen und Clustering basierend auf Invarianz. In der ersten Kategorie nutzen die Frameworks die diskriminativen Merkmale, die von vorge trainierten Modellen erlernt wurden, um Segmentierungsmasken zu erstellen, während Frameworks in der zweiten Kategorie ein generisches Clustering-Algorithmus verwenden, der die gegenseitige Information zwischen zwei Bildern optimiert, um Bilder in semantische Cluster zu unterteilen und degenerierte Segmentierung zu vermeiden.

Zero-Shot-Segmentierung

Der DiffSeg-Algorithmus ist eng mit Zero-Shot-Segmentierungs-Frameworks verbunden, einer Methode, die in der Lage ist, alles ohne vorherige Trainings oder Kenntnisse der Daten zu segmentieren. Zero-Shot-Segmentierungsmodelle haben in jüngster Zeit außergewöhnliche Zero-Shot-Transfer-Fähigkeiten demonstriert, erfordern jedoch einige Text-Eingaben und Prompts. Im Gegensatz dazu nutzt der DiffSeg-Algorithmus ein Diffusions-Modell, um Segmentierung ohne Abfrage und Synthese mehrerer Bilder und ohne Kenntnisse des Objekts zu erstellen.

DiffSeg: Methode und Architektur

Der DiffSeg-Algorithmus nutzt die Selbst-Aufmerksamkeitsschichten in einem vorge trainierten Stable-Diffusions-Modell, um hochwertige Segmentierungsaufgaben zu erstellen.

Stable-Diffusions-Modell

Stable Diffusion ist eines der grundlegenden Konzepte im DiffSeg-Framework. Stable Diffusion ist ein generatives KI-Framework und eines der beliebtesten Diffusions-Modelle. Eine der Hauptmerkmale von Diffusions-Modellen ist ein Vorwärts- und ein Rückwärts-Durchlauf. Im Vorwärts-Durchlauf wird ein kleiner Betrag an Gauß-Rauschen iterativ zu einem Bild hinzugefügt, bis das Bild ein isotropes Gauß-Rauschbild wird. Im Rückwärts-Durchlauf entfernt das Diffusions-Modell iterativ das Rauschen im isotropen Gauß-Rauschbild, um das ursprüngliche Bild ohne Gauß-Rauschen wiederherzustellen.

Das Stable-Diffusions-Framework nutzt einen Encoder-Decoder und ein U-Net-Design mit Aufmerksamkeitsschicht, bei dem es einen Encoder verwendet, um ein Bild zunächst in einen latenten Raum mit kleineren räumlichen Dimensionen zu komprimieren, und den Decoder, um das Bild zu dekomprimieren. Die U-Net-Architektur besteht aus einem Stapel von modularen Blöcken, wobei jeder Block aus einer der folgenden beiden Komponenten besteht: einer Transformer-Schicht und einer ResNet-Schicht.

Komponenten und Architektur

Selbst-Aufmerksamkeitsschichten in Diffusions-Modellen gruppieren Informationen inhärenter Objekte in Form von räumlichen Aufmerksamkeitskarten, und DiffSeg ist eine neue Post-Verarbeitungsmethode, um Aufmerksamkeitstensoren in eine gültige Segmentierungsmaske zu mergen, wobei die Pipeline aus drei Hauptkomponenten besteht: Aufmerksamkeits-Aggregation, Nicht-Maximum-Unterdrückung und iteratives Aufmerksamkeits-Merging.

Aufmerksamkeits-Aggregation

Für ein Eingabebild, das durch die U-Net-Schichten und den Encoder verläuft, erzeugt das Stable-Diffusions-Modell insgesamt 16 Aufmerksamkeitstensoren, wobei 5 Tensoren für jede der Dimensionen vorhanden sind. Das primäre Ziel der Erzeugung von 16 Tensoren ist es, diese Aufmerksamkeitstensoren mit unterschiedlichen Auflösungen in einen Tensor mit der höchstmöglichen Auflösung zu aggregieren. Um dies zu erreichen, behandelt der DiffSeg-Algorithmus die 4 Dimensionen unterschiedlich voneinander.

Von den vier Dimensionen haben die letzten beiden Dimensionen der Aufmerksamkeitssensoren unterschiedliche Auflösungen, sind jedoch räumlich konsistent, da die 2D-Spatial-Karte des DiffSeg-Frameworks der Korrelation zwischen den Orten und den räumlichen Orten entspricht. Daher sampelt das DiffSeg-Framework diese beiden Dimensionen aller Aufmerksamkeitskarten auf die höchste Auflösung von allen, 64 x 64. Andererseits zeigen die ersten beiden Dimensionen den Ortsbezug der Aufmerksamkeitskarten an, wie in der folgenden Abbildung dargestellt.

Da diese Dimensionen den Ortsbezug der Aufmerksamkeitskarten angeben, müssen die Aufmerksamkeitskarten entsprechend aggregiert werden. Darüber hinaus muss die aggregierte Aufmerksamkeitskarte eine gültige Verteilung aufweisen, wofür das Framework die Verteilung nach der Aggregation mit jedem Aufmerksamkeitstensor normalisiert, der proportional zu seiner Auflösung gewichtet wird.

Iteratives Aufmerksamkeits-Merging

Während das primäre Ziel der Aufmerksamkeits-Aggregation darin bestand, einen Aufmerksamkeitstensor zu berechnen, besteht das primäre Ziel darin, die Aufmerksamkeitskarten in dem Tensor zu einer Stapel von Objektvorschlägen zu mergen, wobei jeder Vorschlag entweder die Kategorie “Stuff” oder die Aktivierung eines einzelnen Objekts enthält. Die vorgeschlagene Lösung, um dies zu erreichen, besteht darin, einen K-Means-Algorithmus auf der gültigen Verteilung der Tensoren anzuwenden, um die Cluster der Objekte zu finden. Allerdings ist die Verwendung von K-Means nicht die optimale Lösung, da K-Means-Clustering die Angabe der Anzahl der Cluster im Voraus erfordert. Darüber hinaus kann die Implementierung eines K-Means-Algorithmus zu unterschiedlichen Ergebnissen für dasselbe Bild führen, da es stochastisch von der Initialisierung abhängt. Um diese Hürde zu überwinden, schlägt das DiffSeg-Framework vor, eine Sampling-Grid zu erstellen, um die Vorschläge durch iteratives Merging von Aufmerksamkeitskarten zu erstellen.

Nicht-Maximum-Unterdrückung

Der vorherige Schritt des iterativen Aufmerksamkeits-Mergings 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-Maximum-Unterdrückung, um die Liste von Objektvorschlägen in eine gültige Segmentierungsmaske umzuwandeln, und dieser Prozess ist ein effektiver Ansatz, da jedes Element in der Liste bereits eine Karte der Wahrscheinlichkeitsverteilung ist. Für jeden räumlichen Ort über alle Karten hinweg nimmt der Algorithmus den Index der größten Wahrscheinlichkeit und weist eine Mitgliedschaft auf der Grundlage des Index der entsprechenden Karte zu.

DiffSeg: Experimente und Ergebnisse

Framework, die auf unbeaufsichtigter Segmentierung basieren, nutzen zwei Segmentierungs-Benchmarks, nämlich Cityscapes und COCO-stuff-27. Der Cityscapes-Benchmark ist ein selbstfahrendes Datensatz mit 27 mittleren Kategorien, 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 zusammenfasst. Darüber hinaus verwendet das DiffSeg-Framework, um die Segmentierungsleistung zu analysieren, die mittlere Intersection-over-Union oder mIoU und die Pixel-Genauigkeit oder ACC, und da der DiffSeg-Algorithmus keine semantische Bezeichnung bereitstellen kann, verwendet es den Hungarian-Matching-Algorithmus, um eine Ground-Truth-Maske mit jeder vorhergesagten Maske zuzuordnen. Wenn die Anzahl der vorhergesagten Masken die Anzahl der Ground-Truth-Masken übersteigt, wird das Framework die nicht zugeordneten vorhergesagten Aufgaben als Falsch-Negativ-Fälle betrachten.

Darüber hinaus betont das DiffSeg-Framework auch die folgenden drei Arbeiten, um Interferenzen zu laufen: Language-Abhängigkeit oder LD, unbeaufsichtigte Anpassung oder UA und Auxiliary-Bild oder AX. Language-Abhängigkeit bedeutet, dass die Methode beschreibende Text-Eingaben benötigt, um die Segmentierung für das Bild zu erleichtern, unbeaufsichtigte Anpassung bezieht sich auf die Anforderung, dass die Methode unbeaufsichtigtes Training auf dem Ziel-Datensatz verwenden muss, während Auxiliary-Bild bedeutet, dass die Methode zusätzliche Eingaben benötigt, entweder als synthetische Bilder oder als Pool von Referenz-Bildern.

Ergebnisse

Auf dem COCO-Benchmark umfasst das DiffSeg-Framework zwei K-Means-Baselines, K-Means-S und K-Means-C. Der K-Means-C-Benchmark umfasst 6 Cluster, die durchschnittlich die Anzahl der Objekte in den Bildern berechnet, die es auswertet, während der K-Means-S-Benchmark eine bestimmte Anzahl von Clustern für jedes Bild auf der Grundlage der Anzahl der Objekte im Ground-Truth des Bildes verwendet, und die Ergebnisse auf beiden Benchmarks werden in der folgenden Abbildung dargestellt.

Wie zu sehen ist, übertrifft der K-Means-Baseline bestehende Methoden, was den Nutzen der Verwendung von Selbst-Aufmerksamkeitstensoren demonstriert. Interessant ist, dass der K-Means-S-Benchmark den K-Means-C-Benchmark übertrifft, was darauf hinweist, dass die Anzahl der Cluster ein grundlegendes Hyper-Parameter ist und ihre Anpassung für jedes Bild wichtig ist. Darüber hinaus übertrifft das DiffSeg-Framework, auch wenn es auf denselben Aufmerksamkeitstensoren basiert, die K-Means-Baselines, was die Fähigkeit des DiffSeg-Frameworks demonstriert, nicht nur bessere Segmentierung zu liefern, sondern auch die Nachteile der Verwendung von K-Means-Baselines zu vermeiden.

Auf dem Cityscapes-Datensatz liefert das DiffSeg-Framework Ergebnisse, die denen von Frameworks ähneln, die Eingaben mit niedrigerer Auflösung von 320 verwenden, während es Frameworks, die Eingaben mit höherer Auflösung von 512 verwenden, in Bezug auf Genauigkeit und mIoU übertrifft.

Wie vorher erwähnt, verwendet das DiffSeg-Framework mehrere Hyper-Parameter, wie in der folgenden Abbildung dargestellt.

Aufmerksamkeits-Aggregation ist eines der grundlegenden Konzepte, die im DiffSeg-Framework verwendet werden, und die Auswirkungen der Verwendung unterschiedlicher Aggregationsgewichte werden in der folgenden Abbildung dargestellt, wobei die Auflösung des Bildes konstant bleibt.

Wie zu sehen ist, liefern hochauflösende Karten in Abb. (b) mit 64 x 64 Karten die detailliertesten Segmentierungen, obwohl die Segmentierungen einige sichtbare Risse aufweisen, während niedrigere Auflösungen von 32 x 32 Karten dazu neigen, Details zu übersegmentieren, obwohl sie zu kohärenteren Segmentierungen führen. In Abb. (d) versagen niedrigauflösende Karten darin, Segmentierung zu erstellen, da das gesamte Bild in ein einzelnes Objekt mergiert wird, mit den vorhandenen Hyper-Parametern. Schließlich führt Abb. (a), die einen proportionalen Aggregationsansatz verwendet, zu verbesserten Details und ausgewogener Konsistenz.

Final Thoughts

Zero-Shot-unbeaufsichtigte Segmentierung ist immer noch eine der größten Hürden für computerbasierte Modelle, und bestehende Modelle verlassen sich entweder auf nicht-Zero-Shot-unbeaufsichtigte Anpassung oder auf externe Ressourcen. Um diese Hürde zu überwinden, haben wir diskutiert, wie Selbst-Aufmerksamkeitsschichten in Stable-Diffusions-Modellen die Konstruktion eines Modells ermöglichen können, das in der Lage ist, jedes Eingabebild in einem Zero-Shot-Szenario ohne ordnungsgemäße Annotationen zu segmentieren, da diese Selbst-Aufmerksamkeitsschichten die inhärenten Konzepte des Objekts enthalten, das ein vorge trainiertes Stable-Diffusions-Modell erlernt. Wir haben auch über DiffSeg gesprochen, eine neue Post-Verarbeitungsstrategie, die darauf abzielt, das Potenzial des Stable-Diffusions-Frameworks zu nutzen, um ein generisches Segmentierungsmodell zu erstellen, das in der Lage ist, Zero-Shot-Transfer auf jedem Bild durchzuführen. Der Algorithmus verlässt sich auf Inter-Aufmerksamkeits-Ähnlichkeit und Intra-Aufmerksamkeits-Ähnlichkeit, um Aufmerksamkeitskarten iterativ in gültige Segmentierungsmasken zu mergen, um Spitzenleistungen auf populären Benchmarks zu erzielen.

Ein Ingenieur von Beruf, ein Schriftsteller von Herzen. Kunal ist ein technischer Schriftsteller mit einer tiefen Liebe und einem tiefen Verständnis für KI und ML, der sich der Aufgabe widmet, komplexe Konzepte in diesen Bereichen durch seine ansprechenden und informativen Dokumentationen zu vereinfachen.