YOLOv7 vs YOLOv9:详细技术对比
在为对象检测选择YOLO模型时,理解不同版本之间的细微差别至关重要。本页提供了YOLOv7和YOLOv9之间的详细技术比较,这两种YOLO系列中的重要模型由台湾中研院信息科学研究所的研究人员开发。我们将探讨它们的架构创新、性能基准以及对各种应用的适用性,以帮助您为您的下一个计算机视觉项目做出明智的决定。
YOLOv7:高效快速的目标检测
YOLOv7 于 2022 年 7 月发布,是一个具有里程碑意义的模型,旨在显著优化实时目标检测的速度和准确性,为当时的效率树立了新标准。
作者: Chien-Yao Wang, Alexey Bochkovskiy, 和 Hong-Yuan Mark Liao
组织: 台湾中研院资讯所
日期: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
文档: https://docs.ultralytics.com/models/yolov7/
架构和主要特性
YOLOv7的设计理念侧重于最大化推理速度,同时不影响准确性。它引入了多项关键架构元素和训练策略来实现这种平衡:
- 扩展高效层聚合网络 (E-ELAN): 作为backbone的核心组件,它通过更有效地管理特征聚合来增强网络的学习能力。正如研究论文中详细描述的那样,它允许模型学习更强大的特征,而不会显着增加计算成本。
- 复合模型缩放: YOLOv7 引入了用于模型深度和宽度的复合缩放方法,从而能够在各种模型尺寸上进行有效的优化,以适应不同的计算预算。
- 可训练的免费赠品(Trainable Bag-of-Freebies): 这个概念涉及在训练过程中加入各种优化技术,例如高级数据增强和标签分配策略。这些方法提高了最终模型的准确性,而不会增加推理成本。
优势与劣势
优势
- 推理速度快: 针对实时应用进行了优化,在某些硬件和批量大小配置中,YOLOv7 通常比许多后续模型提供更快的推理速度。
- 强大的性能: 它实现了具有竞争力的 mAP 分数,使其成为许多检测任务的可靠而强大的选择。
- 成熟模型: YOLOv7 已经推出一段时间,因此受益于更广泛的应用、丰富的社区资源以及大量经过验证的部署示例。
弱点
- 较低的峰值精度: 与更新的YOLOv9相比,YOLOv7可能表现出略低的最高精度,尤其是在具有许多小型或重叠对象的复杂场景中。
- 基于 Anchor 的检测: 它依赖于预定义的 anchor 框,对于检测具有不寻常或高度变化纵横比的对象,有时可能不如无 anchor 方法灵活。
应用案例
对于推理速度是最关键因素的应用,YOLOv7 非常适合:
YOLOv9:用于增强准确性的可编程梯度信息
YOLOv9 于 2024 年 2 月推出,它代表着架构上的重大演进,直接解决了深度神经网络中的信息丢失问题,从而大幅提高了准确性。
作者: Chien-Yao Wang 和 Hong-Yuan Mark Liao
组织: 台湾中研院资讯所
日期: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
文档: https://docs.ultralytics.com/models/yolov9/
架构和主要特性
YOLOv9 引入了旨在改善网络信息流的新概念,从而实现更有效的学习和更高的准确性。
- 可编程梯度信息(PGI): 这是YOLOv9的基石创新。PGI通过辅助可逆分支生成可靠的梯度,从而解决深度网络中固有的信息瓶颈问题。这确保了关键信息被保留下来,以便在更深层中进行更新,从而防止丢失准确检测所需的关键细节。
- 广义高效层聚合网络 (GELAN): GELAN 建立在 CSPNet(用于 YOLOv5)等架构的成功基础上,是一种新型的高效网络架构。它优化了参数利用率和计算效率,使 YOLOv9 能够以更少的资源实现更好的性能。
优势与劣势
优势
- 增强的准确性: PGI和GELAN的结合实现了卓越的特征提取,并相比YOLOv7获得了显著更高的mAP分数,这在更大的模型变体中尤为明显。
- 效率提升: YOLOv9 以更少的参数和计算量实现了比以前的模型更好的精度。对于给定的精度水平,YOLOv9 通常比 YOLOv7 更有效。
- 顶尖创新: 它代表了原始 YOLO 研究谱系中的最新进展,突破了实时目标检测领域可能性的界限。
弱点
- 计算需求: 虽然 YOLOv9 在精度方面表现出色,但其先进的架构,尤其是在像 YOLOv9e 这样更大的变体中,仍然可能需要大量的计算资源来进行训练和部署。
- 较新的模型: 作为一个较新的版本,社区支持和第三方部署教程可能不如像 YOLOv7 这样成熟的模型那么广泛。但是,它集成到 Ultralytics 生态系统中,通过提供简化的用户体验来帮助缓解这个问题。
应用案例
对于需要最高级别精度和效率的应用,YOLOv9 是理想的选择:
性能与效率的正面比较
直接比较YOLOv7和YOLOv9时,一个明显的趋势是:YOLOv9在准确性和计算成本之间提供了更优越的权衡。例如,YOLOv9m模型实现了与YOLOv7l相同的51.4% mAP,但使用的参数几乎减少了一半(20.0M vs. 36.9M),FLOPs也更少。类似地,YOLOv9c提供了与YOLOv7x相当的性能(53.0% vs. 53.1% mAP),同时效率更高,仅使用25.3M参数,而YOLOv7x为71.3M。这种效率的提高是YOLOv9架构改进的直接结果,特别是PGI和GELAN,它们能够实现更有效的学习。
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
YOLOv9t | 640 | 38.3 | - | 2.30 | 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 |
结论与建议
YOLOv7 和 YOLOv9 都是强大的目标检测模型,但它们满足的需求略有不同。
-
YOLOv7 仍然是一个强大的竞争者,尤其是在原始推理速度至关重要并且首选已建立的、广泛支持的架构的应用中。对于许多实时系统来说,它是一个经过验证的主力。
-
YOLOv9 是清晰的继任者,也是需要最先进的精度和效率的新项目的推荐选择。其创新的架构解决了深度学习中的关键问题,从而产生了一个比其前身更准确且计算效率更高的模型。
虽然这两个模型都很出色,但寻求更集成和通用的解决方案的开发人员还应考虑 Ultralytics 生态系统中的模型,例如Ultralytics YOLOv8和最新的YOLO11。这些模型提供简化的用户体验、广泛的文档,并支持检测之外的各种任务,包括实例分割、姿势估计和分类,所有这些都在一个维护良好的框架内完成。
探索其他模型
如需进一步比较和探索其他最先进的模型,请查看Ultralytics文档中的以下页面:
- YOLOv5:以其性能平衡和广泛采用而闻名。
- YOLOv8:一种通用且功能强大的模型,支持多种视觉任务。
- YOLOv10:通过消除对NMS的需求,专注于实时端到端目标检测。
- YOLO11:Ultralytics 的最新最先进模型,提供顶级的性能和效率。
- RT-DETR:一种基于 Transformer 的检测器,提供不同的架构方法。