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

استكشف Ultralytics YOLOv8

نظرة عامة

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

Ultralytics YOLOv8



شاهد: نظرة عامة على نموذج Ultralytics YOLOv8

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

  • هياكل خلفية ورقبة متقدمة: تستخدم YOLOv8 أحدث الهياكل الخلفية وهياكل الرقبة، مما يؤدي إلى تحسين استخراج الميزات وأداء الكشف عن الأجسام.
  • رأس Ultralytics المنفصل الخالي من المرساة: يعتمد 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 فئة مُدرَّبة مسبقًا.

النموذج الحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
A100 TensorRT
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8

راجع وثائق الكشف للحصول على أمثلة حول كيفية استخدام هذه النماذج المدربة على Open Image V7، والتي تتضمن 600 فئة مُدرَّبة مسبقًا.

النموذج الحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
A100 TensorRT
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv8n 640 18.4 142.4 1.21 3.5 10.5
YOLOv8s 640 27.7 183.1 1.40 11.4 29.7
YOLOv8m 640 33.6 408.5 2.26 26.2 80.6
YOLOv8l 640 34.9 596.9 2.43 44.1 167.4
YOLOv8x 640 36.3 860.6 3.56 68.7 260.6

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

النموذج الحجم
(بالبكسل)
mAPمربع
50-95
mAPقناع
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
A100 TensorRT
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv8n-seg 640 36.7 30.5 96.1 1.21 3.4 12.6
YOLOv8s-seg 640 44.6 36.8 155.7 1.47 11.8 42.6
YOLOv8m-seg 640 49.9 40.8 317.0 2.18 27.3 110.2
YOLOv8l-seg 640 52.3 42.6 572.4 2.79 46.0 220.5
YOLOv8x-seg 640 53.4 43.4 712.1 4.02 71.8 344.1

راجع وثائق التصنيف للحصول على أمثلة حول كيفية استخدام هذه النماذج المدربة على ImageNet، والتي تتضمن 1000 فئة مُدرَّبة مسبقًا.

النموذج الحجم
(بالبكسل)
acc
top1
acc
top5
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
A100 TensorRT
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B) عند 224
YOLOv8n-cls 224 69.0 88.3 12.9 0.31 2.7 0.5
YOLOv8s-cls 224 73.8 91.7 23.4 0.35 6.4 1.7
YOLOv8m-cls 224 76.8 93.5 85.4 0.62 17.0 5.3
YOLOv8l-cls 224 76.8 93.5 163.0 0.87 37.5 12.3
YOLOv8x-cls 224 79.0 94.6 232.0 1.01 57.4 19.0

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

النموذج الحجم
(بالبكسل)
mAPpose
50-95
mAPpose
50
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
A100 TensorRT
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv8n-pose 640 50.4 80.1 131.8 1.18 3.3 9.2
YOLOv8s-pose 640 60.0 86.2 233.2 1.42 11.6 30.2
YOLOv8m-pose 640 65.0 88.8 456.3 2.00 26.4 81.0
YOLOv8l-pose 640 67.6 90.0 784.5 2.59 44.4 168.6
YOLOv8x-pose 640 69.2 90.2 1607.1 3.73 69.4 263.2
YOLOv8x-pose-p6 1280 71.6 91.2 4088.7 10.04 99.1 1066.4

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

النموذج الحجم
(بالبكسل)
mAPtest
50
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
A100 TensorRT
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv8n-obb 1024 78.0 204.77 3.57 3.1 23.3
YOLOv8s-obb 1024 79.5 424.88 4.07 11.4 76.3
YOLOv8m-obb 1024 80.5 763.48 7.61 26.4 208.6
YOLOv8l-obb 1024 80.7 1278.42 11.83 44.5 433.8
YOLOv8x-obb 1024 81.36 1759.10 13.23 69.5 676.7

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

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

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

مثال

PyTorch مدربة مسبقًا *.pt بالإضافة إلى نماذج التهيئة *.yaml يمكن تمرير الملفات إلى YOLO() class لإنشاء مثيل نموذج في 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")

تتوفر أوامر CLI لتشغيل النماذج مباشرة:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=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 مقسم وخالي من المرساة، و هياكل العمود الفقري والعنق الحديثة، ويوفر مقايضة مُحسَّنة بين الدقة والسرعة، مما يجعله مثاليًا للتطبيقات المتنوعة. لمزيد من التفاصيل، راجع قسمي النظرة العامة و الميزات الرئيسية.

كيف يمكنني استخدام 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)
yolo train model=yolov8n.pt 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)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

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



📅 أُنشئ منذ سنة واحدة ✏️ تم التحديث منذ 3 أشهر

تعليقات