استكشف Ultralytics YOLOv8

نظرة عامة

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

مخططات مقارنة أداء YOLOv8



Watch: Ultralytics YOLOv8 Model Overview
جربه على منصة Ultralytics

استكشف وقم بتشغيل نماذج YOLOv8 مباشرةً على منصة Ultralytics.

الميزات الرئيسية لـ YOLOv8

  • بنيات العمود الفقري (Backbone) والعنق (Neck) المتقدمة: يستخدم YOLOv8 أحدث بنيات العمود الفقري والعنق، مما يؤدي إلى تحسين أداء استخراج الميزات واكتشاف الكائنات.
  • رأس Ultralytics المنفصل والخالي من المرساة (Anchor-free): يعتمد YOLOv8 رأساً منفصلاً من Ultralytics لا يعتمد على المراسي، مما يساهم في دقة أفضل وعملية اكتشاف أكثر كفاءة مقارنة بالأساليب المعتمدة على المراسي.
  • موازنة محسنة بين الدقة والسرعة: مع التركيز على الحفاظ على توازن مثالي بين الدقة والسرعة، فإن YOLOv8 مناسب لمهام اكتشاف الكائنات في الوقت الفعلي في مجالات تطبيق متنوعة.
  • مجموعة متنوعة من النماذج المدربة مسبقاً: يقدم YOLOv8 مجموعة من النماذج المدربة مسبقاً لتلبية المهام ومتطلبات الأداء المختلفة، مما يسهل العثور على النموذج المناسب لحالة الاستخدام الخاصة بك.

المهام والأنماط المدعومة

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

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

النموذجأسماء الملفاتالمهمةالاستدلالالتحققالتدريبتصدير
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptالكشف
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptتجزئة المثيلات
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptالوضعية/النقاط الرئيسية
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptالكشف الموجه
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptالتصنيف

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

مقاييس الأداء

الأداء

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

النموذجالحجم
(بكسل)
mAPval
50-95
السرعة
CPU ONNX
(ملي ثانية)
السرعة
A100 TensorRT
(ms)
المعلمات
(مليون)
FLOPs
(مليار)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.8

أمثلة على استخدام YOLOv8

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

لاحظ أن المثال أدناه مخصص لنماذج YOLOv8 الخاصة بـ الكشف عن الأشياء. للمزيد من المهام المدعومة، راجع وثائق التجزئة والتصنيف وOBB والوضعية.

مثال

يمكن تمرير نماذج PyTorch المدربة مسبقاً بصيغة *.pt بالإضافة إلى ملفات الإعداد بصيغة *.yaml إلى فئة YOLO() لإنشاء مثيل للنموذج في Python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Display model information (optional)
model.info()

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

# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

الاقتباسات والشكر

منشور Ultralytics YOLOv8

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

إذا كنت تستخدم نموذج YOLOv8 أو أي برنامج آخر من هذا المستودع في عملك، يرجى الاستشهاد به باستخدام التنسيق التالي:

اقتباس
@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

يرجى ملاحظة أن معرف الوثيقة الرقمي (DOI) قيد الانتظار وسيتم إضافته إلى الاستشهاد بمجرد توفره. يتم توفير نماذج YOLOv8 بموجب تراخيص AGPL-3.0 وEnterprise.

الأسئلة الشائعة

ما هو YOLOv8 وكيف يختلف عن إصدارات YOLO السابقة؟

تم تصميم YOLOv8 لتحسين أداء الكشف عن الأشياء في الوقت الفعلي باستخدام ميزات متقدمة. على عكس الإصدارات السابقة، يدمج YOLOv8 رأس Ultralytics بدون مرساة (anchor-free)، وبنية عمود فقري وعنق متطورة، ويوفر توازناً محسناً بين الدقة والسرعة، مما يجعله مثالياً لتطبيقات متنوعة. لمزيد من التفاصيل، راجع أقسام نظرة عامة والميزات الرئيسية.

كيف يمكنني استخدام YOLOv8 لمهام رؤية حاسوبية مختلفة؟

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

ما هي مقاييس الأداء لنماذج YOLOv8؟

تحقق نماذج YOLOv8 أداءً متطوراً عبر مجموعات بيانات قياسية متنوعة. على سبيل المثال، يحقق نموذج YOLOv8n متوسط دقة (mAP) يبلغ 37.3 على مجموعة بيانات COCO وسرعة تبلغ 0.99 مللي ثانية على A100 TensorRT. يمكن العثور على مقاييس الأداء التفصيلية لكل متغير من النماذج عبر المهام ومجموعات البيانات المختلفة في قسم مقاييس الأداء.

كيف أقوم بتدريب نموذج YOLOv8؟

يمكن تدريب نموذج YOLOv8 باستخدام Python أو CLI. فيما يلي أمثلة لتدريب نموذج باستخدام نموذج YOLOv8 مدرب مسبقاً على COCO على مجموعة بيانات COCO8 لمدة 100 دورة تدريبية:

مثال
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

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

لمزيد من التفاصيل، تفضل بزيارة وثائق التدريب.

هل يمكنني قياس أداء نماذج YOLOv8؟

نعم، يمكن قياس أداء نماذج YOLOv8 من حيث السرعة والدقة عبر صيغ تصدير متنوعة. يمكنك استخدام PyTorch وONNX وTensorRT والمزيد لقياس الأداء. فيما يلي أمثلة للأوامر لقياس الأداء باستخدام Python وCLI:

مثال
from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

للحصول على معلومات إضافية، راجع قسم مقاييس الأداء.

التعليقات