اكتشاف الكائنات
اكتشاف الكائنات هو مهمة تتضمن تحديد موقع وفئة الكائنات في صورة أو تدفق فيديو.
مخرجات كاشف الكائنات عبارة عن مجموعة من صناديق الإحاطة التي تحيط بالكائنات في الصورة، بالإضافة إلى تصنيفات الفئات ودرجات الثقة لكل صندوق. يعد اكتشاف الكائنات خيارًا جيدًا عندما تحتاج إلى تحديد كائنات ذات أهمية في مشهد ما، ولكنك لست بحاجة إلى معرفة الموقع الدقيق للكائن أو شكله بدقة.
Watch: Object Detection with Pretrained Ultralytics YOLO Model.
نماذج YOLO26 Detect هي نماذج YOLO26 الافتراضية، أي yolo26n.pt، وهي مدربة مسبقًا على COCO.
نماذج
يتم عرض نماذج YOLO26 Detect المدربة مسبقًا هنا. النماذج الخاصة بـ Detect و Segment و Pose مدربة مسبقًا على مجموعة بيانات COCO، بينما النماذج الخاصة بـ Semantic مدربة مسبقًا على Cityscapes، والنماذج الخاصة بـ Classify مدربة مسبقًا على مجموعة بيانات ImageNet.
يتم تحميل النماذج تلقائيًا من أحدث إصدار لـ Ultralytics عند الاستخدام الأول.
| نموذج | الحجم (بكسل) | mAPval 50-95 | mAPval 50-95(e2e) | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|---|
| 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 دورة تدريبية بحجم صورة 640. للحصول على قائمة كاملة بالوسيطات المتاحة، راجع صفحة الإعدادات.
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 الكاملة في صفحة التدريب. يمكن أيضًا تدريب نماذج الكشف على وحدات معالجة الرسومات السحابية عبر منصة Ultralytics.
تنسيق مجموعة البيانات
يمكن العثور على تنسيق مجموعة بيانات الكشف YOLO بالتفصيل في دليل مجموعة البيانات. لتحويل مجموعة بياناتك الحالية من تنسيقات أخرى (مثل COCO وما إلى ذلك) إلى تنسيق YOLO، يرجى استخدام أداة JSON2YOLO بواسطة Ultralytics. يمكنك أيضًا إضافة تعليقات توضيحية وإدارة مجموعات بيانات الكشف مباشرة على منصة Ultralytics باستخدام أدوات التوسيم المدعومة بالذكاء الاصطناعي.
التحقق (Val)
تحقق من دقة نموذج YOLO26n المدرب على مجموعة بيانات 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 الكاملة في صفحة التنبؤ.
تصدير
تصدير نموذج 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 | نموذج | البيانات الوصفية | الوسيطات |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, dynamic, simplify, opset, nms, batch, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DeepX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
اطلع على تفاصيل export الكاملة في صفحة التصدير.
الأسئلة الشائعة
هل يمكنني تدريب ونشر نماذج الكشف دون برمجة؟
نعم. توفر منصة Ultralytics سير عمل يعتمد على المتصفح لتعليق مجموعات البيانات، وتدريب نماذج الكشف على وحدات معالجة الرسومات السحابية، ونشرها في نقاط نهاية الاستدلال. راجع دليل البدء السريع للمنصة للبدء.
كيف يمكنني تدريب نموذج YOLO26 على مجموعة بيانات مخصصة؟
يتضمن تدريب نموذج YOLO26 على مجموعة بيانات مخصصة بضع خطوات:
- تحضير مجموعة البيانات: تأكد من أن مجموعة بياناتك بتنسيق YOLO. للحصول على إرشادات، راجع دليل مجموعات البيانات الخاص بنا.
- تحميل النموذج: استخدم مكتبة 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)للاطلاع على خيارات التهيئة التفصيلية، تفضل بزيارة صفحة التهيئة.
ما هي النماذج المُدربة مسبقًا المتوفرة في YOLO26؟
يوفر Ultralytics YOLO26 نماذج متنوعة مُدربة مسبقًا لـ اكتشاف الكائنات، وتجزئة المثيلات، والتجزئة الدلالية، وتقدير الوضع. تم تدريب هذه النماذج مسبقًا على مجموعة بيانات COCO، أو Cityscapes للتجزئة الدلالية، أو ImageNet لمهام التصنيف. إليك بعض النماذج المتاحة:
للحصول على قائمة مفصلة ومقاييس الأداء، راجع قسم النماذج.
كيف يمكنني التحقق من دقة نموذج YOLO الذي قمت بتدريبه؟
للتحقق من دقة نموذج 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لمزيد من تفاصيل التحقق، تفضل بزيارة صفحة التحقق.
إلى أي تنسيقات يمكنني تصدير نموذج YOLO26؟
يسمح 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")تحقق من القائمة الكاملة للتنسيقات المدعومة والتعليمات في صفحة التصدير.
لماذا يجب أن أستخدم Ultralytics YOLO26 لاكتشاف الكائنات؟
صُمم Ultralytics YOLO26 لتقديم أداء متطور لـ اكتشاف الكائنات، وتجزئة المثيلات، والتجزئة الدلالية، وتقدير الوضع. إليك بعض المزايا الرئيسية:
- النماذج المُدربة مسبقًا: استخدم نماذج مُدربة مسبقًا على مجموعات بيانات شهيرة مثل COCO وImageNet لتسريع عملية التطوير.
- دقة عالية: يحقق نتائج mAP مذهلة، مما يضمن اكتشافاً موثوقاً للكائنات.
- السرعة: مُحسّن لـ الاستدلال في الوقت الفعلي، مما يجعله مثالياً للتطبيقات التي تتطلب معالجة سريعة.
- المرونة: تصدير النماذج إلى تنسيقات متنوعة مثل ONNX وTensorRT للنشر عبر منصات متعددة.
اكتشف مدونتنا لمزيد من حالات الاستخدام وقصص النجاح التي تعرض YOLO26 قيد العمل.