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

Ultralytics YOLOv8

لمحة عامة

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

Ultralytics YOLOv8



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

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

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

المهام والأوضاع المدعومة

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

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

الطراز أسماء الملفات المهمة الاستدلال التحقق من الصحة التدريب التصدير
YOLOv8 yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt الكشف
YOLOv8-سيج yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt تجزئة المثيل
YOLOv8-الغرض yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt الوضعية/النقاط الرئيسية
YOLOv8-أوب 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 فئة مدرّبة مسبقًا.

الطراز الحجم
(بكسل)
مافال
50-95
السرعة
CPU ONNX
(مللي ثانية)
السرعة
A100 A100 TensorRT
(مللي ثانية)
بارامز
(م)

(ب)
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 فئة مدرّبة مسبقًا.

الطراز الحجم
(بكسل)
مافال
50-95
السرعة
CPU ONNX
(مللي ثانية)
السرعة
A100 A100 TensorRT
(مللي ثانية)
بارامز
(م)

(ب)
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 فئة مدرّبة مسبقًا.

الطراز الحجم
(بكسل)
mAPbox
50-95
mAPmask
50-95
السرعة
CPU ONNX
(مللي ثانية)
السرعة
A100 A100 TensorRT
(مللي ثانية)
بارامز
(م)

(ب)
YOLOv8n-سيج 640 36.7 30.5 96.1 1.21 3.4 12.6
YOLOv8s-سيج 640 44.6 36.8 155.7 1.47 11.8 42.6
YOLOv8m-سيج 640 49.9 40.8 317.0 2.18 27.3 110.2
YOLOv8l-سيج 640 52.3 42.6 572.4 2.79 46.0 220.5
YOLOv8x-سيج 640 53.4 43.4 712.1 4.02 71.8 344.1

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

الطراز الحجم
(بكسل)
اعتماد
توب 1

أعلى 5
السرعة
CPU ONNX
(مللي ثانية)
السرعة
A100 A100 TensorRT
(مللي ثانية)
بارامز
(م)

(ب) عند 640 (ب) في 640
YOLOv8n-CLS 224 69.0 88.3 12.9 0.31 2.7 4.3
YOLOv8s-CLS 224 73.8 91.7 23.4 0.35 6.4 13.5
YOLOv8m-CLS 224 76.8 93.5 85.4 0.62 17.0 42.7
YOLOv8l-CLS 224 76.8 93.5 163.0 0.87 37.5 99.7
YOLOv8x-CLS 224 79.0 94.6 232.0 1.01 57.4 154.8

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

الطراز الحجم
(بكسل)
mAPpose
50-95
mAPpose
50
السرعة
CPU ONNX
(مللي ثانية)
السرعة
A100 A100 TensorRT
(مللي ثانية)
بارامز
(م)

(ب)
YOLOv8n-الغرض 640 50.4 80.1 131.8 1.18 3.3 9.2
YOLOv8s-الغرض 640 60.0 86.2 233.2 1.42 11.6 30.2
YOLOv8m-الغرض 640 65.0 88.8 456.3 2.00 26.4 81.0
YOLOv8l-الغرض 640 67.6 90.0 784.5 2.59 44.4 168.6
YOLOv8x-الغرض 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 A100 TensorRT
(مللي ثانية)
بارامز
(م)

(ب)
YOLOv8n-أوب 1024 78.0 204.77 3.57 3.1 23.3
YOLOv8s-أوب 1024 79.5 424.88 4.07 11.4 76.3
YOLOv8m-أوب 1024 80.5 763.48 7.61 26.4 208.6
YOLOv8l-أوب 1024 80.7 1278.42 11.83 44.5 433.8
YOLOv8x-أوب 1024 81.36 1759.10 13.23 69.5 676.7

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

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

لاحظ أن المثال أدناه مخصص لنماذج YOLOv8 Detect لا كتشاف الكائنات. للاطلاع على المهام الإضافية المدعومة راجع مستندات التقسيم والتصنيف و 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")

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 وتراخيص المؤسسات.

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

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

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

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

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

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

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

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

يمكن إجراء تدريب نموذج YOLOv8 باستخدام Python أو CLI. فيما يلي أمثلة لتدريب نموذج باستخدام نموذج YOLOv8 تم تدريبه مسبقًا على مجموعة بيانات 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

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

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 1 شهر

التعليقات