YOLO11 与 YOLOv9:全面技术比较
在飞速发展的计算机视觉领域,选择正确的物体检测模型对项目的成功至关重要。本比较探讨了 Ultralytics YOLO11和 YOLOv9 之间的技术细节。 YOLOv9之间的技术比较。我们分析了它们的架构差异、性能指标以及对不同部署场景的适用性。
Ultralytics YOLO11:生产级 AI 的标准
由Glenn Jocher和Jing Qiu在Ultralytics于2024年9月27日发布,YOLO11代表了在高效神经网络设计方面广泛研发的结晶。与通常将理论指标置于实际可用性之上的学术模型不同,YOLO11旨在为开发人员和企业提供速度、准确性和资源效率的最佳平衡。
技术细节:
- 作者: Glenn Jocher, Jing Qiu
- 组织:Ultralytics
- 日期: 2024-09-27
- GitHub:ultralytics/ultralytics
- 文档:YOLO11 文档
架构与特性
YOLO11 引入了精炼的架构,增强了特征提取能力,同时保持了紧凑的尺寸。它采用了改进的骨干网络和颈部结构,专门设计用于以更少的参数捕获复杂模式,与 YOLOv8 等前几代模型相比。这种设计理念确保 YOLO11 模型在资源受限的硬件(例如边缘设备)上表现出色,而不会牺牲 detect 能力。
YOLO11 的一个突出特点是其原生的多功能性。虽然许多模型严格来说是目标检测器,但 YOLO11 在单一框架内支持广泛的计算机视觉任务:
生产中的优势
对于开发者而言,YOLO11 的主要优势在于其与 Ultralytics 生态系统的集成。这通过简洁的 Python API 和全面的 CLI 确保了流畅的用户体验。
为什么开发者选择YOLO11
YOLO11 大幅缩短了 AI 解决方案的“上市时间”。其在训练和推理过程中较低的内存需求使其适用于更广泛的硬件,避免了与基于 Transformer 的替代方案相关的高昂 VRAM 成本。
YOLOv9:解决信息瓶颈
由王建尧和廖弘源于 2024 年初推出,YOLOv9 专注于解决深度学习理论挑战,特别是信息瓶颈问题。它证明了学术严谨性,突破了特征保存的极限。
技术细节:
- 作者: Chien-Yao Wang, Hong-Yuan Mark Liao
- 组织:中央研究院
- 日期: 2024-02-21
- Arxiv:arXiv:2402.13616
- GitHub:WongKinYiu/yolov9
- 文档:YOLOv9 文档
架构创新
YOLOv9围绕两个核心概念构建:可编程梯度信息 (PGI)和广义高效层聚合网络 (GELAN)。PGI旨在保留输入信息在通过深层时的完整性,为损失函数计算可靠的梯度。GELAN优化了参数利用率,使模型能够在COCO dataset上,相对于其规模实现高精度。
性能与权衡
YOLOv9 在原始精度基准测试中表现出色,其最大变体 YOLOv9-E 取得了令人印象深刻的 mAP 分数。然而,这种学术上的侧重可能会导致部署的复杂性更高。尽管功能强大,但原始实现缺乏 Ultralytics 框架中固有的多任务通用性,主要侧重于 detect。此外,与 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 在精度上超越了 YOLOv9t(39.5% vs 38.3%),同时消耗更少的 FLOPs(6.5B vs 7.7B),使其在 移动部署 方面表现更优。
- 速度: 总体而言,YOLO11在使用TensorRT的T4 GPU上展现出更快的推理时间,这是实时视频分析的关键因素。
- 精度: 虽然 YOLOv9-E 在原始 mAP 方面占据首位,但它以显著更高的延迟为代价(YOLO11x 为 16.77 毫秒,而 YOLO11x 为 11.3 毫秒)。对于大多数实际应用,YOLO11 的速度优势超过了 mAP 的微小增益。
可用性与生态系统
在“软技能”方面——易用性、文档和支持——Ultralytics模型真正脱颖而出。
易用性与训练效率
YOLO11 的设计易于使用。在标准的 Python 环境中,您只需几行代码即可训练、验证和部署模型。Ultralytics 提供了预训练权重,支持迁移学习,显著减少了训练时间和 AI 开发的碳足迹。
相比之下,尽管 YOLOv9 在 Ultralytics 包中可用,但其原始研究代码库需要对深度学习配置有更深入的理解。YOLO11 用户受益于统一的接口,无论您是执行 segmentation 还是 classification,该接口都以相同的方式工作。
代码对比: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% 商业和业余项目的推荐选择。
- 边缘AI:部署在树莓派或NVIDIA Jetson等内存和FLOPs有限的设备上。
- 实时监控: 需要高 FPS 的安全监控应用。
- 多任务应用:需要同时进行 detect、segment 和姿势估计,而无需管理多个不同模型架构的项目。
何时选择 YOLOv9
YOLOv9最适合特定的学术或高精度场景。
- 研究基准测试:当主要目标是比较理论架构或在像 COCO 这样的数据集上超越特定的 mAP 分数时。
- 离线处理:推理速度不是限制,并且精度上的每一小部分百分比都很重要的场景,例如离线医学影像分析。
结论
尽管 YOLOv9 为学术界引入了 PGI 和 GELAN 等引人入胜的概念,但 Ultralytics YOLO11 作为构建 AI 产品的卓越实用选择脱颖而出。它在速度、准确性、多功能性和易用性方面的无与伦比的结合,使其成为现代 computer vision 的首选模型。凭借强大的生态系统和为效率而设计,YOLO11 使开发人员能够自信地从概念走向部署。
探索其他模型
如果您对进一步比较感兴趣,可以探索 Ultralytics 库中的其他这些高性能模型:
- YOLOv10: 实时端到端目标 detect。
- YOLOv8: 是YOLO11的前身,目前仍广泛应用于生产中。
- RT-DETR: 一种基于 Transformer 的 detector,为拥有丰富 GPU 环境的用户提供高精度。