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

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

أمثلة على الكشف عن الكائنات

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

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



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

نصيحة

نماذج YOLO11 Detect هي نماذج YOLO11 الافتراضية، أي. yolo11n.pt ، وهي مُدرَّبة مسبقًا على COCO.

النماذج

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

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

النموذج الحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLO11n 640 39.5 56.1 ± 0.8 1.5 ± 0.0 2.6 6.5
YOLO11s 640 47.0 90.0 ± 1.2 2.5 ± 0.0 9.4 21.5
YOLO11m 640 51.5 183.2 ± 2.0 4.7 ± 0.1 20.1 68.0
YOLO11l 640 53.4 238.6 ± 1.4 6.2 ± 0.1 25.3 86.9
YOLO11x 640 54.7 462.8 ± 6.7 11.3 ± 0.2 56.9 194.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

تدريب

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

مثال

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.yaml")  # build a new model from YAML
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.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=yolo11n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.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=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640

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

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

التحقق

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

مثال

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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 contains map50-95 of each category
yolo detect val model=yolo11n.pt      # val official model
yolo detect val model=path/to/best.pt # val custom model

توقع

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

مثال

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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=yolo11n.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 لأوضاع التشغيل في صفحة توقع التنبؤ.

تصدير

تصدير نموذج YOLO11n إلى تنسيق مختلف مثل ONNX و CoreML وما إلى ذلك.

مثال

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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=yolo11n.pt format=onnx      # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model

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

التنسيق format الوسيطة النموذج البيانات الوصفية الوسائط
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, half, optimize, nms, batch, device
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n.pb imgsz, batch, device
TF Lite tflite yolo11n.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch, device
MNN mnn yolo11n.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n_rknn_model/ imgsz, batch, name, device

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

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

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

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

  1. إعداد مجموعة البيانات: تأكد من أن مجموعة البيانات الخاصة بك بتنسيق YOLO. للحصول على إرشادات، راجع دليل مجموعة البيانات الخاص بنا.
  2. تحميل النموذج: استخدم مكتبة Ultralytics YOLO لتحميل نموذج مُدرَّب مسبقًا أو إنشاء نموذج جديد من ملف YAML.
  3. تدريب النموذج: نفّذ train الطريقة في python أو yolo detect train الأمر في CLI.

مثال

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.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=yolo11n.pt epochs=100 imgsz=640

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

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

توفر Ultralytics YOLO11 نماذج مُدرَّبة مسبقًا مختلفة للكشف عن الكائنات والتجزئة وتقدير الوضع. يتم تدريب هذه النماذج مسبقًا على مجموعة بيانات COCO أو ImageNet لمهام التصنيف. فيما يلي بعض النماذج المتاحة:

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

كيف يمكنني التحقق من دقة نموذج YOLO الذي تم تدريبه؟

للتحقق من دقة نموذج YOLO11 المدرب، يمكنك استخدام .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.

ما هي التنسيقات التي يمكنني تصدير نموذج YOLO11 إليها؟

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

مثال

from ultralytics import YOLO

# Load the model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx

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

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

تم تصميم Ultralytics YOLO11 لتقديم أحدث أداء في الكشف عن الأجسام وتقسيمها وتقدير وضعها. فيما يلي بعض المزايا الرئيسية:

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

استكشف مدونتنا لحالات الاستخدام وقصص النجاح التي تعرض YOLO11 أثناء العمل.



📅 تم الإنشاء منذ سنة واحدة ✏️ تم التحديث منذ 4 أشهر

تعليقات