Meet YOLO26: next-gen vision AI.

Link to this sectionSAM 2: Segment Anything Model 2#

SAM-Entwicklung

SAM 2 baut auf dem ursprünglichen SAM auf und erweitert es um Funktionen für die Videosegmentierung. Für "Promptable Concept Segmentation" mit Text- und Bildbeispielen siehe SAM 3.

Inference with Segment Anything 2 In Colab

SAM 2, der Nachfolger von Metas Segment Anything Model (SAM), ist ein hochmodernes Tool für die umfassende Objektsegmentierung in Bildern und Videos. Es überzeugt bei der Verarbeitung komplexer visueller Daten durch eine vereinheitlichte, prompt-fähige Modellarchitektur, die Echtzeitverarbeitung und Zero-Shot-Generalisierung unterstützt.

SAM 2 auf der Ultralytics Platform

SAM 2.1-Modelle unterstützen die Smart-Annotation-Funktion auf der Ultralytics Platform und ermöglichen eine klickbasierte Segmentierung für die schnelle Beschriftung von Datensätzen. Weitere Details findest du im Annotation-Leitfaden.

SAM 2 Example Results

Link to this sectionHauptfunktionen#



Watch: How to Run Inference with Meta's SAM2 using Ultralytics | Step-by-Step Guide 🎉

Link to this sectionVereinheitlichte Modellarchitektur#

SAM 2 kombiniert die Fähigkeiten der Bild- und Videosegmentierung in einem einzigen Modell. Diese Vereinheitlichung vereinfacht den Einsatz und ermöglicht eine konsistente Leistung über verschiedene Medientypen hinweg. Es nutzt eine flexible, prompt-basierte Schnittstelle, die es Benutzern erlaubt, Zielobjekte durch verschiedene Prompt-Typen wie Punkte, Bounding Boxes oder Masken festzulegen.

Link to this sectionEchtzeitleistung#

Das Modell erreicht Echtzeit-Inferenzgeschwindigkeiten und verarbeitet etwa 44 Bilder pro Sekunde. Dadurch eignet sich SAM 2 für Anwendungen, die sofortiges Feedback erfordern, wie etwa Videobearbeitung oder Augmented Reality.

Link to this sectionZero-Shot-Generalisierung#

SAM 2 kann Objekte segmentieren, denen es zuvor noch nie begegnet ist, was eine starke Zero-Shot-Generalisierung beweist. 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.

Link to this sectionInteraktive Verfeinerung#

Du kannst die Segmentierungsergebnisse iterativ durch zusätzliche Prompts verfeinern und erhältst so eine präzise Kontrolle über die Ausgabe. Diese Interaktivität ist entscheidend für die Feinabstimmung von Ergebnissen bei Anwendungen wie der Videobeschriftung oder medizinischen Bildgebung.

Link to this sectionFortschrittlicher Umgang mit visuellen Herausforderungen#

SAM 2 enthält Mechanismen, um häufige Herausforderungen bei der Videosegmentierung wie Objektverdeckung und Wiedererscheinen zu bewältigen. Es nutzt einen hochentwickelten Speichermechanismus, um Objekte über mehrere Frames hinweg zu verfolgen und Kontinuität zu gewährleisten, selbst wenn Objekte vorübergehend verdeckt werden oder die Szene verlassen und wieder betreten.

Für ein tieferes Verständnis der Architektur und Fähigkeiten von SAM 2 lies das SAM 2-Forschungspapier.

Link to this sectionLeistung und technische Details#

SAM 2 setzt einen neuen Standard in diesem Bereich und übertrifft frühere Modelle bei verschiedenen Metriken:

MetrikSAM 2Bisheriger SOTA
Interaktive VideosegmentierungBestwert-
Erforderliche menschliche Interaktionen3x wenigerBasiswert
Genauigkeit der BildsegmentierungVerbessertSAM
Inferenzgeschwindigkeit6x schnellerSAM

Link to this sectionModellarchitektur#

Link to this sectionKernkomponenten#

  • Bild- und Video-Encoder: Nutzt eine Transformer-basierte Architektur, um High-Level-Merkmale aus Bildern und Videoframes zu extrahieren. Diese Komponente ist für das Verständnis des visuellen Inhalts zu jedem Zeitschritt verantwortlich.
  • Prompt-Encoder: Verarbeitet benutzerdefinierte Prompts (Punkte, Boxen, Masken), um die Segmentierungsaufgabe zu steuern. Dies ermöglicht es SAM 2, sich an Benutzereingaben anzupassen und gezielt Objekte innerhalb einer Szene auszuwählen.
  • Speichermechanismus: Enthält einen Speicher-Encoder, eine Memory Bank und ein Memory-Attention-Modul. Diese Komponenten speichern und nutzen gemeinsam Informationen aus vergangenen Frames, wodurch das Modell in der Lage ist, ein konsistentes Objekt-Tracking über die Zeit aufrechtzuerhalten.
  • Masken-Decoder: Generiert die finalen Segmentierungsmasken basierend auf den codierten Bildmerkmalen und Prompts. Bei Videos nutzt er zusätzlich den Speicherkontext, um eine genaue Verfolgung über die Frames hinweg sicherzustellen.

SAM 2 Architecture Diagram

Link to this sectionSpeichermechanismus und Umgang mit Verdeckungen#

Der Speichermechanismus ermöglicht es SAM 2, zeitliche Abhängigkeiten und Verdeckungen in Videodaten zu verarbeiten. Während sich Objekte bewegen und interagieren, speichert SAM 2 deren Merkmale in einer Memory Bank. Wenn ein Objekt verdeckt wird, kann das Modell auf diesen Speicher zurückgreifen, um dessen Position und Aussehen vorherzusagen, sobald es wieder sichtbar wird. Der Occlusion-Head (Verdeckungs-Kopf) behandelt speziell Szenarien, in denen Objekte nicht sichtbar sind, und sagt die Wahrscheinlichkeit einer Verdeckung voraus.

Link to this sectionAuflösung von Mehrdeutigkeiten bei Multi-Masken#

In Situationen mit Mehrdeutigkeiten (z. B. überlappende Objekte) kann SAM 2 mehrere Maskenvorhersagen generieren. Diese Funktion ist entscheidend, um komplexe Szenen präzise darzustellen, bei denen eine einzelne Maske die Nuancen der Szene möglicherweise nicht ausreichend beschreibt.

Link to this sectionSA-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 Datensätze für die Videosegmentierung. Er umfasst:

  • 51.000+ Videos: Aufgenommen in 47 Ländern, was eine breite Palette an realen Szenarien bietet.
  • 600.000+ Masken-Annotationen: Detaillierte räumlich-zeitliche Masken-Annotationen, sogenannte "Masklets", die ganze Objekte und Teile abdecken.
  • Datensatzumfang: Er bietet 4,5-mal mehr Videos und 53-mal mehr Annotationen als die bisher größten Datensätze und bietet eine beispiellose Vielfalt und Komplexität.

Link to this sectionBenchmarks#

Link to this sectionVideosegmentierung von Objekten#

SAM 2 hat seine überlegene Leistung bei wichtigen Benchmarks für die Videosegmentierung bewiesen:

DatensatzJ&FJF
DAVIS 201782,579,885,2
YouTube-VOS81,278.983,5

Link to this sectionInteraktive Segmentierung#

Bei interaktiven Segmentierungsaufgaben zeigt SAM 2 eine beachtliche Effizienz und Genauigkeit:

DatensatzNoC@90AUC
DAVIS Interactive1,540,872

Link to this sectionInstallation#

Um SAM 2 zu installieren, verwende den folgenden Befehl. Alle SAM 2-Modelle werden bei der ersten Verwendung automatisch heruntergeladen.

pip install ultralytics

Link to this sectionWie man SAM 2 verwendet: Vielseitigkeit bei der Bild- und Videosegmentierung#

Die folgende Tabelle listet die verfügbaren SAM 2-Modelle, ihre vortrainierten Gewichte, unterstützte Aufgaben und die Kompatibilität mit verschiedenen Betriebsmodi wie Inference, Validation, Training und Export auf.

ModelltypVortrainierte GewichteUnterstützte AufgabenInferenzValidierungTrainingExportieren
SAM 2 tinysam2_t.ptInstanzsegmentierung
SAM 2 smallsam2_s.ptInstanzsegmentierung
SAM 2 basesam2_b.ptInstanzsegmentierung
SAM 2 largesam2_l.ptInstanzsegmentierung
SAM 2.1 tinysam2.1_t.ptInstanzsegmentierung
SAM 2.1 smallsam2.1_s.ptInstanzsegmentierung
SAM 2.1 basesam2.1_b.ptInstanzsegmentierung
SAM 2.1 largesam2.1_l.ptInstanzsegmentierung

Link to this sectionSAM 2 Vorhersage-Beispiele#

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.

Link to this sectionSegmentierung mit Prompts#

Segmentierung mit Prompts

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]])

Link to this sectionAlles segmentieren#

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")

Link to this sectionVideo segmentieren und Objekte verfolgen#

Video segmentieren

Segmentiere den gesamten Videoinhalt mit spezifischen Prompts und verfolge Objekte.

from ultralytics.models.sam import SAM2VideoPredictor

# Create SAM2VideoPredictor
overrides = dict(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) bereitgestellt werden.

Link to this sectionDynamische interaktive Segmentierung und Nachverfolgung#

SAM2DynamicInteractivePredictor ist eine fortschrittliche, trainingsfreie Erweiterung von SAM2, die eine dynamische Interaktion mit mehreren Frames und kontinuierliche Lernfähigkeiten ermöglicht. Dieser Prädiktor unterstützt Echtzeit-Prompt-Updates und Speicherverwaltung für eine verbesserte Tracking-Performance über eine Bildsequenz hinweg. Im Vergleich zum ursprünglichen SAM2 baut SAM2DynamicInteractivePredictor den Inferenz-Ablauf um, um die vortrainierten SAM2-Modelle optimal zu nutzen, ohne dass ein zusätzliches Training erforderlich ist.

SAM 2 Beispielergebnisse

Link to this sectionHauptfunktionen#

Er bietet drei bedeutende Verbesserungen:

  1. Dynamisch Interaktiv: Füge jederzeit während der Videoverarbeitung neue Prompts zum Zusammenführen/Verfolgen neuer Instanzen in nachfolgenden Frames hinzu
  2. Kontinuierliches Lernen: Füge neue Prompts für bestehende Instanzen hinzu, um die Modellleistung im Laufe der Zeit zu verbessern
  3. Unabhängige Multi-Image-Unterstützung: Verarbeite mehrere unabhängige Bilder (nicht notwendigerweise aus einer Videosequenz) mit Speicherfreigabe und objektübergreifender Nachverfolgung

Link to this sectionKernfunktionen#

  • Prompt-Flexibilität: Akzeptiert Bounding Boxes, Punkte und Masken als Prompts
  • Memory Bank-Verwaltung: Verwaltet eine dynamische Memory Bank, um Objektzustände über Frames hinweg zu speichern
  • Multi-Objekt-Tracking: Unterstützt die gleichzeitige Nachverfolgung mehrerer Objekte mit individuellen Objekt-IDs
  • Echtzeit-Updates: Ermöglicht das Hinzufügen neuer Prompts während der Inferenz, ohne vorherige Frames erneut verarbeiten zu müssen
  • Unabhängige Bildverarbeitung: Verarbeite eigenständige Bilder mit gemeinsam genutztem Speicherkontext für objektübergreifende Konsistenz
Dynamisches Hinzufügen von Objekten
from ultralytics.models.sam import SAM2DynamicInteractivePredictor

