تخطي إلى المحتوى

YOLOv8 مقابل YOLOv5: تطور الكشف عن الكائنات في الوقت الفعلي

في عالم الرؤية الحاسوبية سريع الإيقاع، هناك القليل من الأسماء التي يتردد صداها بقوة مثل YOLO (أنت تنظر مرة واحدة فقط). تم تطويره بواسطة Ultralyticsيمثل كل من YOLOv5 و YOLOv8 لحظات محورية في تاريخ اكتشاف الأجسام. بينما وضع YOLOv5 معيار الصناعة لسهولة الاستخدام والسرعة عند إطلاقه في عام 2020، تم إطلاق YOLOv8 في عام 2023 لدفع حدود الدقة والمرونة المعمارية إلى أبعد من ذلك.

تستكشف هذه المقارنة الشاملة الاختلافات التقنية والتطورات المعمارية ومقاييس الأداء لهذين النموذجين القويين. سواء كنت تحتفظ بأنظمة قديمة أو تقوم ببناء حلول الذكاء الاصطناعي المتطورة، فإن فهم الفروق الدقيقة بين هذين الإصدارين أمر بالغ الأهمية لاتخاذ قرارات نشر مستنيرة.

التطور المعماري

تمثل المرحلة الانتقالية من YOLOv5 إلى YOLOv8 تحولًا كبيرًا في فلسفة التصميم، والانتقال من الأساليب القائمة على المرساة إلى نهج حديث وخالي من المرساة. يعالج هذا التطور التحديات الشائعة في تدريب النموذج والتعميم.

YOLOv5: المعيار القائم على المرساة

يستخدم YOLOv5 نظام الكشف المستند إلى المرساة. هذا يعني أن النموذج يتنبأ بالإزاحات من "مربعات مرساة" محددة مسبقًا ومصممة خصيصًا لمجموعة البيانات المحددة. على الرغم من فعاليته العالية، إلا أن هذا النهج غالبًا ما يتطلب حساب أبعاد المرساة المثالية لمجموعات البيانات المخصصة، وهي عملية تُعرف باسم "المرساة التلقائية".

  • العمود الفقري: يستخدم العمود الفقري CSPDarknet53 مع طبقة Focus (في الإصدارات السابقة) أو طبقة stem (في الإصدارات الأحدث) لتقليل حجم الصور.
  • الرقبة: يتضمن PANet (شبكة تجميع المسار) لدمج الميزات.
  • الرأس: هيكل الرأس المقترن حيث تشترك مهام التصنيف والتوطين في الميزات حتى طبقات الإخراج النهائية.

YOLOv8: المبتكر الخالي من المرساة

يقدم YOLOv8 رأس detect بدون نقاط ارتكاز، مما يلغي الحاجة إلى تعريفات مربع الارتكاز اليدوية. هذا يبسط خط أنابيب التدريب ويحسن الأداء على الكائنات ذات الأشكال ونسب العرض إلى الارتفاع المتنوعة.

  • وحدة C2f: تحل محل وحدة C3 الموجودة في YOLOv5. تم تصميم وحدة C2f (عنق الزجاجة الجزئي عبر المراحل مع اثنين من الالتواءات) لتحسين تدفق التدرج وقدرات استخراج الميزات مع الحفاظ على بصمة خفيفة الوزن.
  • رأس غير مقترن: على عكس YOLOv5، يفصل YOLOv8 مهام الكشف عن الكائنات والتصنيف والانحدار إلى فروع متميزة. يتيح ذلك لكل فرع التركيز على مهمته المحددة، مما يؤدي إلى دقة أعلى وتقارب أسرع.
  • دوال الخسارة: يستخدم YOLOv8 مُعيِّنًا مُحاذيًا للمهام وفقدان التركيز البؤري للتوزيع، مما يزيد من تحسين كيفية التعامل مع العينات الإيجابية والسلبية أثناء التدريب.

YOLO11: أحدث جيل

في حين أن YOLOv8 يقدم تحسينات كبيرة مقارنة بـ YOLOv5، إلا أن Ultralytics تواصل الابتكار. يوفر YOLO11 الذي تم إصداره مؤخرًا كفاءة ودقة أعلى. بالنسبة للمشاريع الجديدة، يوصى بشدة باستكشاف YOLO11 لضمان استفادة تطبيقك من أحدث التطورات المعمارية.

تحليل الأداء

عند مقارنة الأداء، من الضروري النظر إلى كل من الدقة (mAP) وسرعة الاستدلال. يوضح الجدول أدناه أن YOLOv8 يحقق باستمرار دقة متوسطة أعلى (mAP) على مجموعة بيانات COCO مقارنة بنظائر YOLOv5 ذات الحجم المماثل، غالبًا بسرعات استدلال مماثلة أو أفضل.

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

