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 أقل أثناء التدريب مقارنةً بالعديد من البدائل القائمة على Transformer مثل RT-DETR. ويتيح ذلك للمطورين استخدام أحجام دفعات أكبر على وحدات GPU الاستهلاكية القياسية، مثل سلسلة NVIDIA RTX.
نقاط القوة والضعف#
نقاط القوة:
- تعدد استخدامات لا يُضاهى عبر مهام متعددة تتجاوز مجرد كشف مربعات الإحاطة.
- واجهة Python برمجية مبسطة عبر الحزمة
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 وحدة C3، التي تستخرج السمات بكفاءة مع الحفاظ على عدد منخفض من المعلمات. وتعتمد دالة الخسارة بدرجة كبيرة على خسارة وجود الكائن، إلى جانب خسارتي التصنيف وانحدار مربعات الإحاطة، لتوجيه الشبكة نحو تنبؤات دقيقة.
نقاط القوة والضعف#
نقاط القوة:
- خفيف للغاية، ما يجعل نسختي Nano (YOLOv5n) وSmall (YOLOv5s) ملائمتين جدًا لعمليات نشر الذكاء الاصطناعي الطرفي محدودة الموارد.
- سرعات استدلال فائقة، خاصة على وحدات CPU.
- منظومة راسخة بعمق، تضم دروسًا تعليمية مجتمعية واسعة النطاق وتكاملات من جهات خارجية.
نقاط الضعف:
- يتطلب ضبط مربعات المراسي، ما قد يعقّد الإعداد لمجموعات البيانات شديدة التنوع أو المخصصة.
- دقة إجمالية أقل (mAP) مقارنةً بالبنى الحديثة الخالية من المراسي، مثل YOLOv8 وYOLO26.
مقارنة الأداء#
عند تقييم هذه النماذج، تُعد المفاضلة المواتية بين السرعة والدقة أمرًا بالغ الأهمية. ويوضح الجدول أدناه مقاييس أداء البنيتين، بعد تقييمهما على مجموعة بيانات COCO. وقيسَت سرعات CPU باستخدام ONNX، بينما اختُبرت سرعات GPU باستخدام TensorRT.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-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 بأفضلية في عدد المعلمات والسرعة الخام المطلقة لنسخة Nano، يحقق YOLOv8 قفزة كبيرة في mAP عبر الفئات كافة، ما يوفر توازن أداء أقوى بكثير لسيناريوهات النشر الصعبة في العالم الفعلي.
سهولة الاستخدام ومنظومة 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 بدلًا من YOLOv5 في جميع المشاريع الجديدة تقريبًا التي تبدأ اليوم. وتتعامل بنيته المتقدمة بسهولة مع التتبع المعقد ومربعات الإحاطة الموجّهة (OBB) والتجزئة. وهو مثالي للتطبيقات الحديثة التي تتراوح بين الروبوتات ذاتية التشغيل وتحليل الصور الطبية وبنية المدن الذكية.
مع أن YOLOv8 يتمتع بقدرات هائلة، ينبغي للمطورين الساعين إلى بلوغ قمة الأداء التفكير في YOLO26. وقد طُرح عام 2026، ويقدم عدة تطورات رائدة:
- تصميم شامل من دون NMS: يلغي رأس اختياري أحادي المطابقة (
nms=False) المعالجة اللاحقة باستخدام NMS لتوفير نشر أسرع وأبسط، وهو مفهوم ابتُكر أول مرة في YOLOv10. - محسّن MuSGD: مزيج من SGD وMuon ينقل ابتكارات تدريب نماذج اللغة الكبيرة (LLM) إلى الرؤية الحاسوبية، ما يتيح تدريبًا أكثر استقرارًا وتقاربًا أسرع.
- استدلال أسرع بنسبة تصل إلى 43% على CPU: تحسين مكثف لبيئات الحوسبة الطرفية التي لا تتضمن وحدات GPU مخصصة.
- إزالة DFL: أُزيلت خسارة البؤرة التوزيعية لتبسيط التصدير وتعزيز التوافق مع الأجهزة الطرفية.
- ProgLoss + STAL: تحقق الخسارة التزايدية وإسناد التسميات الواعي بالأهداف الصغيرة تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية للصور الجوية وإنترنت الأشياء.
من خلال الاستفادة من الوثائق الشاملة والأدوات التي توفرها Ultralytics، يمكنك نشر YOLOv8 بسهولة أو استكشاف YOLO26 المتطور لحل التحديات البصرية المعقدة بسرعة ودقة غير مسبوقتين. ولمزيد من التعلم، يمكنك الاطلاع على أدلتنا حول ضبط المعلمات الفائقة وممارسات نشر النماذج.