SAM 2: نموذج تقسيم أي شيء 2

تطور SAM

يعتمد SAM 2 على نموذج SAM الأصلي مع إمكانيات تقسيم الفيديو. للحصول على تقسيم مفاهيمي قابل للتلقين باستخدام مطالبات النص والصورة التوضيحية، راجع SAM 3.

Inference with Segment Anything 2 In Colab

يُعد SAM 2، وهو خليفة نموذج Segment Anything Model (SAM) من Meta، أداة متطورة مصممة للتقسيم الشامل للكائنات في كل من الصور ومقاطع الفيديو. يتفوق النموذج في معالجة البيانات المرئية المعقدة من خلال بنية نموذج موحدة وقابلة للتلقين تدعم المعالجة في الوقت الفعلي والتعميم دون تدريب مسبق (zero-shot).

SAM 2 على منصة Ultralytics

تدعم نماذج SAM 2.1 ميزة التعليق الذكي على منصة Ultralytics، مما يتيح التقسيم القائم على النقر لتصنيف مجموعات البيانات بسرعة. راجع دليل التعليق للحصول على التفاصيل.

SAM 2 Example Results

الميزات الرئيسية



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

بنية نموذج موحدة

يجمع SAM 2 بين إمكانيات تقسيم الصور والفيديو في نموذج واحد. يعمل هذا التوحيد على تبسيط النشر ويسمح بأداء متسق عبر أنواع الوسائط المختلفة. كما يستفيد من واجهة مرنة قائمة على المطالبات، مما يسمح للمستخدمين بتحديد الكائنات ذات الاهتمام من خلال أنواع مطالبات متنوعة، مثل النقاط، أو مربعات الإحاطة (bounding boxes)، أو الأقنعة.

الأداء في الوقت الفعلي

يحقق النموذج سرعات استدلال في الوقت الفعلي، حيث يعالج حوالي 44 إطارًا في الثانية. وهذا يجعل SAM 2 مناسبًا للتطبيقات التي تتطلب استجابة فورية، مثل تحرير الفيديو والواقع المعزز.

التعميم دون تدريب مسبق (Zero-Shot Generalization)

يمكن لـ SAM 2 تقسيم كائنات لم يواجهها من قبل، مما يظهر قدرة قوية على التعميم دون تدريب مسبق. وهذا مفيد بشكل خاص في المجالات المرئية المتنوعة أو المتطورة حيث قد لا تغطي الفئات المحددة مسبقًا جميع الكائنات المحتملة.

التحسين التفاعلي

يمكن للمستخدمين تحسين نتائج التقسيم بشكل متكرر من خلال تقديم مطالبات إضافية، مما يسمح بتحكم دقيق في المخرجات. تعد هذه التفاعلية ضرورية لتحسين النتائج بدقة في تطبيقات مثل تعليق الفيديو أو التصوير الطبي.

التعامل المتقدم مع التحديات المرئية

يشتمل SAM 2 على آليات لإدارة تحديات تقسيم الفيديو الشائعة، مثل حجب الكائنات (occlusion) وإعادة ظهورها. يستخدم آلية ذاكرة متطورة لتتبع الكائنات عبر الإطارات، مما يضمن الاستمرارية حتى عندما تكون الكائنات محجوبة مؤقتًا أو تخرج من المشهد وتدخل إليه مرة أخرى.

للحصول على فهم أعمق لبنية SAM 2 وإمكانياته، استكشف ورقة بحث SAM 2.

الأداء والتفاصيل التقنية

يضع SAM 2 معيارًا جديدًا في هذا المجال، متفوقًا على النماذج السابقة في مقاييس مختلفة:

المقياسSAM 2أفضل أداء سابق (SOTA)
تقسيم الفيديو التفاعليالأفضل-
التفاعلات البشرية المطلوبة3 مرات أقلالأساس (Baseline)
دقة تقسيم الصورمحسنةSAM
سرعة الاستدلال6 مرات أسرعSAM

بنية النموذج

