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

YOLOv5 EfficientDet: تقييم بنى الكشف عن الأجسام في الوقت الحقيقي

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

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

Ultralytics YOLOv5: المعيار الصناعي للوصول

صدر YOLOv5 في صيف عام 2020، YOLOv5 تحولًا جوهريًا في YOLO . بعد الانتقال من إطار عمل Darknet القائم على لغة C إلى PyTorch الأصلي، أصبح YOLOv5 البنية المفضلة للمطورين الذين يسعون إلى إنشاء النماذج وتدريبها ونشرها بسرعة.

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

YOLOv5 بهيكلها المُحسّن للغاية الذي يعطي الأولوية لدورة حياة التعلم الآلي السلسة. وهي تستخدم عمودًا فقريًا معدلًا من CSPDarknet53 مقترنًا برقبة شبكة تجميع المسارات (PANet)، مما يحسن بشكل كبير انتشار الميزات عبر نطاقات مكانية متعددة.

تشمل التطورات الرئيسية:

  • تعزيز بيانات Mosaic: تجمع تقنية التدريب هذه أربع صور تدريب مميزة في فسيفساء واحدة. هذا يجبر النموذج على تعلم كيفية تحديد الكائنات في سياقات مكانية معقدة ويعزز بشكل كبير قدرته على detect الأهداف الصغيرة.
  • صناديق الارتساء ذاتية التعلم: قبل بدء التدريب، يقوم YOLOv5 بتحليل بيانات التدريب المخصصة لك ويحسب تلقائيًا الأبعاد المثلى لصندوق الارتساء باستخدام تجميع k-means.
  • كفاءة الذاكرة: مقارنة بالنماذج الثقيلة القائمة على المحولات، يحافظ YOLOv5 على بصمة ذاكرة أقل بكثير أثناء التدريب والاستدلال، مما يسمح له بالعمل بسلاسة على الأجهزة الاستهلاكية.

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

EfficientDet: كشف الكائنات القابل للتطوير

قدمت Google في عام 2019 EfficientDet بهدف توفير مجموعة من أجهزة الكشف عن الكائنات القابلة للتطوير. وهي تعتمد على أساس تصنيف الصور EfficientNet وتقدم آلية جديدة لدمج الميزات.

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

يكمن الاقتراح الأساسي لـ EfficientDet في نهجه المنهجي للتوسع وتجميع الميزات:

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

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

الاختلافات في الأطر

بينما يعتمد EfficientDet بشكل كبير على TensorFlow ومكتبات AutoML، فإن YOLOv5 بشكل أصلي داخل PyTorch مما يوفر ما يعتبره العديد من المطورين سير عمل أكثر بديهية وبيثونية وقابلية للتصحيح.

مقارنة الأداء والمقاييس

عند مقارنة هذه النماذج، من الضروري تقييم أدائها على معايير قياسية مثل COCO . يوضح الجدول أدناه المفاضلات بين الحجم ومتطلبات الحوسبة (FLOPs) وسرعة الاستدلال.

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

تحليل متوازن

YOLOv5 يتألق في مرونة نشره وتوافقه مع تسريع الأجهزة الخام. لاحظ سرعات TensorRT الفائقة على وحدة معالجة الرسوميات T4. وهذا يجعل YOLOv5 مناسبًا بشكل لا يصدق لتحليلات الفيديو عالية الإنتاجية ومسارات الاستدلال في الوقت الفعلي. علاوة على ذلك، فإن النظام البيئي لـ Ultralytics يجعل التصدير إلى تنسيقات مثل ONNX، وCoreML، وTensorRT أمرًا يتم بسطر واحد من الأوامر.

EfficientDet يقدم كفاءة ممتازة في المعاملات. لعدد معين من المعاملات، غالبًا ما يحقق دقة متوسطة عالية (mAP) mean Average Precision. ومع ذلك، لا تترجم هذه الكفاءة النظرية دائمًا إلى أوقات استدلال أسرع على وحدات GPU الطرفية بسبب التوجيه المعقد لطبقة BiFPN، والتي يمكن أن تكون مقيدة بعرض نطاق الذاكرة بدلاً من الحساب.

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

