YOLO11 与YOLOv9:全面的技术比较
在飞速发展的计算机视觉领域,选择正确的物体检测模型对项目的成功至关重要。本比较探讨了 Ultralytics YOLO11和 YOLOv9 之间的技术细节。 YOLOv9之间的技术比较。我们分析了它们的架构差异、性能指标以及对不同部署场景的适用性。
Ultralytics YOLO11:生产型人工智能的标准
由Glenn Jocher和Jing Qiu于 2024 年 9 月 27 日发布于 UltralyticsYOLO11 是对高效神经网络设计进行广泛研发的结晶。学术模型往往将理论指标置于实际可用性之上,与之不同的是,YOLO11 的设计旨在为开发人员和企业提供速度、准确性和资源效率之间的最佳平衡。
技术细节:
- 作者: Glenn Jocher, Jing Qiu
- 组织机构Ultralytics
- 日期: 2024-09-27
- GitHub:ultralytics
- 文档:YOLO11 文档
架构与特性
YOLO11 采用了改进的结构,在保持紧凑外形的同时增强了特征提取能力。与前几代产品(如 YOLOv8)相比,YOLO11 采用了改进的骨干和颈部结构,专门用于以较少的参数捕捉复杂的图案。 YOLOv8.这种设计理念可确保YOLO11 模型在资源有限的硬件(如边缘设备)上出色地运行,而不会牺牲检测能力。
YOLO11 的一个突出特点是其本机的多功能性。虽然许多模型都是严格意义上的物体检测器,但YOLO11 在一个框架内支持多种计算机视觉任务:
生产优势
对于开发人员来说,YOLO11 的主要优势在于它与Ultralytics 生态系统的集成。这确保了通过简单的Python API和全面的CLI 简化用户体验。
开发人员为何选择YOLO11
YOLO11 大幅缩短了人工智能解决方案的 "上市时间"。在训练和推理过程中,YOLO11 对内存的要求较低,因此可用于更广泛的硬件,避免了与transformer替代方案相关的高昂 VRAM 成本。
YOLOv9:解决信息瓶颈问题
YOLOv9 于 2024 年初由王建尧和廖洪元(Hong-Yuan Mark Liao)提出,专注于解决深度学习理论挑战,特别是信息瓶颈问题。它证明了学术的严谨性,突破了特征保存的极限。
技术细节:
- 作者: Chien-Yao Wang, Hong-Yuan Mark Liao
- 组织: 中研院中央研究院
- 日期: 2024-02-21
- Arxiv:arXiv:2402.13616
- GitHub:WongKinYiu/yolov9
- 文档:YOLOv9 文档
建筑创新
YOLOv9 围绕两个核心理念构建:可编程梯度信息 (PGI)和广义高效层聚合网络 (GELAN )。PGI 的目的是在输入信息通过深层时保留输入信息,为损失函数计算可靠的梯度。GELAN 可优化参数利用率,使模型在COCO 数据集上达到相对于其大小的高准确度。
性能和权衡
YOLOv9 在原始精度基准测试中表现出色,其最大的变体YOLOv9 在mAP 分数上也令人印象深刻。然而,这种对学术的专注可能会导致部署的复杂性更高。虽然功能强大,但原始实现缺乏Ultralytics 框架中的原生多任务多功能性,主要集中在检测上。此外,与YOLO11 高度优化的管道相比,训练这些架构可能会更加耗费资源。
性能指标:速度与准确性
在选择模型时,了解推理速度和检测精度之间的权衡至关重要。下表是两个模型系列在COCO 数据集上的性能对比。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
分析
这些数据凸显了YOLO11 的性能平衡设计。
- 效率:YOLO11n 在准确性(39.5% 对 38.3%)方面超过了 YOLOv9t,同时消耗的 FLOPs 更少(6.5B 对 7.7B),因此更适合移动部署。
- 速度: YOLO11 在 T4 GPU 上使用TensorRT 全面展示了更快的推理速度,这是实时视频分析的关键因素。
- 精确度:虽然YOLOv9 在原始mAP 方面名列前茅,但其代价是延迟时间大大增加(16.77 毫秒,而 YOLO11x 为 11.3 毫秒)。对于大多数实际应用而言,YOLO11 的速度优势超过了mAP 的边际增益。
可用性和生态系统
软技能 "方面的差异--易用性、文档和支持--是Ultralytics 模型真正的闪光点。
易用性和培训效率
YOLO11 采用无障碍设计。使用标准的 Python环境,您只需几行代码就能完成模型的训练、验证和部署。Ultralytics 提供预先训练好的权重,可以进行迁移学习,大大减少了训练时间和人工智能开发的碳足迹。
相比之下,虽然YOLOv9 可在Ultralytics 软件包中使用,但其原始研究代码库要求对深度学习配置有更深入的了解。YOLO11 用户可以从统一的界面中获益,无论您是执行分割还是分类,它都能以相同的方式运行。
代码比较:YOLO11的简洁性
使用Ultralytics Python API 可以直接训练YOLO11 模型。
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("path/to/image.jpg")
维护良好的生态系统
选择YOLO11 意味着进入一个受支持的环境。Ultralytics 生态系统包括
- 积极开发:频繁更新,确保与最新 PyTorch版本和硬件驱动程序的兼容性。
- 社区支持: GitHub和Discord上的大型社区可为您排除故障。
- 文档:广泛的指南涵盖了从超参数调整到将模型导出到 ONNX的所有内容。
理想用例
何时选择YOLO11
YOLO11 凭借其多功能性和速度,成为 95% 的商业和业余爱好者项目的推荐选择。
- 边缘人工智能:在Raspberry Pi NVIDIA Jetson等内存和 FLOP 有限的设备上部署。
- 实时监控:需要高 FPS 的安全监控应用。
- 多任务应用:需要同时进行检测、分割和姿势估计 项目,无需管理多个不同的模型架构。
何时选择YOLOv9
YOLOv9 最适合特定的学术或高精度应用场景。
- 研究基准:当主要目标是比较理论架构或在COCO 等数据集上击败特定的mAP 分数时。
- 离线处理:在推理速度不受限制的情况下,精确度的每一个零点几都很重要,例如离线医学影像分析。
结论
虽然 YOLOv9则为学术界引入了 PGI 和 GELAN 等引人入胜的概念、 Ultralytics YOLO11是构建人工智能产品的最佳实用选择。其无与伦比的速度、准确性、多功能性和易用性使其成为现代计算机视觉的首选模型。YOLO11 以强大的生态系统为后盾,设计高效,使开发人员能够满怀信心地从概念转向部署。
探索其他模型
如果您对进一步的比较感兴趣,可以考虑探索Ultralytics 库中的其他高性能模型: