SAM 2: Segment Anything Model 2#
SAM 2, der Nachfolger von Metas Segment Anything Model (SAM), ist ein hochmodernes Tool für die umfassende Objektsegmentierung in Bildern und Videos. Es zeichnet sich durch die Verarbeitung komplexer visueller Daten über eine einheitliche, prompt-basierte Modellarchitektur aus, die Echtzeitverarbeitung und Zero-Shot-Generalisierung unterstützt.
SAM 2.1-Modelle treiben die Smart-Annotierungsfunktion auf der Ultralytics Platform an und ermöglichen eine klickbasierte Segmentierung für eine schnelle Datensatzbeschriftung. Weitere Einzelheiten findest du im Annotierungsleitfaden.

Hauptfunktionen#
Watch: How to Run Inference with Meta's SAM2 using Ultralytics | Step-by-Step Guide 🎉
Einheitliche Modellarchitektur#
SAM 2 kombiniert die Funktionen der Bild- und Videosegmentierung in einem einzigen Modell. Diese Vereinheitlichung vereinfacht die Bereitstellung und sorgt für eine konsistente Leistung über verschiedene Medientypen hinweg. Es nutzt eine flexible, prompt-basierte Schnittstelle, mit der du Zielobjekte über verschiedene Prompt-Typen wie Punkte, Bounding Boxes oder Masken spezifizieren kannst.
Echtzeitleistung#
Das Modell erreicht Echtzeit-Inferenzgeschwindigkeiten und verarbeitet ca. 44 Bilder pro Sekunde. Dadurch eignet sich SAM 2 für Anwendungen, die unmittelbares Feedback erfordern, wie etwa Videobearbeitung und Augmented Reality.
Zero-Shot-Generalisierung#
SAM 2 kann Objekte segmentieren, denen es zuvor noch nie begegnet ist, und demonstriert damit eine starke Zero-Shot-Generalisierung. Dies ist besonders nützlich in vielfältigen oder sich entwickelnden visuellen Bereichen, in denen vordefinierte Kategorien möglicherweise nicht alle möglichen Objekte abdecken.
Interaktive Verfeinerung#
Du kannst die Segmentierungsergebnisse iterativ durch die Bereitstellung zusätzlicher Prompts verfeinern und so die Ausgabe präzise steuern. Diese Interaktivität ist unerlässlich für die Feinabstimmung von Ergebnissen in Anwendungen wie Videobeschriftung oder medizinischer Bildgebung.
Erweiterte Handhabung visueller Herausforderungen#
SAM 2 enthält Mechanismen zur Bewältigung häufiger Herausforderungen bei der Videosegmentierung, wie etwa Objektverdeckung und Wiederauftreten. Es verwendet einen ausgeklügelten Speichermechanismus, um den Überblick über Objekte über Frames hinweg zu behalten, und sorgt so für Kontinuität, selbst wenn Objekte vorübergehend verdeckt werden oder die Szene verlassen und wieder betreten.
Ein tiefergehendes Verständnis der Architektur und Funktionen von SAM 2 vermittelt das SAM 2 Research-Papier.
Leistung und technische Details#
SAM 2 setzt einen neuen Benchmark auf diesem Gebiet und übertrifft frühere Modelle bei verschiedenen Metriken:
| Metrik | SAM 2 | Vorheriges SOTA |
|---|---|---|
| Interaktive Videosegmentierung | Beste | - |
| Erforderliche menschliche Interaktionen | 3x weniger | Basislinie |
| Genauigkeit der Bildsegmentierung | Verbessert | SAM |
| Inferenzgeschwindigkeit | 6x schneller | SAM |
Modellarchitektur#
Kernkomponenten#
- Bild- und Video-Encoder: Verwendet eine transformer-basierte Architektur, um High-Level-Merkmale aus sowohl Bildern als auch Video-Frames zu extrahieren. Diese Komponente ist für das Verständnis des visuellen Inhalts bei jedem Zeitschritt verantwortlich.
- Prompt-Encoder: Verarbeitet vom Benutzer bereitgestellte Prompts (Punkte, Boxen, Masken), um die Segmentierungsaufgabe zu steuern. Dadurch kann sich SAM 2 an Benutzereingaben anpassen und bestimmte Objekte innerhalb einer Szene anvisieren.
- Speichermechanismus: Umfasst einen Speicher-Encoder, eine Speicherbank und ein Speicher-Aufmerksamkeitsmodul. Diese Komponenten speichern und nutzen gemeinsam Informationen aus vergangenen Frames, wodurch das Modell eine konsistente Objektverfolgung über die Zeit aufrechterhalten kann.
- Masken-Decoder: Generiert die finalen Segmentierungsmasken basierend auf den codierten Bildmerkmalen und Prompts. In Videos nutzt er zudem den Speicherkontext, um eine genaue Verfolgung über Frames hinweg sicherzustellen.

Speichermechanismus und Umgang mit Verdeckungen#
Der Speichermechanismus versetzt SAM 2 in die Lage, temporale Abhängigkeiten und Verdeckungen in Videodaten zu verarbeiten. Während sich Objekte bewegen und interagieren, zeichnet SAM 2 deren Merkmale in einer Speicherbank auf. Wenn ein Objekt verdeckt wird, kann sich das Modell auf diesen Speicher stützen, um seine Position und sein Aussehen beim erneuten Auftreten vorherzusagen. Der Verdeckungskopf behandelt speziell Szenarien, in denen Objekte nicht sichtbar sind, und prognostiziert die Wahrscheinlichkeit, dass ein Objekt verdeckt ist.
Auflösung mehrdeutiger Masken (Multi-Mask Ambiguity Resolution)#
In Situationen mit Ambiguität (z. B. überlappende Objekte) kann SAM 2 mehrere Maskenvorhersagen generieren. Diese Funktion ist entscheidend, um komplexe Szenen präzise darzustellen, in denen eine einzelne Maske die Nuancen der Szene möglicherweise nicht ausreichend beschreibt.
SA-V-Datensatz#
Der SA-V-Datensatz, der für das Training von SAM 2 entwickelt wurde, ist einer der größten und vielfältigsten verfügbaren Videosegmentierungsdatensätze. Er umfasst:
- 51.000+ Videos: Aufgenommen in 47 Ländern, was eine große Bandbreite an realen Szenarien abdeckt.
- 600.000+ Masken-Annotationen: Detaillierte spatiotemporale Masken-Annotationen, als „Masklets“ bezeichnet, die ganze Objekte und Teile abdecken.
- Datensatzgröße: Er bietet 4,5-mal mehr Videos und 53-mal mehr Annotationen als bisherige größte Datensätze und bietet eine beispiellose Diversität und Komplexität.
Benchmarks#
Video-Objektsegmentierung#
SAM 2 hat eine überlegene Leistung bei großen Videosegmentierungs-Benchmarks gezeigt:
| Datensatz | J&F | J | F |
|---|---|---|---|
| DAVIS 2017 | 82,5 | 79,8 | 85,2 |
| YouTube-VOS | 81,2 | 78,9 | 83,5 |
Interaktive Segmentierung#
Bei interaktiven Segmentierungsaufgaben zeigt SAM 2 eine erhebliche Effizienz und Genauigkeit:
| Datensatz | NoC@90 | AUC |
|---|---|---|
| DAVIS Interactive | 1,54 | 0,872 |
Installation#
Verwende den folgenden Befehl, um SAM 2 zu installieren. Alle SAM 2-Modelle werden bei der ersten Verwendung automatisch heruntergeladen.
pip install ultralyticsSo verwendest du SAM 2: Vielseitigkeit bei der Bild- und Videosegmentierung#
Die folgende Tabelle führt die verfügbaren SAM 2-Modelle, ihre vortrainierten Gewichte, unterstützten Aufgaben und die Kompatibilität mit verschiedenen Betriebsmodi wie Inference, Validation, Training und Export auf.
| Modelltyp | Vortrainierte Gewichte | Unterstützte Aufgaben | Training | Validation | Inference | Exportieren |
|---|---|---|---|---|---|---|
| SAM 2 tiny | sam2_t.pt | Instance Segmentation | ❌ | ❌ | ✅ | ❌ |
| SAM 2 small | sam2_s.pt | Instance Segmentation | ❌ | ❌ | ✅ | ❌ |
| SAM 2 base | sam2_b.pt | Instance Segmentation | ❌ | ❌ | ✅ | ❌ |
| SAM 2 large | sam2_l.pt | Instance Segmentation | ❌ | ❌ | ✅ | ❌ |
| SAM 2.1 tiny | sam2.1_t.pt | Instance Segmentation | ❌ | ❌ | ✅ | ❌ |
| SAM 2.1 small | sam2.1_s.pt | Instance Segmentation | ❌ | ❌ | ✅ | ❌ |
| SAM 2.1 base | sam2.1_b.pt | Instance Segmentation | ❌ | ❌ | ✅ | ❌ |
| SAM 2.1 large | sam2.1_l.pt | Instance Segmentation | ❌ | ❌ | ✅ | ❌ |
SAM 2 Vorhersagebeispiele#
SAM 2 kann für ein breites Spektrum an Aufgaben eingesetzt werden, darunter Echtzeit-Videobearbeitung, medizinische Bildgebung und autonome Systeme. Seine Fähigkeit, sowohl statische als auch dynamische visuelle Daten zu segmentieren, macht es zu einem vielseitigen Tool für Forscher und Entwickler.
Mit Prompts segmentieren#
Verwende Prompts, um bestimmte Objekte in Bildern oder Videos zu segmentieren.
from ultralytics import SAM
# Load a model
model = SAM("sam2.1_b.pt")
# Display model information (optional)
model.info()
# Run inference with bboxes prompt
results = model("path/to/image.jpg", bboxes=[100, 100, 200, 200])
# Run inference with single point
results = model(points=[900, 370], labels=[1])
# Run inference with multiple points
results = model(points=[[400, 370], [900, 370]], labels=[1, 1])
# Run inference with multiple points prompt per object
results = model(points=[[[400, 370], [900, 370]]], labels=[[1, 1]])
# Run inference with negative points prompt
results = model(points=[[[400, 370], [900, 370]]], labels=[[1, 0]])Alles segmentieren#
Segmentiere den gesamten Bild- oder Videoinhalt ohne spezifische Prompts.
from ultralytics import SAM
# Load a model
model = SAM("sam2.1_b.pt")
# Display model information (optional)
model.info()
# Run inference
model("path/to/video.mp4")Video segmentieren und Objekte verfolgen#
Segmentiere den gesamten Videoinhalt mit spezifischen Prompts und verfolge Objekte.
from ultralytics.models.sam import SAM2VideoPredictor
# Create SAM2VideoPredictor
overrides = {"conf": 0.25, "task": "segment", "mode": "predict", "imgsz": 1024, "model": "sam2_b.pt"}
predictor = SAM2VideoPredictor(overrides=overrides)
# Run inference with single point
results = predictor(source="test.mp4", points=[920, 470], labels=[1])
# Run inference with multiple points
results = predictor(source="test.mp4", points=[[920, 470], [909, 138]], labels=[1, 1])
# Run inference with multiple points prompt per object
results = predictor(source="test.mp4", points=[[[920, 470], [909, 138]]], labels=[[1, 1]])
# Run inference with negative points prompt
results = predictor(source="test.mp4", points=[[[920, 470], [909, 138]]], labels=[[1, 0]])- Dieses Beispiel zeigt, wie SAM 2 verwendet werden kann, um den gesamten Inhalt eines Bildes oder Videos zu segmentieren, wenn keine Prompts (BBoxes/Punkte/Masken) angegeben werden.
Dynamische interaktive Segmentierung und Verfolgung#
SAM2DynamicInteractivePredictor ist eine fortgeschrittene, trainingsfreie Erweiterung von SAM2, die eine dynamische Interaktion über mehrere Frames hinweg und kontinuierliche Lernfunktionen ermöglicht. Dieser Prädiktor unterstützt Echtzeit-Prompt-Updates und Speicherverwaltung für eine verbesserte Verfolgungsleistung über eine Bildsequenz hinweg. Verglichen mit dem originalen SAM2 baut SAM2DynamicInteractivePredictor den Inferenz-Flow neu auf, um vortrainierte SAM2-Modelle optimal zu nutzen, ohne dass zusätzliches Training erforderlich ist.

Hauptfunktionen#
Es bietet drei wesentliche Verbesserungen:
- Dynamisch interaktiv: Füge jederzeit während der Videoverarbeitung neue Prompts zum Zusammenführen oder Verfolgen neuer Instanzen in folgenden Frames hinzu
- Kontinuierliches Lernen (Continual Learning): Füge neue Prompts für bestehende Instanzen hinzu, um die Modellleistung im Laufe der Zeit zu verbessern
- Unabhängige Multi-Image-Unterstützung: Verarbeite mehrere unabhängige Bilder (nicht unbedingt aus einer Videosequenz) mit Speicherfreigabe und bildübergreifender Objektverfolgung
Kernfunktionen#
- Prompt-Flexibilität: Akzeptiert Bounding Boxes, Punkte und Masken als Prompts
- Speicherbank-Verwaltung: Unterhält eine dynamische Speicherbank zum Speichern von Objektzuständen über Frames hinweg
- Multi-Objekt-Verfolgung: Unterstützt die gleichzeitige Verfolgung mehrerer Objekte mit individuellen Objekt-IDs
- Echtzeit-Updates: Ermöglicht das Hinzufügen neuer Prompts während der Inferenz, ohne vorherige Frames erneut zu verarbeiten
- Unabhängige Bildverarbeitung: Verarbeite einzelne Bilder mit gemeinsam genutztem Speicherkontext für objektübergreifende Konsistenz
from ultralytics.models.sam import SAM2DynamicInteractivePredictor
# Create SAM2DynamicInteractivePredictor
overrides = {"conf": 0.01, "task": "segment", "mode": "predict", "imgsz": 1024, "model": "sam2_t.pt", "save": False}
predictor = SAM2DynamicInteractivePredictor(overrides=overrides, max_obj_num=10)
# Define a category by box prompt
predictor(source="image1.jpg", bboxes=[[100, 100, 200, 200]], obj_ids=[0], update_memory=True)
# Detect this particular object in a new image
results = predictor(source="image2.jpg")
# Add new category with a new object ID
results = predictor(
source="image4.jpg",
bboxes=[[300, 300, 400, 400]], # New object
obj_ids=[1], # New object ID
update_memory=True, # Add to memory
)
# Perform inference
results = predictor(source="image5.jpg")
# Add refinement prompts to the same category to boost performance
# This helps when object appearance changes significantly
results = predictor(
source="image6.jpg",
points=[[150, 150]], # Refinement point
labels=[1], # Positive point
obj_ids=[1], # Same object ID
update_memory=True, # Update memory with new information
)
# Perform inference on new image
results = predictor(source="image7.jpg")Der SAM2DynamicInteractivePredictor ist für die Arbeit mit SAM 2-Modellen konzipiert und unterstützt das native Hinzufügen/Verfeinern von Kategorien durch alle Box-/Punkt-/Masken-Prompts, die SAM 2 unterstützt. Er ist besonders nützlich für Szenarien, in denen Objekte im Laufe der Zeit auftauchen oder sich verändern, wie etwa bei der Videoannotation oder bei interaktiven Bearbeitungsaufgaben.
Argumente#
| Name | Standardwert | Datentyp | Beschreibung |
|---|---|---|---|
max_obj_num | 3 | int | Die voreingestellte maximale Anzahl von Kategorien |
update_memory | False | bool | Ob der Speicher mit neuen Prompts aktualisiert werden soll |
obj_ids | None | List[int] | Liste der Objekt-IDs passend zu den Prompts |
Anwendungsfälle#
Der SAM2DynamicInteractivePredictor ist ideal für:
- Video-Annotierungs-Workflows, bei denen während der Sequenz neue Objekte auftauchen
- Interaktive Videobearbeitung, die das Hinzufügen und Verfeinern von Objekten in Echtzeit erfordert
- Überwachungsanwendungen mit Anforderungen an die dynamische Objektverfolgung
- Medizinische Bildgebung zur Verfolgung anatomischer Strukturen über Zeitreihen hinweg
- Autonome Systeme, die eine adaptive Objekterkennung und -verfolgung erfordern
- Multi-Bild-Datensätze für konsistente Objektsegmentierung über unabhängige Bilder hinweg
- Bildsammlungsanalyse, bei der Objekte über verschiedene Szenen hinweg verfolgt werden müssen
- Domänenübergreifende Segmentierung unter Nutzung des Speichers aus verschiedenen Bildkontexten
- Halbautomatische Annotation für eine effiziente Datenerstellung mit minimalem manuellem Aufwand
SAM-Vergleich vs. YOLO#
Hier vergleichen wir die SAM 2-Modelle von Meta, einschließlich der kleinsten SAM2-t-Variante, mit Ultralytics Segmentierungsmodellen, einschließlich YOLO26n-seg:
| Modell | Größe (MB) | Parameter (M) | Geschwindigkeit (CPU) (ms/im) |
|---|---|---|---|
| Meta SAM-b | 375 | 93.7 | 41703 |
| Meta SAM2-b | 162 | 80.8 | 28867 |
| Meta SAM2-t | 78.1 | 38.9 | 23430 |
| MobileSAM | 40.7 | 10.1 | 23802 |
| FastSAM-s mit YOLOv8 backbone | 23,9 | 11.8 | 58.0 |
| Ultralytics YOLOv8n-seg | 7.1 (11.0x kleiner) | 3.4 (11.4x weniger) | 24.8 (945x schneller) |
| Ultralytics YOLO11n-seg | 6.2 (12.6x kleiner) | 2.9 (13.4x weniger) | 24.3 (964x schneller) |
| Ultralytics YOLO26n-seg | 6.7 (11.7x kleiner) | 2.7 (14.4x weniger) | 25.2 (930x schneller) |
Dieser Vergleich demonstriert die erheblichen Unterschiede in Modellgrößen und Geschwindigkeiten zwischen SAM-Varianten und YOLO-Segmentierungsmodellen. Während SAM einzigartige automatische Segmentierungsfunktionen bietet, sind YOLO-Modelle, insbesondere YOLOv8n-seg, YOLO11n-seg und YOLO26n-seg, deutlich kleiner, schneller und recheneffizienter.
SAM-Geschwindigkeiten wurden mit PyTorch gemessen, YOLO-Geschwindigkeiten mit ONNX Runtime. Tests wurden auf einem 2025 Apple M4 Air mit 16GB RAM unter Verwendung von torch==2.10.0, ultralytics==8.4.31 und onnxruntime==1.24.4 durchgeführt. Um diesen Test zu reproduzieren:
from ultralytics import ASSETS, SAM, YOLO, FastSAM
# Profile SAM2-t, SAM2-b, SAM-b, MobileSAM
for file in ["sam_b.pt", "sam2_b.pt", "sam2_t.pt", "mobile_sam.pt"]:
model = SAM(file)
model.info()
model(ASSETS)
# Profile FastSAM-s
model = FastSAM("FastSAM-s.pt")
model.info()
model(ASSETS)
# Profile YOLO models (ONNX)
for file_name in ["yolov8n-seg.pt", "yolo11n-seg.pt", "yolo26n-seg.pt"]:
model = YOLO(file_name)
model.info()
onnx_path = model.export(format="onnx", dynamic=True)
model = YOLO(onnx_path)
model(ASSETS)Auto-Annotation: Effiziente Datenerstellung#
Die Auto-Annotation ist eine leistungsstarke Funktion von SAM 2, die es Nutzern ermöglicht, Segmentierungsdatensätze schnell und präzise durch die Nutzung vortrainierter Modelle zu erstellen. Diese Funktion ist besonders nützlich, um große, hochwertige Datensätze ohne großen manuellen Aufwand zu erstellen.
So führst du eine Auto-Annotation mit SAM 2 durch#
Watch: Auto Annotation with Meta's Segment Anything 2 Model using Ultralytics | Data Labeling
Um deinen Datensatz mit SAM 2 automatisch zu annotieren, folge diesem Beispiel:
from ultralytics.data.annotator import auto_annotate
auto_annotate(data="path/to/images", det_model="yolo26x.pt", sam_model="sam2_b.pt")| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
data | str | erforderlich | Pfad zum Verzeichnis mit Zielbildern für Annotation oder Segmentierung. |
det_model | str | 'yolo26x.pt' | YOLO-Detektionsmodellpfad für die anfängliche Objekterkennung. |
sam_model | str | 'sam_b.pt' | SAM-Modellpfad für Segmentierung (unterstützt SAM, SAM 2, MobileSAM und SAM 3 Gewichte). |
device | str | '' | Berechnungsgerät (z. B. 'cuda:0', 'cpu' oder '' für automatische Geräteerkennung). |
conf | float | 0.25 | YOLO-Erkennungs-Konfidenzschwellenwert zum Filtern schwacher Erkennungen. |
iou | float | 0.45 | IoU-Schwellenwert für die Non-Maximum Suppression zum Filtern überlappender Boxen. |
imgsz | int | 640 | Eingabegröße für die Bildskalierung (muss ein Vielfaches von 32 sein). |
max_det | int | 300 | Maximale Anzahl an Erkennungen pro Bild zur Speichereffizienz. |
classes | list[int] | None | Liste der Klassenindizes zur Erkennung (z. B. [0, 1] für Person & Fahrrad). |
output_dir | str | None | Speicherverzeichnis für Annotationen (Standard: Unterordner <data>_auto_annotate_labels). |
Diese Funktion erleichtert die schnelle Erstellung hochwertiger Segmentierungsdatensätze und ist ideal für Forscher und Entwickler, die ihre Projekte beschleunigen möchten.
Einschränkungen#
Trotz seiner Stärken hat SAM 2 gewisse Einschränkungen:
- Verfolgungsstabilität: SAM 2 kann bei längeren Sequenzen oder starken Perspektivwechseln die Verfolgung von Objekten verlieren.
- Objektverwechslung: Das Modell kann manchmal ähnlich aussehende Objekte verwechseln, insbesondere in überfüllten Szenen.
- Effizienz bei mehreren Objekten: Die Segmentierungseffizienz nimmt bei der gleichzeitigen Verarbeitung mehrerer Objekte aufgrund fehlender objektübergreifender Kommunikation ab.
- Detail-Genauigkeit: Kann feine Details übersehen, insbesondere bei sich schnell bewegenden Objekten. Zusätzliche Prompts können dieses Problem teilweise entschärfen, aber die zeitliche Glätte ist nicht garantiert.
Zitate und Danksagungen#
Wenn SAM 2 ein entscheidender Teil deiner Forschungs- oder Entwicklungsarbeit ist, zitiere es bitte unter Verwendung der folgenden Referenz:
@article{ravi2024sam2,
title={SAM 2: Segment Anything in Images and Videos},
author={Ravi, Nikhila and Gabeur, Valentin and Hu, Yuan-Ting and Hu, Ronghang and Ryali, Chaitanya and Ma, Tengyu and Khedr, Haitham and R{\"a}dle, Roman and Rolland, Chloe and Gustafson, Laura and Mintun, Eric and Pan, Junting and Alwala, Kalyan Vasudev and Carion, Nicolas and Wu, Chao-Yuan and Girshick, Ross and Doll{\'a}r, Piotr and Feichtenhofer, Christoph},
journal={arXiv preprint},
year={2024}
}Wir danken Meta AI für ihre Beiträge zur KI-Community mit diesem bahnbrechenden Modell und Datensatz.
FAQ#
Was ist SAM 2 und wie verbessert es das ursprüngliche Segment Anything Model (SAM)?#
SAM 2, der Nachfolger von Metas Segment Anything Model (SAM), ist ein hochmodernes Tool für die umfassende Objektsegmentierung in Bildern und Videos. Es zeichnet sich durch die Handhabung komplexer visueller Daten durch eine einheitliche, prompt-basierte Modellarchitektur aus, die Echtzeitverarbeitung und Zero-Shot-Generalisierung unterstützt. SAM 2 bietet mehrere Verbesserungen gegenüber dem ursprünglichen SAM, darunter:
- Einheitliche Modellarchitektur: Kombiniert Bild- und Videosegmentierungsfunktionen in einem einzigen Modell.
- Echtzeitleistung: Verarbeitet etwa 44 Frames pro Sekunde und ist damit für Anwendungen geeignet, die sofortiges Feedback erfordern.
- Zero-Shot-Generalisierung: Segmentiert Objekte, die es zuvor noch nie gesehen hat, was in verschiedenen visuellen Domänen nützlich ist.
- Interaktive Verfeinerung: Ermöglicht Nutzern, Segmentierungsergebnisse durch die Angabe zusätzlicher Prompts iterativ zu verfeinern.
- Erweiterte Handhabung visueller Herausforderungen: Bewältigt häufige Herausforderungen der Videosegmentierung wie Objektverdeckung und -wiederkehr.
Weitere Details zur Architektur und den Funktionen von SAM 2 findest du im SAM 2-Forschungspapier.
Wie kann ich SAM 2 für die Videosegmentierung in Echtzeit verwenden?#
SAM 2 kann durch Nutzung seiner prompt-basierten Schnittstelle und der Echtzeit-Inferenzfunktionen für die Videosegmentierung in Echtzeit eingesetzt werden. Hier ist ein einfaches Beispiel:
Verwende Prompts, um bestimmte Objekte in Bildern oder Videos zu segmentieren.
from ultralytics import SAM
# Load a model
model = SAM("sam2_b.pt")
# Display model information (optional)
model.info()
# Segment with bounding box prompt
results = model("path/to/image.jpg", bboxes=[100, 100, 200, 200])
# Segment with point prompt
results = model("path/to/image.jpg", points=[150, 150], labels=[1])Für eine umfassendere Nutzung beziehe dich auf den Abschnitt How to Use SAM 2.
Welche Datensätze werden zum Training von SAM 2 verwendet und wie verbessern sie dessen Leistung?#
SAM 2 wird auf dem SA-V-Datensatz trainiert, einem der größten und vielfältigsten verfügbaren Videosegmentierungsdatensätze. Der SA-V-Datensatz umfasst:
- 51.000+ Videos: Aufgenommen in 47 Ländern, was eine große Bandbreite an realen Szenarien abdeckt.
- 600.000+ Masken-Annotationen: Detaillierte spatiotemporale Masken-Annotationen, als „Masklets“ bezeichnet, die ganze Objekte und Teile abdecken.
- Datensatzgröße: Bietet 4,5-mal mehr Videos und 53-mal mehr Annotationen als bisherige größte Datensätze, was eine beispiellose Vielfalt und Komplexität bietet.
Dieser umfangreiche Datensatz ermöglicht es SAM 2, eine überlegene Leistung bei wichtigen Videosegmentierungs-Benchmarks zu erzielen und verbessert seine Zero-Shot-Generalisierungsfunktionen. Weitere Informationen findest du im Abschnitt SA-V-Datensatz.
Wie geht SAM 2 mit Verdeckungen und wiederkehrenden Objekten bei der Videosegmentierung um?#
SAM 2 enthält einen ausgeklügelten Speicherungsmechanismus zur Verwaltung zeitlicher Abhängigkeiten und Verdeckungen in Videodaten. Der Speicherungsmechanismus besteht aus:
- Memory Encoder and Memory Bank: Speichert Merkmale aus vergangenen Frames.
- Memory Attention Module: Nutzt gespeicherte Informationen, um eine konsistente Objektverfolgung über die Zeit aufrechtzuerhalten.
- Occlusion Head: Behandelt gezielt Szenarien, in denen Objekte nicht sichtbar sind, und prognostiziert die Wahrscheinlichkeit, dass ein Objekt verdeckt ist.
Dieser Mechanismus sorgt für Kontinuität, selbst wenn Objekte vorübergehend verdeckt werden oder die Szene verlassen und wieder betreten. Weitere Details findest du im Abschnitt Memory Mechanism and Occlusion Handling.
Wie schneidet SAM 2 im Vergleich zu anderen Segmentierungsmodellen wie YOLO26 ab?#
SAM 2-Modelle wie Metas SAM2-t und SAM2-b bieten leistungsstarke Zero-Shot-Segmentierungsfunktionen, sind jedoch im Vergleich zu YOLO-Modellen deutlich größer und langsamer. Beispielsweise ist YOLO26n-seg auf der CPU etwa 24-mal kleiner und über 1145-mal schneller als SAM2-b. Während sich SAM 2 durch vielseitige, prompt-basierte und Zero-Shot-Segmentierungsszenarien auszeichnet, ist YOLO26 für Geschwindigkeit, Effizienz und Echtzeitanwendungen mit NMS-freier End-to-End-Inferenz optimiert, wodurch es sich besser für den Einsatz in ressourcenbeschränkten Umgebungen eignet.