YOLOv9 与 YOLO11#
计算机视觉的快速发展不断拓展实时目标检测的可能性。在比较领先架构时,YOLOv9 和 Ultralytics YOLO11 作为重要进展脱颖而出,分别满足不同的技术需求。YOLOv9 提出了在深层网络训练期间保留梯度流的新方法,而 YOLO11 则改进了通用型 Ultralytics 框架,在效率、多功能性和易用性方面有所提升。
本技术对比将分析这两种模型的架构、性能指标、内存需求和理想部署场景,帮助你为下一个 AI 项目选择合适的模型。
YOLOv9 和 YOLO11 都是功能强大的模型,但当前推荐使用的 Ultralytics 模型是 YOLO26。它采用端到端无 NMS 设计,简化了部署;CPU 推理速度最高提升 43%(YOLO26n 对比 YOLO11n);还使用 MuSGD 优化器加快收敛,因此是新生产项目的最佳起点。
技术规格与作者信息#
了解这些模型的发展脉络,有助于理解其架构决策和框架依赖关系。
YOLOv9#
YOLOv9 着重研究深度学习中的信息瓶颈问题,并通过自定义网络模块优先保证特征保真度。
- 作者:Chien-Yao Wang 和 Hong-Yuan Mark Liao
- 机构:中央研究院信息科学研究所
- 日期: 2024 年 2 月 21 日
- arXiv: https://arxiv.org/abs/2402.13616
- GitHub: https://github.com/WongKinYiu/yolov9
Ultralytics YOLO11#
YOLO11 从头开始针对生产环境进行设计,力求兼顾高准确率、实际部署速度和多任务能力。
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2024 年 9 月 27 日
- GitHub: https://github.com/ultralytics/ultralytics
架构创新#
YOLOv9 中的可编程梯度信息#
YOLOv9 引入了可编程梯度信息 (PGI) 和通用高效层聚合网络 (GELAN) 的概念。随着神经网络不断加深,它们往往会遭遇信息瓶颈,即前馈过程中丢失关键细节。PGI 通过提供可靠的梯度更新来保留细粒度空间信息,GELAN 则最大限度地提高参数效率。这使 YOLOv9 特别适合需要高特征保真度的任务,不过它在后处理中仍采用标准非极大值抑制 (NMS),这可能会增加边缘设备上的延迟。
YOLO11 的高效精简设计#
YOLO11 基于多年的 YOLO 研究成果构建,旨在打造高效架构。它通过降低计算开销、改进特征提取能力,优于之前的版本。YOLO11 仍采用标准 NMS 后处理,但经过改进的检测头在延迟和准确率之间实现了良好平衡。与通常训练速度较慢且需要大量 CUDA 内存的重型 Transformer 模型相比,YOLO11 在模型训练和推理期间也使用更少的内存。
性能指标对比#
在标准 COCO 数据集上比较这些模型时,两者都表现出色,但参数总量和运行速度之间的权衡也显现出来。
下表对比了关键的 YOLO 性能指标。
| 模型 | 尺寸 (像素) | 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 |
| 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 |
结果分析#
- 速度和硬件效率:表中 YOLO11 在每种尺寸下的速度都快于 YOLOv9。例如,YOLO11n 使用 TensorRT 在 NVIDIA T4 GPU 上的运行时间为 1.5 ms,非常适合对实时性要求严格的流水线。
- 计算需求:YOLO11 模型通常需要更少的 FLOPs(例如,YOLO11m 为 68.1B,而 YOLOv9m 为 76.8B),因此在 Raspberry Pi 或移动硬件等电池供电的边缘设备上功耗更低。
- 准确率相当:YOLOv9e 的绝对 mAP 略高于 YOLO11x(55.6 对 54.7),但 YOLO11 达到峰值准确率时的延迟显著更低(11.3ms 对 16.77ms),这表明它在实际部署中实现了更理想的性能平衡。
生态系统与易用性#
尽管原始指标很重要,框架生态系统往往决定项目成败,而这正是 Ultralytics 脱颖而出的地方。
原版 YOLOv9 仓库高度专业化,提供研究用实现。不过,Ultralytics Platform 及其配套开源软件包带来了流畅的用户体验、简单的 API 和详尽的文档,能够缩短产品上市时间。
多任务灵活性#
YOLOv9 主要专注于边界框检测。相比之下,YOLO11 是统一的多任务模型,原生支持:
部署#
借助 Ultralytics 生态系统,开发者只需一行 Python 代码即可将模型导出为多种格式。无论目标格式是 ONNX、OpenVINO、LiteRT 还是 CoreML,从训练到生产的迁移都十分简单。
from ultralytics import YOLO
# 加载高效的 YOLO11 模型
model = YOLO("yolo11n.pt")
# 以内存占用极低的方式,在自定义数据集上快速训练
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 将训练好的模型导出到 OpenVINO,以加速 Intel CPU
model.export(format="openvino")理想应用场景#
何时使用 YOLOv9#
YOLOv9 适用于以研究为中心的环境,或优先保证高特征保真度且硬件延迟不是主要限制的场景。它的 GELAN 架构有助于医学图像分析,因为检测最细微的像素变化至关重要。
为何选择 YOLO11#
对于需要在这两种模型之间做选择的开发者、工程师和生产团队,推荐使用 YOLO11。它适用于要求高速、可扩展部署的环境:
- 智能零售分析:使用标准 Intel 处理器跟踪商品和顾客。
- 自主无人机:低 FLOPs 架构有助于延长电池续航,同时仍能可靠检测小目标。
- 动态项目:工作流可能从目标检测开始,之后逐渐需要姿态估计或分割等功能。
展望未来:下一轮演进#
YOLO11 在其所属世代曾是最先进的模型,但计算机视觉领域仍在不断进步。对于新项目,可以考虑当前推荐的 Ultralytics 模型 YOLO26。
YOLO26 在 YOLOv10 首次探索的端到端无 NMS 设计基础上,引入了 MuSGD 优化器(SGD 与 Muon 的混合优化器),以实现更稳定的训练。移除分布焦点损失 (DFL) 简化了导出流程;ProgLoss 和 STAL(渐进式损失和小目标感知标签分配)提升了小目标检测能力;YOLO26n 的 CPU 推理速度因此比 YOLO11n 最多快 43%。借助统一的 Ultralytics API,从 Ultralytics YOLOv8 等旧模型升级到 YOLO26 或 YOLO11,只需对代码进行极少的改动。