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

YOLOv5 YOLOX: مقارنة تقنية بين هياكل الكشف عن الكائنات

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

أصول النموذج ونظرة عامة

YOLOv5
المؤلف: جلين جوشر
المنظمة: Ultralytics
التاريخ: 2020-06-26
GitHub: yolov5

YOLOX
المؤلفون: Zheng Ge، Songtao Liu، Feng Wang، Zeming Li، و Jian Sun
المنظمة: Megvii
التاريخ: 2021-07-18
GitHub: Megvii-BaseDetection/YOLOX

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

مقاييس الأداء

الجدول التالي يقارن أداء كلا النموذجين. في حين حقق YOLOX أداءً أعلى قليلاً mAP في وقت إصداره، YOLOv5 يُظهر YOLOv5 سرعات استدلال أعلى، خاصة على CPU، وتعقيدًا أقل بكثير في النشر.

النموذجالحجم
(بالبكسل)
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: المعيار القائم على المرساة

YOLOv5 آلية قائمة على المراسي. وهو يتنبأ بالإزاحة من مربعات المراسي المحددة مسبقًا، مما يساعد على استقرار التدريب للأجسام ذات المقاييس المعروفة.

  • العمود الفقري: يستخدم CSPDarknet53 المعدل، مما يعزز تدفق التدرج ويقلل من الاختناقات الحسابية.
  • زيادة البيانات: رائد في الاستخدام المكثف لتقنية Mosaic augmentation و MixUp مسار التدريب، مما أدى إلى تحسين قوة النموذج بشكل كبير في حالات الانسداد.
  • التركيز: تم تحسين البنية بشكل كبير لتناسب الاستخدام في العالم الحقيقي، مما يضمن توزيع الطبقات بكفاءة على مسرعات الأجهزة مثل Edge TPU.

YOLOX: المتحدي الخالي من المراسي

يتحول YOLOX إلى نهج بدون مرساة ، حيث يتنبأ بمركز الكائن مباشرة.

  • رأس منفصل: على عكس YOLO السابقة YOLO يفصل YOLOX مهام التصنيف والتحديد المكاني إلى "رؤوس" مختلفة، مما يحل، حسب رأيهم، التضارب بين هذين الهدفين أثناء التقارب.
  • SimOTA: استراتيجية متقدمة لتخصيص العلامات الديناميكية تعتبر عملية التدريب مشكلة نقل مثالية.
  • مرجع: للحصول على تفاصيل تقنية متعمقة، راجع ورقة YOLOX arXiv.

المفاضلة بين الرؤوس المنفصلة

في حين أن الرأس المنفصل في YOLOX يحسن سرعة ودقة التقارب، إلا أنه غالبًا ما يؤدي إلى زيادة الحمل الحسابي، مما يؤدي إلى استنتاج أبطأ قليلاً مقارنة بتصميم الرأس المقترن الموجود في YOLOv5 YOLOv8.

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

عند تقييم نماذج الإنتاج، فإن النظام البيئي المحيط بها لا يقل أهمية عن البنية نفسها. وهنا يأتي دور Ultralytics ميزة واضحة.

YOLOv5 مُدمج في نظام بيئي ناضج ومُحافظ عليه جيدًا. يستفيد المستخدمون من Ultralytics (المعروفة سابقًا باسم HUB)، التي تعمل على تبسيط عملية تعليق مجموعات البيانات وتدريبها ونشرها. تتعامل المنصة مع تعقيدات البنية التحتية، مما يتيح للمطورين التركيز على البيانات والنتائج.

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

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

التطور: أدخل YOLO26

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

تم تصميم YOLO26 ليكون التوازن المثالي بين الأداء والحوسبة الطرفية والتحليل في الوقت الفعلي.

لماذا الترقية إلى YOLO26؟

  • NMS من البداية إلى النهاية: مثل YOLOX، يبتعد YOLO26 عن المراسي، ولكنه يذهب إلى أبعد من ذلك ليصبح خالٍ من البداية إلى النهاية بشكل أصلي. وهذا يلغي Non-Maximum Suppression (NMS)، وهي خطوة ما بعد المعالجة التي غالبًا ما تعقد النشر على أجهزة مثل FPGAs أو CoreML.
  • MuSGD Optimizer: مستوحى من تقنيات تدريب نماذج اللغة الكبيرة (LLM) (على وجه التحديد من Moonshot AI's Kimi K2)، يضمن هذا المحسن الهجين ديناميكيات تدريب مستقرة، مما يوفر استقرار LLM لمهام الرؤية بشكل فعال.
  • السرعة: يوفر YOLO26 CPU أسرع بنسبة تصل إلى 43٪ CPU مقارنةً بالأجيال السابقة، وذلك من خلال إزالة الخسارة البؤرية للتوزيع (DFL) وتقليص البنية.
  • ProgLoss + STAL: تستهدف وظائف الخسارة المحسّنة هذه على وجه التحديد التعرف على الأجسام الصغيرة، معالجة نقطة ضعف شائعة في أجهزة الكشف السابقة.

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

تعدد الاستخدامات عبر المهام

على عكس YOLOX، الذي يركز بشكل أساسي على الكشف، يدعم Ultralytics مجموعة كاملة من المهام الجاهزة للاستخدام، بما في ذلك تقدير الوضع، وتجزئة الحالات، والكشف عن الكائنات الموجهة (OBB).

تطبيقات عملية في أرض الواقع

غالبًا ما يعتمد الاختيار بين هذه النماذج على سيناريو النشر.

  • الفحص الصناعي (YOLOv5): بالنسبة لخطوط الإنتاج التي تتطلب إنتاجية عالية، فإن تصميم الرأس المزدوج و TensorRT لتحسين Ultralytics يضمنان الحد الأدنى من زمن الاستجابة.
  • المراقبة الجوية (YOLO26): بفضل وظائف ProgLoss + STAL الجديدة، يتفوق YOLO26 في اكتشاف الأجسام الصغيرة مثل المركبات أو الماشية في صور الطائرات بدون طيار، وهي مهمة كانت النماذج القديمة القائمة على المراسي تواجه صعوبة في بعض الأحيان.
  • البحوث الأكاديمية (YOLOX): غالبًا ما يستخدم الباحثون الذين يدرسون استراتيجيات تخصيص العلامات YOLOX كأساس مرجعي نظرًا لتطبيقه الواضح لـ SimOTA.

مثال على التعليمات البرمجية

يتم الانتقال بين النماذج في Ultralytics بشكل سلس. يوضح الكود التالي كيفية تحميل وتشغيل الاستدلال، مع عرض واجهة برمجة التطبيقات الموحدة التي تعمل مع YOLOv5 و YOLO11 و YOLO26 الموصى به.

from ultralytics import YOLO

# Load a model (YOLOv5 or the recommended YOLO26)
# The API unifies usage, making it easy to swap models for comparison
model = YOLO("yolo26n.pt")  # Loading the latest Nano model

# Run inference on a local image
results = model("path/to/image.jpg")

# Process the results
for result in results:
    result.show()  # Display prediction
    result.save(filename="result.jpg")  # Save to disk

الخلاصة

اكتسب كل YOLOv5 YOLOX مكانتهما في تاريخ الرؤية الحاسوبية. YOLOv5 معايير سهولة الاستخدام والنشر، بينما دفع YOLOX حدود الكشف بدون مرساة.

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


تعليقات