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

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

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

مقارنة YOLOv7 مع كاشفات الكائنات SOTA

مقارنة بين كاشفات الأجسام SOTA

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

نموذج بارامز
(م)

(G)
الحجم
(بالبكسل)
إطارا في الثانية اختبار APtest/ فال
50-95
اختبار APtest
50
اختبار APtest
75
APtest
S
APtest
M
APtest
L
يولوكس-إس 9.0M 26.8G 640 102 40.5% / 40.5% - - - - -
يولوكس-إم 25.3M 73.8G 640 81 47.2% / 46.9% - - - - -
يولوكس-إل 54.2M 155.6G 640 69 50.1% / 49.7% - - - - -
يولوكس-X 99.1M 281.9G 640 58 51.5% / 51.1% - - - - -
PPYOLOE-S 7.9M 17.4G 640 208 43.1% / 42.7% 60.5% 46.6% 23.2% 46.4% 56.9%
PPYOLOE-M 23.4M 49.9G 640 123 48.9% / 48.6% 66.5% 53.0% 28.6% 52.9% 63.8%
PPYOLOE-L 52.2M 110.1G 640 78 51.4% / 50.9% 68.9% 55.6% 31.4% 55.3% 66.1%
PPYOLOE-X 98.4M 206.6G 640 45 52.2% / 51.9% 69.9% 56.5% 33.3% 56.3% 66.4%
YOLOv5-ن (ص6.1) 1.9M 4.5G 640 159 - / 28.0% - - - - -
YOLOv5-S (ص6.1) 7.2M 16.5G 640 156 - / 37.4% - - - - -
YOLOv5-م (ص6.1) 21.2M 49.0G 640 122 - / 45.4% - - - - -
YOLOv5-ل (ص6.1) 46.5M 109.1G 640 99 - / 49.0% - - - - -
YOLOv5-X (r6.1) 86.7M 205.7G 640 83 - / 50.7% - - - - -
YOLOR-CSP 52.9M 120.4G 640 106 51.1% / 50.8% 69.6% 55.7% 31.7% 55.3% 64.7%
YOLOR-CSP-X 96.9M 226.8G 640 87 53.0% / 52.7% 71.4% 57.9% 33.7% 57.1% 66.8%
YOLOV7-tiny-SiLU 6.2M 13.8G 640 286 38.7% / 38.7% 56.7% 41.7% 18.8% 42.4% 51.9%
يولو v7 36.9M 104.7G 640 161 51.4% / 51.2% 69.7% 55.9% 31.8% 55.5% 65.0%
YOLOV7-X 71.3M 189.9G 640 114 53.1% / 52.9% 71.2% 57.8% 33.8% 57.1% 67.4%
YOLOv5-N6 (r6.1) 3.2M 18.4G 1280 123 - / 36.0% - - - - -
YOLOv5-S6 (R6.1) 12.6M 67.2G 1280 122 - / 44.8% - - - - -
YOLOv5-M6 (r6.1) 35.7M 200.0G 1280 90 - / 51.3% - - - - -
YOLOv5-L6 (r6.1) 76.8M 445.6G 1280 63 - / 53.7% - - - - -
YOLOv5-X6 (r6.1) 140.7M 839.2G 1280 38 - / 55.0% - - - - -
YOLOR-P6 37.2M 325.6G 1280 76 53.9% / 53.5% 71.4% 58.9% 36.1% 57.7% 65.6%
YOLOR-W6 79.8G 453.2G 1280 66 55.2% / 54.8% 72.7% 60.5% 37.7% 59.1% 67.1%
YOLOR-E6 115.8M 683.2G 1280 45 55.8% / 55.7% 73.4% 61.1% 38.4% 59.7% 67.7%
YOLOR-D6 151.7M 935.6G 1280 34 56.5% / 56.1% 74.1% 61.9% 38.9% 60.4% 68.7%
YOLOv7-W6 70.4M 360.0G 1280 84 54.9% / 54.6% 72.6% 60.1% 37.3% 58.7% 67.1%
YOLOv7-E6 97.2M 515.2G 1280 56 56.0% / 55.9% 73.5% 61.2% 38.0% 59.9% 68.4%
YOLOV7-D6 154.7M 806.8G 1280 44 56.6% / 56.3% 74.0% 61.8% 38.8% 60.1% 69.5%
YOLOv7-E6E 151.7M 843.2G 1280 36 56.8% / 56.8% 74.4% 62.1% 39.3% 60.5% 69.0%

نظره عامه

يُعد الكشف عن الأجسام في الوقت الحقيقي مكونًا مهمًا في العديد من أنظمة الرؤية الحاسوبية، بما في ذلك تتبع الأجسام المتعددة والقيادة الذاتية والروبوتات وتحليل الصور الطبية. في السنوات الأخيرة، ركز تطوير الكشف عن الأجسام في الوقت الحقيقي على تصميم بنيات فعالة وتحسين سرعة الاستدلال لمختلف وحدات المعالجة المركزية ووحدات معالجة الرسومات ووحدات المعالجة العصبية (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. نحن نقدر جهودهم في النهوض بالمجال وجعل عملهم في متناول المجتمع الأوسع.

الأسئلة المتداولة

ما هو YOLOv7 ولماذا يعتبر طفرة في اكتشاف الأجسام في الوقت الحقيقي؟

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

كيف يتحسن YOLOv7 عن الطرازات السابقة YOLO مثل YOLOv4 و YOLOv5 ؟

يُقدم YOLOv7 العديد من الابتكارات، بما في ذلك إعادة تحديد النموذج وتعيين التسمية الديناميكي، مما يعزز عملية التدريب ويحسن دقة الاستدلال. بالمقارنة مع YOLOv5 ، يعزز YOLOv7 بشكل كبير من السرعة والدقة. على سبيل المثال، يحسّن YOLOv7-X الدقة بنسبة 2.2% ويقلل من المعلمات بنسبة 22% مقارنةً بـ YOLOv5-X. يمكن الاطلاع على المقارنات التفصيلية في جدول الأداء مقارنة YOLOv7 مع كاشفات الأجسام SOTA.

هل يمكنني استخدام YOLOv7 مع أدوات ومنصات Ultralytics ؟

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

كيف أقوم بتثبيت YOLOv7 وتشغيله لمشروع اكتشاف كائن مخصص؟

لتثبيت YOLOv7 وتشغيله، اتبع الخطوات التالية:

  1. استنساخ مستودع YOLOv7:
    git clone https://github.com/WongKinYiu/yolov7
    
  2. انتقل إلى الدليل المستنسخ وقم بتثبيت التبعيات:
    cd yolov7
    pip install -r requirements.txt
    
  3. قم بإعداد مجموعة البيانات وتهيئة معلمات النموذج وفقًا لإرشادات الاستخدام المتوفرة في المستودع. لمزيد من الإرشادات، قم بزيارة مستودع YOLOv7 GitHub للحصول على آخر المعلومات والتحديثات.

ما هي الميزات والتحسينات الرئيسية التي تم إدخالها في YOLOv7؟

يوفر YOLOv7 العديد من الميزات الرئيسية التي تُحدث ثورة في اكتشاف الأجسام في الوقت الحقيقي:

  • إعادة تحديد النموذج: تحسين أداء النموذج من خلال تحسين مسارات انتشار التدرج.
  • تعيين التسمية الديناميكية: يستخدم طريقة موجهة من الخشنة إلى الدقيقة لتعيين الأهداف الديناميكية للمخرجات عبر الفروع المختلفة، مما يحسن الدقة.
  • التحجيم الموسع والمركب: تستخدم المعلمات والحسابات بكفاءة لتوسيع نطاق النموذج لمختلف التطبيقات في الوقت الحقيقي.
  • الكفاءة: يقلل من عدد المعلمات بنسبة 40% والحساب بنسبة 50% مقارنةً بالنماذج الحديثة الأخرى مع تحقيق سرعات استدلال أسرع. لمزيد من التفاصيل حول هذه الميزات، راجع قسم نظرة عامة على YOLOv7.


تم الإنشاء 2023-11-12-2023، تم التحديث 2024-07-04
المؤلفون: جلين-جوتشر (8)، سيرجيواواكسمن (1)

التعليقات