RT-DETRv2 与YOLOv10:物体检测技术比较
选择最佳物体检测模型需要在不断发展的架构中进行导航,在准确性、延迟和资源消耗之间进行权衡,以确定最适合特定应用的模式。本技术比较分析了 RT-DETRv2和 YOLOv10transformer技术比较。 YOLOv10是著名的YOLO 系列以效率为重点的演进。通过研究它们的架构创新、性能指标和部署特点,我们旨在引导开发人员选择满足其特定需求的理想解决方案。
RT-DETRv2:优化的视觉变压器
RT-DETRv2Transformer 是实时检测Transformer 系列的重要迭代产品,最初是为了挑战基于 CNN 的检测器的主导地位。该模型由百度的研究人员开发,采用了 "垃圾袋 "技术,在不增加推理成本的情况下提高了训练的稳定性和性能。
- 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
- 组织机构:百度
- 日期:2024-07-24
- Arxiv:https://arxiv.org/abs/2407.17140
- GitHub:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
结构和优势
RT-DETRv2 采用混合编码器和可扩展的视觉Transformer (ViT)骨干。与使用局部感受野处理图像的传统卷积神经网络(CNN)不同,transformer 架构利用自我注意机制捕捉全局背景。这使得该模型能够有效辨别远处物体之间的关系,并处理复杂的遮挡。v2 "改进的重点是优化动态查询选择,并引入灵活的训练策略,使用户能够在速度和准确性之间进行微调。
这种架构虽然有效,但本质上需要大量的计算资源。自我注意层虽然功能强大,但与纯粹基于 CNN 的替代方案相比,在训练和推理过程中会消耗更多内存。
YOLOv10:实时效率的标准
YOLOv10通过引入NMS 训练策略和以效率和准确性为导向的整体设计,YOLOv10 挑战了 "只看一次 "模式的极限。它由清华大学的研究人员专门设计,旨在最大限度地减少延迟,同时保持极具竞争力的检测性能。
- 作者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 组织机构: 清华大学清华大学
- 日期: 2024-05-23
- Arxiv:https://arxiv.org/abs/2405.14458
- GitHub:https://github.com/THU-MIG/yolov10
结构和优势
YOLOv10 的显著特点是通过一致的双重分配策略消除了非最大抑制(NMS)。传统的物体检测器通常会为单个物体预测多个边界框,这就需要对NMS 进行后处理,以过滤重复数据。这一步骤造成了推理延迟的瓶颈。YOLOv10 消除了这一要求,实现了真正的端到端部署。
此外,该架构还采用了空间信道解耦下采样和秩引导块设计,大大减少了参数数和 FLOP(浮点运算)。这使得YOLOv10 异常轻便,适合边缘人工智能设备等资源受限的环境。
NMS 推理
对于实时应用而言,移除NMS 可改变游戏规则。它降低了部署管道的复杂性,并确保无论场景中检测到多少物体,推理时间都是确定的。
性能分析
直接比较这两个型号、 YOLOv10在兼顾速度和准确性方面表现出更强的能力,尤其是在高端性能方面。虽然RT-DETRv2 提供了很好的结果,但YOLOv10 始终能实现更低的延迟,并需要更少的参数来获得相当或更好的mAP (平均精度)。
下表重点介绍了COCO 数据集的性能指标。值得注意的是,YOLOv10x在准确率(54.4% 对 54.3%)方面优于RT-DETRv2,同时速度明显更快(12.2ms 对 15.03ms),所需的参数也更少(56.9M 对 76M)。
| 模型 | 尺寸 (像素) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
速度与效率
YOLOv10 的架构效率在所有规模上都非常明显。Nano (n) 和 Small (s) 变体提供了适合移动 CPU和物联网设备的超快推理速度。例如,YOLOv10n 在 T4GPU 上的运行时间为 1.56ms,明显快于最小的RT-DETRv2 变体。
精度与计算
RT-DETRv2 利用其transformer 骨干网实现了高精度,尤其是在中小型模型中。然而,这样做的代价是FLOP和参数数量大幅增加。YOLOv10 有效地缩小了这一差距;较大的YOLOv10 模型在保持较低计算占用空间的同时,精度可媲美或超越其transformer 同类产品,使其更适用于各种硬件。
训练、可用性和生态系统
对于开发人员来说,最重要的区别在于培训和部署的便捷性。Ultralytics 生态系统提供了统一的界面,极大地简化了YOLOv10 等模型的操作。
易用性
训练RT-DETRv2 通常需要复杂的配置文件和针对transformer 架构的特定环境设置。相比之下,YOLOv10 直接集成到了Ultralytics Python API 中,用户只需几行代码即可开始训练、验证或推理。
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
内存要求
众所周知,RT-DETRv2 等Transformer模型是内存密集型的。自我注意机制与序列长度成二次方关系,导致训练过程中 VRAM 占用率很高。YOLOv10 采用优化的 CNN 架构,所需的CUDA 内存大幅减少,使用户能够训练更大的批次规模或使用更适中的硬件。
维护良好的生态系统
选择Ultralytics模型,可以确保访问一个强大的生态系统。这包括持续更新、丰富的文档资料,以及与Ultralytics HUB等 MLOps 工具和各种导出格式ONNX、TensorRT、CoreML)的无缝集成。这种支持结构对于高效地将项目从研究转向生产非常宝贵。
理想用例
RT-DETRv2
- 学术研究:非常适合研究transformer 在视觉任务中的能力,并与最先进的方法进行比对。
- 高端服务器部署:适用于硬件资源丰富,且transformer 注意图的具体特性对其有利的场景,如详细的医学图像分析。
YOLOv10
- 实时边缘人工智能:低延迟和小尺寸模型使其非常适合部署在NVIDIA Jetson或 Raspberry Pi 等边缘设备上执行交通管理等任务。
- 机器人: NMS 设计可提供自主机器人控制回路所需的确定性延迟。
- 商业应用:从零售分析到安全监控,在速度和准确性之间取得平衡,通过降低硬件成本实现投资回报率最大化。
结论
而 RT-DETRv2则展示了变压器在物体检测方面的潜力,其准确性令人印象深刻、 YOLOv10成为大多数实际应用中更实用、更通用的选择。Ultralytics 能够以更低的计算需求提供最先进的性能,再加上Ultralytics 生态系统提供的易用性,使其成为开发人员追求效率和可扩展性的卓越解决方案。
如果您想了解最新的计算机视觉技术,我们还推荐您了解 YOLO11,它进一步完善了架构,在更广泛的任务(包括分割和姿势估计 )中实现了更快的速度和更高的精度。
探索其他模型
通过这些额外的比较,拓宽您对物体检测领域的了解: