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

الميزات الرئيسية
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 بالتعامل مع التبعيات الزمنية والحجب في بيانات الفيديو. بينما تتحرك الكائنات وتتفاعل، يسجل SAM 2 ميزاتها في بنك ذاكرة. عندما يصبح كائن محجوبًا، يمكن للنموذج الاعتماد على هذه الذاكرة للتنبؤ بموقعه ومظهره عند ظهوره مرة أخرى. يتعامل رأس الحجب بشكل خاص مع السيناريوهات التي لا تكون فيها الكائنات مرئية، ويتنبأ باحتمالية حجب الكائن.
حل الغموض متعدد الأقنعة
في المواقف التي يوجد فيها غموض (مثل تداخل الكائنات)، يمكن لـ SAM 2 توليد تنبؤات أقنعة متعددة. تعد هذه الميزة حاسمة لتمثيل المشاهد المعقدة بدقة حيث قد لا يصف قناع واحد فروق المشهد الدقيقة بشكل كافٍ.
مجموعة بيانات SA-V
تعد مجموعة بيانات SA-V، التي تم تطويرها لتدريب SAM 2، واحدة من أكبر مجموعات بيانات تقسيم الفيديو وأكثرها تنوعًا. وهي تشمل:
- 51,000+ مقطع فيديو: تم تصويرها في 47 دولة، مما يوفر مجموعة واسعة من سيناريوهات العالم الحقيقي.
- 600,000+ تعليق قناع: تعليقات قناع زمانية ومكانية مفصلة، يُشار إليها باسم "masklets"، تغطي الكائنات الكاملة والأجزاء.
- حجم مجموعة البيانات: تتميز بـ 4.5 مرة أكثر من مقاطع الفيديو و53 مرة أكثر من التعليقات مقارنة بأكبر مجموعات البيانات السابقة، مما يوفر تنوعًا وتعقيدًا غير مسبوقين.
المقاييس المرجعية
تقسيم كائنات الفيديو
أظهر SAM 2 أداءً متفوقًا عبر مقاييس تقسيم الفيديو الرئيسية:
| مجموعة البيانات | J&F | J | F |
|---|---|---|---|
| DAVIS 2017 | 82.5 | 79.8 | 85.2 |
| YouTube-VOS | 81.2 | 78.9 | 83.5 |
التقسيم التفاعلي
في مهام التقسيم التفاعلي، يُظهر SAM 2 كفاءة ودقة كبيرتين:
| مجموعة البيانات | NoC@90 | AUC |
|---|---|---|
| DAVIS Interactive | 1.54 | 0.872 |
التثبيت
لتثبيت SAM 2، استخدم الأمر التالي. سيتم تنزيل جميع نماذج SAM 2 تلقائيًا عند الاستخدام الأول.
pip install ultralyticsكيفية استخدام SAM 2: التنوع في تقسيم الصور والفيديو
يوضح الجدول التالي نماذج SAM 2 المتاحة، وأوزانها المدربة مسبقًا، والمهام المدعومة، والتوافق مع أوضاع التشغيل المختلفة مثل الاستدلال، والتحقق، والتدريب، والتصدير.
| نوع النموذج | الأوزان المدربة مسبقاً | المهام المدعومة | الاستدلال | التحقق | التدريب | تصدير |
|---|---|---|---|---|---|---|
| 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 = 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 المدربة مسبقاً دون الحاجة إلى تدريب إضافي.

