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

YOLOv8 YOLOX: تحليل نماذج الكشف عن الكائنات بدون مرساة

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

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

خلفيات النماذج

إن فهم أصول وأهداف تصميم كل إطار عمل يوفر سياقًا مهمًا لفهم الاختلافات المعمارية بينها ودرجة نضج النظام البيئي.

Ultralytics YOLOv8

تم تطوير YOLOv8 بواسطة Glenn Jocher و Ayush Chaurasia و Jing Qiu في Ultralytics إصداره في 10 يناير 2023، YOLOv8 قفزة كبيرة في Ultralytics . بناءً على النجاح الهائل الذي حققه YOLOv5، YOLOv8 بنية متطورة للغاية وقادرة على التعامل مع مجموعة متنوعة من المهام بشكل أصلي، بما في ذلك اكتشاف الكائنات وتقسيم الحالات وتصنيف الصور وتقدير الوضع.

تكمن ميزته الرئيسية في Ultralytics الذي يتم صيانته جيدًا، والذي يوفر تجربة سلسة "من الصفر إلى القمة" مع Python موحدة، ووثائق شاملة، وتكاملات أصلية مع أدوات MLOps مثل Weights & Biases و Comet.

استكشف YOLOv8 Ultralytics

YOLOX

قدمه Zheng Ge و Songtao Liu و Feng Wang و Zeming Li و Jian Sun من Megvii في 18 يوليو 2021، وكان يهدف YOLOX إلى سد الفجوة بين البحث الأكاديمي والتطبيقات الصناعية. كما هو مفصل في ورقتهم البحثية على Arxiv، أحدث YOLOX ضجة كبيرة بتحويل YOLO إلى تصميم خالٍ من المراسي ودمج رأس منفصل، مما أدى إلى تحسين استقرار التدريب والتقارب.

على الرغم من تأثيره الكبير في عام 2021، يظل مستودع YOLOX GitHub قاعدة برمجية تركز في المقام الأول على البحث. فهو يفتقر إلى التنوع الواسع في المهام وخطوط النشر المحسنة الموجودة في الأطر الحديثة، مما يتطلب مزيدًا من التكوين اليدوي لنشر الإنتاج.

عرض وثائق YOLOX

الابتكارات المعمارية

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

رؤوس منفصلة واستخراج الميزات

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

YOLOv8 هذا المفهوم وحسّنه بشكل كبير. فهو يستخدم وحدة C2f (عنق الزجاجة الجزئي عبر المراحل مع اثنين من التلافيف) المتطورة في هيكله الأساسي، لتحل محل الوحدة C3 القديمة. وهذا يعزز تدفق التدرج وتمثيل الميزات دون إضافة أعباء حسابية كبيرة. علاوة على ذلك، YOLOv8 رأس كشف متقدم بدون مرساة باستخدام Task-Aligned Assigner، حيث يطابق العينات الإيجابية ديناميكيًا بناءً على مزيج من درجات التصنيف و Intersection over Union (IoU)، مما يؤدي إلى دقة فائقة.

كفاءة الذاكرة

تم تصميمYOLO Ultralytics YOLO لتحقيق كفاءة استثنائية في استخدام الذاكرة. مقارنة بالبنى القائمة على المحولات أو قواعد البيانات البحثية غير المُحسّنة، YOLOv8 CUDA أقل بكثير أثناء التدريب، مما يسمح للمطورين باستخدام أحجام دفعات أكبر على الأجهزة الاستهلاكية القياسية.

مقارنة الأداء

عند تقييم النماذج للنشر في العالم الحقيقي، فإن تحقيق التوازن بين الدقة (mAP) ووقت الاستدلال وتعقيد النموذج أمر بالغ الأهمية. يوضح الجدول أدناه مقاييس الأداء على COCO .

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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

كما لوحظ، تتفوق YOLOv8 باستمرار على نظيراتها YOLOX في عدد المعلمات المكافئة. على سبيل المثال، YOLOv8m معدل mAP 50.2٪ مقارنة بـ 46.9٪ لـ YOLOXm، مما يظهر قفزة كبيرة في الدقة مع الحفاظ على سرعات GPU تنافسية باستخدام TensorRT.

التدريب ومزايا النظام البيئي

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

على العكس من ذلك، فإن نظام Ultralytics يزيل هذه التعقيدات، ويوفر Python وواجهة سطر الأوامر (CLI) سهلة الاستخدام للغاية.

Python مبسطة

يتطلب تدريب YOLOv8 المتطور على مجموعة بيانات مخصصة بضع أسطر فقط من التعليمات البرمجية:

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model for object detection
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Easily validate the model
metrics = model.val()

# Export seamlessly to ONNX for production
model.export(format="onnx")

تعمل واجهة برمجة التطبيقات هذه على توحيد سير العمل عبر مهام الكشف والتجزئة والمربعات المحددة (OBB) ، مما يقلل بشكل كبير من وقت طرح التطبيقات الإنتاجية في السوق. علاوة على ذلك، تتيح وظائف التصدير المدمجة التحويل السلس إلى ONNXو OpenVINOو CoreML كتابة مشغلات C++ مخصصة.

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

يعتمد الاختيار بين هذه البنى على قيود مشروعك، على الرغم من أن YOLOv8 أساسًا أكثر مرونة.

  • تحليلات حافة عالية السرعة: للمعالجة في الوقت الفعلي على أجهزة مثل NVIDIA YOLOv8 توازنًا لا مثيل له بين السرعة والدقة، ويمكن نشره بسهولة عبر TensorRT الأصلي TensorRT .
  • البحث الأكاديمي: يظل YOLOX أداة تعليمية قيّمة للباحثين الذين يدرسون الانتقال من المنهجيات القائمة على المراسي إلى المنهجيات الخالية من المراسي في PyTorch.
  • التطبيقات المعقدة متعددة المهام: ستفضل التطبيقات التي تتطلب تتبع الكائنات وتقسيم الحالات في وقت واحد YOLOv8 بشكل كبير، حيث أن هذه القدرات مدمجة مباشرة في Ultralytics .

التطلع إلى المستقبل: نماذج بديلة

على الرغم من أن YOLOv8 تحسناً هائلاً مقارنةً بـ YOLOX، إلا أن مجال الذكاء الاصطناعي يتطور بسرعة مذهلة. بالنسبة للمستخدمين الذين يبدؤون مشاريع جديدة، نوصي بشدة بتقييم Ultralytics . تم إصدار YOLO26 في يناير 2026، وهو يمثل المعيار الذهبي الجديد للذكاء الاصطناعي البصري.

يتميز YOLO26 بتصميم ثوري NMS من البداية إلى النهاية، مما يلغي تمامًا معالجة ما بعد القمع غير الأقصى (Non-Maximum Suppression) من أجل خطوط أنابيب نشر أبسط. بالاقتران مع مُحسِّن MuSGD الجديد وإزالة خسارة بؤرة التوزيع (DFL)، يحقق YOLO26 CPU أسرع بنسبة تصل إلى 43٪ CPU مقارنةً بـ YOLOv8. كما يقدم وظائف خسارة ProgLoss + STAL، مما يوفر تحسينات كبيرة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية للصور الجوية والروبوتات.

بدلاً من ذلك، يمكن للمستخدمين أيضًا النظر في YOLO11 كبديل قوي آخر مدعوم جيدًا ضمن نظام Ultralytics والذي يوفر أداءً قويًا في مختلف المهام.

الخلاصة

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


تعليقات