跳转至内容

YOLOv7 与YOLOv6.0:综合技术比较

在快速发展的计算机视觉领域,选择正确的物体检测模型对于项目的成功至关重要。YOLOv7 和YOLOv6.0 是塑造该领域的两个重要框架。虽然两者都共享YOLO (只看一次)的血统,但在架构理念和优化目标上却有很大的不同。

本指南对这两种模式进行了深入的技术分析,比较了它们的架构、性能指标和理想的部署方案。我们还探讨了现代替代方案,如 Ultralytics YOLO11等现代替代方案如何将这些前辈的最佳功能整合到一个统一、用户友好的生态系统中。

YOLOv7:精确架构

YOLOv72022 年 7 月发布的YOLO 代表了YOLO 系列的重大转变,它优先考虑架构创新,在不牺牲实时推理能力的前提下最大限度地提高准确性。其设计目的是突破COCO 数据集基准的极限。

作者:王建尧、Alexey Bochkovskiy、廖鸿源Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao
组织:台湾中央研究院信息科学研究所
日期:2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Docs:ultralytics

主要建筑特点

YOLOv7 引入了 "可训练的免费样本袋",这是一套在不增加推理成本的情况下提高准确性的优化方法。

  • E-ELAN(扩展高效层聚合网络):这种架构通过控制最短和最长梯度路径来提高网络的学习能力。它通过扩大计算块的万有引力,使模型能够学习到更多不同的特征。
  • 模型缩放: YOLOv7 采用复合缩放技术,可同时修改深度和宽度,确保不同尺寸的模型(从 Tiny 到 E6E)都能获得最佳性能。
  • 辅助头训练:该模型在训练过程中使用辅助头提供深度监督,然后在推理过程中剥离。这可以提高深度学习模型的收敛性。

优势与劣势

YOLOv7 以其高平均精度(mAP)而闻名,尤其是在小物体和遮挡物体上。对于精度要求极高的研究和应用场景来说,它是一个极佳的选择。然而,与精简的工业模型相比,其复杂的架构(主要依赖于基于连接的图层)可能会在训练过程中导致更高的内存消耗。

了解有关YOLOv7的更多信息

YOLOv6.0:专为工业速度而设计

YOLOv6.0 由美团视觉计算部门开发,重点关注实际工业应用。YOLOv6-3.0 将于 2023 年初发布,它优先考虑推理速度和硬件效率,是边缘计算的理想选择。

作者李楚怡、李璐璐、耿一飞、蒋洪亮、程萌、张博、柯在丹、徐晓明、储祥祥
组织机构:美团美团网
日期:2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHubYOLOv6
Docsultralytics

主要建筑特点

YOLOv6.0 的独特之处在于其硬件感知设计,特别针对GPU 和CPU 吞吐量进行了优化。

  • RepVGG 主干网:该模型采用重新参数化(RepVGG)模块。在训练过程中,该模型采用多分支拓扑结构以获得更好的学习效果,并在推理时将其数学融合为单分支结构。这使得在NVIDIA Jetson 等硬件上的执行速度更快。
  • 解耦头:早期的YOLO 版本共享分类和定位功能,而YOLOv6 则不同,它使用了一个解耦头。这种分离提高了收敛速度和检测精度。
  • 便于量化:架构设计便于模型量化(如 INT8),这对于在资源有限的设备上部署至关重要。

优势与劣势

YOLOv6.0 在原始吞吐量方面表现出色。对于以毫秒为单位的工业自动化生产线或机器人技术而言,其优化的推理图是一大优势。不过,它主要侧重于检测,缺乏YOLO11 等后期迭代产品的本地多任务多功能性。

了解有关YOLOv6.0 的更多信息

性能对比

下表说明了两种模式之间的权衡。一般来说,YOLOv6.0 在类似精度等级的情况下速度更快,而YOLOv7 则提高了检测精度的上限。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.0l64052.8-8.9559.6150.7

结果分析

  • 速度与精度: YOLOv6.0n 的速度极快,在 T4 GPU 上实现了 1.17ms 的推理速度,是高速视频分析的理想选择。
  • 峰值精度:YOLOv7x 实现了更高的 mAP(53.1%),与YOLOv6.0l (52.8%)相比,显示了其在检测困难示例方面的优势。
  • 计算效率: YOLOv6 利用更少的FLOP达到了相当的性能水平,验证了其 "EfficientRep "设计理念。

部署考虑因素

虽然基准测试提供了一个基线,但实际性能在很大程度上取决于部署硬件。YOLOv6 的重参数化在 GPU 上表现出色,而YOLOv7 基于串联的架构非常强大,但可能会占用大量内存带宽。

Ultralytics 的优势:超越比较

虽然YOLOv7 和YOLOv6.0 代表了计算机视觉历史上的重大成就,但该领域的发展速度非常快。对于寻求可持续的、面向未来的解决方案的开发人员来说、 Ultralytics YOLO11提供了一个全面的生态系统,超越了单个模型架构的局限性。

为什么选择 Ultralytics YOLO11?

  1. 无与伦比的易用性:许多开源模型需要复杂的资源库克隆和环境设置,而Ultralytics 模型则不同,只需简单的 pip 安装即可访问。Python API设计直观,只需几行代码就能完成训练和推理。
  2. 性能平衡: YOLO11 以YOLOv6 和YOLOv7 的架构经验为基础,采用了经过改进的架构,在保持实时应用所需的推理速度的同时,实现了最先进的准确性。
  3. 多功能性: Ultralytics 生态系统的最大优势之一是支持多种任务。YOLOv6 和YOLOv7 主要侧重于检测,而YOLO11 原生支持实例分割姿势估计 分类定向对象检测(旋转框检测)。
  4. 训练效率: Ultralytics 模型经过优化,在训练过程中收敛速度更快,内存使用率更低。这种高效的资源管理允许在消费级 GPU 上进行训练,而不会像旧式transformer 或串联重型架构那样产生大量CUDA 内存开销。
  5. 维护良好的生态系统: Ultralytics 拥有频繁的更新、丰富的文档和活跃的社区,可确保您的项目与最新的PyTorch 版本和导出格式兼容,例如 ONNX、TensorRT 和CoreML 等导出格式兼容。

实施实例

使用Ultralytics 部署最先进的模型非常简单。下面介绍如何轻松实现对象检测:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Process results
for result in results:
    result.save(filename="output.jpg")  # save to disk

结论

YOLOv7 和YOLOv6.0 都服务于特定的利基市场:YOLOv7 用于高精度研究任务,YOLOv6.0 用于工业速度优化。不过,对于大多数开发人员和研究人员来说, Ultralytics YOLO11生态系统提供了最均衡、多功能和可维护的解决方案。Ultralytics 将高性能与卓越的用户体验和广泛的任务支持相结合,使用户能够专注于解决实际问题,而不是纠结于模型架构。

探索其他模型

如果您有兴趣在计算机视觉领域探索更多选择,请考虑这些比较:


评论