YOLOv7 与YOLO11:从实时传统到最先进的效率
要想在计算机视觉模型领域中游刃有余,就必须了解成熟架构与最新技术(SOTA)创新之间的细微差别。本指南对YOLO (YOLO 系列的一个重要里程碑)和 Ultralytics YOLO11之间进行了全面的技术比较。
我们将探讨它们的架构差异、基准指标和实际应用,以帮助开发人员和研究人员为从物体检测到复杂实例分割等任务选择最佳工具。
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)。该架构通过控制最短和最长梯度路径,使模型能够学习更多不同的特征,从而增强训练过程中的收敛性。此外,它还采用了 "可训练的免费样本袋",这是一套优化策略,如模型重新参数化和动态标签分配,可在不增加推理成本的情况下提高准确性。
虽然YOLOv7 主要是一个物体检测模型,但开源社区也探索过将其扩展用于姿势估计 。然而,这些实现往往缺乏统一框架中的无缝集成。
优势与局限
YOLOv7 因其:
- 性能稳定:它在COCO 数据集上表现出色,一经发布就为实时探测器确立了新的基准。
- 架构创新:E-ELAN 的推出影响了随后的网络设计研究。
然而,它在现代工作流程中面临着挑战:
- 复杂性:与现代标准相比,培训管道可能非常复杂,需要大量的手动配置。
- 功能有限:它无法直接支持分类或定向边界框(旋转框检测)等任务。
- 资源使用:训练较大的变体,如 YOLOv7x,需要大量的 GPU内存,这可能成为硬件有限的研究人员的瓶颈。
Ultralytics YOLO11:重新定义速度、精度和易用性
Ultralytics YOLO11是著名的YOLO 系列的最新发展,其设计旨在为各种计算机视觉任务提供 SOTA 性能。YOLO11 以不断改进的传统为基础,提供了完善的架构,最大限度地提高了实际部署的效率。
作者: Glenn Jocher 和 Jing QiuGlenn Jocher 和 Jing Qiu
组织机构:Ultralytics
日期:2024-09-27
GitHubultralytics
文档yolo11
先进的结构和多功能性
YOLO11 采用了现代化的主干网,利用 C3k2 块和增强型 SPPF 模块更有效地捕捉各种尺度的特征。这种设计使模型不仅更加精确,而且在参数和FLOPs方面也明显少于前代产品和竞争对手。
YOLO11 的一个显著特点是支持本地多任务。在一个框架内,用户可以执行
- 检测用边界框识别物体
- 分割:像素级屏蔽,用于精确的形状分析。
- 分类:为整个图像分配类别标签。
- 姿势估计检测人体上的关键点。
- 旋转框检测:检测旋转物体,这对航空图像至关重要。
统一生态系统
Ultralytics YOLO11 与Ultralytics HUB 无缝集成,后者是一个数据集管理、无代码培训和一键部署平台。这种集成大大加快了MLOps的生命周期。
开发人员为何选择YOLO11
- 易于使用: YOLO11 采用以用户为中心的设计,只需几行Python 代码或通过简单的 CLI.
- 维护良好的生态系统:在活跃的社区和Ultralytics 团队的支持下,该模型经常接受更新,确保与最新的 PyTorch版本和硬件加速器的兼容性。
- 性能平衡:它在推理速度和平均精度(mAP)之间实现了出色的平衡,是边缘设备和云服务器的理想选择。
- 内存效率:与老式架构或transformer模型相比,YOLO11 模型在训练过程中所需的CUDA 内存通常较少,因此可以在较小的硬件上进行较大批量的训练。
性能比较:技术基准
下表说明了YOLOv7 和YOLO11 之间的性能差异。这些数据凸显了现代优化技术如何使YOLO11 以极低的计算成本实现更高的精度。
| 模型 | 尺寸 (像素) | 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
分析:
- 效率:YOLO11m 的精度与 YOLOv7l 相当(51.5 对 51.4mAP),而使用的参数(20.1M 对 36.9M)几乎只有 YOLOv7l 的一半,FLOPs 也少得多。
- 速度:对于实时应用,YOLO11n 的速度大大提高,在 T4GPU 上的运行时间仅为 1.5ms,非常适合高帧频视频处理。
- 准确性:最大的模型 YOLO11x 在精确度上超过了 YOLOv7x(54.7 对 53.1mAP),同时仍保持了有竞争力的参数数量。
实际应用案例
农业与环境监测
在精准农业领域,检测作物病害或监控生长需要能在无人机或田间传感器等功率有限的设备上运行的模型。
- YOLO11:其轻量级架构(特别是 YOLO11n/s)可部署在Raspberry Pi NVIDIA Jetson 设备上,实现实时作物健康监测。
- YOLOv7:虽然准确,但较高的计算需求限制了其在电池供电的边缘设备上的应用。
智能制造和质量控制
自动视觉检测系统需要高精度来detect 生产线上的微小缺陷。
- YOLO11:模型进行细分和旋转框检测的能力 旋转框检测在这里至关重要。例如,旋转框检测 对于检测传送带上的旋转部件至关重要,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 脚本进行训练和推理。
结论:明显的赢家
虽然 YOLOv7仍然是计算机视觉史上一个值得尊敬的模型、 Ultralytics YOLO11代表着未来。对于开发人员和研究人员来说,YOLO11 提供了一个引人注目的软件包:
- 卓越的指标:更高的mAP 和更快的推理速度。
- 丰富的生态系统:访问Ultralytics HUB、广泛的文档和社区支持。
- 多功能性:用于检测、分割、姿势估计、分类和旋转框检测单一框架。
- 面向未来:持续更新和维护确保与新的硬件和软件库兼容。
对于任何新项目,利用 YOLO11 的高效和易用性 YOLO11的效率和易用性,是以最少的摩擦实现最先进成果的推荐途径。
探索其他模型
如果您对进一步的比较感兴趣,请浏览文档中的相关页面: