YOLOX مقابل YOLOv8: التطورات في مجال الكشف عن الأجسام عالية الأداء
في عالم الرؤية الحاسوبية سريع التطور، يعد اختيار البنية المناسبة لتطبيقك المحدد أمرًا بالغ الأهمية. يقدم هذا الدليل مقارنة تقنية مفصلة بين YOLOX، وهو كاشف عالي الأداء بدون مرساة من عام 2021، و Ultralytics YOLOv8، وهو نموذج متطور مصمم ليكون متعدد الاستخدامات وسريع وسهل النشر. على الرغم من أن كلا النموذجين قد قدما مساهمات كبيرة في هذا المجال، فإن فهم الاختلافات في بنيتهما ودعم النظام البيئي سيساعد المطورين على اتخاذ قرارات مستنيرة لمشاريعهم في العالم الواقعي.
نظرة عامة
شكلت YOLOX تحولًا مهمًا في YOLO من خلال التحول إلى آلية خالية من المراسي وفصل رأس التنبؤ. أدى ذلك إلى تبسيط عملية التصميم وتحسين الأداء مقارنةً بنظيراتها المعاصرة مثل YOLOv3 و YOLOv5 v5.0). ومع ذلك، YOLOv8 على سنوات من ردود فعل المجتمع والبحوث، حيث يدمج ميزات متقدمة مثل الكشف بدون مرساة، وإطار عمل موحد لمهام متعددة، وكفاءة تدريب فائقة، وكل ذلك مدعوم Ultralytics الشامل.
YOLOX
- المؤلفون: تشنغ قه، سونغتاو ليو، فنغ وانغ، زيمينغ لي، وجيان صن
- المؤسسة:Megvii
- التاريخ: 2021-07-18
- Arxiv:YOLOX: Exceeding YOLO Series in 2021
- GitHub:Megvii-BaseDetection/YOLOX
YOLOv8
- المؤلفون: Glenn Jocher و Ayush Chaurasia و Jing Qiu
- المؤسسة:Ultralytics
- التاريخ: 2023-01-10
- GitHub:ultralytics/ultralytics
الاختلافات المعمارية
يكمن الاختلاف الأساسي في كيفية تعامل هذه النماذج مع توقع الكائنات واستخراج الميزات.
بنية YOLOX
قدم YOLOX هيكل "رأس منفصل". كانت YOLO التقليدية تربط مهام التصنيف والتحديد المكاني (انحدار الصندوق المحيط) في فرع واحد. قامت YOLOX بفصل هاتين المهمتين، بحجة أن التضارب بين مهام التصنيف والانحدار يحد من الأداء. كما انتقلت إلى تصميم خالٍ من المراسي ، حيث تعاملت مع اكتشاف الكائنات على أنه مشكلة انحدار نقطي، مما قلل من تعقيد الضبط التجريبي لصناديق المراسي. تستخدم SimOTA لتعيين العلامات الديناميكية، وتحسين التنبؤات التي تتطابق مع الكائنات الحقيقية.
بنية YOLOv8
YOLOv8 Ultralytics YOLOv8 مفهوم عدم استخدام المراسي بشكل أكبر. فهي تستخدم وحدة C2f في هيكلها الأساسي، والتي تجمع بين أفضل ميزات C3 (من YOLOv5) و ELAN (من YOLOv7) لتحسين تدفق التدرج مع الحفاظ على بصمة خفيفة الوزن. مثل YOLOX، يستخدم رأسًا منفصلًا ولكنه يقدم مخصصًا متوافقًا مع المهام لتعيين التسميات، والذي يوازن بين درجات التصنيف والتوطين بشكل أكثر فعالية من SimOTA. والأهم من ذلك، YOLOv8 كإطار عمل موحد، يدعم بشكل أساسي تقسيم الحالات، وتقدير الوضع، والكشف عن الكائنات الموجهة (OBB)، والتصنيف.
موازنة الأداء
تحقق Ultralytics توازنًا جيدًا بين السرعة والدقة. YOLOv8 العمود الفقري C2f في YOLOv8 استخراجًا أكثر ثراءً للميزات مع تقليل الحمل الحسابي مقارنةً بـ CSPDarknet المستخدم في البنى القديمة.
مقارنة مقاييس الأداء
يُقارن الجدول التالي نماذج الكشف القياسية في COCO . يوفر YOLOv8 قيمة mAPval أعلى بسرعات استدلال مماثلة أو أسرع، لا سيما على الأجهزة الحديثة التي تستخدم 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 |
| 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 |
ملاحظة: يتم ذكر سرعات YOLOX بشكل عام على وحدات معالجة الرسومات V100، في حين أن YOLOv8 يتم توحيدها علىONNX T4 TensorRT10 و CPU ONNX . يشير مصطلح "params" إلى المعلمات (بالملايين) ويشير مصطلح "FLOPs" إلى العمليات العائمة (بالمليارات).
التدريب وسهولة الاستخدام
أحد أهم العوامل التي تميز Ultralytics YOLOX عن Ultralytics هو تجربة المطور.
ميزة النظام البيئي لـ Ultralytics
YOLOv8 من Python وواجهة سطر الأوامر (CLI) عالية الجودة. يمكن للمطورين الانتقال من التثبيت إلى التدريب على مجموعة بيانات مخصصة في غضون دقائق. يشمل النظام البيئي تكاملاً سلسًا مع أدوات مثل Weights & Biases للتسجيل Ultralytics لإدارة البيانات. علاوة على ذلك، تتيح Ultralytics تدريب النماذج ونشرها عبر الويب دون الحاجة إلى إعدادات بيئة محلية معقدة.
في المقابل، YOLOX هو مستودع أبحاث أكثر تقليدية. على الرغم من قوته، إلا أنه غالبًا ما يتطلب المزيد من التكوين اليدوي لبرامج التدريب والتبعيات البيئية، مما يجعله أكثر صعوبة للمبتدئين أو الفرق التي تتطلب تكرارًا سريعًا.
مثال على الكود: تدريب YOLOv8
تسمح بساطة Ultralytics بكتابة كود موجز يسهل صيانته.
from ultralytics import YOLO
# Load a model (YOLOv8n)
model = YOLO("yolov8n.pt")
# Train on COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
متطلبات الذاكرة
الكفاءة هي أحد المبادئ الأساسية Ultralytics . YOLOv8 تحسين YOLOv8 لاستخدام ذاكرة أقل أثناء التدريب مقارنة بالعديد من البنى الأخرى، بما في ذلك النماذج القائمة على المحولات مثل RT-DETR. وهذا يتيح للباحثين تدريب أحجام دفعات أكبر على وحدات معالجة الرسومات (GPU) المخصصة للمستهلكين (مثل NVIDIA 3060 أو 4070)، مما يتيح الوصول إلى تدريب النماذج عالية الأداء للجميع.
حالات الاستخدام في العالم الحقيقي
غالبًا ما يعتمد اختيار النموذج المناسب على بيئة النشر ومتطلبات المهمة المحددة.
أين يتفوق YOLOv8
- تطبيقات متعددة المهام: نظرًا لأن YOLOv8 يدعم YOLOv8 التجزئة وتقدير الوضع، فهو مثالي للتطبيقات المعقدة مثل تحليلات الرياضة (تتبع حركة اللاعبين ووضعيتهم) أو المركبات ذاتية القيادة (تجزئة حارات السير وكشف الأجسام).
- نشر الحافة: مع تصدير بأمر واحد إلى تنسيقات مثل ONNXو TensorRTو CoreML و TFLite ، YOLOv8 تحسين YOLOv8 بشكل كبير للأجهزة الطرفية مثل Raspberry Pi والهواتف المحمولة.
- النماذج الأولية السريعة: سهولة الاستخدام والأوزان المعدة مسبقًا تجعلها الخيار المفضل للشركات الناشئة والفرق المرنة التي تحتاج إلى التحقق من صحة الأفكار بسرعة.
أين يناسب YOLOX
- أساسيات البحث القديمة: يظل YOLOX أساسًا قويًا للأوراق الأكاديمية التي تقارن بين البنى الخالية من المراسي من حقبة 2021.
- تطبيقات مخصصة محددة: بالنسبة للمستخدمين الذين يستثمرون بكثافة في إطار عمل MegEngine (على الرغم من أن PyTorch أيضًا)، يوفر YOLOX توافقًا أصليًا.
نظرة إلى المستقبل: قوة YOLO26
بينما YOLOv8 معيارًا قويًا ومستخدمًا على نطاق واسع، Ultralytics الابتكار. الإصدار الجديد YOLO26 يمثل قفزة نوعية جديدة إلى الأمام.
بالنسبة للمطورين الذين يبحثون عن الأداء المطلق، يقدم YOLO26 العديد من المزايا الهامة مقارنةً بـ YOLOX و YOLOv8:
- NMS من البداية إلى النهاية: YOLO26 هي تقنية أصلية من البداية إلى النهاية، مما يلغي الحاجة إلى المعالجة اللاحقة لـ Non-Maximum Suppression (NMS). وهذا يقلل من تقلب زمن الاستجابة ويبسط خطوط الإنتاج.
- CPU أسرع CPU : تم تحسين YOLO26 للحوسبة الطرفية، ويوفر CPU أسرع بنسبة تصل إلى 43٪ CPU ، مما يجعله متفوقًا للأجهزة التي لا تحتوي على وحدات معالجة رسومات مخصصة.
- محسّن MuSGD: مستوحى من ابتكارات تدريب LLM، يضمن محسّن MuSGD تدريبًا أكثر استقرارًا وتقاربًا أسرع.
- تحسين اكتشاف الأجسام الصغيرة: بفضل وظائف ProgLoss + STAL، يقدم YOLO26 تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية لمهام التصوير الجوي والتفتيش.
الخلاصة
YOLOv8 كل من YOLOX و YOLOv8 دورًا محوريًا في تطوير تقنية الكشف عن الأجسام. نجح YOLOX في تعميم آليات الكشف بدون مرساة. ومع ذلك، YOLOv8 يوفر حلاً أكثر شمولاً وسهولة في الاستخدام وتعدداً في الاستخدامات لتطوير الذكاء الاصطناعي الحديث. إن دمجه في Ultralytics ودعمه لمهام الرؤية المتعددة، وخيارات النشر السلس تجعله الخيار المفضل لمعظم التطبيقات التجارية والبحثية اليوم.
بالنسبة لأولئك المستعدين لتبني أحدث تقنيات الذكاء الاصطناعي في مجال الرؤية، نوصي بشدة باستكشاف YOLO26 لضمان استمرارية تطبيقاتكم في المستقبل بسرعة وكفاءة NMS.