End-to-End Object Detection with Transformers

摘要

我们提出了一种将目标检测视为直接集合预测问题的新方法。我们的方法简化了检测流程,有效地消除了对许多手工设计组件的需求,如非最大抑制程序或锚生成,它们明确编码了我们关于任务的先验知识。新框架的主要组成部分被称为“检测transformer”(DEtection TRansformer)或“DETR”,它是一种基于集合的全局损失,通过二分匹配和transformer编码器-解码器架构来强制进行独特的预测。给定一组固定的小的学习对象查询,DETR推理目标和全局图像上下文的关系,以直接并行输出最终的预测集。与许多其他现代检测器不同,新模型概念简单,不需要专门的库。在具有挑战性的COCO目标检测数据集上,DETR展示了与成熟且高度优化的Faster RCNN基线相当的准确性和运行时性能。此外,DETR可以很容易地推广,以统一的方式产生全景分割。我们表明,它明显优于竞争基准。

1、介绍

目标检测的目标是为每个感兴趣的目标预测一组边界框和类别标签。现代检测器通过在一大组建议、锚或窗口中心上定义替代回归和分类问题,以间接方式解决这个集合预测任务。它们的性能受到瓦解近似重复预测的后处理步骤、锚点集合的设计以及将目标框分配给锚点的启发式方法的显著影响。为了简化这些流水线,我们提出了一种直接集合预测方法来绕过代理任务。这种端到端的理念已经在复杂的结构化预测任务(如机器翻译或语音识别)中取得了重大进展,但在目标检测中还没有:以前的尝试要么增加了其他形式的先验知识,要么没有证明在具有挑战性的基准上与强基线竞争。本文旨在弥合这一差距。

End-to-End Object Detection with Transformers

 我们通过将目标检测视为直接集合预测问题来简化训练流水线。我们采用了一种基于transformers 的编码器-解码器架构,这是一种流行的序列预测架构。转换器的自关注机制明确地对序列中元素之间的所有成对交互进行建模,这使得这些架构特别适合集合预测的特定约束,例如移除重复预测。 我们的DEtection TRansformer (DETR,见图1)一次预测所有目标,并使用集合损失函数进行端到端训练,该函数在预测目标和真实对象之间执行二分匹配。DETR通过丢弃多个手工设计的编码先验知识的组件,如空间锚或非最大抑制,简化了检测流程。与大多数现有的检测方法不同,DETR不需要任何定制的层,因此可以在任何包含标准CNN和Transformer类的框架中轻松复制。 与大多数以前关于直接集预测的工作相比,DETR的主要特点是二分匹配损失和Transformer与(非自回归)并行解码的结合。相比之下,以前的工作集中在用RNNs进行自回归解码。我们的匹配损失函数唯一地将预测分配给一个地面真实目标,并且对于预测目标的排列是不变的,因此我们可以并行发射它们。我们在最受欢迎的目标检测数据集COCO上对DETR进行了评估,并与竞争非常激烈的Faster R-CNN基线进行了对比。Faster RCNN经历了多次设计迭代,其性能自最初发布以来有了很大提高。实验表明,我们的新模型取得了相当的性能。更准确地说,DETR在大型物体上表现出明显更好的性能,这一结果可能是由Transformer的非局部计算实现的。然而,它在小物体上的性能较低。我们预计未来的工作将改善这方面的发展,就像FPN为Faster R-CNN的那样。 DETR的训练设置在许多方面不同于标准物体检测器。新模型需要超长的训练时间表,并受益于Transformer中的辅助解码损失。我们深入探讨了哪些组件对于所展示的性能至关重要。DETR的设计理念很容易延伸到更复杂的任务。在我们的实验中,我们表明,在预训练的DETR输出之上训练的简单分割头在全景分割上优于竞争基线,全景分割是一项具有挑战性的像素级识别任务,最近获得了普及。

2、相关工作

我们的工作建立在先前几个领域的工作之上:集合预测的二分匹配损失、基于Transformer的编码器-解码器架构、并行解码和目标检测方法。

2.1、设置预测

没有规范的深度学习模型来直接预测集合。基本的集合预测任务是多标签分类,对于这种任务,基线方法“一对静止”不适用于诸如检测之类的问题,其中元素之间存在底层结构(即,几乎相同的框)。这些任务的第一个困难是避免近似重复。大多数当前的检测器使用后处理(如非最大抑制)来解决这个问题,但是直接集预测是不需要后处理的。他们需要全局推理方案来模拟所有预测元素之间的相互作用,以避免冗余。对于恒定大小的集合预测,密集的全连接网络就足够了,但成本很高。一般的方法是使用自回归序列模型,如递归神经网络。在所有情况下,损失函数都应该通过预测的排列保持不变。通常的解决方案是基于匈牙利算法设计一个损失,以找到基础事实和预测之间的二分匹配。这加强了排列不变性,并保证每个目标元素都有唯一的匹配。我们遵循二分匹配损失方法。然而,与大多数以前的工作相反,我们远离自回归模型,使用具有并行解码的Transformer,这将在下面描述。

2.2、Transformers和并行解码

Vaswani等人引入了Transformer,作为一种新的基于注意力的机器翻译构建模块。注意机制是从整个输入序列中聚集信息的神经网络层。Transformer引入了自我关注层,类似于非局部神经网络[49],扫描序列的每个元素,并通过聚合整个序列的信息来更新它。基于注意力的模型的一个主要优点是它们的全局计算和完美记忆,这使得它们比RNNs更适合长序列。Transformer现在正在自然语言处理、语音处理和计算机视觉的许多问题中取代RNNs。Transformer首先用于自回归模型,遵循早期的序列到序列模型,一个接一个地生成输出令牌。然而,禁止性的推理成本(与输出长度成比例,并且难以批量)导致并行序列生成的发展,在音频、机器翻译、单词表示学习以及最近的语音识别领域。我们还将转换器和并行解码结合起来,在计算成本和执行集合预测所需的全局计算能力之间进行适当的权衡。

2.3、目标检测

大多数现代物体检测方法相对于一些最初的猜测进行预测。两阶段检测器、预测框关于提案,而一阶段方法预测关于锚或可能的物体中心网格。最近的工作[表明,这些系统的最终性能在很大程度上取决于这些初始猜测的确切设置方式。在我们的模型中,我们能够去除这种手工制作的过程,并通过使用绝对框预测(w.r.t .输入图像而不是锚点)直接预测检测集来简化检测过程。

Set-based loss:几个物体检测器使用了二分匹配损失。然而,在这些早期的深度学习模型中,不同预测之间的关系仅用卷积层或全连接层建模,并且手工设计的NMS后处理可以提高它们的性能。更近的检测器使用ground-truth和预测之间的非唯一分配规则以及NMS。可学习的NMS方法和关系网络明确地用注意力模拟不同预测之间的关系。使用直接凝固损失,它们不需要任何后处理步骤。然而,这些方法采用额外的手工制作的上下文特征,如提议框坐标,以有效地建模检测之间的关系,同时我们寻找减少模型中编码的先验知识的解决方案。

Recurrent detectors:与我们的方法最接近的是目标检测和实例分割的端到端集合预测。 与我们类似,他们使用基于CNN激活的编码器-解码器结构的两方匹配损失来直接产生一组边界框。 然而,这些方法仅在小数据集上进行评估,而没有参照现代基线。 特别是,它们是基于自回归模型(更准确地说是RNN)的,所以它们没有利用并行解码的最新Transformer。  

上一篇:词袋模型和transformer模型


下一篇:html2Canvas将html转化成图片