EfficientDet ضد YOLOv8: مقارنة فنية
يُعد اختيار نموذج الكشف عن الأجسام المناسب قرارًا بالغ الأهمية يوازن بين الدقة والسرعة والتكلفة الحسابية. تقدم هذه الصفحة مقارنة فنية مفصلة بين بنيتين مؤثرتين: EfficientDet، التي طورتها Google، و Ultralytics YOLOv8، وهو نموذج حديث من Ultralytics. في حين أن EfficientDet مشهورة بكفاءة المعلمات والحساب، إلا أن YOLOv8 تتفوق في تقديم مزيج فائق من السرعة في الوقت الفعلي والدقة العالية وتعدد الاستخدامات الذي لا مثيل له داخل نظام بيئي شامل وسهل الاستخدام.
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 بواسطة فريق Google Brain مع التركيز الأساسي على إنشاء عائلة عالية الكفاءة وقابلة للتطوير من كاشفات الكائنات. تكمن ابتكاراتها الأساسية في بنيتها ومنهجية التوسع الخاصة بها.
البنية والميزات الرئيسية
يرتكز تصميم EfficientDet على مكونين رئيسيين:
- BiFPN (شبكة الهرم المميز ثنائية الاتجاه): على عكس شبكات FPN التقليدية من أعلى إلى أسفل، تتيح BiFPN دمج الميزات متعددة المقاييس بسهولة وسرعة عن طريق تقديم أوزان قابلة للتعلم لفهم أهمية ميزات الإدخال المختلفة وتطبيق اتصالات من أعلى إلى أسفل ومن أسفل إلى أعلى.
- التحجيم المركب: تستخدم EfficientDet معاملًا مركبًا واحدًا لتوسيع نطاق العمق والعرض والدقة للعمود الفقري وشبكة الميزات وشبكات التنبؤ بالمربع/الفئة بشكل موحد. وهذا يضمن تخصيصًا متوازنًا للموارد عبر النموذج بأكمله.
يستخدم التصميم المعماري EfficientNet كـ backbone الخاص به، والذي تم تحسينه بالفعل لتحقيق الدقة وكفاءة FLOP. تؤدي هذه المجموعة إلى عائلة من النماذج (D0 إلى D7) التي يمكن تصميمها لتناسب الميزانيات الحسابية المختلفة.
نقاط القوة
- كفاءة عالية: تم تصميم نماذج EfficientDet لتقليل عدد المعلمات وعمليات الفاصلة العائمة في الثانية (FLOPs)، مما يجعلها عالية الكفاءة من حيث الموارد الحسابية لمستوى دقة معين.
- قابلية التوسع: توفر طريقة التحجيم المركب مسارًا واضحًا لتوسيع النموذج أو تقليصه، مما يسمح للمطورين باختيار متغير يناسب قيود الأجهزة المحددة الخاصة بهم.
- دقة قوية: تحقق mAP تنافسية، خاصة عند تقييمها مقابل النماذج ذات عدد المعلمات المماثل.
نقاط الضعف
- سرعة الاستدلال: على الرغم من كفاءة FLOP، غالبًا ما يكون لدى EfficientDet زمن انتقال استدلال أعلى مقارنة بنماذج مثل YOLOv8، خاصة على أجهزة وحدة معالجة الرسوميات GPU. هذا يمكن أن يجعلها أقل ملاءمة للتطبيقات التي تتطلب استدلالًا في الوقت الفعلي حقيقيًا.
- تعددية المهام محدودة: تم تصميم EfficientDet بشكل أساسي لـ اكتشاف الكائنات. ويفتقر إلى الدعم المدمج لمهام الرؤية الأخرى مثل التجزئة أو تقدير الوضع الأصلي في إطار عمل YOLOv8.
- النظام البيئي وسهولة الاستخدام: التطبيق الأصلي مكتوب بلغة TensorFlow، وعلى الرغم من وجود منافذ PyTorch، إلا أنه لا يتمتع بنفس المستوى من الأدوات المتكاملة والوثائق ودعم المجتمع النشط مثل نظام Ultralytics البيئي.
تعرف على المزيد حول EfficientDet
Ultralytics YOLOv8: أحدث ما توصلت إليه التكنولوجيا في السرعة والتنوع
المؤلفون: جلين جوتشر، أيوش شوراسيا، و جينغ تشيو
المنظمة: Ultralytics
التاريخ: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
المستندات: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8 هو أحدث تكرار في سلسلة YOLO الناجحة للغاية، ويعتمد على سنوات من البحث والتطوير لتقديم نموذج سريع ودقيق وسهل الاستخدام بشكل لا يصدق. إنه يمثل قفزة كبيرة إلى الأمام في كل من الأداء وتصميم إطار العمل.
البنية والميزات الرئيسية
يقدم YOLOv8 العديد من التحسينات المعمارية، بما في ذلك رأس كشف anchor-free جديد وعمود فقري جديد يعتمد على CSP يُعرف باسم C2f. تقلل هذه التغييرات من عدد المعلمات مع الحفاظ على دقة عالية وتمكين استدلال أسرع. تم تصميم النموذج من الألف إلى الياء ليكون نظامًا أساسيًا شاملاً لمهام رؤية الكمبيوتر المختلفة.
نقاط القوة
- توازن أداء استثنائي: يحقق YOLOv8 حلاً وسطًا رائعًا بين السرعة والدقة، مما يجعله خيارًا ممتازًا للتطبيقات في الوقت الفعلي التي لا يمكنها التنازل عن الأداء. كما هو موضح في الجدول أدناه، تقدم نماذج YOLOv8 باستمرار زمن انتقال أقل على وحدات معالجة الرسوميات (GPUs).
- تنوع لا مثيل له: على عكس نماذج المهام الفردية، فإن YOLOv8 هو إطار عمل متعدد المهام يدعم أصلاً اكتشاف الكائنات، و تجزئة المثيلات، و تصنيف الصور، و تقدير الوضعية، و تتبع الكائنات ضمن بنية موحدة واحدة.
- سهولة الاستخدام: يتم دعم YOLOv8 بواسطة نظام Ultralytics البيئي القوي، والذي يتضمن واجهة برمجة تطبيقات Python و CLI مبسطة و وثائق شاملة وتجربة مستخدم مباشرة.
- نظام بيئي مُدار بشكل جيد: يستفيد المستخدمون من التطوير النشط ومجتمع قوي مفتوح المصدر وتحديثات متكررة وتكامل سلس مع أدوات مثل Ultralytics HUB للتدريب والنشر بدون تعليمات برمجية.
- كفاءة التدريب: يتميز YOLOv8 بعمليات تدريب فعالة، وأوزان مُدرَّبة مسبقًا متاحة بسهولة على مجموعات البيانات مثل COCO، ويتطلب عادةً ذاكرة CUDA أقل من البنى الأكثر تعقيدًا.
- مرونة النشر: تم تحسين الإطار بدرجة كبيرة للتصدير إلى تنسيقات مختلفة مثل ONNX و TensorRT، مما يبسط النشر على الأجهزة المتنوعة من أجهزة الحافة إلى الخوادم السحابية.
نقاط الضعف
- العمليات الحسابية مقابل زمن الوصول: على الرغم من سرعته الفائقة في الممارسة العملية، قد يكون لدى YOLOv8 عمليات حسابية أعلى من نموذج EfficientDet عند مستوى mAP مماثل. ومع ذلك، فإن بنيته مُحسَّنة بشكل أفضل لأجهزة GPU الحديثة، ممّا يؤدي إلى زمن وصول أقل في العالم الحقيقي.
تحليل الأداء: الدقة مقابل السرعة
يتضح الفرق الرئيسي بين EfficientDet و YOLOv8 عند تحليل مقاييس الأداء الخاصة بهما. تم تصميم EfficientDet لتحسين الدقة لكل FLOP، بينما تم تحسين YOLOv8 لتحقيق إنتاجية عالية وزمن انتقال منخفض على الأجهزة العملية.
النموذج | الحجم (بالبكسل) |
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 |
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
من الجدول، يمكننا استخلاص عدة استنتاجات:
- الدقة: يحقق YOLOv8x أعلى mAP يبلغ 53.9، متفوقًا بشكل طفيف على أكبر نموذج EfficientDet-d7.
- السرعة: نماذج YOLOv8 أسرع بشكل ملحوظ على وحدة معالجة الرسوميات GPU (T4 TensorRT10)، حيث أن YOLOv8n أسرع بأكثر من 2.5 مرة من EfficientDet-d0. هذه الميزة في السرعة موجودة في جميع أحجام النماذج، مما يجعل YOLOv8 الفائز الواضح للتطبيقات في الوقت الفعلي.
- الكفاءة: تتفوق EfficientDet في العمليات الحسابية وسرعة وحدة المعالجة المركزية (CPU) لنماذجها الأصغر. على سبيل المثال، EfficientDet-d0 لديها أقل عدد من العمليات الحسابية وأسرع وقت استدلال لوحدة المعالجة المركزية. ومع ذلك، فإن YOLOv8n لديها عدد أقل من المعلمات، مما يجعلها خفيفة الوزن للغاية.
الخلاصة: أي نموذج يجب أن تختاره؟
تظل EfficientDet بنية قوية وذات صلة، خاصةً للتطبيقات التي تكون فيها الموارد الحسابية (FLOPs) وحجم النموذج هي القيود الأكثر أهمية. يوفر تصميمها القابل للتطوير طريقة رائعة لتحقيق التوازن بين الدقة والكفاءة على الأجهزة ذات القدرة الحسابية المحدودة.
ومع ذلك، بالنسبة للغالبية العظمى من تطبيقات رؤية الكمبيوتر الحديثة، Ultralytics YOLOv8 هو الخيار الأفضل. فهو يوفر حزمة شاملة أفضل: دقة متطورة وسرعات استدلال فائقة وتعدد استخدامات لا مثيل له. إن القدرة على التعامل مع الكشف والتجزئة والوضع والمزيد داخل إطار عمل واحد سهل الاستخدام يبسط بشكل كبير التطوير والنشر. يوفر النظام البيئي الذي تتم صيانته جيدًا والوثائق الشاملة والمجتمع النشط مستوى من الدعم يسرع أي مشروع من المفهوم إلى الإنتاج.
بالنسبة للمطورين الذين يبحثون عن حل قوي وعالي الأداء ومستقبلي، فإن YOLOv8 هو التوصية الواضحة. بالنسبة لأولئك الذين يبحثون عن أحدث ما توصلت إليه التكنولوجيا في الأداء، فإن نماذج Ultralytics الأحدث مثل YOLO11 تدفع الحدود إلى أبعد من ذلك.
استكشف نماذج أخرى
لمتابعة بحثك، ضع في اعتبارك استكشاف مقارنات النماذج الأخرى التي تتضمن EfficientDet و YOLOv8 وغيرها من البنى الرائدة:
- EfficientDet ضد YOLOv7
- YOLOv8 ضد YOLOv7
- RT-DETR مقابل YOLOv8
- EfficientDet ضد YOLOv5
- YOLOv8 ضد YOLOv9
- استكشف أحدث النماذج مثل YOLOv10 و YOLO11.