النقاط الرئيسية

  1. قفزة في الدقة: يحقق YOLOv8n (Nano) قفزة هائلة في mAP (37.3) مقارنة بـ YOLOv5n (28.0)، مما يجعل أصغر نموذج v8 دقيقًا تقريبًا مثل YOLOv5s الأكبر.
  2. كفاءة الحوسبة: في حين أن نماذج YOLOv8 لديها عدد FLOPs أعلى قليلاً في بعض المتغيرات، فإن هذا يؤدي إلى دقة أعلى بشكل غير متناسب، مما يوفر عائدًا أفضل على الاستثمار الحسابي.
  3. سرعة الاستدلال: يظل YOLOv5 سريعًا للغاية، خاصةً على الأجهزة القديمة أو الأجهزة الطرفية المستندة إلى وحدة المعالجة المركزية CPU البحتة. ومع ذلك، تم تحسين YOLOv8 لوحدات معالجة الرسوميات GPU الحديثة والمسرّعات مثل TensorRT، مما يقلل الفجوة في السرعة بشكل كبير.

Ultralytics YOLOv8: قوة المهام المتعددة

المؤلفون: جلين جوتشر، أيوش تشوراسيا، و جينغ تشيو
المنظمة:Ultralytics
التاريخ: 2023-01-10
المستندات:https://docs.ultralytics.com/models/yolov8/
GitHub:https://github.com/ultralytics/ultralytics

تم تصميم YOLOv8 ليكون حلاً متعدد الاستخدامات وشاملاً للرؤية الحاسوبية. وهو يدعم أصلاً مجموعة واسعة من المهام تتجاوز مجرد اكتشاف الكائنات البسيط، بما في ذلك تقسيم المثيلات، و تقدير الوضعية، و التصنيف، و اكتشاف الصناديق المحيطة الموجهة (OBB).

نقاط القوة

  • دقة متطورة: يوفر أداءً فائقًا في الكشف عبر المعايير القياسية مثل COCO و Roboflow 100.
  • إطار عمل موحد: مبني على ultralytics حزمة Python، مما يضمن تجربة سلسة للتدريب، التحقق، والنشر.
  • سهولة الاستخدام للمطورين: واجهة برمجة التطبيقات (API) بديهية بشكل لا يصدق. غالبًا ما يتطلب التبديل بين المهام (على سبيل المثال، الكشف إلى التقطيع) تغيير وسيطة واحدة فقط في CLI أو كود Python.
  • كفاءة التدريب: ميزات مثل زيادة البيانات "الذكية" والضبط التلقائي للمعلمات الفائقة تبسط المسار من البيانات إلى النموذج المنشور.

نقاط الضعف

  • استخدام الموارد: يمكن أن تكون المتغيرات الأكبر (L و X) أكثر استهلاكًا للموارد أثناء التدريب مقارنةً بأسلافها v5، مما يتطلب المزيد من VRAM على وحدات معالجة الرسوميات.

تعرف على المزيد حول YOLOv8

Ultralytics YOLOv5: المعيار القديم

Author: Glenn Jocher
Organization:Ultralytics
Date: 2020-06-26
Docs:https://docs.ultralytics.com/models/yolov5/
GitHub:https://github.com/ultralytics/yolov5

أحدث YOLOv5 ثورة في إمكانية الوصول إلى الذكاء الاصطناعي. من خلال الاستفادة من PyTorch، جعل تدريب كاشفات الكائنات المخصصة في متناول المطورين ذوي الخبرة المحدودة في التعلم العميق. نظامها البيئي واسع، مع الآلاف من البرامج التعليمية والتكاملات وعمليات النشر الواقعية.

نقاط القوة

  • استقرار مثبت: سنوات من الاستخدام النشط في بيئات الإنتاج جعلت YOLOv5 أحد أكثر نماذج الرؤية استقرارًا وموثوقية المتاحة.
  • دعم نشر واسع: الدعم المكثف لتنسيقات التصدير بما في ذلك ONNX و CoreML و TFLite يجعله مثاليًا لأهداف الأجهزة المتنوعة، من الهواتف المحمولة إلى Raspberry Pi.
  • النظام البيئي للمجتمع: يضمن المجتمع الضخم أن الحلول لأي حالة حافة أو خطأ تقريبًا متاحة بسهولة في المنتديات و مشكلات GitHub.

