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 الحديثة هو النظام البيئي المُصان جيدًا الذي يحيط بها. جلب الانتقال من 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: إذا كنت تقوم بصيانة أنظمة قديمة، أو تشغيل الاستدلال على CPUs مقيدة بشدة مثل Raspberry Pi، أو تعمل على مشروع حيث يكون توفير كل جزء من الميغابايت في حجم النموذج أمرًا بالغ الأهمية، يظل YOLOv5 أداة عمل موثوقة.
متى تختار YOLOv8: لجميع المشاريع الجديدة التي تبدأ اليوم تقريبًا، يُوصى بشدة بـ YOLOv8 بدلاً من YOLOv5. تتعامل بنيته المتقدمة مع track المعقد، ومربعات الإحاطة الموجهة (OBB)، و segment بسهولة. إنه مثالي للتطبيقات الحديثة التي تتراوح من الروبوتات المستقلة إلى تحليل الصور الطبية والبنية التحتية للمدن الذكية.
هل تبحث عن أحدث التقنيات المتطورة؟
على الرغم من أن YOLOv8 بقدرات مذهلة، إلا أن المطورين الذين يسعون إلى تحقيق أقصى حدود الأداء يجب أن يأخذوا في الاعتبار YOLO26. تم إصداره في عام 2026، ويقدم العديد من التطورات الرائدة:
- تصميم خالٍ من NMS وشامل: يلغي معالجة NMS اللاحقة لنشر أسرع وأبسط، وهو مفهوم تم ابتكاره لأول مرة في YOLOv10.
- مُحسِّن MuSGD: هجين من SGD و Muon يجلب ابتكارات تدريب نماذج اللغة الكبيرة (LLM) إلى الرؤية الحاسوبية، مما يتيح تدريبًا أكثر استقرارًا وتقاربًا أسرع.
- استدلال أسرع على CPU بنسبة تصل إلى 43%: مُحسّن بشكل كبير لبيئات الحوسبة الطرفية التي لا تحتوي على وحدات GPU مخصصة.
- إزالة DFL: تمت إزالة خسارة التركيز التوزيعي لتصدير مبسط وتوافق محسن مع الأجهزة الطرفية.
- ProgLoss + STAL: دوال خسارة متقدمة تحقق تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية للصور الجوية وإنترنت الأشياء.
بالاستفادة من الوثائق والأدوات الشاملة التي توفرها Ultralytics، يمكنك بسهولة نشر YOLOv8، أو استكشاف YOLO26 المتطورة، لحل تحديات بصرية معقدة بسرعة ودقة غير مسبوقتين. لمزيد من التعلم، فكر في استكشاف أدلتنا حول ضبط المعلمات الفائقة (hyperparameter tuning) وممارسات نشر النماذج.