YOLOv5 EfficientDet: تقييم بنى الكشف عن الأجسام في الوقت الحقيقي
عند الشروع في مشروع جديد للرؤية الحاسوبية ، يعد اختيار بنية الشبكة العصبية المناسبة أحد أهم القرارات التي ستتخذها. يقدم هذا الدليل مقارنة تقنية متعمقة بين Ultralytics YOLOv5 و EfficientDet Google. من خلال تحليل هياكلهما ومقاييس الأداء ونظم التدريب، نهدف إلى مساعدة المطورين والباحثين على تحديد أفضل نموذج للكشف عن الكائنات لبيئات النشر الخاصة بهم.
بينما قدم EfficientDet مفاهيم جديدة في التوسع المركب ودمج الميزات، YOLOv5 أحدثت ثورة في الصناعة من خلال إتاحة الوصول إلى الذكاء الاصطناعي عالي الأداء للجميع من خلال برنامجها البديهي للغاية PyTorch الشديد البساطة، وتجربة المستخدم المبسطة، والتوازن الفريد بين السرعة والدقة.
Ultralytics YOLOv5: المعيار الصناعي للوصول
صدر YOLOv5 في صيف عام 2020، YOLOv5 تحولًا جوهريًا في YOLO . بعد الانتقال من إطار عمل Darknet القائم على لغة C إلى PyTorch الأصلي، أصبح YOLOv5 البنية المفضلة للمطورين الذين يسعون إلى إنشاء النماذج وتدريبها ونشرها بسرعة.
- المؤلفون: Glenn Jocher
- المؤسسة:Ultralytics
- التاريخ: 2020-06-26
- GitHub:https://github.com/ultralytics/yolov5
- المستندات:yolov5
الابتكارات المعمارية
YOLOv5 بهيكلها المُحسّن للغاية الذي يعطي الأولوية لدورة حياة التعلم الآلي السلسة. وهي تستخدم عمودًا فقريًا معدلًا من CSPDarknet53 مقترنًا برقبة شبكة تجميع المسارات (PANet)، مما يحسن بشكل كبير انتشار الميزات عبر نطاقات مكانية متعددة.
تشمل التطورات الرئيسية:
- زيادة بيانات الفسيفساء: تجمع تقنية التدريب هذه أربع صور تدريب متميزة في فسيفساء واحدة. وهذا يجبر النموذج على تعلم كيفية تحديد الكائنات في سياقات مكانية معقدة ويعزز بشكل كبير قدرته على detect الأهداف detect .
- مربعات الربط للتعلم التلقائي: قبل بدء التدريب، YOLOv5 بيانات التدريب المخصصة الخاصة بك ويحسب تلقائيًا الأبعاد المثلى لمربعات الربط باستخدام تجميع k-means.
- كفاءة الذاكرة: مقارنة بالنماذج الثقيلة القائمة على المحولات، YOLOv5 مساحة ذاكرة أقل بكثير أثناء التدريب والاستدلال، مما يسمح له بالعمل بسلاسة على الأجهزة الاستهلاكية.
EfficientDet: كشف الكائنات القابل للتطوير
قدمت Google في عام 2019 EfficientDet بهدف توفير مجموعة من أجهزة الكشف عن الكائنات القابلة للتطوير. وهي تعتمد على أساس تصنيف الصور EfficientNet وتقدم آلية جديدة لدمج الميزات.
- المؤلفون: مينغشينغ تان، رومينغ بانغ، وكوك ف. لي
- المؤسسة:Google
- التاريخ: 2019-11-20
- أرشيف:https://arxiv.org/abs/1911.09070
- GitHub:https://github.com/google/automl/tree/master/efficientdet
- الوثائق:https://github.com/google/automl/tree/master/efficientdet#readme
الابتكارات المعمارية
يكمن الاقتراح الأساسي لـ 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) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
تحليل متوازن
YOLOv5 بمرونته في النشر وتوافقه مع تسريع الأجهزة الخام. لاحظ TensorRT الفائقة TensorRT على GPU T4. وهذا يجعل YOLOv5 مناسبًا YOLOv5 لتحليلات الفيديو عالية الإنتاجية وخطوط الإنتاج الاستنتاجية في الوقت الفعلي. علاوة على ذلك، فإن Ultralytics يجعل التصدير إلى تنسيقات مثل ONNXو CoreMLو TensorRT أمر من سطر واحد.
يوفر EfficientDet كفاءة ممتازة في المعلمات. بالنسبة لعدد معين من المعلمات، غالبًا ما يستخرج متوسط دقة عالي (mAP). ومع ذلك، لا تترجم هذه الكفاءة النظرية دائمًا إلى أوقات استدلال أسرع على وحدات معالجة الرسومات الطرفية (GPU) بسبب التوجيه المعقد لطبقة BiFPN، والتي يمكن أن تكون مقيدة بنطاق ترددي للذاكرة بدلاً من أن تكون مقيدة بالحساب.
النظام البيئي وسهولة الاستخدام
تكمن الميزة الأساسية لاختيار Ultralytics في النظام البيئي المحيط به. YOLOv5 جزء من مستودع يتم صيانته بشكل مكثف وتطويره بنشاط مع دعم مجتمعي هائل.
مع طرح Ultralytics يمكن للمستخدمين الانتقال بسلاسة من جمع البيانات إلى النشر. تدعم هذه المنصة التعليقات التلقائية والتدريب السحابي ومراقبة النماذج بشكل فوري. في المقابل، يتطلب تدريب EfficientDet غالبًا التعامل مع تعقيدات واجهات TensorFlow القديمة لاكتشاف TensorFlow ، مما قد يمثل منحنى تعلم حادًا للنماذج الأولية السريعة.
علاوة على ذلك، تتجاوز تعددية استخدامات YOLOv5 حدود المربعات المحيطة. من خلال التحديثات المستمرة، يدعم Ultralytics بشكل أساسي تقسيم الحالات وتصنيف الصور، مما يوفر واجهة برمجة تطبيقات موحدة لمهام الرؤية الحاسوبية المتعددة.
حالات الاستخدام المثالية
- اختر YOLOv5 : تحتاج إلى نماذج أولية سريعة، وتجربة تدريب سلسة، ونشر محسّن للغاية. وهو مثالي للطائرات بدون طيار، وتحليلات البيع بالتجزئة، والتطبيقات المحمولة التي تتطلب زمن استجابة منخفض.
- اختر EfficientDet في الحالات التالية: إذا كنت تعمل بشكل حصري في بيئة Google TensorFlow وتحتاج إلى أقصى دقة لكل معلمة دون قيود صارمة على زمن الاستجابة في الوقت الفعلي.
الجيل القادم: تبني YOLO26
بينما YOLOv5 أداة موثوقة، فقد تطور مجال الرؤية الحاسوبية. بالنسبة للمطورين الذين يبحثون عن أحدث التقنيات في عام 2026، يمثل YOLO26 قمة جديدة في Ultralytics .
بناءً على إرث أسلافه (مثل YOLOv8 و YOLO11)، يقدم YOLO26 ابتكارات رائدة:
- تصميم شامل NMS: يزيل YOLO26 بشكل أساسي الحاجة إلى المعالجة اللاحقة لـ Non-Maximum Suppression. وهذا يقلل بشكل كبير من تباين زمن الاستجابة ويبسط بنية النشر.
- CPU أسرع بنسبة تصل إلى 43٪ CPU : تم تحسينه بشكل كبير من أجل الذكاء الاصطناعي المتطور، وهو يوفر سرعات غير مسبوقة للأجهزة المتطورة منخفضة الطاقة ووحدات المعالجة المركزية القياسية التي لا تحتوي على وحدات معالجة رسومات مخصصة.
- MuSGD Optimizer: مستوحى من تقنيات تدريب نموذج اللغة الكبيرة (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 أن المطورين لديهم دائمًا أفضل الأدوات المتاحة لحل تحديات الذكاء البصري في العالم الواقعي.