HuggingFace镜像/rtdetr_r18vd_coco_o365
模型介绍文件和版本分析
下载使用量0

RT-DETR 模型卡片

目录

  1. 模型详情
  2. 模型来源
  3. 模型使用入门
  4. 训练详情
  5. 评估
  6. 模型架构与目标
  7. 引用

模型详情

image/png

YOLO系列因其在速度和精度之间的合理权衡,已成为最受欢迎的实时目标检测框架。然而,我们观察到YOLO的速度和精度受到NMS(非极大值抑制)的负面影响。近年来,基于Transformer的端到端检测器(DETRs)提供了一种无需NMS的替代方案。尽管如此,其高昂的计算成本限制了其实用性,使其无法充分发挥去除NMS带来的优势。在本文中,我们提出了实时检测Transformer(RT-DETR),据我们所知,这是首个能够解决上述困境的实时端到端目标检测器。我们借鉴先进DETR的经验,分两步构建RT-DETR:首先在提升速度的同时保持精度,然后在保持速度的同时提升精度。具体而言,我们设计了一个高效的混合编码器,通过解耦尺度内交互和跨尺度融合来快速处理多尺度特征,从而提高速度。接着,我们提出了不确定性最小化查询选择方法,为解码器提供高质量的初始查询,进而提升精度。此外,RT-DETR支持通过调整解码器层数进行灵活的速度调节,以适应不同场景,无需重新训练。我们的RT-DETR-R50/R101在COCO数据集上实现了53.1%/54.3%的AP,在T4 GPU上达到108/74 FPS,在速度和精度两方面均优于以往的先进YOLO模型。我们还开发了缩放版的RT-DETR,其性能超过了更轻量级的YOLO检测器(S和M型号)。此外,RT-DETR-R50的精度比DINO-R50高出2.2% AP,FPS约为其21倍。经过Objects365数据集预训练后,RT-DETR-R50/R101的AP分别达到55.3%/56.2%。项目页面:this https URL。

这是已推送至Hub的🤗 transformers 模型的模型卡片。

  • 开发者: Yian Zhao 与 Sangbum Choi
  • 资助方: 中国国家重点研发计划(No.2022ZD0118201)、中国国家自然科学基金(No.61972217, 32071459, 62176249, 62006133, 62271465)以及中国深圳市医学研究基金(No.B2302037)。
  • 分享者: Sangbum Choi
  • 模型类型: RT-DETR
  • 许可证: Apache-2.0

模型来源

  • HF 文档: RT-DETR
  • 代码仓库: https://github.com/lyuwenyu/RT-DETR
  • 论文: https://arxiv.org/abs/2304.08069
  • 演示: RT-DETR Tracking

如何开始使用模型

使用以下代码开始使用模型。

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}")

这应输出

sofa: 0.97 [0.14, 0.38, 640.13, 476.21]
cat: 0.96 [343.38, 24.28, 640.14, 371.5]
cat: 0.96 [13.23, 54.18, 318.98, 472.22]
remote: 0.95 [40.11, 73.44, 175.96, 118.48]
remote: 0.92 [333.73, 76.58, 369.97, 186.99]

训练详情

训练数据

RTDETR 模型在 COCO 2017 目标检测 数据集上进行训练,该数据集包含 118k 张训练图像和 5k 张验证图像,均带有标注。

训练流程

我们在 COCO 和 Objects365 数据集上进行实验,其中 RT-DETR 在 COCO train2017 上训练,并在 COCO val2017 数据集上进行验证。我们报告标准的 COCO 指标,包括 AP(在 0.50-0.95 的均匀采样 IoU 阈值上取平均,步长为 0.05)、AP50、AP75,以及不同尺度下的 AP:APS、APM、APL。

预处理

图像被调整为 640x640 像素大小,并使用 image_mean=[0.485, 0.456, 0.406] 和 image_std=[0.229, 0.224, 0.225] 进行标准化。

训练超参数

  • 训练模式:

image/png

评估

模型轮次参数数量 (M)GFLOPs帧率_批次=1AP (验证集)AP50 (验证集)AP75 (验证集)AP-s (验证集)AP-m (验证集)AP-l (验证集)
RT-DETR-R18722060.721746.563.850.428.449.863.0
RT-DETR-R34723191.017248.566.252.330.251.966.2
RT-DETR R50724213610853.171.357.734.858.070.0
RT-DETR R10172762597454.372.758.636.058.872.1
RT-DETR-R18 (Objects 365 预训练)60206121749.266.653.533.252.364.8
RT-DETR-R50 (Objects 365 预训练)244213610855.373.460.137.959.971.8
RT-DETR-R101 (Objects 365 预训练)24762597456.274.661.338.360.573.5

模型架构与目标

image/png

RT-DETR 概述。我们将骨干网络最后三个阶段的特征输入到编码器中。高效混合编码器通过基于注意力的尺度内特征交互(AIFI)和基于 CNN 的跨尺度特征融合(CCFF),将多尺度特征转换为图像特征序列。然后,不确定性最小化查询选择会挑选固定数量的编码器特征,作为解码器的初始目标查询。最后,带有辅助预测头的解码器通过迭代优化目标查询,生成类别和边界框。

引用

BibTeX:

@misc{lv2023detrs,
      title={DETRs Beat YOLOs on Real-time Object Detection},
      author={Yian Zhao and Wenyu Lv and Shangliang Xu and Jinman Wei and Guanzhong Wang and Qingqing Dang and Yi Liu and Jie Chen},
      year={2023},
      eprint={2304.08069},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

模型卡片作者

Sangbum Choi
Pavel Iakubovskii