Ultralytics YOLO27:
Get Started

YOLOv9 与 YOLOv10#

实时计算机视觉领域取得了巨大进步,这在很大程度上得益于研究人员不断突破性能与效率的边界。在分析先进视觉模型的演进历程时,YOLOv9 和 YOLOv10 是两个重要里程碑。两种模型均于 2024 年初发布,并引入了改变范式的架构设计,以应对深度神经网络中长期存在的挑战,包括信息瓶颈和后处理延迟。

这份全面的技术对比将探讨两者的架构、性能指标和理想部署场景,帮助你理清现代目标检测生态系统的复杂情况。

模型起源与架构突破#

了解这些模型的发展脉络和理论基础,对于为你的特定计算机视觉项目选择合适的架构至关重要。

YOLOv9:掌控信息流#

YOLOv9 于 2024 年 2 月 21 日推出,旨在解决数据通过深层神经网络时发生信息丢失这一理论问题。

YOLOv9 引入了通用高效层聚合网络(GELAN),结合 CSPNet 和 ELAN 的优势,最大限度地提高参数利用率。此外,它还采用了可编程梯度信息(PGI),这是一种辅助监督机制,可确保深层保留关键空间信息。因此,YOLOv9 特别适用于要求高特征保真度的任务,例如医学图像分析或远距离监控。

了解有关 YOLOv9 的更多信息

YOLOv10:实时端到端效率#

YOLOv10 于 2024 年 5 月 23 日不久后发布,通过消除目标检测中最著名的延迟瓶颈之一——非极大值抑制(NMS),重新构想了部署流程。

YOLOv10 在训练过程中采用一致的双重分配,实现了原生的无 NMS 设计。这样可消除推理阶段的后处理开销,大幅降低延迟。结合以效率和精度为核心的整体模型设计,YOLOv10 实现了出色的平衡:在保持竞争力的精度的同时降低计算开销(FLOPs),因此非常适合边缘计算应用。

进一步了解 YOLOv10

性能与指标对比#

在标准 MS COCO 数据集上对这两款强劲模型进行基准测试时,纯精度和推理延迟之间的取舍十分明显。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4

数据分析#

  1. 延迟与精度:YOLOv10 模型通常推理速度更快。例如,YOLOv10s 在 TensorRT 上仅需 2.49ms 即可达到 46.3% mAP,而 YOLOv9s 达到相近的 46.8% mAP 则需要 3.54ms。
  2. 顶级精度:对于要求检测精度最高的研究场景,YOLOv9e 仍然是强有力的选择,mAP 高达 55.6%。其 PGI 架构可确保可靠地提取细微特征。
  3. 效率: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 的巅峰技术。

评论