المكونات الأساسية

  • مشفر الصور والفيديو: يستخدم بنية تعتمد على Transformer لاستخراج ميزات عالية المستوى من كل من الصور وإطارات الفيديو. هذا المكون مسؤول عن فهم المحتوى المرئي في كل إطار زمني.
  • مشفر المطالبات: يعالج المطالبات التي يوفرها المستخدم (نقاط، مربعات، أقنعة) لتوجيه مهمة التقسيم. يسمح هذا لـ SAM 2 بالتكيف مع مدخلات المستخدم واستهداف كائنات محددة داخل المشهد.
  • آلية الذاكرة: تتضمن مشفر ذاكرة، وبنك ذاكرة، ووحدة انتباه للذاكرة. تقوم هذه المكونات بشكل جماعي بتخزين واستخدام المعلومات من الإطارات السابقة، مما يمكن النموذج من الحفاظ على تتبع الكائنات بشكل متسق بمرور الوقت.
  • فك تشفير القناع: يقوم بتوليد أقنعة التقسيم النهائية بناءً على ميزات الصورة المشفرة والمطالبات. في الفيديو، يستخدم أيضًا سياق الذاكرة لضمان تتبع دقيق عبر الإطارات.

SAM 2 Architecture Diagram

آلية الذاكرة والتعامل مع الحجب

تسمح آلية الذاكرة لـ SAM 2 بالتعامل مع التبعيات الزمنية والحجب في بيانات الفيديو. بينما تتحرك الكائنات وتتفاعل، يسجل SAM 2 ميزاتها في بنك ذاكرة. عندما يصبح كائن محجوبًا، يمكن للنموذج الاعتماد على هذه الذاكرة للتنبؤ بموقعه ومظهره عند ظهوره مرة أخرى. يتعامل رأس الحجب بشكل خاص مع السيناريوهات التي لا تكون فيها الكائنات مرئية، ويتنبأ باحتمالية حجب الكائن.

حل الغموض متعدد الأقنعة

في المواقف التي يوجد فيها غموض (مثل تداخل الكائنات)، يمكن لـ SAM 2 توليد تنبؤات أقنعة متعددة. تعد هذه الميزة حاسمة لتمثيل المشاهد المعقدة بدقة حيث قد لا يصف قناع واحد فروق المشهد الدقيقة بشكل كافٍ.

مجموعة بيانات SA-V

تعد مجموعة بيانات SA-V، التي تم تطويرها لتدريب SAM 2، واحدة من أكبر مجموعات بيانات تقسيم الفيديو وأكثرها تنوعًا. وهي تشمل:

  • 51,000+ مقطع فيديو: تم تصويرها في 47 دولة، مما يوفر مجموعة واسعة من سيناريوهات العالم الحقيقي.
  • 600,000+ تعليق قناع: تعليقات قناع زمانية ومكانية مفصلة، يُشار إليها باسم "masklets"، تغطي الكائنات الكاملة والأجزاء.
  • حجم مجموعة البيانات: تتميز بـ 4.5 مرة أكثر من مقاطع الفيديو و53 مرة أكثر من التعليقات مقارنة بأكبر مجموعات البيانات السابقة، مما يوفر تنوعًا وتعقيدًا غير مسبوقين.

المقاييس المرجعية

تقسيم كائنات الفيديو

أظهر SAM 2 أداءً متفوقًا عبر مقاييس تقسيم الفيديو الرئيسية:

مجموعة البياناتJ&FJF
DAVIS 201782.579.885.2
YouTube-VOS81.278.983.5

التقسيم التفاعلي

في مهام التقسيم التفاعلي، يُظهر SAM 2 كفاءة ودقة كبيرتين:

مجموعة البياناتNoC@90AUC
DAVIS Interactive1.540.872

التثبيت

لتثبيت SAM 2، استخدم الأمر التالي. سيتم تنزيل جميع نماذج SAM 2 تلقائيًا عند الاستخدام الأول.

pip install ultralytics

كيفية استخدام SAM 2: التنوع في تقسيم الصور والفيديو

يوضح الجدول التالي نماذج SAM 2 المتاحة، وأوزانها المدربة مسبقًا، والمهام المدعومة، والتوافق مع أوضاع التشغيل المختلفة مثل الاستدلال، والتحقق، والتدريب، والتصدير.

نوع النموذجالأوزان المدربة مسبقاًالمهام المدعومةالاستدلالالتحققالتدريبتصدير
SAM 2 tinysam2_t.ptتجزئة المثيلات
SAM 2 smallsam2_s.ptتجزئة المثيلات
SAM 2 basesam2_b.ptتجزئة المثيلات
SAM 2 largesam2_l.ptتجزئة المثيلات
SAM 2.1 tinysam2.1_t.ptتجزئة المثيلات
SAM 2.1 smallsam2.1_s.ptتجزئة المثيلات
SAM 2.1 basesam2.1_b.ptتجزئة المثيلات
SAM 2.1 largesam2.1_l.ptتجزئة المثيلات

أمثلة على تنبؤ SAM 2

يمكن استخدام SAM 2 عبر مجموعة واسعة من المهام، بما في ذلك تحرير الفيديو في الوقت الفعلي، والتصوير الطبي، والأنظمة المستقلة. إن قدرته على تقسيم البيانات المرئية الثابتة والديناميكية تجعله أداة متعددة الاستخدامات للباحثين والمطورين.

التقسيم باستخدام المطالبات

التقسيم باستخدام المطالبات

استخدم المطالبات لتقسيم كائنات محددة في الصور أو مقاطع الفيديو.

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

تقسيم كل شيء

تقسيم كل شيء

قم بتقسيم محتوى الصورة أو الفيديو بالكامل دون الحاجة إلى مطالبات محددة.

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

تقسيم الفيديو وتتبع الكائنات

تقسيم الفيديو

قم بتقسيم محتوى الفيديو بالكامل باستخدام مطالبات محددة وتتبع الكائنات.

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]])
  • يوضح هذا المثال كيف يمكن استخدام SAM 2 لتقسيم محتوى الصورة أو الفيديو بالكامل إذا لم يتم توفير أي مطالبات (مربعات إحاطة/نقاط/أقنعة).

التقسيم والتتبع التفاعلي الديناميكي

يعد SAM2DynamicInteractivePredictor امتداداً متطوراً لا يتطلب تدريباً لنموذج SAM2، حيث يتيح التفاعل الديناميكي مع إطارات متعددة وقدرات التعلم المستمر. يدعم هذا المتنبئ تحديثات التوجيه (prompt) في الوقت الفعلي وإدارة الذاكرة لتحسين أداء التتبع عبر سلسلة من الصور. مقارنة بـ SAM2 الأصلي، يقوم SAM2DynamicInteractivePredictor بإعادة بناء تدفق الاستنتاج للاستفادة القصوى من نماذج SAM2 المدربة مسبقاً دون الحاجة إلى تدريب إضافي.

نتائج مثال SAM 2

الميزات الرئيسية

إنه يقدم ثلاثة تحسينات مهمة:

  1. تفاعلي ديناميكي: إضافة توجيهات جديدة لدمج/تتبع حالات جديدة غير متتبعة في الإطارات التالية في أي وقت أثناء معالجة الفيديو
  2. التعلم المستمر: إضافة توجيهات جديدة للحالات الموجودة لتحسين أداء النموذج بمرور الوقت
  3. دعم مستقل للصور المتعددة: معالجة صور مستقلة متعددة (ليس بالضرورة من سلسلة فيديو) مع مشاركة الذاكرة وتتبع الكائنات عبر الصور

القدرات الأساسية

  • مرونة التوجيه (Prompt): يقبل مربعات الإحاطة (bounding boxes)، والنقاط، والأقنعة (masks) كتوجيهات
  • إدارة بنك الذاكرة: يحتفظ ببنك ذاكرة ديناميكي لتخزين حالات الكائنات عبر الإطارات
  • تتبع الكائنات المتعددة: يدعم تتبع كائنات متعددة في وقت واحد مع معرفات كائنات فردية
  • تحديثات في الوقت الفعلي: يسمح بإضافة توجيهات جديدة أثناء الاستنتاج دون الحاجة إلى إعادة معالجة الإطارات السابقة
  • معالجة الصور المستقلة: معالجة صور مستقلة مع سياق ذاكرة مشترك لضمان اتساق الكائنات عبر الصور
إضافة الكائنات الديناميكية
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")
ملاحظة

تم تصميم SAM2DynamicInteractivePredictor للعمل مع نماذج SAM2، ويدعم إضافة/تحسين الفئات من خلال جميع توجيهات المربع/النقطة/القناع التي يدعمها SAM2 أصلياً. إنه مفيد بشكل خاص للسيناريوهات التي تظهر فيها الكائنات أو تتغير بمرور الوقت، مثل مهام تعليق الفيديو أو التحرير التفاعلي.

الوسائط

الاسمالقيمة الافتراضيةنوع البياناتالوصف
max_obj_num3intالحد الأقصى المحدد مسبقاً لعدد الفئات
update_memoryFalseboolما إذا كان سيتم تحديث الذاكرة بتوجيهات جديدة
obj_idsNoneList[int]قائمة معرفات الكائنات المقابلة للتوجيهات

حالات الاستخدام

SAM2DynamicInteractivePredictor مثالي لما يلي:

  • سير عمل تعليق الفيديو حيث تظهر كائنات جديدة أثناء التسلسل
  • تحرير الفيديو التفاعلي الذي يتطلب إضافة وتحسين الكائنات في الوقت الفعلي
  • تطبيقات المراقبة ذات احتياجات تتبع الكائنات الديناميكية
  • التصوير الطبي لتتبع الهياكل التشريحية عبر السلاسل الزمنية
  • الأنظمة المستقلة التي تتطلب اكتشاف وتتبع الكائنات بشكل تكيفي
  • مجموعات البيانات متعددة الصور لتقسيم الكائنات بشكل متسق عبر الصور المستقلة
  • تحليل مجموعات الصور حيث يلزم تتبع الكائنات عبر مشاهد مختلفة
  • التقسيم عبر النطاقات للاستفادة من الذاكرة من سياقات صور متنوعة
  • التعليق شبه التلقائي لإنشاء مجموعات البيانات بكفاءة مع الحد الأدنى من التدخل اليدوي

مقارنة SAM مقابل YOLO

هنا نقارن نماذج Meta SAM 2، بما في ذلك أصغر متغير SAM2-t، مع نماذج تقسيم Ultralytics بما في ذلك YOLO26n-seg:

النموذجالحجم
(MB)
المعلمات
(M)
السرعة (CPU)
(ms/im)
Meta SAM-b37593.741703
Meta SAM2-b16280.828867
Meta SAM2-t78.138.923430
MobileSAM40.710.123802
FastSAM-s مع backbone YOLOv823.911.858.0
Ultralytics YOLOv8n-seg7.1 (أصغر بـ 11.0 مرة)3.4 (أقل بـ 11.4 مرة)24.8 (أسرع بـ 945 مرة)
Ultralytics YOLO11n-seg6.2 (أصغر بـ 12.6 مرة)2.9 (أقل بـ 13.4 مرة)24.3 (أسرع بـ 964 مرة)
Ultralytics YOLO26n-seg6.7 (أصغر بـ 11.7 مرة)2.7 (أقل بـ 14.4 مرة)25.2 (أسرع بـ 930 مرة)

توضح هذه المقارنة الاختلافات الجوهرية في أحجام وسرعات النماذج بين متغيرات SAM ونماذج تقطيع YOLO. بينما يوفر SAM قدرات تقطيع تلقائية فريدة، فإن نماذج YOLO، وخاصة YOLOv8n-seg وYOLO11n-seg وYOLO26n-seg، أصغر بكثير وأسرع وأكثر كفاءة من الناحية الحسابية.

تم قياس سرعات SAM باستخدام PyTorch، وسرعات YOLO باستخدام ONNX Runtime. أجريت الاختبارات على جهاز Apple M4 Air لعام 2025 بذاكرة وصول عشوائي 16 جيجابايت باستخدام torch==2.10.0 وultralytics==8.4.31 وonnxruntime==1.24.4. لإعادة إنتاج هذا الاختبار:

مثال
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)

التعليق التلقائي: إنشاء مجموعات البيانات بكفاءة

التعليق التلقائي هو ميزة قوية في SAM 2، تتيح للمستخدمين إنشاء مجموعات بيانات التقسيم بسرعة ودقة من خلال الاستفادة من النماذج المدربة مسبقاً. تعد هذه القدرة مفيدة بشكل خاص لإنشاء مجموعات بيانات كبيرة وعالية الجودة دون جهد يدوي مكثف.

كيفية التعليق التلقائي باستخدام SAM 2



Watch: Auto Annotation with Meta's Segment Anything 2 Model using Ultralytics | Data Labeling

للتعليق التلقائي على مجموعة بياناتك باستخدام SAM 2، اتبع هذا المثال:

مثال التعليق التلقائي
from ultralytics.data.annotator import auto_annotate

auto_annotate(data="path/to/images", det_model="yolo26x.pt", sam_model="sam2_b.pt")
المعاملالنوعالافتراضيالوصف
datastrمطلوبالمسار إلى الدليل الذي يحتوي على الصور المستهدفة للترميز أو التقطيع.
det_modelstr'yolo26x.pt'مسار نموذج كشف YOLO للكشف الأولي عن الكائنات.
sam_modelstr'sam_b.pt'مسار نموذج SAM للتقطيع (يدعم SAM، ومتغيرات SAM2، ونماذج MobileSAM).
devicestr''جهاز الحوسبة (مثلاً 'cuda:0'، أو 'cpu'، أو '' للكشف التلقائي عن الجهاز).
conffloat0.25عتبة ثقة كشف YOLO لتصفية الكشوف الضعيفة.
ioufloat0.45عتبة IoU لـ Non-Maximum Suppression لتصفية الصناديق المتداخلة.
imgszint640حجم الإدخال لتغيير حجم الصور (يجب أن يكون مضاعفاً لـ 32).
max_detint300الحد الأقصى لعدد الكشوف لكل صورة لكفاءة الذاكرة.
classeslist[int]Noneقائمة بفهارس الفئات للكشف (مثلاً [0, 1] للشخص والدراجة).
output_dirstrNoneدليل الحفظ للترميزات (الافتراضي هو './labels' بالنسبة لمسار البيانات).

تسهل هذه الوظيفة الإنشاء السريع لمجموعات بيانات التقسيم عالية الجودة، وهي مثالية للباحثين والمطورين الذين يهدفون إلى تسريع مشاريعهم.

القيود

على الرغم من نقاط قوته، فإن لـ SAM 2 قيوداً معينة:

  • استقرار التتبع: قد يفقد SAM 2 مسار الكائنات أثناء التسلسلات الطويلة أو التغيرات الكبيرة في زاوية الرؤية.
  • الارتباك في الكائنات: يمكن للنموذج أحياناً الخلط بين الكائنات المتشابهة في المظهر، خاصة في المشاهد المزدحمة.
  • الكفاءة مع الكائنات المتعددة: تنخفض كفاءة التقسيم عند معالجة كائنات متعددة في وقت واحد بسبب نقص التواصل بين الكائنات.
  • تفاصيل الدقة: قد يفوت التفاصيل الدقيقة، خاصة مع الكائنات سريعة الحركة. يمكن للتوجيهات الإضافية معالجة هذه المشكلة جزئياً، ولكن لا يمكن ضمان السلاسة الزمنية.

الاقتباسات والشكر

إذا كان SAM 2 جزءاً حيوياً من عملك البحثي أو التطويري، فيرجى الاستشهاد به باستخدام المرجع التالي:

اقتباس
@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}
}

نمد بامتناننا إلى Meta AI لمساهماتهم في مجتمع الذكاء الاصطناعي بهذا النموذج ومجموعة البيانات الرائدة.

الأسئلة الشائعة

ما هو SAM 2 وكيف يتحسن عن نموذج Segment Anything Model (SAM) الأصلي؟

SAM 2، خليفة Segment Anything Model (SAM) الخاص بـ Meta، هو أداة متطورة مصممة لتقسيم الكائنات الشامل في كل من الصور ومقاطع الفيديو. يتفوق في التعامل مع البيانات المرئية المعقدة من خلال بنية نموذج موحدة وقابلة للتوجيه تدعم المعالجة في الوقت الفعلي والتعميم من الصفر (zero-shot). يوفر SAM 2 العديد من التحسينات مقارنة بـ SAM الأصلي، بما في ذلك:

  • بنية نموذج موحدة: تجمع بين قدرات تقسيم الصور والفيديو في نموذج واحد.
  • الأداء في الوقت الفعلي: يعالج حوالي 44 إطاراً في الثانية، مما يجعله مناسباً للتطبيقات التي تتطلب استجابة فورية.
  • التعميم من الصفر (Zero-Shot): يقسم الكائنات التي لم يسبق له مواجهتها من قبل، وهو مفيد في نطاقات مرئية متنوعة.
  • التحسين التفاعلي: يسمح للمستخدمين بتحسين نتائج التقسيم بشكل تكراري من خلال تقديم توجيهات إضافية.
  • التعامل المتقدم مع التحديات المرئية: يدير تحديات تقسيم الفيديو الشائعة مثل حجب الكائنات وظهورها مرة أخرى.

لمزيد من التفاصيل حول بنية وقدرات SAM 2، استكشف ورقة بحث SAM 2.

كيف يمكنني استخدام SAM 2 لتقسيم الفيديو في الوقت الفعلي؟

يمكن استخدام SAM 2 لتقسيم الفيديو في الوقت الفعلي من خلال الاستفادة من واجهته القابلة للتوجيه وقدرات الاستنتاج في الوقت الفعلي. إليك مثال أساسي:

التقسيم باستخدام المطالبات

استخدم المطالبات لتقسيم كائنات محددة في الصور أو مقاطع الفيديو.

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

لمزيد من الاستخدام الشامل، راجع قسم كيفية استخدام SAM 2.

ما هي مجموعات البيانات المستخدمة لتدريب SAM 2، وكيف تعزز أدائه؟

تم تدريب SAM 2 على مجموعة بيانات SA-V، وهي واحدة من أكبر وأكثر مجموعات بيانات تقسيم الفيديو تنوعاً المتاحة. تتضمن مجموعة بيانات SA-V ما يلي:

  • 51,000+ مقطع فيديو: تم تصويرها في 47 دولة، مما يوفر مجموعة واسعة من سيناريوهات العالم الحقيقي.
  • 600,000+ تعليق قناع: تعليقات قناع زمانية ومكانية مفصلة، يُشار إليها باسم "masklets"، تغطي الكائنات الكاملة والأجزاء.
  • نطاق مجموعة البيانات: تتميز بـ 4.5 مرة أكثر من مقاطع الفيديو و 53 مرة أكثر من التعليقات التوضيحية مقارنة بأكبر مجموعات البيانات السابقة، مما يوفر تنوعاً وتعقيداً غير مسبوقين.

تسمح مجموعة البيانات الشاملة هذه لـ SAM 2 بتحقيق أداء فائق عبر مقاييس تقسيم الفيديو الرئيسية وتعزز قدرات التعميم من الصفر الخاصة به. لمزيد من المعلومات، راجع قسم مجموعة بيانات SA-V.

كيف يتعامل SAM 2 مع حالات الحجب وظهور الكائنات مرة أخرى في تقسيم الفيديو؟

يشتمل SAM 2 على آلية ذاكرة متطورة لإدارة التبعيات الزمنية والحجب في بيانات الفيديو. تتكون آلية الذاكرة من:

  • مشفر الذاكرة وبنك الذاكرة: يخزن الميزات من الإطارات السابقة.
  • وحدة انتباه الذاكرة: تستخدم المعلومات المخزنة للحفاظ على تتبع الكائنات بشكل متسق بمرور الوقت.
  • رأس الحجب: يتعامل تحديداً مع السيناريوهات التي لا تكون فيها الكائنات مرئية، ويتنبأ باحتمالية حجب الكائن.

تضمن هذه الآلية الاستمرارية حتى عندما تكون الكائنات محجوبة مؤقتاً أو تخرج من المشهد وتدخل إليه مرة أخرى. لمزيد من التفاصيل، راجع قسم آلية الذاكرة والتعامل مع الحجب.

كيف يقارن SAM 2 بنماذج التقسيم الأخرى مثل YOLO26؟

توفر نماذج SAM 2، مثل SAM2-t و SAM2-b من Meta، قدرات تقسيم قوية من الصفر ولكنها أكبر بكثير وأبطأ مقارنة بنماذج YOLO. على سبيل المثال، YOLO26n-seg أصغر بحوالي 24 مرة وأسرع بأكثر من 1145 مرة من SAM2-b على وحدة المعالجة المركزية (CPU). بينما يتفوق SAM 2 في سيناريوهات التقسيم المتعددة والقائمة على التوجيه ومن الصفر، تم تحسين YOLO26 للسرعة والكفاءة والتطبيقات في الوقت الفعلي مع استنتاج شامل بدون NMS، مما يجعله أكثر ملاءمة للنشر في البيئات ذات الموارد المحدودة.

التعليقات