YOLO YOLOX: مقارنة تقنية شاملة
يتطور مجال الرؤية الحاسوبية في الوقت الفعلي باستمرار. ومن المعالم البارزة في هذه الرحلة كل من YOLO و YOLOX، اللذان يقدمان ابتكارات فريدة لمشكلة الكشف عن الأجسام بسرعة عالية ودقة عالية. ورغم أن كلا النموذجين قد ساهما بشكل كبير في مجتمع المصادر المفتوحة، فإن فهم الاختلافات في بنيتهما ومنهجيات التدريب وسيناريوهات النشر المثالية أمر بالغ الأهمية لمهندسي التعلم الآلي.
يستكشف هذا الدليل الشامل الفروق الفنية بين كلا النموذجين ويسلط الضوء على الأسباب التي تجعل البدائل الحديثة مثل منصة Ultralytics توفر أداءً فائقًا وسهولة في الاستخدام لبيئات الإنتاج الحالية.
نظرات عامة على النموذج
YOLO
تم تطويرYOLO من قبل فريق من الباحثين في مجموعة Alibaba،YOLO تقديمه كطريقة فعالة للغاية للكشف عن الأشياء تستفيد من اكتشاف البنية التلقائي.
المؤلفون: Xianzhe Xu، Yiqi Jiang، Weihua Chen، Yilun Huang، Yuan Zhang، و Xiuyu Sun
المنظمة: مجموعة Alibaba
التاريخ: 2022-11-23
Arxiv: https://arxiv.org/abs/2211.15444v2
GitHub: YOLO
المستندات: YOLO
تفاصيل YOLOX
تم إنشاء YOLOX بواسطة باحثين في Megvii بهدف سد الفجوة بين مجتمعات البحث والصناعة من خلال تحويل YOLO إلى تصميم خالٍ من المراسي، مما أدى إلى تبسيط البنية بشكل كبير مع تحقيق أداء أفضل في الوقت نفسه.
المؤلفون: Zheng Ge و Songtao Liu و Feng Wang و Zeming Li و Jian Sun
المنظمة: Megvii
التاريخ: 2021-07-18
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
المستندات: وثائق YOLOX
تحليل معماري
هندسة DAMO-YOLO
YOLO بشكل كبير على البحث عن البنية العصبية (NAS). وتشمل المكونات الأساسية ما يلي:
- MAE-NAS Backbones: يستخدم خوارزمية بحث تطورية متعددة الأهداف لاكتشاف البنى الأساسية التي توفر التوازن الأمثل بين سرعة الاستدلال والدقة.
- RepGFPN الفعال: تصميم ثقيل الرقبة ملائم لدمج الميزات، مما يساعد النموذج على الحفاظ على دقة عالية عبر نطاقات مختلفة من الكائنات.
- ZeroHead: رأس كشف مبسط وخفيف الوزن يقلل من الحمل الحسابي في طبقات التنبؤ النهائية.
بنية YOLOX
اتخذت YOLOX نهجًا مختلفًا، حيث ركزت على البساطة الهيكلية والتصميم الخالي من المراسي:
- آلية بدون نقاط ربط: من خلال توقع إحداثيات المربع المحيط مباشرةً دون نقاط ربط محددة مسبقًا، يقلل YOLOX من عدد معلمات التصميم والتعديلات التجريبية المطلوبة.
- رأس منفصل: يفصل مهام التصنيف والانحدار إلى فروع ميزات مختلفة، مما يحسن سرعة التقارب والدقة الإجمالية.
- تخصيص علامات SimOTA: استراتيجية متقدمة لتخصيص العلامات تعمل على تخصيص العينات الإيجابية بشكل ديناميكي إلى الحقائق الأساسية، مما يحسن كفاءة التدريب.
فلسفات التصميم
بينماYOLO عمليات البحث NAS التي تعتمد على الآلات للعثور على البنى المثلى في ظل قيود صارمة، يستفيد YOLOX من التبسيطات الأنيقة التي صممها البشر (مثل الرؤوس الخالية من المراسي) لتبسيط عملية الكشف عن الكائنات.
مقارنة الأداء
يتطلب تقييم هذه النماذج النظر إلى متوسط الدقة (mAP) وسرعات الاستدلال وعدد المعلمات. فيما يلي جدول مقارنة مفصل بين المتغيرات القياسية والخفيفة الوزن لكلتا البنيتين.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
بينما يحقق YOLOXx أعلى معدل mAP مطلق mAP 51.1، يقدم DAMO-YOLOl معدل mAP تنافسي للغاية mAP 50.8 mAP أقل من نصف المعلمات (42.1 مليون مقابل 99.1 مليون) TensorRT أسرع بكثير.
منهجيات التدريب
تدريبYOLO
YOLO تحسين التقطير المعقد أثناء التدريب. غالبًا ما يتم تدريب نموذج "المعلم" الكبير أولاً، ثم يتم تقطير معرفته إلى نماذج "الطالب" الأصغر. كما يستخدم AlignedOTA لتعيين التسميات الديناميكية. على الرغم من فعالية هذه العملية التدريبية متعددة المراحل، إلا أنها تزيد بشكل كبير من وقت GPU والذاكرة الإضافية المطلوبة.
تدريب YOLOX
يعتمد YOLOX على استراتيجيات قوية لتعزيز البيانات مثل MixUp Mosaic. ومع ذلك، اكتشف المؤلفون أن إيقاف تشغيل هذه التعزيزات القوية خلال آخر 15 حقبة يسمح للنموذج بسد الفجوة بين الواقع والمحاكاة، مما يعزز بشكل كبير مقاييس الدقة النهائية.
حالات الاستخدام المثالية
- YOLO: الأنسب للاستخدامات الصناعية عالية المخاطر حيث يمكن دعم خطوط أنابيب التقطير من جانب الخادم، وحيث تستفيد الأجهزة المستهدفة (مثل NVIDIA المحددة) بشكل مباشر من بنية NAS ذات العنق الثقيل.
- YOLOX: ممتاز للمطورين الذين يبحثون عن نهج خالٍ تمامًا من المثبتات. خفيف الوزن للغاية
YOLOXnanoيجعله قابلاً للتطبيق على Android القديمة، الحوسبة الطرفية، وأجهزة استشعار إنترنت الأشياء المقيدة للغاية حيث يمثل عدد المعلمات عقبة كبرى.
ميزة Ultralytics: تقديم YOLO26
في حين يمثلYOLO YOLOX إنجازات رائعة، إلا أن المطورين اليوم يطالبون بحلول أكثر شمولاً وتنوعاً وسهولة في الاستخدام. وهنا تبرز Ultralytics Ultralytics التي تم إصدارها مؤخراً.
تم إصدار YOLO26 في يناير 2026، وهو النموذج الموصى به بشكل قاطع لجميع مهام الرؤية الحاسوبية. ويقدم مجموعة من الابتكارات التي تتفوق على البنى القديمة:
- تصميم NMS من البداية إلى النهاية: يزيل YOLO26 بشكل أساسي المعالجة اللاحقة لـ Non-Maximum Suppression (NMS). وهذا يسمح بنشر أبسط وأسرع بشكل ملحوظ، وتجنب اختناقات التأخير الملازمة لرؤوس الكشف التقليدية.
- CPU أسرع بنسبة تصل إلى 43٪ CPU : من خلال إزالة Distribution Focal Loss (DFL) بشكل استراتيجي وتحسين الطبقات، يوفر YOLO26 سرعات لا مثيل لها على وحدات المعالجة المركزية والأجهزة الطرفية.
- محسّن MuSGD: مستوحى من تقنيات تدريب نماذج اللغة الكبيرة (LLM)، يقدم YOLO26 محسّن MuSGD (مزيج من SGD Muon)، مما ينتج عنه عمليات تدريب عالية الاستقرار وتقارب أسرع بكثير مقارنة بالإعدادات القديمة في YOLOX.
- ProgLoss + STAL: توفر وظائف الخسارة المتقدمة هذه تحسينات ملحوظة في التعرف على الأجسام الصغيرة، مما يجعل YOLO26 متفوقة بشكل كبير في لقطات الطائرات بدون طيار والروبوتات.
- تعدد الاستخدامات: على عكسYOLO، الذي يقتصر استخدامه على اكتشاف الأجسام، يتعامل YOLO26 بسلاسة مع تقسيم الحالات وتقدير الوضع والتصنيف ومربعات الحدود الموجهة (OBB) بشكل أصلي ضمن نفس النظام البيئي الذي يتم صيانته جيدًا.
سهولة الاستخدام مع Ultralytics
تعملPython Ultralytics Python على تبسيط تجربة المطورين. يتطلب تدريب نموذج YOLO26 المتطور كمية أقل بكثير من التعليمات البرمجية النمطية ويتجنب خطوط الأنابيب المعقدة لتقطيرYOLO. علاوة على ذلك، تتميز Ultralytics بمتطلبات CUDA منخفضة للغاية أثناء التدريب مقارنة بالنماذج الثقيلة القائمة على المحولات.
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with one line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run fast, NMS-free inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX or TensorRT seamlessly
model.export(format="onnx")
التدريب على السحابة ونشرها
يمكنك تلقائيًا إضافة تعليقات توضيحية إلى النماذج وتدريبها ونشرها على الحافة باستخدام Ultralytics التي تتولى نيابة عنك جميع عمليات إصدار البيانات GPU السحابية.
الخلاصة
يعتمد الاختيار بينYOLO YOLOX على قيود محددة:YOLO نسب سرعة ودقة استثنائية على وحدات معالجة الرسومات (GPU) محددة عبر NAS، بينما يوفر YOLOX تصميمًا نظيفًا وخاليًا من المراسي، وهو مثالي لسيناريوهات الحافة خفيفة الوزن.
ومع ذلك، بالنسبة للفرق التي تبحث عن حل حديث ومستقبلي مع مجتمع نشط، فإن بنية Ultralytics هي الخيار الأمثل. تصميمها NMS CPU السريع، وواجهة برمجة التطبيقات الموحدة للكشف والتجزئة ومهام الوضع تجعلها لا مثيل لها في الانتقال السلس من البحث إلى الإنتاج القوي في العالم الحقيقي.
بالنسبة للمطورين المهتمين باستكشاف بنى حديثة أخرى، نوصي أيضًا بالاطلاع على Ultralytics YOLO11 أو النماذج القائمة على المحولات مثل RT-DETR المتوفرة في Ultralytics الشاملة.