YOLOv8 ضد YOLOX: نظرة فاحصة فنية
يُعد اختيار نموذج الكشف عن الأجسام المناسب قرارًا بالغ الأهمية يوازن بين الدقة والسرعة وتعقيد النشر. تقدم هذه الصفحة مقارنة فنية شاملة بين نموذجين قويين في عائلة YOLO: Ultralytics YOLOv8 و YOLOX. في حين أن كلاهما خالٍ من المرساة ومصمم لتحقيق أداء عالٍ، إلا أنهما يختلفان اختلافًا كبيرًا في البنية وتعدد الاستخدامات ودعم النظام البيئي. سوف نتعمق في هذه الاختلافات لمساعدتك في اختيار أفضل نموذج لمشروع الرؤية الحاسوبية الخاص بك.
Ultralytics YOLOv8: تعدد الاستخدامات والأداء
- المؤلفون: Glenn Jocher و Ayush Chaurasia و Jing Qiu
- المنظمة: Ultralytics
- التاريخ: 2023-01-10
- GitHub: https://github.com/ultralytics/ultralytics
- المستندات: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8 هو نموذج حديث من Ultralytics يعتمد على نجاحات إصدارات YOLO السابقة. يقدم شبكة أساسية جديدة ورأس اكتشاف جديد خالٍ من المرساة ووظيفة خسارة جديدة، مما يضع معايير جديدة لكل من السرعة والدقة. إن العامل الرئيسي الذي يميز YOLOv8 هو تصميمه كإطار عمل شامل، وليس مجرد كاشف للأجسام.
البنية والميزات الرئيسية
تتميز بنية YOLOv8 بأنها عالية الدقة، وتتميز بوحدة C2f (عنق الزجاجة الجزئي للمرحلة المتقاطعة مع 2 من الالتواءات) التي تحل محل وحدة C3 من YOLOv5. يوفر هذا التغيير تدفقًا أكثر ثراءً للتدرج ويعزز الأداء. كونه خاليًا من الـ anchors، فإنه يتوقع مباشرة مركز الكائن، مما يقلل من عدد توقعات الصندوق ويسرع قمع غير الأقصى (NMS).
نقاط القوة
- توازن أداء فائق: تُظهر نماذج YOLOv8 مقايضة استثنائية بين الدقة (mAP) وسرعة الاستدلال، متفوقة على العديد من الكاشفات الأخرى في الوقت الفعلي، بما في ذلك YOLOX، عبر مختلف المقاييس (انظر الجدول أدناه).
- تنوع المهام: على عكس النماذج التي تركز فقط على الاكتشاف، فإن YOLOv8 هو قوة متعددة المهام. فهو يدعم اكتشاف الكائنات و تقسيم المثيلات و تصنيف الصور و تقدير الوضع و تتبع الكائنات داخل إطار عمل واحد وموحد. هذا التنوع يجعله خيارًا مثاليًا للمشاريع المعقدة.
- سهولة الاستخدام: توفر Ultralytics تجربة مستخدم مبسطة مع واجهة Python API بسيطة و أوامر CLI قوية. التوثيق الشامل والعديد من البرامج التعليمية تجعل من السهل على كل من المبتدئين والخبراء تدريب النماذج والتحقق منها ونشرها.
- نظام بيئي مُدار بشكل جيد: يتم دعم YOLOv8 من خلال التطوير النشط والدعم من فريق Ultralytics ومجتمع مفتوح المصدر كبير. يتكامل بسلاسة مع أدوات مثل Ultralytics HUB لـ MLOps، ومنصات تتبع التجارب مثل Weights & Biases.
- كفاءة التدريب والذاكرة: تم تصميم النموذج من أجل التدريب الفعال، مع توفر أوزان مُدرَّبة مسبقًا بسهولة على مجموعات بيانات مثل COCO. يتطلب عمومًا ذاكرة CUDA أقل أثناء التدريب والاستنتاج مقارنةً بالتصميمات المعمارية الأكثر تعقيدًا.
نقاط الضعف
- كما هو الحال مع أي نموذج عالي الأداء، تتطلب متغيرات YOLOv8 الأكبر (L/X) موارد حسابية كبيرة للتدريب و الاستنتاج في الوقت الفعلي على مدخلات عالية الدقة.
حالات الاستخدام المثالية
إن تعدد استخدامات YOLOv8 وسهولة استخدامه يجعله مثاليًا للتطبيقات التي تتطلب توازنًا بين الدقة العالية والأداء في الوقت الفعلي:
- الكشف عن الكائنات في الوقت الفعلي: تطبيقات مثل أنظمة الأمان و الروبوتات و المركبات ذاتية القيادة.
- حلول رؤية متعددة الاستخدامات للذكاء الاصطناعي: في مختلف الصناعات مثل الزراعة و التصنيع و الرعاية الصحية.
- النماذج الأولية والنشر السريع: ممتاز لدورات تطوير المشاريع السريعة نظرًا لواجهته سهلة الاستخدام وعمليات التكامل مثل TensorRT و OpenVINO.
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 آخر خالٍ من المرساة يهدف إلى تحقيق أداء عالٍ بتصميم مبسط. تم تقديمه بواسطة Megvii في عام 2021 وقدم مساهمات كبيرة من خلال دمج التقنيات المتقدمة من مجال الكشف عن الكائنات في إطار عمل YOLO.
البنية والميزات الرئيسية
يستخدم YOLOX أيضًا نهجًا خاليًا من الارتكاز لتبسيط التدريب وتحسين التعميم. تتضمن ابتكاراته المعمارية الرئيسية رأسًا منفصلاً، يفصل بين مهام التصنيف والتوطين، واستراتيجية متقدمة لتعيين التسميات تسمى SimOTA (تعيين النقل الأمثل المبسط). كما أنه يستخدم تقنيات زيادة البيانات القوية مثل MixUp.
نقاط القوة
- دقة عالية: يحقق YOLOX دقة تنافسية، والتي كانت الأحدث في وقت إصدارها، خاصةً في متغيرات النموذج الأكبر.
- استدلال فعال: يوفر سرعات استدلال سريعة مناسبة للعديد من التطبيقات في الوقت الفعلي، خاصةً على أجهزة GPU.
- الركائز الخلفية المرنة: يدعم ركائز خلفية متنوعة، ممّا يسمح بدرجة من التخصيص.
نقاط الضعف
- قيود المهمة: يركز YOLOX بشكل أساسي على اكتشاف الأجسام، ويفتقر إلى تعددية المهام المدمجة في YOLOv8 (التجزئة، والوضع، وما إلى ذلك). يتطلب تنفيذ هذه المهام قدرًا كبيرًا من التعليمات البرمجية والجهد المخصصين.
- النظام البيئي والدعم: على الرغم من أنه مفتوح المصدر، إلا أنه يفتقر إلى النظام البيئي المتكامل والأدوات الشاملة (مثل Ultralytics HUB)، والمستوى العالي من الصيانة المستمرة ودعم المجتمع الموجود في Ultralytics YOLOv8.
- تأخر الأداء: كما هو موضح في الجدول أدناه، تتفوق نماذج YOLOX بشكل عام على نظيراتها في YOLOv8 في المقياس الحاسم للدقة.
- أداء وحدة المعالجة المركزية: سرعات الاستدلال لوحدة المعالجة المركزية غير متاحة بسهولة في المعايير الرسمية، على عكس YOLOv8 التي توفر مقاييس أداء واضحة لوحدة المعالجة المركزية، مما يجعل من الصعب تقييمها لعمليات النشر المرتبطة بوحدة المعالجة المركزية.
حالات الاستخدام المثالية
يعتبر YOLOX مناسبًا تمامًا للتطبيقات التي تعطي الأولوية لدقة عالية في الكشف عن الكائنات حيث لا تكون إمكانات المهام المتعددة مطلوبة:
- اكتشاف الأجسام عالي الأداء: السيناريوهات التي تتطلب دقة قوية في اكتشاف الأجسام، كما هو الحال في الفحص الصناعي.
- النشر على الحافة: المتغيرات الأصغر مثل YOLOX-Nano مناسبة للأجهزة الطرفية ذات الموارد المحدودة.
- البحث والتطوير: تصميمها يجعلها خيارًا قابلاً للتطبيق للبحث الأكاديمي في الكاشفات الخالية من المرساة.
تحليل الأداء: YOLOv8 ضد YOLOX
تكشف المقارنة المباشرة لمقاييس الأداء على مجموعة بيانات COCO عن المفاضلات الرئيسية بين YOLOv8 و YOLOX. يُظهر المقياس الأكثر أهمية، وهو الدقة (mAP)، ميزة واضحة لـ YOLOv8. عبر جميع أحجام النماذج القابلة للمقارنة، تقدم YOLOv8 درجات mAP أعلى بشكل ملحوظ. على سبيل المثال، تحقق YOLOv8x 53.9 mAP، متفوقة بشكل حاسم على 51.1 mAP الخاصة بـ YOLOX-x.
عند تحليل الكفاءة، تصبح الصورة أكثر دقة. تميل نماذج YOLOX إلى أن تكون أكثر إحكاما من حيث المعلمات وعمليات الفاصلة العائمة في الثانية (FLOPs) على المقاييس الصغيرة (s) والمتوسطة (m). ومع ذلك، تصبح نماذج YOLOv8 أكثر كفاءة في استخدام المعلمات على المقاييس الكبيرة (l) والكبيرة جدًا (x). بالنسبة لسرعة الاستدلال، تُظهر YOLOX تفوقًا طفيفًا للنماذج متوسطة الحجم على وحدة معالجة الرسوميات GPU، بينما YOLOv8 أسرع على أكبر نطاق.
الأهم من ذلك، يجب موازنة هذه الكفاءة مقابل الدقة الفائقة لـ YOLOv8. علاوة على ذلك، توفر Ultralytics معايير CPU شفافة، مما يدل على أن YOLOv8 مُحسَّن للغاية لاستنتاج CPU - وهو عامل حاسم للعديد من التطبيقات الواقعية حيث لا تتوفر GPU وهو مقياس يفتقر YOLOX إلى بيانات رسمية بشأنه.
النموذج | الحجم (بالبكسل) |
mAPval 50-95 |
السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) |
السرعة T4 TensorRT10 (بالمللي ثانية) |
المعلمات (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
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 |
الخلاصة: لماذا Ultralytics YOLOv8 هو الخيار المفضل
في حين أن YOLOX كانت خطوة كبيرة إلى الأمام لكاشفات الكائنات الخالية من الارتكاز، فإن Ultralytics YOLOv8 يمثل حلاً أكثر تقدمًا وتنوعًا وسهولة في الاستخدام. لا يتفوق YOLOv8 على YOLOX في مقياس الكشف عن الكائنات الأساسي للدقة فحسب، بل يوسع أيضًا قدراته ليشمل مجموعة واسعة من مهام الرؤية.
بالنسبة للمطورين والباحثين، فإن الاختيار واضح. يقدم YOLOv8:
- دقة وكفاءة أعلى: حزمة أداء عامة أفضل، تعطي الأولوية للدقة مع الحفاظ على سرعات تنافسية.
- دعم المهام المتعددة: إطار عمل موحد للكشف والتجزئة والتصنيف والوضع والتتبع.
- نظام بيئي مزدهر: تحديثات مستمرة، ووثائق شاملة، ودعم احترافي، وأدوات قوية مثل Ultralytics HUB.
- مرونة النشر: مقاييس أداء شفافة لكل من GPU و CPU، مع سهولة التصدير إلى تنسيقات مثل ONNX و TensorRT.
بالنسبة للمشاريع التي تتطلب أداءً متطورًا وسهولة في الاستخدام وإطار عمل قوي ومُدار بشكل جيد، فإن YOLOv8 هو الخيار النهائي.
استكشف نماذج أخرى
يجب ألا يتوقف استكشافك لنماذج الكشف عن الكائنات هنا. يتطور هذا المجال باستمرار. ضع في اعتبارك مقارنة هذه النماذج بنماذج أخرى للحصول على صورة كاملة:
- YOLOv8 ضد YOLOv7
- YOLOv8 ضد YOLOv5
- RT-DETR مقابل YOLOv8
- YOLOX ضد YOLOv7
- استكشف أحدث النماذج من Ultralytics، مثل YOLOv10 و YOLO11، التي تدفع حدود الأداء إلى أبعد من ذلك.