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

EfficientDet مقابل YOLOv7: مقارنة فنية شاملة

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

مقاييس الأداء والتحليل

يقدم الجدول التالي مقارنة تفصيلية لمقاييس الأداء الرئيسية، بما في ذلك متوسط الدقة (mAP)، وسرعة الاستدلال على أجهزة مختلفة، والتعقيد الحسابي (المعلمات و FLOPs).

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

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

  • الكفاءة مقابل الكمون: تحقق EfficientDet كفاءة ملحوظة في المعلمات (حجم نموذج منخفض) بفضل التوسع المركب. ومع ذلك، على أجهزة GPU (T4 TensorRT)، يُظهر YOLOv7 زمن انتقال فائق. على سبيل المثال، تحقق YOLOv7l نسبة 51.4% mAP مع زمن انتقال يبلغ 6.84 مللي ثانية فقط، في حين يتطلب EfficientDet-d5 عدد 67.86 مللي ثانية لتحقيق mAP مماثل بنسبة 51.5%.
  • تأثير البنية (Architecture Impact): تعمل الالتواءات المنفصلة العمق المستخدمة في EfficientDet على تقليل FLOPs ولكن يمكن أن تكون أقل تحسينًا على وحدات معالجة الرسوميات (GPUs) مقارنةً بالالتواءات الكثيفة في YOLOv7، مما يؤدي إلى التباينات الملحوظة في السرعة.

نظرة عامة على EfficientDet

قدم EfficientDet تحولًا نموذجيًا في عام 2019 من خلال اقتراح بنية قابلة للتطوير تعمل على تحسين الدقة والكفاءة في وقت واحد. يعتمد على EfficientNet backbone ويقدم BiFPN (شبكة Bi-directional Feature Pyramid Network).

تفاصيل EfficientDet: المؤلفون: Mingxing Tan و Ruoming Pang و Quoc V. Le
المنظمة: Google
التاريخ: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https://github.com/google/automl/tree/master/efficientdet

أبرز ملامح الهيكلة

يكمن الابتكار الأساسي في EfficientDet في BiFPN، والذي يسمح بدمج الميزات متعددة المقاييس بسهولة وسرعة. على عكس FPNs التقليدية، تستخدم BiFPN دمج الميزات الموزونة لتعلم أهمية ميزات الإدخال المختلفة. جنبًا إلى جنب مع توسيع النطاق المركب، الذي يعمل على توسيع النطاق بشكل موحد للدقة والعمق والعرض، تقدم EfficientDet مجموعة من النماذج (D0 إلى D7) التي تلبي قيود الموارد المختلفة.

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

نظرة عامة على YOLOv7

YOLOv7، الذي تم إصداره في عام 2022، دفع حدود كشف الأجسام في الوقت الفعلي من خلال التركيز على تحسين عملية التدريب والبنية لتحقيق سرعة الاستدلال. يقدم العديد من "Bag-of-Freebies" التي تحسن الدقة دون زيادة تكلفة الاستدلال.

تفاصيل YOLOv7: المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
التاريخ: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7

أبرز ملامح الهيكلة

يستخدم YOLOv7 E-ELAN (شبكة تجميع الطبقات الفعالة الممتدة)، التي تتحكم في أقصر وأطول مسارات التدرج للسماح للشبكة بتعلم المزيد من الميزات المتنوعة. كما أنه يستخدم تغيير حجم النموذج للنماذج القائمة على التسلسل، مما يسمح له بالحفاظ على الهيكل الأمثل عبر أحجام مختلفة. تم ضبط البنية خصيصًا لكفاءة GPU، وتجنب العمليات التي لها تكاليف وصول عالية للذاكرة على الرغم من انخفاض عدد FLOP.

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

حالات الاستخدام المثالية

يعتمد الاختيار بين هذه الهياكل بشكل كبير على أجهزة النشر ومتطلبات التطبيق المحددة.

متى تختار EfficientDet

تُعد EfficientDet مثالية للبيئات المقيدة بوحدة المعالجة المركزية (CPU) أو الأجهزة الطرفية حيث يكون عرض نطاق الذاكرة والتخزين محدودًا للغاية. إن عدد المعلمات المنخفض يجعلها مناسبة لما يلي:

  • تطبيقات الهاتف المحمول: تطبيقات Android/iOS حيث يكون حجم التطبيق (حجم APK) قيدًا حرجًا.
  • الأنظمة المدمجة: أجهزة مثل Raspberry Pi (الأجيال الأقدم) التي تعمل على CPU.
  • البحث الأكاديمي: دراسة تأثيرات التحجيم المركب وتقنيات دمج الميزات.

متى تختار YOLOv7

يتفوق YOLOv7 في بيئات GPU عالية الأداء حيث يكون زمن الوصول المنخفض أمرًا ضروريًا. إنه الخيار المفضل لـ:

  • المراقبة في الوقت الفعلي: معالجة تدفقات فيديو متعددة في وقت واحد على الخوادم الطرفية.
  • القيادة الذاتية: حيث يمكن أن يؤثر زمن الوصول بالملي ثانية على السلامة.
  • الروبوتات: للكشف السريع عن الكائنات والتفاعل معها في البيئات الديناميكية.

بدائل حديثة

في حين أن EfficientDet و YOLOv7 قويان، إلا أن المجال قد تقدم. بالنسبة للمشاريع الجديدة، يوصى عموماً باستخدام YOLO11. فهو يجمع بين مفاهيم الكفاءة في الهياكل الحديثة مع السرعة في الوقت الفعلي لعائلة YOLO، وغالباً ما يتفوق على كلا النموذجين السابقين في الدقة وسهولة النشر.

لماذا تختار نماذج Ultralytics YOLO؟

في حين أن EfficientDet و YOLOv7 تظلان مساهمات كبيرة في رؤية الكمبيوتر، فإن نظام Ultralytics البيئي - الذي يضم نماذج مثل YOLOv8 و YOLO11 المتطورة - يوفر مزايا واضحة للمطورين والباحثين.

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

غالبًا ما تتطلب النماذج القديمة خطوات تثبيت معقدة، أو إصدارات CUDA محددة، أو قواعد بيانات تعليمات برمجية مجزأة. في المقابل، تركز Ultralytics على تجربة مستخدم موحدة ومبسطة. مع بسيط pip install ultralytics، يتمكن المستخدمون من الوصول إلى واجهة برمجة تطبيقات Python قوية و أوامر CLI التي تعمل على توحيد التدريب والتحقق والنشر. إن نظام بيئي مُدار جيدًا يضمن تحديثات متكررة ودعمًا واسعًا للأجهزة والتكامل مع أدوات مثل Ultralytics HUB من أجل MLOps سلس.

موازنة الأداء وكفاءة الذاكرة

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

تعدد الاستخدامات وكفاءة التدريب

على عكس العديد من أجهزة الـ detect المحددة، فإن نماذج Ultralytics متعددة الاستخدامات للغاية. يدعم إطار عمل واحد:

هذا التنوع في الاستخدام، بالإضافة إلى كفاءة التدريب - بفضلأدوات تحميل البيانات المحسّنة والأوزان المتاحة مسبقًا والمتوفرة بسهولة على COCO-تقلل بشكل كبير من الوقت اللازم لوصول حلول الذكاء الاصطناعي إلى السوق.

مثال: تشغيل نموذج YOLO حديث

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

from ultralytics import YOLO

# Load the latest YOLO11 model (pre-trained on COCO)
model = YOLO("yolo11n.pt")

# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Process results
for result in results:
    result.save()  # Save the annotated image to disk
    print(f"Detected {len(result.boxes)} objects.")

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

الخلاصة

يمثل EfficientDet و YOLOv7 فلسفتين مختلفتين في تاريخ رؤية الكمبيوتر: أحدهما يعمل على تحسين الكفاءة النظرية (FLOPs / Params) والآخر لوقت استجابة الأجهزة العملي. يظل EfficientDet مرجعًا قويًا لتطبيقات CPU المقيدة بالمعلمات، بينما يخدم YOLOv7 أحمال عمل GPU عالية السرعة بشكل جيد.

ومع ذلك، بالنسبة للمطورين الذين يبحثون عن الأفضل في كلا العالمين - السرعة والدقة وتجربة تطوير خالية من الاحتكاك - فإن نماذج Ultralytics مثل YOLO11 هي الخيار الأفضل. إنها تبسط خط الأنابيب المعقد للتدريب والنشر مع تقديم أداء يلبي المتطلبات الصارمة لتطبيقات computer vision الحديثة.

مقارنات النماذج الأخرى

استكشف مقارنات فنية أكثر تفصيلاً للعثور على أفضل نموذج لاحتياجاتك الخاصة:


تعليقات