YOLOv7 مقابل YOLOv8#
أفرز التطور السريع للرؤية الحاسوبية مجموعة من الأدوات القوية للمطورين والباحثين. وعند اختيار البنية المناسبة لمسار اكتشاف الأجسام، من الضروري مقارنة النماذج الراسخة. يقدم هذا الدليل التقني تحليلًا معمقًا لبنى نموذجين مؤثرين للغاية ومقاييس أدائهما وحالات الاستخدام المثلى لهما: YOLOv7 وUltralytics YOLOv8.
مقدمة عن البنى#
يمثل كلا النموذجين قفزات كبيرة في الأداء، لكنهما يتبعان فلسفتين بنيويتين مختلفتين في التعامل مع تحدي تحسين الشبكات العصبية العميقة.
YOLOv7: رائد مجموعة المزايا المجانية#
رُكّز في YOLOv7، الذي طُرح في منتصف عام 2022، بدرجة كبيرة على تحسين مسارات التدرج المعمارية ومفهوم «مجموعة الحيل القابلة للتدريب» لدفع حدود الاكتشاف في الوقت الفعلي على العتاد المتطور.
- المؤلفون: Chien-Yao Wang وAlexey Bochkovskiy وHong-Yuan Mark Liao
- المؤسسة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- الوثائق: وثائق Ultralytics YOLOv7
أبرز سمات البنية: يستخدم YOLOv7 أساسًا رأس اكتشاف قائمًا على المراسي (مع أنه جرّب فروعًا خالية من المراسي)، ويقدّم شبكات تجميع الطبقات الفعّالة الموسّعة (E-ELAN). يعزّز هذا التصميم قدرة الشبكة على التعلّم دون الإخلال بمسار التدرّج الأصلي. ويحقّق أداءً استثنائيًا على وحدات GPU المخصّصة للخوادم، مما يجعله مناسبًا جدًا لتحليلات الفيديو المكثّفة.
نقاط القوة والضعف: يحقق YOLOv7 زمن استجابة ممتازًا على العتاد المخصص، لكن منظومته مجزأة بدرجة كبيرة. يتطلب التدريب وسيطات معقدة لسطر الأوامر، واستنساخ المستودعات يدويًا، وإدارة صارمة للاعتماديات في PyTorch. علاوة على ذلك، قد تكون متطلبات الذاكرة أثناء التدريب مرتفعة للغاية بالنسبة إلى العتاد المخصص للمستهلكين.
Ultralytics YOLOv8: المعيار متعدد الاستخدامات#
أُطلق YOLOv8 في مطلع عام 2023، وأعاد تعريف تجربة المطور بالكامل، إذ لم يركز على دقة متطورة فحسب، بل على تقديم إطار عمل موحّد وجاهز للإنتاج.
- المؤلفون: Glenn Jocher وAyush Chaurasia وJing Qiu
- الجهة: Ultralytics
- التاريخ: 2023-01-10
- GitHub: ultralytics/ultralytics
- المنصة: Ultralytics YOLOv8
أبرز سمات البنية: قدّم YOLOv8 رأس اكتشاف خاليًا من المراسي بطبيعته، ما يلغي الحاجة إلى ضبط صناديق المراسي يدويًا استنادًا إلى مجموعة بيانات MS COCO أو توزيعات البيانات المخصصة. كما يتضمن وحدة C2f لتحسين تدفق التدرج، ويستخدم بنية رأس منفصلة تفصل بين مهمتي التصنيف والانحدار. ويسرّع ذلك التقارب بدرجة كبيرة ويعزز الدقة.
نقاط القوة والضعف: يتميز YOLOv8 بكفاءة استثنائية في متطلبات الذاكرة. فهو يتطلب ذاكرة CUDA أقل بكثير أثناء التدريب مقارنةً بـ YOLOv7 ونماذج Transformer الأثقل، ما يتيح للمطورين استخدام أحجام دفعات أكبر. وتكمن قوته الأساسية في تعدد الاستخدامات، إذ يدعم بطبيعته تجزئة الكائنات، وتصنيف الصور، وتقدير الوضعيات، وصناديق الإحاطة الموجّهة (OBB). أما عيبه الطفيف الوحيد، فهو أن مسارات العمل القديمة شديدة التخصص والمبنية حصريًا على موترات YOLOv7 قد تتطلب فترة قصيرة لإعادة الهيكلة.
يستفيد Ultralytics YOLOv8 من منظومة تحظى بصيانة جيدة. فبفضل واجهة Python البرمجية سهلة الاستخدام والتطوير النشط والدعم المجتمعي القوي، يستغرق نقل النموذج من الاختبار المحلي إلى النشر العالمي جزءًا بسيطًا من الوقت مقارنةً بالمستودعات المستقلة.
مقارنة مفصلة للأداء#
يوضّح الجدول التالي مقاييس الأداء لمجموعة من أحجام النماذج الأساسية. لاحظ توازن الأداء المميز الذي يحققه YOLOv8، إذ يحسّن الاستدلال السريع على الأجهزة الطرفية مع الحفاظ على دقة عالمية المستوى.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
ملاحظة: يحقق YOLOv8x أعلى قيمة mAP ضمن هذه المجموعة، بينما يتفوق YOLOv8n في كفاءة المعلمات وسرعة الاستدلال، ما يجعله الخيار الأبرز بلا منازع لنشر الرؤية الحاسوبية على أجهزة الذكاء الاصطناعي الطرفية.
سهولة الاستخدام وكفاءة التدريب#
فيما يتعلق بسهولة الاستخدام، ينفرد Ultralytics YOLOv8 بمكانة متميزة. فالبنى الأقدم مثل YOLOv7 تتطلب استنساخ مستودعات محددة وتشغيل نصوص مطولة لسطر الأوامر لضبط مجموعات البيانات والمسارات.
في المقابل، توفر حزمة YOLOv8 ultralytics تجربة مطور مبسطة للغاية. وتُعزّز كفاءة التدريب من خلال التنزيل التلقائي للبيانات والأوزان المدرّبة مسبقًا والجاهزة للاستخدام، إلى جانب إمكانات التصدير السلسة إلى تنسيقات مثل ONNX وTensorRT.
إليك مدى سهولة تحميل النموذج وتدريبه وتشغيل الاستدلال باستخدام واجهة Python البرمجية من Ultralytics:
from ultralytics import YOLO
# تحميل نموذج YOLOv8 nano مدرّب مسبقًا
model = YOLO("yolov8n.pt")
# تدريب النموذج بكفاءة على مجموعة بيانات COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# تشغيل استدلال سريع على صورة اختبارية
predictions = model("https://ultralytics.com/images/bus.jpg")
# عرض التنبؤات
predictions[0].show()يتكامل YOLOv8 بطبيعته مع أدوات MLOps الشائعة مثل Weights & Biases وClearML، ما يتيح لك مراقبة ضبط المعلمات الفائقة ومقاييس التدريب في الوقت الفعلي.
حالات الاستخدام المثالية#
غالبًا ما يتوقف الاختيار بين هذه البنى على القيود المحددة لبيئة النشر لديك.
متى تختار YOLOv7#
- المقارنة المرجعية مع الأنظمة القديمة: مناسب للباحثين الذين يحتاجون إلى خط أساس ثابت للمقارنة مع المعايير المعمارية لعام 2022.
- البنية التحتية الثقيلة القائمة مسبقًا: البيئات التي استثمرت بكثافة في وحدات GPU من طراز NVIDIA V100 أو A100، حيث تكون تكوينات الموترات المحددة لـ YOLOv7 مدمجة بعمق في مسار عمل قديم بلغة C++.
متى تختار YOLOv8#
- الإنتاج متعدد المنصات: مثالي للفرق التي تحتاج إلى النشر بسلاسة عبر وحدات GPU السحابية والأجهزة المحمولة والمتصفحات.
- متطلبات المهام المتعددة: إذا كان مشروعك يحتاج إلى تجاوز صناديق الإحاطة والاستفادة من أقنعة تجزئة الكائنات الغنية أو نقاط مفاتيح الوضعيات.
- الأجهزة الطرفية محدودة الموارد: يوفر YOLOv8 Nano (
yolov8n) نسبًا مذهلة بين الدقة والسرعة للروبوتات والطائرات المسيّرة ومستشعرات إنترنت الأشياء.
نظرة إلى المستقبل: القفزة الجيلية إلى YOLO26#
مع أن YOLOv8 يظل خيارًا متينًا للغاية، فإن مجال الرؤية الحاسوبية يتطور بسرعة. وقدّمت Ultralytics مؤخرًا التطور التالي لنماذج الذكاء الاصطناعي للمطورين الذين يبدؤون مشاريع جديدة عالية الأداء. ويُنصح بشدة باستكشاف كل من YOLO11 المحسّن بعناية وYOLO26 الذي أُطلق حديثًا.
يدفع YOLO26، الذي أُطلق في يناير 2026، حدود الإمكانات على الأجهزة الطرفية:
- تصميم شامل خالٍ من NMS: يدعم YOLO26 الاستدلال الشامل الأصلي، متجاوزًا المعالجة اللاحقة لعملية Non-Maximum Suppression (NMS) من خلال رأسه الاختياري واحد لواحد (
nms=False). ويضمن ذلك مسارات نشر أبسط وأسرع بكثير، دون اختناقات زمن الاستجابة التي تميّز نماذج التنبؤ الكثيف التقليدية. - إزالة DFL: عبر إزالة Distribution Focal Loss، يحقق YOLO26 خيارات أبسط بكثير لنشر النماذج وتوافقًا أفضل مع الأجهزة الطرفية.
- استدلال على CPU أسرع بنسبة تصل إلى 43%: حُسّن YOLO26 بدرجة كبيرة للبيئات محدودة الموارد مثل Raspberry Pi والأنظمة المضمنة، متفوقًا على جميع الأجيال السابقة في معدل معالجة CPU.
- مُحسِّن MuSGD: استلهامًا من أساليب تدريب النماذج اللغوية الكبيرة (LLM)، يدمج YOLO26 مزيجًا هجينًا من SGD وMuon. ويوفر ذلك استقرارًا تدريبيًا غير مسبوق وتقاربًا فائق السرعة.
- ProgLoss + STAL: تحقق دوال الخسارة المتقدمة هذه تحسينات ملحوظة في التعرّف على الأجسام الصغيرة، وهو أمر بالغ الأهمية للصور الجوية والزراعة الآلية والروبوتات.
سواء كنت توسّع نطاق تحليلات الفيديو الضخمة باستخدام YOLOv8 أو تنقل الاستدلال إلى أجهزة طرفية صغيرة جدًا باستخدام YOLO26 المتطور، توفر منصة Ultralytics الأدوات اللازمة لإدارة دورة حياة الذكاء الاصطناعي بأكملها بسلاسة.