رؤية YOLO لعام 2026:

SAM 2: نموذج تجزئة أي شيء 2#

تطور SAM

يبني SAM 2 على نموذج SAM الأصلي مع قدرات تجزئة الفيديو. للتعرف على تجزئة المفهوم القابلة للتوجيه مع موجهات أمثلة النص والصورة، راجع SAM 3.

الاستدلال باستخدام Segment Anything 2 في Colab

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

SAM 2 على منصة Ultralytics Platform

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

نتائج مثال SAM 2

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



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

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

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

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

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

التعميم الصفري#

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

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

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

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

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

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

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

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

المقياسSAM 2أحدث التقنيات السابقة
تجزئة الفيديو التفاعليةالأفضل-
التفاعلات البشرية المطلوبةأقل بـ 3 مراتخط الأساس
دقة تجزئة الصورمحسنةSAM
سرعة الاستدلالأسرع بـ 6 مراتSAM

بنية النموذج#

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

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

مخطط بنية SAM 2

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

تتيح آلية الذاكرة لـ 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 المتاحة، وأوزانها المدربة مسبقاً، والمهام المدعومة، والتوافق مع أوضاع التشغيل المختلفة مثل Inference وValidation وTraining وExport.

نوع النموذجالأوزان المدربة مسبقاًالمهام المدعومةالتدريبالتحققالاستنتاجالتصدير
SAM 2 الصغير جداً (tiny)sam2_t.ptتجزئة المثيلات
SAM 2 الصغير (small)sam2_s.ptتجزئة المثيلات
SAM 2 الأساسي (base)sam2_b.ptتجزئة المثيلات
SAM 2 الكبير (large)sam2_l.ptتجزئة المثيلات
SAM 2.1 الصغير جداً (tiny)sam2.1_t.ptتجزئة المثيلات
SAM 2.1 الصغير (small)sam2.1_s.ptتجزئة المثيلات
SAM 2.1 الأساسي (base)sam2.1_b.ptتجزئة المثيلات
SAM 2.1 الكبير (large)sam2.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 = {"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 يتيح التفاعل الديناميكي مع إطارات متعددة وقدرات التعلم المستمر. يدعم هذا المتنبئ تحديثات الموجهات في الوقت الفعلي وإدارة الذاكرة لتحسين أداء التتبع عبر تسلسل من الصور. مقارنةً بنموذج SAM2 الأصلي، يعيد SAM2DynamicInteractivePredictor بناء تدفق الاستدلال للاستفادة القصوى من نماذج SAM2 المدربة مسبقاً دون الحاجة إلى تدريب إضافي.

نتائج مثال SAM 2

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

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

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

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

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

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

الوسائط (Arguments)#

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

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

يُعد SAM2DynamicInteractivePredictor مثاليًا لما يلي:

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

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

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

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

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

تم قياس سرعات SAM باستخدام PyTorch، وسرعات YOLO باستخدام ONNX Runtime. تم إجراء الاختبارات على جهاز 2025 Apple M4 Air بذاكرة وصول عشوائي 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 وSAM 2 وMobileSAM وSAM 3).
devicestr''جهاز الحوسبة (مثلاً 'cuda:0' أو 'cpu' أو '' للاكتشاف التلقائي للجهاز).
conffloat0.25عتبة ثقة كشف YOLO لتصفية الاكتشافات الضعيفة.
ioufloat0.45عتبة IoU لـ Non-Maximum Suppression لتصفية المربعات المتداخلة.
imgszint640حجم الإدخال لتغيير حجم الصور (يجب أن يكون من مضاعفات 32).
max_detint300الحد الأقصى لعدد الاكتشافات لكل صورة لتحسين كفاءة الذاكرة.
classeslist[int]Noneقائمة بفهارس الفئات للكشف عنها (على سبيل المثال، [0, 1] للشخص والدراجة).
output_dirstrNoneدليل الحفظ للتعليقات التوضيحية (الافتراضي: مجلد شقيق باسم <data>_auto_annotate_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 إطارًا في الثانية، مما يجعله مناسبًا للتطبيقات التي تتطلب تعليقات فورية.
  • التعميم الصفري: يجزئ كائنات لم يسبق له رؤيتها من قبل، وهو مفيد في المجالات المرئية المتنوعة.
  • التحسين التفاعلي: يتيح للمستخدمين تحسين نتائج التجزئة بشكل تكراري من خلال توفير موجهات إضافية.
  • التعامل المتقدم مع التحديات المرئية: يدير تحديات تجزئة الفيديو الشائعة مثل حجب الكائنات وإعادة ظهورها.

لمزيد من التفاصيل حول بنية وإمكانيات 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، مما يجعله أكثر ملاءمة للانتشار في البيئات محدودة الموارد.

التعليقات