YOLO Vision 2026:

اكتشاف الكائنات باستخدام Ultralytics YOLO#

Ultralytics YOLO object detection with bounding boxes

Object detection هي مهمة تتضمن تحديد موقع وفئة الكائنات في صورة أو تدفق فيديو.

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



Watch: Object Detection with Pretrained Ultralytics YOLO Model.
نصيحة

نماذج YOLO26 Detect هي نماذج YOLO26 الافتراضية، أي yolo26n.pt، وقد تم تدريبها مسبقاً على COCO.

النماذج#

يتم عرض نماذج YOLO26 Detect المدربة مسبقاً هنا. نماذج Detect و Segment و Pose مدربة مسبقاً على مجموعة بيانات COCO، ونماذج Semantic مدربة مسبقاً على Cityscapes، ونماذج Classify مدربة مسبقاً على مجموعة بيانات ImageNet.

يتم تنزيل Models تلقائياً من أحدث release لـ Ultralytics عند الاستخدام الأول.

النموذجالحجم
(بكسل)
mAPval
50-95
mAPval
50-95(e2e)
السرعة
CPU ONNX
(ms)
السرعة
T4 TensorRT10
(ms)
المعلمات
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9
  • mAPval قيم تخص نموذجاً واحداً بمقياس واحد على مجموعة بيانات COCO val2017.
    يمكن إعادة الإنتاج بواسطة yolo val detect data=coco.yaml device=0
  • تم حساب متوسط Speed عبر صور COCO val باستخدام مثيل Amazon EC2 P4d.
    يمكن إعادة الإنتاج بواسطة yolo val detect data=coco.yaml batch=1 device=0|cpu
  • قيم Params و FLOPs هي للنموذج المدمج بعد model.fuse()، والذي يدمج طبقات Conv و BatchNorm، وبالنسبة للنماذج من طرف إلى طرف (end2end)، يزيل رأس الكشف الإضافي من واحد إلى متعدد. تحتفظ نقاط التحقق المدربة مسبقاً ببنية التدريب الكاملة وقد تُظهر أعداداً أعلى.

التدريب#

قم بتدريب YOLO26n على مجموعة بيانات COCO8 لمدة 100 epochs بحجم صورة 640. للحصول على قائمة كاملة بالوسائط المتاحة، راجع صفحة Configuration.

مثال
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.yaml")  # build a new model from YAML
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

راجع تفاصيل وضع train الكاملة في صفحة Train. يمكن أيضاً تدريب نماذج الاكتشاف باستخدام Ultralytics Platform cloud training.

تنسيق مجموعة البيانات#

يمكن العثور على تفاصيل تنسيق بيانات اكتشاف YOLO في Dataset Guide. لتحويل مجموعتك الحالية من تنسيقات أخرى (مثل COCO وغيرها) إلى تنسيق YOLO، يرجى استخدام أداة JSON2YOLO بواسطة Ultralytics. يمكنك أيضاً تعليق وإدارة مجموعات بيانات الاكتشاف باستخدام Ultralytics Platform's AI-assisted annotation tools.

التحقق#

تحقق من accuracy نموذج YOLO26 المدرب على مجموعة بيانات COCO8. لا توجد حاجة لأي وسائط حيث يحتفظ model بـ data الخاص بالتدريب والوسائط كسمات للنموذج.

مثال
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list containing mAP50-95 for each category
metrics.box.image_metrics  # per-image metrics dictionary with precision, recall, F1, TP, FP, and FN

التنبؤ#

استخدم نموذج YOLO26n المدرب لتشغيل التنبؤات على الصور.

مثال
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xywh = result.boxes.xywh  # center-x, center-y, width, height
    xywhn = result.boxes.xywhn  # normalized
    xyxy = result.boxes.xyxy  # top-left-x, top-left-y, bottom-right-x, bottom-right-y
    xyxyn = result.boxes.xyxyn  # normalized
    names = [result.names[cls.item()] for cls in result.boxes.cls.int()]  # class name of each box
    confs = result.boxes.conf  # confidence score of each box

راجع تفاصيل وضع predict الكاملة في صفحة التنبؤ (Predict).

مخرجات النتائج#

يُرجع اكتشاف الكائنات كائناً واحداً Results لكل صورة. حقل التنبؤ الأساسي هو result.boxes، والذي يحتوي على إحداثيات الصندوق، ومعرفات الفئات، ودرجات الثقة لكل كائن مكتشف.

السمة (Attribute)النوعالشكلالوصف
result.boxesBoxes(N)مربعات الكشف.
result.boxes.datatorch.float32(N,6/7)[x1,y1,x2,y2,conf,cls] الخام، بالإضافة إلى معرف مسار اختياري.
result.boxes.xyxytorch.float32(N,4)مربعات بكسل xyxy.
result.boxes.conftorch.float32(N,)درجات الثقة.
result.boxes.clstorch.float32(N,)معرفات الفئات؛ يتم تحويلها إلى int للأسماء.

للحصول على حقول Results الخاصة بكل مهمة عبر كل مهمة، راجع قسم نتائج التنبؤ حسب المهمة (Predict Results by Task).

التصدير#

قم بتصدير نموذج YOLO26n إلى تنسيق مختلف مثل ONNX، CoreML، إلخ.

مثال
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

تنسيقات تصدير YOLO26 المتاحة موجودة في الجدول أدناه. يمكنك التصدير إلى أي تنسيق باستخدام وسيط format، أي format='onnx' أو format='engine'. يمكنك إجراء التنبؤ أو التحقق مباشرة على النماذج المصدرة، أي yolo predict model=yolo26n.onnx. يتم عرض أمثلة الاستخدام لنموذجك بعد اكتمال التصدير.

التنسيقوسيط formatالنموذجالبيانات الوصفيةالوسائط (Arguments)
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, quantize, dynamic, nms, batch, device
ONNXonnxyolo26n.onnximgsz، quantize، dynamic، simplify، opset، nms، batch، data، fraction، device
OpenVINOopenvinoyolo26n_openvino_model/imgsz، quantize، dynamic، nms، batch، data، fraction، device
TensorRTengineyolo26n.engineimgsz، quantize، dynamic، simplify، opset، workspace، nms، batch، data، fraction، device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, quantize, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz، keras، quantize، opset، nms، batch، data، fraction، device
TF GraphDefpbyolo26n.pbimgsz, opset, batch, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, quantize, opset, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz، batch، device
MNNmnnyolo26n.mnnimgsz، batch، dynamic، quantize، simplify، opset، nms، device
NCNNncnnyolo26n_ncnn_model/imgsz, quantize, batch, device
IMX500imxyolo26n_imx_model/imgsz, quantize, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz، batch، name، quantize، simplify، opset، data، fraction، device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz، batch، device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, quantize, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, quantize, simplify, opset, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn.onnximgsz، batch، name، quantize، simplify، opset، data، fraction، device
LiteRTlitertyolo26n.tfliteimgsz, quantize, batch, data, fraction, device
Hailohailoyolo26n_hailo_model/imgsz، name، quantize، data، fraction، simplify، conf، iou
Huawei Ascendascendyolo26n_ascend_model/imgsz, batch, name, quantize, opset, simplify, nms

راجع تفاصيل export الكاملة في صفحة التصدير (Export).

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

  • نعم. يغطي Ultralytics Platform quickstart سير عمل مستنداً إلى المتصفح لتعليق مجموعات البيانات، وتدريب نماذج الاكتشاف على وحدات معالجة رسومية سحابية، ونشرها على نقاط نهاية الاستدلال.

  • يتضمن تدريب نموذج YOLO26 على مجموعة بيانات مخصصة بضع خطوات:

    1. إعداد مجموعة البيانات: تأكد من أن مجموعة بياناتك بتنسيق YOLO. للارشاد، راجع Dataset Guide.
    2. تحميل النموذج: استخدم مكتبة Ultralytics YOLO لتحميل نموذج مدرب مسبقاً أو إنشاء نموذج جديد من ملف YAML.
    3. تدريب النموذج: نفذ طريقة train في Python أو أمر yolo detect train في CLI.
    مثال
    from ultralytics import YOLO
    
    # Load a pretrained model
    model = YOLO("yolo26n.pt")
    
    # Train the model on your custom dataset
    model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)

    خيارات التكوين المفصلة، قم بزيارة صفحة Configuration.

  • يقدم Ultralytics YOLO26 نماذج مختلفة مدربة مسبقاً لـ object detection، وinstance segmentation، وsemantic segmentation، وpose estimation. تم تدريب هذه النماذج مسبقاً على مجموعة بيانات COCO، أو Cityscapes للتجزئة الدلالية، أو ImageNet لمهام التصنيف. إليك بعض النماذج المتاحة:

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

  • للتحقق من دقة نموذج YOLO26 المدرب الخاص بك، يمكنك استخدام طريقة .val() في Python أو أمر yolo detect val في CLI. سيوفر ذلك مقاييس مثل mAP50-95 و mAP50 والمزيد.

    مثال
    from ultralytics import YOLO
    
    # Load the model
    model = YOLO("path/to/best.pt")
    
    # Validate the model
    metrics = model.val()
    print(metrics.box.map)  # mAP50-95

    لمزيد من تفاصيل التحقق، زيارة صفحة Val.

  • يسمح Ultralytics YOLO26 بتصدير النماذج إلى تنسيقات مختلفة مثل ONNX و TensorRT و CoreML والمزيد لضمان التوافق عبر مختلف المنصات والأجهزة.

    مثال
    from ultralytics import YOLO
    
    # Load the model
    model = YOLO("yolo26n.pt")
    
    # Export the model to ONNX format
    model.export(format="onnx")

    تحقق من القائمة الكاملة للتنسيقات المدعومة والتعليمات على صفحة Export.

  • تم تصميم Ultralytics YOLO26 لتقديم أداء متطور لـ object detection، وinstance segmentation، وsemantic segmentation، وpose estimation. إليك بعض المزايا الرئيسية:

    1. نماذج مدربة مسبقاً: استخدم نماذج مدربة مسبقاً على مجموعات بيانات شائعة مثل COCO و ImageNet لتطوير أسرع.
    2. دقة عالية: تحقق درجات mAP رائعة، مما يضمن اكتشافاً موثوقاً للكائنات.
    3. السرعة: محسّنة لـ real-time inference، مما يجعلها مثالية للتطبيقات التي تتطلب معالجة سريعة.
    4. المرونة: قم بتصدير النماذج إلى تنسيقات متنوعة مثل ONNX وTensorRT للنشر عبر منصات متعددة.

    استكشف Blog الخاص بنا للاطلاع على حالات الاستخدام وقصص النجاح التي تعرض YOLO26 قيد التنفيذ.

التعليقات