EfficientDet مقابل YOLOv5: مقارنة فنية تفصيلية
يُعد اختيار نموذج الكشف عن الأجسام المناسب قرارًا بالغ الأهمية يوازن بين الحاجة إلى الدقة والسرعة والموارد الحسابية. تقدم هذه الصفحة مقارنة فنية شاملة بين EfficientDet، وهي عائلة من النماذج من Google معروفة بقابليتها للتوسع ودقتها، و Ultralytics YOLOv5، وهو نموذج معتمد على نطاق واسع ويشتهر بسرعته الاستثنائية وسهولة استخدامه. سوف نتعمق في الاختلافات المعمارية ومعايير الأداء وحالات الاستخدام المثالية لمساعدتك في اختيار أفضل نموذج لمشروع الرؤية الحاسوبية الخاص بك.
EfficientDet: بنية قابلة للتطوير وفعالة
تم تقديم EfficientDet بواسطة فريق Google Brain كعائلة جديدة من كاشفات الكائنات القابلة للتطوير والفعالة. يكمن ابتكاره الأساسي في بنية مصممة بعناية تعمل على تحسين كل من الدقة والكفاءة من خلال التوسع المركب.
تفاصيل تقنية
- المؤلفون: مينغشينغ تان، رومينغ بانغ، وكوك ف. لي
- المنظمة: 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 عالية الكفاءة كعمود فقري لها لاستخراج الميزات، وهي مُحسَّنة بالفعل لتحقيق نسبة رائعة بين الدقة والحساب.
- BiFPN (شبكة الهرم المميز ثنائية الاتجاه): لدمج الميزات، يقدم EfficientDet شبكة BiFPN، التي تتيح دمج الميزات متعددة المقاييس ببساطة وسرعة. على عكس شبكات FPN التقليدية، تحتوي BiFPN على اتصالات ثنائية الاتجاه وتستخدم دمج الميزات المرجحة لتعلم أهمية ميزات الإدخال المختلفة.
- التحجيم المركب: طريقة تحجيم جديدة تعمل على توسيع نطاق العمق والعرض والدقة بشكل موحد للعمود الفقري وشبكة الميزات وشبكات التنبؤ بالمربع/الفئة. يتيح ذلك إنشاء عائلة من النماذج (من D0 إلى D7) التي تلبي قيود الموارد المختلفة مع الحفاظ على تناسق معماري.
نقاط القوة والضعف
نقاط القوة:
- دقة عالية: يمكن لنماذج EfficientDet الأكبر (مثل D5-D7) تحقيق أحدث درجات mAP، وغالبًا ما تتفوق على النماذج الأخرى في معايير الدقة الخالصة.
- كفاءة المعلمات: بالنسبة لمستوى معين من الدقة، غالبًا ما تكون نماذج EfficientDet أكثر كفاءة في المعلمات وعمليات النقطة العائمة في الثانية (FLOPs) من البنى القديمة مثل Mask R-CNN.
- قابلية التوسع: توفر طريقة التحجيم المركب مسارًا واضحًا لتوسيع النموذج أو تقليصه بناءً على الأجهزة المستهدفة ومتطلبات الأداء.
نقاط الضعف:
- سرعة الاستدلال: على الرغم من كفاءة EfficientDet لدقتها، إلا أنها أبطأ بشكل عام من الكاشفات أحادية المرحلة مثل YOLOv5، خاصة على وحدة معالجة الرسوميات GPU. هذا يمكن أن يجعلها أقل ملاءمة لتطبيقات الاستدلال في الوقت الفعلي.
- التعقيد: يقدم BiFPN والتحجيم المركب مستوى أعلى من التعقيد المعماري مقارنةً بالتصميم الأكثر مباشرة لـ YOLOv5.
حالات الاستخدام المثالية
EfficientDet هو خيار ممتاز للتطبيقات التي يكون فيها تحقيق أعلى دقة ممكنة هو الهدف الأساسي، ويكون زمن الوصول مصدر قلق ثانوي:
- تحليل الصور الطبية: الكشف عن التشوهات الطفيفة في الفحوصات الطبية حيث الدقة أمر بالغ الأهمية.
- صور الأقمار الصناعية: تحليل عالي الدقة لتطبيقات مثل الزراعة أو المراقبة البيئية.
- معالجة الدُفعات دون اتصال: تحليل مجموعات بيانات كبيرة من الصور أو مقاطع الفيديو حيث لا تحتاج المعالجة إلى أن تتم في الوقت الفعلي.
تعرف على المزيد حول EfficientDet
Ultralytics YOLOv5: النموذج متعدد الاستخدامات وواسع الانتشار
أصبح Ultralytics YOLOv5 معيارًا صناعيًا، ويشتهر بتوازنه المذهل بين السرعة والدقة وسهولة الاستخدام التي لا مثيل لها. تم تطويره في PyTorch، وقد كان نموذجًا مفضلًا للمطورين والباحثين الذين يبحثون عن حل عملي وعالي الأداء.
تفاصيل تقنية
- المؤلف: جلين جوتشر
- المنظمة: Ultralytics
- التاريخ: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- المستندات: https://docs.ultralytics.com/models/yolov5/
نقاط القوة والضعف
نقاط القوة:
- سرعة استثنائية: YOLOv5 سريع للغاية، مما يتيح اكتشاف الكائنات في الوقت الفعلي وهو أمر بالغ الأهمية لتطبيقات مثل أنظمة إنذار الأمان.
- سهولة الاستخدام: يوفر سير عمل بسيطًا للتدريب والنشر، مدعومًا بـ وثائق Ultralytics ممتازة وتجربة مستخدم مبسطة عبر واجهات Python و CLI بسيطة.
- نظام بيئي مُدار بشكل جيد: يستفيد YOLOv5 من التطوير النشط، والمجتمع الكبير، والتحديثات المتكررة، والموارد الواسعة مثل الدروس التعليمية والتكاملات مع أدوات مثل Ultralytics HUB للتدريب بدون تعليمات برمجية.
- موازنة الأداء: يحقق النموذج توازنًا قويًا بين سرعة الاستدلال ودقة الكشف، مما يجعله مناسبًا لمجموعة واسعة من السيناريوهات الواقعية.
- كفاءة التدريب: يتميز YOLOv5 بعملية تدريب فعالة مع أوزان مُدرَّبة مسبقًا متاحة بسهولة ويتطلب عمومًا ذاكرة أقل للتدريب والاستدلال مقارنة بالبنى الأكثر تعقيدًا.
- تعدد الاستخدامات: بالإضافة إلى اكتشاف الأجسام، يدعم YOLOv5 أيضًا مهام تجزئة المثيلات و تصنيف الصور.
نقاط الضعف:
- الدقة: على الرغم من دقتها العالية جدًا، قد لا تحقق YOLOv5 دائمًا أعلى mAP مطلق مقارنة بأكبر نماذج EfficientDet، خاصةً لاكتشاف الأشياء الصغيرة جدًا.
- اكتشاف قائم على المرساة: يعتمد على مربعات مرساة محددة مسبقًا، والتي قد تتطلب ضبطًا لتحقيق الأداء الأمثل على مجموعات البيانات ذات نسب العرض إلى الارتفاع غير العادية للكائنات.
حالات الاستخدام المثالية
يعد YOLOv5 هو الخيار المفضل للتطبيقات التي تكون فيها السرعة والكفاءة وسهولة النشر ذات أهمية قصوى:
- المراقبة بالفيديو في الوقت الفعلي: الكشف السريع عن الكائنات في تدفقات الفيديو المباشرة.
- الأنظمة الذاتية: إدراك منخفض الكمون لـ الروبوتات و المركبات ذاتية القيادة.
- الحوسبة الطرفية: النشر على الأجهزة ذات الموارد المحدودة مثل Raspberry Pi و NVIDIA Jetson نظرًا لكفاءة النموذج.
- تطبيقات الأجهزة المحمولة: أوقات الاستدلال السريع وأحجام النماذج الأصغر تناسب المنصات المحمولة.
تحليل الأداء: الدقة مقابل السرعة
تكمن المفاضلة الأساسية بين EfficientDet و YOLOv5 في الدقة مقابل السرعة. يوضح الجدول أدناه أنه في حين أن نماذج EfficientDet الأكبر يمكن أن تحقق درجات mAP أعلى، إلا أنها تفعل ذلك بزمن انتقال أعلى بشكل ملحوظ. في المقابل، توفر نماذج YOLOv5 سرعات استدلال أسرع بكثير، خاصة على وحدة معالجة الرسوميات GPU (T4 TensorRT)، مما يجعلها مثالية للتطبيقات في الوقت الفعلي. على سبيل المثال، تحقق YOLOv5l نسبة mAP تنافسية تبلغ 49.0 مع زمن انتقال يبلغ 6.61 مللي ثانية فقط، في حين أن EfficientDet-d4 ذات الدقة المماثلة أبطأ بأكثر من 5 مرات عند 33.55 مللي ثانية.
النموذج | الحجم (بالبكسل) |
mAPval 50-95 |
السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) |
السرعة T4 TensorRT10 (بالمللي ثانية) |
المعلمات (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
الخلاصة: أي نموذج يجب أن تختاره؟
يعتبر كل من EfficientDet و Ultralytics YOLOv5 من نماذج الكشف عن الأجسام القوية، لكنهما يلبيان أولويات مختلفة. تتفوق EfficientDet عندما تكون الدقة القصوى هي الهدف الأساسي، ربما على حساب سرعة الاستدلال.
ومع ذلك، يبرز Ultralytics YOLOv5 لتوازنه الاستثنائي بين السرعة والدقة، مما يجعله مثاليًا للغالبية العظمى من التطبيقات الواقعية. إن سهولة استخدامه، و النظام البيئي الشامل والذي تتم صيانته جيدًا (بما في ذلك Ultralytics HUB)، والتدريب الفعال، وقابلية التوسع تجعله خيارًا عمليًا للغاية وسهل الاستخدام للمطورين. بالنسبة للمشاريع التي تتطلب نشرًا سريعًا وأداءً في الوقت الفعلي ودعمًا مجتمعيًا قويًا، غالبًا ما يكون YOLOv5 هو الخيار الأفضل.
قد يفكر المستخدمون المهتمون باستكشاف نماذج أحدث مع مزيد من التطورات أيضًا في Ultralytics YOLOv8 أو أحدث YOLO11، اللذين يعتمدان على نقاط قوة YOLOv5 مع دقة محسنة وميزات جديدة. لمزيد من المقارنات، قم بزيارة صفحة مقارنة نماذج Ultralytics.