YOLOv6.0 与YOLO-YOLO:物体检测技术比较
对于工程师和研究人员来说,选择合适的计算机视觉架构是一项关键决策。物体检测领域竞争激烈,行业巨头不断挑战速度和精度的极限。本页将对美团的高硬件效率机型YOLOv6.0 和阿里巴巴集团的技术架构YOLO 进行全面的技术比较。
YOLOv6.0 概览
YOLOv6.0是专为工业应用定制的强大框架。该框架由美团的视觉人工智能部门发布,它将实际效率放在首位,目的是在制造和自动化领域的标准硬件限制条件下提供高性能。
- 作者: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
- 组织机构美团
- 日期: 2023-01-13
- Arxiv:YOLOv6 v3.0:全面重装
- GitHub:YOLOv6
- 文档:Ultralytics YOLOv6 文档
架构与关键创新
YOLOv6.0 以重新参数化为重点,完善了单级检测器范式。这种技术允许模型在训练期间具有复杂的结构,以获得更好的学习效果,但在推理期间则会折叠成更简单、更快速的结构。
- EfficientRep 主干网:骨干网针对不同的模型大小使用不同的区块(EfficientRep 用于小型模型,CSPStackRep 用于大型模型),优化了GPU 硬件能力的利用。
- Rep-PAN 颈部:颈部采用 Rep-PAN 拓扑,在保持较高推理速度的同时加强了特征融合。
- 自我发散:一种关键的训练方法,即模型从自身的预测(具体来说,是同一网络中的教师分支)中学习,以提高准确性,而无需在部署过程中另设教师模型的计算成本。
工业优化
YOLOv6 在设计时明确考虑了量化问题。它的架构对训练后量化(PTQ)和量化感知训练(QAT)非常友好,因此非常适合部署在边缘设备上,在这些设备上,INT8精度是速度的首选。
DAMO-YOLO 概述
由阿里巴巴集团开发的YOLO 引入了一系列新技术,以优化性能和延迟之间的权衡。它与众不同之处在于采用了神经架构搜索(NAS)和先进的特征融合技术。
- 作者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang 和 Xiuyu Sun
- 组织机构阿里巴巴集团
- 日期: 2022-11-23
- Arxiv:DAMO-YOLO:实时物体检测设计报告
- GitHub:YOLO
- 文档YOLO GitHub README
架构与关键创新
YOLO 摆脱了纯手工制作的架构,部分依靠自动搜索策略来寻找高效的结构。
- 由 NAS 驱动的主干网(MazeNet):骨干网是利用 MAE-NAS(神经架构搜索)生成的,其结构称为 MazeNet,针对不同的计算预算进行了高度优化。
- 高效 RepGFPN:它利用广义特征金字塔网络(GFPN)与重参数化相结合。这样就能实现丰富的多尺度特征融合,这对检测各种尺寸的物体至关重要。
- ZeroHead:简化的探测头设计,减少了网络最后阶段的参数数量和计算复杂度。
- AlignedOTA:一种动态标签分配策略,可解决训练过程中分类和回归任务之间的不匹配问题。
高级功能融合
YOLO 中的RepGFPN颈部结构在处理具有重叠对象的复杂场景时尤为有效。与标准 FPN 结构相比,RepGFPN 颈允许在不同尺度级别之间跳转连接,从而更好地保留了语义信息。
性能分析:速度 vs. 准确性
以下比较采用COCO val2017 数据集的数据。这些指标突出了两种模型在不同尺度上的权衡。
| 模型 | 尺寸 (像素) | 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 |
| 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 |
主要内容
- 延迟领先:YOLOv6.0n是本次比较中速度最快的型号,在 T4GPU 上的延迟为 1.17 毫秒。这使其非常适合实时推理场景中的高 FPS 要求。
- 精确度峰值:YOLOv6.0l实现了最高的精确度,其 mAP 值为 0.1。 mAP达到了最高精度,mAP 为 52.8,证明了其重骨干和自蒸馏策略的有效性,不过与YOLO 相比,代价是更高的参数和 FLOP。
- 效率甜点:DAMO-YOLOs的精度(46.0 对 45.0mAP)超过了YOLOv6.0s,而参数数量(16.3M 对 18.5M)却更少。这凸显了 NAS 搜索骨干网在小型模型系统中的效率。
- 参数效率:一般来说,DAMO-YOLO 模型的 FLOP 和参数数量较低,但在中大型范围内的精度相当,这验证了 ZeroHead 设计的有效性。
Ultralytics 的优势
而YOLOv6.0 和YOLO 则为特定的利基市场提供了引人注目的功能、 Ultralytics YOLO11为现代人工智能开发提供了更全面的解决方案。选择Ultralytics 模型,就能开启一个旨在简化整个机器学习生命周期的综合生态系统。
为什么选择Ultralytics YOLO?
- 无与伦比的易用性 与通常需要复杂环境设置和编译自定义 C++ 操作符的研究资源库不同,Ultralytics 模型可以通过简单的
pip install ultralytics.直观 Python API 只需几行代码就能训练和部署模型。 - 性能平衡: YOLO11 的设计在推理速度和准确性之间实现了最佳平衡,在实际基准测试中经常超越竞争对手,同时在训练过程中保持较低的内存需求。
- 任务多样性: YOLOv6 和YOLO 主要是对象检测器,而Ultralytics YOLO 则原生支持多种任务,包括实例分割、姿势估计 、分类和定向边框(旋转框检测)检测。
- 维护良好的生态系统: Ultralytics 通过Discord和 GitHub 提供频繁更新、丰富文档和社区支持的动态生态系统。这确保您的项目面向未来,并与最新的硬件和软件库兼容。
- 部署灵活:将训练好的模型轻松导出为各种格式,如 ONNX、TensorRT、CoreML 和OpenVINO 等多种格式,便于在从云服务器到Raspberry Pi设备等各种设备上部署。
示例:使用YOLO11运行物体检测
有了Ultralytics,开始使用最先进的检测技术非常简单:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
结论
YOLOv6.0和YOLO都是物体检测技术发展的重要里程碑。YOLOv6.0 在对原始速度和量化支持要求极高的工业环境中表现出色,尤其是其 Nano 变体。YOLO 展示了神经架构搜索和创新特征融合的强大功能,在中小型模型范围内提供了高效率和高精度。
然而,对于寻求生产就绪解决方案的开发人员来说,这种解决方案既能提供最先进的性能,又具有多功能性和易用性、 Ultralytics YOLO11仍然是值得推荐的选择。其强大的生态系统、多任务功能以及与现代 MLOps 工作流程的无缝集成,为确保项目成功提供了显著优势。
探索其他模型
为了拓宽您对物体检测领域的了解,请考虑探索这些相关的模型比较: