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

EfficientDet مقابل YOLOv5: مقارنة تقنية مفصلة

لقد تطور مشهد اكتشاف الأجسام بشكل سريع، مدفوعاً بالحاجة المستمرة إلى تحقيق التوازن بين الدقة والكفاءة الحسابية. هناك بنيتان أثّرتا بشكل كبير في هذا المجال وهما EfficientDet، التي طورها فريق Google Brain، و YOLOv5الذي أنشأته Ultralytics. في حين يهدف كلا النموذجين إلى detect الأجسام داخل الصور بكفاءة، إلا أنهما يتعاملان مع المشكلة بفلسفات تصميم واستراتيجيات معمارية مختلفة جذرياً.

يوفر هذا الدليل مقارنة تقنية متعمقة لمساعدة المطورين والباحثين والمهندسين على اختيار الأداة المناسبة لتطبيقات الرؤية الحاسوبية الخاصة بهم.

EfficientDet: قابل للتطوير وفعال

تم إصدار EfficientDet في أواخر عام 2019، وقد انبثق EfficientDet من هدف البحث المتمثل في تحسين كل من الدقة والكفاءة في آن واحد. وقدمت مفهوم "التحجيم المركب" للكشف عن الأجسام، وهي طريقة تعمل على توسيع نطاق الدقة والعمق والعرض للشبكة الأساسية بشكل موحد.

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

تم بناء EfficientDet على العمود الفقري لشبكة EfficientNet ويقدم شبكة دمج ميزات جديدة تسمى BiFPPN (شبكة هرم الميزات ثنائية الاتجاه). وعلى عكس الشبكات الهرمية التقليدية للميزات (FPN) التي تقصر تدفق المعلومات على طريقة من أعلى إلى أسفل، تسمح شبكة BiFPN بتدفق المعلومات المعقدة ثنائية الاتجاه بين طبقات الدقة المختلفة.

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

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

تكمن قوة EfficientDet الأساسية في كفاءته النظرية. فهو يحقق كفاءة عالية mAP مع انخفاض ملحوظ في عمليات النقطة العائمة ( FLOP ). وهذا يجعله مرشحًا مثيرًا للاهتمام للبحث الأكاديمي حيث تكون كفاءة المعلمات مقياسًا رئيسيًا.

ومع ذلك، تعاني EfficientDet من عيب عملي: زمن الاستنتاج. فالوصلات المعقدة في BiFPPN والاستخدام المكثف للالتفافات القابلة للفصل على مستوى العمق - رغم كفاءتها الرياضية - لا يتم تحسينها بشكل كامل على أجهزة GPU مقارنةً بالالتفافات القياسية. وبالتالي، على الرغم من انخفاض FLOPs، يمكن أن تعمل EfficientDet بشكل أبطأ على وحدات معالجة الرسومات من النماذج ذات التكاليف الحسابية النظرية الأعلى.

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

Ultralytics YOLOv5: الأداء الواقعي وسهولة الاستخدام في العالم الحقيقي

مثّل Ultralytics YOLOv5 نقلة نوعية عندما تم إصداره في عام 2020. وعلى عكس سابقيه، كان أول نموذج YOLO يتم تنفيذه محليًا في PyTorchمما جعله في متناول منظومة ضخمة من المطورين. وقد أعطى الأولوية "لسهولة النشر" إلى جانب الأداء الأولي.

  • المؤلف: جلين جوتشر
  • المنظمةUltralytics
  • التاريخ: يونيو 26, 2020
  • جيثب:yolov5

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

يستخدم YOLOv5 العمود الفقري لشبكة CSPDarknet، والتي تعمل على تحسين تدفق التدرج وتقليل العمليات الحسابية. كما أنه رائد في استخدام تقنية Mosaic Augmentation أثناء التدريب - وهي تقنية تدمج أربع صور معًا - مما يحسّن قدرة النموذج على detect الأجسام الصغيرة ويقلل من الحاجة إلى أحجام دفعات صغيرة كبيرة.

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

ميزة نظام Ultralytics البيئي

أحد أهم مزايا YOLOv5 هو النظام البيئي المحيط به. يوفر Ultralytics سير عمل سلسًا بما في ذلك توليد المُرشِد التلقائي، وتطور المعلمة الفائقة، ودعم التصدير الأصلي إلى ONNX, TensorRTCoreML TFLite. يقلل هذا النهج "المدمج بالبطاريات" بشكل كبير من الوقت الذي يستغرقه الانتقال من المفهوم إلى الإنتاج.

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

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

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

مقاييس الأداء: السرعة مقابل الدقة

يقارن الجدول التالي أداء EfficientDet و YOLOv5 على مجموعة بياناتCOCO val2017. أهم ما يمكن استخلاصه هو التمييز بين التكلفة النظرية (FLOPs) والسرعة الفعلية (زمن الوصول).

النموذجالحجم
(بالبكسل)
mAPفال
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

كما هو موضح, YOLOv5 يهيمن على YOLOv5 في زمن انتقال GPU. على سبيل المثال YOLOv5s (37.4 mAP) يعمل عند 1.92 مللي ثانية على GPU T4، بينما EfficientDet-d0 (34.6 mAP) يستغرق 3.92 مللي ثانية-جعل YOLOv5 تقريبًا 2 أضعاف سرعة مع توفير دقة أعلى. يتسع هذا التفاوت مع الطرز الأكبر حجماً; YOLOv5l (49.0 mAP) تقريبًا أسرع 5 مرات من نظيرتها EfficientDet-d4 (49.7 mAP).

على العكس من ذلك، تتألق EfficientDet في بيئات CPU حيث غالبًا ما تترجم FLOPs المنخفضة إلى أداء أفضل، كما هو موضح في سرعاتCPU ONNX لمتغيرات D0 الأصغر.

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

يعتمد الاختيار بين هذه النماذج على القيود الخاصة بك:

متى تختار EfficientDet

  • المقارنة المعيارية الأكاديمية: عندما يكون الهدف الأساسي هو إظهار كفاءة المعلمات أو قوانين القياس المعمارية.
  • قيود صارمة على CPU المعالجة المركزية: إذا اقتصر النشر بشكل صارم على أجهزة CPU الأقدم حيث تكون وحدات المعالجة المركزية FLOP هي عنق الزجاجة المطلق، فإن أصغر متغيرات EfficientDet (D0-D1) تقدم أداءً تنافسيًا.
  • البحث: لدراسة تنويعات شبكة الهرم المميز مثل BiFPPN.

متى تختار Ultralytics YOLOv5

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

مثال على الكود: بساطة Ultralytics

إحدى السمات المميزة لنماذج Ultralytics هي سهولة الاستخدام. بينما يتطلب تنفيذ EfficientDet في كثير من الأحيان تكوينات TensorFlow معقدة أو نسخ مستودعات محددة، يمكن تحميل YOLOv5 وتشغيله ببضعة أسطر من كود Python عبر PyTorch Hub.

import torch

# Load the YOLOv5s model from the official Ultralytics repository
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image (URL or local path)
img = "https://ultralytics.com/images/zidane.jpg"

# Perform inference
results = model(img)

# Display results
results.print()  # Print predictions to console
results.show()  # Show image with bounding boxes

الخاتمة والتوقعات المستقبلية

في حين أن EfficientDet يمثل علامة فارقة في مجال الرؤية الحاسوبية من خلال إثبات قيمة القياس المركب ودمج الميزات الفعالة, YOLOv5 أحدث ثورة في هذا المجال من خلال جعل اكتشاف الأجسام عالي الأداء متاحًا وسريعًا وقابلًا للنشر.

بالنسبة للمطورين الذين يبدأون مشروعًا جديدًا اليوم، نوصي بالاطلاع على أحدث التطورات في سلالة Ultralytics . YOLO11 يعتمد على الأساس القوي لـ YOLOv5 ويقدم

  • دقة وسرعة أعلى.
  • دعم أصلي ل تقدير الوضعية, تجزئة المثيلو OBB.
  • حزمة python الموحدة ultralytics التي تبسّط دورة حياة عمليات التشغيل الآلي المتنقلة بأكملها.

للمزيد من القراءة حول كيفية مقارنة نماذج Ultralytics بالبنى الأخرى، استكشف مقارناتنا مع YOLOv8 و RT-DETR.


تعليقات