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

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

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

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

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



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

نصيحة

YOLO11 الكشف عن النماذج هي النماذج الافتراضية YOLO11 ، أي yolo11n.pt ويتم تدريبهم مسبقًا على كوكو.

النماذج

YOLO11 تظهر هنا نماذج الكشف التي تم تدريبها مسبقًا. يتم تدريب نماذج الكشف والقطعة والوضعية مسبقًا على مجموعة بيانات COCO، بينما يتم تدريب نماذج التصنيف مسبقًا على مجموعة بيانات ImageNet.

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

الطراز الحجم
(بكسل)
مافال
50-95
السرعة
CPU ONNX
(مللي ثانية)
السرعة
T4 T4TensorRT10
(مللي ثانية)
بارامز
(م)

(ب)
يولو 11 ن 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
يولو 11 م 640 51.5 183.2 ± 2.0 4.7 ± 0.1 20.1 68.0
يولو 11ل 640 53.4 238.6 ± 1.4 6.2 ± 0.1 25.3 86.9
يولو11x 640 54.7 462.8 ± 6.7 11.3 ± 0.2 56.9 194.9
  • مافال القيم هي لنموذج واحد بمقياس واحد على COCO val2017 مجموعة البيانات.
    إعادة الإنتاج بواسطة yolo val detect data=coco.yaml device=0
  • السرعة متوسطها على صور COCO val باستخدام أمازون إي سي 2 بي 4 دي على سبيل المثال.
    إعادة الإنتاج بواسطة yolo val detect data=coco.yaml batch=1 device=0|cpu

القطار

قم بتدريب YOLO11n على مجموعة بيانات COCO8 ل 100 حقبة زمنية بحجم صورة 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
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, optimize, batch
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolo11n.pb imgsz, batch
TF لايت tflite yolo11n.tflite imgsz, half, int8, batch
TF إيدج TPU edgetpu yolo11n_edgetpu.tflite imgsz
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch
MNN mnn yolo11n.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch
IMX500 imx yolov8n_imx_model/ imgsz, int8

انظر بالكامل 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-95 وغيرها.

مثال على ذلك

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

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

ما هي التنسيقات التي يمكنني تصدير نموذج 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

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

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

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

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

اطّلع على مدونتنا للاطلاع على حالات الاستخدام وقصص النجاح التي تعرض YOLO11 أثناء العمل.

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 1 شهر

التعليقات