# Create SAM2DynamicInteractivePredictor
overrides = dict(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")
Hinweis

Der SAM2DynamicInteractivePredictor wurde entwickelt, um mit SAM2-Modellen zu arbeiten und unterstützt das native Hinzufügen/Verfeinern von Kategorien durch alle Box-/Punkt-/Masken-Prompts, die SAM2 unterstützt. Dies ist besonders nützlich für Szenarien, in denen Objekte mit der Zeit erscheinen oder sich verändern, wie beispielsweise bei Videoannotationen oder interaktiven Bearbeitungsaufgaben.

Link to this sectionArgumente#

NameStandardwertDatentypBeschreibung
max_obj_num3intDie voreingestellte maximale Anzahl von Kategorien
update_memoryFalseboolOb der Speicher mit neuen Prompts aktualisiert werden soll
obj_idsNoneList[int]Liste der Objekt-IDs, die den Prompts entsprechen

Link to this sectionAnwendungsfälle#

SAM2DynamicInteractivePredictor ist ideal für:

  • Videoannotations-Workflows, bei denen während der Sequenz neue Objekte erscheinen
  • Interaktive Videobearbeitung, die eine Echtzeit-Objektergänzung und -verfeinerung erfordert
  • Überwachungsanwendungen mit Bedarf an dynamischem Objekt-Tracking
  • Medizinische Bildgebung zur Verfolgung anatomischer Strukturen in Zeitreihen
  • Autonome Systeme, die eine adaptive Objekterkennung und -verfolgung erfordern
  • Multi-Image-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, die Speicher aus verschiedenen Bildkontexten nutzt
  • Halbautomatische Annotation für eine effiziente Datensatzerstellung mit minimalem manuellem Aufwand

Link to this sectionSAM-Vergleich vs YOLO#

Hier vergleichen wir Metas SAM 2-Modelle, einschließlich der kleinsten SAM2-t-Variante, mit Ultralytics Segmentierungsmodellen einschließlich YOLO26n-seg:

ModellGröße
(MB)
Parameter
(M)
Geschwindigkeit (CPU)
(ms/im)
Meta SAM-b37593.741703
Meta SAM2-b16280.828867
Meta SAM2-t78.138.923430
MobileSAM40.710.123802
FastSAM-s mit YOLOv8 Backbone23.911.858.0
Ultralytics YOLOv8n-seg7.1 (11.0x kleiner)3.4 (11.4x weniger)24.8 (945x schneller)
Ultralytics YOLO11n-seg6.2 (12.6x kleiner)2.9 (13.4x weniger)24.3 (964x schneller)
Ultralytics YOLO26n-seg6.7 (11.7x kleiner)2.7 (14.4x weniger)25.2 (930x schneller)

Dieser Vergleich zeigt 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 rechnerisch effizienter.

SAM-Geschwindigkeiten wurden mit PyTorch gemessen, YOLO-Geschwindigkeiten mit ONNX Runtime. Die 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:

Beispiel
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)

Link to this sectionAuto-Annotation: Effiziente Datensatzerstellung#

Auto-Annotation ist eine leistungsstarke Funktion von SAM 2, die es Benutzern ermöglicht, schnell und präzise Segmentierungsdatensätze zu generieren, indem sie vortrainierte Modelle nutzt. Diese Fähigkeit ist besonders nützlich für die Erstellung großer, qualitativ hochwertiger Datensätze ohne umfangreichen manuellen Aufwand.

Link to this sectionSo 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:

Beispiel für Auto-Annotation
from ultralytics.data.annotator import auto_annotate

auto_annotate(data="path/to/images", det_model="yolo26x.pt", sam_model="sam2_b.pt")
ArgumentTypStandardBeschreibung
datastrerforderlichPfad zum Verzeichnis, das Zielbilder für die Annotation oder Segmentierung enthält.
det_modelstr'yolo26x.pt'YOLO-Detektionsmodellpfad für die anfängliche Objekterkennung.
sam_modelstr'sam_b.pt'SAM-Modellpfad für die Segmentierung (unterstützt SAM, SAM 2, MobileSAM und SAM 3 Gewichte).
devicestr''Berechnungsgerät (z. B. 'cuda:0', 'cpu' oder '' für automatische Geräteerkennung).
conffloat0.25YOLO-Detektionskonfidenzschwellenwert zum Filtern schwacher Detektionen.
ioufloat0.45IoU-Schwellenwert für Non-Maximum Suppression zum Filtern überlappender Boxen.
imgszint640Eingabegröße für die Bildskalierung (muss ein Vielfaches von 32 sein).
max_detint300Maximale Anzahl an Detektionen pro Bild für Speichereffizienz.
classeslist[int]NoneListe der Klassenindizes, die erkannt werden sollen (z. B. [0, 1] für Person & Fahrrad).
output_dirstrNoneSpeicherverzeichnis für Annotationen (Standard: Unterordner <data>_auto_annotate_labels).

Diese Funktion erleichtert die schnelle Erstellung qualitativ hochwertiger Segmentierungsdatensätze und ist ideal für Forscher und Entwickler, die ihre Projekte beschleunigen möchten.

Link to this sectionEinschränkungen#

Trotz seiner Stärken hat SAM 2 gewisse Einschränkungen:

  • Tracking-Stabilität: SAM 2 kann bei längeren Sequenzen oder signifikanten Blickwinkeländerungen das Objekt aus den Augen 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 der mangelnden Kommunikation zwischen den Objekten ab.
  • Detail-Genauigkeit: Kann feine Details übersehen, insbesondere bei sich schnell bewegenden Objekten. Zusätzliche Prompts können dieses Problem teilweise beheben, aber eine zeitliche Glätte ist nicht garantiert.

