تخطي إلى المحتوى

الكشف عن الكائنات

اكتشاف YOLO باستخدام مربعات الحدود

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

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



شاهد: اكتشاف الكائنات باستخدام نموذج Ultralytics YOLO المُدرب مسبقًا.

نصيحة

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

النماذج

نماذج YOLO26 detect المدربة مسبقًا معروضة هنا. نماذج detect و segment و Pose مدربة مسبقًا على مجموعة بيانات COCO، بينما نماذج classify مدربة مسبقًا على مجموعة بيانات ImageNet.

يتم تنزيل النماذج تلقائيًا من أحدث إصدار Ultralytics عند الاستخدام الأول.

النموذجالحجم
(بالبكسل)
mAPval
50-95
mAPval
50-95(e2e)
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(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
  • السرعة تم حسابه على صور COCO val باستخدام Amazon EC2 P4d مثيل.
    إعادة الإنتاج بواسطة yolo val detect data=coco.yaml batch=1 device=0|cpu

تدريب

درب 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)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo26n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo26n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo26n.yaml pretrained=yolo26n.pt epochs=100 imgsz=640

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

يمكن العثور على تنسيق مجموعة بيانات اكتشاف YOLO بالتفصيل في دليل مجموعة البيانات. لتحويل مجموعة البيانات الحالية الخاصة بك من تنسيقات أخرى (مثل COCO وما إلى ذلك) إلى تنسيق YOLO، يرجى استخدام أداة JSON2YOLO بواسطة Ultralytics.

التحقق

التحقق من صحة نموذج 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
yolo detect val model=yolo26n.pt      # val official model
yolo detect val model=path/to/best.pt # val custom model

توقع

استخدم نموذج 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
yolo detect predict model=yolo26n.pt source='https://ultralytics.com/images/bus.jpg'      # predict with official model
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model

اطلع على التفاصيل الكاملة 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")
yolo export model=yolo26n.pt format=onnx      # export official model
yolo export model=path/to/best.pt format=onnx # export custom-trained model

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

التنسيقformat الوسيطةالنموذجالبيانات الوصفيةالوسائط
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, device
Axeleraaxelerayolo26n_axelera_model/imgsz, int8, data, fraction, device

اطلع على التفاصيل الكاملة export التفاصيل في تصدير التنبؤ.

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

كيف أقوم بتدريب نموذج YOLO26 على مجموعة البيانات المخصصة الخاصة بي؟

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

  1. إعداد مجموعة البيانات: تأكد من أن مجموعة البيانات الخاصة بك بتنسيق YOLO. للحصول على إرشادات، راجع دليل مجموعة البيانات الخاص بنا.
  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)
yolo detect train data=my_custom_dataset.yaml model=yolo26n.pt epochs=100 imgsz=640

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

ما هي النماذج المدربة مسبقًا المتوفرة في YOLO26؟

تقدم Ultralytics YOLO26 نماذج متنوعة مدربة مسبقًا لاكتشاف الكائنات، والتجزئة، وتقدير الوضعيات. هذه النماذج مدربة مسبقًا على مجموعة بيانات COCO أو 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
yolo detect val model=path/to/best.pt

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

ما هي التنسيقات التي يمكنني تصدير نموذج 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")
yolo export model=yolo26n.pt format=onnx

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

لماذا يجب علي استخدام Ultralytics YOLO26 لاكتشاف الكائنات؟

صُممت Ultralytics YOLO26 لتقديم أداء متطور لاكتشاف الكائنات، والتجزئة، وتقدير الوضعيات. فيما يلي بعض المزايا الرئيسية:

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

استكشف مدونتنا لحالات الاستخدام وقصص النجاح التي تعرض YOLO26 عمليًا.



📅 تم الإنشاء قبل 2 أعوام ✏️ تم التحديث قبل 2 أيام
glenn-jocherBurhan-Qambitious-octopusUltralyticsAssistantpderrengerY-T-GMatthewNoyceRizwanMunawar

تعليقات