检测#
检测是 YOLOv11 支持的主要任务。它涉及在图像或视频帧中检测对象,并在它们周围绘制边界框。根据特征,被检测到的对象被分类为不同的类别。YOLOv11 能够在单个图像或视频帧中以高精度和速度检测多个对象。
目标检测的输出是一组边界框,这些框包围了图像中的物体,并且每个框都带有类别标签和置信度分数。当您需要识别场景中感兴趣的对象,但又不需要确切知道对象的位置或其精确形状时,目标检测是很好的选择。
小技巧
YOLOv11检测模型是默认的YOLOv11模型,即yolo11n.pt
,这些模型是在 COCO 数据集上预训练的。
模型#
此处展示了YOLOv11预训练的检测模型。检测、分割和姿态估计模型是在COCO数据集上进行预训练的,而分类模型则是在ImageNet数据集上进行预训练。
模型会在首次使用时自动从最新的Ultralytics发布中下载。
模型 |
尺寸(像素) |
mAP值 |
CPU ONNX速度(毫秒) |
T4 TensorRT10速度(毫秒) |
参数量(百万) |
计算量(十亿次浮点运算) |
---|---|---|---|---|---|---|
640 |
39.5 |
56.1 ± 0.8 |
1.5 ± 0.0 |
2.6 |
6.5 |
|
640 |
47.0 |
90.0 ± 1.2 |
2.5 ± 0.0 |
9.4 |
21.5 |
|
640 |
51.5 |
183.2 ± 2.0 |
4.7 ± 0.1 |
20.1 |
68.0 |
|
640 |
53.4 |
238.6 ± 1.4 |
6.2 ± 0.1 |
25.3 |
86.9 |
|
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
命令复现。速度是在Amazon EC2 P4d实例上使用COCO验证图像平均得出的。可以通过
yolo val detect data=coco.yaml batch=1 device=0|cpu
命令复现。
训练#
在COCO8数据集上训练YOLOv11n模型,进行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)
数据集格式#
YOLO 检测数据集格式的详细信息可以在数据集指南中找到。要将您现有的其他格式(例如COCO等)数据集转换为YOLO格式,请使用Ultralytics提供的JSON2YOLO工具。
验证#
验证在COCO8数据集上训练的YOLOv11n模型的准确性。由于model
保留了其训练数据和参数作为模型属性,因此无需额外参数。
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
预测#
使用训练有素的YOLOv11n模型对图像进行预测。
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