论文名称:DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection
发表时间:ICLR2023
作者及组织:Shilong Liu, Feng Li等,来自IDEA、港中文、清华。
前言
该篇论文在DN-DETR基础上,额外引进3个trick进一步增强DETR的性能:在12epoch下coco上达到了49.0map。本文将分别介绍这3个trick,
1、方法
上图为模型的总体结构图,改进部分为框中标红的部分,一个是用于第二阶段的query selection模块,另外一部分则是在去噪训练中额外引入了加噪的负样本来进行训练(DN-DETR中只有加噪的正样本)。
1.1.MixQuerySelection
如下图所示,作者比较了三种从Encoder中query select方式,其中蓝色框表示content query,白色框表示anchor。
图(a)没有用到Encoder的输出,content query是初始化为0,anchor即object query是可学习的;
图(b)是Deformable Detr中做法,从Encoder中选择topK个得分高的query并经过线性映射来得到动态可学习的anchor和content query;
图(c)是本文做法,考虑到模型的Encoder在初始阶段抽取出特征可能会使Decoder困惑,于是本文保持content query初始化为全0,而anchor则是从Encoder中动态挑出来的。
1.2.Contrastive DeNoising Training
在DN-DETR中是仅给gt增加了正样本的噪声来作为额外的gt。但模型没有判别负样本/困难样本的能力,为了区分gt附近的预测框,作者在训练过程中新增加了负样本gt。如下图所示, < λ 1 \lambda_1 λ1 的加噪gt为正样本,在[ λ 1 \lambda_1 λ1 , λ 2 \lambda_2 λ2]之间的作为加噪负样本。
1.3. Look Forward Twice
下图左边是每层DecoderLayer在预测box的梯度流向,发现层与层之间其实没有交互,是断开的;于是作者设计了右边的级联形式,使得当前层box预测能够看见前面层的预测信息。
2、实验
DINO的性能还是很高的,在coco上36epoch达到50.9。
50.9基本已经饱和了,于是作者用更大的backbone以及更大的数据集Object365进行试验,并在coco上微调。取得了惊人的63.1map。
消融实验看出,在增加了上述三个trick后,涨了1.4个点。emmm...