lyuwenyu/RT-DETR

[CVPR 2024] Official RT-DETR (RTDETR paddle pytorch), Real-Time DEtection TRansformer, DETRs Beat YOLOs on Real-time Object Detection. 🔥 🔥 🔥

🎯 什么是 RT‑DETR

RT‑DETR(实时检测 Transformer)是一个开源的物体检测模型家族实现,结合了 DETR(检测 Transformer)架构并专注于 实时速度。作者表明,通过正确的设计选择,DETR 风格的检测器可以在现代 GPU 上以每秒数百帧的速度运行,同时性能超越传统的 YOLO 类模型。


🚀 主要亮点

特性 详情
两个代码库 原始 RT‑DETR 和新版本 RT‑DETRv2 在 PyTorchPaddlePaddle 中均有实现。
模型库 提供多种骨干网络尺寸(R18, R34, R50‑m, R50, R101, HGNetv2‑L/X),并在 COCO 和 Objects365 上提供预训练权重。
速度 / 准确率 示例:RT‑DETR‑R18 在 COCO 上达到 46.5 AP(63.8 AP@50),在 NVIDIA T4 上使用 TensorRT FP16 实现 217 FPS。更大模型在速度略有下降的情况下换取更高的 AP(最高达 56.2 AP)。
实时优化技巧 “免费技巧”如更优的数据增强、小物体的切片推理,以及对 ONNX/TensorRT/OpenVINO 部署的支持。
可扩展性 支持 Torch‑hub 入口、Hugging‑Face Transformers 集成,以及用于参数/FLOP 分析的性能分析脚本(run_profile.py)。
视觉基础模型(VFM)增强 最新的 RT‑DETRv4(链接自仓库)利用 VFM 提升性能,且不增加额外推理延迟。
许可证 Apache 2.0(见 README 中的徽章)。

📦 快速开始(PyTorch 示例)

# 克隆仓库
git clone https://github.com/lyuwenyu/RT-DETR.git && cd RT-DETR

# 安装依赖(示例)
pip install -r requirements.txt

# 下载预训练权重(例如:RT‑DETR‑R18)
wget https://path/to/rt_detr_r18.pth -O rtdetr_pytorch/weights/r18.pth

# 对图像运行推理
python rtdetr_pytorch/tools/infer.py \
    --config rtdetr_pytorch/configs/rt_detr_r18.py \
    --weights rtdetr_pytorch/weights/r18.pth \
    --image path/to/image.jpg

仓库还提供:

  • run_profile.py – 快速获取模型参数和 FLOPs 统计信息。
  • hubconf.py – 使用 torch.hub.load('lyuwenyu/RT-DETR', 'rt_detr_r18') 加载模型。
  • ONNX、TensorRT 和 OpenVINO 的部署脚本。

📊 性能概览

模型 输入 数据集 AP(验证) AP@50(验证) 参数量(M) FLOPs(G) TensorRT FP16 FPS(T4)
RT‑DETR‑R18 640×640 COCO 46.5 63.8 20 60 217
RT‑DETR‑R34 640×640 COCO 48.9 66.8 31 92 161
RT‑DETR‑R50‑m 640×640 COCO 51.3 69.6 36 100 145
RT‑DETR‑R101 640×640 COCO 54.3 72.7 76 259 74
RT‑DETRv2‑S 640×640 COCO 48.1 (+1.6) 65.1 20 60 217
RT‑DETRv2‑L 640×640 COCO 53.4 (+0.3) 71.6 42 136 108

在 COCO + Objects365 上微调的模型可实现更高的 AP(最高达 56.2),且速度不变。


🛠️ 适用场景

  • 实时边缘应用(如机器人、AR/VR、视频分析),其中延迟比微小的 AP 提升更重要。
  • 基于 Transformer 的检测研究,提供可靠的基线和一组“免费技巧”用于对比。
  • 部署流水线,得益于现成的 ONNX/TensorRT/OpenVINO 导出脚本和 Torch‑Hub 支持。

📚 引用

若在出版物中使用 RT‑DETR 或 RT‑DETRv2,请引用 README 中提供的对应 arXiv 论文。


TL;DR: RT‑DETR 是一个维护良好、高速的物体检测 Transformer 库,支持多种骨干网络、预训练权重和部署工具,是任何需要在 GPU 或边缘设备上实现快速、准确检测的用户的实用选择。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目