YOLOv9 与YOLO11:架构演变与性能分析
计算机视觉领域的发展可谓日新月异,各种模型不断突破精度、速度和效率的极限。本比较探讨了物体检测领域的两个重要里程碑: YOLOv9是一个以研究为重点的模型,引入了新颖的架构概念,而 Ultralytics YOLO11和 Ultralytics YOLO11,后者是最新的生产就绪版本,专为现实世界的多功能性而设计。
虽然 YOLOv9则侧重于通过理论突破来解决深度学习的信息瓶颈、 Ultralytics YOLO11以可用性、效率和与Ultralytics 生态系统的无缝集成为重点,完善了最先进的 (SOTA) 性能。
性能指标:速度和准确性
下表直接比较了在COCO 数据集上评估的主要性能指标。在选择模型时,平衡平均精度mAP)与推理速度和计算成本(FLOPs)至关重要。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
正如数据所示,YOLO11 展示了卓越的效率。例如,与 YOLOv9t(38.3%)相比,YOLO11n 模型实现了更高的mAP (39.5%),同时使用的 FLOP 更少,在GPU 上的运行速度明显更快。虽然最大的 YOLOv9e 模型在原始精度上略胜一筹,但它所需的推理时间几乎是 YOLO11l 的两倍,这使得YOLO11 成为实时推理场景中更实用的选择。
YOLOv9:解决信息瓶颈问题
YOLOv9 的发布有一个特定的学术目标:解决数据通过深度神经网络时的信息丢失问题。其架构在很大程度上受到了在训练过程中保留梯度信息的需要的影响。
技术细节:
作者:王建尧、廖鸿源Chien-Yao Wang, Hong-Yuan Mark Liao
组织:台湾中央研究院信息科学研究所
日期:2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Docs:ultralytics
主要建筑特点
YOLOv9 的核心创新是可编程梯度信息 (PGI)和通用高效层聚合网络 (GELAN )。
- PGI:这一辅助监督框架可确保深度层获得可靠的梯度信息,从而缓解经常阻碍深度网络收敛的 "信息瓶颈"。
- GELAN:该架构结合了 CSPNet 和 ELAN 的优势,优化了参数效率,允许灵活的计算扩展。
学术重点
对于对深度学习理论,特别是卷积神经网络中的梯度流和信息保存感兴趣的研究人员来说,YOLOv9 是一个极好的案例研究。
Ultralytics YOLO11:多功能与高效率的完美结合
以 YOLOv8YOLO11 代表了面向生产的计算机视觉技术的顶峰。它的设计不仅仅是为了获得基准分数,更是为了实现实际的可部署性、易用性和多任务处理能力。
技术细节:
作者:Glenn Jocher, Jing QiuGlenn Jocher, Jing Qiu
组织机构:Ultralytics
日期:2024-09-27
GitHubultralytics
文档yolo11
主要建筑特点
YOLO11 引入了一种改进的架构,旨在最大限度地提取特征,同时最大限度地减少计算开销。它采用了增强型骨干和颈部结构,改进了不同尺度的特征整合,这对检测小型物体至关重要。
该模型还改进了头部设计,在训练过程中收敛速度更快。与以研究为中心的模型不同,YOLO11 建立在一个统一的框架内,原生支持检测、分割、分类、姿势估计 和定向边框检测(旋转框检测)。
详细比较点
易用性和生态系统
最显著的区别之一在于用户体验。 Ultralytics YOLO11的设计理念是 "开发者优先"。它与更广泛的Ultralytics 生态系统无缝集成,包括数据注释、数据集管理和模型导出工具。
- YOLO11: 只需几行代码,就能通过使用
ultralyticsPython 软件包或CLI。它得益于频繁的更新、丰富的文档和庞大的社区。 - YOLOv9:虽然Ultralytics 库支持YOLOv9,但原始实现和一些高级配置可能需要对基础研究论文有更深入的了解。
记忆要求和训练效率
高效利用资源是Ultralytics 模型的一大特点。与许多transformer替代方案或较早的YOLO 迭代方案相比,YOLO 经过优化,在训练过程中需要的 CUDA 内存更少。这样,开发人员就可以在消费级硬件上训练更大的批量,从而加快开发周期。
此外,YOLO11 还为所有任务提供了随时可用的高质量预训练权重,确保迁移学习既快速又有效。这与研究模型形成了鲜明对比,后者可能提供有限的预训练检查点,主要侧重于COCO 检测。
任务多样性
YOLOv9 主要因其在物体检测方面的成就而受到认可,而YOLO11 则在单一框架内为广泛的计算机视觉任务提供了本机支持:
- 实例分割:精确屏蔽对象
- 姿势估计检测骨骼关键点(如人类姿势估计)。
- 分类:对整个图像进行分类。
- 旋转框检测(Oriented Bounding Boxes):检测旋转物体,对航空图像至关重要。
统一 API
在YOLO11 中切换任务非常简单,只需更改模型权重文件(例如,从 yolo11n.pt 检测到 yolo11n-seg.pt 进行分割)。
代码示例:实际比较
下面的Python 代码演示了如何在Ultralytics 框架内轻松加载和使用这两种模型,并强调了简化不同架构测试的统一应用程序接口。
from ultralytics import YOLO
# Load the research-focused YOLOv9 model (compact version)
model_v9 = YOLO("yolov9c.pt")
# Load the production-optimized YOLO11 model (medium version)
model_11 = YOLO("yolo11m.pt")
# Run inference on a local image
# YOLO11 provides a balance of speed and accuracy ideal for real-time apps
results_11 = model_11("path/to/image.jpg")
# Display results
results_11[0].show()
理想用例
何时选择YOLOv9
YOLOv9 是学术研究和应用场景的绝佳选择,在这些应用场景中,不考虑计算成本,只考虑静态图像的最大精度。
- 研究项目:研究梯度流和神经网络结构。
- 基准测试:在比赛中,mAP 的每一个分数都很重要。
- 高端服务器部署:强大的 GPU(如 A100)可用于处理 "E "变体的更高 FLOP。
何时选择 Ultralytics YOLO11
YOLO11 是商业应用、边缘计算和多任务系统的推荐选择。
- 边缘人工智能:在NVIDIA Jetson或 Raspberry Pi 等设备上部署,速度重量比更优。
- 实时分析:流量监控、体育分析和生产质量控制,其中延迟是关键。
- 复杂管道:需要同时进行检测、分割和姿势估计 应用。
- 快速原型开发:需要使用Ultralytics API 快速从概念转向部署的初创公司和企业。
其他探索模式
虽然YOLOv9 和YOLO11 是强大的竞争者,但Ultralytics 库还支持其他各种针对特定需求量身定制的模型:
- YOLOv8: YOLO11 的可靠前身,目前仍在广泛使用和支持。
- RT-DETR: transformer检测器,精度高,但可能需要更多内存。
- YOLOv10:一种独特的架构,侧重于NMS 训练,以降低特定配置中的延迟。
在 "机型对比"部分探索各种选择。
结论
这两种架构都代表了计算机视觉领域的重大成就。YOLOv9 为训练深度网络提供了宝贵的理论见解,而 Ultralytics YOLO11则将这些进步综合为一个强大、通用、高效的工具。对于大多数希望构建可扩展实时应用程序的开发人员和研究人员来说,YOLO11 在性能、易用性和全面的生态系统支持之间的平衡使其成为最佳选择。