YOLOv6.0 与YOLOv7:深入了解工业速度和精度
选择最佳物体检测模型是一项关键决策,它取决于推理速度、准确性和计算效率之间的平衡。本技术比较探讨了YOLOv6.0 和YOLOv6 之间的区别。 YOLOv7之间的区别。通过分析它们的架构、基准和理想用例,开发人员可以确定哪种解决方案最适合他们的特定部署限制。
YOLOv6.0:专为提高工业效率而设计
YOLOv6.0代表着YOLO 系列的重大演进,专为对实时速度和硬件效率要求极高的工业应用量身定制。该版本由美团公司开发,重点优化了延迟和精度之间的权衡,使其成为边缘计算和高吞吐量环境的有力选择。
作者:李楚一、李露露、耿一飞、蒋洪亮、程萌、张博、柯在丹、徐晓明、储祥祥李楚怡、李露露、耿一飞、蒋洪亮、程萌、张博、柯在丹、徐晓明、储祥祥
机构:美团网
日期:2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHubYOLOv6
Docsultralytics
架构和主要特性
YOLOv6.0 的架构是围绕硬件感知设计的概念构建的。它采用了可重新参数化的骨干网(EfficientRep),允许模型在训练期间利用复杂的结构进行更好的特征学习,同时在推理期间折叠成更简单、更快速的结构。这项技术大大降低了内存访问成本,改善了推理延迟。
主要的建筑创新包括
- 双向串联 (BiC):该模块通过加强特征传播来提高定位精度。
- 锚辅助训练 (AAT):一种结合了有锚和无锚探测器优点的策略,可稳定训练并提高性能。
- 自我改进: YOLOv6.0 采用了自改进技术,学生模型可从教师模型的预测中学习,从而提高准确性,而无需外部大型模型。
优势与劣势
YOLOv6.0 的主要优势在于其推理速度。基准测试表明,较小的变体(如YOLOv6.0n)在GPU 硬件上的运行速度非常快,是必须处理高帧率的视频分析流水线的理想选择。此外,该模型支持模型量化,有利于在资源有限的硬件上部署。
然而,YOLOv6 的早期版本主要局限于对象检测,缺乏更全面的框架所具有的本地多功能性,这些框架支持分割或姿势估计 开箱即用的姿势估计 。此外,虽然效率很高,但生态系统支持并不像其他社区驱动项目那样广泛。
理想用例
YOLOv6.0 在以下场景中表现出色:
- 生产线:需要在传送带上进行高速缺陷检测的地方。
- 零售分析:用于计算资源有限的排队管理和库存跟踪。
- 嵌入式系统:部署到NVIDIA Jetson 系列等设备上。
YOLOv7:优化可培训的免费购物袋
YOLOv7YOLOv7 采用了一种不同的方法,主要侧重于架构改革,以便在不增加推理成本的情况下最大限度地提高准确性。作者引入了 "可训练的无用包"--在训练过程中提高模型性能但不改变推理架构或速度的优化方法。
作者:王建尧、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 数据集上取得了令人印象深刻的平均精度 (mAP)分数。它有效地弥补了实时限制与高保真检测需求之间的差距。
缺点是,与简单的架构相比,复杂的架构和辅助头的使用会使训练过程更加耗费内存。虽然在推理过程中效率很高,但训练阶段需要大量GPU 内存,尤其是对于较大的 "E6E "变体。
理想用例
YOLOv7 尤其适用于:
- 详细监控:在复杂的监控录像中识别小物体或细微动作。
- 自动驾驶:精度对安全和导航至关重要。
- 科学研究:需要高AP 指标的应用,如医学成像或生物调查。
性能比较:指标与分析
下表对比了YOLOv6.0 和YOLOv7 变体在COCO 验证数据集上的性能。它强调了模型大小、计算负荷(FLOPs)和速度之间的权衡。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
解读基准
虽然YOLOv7x实现了最高的准确率(53.1%mAP),但它需要的参数(71.3M)和 FLOPs(189.9B)要多得多。相比之下,YOLOv6.0n为极速而优化,在 T4GPU 上实现了1.17 毫秒的推理速度,这使它比最大的YOLOv7 变体快了大约 10 倍,尽管准确率较低。
数据显示了明显的区别:YOLOv6.0 在低延迟环境中占主导地位,而YOLOv7 则在优先考虑最高检测质量和硬件资源更充足的情况下更胜一筹。
Ultralytics 的优势:超越原始指标
虽然YOLOv6 和YOLOv7 提供了强大的功能,但计算机视觉领域正在迅速发展。开发人员和研究人员需要一个面向未来的、多功能的、用户友好的解决方案、 Ultralytics YOLO11和 YOLOv8具有超越原始基准的显著优势。
易用性和生态系统
采用先进人工智能模型的最大障碍之一是实施的复杂性。Ultralytics 模型以其简化的用户体验而闻名。通过简单的Python API和CLI,用户只需几行代码就能训练、验证和部署模型。这与往往需要复杂环境设置和配置调整的研究型资源库形成了鲜明对比。
from ultralytics import YOLO
# Load a model (YOLO11n recommended for speed/accuracy balance)
model = YOLO("yolo11n.pt")
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
适用于各种任务
早期的YOLO 版本主要用于检测,与此不同,Ultralytics 模型天生就是多模态的。单一框架支持
性能平衡与效率
Ultralytics 模型,如 YOLO11等超级分析模型的设计目的是在速度和准确性之间实现最佳平衡。它们通常能达到比YOLOv7 更高的mAP ,同时保持与YOLOv6 等高效架构相关的推理速度。此外,Ultralytics 模型专为提高训练效率而设计,与transformer模型(如RT-DETR)相比,只需较少的GPU 内存使用量,从而加快了实验周期,降低了云计算成本。
维护良好的生态系统
选择Ultralytics 模型意味着购买一个支持的生态系统。这包括
结论
YOLOv6.0 和YOLOv7 都为计算机视觉领域做出了重大贡献。YOLOv6.0是需要超快推理和量化支持的工业应用的首选。 YOLOv7仍然是检测精度至关重要且硬件限制灵活的应用场景的有力竞争者。
然而,要想获得集一流性能、无与伦比的易用性、多功能性和部署灵活性于一身的整体解决方案,就必须具备以下条件、 Ultralytics YOLO11是现代人工智能开发的最佳选择。无论您是部署到边缘还是在云中扩展,Ultralytics 生态系统都能为您提供成功所需的工具。
如需了解更多信息,请参阅我们对YOLOX的比较或查看 RT-DETRtransformer检测功能。