YOLOv10 مقابل YOLOX#
يشهد مجال الرؤية الحاسوبية تطورات سريعة في بنى كشف الكائنات بالوقت الفعلي. وتستعرض هذه المقارنة التقنية المفصلة نموذجين مؤثرين أسهما في تطوير كفاءة الكواشف وتصميمها: YOLOv10 وYOLOX. ومن خلال فحص الفروق المعمارية ومقاييس الأداء ومنهجيات التدريب، يستطيع المطورون والباحثون اتخاذ قرارات مدروسة لنشر أنظمة رؤية متينة.
خلفية النماذج ونشأتها#
يوفر فهم أصول نماذج التعلم العميق هذه سياقًا قيّمًا لأهدافها المعمارية وحالات الاستخدام المستهدفة.
YOLOv10: الاستغناء عن NMS لتحقيق اكتشاف شامل من البداية إلى النهاية#
طُوّر YOLOv10 لمعالجة اختناقات زمن الاستجابة المزمنة، وقدم نهجًا أصيلًا شاملًا من البداية إلى النهاية لعائلة YOLO.
- المؤلفون: Ao Wang وHui Chen وLihao Liu وآخرون
- الجهة: جامعة تسينغهوا
- التاريخ: 23 مايو 2024
- arXiv: 2405.14458
- GitHub: THU-MIG/yolov10
- الوثائق: وثائق Ultralytics YOLOv10
YOLOX: ردم الفجوة بين البحث والصناعة#
ظهرت YOLOX بوصفها إصدارًا خاليًا من المراسي لتصميم YOLO التقليدي، وقدّمت منهجية أبسط بأداء تنافسي، تستهدف تحديدًا تسهيل النشر في البيئات الصناعية.
- المؤلفون: Zheng Ge وSongtao Liu وFeng Wang وZeming Li وJian Sun
- المؤسسة: Megvii
- التاريخ: 18 يوليو 2021
- arXiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
- التوثيق: التوثيق الرسمي لـ YOLOX
تعرّف على مزيد من المعلومات عن YOLOX
أبرز الملامح المعمارية والابتكارات#
يختلف كلا الإطارين عن كواشف الأجسام التقليدية القائمة على المراسي، لكنهما يعالجان مشكلات مختلفة في مسار اكتشاف الأجسام.
بنية YOLOX#
قدّمت YOLOX عدة تحديثات مهمة لتصميم YOLO في عام 2021. وتمثّل إسهامها الأساسي في التحول إلى تصميم كاشف خالٍ من المراسي. ومن خلال التخلص من مربعات المراسي المحددة مسبقًا، قلّلت YOLOX عدد معلمات التصميم وعمليات الضبط الاستدلالي المطلوبة لمجموعات البيانات المختلفة.
علاوة على ذلك، تستخدم YOLOX رأسًا مفصولًا يفصل بين مهمتي التصنيف والانحدار. وقد عالج ذلك التعارض بين الهدفين وسرّع التقارب أثناء التدريب. كما تستخدم YOLOX SimOTA لتعيين التسميات ديناميكيًا، ما يحسّن التعامل مع المشاهد المزدحمة وحالات الحجب الشائعة في مجموعة بيانات COCO.
تقلّل التصاميم الخالية من المراسي، مثل التصميم الذي تستخدمه YOLOX، تعقيد ضبط النموذج. فلم يعد المطورون بحاجة إلى تنفيذ تجميع k-means على مجموعات البيانات المخصصة لتحديد أحجام مربعات المراسي المثلى، ما يوفر وقت الإعداد.
بنية YOLOv10#
على الرغم من أن YOLOX حسّنت رأس الكشف، فإنها ظلت تعتمد على كبت غير الأعظم (NMS) أثناء الاستدلال، ما يؤدي إلى تفاوت زمن الاستجابة. وقد استهدفت YOLOv10 هذا القيد تحديدًا من خلال تقديم استراتيجية التعيين المزدوج المتسق للتدريب الخالي من NMS. أثناء التدريب، تستخدم YOLOv10 تعيينات تسميات من واحد إلى متعدد ومن واحد إلى واحد، أما أثناء الاستدلال، فيمكنها الاستغناء تمامًا عن الرأس من واحد إلى متعدد وإخراج التنبؤات من دون معالجة لاحقة باستخدام NMS (في حزمة Ultralytics، اختر هذا الرأس باستخدام nms=False).
تتميز YOLOv10 أيضًا بتصميم شامل للنموذج يوازن بين الكفاءة والدقة. ويشتمل هذا التصميم على رؤوس تصنيف خفيفة الوزن وخفض أخذ عينات مفصول مكانيًا وقنويًا، ما يقلل عدد المعلمات وعمليات FLOPs من دون التضحية بالدقة.
مقارنة الأداء#
يكشف تقييم هذه النماذج على عتاد مثل وحدة معالجة الرسومات NVIDIA T4 عن مزايا متميزة بحسب الحجم. ويقارن الجدول أدناه بين عائلتي النماذج.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (ms) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| 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 |
كما يتضح أعلاه، تتوسع YOLOv10 بكفاءة. يحقق الطراز YOLOv10x أعلى دقة (54.4 mAP)، بينما يقدم الطراز YOLOv10n أسرع استدلال مُبلّغ عنه باستخدام TensorRT. وعلى النقيض، يتميز نموذج YOLOX-Nano بأصغر حجم (0.91M معلمة عند 416 بكسل)، ما يجعله مناسبًا للبيئات شديدة القيود.
منهجيات التدريب ومتطلبات الموارد#
عند تنفيذ النماذج في بيئات الإنتاج، لا تقل منظومة التدريب ومتطلبات الموارد أهمية عن سرعة الاستدلال الخام.
تعتمد YOLOX على قاعدة برمجية أقدم، وقد تكون إدارة تبعياتها وإعدادات بيئتها مرهقة ضمن حزم البرمجيات الحالية.
في المقابل، تتكامل YOLOv10 مع منظومة Ultralytics، ما يسهّل تجربة المطور. كما تستخدم نماذج Ultralytics YOLO ذاكرة CUDA أقل أثناء التدريب من البنى القائمة على Transformer مثل RT-DETR.
مثال على الشفرة: تدريب مبسط#
باستخدام واجهة API الموحدة من Ultralytics، يمكنك تدريب النماذج باستخدام بضعة أسطر فقط من Python، من دون الحاجة إلى ترجمة عوامل C++ يدويًا أو تحرير ملفات إعداد معقدة.
from ultralytics import YOLO
# تهيئة نموذج YOLOv10 مدرّب مسبقًا
model = YOLO("yolov10s.pt")
# تدريب النموذج على مجموعة بيانات COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# التحقق من أداء النموذج
metrics = model.val()
# تصدير النموذج المحسّن إلى تنسيق ONNX
model.export(format="onnx")تتيح هذه الصياغة البسيطة الوصول الفوري إلى الدقة المختلطة التلقائية وزيادة البيانات تلقائيًا والتكامل مع أدوات مثل Weights & Biases، كل ذلك جاهزًا للاستخدام.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv10 وYOLOX على متطلبات مشروعك المحددة وقيود النشر وتفضيلاتك المتعلقة بالمنظومة.
متى تختار YOLOv10#
يُعد YOLOv10 خيارًا قويًا لما يلي:
- الكشف الآني دون NMS: التطبيقات التي تستفيد من الكشف الشامل من البداية إلى النهاية من دون الكبت غير الأقصى، مما يقلل تعقيد النشر.
- موازنة السرعة والدقة: المشاريع التي تتطلب توازناً جيداً بين سرعة الاستدلال ودقة الكشف عبر مقاييس نماذج متعددة.
- التطبيقات ذات زمن الاستجابة الثابت: سيناريوهات النشر التي تتطلب أوقات استدلال قابلة للتنبؤ، مثل الروبوتات أو الأنظمة ذاتية التشغيل.
متى تختار YOLOX#
يوصى باستخدام YOLOX في الحالات التالية:
- أبحاث الاكتشاف دون مراسي: الأبحاث الأكاديمية التي تستخدم بنية YOLOX النظيفة والخالية من المراسي أساسًا لتجربة رؤوس اكتشاف أو دوال خسارة جديدة.
- الأجهزة الطرفية فائقة الخفة: النشر على المتحكمات الدقيقة أو الأجهزة المحمولة القديمة، حيث يكون الحجم الصغير للغاية لإصدار YOLOX-Nano (0.91M معلمة) أمرًا بالغ الأهمية.
- دراسات إسناد التسميات باستخدام SimOTA: مشاريع بحثية تدرس استراتيجيات إسناد التسميات القائمة على النقل الأمثل وتأثيرها في تقارب التدريب.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي دون NMS: التطبيقات التي تتطلب استدلالاً ثابتاً بزمن استجابة منخفض، من دون تعقيد المعالجة اللاحقة للكبت غير الأقصى.
- البيئات التي تعتمد على CPU فقط: الأجهزة التي لا تتضمن تسريعًا مخصصًا بواسطة GPU، حيث يعمل YOLO26n أسرع على CPU بنسبة تصل إلى 43% من YOLO11n.
- اكتشاف الأجسام الصغيرة: سيناريوهات صعبة مثل الصور الجوية الملتقطة بالطائرات المسيّرة أو تحليل مستشعرات إنترنت الأشياء، حيث تحسّن ProgLoss وSTAL الدقة عند اكتشاف الأجسام الصغيرة جدًا.
مستقبل الذكاء الاصطناعي للرؤية: ظهور YOLO26#
على الرغم من أن YOLOv10 وYOLOX تمثلان محطتين بارزتين، فإن المجال يواصل التقدم. وبالنسبة إلى المطورين الذين يبدؤون مشاريع جديدة، فإن Ultralytics YOLO26 هي الخيار الموصى به.
صدر Ultralytics YOLO26 في يناير 2026، وهو يستند إلى التصميم الشامل من البداية إلى النهاية بلا NMS الذي أدخله YOLOv10 إلى نماذج YOLO، ويقدمه بوصفه رأسًا اختياريًا واحدًا لواحد (nms=False).
تقدم YOLO26 أيضًا عدة تحسينات أخرى:
- استدلال أسرع على CPU بنسبة تصل إلى 43%: بعد إزالة Distribution Focal Loss (DFL)، تعمل YOLO26n بسرعة تفوق YOLO11n بنسبة تصل إلى 43% على CPU، ما يفيد الأجهزة الطرفية التي لا تحتوي على وحدات GPU.
- مُحسِّن MuSGD: استُلهم هذا المزيج الهجين من SGD وMuon من تدريب نماذج اللغة الكبيرة (LLM)، ويوفر تقاربًا أسرع وعمليات تدريب مستقرة.
- ProgLoss + STAL: تحسّن الخسارة التدريجية وتعيين التسميات الواعي بالأهداف الصغيرة التعرّف على الأجسام الصغيرة، وهو عامل حاسم في الصور الجوية ومستشعرات إنترنت الأشياء.
- تعدد الاستخدامات: على عكس YOLOX، التي تقتصر على كشف الأجسام، تدعم YOLO26 أصلاً تقسيم الكائنات والتقسيم الدلالي وتقدير العمق وتصنيف الصور وتقدير الوضعية وكشف مربعات الإحاطة الموجّهة (OBB) ضمن مكتبة موحدة واحدة.
لأبسط مسار إلى الإنتاج، يمكن للمطورين استخدام منصة Ultralytics لوَسْم مجموعات البيانات، وتدريب نماذج YOLO26 سحابيًا، وتصديرها أو نشرها بأقل قدر من الإعداد.
تطبيقات واقعية#
يعتمد اختيار النموذج المناسب على سيناريو النشر والقطاع.
تحليلات الفيديو عالية السرعة#
لمعالجة تدفقات الفيديو الكثيفة، مثل إدارة حركة المرور في المدن الذكية، توفر YOLOv10 ميزة بفضل تصميمها الخالي من NMS. فإزالة عنق الزجاجة الناتج عن NMS تحافظ على ثبات زمن الاستجابة، ما يجعلها مناسبة للاستخدام مع خوارزميات التتبع مثل BoT-SORT.
النشر الطرفي على الأنظمة القديمة#
بالنسبة إلى البيئات الأكاديمية القديمة أو تطبيقات Android القديمة المبنية حول YOLOX، قد تظل النماذج الأصغر مثل YOLOX-Tiny مفيدة عندما يكون الإبقاء على بيئات PyTorch القديمة مقايضة مقبولة.
الأجهزة الطرفية الحديثة وأجهزة إنترنت الأشياء#
لعمليات النشر على الجيل التالي من العتاد، مثل الروبوتات والطائرات المسيّرة وتحليل رفوف البيع بالتجزئة، تُعد YOLO26 الحل الموصى به. ويجعلها انخفاض زمن الاستجابة على CPU وتحسن كشف الأجسام الصغيرة ملائمة للملاحة الذاتية وإدارة المخزون التفصيلية.
ولإثراء أدواتك في التعلم العميق بمقارنات إضافية، يمكنك أيضًا استكشاف كيفية مقارنة هذه النماذج ببدائل مثل YOLO11 المرن أو RT-DETR المدعوم بـ Transformer.