YOLOv5 ضد EfficientDet: مقارنة تقنية تفصيلية
في المشهد المتطور للرؤية الحاسوبية، يعد اختيار البنية الصحيحة لاكتشاف الأجسام أمرًا محوريًا لنجاح المشروع. تستكشف هذه المقارنة نموذجين مؤثرين للغاية: Ultralytics YOLOv5والمعروف بتوازنه بين السرعة وسهولة الاستخدام، ونموذج EfficientDet منGoogle الذي يشتهر بقابليته للتوسع وكفاءة المعلمات. من خلال فحص بنيتيهما ومقاييس أدائهما وقدرات النشر، يمكن للمطورين اتخاذ قرارات مستنيرة تناسب احتياجات تطبيقاتهم الخاصة.
تحليل الأداء: السرعة مقابل الكفاءة
يكمن الفرق الأساسي بين هاتين البنيتين في فلسفة تصميمهما فيما يتعلق بالموارد الحاسوبية مقابل زمن الوصول إلى الاستدلال. حيث تعمل EfficientDet على تحسين عمليات الفاصلة العائمة (FLOP) النظرية، مما يجعلها جذابة للقياس الأكاديمي. وعلى العكس من ذلك، يعطي YOLOv5 الأولوية لوقت الاستجابة المنخفض على الأجهزة العملية، وخاصةً وحدات معالجة الرسومات، مما يوفر سرعات استدلال في الوقت الفعلي ضرورية لبيئات الإنتاج.
يوضح الجدول أدناه هذه المفاضلة على مجموعة بياناتCOCO val2017. في حين أن نماذج EfficientDet تحقق نسبة عالية من mAP مع عدد أقل من المعلمات، يُظهر YOLOv5 أوقات استدلال أسرع بشكل كبير على وحدات معالجة الرسومات NVIDIA T4 باستخدام TensorRT.
| النموذج | الحجم (بالبكسل) | mAPفال 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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-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 زمن انتقال مذهل يبلغ 1.12 مللي ثانية على GPU متفوقًا بشكل كبير على أصغر متغير EfficientDet. بالنسبة للتطبيقات التي تكون فيها أجزاء من الثانية مهمة، مثل المركبات ذاتية القيادة أو خطوط التصنيع عالية السرعة، فإن ميزة السرعة هذه أمر بالغ الأهمية.
الاختلافات المعمارية
يساعد فهم التصميم الهيكلي لكل نموذج على توضيح خصائص أدائه.
Ultralytics YOLOv5
يستخدم YOLOv5 عمودًا فقريًا لشبكة CSPDarknet مقترنًا برقبة PANet. تم تصميم هذه البنية لزيادة كفاءة تدفق التدرج واستخراج الميزة إلى أقصى حد.
- العمود الفقري: يستخدم اتصالات جزئية متقاطعة المراحل (CSP) لتقليل معلومات التدرج الزائدة عن الحاجة، مما يحسن القدرة على التعلم مع تقليل المعلمات.
- الرقبة: يتميز بشبكة تجميع المسار (PANet) لدمج الميزات متعددة النطاقات بشكل موثوق به، مما يعزز اكتشاف الأجسام بأحجام مختلفة.
- الرأس: يتنبأ رأس الكشف القياسي المستند إلى مرساة YOLO بالفئات والمربعات المحدودة مباشرةً.
EfficientDet
تم بناء EfficientDet على العمود الفقري لشبكة EfficientNet ويقدم شبكة هرم الميزات ثنائية الاتجاه الموزونة (BiFPPN).
- العمود الفقري: يستخدم EfficientNet، الذي يقيس العمق والعرض والدقة بشكل موحد باستخدام معامل مركب.
- الرقبة (BiFPPN): طبقة تكامل الميزات المعقدة التي تسمح بتدفق المعلومات من أعلى إلى أسفل ومن أسفل إلى أعلى، مع تطبيق أوزان على ميزات المدخلات المختلفة للتأكيد على أهميتها.
- التحجيم المركب: ابتكار رئيسي حيث يتم توسيع نطاق شبكات التنبؤ الأساسية وشبكة التنبؤات الثنائية الفينيل المتعددة الأغراض وشبكات التنبؤ الصندوقية/الفئوية معاً.
تعرف على المزيد حول EfficientDet
ميزة Ultralytics : النظام البيئي وسهولة الاستخدام
على الرغم من أهمية المقاييس الأولية، إلا أن تجربة المطور غالبًا ما تحدد نجاح المشروع. تتفوق Ultralytics YOLOv5 في توفير بيئة مصقولة تركز على المستخدم وتقلل بشكل كبير من وقت التطوير.
سهولة الاستخدام والتكامل
يشتهر YOLOv5 بإمكانية استخدامه "الجاهز". يمكن تثبيت النموذج عبر أمر بسيط واستخدامه بأقل قدر من التعليمات البرمجية. في المقابل، غالبًا ما تتطلب تطبيقات EfficientDet إعدادًا أكثر تعقيدًا داخل نظام TensorFlow البيئي أو مستودعات بحثية محددة.
انسيابية سير العمل
باستخدام Ultralytics يمكنك الانتقال من مجموعة البيانات إلى نموذج مُدرَّب في دقائق. ويسمح التكامل مع أدوات مثل Ultralytics HUB بإدارة النماذج وتصورها ونشرها بسلاسة دون الحاجة إلى كود برمجي مكثف.
كفاءة التدريب والذاكرة
تم تحسين نماذج Ultralytics لتحقيق كفاءة التدريب. وهي عادةً ما تتقارب بشكل أسرع وتتطلب ذاكرة CUDA أقل مقارنةً بالبنى المعقدة مثل مستويات القياس الأعلى من EfficientDet أو النماذج القائمة على المحولات. يسمح هذا الحاجز المنخفض للدخول للمطورين بتدريب أحدث النماذج على أجهزة من فئة المستهلكين أو مثيلات السحابة القياسية مثل Google Colab.
تعدد الاستخدامات والمهام المتعددة
على عكس تطبيق EfficientDet القياسي، الذي هو في المقام الأول كاشف للكائنات، يدعم إطار عمل Ultralytics مجموعة واسعة من المهام. يمكن للمطوّرين الاستفادة من نفس واجهة برمجة التطبيقات (API) لتجزئة الصور وتصنيفها على سبيل المثال، مما يوفر حلاً موحدًا لتحديات الرؤية الحاسوبية المتنوعة.
حالات الاستخدام المثالية
يعتمد الاختيار بين YOLOv5 و EfficientDet إلى حد كبير على قيود النشر والأهداف.
متى تختار Ultralytics YOLOv5
- تطبيقات الوقت الحقيقي: المشاريع التي تتطلب وقت استجابة منخفض، مثل المراقبة بالفيديو أو الروبوتات أو التحليلات الرياضية المباشرة.
- نشر الحافة: التشغيل على أجهزة مثل NVIDIA Jetson أو Raspberry Pi حيث يكون الاستخدام الفعال GPU هو المفتاح.
- النماذج الأولية السريعة: عند إعطاء الأولوية لدورات التكرار السريعة وسهولة الاستخدام لإظهار القيمة بسرعة.
- أنظمة الإنتاج: لعمليات نشر قوية وقابلة للصيانة مدعومة بمجتمع ضخم مفتوح المصدر.
متى تختار EfficientDet
- البحث والمقارنة المعيارية: الدراسات الأكاديمية التي تركز على كفاءة FLOPs أو قوانين التحجيم المعمارية.
- المعالجة دون اتصال بالإنترنت: السيناريوهات التي يكون فيها وقت الاستجابة العالي مقبولاً، والهدف هو الضغط على النقاط المئوية الأخيرة من الدقة على الصور الثابتة.
- استدلال CPU منخفضة الطاقة: في بيئات محددة للغاية خاصة بوحدة المعالجة CPU حيث يتم تحسين عمليات BiFPPN بشكل كبير لمجموعة تعليمات الأجهزة المحددة.
أصول النموذج وتفاصيله
يوفر فهم سياق هذه النماذج نظرة ثاقبة لأهداف تصميمها.
Ultralytics YOLOv5
- المؤلف: جلين جوتشر
- المنظمةUltralytics
- التاريخ: 2020-06-26
- جيثب:yolov5
- المستندات:وثائقYOLOv5
EfficientDet
- المؤلفون: مينغشينغ تان، رومينغ بانغ، كوك ف. لي
- المنظمة: أبحاث Google
- التاريخ: 2019-11-20
- اركسيف:EfficientDet: كشف الكائنات القابل للتطوير والفعال
- جيثب:google
مثال على الكود: البدء باستخدام YOLOv5
يجعل Ultralytics الاستدلال بسيطًا للغاية. فيما يلي مثال صالح وقابل للتشغيل باستخدام واجهة برمجة تطبيقات Python detect الكائنات في صورة.
import torch
# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image URL
img_url = "https://ultralytics.com/images/zidane.jpg"
# Perform inference
results = model(img_url)
# Display results
results.show()
# Print detection data (coordinates, confidence, class)
print(results.pandas().xyxy[0])
يتعامل هذا المقتطف البسيط مع تنزيل النموذج، والمعالجة المسبقة للصورة، وتشغيل التمرير الأمامي، وفك تشفير الإخراج - وهي مهام تتطلب المزيد من التعليمات البرمجية مع تطبيقات EfficientDet الخام.
الخلاصة
بينما ساهمت EfficientDet بشكل كبير في البحث عن تحجيم النموذج وكفاءة المعلمات, Ultralytics YOLOv5 يظل الخيار الأفضل للنشر العملي في العالم الحقيقي. حيث يضمن توازنه الاستثنائي بين السرعة والدقة، بالإضافة إلى نظام بيئي مزدهر وجيد الصيانة، قدرة المطورين على بناء الحلول وتدريبها ونشرها بفعالية.
بالنسبة لأولئك الذين يتطلعون إلى الاستفادة من أحدث ما توصلت إليه تكنولوجيا الرؤية الحاسوبية على الإطلاق، واصلت Ultralytics الابتكار إلى ما هو أبعد من YOLOv5. نماذج مثل YOLOv8 والنماذج المتطورة مثل YOLO11 المتطورة مزيدًا من التحسينات في الهندسة المعمارية، ودعم المزيد من المهام مثل تقدير الوضعية واكتشاف الأجسام الموجهة، كل ذلك مع الحفاظ على سهولة الاستخدام المميزة التي تميز تجربة Ultralytics .
استكشف نماذج أخرى
إذا كنت مهتمًا باستكشاف المزيد من المقارنات للعثور على الطراز المثالي لاحتياجاتك، ففكر في هذه الموارد:
- YOLOv5 مقابل YOLO11 - قارن بين الكلاسيكية وأحدث ما توصلت إليه التكنولوجيا الحديثة.
- EfficientDet مقابل YOLOv8 - انظر كيف يتنافس EfficientDet مع YOLOv8.
- YOLOv8 مقابل YOLO11 - فهم التطورات في الجيل الأحدث.
- YOLO11 مقابل RT-DETR - مقارنة المحولات في الوقت الحقيقي مع YOLO.