الكشف عن الكائنات
الكشف عن الأجسام هي مهمة تتضمن تحديد موقع وفئة الأجسام في صورة أو دفق فيديو.
ناتج الكشف عن الأجسام هو مجموعة من المربعات المحيطة التي تحيط بالأجسام في الصورة، جنبًا إلى جنب مع تسميات الفئات وعلامات الثقة لكل مربع. يعد الكشف عن الأجسام خيارًا جيدًا عندما تحتاج إلى تحديد الأجسام محل الاهتمام في مشهد ما، ولكن لا تحتاج إلى معرفة مكان الجسم بالضبط أو شكله الدقيق.
شاهد: الكشف عن الأجسام باستخدام نموذج 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 على مجموعة بيانات مخصصة بضع خطوات:
- إعداد مجموعة البيانات: تأكد من أن مجموعة البيانات الخاصة بك بتنسيق YOLO. للحصول على إرشادات، راجع دليل مجموعة البيانات الخاص بنا.
- تحميل النموذج: استخدم مكتبة Ultralytics YOLO لتحميل نموذج مُدرَّب مسبقًا أو إنشاء نموذج جديد من ملف YAML.
- تدريب النموذج: نفّذ
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 لتقديم أحدث أداء في الكشف عن الأجسام وتقسيمها وتقدير وضعها. فيما يلي بعض المزايا الرئيسية:
- نماذج مُدرَّبة مسبقًا: استخدم نماذج مُدرَّبة مسبقًا على مجموعات بيانات شائعة مثل COCO و ImageNet لتطوير أسرع.
- دقة عالية: تحقق نتائج mAP رائعة، مما يضمن الكشف الموثوق عن الأجسام.
- السرعة: مُحسَّن للاستدلال في الوقت الفعلي، مما يجعله مثاليًا للتطبيقات التي تتطلب معالجة سريعة.
- مرونة: قم بتصدير النماذج إلى تنسيقات مختلفة مثل ONNX و TensorRT للنشر عبر منصات متعددة.
استكشف مدونتنا لحالات الاستخدام وقصص النجاح التي تعرض YOLO11 أثناء العمل.