انتقل إلى المحتوى

YOLOv10: الكشف عن الكائنات من النهاية إلى النهاية في الوقت الفعلي

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

YOLOv10 التعيين المزدوج المتسق للتدريب الخالي من NMS

نظره عامه

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

معمار

تعتمد بنية YOLOv10 على نقاط القوة في نماذج YOLO السابقة مع إدخال العديد من الابتكارات الرئيسية. تتكون بنية النموذج من المكونات التالية:

  1. العمود الفقري: مسؤول عن استخراج الميزات، يستخدم العمود الفقري في YOLOv10 نسخة محسّنة من CSPNet (الشبكة الجزئية عبر المراحل) لتحسين تدفق التدرج وتقليل التكرار الحسابي.
  2. الرقبة: تم تصميم الرقبة لتجميع الميزات من مقاييس مختلفة وتمريرها إلى الرأس. وهي تتضمن طبقات PAN (شبكة تجميع المسار) لدمج الميزات الفعالة متعددة المقاييس.
  3. رأس واحد إلى عدة رؤوس: يولد تنبؤات متعددة لكل كائن أثناء التدريب لتوفير إشارات إشرافية غنية وتحسين دقة التعلم.
  4. رأس واحد إلى واحد: توليد أفضل تنبؤ واحد لكل كائن أثناء الاستدلال لإلغاء الحاجة إلى نظام إدارة الشبكة (NMS)، وبالتالي تقليل زمن الاستجابة وتحسين الكفاءة.

الميزات الرئيسية

  1. تدريب خالٍ من NMS: يستخدم التعيينات المزدوجة المتسقة للتخلص من الحاجة إلى نظام إدارة المحتوى، مما يقلل من زمن الاستجابة للاستدلال.
  2. تصميم نموذج شامل: التحسين الشامل لمختلف المكونات من منظوري الكفاءة والدقة على حد سواء، بما في ذلك رؤوس التصنيف خفيفة الوزن، وفصل العينات المنفصلة عن القناة المكانية لأسفل، وتصميم الكتل الموجهة بالترتيب.
  3. قدرات النموذج المحسّنة: يدمج التلافيف ذات النواة الكبيرة ووحدات الانتباه الذاتي الجزئي لتحسين الأداء دون تكلفة حسابية كبيرة.

متغيرات الطراز

يأتي YOLOv10 بمقاييس نموذجية مختلفة لتلبية احتياجات التطبيقات المختلفة:

  • YOLOv10-N: إصدار النانو للبيئات محدودة الموارد للغاية.
  • YOLOv10-S: إصدار صغير يوازن بين السرعة والدقة.
  • YOLOv10-M: إصدار متوسط للاستخدام للأغراض العامة.
  • YOLOv10-B: إصدار متوازن مع زيادة العرض للحصول على دقة أعلى.
  • YOLOv10-L: إصدار كبير لدقة أعلى على حساب زيادة الموارد الحاسوبية.
  • YOLOv10-X: إصدار كبير للغاية لتحقيق أقصى قدر من الدقة والأداء.

اداء

يتفوق YOLOv10 على الإصدارات السابقة YOLO وغيرها من النماذج الحديثة من حيث الدقة والكفاءة. على سبيل المثال، YOLOv10-S أسرع بـ 1.8 مرة من RT-DETR-R18 مع نفس AP على مجموعة بيانات COCO، كما أن YOLOv10-B لديه زمن انتقال أقل بنسبة 46% ومعلمات أقل بنسبة 25% من YOLOv9-C بنفس الأداء.

نموذج حجم المدخلات أ.ب.ف.ف.ج النقطتان (ز) الكمون (مللي ثانية)
YOLOV10-N 640 38.5 6.7 1.84
YOLOV10-S 640 46.3 21.6 2.49
YOLOV10-M 640 51.1 59.1 4.74
YOLOV10-B 640 52.5 92.0 5.74
YOLOV10-L 640 53.2 120.3 7.28
YOLOV10-X 640 54.4 160.4 10.70

تم قياس زمن الاستجابة باستخدام TensorRT FP16 على وحدة معالجة الرسومات T4.

المنهجية

التعيينات المزدوجة المتسقة للتدريب الخالي من نظام إدارة المحتوى الوطني

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

تصميم نموذج شمولي مدفوع بالكفاءة والدقة في العمل

تحسينات الكفاءة

  1. رأس تصنيف خفيف الوزن: يقلل من العبء الحسابي لرأس التصنيف باستخدام التلافيف القابلة للفصل على مستوى العمق.
  2. الفصل بين التقليل المكاني والقناة السفلية لأخذ العينات: يفصل بين الاختزال المكاني وتعديل القناة لتقليل فقدان المعلومات والتكلفة الحسابية.
  3. تصميم الكتلة الموجهة بالترتيب: يكيّف تصميم الكتلة بناءً على التكرار المرحلي الجوهري، مما يضمن الاستخدام الأمثل للمعلمات.

تحسينات الدقة

  1. التلافيف ذو النواة الكبيرة: توسيع المجال الاستقبالي لتعزيز القدرة على استخراج الميزة.
  2. تنبيه ذاتي جزئي (PSA): يدمج وحدات تنبيه ذاتي لتحسين تعلم التمثيل العالمي بأقل قدر من النفقات العامة.

التجارب والنتائج

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

المقارنات

مقارنة YOLOv10 مع كاشفات الأجسام SOTA

مقارنةً بأجهزة الكشف الحديثة الأخرى:

  • إن YOLOV10-S/X أسرع بـ 1.8×/ 1.3× من RT-DETR-R18 / R101 بدقة مماثلة
  • يحتوي YOLOv10-B على معلمات أقل بنسبة 25% وزمن استجابة أقل بنسبة 46% من YOLOv9-C بالدقة نفسها
  • يتفوق أداء YOLOv10-L / X على أداء YOLOv8-L / X بمقدار 0.3 نقطة مئوية / 0.5 نقطة مئوية مع معلمات أقل بمقدار 1.8 × / 2.3 ×

فيما يلي مقارنة مفصّلة بين متغيرات YOLOv10 مع أحدث الموديلات الأخرى:

نموذج بارامز (م) النقطتان (ز) النسبة المئوية (%) الكمون (مللي ثانية) زمن الاستجابة (إلى الأمام) (مللي ثانية)
YOLOV6-3.0-N 4.7 11.4 37.0 2.69 1.76
الذهب-YOLO-ن 5.6 12.1 39.6 2.92 1.82
YOLOv8-N 3.2 8.7 37.3 6.16 1.77
YOLOV10-N 2.3 6.7 39.5 1.84 1.79
YOLOV6-3.0-S 18.5 45.3 44.3 3.42 2.35
الذهب-YOLO-S 21.5 46.0 45.4 3.82 2.73
YOLOv8-S 11.2 28.6 44.9 7.07 2.33
YOLOV10-S 7.2 21.6 46.8 2.49 2.39
RT-DETR-R18 20.0 60.0 46.5 4.58 4.49
YOLOV6-3.0-M 34.9 85.8 49.1 5.63 4.56
الذهب-YOLO-م 41.3 87.5 49.8 6.38 5.45
YOLOv8-M 25.9 78.9 50.6 9.50 5.09
YOLOV10-M 15.4 59.1 51.3 4.74 4.63
YOLOV6-3.0-L 59.6 150.7 51.8 9.02 7.90
الذهب-YOLO-L 75.1 151.7 51.8 10.65 9.78
YOLOv8-L 43.7 165.2 52.9 12.39 8.06
RT-DETR-R50 42.0 136.0 53.1 9.20 9.07
YOLOV10-L 24.4 120.3 53.4 7.28 7.21
YOLOv8-X 68.2 257.8 53.9 16.86 12.83
RT-DETR-R101 76.0 259.0 54.3 13.71 13.58
YOLOV10-X 29.5 160.4 54.4 10.70 10.60

أمثلة الاستخدام

قريباً

يعمل فريق Ultralytics بنشاط على دمج نماذج YOLOv10 رسميًا في نماذج YOLOv10 في ultralytics الحزمة. بمجرد اكتمال التكامل، ستعمل أمثلة الاستخدام الموضحة أدناه بشكل كامل. يُرجى المتابعة من خلال متابعة وسائل التواصل الاجتماعي و مستودع GitHub للحصول على آخر التحديثات حول تكامل YOLOv10. نحن نقدر صبركم وحماسكم! 🚀

للتنبؤ بالصور الجديدة باستخدام YOLOv10:

from ultralytics import YOLO

# Load a pretrained YOLOv10n model
model = YOLO("yolov10n.pt")

# Perform object detection on an image
results = model("image.jpg")

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

لتدريب YOLOv10 على مجموعة بيانات مخصصة:

from ultralytics import YOLO

# Load YOLOv10n model from scratch
model = YOLO("yolov10n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=100, imgsz=640)

استنتاج

يضع YOLOv10 معيارًا جديدًا في الكشف عن الأجسام في الوقت الحقيقي من خلال معالجة أوجه القصور في الإصدارات السابقة YOLO ودمج استراتيجيات تصميم مبتكرة. إن قدرته على تقديم دقة عالية مع تكلفة حسابية منخفضة تجعله خيارًا مثاليًا لمجموعة واسعة من التطبيقات في العالم الحقيقي.

الاستشهادات والشكر

نود أن نشكر مؤلفي YOLOv10 من جامعة تسينغهوا على أبحاثهم المكثفة ومساهماتهم الكبيرة في Ultralytics إطار العمل:

@article{THU-MIGyolov10,
  title={YOLOv10: Real-Time End-to-End Object Detection},
  author={Ao Wang, Hui Chen, Lihao Liu, et al.},
  journal={arXiv preprint arXiv:2405.14458},
  year={2024},
  institution={Tsinghua University},
  license = {AGPL-3.0}
}

للاطلاع على التنفيذ التفصيلي والابتكارات المعمارية والنتائج التجريبية، يُرجى الرجوع إلى الورقة البحثية YOLOv10 ومستودع GitHub من قبل فريق جامعة تسينغهوا.



Created 2024-05-25, Updated 2024-06-10
Authors: glenn-jocher (3), RizwanMunawar (2)

التعليقات