YOLOv7 مقابل YOLOv8: مقارنة تقنية بين كواشف الكائنات في الوقت الفعلي
أدى التطور السريع لرؤية الحاسوب إلى إنتاج مجموعة من الأدوات القوية للمطورين والباحثين. عند اتخاذ قرار بشأن البنية الصحيحة لخط أنابيب اكتشاف الكائنات، تصبح مقارنة النماذج الراسخة أمراً ضرورياً. يقدم هذا الدليل التقني تعمقاً في البنى، ومقاييس الأداء، وحالات الاستخدام المثالية لنموذجين مؤثرين للغاية: YOLOv7 و Ultralytics YOLOv8.
مقدمة إلى البنى
يمثل كلا النموذجين قفزات كبيرة في الأداء، لكنهما يتعاملان مع تحدي تحسين الشبكات العصبية العميقة من خلال فلسفات هيكلية مختلفة.
YOLOv7: رائد "مجموعة الهدايا" (Bag-of-Freebies)
تم تقديم YOLOv7 في منتصف عام 2022، وقد ركز بشكل كبير على تحسين مسار تدرج البنية ومفهوم "حقيبة الميزات المجانية القابلة للتدريب" (trainable bag-of-freebies) لدفع حدود الكشف في الوقت الفعلي على الأجهزة المتطورة.
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- التوثيق: توثيق Ultralytics YOLOv7
أبرز ملامح البنية: يستخدم YOLOv7 بشكل أساسي رأس كشف يعتمد على المرساة (على الرغم من أنه جرب فروعاً خالية من المرساة) ويقدم شبكات تجميع الطبقات الفعالة الموسعة (E-ELAN). يعمل هذا التصميم على تحسين قدرة الشبكة على التعلم دون تدمير مسار التدرج الأصلي. إنه يعمل بشكل استثنائي على وحدات معالجة الرسومات من فئة الخوادم، مما يجعله مناسباً للغاية لتحليلات الفيديو الثقيلة.
نقاط القوة والضعف: بينما يحقق 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 ونماذج المحولات الأثقل، مما يسمح للمطورين باستخدام أحجام دفعات أكبر. تكمن قوته الأساسية في تعدد استخداماته، حيث يدعم بشكل أصلي تجزئة الكائنات، وتصنيف الصور، وتقدير الوضعية، وصناديق التحديد الموجهة (OBB). العيب البسيط الوحيد هو أن خطوط الأنابيب القديمة والمتخصصة للغاية التي تم بناؤها حصرياً لموترات YOLOv7 قد تتطلب فترة إعادة هيكلة قصيرة.
يستفيد Ultralytics YOLOv8 من نظام بيئي مُصان جيداً. بفضل واجهة برمجة تطبيقات Python بديهية، والتطوير النشط، ودعم المجتمع القوي، فإن نقل النموذج من الاختبار المحلي إلى النشر العالمي يستغرق جزءاً بسيطاً من الوقت مقارنة بالمستودعات المستقلة.
مقارنة مفصلة للأداء
يوضح الجدول التالي مقاييس الأداء عبر أحجام النماذج الرئيسية. لاحظ توازن الأداء المميز الذي يحققه YOLOv8، والذي يعمل على التحسين بشكل كبير للاستدلال السريع على أجهزة الحافة مع الحفاظ على دقة عالمية المستوى.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|
| 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.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
ملاحظة: يحقق YOLOv8x أعلى mAP في هذه المجموعة، بينما يهيمن YOLOv8n في كفاءة المعلمات وسرعة الاستدلال، مما يجعله البطل بلا منازع لـ نشر رؤية الحاسوب على أجهزة الذكاء الاصطناعي الطرفية.
سهولة الاستخدام وكفاءة التدريب
عندما يتعلق الأمر بـ سهولة الاستخدام، فإن Ultralytics YOLOv8 يعمل في دوري خاص به. تتطلب البنى الأقدم مثل YOLOv7 استنساخ مستودعات محددة وتشغيل نصوص سطر أوامر مطولة لتكوين مجموعات البيانات والمسارات.
في المقابل، توفر حزمة ultralytics الخاصة بـ YOLOv8 تجربة مطور مبسطة للغاية. يتم تعظيم كفاءة التدريب من خلال التنزيل التلقائي للبيانات، والأوزان المدربة مسبقاً الجاهزة للاستخدام، وقدرات التصدير السلسة إلى تنسيقات مثل ONNX وTensorRT.
إليك مدى سهولة التحميل والتدريب وتشغيل الاستدلال باستخدام واجهة برمجة تطبيقات Python الخاصة بـ Ultralytics:
from ultralytics import YOLO
# Load a pretrained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model efficiently on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run fast inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Display the predictions
predictions[0].show()يتكامل YOLOv8 بشكل أصلي مع أدوات MLOps الشائعة مثل Weights & Biases وClearML، مما يسمح لك بمراقبة ضبط المعلمات الفائقة ومقاييس التدريب في الوقت الفعلي.
حالات الاستخدام المثالية
غالباً ما يعتمد الاختيار بين هذه البنى على القيود المحددة لبيئة النشر الخاصة بك.
متى تختار YOLOv7
- قياس الأداء القديم: مناسب للباحثين الذين يحتاجون إلى خط أساس ثابت للمقارنة مقابل معايير البنية لعام 2022.
- البنية التحتية الثقيلة الموجودة مسبقاً: البيئات المستثمرة بكثافة في وحدات معالجة الرسومات NVIDIA V100 أو A100 حيث تكون تكوينات موتر YOLOv7 المحددة جزءاً لا يتجزأ من خط أنابيب C++ قديم.
متى تختار YOLOv8
- الإنتاج عبر المنصات: مثالي للفرق التي تحتاج إلى النشر بسلاسة عبر وحدات معالجة الرسومات السحابية، والأجهزة المحمولة، والمتصفحات.
- متطلبات المهام المتعددة: إذا كان مشروعك يحتاج إلى تجاوز صناديق التحديد والاستفادة من أقنعة تجزئة الكائنات الغنية أو نقاط مفتاح الوضعية.
- الحافة المحدودة الموارد: يوفر YOLOv8 Nano (
yolov8n) نسب دقة إلى سرعة مذهلة للروبوتات والطائرات بدون طيار ومستشعرات إنترنت الأشياء.
التطلع إلى المستقبل: القفزة الجيلية إلى YOLO26
بينما يظل YOLOv8 خياراً قوياً للغاية، فإن مجال رؤية الحاسوب يتحرك بسرعة. بالنسبة للمطورين الذين يبدأون مشاريع جديدة تماماً وعالية الأداء، قدمت Ultralytics مؤخراً التطور التالي لنماذج الذكاء الاصطناعي. يوصى بشدة باستكشاف كل من YOLO11 المكرر بعمق و YOLO26 الذي تم إصداره حديثاً.
تم إصدار YOLO26 في يناير 2026، وهو يدفع حدود ما هو ممكن على أجهزة الحافة:
- تصميم من طرف إلى طرف خالٍ من NMS: YOLO26 هو نظام أصلي من طرف إلى طرف، يلغي تماماً معالجة ما بعد الكبت غير الأقصى (NMS). وهذا يضمن خطوط أنابيب نشر أسرع وأبسط بكثير دون اختناقات زمن الوصول لنماذج التنبؤ الكثيف التقليدية.
- إزالة DFL: من خلال إزالة خسارة التوزيع البؤري (Distribution Focal Loss)، يحقق YOLO26 خيارات نشر نموذج أبسط بكثير وتوافقاً فائقاً مع الحافة.
- استدلال أسرع بنسبة تصل إلى 43% على وحدة المعالجة المركزية (CPU): محسن بشكل كبير للبيئات المقيدة مثل Raspberry Pi والأنظمة المدمجة، متفوقاً على جميع الأجيال السابقة في إنتاجية وحدة المعالجة المركزية.
- مُحسِّن MuSGD: مستوحى من نماذج تدريب النماذج اللغوية الكبيرة (LLM)، يدمج YOLO26 مزيجاً من SGD و Muon. وهذا يوفر استقراراً غير مسبوق في التدريب وتقارباً سريعاً للغاية.
- ProgLoss + STAL: تؤدي وظائف الخسارة المتقدمة هذه إلى تحسينات ملحوظة في التعرف على الكائنات الصغيرة، وهو أمر بالغ الأهمية للصور الجوية، والزراعة الآلية، والروبوتات.
سواء كنت تقوم بالتوسع إلى مجموعات تحليلات فيديو ضخمة باستخدام YOLOv8 أو دفع الاستدلال إلى أجهزة الحافة الصغيرة باستخدام YOLO26 المتطور، توفر منصة Ultralytics الأدوات اللازمة لإدارة دورة حياة الذكاء الاصطناعي بالكامل بسلاسة.