YOLOv7 مقابل YOLOv5#
عند بناء خطوط أنابيب رؤية حاسوبية حديثة، يعد اختيار بنية كشف الأشياء المناسبة أمراً بالغ الأهمية لتحقيق التوازن بين الدقة، وسرعة الاستدلال، واستخدام الموارد. تدرس هذه المقارنة الشاملة نموذجين مؤثرين للغاية في مجال الرؤية الحاسوبية: YOLOv7 و Ultralytics YOLOv5.
من خلال تحليل اختلافاتهم المعمارية، ومقاييس الأداء، وسيناريوهات النشر المثالية، نهدف إلى مساعدة المطورين والباحثين على اختيار النموذج الأفضل لمتطلباتهم المحددة.
خلفية النموذج وأصوله#
يوفر فهم أصول هذه النماذج سياقاً لفلسفات تصميمها وحالات الاستخدام المستهدفة.
YOLOv5#
تم إطلاق YOLOv5 بواسطة غلين جوشر والفريق في Ultralytics في 26 يونيو 2020، وأحدث ثورة في هذا المجال من خلال توفير تنفيذ أصلي لـ PyTorch يعطي الأولوية لسهولة الاستخدام دون التضحية بالدقة. وأصبح بسرعة معياراً صناعياً نظراً لنظامه البيئي المنظم بشكل مذهل وديناميكيات التدريب الموثوقة. يمكنك استكشاف الكود المصدر على مستودع YOLOv5 على GitHub أو الوصول إلى النموذج مباشرة عبر منصة Ultralytics.
YOLOv7#
تم تقديمه بواسطة تشيين-ياو وانغ، وأليكسي بوتشوفسكي، وهونغ-يوآن مارك لياو من معهد علوم المعلومات، أكاديميا سينيكا، تايوان في 6 يوليو 2022. ركز YOLOv7 بشكل كبير على الابتكارات المعمارية مثل شبكات تجميع الطبقات الفعالة الممتدة (E-ELAN) و"حقيبة الهدايا" القابلة للتدريب لدفع حدود أحدث التقنيات في الدقة. يمكن العثور على التفاصيل في ورقة Arxiv الرسمية الخاصة بهم ومستودع YOLOv7 على GitHub. للتكامل السلس، تحقق من توثيق Ultralytics YOLOv7.
كلا النموذجين مدمجان بالكامل في حزمة Ultralytics Python، مما يسمح لك بالتبديل بينهما ببساطة عن طريق تغيير سلسلة النموذج في الكود الخاص بك!
الابتكارات المعمارية#
تصميم Ultralytics YOLOv5#
يستخدم YOLOv5 هيكل أساسي (Backbone) معدل من نوع CSPDarknet53 مقترناً بعنق شبكة تجميع المسارات (PANet). تم تحسين هذا التصميم بشكل كبير لـ استخراج الميزات السريع وكفاءة الذاكرة. على عكس البنى القديمة أو نماذج المحولات الثقيلة، يتطلب YOLOv5 ذاكرة CUDA أقل بكثير أثناء التدريب، مما يسمح بأحجام دفعات (Batch sizes) أكبر على وحدات معالجة الرسومات القياسية للمستهلكين. علاوة على ذلك، يدعم إطار عمل Ultralytics بطبيعته مجموعة واسعة من المهام بخلاف مربعات الإحاطة القياسية، بما في ذلك تجزئة الصور وتصنيف الصور.
تصميم YOLOv7#
قدم YOLOv7 العديد من إعادة المعلمات الهيكلية وبنية E-ELAN، والتي تسمح للشبكة بتعلم ميزات أكثر تنوعاً دون تدمير مسار التدرج الأصلي. كما أنه ينفذ رأساً مساعداً للإشراف الوسيط أثناء التدريب. وفي حين أن هذه التطورات تنتج دقة متوسطة عالية (mAP)، إلا أنها غالباً ما تقدم هياكل موتر معقدة قد تجعل التصدير إلى تنسيقات الحافة مثل ONNX أو TensorRT أكثر صعوبة قليلاً مقارنة بالتصديرات المبسطة الأصلية لنماذج Ultralytics.
تحليل الأداء#
عند مقارنة هذه النماذج، يجب على المطورين موازنة mAPval، وسرعة الاستدلال، وتعقيد الحوسبة (FLOPs). يوضح الجدول أدناه أداء كلا البنيتين اللتين تم تقييمهما على مجموعة بيانات COCO.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (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 |
الخلاصة#
- سقف الدقة: يحقق YOLOv7x أعلى دقة إجمالية عند 53.1 mAPval مذهلة، مما يجعله تنافسياً للغاية للسيناريوهات التي يكون فيها تعظيم أداء الاكتشاف هو الهدف الأساسي.
- السرعة والكفاءة: تعد Ultralytics YOLOv5n أعجوبة في الكفاءة، حيث توفر زمن انتقال استدلال فائق السرعة (1.12 مللي ثانية على T4 TensorRT) بصمة ذاكرة صغيرة تبلغ 2.6 مليون معلمة فقط. هذا يجعلها خياراً لا يُضاهى لن نشر الحافة المقيدة للغاية.
- توازن الأداء: توفر سلسلة YOLOv5 تدرجاً استثنائياً من النماذج. يوفر YOLOv5l أرضية وسطية رائعة، متخلفاً عن YOLOv7l بهامش دقة صغير ولكنه يوفر خط نشر ناضجاً للغاية.
ميزة نظام Ultralytics البيئي#
هيكل النموذج هو نصف المعادلة فقط؛ النظام البيئي المحيط به يحدد قابليته للتطبيق في العالم الحقيقي. هنا تتألق نماذج Ultralytics حقاً.
سهولة الاستخدام: توفر Ultralytics واجهة برمجة تطبيقات Python موحدة وبديهية للغاية. يمكنك تدريب النماذج والتحقق من صحتها ونشرها بأقل قدر من التعليمات البرمجية المتكررة، مدعومة بـ التوثيق الرسمي الشامل. نظام بيئي صيانة جيداً: يضمن التطوير النشط تحديثات مستمرة، وإصلاحات للأخطاء، والتكامل السلس مع أدوات التتبع الحديثة مثل Weights & Biases. كفاءة التدريب: باستخدام محملات البيانات المحسنة والتخزين المؤقت الذكي، يقلل YOLOv5 أوقات التدريب بشكل كبير. علاوة على ذلك، تعمل الأوزان المدربة مسبقاً الجاهزة للاستخدام على تسريع التعلم القائم على النقل عبر مختلف المجالات.
مثال برمجي: تدريب مبسط#
مع حزمة Ultralytics، يكون بدء تشغيل التدريب متطابقاً تقريباً بغض النظر عن البنية التي تختارها.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")حالات الاستخدام المثالية#
متى تختار YOLOv7#
- المقارنة المعيارية الأكاديمية: مثالي للباحثين الذين يحتاجون إلى مقارنة التقنيات الجديدة مقابل خط أساس موثق جيداً لعام 2022.
- معالجة سحابة GPU عالية الأداء: عند النشر على أجهزة خادم قوية حيث يفوق تحقيق أعلى mAP ممكن في المشاهد الكثيفة بساطة التصدير.
متى تختار YOLOv5#
- عمليات نشر الإنتاج: مثالية للتطبيقات التجارية التي تتطلب ثباتاً عالياً، وخيارات نشر نماذج مباشرة، وتوافقاً واسعاً عبر منصات مختلفة.
- أجهزة الحافة: تعمل المتغيرات الأصغر (YOLOv5n و YOLOv5s) بشكل ممتاز على الهواتف المحمولة والأنظمة المدمجة.
- متطلبات المهام المتعددة: إذا كان مشروعك بحاجة إلى التطور من الكشف البسيط إلى تقدير الوضعية أو التجزئة باستخدام إطار عمل موحد.
هل تبحث عن إصدارات أحدث؟ فكر في استكشاف Ultralytics YOLOv8 أو Ultralytics YOLO11 لمزيد من التطورات في الكشف الخالي من المراسي وقدرات التعلم متعدد المهام.
الجيل القادم: Ultralytics YOLO26#
بينما يحتل YOLOv5 و YOLOv7 أماكن حيوية في تاريخ ذكاء الرؤية، فإن المشهد يتطور باستمرار. تم إصدار Ultralytics YOLO26 في يناير 2026، ويمثل أحدث تقنيات اكتشاف الأجسام، متجاوزاً الأجيال السابقة في جميع المقاييس.
يقدم YOLO26 العديد من الميزات التي تغير النموذج:
- تصميم من طرف إلى طرف خالٍ من NMS: بناءً على المفاهيم التي تم ريادتها في الإصدارات السابقة، يعد YOLO26 أصلياً من طرف إلى طرف. هذا يلغي تماماً معالجة ما بعد الكبت غير الأقصى (NMS)، مما يقلل من اختناقات زمن الانتقال ويبسط منطق النشر بشكل كبير.
- محسن MuSGD: مستوحى من Kimi K2 لشركة Moonshot AI، يدمج هذا المحسن الثوري استقرار SGD القياسي مع الزخم المتسارع لـ Muon، مما يجلب ابتكارات تدريب LLM المتقدمة مباشرة إلى الرؤية الحاسوبية.
- سرعة CPU محسنة: من خلال إزالة توزيع فقدان البؤرة (DFL) بشكل استراتيجي، يحقق YOLO26 استدلالاً أسرع بـ 43% على CPU، مما يجعله البطل بلا منازع لنشر أجهزة الحافة وأجهزة IoT منخفضة الطاقة.
- ProgLoss + STAL: تحقق وظائف الخسارة المتقدمة هذه تحسينات هائلة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية للصور الجوية والروبوتات الدقيقة.
- التحسينات الخاصة بالمهام: تتميز بفقدان التجزئة الدلالية لتوليد الأقنعة، وتقدير الاحتمالية اللوغاريتمية المتبقية (RLE) لتتبع الوضعية، وفقدان الزاوية المخصص لحل مشاكل حدود مربع الإحاطة الموجه (OBB) الصعبة.
الخلاصة#
يوفر كل من YOLOv5 و YOLOv7 حلولاً قوية لاكتشاف الأجسام في الوقت الفعلي. يظل YOLOv7 خياراً قوياً للدقة الخام على الأجهزة ذات الحوسبة العالية، بينما يبرز YOLOv5 كأداة صديقة للمطورين، حيث يوفر توازناً استثنائياً بين السرعة، والكفاءة، ونظام بيئي عالمي المستوى.
وم مع ذلك، بالنسبة للمطورين الذين يتطلعون إلى تأمين خطوط أنابيبهم للمستقبل وتحقيق المزيج النهائي من السرعة والبساطة ودقة أحدث التقنيات، نوصي بشدة بالانتقال إلى Ultralytics YOLO26. فهو يغلف سهولة الاستخدام الأسطورية لمنصة Ultralytics مع تقديم ابتكارات معمارية رائدة.