©作者 | 李峰
单位 | 香港科技大学博士生
研究方向 | 目标检测、多模态学习
PR 一下我们最近刷榜 COCO 的目标检测模型,DINO(DETR withImproved deNoising anchOr boxes),从三月初霸榜至今(7 月),该模型第一次让 DETR (DEtection TRansformer)类型的检测器取得了目标检测的 SOTA 性能,在 COCO 上取得了 63.3 AP 的性能,相比之前的 SOTA 检测器将模型参数和训练数据减少了十倍以上!
论文标题:
DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection
https://arxiv.org/abs/2203.03605
代码链接:
https://github.com/IDEACVR/DINO
主要特性
- SOTA 性能:在大模型上以相对较小的数据和模型(~1/10 相比之前 SwinV2)取得了最好的检测结果。在 ResNet-50 的标准 setting 下取得了 51.3 AP。
- End2end(端到端可学习):DINO 属于 DETR 类型的检测器,是端到端可学习的,避免了传统检测器许多需要手工设计的模块(如 NMS)。
Fast converging(收敛快):在标准的 ResNet-50 setting 下,使用 5 个尺度特征(5-scale)的 DINO 在 12 个 epoch 中达到 49.4 AP,在 24 个 epoch 中达到 51.3 AP。使用 4 个尺度特征(4-scale)的 DINO 达到了了类似的性能并可以以 23 FPS 运行。
效果展示
▲ La La Land, trained on COCO
Motivation出发点
Transformer 如今被广泛应用于自然语言处理和计算机视觉,并在很多主流的任务上都取得了最好的性能。然而,在目标检测领域,DETR 这种基于 Transformer 的检测器虽然作为一种很有新意的检测器,但却没有作为一种主流的检测器得到广泛运用。例如,几乎所有的模型在 PaperWithCode 的榜单上都是使用传统的 CNN 检测头(如 HTC [1])。因此,我们很感兴趣的事就是,DETR 这种简洁、端到端可学习的目标检测器,同时还有更强的模型 Transformer 的加持,能否无法取得更好的表现?
Background 背景简介
在做 DINO 之前,我们实验室的几个同学完成了 DAB-DETR [2] 和 DN-DETR [3],DINO 也是我们几个同学一起接着这两篇工作的一个延续,沿用了这些设计。
DAB-DETR 是在思考 DETR query 理解的问题。它直接把 DETR 的 positional query 显示地建模为四维的框四维的框 ,同时每一层 decoder 中都会去预测相对偏移量 并去更新检测框,得到一个更加精确的检测框预测 ,动态更新这个检测框并用它来帮助 decoder cross-attention 来抽取 feature。DN-DETR 是在思考 DETR 中的二分图匹配问题,或者说标签分配问题。我们发现 DETR 中的二分匹配在早期十分不稳定,这会导致优化目标不一致引起收敛缓慢的问题。因此,我们使用一个 denoising task 直接把带有噪声的真实框输入到 decoder 中,作为一个 shortcut 来学习相对偏移,它跳过了匹配过程直接进行学习 (详细理解在我之前的文章)。这两篇文章让我们对 DETR 的理解加深了很多,同时也把 DETR 类型模型的效果做到了和传统 CNN 模型在收敛速度和结果上 comparable。如何进一步提高检测器性能和收敛速度?我们可以沿着 DAB 和 DN 去进一步思考:
Method方法简介
为了解决上面提到的问题,DINO 进一步提出了 3 个改进来进行优化,模型架构如上图所示。
5.1 Contrastive denoising(DN)DN 的去噪训练里面引入的噪声样本都是正样本来进行学习,然而模型不仅需要学习到如何回归出正样本,还需要意识到如何区分负样本。例如,DINO 的 decoder 中用了 900 个 query,而一张图中一般只会有几个物体,因此绝大部分都负样本。
因此,我们设计了训练模型识别负样本的方法,如上图所示,我们对 DN 进行了改进,不仅要回归真实框,还需要辨别负样本。对于 DN 的输入当对真实框加入了较大噪声时,我们就认为其为负样本,在去噪训练中会被监督不预测物体。同时,这些负样本恰好是在真实框附近的,因此是相对很难区分难的负样本,让模型得以学习的正负样本的区分问题。
在大部分 detr 模型中,query 是从数据集中学习出来的,并不和输入图片相关。为了更好得初始化 decoder query,deformable detr [4] 提出用 encoder 的 dense feature 中预测出类别和框,并从这些密集预测中选出一些有意义的来初始化 decoder feature。然而,这种方式并没有在后来的工作中得到广泛运用,我们对这种方式进行了一些改进并重新强调其重要性。在 query 中,我们实际更关心 position query,也就是框。同时,从 encoder feature 中选取的 feature 作为 content query 对于检测来说并不是最好的,因为这些 feature 都是很粗糙的没有经过优化,可能有歧义性。例如对“人”这个类别,选出的 feature 可能只包含人的一部分或者人周围的物体,并不准确,因为它是 grid feature。因此,我们对此进行了改进,让 query selection 只选择 position query,而利用可学习的 content query。
这个方法对 decoder 的梯度传播进行了一些优化,这里就不展开讲了,可以到我们的 paper 进一步阅读。
总结
我们希望 DINO 能给大家带来一些启示,它具有 SOTA 的性能,端到端优化的简洁,以及快速收敛、训练和 inference 快等多个优点。同时也希望 DETR 类型的检测器得到更多人的运用,让大家意识到 DETR 类型的检测器不仅是一种 novel 的方法,同时也具拥有强健的性能。
[1] HTC https://arxiv.org/abs/1901.07518
[2] DAB-DETR https://arxiv.org/abs/2201.12329
[3] DN-DETR https://arxiv.org/pdf/2203.01305.pdf
[4] https://arxiv.org/abs/2010.04159
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