论文名称:PlainDetr
发表时间:ICCV2023
开源代码
作者及组织: Yutong Lin,Yuhui Yuan等,来自西安交大,微软亚洲研究院。
前言
自Detr以来,后续paper的改进的方向:主要是将归纳偏置重新又引入进Detr结构,比如DINO,ConditionDetr,HybridMatch等。但这与Detr原始简洁的结构设计背道而驰。于是本篇工作旨在保持Detr简洁结构设计上,提高其精度。
关于DETR相关内容可参考:
1)Detr
2)DeformableDetr
3)ConditionalDetr
4)DAB-DETR
5)DN-DETR
6)DINO
1、方法
文中首先设计了一个强的Detr的Baseline,在coco上12epoch的mAP=37.2。详细的配置参数如下图:表格中的小trick均来自其余论文。具体是啥就不详细介绍了,感兴趣可参考前言中文献 😏。
1.1.MIM预训练Backbone
在目标检测中,MIM已经证实比全监督预训练的性能更好 ,消融实验表明:mim-swin-s比sup-swin-s的mAP从37.2提高到44.6。
另外,MM中每层特征图中其实都蕴含了归纳偏置,故可以只用一层layer即可,无需FPN或者MultiHeadAttn。如下图,作者采用了©的结构,且实验表明,并没有掉点。
1.2.Box-to-Pixel Relative Position Bias
原始Detr中cross-attention可表示为:
O = S o f t m a x ( Q K T ) V + X \begin{equation} O = Softmax(QK^ {\mathrm{T}} )V+X \end{equation} O=Softmax(QKT)V+X
本文提出的BoxRPE可表示为:
O = S o f t m a x ( Q K T + B ) V + X \begin{equation} O = Softmax(QK^ {\mathrm{T}} +B)V+X \end{equation} O=Softmax(QKT+B)V+X
其中,上式中的B的计算流程如下图所示:首先输入是一张图像及pred_box,两个五角星的位置分别表示pred_box的左上角和右下角角点。然后分别从X轴和Y轴对这两个角点进行编码:以 $\delta(x_1) $ 为0点,依次向左向右编码W个相对坐标[-4,7];然后经过MLP并广播得到B。
1.3. Bounding Box Regression re-param
在Detr回归中,xywh均进行了归一化,但没有区分大小物体的损失权重:被大物体的损失主导。于是,作者重新编码了回归的范式:
其中 l 表示第几层layer, t* 表示模型的gt值 ,然后跟预测框进行loss计算即可。
2、实验
上述三个trick的消融实验如下图:
跟其余方法对比实验:
思考
相较于DeformableDetr,省去了MultiHeadAttn这个算子,且只用一层layer,结构变得简洁 。但是在源码中,作者在生成候选框时,其实还是采用了四层,作者说只用一层的话,会掉一个点左右,还需实测一下。