RT-DETR论文笔记

Motivation

YOLO 一直是实时检测领域应用最广的检测框架,但是 YOLO 得到的结果需要经过 NMS 处理才能得到最终的输出结果,如 《目标检测大杂烩》-第14章-浅析RT-DETR - 知乎分析,NMS 在后处理流程中会带来很多问题。反之,DETR 系列工作不需要 NMS 作为后处理,但 DETR 速度不够快,因此在实时检测领域无法应用。这篇文章在 DETR 的基础上,提出了一种能实现实时检测的 Transformer 检测框架,解决了前面提到的问题。


模型

Overview

截屏2024-05-24 14.13.04.png
模型整体由 backbone、encoder、decoder 和 head 构成。本文的主要改进点在于 encoder 和 decoder 部分。

Efficient Hybrid Encoder
Computational bottleneck analysis

论文里面首先通过实验证明了 Deformable DETR 中的 encoder 方式存在冗余部分。
截屏2024-05-24 14.42.03.png
论文设计了不同的模块:
A:没有 encoder 模块;
B:在 S3、S4、S5 三个不同分辨率的 feature map 上,分别执行 single scale encoder,然后把 encoder 后的结果拼起来;
C:类似于 Deformable DETR 中的 encoder 方法,先拼起来,然后进行 multi scale encoder;
D:在 S3、S4、S5 三个不同分辨率的 feature map 上,分别执行 single scale encoder,然后用类似于 PANet 的结构将特征融合;
E:仅在 S5 上执行 single scale encoder(AIFI),以减少计算量,然后用 CCFF 融合不同分辨率的 feature map。
截屏2024-05-24 15.05.15.png|475

实验中可以看到,由 A 到 B 再到 C,模型性能逐渐提升的同时,计算延迟也大幅提升;由 C 到 D,性能提升的同时,小幅度减少了延迟,这说明不同 scale 的 feature 间的交互是必要的,但是不需要采用 multi scale encoder 的方式交互。由 D 到 D S 5 D_{S_5} DS5 在延迟大幅度降低的情况下,准确率有了微小的提升,说明仅在 S5 上进行 encoder 就可以,不需要在更大尺度的 future map 上进行 encoder 操作。

CCFF

截屏2024-05-24 15.52.35.png|475
融合模块采用了上图的设计。有一点疑问,RepVGG 的设计思路是希望网络在 inference 阶段是一个单 branch 的结构,CCFF 的设计是否一定程度上违背了 RepVGG 的思路?

Uncertainty-minimal Query Selection

这部分描述的是选择 query 的方式,这里在论文里的描述有点绕,但是结合代码和别人的博客,我认为这里的实现实际上采用的是在 loss 中加入一个 vfl loss 的方式。Vfl loss 希望模型预测的类别概率与 iou 有关,iou 越高,类别概率也越高;反之亦然。
之前 detr-like 的方法里面,decoder 模型的 query 选择通常是按照类别概率高低来选择的,但是 query 实际上包含两个方面:类别和位置,仅考虑类别选出的 query 很可能并不是最优的。因此,rt-detr 在 loss 里面加入了 vfl loss,希望经过这样的训练,类别概率高的 query,iou 也能比较高。
论文里进行了实验:
截屏2024-06-12 16.20.25.png|300
紫色是 rt-detr 用的方法,绿色是直接选择类别概率更高的 query。可以看出相比于原本的方法 rt-detr 可以使 query 在类别概率高的同时,iou 更高,即 rt-detr 可以选出质量更高的 query。


与 SOTA 方法比较

截屏2024-06-12 16.37.59.png
与 detr-like 的方法比较,rt-detr 性能和速度上都有提升;与最好的 YOLO 方法比较,性能略微提升的情况下速度也有提升。

### RT-DETR论文 RT-DETR 是一种基于 DETR (End-to-End Object Detection with Transformers) 的实时物体检测方法,其设计旨在解决传统 DETR 推理速度较慢的问题,同时保持高性能的目标检测能力[^1]。该模型通过优化架构和引入高效的 Transformer 结构,在不依赖非极大值抑制 (NMS) 的情况下实现了更快的推理时间,并显著提升了检测精度[^2]。 论文的具体信息如下: - **标题**: *DETRs Beat YOLOs on Real-time Object Detection* - **链接**: [https://arxiv.org/pdf/2304.08069.pdf](https://arxiv.org/pdf/2304.08069.pdf) 此论文详细介绍了如何改进传统的 DETR 架构以适应实时场景的需求,以及如何利用硬件加速技术进一步提高效率。此外,论文还提供了实验对比分析,展示了 RT-DETR 在多个公开数据集上的优越表现。 如果希望深入研究其实现细节,可以参考官方开源代码库: ```plaintext Code: https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/rtdet ``` 配置文件 `rtdetr-resnet50.yaml` 提供了一个基础框架,用户可以根据自己的需求调整参数设置,例如目标类别数 (`nc`) 等[^3]。 ### 示例代码片段 以下是创建自定义配置的一个简单例子: ```yaml # rtdetr-ResNetLayer_MLLA.yaml 配置示例 Base: rtdetr-resnet50.yaml Model: Backbone: Name: ResNet Depth: 50 Neck: Name: MLLA OutChannels: [256, 512, 1024] Head: NumClasses: ${your_data_nc} # 替换为目标类别的数量 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值