Interactive Segmentation
Bei der interaktiven Segmentierung werden Nutzereingaben wie Klicks, Begrenzungsrahmen oder Skizzen in Objektmasken umgewandelt und durch korrigierende Klicks verfeinert – von GrabCut bis zu Metas SAM.
Interaktive Segmentierung erzeugt anhand weniger Hinweise einer Person – etwa Klicks, einer Bounding-Box oder Kritzeleien – eine pixelgenaue Maske für ein Objekt und verfeinert sie, wenn die Person Korrekturen hinzufügt. Ein positiver Klick markiert einen Punkt, der zum Objekt gehört, ein negativer einen Punkt, der nicht dazugehört. Nach jeder Runde muss die Person also nur noch auf den größten verbleibenden Fehler zeigen. Das Verfahren ist klassenunabhängig: Das Modell segmentiert alles, worauf die Person hinweist, auch Objekte, die es im Training nie gesehen hat. Dadurch ist es ein gängiges Werkzeug für die Datenannotation, die Fotobearbeitung und das Abgrenzen von Strukturen in medizinischen Aufnahmen. Es ist eine Form der Mensch-in-der-Schleife bei der Bildsegmentierung.
So funktioniert die Klickschleife#
Das Modell erhält das Bild zusammen mit allen bisherigen Klicks. Viele Modelle erhalten außerdem die vorherige Maske und sagen dann eine neue Maske voraus. Dieser Ablauf wird wiederholt, bis die Maske gut genug ist:
Benchmarks simulieren diesen Nutzer: Jeder neue Klick erfolgt in der Mitte des größten Fehlerbereichs, und der Wert gibt an, wie viele Klicks nötig sind, um mit der Ground Truth eine Intersection over Union von 85 % oder 90 % zu erreichen. Angegeben wird er als NoC@85 und NoC@90 für Datensätze wie GrabCut, Berkeley und DAVIS.
Das Ultralytics-Paket führt Metas SAM-Modelle mit Punkt-Prompts aus. Dabei kennzeichnet das Label 1 einen positiven Klick und 0 einen negativen:
from ultralytics import SAM
# Meta's SAM 2.1 base model, run through the Ultralytics package
model = SAM("sam2.1_b.pt")
image = "https://ultralytics.com/images/bus.jpg"
# Round 1: a single positive click on the pedestrian's dark coat
results = model(image, points=[[[250, 620]]], labels=[[1]])
print(f"1 click: {int(results[0].masks.data.sum())} mask pixels")
# Round 2: add a positive click on the pedestrian's jeans and a negative click on the bus
results = model(image, points=[[[250, 620], [290, 760], [420, 560]]], labels=[[1, 1, 0]])
print(f"3 clicks: {int(results[0].masks.data.sum())} mask pixels")
results[0].save(filename="interactive_mask.jpg")Nach einem Klick werden 32.598 Maskenpixel ausgegeben, nach drei Klicks 33.120. Der einzelne Klick auf den Mantel erfasst also bereits fast den gesamten Fußgänger, und die zusätzlichen Klicks verfeinern die Maske um etwa 500 Pixel. Die Ultralytics Platform führt denselben Ablauf in ihrem Annotationseditor aus: Im Smart-Modus fügt ein Klick außerhalb der aktuellen SAM-Maske den Bereich hinzu, ein Klick innerhalb der Maske zieht ihn ab. Die fertige Maske wird für die Aufgabe des Datensatzes als Polygon, Bounding-Box oder orientierte Box gespeichert.
Von Graph Cuts zu promptbasierten Modellen#
Frühe Werkzeuge optimierten die Konturen direkt. Intelligent Scissors (1995) richtete eine nachgezeichnete Umrisslinie an ausgeprägten Kanten aus. GrabCut, 2004 von Microsoft Research veröffentlicht und in OpenCV integriert, segmentiert das Objekt innerhalb eines vom Nutzer gezeichneten Rahmens, indem Farbmodelle für Vorder- und Hintergrund iterativ angepasst und ein Graph Cut berechnet werden. Seit 2016 kodieren Methoden des Deep Learning Klicks als zusätzliche Eingabekanäle neben dem Bild und lernen die Maske mithilfe eines Faltungsneuronalen Netzes. Spätere Modelle verwenden außerdem die vorherige Maske als Eingabe, um sie zu verfeinern.
Metas Segmentierungsmodell für alles (SAM), das 2023 veröffentlicht wurde, teilte die Arbeit so auf, dass die Interaktion nahezu sofort erfolgt: Ein rechenintensiver Vision Transformer kodiert das Bild einmal, und ein leichter Prompt-Encoder und Maskendecoder wandeln jede neue Klickfolge in etwa 50 Millisekunden in eine Maske um. SAM wurde außerdem mit einer eigenen interaktiven Schleife trainiert: Beim Erstellen des SA-1B-Datensatzes klickten Annotatoren, um Objekte mit aufeinanderfolgenden Modellversionen zu segmentieren, wodurch die durchschnittliche Zeit pro Maske von 34 auf 14 Sekunden sank. SAM 2 erweitert die Klicks auf Videos und überträgt eine Maske auf die einzelnen Frames. SAM 3 ergänzt die promptbasierte Konzeptsegmentierung, mit der alle Instanzen gefunden werden, die einer kurzen Textphrase entsprechen.
Interaktive und automatische Segmentierung#
Modelle für die Instanzsegmentierung segmentieren eine festgelegte Menge trainierter Klassen automatisch und ohne menschliche Eingabe. Das eignet sich für Produktionspipelines, die jedes Frame verarbeiten müssen. Interaktive Segmentierung tauscht diese Automatisierung gegen Flexibilität ein und wird häufig zum Erstellen der Trainingsmasken für solche Modelle verwendet. Dies geschieht oft im Rahmen einer aktiven Lernschleife, die dem Modell zufolge unsichere Bilder an Annotatoren weiterleitet. Visuelles Prompting bezeichnet allgemein die Steuerung eines Bildverarbeitungsmodells durch Punkte, Rahmen oder Beispielbilder. Interaktive Segmentierung ist die iterative Form davon, die Masken erzeugt.
Anwendungen in der Praxis#
- Datensatzbeschriftung: Annotatoren umreißen Objekte mit wenigen Klicks, statt Hunderte Eckpunkte eines Polygons nachzuzeichnen. Mit Unterstützung von SAM benötigten Annotatoren 14 Sekunden pro Maske und waren damit 6,5-mal schneller als bei der manuellen Maskenannotation von COCO.
- Medizinische Bildgebung: Radiologen grenzen Tumoren und Organe in CT- und MRT-Aufnahmen mit Rahmen und korrigierenden Klicks ab. MedSAM passte SAM an die Medizin an, indem das Modell mit 1.570.263 medizinischen Bild-Masken-Paaren aus 10 Bildgebungsverfahren feinabgestimmt wurde.










