YOLOv10 与 YOLOv5:全面的技术对比
为生产环境部署成功的 计算机视觉 流水线,选择合适的神经网络架构至关重要。本页面提供了 YOLOv10 和 YOLOv5 的深入技术分析,这两款模型在实时目标检测的发展历程中都具有极大的影响力。尽管两者都对 AI 社区产生了重大影响,但它们代表了深度学习架构设计中不同的时代和理念。
本指南基于 平均精度均值 (mAP)、推理延迟、参数效率和生态系统支持来评估这些架构,帮助你为部署需求选择最佳模型。
模型概览
YOLOv10:实时端到端目标检测
YOLOv10 由清华大学研究人员开发,通过消除后处理需求,引入了一种目标检测的新方法。
- 作者: Ao Wang, Hui Chen, Lihao Liu 等。
- 所属机构: 清华大学
- 日期: 2024-05-23
- 研究论文: arXiv:2405.14458
- 源代码: YOLOv10 GitHub 仓库
YOLOv10 的决定性突破在于其 端到端 NMS-Free 设计。过去,YOLO 模型依赖 非极大值抑制 (NMS) 来过滤冗余的边界框。YOLOv10 利用一致的双重分配进行 NMS-free 训练,这极大地降低了推理延迟的波动,并简化了部署逻辑。此外,该架构采用了全面的效率与精度驱动设计,对各个组件进行了彻底优化,以减少计算冗余。
YOLOv5:易用性的行业标准
YOLOv5 在 Ultralytics PyTorch 仓库建立后不久发布,重新定义了开发者对开源视觉 AI 框架的期待。它至今仍是全球部署最广泛的架构之一。
- 作者: Glenn Jocher
- 组织: Ultralytics
- 日期: 2020-06-26
- 源代码: YOLOv5 GitHub 仓库
YOLOv5 以其 易用性 和 维护完善的生态系统 而闻名。它完全用 PyTorch 编写,提供了开箱即用的训练、验证以及导出到 ONNX 和 TensorRT 等格式的无缝“从零到英雄”体验。与主要专注于纯目标检测的 YOLOv10 不同,YOLOv5 展现了卓越的 通用性,在同一个统一的 Python API 中支持 实例分割 和 图像分类。
性能与指标对比
可视化速度与精度之间的关系,对于识别在给定速度限制下提供最佳精度的模型至关重要。理解这些 性能指标 是选择符合你特定硬件限制模型的关键。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
技术分析
- 精度 (mAP): YOLOv10 在精度方面展现出明显的代际优势。例如,YOLOv10-X 模型实现了 54.4% 的 mAPval,优于 YOLOv5x (50.7% mAP)。这一飞跃主要归功于 2024 年引入的 NMS-free 训练策略和架构改进。
- 推理延迟: 尽管 YOLOv5 模型在原始 T4 TensorRT 基准测试中速度极快(例如 YOLOv5n 为 1.12ms),但 YOLOv10 完全省去了后处理的 NMS 步骤。在端到端的实际部署中,YOLOv10 的 NMS-free 设计提供了更一致且确定性的延迟,这对 自动驾驶 和机器人等实时应用至关重要。
- 参数效率: YOLOv10 模型保持了极具竞争力的 性能平衡。YOLOv10-S 以仅 7.2M 的参数量实现了 46.7% 的 mAP,而 YOLOv5s 在 9.1M 参数量下实现 37.4% 的 mAP。
当部署到 边缘 AI 设备(如 NVIDIA Jetson)时,不含 NMS 逻辑的模型(如 YOLOv10 和 YOLO26)通常能更简洁地编译为 TensorRT,从而避免回退到 CPU 的操作。
用例与建议
在 YOLOv10 和 YOLOv5 之间进行选择,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLOv10
YOLOv10 是以下情况的理想选择:
- 无需 NMS 的实时检测: 得益于端到端检测且无需非极大值抑制,从而降低了部署复杂性的应用。
- 平衡的速度-精度权衡: 需要在不同模型规模下实现推理速度与检测精度之间良好平衡的项目。
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
何时选择 YOLOv5
建议在以下情况下使用 YOLOv5:
- 经过验证的生产系统: 在那些重视 YOLOv5 长期稳定性、详尽文档和庞大社区支持的现有部署中。
- 资源受限的训练: 在 GPU 资源有限且 YOLOv5 高效的训练流水线和较低内存需求更具优势的环境中。
- 广泛的导出格式支持: 项目需要部署到多种格式,包括 ONNX、TensorRT、CoreML 和 TFLite。
何时选择 Ultralytics (YOLO26)
对于大多数新项目,Ultralytics YOLO26 提供了性能与开发者体验的最佳结合:
- 无需 NMS 的边缘部署: 需要持续、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 在没有专用 GPU 加速的设备上,YOLO26 的 CPU 推理速度提升高达 43%,这提供了决定性优势。
- 小目标检测: 具有挑战性的场景,如 航拍无人机图像 或 IoT 传感器分析,ProgLoss 和 STAL 在小目标上显著提升了准确性。
Ultralytics 的优势
虽然 YOLOv10 提供了出色的检测能力,但依赖学术仓库有时会使生产流水线复杂化。通过使用官方的 Ultralytics Python 包,你可以获得一个统一的生态系统,在支持 YOLOv5 和 YOLOv10 的同时,还能使用更多高级功能。
- 训练效率: Ultralytics YOLO 架构在训练过程中对较低的 内存需求 进行了深度优化。与需要巨大 CUDA 显存的重型 Transformer 模型(如 RT-DETR)不同,你可以在标准消费级 GPU 上轻松训练 YOLOv5 和 YOLOv10。
- 生态系统集成: 与 Ultralytics Platform 的集成使开发者能够可视化管理数据集,使用 Weights & Biases 跟踪实验,并自动调整超参数。
代码示例:无缝训练
使用 Ultralytics 库,切换这些架构就像更改模型字符串一样简单。训练流水线会自动处理数据增强、缩放和优化器配置。
from ultralytics import YOLO
# To use YOLOv5:
# model = YOLO("yolov5s.pt")
# To use YOLOv10:
model = YOLO("yolov10s.pt")
# Train the model on a custom dataset
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device=0, # Use GPU 0
)
# Export the trained model to ONNX format
path = model.export(format="onnx")下一代:Ultralytics YOLO26
如果你今天正在启动一个新的 机器学习 项目,我们强烈建议评估最新的 Ultralytics YOLO26。它于 2026 年 1 月发布,结合了过去五年中最优秀的创新,代表了当前绝对的技术领先水平。
YOLO26 原生集成了由 YOLOv10 开创的 端到端 NMS-Free 设计,确保了快速、确定性的部署。此外,YOLO26 还引入了多项关键突破:
- 高达 43% 的 CPU 推理提速: 通过移除分布焦点损失 (DFL) 模块,YOLO26 在标准 CPU 上实现了巨大的速度提升,使其成为 移动端部署 和低功耗物联网传感器的首选。
- MuSGD 优化器: 受 Moonshot AI Kimi K2 等大语言模型 (LLM) 训练技术的启发,YOLO26 采用了 SGD 和 Muon 的混合体。与 YOLOv10 中使用的 AdamW 优化器相比,这确保了训练过程极其稳定并大幅加速了收敛。
- ProgLoss + STAL: 这些先进的损失函数在小目标识别方面带来了显著改进,这对于 无人机影像 和空中安全应用至关重要。
- 任务特定精通: 虽然 YOLOv10 严格来说是一个边界框检测器,但 YOLO26 为所有任务提供了专门的架构改进,包括用于姿态估计的残差对数似然估计 (RLE) 以及用于旋转边界框 (OBB) 的专门角度损失。
如果你正在探索更广阔的目标检测领域,你可能还会对将这些架构与其他框架进行比较感兴趣。查看我们关于 YOLO11 vs EfficientDet 或 RT-DETR vs YOLOv8 的深度分析,获取更全面的基准测试信息。
无论你是依赖 YOLOv5 的稳健传承、YOLOv10 的无 NMS 创新,还是 YOLO26 无与伦比的前沿性能,Ultralytics 生态系统都能为你提供快速高效实现视觉 AI 应用所需的工具。