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

MobileSAM شعار

قطاع المحمول أي شيء (MobileSAM)

ال MobileSAM الورق متاح الآن على arXiv.

يمكن الوصول إلى عرض توضيحي لـ MobileSAM يعمل على CPU على هذا الرابط التجريبي. يستغرق الأداء على جهاز Mac i5 CPU حوالي 3 ثوانٍ تقريبًا. في العرض التوضيحي على Hugging Face ، تساهم الواجهة ووحدات المعالجة المركزية منخفضة الأداء في إبطاء الاستجابة، لكنها تستمر في العمل بفعالية.



شاهد: How to Run Inference with MobileSAM using Ultralytics | Step-by-Step Guide 🎉

MobileSAM يتم تنفيذه في مشاريع مختلفة بما في ذلك اسس-SAM، AnyLabeling ، وتقسيم أي شيء في 3D.

MobileSAM تم تدريبه على موقع واحد GPU بمجموعة بيانات 100 ألف (1% من الصور الأصلية) في أقل من يوم واحد. سيتم توفير الكود الخاص بهذا التدريب في المستقبل.

الطرز المتوفرة والمهام المدعومة وأوضاع التشغيل

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

نوع الموديل الأوزان المدربة مسبقا المهام المدعومة استدلال التحقق تدريب تصدير
MobileSAM mobile_sam.pt تجزئة المثيل

التكيف من SAM ل MobileSAM

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

MobileSAM يعمل بشكل مماثل للأصل SAM ويحتفظ بنفس خط الأنابيب باستثناء تغيير في مشفر الصورة. على وجه التحديد، نستبدل مشفر ViT-H الأصلي ثقيل الوزن (632 ميجا) بمشفر Tiny-ViT (5 ميجا) أصغر حجمًا. على جهاز واحد GPU ، MobileSAM يعمل في حوالي 12 مللي ثانية لكل صورة: 8 مللي ثانية على مشفر الصورة و4 مللي ثانية على وحدة فك تشفير القناع.

يوفر الجدول التالي مقارنة بين برامج ترميز الصور المستندة إلى ViT:

برنامج تشفير الصور اللغة الأصلية SAM MobileSAM
البارامترات 611M 5M
سرعة 452 مللي ثانية 8 مللي ثانية

كل من الأصلي SAM و MobileSAM استخدم نفس وحدة فك ترميز القناع الموجهة بسرعة:

وحدة فك ترميز القناع اللغة الأصلية SAM MobileSAM
البارامترات 3.876M 3.876M
سرعة 4 مللي ثانية 4 مللي ثانية

فيما يلي مقارنة بين خط الأنابيب بأكمله:

خط أنابيب كامل (ENC + ديسمبر) اللغة الأصلية SAM MobileSAM
البارامترات 615M 9.66M
سرعة 456 مللي ثانية 12 مللي ثانية

أداء MobileSAM والأصل SAM يتم عرضها باستخدام كل من نقطة ومربع كمطالبات.

صورة مع نقطة كموجه

صورة مع مربع كما يطالب

مع أدائها المتفوق ، MobileSAM أصغر بحوالي 5 مرات وأسرع 7 مرات من التيار FastSAM. مزيد من التفاصيل متوفرة في MobileSAM صفحة المشروع.

اختبار MobileSAM في Ultralytics

تماما مثل الأصل SAM، نحن نقدم طريقة اختبار مباشرة في Ultralytics، بما في ذلك أوضاع كل من مطالبات Point وBox.

نموذج تحميل

يمكنك تنزيل النموذج هنا.

نقطة موجه

مثل

from ultralytics import SAM

# Load the model
model = SAM("mobile_sam.pt")

# Predict a segment based on a point prompt
model.predict("ultralytics/assets/zidane.jpg", points=[900, 370], labels=[1])

موجه الصندوق

مثل

from ultralytics import SAM

# Load the model
model = SAM("mobile_sam.pt")

