End-to-End Object Detection with Transformers

摘要

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

1、介绍

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

End-to-End Object Detection with Transformers_第1张图片

 我们通过将目标检测视为有向集合预测问题来简化训练流水线。我们采用了一种基Transformer的编码器-解码器架构,这是一种流行的序列预测架构。Transformer的自注意力明确地对序列中元素之间的所有成对交互进行建模,这使得这些架构特别适合集合预测的特定约束,例如移除重复预测。

我们的DEtection TRansformer (DETR,见图1)一次预测所有目标,并使用集合损失函数进行端到端训练,该函数在预测目标和ground-truth目标之间执行二分匹配。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、设置预测

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

3、DETR模型

在检测中,两个因素对于直接集预测至关重要:(1)集预测损失,迫使预测和ground-truth框之间唯一匹配; (2)一种体系结构,它预测(在一次通过中)一组目标并对它们之间的关系建模。 我们在图2中详细描述了我们的体系结构。  

End-to-End Object Detection with Transformers_第2张图片

3.1、目标有向集合预测损失

在一次通过解码器的过程中,DETR推断出一个固定大小的N个预测集,其中N被设置为明显大于图像中物体的典型数量。 训练的主要难点之一是根据ground-truth值对预测目标(类别、位置、大小)进行评分。 我们的损失产生了预测目标和ground-truth之间的最佳二部匹配,然后优化特定目标(边界框)的损失。  

我们用y表示目标的ground-truth集,表示N个预测集。 假设N大于图像中物体的数量,我们也认为y是大小N的集合,用∅(无目标)填充。 为了找到这两个集合之间的二部匹配,我们寻找成本最低的N个元素的排列:

                     

 其中是ground-truth值和指标为的预测之间的成对匹配代价。 在前面的工作(如[43])之后,使用匈牙利算法有效地计算出这种最优分配。 

 匹配代价既考虑了类预测,也考虑了预测和ground-truth框的相似性。 每个元素ground-truth元素i可以被看作是一个是目标类标签(可能是∅)和是一个向量,它定义了地面实况框中心坐标和其高度和宽度相对于图像的大小。 对于指数为的预测,我们定义类别的概率为,预测框为。 我们用这些符号定义。  

这种寻找匹配的过程与现代检测器中用于匹配提议[37]或锚[22]到ground-truth目标的启发式分配规则相同。 主要的区别是,我们需要找到一对一的匹配来进行没有重复的直接集预测。 第二步是计算损失函数,即前一步匹配的所有配对的匈牙利损失。 我们对损失的定义类似于普通物体检测器的损失,即类预测的负对数似然和后面定义的框损失的线性组合:

              

其中是第一步(1)中计算的最优分配。在实践中,我们在因子时对对数概率项进行减重,以考虑阶级失衡。 这类似于Faster R-CNN训练程序如何通过子采样[37]来平衡正/负建议。 注意,目标和之间的匹配成本并不取决于预测,这意味着在这种情况下,成本是一个常数。 在匹配成本中,我们使用概率而不是对数概率。 这使得类预测项与可通约(下文描述),我们观察到更好的经验性能。 

Bounding box损失:

匹配成本和匈牙利损失的第二部分是,它对边界框进行评分。 不像许多检测器做框预测(w.r.t.一些初步猜测,我们直接进行框预测。 虽然这种方法简化了实现,但它提出了一个相对缩放损失的问题。 最常用的损失对于小框和大框有不同的尺度,即使它们的相对误差是相似的。 为了缓解这个问题,我们使用损失和广义IoU损失的线性组合,它是比例不变的。 总的来说,我们的框损失是定义为,其中为超参数。 这两个损失是根据批处理中目标的数量规范化的。 

 3.2、DETR结构

总体的DETR体系结构非常简单,如图2所示。 它包含三个主要组成部分,我们在下面描述:一个CNN主干提取一个紧凑的特征表示,一个编码器-解码器转换器,和一个简单的前馈网络(FFN),进行最终的检测预测。 

与许多现代检测器不同的是,DETR可以在任何深度学习框架中实现,该框架提供了一个通用的CNN主干和一个仅几百行转换器架构实现。 在PyTorch中用不到50行代码就可以实现DETR的推理代码。 我们希望我们方法的简单性将吸引新的研究人员进入探测界。  

骨干:

从初始图像(3 color channels)开始,传统的CNN主干生成低分辨率的激活映射。 我们使用的典型值是C = 2048和H, 。 

Transformer编码器:

首先,1x1卷积将高级激活映射f的通道维数从C降低到更小的维数d,创建一个新的特征映射。 编码器需要一个序列作为输入,因此我们将z0的空间维度压缩为一维,从而得到d×HW特征映射。 每个编码器层都有一个标准的结构,由一个多头自注意模块和一个前馈网络(FFN)组成。 由于变压器体系结构是置换不变的,我们用固定位置编码[31,3]对其进行补充,并将其添加到每个注意层的输入中。 我们遵循补充材料中架构的详细定义,它遵循[47]中描述的定义。

Transformer解码器:

解码器遵循Transformer的标准架构,使用多头自定义和编码器-解码器注意机制转换尺寸为d的N个嵌入。 与原始Transformer的不同之处在于,我们的模型在每个解码器层并行解码N个目标,而Vaswani等人[47]使用自回归模型,每次预测一个元素的输出序列。 我们请不熟悉这些概念的读者参阅补充材料。 由于译码器也是置换不变的,所以N个输入嵌入必须不同才能产生不同的结果。 这些输入嵌入是我们称之为目标查询的学习位置编码,与编码器类似,我们将它们添加到每个注意层的输入中。 N个目标查询被解码器转换成一个输出嵌入。 然后,通过前馈网络(将在下一小节中描述)将它们独立解码为框坐标和类标签,得到N个最终预测。 利用自和编码器-解码器对这些嵌入的关注,模型利用它们之间的成对关系对所有目标进行全局推理,同时能够使用整个图像作为上下文。  

预测前向传播网络:

最后的预测是由一个带有ReLU激活函数和隐藏维数d的3层感知器和一个线性投影层计算的。 FFN预测输入图像的归一化中心坐标、框的高度和宽度,线性层使用softmax函数预测类标签。 由于我们预测一个固定大小的N个包围框集合,其中N通常比图像中感兴趣的物体的实际数量大得多,所以使用额外的特殊类标签∅来表示槽内未检测到物体。 这个类在标准目标检测方法中扮演着类似于“背景”类的角色。  

辅助的解码损失:

我们发现在训练过程中使用辅助损失在解码器中很有帮助,特别是帮助模型输出正确的类的目标数量。 在每一层译码器后加入预测FFN和匈牙利损失。 所有预测FFN共享它们的参数。 我们使用一个额外的共享层范数对来自不同解码器层的预测FFN输入进行归一化。  

4、实验

我们表明,与Faster R-CNN相比,DETR在对COCO的定量评价中取得了具有竞争力的结果。 然后,我们提供了一个详细的消融研究的结构和损失,有深度和定性的结果。 最后,为了证明DETR是一个通用和可扩展的模型,我们给出了全景分割的结果,在固定的DETR模型上只训练了一个小的扩展。 我们在https://github.com/facebookresearch/detr上提供代码和预先训练的模型来重现我们的实验。  

数据集:我们在COCO 2017检测和全景分割数据集上进行实验,其中包含118k训练图像和5k验证图像。 每个图像都用边界框和全景分割进行标注。 平均每幅图像有7个实例,在训练集中,在同一幅图像上,从小到大,每幅图像有63个实例。 如果未指定,则将AP报告为bbox AP,即超过多个阈值的积分度量。 为了与Faster R-CNN进行比较,我们报告了最后一个训练轮数的验证AP,对于消融,我们报告了过去10个轮数验证结果的中位数。  

技术细节:我们用AdamW训练DETR,设置初始Transformer的学习率为,主干为,重量衰减为。 所有Transformer权重都用Xavier init初始化,骨干使用来自torchvision的ImageNet预训练ResNet模型,并使用冻结批归一层。 我们报告了两种不同主干的结果:一个是ResNet-50,一个是ResNet-101。 相应的模型分别称为DETR和DETR- R101。 我们还增加了特征分辨率,方法是在主干的最后阶段增加一个扩张,并从这一阶段的第一次卷积中删除一个步幅。 相应的模型分别称为DETR-DC5和DETR-DC5- r101(膨胀C5阶段)。 这种修改将分辨率提高了2倍,从而提高了小目标的性能,但编码器的自关注成本增加了16倍,导致计算成本增加了2倍。 表1给出了这些模型的FLOPs与Faster R-CNN的完整比较。 

我们使用缩放增强,调整输入图像的大小,使最短的边至少为480个像素,最多为800个像素,最长的边最多为1333。 为了帮助通过编码器的自注意学习全局关系,我们还在训练期间应用随机作物增强,通过大约1个AP提高性能。具体来说,训练图像以0.5的概率裁剪为一个随机矩形patch,然后再次调整大小为800-1333。 训练Transformer时,默认dropout值为0.1。 在推断时间,一些插槽预测空类。 为了优化AP,我们使用第二个最高得分类,使用相应的置信度覆盖这些插槽的预测。 与过滤空槽相比,这将提高AP 2点。  在我们的消融实验中,我们使用300个轮数的训练计划,200个轮数后学习率下降10倍,其中单个轮数是对所有训练图像的一次遍历。 在16个V100 GPU上训练300个轮数的基线模型需要3天,每个GPU 4张图像(因此总批大小为64)。 对于与Faster R-CNN相比的较长的时间表,我们训练500个轮数,学习速率在400个轮数后下降。 与较短的计划相比,这个计划增加了1.5个AP。

End-to-End Object Detection with Transformers_第3张图片 4.1、和Faster R-CNN的比较

Transformers通常与Adam或Adagrad优化器训练,训练时间很长,中途退出,这对DETR也是如此。 然而,Faster R-CNN是用SGD训练的,数据增量很小,我们还没有发现Adam或dropout的成功应用。 尽管有这些差异,我们试图使Faster R-CNN基线更强。 为了使它与DETR对齐,我们在box损中添加广义IoU,同样的随机剪裁增加和长时间训练可以改善结果。 结果如表1所示。 在上面的部分,我们展示了Faster R-CNN结果,从Detectron2模型动物园与3x计划训练模型。 在中间部分,我们展示了相同模型的结果(带有\+"),但使用9x时间表(109个epoch)和所描述的增强进行训练,总共增加了1-2个AP。在表1的最后部分,我们展示了多个DETR模型的结果。 为了在参数数量上具有可比性,我们选择了一个具有6个Transformers和6个解码器层的模型,宽度为256,有8个注意头。 与FPN的Faster R-CNN一样,该模型有41.3M参数,其中23.5M参数在ResNet-50中,17.8M参数在Transformers中。 尽管Faster R-CNN和DETR都有可能通过更长的训练得到进一步提高,但我们可以得出结论,在相同数量的参数下,DETR可以与Faster R-CNN竞争,在COCO val子集上实现42 AP。 DETR实现这一目标的方式是通过改进(+7.8),但请注意,该模型仍然落后于(-5.5)。 相同参数数和相似的FLOP计数的DETR-DC5的AP较高,但也明显落后。 使用ResNet-101骨干的Faster R-CNN和DETR也显示了类似的结果。 

End-to-End Object Detection with Transformers_第4张图片

4.2、消融

Transformers解码器中的注意机制是建模不同检测特征表示之间关系的关键部件。 在消融分析中,我们将探讨架构的其他组件和损失如何影响最终性能。 我们选择基于ResNet-50的6编码器、6解码器层,宽度256的DETR模型进行研究。 该模型参数为41.3M,在短时间和长时间调度上AP分别达到40.6和42.0,运行速度为28 FPS,类似于具有相同主干的Faster R-CNN-FPN。

编码层的数量: 我们通过改变编码器层的数量来评估全局图像水平自我注意的重要性(表2)。没有编码器层,整体AP下降了3.9个点,在大型物体上更显著地下降了6.0个AP。 我们假设,通过使用全局场景推理,编码器是重要的解纠缠目标。 在图3中,我们可视化了训练模型的最后一个编码器层的注意力映射,聚焦于图像中的几个点。 编码器似乎已经分离了实例,这可能简化了解码器的目标提取和定位。  

解码器的层数:我们在每一译码层后都加入了辅助损失,因此,通过设计训练预测FFNs来预测每一译码层输出的目标。 我们通过评估在解码的每个阶段将预测的目标来分析每个解码器层的重要性(图4)。AP和在每一层之后都有所提高,在第一层和最后一层之间总共有非常显著的+8.2/9.5 AP提高。 由于它是基于集的损失,所以从设计上来讲不需要NMS。 为了验证这一点,我们运行了一个标准的NMS过程,每个解码器之后的输出都带有默认参数。 NMS提高了第一个解码器的预测性能。 这可以用这样一个事实来解释:Transformers的单个解码层不能计算输出元素之间的任何相互关系,因此它很容易对同一目标进行多次预测。 在第二层和随后的层中,激活的自我注意机制允许模型抑制重复的预测。 我们观察到,随着深度的增加,NMS带来的改善减弱。 在最后一层,我们观察到AP的小损失,因为NMS错误地删除了真实正样本的预测。 

End-to-End Object Detection with Transformers_第5张图片

类似于将编码器注意可视化,我们将解码器注意可视化在图6中,将每个预测目标的注意图着色为不同的颜色。 我们观察到,解码器的注意力是相当局部的,这意味着它主要关注目标的四肢,如头或腿。 我们假设在编码器通过全局关注分离实例后,解码器只需要关注端点来提取类和目标边界。  

 FFN的重要性:Transformers内部的FFN可以看作是1 × 1卷积层,使编码器类似于注意增强卷积网络[3]。 我们试图完全移除它,只在Transformers层中留下注意力。 通过将网络参数数量从41.3M减少到28.7M,只留下了10.8M的Transformers,性能下降了2.3 AP,因此我们认为FFN对于取得好的效果很重要。  

       End-to-End Object Detection with Transformers_第6张图片

位置编码的重要性:在我们的模型中有两种位置编码:空间位置编码和输出位置编码(目标查询)。 我们用固定编码和学习编码的各种组合进行实验,结果如表3所示。 输出位置编码是必需的,并且不能被删除,所以我们尝试在解码器输入处传递它们一次,或者在每个解码器关注层添加查询。 在第一个实验中,我们完全去除空间位置编码,并在输入时传递输出位置编码,有趣的是,模型仍然获得了超过32个AP,与基线相比损失了7.8个AP。 然后,我们在输入时传递固定的正弦空间位置编码和输出编码,就像在原始Transformers中那样,发现与直接传递位置编码相比,这会导致1.4 AP下降。 传递给注意力的习得空间编码也给出了类似的结果。 令人惊讶的是,我们发现在编码器中不传递任何空间编码只会导致AP下降1.3 AP。当我们将编码传递给注意时,它们会在所有层中共享,并且输出编码(目标查询)总是被学习的。  

考虑到这些烧蚀,我们得出结论,Transformers组件:编码器、FFN、多个解码器层和位置编码中的全局自注意都对最终目标检测性能有显著贡献。  

损失消融:为了评估匹配成本和损失的不同组成部分的重要性,我们训练了几个模型来开启和关闭它们。 损失有三个组成部分:分类损失、包围框距离损失和GIoU损失。 分类损失对于训练是必不可少的,不能关闭,所以我们训练了一个没有边界框距离损失的模型,和一个没有GIoU损失的模型,并将这三种损失都训练过的基线进行比较。 结果如表4所示。 GIoU本身的损失占了模型性能的大部分,在综合损失的情况下,仅比基线损失了0.7个AP。 使用没有GIoU的结果很差。 我们只研究了不同损失的简单烧蚀(每次使用相同权重),但其他方法结合它们可能会得到不同的结果。  

End-to-End Object Detection with Transformers_第7张图片

 End-to-End Object Detection with Transformers_第8张图片

End-to-End Object Detection with Transformers_第9张图片

 End-to-End Object Detection with Transformers_第10张图片

 4.3、分析

解码器输出槽分析:图7中我们可视化COCO 2017 val集合中所有图像的不同槽预测框。 DETR学习每个查询槽的不同专门化。 我们观察到,每个插槽都有针对不同区域和盒子大小的几种操作模式。 特别是,所有的槽都有预测图像范围内的框的模式(可以看到在情节中间对齐的红点)。 我们假设这与COCO中目标的分布有关。  

一般化到看不见的实例数量:COCO中的一些类不能很好地用同一图像中相同类的许多实例表示。 例如,在训练集中没有超过13只长颈鹿的图像。 我们创建了一个合成的image3来验证DETR的泛化能力(如图5所示)。我们的模型能够找到图像上所有的24只长颈鹿,并且很明显的不在分布范围内。 这个实验证实在每个目标查询中没有很强的类专门化。  

4.4、DETR用来进行全景分割

全景分割最近引起了计算机视觉界的广泛关注。 类似于将Faster R-CNN[37]扩展到Mask R-CNN[14],可以通过在解码器输出顶部添加掩码头自然地扩展DETR。 在本节中,我们演示了这种头部可以通过统一的方式处理东西和东西类来产生全视界分割。 我们在COCO数据集的全景注释上进行实验,该数据集除了80个东西类别外还有53个东西类别。  

End-to-End Object Detection with Transformers_第11张图片

 我们训练DETR用同样的方法来预测物品和物品类在COCO上的框。 为了使训练成为可能,需要预测框,因为匈牙利匹配是使用框之间的距离计算的。 我们还添加了一个掩码头,用于预测每个预测框的二进制掩码,如图8所示。 它将每个目标的Transformers解码器的输出作为输入,并在编码器的输出上计算该嵌入的多头(有M头)注意分数,以小分辨率为每个目标生成M个注意热图。 为了做出最终的预测并提高分辨率,我们使用了类似FPN的架构。 我们将在补充部分更详细地描述架构。 掩码的最终分辨率为4,每个掩码使用DICE/F-1损失和Focal损失独立监督。  

掩码头可以联合训练,也可以采用两个步骤的过程,我们只训练框的DETR,然后冻结所有的权重,只训练面罩头25个轮次。 实验上,这两种方法给出了相似的结果,我们报告了使用后一种方法的结果,因为它导致了更短的总壁钟时间训练。  

End-to-End Object Detection with Transformers_第12张图片为了预测最终的全景分割,我们简单地在每个像素上使用一个argmax掩码分数,并将相应的类别分配给产生的掩码。 这个过程保证最终的掩码没有重叠,因此,DETR不需要启发式,而该启发式通常用于对齐不同的掩码。   

训练细节:

我们按照包围框检测的方法训练DETR, DETR- DC5和DETR- R101模型,以预测COCO数据集中事物和事物类周围的框。 新的mask头经过25个轮次的训练(详见补充资料)。 在推理过程中,我们首先过滤出置信度低于85%的检测,然后计算每像素的argmax来确定每个像素属于哪个掩码。 然后,我们将相同材料类别的不同掩模预测折叠在一起,并过滤空的(小于4像素)。  

主要结果:

定性结果如图9所示。 在表5中,我们比较了我们统一的全景分割方法与几种已建立的不同处理事物的方法。 我们报告了全景质量(PQ)崩溃的事情()和东西()的分解。 我们还报告掩码AP(计算的东西类),在任何全景后处理(在我们的情况下,在采取像素的argmax之前)。 我们表明,DETR优于2017年COCO-val发布的结果,以及我们强大的PanopticFPN基线(为了公平比较,使用与DETR相同的数据增强训练)。 结果分解显示,在stuff类中,DETR尤其占主导地位,我们假设编码器注意力允许的全局推理是这个结果的关键因素。 对于事物类,尽管与掩码AP计算上的基线相比有多达8个mAP的严重不足,DETR获得了有竞争力的。 在COCO数据集的测试集上对该方法进行了评价,得到了46个PQ。 我们希望我们的方法将激励在未来的工作中探索全统一模型的全景分割。  

5、结论

提出了一种新的基于Transformers和二部匹配损失的有向集合预测目标检测系统DETR。 该方法在具有挑战性的COCO数据集上取得了与优化的Faster R-CNN基线相当的结果。 DETR是直接实现,并具有灵活的架构,很容易扩展到全视场分割,具有竞争性的结果。 此外,与Faster R-CNN相比,它在大物体上的表现要好得多,这可能要归功于自我注意对全局信息的处理。

 这种检测器的新设计也带来了新的挑战,特别是在小物体的训练、优化和性能方面。 目前的检测器需要几年的改进来处理类似的问题,我们期望未来的工作能够成功地解决这些问题。

你可能感兴趣的:(计算机视觉,语音识别,人工智能,深度学习)