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

YOLOX ضد YOLOv10: مقارنة فنية

شهد مجال اكتشاف الكائنات تطورًا سريعًا، مدفوعًا بالحاجة إلى نماذج توازن بين الدقة العالية وسرعات الاستدلال في الوقت الفعلي. يمثل YOLOX و YOLOv10 علامتين بارزتين في هذا الجدول الزمني. أعاد YOLOX، الذي تم إصداره في عام 2021، تنشيط عائلة YOLO من خلال تقديم بنية خالية من المرساة، بينما يضع YOLOv10، الذي تم إصداره في عام 2024، معيارًا جديدًا من خلال إلغاء الحاجة إلى قمع Non-Maximum Suppression (NMS)، مما يقلل بشكل كبير من زمن انتقال الاستدلال.

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

YOLOX: الرائد الخالي من الـ Anchor

تم تقديم YOLOX بواسطة Megvii في عام 2021، مما يمثل تحولًا بعيدًا عن التصميمات القائمة على المرساة التي هيمنت على إصدارات YOLO السابقة. من خلال اعتماد آلية خالية من المرساة ودمج التقنيات المتقدمة مثل الرؤوس المنفصلة و SimOTA، حقق YOLOX أداءً تنافسيًا وسد الفجوة بين الأطر البحثية والتطبيقات الصناعية.

تفاصيل فنية:
المؤلفون: 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
Docs:https://yolox.readthedocs.io/en/latest/

البنية والميزات الرئيسية

انحرف YOLOX عن سابقاته مثل YOLOv4 و YOLOv5 من خلال تنفيذ العديد من التغييرات المعمارية الرئيسية المصممة لتحسين التعميم وتبسيط مسار التدريب.

  • آلية خالية من المرتكزات (Anchor-Free Mechanism): من خلال إزالة مربعات الارتكاز المحددة مسبقًا، يلغي YOLOX الحاجة إلى الضبط اليدوي للمرتكزات، مما يجعل النموذج أكثر قوة تجاه أشكال الكائنات المتنوعة ويقلل من عدد معلمات التصميم.
  • رأس غير مقترن: على عكس الرؤوس المقترنة التي تشترك في ميزات التصنيف والتوطين، يستخدم YOLOX رأسًا غير مقترن. يتيح هذا الفصل لكل مهمة تحسين معلماتها بشكل مستقل، مما يؤدي إلى تقارب أسرع ودقة إجمالية أفضل.
  • تعيين تسميات SimOTA: قدمت YOLOX نظام SimOTA (تعيين النقل الأمثل المبسط)، وهي استراتيجية ديناميكية لتعيين التسميات تعامل مشكلة التعيين كمهمة نقل مثالية. تتكيف هذه الطريقة بفعالية مع أحجام الكائنات المختلفة وتحسن استقرار التدريب.
  • زيادات قوية: يتضمن خط التدريب MixUp و Mosaic زيادة البيانات، والتي كانت حاسمة لتحقيق أحدث النتائج في وقت إصداره.

نقاط القوة والضعف

نقاط القوة:

  • دقة عالية: يقدم YOLOX درجات mAP قوية على مجموعة بيانات COCO، خاصة مع متغيراته الأكبر مثل YOLOX-x.
  • تصميم مبسط: يقلل النهج الخالي من المرساة من المعلمات الفائقة التجريبية، مما يبسط تكوين النموذج.
  • الدعم القديم: كنموذج راسخ، فقد تم اختباره على نطاق واسع في مختلف البيئات الأكاديمية والصناعية.

نقاط الضعف:

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

تعرف على المزيد حول YOLOX

YOLOv10: كشف شامل في الوقت الفعلي

يمثل YOLOv10، الذي تم إصداره في مايو 2024 بواسطة باحثين من جامعة تسينغ هوا، نقلة نوعية في اكتشاف الكائنات في الوقت الفعلي. من خلال إلغاء الحاجة إلى تثبيط غير الأقصى (NMS) وتحسين مكونات النموذج لتحقيق الكفاءة، يحقق YOLOv10 سرعة ودقة فائقتين مع تقليل النفقات الحسابية بشكل كبير.

تفاصيل فنية:
المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
المنظمة: جامعة Tsinghua
التاريخ: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docs:https://docs.ultralytics.com/models/yolov10/

الهيكلة والابتكار

يركز YOLOv10 على تصميم النموذج الشامل الذي يعتمد على الكفاءة والدقة، ويتناول كلاً من البنية ومسار ما بعد المعالجة.

  • تدريب بدون NMS: الميزة الأكثر إثارة هي استخدام تعيينات مزدوجة متسقة. تسمح هذه الإستراتيجية بتدريب النموذج بإشارات إشرافية غنية مع تمكين المطابقة الفردية أثناء الاستدلال. هذا يلغي الحاجة إلى NMS، وهو اختناق شائع في زمن الوصول في النشر.
  • تصميم نموذج شامل: يستخدم YOLOv10 رؤوس classify خفيفة الوزن، وتقليل أخذ العينات المترابط مكانيًا وقنواتيًا، وتصميم الكتلة الموجهة بالرتبة. تعمل هذه التحسينات على تقليل التكرار الحسابي واستخدام الذاكرة دون التضحية بالأداء.
  • التفاف ذو النواة الكبيرة: يستخدم التصميم بشكل انتقائي التفافات عميقة ذات نواة كبيرة لتوسيع المجال الاستقبالي، مما يعزز الكشف عن الكائنات الصغيرة.

نقاط القوة والفوائد

نقاط القوة:

  • كفاءة متطورة: يوفر YOLOv10 مقايضة لا مثيل لها بين السرعة والدقة. يقلل تصميم NMS الخالي بشكل كبير من زمن الانتقال من طرف إلى طرف.
  • كفاءة المعلمات: تحقق دقة أعلى مع عدد أقل من المعلمات مقارنة بالأجيال السابقة، مما يجعلها مثالية لأجهزة Edge AI مثل Raspberry Pi.
  • تكامل Ultralytics: يضمن كونه جزءًا من النظام البيئي Ultralytics سهولة استخدامه وتوثيقه جيدًا ويدعم تنسيقات تصدير متنوعة مثل ONNX و TensorRT.

تعرف على المزيد حول YOLOv10

تحليل الأداء

يقارن الجدول التالي أداء YOLOX و YOLOv10 على مجموعة بيانات COCO القياسية. تسلط المقاييس الضوء على تحسينات كبيرة في كفاءة النموذج الأحدث.

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

التحليل: توضح البيانات بوضوح تفوق YOLOv10 في الكفاءة. على سبيل المثال، يحقق YOLOv10-s mAP أعلى بشكل ملحوظ بنسبة 46.7٪ مقارنة بـ YOLOX-s (40.5٪)، مع استخدام عدد أقل من المعلمات (7.2 مليون مقابل 9.0 مليون). والجدير بالذكر أن YOLOv10-x يتفوق على YOLOX-x في الدقة (54.4٪ مقابل 51.1٪) مع كونه أسرع بشكل كبير (12.2 مللي ثانية مقابل 16.1 مللي ثانية) ويتطلب ما يقرب من نصف عدد المعلمات (56.9 مليون مقابل 99.1 مليون). هذه الكفاءة تجعل YOLOv10 خيارًا أفضل بكثير لـ الأنظمة في الوقت الفعلي.

نظرة معمقة حول الكفاءة

إن إلغاء YOLOv10 لمعالجة NMS اللاحقة يعني أن أوقات الاستدلال أكثر استقرارًا ويمكن التنبؤ بها، وهو عامل حاسم للتطبيقات الحيوية للسلامة مثل المركبات ذاتية القيادة والروبوتات الصناعية.

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

في حين أن YOLOX قدمت تقنيات augmentation متقدمة أصبحت الآن قياسية، إلا أن YOLOv10 يستفيد من خط أنابيب التدريب Ultralytics الناضج وسهل الاستخدام.

  • سهولة الاستخدام: تشتهر نماذج Ultralytics بـ Python API المبسط الخاص بها. لا يتطلب تدريب نموذج YOLOv10 سوى بضعة أسطر من التعليمات البرمجية، في حين أن استخدام YOLOX غالبًا ما يتضمن ملفات تكوين معقدة وإدارة التبعيات.
  • نظام بيئي مُدار بشكل جيد: تم دمج YOLOv10 بالكامل في إطار عمل Ultralytics. يمنح هذا المستخدمين الوصول إلى ميزات مثل ضبط المعلمات الفائقة التلقائي، وإدارة مجموعة البيانات بسلاسة عبر Ultralytics Explorer، وخيارات نشر متنوعة.
  • كفاءة الذاكرة: تضمن تحسينات Ultralytics أن نماذج مثل YOLOv10 تستهلك ذاكرة CUDA أقل أثناء التدريب مقارنةً بالبنى الأقدم أو نماذج transformer الثقيلة، مما يسمح بأحجام دفعات أكبر على وحدات معالجة الرسومات GPUs الاستهلاكية.

مثال على التعليمات البرمجية: استخدام YOLOv10

يوضح المثال التالي مدى سهولة قيام المطورين بتحميل نموذج YOLOv10 مُدرَّب مسبقًا وتشغيل الاستدلال على صورة باستخدام مكتبة Ultralytics.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on a local image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

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

لكلا النموذجين مكانهما، لكن البنية الحديثة لـ YOLOv10 تجعله مناسبًا لمجموعة واسعة من التطبيقات المعاصرة.

  • الذكاء الاصطناعي المتطور وإنترنت الأشياء: إن العدد المنخفض لمعلمات YOLOv10 وسرعته العالية تجعله مثاليًا للنشر على الأجهزة ذات الحوسبة المحدودة، مثل NVIDIA Jetson أو الكاميرات الذكية.
  • تصنيع عالي السرعة: في الفحص الصناعي، حيث تتحرك السيور الناقلة بسرعة، يضمن الاستدلال الخالي من NMS لـ YOLOv10 أن يبقى detect الكائنات متوافقًا مع خطوط الإنتاج دون اختناقات.
  • المراقبة والأمن: لتحليل تدفقات فيديو متعددة في وقت واحد، تسمح الكفاءة الحسابية لـ YOLOv10 بكثافة أعلى من التدفقات لكل خادم مقارنة بـ YOLOX.
  • خطوط الأساس للبحث: يظل YOLOX خط أساس قيم للباحثين الذين يدرسون تطور أجهزة الكشف الخالية من المرساة وطرق تعيين النقل الأمثل.

الخلاصة

في حين أن YOLOX لعب دورًا محوريًا في نشر detect الخالية من anchor، فإن YOLOv10 يبرز باعتباره الخيار الأفضل للتطوير الحديث. توفر بنيته المبتكرة الخالية من NMS، جنبًا إلى جنب مع النظام البيئي Ultralytics الشامل، حلاً قويًا أسرع وأكثر دقة.

بالنسبة للمطورين الباحثين عن أفضل توازن للأداء وسهولة الاستخدام والدعم طويل الأجل، يوصى بشدة باستخدام YOLOv10. بالإضافة إلى ذلك، بالنسبة لأولئك الذين يحتاجون إلى مزيد من التنوع عبر مهام مثل تقدير الوضعية أو segmentation المثيل، فإن نموذج YOLO11 القوي يعمل كبديل ممتاز ضمن نفس الإطار سهل الاستخدام.

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


تعليقات