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

YOLOv5 مقابل YOLOX: التحولات المعمارية ومقاييس الأداء

لقد تطور مشهد اكتشاف الأجسام بسرعة، مع تنافس العديد من التصميمات لتحقيق التوازن الأمثل بين سرعة الاستدلال ودقة الاكتشاف. من المعالم الهامة في هذه الرحلة YOLOv5، الذي طورته Ultralytics، و YOLOX، وهو نموذج يركز على البحث من Megvii. في حين أن كلا النموذجين ينبعان من سلالة "You Only Look Once"، إلا أنهما يختلفان اختلافًا كبيرًا في فلسفاتهما المعمارية - وتحديدًا فيما يتعلق بآليات الاكتشاف القائمة على المرساة مقابل الآليات الخالية من المرساة.

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

Ultralytics YOLOv5: معيار الهندسة

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

تستخدم YOLOv5 بنية قائمة على المرساة، وتستخدم مربعات مرساة محددة مسبقًا للتنبؤ بمواقع الكائنات. وهي تدمج ميزة "AutoAnchor" التي تطور أشكال المرساة لتناسب مجموعات البيانات المخصصة قبل التدريب، مما يضمن التقارب الأمثل. يتميز النموذج بـ CSPNet backbone و PANet neck، مُحسَّنين لاستخراج الميزات وتجميعها بسرعة. تكمن قوتها الأساسية في سرعة الاستدلال الاستثنائية والبصمة الذاكرة المنخفضة، مما يجعلها مثالية للحوسبة الطرفية وتطبيقات الهاتف المحمول.

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

YOLOX: المنافس الخالي من الـ Anchor

سعى YOLOX، الذي تم إصداره في عام 2021 بواسطة Megvii، إلى دفع حدود عائلة YOLO من خلال اعتماد تصميم خالٍ من المرساة. يلغي هذا النهج الحاجة إلى مربعات مرساة محددة مسبقًا، وبدلاً من ذلك يتوقع مراكز وأحجام الكائنات مباشرةً. كان الهدف من هذا التحول هو تبسيط عملية التصميم وتحسين التعميم عبر أشكال الكائنات المتنوعة.

تقدم YOLOX بنية رأس مفصول، تفصل مهام التصنيف والانحدار إلى فروع مختلفة. يسمح هذا نظريًا للنموذج بتعلم تمثيلات مميزة للميزات لتحديد ما هو الكائن مقابل أين هو. بالإضافة إلى ذلك، فإنه يستخدم إستراتيجية متقدمة لتعيين التسميات تُعرف باسم SimOTA (تعيين النقل الأمثل المبسط) لتعيين عينات إيجابية ديناميكيًا أثناء التدريب. في حين أن هذه الابتكارات تساهم في الحصول على دقة عالية، إلا أنها غالبًا ما تأتي مع زيادة التعقيد الحسابي.

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

هل تبحث عن أحدث التقنيات؟

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

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

عند مقارنة YOLOv5 و YOLOX، تتمحور المفاضلة عادةً حول زمن انتقال الاستدلال مقابل الدقة المطلقة. تم تحسين YOLOv5 بدقة للسرعة، خاصةً على مسرّعات الأجهزة باستخدام TensorRT و ONNX Runtime. كما هو موضح في البيانات أدناه، تُظهر نماذج YOLOv5 زمن انتقال أقل بشكل ملحوظ (سرعة أعلى) عبر أحجام النماذج المكافئة.

النموذجالحجم
(بالبكسل)
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
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

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

  • سرعة الاستدلال: يحتفظ YOLOv5 بميزة حاسمة في السرعة. على سبيل المثال، يحقق YOLOv5n زمن انتقال TensorRT يبلغ 1.12 مللي ثانية فقط، مما يجعله مناسبًا بشكل استثنائي لمعالجة الفيديو عالية الإطارات في الثانية على الأجهزة الطرفية مثل NVIDIA Jetson. في المقابل، تفتقر أصغر نماذج YOLOX إلى بيانات معيارية مماثلة لوحدة المعالجة المركزية CPU، وعادةً ما يكون زمن انتقال وحدة معالجة الرسوميات GPU الخاص بها أعلى بالنسبة لمستويات الدقة المماثلة.
  • الدقة (mAP): يميل YOLOX إلى تحقيق درجات mAP أعلى قليلاً على مجموعة بيانات COCO، خاصة مع متغيراته الأكبر (YOLOX-x عند 51.1 مقابل YOLOv5x عند 50.7). يُعزى ذلك إلى تصميمه الخالي من المرساة والرأس المفصول، مما يمكنه من التعامل بشكل أفضل مع اختلافات الكائنات. ومع ذلك، غالبًا ما تأتي هذه المكاسب الهامشية على حساب زيادة كبيرة في النفقات الحسابية (FLOPs).
  • الكفاءة: تتطلب نماذج YOLOv5 بشكل عام عددًا أقل من FLOPs لسرعة استدلال معينة. تصميم الرأس المقترن لـ YOLOv5 أكثر ملاءمة للأجهزة، مما يسمح بتنفيذ أسرع على كل من وحدات المعالجة المركزية (CPUs) ووحدات معالجة الرسوميات (GPUs).

نظرة معمارية متعمقة

يكمن الاختلاف الأساسي في كيفية تعامل كل نموذج مع مشكلة الكشف.

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

  • الإيجابيات: تدريب مستقر، ومنهجية راسخة، وأداء ممتاز على مجموعات البيانات القياسية.
  • العيوب: يتطلب ضبط المعلمات الفائقة للمرتكزات على مجموعات البيانات الغريبة (على الرغم من أن AutoAnchor الخاص بـ YOLOv5 يخفف من ذلك).

YOLOX (خالٍ من المرساة): يعامل YOLOX الكشف عن الكائنات كمشكلة انحدار نقطة. يتوقع المسافة من مركز خلية الشبكة إلى حدود الكائن.

  • الإيجابيات: يقلل من عدد معلمات التصميم (لا توجد نقاط ارتكاز لضبطها)، وإمكانية تعميم أفضل على نسب العرض إلى الارتفاع غير المنتظمة.
  • العيوب: يمكن أن يكون أبطأ في التقارب أثناء التدريب، ويضيف الرأس المنفصل طبقات تزيد من زمن انتقال الاستدلال.

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

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

سهولة الاستخدام

تشتهر YOLOv5 ببساطتها "من البداية إلى النهاية". من شرح البيانات إلى تدريب النموذج ونشره، يعمل نظام Ultralytics البيئي على تبسيط كل خطوة. يمكن تحميل النموذج ببضعة أسطر من التعليمات البرمجية، وهو يدعم التصدير التلقائي إلى تنسيقات مثل TFLite و CoreML و ONNX.

import torch

# Load a pretrained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

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

# Print results
results.print()

تعدد الاستخدامات والصيانة

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

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

  • اختر Ultralytics YOLOv5 إذا:

    • أنت بحاجة إلى أداء في الوقت الفعلي على الأجهزة الطرفية (Raspberry Pi، والهواتف المحمولة).
    • أنت تعطي الأولوية لسهولة النشر وتحتاج إلى دعم مدمج للتصدير إلى TensorRT أو CoreML أو TFLite.
    • أنت تفضل إطار عمل مستقر وموثق بشكل جيد مع دعم مجتمعي نشط.
    • يتضمن تطبيقك المراقبة الأمنية أو الملاحة الذاتية حيث يكون الكمون المنخفض أمرًا بالغ الأهمية.
  • اختر YOLOX إذا:

    • أنت تجري بحثًا أكاديميًا تحديدًا حول التصميمات المعمارية الخالية من الـ anchor.
    • أنت تحتاج إلى الحد الأقصى المطلق لـ mAP لمنافسة أو معيار، بغض النظر عن سرعة الاستدلال.
    • لديك مجموعة بيانات متخصصة حيث فشلت بشكل واضح الطرق القائمة على anchor (مثل نسب العرض إلى الارتفاع المتطرفة)، ولم يحل AutoAnchor المشكلة.

الخلاصة

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

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

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

استكشف كيف تقارن نماذج Ultralytics بالبنى الأخرى في هذا المجال:


تعليقات