انتقل إلى المحتوى

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

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

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

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



شاهد: 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 السابق SOTA
تجزئة الفيديو التفاعلي الأفضل -
التفاعلات البشرية المطلوبة أقل ب 3 أضعاف خط الأساس
Image Segmentation Accuracy محسّنة SAM
سرعة الاستدلال أسرع 6 مرات SAM

نموذج العمارة

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

  • Image and Video Encoder: Utilizes a transformer-based architecture to extract high-level features from both images and video frames. This component is responsible for understanding the visual content at each timestep.
  • أداة تشفير الموجه: يعالج المطالبات المقدمة من المستخدم (النقاط، والمربعات، والأقنعة) لتوجيه مهمة التجزئة. يتيح ذلك ل 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 أمثلة على التنبؤ

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

قسم كل شيء

قسم كل شيء

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

from ultralytics import SAM

# Load a model
model = SAM("sam2_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_b.pt source=path/to/video.mp4
  • يوضح هذا المثال كيف يمكن استخدام SAM 2 لتجزئة محتوى الصورة أو الفيديو بالكامل إذا لم يتم توفير أي مطالبات (bboxes / نقاط / علامات).

SAM 2 comparison vs YOLOv8

Here we compare Meta's smallest SAM 2 model, SAM2-t, with Ultralytics smallest segmentation model, YOLOv8n-seg:

نموذج Size
(MB)
Parameters
(M)
Speed (CPU)
(ms/im)
Meta SAM-b 375 93.7 161440
Meta SAM2-b 162 80.8 121923
Meta SAM2-t 78.1 38.9 85155
MobileSAM 40.7 10.1 98543
FastSAM-ق مع YOLOv8 عمود فقري 23.7 11.8 140
Ultralytics YOLOv8n-ثواني 6.7 (11.7x smaller) 3.4 (11.4x less) 79.5 (1071x faster)

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

Tests run on a 2023 Apple M2 Macbook with 16GB of RAM using torch==2.3.1 و ultralytics==8.3.82. To reproduce this test:

مثل

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="yolov8x.pt", sam_model="sam2_b.pt")
جدال نوع وصف افتراضي
data str المسار إلى مجلد يحتوي على صور ليتم التعليق عليها.
det_model str، اختياري تدريب مسبق YOLO نموذج الكشف. الإعدادات الافتراضية ل 'yolov8x.pt'. 'yolov8x.pt'
sam_model str، اختياري نموذج التجزئة SAM 2 المدرب مسبقًا. افتراضي إلى 'sam2_b.pt'. 'sam2_b.pt'
device str، اختياري جهاز لتشغيل النماذج عليه. يُفترض أن يكون افتراضيًا إلى سلسلة فارغة (CPU أو GPU ، إذا كان متاحًا).
output_dir str, None، اختياري دليل لحفظ النتائج المشروحة. الإعدادات الافتراضية لمجلد "التسميات" في الدليل نفسه مثل "البيانات". None

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

القيود

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

  • ثبات التتبع: قد يفقد SAM 2 مسار الأجسام أثناء التسلسلات الممتدة أو التغييرات الكبيرة في وجهة النظر.
  • الخلط بين الأجسام: يمكن أن يخلط النموذج أحيانًا بين الأجسام المتشابهة المظهر، خاصةً في المشاهد المزدحمة.
  • الكفاءة مع كائنات متعددة: تنخفض كفاءة التجزئة عند معالجة كائنات متعددة في وقت واحد بسبب عدم وجود اتصال بين الكائنات.
  • Detail Accuracy: May miss fine details, especially with fast-moving objects. Additional prompts can partially address this issue, but temporal smoothness is not guaranteed.

الاستشهادات والشكر

إذا كان 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.

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

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

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

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

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

SAM 2 and Ultralytics YOLOv8 serve different purposes and excel in different areas. While SAM 2 is designed for comprehensive object segmentation with advanced features like zero-shot generalization and real-time performance, YOLOv8 is optimized for speed and efficiency in object detection and segmentation tasks. Here's a comparison:

نموذج Size
(MB)
Parameters
(M)
Speed (CPU)
(ms/im)
Meta SAM-b 375 93.7 161440
Meta SAM2-b 162 80.8 121923
Meta SAM2-t 78.1 38.9 85155
MobileSAM 40.7 10.1 98543
FastSAM-ق مع YOLOv8 عمود فقري 23.7 11.8 140
Ultralytics YOLOv8n-ثواني 6.7 (11.7x smaller) 3.4 (11.4x less) 79.5 (1071x faster)

For more details, see the SAM 2 comparison vs YOLOv8 section.


📅 Created 2 months ago ✏️ Updated 7 days ago

التعليقات