YOLO11 与 YOLOv8#
目标检测架构持续演进。在评估真实场景部署模型时,开发者通常会对比 Ultralytics YOLO11及其广泛采用的前代模型 Ultralytics YOLOv8。两种模型都以速度、准确率和开发者体验见长,但适用于略有不同的项目周期和性能目标。
本指南分析两种模型的架构、训练方法和理想用例,帮助你为人工智能项目选择合适的模型。
架构创新#
从 YOLOv8 迁移到 YOLO11 带来了多项架构改进,提升了特征提取效率并降低了计算开销。
YOLO11 架构#
YOLO11 注重参数效率。它用 C3k2 模块取代 C2f 模块,在不增加参数量的情况下改进空间特征处理。此外,YOLO11 还在骨干网络中引入了 C2PSA(跨阶段局部空间注意力)模块。这种注意力机制有助于模型聚焦关键感兴趣区域,从而提升小目标检测能力并更好地处理复杂遮挡。
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2024-09-27
- GitHub: Ultralytics 代码库
- 文档:YOLO11 文档
YOLOv8 架构#
YOLOv8 比 YOLO11 早一年发布,为 Ultralytics YOLO 引入了无锚框检测头,免去了手动调整锚框的需要,也简化了损失函数的设计。其架构采用 C2f 模块,在网络深度和梯度流动之间实现平衡,因此能够可靠地应用于各种计算机视觉应用。
- 作者: Glenn Jocher、Ayush Chaurasia 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2023-01-10
- GitHub: Ultralytics 代码库
- 文档:YOLOv8 文档
YOLOv8 为 Ultralytics 生态系统中的无锚框检测奠定了基础,YOLO11 则通过空间注意力机制进一步改进了这一方法,以更少的计算资源实现更高精度。
性能与基准测试#
将模型部署到 Raspberry Pi等边缘设备,或运行 NVIDIA TensorRT的高性能服务器时,了解速度与准确率之间的权衡至关重要。下表显示,YOLO11 在所有模型尺寸下的准确率都高于 YOLOv8。
| 模型 | 尺寸 (像素) | mAPval50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
分析指标#
YOLO11 的平均精度均值 (mAP)更高,同时参数量和浮点运算量 (FLOPs) 都更少。例如,YOLO11m 模型所需参数比 YOLOv8m 少 22%,但在 COCO 数据集上的 mAP 高出 1.3 个百分点。此外,导出为 ONNX 格式后的 CPU 推理速度表明,YOLO11 在所有尺寸下都更快(nano 模型为 56.1 毫秒,对比 80.4 毫秒),因此适合没有专用 GPU 加速的部署场景。
Ultralytics 生态系统的优势#
无论你选择 YOLO11 还是 YOLOv8,两种模型都能受益于 Ultralytics 生态,从而简化机器学习生命周期。
易于使用的简洁 API#
ultralytics Python 软件包提供精简的 API,工程师和研究人员只需几行代码就能训练、验证和导出模型。它将通常与搭建深度学习环境相关的复杂性封装起来,并通过 PyTorch实现这一点。
训练效率与内存需求#
与大型视觉 Transformer(如RT-DETR)不同,Ultralytics YOLO 模型以训练时内存占用低而闻名。这种内存效率让开发者可以在消费级 GPU 或 Google Colab 等云环境中训练准确的网络,而不会遇到内存不足错误。
适用于各类视觉任务#
YOLO11 和 YOLOv8 都是多任务模型。除了标准的边界框目标检测,它们还原生支持实例分割、图像分类、人体姿态估计,以及适用于航空影像的有向边界框 (OBB)。
用例与建议#
在 YOLO11 和 YOLOv8 之间做选择取决于你的具体项目需求、部署限制和生态偏好。
何时选择 YOLO11#
以下场景适合选择 YOLO11:
- 生产级边缘部署:在 Raspberry Pi 或 NVIDIA Jetson 等设备上运行商业应用,可靠性和持续维护至关重要。
- 多任务视觉应用:需要在单一统一框架中完成检测、分割、分类、姿态估计和 OBB 的项目。
- 快速原型开发与部署:需要借助精简的 Ultralytics Python API,快速完成从数据收集到生产部署的团队。
何时选择 YOLOv8#
以下情况推荐使用 YOLOv8:
- 多任务部署的灵活选择: 适用于需要在 Ultralytics 生态中使用成熟模型进行检测、分割、分类、姿态估计和 OBB 的项目。
- 成熟的生产系统: 已经基于 YOLOv8 架构构建、并拥有稳定且经过充分测试的部署流水线的现有生产环境。
- 广泛的社区与生态系统支持: 能够受益于 YOLOv8 丰富教程、第三方集成和活跃社区资源的应用。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境: 没有专用 GPU 加速的设备;YOLO26 的 CPU 推理速度最高可提升 43%(YOLO26n 对比 YOLO11n),具有决定性优势。
- 小目标检测: 在无人机航拍影像等具有挑战性的场景或物联网传感器分析中,ProgLoss 和 STAL 能提升小目标检测准确率。
代码示例:快速入门#
训练和部署 Ultralytics 模型只需几行代码。以下示例展示了如何加载预训练的 YOLO11 模型,在自定义数据集上微调,并使用 Apple CoreML 导出模型以部署到边缘设备:
from ultralytics import YOLO
# 初始化 YOLO11 small 模型
model = YOLO("yolo11s.pt")
# 在优化内存需求的同时高效训练模型
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# 评估验证集性能
metrics = model.val()
# 在测试图像上运行实时推理
predictions = model("https://ultralytics.com/images/bus.jpg")
# 导出为 CoreML,以便快速部署到移动设备
export_path = model.export(format="coreml")由于 Ultralytics API 已标准化,将旧版流水线从 YOLOv8 升级到 YOLO11 通常只需将权重字符串从 "yolov8n.pt" 改为 "yolo11n.pt"。
展望未来:使用 YOLO26 实现边缘 AI#
YOLO11 是一种成熟且功能强大的架构,但对于要启动新项目的开发者,Ultralytics YOLO26(2026 年 1 月发布)是推荐模型。
YOLO26 增加了多项新功能:
- 端到端无 NMS 设计: YOLO26 基于 YOLOv10 探索的理念,提供可选的一对一检测头 (
nms=False),跳过非极大值抑制 (NMS) 后处理,从而在各种部署硬件上实现更低且更可预测的延迟。 - CPU 推理速度最高提升 43%: 移除分布焦点损失 (DFL) 分支后,YOLO26n 在 CPU 上的运行速度最高比 YOLO11n 快 43%,适合缺少高性能 GPU 的边缘计算设备。
- MuSGD 优化器: YOLO26 借鉴大语言模型 (LLM)训练技术,采用 SGD 和 Muon 的混合优化器 MuSGD,实现稳定、快速的训练收敛。
- ProgLoss + STAL: 渐进损失和小目标感知标签分配 (STAL) 可提升对小目标和遮挡目标的识别能力,这对自主机器人和无人机分析至关重要。
无论你依赖 YOLOv8 久经验证的可靠性、YOLO11 优化后的架构,还是 YOLO26 的新一代能力,Ultralytics Platform 都能提供所需工具,帮助你将视觉 AI 应用从构想到投入生产。Ultralytics 的集成可将你的模型连接到企业工作流和分析仪表板。