مقارنة فنية بين YOLOX و YOLOv5
في المجال سريع التطور لـ رؤية الكمبيوتر، دفعت سلسلة YOLO (أنت تنظر مرة واحدة فقط) باستمرار حدود اكتشاف الأجسام في الوقت الفعلي. تقدم هذه الصفحة مقارنة فنية مفصلة بين نموذجين مؤثرين في هذه السلسلة: YOLOX، التي طورتها Megvii، و Ultralytics YOLOv5. في حين أن كلا النموذجين يوفران قدرات قوية، إلا أنهما مبنيان على فلسفات تصميم مختلفة. تقدم YOLOX نهجًا خاليًا من المرساة لتبسيط رأس الاكتشاف وتحسين الأداء، في حين أنشأت YOLOv5 نفسها كمعيار صناعي معروف بتوازنها الاستثنائي بين السرعة والدقة وسهولة الاستخدام.
يتعمق هذا التحليل المقارن في الاختلافات المعمارية ومقاييس الأداء وحالات الاستخدام المثالية لمساعدتك في اختيار النموذج الأنسب لمشروعك، سواء كنت تعطي الأولوية للدقة الأولية أو سرعة النشر أو كفاءة التطوير الشاملة.
YOLOX: بديل عالي الأداء وخالٍ من المرساة
تم تقديم YOLOX في 18 يوليو 2021، من قبل باحثين من Megvii. يقدم نهجًا خاليًا من المرساة للكشف عن الكائنات، بهدف تحقيق أداء عالٍ بتصميم مبسط مقارنة بالطرق التقليدية القائمة على المرساة. من خلال التخلص من مربعات المرساة المحددة مسبقًا، يهدف YOLOX إلى تقليل تعقيد التصميم وتحسين التعميم عبر مجموعات البيانات المختلفة.
تفاصيل فنية:
- المؤلفون: تشنغ قه، سونغتاو ليو، فنغ وانغ، زيمينغ لي، وجيان صن
- المنظمة: 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 بالعديد من الابتكارات الرئيسية. الميزة الأساسية فيه هي آلية الكشف الخالية من الارتكاز، والتي تتنبأ مباشرةً بخصائص الكائن دون الاعتماد على مجموعة من مربعات الارتكاز المحددة مسبقًا. يؤدي هذا إلى تبسيط خط أنابيب التدريب وتجنب الحاجة إلى ضبط الارتكاز. تشتمل البنية أيضًا على رؤوس منفصلة لمهام التصنيف والتوطين، والتي وجد المؤلفون أنها تحسن التقارب والدقة. علاوة على ذلك، يستخدم YOLOX استراتيجية متقدمة لتعيين التسميات تسمى SimOTA لتعيين عينات إيجابية ديناميكيًا للتدريب، مما يعزز أدائه على الكائنات الصعبة.
نقاط القوة
- دقة عالية: يحقق YOLOX دقة تنافسية، غالبًا ما يتفوق على النماذج الأخرى ذات الحجم المماثل في المعايير مثل COCO، وذلك بفضل الرأس المفصول وتقنيات تعيين التسميات المتقدمة.
- الكشف بدون نقاط ارتكاز: يؤدي هذا إلى تبسيط مسار الكشف ويمكن أن يحسن التعميم عن طريق إزالة التبعيات على تكوينات مربع الارتكاز، والتي غالبًا ما تتطلب ضبطًا خاصًا بالمجال.
نقاط الضعف
- تعقيد التنفيذ: في حين أن عدم وجود نقاط ارتكاز يبسط جانبًا واحدًا، إلا أن إدخال رؤوس منفصلة واستراتيجيات متقدمة مثل SimOTA يمكن أن يضيف تعقيدًا إلى تنفيذ النموذج وفهمه.
- النظام البيئي الخارجي: لا يُعد YOLOX جزءًا من مجموعة Ultralytics، ممّا يعني أنه يفتقر إلى التكامل السلس مع أدوات مثل Ultralytics HUB. يمكن أن يؤدي هذا إلى منحنى تعليمي أكثر حدة مقارنة بتجربة Ultralytics الموحدة والموثقة جيدًا.
- سرعة وحدة المعالجة المركزية (CPU): كما هو موضح في معايير الأداء، قد تتخلف سرعة الاستدلال على وحدة المعالجة المركزية عن النماذج المحسّنة للغاية مثل YOLOv5، خاصةً بالنسبة لمتغيرات YOLOX الأكبر.
حالات الاستخدام
يعتبر YOLOX مناسبًا تمامًا للتطبيقات التي يكون فيها تحقيق أعلى دقة ممكنة هو الهدف الأساسي:
- القيادة الذاتية: دقتها العالية ذات قيمة لمهام الإدراك في المركبات ذاتية القيادة، حيث يعد تحديد جميع الكائنات بشكل صحيح أمرًا بالغ الأهمية.
- الروبوتات المتقدمة: مثالية للبيئات المعقدة حيث تحتاج الروبوتات إلى إجراء اكتشاف دقيق للأجسام من أجل الملاحة والتفاعل، كما هو مستكشف في الذكاء الاصطناعي في الروبوتات.
- البحث: تعتبر أساسًا قويًا للبحث الأكاديمي والصناعي في المنهجيات الخالية من المرساة وتقنيات التدريب المتقدمة في الكشف عن الأجسام.
YOLOv5: النموذج متعدد الاستخدامات وواسع الانتشار
أصبح Ultralytics YOLOv5، الذي تم إصداره في 26 يونيو 2020، معيارًا صناعيًا، ويُحتفى به لتوازنه الممتاز بين السرعة والدقة وسهولة الاستخدام الرائعة. تم تطويره بواسطة Glenn Jocher في Ultralytics، وهو مبني بالكامل في PyTorch، مما يجعله في متناول مجموعة واسعة من المطورين والباحثين.
تفاصيل فنية:
- المؤلف: جلين جوتشر
- المنظمة: Ultralytics
- التاريخ: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- المستندات: https://docs.ultralytics.com/models/yolov5/
البنية والميزات الرئيسية
تستخدم YOLOv5 هيكل CSPDarknet53 لاستخراج الميزات و PANet لتجميع الميزات، وهو مزيج مثبت للكشف الفعال والفعال عن الكائنات. تتميز بنيتها بقابلية عالية للتطوير، ويتم تقديمها بأحجام مختلفة (n, s, m, l, x) لتلبية الميزانيات الحسابية المختلفة واحتياجات الأداء. على عكس YOLOX، فإنه يستخدم رأس كشف قائم على المرساة، وهو مُحسَّن للغاية للسرعة. النموذج هو جزء من نظام بيئي شامل يتضمن Python API بسيطًا و وثائق شاملة ومنصة Ultralytics HUB بدون تعليمات برمجية للتدريب والنشر.
نقاط القوة
- سرعة استدلال استثنائية: تم تحسين YOLOv5 بشكل كبير للكشف السريع، مما يجعله خيارًا ممتازًا للأنظمة في الوقت الفعلي على أجهزة CPU و GPU.
- سهولة الاستخدام: يشتهر بواجهة برمجة التطبيقات البسيطة والوثائق الشاملة والتكامل السلس داخل نظام Ultralytics البيئي، مما يقلل بشكل كبير من حاجز الدخول للمطورين.
- نظام بيئي ناضج: يستفيد من مجتمع كبير ونشط، وتحديثات متكررة، وموارد واسعة، بما في ذلك الأوزان المدربة مسبقًا المتاحة بسهولة.
- كفاءة التدريب: عملية التدريب عالية الكفاءة، مع أوقات تقارب أسرع ومتطلبات ذاكرة أقل بشكل عام مقارنة بالبنى الأكثر تعقيدًا.
- تنوع الاستخدامات: يدعم YOLOv5 مهام رؤية متعددة تتجاوز الاكتشاف، بما في ذلك تقسيم الحالات وتصنيف الصور ضمن نفس إطار العمل.
نقاط الضعف
- اكتشاف قائم على المرساة: يعتمد على مربعات المرساة، والتي قد تتطلب ضبطًا لتحقيق الأداء الأمثل على مجموعات البيانات ذات الكائنات ذات الأشكال أو الأحجام غير العادية مقارنةً بأجهزة الكشف الخالية من المرساة.
- موازنة الدقة: على الرغم من توفير توازن رائع، فإن نماذج YOLOv5 الأصغر تعطي الأولوية للسرعة، مما قد يؤدي إلى دقة أقل قليلاً مقارنة بالنماذج الأكبر أو البنى الأحدث المصممة فقط لتحقيق أقصى قدر من الدقة.
حالات الاستخدام
إن تنوع وكفاءة YOLOv5 يجعله مناسبًا لمجموعة واسعة من المجالات:
- الحوسبة الطرفية: سرعتها وأحجام النماذج الأصغر تجعلها مثالية للنشر على الأجهزة ذات الموارد المحدودة مثل Raspberry Pi و NVIDIA Jetson.
- الأتمتة الصناعية: تشغيل مراقبة الجودة وأتمتة العمليات في التصنيع، مثل تحسين كفاءة إعادة التدوير.
- الأمن والمراقبة: تمكين المراقبة في الوقت الفعلي في أنظمة الأمان لتطبيقات مثل منع السرقة.
- تطبيقات الهواتف المحمولة: مناسب لمهام الكشف عن العناصر على الجهاز حيث يكون الكمون المنخفض والكفاءة أمرًا بالغ الأهمية.
مقارنة أداء مباشرة: السرعة مقابل الدقة
عند مقارنة YOLOX و YOLOv5، يظهر توازن واضح بين الدقة والسرعة. تحقق نماذج YOLOX عمومًا درجة mAPval أعلى لحجم نموذج معين، مما يدل على فعالية تصميمه الخالي من المرساة واستراتيجيات التدريب المتقدمة. على سبيل المثال، يصل YOLOX-x إلى 51.1 mAP، متفوقًا قليلاً على YOLOv5x.
ومع ذلك، يحتفظ Ultralytics YOLOv5 بميزة كبيرة في سرعة الاستدلال. إن نماذج YOLOv5 الأصغر، مثل YOLOv5n، سريعة بشكل استثنائي على كل من وحدة المعالجة المركزية CPU ووحدة معالجة الرسومات GPU، مما يجعلها مثالية للتطبيقات في الوقت الفعلي على الأجهزة الطرفية. يوضح جدول الأداء أن YOLOv5n يحقق زمن انتقال TensorRT يبلغ 1.12 مللي ثانية فقط، وهو أسرع بأكثر من الضعف من YOLOX-s. هذه الكفاءة تجعل YOLOv5 خيارًا أكثر عملية للعديد من بيئات الإنتاج حيث السرعة قيد حرج.
النموذج | الحجم (بالبكسل) |
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 |
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
الخلاصة: أي نموذج يجب أن تختاره؟
يعتبر كل من YOLOX و YOLOv5 من نماذج الكشف عن الأجسام القوية، لكنهما يخدمان أولويات مختلفة. يعتبر YOLOX خيارًا ممتازًا للباحثين والمطورين الذين يعطون الأولوية لأقصى قدر من الدقة والمهتمين باستكشاف فوائد الهياكل المعمارية الخالية من نقاط الارتكاز. إن أدائه القوي في المعايير يجعله نموذجًا هائلاً للمهام التي تكون فيها الدقة ذات أهمية قصوى.
ومع ذلك، بالنسبة للغالبية العظمى من التطبيقات الواقعية، يقدم Ultralytics YOLOv5 حزمة شاملة أكثر جاذبية. تكمن مزاياه الرئيسية في سرعته الاستثنائية وسهولة استخدامه ونظامه البيئي القوي. يمكن للمطورين البدء بسرعة بفضل الوثائق الشاملة وواجهة برمجة التطبيقات البسيطة وعملية التدريب المبسطة. إن كفاءة النموذج تجعله عمليًا للغاية للنشر، خاصة في سيناريوهات الحوسبة في الوقت الفعلي والحافة.
علاوة على ذلك، فإن التطوير والدعم المستمر من Ultralytics يعني أن المستخدمين يستفيدون من إطار عمل يتم صيانته جيدًا ويتحسن باستمرار. بالنسبة لأولئك الذين يبحثون عن أداء حديث ومتطور جنبًا إلى جنب مع سهولة الاستخدام والتنوع، يوصى بشدة أيضًا باستكشاف نماذج Ultralytics الأحدث مثل YOLOv8 و YOLO11، لأنها تعتمد على الأساس القوي لـ YOLOv5 لتقديم قدرات أكبر.
مقارنات النماذج الأخرى
إذا كنت مهتمًا بمقارنة هذه النماذج مع نماذج أخرى، فراجع هذه الصفحات: