YOLOv7 与YOLOv7 的详细技术比较
为物体检测选择最佳架构是计算机视觉开发中的一项关键决策。这种选择往往需要在推理延迟和检测精度之间取得平衡,同时还要考虑部署硬件的限制。本技术比较研究了YOLO 和YOLOv7,这两个在 2022 年发布的具有影响力的模型推动了实时检测的发展。我们分析了它们的架构创新、基准性能和理想应用场景,以帮助您在选择模型的过程中游刃有余。
DAMO-YOLO:边缘效率神经架构搜索
YOLO 由阿里巴巴集团开发,专注于最大限度地提高工业应用的性能。它的与众不同之处在于采用了神经架构搜索(NAS)技术来自动设计主干网,确保实现最佳效率。
- 作者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang 和 Xiuyu Sun
- 组织机构阿里巴巴集团
- 日期: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- 文件:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
建筑创新
YOLO 引入了多项尖端技术,旨在减少计算开销,同时保持高精度:
- MAE-NAS 主干网(GiraffeNet):与传统的人工设计骨干网不同,DAMO-YOLO 采用了方法感知效率(MAE)NAS 方法。这就产生了名为 GiraffeNet 的骨干网系列,它能在各种硬件限制条件下,在浮点运算(FLOPs)和延迟之间进行出色的权衡。
- 高效 RepGFPN:该模型采用了经过重新参数化优化的广义特征金字塔网络(GFPN)。这种 "RepGFPN "可实现高效的多尺度特征融合,这对于检测不同大小的物体至关重要,而且不会产生与标准 FPN 相关的高计算成本。
- ZeroHead:新颖的 "ZeroHead "设计大大简化了检测头。通过解耦分类和回归任务以及去除复杂的特定层,它可在推理过程中将探测头的参数数量降至零,从而节省内存并提高速度。
- AlignedOTA:为了提高训练的稳定性和准确性,YOLO -YOLO 采用了 AlignedOTA 这种动态标签分配策略,以解决分类置信度和回归准确性之间的错位问题。
优势和用例
YOLO 在延迟至关重要的环境中表现出色。其较小的变体(Tiny/Small)尤其适用于边缘人工智能部署。
- 工业自动化:适用于毫秒级的高速装配线。
- 移动应用:参数数量少,适合在计算能力有限的智能手机上运行。
YOLOv7:优化实时精度
在YOLO 发布前不久发布的YOLOv7 为 5 FPS 至 160 FPS 范围内的一流性能设定了新基准。它重点优化了训练过程和梯度流,在不增加推理成本的情况下实现了更高的精度。
- 作者: Chien-Yao Wang、Alexey Bochkovskiy 和 Hong-Yuan Mark Liao
- 组织机构台湾中央研究院资讯科学研究所
- 日期: 2022-07-06
- Arxiv:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
- 文件:https://docs.ultralytics.com/models/yolov7/
建筑创新
YOLOv7 引入了 "bag-of-freebies "方法,可在不影响推理模型结构的情况下提高训练精度:
- E-ELAN(扩展高效层聚合网络):这种架构可控制最短和最长的梯度路径,让网络学习到更多不同的特征。它在不破坏原始梯度路径状态的情况下,提高了 "心率 "的学习能力。
- 基于串联模型的模型缩放: YOLOv7 提出了一种复合缩放方法,可同时缩放基于串联架构的深度和宽度,确保参数的最佳利用。
- 可训练的免费袋:使用计划重参数化和辅助头监督(从粗到细)等技术。这些技术可在训练过程中提高模型的鲁棒性和准确性,但在推理过程中会被合并或丢弃,从而保持模型的快速性。
优势和用例
YOLOv7 是通用对象检测的强大工具,在MSCOCO 等标准数据集上提供出色的平均精度 (mAP)。
- 智能城市监控:其高精度使其成为在复杂城市环境中检测行人和车辆的可靠工具。
- 自主系统:适用于需要在更远距离上进行可靠检测的机器人和无人机,因为更高分辨率的输入会带来更多益处。
性能对比
下表对比了YOLO 和YOLOv7 的性能。YOLO 的尺寸通常能实现更低的延迟(更高的速度),而YOLOv7 通常在准确性方面保持很高的声誉,尤其是在较大的配置中。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
数据表明,对于高度受限的环境,DAMO-YOLO提供了非常轻量级的解决方案(微小版本的参数为 8.5M)。但是 YOLOv7的 X 变体实现了 53.1% 的mAP,尽管计算成本更高。
架构权衡
YOLO 基于 NAS 的骨干网专门针对延迟进行了优化,而YOLOv7 的手动架构设计则侧重于梯度流效率。用户应该在自己的特定硬件上对两者进行基准测试,因为理论 FLOP 并不总是与实际推理速度完全相关。
Ultralytics 的优势:为什么要升级?
虽然YOLO 和YOLOv7 代表了计算机视觉历史上的重大成就,但该领域的发展日新月异。对于寻求最强大、最多功能和最易用解决方案的开发人员来说、 Ultralytics YOLO11和 YOLOv8是值得推荐的选择。
Ultralytics 模型不仅是研究成果,也是全面的生产工具。它们解决了人工智能部署中的 "最后一英里 "问题--可用性、集成和维护。
Ultralytics 的主要优势
- 易于使用:通过统一的Python API和CLI,您只需几行代码就能训练出最先进的模型。无需手动调整复杂的配置文件,也无需费力处理依赖关系。
- 维护良好的生态系统: Ultralytics 提供了一个蓬勃发展的生态系统,更新频繁,能快速识别和修复错误。通过广泛的文档和活跃的社区渠道,用户可以随时获得支持。
- 性能平衡:机型,如 YOLO11与YOLOv7 和YOLO 相比,利用先进的无锚检测头和优化的骨架实现了更高的精度速度比。
- 多功能性: Ultralytics YOLO 与通常仅限于检测的旧型号不同,它支持实例分割、姿势估计 、面向对象检测(旋转框检测)和开箱即用的分类。
- 训练效率:预先训练的权重和优化的数据加载器可确保更快的收敛速度,从而节省GPU 的工作时间和能源。
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Train on COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
结论
YOLO 和YOLOv7 各具特色。YOLO是边缘推理速度是主要限制因素的项目的有力候选方案,可利用 NAS 节省毫秒时间。 YOLOv7仍然是寻求高精度检测的研究人员的可靠选择。
不过,对于当今大多数商业和研究应用而言, Ultralytics YOLO生态系统提供了卓越的体验。Ultralytics 模型将最先进的性能与无与伦比的易用性和多功能性相结合,使开发人员能够专注于创造价值,而不是调试代码。无论您是部署到云服务器还是像NVIDIA Jetson 这样的边缘设备,Ultralytics 都能为您提供最简化的生产路径。
其他模型
如果您正在探索物体检测架构,您可能也会对这些模型感兴趣:
- Ultralytics YOLOv8:支持检测、分割和姿势估计 任务的多功能模型。
- Ultralytics YOLO11: YOLO 系列的最新产品,提供最先进的效率。
- RT-DETR: transformer实时检测器,可避免NMS 延迟。
- YOLOv9:具有可编程梯度信息 (PGI) 功能,可增强学习效果。
- YOLOv10:侧重于NMS 的端到端培训,以减少延迟。