Link to this sectionZitationen und Danksagungen#

Wenn SAM 2 ein entscheidender Teil deiner Forschungs- oder Entwicklungsarbeit ist, zitiere es bitte unter Verwendung der folgenden Referenz:

Zitat
@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 bedanken uns bei Meta AI für ihre Beiträge zur KI-Community mit diesem bahnbrechenden Modell und Datensatz.

Link to this sectionFAQ#

Link to this sectionWas 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, das für die umfassende Objektsegmentierung sowohl in Bildern als auch in Videos entwickelt wurde. Es zeichnet sich durch die Handhabung komplexer visueller Daten durch eine einheitliche, promptfähige Modellarchitektur aus, die Echtzeitverarbeitung und Zero-Shot-Generalisierung unterstützt. SAM 2 bietet gegenüber dem ursprünglichen SAM mehrere Verbesserungen, darunter:

  • Einheitliche Modellarchitektur: Kombiniert Bild- und Videosegmentierungsfunktionen in einem einzigen Modell.
  • Echtzeit-Leistung: Verarbeitet etwa 44 Bilder pro Sekunde und ist damit für Anwendungen geeignet, die sofortiges Feedback erfordern.
  • Zero-Shot-Generalisierung: Segmentiert Objekte, denen es noch nie zuvor begegnet ist, was in verschiedenen visuellen Domänen nützlich ist.
  • Interaktive Verfeinerung: Ermöglicht Benutzern, Segmentierungsergebnisse durch zusätzliche Prompts iterativ zu verfeinern.
  • Erweiterte Handhabung visueller Herausforderungen: Bewältigt gängige Herausforderungen bei der Videosegmentierung wie Objektverdeckung und Wiedererscheinen.

Für weitere Details zur Architektur und den Fähigkeiten von SAM 2, erkunde das SAM 2 Forschungspapier.

Link to this sectionWie kann ich SAM 2 für die Echtzeit-Videosegmentierung verwenden?#

SAM 2 kann für die Echtzeit-Videosegmentierung genutzt werden, indem man seine promptfähige Schnittstelle und Echtzeit-Inferenzfähigkeiten einsetzt. Hier ist ein einfaches Beispiel:

Segmentierung mit Prompts

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, siehe den Abschnitt So verwendest du SAM 2.

Link to this sectionWelche Datensätze werden zum Training von SAM 2 verwendet und wie verbessern sie dessen Leistung?#

SAM 2 wurde mit 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 breite Palette an realen Szenarien bietet.
  • 600.000+ Masken-Annotationen: Detaillierte räumlich-zeitliche Masken-Annotationen, sogenannte "Masklets", die ganze Objekte und Teile abdecken.
  • Datensatzumfang: Enthält 4,5-mal mehr Videos und 53-mal mehr Annotationen als die bisher größten 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-Generalisierungsfähigkeiten. Weitere Informationen findest du im Abschnitt SA-V Datensatz.

Link to this sectionWie geht SAM 2 mit Verdeckungen und dem Wiedererscheinen von Objekten bei der Videosegmentierung um?#

SAM 2 beinhaltet einen hochentwickelten Speichermechanismus, um zeitliche Abhängigkeiten und Verdeckungen in Videodaten zu verwalten. Der Speichermechanismus besteht aus:

  • Memory Encoder und Memory Bank: Speichert Merkmale aus vergangenen Frames.
  • Memory Attention Module: Nutzt gespeicherte Informationen, um die konsistente Objektverfolgung im Zeitverlauf aufrechtzuerhalten.
  • Occlusion Head: Behandelt gezielt Szenarien, in denen Objekte nicht sichtbar sind, und sagt die Wahrscheinlichkeit voraus, dass ein Objekt verdeckt ist.

Dieser Mechanismus gewährleistet Kontinuität, selbst wenn Objekte vorübergehend verdeckt sind oder die Szene verlassen und wieder betreten. Weitere Details findest du im Abschnitt Speichermechanismus und Handhabung von Verdeckungen.

Link to this sectionWie 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. Zum Beispiel ist YOLO26n-seg auf CPU etwa 24-mal kleiner und über 1145-mal schneller als SAM2-b. Während SAM 2 in vielseitigen, promptbasierten und Zero-Shot-Segmentierungsszenarien glänzt, 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.

Kommentare