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.49ms 即可达到 46.3% mAP,而 YOLOv9s 达到相近的 46.8% mAP 则需要 3.54ms。
- 顶级精度:对于要求检测精度最高的研究场景,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 集前几代模型之大成,融合了 YOLOv9 的精度优势与 YOLOv10 的效率优势。
YOLO26 的关键创新#
- 端到端无 NMS 设计:在 YOLOv10 奠定的基础上,YOLO26 的可选一对一检测头(
nms=False)跳过 NMS 后处理,简化部署。 - MuSGD 优化器:结合 SGD 和 Muon,将先进的 LLM 训练创新引入计算机视觉,实现极其稳定且快速的收敛。
- CPU 推理速度最高提升 43%:专为边缘计算和不配备独立 GPU 的设备优化。
- 移除 DFL:移除了分布焦点损失,以简化模型导出并提升与低功耗设备的兼容性。
- ProgLoss + STAL:这些改进的损失函数显著提升了小目标识别能力,达到或超过 YOLOv9 的水平。
对于评估旧架构的研究人员,RT-DETR和 YOLO11也是 Ultralytics 生态系统中文档完善的替代选择。不过,要在所有视觉任务中实现最大程度的通用性,迁移到Ultralytics Platform上的 YOLO26,能确保你用上开源视觉 AI 的巅峰技术。