تكمن الميزة الأساسية لاختيار Ultralytics في النظام البيئي المحيط به. YOLOv5 جزء من مستودع يتم صيانته بشكل مكثف وتطويره بنشاط مع دعم مجتمعي هائل.

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

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

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

  • اختر YOLOv5 عندما: تحتاج إلى النماذج الأولية السريعة، وتجربة تدريب سلسة، ونشر محسّن للغاية على الحافة. إنه مثالي للطائرات بدون طيار، وتحليلات التجزئة، وتطبيقات الهاتف المحمول حيث يكون زمن الاستجابة المنخفض أمرًا بالغ الأهمية.
  • اختر EfficientDet عندما: كنت تعمل بشكل صارم ضمن بيئة Google Cloud/TensorFlow AutoML وتتطلب أقصى دقة لكل معلمة دون قيود صارمة على زمن الاستجابة في الوقت الفعلي.

الجيل القادم: تبني YOLO26

بينما YOLOv5 أداة موثوقة، فقد تطور مجال الرؤية الحاسوبية. بالنسبة للمطورين الذين يبحثون عن أحدث التقنيات في عام 2026، يمثل YOLO26 قمة جديدة في Ultralytics .

بناءً على إرث أسلافه (مثل YOLOv8 وYOLO11)، يقدم YOLO26 ابتكارات رائدة:

  • تصميم شامل بدون NMS: يلغي YOLO26 بطبيعته الحاجة إلى المعالجة اللاحقة لـ Non-Maximum Suppression. وهذا يقلل بشكل كبير من تباين زمن الاستجابة ويبسط بنية النشر.
  • سرعة استدلال أسرع بنسبة تصل إلى 43% على الـ CPU: تم تحسينه بشكل كبير لـ الذكاء الاصطناعي الطرفي، مما يوفر سرعات غير مسبوقة للأجهزة الطرفية منخفضة الطاقة ووحدات CPU القياسية التي لا تحتوي على وحدات GPU مخصصة.
  • مُحسِّن MuSGD: مستوحى من تقنيات تدريب نماذج اللغة الكبيرة (LLM)، يضمن هذا المزيج من SGD و Muon تدريبًا مستقرًا للغاية وتقاربًا سريعًا.
  • دوال الخسارة المتقدمة: يعمل دمج ProgLoss و STAL على تحسين التعرف على الأهداف الصغيرة بشكل كبير، وهو أمر حيوي لصور الطائرات بدون طيار عالية الارتفاع والروبوتات.
  • إزالة DFL: من خلال إزالة Distribution Focal Loss، يتم تبسيط عملية تصدير النموذج، مما يعزز التوافق بشكل أكبر عبر مسرعات الأجهزة المتنوعة.

يمكن للمستخدمين المهتمين باستكشاف البنى الحديثة الأخرى ضمن نظام Ultralytics مقارنة نماذج مثل YOLOv10 أو RT-DETR.

الهجرة سهلة

تم تصميمPython Ultralytics Python لتكون متوافقة مع الإصدارات السابقة واللاحقة. إن الترقية من YOLOv5 YOLO26 سهلة للغاية، فهي لا تتطلب سوى تغيير سلسلة وزن النموذج في الكود الخاص بك!

مثال على الكود: التدريب والاستدلال

لإثبات سهولة استخدام Ultralytics التي لا مثيل لها، إليك كيفية التدريب وتشغيل الاستدلال باستخدام YOLO الحديث. هذا الرمز قابل للتشغيل بنسبة 100٪ ويتعامل مع تنزيل مجموعات البيانات وحلقات التدريب والتحقق تلقائيًا.

from ultralytics import YOLO

# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)

# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")

# Display the image with bounding boxes
inference_results[0].show()

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


تعليقات