نقاط الضعف

  • سقف دقة أقل: نظرًا لكونه نموذجًا من عام 2020، فإن مقاييس دقته تتخلف عن البنى الأحدث مثل v8 و YOLO11.
  • إدارة المرتكزات (Anchor Management): يتطلب حساب مربعات الارتكاز (anchor box calculation)، والذي قد يكون نقطة احتكاك للمستخدمين الذين لديهم مجموعات بيانات فريدة أو شديدة التغير.

تعرف على المزيد حول YOLOv5

تكامل التعليمات البرمجية وسهولة الاستخدام

إحدى السمات المميزة لنماذج Ultralytics هي واجهة برمجة التطبيقات (API) المشتركة والمبسطة. سواء اخترت YOLOv8 لدقتها أو YOLOv5 لدعمها القديم، فإن ultralytics الحزمة توحد سير العمل. هذا يقلل بشكل كبير من حاجز الدخول ويسمح بسهولة التجربة.

يمكنك التدريب والتحقق والتوقع ببضعة أسطر فقط من كود Python.

from ultralytics import YOLO

# Load a YOLOv8 model (recommended for new projects)
model_v8 = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
results_v8 = model_v8.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
model_v8.predict("https://ultralytics.com/images/bus.jpg", save=True)


# Load a YOLOv5 model (automatically handled by the same package)
model_v5 = YOLO("yolov5su.pt")  # 'u' suffix indicates updated v5 model structure

# The same API works for training and inference
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)

فوائد النظام البيئي الموحد

باستخدام نظام Ultralytics البيئي الموحد، يمكنك الوصول إلى أدوات قوية مثل Ultralytics HUB لتدريب النماذج وتصورها بدون تعليمات برمجية. تعمل هذه المنصة على تبسيط إدارة مجموعات البيانات والتعاون، مما يسمح للفرق بالتركيز على حل المشكلات بدلاً من إدارة البنية التحتية.

توصيات حالات الاستخدام

يعتمد الاختيار بين YOLOv8 و YOLOv5 على متطلبات مشروعك المحددة وقيود الأجهزة وأهداف التطوير.

متى تختار YOLOv8

  • مشاريع جديدة: إذا كنت تبدأ من الصفر، فإن YOLOv8 (أو YOLO11 الأحدث) هو الفائز الواضح. تضمن دقته الفائقة بقاء تطبيقك تنافسيًا وقويًا.
  • مهام معقدة: بالنسبة للتطبيقات التي تتطلب تقدير الوضع أو segmentation، فإن دعم YOLOv8 الأصلي متعدد المهام لا غنى عنه.
  • احتياجات عالية الدقة: في مجالات مثل التصوير الطبي أو اكتشاف العيوب، يمكن أن يؤدي تحسين mAP الخاص بـ YOLOv8 إلى تقليل النتائج السلبية الكاذبة بشكل كبير.

متى تختار YOLOv5

  • الصيانة القديمة: إذا كان لديك خط إنتاج حالي مبني حول YOLOv5 ويعمل بشكل جيد، فقد لا تكون الهجرة ضرورية على الفور.
  • قيود الحافة القصوى: بالنسبة للأجهزة منخفضة الطاقة للغاية حيث يكون كل جزء من الثانية من وقت الاستجابة مهمًا وتكون الدقة ثانوية، قد تحتفظ متغيرات YOLOv5 Nano الأخف ببعض الميزة الطفيفة في الإنتاجية الأولية على وحدات المعالجة المركزية القديمة المحددة.
  • توافق البرنامج التعليمي: إذا كنت تتبع برنامجًا تعليميًا أو دورة تدريبية قديمة معينة تعتمد بشكل كبير على بنية مستودع YOLOv5 الأصلي.

الخلاصة

تجسد كل من YOLOv5 و YOLOv8 التزام Ultralytics بجعل الذكاء الاصطناعي في متناول الجميع وسريعًا ودقيقًا. لقد أضفى YOLOv5 طابعًا ديمقراطيًا على الكشف عن الكائنات، وبنى مجتمعًا ضخمًا ووضع معيارًا لقابلية الاستخدام. يعتمد YOLOv8 على هذا الأساس، ويقدم ابتكارات معمارية تقدم أداءً وتنوعًا متطورين.

بالنسبة للغالبية العظمى من المستخدمين، يُعد YOLOv8 - أو YOLO11 الأكثر تقدمًا - هو الخيار الموصى به. فهو يوفر أفضل توازن بين السرعة والدقة، مدعومًا بنظام بيئي حديث وغني بالميزات يعمل على تبسيط دورة حياة تعلم الآلة بأكملها.

لاستكشاف المزيد، تحقق من الأدلة الخاصة بنا للحصول على إرشادات مفصلة حول النشر، أو قم بزيارة Ultralytics GitHub للمساهمة في مستقبل رؤية الذكاء الاصطناعي.


تعليقات