摘要
我们提出了一种将目标检测视为直接集合预测问题的新方法。我们的方法简化了检测管道,有效地去除了许多手工设计的组件,如非最大抑制程序或锚点生成,这些组件显式地编码了我们对任务的先验知识。该框架的主要成分称为DEtection TRansformer(简称DETR),它包括一个基于集合的全局损失,通过二分匹配强制唯一预测,并且采用了一个Transformer编码器-解码器架构。给定一组固定的小规模学习对象查询,DETR能够推理对象之间的关系以及全局图像上下文,从而并行地输出最终的预测结果。该模型概念上简单,不像许多现代检测器那样需要专门的库。DETR在具有挑战性的COCO目标检测数据集上展示了与公认且高度优化的Faster R-CNN基线相当的准确性和运行时性能。此外,DETR还可以轻松推广到生成统一的全景分割任务,且显著优于竞争基线。训练代码和预训练模型已发布。
1 Introduction
目标检测的目的是为每个感兴趣的目标预测一组边界框和类别标签。现代检测器通过一种间接方式解决这个集合预测任务,即在大量的候选区域[37,5]、锚点[23]或窗口中心[53,46]上定义代理回归和分类问题。它们的性能显著受到以下因素的影响:后处理步骤(用于合并重复预测)、锚点集合的设计,以及将目标框分配给锚 点的启发式方法[52]。
为了简化这些流程,我们提出了一种直接的集合预测方法,以绕过这些代理任务。这种端到端的理念在诸如机器翻译或语音识别等复杂的结构化预测任务中已经带来了显著的进展,但在目标检测中尚未取得类似的成果。以往的尝试[43,16,4,39]要么引入了其他形式的先验知识,要么未能在具有挑战性的基准上与强大的基线方法竞争。本文旨在弥合这一差距。
我们通过将目标检测视为一个直接的集合预测问题,简化了训练流程。我们采用了一种基于 Transformer 的编码器-解码器架构 [47],这是一种在序列预测中非常流行的架构。Transformer 的自注意力机制可以显式地建模序列中元素之间的成对交互关系,使其特别适合集合预测中的特定约束,例如去除重复预测。
我们的 检测Transformer(DETR,见图1)一次性预测所有目标,并通过集合损失函数进行端到端训练,该损失函数通过 二分图匹配 将预测目标与真实目标进行匹配。DETR 通过去除多种手工设计的先验知识编码组件(例如空间锚点或非极大值抑制),简化了检测流程。与大多数现有检测方法不同,DETR 不需要任何定制层,因此可以在任何包含标准 CNN 和 Transformer 类的框架中轻松复现。