Real-Time DEtection TRansformer (RT-DETR)
DETRs Beat YOLOs on Real-time Object Detection
论文地址:[2304.08069] DETRs Beat YOLOs on Real-time Object Detection
github:https://github.com/lyuwenyu/RT-DETR
RT-DETR v1/v2/v3 -> D-FINE -> DEIM
动机:
- 我们观察到YOLOs的速度和准确性受到NMS的负面影响;
- 端到端的DETRs不使用NMS,但是太高的计算成本
分析NMS的缺陷:

「NMS 算法的大致过程」 :每轮选取置信度最大的 Bounding Box ,接着关注所有剩下的 BBox 中与选取的 BBox 有着高重叠(IoU)的,它们将在这一轮被抑制。这一轮选取的 BBox 会被保留输出,且不会在下一轮出现。接着开始下一轮,重复上述过程:选取置信度最大 BBox ,抑制高 IoU BBox。
NMS对超参数(confidence、iou)非常敏感,NMS的执行时间取决于box的个数以及两个参数的阈值;

DETRs的历史改进:
由多尺度特征交互引起的高计算成本使得 Transformer 编码器成为计算瓶颈;
难以优化的对象查询阻碍了DETRs的性能。
| DETR的缺点 | slow training convergence 收敛慢 | high computational cost 计算成本高 | hard-to-optimize queries 查询难以优化 |
|---|---|---|---|
| 文中分类 | Deformable-DETR DAB-DETR DN-DETR Group-DETR Co-DETR | Efficient DETR Sparse DETR Lite DETR | Conditional DETR Anchor DETR DINO |
| attention结构或计算次数 | query的初始化方式 | 标签/多任务 | |
| Deformable-DETR Efficient DETR Sparse DETR Lite DETR DINO | Conditional DETR(2维) DAB-DETR(4维) DN-DETR(降噪) Anchor DETR DINO | Group-DETR(1vs多) Co-DETR(辅助头多任务) DN-DETR(降噪) DINO |
提出:Real-Time DEtection TRansformer (RT-DETR),特点:
- 高效混合编码器: 采用高效混合编码器,通过解耦尺度内交互和跨尺度融合来处理多尺度特征。这种基于视觉转换器的独特设计降低了计算成本,并可实现实时物体检测。
- IoU 感知查询查询选择: 利用 IoU 感知查询选择改进了对象查询初始化。这样,模型就能专注于场景中最相关的物体,从而提高检测精度。
- 可调整的推理速度: 支持通过使用不同的解码器层灵活调整推理速度,无需重新训练。这种适应性有助于在各种实时物体检测场景中的实际应用。

回顾一下encoder的设计:deformable detr中提出了多尺度优化小目标

网络结构:


Efficient Hybrid Encoder
作者重新思考了编码器的结构,并提出了一种新的高效混合编码器。如图3所示,所提出的编码器由两个模块组成,即基于注意力的尺度内特征交互(AIFI)模块和基于神经网络的跨尺度特征融合模块(CCFM) 。AIFI进一步减少了计算冗余仅在S5上执行尺度内交互。作者认为,将自注意力操作应用于具有更丰富语义概念的高级特征可以捕捉图像中概念实体之间的联系,这有助于后续模块对图像中目标的检测和识别。同时,由于缺乏语义概念以及与高级特征的交互存在重复和混淆的风险,较低级别特征的尺度内交互是不必要的。
CCFM:在融合路径中插入了几个由卷积层组成的融合块。融合块的作用是将相邻的特征融合成一个新的特征,其结构如图4所示。融合块包含N个RepBlock,两个路径输出通过元素相加进行融合。
类似:特征金字塔网络(Feature Pyramid Networks) 和 路径聚合网络(Path Aggregation Network)
效果分析:


IoU-aware Query Selection
DETR中的目标查询是一组可学习的嵌入,这些嵌入由解码器优化,并由预测头映射到分类分数和边界框。然而,这些目标查询很难解释和优化,因为它们没有明确的物理意义。后续工作改进了目标查询的初始化,并将其扩展到内容查询和位置查询(Anchor点)。其中,Effificient detr、Dino以及Deformable detr都提出了查询选择方案,它们的共同点是利用分类得分从编码器中选择Top-K个特征来初始化目标查询(或仅位置查询)。然而,由于分类得分和位置置信度的分布不一致,一些预测框具有高分类得分,但不接近GT框,这导致选择了分类得分高、IoU得分低的框,而分类得分低、IoU分数高的框被丢弃。这会削弱探测器的性能。为了解决这个问题,作者提出了IoU-Aware查询选择,通过约束模型在训练期间为具有高IoU分数的特征产生高分类分数,并为具有低IoU得分的特征产生低分类分数。因此,与模型根据分类得分选择的Top-K个编码器特征相对应的预测框具有高分类得分和高IoU得分。

Scaled RT-DETR
使用depth multiplier和width multiplier将Backbone和混合编码器一起缩放。
比较结果:

