Ultralytics YOLO11
概述
YOLO11 是 Ultralytics YOLO 系列实时目标检测器的最新迭代版本,它以前沿的精度、速度和效率重新定义了可能性。YOLO11 在之前 YOLO 版本的显著进步基础上,在架构和训练方法上进行了重大改进,使其成为各种计算机视觉任务的多功能选择。
Ultralytics YOLO11 🚀 由 NotebookLM 生成的播客
观看: 如何使用 Ultralytics YOLO11 进行目标检测和跟踪 | 如何进行基准测试 | YOLO11 发布🚀
主要功能
- 增强的特征提取: YOLO11 采用改进的 backbone 和 neck 架构,从而增强了特征提取能力,以实现更精确的目标检测和复杂的任务性能。
- 优化效率和速度: YOLO11 引入了改进的架构设计和优化的训练流程,从而提供更快的处理速度,并在精度和性能之间保持最佳平衡。
- 以更少的参数实现更高的精度: 凭借模型设计的进步,YOLO11m 在 COCO 数据集上实现了更高的 平均精度均值 (mAP),同时比 YOLOv8m 使用的参数减少了 22%,从而在不影响精度的情况下提高了计算效率。
- 跨环境的适应性: YOLO11 可以无缝部署在各种环境中,包括边缘设备、云平台和支持 NVIDIA GPU 的系统,从而确保最大的灵活性。
- 广泛支持的任务范围: 无论是目标检测、实例分割、图像分类、姿势估计还是旋转框检测 (OBB),YOLO11 都旨在满足各种计算机视觉挑战。
支持的任务和模式
YOLO11 基于 YOLOv8 中引入的通用模型系列,为各种计算机视觉任务提供增强的支持:
模型 | 文件名 | 任务 | 推理 | 验证 | 训练 | 导出 |
---|---|---|---|---|---|---|
YOLO11 | yolo11n.pt yolo11s.pt yolo11m.pt yolo11l.pt yolo11x.pt |
检测 | ✅ | ✅ | ✅ | ✅ |
YOLO11-seg | yolo11n-seg.pt yolo11s-seg.pt yolo11m-seg.pt yolo11l-seg.pt yolo11x-seg.pt |
实例分割 | ✅ | ✅ | ✅ | ✅ |
YOLO11-姿势估计 | yolo11n-pose.pt yolo11s-pose.pt yolo11m-pose.pt yolo11l-pose.pt yolo11x-pose.pt |
姿势/关键点 | ✅ | ✅ | ✅ | ✅ |
YOLO11-旋转框检测 | yolo11n-obb.pt yolo11s-obb.pt yolo11m-obb.pt yolo11l-obb.pt yolo11x-obb.pt |
定向检测 | ✅ | ✅ | ✅ | ✅ |
YOLO11-cls | yolo11n-cls.pt yolo11s-cls.pt yolo11m-cls.pt yolo11l-cls.pt yolo11x-cls.pt |
分类 | ✅ | ✅ | ✅ | ✅ |
此表概述了 YOLO11 模型变体,展示了它们在特定任务中的适用性以及与推理、验证、训练和导出等操作模式的兼容性。这种灵活性使 YOLO11 适用于计算机视觉中的各种应用,从实时检测到复杂的分割任务。
性能指标
性能
有关使用这些在 COCO 上训练的模型的示例,请参阅检测文档,其中包括 80 个预训练类别。
模型 | 尺寸 (像素) |
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 |
有关使用这些在 COCO 上训练的模型的示例,请参阅分割文档,其中包括 80 个预训练类别。
模型 | 尺寸 (像素) |
mAPbox 50-95 |
mAPmask 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-seg | 640 | 38.9 | 32.0 | 65.9 ± 1.1 | 1.8 ± 0.0 | 2.9 | 10.4 |
YOLO11s-seg | 640 | 46.6 | 37.8 | 117.6 ± 4.9 | 2.9 ± 0.0 | 10.1 | 35.5 |
YOLO11m-seg | 640 | 51.5 | 41.5 | 281.6 ± 1.2 | 6.3 ± 0.1 | 22.4 | 123.3 |
YOLO11l-seg | 640 | 53.4 | 42.9 | 344.2 ± 3.2 | 7.8 ± 0.2 | 27.6 | 142.2 |
YOLO11x-seg | 640 | 54.7 | 43.8 | 664.5 ± 3.2 | 15.8 ± 0.7 | 62.1 | 319.0 |
请参阅分类文档,其中包含使用这些在ImageNet上训练的模型的使用示例,其中包括 1000 个预训练类别。
模型 | 尺寸 (像素) |
acc top1 |
acc top5 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) at 224 |
---|---|---|---|---|---|---|---|
YOLO11n-cls | 224 | 70.0 | 89.4 | 5.0 ± 0.3 | 1.1 ± 0.0 | 1.6 | 0.5 |
YOLO11s-cls | 224 | 75.4 | 92.7 | 7.9 ± 0.2 | 1.3 ± 0.0 | 5.5 | 1.6 |
YOLO11m-cls | 224 | 77.3 | 93.9 | 17.2 ± 0.4 | 2.0 ± 0.0 | 10.4 | 5.0 |
YOLO11l-cls | 224 | 78.3 | 94.3 | 23.2 ± 0.3 | 2.8 ± 0.0 | 12.9 | 6.2 |
YOLO11x-cls | 224 | 79.5 | 94.9 | 41.4 ± 0.9 | 3.8 ± 0.0 | 28.4 | 13.7 |
请参阅姿势估计文档,获取在COCO上训练的这些模型的使用示例,其中包括 1 个预训练类别“person”。
模型 | 尺寸 (像素) |
mAP姿势估计 50-95 |
mAP姿势估计 50 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-pose | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.6 |
YOLO11s-姿势估计 | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2.6 ± 0.0 | 9.9 | 23.2 |
YOLO11m-姿势估计 | 640 | 64.9 | 89.4 | 187.3 ± 0.8 | 4.9 ± 0.1 | 20.9 | 71.7 |
YOLO11l-姿势估计 | 640 | 66.1 | 89.9 | 247.7 ± 1.1 | 6.4 ± 0.1 | 26.2 | 90.7 |
YOLO11x-姿势估计 | 640 | 69.5 | 91.1 | 488.0 ± 13.9 | 12.1 ± 0.2 | 58.8 | 203.3 |
请参阅定向检测文档,其中包含使用这些在DOTAv1上训练的模型的使用示例,其中包括 15 个预训练类别。
模型 | 尺寸 (像素) |
mAP测试 50 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n-旋转框检测 | 1024 | 78.4 | 117.6 ± 0.8 | 4.4 ± 0.0 | 2.7 | 17.2 |
YOLO11s-旋转框检测 | 1024 | 79.5 | 219.4 ± 4.0 | 5.1 ± 0.0 | 9.7 | 57.5 |
YOLO11m-旋转框检测 | 1024 | 80.9 | 562.8 ± 2.9 | 10.1 ± 0.4 | 20.9 | 183.5 |
YOLO11l-旋转框检测 | 1024 | 81.0 | 712.5 ± 5.0 | 13.5 ± 0.6 | 26.2 | 232.0 |
YOLO11x-旋转框检测 | 1024 | 81.3 | 1408.6 ± 7.7 | 28.6 ± 1.0 | 58.8 | 520.2 |
使用示例
本节提供简单的 YOLO11 训练和推理示例。有关这些和其他模式的完整文档,请参阅Predict、Train、Val和Export文档页面。
请注意,以下示例适用于 YOLO11 检测 模型的目标检测。有关其他支持的任务,请参阅分割、分类、旋转框检测和姿势估计文档。
示例
PyTorch pretrained *.pt
模型以及配置 *.yaml
文件可以传递给 YOLO()
类在 Python 中创建模型实例:
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLO11n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
可以使用 CLI 命令直接运行模型:
# Load a COCO-pretrained YOLO11n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640
# Load a COCO-pretrained YOLO11n model and run inference on the 'bus.jpg' image
yolo predict model=yolo11n.pt source=path/to/bus.jpg
引用与致谢
Ultralytics YOLO11 出版物
由于模型的快速发展,Ultralytics 尚未发布 YOLO11 的正式研究论文。我们专注于推进技术并使其更易于使用,而不是生成静态文档。有关 YOLO 架构、功能和用法的最新信息,请参阅我们的 GitHub 存储库 和 文档。
如果您在工作中使用 YOLO11 或此存储库中的任何其他软件,请使用以下格式引用它:
@software{yolo11_ultralytics,
author = {Glenn Jocher and Jing Qiu},
title = {Ultralytics YOLO11},
version = {11.0.0},
year = {2024},
url = {https://github.com/ultralytics/ultralytics},
orcid = {0000-0001-5950-6979, 0000-0003-3783-7069},
license = {AGPL-3.0}
}
请注意,DOI 正在申请中,一旦可用,将添加到引文中。YOLO11 模型在 AGPL-3.0 和 Enterprise 许可下提供。
常见问题
与之前的版本相比,Ultralytics YOLO11 的主要改进是什么?
Ultralytics YOLO11 在其前代产品的基础上进行了多项重大改进。主要改进包括:
- 增强的特征提取: YOLO11 采用了改进的骨干网络和颈部架构,增强了特征提取能力,从而实现更精确的目标检测。
- 优化的效率和速度: 改进的架构设计和优化的训练流程提供了更快的处理速度,同时保持了准确性和性能之间的平衡。
- 以更少的参数实现更高的精度: YOLO11m 在 COCO 数据集上实现了更高的平均精度均值 (mAP),与 YOLOv8m 相比,参数减少了 22%,从而在不影响准确性的前提下提高了计算效率。
- 跨环境的适应性: YOLO11 可以部署在各种环境中,包括边缘设备、云平台和支持 NVIDIA GPU 的系统。
- 广泛支持的任务范围: YOLO11 支持各种计算机视觉任务,例如目标检测、实例分割、图像分类、姿势估计和旋转框检测 (OBB)。
如何训练 YOLO11 模型进行目标检测?
可以使用 Python 或 CLI 命令训练用于目标检测的 YOLO11 模型。以下是两种方法的示例:
示例
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a COCO-pretrained YOLO11n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640
有关更详细的说明,请参阅训练文档。
YOLO11 模型可以执行哪些任务?
YOLO11 模型用途广泛,支持各种计算机视觉任务,包括:
- 目标检测: 识别和定位图像中的目标。
- 实例分割: 检测目标并描绘其边界。
- 图像分类: 将图像分类为预定义的类别。
- 姿势估计: 检测和跟踪人体上的关键点。
- 旋转框检测 (OBB): 检测具有旋转的对象,以获得更高的精度。
有关每个任务的更多信息,请参阅检测、实例分割、分类、姿势估计和旋转框检测文档。
YOLO11 如何以更少的参数实现更高的精度?
通过模型设计和优化技术的进步,YOLO11 以更少的参数实现了更高的准确率。 改进的架构允许高效的特征提取和处理,从而在使用比 YOLOv8m 少 22% 的参数的同时,在 COCO 等数据集上实现更高的平均精度 (mAP)。 这使得 YOLO11 在计算上高效,同时又不影响准确性,使其适合部署在资源受限的设备上。
YOLO11 可以部署在边缘设备上吗?
是的,YOLO11 旨在适应各种环境,包括边缘设备。其优化的架构和高效的处理能力使其适合部署在边缘设备、云平台和支持 NVIDIA GPU 的系统上。这种灵活性确保了 YOLO11 可用于各种应用,从移动设备上的实时检测到云环境中的复杂分割任务。有关部署选项的更多详细信息,请参阅导出文档。