YOLOX ضد YOLOv5: استكشاف الابتكار الخالي من المرساة والكفاءة المثبتة
في المشهد المتطور بسرعة لـ اكتشاف الكائنات، يعد اختيار البنية الصحيحة أمرًا محوريًا لنجاح المشروع. تستكشف هذه المقارنة نموذجين مؤثرين: YOLOX، وهو قوة أكاديمية معروفة بتصميمها الخالي من المرساة، و YOLOv5، وهو المعيار الصناعي للسرعة وسهولة النشر. لقد شكل كلا النموذجين مجال رؤية الحاسوب، ومع ذلك فإنهما يخدمان احتياجات متميزة اعتمادًا على ما إذا كانت أولويتك تكمن في دقة الدرجة البحثية أو كفاءة جاهزة للإنتاج.
تحليل الأداء: السرعة والدقة والكفاءة
عند تقييم YOLOX و YOLOv5، غالبًا ما يرجع التمييز إلى المفاضلة بين الدقة الأولية والكفاءة التشغيلية. قدم YOLOX تغييرات معمارية كبيرة، مثل الرأس المفصول وآلية خالية من المرساة، مما سمح لها بتحقيق أحدث نتائج mAP (متوسط الدقة) عند إصدارها. يتفوق في السيناريوهات التي يكون فيها لكل نقطة مئوية من الدقة أهمية، خاصةً في المعايير الصعبة مثل COCO.
على العكس من ذلك، تم تصميم Ultralytics YOLOv5 مع التركيز على أداء "العالم الحقيقي". إنه يعطي الأولوية لـ سرعة الاستدلال وزمن انتقال منخفض، مما يجعله مناسبًا بشكل استثنائي لتطبيقات الأجهزة المحمولة والأنظمة المدمجة وأجهزة الذكاء الاصطناعي الطرفية. في حين أن YOLOX قد يكون له ميزة طفيفة في mAP للنماذج الكبيرة المحددة، إلا أن YOLOv5 يتفوق عليه باستمرار في الإنتاجية (إطارات في الثانية) ومرونة النشر، وذلك بالاستفادة من نظام Ultralytics البيئي الشامل.
يوفر الجدول أدناه مقارنة تفصيلية جنبًا إلى جنب للنماذج عبر مختلف الأحجام. لاحظ كيف تحافظ YOLOv5 على دقة تنافسية مع توفير أوقات استدلال أسرع بشكل ملحوظ، خاصة عند التحسين باستخدام TensorRT.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| 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 |
YOLOX: المنافس الخالي من الـ Anchor
تم تطوير YOLOX بواسطة باحثين في Megvii لسد الفجوة بين سلسلة YOLO والتطورات الأكاديمية في الكشف الخالي من المرساة. من خلال إزالة قيد مربعات المرساة المحددة مسبقًا، يبسّط YOLOX عملية التدريب ويقلل الحاجة إلى الضبط التجريبي.
- المؤلفون: تشنغ قه، سونغتاو ليو، فنغ وانغ، زيمينغ لي، وجيان صن
- المؤسسة:Megvii
- التاريخ: 2021-07-18
- Arxiv:https://arxiv.org/abs/2107.08430
- GitHub:https://github.com/Megvii-BaseDetection/YOLOX
- الوثائق:https://yolox.readthedocs.io/en/latest/
الهندسة المعمارية والابتكارات
يتضمن YOLOX رأسًا مفصولًا، يفصل مهام التصنيف والانحدار إلى فروع مختلفة. يتناقض هذا التصميم مع الرؤوس المقترنة لإصدارات YOLO السابقة ويحسن سرعة التقارب والدقة. علاوة على ذلك، فإنه يستخدم SimOTA، وهي إستراتيجية متقدمة لتعيين التسميات تقوم بتعيين عينات موجبة ديناميكيًا، مما يعزز قوة النموذج في المشاهد المزدحمة.
نقاط القوة والضعف
تكمن القوة الأساسية لـ YOLOX في سقف الدقة العالية، خاصةً مع أكبر متغيراته (YOLOX-x)، وتصميمه النظيف والخالي من المرساة والذي يجذب الباحثين. ومع ذلك، تأتي هذه الفوائد مع مفاضلات. يضيف الرأس المفصول تعقيدًا حسابيًا، مما يؤدي غالبًا إلى استدلال أبطأ مقارنة بـ YOLOv5. بالإضافة إلى ذلك، باعتباره نموذجًا يركز على البحث، فإنه يفتقر إلى الأدوات المتماسكة وسهلة الاستخدام الموجودة في نظام Ultralytics البيئي، مما قد يعقد التكامل في خطوط الأنابيب التجارية.
حالات الاستخدام المثالية
- البحث الأكاديمي: تجربة معماريات الكشف واستراتيجيات تعيين التسميات الجديدة.
- مهام عالية الدقة: السيناريوهات التي تفوق فيها زيادة بنسبة 1-2٪ في mAP تكلفة الاستدلال الأبطأ، مثل تحليلات الفيديو في وضع عدم الاتصال.
- الكشف عن الكائنات الكثيفة: البيئات التي تحتوي على كائنات مزدحمة للغاية حيث يعمل SimOTA بشكل جيد.
YOLOv5: معيار الإنتاج
منذ إصداره في عام 2020، أصبح YOLOv5 من Ultralytics النموذج المفضل للمطورين في جميع أنحاء العالم. إنه يحقق توازنًا استثنائيًا بين الأداء والتطبيق العملي، مدعومًا بمنصة مصممة لتبسيط دورة حياة عمليات تعلم الآلة (MLOps) بأكملها.
- المؤلف: جلين جوتشر
- المؤسسة:Ultralytics
- التاريخ: 2020-06-26
- GitHub:https://github.com/ultralytics/yolov5
- الوثائق:https://docs.ultralytics.com/models/yolov5/
الهندسة المعمارية والنظام البيئي
يستخدم YOLOv5 عمودًا فقريًا CSPNet وعنق شبكة تجميع المسار (PANet)، وهو مُحسَّن لاستخراج الميزات بكفاءة. على الرغم من أنه نشر في الأصل النهج المستند إلى المرساة في PyTorch، إلا أن أعظم أصوله هو النظام البيئي المحيط. يستفيد المستخدمون من التصدير التلقائي إلى تنسيقات مثل ONNX و CoreML و TFLite، بالإضافة إلى التكامل السلس مع Ultralytics HUB لتدريب النماذج وإدارتها.
هل تعلم؟
لا تقتصر YOLOv5 على المربعات المحيطة. وهي تدعم مهام متعددة بما في ذلك instance segmentation و image classification، مما يجعلها أداة متعددة الاستخدامات لخطوط رؤية معقدة.
نقاط القوة والضعف
سهولة الاستخدام هي السمة المميزة لـ YOLOv5. باستخدام Python API بسيط، يمكن للمطورين تحميل الأوزان المدربة مسبقًا وتشغيل الاستدلال في بضعة أسطر فقط من التعليمات البرمجية. النموذج مُحسَّن للغاية من أجل السرعة، مما يوفر باستمرار زمن انتقال أقل على كل من وحدات المعالجة المركزية ووحدات معالجة الرسومات مقارنةً بـ YOLOX. كما أنه يتميز بمتطلبات ذاكرة أقل أثناء التدريب، مما يجعله متاحًا على الأجهزة القياسية. في حين أن تصميمه القائم على المرساة يتطلب تطور المرساة لمجموعات البيانات المخصصة (تتم معالجتها تلقائيًا بواسطة YOLOv5)، فإن موثوقيته و النظام البيئي الذي تتم صيانته جيدًا يجعله متفوقًا للإنتاج.
حالات الاستخدام المثالية
- تطبيقات في الوقت الفعلي: المراقبة بالفيديو، والقيادة الذاتية، والروبوتات حيث يكون زمن الوصول المنخفض أمرًا بالغ الأهمية.
- النشر على الحافة: التشغيل على Raspberry Pi أو NVIDIA Jetson أو الأجهزة المحمولة نظرًا لبنيتها الفعالة.
- المنتجات التجارية: النماذج الأولية السريعة والنشر حيث يلزم الدعم طويل الأجل وسهولة التكامل.
- رؤية متعددة المهام: المشاريع التي تتطلب detection و segmentation و classify داخل إطار عمل واحد.
مثال على التعليمات البرمجية: تشغيل YOLOv5 مع Ultralytics
تجعل حزمة Ultralytics Python استخدام نماذج YOLOv5 أمرًا في غاية السهولة. يوجد أدناه مثال لكيفية تشغيل الاستدلال باستخدام نموذج مُدرَّب مسبقًا.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model (Nano version for speed)
model = YOLO("yolov5nu.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
الخلاصة: اتخاذ القرار الصحيح
يمثل كلا النموذجين إنجازات كبيرة في رؤية الحاسوب، لكنهما يلبيان احتياجات جماهير مختلفة. يعتبر YOLOX خيارًا هائلاً للباحثين الذين يدفعون حدود الاكتشاف الخالي من المرساة والذين يشعرون بالراحة في التنقل في مجموعة أدوات أكثر تجزئة.
ومع ذلك، بالنسبة للغالبية العظمى من المطورين والمهندسين والشركات، يظل Ultralytics YOLOv5 هو الخيار الأفضل. إن جمعه الفائز بين السرعة التي لا مثيل لها و تعدد الاستخدامات و النظام البيئي القوي والنشط يضمن أنه يمكنك الانتقال من المفهوم إلى النشر بأقل قدر من الاحتكاك. علاوة على ذلك، يوفر اعتماد إطار عمل Ultralytics مسار ترقية واضحًا إلى نماذج الجيل التالي مثل YOLO11، الذي يجمع بين أفضل تصميم خالٍ من المرساة وكفاءة Ultralytics المميزة.
مقارنات النماذج الأخرى
استكشف كيف تقارن هذه النماذج بالبنى الأخرى للعثور على الأنسب لاحتياجاتك الخاصة:
- YOLO11 مقارنة بـ YOLOX
- YOLOv8 مقابل YOLOX
- YOLOv10 مقابل YOLOX
- RT-DETR ضد YOLOX
- EfficientDet مقابل YOLOX
- YOLOv5 مقارنة بـ YOLOv8