الميزات الرئيسية
إنه يقدم ثلاثة تحسينات مهمة:
- تفاعلي ديناميكي: إضافة توجيهات جديدة لدمج/تتبع حالات جديدة غير متتبعة في الإطارات التالية في أي وقت أثناء معالجة الفيديو
- التعلم المستمر: إضافة توجيهات جديدة للحالات الموجودة لتحسين أداء النموذج بمرور الوقت
- دعم مستقل للصور المتعددة: معالجة صور مستقلة متعددة (ليس بالضرورة من سلسلة فيديو) مع مشاركة الذاكرة وتتبع الكائنات عبر الصور
القدرات الأساسية
- مرونة التوجيه (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_num | 3 | int | الحد الأقصى المحدد مسبقاً لعدد الفئات |
update_memory | False | bool | ما إذا كان سيتم تحديث الذاكرة بتوجيهات جديدة |
obj_ids | None | List[int] | قائمة معرفات الكائنات المقابلة للتوجيهات |
حالات الاستخدام
SAM2DynamicInteractivePredictor مثالي لما يلي:
- سير عمل تعليق الفيديو حيث تظهر كائنات جديدة أثناء التسلسل
- تحرير الفيديو التفاعلي الذي يتطلب إضافة وتحسين الكائنات في الوقت الفعلي
- تطبيقات المراقبة ذات احتياجات تتبع الكائنات الديناميكية
- التصوير الطبي لتتبع الهياكل التشريحية عبر السلاسل الزمنية
- الأنظمة المستقلة التي تتطلب اكتشاف وتتبع الكائنات بشكل تكيفي
- مجموعات البيانات متعددة الصور لتقسيم الكائنات بشكل متسق عبر الصور المستقلة
- تحليل مجموعات الصور حيث يلزم تتبع الكائنات عبر مشاهد مختلفة
- التقسيم عبر النطاقات للاستفادة من الذاكرة من سياقات صور متنوعة
- التعليق شبه التلقائي لإنشاء مجموعات البيانات بكفاءة مع الحد الأدنى من التدخل اليدوي
مقارنة SAM مقابل YOLO
هنا نقارن نماذج Meta SAM 2، بما في ذلك أصغر متغير SAM2-t، مع نماذج تقسيم Ultralytics بما في ذلك YOLO26n-seg:
| النموذج | الحجم (MB) | المعلمات (M) | السرعة (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 مع backbone YOLOv8 | 23.9 | 11.8 | 58.0 |
| Ultralytics YOLOv8n-seg | 7.1 (أصغر بـ 11.0 مرة) | 3.4 (أقل بـ 11.4 مرة) | 24.8 (أسرع بـ 945 مرة) |
| Ultralytics YOLO11n-seg | 6.2 (أصغر بـ 12.6 مرة) | 2.9 (أقل بـ 13.4 مرة) | 24.3 (أسرع بـ 964 مرة) |
| Ultralytics YOLO26n-seg | 6.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")| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
data | str | مطلوب | المسار إلى الدليل الذي يحتوي على الصور المستهدفة للترميز أو التقطيع. |
det_model | str | 'yolo26x.pt' | مسار نموذج كشف YOLO للكشف الأولي عن الكائنات. |
sam_model | str | 'sam_b.pt' | مسار نموذج SAM للتقطيع (يدعم SAM، ومتغيرات SAM2، ونماذج MobileSAM). |
device | str | '' | جهاز الحوسبة (مثلاً 'cuda:0'، أو 'cpu'، أو '' للكشف التلقائي عن الجهاز). |
conf | float | 0.25 | عتبة ثقة كشف YOLO لتصفية الكشوف الضعيفة. |
iou | float | 0.45 | عتبة IoU لـ Non-Maximum Suppression لتصفية الصناديق المتداخلة. |
imgsz | int | 640 | حجم الإدخال لتغيير حجم الصور (يجب أن يكون مضاعفاً لـ 32). |
max_det | int | 300 | الحد الأقصى لعدد الكشوف لكل صورة لكفاءة الذاكرة. |
classes | list[int] | None | قائمة بفهارس الفئات للكشف (مثلاً [0, 1] للشخص والدراجة). |
output_dir | str | None | دليل الحفظ للترميزات (الافتراضي هو './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، مما يجعله أكثر ملاءمة للنشر في البيئات ذات الموارد المحدودة.