EfficientDet مقابل YOLOv9: تطور كفاءة الكشف عن الأجسام
في عالم الرؤية الحاسوبية السريع، يُعد اختيار بنية النموذج المناسب أمرًا محوريًا لتحقيق التوازن بين الأداء والسرعة والموارد الحاسوبية. يقدّم هذا الدليل مقارنة تقنية شاملة بين EfficientDet، وهو نموذج تاريخي طوّرته شركة Google Research، و YOLOv9وهو أحدث كاشف مدمج في نظامUltralytics البيئي. سنقوم بتحليل الابتكارات المعمارية ومقاييس الأداء المعيارية وتحديد النموذج الأنسب للتطبيقات الحديثة للكشف عن الأجسام في الوقت الحقيقي.
EfficientDet: الريادة في الكفاءة القابلة للتطوير
قدم EfficientDet، الذي تم إصداره في أواخر عام 2019، نهجًا منهجيًا لتوسيع نطاق النموذج أثر على سنوات من البحث اللاحق. تم تطويره بواسطة الفريق في Google Research، وكان يهدف إلى تحسين الكفاءة دون المساس بالدقة.
تفاصيل فنية:
- المؤلفون: مينغشينغ تان، رومينغ بانغ، كوك ف. لي
- المؤسسة:Google Research
- التاريخ: 2019-11-20
- Arxiv:EfficientDet: كشف الأجسام القابل للتطوير والفعال
- GitHub:google/automl/efficientdet
البنية والميزات الرئيسية
تم تصميم EfficientDet على EfficientNet backbone ويقدم شبكة Bi-directional Feature Pyramid Network (BiFPN). على عكس FPNs التقليدية، يسمح BiFPN بدمج الميزات متعددة المقاييس بسهولة وسرعة من خلال تقديم أوزان قابلة للتعلم لتعلم أهمية ميزات الإدخال المختلفة. يستخدم النموذج طريقة توسيع مركبة تعمل على توسيع الدقة والعمق والعرض بشكل موحد لجميع الشبكات الأساسية وشبكات الميزات وشبكات التنبؤ بالمربع/الفئة في وقت واحد.
نقاط القوة والضعف
كان EfficientDet ثوريًا لقدرته على تحقيق دقة عالية بمعلمات أقل من معاصريه مثل YOLOv3. تكمن قوته الأساسية في قابلية التوسع؛ تتيح عائلة النماذج (D0 إلى D7) للمستخدمين اختيار مقايضة محددة للموارد.
ومع ذلك، وفقًا للمعايير الحديثة، يعاني EfficientDet من سرعات استدلال أبطأ، خاصة على أجهزة GPU. طبقات دمج الميزات المعقدة الخاصة به، على الرغم من دقتها، ليست صديقة للأجهزة مثل البنى الأحدث. علاوة على ذلك، يفتقر التنفيذ الأصلي إلى الأدوات سهلة الاستخدام الموجودة في الأطر الحديثة، مما يجعل التدريب والنشر أكثر كثافة في العمل.
حالات الاستخدام
تظل EfficientDet ذات صلة بما يلي:
- البحث الأكاديمي: فهم مبادئ التحجيم المركب ودمج الميزات.
- الأنظمة القديمة: الحفاظ على خطوط الأنابيب الحالية المبنية داخل نظام TensorFlow البيئي.
- البيئات التي تعتمد على وحدة المعالجة المركزية (CPU) فقط: حيث يمكن أن توفر كفاءة معلماتها أداءً معقولاً للتطبيقات منخفضة الإطارات في الثانية (FPS).
تعرف على المزيد حول EfficientDet
YOLOv9: إعادة تعريف الأداء في الوقت الفعلي
تم تقديمه في أوائل عام 2024، يمثل YOLOv9 قفزة إلى الأمام في سلسلة YOLO، حيث يعالج اختناقات المعلومات في التعلم العميق لتحقيق كفاءة فائقة. وهو مدعوم بالكامل داخل حزمة Ultralytics python، مما يضمن تجربة سلسة للمطورين.
تفاصيل فنية:
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المؤسسة:معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2024-02-21
- Arxiv:YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
- GitHub:WongKinYiu/yolov9
- المستندات:توثيق Ultralytics YOLOv9
البنية والميزات الرئيسية
يقدم YOLOv9 مفهومين رائدين: معلومات التدرج القابلة للبرمجة (PGI) و شبكة تجميع الطبقات الفعالة المعممة (GELAN).
- PGI يعالج فقدان المعلومات الذي يحدث أثناء مرور البيانات عبر الطبقات العميقة من الشبكة العصبية، مما يضمن أن التدرجات المستخدمة لتحديث أوزان النموذج موثوقة.
- GELAN عبارة عن بنية خفيفة الوزن تعطي الأولوية للكفاءة الحسابية. يسمح للنموذج بتحقيق دقة أعلى مع عدد أقل من المعلمات والتكاليف الحسابية (FLOPs) مقارنة بالطرق القائمة على الالتواء العميق.
نقاط القوة والمزايا
- موازنة فائقة بين السرعة والدقة: كما يظهر القياس، يتفوق YOLOv9 بشكل كبير على EfficientDet في زمن انتقال الاستدلال مع الحفاظ على الدقة أو تجاوزها.
- النظام البيئي Ultralytics: يعني التكامل مع Ultralytics الوصول إلى واجهة برمجة تطبيقات python بسيطة و أدوات CLI والتصدير السهل إلى تنسيقات مثل ONNX و TensorRT و CoreML.
- كفاءة التدريب: تتطلب نماذج YOLOv9 عادةً ذاكرة أقل أثناء التدريب وتتقارب بشكل أسرع من البنى القديمة، مستفيدةً من خط أنابيب التدريب المحسّن من Ultralytics.
- Versatility: بالإضافة إلى الـ detect القياسي، يدعم التصميم مهاماً معقدة، مما يمهد الطريق لـ segmentation المتقدمة والتعلم متعدد المهام.
هل تعلم؟
تم تصميم بنية GELAN الخاصة بـ YOLOv9 لتكون غير مرتبطة بالأجهزة، مما يعني أنها تعمل بكفاءة على مجموعة واسعة من أجهزة الاستدلال، بدءًا من وحدات المعالجة الطرفية TPUs وحتى وحدات معالجة الرسومات NVIDIA المتطورة، دون الحاجة إلى تحسينات خاصة بالأجهزة مثل بعض النماذج القائمة على المحولات.
تحليل الأداء
تُبرز المقارنة التالية التحسينات الكبيرة في سرعة وكفاءة الاستدلال التي يجلبها YOLOv9 إلى الطاولة مقارنةً بعائلة EfficientDet.
| النموذج | الحجم (بالبكسل) | 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
رؤى معيارية نقدية
- ميزة السرعة الهائلة: يحقق نموذج YOLOv9c 53.0 mAP تنافسيًا بسرعة استدلال تبلغ 7.16 مللي ثانية فقط على وحدة معالجة الرسومات T4. في المقابل، فإن EfficientDet-d6 المماثل (52.6 mAP) يزحف بسرعة 89.29 مللي ثانية. وهذا يجعل YOLOv9 أسرع بأكثر من 12 مرة للحصول على دقة مماثلة، وهو عامل حاسم للتطبيقات في الوقت الفعلي مثل المركبات ذاتية القيادة أو مراقبة حركة المرور.
- كفاءة المعلمات: في الطرف الأدنى من الطيف، يوفر YOLOv9t 38.3 mAP قويًا مع 2.0 مليون معلمة فقط، متجاوزًا خط الأساس EfficientDet-d0 في الدقة مع استخدام ما يقرب من نصف عدد المعلمات والتشغيل بشكل أسرع بشكل ملحوظ.
- دقة عالية المستوى: بالنسبة للمهام التي تتطلب أقصى قدر من الدقة، يدفع YOLOv9e الحدود مع 55.6 mAP، متفوقًا على أكبر نموذج EfficientDet-d7 مع الحفاظ على زمن انتقال (16.77 مللي ثانية) لا يزال مناسبًا لمعالجة الفيديو، على عكس 128 مللي ثانية الباهظة لـ D7.
التكامل وسهولة الاستخدام
أحد أهم الاختلافات بين هذين النموذجين هو النظام البيئي المحيط بهما. فبينما يعتمد EfficientDet على مستودعات TensorFlow الأقدم، فإن YOLOv9 هو مواطن من الدرجة الأولى في مكتبة Ultralytics.
ميزة Ultralytics
يوفر استخدام YOLOv9 مع Ultralytics نظامًا بيئيًا جيد الصيانة يبسط دورة حياة تعلم الآلة بأكملها. بدءًا من شرح مجموعات البيانات وصولاً إلى النشر على الأجهزة الطرفية، يتم تبسيط سير العمل.
- واجهة برمجة تطبيقات بسيطة: يمكنك تدريب النماذج والتحقق من صحتها ونشرها ببضعة أسطر فقط من تعليمات Python البرمجية.
- توافق واسع: قم بتصدير النماذج الخاصة بك بسهولة إلى ONNX و TensorRT و OpenVINO و CoreML باستخدام وضع التصدير.
- دعم المجتمع: تضمن الوثائق الشاملة والمجتمع النشط أن الحلول للمشاكل الشائعة متاحة بسهولة.
إليك مثال عملي لمدى سهولة تشغيل الاستدلال باستخدام YOLOv9 باستخدام Ultralytics Python API:
from ultralytics import YOLO
# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Process results
for result in results:
result.show() # Display predictions
result.save() # Save image to disk
تعددية الاستخدام في التطبيق
بينما EfficientDet هو كاشف للأجسام بشكل صارم، فإن المبادئ المعمارية الكامنة وراء YOLOv9 وإطار Ultralytics تدعم نطاقًا أوسع من مهام الرؤية. يمكن للمستخدمين التبديل بسهولة بين اكتشاف الأجسام detect، و تقسيم المثيلات segment، و تقدير الوضعية داخل نفس قاعدة التعليمات البرمجية، مما يقلل من الديون التقنية للمشاريع المعقدة.
الخلاصة
عند مقارنة EfficientDet مقابل YOLOv9، يكون الاختيار لتطوير رؤية الكمبيوتر الحديثة واضحًا. في حين أن EfficientDet لعب دورًا تاريخيًا في تحديد كفاءة توسيع نطاق النموذج، فإن YOLOv9 يحل محله في كل مقياس تقريبًا ذي صلة بالمطورين اليوم.
يوفر YOLOv9 دقة فائقة لكل معلمة، و سرعات استدلال أسرع بترتيب حجمي، ونظامًا بيئيًا قويًا وسهل الاستخدام للمطورين. سواء كنت تقوم بالنشر على الأجهزة الطرفية ذات الموارد المحدودة أو تعالج تدفقات الفيديو عالية الإنتاجية في السحابة، فإن YOLOv9 يوفر توازن الأداء الضروري للنجاح.
بالنسبة لأولئك الذين يبدأون مشاريع جديدة، نوصي بشدة بالاستفادة من YOLOv9 أو أحدث YOLO11 لضمان استفادة تطبيقك من أحدث التطورات في كفاءة التعلم العميق.
استكشف نماذج أخرى
إذا كنت مهتمًا باستكشاف المزيد من الخيارات ضمن عائلة Ultralytics، فضع في اعتبارك هذه النماذج:
- YOLO11: أحدث تطور في سلسلة YOLO، حيث يقدم أداءً حديثًا عبر مهام detect، segment، و classify.
- YOLOv10: كاشف شامل في الوقت الفعلي يلغي الحاجة إلى Non-Maximum Suppression (NMS).
- RT-DETR: كاشف قائم على المحولات يتفوق في الدقة، مما يوفر بديلاً حديثًا للهياكل القائمة على CNN.