13 KiB
comments | description | keywords |
---|---|---|
true | وثائق رسمية لـ YOLOv8 بواسطة Ultralytics. تعلم كيفية تدريب و التحقق من صحة و التنبؤ و تصدير النماذج بتنسيقات مختلفة. تتضمن إحصائيات الأداء التفصيلية. | YOLOv8, Ultralytics, التعرف على الكائنات, النماذج المدربة من قبل, التدريب, التحقق من الصحة, التنبؤ, تصدير النماذج, COCO, ImageNet, PyTorch, ONNX, CoreML |
التعرف على الكائنات
Task التعرف على الكائنات هو عبارة عن تعرف على موقع و فئة الكائنات في صورة أو فيديو.
مخرجات جهاز الاستشعار هي مجموعة من مربعات تحيط بالكائنات في الصورة، مع تصنيف الفئة ودرجات وثقة لكل مربع. التعرف على الكائنات هو اختيار جيد عندما تحتاج إلى تحديد كائنات مهمة في مشهد، ولكنك لا تحتاج إلى معرفة بالضبط أين يكمن الكائن أو شكله الدقيق.
شاهد: التعرف على الكائنات باستخدام نموذج Ultralytics YOLOv8 مع تدريب مسبق.
!!! Tip "تلميح"
نماذج YOLOv8 Detect هي النماذج الافتراضية YOLOv8، أي `yolov8n.pt` و هي مدربة مسبقًا على [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml).
النماذج
تُعرض هنا النماذج المدربة مسبقًا لـ YOLOv8 Detect. النماذج Detect و Segment و Pose معتمدة على مجموعة البيانات COCO، بينما النماذج Classify معتمدة على مجموعة البيانات ImageNet.
تُقوم النماذج بالتنزيل تلقائيًا من أحدث إصدار Ultralytics عند الاستخدام لأول مرة.
النموذج | الحجم (بكسل) |
mAPval 50-95 |
السرعة CPU ONNX (مللي ثانية) |
السرعة A100 TensorRT (مللي ثانية) |
الوزن (ميغا) |
FLOPs (مليار) |
---|---|---|---|---|---|---|
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 |
- قيم mAPval تنطبق على مقياس نموذج واحد-مقياس واحد على مجموعة بيانات COCO val2017.
اعيد حسابها بواسطةyolo val detect data=coco.yaml device=0
- السرعةتمت متوسطة على صور COCO val باستخدام Amazon EC2 P4d
instance.
اعيد حسابها بواسطةyolo val detect data=coco128.yaml batch=1 device=0|cpu
تدريب
قم بتدريب YOLOv8n على مجموعة البيانات COCO128 لمدة 100 دورة على حجم صورة 640. للحصول على قائمة كاملة بالوسائط المتاحة انظر الصفحة التكوين.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل نموذج
model = YOLO('yolov8n.yaml') # بناء نموذج جديد من YAML
model = YOLO('yolov8n.pt') # قم بتحميل نموذج مدرب مسبقًا (موصى به للتدريب)
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # بناء من YAML و نقل الأوزان
# قم بتدريب النموذج
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
```
=== "CLI"
```bash
# قم ببناء نموذج جديد من YAML وابدأ التدريب من الصفر
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
# ابدأ التدريب من نموذج *.pt مدرب مسبقًا
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
# بناء نموذج جديد من YAML، ونقل الأوزان المدربة مسبقاً إلى النموذج وابدأ التدريب
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
```
تنسيق مجموعة بيانات
يمكن العثور على تنسيق مجموعة بيانات التعرف على الكائنات بالتفصيل في دليل مجموعة البيانات. لتحويل مجموعة البيانات الحالية من تنسيقات أخرى (مثل COCO الخ) إلى تنسيق YOLO، يرجى استخدام أداة JSON2YOLO المقدمة من Ultralytics.
التحقق من الصحة
قم بتحقق من دقة النموذج المدرب مسبقًا YOLOv8n على مجموعة البيانات COCO128. ليس هناك حاجة إلى تمرير أي وسيطات حيث يحتفظ النموذج ببياناته التدريبية والوسيطات كسمات النموذج.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل نموذج
model = YOLO('yolov8n.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مخصص
# قم بالتحقق من النموذج
metrics = model.val() # لا حاجة لأي بيانات، يتذكر النموذج بيانات التدريب و الوسيطات
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # قائمة تحتوي map50-95 لكل فئة
```
=== "CLI"
```bash
yolo detect val model=yolov8n.pt # التحقق من النموذج الرسمي
yolo detect val model=path/to/best.pt # التحقق من النموذج المخصص
```
التنبؤ
استخدم نموذج YOLOv8n المدرب مسبقًا لتشغيل التنبؤات على الصور.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل نموذج
model = YOLO('yolov8n.pt') # قم بتحميل نموذج رسمي
model = YOLO('path/to/best.pt') # قم بتحميل نموذج مخصص
# أجرِ التنبؤ باستخدام النموذج
results = model('https://ultralytics.com/images/bus.jpg') # التنبؤ على صورة
```
=== "CLI"
```bash
yolo detect predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg' # التنبؤ باستخدام النموذج الرسمي
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # التنبؤ بالنموذج المخصص
```
انظر تفاصيل وضع الـ predict
الكامل في صفحة Predict.
تصدير
قم بتصدير نموذج YOLOv8n إلى تنسيق مختلف مثل ONNX، CoreML وغيرها.
!!! Example "مثال"
=== "Python"
```python
from ultralytics import YOLO
# قم بتحميل نموذج
model = YOLO('yolov8n.pt') # تحميل نموذج رسمي
model = YOLO('path/to/best.pt') # تحميل نموذج مدرب مخصص
# قم بتصدير النموذج
model.export(format='onnx')
```
=== "CLI"
```bash
yolo export model=yolov8n.pt format=onnx # تصدير النموذج الرسمي
yolo export model=path/to/best.pt format=onnx # تصدير النموذج المدرب مخصص
```
التنسيقات المدعومة لتصدير YOLOv8 مدرجة في الجدول أدناه. يمكنك التنبؤ أو التحقق من صحة النماذج المصدرة مباشرة، على سبيل المثال yolo predict model=yolov8n.onnx
. سيتم عرض أمثلة استخدام لنموذجك بعد اكتمال التصدير.
الشكل | مسافة format |
النموذج | بيانات الوصف | وسيطات |
---|---|---|---|---|
PyTorch | - أو | yolov8n.pt |
✅ | - |
TorchScript | torchscript |
yolov8n.torchscript |
✅ | imgsz , optimize |
ONNX | onnx |
yolov8n.onnx |
✅ | imgsz , half , dynamic , simplify , opset |
OpenVINO | openvino |
yolov8n_openvino_model/ |
✅ | imgsz , half , int8 |
TensorRT | engine |
yolov8n.engine |
✅ | imgsz , half , dynamic , simplify , workspace |
CoreML | coreml |
yolov8n.mlpackage |
✅ | imgsz , half , int8 , nms |
TF SavedModel | saved_model |
yolov8n_saved_model/ |
✅ | imgsz , keras , int8 |
TF GraphDef | pb |
yolov8n.pb |
❌ | imgsz |
TF Lite | tflite |
yolov8n.tflite |
✅ | imgsz , half , int8 |
TF Edge TPU | edgetpu |
yolov8n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolov8n_web_model/ |
✅ | imgsz |
PaddlePaddle | paddle |
yolov8n_paddle_model/ |
✅ | imgsz |
ncnn | ncnn |
yolov8n_ncnn_model/ |
✅ | imgsz , half |
انظر تفاصيل كاملة للـ export
في صفحة Export.