# Predict a segment based on a box prompt
model.predict("ultralytics/assets/zidane.jpg", bboxes=[439, 437, 524, 709])

لقد قمنا بتنفيذ MobileSAM و SAM باستخدام نفس واجهة برمجة التطبيقات. لمزيد من معلومات الاستخدام، يرجى الاطلاع على SAM صفحة.

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

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

@article{mobile_sam,
  title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications},
  author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon},
  journal={arXiv preprint arXiv:2306.14289},
  year={2023}
}

الأسئلة المتداولة

ما هو MobileSAM وكيف يختلف عن النموذج الأصلي SAM ؟

MobileSAM is a lightweight, fast image segmentation model designed for mobile applications. It retains the same pipeline as the original SAM but replaces the heavyweight ViT-H encoder (632M parameters) with a smaller Tiny-ViT encoder (5M parameters). This change results in MobileSAM being approximately 5 times smaller and 7 times faster than the original SAM. For instance, MobileSAM operates at about 12ms per image, compared to the original SAM's 456ms. You can learn more about the MobileSAM implementation in various projects here.

كيف يمكنني اختبار MobileSAM باستخدام Ultralytics ؟

يمكن إجراء الاختبار MobileSAM في Ultralytics من خلال طرق مباشرة. يمكنك استخدام المطالبات النقطية والمربعة لتوقع المقاطع. إليك مثالاً باستخدام المطالبة النقطية:

from ultralytics import SAM

# Load the model
model = SAM("mobile_sam.pt")

# Predict a segment based on a point prompt
model.predict("ultralytics/assets/zidane.jpg", points=[900, 370], labels=[1])

يمكنك أيضاً الرجوع إلى قسم الاختبار MobileSAM لمزيد من التفاصيل.

لماذا يجب أن أستخدم MobileSAM لتطبيق الهاتف المحمول الخاص بي؟

MobileSAM مثالية لتطبيقات الأجهزة المحمولة نظرًا لبنيتها خفيفة الوزن وسرعة الاستدلال السريعة. ومقارنةً بالنسخة الأصلية SAM ، فإن MobileSAM أصغر بحوالي 5 أضعاف وأسرع بـ 7 أضعاف، مما يجعله مناسبًا للبيئات التي تكون فيها الموارد الحاسوبية محدودة. تضمن هذه الكفاءة أن الأجهزة المحمولة يمكنها إجراء تجزئة للصور في الوقت الفعلي دون تأخير كبير. وبالإضافة إلى ذلك، تم تحسين نماذج MobileSAM ، مثل Inference، لتناسب أداء الأجهزة المحمولة.

كيف تم تدريب MobileSAM ، وهل رمز التدريب متاح؟

MobileSAM تم تدريبه على موقع GPU واحد بمجموعة بيانات 100 ألف، أي 1% من الصور الأصلية، في أقل من يوم واحد. في حين سيتم توفير كود التدريب في المستقبل، يمكنك حاليًا استكشاف جوانب أخرى من MobileSAM في مستودعMobileSAM GitHub. يتضمن هذا المستودع أوزانًا مُدرّبة مسبقًا وتفاصيل التنفيذ لتطبيقات مختلفة.

ما هي حالات الاستخدام الأساسية لـ MobileSAM ؟

MobileSAM مصمم لتجزئة الصور بسرعة وكفاءة في البيئات المتنقلة. تشمل حالات الاستخدام الأساسية ما يلي:

  • Real-time object detection and segmentation for mobile applications.
  • معالجة الصور ذات الكمون المنخفض في الأجهزة ذات الموارد الحاسوبية المحدودة.
  • التكامل في تطبيقات الأجهزة المحمولة التي تعتمد على الذكاء الاصطناعي لمهام مثل الواقع المعزز (AR) والتحليلات في الوقت الفعلي.

لمزيد من حالات الاستخدام التفصيلية ومقارنات الأداء، راجع القسم الخاص بالتكيف من SAM إلى MobileSAM.


📅 Created 11 months ago ✏️ Updated 8 days ago

التعليقات