跳转至内容

YOLOv7 vs YOLO11:从实时遗留到最先进的效率

计算机视觉模型领域中探索,需要理解成熟架构与最新SOTA(State-of-the-Art)创新之间的细微差别。本指南对YOLO系列中的一个重要里程碑YOLOv7,以及为卓越性能和多功能性设计的尖端模型Ultralytics YOLO11进行了全面的技术比较。

我们将探讨它们的架构差异、基准指标和实际应用,以帮助开发者和研究人员为从目标 detect到复杂实例 segment等任务选择最佳工具。

YOLOv7:高效架构的基准

YOLOv7于2022年7月发布,代表了训练效率和推理速度平衡方面的一个重大飞跃。它的设计旨在通过专注于架构优化,在不牺牲准确性的前提下减少参数数量,从而超越以前的检测器。

作者:王建尧、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)。这种架构通过控制最短和最长梯度路径,使模型能够学习更多样化的特征,从而增强训练期间的收敛性。此外,它还利用了“可训练的免费包”,这是一组优化策略,如模型重参数化和动态标签分配,可在不增加推理成本的情况下提高精度。

虽然主要是一个目标 detect 模型,但开源社区已经探索将 YOLOv7 扩展用于 姿势估计。然而,这些实现通常缺乏统一框架中常见的无缝集成。

优势与局限性

YOLOv7 因其以下特点而备受推崇:

  • 卓越性能:它在发布时为实时检测器建立了新的基线,并在COCO 数据集上表现良好。
  • 架构创新: E-ELAN 的引入影响了后续的网络设计研究。

然而,它在现代工作流程中面临挑战:

  • 复杂性: 训练流程可能很复杂,相比于现代标准需要大量的手动配置。
  • 有限的通用性:它不原生支持 分类旋转框检测 (OBB) 等开箱即用的任务。
  • 资源使用:训练更大的变体,例如YOLOv7x,需要大量的GPU内存,这对于硬件受限的研究人员来说可能是一个瓶颈。

了解更多关于YOLOv7的信息。

Ultralytics YOLO11:重新定义速度、准确性和易用性

Ultralytics YOLO11 是著名的 YOLO 系列的最新演进,旨在为各种计算机视觉任务提供 SOTA 性能。YOLO11 建立在不断改进的传统之上,提供了一种精细的架构,可最大限度地提高实际部署的效率。

作者: Glenn Jocher and Jing Qiu
机构:Ultralytics
日期: 2024-09-27
GitHub:https://github.com/ultralytics/ultralytics
文档:https://docs.ultralytics.com/models/yolo11/

高级架构与多功能性

YOLO11 采用现代化的骨干网络,利用 C3k2 块和增强型 SPPF 模块,以更有效地捕获不同尺度的特征。这种设计使得模型不仅更准确,而且在参数和 FLOPs 方面比其前身和竞争对手显著更轻。

YOLO11 的一个显著特点是其原生多任务支持。在单一框架内,用户可以执行:

  • detect:使用边界框识别物体。
  • 分割:像素级掩码,用于精确的形状分析。
  • classify:将类别标签分配给整个图像。
  • 姿势估计:检测人体关键点。
  • 旋转框检测:检测旋转对象,对航空影像至关重要。

统一生态系统

Ultralytics YOLO11 与Ultralytics HUB无缝集成,Ultralytics HUB 是一个用于数据集管理、无代码训练和一键部署的平台。这种集成显著加速了MLOps生命周期。

为什么开发者选择YOLO11

  • 易用性: 凭借以用户为中心的设计,YOLO11 只需几行 python 代码或通过简单的 CLI 即可实现。
  • 完善的生态系统:在活跃社区和Ultralytics团队的支持下,该模型获得频繁更新,确保与最新的PyTorch版本和硬件加速器兼容。
  • 性能平衡: 它在推理速度平均精度 (mAP)之间实现了卓越的权衡,使其成为边缘设备和云服务器的理想选择。
  • 内存效率:YOLO11 模型在训练期间通常需要更少的 CUDA 内存,与旧架构或基于 Transformer 的模型相比,允许使用更大的批处理大小或在适度硬件上进行训练。

了解更多关于 YOLO11 的信息

性能比较:技术基准

下表展示了 YOLOv7 和 YOLO11 之间的性能差异。数据强调了现代优化如何使 YOLO11 以更低的计算成本实现卓越的准确性。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9

分析:

  • 效率: YOLO11m 在精度上与 YOLOv7l 相当(51.5 vs 51.4 mAP),同时使用的参数量几乎是 一半(20.1M vs 36.9M),并且 FLOPs 显著减少。
  • 速度: 对于实时应用,YOLO11n速度显著更快,在T4 GPU上达到1.5ms,非常适合高帧率视频处理。
  • 精度: 最大的模型 YOLO11x 在精度上超过了 YOLOv7x(54.7 vs 53.1 mAP),同时仍然保持了具有竞争力的参数数量。

实际应用案例

农业与环境监测

在精准农业中,检测作物病害或监测生长需要能够在功耗有限的设备(例如无人机或田间传感器)上运行的模型。

  • YOLO11:其轻量级架构(特别是YOLO11n/s)允许部署在树莓派或NVIDIA Jetson设备上,实现实时作物健康监测
  • YOLOv7:虽然准确,但较高的计算需求限制了其在电池供电的边缘设备上的应用。

智能制造与质量控制

自动化视觉检测系统需要高精度以检测生产线中的微小缺陷。

  • YOLO11:模型执行segment旋转框检测的能力在此至关重要。例如,旋转框检测对于检测传送带上的旋转部件至关重要,这是YOLO11原生支持的功能,但在YOLOv7中需要自定义实现。
  • YOLOv7:适用于标准边界框检测,但对复杂几何缺陷的适应性较差,无需进行重大修改。

监控与安全

安防系统通常同时处理多个视频流。

  • YOLO11:推理速度允许单个服务器并行处理更多数据流,从而降低基础设施成本。
  • YOLOv7:有效,但每帧延迟较高,减少了单台设备可处理的通道总数。

实现与训练效率

Ultralytics生态系统的一个突出特点是其流线型的开发者体验。下面是关于如何开始的比较。

代码简洁性

Ultralytics YOLO11 旨在提供“开箱即用”的体验,抽象化复杂的样板代码。

from ultralytics import YOLO

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

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

# Run inference on an image
results = model("path/to/image.jpg")

相比之下,较旧的存储库通常需要克隆仓库、手动调整配置文件,并运行复杂的 shell 脚本进行训练和推理。

导出灵活性

YOLO11 支持一键导出为多种部署格式,包括ONNXTensorRT、CoreML 和 TFLite。这种灵活性确保您的模型可以在任何环境中投入生产。

结论:显而易见的赢家

尽管YOLOv7在计算机视觉史上仍是一个值得尊敬的模型,但Ultralytics YOLO11代表着未来。对于开发者和研究人员而言,YOLO11提供了一个引人注目的软件包:

  1. 卓越的指标:更高的 mAP 和更快的推理速度。
  2. 丰富的生态系统:可访问Ultralytics HUB、详尽的文档和社区支持。
  3. 多功能性: 一个用于detect、segment、姿势估计、分类和obb的单一框架。
  4. 面向未来:持续更新和维护确保与新硬件和软件库的兼容性。

对于任何新项目,利用YOLO11的效率和易用性是实现最先进成果且摩擦最小的推荐途径。

探索其他模型

如果您对进一步比较感兴趣,请查阅文档中的这些相关页面:


评论