مقارنة فنية: YOLOX ضد YOLOv9 للكشف عن الأجسام
يُعد اختيار نموذج الكشف عن الأجسام المناسب أمرًا بالغ الأهمية لتحقيق أفضل النتائج في مهام رؤية الكمبيوتر. تقدم هذه الصفحة مقارنة فنية مفصلة بين YOLOX و YOLOv9، وهما نموذجان متقدمان معروفان بأدائهما وكفاءتهما في الكشف عن الأجسام. سوف نستكشف الاختلافات المعمارية ومعايير الأداء والملاءمة لمختلف التطبيقات لمساعدتك في اتخاذ قرار مستنير.
YOLOX: كاشف عالي الأداء للأجسام بدون نقاط ارتكاز
YOLO هو نموذج للكشف عن الكائنات وخالٍ من المرساة تم تطويره بواسطة Megvii. تم تقديمه في يوليو 2021، ويهدف YOLO إلى البساطة والأداء العالي عن طريق إزالة مفهوم مربع المرساة، مما يبسط النموذج ويحتمل أن يحسن التعميم.
المؤلفون: تشنغ قه، سونغتاو ليو، فنغ وانغ، زيمينغ لي، وجيان صن
المنظمة: 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 بآلية خالية من الارتكاز، مما يبسط البنية.
- Decoupled Head: تفصل رؤوس التصنيف والتوطين لتحسين الأداء.
- تعيين تسمية SimOTA: استراتيجية متقدمة لتعيين التسميات لتحسين التدريب.
- تقوية بيانات قوية: تستخدم تقنيات مثل MixUp و Mosaic لتعزيز المتانة والتعميم، ومفصلة بشكل أكبر في الأدلة حول تقوية البيانات.
نقاط القوة والضعف
نقاط القوة:
- تصميم بدون مربعات ارتكاز (Anchor-Free): يبسط بنية النموذج، مما يقلل من معلمات التصميم والتعقيد.
- دقة وسرعة عاليتان: يحقق توازنًا قويًا بين متوسط الدقة (mAP) وسرعة الاستدلال.
- قابلية التوسع: يوفر مجموعة من أحجام النماذج (من Nano إلى X)، مما يسمح بالنشر عبر موارد حسابية مختلفة.
نقاط الضعف:
- النظام البيئي: على الرغم من أنه مفتوح المصدر، إلا أنه يفتقر إلى النظام البيئي المتكامل والأدوات التي توفرها Ultralytics، مثل التكامل السلس مع Ultralytics HUB لسير العمل الشامل.
- سرعة الاستدلال: يمكن أن تكون نماذج YOLOX الأكبر أبطأ من النماذج المحسّنة المماثلة مثل YOLOv9، خاصة على أجهزة معينة.
حالات الاستخدام المثالية
يعتبر YOLO مناسبًا تمامًا للتطبيقات التي تحتاج إلى توازن بين الدقة العالية والسرعة، مثل:
- الكشف عن الكائنات في الوقت الفعلي في الروبوتات وأنظمة المراقبة.
- البحث والتطوير نظرًا لتصميمها المعياري وتنفيذها بـ PyTorch.
- Edge AI عمليات النشر، وخاصة المتغيرات Nano و Tiny الأصغر على أجهزة مثل NVIDIA Jetson.
YOLOv9: تعلم ما تريد أن تتعلمه باستخدام معلومات التدرج القابلة للبرمجة
يمثل Ultralytics YOLOv9 تقدمًا كبيرًا في اكتشاف الكائنات، حيث يعالج تحديات فقدان المعلومات في الشبكات العصبية العميقة من خلال تصميمات معمارية مبتكرة.
المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
التاريخ: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
المستندات: https://docs.ultralytics.com/models/yolov9/
البنية والميزات الرئيسية
تم تصميم بنية YOLOv9 للحفاظ على تدفق المعلومات الهامة عبر الطبقات العميقة باستخدام معلومات التدرج القابلة للبرمجة (PGI). وهذا يضمن تدفق تدرج موثوق به لتحديثات النموذج الفعالة. كما يقدم شبكة تجميع الطبقات الفعالة المعممة (GELAN)، والتي تعمل على تحسين هيكل الشبكة لتحسين استخدام المعلمات و الكفاءة الحسابية. يضمن دمج YOLOv9 في نظام Ultralytics تجربة مستخدم مبسطة مع واجهة برمجة تطبيقات بسيطة و عمليات تدريب فعالة.
نقاط القوة والضعف
نقاط القوة:
- دقة هي الأحدث: يحقق درجات mAP رائدة في المعايير القياسية مثل COCO.
- كفاءة عالية: يتفوق على النماذج السابقة من خلال تقديم دقة عالية مع عدد أقل من المعلمات و عمليات الفاصلة العائمة في الثانية (FLOPs)، مما يجعله مناسبًا لنشر الذكاء الاصطناعي الطرفي (Edge AI).
- الحفاظ على المعلومات: يقلل PGI بشكل فعال من فقدان المعلومات، مما يحسن تعلم النموذج.
- نظام Ultralytics البيئي: يستفيد من التطوير النشط و الوثائق الشاملة وتكامل Ultralytics HUB لـ MLOps، ومتطلبات الذاكرة المنخفضة أثناء التدريب مقارنة بالعديد من البدائل.
- تنوع الاستخدامات: في حين أن الورقة الأصلية تركز على الكشف، إلا أن البنية تُظهر إمكانات لمهام مثل تجزئة المثيلات وربما أكثر، بما يتماشى مع إمكانات المهام المتعددة الموجودة غالبًا في نماذج Ultralytics مثل YOLOv8.
نقاط الضعف:
- الجدة: كنموذج أحدث، قد يكون نطاق أمثلة النشر التي يقودها المجتمع لا يزال في ازدياد مقارنة بالنماذج الراسخة منذ فترة طويلة. ومع ذلك، فإن تكاملها داخل إطار Ultralytics يسرع التبني بشكل كبير ويوفر دعمًا قويًا.
حالات الاستخدام المثالية
يتفوق YOLOv9 في التطبيقات التي تكون فيها الدقة والكفاءة العالية أمرًا بالغ الأهمية. ويشمل ذلك المهام المعقدة مثل القيادة الذاتية، وأنظمة الأمان المتقدمة، والتعرف التفصيلي على الكائنات من أجل مراقبة الجودة في التصنيع.
تحليل الأداء: YOLOX ضد YOLOv9
عند مقارنة YOLOX و YOLOv9، يظهر اتجاه واضح: يقدم YOLOv9 باستمرار دقة أعلى لميزانية حسابية مماثلة أو أقل. تسمح الابتكارات المعمارية في YOLOv9، مثل PGI و GELAN، بتحقيق توازن فائق بين الدقة وعدد المعلمات و FLOPs. على سبيل المثال، يحقق YOLOv9-M mAP أعلى من YOLOX-l مع وجود أقل من نصف عدد المعلمات و FLOPs. هذه الكفاءة تجعل YOLOv9 خيارًا أقوى للتطبيقات الحديثة التي تتطلب استدلالًا في الوقت الفعلي عالي الأداء. في حين أن YOLOX يظل نموذجًا سريعًا ومختصًا، خاصةً متغيراته الأصغر للحوسبة الطرفية، إلا أن YOLOv9 يضع معيارًا جديدًا للأداء.
النموذج | الحجم (بالبكسل) |
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 |
YOLOv9t | 640 | 38.3 | - | 2.30 | 2.0 | 7.7 |
YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
الخلاصة والتوصيات
يعتبر كل من YOLOX و YOLOv9 من نماذج الكشف عن الأجسام القوية، لكنهما يلبيان أولويات مختلفة. YOLOX هو نموذج عالي القدرة وخالي من الارتكاز يوفر توازنًا رائعًا بين السرعة والدقة، مما يجعله خيارًا موثوقًا للعديد من التطبيقات في الوقت الفعلي. ومع ذلك، يمثل YOLOv9 الجيل التالي من أدوات الكشف عن الأجسام، حيث يقدم دقة وكفاءة فائقتين من خلال بنية PGI و GELAN المبتكرة. بالنسبة للمشاريع التي تتطلب أعلى أداء، فإن YOLOv9 هو الفائز الواضح.
بالنسبة للمطورين والباحثين الذين يبحثون عن منصة شاملة وسهلة الاستخدام، فإن نماذج Ultralytics YOLO مثل YOLOv8 وأحدث YOLO11 توفر مزايا كبيرة مقارنة بالتطبيقات المستقلة:
- سهولة الاستخدام: واجهة برمجة تطبيقات Python مبسطة، و توثيق شامل، والعديد من الأدلة التي تبسط التطوير والنشر.
- نظام بيئي مُدار بشكل جيد: استفد من التطوير النشط ودعم المجتمع القوي والتحديثات المتكررة والأوزان المدربة مسبقًا المتاحة بسهولة والتكامل مع Ultralytics HUB لـ MLOps سلس.
- موازنة الأداء: توفر نماذج Ultralytics توازنًا ممتازًا بين السرعة والدقة، مما يجعلها مناسبة لمجموعة واسعة من السيناريوهات الواقعية.
- كفاءة الذاكرة: تتطلب عادةً ذاكرة أقل أثناء التدريب والاستدلال مقارنة بأنواع النماذج الأخرى، وهو أمر بالغ الأهمية للبيئات محدودة الموارد.
- تنوع الاستخدامات: دعم مهام متعددة تتجاوز اكتشاف الكائنات، بما في ذلك التجزئة، و تقدير الوضعية، و التصنيف، و التتبع.
- كفاءة التدريب: تُعد أوقات التدريب الأسرع والاستخدام الفعال للموارد من السمات المميزة لإطار عمل Ultralytics.
بالنسبة للمستخدمين الذين يستكشفون بدائل، ضع في اعتبارك مقارنة هذه النماذج بنماذج أخرى مثل YOLOv5 أو التحقق من مقارنات مثل YOLOv8 مقابل YOLOX و RT-DETR مقابل YOLOv9 للحصول على مزيد من الأفكار.