YOLOv7 对比 DAMO-YOLO:详细技术比较
选择最佳的物体检测架构是计算机视觉开发中的一个关键决策,它需要平衡推理延迟、准确性和计算资源分配之间的竞争需求。本技术分析对比了YOLOv7 和YOLO-YOLO,它们是 2022 年底发布的两个具有影响力的模型,推动了实时检测的发展。我们研究了它们独特的架构创新、基准性能以及对各种部署场景的适用性,以帮助您在选择过程中游刃有余。
YOLOv7: 优化训练以实现实时精度
YOLOv7 标志着 YOLO 家族的一次重大演进,它优先考虑架构效率和先进的训练策略,以在不增加推理成本的情况下提升性能。由 Scaled-YOLOv4 的原作者开发,它引入了使网络在训练阶段更有效学习的方法。
作者:王建尧、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采用了“可训练的免费包”,这是一系列在训练数据处理期间应用的优化技术,它们在部署期间不影响模型的结构。这些技术包括模型重参数化和用于深度监督的辅助头,确保骨干网络捕获鲁棒特征。
免费包
“免费赠品包”(bag-of-freebies)一词指的是那些通过增加训练复杂性来提高准确性,但在实时推理期间不产生任何额外成本的方法。这种理念确保最终导出的模型保持轻量级。
优势与劣势
YOLOv7 因其在MS COCO基准测试中出色的平衡性而备受赞誉,以其模型规模提供了高平均精度均值(mAP)。它的主要优势在于精度至关重要的高分辨率任务。然而,该架构的复杂性可能使其难以针对定制研究进行修改。此外,虽然推理效率高,但训练过程资源密集,与较新的架构相比需要大量的 GPU 内存。
DAMO-YOLO:面向边缘设备的神经网络架构搜索
DAMO-YOLO 源自阿里巴巴研究团队,通过利用 神经架构搜索 (NAS) 采取了不同的方法,以自动发现为低延迟环境量身定制的高效网络结构。
作者: 徐贤哲、蒋一奇、陈卫华、黄一伦、张远、孙秀宇
机构:阿里巴巴集团
日期: 2022-11-23
预印本:https://arxiv.org/abs/2211.15444
GitHub:https://github.com/tinyvision/DAMO-YOLO
架构创新
DAMO-YOLO 引入了 MAE-NAS,这是一种生成名为 GiraffeNet 的主干网络的方法,可在特定延迟约束下最大化吞吐量。与此相辅相成的是 ZeroHead,这是一个轻量级的 detect 头,它解耦了分类和回归任务,同时移除了大量参数,显著减小了模型尺寸。该架构还利用了名为 RepGFPN(广义特征金字塔网络)的高效颈部网络进行多尺度特征融合,并使用 AlignedOTA 进行标签分配,将分类分数与定位准确性对齐。
优势与劣势
DAMO-YOLO 在 边缘 AI 场景中表现出色。其较小变体(Tiny/Small)提供惊人的速度,使其适用于移动设备和物联网应用。NAS 的使用确保了架构在数学上为效率进行了优化。然而,最大的 DAMO-YOLO 模型在纯准确性方面有时落后于最高级别的 YOLOv7 模型。此外,作为一个以研究为中心的项目,它缺乏更广泛框架中普遍存在的广泛生态系统和工具支持。
性能指标比较
下表突出了性能权衡。YOLOv7 通常以更高的计算复杂度 (FLOPs) 为代价实现更高的准确性 (mAP),而 DAMO-YOLO 则优先考虑速度和参数效率,尤其是在其较小的配置中。
| 模型 | 尺寸 (像素) | 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 |
| 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 |
真实世界的应用
在这些模型之间进行选择通常取决于部署硬件和所需的具体 计算机视觉任务。
- 高端安全与分析 (YOLOv7):对于在强大服务器上运行且每个百分点的精度都至关重要的应用,例如安全警报系统或详细的交通管理,YOLOv7 是一个强有力的候选者。其解析微小细节的能力使其适用于在高分辨率视频流中检测小目标。
- 边缘设备与机器人 (DAMO-YOLO): 在具有严格延迟预算的场景中,例如 自主机器人 或移动应用,DAMO-YOLO 的轻量级架构表现出色。低参数数量减少了内存带宽压力,这对于执行 object detect 的电池供电设备至关重要。
Ultralytics 优势:为何现代化?
尽管 YOLOv7 和 DAMO-YOLO 是有能力的模型,但 AI 领域发展迅速。寻求面向未来、高效且用户友好的解决方案的开发者和研究人员应考虑Ultralytics 生态系统,特别是YOLO11。升级到现代 Ultralytics 模型提供了几个明显的优势:
1. 简化的易用性
Ultralytics 模型优先考虑开发者体验。与通常需要复杂环境设置和手动脚本执行的研究仓库不同,Ultralytics 提供统一的 Python API 和 CLI。您只需几行代码即可训练、验证和部署模型。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("path/to/image.jpg")
2. 全面的通用性
YOLOv7和DAMO-YOLO主要设计用于边界框检测。相比之下,YOLO11在同一框架内原生支持广泛的任务,包括实例分割、姿势估计、旋转框检测 (OBB)和图像分类。这使您无需切换库即可解决复杂问题,例如分析运动中的人体姿势。
3. 出色的性能和效率
YOLO11 基于多年的研发积累,实现了最先进的精度,同时显著降低了计算开销。它采用无锚点检测头和优化的后端操作,从而在训练和推理过程中降低了内存使用,与旧版 YOLO 或基于 Transformer 的模型(如 RT-DETR)相比。这种效率转化为更低的云计算成本和更快的边缘硬件处理速度。
4. 强大的生态系统和支持
采用 Ultralytics 模型,您将连接到一个蓬勃发展、维护良好的生态系统。凭借频繁的更新、详尽的文档和活跃的社区渠道,您永远不会陷入调试不受支持代码的困境。此外,与 Ultralytics HUB 等工具的无缝集成,有助于轻松实现模型部署和数据集管理。
结论
YOLOv7 和 DAMO-YOLO 在2022年都对目标 detect 领域做出了重大贡献。YOLOv7 展示了可训练优化技术如何提高精度,而 DAMO-YOLO 则展示了神经架构搜索在创建高效、适用于边缘的模型方面的强大能力。
然而,对于当今的生产环境而言,YOLO11 代表了视觉AI技术的巅峰。通过结合DAMO-YOLO的速度、YOLOv7的精度以及Ultralytics框架无与伦比的可用性,YOLO11 提供了一个多功能解决方案,可加速开发周期并提高应用程序性能。无论您是构建智慧城市基础设施还是优化制造质量控制,Ultralytics 模型都提供了成功所需的可靠性和效率。
探索其他模型
如果您对探索计算机视觉领域的其他选项感兴趣,可以考虑这些模型:
- Ultralytics YOLOv8: YOLO11 的前身,以其稳健性和广泛的行业应用而闻名。
- YOLOv10:一种实时 detect 器,专注于无 NMS 训练,以减少延迟。
- YOLOv9: 引入可编程梯度信息 (PGI) 以减少深度网络中的信息丢失。
- RT-DETR: 一种基于Transformer的检测器,可提供高精度,但通常需要更多的GPU内存。
- YOLOv6:另一种专注于效率的模型,针对工业应用进行了优化。