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

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

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

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

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

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

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

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

يولوكس: المنافس الخالي من المرساة

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

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

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

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

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

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

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

النموذجالحجم
(بالبكسل)
mAPفال
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 عمومًا عددًا أقل من وحدات FLOP لسرعة استدلال معينة. يعد تصميم الرأس المقترن ل YOLOv5 أكثر ملاءمة للأجهزة، مما يسمح بتنفيذ أسرع على كل من وحدات المعالجة المركزية ووحدات معالجة الرسومات.

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

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

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 بالكشف فقط. يدعم إطار العمل تصنيف الصور وتجزئة النماذج، مما يوفر واجهة برمجة تطبيقات موحدة لمهام متعددة. وغالبًا ما تفتقر إلى هذا التنوع في المستودعات الخاصة بالبحث مثل YOLOX، والتي تركز في المقام الأول على الكشف. علاوة على ذلك، تضمن الصيانة النشطة من قبل Ultralytics التوافق مع أحدث إصدارات PyTorch و CUDA مما يقلل من "تعفن الكود" بمرور الوقت.

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

  • اختر Ultralytics YOLOv5 إذا:

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

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

الخلاصة

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

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

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

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


تعليقات