DAMO-YOLO مقابل EfficientDet: مقارنة فنية
يُعد اختيار نموذج الكشف عن الأجسام المناسب قرارًا بالغ الأهمية يوازن بين الدقة والسرعة والتكلفة الحسابية. تقدم هذه الصفحة مقارنة فنية متعمقة بين DAMO-YOLO، وهو كاشف عالي الأداء من مجموعة Alibaba، و EfficientDet، وهي عائلة من النماذج عالية الكفاءة من Google. في حين أن كلاهما قوي، إلا أنهما ينبعان من فلسفات تصميم مختلفة: تعطي DAMO-YOLO الأولوية للسرعة والدقة المتطورة من خلال مكونات معمارية جديدة، بينما تركز EfficientDet على الكفاءة الفائقة للمعلمات و FLOP عبر التحجيم المركب.
سنقوم بتحليل بنياتها ومعايير الأداء وحالات الاستخدام المثالية لمساعدتك في تحديد الأنسب لمشروعك. وسنستكشف أيضًا كيف تقدم البدائل الحديثة مثل نماذج Ultralytics YOLO مزيجًا مقنعًا من هذه السمات داخل نظام بيئي سهل الاستخدام ومتعدد الاستخدامات.
DAMO-YOLO
DAMO-YOLO هو نموذج متطور للكشف عن الأجسام في الوقت الفعلي، تم تطويره بواسطة باحثين في مجموعة علي بابا (Alibaba Group). يقدم هذا النموذج العديد من التقنيات الجديدة لتوسيع حدود أداء وكفاءة كاشفات الأجسام. يعتمد النموذج على البحث عن البنية العصبية (NAS) لاكتشاف الهياكل الأساسية المثالية ويتضمن شبكة هرمية للميزات فعالة ورأس كشف خفيف الوزن لتحقيق نتائج مبهرة.
تفاصيل تقنية
- المؤلفون: شيانزه شو، يي تشي جيانغ، وي هوا تشن، ييلون هوانغ، يوان تشانغ، وشيو يو صن
- المنظمة: مجموعة علي بابا
- التاريخ: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
- المستندات: https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
البنية والميزات الرئيسية
تم بناء هيكل DAMO-YOLO على العديد من الابتكارات الرئيسية:
- العمود الفقري المدعوم بالبحث في الهندسة العصبية (NAS): بدلاً من استخدام عمود فقري مصمم يدويًا، يستخدم DAMO-YOLO البحث في الهندسة العصبية (NAS) للعثور على هيكل أكثر كفاءة، مما يؤدي إلى عمود فقري مخصص "MazeNet" مُحسَّن لاستخلاص الميزات.
- عنق RepGFPN الفعال: يستخدم إصدارًا فعالاً من شبكة هرم الميزات المعممة (GFPN) مع تقنيات إعادة التهيئة. يتيح ذلك دمجًا قويًا للميزات متعددة المقاييس مع الحد الأدنى من النفقات الحسابية أثناء الاستدلال.
- ZeroHead: يقدم النموذج رأس كاشف بدون مرساة خفيف الوزن يسمى ZeroHead، مما يقلل بشكل كبير من عدد المعلمات والحسابات المطلوبة لتوقعات الكشف النهائية.
- تعيين تسميات AlignedOTA: يستخدم استراتيجية محسّنة لتعيين التسميات تسمى AlignedOTA، ممّا يساعد النموذج على التعلّم بشكل أفضل من خلال مطابقة أكثر فعالية للمربعات الحقيقية مع التنبؤات أثناء التدريب.
نقاط القوة
- سرعة استدلال عالية على وحدة معالجة الرسوميات GPU: DAMO-YOLO سريع بشكل استثنائي على وحدات معالجة الرسوميات GPUs، مما يجعله الخيار الأفضل للتطبيقات التي تتطلب أداءً في الوقت الفعلي.
- دقة قوية: تحقق متوسط دقة عالٍ (mAP)، وتنافس أو تتفوق على العديد من النماذج الأخرى في فئة سرعتها.
- تصميم مبتكر: إن استخدام NAS وعنق/رأس مخصص يدل على اتباع نهج حديث لتصميم الكاشف، مما يدفع حدود الممكن.
نقاط الضعف
- النظام البيئي وسهولة الاستخدام: النموذج أقل اندماجًا في إطار عمل شامل، مما قد يجعل التدريب والنشر والصيانة أكثر صعوبة مقارنة بالحلول التي تتمتع بنظام بيئي قوي.
- أداء وحدة المعالجة المركزية (CPU): تم تحسين النموذج بشكل كبير لأجهزة وحدة معالجة الرسوميات (GPU)، وأدائه على وحدات المعالجة المركزية ليس موثقًا أو ذا أولوية بنفس القدر.
- تخصص المهمة: تم تصميم DAMO-YOLO خصيصًا لاكتشاف الأجسام ويفتقر إلى المرونة الأصلية للتعامل مع مهام الرؤية الأخرى مثل التجزئة أو تقدير الوضع.
حالات الاستخدام المثالية
يُعد DAMO-YOLO هو الأنسب للسيناريوهات التي يكون فيها الكشف عالي السرعة والدقة على أجهزة GPU هو الشرط الأساسي. ويشمل ذلك تطبيقات مثل تحليلات الفيديو في الوقت الفعلي، والروبوتات، وأنظمة المراقبة المتقدمة.
EfficientDet
EfficientDet عبارة عن مجموعة من نماذج الكشف عن الكائنات القابلة للتطوير التي طورها فريق Google Brain. يتمثل ابتكاره الأساسي في الجمع بين عمود فقري فعال وشبكة دمج ميزات جديدة وطريقة قياس مركبة تعمل على توسيع نطاق عمق النموذج وعرضه ودقته بشكل موحد. يسمح هذا النهج لـ EfficientDet بتحقيق كفاءة عالية من حيث عدد المعلمات و FLOPs.
تعرف على المزيد حول EfficientDet
تفاصيل تقنية
- المؤلفون: مينغشينغ تان، رومينغ بانغ، وكوك ف. لي
- المنظمة: Google
- التاريخ: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- المستندات: https://github.com/google/automl/tree/master/efficientdet#readme
البنية والميزات الرئيسية
تتميز بنية EfficientDet بثلاثة مكونات رئيسية:
- EfficientNet Backbone: تستخدم EfficientNet عالية الكفاءة كعمود فقري لها لاستخراج الميزات، والتي صُممت نفسها باستخدام NAS.
- BiFPN (شبكة الهرم المميز ثنائية الاتجاه): يقدم EfficientDet شبكة BiFPN، وهي شبكة ميزات مبتكرة تتيح دمج الميزات متعددة المقاييس بسهولة وسرعة. وهي تتضمن اتصالات مرجحة لتعلم أهمية ميزات الإدخال المختلفة وتطبق الدمج من أعلى إلى أسفل ومن أسفل إلى أعلى عدة مرات.
- التحجيم المركب: إحدى الميزات الرئيسية هي طريقة التحجيم المركب، التي تعمل على توسيع نطاق الشبكة الأساسية وشبكة الميزات ورأس الاكتشاف بطريقة مبدئية. وهذا يضمن أنه كلما كبر النموذج، تتحسن دقته بشكل متوقع دون إهدار الموارد الحسابية.
نقاط القوة
- كفاءة المعلمات وعمليات النقطة العائمة في الثانية (FLOPs): تتميز نماذج EfficientDet بكفاءة استثنائية، حيث تتطلب عددًا أقل من المعلمات وعمليات النقطة العائمة في الثانية (FLOPs) مقارنةً بالعديد من النماذج الأخرى ذات مستويات الدقة المماثلة.
- قابلية التوسع: تتدرج عائلة النماذج من D0 خفيف الوزن إلى D7 كبير الحجم، مما يوفر مجموعة واسعة من الخيارات لتناسب ميزانيات الحوسبة المختلفة، بدءًا من الأجهزة الطرفية ووصولاً إلى الخوادم السحابية.
- أداء قوي لوحدة المعالجة المركزية CPU: نظرًا لكفاءته، يعمل EfficientDet بشكل جيد على وحدات المعالجة المركزية CPUs، مما يجعله خيارًا قابلاً للتطبيق لعمليات النشر بدون أجهزة GPU مخصصة.
نقاط الضعف
- استدلال أبطأ لوحدة معالجة الرسومات (GPU): على الرغم من كفاءته، يمكن أن يكون زمن الانتقال الخام لـ EfficientDet على وحدات معالجة الرسومات (GPU) أعلى من زمن انتقال نماذج مثل DAMO-YOLO، والتي تم تحسينها خصيصًا للسرعة.
- التعقيد في دمج الميزات: يضيف BiFPN، على الرغم من فعاليته، طبقة من التعقيد يمكن أن تساهم في زيادة زمن الوصول مقارنة بمسارات الدمج أحادية الاتجاه الأبسط.
- تعددية المهام محدودة: مثل DAMO-YOLO، فإن EfficientDet هو في الأساس أداة لاكتشاف الكائنات ولا يدعم أصلاً مهام رؤية الكمبيوتر الأخرى داخل إطار عمله الأصلي.
حالات الاستخدام المثالية
EfficientDet هو خيار ممتاز للتطبيقات التي تكون فيها الموارد الحسابية وحجم النموذج من القيود الهامة. إنه يتفوق في سيناريوهات edge AI وتطبيقات الأجهزة المحمولة والخدمات السحابية واسعة النطاق حيث يكون تقليل تكاليف التشغيل أمرًا بالغ الأهمية. إن قابليته للتطوير تجعله مناسبًا للمشاريع التي قد تحتاج إلى نشرها عبر مجموعة متنوعة من منصات الأجهزة.
تحليل الأداء: السرعة مقابل الدقة
يسلط أداء DAMO-YOLO و EfficientDet الضوء على أولويات التصميم المختلفة الخاصة بهما.
النموذج | الحجم (بالبكسل) |
mAPval 50-95 |
السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) |
السرعة T4 TensorRT10 (بالمللي ثانية) |
المعلمات (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
- DAMO-YOLO يتفوق بوضوح في سرعة وحدة معالجة الرسوميات (GPU)، حيث يحقق أصغر نموذج له زمن انتقال يبلغ 2.32 مللي ثانية. كما يوفر خريطة دقة متوسطة (mAP) قوية لسرعته، مما يجعله رائدًا في الأداء لتطبيقات وحدة معالجة الرسوميات (GPU) في الوقت الفعلي.
- EfficientDet تتفوق في كفاءة الموارد. نموذج EfficientDet-D0 لديه أقل عدد من المعلمات (3.9 مليون) وعمليات الفاصلة العائمة في الثانية (FLOPs) (2.54 مليار) بفارق كبير، بالإضافة إلى أفضل سرعة لوحدة المعالجة المركزية CPU. تتوسع العائلة لتحقيق أعلى دقة (53.7 mAP لـ D7)، ولكن هذا يأتي بتكلفة كبيرة لسرعة الاستدلال، خاصة على وحدات معالجة الرسوميات GPUs.
ميزة Ultralytics: بديل فائق
في حين أن DAMO-YOLO و EfficientDet قويان في مجالاتهما الخاصة، غالبًا ما يحتاج المطورون إلى حل يوفر توازنًا فائقًا بين الأداء وسهولة الاستخدام والتنوع. تقدم نماذج Ultralytics مثل YOLOv8 وأحدث YOLO11 بديلاً مقنعًا وغالبًا ما يكون متفوقًا.
تشمل المزايا الرئيسية لاستخدام نماذج Ultralytics ما يلي:
- سهولة الاستخدام: واجهة برمجة تطبيقات Python مبسطة، و توثيق شامل، و استخدام CLI مباشر يجعل البدء والتدريب ونشر النماذج بسيطًا بشكل لا يصدق.
- نظام بيئي مُدار بشكل جيد: توفر Ultralytics نظامًا بيئيًا مطورًا ومدعومًا بنشاط مع مجتمع قوي على GitHub وتحديثات متكررة وتكامل سلس مع Ultralytics HUB لإدارة البيانات و MLOps.
- موازنة الأداء: تم تحسين نماذج Ultralytics بشكل كبير لتحقيق توازن ممتاز بين السرعة والدقة على كل من وحدات المعالجة المركزية CPU ووحدات معالجة الرسوميات GPU، مما يجعلها مناسبة لمجموعة واسعة من سيناريوهات النشر الواقعية.
- كفاءة الذاكرة: تم تصميم نماذج Ultralytics YOLO لتكون فعالة من حيث الذاكرة، وغالبًا ما تتطلب ذاكرة CUDA أقل للتدريب والاستدلال مقارنة بالبنى الأكثر تعقيدًا.
- تنوع الاستخدامات: على عكس النماذج أحادية المهمة، تدعم نماذج Ultralytics YOLO أصلاً مهام رؤية متعددة، بما في ذلك الكشف عن الكائنات، وتجزئة المثيلات، وتصنيف الصور، وتقدير الوضعية، ومربعات الإحاطة الموجهة (OBB)، وكل ذلك ضمن إطار عمل موحد واحد.
- كفاءة التدريب: استفد من أوقات التدريب السريعة، وتحميل البيانات بكفاءة، والأوزان المدربة مسبقًا المتاحة بسهولة على مجموعات البيانات مثل COCO.
الخلاصة
يوفر كل من DAMO-YOLO و EfficientDet إمكانات قوية للكشف عن الكائنات. DAMO-YOLO هو الخيار الأمثل للمستخدمين الذين يحتاجون إلى أقصى سرعة استدلال GPU مع دقة عالية. يوفر EfficientDet عائلة نماذج قابلة للتطوير بدرجة كبيرة مع كفاءة لا مثيل لها في المعلمات و FLOP، مما يجعلها مثالية للبيئات ذات الموارد المحدودة.
ومع ذلك، بالنسبة لمعظم المطورين والباحثين، غالبًا ما يكون الحل الشامل هو الأفضل. تبرز نماذج Ultralytics مثل YOLOv8 و YOLO11 من خلال تقديم مزيج فائق من الأداء العالي وسهولة الاستخدام الاستثنائية ونظام بيئي قوي ومتعدد المهام. إن تصميمها المتوازن وصيانتها النشطة وتعدد استخداماتها تجعلها الخيار الموصى به لمجموعة واسعة من مشاريع رؤية الكمبيوتر، من البحث الأكاديمي إلى التطبيقات التجارية ذات درجة الإنتاج.
استكشف مقارنات النماذج الأخرى
للحصول على مزيد من الأفكار، استكشف كيف تتم مقارنة DAMO-YOLO و EfficientDet بنماذج أخرى حديثة في وثائق Ultralytics:
- YOLOv8 ضد DAMO-YOLO
- YOLO11 ضد DAMO-YOLO
- RT-DETR مقابل DAMO-YOLO
- YOLOv8 ضد EfficientDet
- YOLO11 ضد EfficientDet
- YOLOX ضد EfficientDet