DINO:DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection

论文名称: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...

相关推荐
励志成为大佬的小杨15 分钟前
pytorch模型的进阶训练和性能优化
人工智能·pytorch·python
知舟不叙23 分钟前
OpenCV的基础操作
人工智能·opencv·计算机视觉
果冻人工智能41 分钟前
打造 AI Agent 对于中产阶级来说就是场噩梦
人工智能
MediaTea1 小时前
AI 文生图:提示词撰写技巧与示例(ChatGPT-4o 篇)
人工智能
墨绿色的摆渡人1 小时前
用 pytorch 从零开始创建大语言模型(三):编码注意力机制
人工智能·pytorch·语言模型
编程在手天下我有1 小时前
计算机视觉(CV)技术的优势和挑战
计算机视觉
zm-v-159304339861 小时前
ChatGPT 与 DeepSeek:学术科研的智能 “双引擎”
人工智能·chatgpt
果冻人工智能1 小时前
美国狂奔,中国稳走,AI赛道上的龟兔之争?
人工智能
牙牙要健康1 小时前
【目标检测】【深度学习】【Pytorch版本】YOLOV2模型算法详解
pytorch·深度学习·目标检测