You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

13 KiB

comments description keywords
true وثائق رسمية لـ YOLOv8 بواسطة Ultralytics. تعلم كيفية تدريب و التحقق من صحة و التنبؤ و تصدير النماذج بتنسيقات مختلفة. تتضمن إحصائيات الأداء التفصيلية. YOLOv8, Ultralytics, التعرف على الكائنات, النماذج المدربة من قبل, التدريب, التحقق من الصحة, التنبؤ, تصدير النماذج, COCO, ImageNet, PyTorch, ONNX, CoreML

التعرف على الكائنات

Beispiele für die Erkennung von Objekten

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.