跳转至内容

YOLOv9 vs.YOLOv7:深入了解物体检测的演变

计算机视觉领域的特点是快速创新,架构上的突破不断重新定义速度和精度的界限。YOLOv9 和YOLOv7 是这一历程中的两个重要里程碑。 这两个模型都源自王建尧及其同事的研究,代表了 "You Only Look Once "家族的不同世代。

虽然 YOLOv7于 2022 年发布,为实时目标检测设定了标准、 YOLOv9于 2024 年出现,它采用了新的机制来解决深度网络中的信息丢失问题。本比较探讨了它们的技术规格、架构差异和实际应用,以帮助开发人员根据自己的需求选择最佳模型。

性能指标和效率

从YOLOv7 到YOLOv9 的演变最明显地体现在计算成本和检测性能之间的权衡上。YOLOv9 带来了显著的效率提升,与前代产品相比,它能以更少的参数实现更高的平均精度(mAP)

例如,YOLOv9m模型实现了与YOLOv7l相同的 51.4%mAPval,但使用的参数(20.0M 对 36.9M)几乎只有YOLOv7l的一半,FLOP 也显著减少。这种效率使YOLOv9 对硬件资源有限的边缘人工智能应用特别有吸引力。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

YOLOv9:可编程渐变信息

YOLOv9 代表着深度神经网络处理层间数据传输的模式转变。它于 2024 年初发布,专门针对 "信息瓶颈 "问题,即数据在通过深度网络的连续层时丢失。

作者:王建尧、廖鸿源Chien-Yao Wang, Hong-Yuan Mark Liao
组织:中央研究院信息科学研究所
日期:2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
文档:Ultralytics YOLOv9

建筑创新

YOLOv9 的核心创新是引入了可编程梯度信息 (PGI)。PGI 提供了一个辅助监督框架,可确保梯度可靠地传播回初始层,从而保留在特征提取过程中可能丢失的重要输入信息。

通用高效层聚合网络(GELAN)是对 PGI 的补充。该架构允许开发人员灵活堆叠各种计算模块(如 CSP 或 ResBlocks),在不牺牲精度的情况下,针对特定硬件限制优化模型权重

优势与劣势

  • 优势:
    • 卓越的准确性:COCO 数据集上取得了最先进的结果,YOLOv9 模型的mAP 达到 55.6%。
    • 参数效率:使用更少的参数就能获得与旧模型相当的性能,从而减少推理过程中对内存的需求
    • 信息保存:梯度流的理论改进带来了更好的收敛性和特征表示。
  • 弱点:
    • 训练复杂性:与更简单的架构相比,训练期间使用的辅助分支(推理时移除)会增加GPU 在训练阶段的内存使用量。

了解有关YOLOv9的更多信息

YOLOv7:免费赠品袋标准

YOLOv9 之前、 YOLOv7是YOLO 系列的卫冕冠军。它引入了架构上的改进,重点是在不增加推理成本的情况下优化训练过程,这一概念被称为 "bag-of-freebies"。

作者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark LiaoChien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
Organization:中央研究院信息科学研究所
日期:2022-07-06
Arxiv:2207.02696
GitHub:WongKinYiu/yolov7
文档:Ultralytics YOLOv7

建筑概览

YOLOv7 引入了E-ELAN(扩展高效层聚合网络),通过控制最短和最长梯度路径来提高网络的学习能力。它还利用模型缩放技术,同时修改网络的深度和宽度,确保为不同的目标设备提供最佳架构

优势与劣势

  • 优势:
    • 经过验证的可靠性:经过数年的广泛社区使用和验证,使其成为传统系统的稳定选择。
    • 高速:专为在标准GPU 硬件上进行实时推理而优化。
  • 弱点:
    • 效率较低:需要更多参数和 FLOP,才能达到YOLOv9 或YOLOv9 等新型号的精度水平。 YOLO11等新型号的精度水平。
    • 工具陈旧:缺乏现代Ultralytics 生态系统中的一些本地集成和易用功能。

了解有关YOLOv7的更多信息

理想的使用案例和应用

在这两种模式之间做出选择,往往取决于部署环境的具体限制和任务所需的精确度

何时选择YOLOv9

YOLOv9 非常适合要求最高精度-效率比的场景。

  • 自主导航:自动驾驶汽车中,探测远距离的小物体至关重要。YOLOv9 保存信息的能力有助于识别远处的危险。
  • 医学影像:对于肿瘤检测等任务来说,漏检是至关重要的,而YOLOv9 的高召回率和准确率则非常有益。
  • 边缘设备: 字段 yolov9t 该变体为 物联网设备 如 Raspberry Pis,以最小的计算开销提供良好的精确度。

何时选择YOLOv7

YOLOv7 仍适用于已针对其架构进行优化的现有管道。

  • 传统系统:已对YOLOv7 进行质量控制验证的工业生产线可能更愿意保持一致性,而不是立即升级。
  • 研究基准:它是将新的检测策略与学术研究中的既定标准进行比较的绝佳基准。

利用Ultralytics实现性能平衡

虽然YOLOv9 和YOLOv7 功能强大,但希望在速度、准确性和开发人员体验之间取得最终平衡的开发人员应该考虑 Ultralytics YOLO11.YOLO11 将前几代产品的最佳功能与精简的应用程序接口整合在一起,在单一框架中支持检测、分割、姿势估计 和分类。

Ultralytics 的优势

与使用原始研究资料库相比,在Ultralytics 生态系统中使用这些模型具有明显的优势。Ultralytics Python 应用程序接口抽象了复杂的模板代码,使研究人员和工程师能够专注于数据和结果。

  1. 易于使用:统一的界面让您只需一行代码即可在YOLOv8、YOLOv9 和YOLO11 之间进行切换。
  2. 训练效率: Ultralytics 模型经过优化,收敛速度更快,通常只需要更少的训练数据就能达到很高的精度。
  3. 内存要求:该框架旨在最大限度地减少CUDA 内存使用量,与内存密集型硬件相比,它能在消费级硬件上进行更大批量的训练。 Transformer模型。
  4. 多功能性:除了简单的边界框,该生态系统还支持实例分割姿势估计 定向边界框(旋转框检测)任务,使其成为应对各种人工智能挑战的综合工具。

实施实例

使用Ultralytics 库可以直接运行这些模型。下面的代码片段演示了如何加载预训练模型并在图像上运行推理。

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)

# Process results
for result in results:
    result.show()  # Display predictions

对于那些有兴趣在自定义数据集上进行训练的人来说,利用框架内置的强大超参数调整数据增强策略,训练过程同样简单。

# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)

结论

YOLOv9 和YOLOv7 都代表了计算机视觉领域的重大成就。 YOLOv9通过其创新的 PGI 和 GELAN 体系结构提供了卓越的参数效率和准确性。对于希望从 Wang 等人的特定研究系列中获得高性能的用户来说,YOLOv9 是值得推荐的选择。

然而,对于寻求最全面的人工智能开发体验的开发人员来说,Ultralytics 是一个不错的选择、 Ultralytics YOLO11仍然是最值得推荐的。YOLO11 拥有积极的维护、丰富的文档以及对多模式任务的广泛支持,可确保您的项目面向未来并为生产做好准备。

探索其他模型

为了进一步拓宽您对物体检测领域的了解,请考虑探索这些相关模型并进行比较:


评论