YOLOv10 与 YOLO11#
选择实时计算机视觉模型,需要了解当前架构之间的权衡。本比较介绍 YOLOv10 和 Ultralytics YOLO11 的技术差异、性能权衡和理想应用场景。它们都是功能强大的目标检测框架。
这两种模型在基准数据集上都表现出色,但其设计理念和生态系统集成存在显著差异。通过了解它们的架构,你可以判断哪一种更符合部署限制和项目目标。
YOLOv10:无需 NMS 的实时检测#
YOLOv10 于 2024 年春季发布,通过直接解决后处理带来的延迟开销,为传统目标检测流水线引入了一种新方法。
- 作者: Ao Wang、Hui Chen、Lihao Liu 等
- 组织: 清华大学
- 日期: 2024 年 5 月 23 日
- 研究论文: arXiv:2405.14458
- 源代码: GitHub 上的 THU-MIG/yolov10
- 文档: YOLOv10 文档
YOLOv10 最突出的创新是其一致双重分配策略,该策略可实现无 NMS 训练。传统目标检测器依赖非极大值抑制(NMS)来过滤冗余边界框预测。移除这一步后,YOLOv10 实现了真正的端到端检测,降低了推理延迟,也简化了在 NPU 等硬件加速器上的部署,因为这类设备上的自定义 NMS 操作很难优化。
YOLO11:生态系统驱动的灵活性与性能#
YOLO11 于同年晚些时候发布,继续完善 Ultralytics 模型系列,重点平衡速度、精度和开发者体验。
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2024 年 9 月 27 日
- 源代码: GitHub 上的 Ultralytics
- 平台集成: Ultralytics Platform
YOLO11 专为生产环境打造。它在标准边界框检测方面表现出色,但真正的优势在于其多功能性。与主要专注于目标检测的 YOLOv10 不同,YOLO11 采用统一架构,原生支持实例分割、图像分类、姿态估计和定向边界框(OBB)任务。与更庞大的基于 Transformer 的架构相比,它训练时的内存需求更低,因此使用消费级 GPU 的团队也能轻松使用。
性能与指标对比#
并排比较这些模型时,务必要了解它们在COCO 数据集等标准基准上的不同规模变体分别表现如何。
在尺寸相同的情况下,YOLO11 的 mAP 均高于 YOLOv10,高出 0.2 到 1.0 个点,同时 TensorRT 速度相近:YOLO11 在 n 和 l 尺寸下明显更快,s 和 m 模型速度几乎持平,而 YOLOv10x 比 YOLO11x 快,且参数量约为其一半。
| 模型 | 尺寸 (像素) | mAPval50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| 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 |
若要在本地复现这些推理速度,请将模型导出为优化格式,例如面向 Intel CPU 的 OpenVINO,或面向 NVIDIA GPU 的 TensorRT。
深入剖析架构#
训练方法与效率#
YOLOv10 的架构着重减少计算冗余。清华大学的作者采用整体性的效率与精度驱动策略优化骨干网络和颈部网络设计,使中等尺寸模型(如 YOLOv10m)的参数量低于此前版本。
训练效率是 Ultralytics 模型的一大特点。YOLO11 使用 ultralytics Python 软件包,简化了复杂的超参数调优流程。该框架开箱即用,可自动处理高级数据增强、学习率调度和多 GPU 分布式训练。YOLO11 在训练时也能保持较低的 VRAM 占用。
易用性与生态系统优势#
企业采用模型时,一个关键因素是维护完善的生态系统。研究代码库在论文发表后往往会逐渐停止维护。YOLO11 背后的 Ultralytics 生态系统提供了持续维护的端到端开发体验。
YOLO11 可集成 Weights & Biases 等实验跟踪工具,以及 Roboflow 等数据集管理工具,加快从原型到生产的转变。其易用性体现在简单的 API 上,开发者只需几行代码即可训练和导出模型。
from ultralytics import YOLO
# 初始化 YOLO11 small 模型
model = YOLO("yolo11s.pt")
# 通过优化内存管理,高效训练模型
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="0")
# 导出为 ONNX 格式,灵活部署
model.export(format="onnx")用例与建议#
选择 YOLOv10 还是 YOLO11,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLOv10#
以下场景适合使用 YOLOv10:
- 无 NMS 的实时检测:适用于需要从端到端检测中获益、无需使用非极大值抑制并能降低部署复杂度的应用。
- 均衡权衡速度与准确率:适用于需要在不同模型规模下兼顾推理速度和检测准确率的项目。
- 延迟稳定的应用:适用于推理时间可预测性至关重要的部署场景,例如机器人或自主系统。
何时选择 YOLO11#
以下场景推荐使用 YOLO11:
- 生产级边缘部署:在 Raspberry Pi 或 NVIDIA Jetson 等设备上运行商业应用,可靠性和持续维护至关重要。
- 多任务视觉应用:需要在单一统一框架中完成检测、分割、分类、姿态估计和 OBB 的项目。
- 快速原型开发与部署:需要借助精简的 Ultralytics Python API,快速完成从数据收集到生产部署的团队。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境: 没有专用 GPU 加速的设备;YOLO26 的 CPU 推理速度最高可提升 43%(YOLO26n 对比 YOLO11n),具有决定性优势。
- 小目标检测: 在无人机航拍影像等具有挑战性的场景或物联网传感器分析中,ProgLoss 和 STAL 能提升小目标检测准确率。
探索其他架构#
YOLOv10 和 YOLO11 都是出色的选择,但根据具体应用场景,你也可以考虑文档中提供的其他架构。对于基于注意力机制的检测,像 RT-DETR 这样的 Transformer 模型精度很高,但通常需要更多内存。如果你需要在不重新训练的情况下识别新类别,可以使用 YOLO-World 提供的开放词汇方法,通过自然语言提示实现零样本能力。
新一代模型:YOLO26#
Ultralytics YOLO26 于 2026 年 1 月发布,融合了上述两种模型的优势,是新部署项目的推荐选择。
YOLO26 在前代模型的基础上,提供可选的端到端无 NMS 设计(nms=False),在 Ultralytics 框架内移除了 YOLOv10 最初解决的后处理瓶颈。YOLO26 还移除了 DFL(分布焦点损失),简化了模型导出计算图,并提升了与边缘设备和低功耗 IoT 设备的兼容性。
MuSGD 优化器是一种结合 SGD 和 Muon 的混合优化器,受大语言模型(LLM)训练方法启发,可提升训练稳定性并加快收敛。结合 ProgLoss + STAL(渐进式损失与小目标感知标签分配),YOLO26 的小目标识别能力得到提升。在标准边缘设备上,这些改进使 YOLO26n 的 CPU 速度最高可比 YOLO11n 快 43%,且 YOLO26 支持检测、分割、语义分割、深度估计、分类、姿态估计和 OBB。