YOLOv8 مقابل YOLOv5#
يُعد اختيار بنية الرؤية الحاسوبية المناسبة خطوة حاسمة في بناء مسارات تعلّم آلة متينة. وتستكشف هذه المقارنة التقنية الاختلافات بين اثنين من أكثر النماذج شيوعًا في منظومة الذكاء الاصطناعي للرؤية: YOLOv8 وYOLOv5. طورت Ultralytics كلا النموذجين، وأسهم كلاهما بدرجة كبيرة في تشكيل مجال اكتشاف الأجسام في الزمن الحقيقي، واضعين معايير للسرعة والدقة وسهولة الاستخدام.
سواء أكنت تنشر على أجهزة طرفية أم توسّع نطاق الاستدلال السحابي، فإن فهم التحولات المعمارية ومقاييس الأداء ومنهجيات التدريب في هذه النماذج سيساعدك على اتخاذ قرار مدروس لمشاريع الرؤية الحاسوبية الخاصة بك.
Ultralytics YOLOv8: المعيار متعدد الاستخدامات#
شكّل YOLOv8، الذي أُطلق في أوائل عام 2023، تحولًا معماريًا كبيرًا مقارنة بأسلافه. وقد صُمم من الأساس ليكون إطارًا موحدًا قادرًا على تنفيذ مهام رؤية متعددة أصلاً، بما فيها تجزئة الكائنات وتصنيف الصور وتقدير الوضعيات.
- المؤلفون: Glenn Jocher وAyush Chaurasia وJing Qiu
- الجهة: Ultralytics
- التاريخ: 2023-01-10
- GitHub: ultralytics/ultralytics
- الوثائق: وثائق YOLOv8
البنية والمنهجيات#
قدّم YOLOv8 رأس كشف خاليًا من المراسي، ما يبسط عملية التدريب بإلغاء الحاجة إلى ضبط مربعات المراسي يدويًا بناءً على توزيع مجموعة البيانات. وهذا يجعل النموذج أكثر متانة عند التعميم على مجموعات بيانات مخصصة، ويقلل عدد تنبؤات المربعات، ما يسرّع قمع غير الأقصى (NMS).
تتضمن البنية وحدة C2f (عنق زجاجة جزئي عبر المراحل مع عمليتي التفاف)، التي تحل محل وحدة C3 الموجودة في YOLOv5. وتحسن وحدة C2f تدفق التدرجات، وتتيح للنموذج تعلم تمثيلات أغنى للسمات من دون زيادة كبيرة في الكلفة الحسابية. علاوة على ذلك، يستخدم YOLOv8 بنية رأس مفصول تفصل بين مهمتي التصنيف والانحدار، وقد ثبت أنها تحسن سرعة التقارب والدقة.
حُسّنت نماذج Ultralytics YOLO، ومنها YOLOv8، لتقليل استهلاك ذاكرة CUDA أثناء التدريب مقارنةً بالعديد من البدائل المعتمدة على المحولات مثل RT-DETR. وهذا يتيح للمطورين استخدام أحجام دفعات أكبر على وحدات GPU الاستهلاكية المعتادة، مثل سلسلة NVIDIA RTX.
نقاط القوة والضعف#
نقاط القوة:
- تعدد الاستخدامات عبر مهام متعددة تتجاوز مجرد اكتشاف مربعات الإحاطة.
- واجهة Python API مبسطة عبر حزمة
ultralyticsتجعل التدريب والتصدير سلسين. - متوسط الدقة (mAP) أعلى عبر جميع أحجام النماذج مقارنةً بـYOLOv5.
نقاط الضعف:
- يزيد الرأس المفصول ووحدة C2f عدد المعلمات وعمليات FLOPs في الإصدارات الأصغر مقارنةً بنظيراتها في YOLOv5.
Ultralytics YOLOv5: الرائد المرن#
قدم YOLOv5، الذي طُرح في عام 2020، YOLO إلى منظومة PyTorch، ما جعله أكثر سهولة للمطورين. وسرعان ما أصبح أحد أكثر النماذج استخدامًا لاكتشاف الأجسام بسرعة وموثوقية وسهولة في النشر.
- المؤلف: Glenn Jocher
- الجهة: Ultralytics
- التاريخ: 2020-06-26
- GitHub: ultralytics/yolov5
- الوثائق: وثائق YOLOv5
البنية والمنهجيات#
يعتمد YOLOv5 على بنية قائمة على المراسي ويستخدم عمودًا فقريًا معدلًا من CSPDarknet53. وتتطلب الأساليب القائمة على المراسي مراسي تتوافق مع توزيع مربعات الإحاطة في مجموعة البيانات (يفحص YOLOv5 المراسي ويعيد حسابها تلقائيًا باستخدام AutoAnchor)، وتعمل جيدًا على مجموعات البيانات محددة السمات.
يضم YOLOv5 وحدة C3 التي تستخرج السمات بكفاءة مع الحفاظ على عدد منخفض من المعلمات. وتجمع دالة الخسارة فيه بين خسارة وجود الأجسام وخسارتي التصنيف وانحدار مربعات الإحاطة، لتوجيه الشبكة نحو تنبؤات دقيقة.
نقاط القوة والضعف#
نقاط القوة:
- خفيف الوزن، ما يجعل إصداري Nano (YOLOv5n) وSmall (YOLOv5s) مناسبين تمامًا لعمليات نشر الذكاء الاصطناعي الطرفي محدودة الموارد.
- استدلال سريع على وحدات CPU وGPU.
- نظام بيئي راسخ يضم شروحات مجتمعية واسعة وتكاملات خارجية كثيرة.
نقاط الضعف:
- يعتمد على مربعات المراسي، وقد تحد السوابق التي توفرها من قابلية التعميم على مجموعات البيانات شديدة التنوع أو المخصصة.
- دقة إجمالية أقل (mAP) مقارنةً بالبنى الحديثة الخالية من المراسي، مثل YOLOv8 وYOLO26.
مقارنة الأداء#
عند تقييم هذه النماذج، من الضروري تحقيق موازنة ملائمة بين السرعة والدقة. ويعرض الجدول أدناه مقاييس أداء البنيتين عند تقييمهما على مجموعة بيانات COCO. قيسَت سرعات CPU باستخدام ONNX، بينما اختُبرت سرعات GPU باستخدام TensorRT.
| النموذج | الحجم (بكسل) | mAPval50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (ms) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
مع أن YOLOv5 يحقق زمن استجابة أقل على GPU وعمليات FLOPs أقل في كل حجم ضمن هذا الجدول، يقدم YOLOv8 قيمة mAP أعلى بكثير في جميع الأحجام (مثلًا، 37.3 مقابل 28.0 لنماذج Nano)، ما يوفر توازنًا أفضل بين الدقة والسرعة لعمليات النشر الواقعية التي تتطلب أداءً عاليًا.
سهولة الاستخدام ومنظومة Ultralytics#
من السمات المميزة لنماذج Ultralytics الحديثة النظام البيئي المحيط بها، الذي يحظى بصيانة جيدة. وقد أدى الانتقال من YOLOv5 إلى YOLOv8 إلى تقديم حزمة pip الموحدة ultralytics، ما يبسّط تجربة المستخدم.
يستطيع المطورون إجراء تدريب النماذج والتحقق والتنبؤ والتصدير باستخدام بضعة أسطر فقط من شيفرة Python، متجاوزين بذلك النصوص البرمجية النمطية المعقدة التي كانت مطلوبة تاريخيًا في مشاريع التعلّم العميق.
from ultralytics import YOLO
# تحميل نموذج YOLOv8 مدرّب مسبقًا
model = YOLO("yolov8n.pt")
# تدريب النموذج بكفاءة على بيانات مخصصة
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# تصدير النموذج إلى ONNX لنشره في بيئة الإنتاج
path = model.export(format="onnx")تُبسّط منصة Ultralytics كذلك إدارة مجموعات البيانات والتدريب السحابي والنشر.
حالات الاستخدام المثالية#
متى تختار YOLOv5: إذا كنت تصون أنظمة قديمة، أو تجري الاستدلال على وحدات CPU شديدة المحدودية مثل Raspberry Pi، أو تعمل على مشروع يكون فيه توفير كل جزء من الميغابايت في حجم النموذج أمرًا بالغ الأهمية، يظل YOLOv5 خيارًا عمليًا موثوقًا.
متى تختار YOLOv8: من بين النموذجين، يُعد YOLOv8 الخيار الأفضل للمشاريع الجديدة. وتدعم بنيته التتبع والتجزئة ومربعات الإحاطة الموجّهة (OBB)، كما يناسب التطبيقات الحديثة التي تتراوح من الروبوتات ذاتية التشغيل إلى تحليل الصور الطبية والبنية التحتية للمدن الذكية.
مع أن YOLOv8 نموذج كفؤ، توصي Ultralytics بـYOLO26 للمشاريع الجديدة. وقد صدر في يناير 2026، ويقدم عدة تطورات:
- تصميم شامل من البداية إلى النهاية بلا NMS: يلغي رأس اختياري واحد لواحد (
nms=False) المعالجة اللاحقة باستخدام NMS لتوفير نشر أسرع وأبسط؛ وهو نهج أدخله YOLOv10 إلى نماذج YOLO. - محسّن MuSGD: مزيج من SGD وMuon ينقل ابتكارات تدريب نماذج اللغة الكبيرة (LLM) إلى الرؤية الحاسوبية، ما يتيح تدريبًا أكثر استقرارًا وتقاربًا أسرع.
- استدلال على CPU أسرع بنسبة تصل إلى 43%: يعمل YOLO26n بسرعة تصل إلى 43% أعلى من YOLO11n على CPU، ما يجعله مناسبًا لبيئات الحوسبة الطرفية التي لا تتوفر فيها وحدات GPU مخصصة.
- إزالة DFL: أُزيلت خسارة البؤرة التوزيعية لتبسيط التصدير وتعزيز التوافق مع الأجهزة الطرفية.
- ProgLoss + STAL: تحقق الخسارة التزايدية وإسناد التسميات الواعي بالأهداف الصغيرة تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية للصور الجوية وإنترنت الأشياء.
باستخدام وثائق Ultralytics وأدواتها، يمكنك نشر YOLOv8 أو اعتماد YOLO26 لتطبيقات الرؤية التي تتطلب أداءً عاليًا. ولمزيد من التعلم، راجع الأدلة المتعلقة بـضبط المعلمات الفائقة وممارسات نشر النماذج.