YOLOv9 与 YOLOv10#
随着研究人员不断改善性能与效率之间的权衡,实时计算机视觉领域迅速发展。在先进视觉模型的演进过程中,YOLOv9 和 YOLOv10 是两个重要的里程碑。这两种模型均于 2024 年初发布,并对架构进行了重大调整,以解决深度神经网络中长期存在的挑战,从信息瓶颈到后处理延迟。
本技术对比将探讨这两种模型的架构、性能指标和理想部署场景,帮助你选择合适的目标检测模型。
模型起源与架构#
了解这些模型的发展脉络和理论基础,对于为你的特定计算机视觉项目选择合适的架构至关重要。
YOLOv9:掌控信息流#
YOLOv9 于 2024 年 2 月 21 日推出,旨在解决数据通过深层神经网络时发生信息丢失这一理论问题。
- 作者:Chien-Yao Wang 和 Hong-Yuan Mark Liao
- 机构: 台湾中央研究院资讯科学研究所
- 参考资料: YOLOv9 arXiv 论文
- 代码仓库: YOLOv9 GitHub
YOLOv9 引入了通用高效层聚合网络 (GELAN),通过结合 CSPNet 和 ELAN 的优势,最大限度地提高参数利用率。此外,它还采用可编程梯度信息 (PGI) 这一辅助监督机制,确保深层保留关键空间信息。这使 YOLOv9 适用于需要高特征保真度的任务,例如医学图像分析或远距离监控。
YOLOv10:实时端到端效率#
YOLOv10 于 2024 年 5 月 23 日不久后发布,它通过消除目标检测中众所周知的延迟瓶颈——非极大值抑制 (NMS)——简化了部署流水线。
- 作者: Ao Wang、Hui Chen、Lihao Liu 等
- 组织: 清华大学
- 参考资料: YOLOv10 arXiv 论文
- 代码仓库: YOLOv10 GitHub
YOLOv10 在训练期间采用一致双重分配,从而实现原生的无 NMS 设计。这消除了推理期间的后处理开销并降低延迟。结合以效率和准确率为核心的整体模型设计,YOLOv10 在降低计算开销 (FLOPs) 的同时保持有竞争力的准确率,从而在边缘计算应用中颇具吸引力。
性能与指标对比#
在标准 MS COCO 数据集上对这两个模型系列进行基准测试时,可以发现纯准确率和推理延迟之间存在明显的权衡。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| 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 |
数据分析#
- 延迟与准确率:YOLOv10 模型通常推理速度更快。例如,YOLOv10s 使用 TensorRT 时只需 2.49 ms,mAP 达到 46.3%;相比之下,YOLOv9s 需要 3.54 ms,才能达到相近的 46.8% mAP。
- 顶级精度:对于要求检测精度最高的研究场景,YOLOv9e 仍是一个强有力的选择,mAP 可达 55.6%,PGI 有助于模型可靠地提取细微特征。
- 效率:YOLOv10 在 FLOPs 效率方面表现出色。这会直接降低功耗,这对于运行视觉 AI 模型的电池供电设备来说是一个关键指标。
如果你要将模型部署到 CPU 或 Raspberry Pi 这类资源受限的边缘硬件上,YOLOv10 的无 NMS 架构通常能通过消除延迟不确定的后处理步骤,让整个流水线更加流畅。
Ultralytics 的优势:训练与生态系统#
架构差异固然至关重要,但周边软件生态系统往往决定项目能否成功。YOLOv9 和 YOLOv10 都已全面集成到 Ultralytics 生态系统中,为开发者提供一致的开发体验。
易用性与内存效率#
与可能需要大量内存的复杂 Transformer 架构不同,Ultralytics YOLO 模型旨在高效使用 GPU 内存。这样,研究人员就能在消费级硬件上使用更大的批量大小,让更多人能够使用最先进的 AI。
统一的 Python API 可处理数据增强和超参数调优的复杂工作。你只需更改权重文件字符串,就能切换架构。
from ultralytics import YOLO
# 加载 YOLOv10 模型(如需切换到 YOLOv9,可轻松改为 "yolov9c.pt")
model = YOLO("yolov10n.pt")
# 使用 COCO8 数据集训练模型
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# 验证模型性能
metrics = model.val()
# 将训练好的模型导出为 ONNX 格式,以便部署
model.export(format="onnx")无论你是要将指标记录到 MLflow,还是要导出到 TensorRT以便在硬件上高速部署,Ultralytics Python 包都能原生处理。
理想应用场景#
在这些模型之间进行选择,取决于你的部署限制:
- 选择 YOLOv9 的情况:你正在处理小目标检测任务,例如航空无人机图像分析或小肿瘤检测,此时 GELAN 架构的特征保留能力能提供最高保真度。
- 选择 YOLOv10 的情况:你的主要目标是在边缘设备上实现实时推理。无 NMS 设计使其非常适合自主机器人、实时交通监控和智能监控。
面向未来:转向 YOLO26#
YOLOv8、YOLOv9 和 YOLOv10 都是出色的模型,但希望构建现代 AI 解决方案的开发者应考虑于 2026 年 1 月发布的Ultralytics YOLO26。
YOLO26 在前几代模型的基础上,将 YOLOv10 的无 NMS 高效特性与比本次比较中任一模型都更高的精度结合起来。
YOLO26 的关键创新#
- 端到端无 NMS 设计:在 YOLOv10 奠定的基础上,YOLO26 的可选一对一检测头(
nms=False)跳过 NMS 后处理,简化部署。 - MuSGD 优化器:结合 SGD 和 Muon 的混合优化器,将 LLM 训练创新引入计算机视觉,带来稳定的训练过程和快速收敛。
- CPU 推理速度最高提升 43%:YOLO26n 在 CPU 上的运行速度比 YOLO11n 快 43%,适用于边缘计算和没有独立 GPU 的设备。
- 移除 DFL:移除了分布焦点损失,以简化模型导出并提升与低功耗设备的兼容性。
- ProgLoss + STAL:渐进式损失和小目标感知标签分配(STAL)可提升小目标检测效果。
对于正在评估其他架构的研究人员,RT-DETR 和 YOLO11 也是 Ultralytics 生态系统中有完善文档的备选方案。不过,如果你希望在所有视觉任务中获得多功能性,新项目推荐使用 Ultralytics Platform 上的 YOLO26。