اكتشاف الكائنات باستخدام Ultralytics YOLO#
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) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.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.boxes | Boxes | (N) | مربعات الكشف. |
result.boxes.data | torch.float32 | (N,6/7) | [x1,y1,x2,y2,conf,cls] الخام، بالإضافة إلى معرف مسار اختياري. |
result.boxes.xyxy | torch.float32 | (N,4) | مربعات بكسل xyxy. |
result.boxes.conf | torch.float32 | (N,) | درجات الثقة. |
result.boxes.cls | torch.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 | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, quantize, dynamic, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz، quantize، dynamic، simplify، opset، nms، batch، data، fraction، device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz، quantize، dynamic، nms، batch، data، fraction، device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz، quantize، dynamic، simplify، opset، workspace، nms، batch، data، fraction، device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, quantize, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz، keras، quantize، opset، nms، batch، data، fraction، device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, opset, batch, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, quantize, opset, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz، batch، device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz، batch، dynamic، quantize، simplify، opset، nms، device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, quantize, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, quantize, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz، batch، name، quantize، simplify، opset، data، fraction، device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz، batch، device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, quantize, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, quantize, simplify, opset, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn.onnx | ✅ | imgsz، batch، name، quantize، simplify، opset، data، fraction، device |
| LiteRT | litert | yolo26n.tflite | ✅ | imgsz, quantize, batch, data, fraction, device |
| Hailo | hailo | yolo26n_hailo_model/ | ✅ | imgsz، name، quantize، data، fraction، simplify، conf، iou |
| Huawei Ascend | ascend | yolo26n_ascend_model/ | ✅ | imgsz, batch, name, quantize, opset, simplify, nms |
راجع تفاصيل export الكاملة في صفحة التصدير (Export).
الأسئلة الشائعة#
نعم. يغطي Ultralytics Platform quickstart سير عمل مستنداً إلى المتصفح لتعليق مجموعات البيانات، وتدريب نماذج الاكتشاف على وحدات معالجة رسومية سحابية، ونشرها على نقاط نهاية الاستدلال.
يتضمن تدريب نموذج YOLO26 على مجموعة بيانات مخصصة بضع خطوات:
- إعداد مجموعة البيانات: تأكد من أن مجموعة بياناتك بتنسيق YOLO. للارشاد، راجع Dataset Guide.
- تحميل النموذج: استخدم مكتبة Ultralytics YOLO لتحميل نموذج مدرب مسبقاً أو إنشاء نموذج جديد من ملف YAML.
- تدريب النموذج: نفذ طريقة
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. إليك بعض المزايا الرئيسية:
- نماذج مدربة مسبقاً: استخدم نماذج مدربة مسبقاً على مجموعات بيانات شائعة مثل COCO و ImageNet لتطوير أسرع.
- دقة عالية: تحقق درجات mAP رائعة، مما يضمن اكتشافاً موثوقاً للكائنات.
- السرعة: محسّنة لـ real-time inference، مما يجعلها مثالية للتطبيقات التي تتطلب معالجة سريعة.
- المرونة: قم بتصدير النماذج إلى تنسيقات متنوعة مثل ONNX وTensorRT للنشر عبر منصات متعددة.
استكشف Blog الخاص بنا للاطلاع على حالات الاستخدام وقصص النجاح التي تعرض YOLO26 قيد التنفيذ.