تخطي إلى المحتوى

YOLOv9 ضد EfficientDet: مقارنة فنية شاملة

يعد اختيار نموذج الكشف عن الكائنات الصحيح قرارًا محوريًا في تطوير الرؤية الحاسوبية، مما يؤثر بشكل مباشر على سرعة تطبيقك ودقته وكفاءة الموارد. يقدم هذا الدليل مقارنة فنية متعمقة بين Ultralytics YOLOv9 و EfficientDet، وتحليل الابتكارات المعمارية ومقاييس الأداء ومدى ملاءمتها لسيناريوهات النشر الحديثة.

تحليل الأداء

كان تطور الكشف عن الكائنات سريعًا، حيث تفوقت البنى الأحدث بشكل كبير على سابقاتها. يقدم الجدول أدناه مقارنة مباشرة للمقاييس الرئيسية، مع تسليط الضوء على التطورات في YOLOv9 فيما يتعلق بسرعة الاستدلال وكفاءة المعلمات مقارنة بعائلة EfficientDet الأقدم.

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0

النقاط الرئيسية:

  • الهيمنة على السرعة: تُظهر نماذج YOLOv9 سرعات استدلال فائقة للغاية على أجهزة GPU. على سبيل المثال، YOLOv9c (53.0% mAP) أسرع بأكثر من 12 مرة من EfficientDet-d6 (52.6% mAP) الدقيق بشكل مماثل.
  • كفاءة المعلمات: تتيح بنية YOLOv9 تحقيق دقة أعلى مع عدد أقل من المعلمات. تحقق YOLOv9s قيمة mAP بنسبة 46.8% مع 7.1 مليون معلمة فقط، في حين يتطلب EfficientDet المتغير D3 الأكبر (12.0 مليون معلمة) للوصول إلى مستوى مماثل من الدقة يبلغ 47.5%.
  • دقة متطورة: النموذج الأكبر، YOLOv9e، يضع معيارًا عاليًا بنسبة 55.6٪ mAP، متجاوزًا أثقل نموذج EfficientDet-d7 مع الحفاظ على جزء صغير من زمن الانتقال.

YOLOv9: حقبة جديدة من معلومات التدرج القابلة للبرمجة

يمثل YOLOv9، الذي تم تقديمه في أوائل عام 2024، قفزة كبيرة إلى الأمام في سلسلة YOLO. تم تطويره بواسطة Chien-Yao Wang و Hong-Yuan Mark Liao، وهو يعالج القضايا الأساسية في التعلم العميق المتعلقة بفقدان المعلومات أثناء نقل الميزات.

تفاصيل فنية:

الابتكارات المعمارية

يقدم YOLOv9 مفهومين أساسيين لمعالجة مشكلة "عنق الزجاجة المعلوماتي":

  1. معلومات التدرج القابلة للبرمجة (PGI): إطار إشراف مساعد يولد تدرجات موثوقة لتحديث أوزان الشبكة، مما يضمن احتفاظ النموذج بالمعلومات الهامة عبر الطبقات العميقة.
  2. شبكة تجميع الطبقات الفعالة المعممة (GELAN): بنية جديدة خفيفة الوزن تجمع بين نقاط القوة في CSPNet و ELAN. إنه يعطي الأولوية لتخطيط مسار التدرج، مما يسمح بكفاءة أعلى للمعلمات وسرعات استدلال أسرع دون التضحية بالدقة.

هل تعلم؟

تم تصميم بنية GELAN لتكون غير مرتبطة بالأجهزة، وتحسين الاستدلال ليس فقط لوحدات معالجة الرسوميات المتطورة ولكن أيضًا للأجهزة الطرفية حيث تكون الموارد الحسابية محدودة.

