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

YOLOv7: حقيبة مجانية قابلة للتدريب

YOLOv7 هو كاشف كائنات حديث في الوقت الفعلي يفوق جميع أجهزة الكشف عن الأشياء المعروفة في كل من السرعة والدقة في النطاق من 5 إطارات في الثانية إلى 160 إطارا في الثانية. لديها أعلى دقة (56.8٪ AP) بين جميع أجهزة الكشف عن الكائنات المعروفة في الوقت الفعلي مع 30 إطارا في الثانية أو أعلى على GPU V100. علاوة على ذلك ، يتفوق YOLOv7 على أجهزة الكشف عن الكائنات الأخرى مثل YOLOR و YOLOX و Scaled-YOLOv4 ، YOLOv5، وغيرها الكثير من حيث السرعة والدقة. يتم تدريب النموذج على مجموعة بيانات MS COCO من البداية دون استخدام أي مجموعات بيانات أخرى أو أوزان مدربة مسبقا. الكود المصدري ل YOLOv7 متاح على GitHub.

مقارنة YOLOv7 مع كاشفات الكائنات SOTA مقارنة بين أحدث أجهزة الكشف عن الأشياء. من النتائج الواردة في الجدول 2 ، نعلم أن الطريقة المقترحة لديها أفضل مقايضة بين السرعة والدقة بشكل شامل. إذا قارنا YOLOv7-tiny-SiLU مع YOLOv5-N (r6.1) ، طريقتنا أسرع 127 إطارا في الثانية وأكثر دقة بنسبة 10.7٪ على AP. بالإضافة إلى ذلك ، يحتوي YOLOv7 على 51.4٪ AP بمعدل إطارات يبلغ 161 إطارا في الثانية ، بينما يحتوي PPYOLOE-L مع نفس نقطة الوصول على معدل إطارات 78 إطارا في الثانية فقط. من حيث استخدام المعلمات ، فإن YOLOv7 أقل بنسبة 41٪ من PPYOLOE-L. إذا قارنا YOLOv7-X بسرعة استدلال 114 إطارا في الثانية إلى YOLOv5-L (r6.1) مع سرعة استدلال 99 إطارا في الثانية ، يمكن ل YOLOv7-X تحسين AP بنسبة 3.9٪. إذا تمت مقارنة YOLOv7-X مع YOLOv5-X (r6.1) بمقياس مماثل ، سرعة الاستدلال ل YOLOv7-X أسرع 31 إطارا في الثانية. بالإضافة إلى ذلك ، من حيث مقدار المعلمات والحساب ، يقلل YOLOv7-X 22٪ من المعلمات و 8٪ من الحساب مقارنة ب YOLOv5-X (r6.1) ، ولكنه يحسن AP بنسبة 2.2٪ (مصدر).

نظره عامه

يعد اكتشاف الأشياء في الوقت الفعلي مكونا مهما في العديد من أنظمة رؤية الكمبيوتر ، بما في ذلك تتبع الكائنات المتعددة والقيادة الذاتية والروبوتات وتحليل الصور الطبية. في السنوات الأخيرة ، ركز تطوير اكتشاف الكائنات في الوقت الفعلي على تصميم بنى فعالة وتحسين سرعة الاستدلال لمختلف وحدات المعالجة المركزية ووحدات معالجة الرسومات ووحدات المعالجة العصبية (NPUs). يدعم YOLOv7 كلا من أجهزة GPU و GPU المحمولة ، من الحافة إلى السحابة.

على عكس أجهزة الكشف عن الكائنات التقليدية في الوقت الفعلي التي تركز على تحسين البنية ، يقدم YOLOv7 التركيز على تحسين عملية التدريب. يتضمن ذلك الوحدات وطرق التحسين المصممة لتحسين دقة اكتشاف الأشياء دون زيادة تكلفة الاستدلال ، وهو مفهوم يعرف باسم "حقيبة الهدايا المجانية القابلة للتدريب".

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

يقدم YOLOv7 العديد من الميزات الرئيسية:

  1. نموذج إعادة المعلمات: يقترح YOLOv7 نموذجا مخططا لإعادة المعلمات ، وهو استراتيجية قابلة للتطبيق على الطبقات في الشبكات المختلفة مع مفهوم مسار انتشار التدرج.

  2. تعيين التسمية الديناميكية: يمثل تدريب النموذج بطبقات إخراج متعددة مشكلة جديدة: "كيفية تعيين أهداف ديناميكية لمخرجات الفروع المختلفة؟" لحل هذه المشكلة ، يقدم YOLOv7 طريقة جديدة لتعيين الملصقات تسمى تعيين الملصق الموجه بالرصاص من الخشن إلى الغرامة.

  3. القياس الموسع والمركب: يقترح YOLOv7 طرق "تمديد" و "تحجيم مركب" لكاشف الكائنات في الوقت الفعلي الذي يمكنه استخدام المعلمات والحساب بشكل فعال.

  4. الكفاءة: يمكن للطريقة التي اقترحها YOLOv7 أن تقلل بشكل فعال من حوالي 40٪ معلمات و 50٪ من حساب كاشف الكائنات في الوقت الفعلي المتطور ، ولديها سرعة استدلال أسرع ودقة كشف أعلى.

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

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

فيما يلي نظرة عامة موجزة على الخطوات النموذجية التي قد تتخذها لاستخدام YOLOv7:

  1. قم بزيارة مستودع YOLOv7 GitHub: https://github.com/WongKinYiu/yolov7.

  2. اتبع الإرشادات المتوفرة في الملف التمهيدي للتثبيت. يتضمن هذا عادة استنساخ المستودع وتثبيت التبعيات الضرورية وإعداد أي متغيرات بيئة ضرورية.

  3. بمجرد اكتمال التثبيت ، يمكنك تدريب النموذج واستخدامه وفقا لتعليمات الاستخدام الواردة في المستودع. يتضمن هذا عادة إعداد مجموعة البيانات الخاصة بك ، وتكوين معلمات النموذج ، وتدريب النموذج ، ثم استخدام النموذج المدرب لإجراء اكتشاف الكائن.

يرجى ملاحظة أن الخطوات المحددة قد تختلف اعتمادا على حالة الاستخدام المحددة والحالة الحالية لمستودع YOLOv7. لذلك ، يوصى بشدة بالرجوع مباشرة إلى الإرشادات الواردة في مستودع YOLOv7 GitHub.

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

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

نود أن نعرب عن تقديرنا لمؤلفي YOLOv7 لمساهماتهم الكبيرة في مجال اكتشاف الكائنات في الوقت الفعلي:

@article{wang2022yolov7,
  title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors},
  author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark},
  journal={arXiv preprint arXiv:2207.02696},
  year={2022}
}

يمكن العثور على ورقة YOLOv7 الأصلية على arXiv. جعل المؤلفون أعمالهم متاحة للجمهور ، ويمكن الوصول إلى قاعدة التعليمات البرمجية على GitHub. نحن نقدر جهودهم في النهوض بالمجال وجعل عملهم في متناول المجتمع الأوسع.



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (6), sergiuwaxmann (1)

التعليقات