RTDETRv2 与YOLOv7:详细技术比较
在实时物体检测领域,卷积神经网络(CNN)和新兴的视觉转换器(ViT)之间的竞争十分激烈。在这一演变过程中,RTDETRv2(实时检测Transformer v2)和YOLOv7是两个重要的里程碑。 YOLOv7(版本 7)。YOLOv7 代表了高效 CNN 架构优化的顶峰,而 RTDETRv2 则引入了转换器的强大功能,从而消除了对非最大抑制NMS) 等后处理步骤的需求。
本比较探讨了两种模型的技术规格、架构差异和性能指标,以帮助开发人员为其计算机视觉应用选择合适的工具。
性能指标:准确性与速度
下表是关键性能指标的直接比较。RTDETRv2-x以更高的mAP 显示出更高的准确性,这主要归功于其transformer全局上下文理解能力。但是 YOLOv7仍然具有竞争力,尤其是在需要在不同硬件上实现轻量化和均衡推理速度的情况下。
| 模型 | 尺寸 (像素) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
RTDETRv2:Transformer 方法
RTDETRv2 建立在原始RT-DETR 成功的基础上,是第一个在实时速度上真正能与YOLO 模型相媲美的transformer检测器。RTDETRv2 由百度研究人员开发,解决了标准 DETR 架构中与多尺度交互相关的计算瓶颈。
- 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
- 组织机构:百度
- 日期: 2023-04-17
- Arxiv:https://arxiv.org/abs/2304.08069
- GitHub:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
主要建筑特点
RTDETRv2 采用混合编码器,通过解耦尺度内交互和跨尺度融合,高效处理多尺度特征。与标准转换器相比,这种设计大大降低了计算成本。它的一个突出特点是具有IoU的查询选择功能,可以改进对象查询的初始化,从而实现更快的收敛和更高的准确性。与基于 CNN 的模型不同,RTDETRv2 不需要NMS,这意味着它不需要非最大抑制后处理,从而简化了部署管道并减少了延迟抖动。
Transformer 优势
RTDETRv2 架构的主要优势在于其捕捉全局上下文的能力。CNN 观察的是局部感受野,而转换器中的自我注意机制允许模型在检测物体时考虑整个图像上下文,这有利于解决有遮挡的复杂场景中的模糊问题。
YOLOv7:CNN 峰会
YOLOv7 挑战了卷积神经网络的极限。它侧重于优化训练过程和模型架构,以实现 "bag-of-freebies"--即在不增加推理成本的情况下提高准确性的方法。
- 作者: Chien-Yao Wang、Alexey Bochkovskiy 和 Hong-Yuan Mark Liao
- 组织机构中央研究院信息科学研究所
- 日期: 2022-07-06
- Arxiv:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
主要建筑特点
YOLOv7 引入了E-ELAN(扩展高效层聚合网络),通过控制梯度路径长度来增强网络的学习能力。它还采用了模型重参数化技术,即在训练时将模型结构变得复杂以提高学习效率,而在推理时则将其简化以提高速度。这使得YOLOv7 能够在GPU 设备上保持高性能,同时与transformer 模型相比保持相对较低的参数。
对比分析
结构和多功能性
其根本区别在于主干和头部设计。YOLOv7 依赖于深度 CNN 结构,这些结构针对 CUDA加速进行了高度优化,但在处理图像中的远距离依赖关系时可能会遇到困难。RTDETRv2 则利用注意力机制来理解远距离像素之间的关系,使其在杂乱的环境中也能保持稳定。不过,这样做的代价是在训练过程中消耗更多内存。
Ultralytics ,如 YOLO11Ultralytics 模型(如 YOLO11)提供了一种基于 CNN 的架构,集成了现代的类注意力模块,既有 CNN 的速度,又有通常用于变压器的精度,从而弥补了这一差距。此外,RTDETRv2 主要是一个对象检测器,而较新的Ultralytics 模型则支持实例分割、姿势估计 和原生分类。
培训和易用性
与YOLOv7 等 CNN 相比,RTDETRv2 等transformer 模型的训练通常需要大量GPU 内存和更长的训练历时才能收敛。
对于寻求 培训效率 和 易用性因此,Ultralytics 生态系统具有明显的优势。凭借 ultralytics 通过Python 软件包,用户只需几行代码就能训练、验证和部署模型,并访问一套针对不同任务的预训练权重。
from ultralytics import RTDETR, YOLO
# Load an Ultralytics YOLOv7-style model (if available) or YOLO11
model_yolo = YOLO("yolo11n.pt") # Recommended for best performance
model_yolo.train(data="coco8.yaml", epochs=10)
# Load RT-DETR for comparison
model_rtdetr = RTDETR("rtdetr-l.pt")
model_rtdetr.predict("asset.jpg")
部署和生态系统
由于年代久远,YOLOv7 得到了广泛支持,但与现代 MLOps 管道的集成可能需要手动操作。RTDETRv2 较新,得到的支持也越来越多。相比之下 Ultralytics模型受益于维护良好的生态系统,包括无缝导出到 ONNX、TensorRT 和CoreML,并与Ultralytics HUB等工具集成,用于云训练和数据集管理。
理想用例
- 在以下情况下选择 RTDETRv2您有充足的GPU 内存,并且在NMS 传统上无法解决的严重遮挡或拥挤场景中需要高精度。它是研究和高端监控系统的绝佳选择。
- 在以下情况下选择YOLOv7 您需要在标准GPU 硬件上高效运行、经过验证的传统 CNN 架构,以完成通用检测任务。
- 如果您有以下需求,请选择Ultralytics YOLO11 :您需要兼顾速度和准确性的最佳性能、较低的内存要求,以及能够进行检测、分割和姿势估计 多功能模型。它是重视简化工作流程和大量文件的开发人员的理想选择。
为什么要升级到YOLO11?
虽然YOLOv7 和 RTDETRv2 功能强大、 YOLO11代表了视觉人工智能的最新发展。与变压器相比,它所需的CUDA 内存更少,训练速度更快,并能在从边缘设备到云服务器等更广泛的硬件上提供最先进的精度。
结论
RTDETRv2 和YOLOv7 都塑造了计算机视觉的发展方向。RTDETRv2 成功地挑战了 "变换器对于实时应用来说速度太慢 "的观点,而YOLOv7 则展示了 CNN 的持久效率。然而,对于当今世界的大多数实际应用来说 Ultralytics YOLO11模型提供了卓越的开发者体验,它将这些前代产品的最佳特性与现代化的支持性生态系统相结合。
探索其他比较
为了进一步了解模型的情况,请进行这些比较: