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 在 PyTorch 和 PaddlePaddle 中均有实现。 |
| 模型库 | 提供多种骨干网络尺寸(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 或边缘设备上实现快速、准确检测的用户的实用选择。
相关
- 项目
- 项目
- 项目
- 项目
- 项目