RTDETRv2 与YOLOv6.0:满足工业速度要求的高精度变压器
选择最佳物体检测架构通常需要在绝对精度和推理延迟之间权衡利弊。本技术比较探讨了RTDETRv2 和YOLOv6.0,前者是专为高精度任务设计的Transformer视觉Transformer的模型,后者是专为工业速度和效率设计的基于 CNN 的检测器。通过分析它们的架构、性能指标和部署特点,我们可以帮助您确定计算机视觉应用的最佳解决方案。
RTDETRv2:用视觉变压器突破界限
RTDETRv2(Real-Time DetectionTransformer v2)是物体检测领域的一次重大革新,它利用变换器的强大功能捕捉图像中的全局背景。与处理局部特征的传统 CNN 不同,RTDETRv2 利用自我注意机制来理解远处物体之间的关系,因此对复杂场景非常有效。
作者:Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, and Yi Liu
组织:百度
日期:2023-04-17 (Initial), 2024-07-24 (v2)
Arxiv:RT-DETR: DETRs Beat YOLOs on Real-time Object Detection
GitHub:RT-DETR Repository
文档:RTDETRv2 文档
建筑创新
RTDETRv2 的架构是一种混合设计。它采用标准CNN 主干网(通常为 ResNet 或 HGNet)进行初始特征提取,然后是transformer 编码器-解码器。这种结构使模型能够有效处理多尺度特征,同时无需手工制作锚点框和非最大抑制(NMS)等组件。
Transformer 优势
RTDETRv2 中的视觉Transformer (ViT)组件擅长解决拥挤场景中的模糊问题。通过同时分析整个图像背景,该模型减少了因遮挡或背景杂乱造成的误报。
优势与劣势
优势:
- 卓越的准确性:在 COCO 等数据集上通常能达到更高的平均精度 (mAP)COCO等数据集上取得更高的平均精度(mAP)。
- 无锚设计:去除锚点框,减少超参数调整,从而简化检测流程。
- 全局背景:擅长在密集或混乱的环境中检测物体,因为这些环境中的局部特征并不充分。
弱点:
- 计算成本:需要更高的FLOP和GPU 内存,尤其是在训练期间。
- 延迟:虽然 "实时",但在同等硬件条件下,它的原始推理速度通常落后于经过优化的 CNN(如YOLOv6 )。
- 数据饥饿: Transformer 模型通常需要更大的训练数据集和更长的训练时间才能收敛。
YOLOv6.0:工业加速器
由美团开发的YOLOv6.0 专注于工业应用的需求:低延迟和高吞吐量。它改进了经典的单级对象检测器模式,最大限度地提高了从边缘设备到 GPU 等硬件的效率。
作者:李楚一、李露露、耿一飞、蒋洪亮、程萌、张博、柯在丹、徐晓明、储祥祥李楚怡、李璐璐、耿一飞、蒋洪亮、程萌、张博、柯在丹、徐晓明、储祥祥
机构:美团网
日期:2023-01-13
Arxiv:YOLOv6 v3.0:
GitHub:YOLOv6 Repository
Docs:Ultralytics YOLOv6 Docs
优化效率
YOLOv6.0 采用了 "硬件感知 "设计理念。它采用高效的重参数化骨干网(RepVGG-style),在推理过程中将网络简化为简单的 3x3 卷积堆栈,消除了多分支的复杂性。此外,它还在训练过程中采用了自馏分技术,在不增加推理成本的情况下提高了准确性。
优势与劣势
优势:
- 超凡速度:延迟极低,是高速生产线和机器人的理想之选。
- 便于部署:重新参数化的结构可轻松导出为以下格式 ONNX和 TensorRT等格式,以实现最高性能。
- 硬件效率:经过优化,可充分利用GPU 计算单元,最大限度地减少空闲时间。
弱点:
性能分析:速度与精度
在 RTDETRv2 和YOLOv6.0 之间做出选择,往往取决于部署环境的具体限制。RTDETRv2 在要求尽可能高精度的场景中占主导地位,而YOLOv6.0 则在原始速度和效率方面胜出。
下表对关键指标进行了对比。请注意,YOLOv6.0 在类似的模型规模下实现了更低的延迟(更快的速度),而 RTDETRv2 则以计算强度(FLOPs)为代价追求更高的mAP 分数。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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.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 需要大量GPU VRAM。训练 "大型 "或 "X-大型 "变体通常需要高端企业级 GPU。相比之下,Ultralytics YOLO 模型和YOLOv6 通常更节省内存,可以在消费级硬件或较小的云实例上进行训练。
- 收敛性: Transformer模型通常需要更长的时间来学习空间层次,而 CNN 可以直观地捕捉到空间层次,这可能会增加云计算成本。
理想的平衡:Ultralytics 的优势
而 RTDETRv2 和YOLOv6.0 则在各自的领域表现出色、 Ultralytics YOLO11提供了一个统一的解决方案,解决了两者的局限性。它将 CNN 的易用性和速度与可与transformer 精度相媲美的架构改进相结合。
为什么开发人员和研究人员越来越青睐Ultralytics 模型?
- 多功能性:与YOLOv6 严格意义上的检测不同,Ultralytics 可在单个 API 中支持图像分类、分割、姿势估计 和定向边框(旋转框检测)检测。
- 维护良好的生态系统: Ultralytics 平台提供频繁的更新、广泛的社区支持以及与MLflow、TensorBoard 和Ultralytics HUB 等工具的无缝集成。
- 易于使用:秉承 "低代码 "理念,只需几行Python 或CLI 命令,您就能训练、验证和部署最先进的模型。
- 性能平衡: YOLO11 实现了实时推理速度和高精度的完美结合,性能往往优于旧版YOLO ,在实际应用中可与复杂的变压器相匹配。
代码示例
体验Ultralytics API 的简易性。下面的示例演示了如何加载预训练模型并在图像上运行推理:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model (n=nano, s=small, m=medium, l=large, x=xlarge)
model = YOLO("yolo11n.pt")
# Run inference on a local image
results = model("path/to/image.jpg")
# Process results
for result in results:
result.show() # Display results on screen
result.save(filename="result.jpg") # Save results to disk
结论
RTDETRv2 和YOLOv6.0 都是计算机视觉史上令人印象深刻的里程碑。RTDETRv2是不计计算成本、以准确性为绝对优先考虑的研究和应用场景的绝佳选择。YOLOv6.0为工业领域提供了很好的服务,为受控环境提供了极快的速度。
然而,现实世界中的大多数应用都需要功能强大、用途广泛且易于部署的解决方案、 Ultralytics YOLO11是最佳选择。它结合了领先的性能、低内存占用和蓬勃发展的生态系统,使开发人员能够自信而迅速地从原型转向生产。
探索其他模型
了解不同架构的比较,找到最适合您项目的架构: