YOLOv6.0 与 RTDETRv2:平衡工业速度和Transformer 精度
选择最佳物体检测架构通常需要在推理延迟和检测精度之间做出权衡。本技术比较研究了应对这一挑战的两种不同方法:YOLOv6.0(美团为提高工业速度而设计的基于 CNN 的模型)和RTDETRv2(百度的视觉Transformer(ViT) 架构,旨在为实时应用提供transformer 精度)。
YOLOv6.0
作者李楚怡、李璐璐、耿一飞、蒋洪亮、程萌、张博、柯在丹、徐晓明、储祥祥
机构:美团网
日期:2023-01-13
Arxiv:YOLOv6 v3.0:A Full-Scale Reloading
GitHub:YOLOv6
Docs:Ultralytics YOLOv6 文档
YOLOv6.0 是单级探测器系列的重大演进,专为硬件效率至关重要的工业应用量身定制。它对架构进行了 "全面重装",纳入了先进的特征融合和训练策略,以最大限度地提高 GPU 的吞吐量。
架构和主要特性
YOLOv6.0 架构侧重于硬件友好型设计。它利用高效的重参数化骨干(RepBackbone),使模型在训练过程中具有复杂的特征提取能力,同时在推理过程中折叠成精简的结构。主要的架构创新包括
- 双向并集(BiC):颈部的一个模块,可提高特征融合的准确性,而不会带来严重的计算代价。
- 锚点辅助训练(AAT):在训练阶段结合基于锚和无锚范例的优势,以稳定收敛的策略。
- 自我扩展:该框架采用师生训练循环,模型从自身预测中学习,在不增加模型规模的情况下提高准确性。
优势
- 工业效率:该模型针对 TensorRT部署进行了明确优化,可在NVIDIA ®)图形处理器上提供极低的延迟。
- 边缘延迟低:通过特定的 "Lite "变体,它在移动CPU 设备上表现出色,适合手持式工业扫描仪。
- 支持量化:它具有强大的量化感知训练(QAT)支持功能,可防止在转换到 INT8 精度时出现明显的精度损失。
弱点
- 任务限制: YOLOv6 主要用于边界框检测。它缺乏对复杂任务的本机支持,如更多功能框架中的姿势估计 或定向边界旋转框检测)检测。
- 训练的复杂性:与标准的YOLO 模型相比,依赖自蒸发和专门的重新参数化步骤会使训练管道更加脆弱,更难定制。
理想用例
- 高速制造:在快速移动的传送带上进行缺陷检测,毫秒级延迟至关重要。
- 嵌入式机器人:在计算资源预算严格的NVIDIA Jetson等平台上的导航系统。
RTDETRv2
作者吕文宇、赵一安、常沁瑶、黄奎、王冠中、刘毅
组织机构:
日期:2023-04-17 (Original), 2024-07-24 (v2)
Arxiv:RT-DETRv2:使用免费赠品袋改进基线
GitHub:RT-DETR
文档:Ultralytics RT-DETR 文档
RTDETRv2(Real-Time DetectionTransformer v2)证明了变换器可以达到实时速度,从而挑战了 CNN 的主导地位。它建立在 DETR(检测Transformer)范例的基础上,但解决了通常与注意力机制相关的收敛速度慢和计算成本高的问题。
架构和主要特性
RTDETRv2 采用混合编码器,可高效处理多尺度特征。与平等处理所有图像片段的传统变换器不同,RTDETRv2 将注意力集中在管道早期的相关区域。
- 高效混合编码器:分离尺度内交互和跨尺度融合,减少计算开销。
- IoU查询选择:从编码器输出中选择高质量的初始对象查询,从而改进解码器的初始化并加快收敛速度。
- 无锚设计:无需进行非最大抑制NMS) 后处理,简化了部署管道,减少了拥挤场景中的延迟变化。
优势
- 全局上下文感知:与依赖局部感受野的 CNN 相比,自我注意机制能让模型同时 "看到 "整个图像,从而更好地检测出被遮挡的物体。
- 高精度上限:持续实现更高的 mAP得分。
- NMS:无NMS 使推理时间更具确定性,这对实时系统来说是一大优势。
弱点
- 内存强度:由于注意力矩阵的二次方复杂性,变形金刚在训练和推理过程中需要更多的VRAM(尽管 RTDETR 对此进行了优化)。
- 数据饥饿:与YOLOv6 等 CNN 相比,视觉转换器通常需要更大的数据集和更长的训练时间才能完全收敛。
理想用例
- 复杂交通场景:在经常出现遮挡的密集、混乱环境中检测行人和车辆。
- 自动驾驶:需要高可靠性感知的应用,在这些应用中,漏检的成本大于硬件要求稍高的成本。
性能对比
下表对比了YOLOv6.0 和 RTDETRv2 的性能。虽然 RTDETRv2 在准确性上更胜一筹,但YOLOv6.0 在原始推理速度上仍保持优势,尤其是在 "纳米 "尺度上。
| 模型 | 尺寸 (像素) | 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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
分析
- 速度与精度 字段
YOLOv6-3.0n的重量非常轻(推理时间仅为 1.17 毫秒),因此在硬件极其有限的情况下,它是无可争议的王者。但是,如果准确性是优先考虑的因素,那么RTDETRv2-s其mAP (48.1)明显高于YOLOv6-3.0s(45.0),尽管推理时间几乎是后者的两倍(5.03 毫秒对 2.66 毫秒)。 - 缩放行为: 随着模型尺寸的增加,差距也在缩小。
RTDETRv2-l(53.4mAP) 优于YOLOv6-3.0l(52.8mAP),而参数却更少(42M 对 59.6M),显示了transformer 架构的参数效率,尽管 FLOPs 仍不相上下。 - 硬件影响: YOLOv6 的优势在于其纯 CNN 结构,可直接映射到硬件加速器。RTDETRv2 需要能高效处理矩阵乘法和注意力运算的硬件,才能实现其理论速度。
部署考虑因素
在边缘设备上部署时,请记住 "参数 "并不总是与速度完全相关。虽然在某些配置中 RTDETRv2 的参数可能更少,但与YOLOv6 高度优化的卷积相比,其内存访问模式(注意力)在旧硬件上可能更慢。
训练方法
这两种模式的培训情况大相径庭,影响到开发所需的资源。
YOLOv6.0遵循 CNN 的标准深度学习实践。它得益于较短的训练时间表(通常为 300-400 个历元)和较低的GPU 内存消耗。自蒸发等技术由内部处理,但增加了损失函数计算的复杂度。
RTDETRv2 transformer,通常需要更多的 CUDA内存。注意力机制与图像大小相关的二次方复杂性意味着经常需要减少批次大小,或使用更强大的 GPU。此外,变换器通常需要更长的训练时间,才能在不产生归纳偏差的情况下充分学习空间关系。
Ultralytics 的优势
虽然YOLOv6 和 RTDETR 都为特定的利基市场提供了引人注目的功能、 Ultralytics YOLO11提供了一个统一的解决方案,兼顾了两者的优点。它将 CNN 的效率与可与transformer 精确度相媲美的现代架构完善性融为一体,所有这一切都在一个专为提高开发人员工作效率而设计的生态系统中实现。
为什么选择Ultralytics 模型?
- 易于使用: Ultralytics 提供的 Pythonic API 可以抽象化训练和部署的复杂性。只需三行代码,您就能训练出最先进的模型。
- 性能平衡: YOLO11 的设计旨在提供最佳权衡。它的实时推理速度可与YOLOv6 相媲美,同时达到了挑战 RTDETR 的精度水平,而且没有变压器的大量内存开销。
- 多功能性:与YOLOv6 (仅限检测)不同,Ultralytics 模型原生支持实例分割、姿势估计 、分类和定向边框检测(旋转框检测)。
- 维护良好的生态系统:通过频繁的更新、大量的文档和社区支持,您永远不会孤单地进行调试。
- 训练效率: Ultralytics 模型以其高效的训练管道而闻名,即使在硬件条件一般的情况下也能实现快速迭代。
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 with a single command
results = model("path/to/image.jpg")
结论
YOLOv6.0 和 RTDETRv2 都是计算机视觉领域令人印象深刻的成就。YOLOv6.0是严格意义上的工业流水线的务实之选,在这种流水线中,硬件是固定的,速度是唯一重要的指标。RTDETRv2是研究和高端应用的绝佳选择,在这些应用中,复杂场景中的精度至关重要,而且硬件资源丰富。
然而,对于现实世界中的绝大多数应用而言、 Ultralytics YOLO11仍然是最佳选择。它提供了性能、多功能性和易用性的 "甜蜜点",加速了从概念到生产的过程。无论您是需要进行快速实验的研究人员,还是需要在数千台边缘设备上进行部署的工程师,Ultralytics 生态系统都能为您提供确保成功的工具。
探索其他模型
如果您对进一步的比较感兴趣,请浏览Ultralytics 文档中的这些资源: