Vernetzen Sie sich mit uns

Künstliche Intelligenz

TinySAM: Die Grenzen des Segment Anything-Modells verschieben

mm
TinySAM: Die Grenzen des Segment Anything-Modells verschieben

Die Objektsegmentierung ist ein grundlegender und äußerst wichtiger Bereich der modernen Computer Vision. Es spielt eine entscheidende Rolle bei Anwendungen, die umfangreiche visuelle Komponenten erfordern, wie z. B. die Lokalisierung und Identifizierung von Objekten, und erfordert eine schnelle und genaue Segmentierung in Echtzeit. Diese Bedeutung hat die Objektsegmentierung zu einem durchweg heißen Forschungsthema gemacht, wobei bedeutende Arbeiten in Bereichen wie Instanzsegmentierung, semantische Segmentierung und panoptische Segmentierung durchgeführt wurden.

Mit der Weiterentwicklung der Objektsegmentierung hat sich das Segment Anything Model (SAM) als bemerkenswertes Werkzeug etabliert, das herausragende Segmentierungsfähigkeiten aufweist und schnell in verschiedenen Computer-Vision-Anwendungen eingesetzt wird. Frameworks mit einer vortrainierten SAM-Architektur erzielen beeindruckende Leistungen bei nachgelagerten Vision-Aufgaben. Trotz seiner Fähigkeiten und hohen Genauigkeit bei Segmentierungsaufgaben erfordert die komplexe und schwerfällige Architektur von SAM jedoch erhebliche Rechenleistung, was die Implementierung auf Geräten mit eingeschränkter Rechenleistung erschwert.

Um die rechnerischen Herausforderungen von SAM zu bewältigen, haben Forscher das Tiny Segment Anything Model (TinySAM) entwickelt, das die Zero-Shot-Performance des ursprünglichen Frameworks beibehält, aber gleichzeitig schlanker ist. TinySAM nutzt eine vollstufige Wissensdestillationsmethode mit Online-Hard-Prompts, um ein effizienteres Schülermodell zu erstellen. Eine an aufrufbare Segmentierungsaufgaben angepasste Quantisierung nach dem Training reduziert den Rechenaufwand zusätzlich. Darüber hinaus zielt das Design von TinySAM auf eine hierarchische Segmentierung ab, wodurch die Inferenzgeschwindigkeit nahezu verdoppelt wird, ohne die Leistung zu beeinträchtigen.

Dieser Artikel befasst sich mit dem TinySAM-Framework und untersucht seine Grundprinzipien, Architektur und Leistung im Vergleich zu anderen hochmodernen Segmentierungs-Frameworks. Lassen Sie uns diese Aspekte genauer untersuchen.

TinySAM: Effizientes Segment-Anything-Modell

Das Segment Anything Model hat aufgrund seiner lobenswerten Segmentierungsfunktionen in Verbindung mit einem riesigen Segmentierungsdatensatz, der über 11 Millionen Bilder und über eine Milliarde Bildmasken enthält, zum schnellen Fortschritt mehrerer Computer-Vision-Anwendungen beigetragen. Aufgrund seiner außergewöhnlichen Leistung bei Aufgaben, bei denen Objekte in beliebige Kategorien und Formen segmentiert werden, dient es als Grundlage für Frameworks, die nachgelagerte Aufgaben wie Bildinpainting, Objektverfolgung, 3D-Vision und mehr ausführen. Darüber hinaus bietet das Segment Anything-Modell auch bemerkenswerte Vorteile Zero-Shot-Segmentierung Leistung, die sensiblen Branchen zugute kam, die mit einer begrenzten Datenmenge arbeiten, einschließlich der medizinischen Forschung und der medizinischen Bildgebungsindustrie. 

Auch wenn die bemerkenswerten Segmentierungsfähigkeiten, die das Segment Anything-Modell für ein breites Spektrum nachgelagerter Bildverarbeitungsaufgaben bietet, nicht in Frage gestellt werden können, hat es doch seine Nachteile in Form einer komplexen architektonischen Überlastung, hoher Rechenanforderungen und erheblicher Betriebskosten. Bei einem System, das auf einer modernen GPU läuft, kann die Inferenzzeit eines SAM-Modells für ein 2×1024-Bild bis zu 1024 Sekunden betragen. Daher ist es eine äußerst schwierige Aufgabe, SAM-Anwendungen auf Geräten mit begrenzten Rechenfähigkeiten zu implementieren. Um diese Hürde zu überwinden, haben neuere Arbeiten wie MobileSAM und FastSAM versucht, ein SAM-Modell mit höherer Recheneffizienz zu entwickeln. Das MobileSAM-Framework versucht, die schwere Komponente im Bildencoder durch die Architektur des TinyViT-Frameworks zu ersetzen, während das FastSAM-Modell die Segmentierungsaufgabe an eine Instanzsegmentierungsaufgabe mit nur einer Kategorie mit überträgt YoloV8 Modell. Obwohl diese Methoden hinsichtlich der Reduzierung des Rechenaufwands einen gewissen Erfolg erzielen konnten, konnten sie die Leistung insbesondere bei nachgelagerten Zero-Shot-Aufgaben nicht aufrechterhalten. 

TinySAM oder das Tiny Segment Anything Model ist ein Versuch, den Rechenbedarf des aktuellen SAM-Modells zu reduzieren, ohne die Leistung bei Zero-Shot-Downstream-Aufgaben zu beeinträchtigen. Darüber hinaus schlägt das TinySAM-Framework vor, in seiner Architektur eine Methode zur Wissensdestillation in allen Phasen zu implementieren, mit dem Ziel, die Leistungsfähigkeit des kompakten Studentennetzwerks zu verbessern. Das TinySAM-Framework destilliert das Schülernetzwerk durchgängig unter der Aufsicht des Lehrernetzwerks aus verschiedenen Phasen. Um die Leistung weiter zu steigern, ermöglicht das Framework, dass sich der Destillationsprozess stärker mit harten Beispielen befasst, indem eine zusätzliche Online-Sampling-Strategie mit harten Eingabeaufforderungen implementiert wird. Um die Rechenkosten zusätzlich zu senken, stellt das TinySAM-Framework die aufforderungsfähigen Segmentierungsaufgaben den Quantisierungskomponenten nach dem Training zur Verfügung. 

Der größte Teil des Rechenaufwands eines Segment Anything-Modells besteht darin, dass das Modell aus den Rasteraufforderungspunkten umfangreiche Masken generiert, um alles im Bild zu segmentieren. Um den Rechenaufwand dieser Segmentierungsstrategie zu überwinden, verwendet das TinySAM-Framework eine hierarchische Segmentierungsstrategie, die die Inferenzgeschwindigkeit nahezu verdoppelt, ohne die Leistung zu beeinträchtigen. Mit diesen in seiner Architektur eingesetzten Methoden bietet das TinySAM-Framework eine erhebliche Reduzierung des Rechenaufwands und setzt neue Grenzen für effiziente Segmentierungsaufgaben. 

TinySAM: Architektur und Methodik

Bevor wir über die Architektur und Methodik des TinySAM-Frameworks sprechen, ist es wichtig, zunächst einen Blick auf seinen Vorgänger, das SAM-Framework, zu werfen. Seit seiner Einführung hat das Segment Anything Model eine bemerkenswerte Leistung, Vielseitigkeit und Generalisierungsfähigkeiten für eine Reihe nachgelagerter Bildverarbeitungs- und Objektsegmentierungsaufgaben bewiesen. 

Im Kern besteht das SAM-Modell aus drei Teilnetzwerken: dem Prompt-Encoder, dem Bild-Encoder und dem Maskendecoder. Das Hauptziel des Prompt-Encoders besteht darin, beliebig geformte Masken, Eingabepunkte und -felder sowie Freiformtext mit Positionsinformationen zu kodieren. Der Bildencoder ist ein schweres ViT- oder Vision-Transformer-basiertes Netzwerk, das das Eingabebild in Einbettungen extrahiert. Das Modell verwendet verschiedene Netzwerke, um die geometrischen und Texteingabeaufforderungen zu verarbeiten. Schließlich enthält der Maskendecoder einen Zweiwegetransformator, der die Ausgabe der Eingabeaufforderung und des Bildencoders empfängt, um die endgültige Maskenvorhersage zu generieren. Mit dem Datensatz demonstriert das SAM-Framework bemerkenswert hochwertige Segmentierungsfähigkeiten für Objekte unabhängig von ihrer Form und Kategorie. Darüber hinaus ist die Segment Anything-Modell demonstriert bemerkenswerte Leistung und Effizienz bei Zero-Shot-Downstream-Vision-Aufgaben, einschließlich Objektvorschlag, Kantenerkennung, Text-zu-Maske-Vorhersage und Instanzsegmentierung. Aufgrund seiner hochwertigen Segmentierungsfähigkeiten und flexiblen Prompt-Angebote bilden die SAM-Frameworks die Grundlage für Vision-Anwendungen. Vor diesem Hintergrund kann man den hohen Rechenaufwand der traditionellen SAM-Architektur nicht ignorieren, da eine große Anzahl von Parametern es für Entwickler nahezu unmöglich macht, SAM-basierte Anwendungen auf Geräten mit begrenzten Ressourcen bereitzustellen. 

Wissensdestillation

Die Wissensdestillation ist ein wichtiger Ansatz, um die Leistung kompakter Netzwerke während der Trainingsphase zu steigern. Die Wissensdestillationsmethode, die die Ergebnisse des Lehrernetzwerks nutzt, um die Ausbildung des leichtgewichtigen Schülernetzwerks zu überwachen. Die Wissensdestillationsmethode kann in zwei Unterkategorien unterteilt werden: Destillation für Zwischenmerkmale und Destillation für Netzwerkausgaben, wobei sich ein Großteil der Forschungsarbeiten rund um die Wissensdestillation auf Bildklassifizierungsaufgaben konzentriert. 

Vor diesem Hintergrund zeigt die folgende Abbildung die generische Architektur des TinySAM-Frameworks zusammen mit der Leistungsübersicht für Zero-Shot-Instanzsegmentierungsaufgaben. 

In der ersten Phase implementiert das TinySAM-Framework eine Wissensdestillation, die speziell für das SAM-Framework entwickelt wurde. Um den Destillationsprozess weiter zu aktivieren, verwendet das Modell eine Online-Hard-Prompt-Stichprobe, um das harte Wissen aus dem Lehrernetzwerk für das Schülernetzwerk zu gewinnen. In der zweiten Phase passt das TinySAM-Framework die Post-Training-Quantisierungsmethode an aufforderungsfähige Segmentierungsaufgaben an und implementiert sie im leichtgewichtigen Studentennetzwerk. Schließlich implementiert das Modell den hierarchischen Inferenzmodus „Alles segmentieren“, der für Segmentierungsaufgaben entwickelt wurde, was zu einer Verdoppelung der Inferenzgeschwindigkeit bei vernachlässigbarem Genauigkeitsverlust führt. 

Vollständige Wissensdestillation

Wie bereits erwähnt, besteht das Segment Anything-Modell im Kern aus drei Teilnetzwerken: dem Prompt-Encoder, dem Bild-Encoder und dem Masken-Decoder, wobei die Bild-Encoder-Komponente auf einem Vision-Transformer basiert und hohe Rechenanforderungen stellt. Um dieses Problem anzugehen, ersetzte das MobileSAM-Framework den Vision Transformer durch einen TinyViT oder Tiny Vision Transformer, obwohl der Ersatz angesichts des erheblichen Leistungsabfalls nicht effektiv war. Um sicherzustellen, dass es zu keinen Leistungseinbußen kommt, implementiert das TinySAM-Framework eine umfassende Wissensdestillationsmethode, die den leichtgewichtigen Bildencoder von der Lernebene zur Mehrfachwissensebene führt. Zusätzlich zum herkömmlichen Verlust zwischen den Ground-Truth-Labels und den vorhergesagten Ergebnissen führt das TinySAM-Framework zu zahlreichen Destillationsverlusten in verschiedenen Phasen, wie in der folgenden Abbildung dargestellt. 

Quantisierung

Die Modellquantisierung ist ein beliebter Ansatz in Computer-Vision-Frameworks und wird verwendet, um das Modell durch Quantisierung von Gewichten oder Aktivierungen von höherer zu niedrigerer Bandbreite zu komprimieren, um die Rechenkomplexität und den Speicherbedarf zu reduzieren, ohne die Ausgabequalität wesentlich zu verschlechtern. 

Das Hauptziel der Quantisierung in TinySAM besteht darin, den Gleitkomma-Tensor mithilfe eines Skalierungsfaktors auf den Bit-Integer-Tensor zu projizieren, wobei die Metrik zur Messung des Abstands zwischen der Matrixmultiplikation und der quantisierten Matrix eine entscheidende Rolle bei der Optimierung des Skalierungsfaktors spielt. 

Hierarchisches Segmentieren von allem

Das Segment Anything Model schlägt die Verwendung eines automatischen Maskengenerators vor, der Punkte als Raster abtastet, um alles im Bild zu segmentieren. Es wurde jedoch darauf hingewiesen, dass die Verwendung eines dichten Punktgitters zu sehr feinkörnigen Segmentierungsergebnissen führt und dass der Prozess enorme Rechenanforderungen erfordert und hohe Betriebskosten verursacht. Darüber hinaus können auf der einen Seite zu viele Abtastpunkte für ein vollständiges Objekt dazu führen, dass verschiedene Abschnitte des Objekts fälschlicherweise als separate Masken segmentiert werden, während auf der anderen Seite der Zeitaufwand für die Inferenz des Alles-Modus hauptsächlich darauf zurückzuführen ist, dass Der Bildencoder wurde deutlich verkleinert. Um die Betriebskosten des Alles-Modus zu reduzieren, verwendet das TinySAM-Framework einen hierarchischen Maskengenerierungsansatz, wobei der Unterschied in der Strategie zum ursprünglichen SAM-Framework in der folgenden Abbildung dargestellt ist. 

Anders als der im ursprünglichen SAM-Framework implementierte Ansatz verwendet das TinySAM-Modell nur 25 % Punkte auf jeder Seite und nutzt somit nur 1/16 der verfügbaren Punkte in der ursprünglichen Einstellung. Das Modell leitet dann anhand dieser Eingabeaufforderungen den Maskendecoder und den Eingabeaufforderungscodierer ab und erhält die Ausgabe. Das Modell filtert dann einige Masken mit einer Konfidenz, die einen bestimmten Schwellenwert überschreitet, und maskiert die entsprechenden Standorte als Bereiche für potenzielle endgültige Vorhersagen. Da das Modell diese Regionen als Segmentierungsergebnis von Instanzen mit hoher Konfidenz behandelt, ist es nicht erforderlich, Punktaufforderungen zu generieren. Die Strategie trägt nicht nur dazu bei, eine zu feinkörnige Segmentierung des Objekts zu verhindern, sondern trägt auch dazu bei, die Betriebskosten und den Rechenaufwand erheblich zu senken. Anschließend führt das Framework die Ergebnisse dieser beiden Runden zusammen und verarbeitet sie nach, um die endgültigen Masken zu erhalten. 

TinySAM: Experimente und Ergebnisse

Um den Destillationsprozess zu beschleunigen, berechnet und speichert das TinySAM-Framework die Bildeinbettungen aus dem Lehrernetzwerk im Voraus, wodurch es für das Modell nicht mehr zwingend erforderlich ist, den umfangreichen Bildencoder des Lehrernetzwerks während der Trainingsphase wiederholt zu berechnen. Für die Quantisierung nach dem Training quantisiert das TinySAM-Framework alle Matrixmultiplikationsschichten, die Faltungsschichten, die Entfaltungsschichten und die linearen Schichten, wobei das Modell kanalweise Skalierungsfaktoren sowohl für die Faltungs- als auch für die Entfaltungsschichten verwendet. Für die Matrixmultiplikationsschichten implementiert das Modell kopfweise Skalierungsfaktoren, während das Modell für die linearen Schichten lineare Skalierungsfaktoren implementiert. Das Modell führt auch die Bewertung von Zero-Shot-Downstream-Aufgaben durch. 

Für Segmentierungsaufgaben in einer Zero-Shot-Umgebung folgt das TinySAM-Framework den experimentellen Einstellungen seines Vorgängers, dem Segment Anything Model, und verwendet Objekterkennungsergebnisse des Vision Transformer Det-H- oder VitDet-H-Frameworks für die Segmentierung. Wie in der folgenden Abbildung gezeigt, übertrifft das TinySAM-Framework bestehende Methoden in Bezug auf die Genauigkeit der Instanzsegmentierung und den FLOPs-Score. 

Darüber hinaus wird die qualitative Leistung des TinySAM-Modells im folgenden Bild für die Zero-Shot-Instanzsegmentierung veranschaulicht, wobei die grüne Box die Box-Eingabeaufforderungen darstellt. 

In Bezug auf die Bewertung der gültigen Maske mit Nullpunktpunkten übertrifft das TinySAM-Modell das MobileSAM-Framework bei verschiedenen Datensätzen deutlich und liefert wesentlich bessere Ergebnisse, wenn eine geringere Anzahl von Punkten vom Framework als Eingabeaufforderungen verwendet wird. 

Darüber hinaus fasst die folgende Tabelle die Ergebnisse der Beschleunigung und Verringerung der Rechenanforderungen zusammen, die als Ergebnis der hierarchischen Alles-Modus-Strategie erreicht wurden. Für einen fairen Vergleich wendet das Modell denselben Stabilitätswert und Schwellenwert mit unterschiedlichen Strategien an. Die Ergebnisse sind unten zusammengefasst. 

Abschließende Gedanken

In diesem Artikel haben wir über TinySAM gesprochen, ein vorgeschlagenes Framework, das die Grenzen für die Segmentierung jeder Aufgabe verschiebt und eine effiziente Modellarchitektur mit weniger Rechenaufwand und einer Genauigkeit erhält, die dem ursprünglichen SAM-Framework ebenbürtig ist. TinySAM oder das Tiny Segment Anything Model, das die Zero-Shot-Leistung des ursprünglichen Frameworks beibehält und liefert. Das TinySAM-Framework implementiert zunächst eine umfassende Wissensdestillationsmethode, die Online-Hard-Prompts verwendet, um ein schlankes Studentenmodell zu destillieren. Das TinySAM-Framework passt dann die Quantisierung nach dem Training an aufforderungsfähige Segmentierungsaufgaben an, was zur weiteren Reduzierung des Rechenaufwands beiträgt. Darüber hinaus zielt das Framework darauf ab, alles hierarchisch zu segmentieren, was die Inferenzgeschwindigkeit nahezu verdoppelt, ohne die Leistung zu beeinträchtigen. 

„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.