نقاط القوة وحالات الاستخدام

  • موازنة الأداء: يوفر YOLOv9 موازنة استثنائية بين السرعة والدقة، مما يجعله مثاليًا لتطبيقات الاستدلال في الوقت الفعلي مثل القيادة الذاتية وتحليلات الفيديو.
  • النظام البيئي Ultralytics: يوفر التكامل مع Ultralytics واجهة برمجة تطبيقات Python مبسطة و CLI، مما يبسط التدريب والتحقق والنشر.
  • كفاءة التدريب: بفضل بنيته الفعالة، يتطلب YOLOv9 عادةً ذاكرة أقل أثناء التدريب مقارنة بالبدائل القائمة على المحولات، مما يسهل التدريب المخصص على وحدات معالجة الرسوميات (GPUs) بمواصفات المستهلك.

مثال على التعليمات البرمجية: استخدام YOLOv9 مع Ultralytics

يمكنك بسهولة تشغيل الاستدلال أو تدريب YOLOv9 باستخدام حزمة Ultralytics.

from ultralytics import YOLO

# Load a pre-trained YOLOv9c model
model = YOLO("yolov9c.pt")

# Run inference on an image
results = model.predict("path/to/image.jpg")

# Train the model on a custom dataset (e.g., COCO8)
model.train(data="coco8.yaml", epochs=100, imgsz=640)

تعرف على المزيد حول YOLOv9

EfficientDet: الريادة في الهندسة المعمارية القابلة للتطوير

كان EfficientDet، الذي أصدرته Google Research في أواخر عام 2019، نموذجًا رائدًا قدم طريقة منهجية لتوسيع نطاق أجهزة الكشف عن الأجسام. وهو يركز على تحسين الكفاءة عبر مجموعة واسعة من قيود الموارد.

تفاصيل فنية:

أبرز الملامح المعمارية

تم تصميم EfficientDet على EfficientNet backbone ويقدم العديد من الميزات الرئيسية:

  1. شبكة الهرم المميز ثنائية الاتجاه (BiFPN): على عكس شبكات FPN التقليدية، تتيح BiFPN دمجًا سهلاً للميزات متعددة المقاييس عن طريق إدخال أوزان قابلة للتعلم لميزات الإدخال المختلفة.
  2. التحجيم المركب: تقوم هذه الطريقة بتوسيع نطاق الدقة والعمق والعرض للشبكة الأساسية وشبكة الميزات وشبكات التنبؤ بالمربع/الفئة بشكل موحد، مما يسمح بإنشاء عائلة من النماذج (D0 إلى D7) المصممة خصيصًا لميزانيات الموارد المختلفة.

نقاط القوة والضعف

  • قابلية التوسع: تسمح بنية عائلة D0-D7 للمستخدمين باختيار الطراز الذي يناسب ميزانيتهم المحددة من FLOPs.
  • أهمية تاريخية: لقد وضعت معيارًا للكفاءة في عام 2020، مما أثر بشكل كبير على الأبحاث اللاحقة في البحث عن البنية العصبية.
  • الأداء القديم: على الرغم من كفاءته في وقته، إلا أن EfficientDet يتخلف الآن عن الكاشفات الحديثة مثل YOLOv9 من حيث زمن الوصول على وحدات معالجة الرسومات (GPUs). غالبًا ما يؤدي استخدامه المكثف للالتفافات المنفصلة ذات العمق، في حين أنه فعال من حيث FLOP، إلى استدلال أبطأ على أجهزة مثل NVIDIA T4 مقارنة بالالتفافات الكثيفة المحسّنة المستخدمة في Architectures YOLO.

تعرف على المزيد حول EfficientDet

تحليل مقارن مفصل

عند الاختيار بين YOLOv9 و EfficientDet، تدخل عدة عوامل تتجاوز mAP الخام في الاعتبار. فيما يلي تحليل لكيفية مقارنتهما في بيئات التطوير العملية.

السرعة وزمن الوصول

يكمن الاختلاف الأكثر تميزًا في سرعة الاستدلال. يستخدم YOLOv9 بنية GELAN، وهي مُحسَّنة للتوازي الهائل على وحدات معالجة الرسومات. في المقابل، يمكن أن يؤدي اعتماد EfficientDet على دمج الميزات المعقد (BiFPN) والتلافيف القابلة للفصل حسب العمق إلى إنشاء اختناقات في الوصول إلى الذاكرة على المسرعات. كما هو موضح في جدول الأداء، فإن نماذج YOLOv9 أسرع باستمرار من 2x إلى 10x على TensorRT من نظيراتها في EfficientDet ذات الدقة المماثلة.

النظام البيئي وسهولة الاستخدام

يوفر نظامUltralytics البيئي ميزة كبيرة لـ YOLOv9. في حين أن EfficientDet يتطلب بيئة TensorFlow ونصوص إعداد معقدة في كثير من الأحيان، فإن YOLOv9 مدمج في حزمة سهلة الاستخدام تدعم

  • تثبيت بسطر واحد: pip install ultralytics
  • دعم واسع للتصدير: تصدير سلس إلى ONNX، TensorRT و CoreML و OpenVINO والمزيد عبر model.export() الدالة.
  • صيانة نشطة: تحديثات متكررة، ودعم مجتمعي، وأدلة شاملة حول مهام مثل تتبع الكائنات و النشر.

مرونة النشر

يمكن نشر نماذج YOLOv9 التي تم تدريبها باستخدام Ultralytics بسهولة على الأجهزة الطرفية باستخدام تنسيقات مثل TFLite أو Edge TPU. راجع دليل تكامل TFLite الخاص بنا لمزيد من التفاصيل.

كفاءة التدريب والذاكرة

يمكن أن يكون تدريب نماذج رؤية الكمبيوتر الحديثة كثيف الاستهلاك للموارد. تشتهر نماذج Ultralytics YOLO بكفاءتها في استخدام ذاكرة وحدة معالجة الرسومات (GPU). يتيح ذلك للمطورين تدريب أحجام دفعات أكبر على أجهزة المستهلكين مقارنةً بالبنى الأقدم أو النماذج الثقيلة القائمة على المحولات. علاوة على ذلك، توفر Ultralytics أوزانًا مُدرَّبة مسبقًا متاحة بسهولة، مما يتيح التعلم بالنقل الذي يتقارب بشكل أسرع بكثير من تدريب EfficientDet من البداية.

تعدد الاستخدامات

بينما EfficientDet هو كاشف للأجسام بشكل صارم، فإن المبادئ المعمارية الكامنة وراء YOLOv9 (وعائلة Ultralytics YOLO الأوسع) تمتد إلى مهام متعددة. يدعم إطار Ultralytics ما يلي:

تسمح هذه المرونة للمطورين باستخدام واجهة برمجة تطبيقات موحدة واحدة لتحديات رؤية الكمبيوتر المتنوعة.

الخلاصة

بالنسبة لغالبية المشاريع الجديدة، يعتبر YOLOv9 هو الخيار الأفضل. فهو يوفر دقة متطورة مع سرعات استدلال أسرع بشكل ملحوظ، مما يجعله مناسبًا للتطبيقات في الوقت الفعلي. يضمن تكامله في النظام البيئي Ultralytics تجربة تطوير سلسة، بدءًا من إعداد البيانات وحتى نشر النموذج.

تظل EfficientDet مرجعًا قيمًا لفهم التوسع المركب ودمج الميزات ولكنها تقصر عمومًا في مقاييس الأداء لكل واط وزمن الوصول على الأجهزة الحديثة.

يجب على المطورين الذين يبحثون عن أحدث التقنيات في مجال رؤية الكمبيوتر استكشاف YOLO11، الذي يعتمد على هذه التطورات لتقديم كفاءة وأداء أكبر.

استكشف نماذج أخرى

إذا كنت مهتمًا بإجراء المزيد من المقارنات، ففكر في استكشاف هذه النماذج ذات الصلة:

  • YOLO11 مقابل YOLOv9: تعرف على كيفية تحسين الجيل الأحدث من YOLOv9.
  • RT-DETR: كاشف يعتمد على المحولات ويوفر دقة عالية للسيناريوهات في الوقت الفعلي.
  • YOLOv8: عائلة نماذج متعددة الاستخدامات للغاية تدعم الـ detection والـ segmentation وتقدير الوضعية.

تعليقات