库名称: transformers
许可证: apache-2.0
支持语言:
- 英文
任务标签: 目标检测
标签:
- 目标检测
- 视觉
数据集:
- coco
示例展示:
- 图片链接: https://huggingface.co/datasets/mishig/sample_images/resolve/main/savanna.jpg
示例标题: 热带草原
- 图片链接: https://huggingface.co/datasets/mishig/sample_images/resolve/main/football-match.jpg
示例标题: 足球比赛
- 图片链接: https://huggingface.co/datasets/mishig/sample_images/resolve/main/airport.jpg
示例标题: 机场
RT-DETR模型卡片
目录
- 模型详情
- 模型来源
- 快速开始
- 训练详情
- 评估结果
- 模型架构与目标
- 引用文献
模型详情

YOLO系列因其在速度与精度间的平衡优势,已成为实时目标检测最流行的框架。
但我们发现非极大值抑制(NMS)会负面影响YOLO的速度和精度。
近期,基于Transformer的端到端检测器(DETRs)提供了消除NMS的替代方案。
然而高昂的计算成本限制了其实用性,使其难以充分发挥无NMS的优势。
本文提出实时检测变换器(RT-DETR),这是首个解决上述困境的实时端到端目标检测器。
我们分两步构建RT-DETR:
首先在保证精度的前提下提升速度,随后在保持速度的同时提高精度。
具体而言,我们设计高效混合编码器,通过解耦尺度内交互与跨尺度融合来快速处理多尺度特征。
提出最小不确定性查询选择机制,为解码器提供高质量初始查询以提升精度。
此外,RT-DETR支持通过调整解码器层数实现灵活调速,无需重新训练即可适配不同场景。
RT-DETR-R50/R101在COCO上达到53.1%/54.3% AP,T4 GPU实现108/74 FPS,速度与精度均超越先进YOLO模型。
我们还开发了超越轻量级YOLO(S/M型)的缩放版RT-DETR。
RT-DETR-R50精度超越DINO-R50达2.2% AP,FPS提升约21倍。
经Objects365预训练后,RT-DETR-R50/R101达到55.3%/56.2% AP。项目页:链接。
这是Hugging Face transformers库模型的模型卡片。
- 开发者: 赵义安、崔相范
- 资助方: 中国国家重点研发计划(No.2022ZD0118201)、国家自然科学基金(No.61972217等)、深圳市医学研究基金(No.B2302037)
- 共享者: 崔相范
- 模型类型: RT-DETR
- 许可证: Apache-2.0
模型来源
- 文档: RT-DETR
- 代码库: https://github.com/lyuwenyu/RT-DETR
- 论文: https://arxiv.org/abs/2304.08069
- 演示: 目标追踪演示
快速开始
import torch
import requests
from PIL import Image
from transformers import RTDetrForObjectDetection, RTDetrImageProcessor
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)
image_processor = RTDetrImageProcessor.from_pretrained("PekingU/rtdetr_r18vd_coco_o365")
model = RTDetrForObjectDetection.from_pretrained("PekingU/rtdetr_r18vd_coco_o365")
inputs = image_processor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
results = image_processor.post_process_object_detection(outputs, target_sizes=torch.tensor([image.size[::-1]]), threshold=0.3)
for result in results:
for score, label_id, box in zip(result["scores"], result["labels"], result["boxes"]):
score, label = score.item(), label_id.item()
box = [round(i, 2) for i in box.tolist()]
print(f"{model.config.id2label[label]}: {score:.2f} {box}")
输出示例:
沙发: 0.97 [0.14, 0.38, 640.13, 476.21]
猫: 0.96 [343.38, 24.28, 640.14, 371.5]
猫: 0.96 [13.23, 54.18, 318.98, 472.22]
遥控器: 0.95 [40.11, 73.44, 175.96, 118.48]
遥控器: 0.92 [333.73, 76.58, 369.97, 186.99]
训练详情
训练数据
使用COCO 2017目标检测数据集,包含11.8万训练图像和5千验证图像。
训练流程
在COCO和Objects365数据集上进行实验,使用COCO train2017训练,val2017验证。
报告标准COCO指标:AP(IOU阈值0.50-0.95)、AP50、AP75及各尺度AP(APS/APM/APL)。
预处理
图像缩放至640x640像素,标准化参数为image_mean=[0.485, 0.456, 0.406]
,image_std=[0.229, 0.224, 0.225]
。
超参数设置

评估结果
模型 |
训练周期 |
参数量(百万) |
计算量(GFLOPs) |
单批FPS |
AP(val) |
AP50(val) |
AP75(val) |
小目标AP |
中目标AP |
大目标AP |
RT-DETR-R18 |
72 |
20 |
60.7 |
217 |
46.5 |
63.8 |
50.4 |
28.4 |
49.8 |
63.0 |
RT-DETR-R50 |
72 |
42 |
136 |
108 |
53.1 |
71.3 |
57.7 |
34.8 |
58.0 |
70.0 |
RT-DETR-R101 |
72 |
76 |
259 |
74 |
54.3 |
72.7 |
58.6 |
36.0 |
58.8 |
72.1 |
Objects365预训练版本性能详见原表... |
|
|
|
|
|
|
|
|
|
|
模型架构与目标

RT-DETR架构概述:将主干网络最后三阶段特征输入编码器,通过注意力基尺度内交互(AIFI)和CNN基跨尺度融合(CCFF)转换为图像特征序列。最小不确定性查询选择机制筛选编码器特征作为解码器初始查询,最终通过辅助预测头迭代优化生成类别与边界框。
引用文献
@misc{lv2023detrs,
title={DETRs Beat YOLOs on Real-time Object Detection},
author={赵义安等},
year={2023},
eprint={2304.08069},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
卡片作者
崔相范
帕维尔·雅库博夫斯基