YOLOv7 ضد YOLOv5: مقارنة فنية تفصيلية
يعد اختيار بنية الكشف عن الأجسام الصحيحة قرارًا بالغ الأهمية يؤثر على السرعة والدقة وجدوى نشر مشاريع رؤية الكمبيوتر الخاصة بك. توفر هذه الصفحة مقارنة فنية شاملة بين YOLOv7 و Ultralytics YOLOv5، وهما نموذجان مؤثران في سلالة YOLO. نتعمق في ابتكاراتهم المعمارية ومعايير الأداء وحالات الاستخدام المثالية لمساعدتك في اختيار الأنسب لتطبيقك.
في حين أن YOLOv7 قدمت تطورات أكاديمية كبيرة في عام 2022، إلا أن Ultralytics YOLOv5 لا تزال قوة مهيمنة في الصناعة نظرًا لسهولة استخدامها وقوتها ومرونة نشرها التي لا مثيل لها. بالنسبة لأولئك الذين يبحثون عن أحدث ما توصلت إليه الأداء، فإننا نستكشف أيضًا كيف تمهد هذه النماذج الطريق لأحدث التقنيات Ultralytics YOLO11.
مقارنة مقاييس الأداء
يسلط الجدول التالي الضوء على المفاضلات في الأداء بين البنيتين. بينما يدفع YOLOv7 للحصول على متوسط دقة (mAP) أعلى، يوفر YOLOv5 مزايا واضحة في سرعة الاستدلال وعدد أقل من المعلمات لأحجام نماذج معينة.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.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 |
YOLOv7: دفع حدود الدقة
تم تصميم YOLOv7، الذي تم إصداره في يوليو 2022، لوضع أحدث التقنيات في أجهزة الكشف عن الكائنات في الوقت الفعلي. وهو يركز بشكل كبير على التحسين المعماري لتحسين الدقة دون زيادة تكلفة الاستدلال بشكل كبير.
المؤلفون: تشين-ياو وانغ، أليكسي بوتشكوفسكي، وهونغ-يوان مارك لياو
المنظمة:معهد علوم المعلومات، أكاديميا سينيكا، تايوان
التاريخ: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
المستندات:https://docs.ultralytics.com/models/yolov7/
الهندسة المعمارية والابتكارات الرئيسية
يقدم YOLOv7 العديد من التغييرات المعمارية المعقدة التي تهدف إلى تحسين تعلم الميزات:
- E-ELAN (شبكة تجميع الطبقات الفعالة الممتدة): هيكل أساسي متقدم يعزز قدرة الشبكة على التعلم من خلال التحكم في أقصر وأطول مسارات التدرج. يتيح ذلك للنموذج تعلم المزيد من الميزات المتنوعة.
- توسيع النموذج للنماذج القائمة على التسلسل: بخلاف التوسيع القياسي، يقوم YOLOv7 بتوسيع العمق والعرض في وقت واحد للهياكل المعمارية القائمة على التسلسل، مما يضمن الاستخدام الأمثل للموارد.
- حقيبة التدريب المجانية القابلة للتدريب: يتضمن ذلك الالتفاف المعاد تحديده (RepConv) المخطط له وتدريب الرأس الإضافي. تولد الرؤوس الإضافية تسميات هرمية من خشنة إلى دقيقة، مما يساعد في توجيه عملية التعلم أثناء التدريب ولكن تتم إزالتها أثناء الاستدلال للحفاظ على السرعة.
ما هي 'حقيبة الهدايا المجانية'؟
يشير مصطلح "Bag of Freebies" إلى مجموعة من أساليب التدريب وتقنيات زيادة البيانات التي تحسن دقة نموذج detect الكائنات دون زيادة تكلفة الاستدلال. في YOLOv7، يتضمن ذلك استراتيجيات متطورة مثل Coarse-to-Fine Lead Guided Label Assignment.
حالات الاستخدام المثالية لـ YOLOv7
نظرًا لتركيزها على الدقة العالية، فإن YOLOv7 مناسبة بشكل خاص لما يلي:
- البحث الأكاديمي: القياس المعياري مقابل نماذج SOTA حيث كل جزء من mAP مهم.
- نشر وحدات معالجة الرسوميات المتطورة: التطبيقات التي تتوفر فيها أجهزة قوية (مثل NVIDIA A100s) للتعامل مع أحجام النماذج الأكبر ومتطلبات الذاكرة.
- التحليل الثابت: السيناريوهات التي يكون فيها زمن الانتقال في الوقت الفعلي أقل أهمية من الدقة، مثل تحليل صور الأقمار الصناعية عالية الدقة أو الفحوصات الطبية.
Ultralytics YOLOv5: معيار الصناعة
تعتبر Ultralytics YOLOv5 على نطاق واسع واحدة من أكثر نماذج detect الأجسام العملية وسهلة الاستخدام المتوفرة. منذ إصداره في عام 2020، أصبح العمود الفقري لعدد لا يحصى من التطبيقات التجارية نظرًا لتوازنه بين السرعة والدقة والتميز الهندسي.
المؤلفون: جلين جوتشر
المنظمة:Ultralytics
التاريخ: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
المستندات:https://docs.ultralytics.com/models/yolov5/
الهندسة المعمارية وفوائد النظام البيئي
يستخدم YOLOv5 عمودًا فقريًا CSP-Darknet53 مع عنق PANet ورأس YOLOv3، وهو مُحسَّن لأهداف نشر متنوعة. ومع ذلك، تكمن قوته الحقيقية في النظام البيئي Ultralytics:
- سهولة الاستخدام: تشتهر YOLOv5 بفلسفة "التثبيت والتشغيل"، وتسمح للمطورين ببدء التدريب على مجموعات بيانات مخصصة في دقائق. واجهة برمجة التطبيقات بديهية والوثائق شاملة.
- كفاءة التدريب: يتطلب YOLOv5 عادةً ذاكرة CUDA أقل أثناء التدريب مقارنةً بالبنى الأحدث والأكثر تعقيدًا، مما يجعله في متناول المطورين الذين لديهم وحدات معالجة رسومات متوسطة المدى.
- مرونة النشر: وهو يدعم التصدير بنقرة واحدة إلى ONNX و TensorRT و CoreML و TFLite والمزيد، مما يسهل النشر على كل شيء بدءًا من الخوادم السحابية وحتى الهواتف المحمولة.
- نظام بيئي مُدار بشكل جيد: مع التحديثات المتكررة وإصلاحات الأخطاء ومجتمع ضخم، تضمن Ultralytics بقاء النموذج مستقرًا وآمنًا لبيئات الإنتاج.
حالات الاستخدام المثالية لـ YOLOv5
تتفوق YOLOv5 في سيناريوهات العالم الحقيقي التي تتطلب الموثوقية والسرعة:
- الذكاء الاصطناعي المتطور Edge AI: التشغيل على أجهزة مثل NVIDIA Jetson أو Raspberry Pi نظرًا لخفة Nano (
yolov5n) وصغير (yolov5s) المختلفة. - تطبيقات الهاتف المحمول: التكامل في تطبيقات iOS و Android عبر CoreML و TFLite للاستدلال على الجهاز.
- النماذج الأولية السريعة: تستفيد الشركات الناشئة والمطورون الذين يحتاجون إلى الانتقال من المفهوم إلى الحد الأدنى من المنتج القابل للتطبيق (MVP) بسرعة من سير العمل المبسط.
- الأتمتة الصناعية: كشف موثوق به لخطوط التصنيع حيث يكون الكمون والاستقرار في غاية الأهمية.
تحليل مقارن مفصل
عند اتخاذ قرار بين YOLOv7 و YOLOv5، تدخل عدة عوامل تقنية حيز التنفيذ تتجاوز مجرد درجة mAP.
1. المفاضلة بين السرعة والدقة
تحقق YOLOv7 دقة قصوى أعلى على مجموعة بيانات COCO. على سبيل المثال، تصل YOLOv7x إلى 53.1% mAP مقارنة بـ 50.7% لـ YOLOv5x. ومع ذلك، يأتي هذا على حساب التعقيد. تقدم YOLOv5 تدرجًا أكثر سلاسة للنماذج؛ نموذج YOLOv5n (Nano) سريع بشكل لا يصدق (سرعة CPU تبلغ 73.6 مللي ثانية) وخفيف الوزن (2.6 مليون معلمة)، مما يخلق مكانة للبيئات ذات الموارد المنخفضة للغاية التي لا تستهدفها YOLOv7 بشكل صريح بنفس الدقة.
2. الهندسة المعمارية والتعقيد
تستخدم YOLOv7 بنية تعتمد على التسلسل مع E-ELAN، مما يزيد من عرض نطاق الذاكرة المطلوب أثناء التدريب. يمكن أن يجعل هذا التدريب أبطأ وأكثر استهلاكًا للذاكرة من YOLOv5. في المقابل، تستخدم Ultralytics YOLOv5 بنية مبسطة مُحسَّنة للغاية لتحقيق كفاءة التدريب، مما يسمح بتقارب أسرع واستخدام أقل للذاكرة، وهو ما يمثل ميزة كبيرة للمهندسين ذوي الميزانيات الحسابية المحدودة.
3. سهولة الاستخدام وتجربة المطور
هنا يتجلى تألق Ultralytics YOLOv5 حقًا. يوفر إطار Ultralytics تجربة موحدة مع أدوات قوية لـ زيادة البيانات وتطوير المعلمات الفائقة وتتبع التجارب.
import torch
# Example: Loading YOLOv5s from PyTorch Hub for inference
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Print results
results.print()
في حين أن YOLOv7 لديه مستودع، إلا أنه يفتقر إلى خطوط أنابيب CI/CD المصقولة والجاهزة للإنتاج، و أدلة التكامل الشاملة، ودعم المجتمع الذي يدعم النظام البيئي لـ Ultralytics.
4. تنوع الاستخدامات
في حين أن كلا النموذجين هما في الأساس بنيات الكشف عن الأجسام، إلا أن النظام البيئي Ultralytics المحيط بـ YOLOv5 قد تطور لدعم تقسيم المثيلات و تصنيف الصور بسلاسة. تدعم YOLOv7 أيضًا هذه المهام ولكنها تتطلب غالبًا فروعًا أو تفرعات مختلفة من التعليمات البرمجية، في حين أن Ultralytics تقدم نهجًا أكثر توحيدًا.
نشر سهل
تدعم نماذج Ultralytics مجموعة واسعة من تنسيقات التصدير خارج الصندوق. يمكنك بسهولة تحويل النموذج المدرب إلى TFLite لنظام Android أو CoreML لنظام iOS أو TensorRT للاستدلال المحسن لوحدة معالجة الرسومات باستخدام أمر CLI بسيط أو برنامج python.
الخلاصة: أي نموذج يجب أن تختاره؟
يعتمد الاختيار بين YOLOv7 و YOLOv5 على أولويات مشروعك:
- اختر YOLOv7 إذا كان قيدك الأساسي هو أقصى قدر من الدقة وكنت تعمل في بيئة بحثية أو على أجهزة متطورة حيث تكون سرعة الاستدلال والبصمة الذاكرة من الاهتمامات الثانوية.
- اختر Ultralytics YOLOv5 إذا كنت بحاجة إلى حل موثوق وجاهز للإنتاج. إن سهولة استخدامه والتدريب الفعال وزمن الوصول المنخفض على الأجهزة الطرفية والنظام البيئي للدعم الضخم يجعله الخيار الأفضل لمعظم التطبيقات التجارية والمطورين الذين يبدأون رحلة رؤية الكمبيوتر الخاصة بهم.
نظرة إلى المستقبل: YOLO11
في حين أن YOLOv5 و YOLOv7 هما نموذجان ممتازان، إلا أن مجال رؤية الكمبيوتر يتحرك بسرعة. بالنسبة للمطورين الذين يبحثون عن الأفضل في كلا العالمين - تجاوز دقة YOLOv7 وسرعة / سهولة استخدام YOLOv5 - نوصي بشدة باستكشاف Ultralytics YOLO11.
يمثل YOLO11 أحدث تطور، ويتميز ببنية خالية من المرساة تعمل على تبسيط مسار التدريب وتحسين الأداء عبر جميع المهام، بما في ذلك الـ detect والـ segmentation وتقدير الوضعية وصناديق الإحاطة الموجهة (OBB).
استكشف نماذج أخرى
إذا كنت مهتمًا بمقارنة نماذج أخرى في عائلة YOLO، فراجع هذه الصفحات ذات الصلة: