YOLOv8 YOLOv5: مقارنة تقنية شاملة
يعد اختيار بنية الرؤية الحاسوبية المناسبة خطوة حاسمة في بناء خطوط أنابيب قوية للتعلم الآلي. في هذه المقارنة التقنية التفصيلية، نستكشف الاختلافات بين اثنين من النماذج الأكثر شيوعًا في نظام الرؤية الاصطناعية: YOLOv8 و YOLOv5. تم تطوير كلا النموذجين بواسطة Ultralytics شكلا بشكل كبير مشهد الكشف عن الكائنات في الوقت الفعلي، ووضعا معايير الصناعة للسرعة والدقة وسهولة الاستخدام.
سواء كنت تقوم بالنشر على الأجهزة الطرفية أو توسيع نطاق الاستدلال السحابي، فإن فهم التغييرات المعمارية ومقاييس الأداء ومنهجيات التدريب لهذه النماذج سيساعدك على اتخاذ قرار مستنير لمشاريع الرؤية الحاسوبية الخاصة بك.
Ultralytics YOLOv8: المعيار متعدد الاستخدامات
صدر YOLOv8 في أوائل عام 2023، YOLOv8 تحولًا كبيرًا في البنية مقارنة بسابقيه. وقد تم تصميمه من الألف إلى الياء ليكون إطارًا موحدًا قادرًا على التعامل مع مهام رؤية متعددة بشكل أصلي، بما في ذلك تقسيم المثيلات وتصنيف الصور وتقدير الوضع.
- المؤلفون: Glenn Jocher و Ayush Chaurasia و Jing Qiu
- المؤسسة:Ultralytics
- التاريخ: 2023-01-10
- GitHub:ultralytics/ultralytics
- الوثائق:وثائق YOLOv8
الهندسة المعمارية والمنهجيات
YOLOv8 رأس كشف بدون مرساة ، مما يبسط عملية التدريب من خلال التخلص من الحاجة إلى تكوين مربعات المرساة يدويًا بناءً على توزيع مجموعة البيانات. وهذا يجعل النموذج أكثر قوة عند التعميم على مجموعات البيانات المخصصة ويقلل من عدد تنبؤات المربعات، مما يسرع عملية القمع غير الأقصى (NMS).
تتميز البنية بوحدة C2f (عنق زجاجة جزئي عبر المراحل مع اثنين من التلافيف)، والتي تحل محل وحدة C3 الموجودة في YOLOv5. تعمل وحدة C2f على تحسين تدفق التدرج وتسمح للنموذج بتعلم تمثيلات أكثر ثراءً للميزات دون زيادة كبيرة في تكلفة الحوسبة. علاوة على ذلك، YOLOv8 بنية رأس منفصلة، تفصل بين مهام الكائنات والتصنيف والانحدار، والتي ثبت أنها تحسن سرعة ودقة التقارب.
كفاءة الذاكرة
تم تحسينYOLO Ultralytics YOLO ، بما في ذلك YOLOv8، لاستخدام CUDA أقل أثناء التدريب مقارنة بالعديد من البدائل القائمة على Transformer مثل RT-DETR. وهذا يتيح للمطورين استخدام أحجام دفعات أكبر على وحدات معالجة الرسومات (GPU) القياسية للمستهلكين مثل سلسلة NVIDIA .
نقاط القوة والضعف
نقاط القوة:
- تنوع لا مثيل له في العديد من المهام التي تتجاوز مجرد الكشف عن الصناديق المحددة.
- Python مبسطة عبر
ultralyticsحزمة، مما يجعل التدريب والتصدير أمرًا بديهيًا للغاية. - متوسط دقة أعلى (mAP) عبر جميع المتغيرات الحجمية مقارنةً بـ YOLOv5.
نقاط الضعف:
- يؤدي الفصل بين الرأس ووحدة C2f إلى زيادة طفيفة في عدد المعلمات وعمليات FLOPs لبعض المتغيرات مقارنة YOLOv5 في YOLOv5 .
Ultralytics YOLOv5: الرائد المرن
تم طرح YOLOv5 في عام 2020، حيث YOLOv5 YOLO PyTorch ، مما أدى إلى تحسين إمكانية وصول المطورين بشكل كبير. وسرعان ما أصبح المعيار الصناعي لنماذج الكشف عن الكائنات السريعة والموثوقة وسهلة النشر.
- المؤلف: جلين جوتشر
- المؤسسة:Ultralytics
- التاريخ: 2020-06-26
- GitHub:ultralytics/yolov5
- الوثائق:وثائق YOLOv5
الهندسة المعمارية والمنهجيات
YOLOv5 على بنية قائمة على المراسي ويستخدم هيكل CSPDarknet53 معدل. في حين أن الأساليب القائمة على المراسي تتطلب تجميعًا دقيقًا لمربعات تحديد مجموعات البيانات لتحديد المراسي المثلى قبل التدريب، إلا أنها فعالة للغاية بالنسبة لمجموعات البيانات المحددة جيدًا.
YOLOv5 وحدة C3، التي تستخرج الميزات بكفاءة مع الحفاظ على أثر منخفض للمعلمات. تعتمد وظيفة الخسارة الخاصة به بشكل كبير على خسارة Objectness جنبًا إلى جنب مع خسائر التصنيف وانحدار المربع المحيط لتوجيه الشبكة نحو تنبؤات دقيقة.
نقاط القوة والضعف
نقاط القوة:
- خفيفة الوزن للغاية، مما يجعل نسختي Nano (YOLOv5n) و Small (YOLOv5s) مناسبتين للغاية لنشر الذكاء الاصطناعي المحدود الموارد.
- سرعات استدلال استثنائية، خاصة على وحدات المعالجة المركزية.
- نظام بيئي راسخ للغاية مع دروس تعليمية مجتمعية واسعة النطاق وتكاملات من أطراف ثالثة.
نقاط الضعف:
- يتطلب تكوين مربع مرساة، مما قد يعقد عملية الإعداد لمجموعات البيانات المتنوعة أو المخصصة.
- دقة إجمالية أقل (mAP) مقارنة بالبنى الحديثة الخالية من المراسي مثل YOLOv8 YOLO26.
مقارنة الأداء
عند تقييم هذه النماذج، من الأهمية بمكان تحقيق توازن مناسب بين السرعة والدقة. يوضح الجدول أدناه مقاييس الأداء لكلتا البنيتين التي تم تقييمها على COCO . تم قياس CPU باستخدام ONNX، بينما تم اختبار GPU باستخدام TensorRT.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (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.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
بينما YOLOv5 بميزة طفيفة في عدد المعلمات والسرعة المطلقة النسبية لنسخته Nano، YOLOv8 قفزة هائلة في mAP جميع الأصعدة، مما يوفر توازنًا أقوى في الأداء لسيناريوهات النشر الصعبة في العالم الواقعي.
سهولة الاستخدام ونظام Ultralytics
من السمات المميزة Ultralytics الحديثة النظام البيئي الجيد الذي يحيط بها. YOLOv8 الانتقال من YOLOv5 YOLOv8 إدخال نظام موحد ultralytics حزمة pip، مما يخلق تجربة مستخدم مبسطة للغاية.
يمكن للمطورين التعامل بسلاسة مع تدريب النماذج والتحقق من صحتها والتنبؤ بها وتصديرها باستخدام بضع أسطر من Python متجاوزين بذلك البرامج النصية النمطية المعقدة التي كانت مطلوبة في الماضي في مشاريع التعلم العميق.
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model on custom data efficiently
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Export the model to ONNX for production deployment
path = model.export(format="onnx")
علاوة على ذلك، فإن التكامل مع أدوات مثل Ultralytics يبسط إدارة مجموعات البيانات والتدريب على السحابة والنشر، مما يضمن التطوير النشط والدعم القوي من المجتمع.
حالات الاستخدام المثالية
متى تختار YOLOv5: إذا كنت تقوم بصيانة أنظمة قديمة، أو تشغيل الاستدلال على وحدات معالجة مركزية مقيدة بشدة مثل Raspberry Pi، أو تعمل على مشروع حيث يكون توفير كل جزء من الميغابايت في حجم النموذج أمرًا بالغ الأهمية، YOLOv5 أداة عمل موثوقة.
متى تختار YOLOv8: بالنسبة لجميع المشاريع الجديدة التي تبدأ اليوم تقريبًا، YOLOv8 بشدة YOLOv8 بدلاً من YOLOv5. تعالج بنيته المتقدمة عمليات التتبع المعقدة ومربعات الحدود الموجهة (OBB) والتجزئة بسهولة. وهو مثالي للتطبيقات الحديثة التي تمتد من الروبوتات المستقلة إلى تحليل الصور الطبية والبنية التحتية للمدن الذكية.
هل تبحث عن أحدث التقنيات المتطورة؟
على الرغم من أن YOLOv8 بقدرات مذهلة، إلا أن المطورين الذين يسعون إلى تحقيق أقصى حدود الأداء يجب أن يأخذوا في الاعتبار YOLO26. تم إصداره في عام 2026، ويقدم العديد من التطورات الرائدة:
- تصميم شامل NMS: يلغي الحاجة إلى NMS من أجل نشر أسرع وأبسط، وهو مفهوم تم طرحه لأول مرة في YOLOv10.
- MuSGD Optimizer: مزيج من SGD Muon يجلب ابتكارات تدريب LLM إلى الرؤية الحاسوبية، مما يتيح تدريبًا أكثر استقرارًا وتقاربًا أسرع.
- CPU أسرع بنسبة تصل إلى 43٪ CPU : تم تحسينه بشكل كبير لبيئات الحوسبة الطرفية التي لا تحتوي على وحدات معالجة رسومات مخصصة.
- إزالة DFL: تمت إزالة فقدان بؤرة التوزيع لتبسيط التصدير وتحسين توافق الأجهزة الطرفية.
- ProgLoss + STAL: وظائف خسارة متقدمة تؤدي إلى تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية بالنسبة للصور الجوية وإنترنت الأشياء.
من خلال الاستفادة من الوثائق والأدوات الشاملة التي توفرها Ultralytics يمكنك بسهولة نشر YOLOv8 أو استكشاف YOLO26 المتطور، لحل التحديات البصرية المعقدة بسرعة ودقة غير مسبوقة. لمزيد من التعلم، يمكنك استكشاف أدلةنا حول ضبط المعلمات الفائقة وممارسات نشر النماذج.