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

Watch: Ultralytics YOLOv8 Model Overview
استكشف وقم بتشغيل نماذج YOLOv8 مباشرةً على منصة Ultralytics.
الميزات الرئيسية لـ YOLOv8
- بنيات العمود الفقري (Backbone) والعنق (Neck) المتقدمة: يستخدم YOLOv8 أحدث بنيات العمود الفقري والعنق، مما يؤدي إلى تحسين أداء استخراج الميزات واكتشاف الكائنات.
- رأس Ultralytics المنفصل والخالي من المرساة (Anchor-free): يعتمد YOLOv8 رأساً منفصلاً من Ultralytics لا يعتمد على المراسي، مما يساهم في دقة أفضل وعملية اكتشاف أكثر كفاءة مقارنة بالأساليب المعتمدة على المراسي.
- موازنة محسنة بين الدقة والسرعة: مع التركيز على الحفاظ على توازن مثالي بين الدقة والسرعة، فإن YOLOv8 مناسب لمهام اكتشاف الكائنات في الوقت الفعلي في مجالات تطبيق متنوعة.
- مجموعة متنوعة من النماذج المدربة مسبقاً: يقدم YOLOv8 مجموعة من النماذج المدربة مسبقاً لتلبية المهام ومتطلبات الأداء المختلفة، مما يسهل العثور على النموذج المناسب لحالة الاستخدام الخاصة بك.
المهام والأنماط المدعومة
توفر سلسلة YOLOv8 مجموعة متنوعة من النماذج، كل منها متخصص لمهام محددة في الرؤية الحاسوبية. تم تصميم هذه النماذج لتلبية متطلبات مختلفة، بدءاً من اكتشاف الكائنات إلى مهام أكثر تعقيداً مثل تجزئة المثيلات، واكتشاف الوضعية/النقاط الرئيسية، واكتشاف الكائنات الموجهة، والتصنيف.
تم تحسين كل متغير من سلسلة YOLOv8 لمهمته الخاصة، مما يضمن أداءً ودقة عاليين. بالإضافة إلى ذلك، هذه النماذج متوافقة مع أوضاع تشغيل مختلفة بما في ذلك الاستدلال، والتحقق، والتدريب، والتصدير، مما يسهل استخدامها في مراحل مختلفة من النشر والتطوير.
| النموذج | أسماء الملفات | المهمة | الاستدلال | التحقق | التدريب | تصدير |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | الكشف | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | تجزئة المثيلات | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | الوضعية/النقاط الرئيسية | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | الكشف الموجه | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | التصنيف | ✅ | ✅ | ✅ | ✅ |
يوفر هذا الجدول نظرة عامة على متغيرات نموذج YOLOv8، مع تسليط الضوء على قابليتها للتطبيق في مهام محددة وتوافقها مع أوضاع تشغيل مختلفة مثل الاستدلال، والتحقق، والتدريب، والتصدير. إنه يعرض تعدد استخدامات وقوة سلسلة YOLOv8، مما يجعلها مناسبة لمجموعة متنوعة من التطبيقات في الرؤية الحاسوبية.
مقاييس الأداء
راجع مستندات الكشف للحصول على أمثلة للاستخدام مع هذه النماذج المدربة على COCO، والتي تتضمن 80 فئة مدربة مسبقاً.
أمثلة على استخدام 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 نظراً للطبيعة المتطورة والسريعة لهذه النماذج. نحن نركز على تطوير التكنولوجيا وتسهيل استخدامها بدلاً من إنتاج وثائق ثابتة. للحصول على أحدث المعلومات حول بنية 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)للحصول على معلومات إضافية، راجع قسم مقاييس الأداء.