تخطي إلى المحتوى

SAM 2.1

لقد قمنا للتو بدعم النموذج SAM2.1 الأكثر دقة. يرجى تجربته!

SAM 2: نموذج قطاع أي شيء 2

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

SAM 2 أمثلة على النتائج

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



شاهد: كيفية تشغيل الاستدلال باستخدام ميتا SAM2 باستخدام Ultralytics | دليل خطوة بخطوة 🎉

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

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

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

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

تعميم اللقطة الصفرية

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

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

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

التعامل المتقدم مع التحديات البصرية

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

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

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

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

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

الهندسة المعمارية النموذجية

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

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

SAM 2 رسم تخطيطي للهندسة المعمارية

آلية الذاكرة ومعالجة الانسداد

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

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

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

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

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

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

المعايير

تجزئة كائن الفيديو

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

مجموعة البيانات J&F J F
دافيس 2017 82.5 79.8 85.2
يوتيوب-فوس 81.2 78.9 83.5

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

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

مجموعة البيانات نوك@90 الجامعة الأمريكية بالقاهرة
دافيس التفاعلية 1.54 0.872

التركيب

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

pip install ultralytics

كيفية الاستخدام SAM 2: تعدد الاستخدامات في تجزئة الصور والفيديو

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

نوع الموديل الأوزان المدربة مسبقاً المهام المدعومة الاستدلال التحقق من الصحة التدريب التصدير
SAM 2 صغير sam2_t.pt تجزئة المثيل
SAM 2 صغيران sam2_s.pt تجزئة المثيل
SAM 2 قاعدة 2 sam2_b.pt تجزئة المثيل
SAM 2 من الحجم الكبير sam2_l.pt تجزئة المثيل
SAM 2.1 صغير جدًا sam2.1_t.pt تجزئة المثيل
SAM 2.1 صغير sam2.1_s.pt تجزئة المثيل
SAM 2.1 القاعدة 2.1 sam2.1_b.pt تجزئة المثيل
SAM 2.1 كبير 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")
# Run inference with a SAM 2 model
yolo predict model=sam2.1_b.pt source=path/to/video.mp4
  • يوضح هذا المثال كيف يمكن استخدام SAM 2 لتجزئة محتوى الصورة أو الفيديو بالكامل إذا لم يتم توفير أي مطالبات (bboxes / نقاط / علامات).

SAM 2 المقارنة بين YOLOv8

نقارن هنا نموذج ميتا الأصغر SAM 2، SAM2-t، مع نموذج التجزئة الأصغر Ultralytics YOLOv8n -seg:

الطراز الحجم
(ميغابايت)
المعلمات
(م)
السرعة (CPU)
(م/م) (م/م)
ميتا SAM-ب 375 93.7 161440
ميتا SAM2-ب 162 80.8 121923
ميتا SAM2-t 78.1 38.9 85155
MobileSAM 40.7 10.1 98543
FastSAM-s مع YOLOv8 العمود الفقري 23.7 11.8 140
Ultralytics YOLOv8n-سيج 6.7 (11.7 مرة أقل) 3.4 (11.4 مرة أقل) 79.5 (1071 مرة أسرع)

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

أُجريت الاختبارات على جهاز Apple M2 Macbook 2023 مزود بذاكرة وصول عشوائي سعة 16 جيجابايت باستخدام torch==2.3.1 و ultralytics==8.3.82. لإعادة إنتاج هذا الاختبار:

مثال على ذلك

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 YOLOv8n-seg
model = YOLO("yolov8n-seg.pt")
model.info()
model(ASSETS)

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

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

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

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

مثال على التعليق التلقائي

from ultralytics.data.annotator import auto_annotate

auto_annotate(data="path/to/images", det_model="yolo11x.pt", sam_model="sam2_b.pt")
الجدال النوع الوصف افتراضي
data str المسار إلى مجلد يحتوي على الصور المراد وضع تعليقات توضيحية عليها.
det_model str، اختياري نموذج الكشف YOLO المدرب مسبقًا . افتراضي إلى 'yolo11x.pt'. 'yolo11x.pt'
sam_model str، اختياري نموذج التجزئة SAM 2 المدرب مسبقًا. افتراضي إلى 'sam2_b.pt'. 'sam2_b.pt'
device str، اختياري جهاز لتشغيل النماذج عليه. يُفترض أن يكون افتراضيًا إلى سلسلة فارغة (CPU أو GPU ، إذا كان متاحًا).
conf float، اختياري عتبة الثقة لنموذج الكشف؛ الافتراضي هو 0.25. 0.25
iou float، اختياري عتبة IoU لتصفية المربعات المتداخلة في نتائج الكشف؛ الافتراضي هو 0.45. 0.45
imgsz int، اختياري إدخال بُعد تغيير حجم الصورة؛ الافتراضي هو 640. 640
max_det int، اختياري يحد من عمليات الكشف لكل صورة للتحكم في المخرجات في المشاهد الكثيفة. 300
classes list، اختياري تصفية التوقعات إلى معرّفات الفئات المحددة، وإرجاع الاكتشافات ذات الصلة فقط. None
output_dir str, None، اختياري دليل لحفظ النتائج المشروحة. يتم تعيينه افتراضيًا إلى مجلد "التسميات" في نفس دليل "البيانات". None

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

القيود

على الرغم من نقاط قوته، فإن 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 وكيف يمكن تحسينه على نموذج أي شيء قطاعي الأصلي (SAM)؟

SAM 2، وهو خليفة نموذج Segment Anything Model (SAM) من Meta، هو أداة متطورة مصممة لتجزئة الكائنات الشاملة في كل من الصور ومقاطع الفيديو. وهي تتفوق في التعامل مع البيانات المرئية المعقدة من خلال بنية نموذجية موحدة وقابلة للتوجيه تدعم المعالجة في الوقت الفعلي والتعميم بدون لقطة. 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 شرح قناع: التعليقات التوضيحية التفصيلية للقناع المكاني والزماني، التي يُشار إليها باسم "الأقنعة"، والتي تغطي كائنات وأجزاء كاملة.
  • مقياس مجموعة البيانات: تتميز بمقاطع فيديو أكثر بـ 4.5 أضعاف عدد مقاطع الفيديو و53 ضعف عدد التعليقات التوضيحية مقارنةً بأكبر مجموعات البيانات السابقة، مما يوفر تنوعاً وتعقيداً غير مسبوقين.

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

كيف يتعامل SAM 2 مع حالات الانسداد وظهور الكائنات في تجزئة الفيديو؟

SAM 2 يتضمن آلية ذاكرة متطورة لإدارة التبعيات الزمنية والانسدادات في بيانات الفيديو. تتكون آلية الذاكرة من:

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

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

كيف يمكن مقارنة SAM 2 بنماذج التجزئة الأخرى مثل YOLOv8 ؟

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

الطراز الحجم
(ميغابايت)
المعلمات
(م)
السرعة (CPU)
(م/م) (م/م)
ميتا SAM-ب 375 93.7 161440
ميتا SAM2-ب 162 80.8 121923
ميتا SAM2-t 78.1 38.9 85155
MobileSAM 40.7 10.1 98543
FastSAM-s مع YOLOv8 العمود الفقري 23.7 11.8 140
Ultralytics YOLOv8n-سيج 6.7 (11.7 مرة أقل) 3.4 (11.4 مرة أقل) 79.5 (1071 مرة أسرع)

لمزيد من التفاصيل، راجع قسم المقارنة بينSAM 2 و YOLOv8.

📅 تم إنشاؤها قبل 3 أشهر ✏️ تم التحديث منذ 19 يومًا

التعليقات