YOLO 与 RTDETRv2:平衡速度和Transformer 精度
选择最佳对象检测架构通常需要在推理延迟和检测精度之间权衡利弊。本技术比较研究了阿里巴巴集团优化的高速Transformer YOLO 和百度的第二代实时检测Transformer RTDETRv2。我们分析了它们的架构创新、性能基准和部署适用性,以帮助您为计算机视觉应用做出明智的决策。
DAMO-YOLO:优化低延迟
YOLO 代表着 YOLO 在发展过程中迈出的重要一步。 YOLO架构发展的重要一步,其重点是在不严重影响准确性的前提下最大限度地提高速度。它由阿里巴巴集团开发,采用先进的神经架构搜索(NAS)技术来调整网络结构,以提高效率。
- 作者: Xianzhe Xu、Yiqi Jiang、Weihua Chen、Yilun Huang、Yuan Zhang 和 Xiuyu Sun
- 组织机构阿里巴巴集团
- 日期: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- 文件:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
建筑亮点
YOLO 集成了多项新技术,以简化检测流程:
- NAS 驱动的骨干网:该模型利用神经架构搜索(NAS)自动发现高效的主干结构(MAE-NAS)。这种方法可确保网络深度和宽度针对特定硬件限制进行优化。
- RepGFPN Neck:它采用了广义特征金字塔网络(GFPN)的高效版本,即 RepGFPN。该组件增强了不同尺度的特征融合,同时保持低延迟控制。
- ZeroHead:被称为 "ZeroHead "的简化磁头设计将分类和回归任务分离开来,减轻了最终预测层的计算负担。
- AlignedOTA:为了保证训练的稳定性,YOLO -YOLO 采用了 AlignedOTA(最优传输分配),这是一种标签分配策略,可对齐分类和回归目标以提高收敛性。
RTDETRv2:实时变压器的演变
RTDETRv2是在原RT-DETR 成功的基础上发展起来的。 transformer-基于变压器的物体检测器实现了实时性能。RTDETRv2 由百度开发,引入了 "免费赠品包",以提高训练的稳定性和准确性,而不会产生额外的推理成本。
- 作者: 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
- 文件:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
建筑亮点
RTDETRv2 充分利用了视觉变压器的优势,同时缓解了其传统的速度瓶颈:
- 混合编码器:该架构使用混合编码器高效处理多尺度特征,将尺度内交互和跨尺度融合解耦,以节省计算成本。
- IoU查询选择:该机制根据 "交集大于联合IoU)得分选择高质量的初始对象查询,从而加快训练收敛速度。
- 适应性强的配置:RTDETRv2 为解码器和查询选择提供了灵活的配置,允许用户根据特定的速度/精度要求调整模型。
- 无锚设计:与前代产品一样,它完全不需要锚点,因此在后处理过程中无需进行启发式锚点盒调整和非最大抑制NMS)。
技术比较:性能和效率
这两种型号的核心区别在于它们的架构根源--CNN 和Transformer这如何影响它们的性能曲线。
指标分析
下表概述了COCO 数据集的关键指标。虽然 RTDETRv2 在平均精度mAP) 方面占优势,但YOLO 的较小变体却显示出更高的吞吐量 (FPS),参数数量也更少。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
分析利弊权衡
YOLO适用于每毫秒都至关重要的环境,如高频工业分拣。其 "Tiny"(t)变体非常轻便。相反,RTDETRv2具有更高的精确度上限,因此更适用于遗漏物体至关重要的复杂场景,如自主导航或详细监控。
架构与实际应用
全局上下文与局部特征:与基于 CNN 的YOLO 相比,RTDETRv2 的transformer 关注机制能更好地理解全局上下文。这使得 RTDETRv2 在拥挤的场景中或物体被遮挡时具有更好的性能。但是,这种全局注意力的代价是更高的内存消耗和更慢的训练时间。
硬件优化: YOLO 基于 NAS 的骨干网针对GPU 推理进行了高度优化,实现了极低的延迟。RTDETRv2 虽然是实时的,但通常需要更强大的硬件才能达到YOLO探测器的帧速率。
Ultralytics 的优势:为什么选择 YOLO11?
YOLO 和 RTDETRv2 提供了专门的优势、 Ultralytics YOLO11是适用于绝大多数实际应用的最均衡、对开发人员最友好的解决方案。
卓越的开发人员体验和生态系统
YOLO 或 RTDETRv2 等学术模型面临的最大挑战之一就是集成。Ultralytics 凭借强大的生态系统解决了这一问题:
- 易于使用:通过统一的Python API 和CLI,您只需几行代码即可完成模型的训练、验证和部署。
- 维护良好的生态系统: Ultralytics 模型得到了积极的开发、广泛的文档和大型社区的支持。这确保了与最新硬件和软件库的兼容性。
- 训练效率:与 RTDETRv2 等transformer模型相比,YOLO11 的训练速度更快,所需的GPU 内存(VRAM)也更少。这使得即使在消费级硬件上也能实现高性能人工智能。
无与伦比的多功能性
YOLO 和 RTDETRv2 主要侧重于边界框检测,而YOLO11 则不同,它原生支持各种计算机视觉任务:
性能平衡
YOLO11 在许多基准测试中都达到了最先进的精度,甚至超过了 RTDETRv2,同时保持了YOLO 系列特有的推理速度和效率。
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
结论
在YOLO 和 RTDETRv2 之间做出选择取决于您的具体限制条件:
- 如果您的主要限制因素是延迟,并且您正在边缘设备上部署,而最小的参数数量是至关重要的,那么请选择 DAMO-YOLO。
- 如果您在复杂场景中需要尽可能高的精度,并且有足够的计算预算来支持transformer 架构,请选择 RTDETRv2。
然而,要想获得集高性能、易用性和多任务处理能力于一身的整体解决方案,就必须使用 Ultralytics、 Ultralytics YOLO11仍然是值得推荐的选择。它在训练过程中占用的内存更少,再加上成熟的生态系统,加快了从原型到生产的过程。
探索其他模型
要想进一步了解物体检测的全貌,请浏览这些比较: