跳转至内容

YOLOv7 对比 YOLOv6-3.0:全面技术比较

在快速发展的计算机视觉领域,选择合适的物体 detect 模型对于项目成功至关重要。塑造了该领域的两个重要框架是 YOLOv7 和 YOLOv6-3.0。尽管两者都源自 YOLO (You Only Look Once) 系列,但它们在架构理念和优化目标上存在显著差异。

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

YOLOv7: 准确性架构

于 2022 年 7 月发布的YOLOv7代表了 YOLO 系列的一次重大转变,它优先考虑架构创新,以最大限度地提高准确性,同时不牺牲实时推理能力。它的设计旨在突破COCO dataset基准的界限。

作者:王建尧、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-3.0:专为工业速度而设计

YOLOv6-3.0 由美团的视觉计算部门开发,非常注重实际的工业应用。它于 2023 年初发布,优先考虑推理速度和硬件效率,使其成为边缘计算的有力候选者。

作者: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
机构: 美团
日期: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHub:https://github.com/meituan/YOLOv6
文档:https://docs.ultralytics.com/models/yolov6/

主要架构特性

YOLOv6-3.0 以其硬件感知设计而著称,专门针对 GPU 和 CPU 吞吐量进行优化。

  • RepVGG 主干网络:该模型利用重参数化 (RepVGG) 模块。在训练期间,模型具有多分支拓扑结构以实现更好的学习,在推理时被数学融合为单分支结构。这使得在 NVIDIA Jetson 等硬件上执行更快。
  • 解耦头:与早期共享分类和定位特征的YOLO版本不同,YOLOv6 使用解耦头。这种分离提高了收敛速度和 detect 精度。
  • 量化友好:该架构设计为对模型量化(例如INT8)友好,这对于在资源受限设备上部署至关重要。

优势与劣势

YOLOv6-3.0在原始吞吐量方面表现出色。对于工业自动化生产线或机器人技术而言,毫秒必争,其优化的推理图是一个显著优势。然而,它主要侧重于detect,缺乏YOLO11等后续迭代版本中原生的多任务通用性。

了解更多关于YOLOv6-3.0的信息。

性能对比

下表展示了这两种模型之间的权衡。YOLOv6-3.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-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

结果分析

  • 速度与精度: YOLOv6-3.0n在极致速度方面表现突出,在T4 GPU上实现了1.17ms的推理时间,使其成为高速视频分析的理想选择。
  • 峰值精度:YOLOv7x实现了比YOLOv6-3.0l(52.8%)更高的mAP(53.1%),展示了其在detect困难样本方面的优势。
  • 计算效率:YOLOv6 在可比性能水平下使用更少的 FLOPs,验证了其“EfficientRep”设计理念。

部署考量

尽管基准测试提供了基线,但实际性能在很大程度上取决于部署硬件。YOLOv6 的重参数化在 GPU 上表现出色,而 YOLOv7 基于拼接的架构虽然稳健,但可能对内存带宽要求很高。

Ultralytics 优势:超越比较

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

为什么选择 Ultralytics YOLO11?

  1. 无与伦比的易用性: 与许多需要复杂代码库克隆和环境设置的开源模型不同,Ultralytics 模型可以通过简单的 pip install 访问。Python API 设计直观,只需几行代码即可进行训练和推理。
  2. 性能平衡: YOLO11借鉴了YOLOv6和YOLOv7的架构经验。它采用了一种精炼的架构,实现了最先进的精度,同时保持了实时应用所需的推理速度。
  3. 多功能性:Ultralytics 生态系统最强大的优势之一是支持多任务。虽然 YOLOv6 和 YOLOv7 主要专注于 detect,但 YOLO11 原生支持实例分割姿势估计分类旋转目标检测 (OBB)
  4. 训练效率:Ultralytics 模型针对训练期间的更快收敛和更低内存使用进行了优化。这种高效的资源管理使得在消费级 GPU 上进行训练成为可能,而无需承担通常与旧版 Transformer 或大量拼接架构相关的巨大 CUDA 内存开销。
  5. 良好维护的生态系统:凭借频繁的更新、详尽的 文档 和充满活力的社区,Ultralytics 确保您的项目与最新的 PyTorch 版本以及 ONNX、TensorRT 和 CoreML 等导出格式保持兼容。

实现示例

使用 Ultralytics 部署最先进的模型简单明了。以下是您如何轻松实现对象 detect 的方法:

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-3.0 各自服务于特定领域:YOLOv7 用于高精度研究任务,YOLOv6-3.0 用于工业速度优化。然而,对于大多数开发者和研究人员而言,Ultralytics YOLO11 生态系统提供了最平衡、通用且可维护的解决方案。通过将高性能与卓越的用户体验和广泛的任务支持相结合,Ultralytics 使S用户能够专注于解决实际问题,而不是纠结于模型架构。

探索其他模型

如果您对探索计算机视觉领域的更多选项感兴趣,可以参考这些比较:


评论