百度权重5的网站能卖多少钱,做网站建设有前景吗,做网络优化的公司排名,佛山优化网站推广0.论文摘要
摘要——通过Transformer model编码器——解码器架构#xff0c;用于目标检测的检测Transformer model#xff08;DETR#xff09;达到了与Faster R-CNN相比具有竞争力的性能。然而#xff0c;使用scratch transformers训练#xff0c;DETR需要大规模的训练数…
0.论文摘要
摘要——通过Transformer model编码器——解码器架构用于目标检测的检测Transformer modelDETR达到了与Faster R-CNN相比具有竞争力的性能。然而使用scratch transformers训练DETR需要大规模的训练数据和极长的训练时间表即使是在COCO数据集上。受预训练转换器在自然语言处理中取得巨大成功的启发我们提出了一种新的前置任务称为无监督预训练DETRUP-DETR中的随机查询图像块检测。具体来说我们从给定的图像中随机裁剪图像块然后将它们作为查询提供给解码器。该模型被预先训练以从输入图像中检测这些查询图像块。在预训练期间我们解决了两个关键问题多任务学习和多查询定位。1为了权衡前置任务中的分类和定位偏好我们发现冻结CNN主干是预训练Transformer成功的先决条件。2为了实现多查询定位我们开发了带有注意掩码的多查询图像块检测UP-DETR。此外UP-DETR还为微调目标检测和一次性检测任务提供了统一的视角。在实验中UP-DETR算法在目标检测、单次检测和全景分割方面具有更快的收敛速度和更高的平均精度显著提高了DETR算法的性能
1.研究背景
检测Transformer modelDETR[1]是一个最近的框架它将目标检测视为通过Transformer model编码器——解码器的直接集合预测问题[2]。没有手工设计的样本选择[3]和非最大抑制NMSDETR甚至可以通过更快的RCNN达到有竞争力的性能[4]。然而DETR带来了训练和优化的挑战即使在COCO数据集上也需要大规模的训练数据集和极长的训练时间表[5]。此外发现DETR在PASCAL VOC数据集[6]中表现不佳该数据集的训练数据不足实例比COCO少。图1示出了DETR和我们的无监督预训练DETRUP-DETR的PASCAL VOC学习曲线。UP-DETR比DETR收敛得更快AP更高。 图1具有ResNet-50主干的DETR和UP-DETR的PASCAL VOC学习曲线AP50。在这里他们在trainval0712上接受训练并在test2007上接受评估。我们绘制了短训练时间表和长训练时间表对于这两个时间表学习率分别在100和200个轮次降低。UPDETR比DETR收敛得更快AP更高。
通过精心设计的前置任务无监督预训练模型在自然语言处理如GPT[7]、[8]和BERT[9]和计算机视觉如MoCo[10]、[11]和SwAV[12]方面都取得了显著进展。在DETRCNN主干具有23.2M参数的ResNet-50[13]已经被预训练以提取良好的视觉表示但是具有18.0M参数的Transformer model模块还没有被预训练。因此在DETR对Transformer model进行预培训是一个简单的想法。尽管无监督视觉表征学习如对比学习在最近的研究中引起了很多关注[10]、[14]、[15]、[16]、[17]、[18]但现有的前置任务不能直接应用于DETR Transformer model的预训练。我们从以下角度总结了两个主要原因
1不同的体系结构最近流行的无监督学习方法被设计用于主干网络特征提取器预训练[10]、[14]、[15]来提取图像特征。然而DETR由一个主干和一个Transformer model编码器——解码器组成。DETR中的Transformer model旨在将特征转化为一组检测目标而不是提取视觉表示。
2不同的特征偏好DETR中的Transformer model主要集中在空间定位学习上。具体来说Transformer model用于将图像的实例级信息转换为坐标。至于解码器中的自我关注它执行一种类似NMS的机制来抑制重复的边界框。然而现有的前置任务是为基于图像实例[10]、[14]、[15]或基于聚类[16]、[17]、[18]的对比学习而设计的。这些对比学习方法主要侧重于特征识别而不是空间定位。
如上所述我们需要构建一个空间定位相关的任务来预训练DETR中的Transformer model。为了实现这一想法我们提出了一种无监督预训练DETRUP-DETR它具有一种新的无监督前置任务称为随机查询图像块检测以在没有任何人工注释的情况下预训练检测器——我们从给定图像中随机裁剪多个查询图像块并预训练用于目标检测的Transformer model以预测给定图像中这些查询图像块的边界框。在训练前程序中我们处理以下两个关键问题
1多任务学习目标检测是目标分类和定位的耦合。为了避免查询图像块检测破坏分类特征我们引入了冻结预训练主干和图像块特征重建来保持Transformer model的特征区分。在我们的实验中我们发现冻结的预训练主干网络是预训练中保持特征辨别的最重要的步骤。 2多查询定位不同的目标查询关注不同的位置区域和框大小。不同的目标查询之间有一种类似NMS的机制。考虑到这一特性我们提出了一种带有注意力掩码的多查询图像块检测任务。
此外所提出的UP-DETR还为目标检测和单次检测提供了统一的视角。只需改变解码器的输入我们就可以轻松地对目标检测和单次检测进行微调。在我们的实验中我们用随机查询图像块检测任务预训练DETR。在PASCAL VOC[6]和COCO[5]目标检测数据集上使用完全相同的架构我们的UP-DETR比DETR表现得好得多具有更快的收敛速度和更好的平均精度。此外UP-DETR在单次检测和全景分割方面也具有最先进的性能。
2.相关工作
2.1 目标检测
正负样本分配是目标检测框架的重要组成部分。两阶段检测器[4]、[19]和一部分一阶段检测器[20]、[21]通过手工制作的多尺度锚构建正负样本具有IoU阈值和模型置信度。无锚单阶段检测器[22]、[23]、[24]通过目标中心网格将正样本和负样本分配给特征图。张等证明它们之间的性能差距是由于正样本和负样本训练的选择[3]。DETR[1]是一个最近的目标检测框架它在概念上更简单没有通过直接集合预测[25]手工制作的过程它自动分配正样本和负样本。
除了正负样本选择问题分类和定位之间的权衡也是目标检测的难题。张等说明分类和定位之间存在域错位[26]。吴等[27]宋等[28]设计用于分类和定位的两种头部结构。他们指出这两个任务可能有相反的特性偏好。对于我们的预训练模型它具有分类和定位的共同特征。因此在这两项任务之间进行良好的权衡是至关重要的。
2.3 无监督预训练
无监督预训练模型通常遵循两个步骤以前置任务对大规模数据集进行预训练并对下游任务的参数进行微调。对于无监督的预训练前置任务总是被发明出来的我们感兴趣的是学习到的中间表征而不是前置任务的最终表现。为了执行无监督的预训练有各种精心设计的前置任务。对于自然语言处理利用离散标记之间的时间序列关系提出了屏蔽语言模型[9]、置换语言模型[29]和自回归模型[7]、[8]来预训练用于语言表示的Transformer[2]。对于计算机视觉无监督预训练模型最近在视觉表示学习方面也取得了显著进展在下游任务中优于有监督的学习模型。基于实例的辨别任务[30]、[31]和基于聚类的任务[17]是最近研究中两种典型的前置任务。基于实例的辨别任务主要取决于使用非参数对比学习[32]保持不同大小的负样本[10], [14], [15]。实例区分也可以实现为参数实例分类[16]。此外基于聚类的任务在离线[17]、[18]或在线聚类程序[12]上有所不同。我们提出的随机查询图像块检测是一种新的无监督前置任务旨在预训练基于DETR架构的Transformer model进行目标检测。
2.3 视觉Transformer
Transformer不仅用于检测器也应用于主干设计。开创性的工作是视觉Transformer modelViT[33]它对非重叠图像图像块应用Transformer model进行图像分类。与具有超大规模训练数据集的卷积神经网络相比它实现了速度——精度的权衡。基于这项工作有很多工作修改了ViT架构以获得更好的图像分类性能[34]、[35]、[36]。虽然ViT和DETR都使用Transformer但它们的设计用途不同。ViT利用Transformer捕捉图像块之间的关系进行图像分类因此图像块之间存在自注意力。另一方面DETR有三个不同的注意力部分。DETR编码器中的自注意力功能类似于ViT旨在捕捉图像块之间的全局关系。然而DETR解码器中的交叉注意力和自注意力是为边界框的集合预测而设计的。因此现有的主干预训练任务[10]、[11]、[37]不能简单地应用于DETR。
3.UP-DETR
所提出的UP-DETR包含预训练和微调过程aTransformer model在大规模数据集例如我们实验中的ImageNet上无监督地预训练没有任何人工注释b利用标记数据对整个模型进行微调该标记数据与下游检测相关任务例如目标检测和单次检测上的原始DETR[1]相似。
3.1 预训练
在本节中我们主要描述如何使用随机查询图像块检测任务对Transformer model编码器和解码器进行预训练。如图2所示随机查询图像块检测的主要思想简单而有效。
编码器。首先给定输入图像使用CNN主干提取具有特征 f ∈ R C × H × W f ∈ \mathbb{R}^{C×H×W} f∈RC×H×W的视觉表示其中 C C C是通道尺寸 H × W H × W H×W是特征图大小。这里图像可以被视为由CNN提取器构建的长度为 H × W H × W H×W的令牌序列。然后特征 f f f加入二维位置编码并传递给多层Transformer model编码器这与DETR完全相同。
解码器。与DETR不同的是在我们的预训练过程中我们从输入图像中随机裁剪图像块作为查询并记录查询的相应坐标、宽度和高度作为地面真实值。因此我们的预训练过程可以在无监督/自我监督的范式中完成。具体来说对于随机裁剪的查询图像块具有全局平均池化GAP的CNN主干提取图像块特征 p ∈ R C p ∈ \mathbb{R}^C p∈RC在将其传递到Transformer model解码器之前将其展平并用目标查询 q ∈ R C q ∈ \mathbb{R}^C q∈RC补充。最后解码器被训练来预测与输入图像中随机查询图像块的位置相对应的边界框。在预训练过程中查询图像块的特征被添加到多个目标查询中这些查询被馈送到解码器。请注意查询图像块指的是从输入图像裁剪的图像块而目标查询指的是位置嵌入。可以理解为要求模型通过这些可能的位置作为目标查询嵌入找到查询图像块。此外输入图像和查询图像块的CNN参数在整个模型中是共享的。
多查询图像块。对于微调目标检测任务每个图像中有多个目标实例例如COCO数据集中每个图像平均7.7个目标实例。换句话说解码器Transformer model中的自我关注模块在训练期间学习类似NMS的机制。为了使预训练和微调之间保持一致UP-DETR需要在不同的目标查询之间构建一个具有可调框抑制比的竞争。幸运的是UP-DETR可以很容易地扩展到多查询图像块检测。假设随机裁剪有M个查询图像块和N个目标查询我们将N个目标查询分成M组每个查询图像块分配给N/M个目标查询。在图2中我们说明了单查询图像块检测和多查询图像块检测。在我们的预训练实验中我们默认采用N100和M10。 图2通过随机查询图像块检测的UP-DETR的预训练过程。a只有一个单查询图像块我们将其添加到所有对象查询中。b对于多查询图像块我们通过对象查询洗牌和注意力掩码将每个查询图像块添加到N/M个对象查询中。注意为了整洁CNN不是在b的解码器中绘制的。
匹配。该模型用对应于N个目标查询NM的固定集合 y ^ { y ^ i } i 1 N \hat{y} \{\hat{y}_i\}^N_{i1} y^{y^i}i1N推断预测。换句话说对于这M个查询图像块我们得到N对边界框预测。对于检测任务结果对预测目标的排列是不变的。因此在DETR[1]之后我们使用匈牙利算法[25]计算预测 y ^ σ ^ ( i ) \hat{y}_{\hat{σ}(i)} y^σ^(i)和地面真实 y i y_i yi之间的相同匹配成本其中 σ ^ ( i ) \hat{σ}(i) σ^(i)是通过最优二分匹配计算的 y i y_i yi的指数。
损失。对于损失计算预测结果 y ^ ( c ^ i ∈ R 2 , b ^ i ∈ R 4 , p ^ i ∈ R C ) \hat{y} ( \hat{c}_i ∈ \mathbb{R}^2, \hat{b}_i ∈ \mathbb{R}^4, \hat{p}_i ∈ \mathbb{R}^C ) y^(c^i∈R2,b^i∈R4,p^i∈RC)由三个元素组成 c ^ i \hat{c}_i c^i是每个目标查询匹配查询图像块 ( c ^ i 1 ) (\hat{c}_i 1) (c^i1)或不匹配查询图像块 ( c ^ i 0 ) (\hat{c}_i 0) (c^i0)的二元分类 b ^ i \hat{b}_i b^i是定义框中心坐标及其宽度和高度为 { x , y , w , h } \{x, y, w, h\} {x,y,w,h}的向量它们相对于图像大小重新缩放而对于ResNet-50主干网络C2048通常为 p ^ i \hat{p}_i p^i的重构特征。根据上述定义所有配对的匈牙利损失定义为 这里 L c l s \mathcal{L}_{cls} Lcls是两个类上的交叉熵损失匹配查询图像块与不匹配类平衡权重 λ { c ^ i 1 } 1 λ_{\{\hat{c}_i 1\}} 1 λ{c^i1}1和 λ { c ^ i 0 } M / N λ_{\{\hat{c}_i 0\}} M/N λ{c^i0}M/N。 L b o x \mathcal{L}_{box} Lbox是l1损失和广义IoU损失的线性组合具有与DETR相同的权重超参数[1]。 L r e c \mathcal{L}_{rec} Lrec是本文中提出的重建损失仅在预训练期间使用。它旨在平衡预训练期间分类和定位的特征偏好这将在3.1.2节中进一步讨论。
3.1.1 冻结预训练主干
在我们的实验中我们发现CNN主干严重影响Transformer model预训练。换句话说如果我们从头开始预训练CNN主干和Transformer model以及随机查询图像块检测模型不能很好地收敛并且性能差。这个问题也出现在最初的DETR中.
此外目标检测是目标分类和定位的耦合其中这两个任务总是具有不同的特征偏好[26]、[27]、[28]。然而我们的预训练任务只关注定位而不是特征分类。因此在我们的实验中我们在Transformer model预训练期间冻结了预训练CNN主干。稳定的主干参数有利于Transformer model的预训练加快了模型的预训练过程。在4.5.2节中我们将通过实验分析和验证它们的必要性。我们认为冻结的预训练主干是UP-DETR成功的最重要的一步。
3.1.2 技巧
在我们的初步实验中我们用我们的先验知识尝试了一些随机查询图像块检测方面的技巧。在这里我们讨论预训练期间的两个技巧它们是合理的但对UP-DETR的成功并不关键。
图像块特征重建。我们的预训练任务只关注定位而不是特征分类。换句话说缺少分类任务的显式分支。因此在冻结预训练主干的情况下我们提出了一个特征重建损失项 L r e c \mathcal{L}_{rec} Lrec以在定位预训练期间保留分类特征。这个损失项的动机是在将特征传递给Transformer model后保留CNN提取的特征判别信息。 L r e c \mathcal{L}_{rec} Lrec是由CNN主干提取的l2归一化图像块特征之间的均方误差其定义如下 对于冻结的CNN主干图像块特征重建略微提高了微调性能如第4.5.2节所示。
注意力掩码。所有查询图像块都是从图像中随机裁剪的。因此它们是独立的没有任何关系。例如第一次裁剪的边界框回归与第二次裁剪无关。为了满足查询图像块的独立性我们利用注意掩码矩阵来控制不同目标查询之间的交互。掩码矩阵 X ∈ R N × N \mathbf{X} ∈ \mathbb{R}^{N×N} X∈RN×N被添加到解码器中的自我关注的softmax层[2]中作为 s o f t m a x ( Q K T / d k X ) V softmax(\mathbf{QK}^T/\sqrt{d_k} \mathbf{X})\mathbf{V} softmax(QKT/dk X)V其中 Q K V \mathbf{QKV} QKV并且它们引用解码器中的目标查询表示的相同集合。与UniLM[38]中的令牌掩码类似注意力掩码定义为 其中 X i , j X_{i,j} Xi,j确定目标查询 q i q_i qi是否参与与目标查询 q j q_j qj的交互。为了直观理解图2b中的注意力掩码分别显示对应于3中的0和−∞的1和0。如第4.5.3节所示注意力掩码也会略微导致较低的损耗。 3.2 微调
UP-DETR在检测相关任务方面提供了统一的视角。通过改变模型输入可以很容易地将其微调为目标检测或一次性检测。图3示出了目标检测和单次检测的微调过程。CNN、Transformer model编码器——解码器和目标查询对于目标检测和一次性检测任务是完全相同的它们是从预训练过程中初始化的。利用标注的数据对整个模型权重进行了微调。这两个下游任务在架构上的唯一区别是Transformer model解码器的输入。注意在微调过程中从不使用特征重建损失。 图3UP-DETR对目标检测和单次检测的微调过程。唯一的区别是Transformer model解码器的输入。(a)物体探测。有多个目标查询可学习的嵌入被输入解码器。(b)单次检测。输入查询由共享CNN提取该特征被添加到目标查询中目标查询被馈送到解码器中。
3.2.1 目标检测
给定一个输入图像模型需要预测具有边界框和相应类别的目标集。因此UP-DETR的微调过程与DETR的训练过程完全相同。有多个目标查询可学习的嵌入被用作输入解码器的输入。这里不同的目标查询学习不同的空间专门化和区域偏好。利用目标查询的设计该模型可以并行预测多个目标。利用有监督的目标检测数据我们计算模型预测和标注的地面真实之间的匹配代价。
3.2.2 单次检测
给定输入图像和查询图像模型需要预测带有边界框的目标。目标应该在语义上与查询图像相似。通常查询图像是由同一类别的不同图像拼接而成的。对于一次性检测查询图像由CNN提取与输入图像共享图像块特征被添加到所有目标查询中。在一次性检测中我们只关心边界框的匹配结果即是否与查询匹配而不关心目标检测中的具体类别。因此在损失和匹配成本计算中一次检测的分类输出是二进制的而不是目标检测的多类别分类。
4.实验
我们使用ImageNet[39]预训练模型并在PASCAL VOC[6]和COCO[5]上微调参数。在所有实验中我们用ResNet-50主干、6个Transformer model编码器、6个宽度为256的解码器层和8个注意力头实现了UP-DETR模型41.3 M参数。参考DETR的开源代码我们在提出的UP-DETR和我们的DETR重新实现中使用相同的超参数。我们将R50和R101注释为ResNet-50和ResNet-101的缩写。请注意UPDETR和DETR具有完全相同的模型架构匹配成本和损失计算。因此它们具有完全相同的FLOPs、参数和运行FPS。
训练前设置。UP-DETR是在没有任何ImageNet标签的1.28 M ImageNet训练集上无监督预训练的。CNN主干ResNet-50也用SwAV策略进行无监督预训练[12]其参数在Transformer model预训练期间被冻结。由于来自ImageNet的输入图像相对较小我们调整其大小使最短边在[320,480]像素内而最长边最多为600像素。对于给定的图像我们裁剪具有随机坐标、高度和宽度的查询面片其大小调整为128 × 128像素并使用SimCLR风格[14]进行变换没有水平翻转包括随机颜色失真和高斯模糊。在我们工作的早期阶段我们对不同的抽样策略进行了实验即网格抽样和具有不同超参数的随机抽样。然而我们注意到不同的采样策略之间没有显著差异。因此我们使用随机抽样来说明我们的方法的泛化能力。此外AdamW[40]用于优化上DETR初始学习速率为 1 × 1 0 − 4 1 × 10^{−4} 1×10−4权重衰减为 1 × 1 0 − 4 1 × 10^{−4} 1×10−4。我们在八个Nvidia V100 GPUs上使用256的小批量大小来训练60个epoch的模型在40个epoch学习率乘以0.1。
微调设置。模型用预先训练的UP-DETR参数初始化并在PASCAL、VOC和COCO上针对所有参数包括CNN进行微调。我们对Transformer model的微调初始学习率为 1 × 1 0 − 4 1 × 10^{−4} 1×10−4CNN主干的初始学习率为 5 × 1 0 − 5 5 × 10^{−5} 5×10−5其他设置与DETR[1]相同在八个V100 GPU上每个GPU有四个图像。对于150/300个epoch该模型用短/长时间表进行微调并且在100/200个epoch学习速率分别乘以0.1。
预训练和微调之间的差距。目标级预训练可以提高目标检测任务中的微调性能[41]但这种方法通常需要目标先验知识例如在预训练期间使用选择性搜索算法来获得目标建议。在我们的工作中我们在图像块级别对ImageNet数据集上的模型进行预训练因为这是在ImageNet上进行预训练并传输到COCO或VOC数据集的常见做法[10][37]。但是预训练和微调之间的差距总是存在的。例如ImageNet图像大多包含一个目标但COCO图像总是包含多个目标。ImageNet图像的图像大小相对较小但COCO图像的图像大小较大。此外在这项工作中预训练任务是在随机抽样的图像块级别进行的但微调任务是在标记数据上监督的。虽然前面提到的预训练和微调之间的差距无法消除但我们的方法在没有任何先验知识的情况下使用随机抽样策略具有良好的泛化能力。
4.1 PASCAL VOC目标检测
设置。该模型在PASCAL VOC trainval071216.5 k图像上进行了微调并在test2007上进行了评估。我们报告了COCO风格的指标包括AP、AP50默认VOC指标和AP75。为了进行全面的比较我们还报告了R50-C4主干的Faster R-CNN的结果[12]其性能比R50C5阶段好得多[42]。与R50相比具有R50-C4的DETR显著增加了计算成本因此我们对具有R50主干的UP-DETR进行了微调。尽管如此UP-DETR仍然表现良好。为了强调预训练模型的有效性我们报告了DETR来自随机初始化的Transformer model和UP-DETR来自预训练的Transformer model的150和300个时期的结果。
结果。表1显示了PASCAL VOC数据集上的目标检测结果。我们发现DETR在PASCAL VOC上表现不佳在所有指标上都比Faster R-CNN差得多。由于VOC中相对小规模的数据UP-DETR的预训练Transformer model显著提高了DETR在短时间表和长时间表中的性能对于150300个时期分别高达6.23.1AP、5.22.1AP50和7.53.7AP75。此外UP-DETRR50实现了与具有更好AP的Faster R-CNNR50-C4相当的结果。我们发现在AP50和AP75中UP-DETR和DETR的表现都比Faster R-CNN稍差。这可能来自不同比例的特征图C4用于更快的R-CNN和没有NMS后处理NMS降低AP但略微提高AP50。 表1在PASCAL VOC trainval0712上训练并在test2007上评估的物体检测结果。DETR和上DETR使用R50主干Faster R-CNN使用R50-C4主干。括号中的值是与相同训练计划下的DETR相比的差距。
图4a示出了关于VOC的APCOCO风格学习曲线。UP-DETR显著加快了模型的收敛速度。在学习率降低后UP-DETR显著提高了DETR的性能AP有了很大的改善。注意到UPDETR在150个epoch后获得56.1 AP然而它的对手DETRscratch Transformer model即使在300个epoch后也仅获得54.1 AP并且甚至在更长的训练时间内也赶不上。它表明在训练数据不足的情况下即VOC上的16.5 K图像预训练Transformer model是不可或缺的。 图4PASCAL VOC和COCO数据集上DETR和UP-DETR的APCOCO风格学习曲线。模型用SwAV预训练ResNet-50训练150和300个epoch学习率分别在100和200个epoch降低。
4.2 COCO目标检测
设置。该模型在COCO train2017118 K图像上进行微调并在val2017上进行评估。COCO数据集中有许多小目标DETR在这些数据集中表现不佳[1]。因此我们报告AP、AP50、AP75、 A P S AP_S APS、 A P M AP_M APM和 A P L AP_L APL进行全面比较。此外我们还报告了具有短3 ×和长9 ×训练时间表的特征金字塔网络FPN的高度优化的更快R-CNN的结果已知其改善了性能结果[46]。为了避免受监督的CNN带来补充信息我们使用SwAV预训练CNN作为UP-DETR的主干没有任何人工注释。
结果。表2显示了COCO数据集上的目标检测结果。对于150个epoch的调度UP-DETR比DETRSwAV CNN高0.8 AP并且实现了与Faster R-CNNR50-FPN3倍调度相当的性能。在300epoch调度下UP-DETR在COCO上获得43.1 AP比DETRSwAV CNN好1.0 AP比Faster R-CNNR50-FPN好1.1 AP9 ×调度。总的来说UP-DETR在短时间和长时间训练的情况下在探测小型、中型和大型物体方面全面优于DETR。遗憾的是由于缺乏类似FPN的架构UP-DETR在APS中仍然稍微落后于Faster R-CNN[43]。 表2在COCO train2017上训练并在val2017上评估的物体检测结果。Faster R-CNN、DETR和UPDETR是在可比的设置下执行的。−对于在COCO test-dev上评估的值该值始终略高于val2017。括号中的值是与相同训练计划的DETRSwAV CNN相比的差距。
图4b示出了COCO上的AP学习曲线。UP-DETR在150和300epoch调度方面都优于DETR收敛速度更快。在降低学习率之前性能的提高更加明显。在降低学习率后UP-DETR仍然领先DETR 1.0 AP的提升。这表明即使在足够的训练数据即COCO上的118K图像下训练前Transformer model仍然是不可或缺的。
4.3 单次检测
设置。给定一个查询图像图像块其类标签不包括在训练数据中一次性检测旨在检测目标图像中具有相同类的所有实例。一次性检测是一个很有前途的研究方向可以检测看不见的实例。通过向解码器提供查询图像块UP-DETR自然兼容一次性检测任务。因此oneshot检测也可以视为UP-DETR的下游微调任务。遵循与[50]相同的一次性检测设置我们裁剪出地面真实边界框作为查询图像图像块。在微调过程中对于给定的图像我们随机采样该图像中存在的seen类的查询图像块并根据查询图像块过滤训练场地真实值。在评估过程中我们首先用目标图像ID的特定随机种子随机洗牌类存在于图像中的查询图像块然后选取前五个查询图像块最后平均它们的AP分数。对每个图像中的每个现有类进行评估然后进行平均。洗牌过程确保结果在稳定的统计中进行评估。我们在具有300个epoch的VOC 2007train val和2012 Train val集上训练/微调DETR/UP-DETR并在VOC 2007测试集上进行评估。我们遵循与李等相同的设置。[51]。
结果。表3显示了与最先进的一次性检测方法的比较。UP-DETR显著提升了DETR在可见22.8 AP50增益和不可见15.8 AP50增益等级上的性能。此外在单次检测的可见最小7.9 AP50增益和不可见最小4.0 AP50增益类别中UP-DETR优于所有比较的方法。这进一步验证了我们的预训练前置任务的有效性。‘ 表3在VOC 2007 Train val和2012 Train val集上训练并在VOC 2007测试集上评估的一次性检测结果。
4.4 全景分割
原始的DETR可以很容易地扩展到全景分割[52]通过在解码器输出的顶部添加一个掩模头。遵循与DETR[1]相同的全景分割训练模式我们使用COCO全景分割注释额外材料注释对UP-DETR进行微调仅用于具有300个时期的框注释。然后我们冻结DETR的所有权重对面具头进行25个epoch的训练。我们发现UP-DETR也提高了全景分割的微调性能。表4显示了与使用ResNet-50主干的全景分割的最新方法的比较。如图所示UP-DETR以0.4 PQ、0.5 PQth和1.4 APseg优于DETR3。 表4具有相同ResNet-50主干的COCO val2017数据集上的全景分割结果。Carion等人重新实现了PanopticFPN、UPSNet和DETR的结果。[1]。
4.5 消融实验
在消融实验中我们训练/预训练15个时期的DETR/上DETR模型在第10个时期学习率乘以0.1。我们按照第4.1节中的设置用150个epoch对PASCAL VOC上的UP-DETR模型进行了微调。因此消融的平均精度结果相对低于第4.1节所示。
我们用单查询图像块M1和多查询图像块M10对UP-DETR模型进行预训练。如上所述设置其他超参数。
表5显示了单查询图像块和多查询图像块的结果。与DETR相比无论是单查询图像块还是多查询图像块UP-DETR在所有AP指标上都远远超过它。当用不同数量的查询图像块预训练UP-DETR时UP-DETRM10在微调任务上比UP-DETRM1表现得更好尽管在PASCAL VOC上每个图像大约有2.3个实例。因此我们对PASCAL VOC和COCO采用相同的M10的上DETR而不是对不同的下游任务改变M。 表5 PASCAL VOC上具有单查询图像块和多查询图像块的预训练模型的消融结果。括号中的值是与相同训练计划下的DETR相比的差距。
4.5.2 冻结CNN和特征重建
为了说明冻结CNN主干和UP-DETR的图像块特征重建的重要性我们用是否冻结CNN和是否添加特征重建的不同组合预训练了四个不同的模型。请注意所有模型包括DETR都使用ImageNet上预先训练好的CNN。表6显示了DETR的AP50和具有150个时期的PASCAL VOC上的四个不同的预训练模型。如表6所示并不是所有的预训练模型都比DETR好但是预训练模型b和d比其他模型表现得更好。更重要的是在没有冻结CNN的情况下预训练模型a和c的表现甚至比DETR更差。这证实了冻结的预训练骨干对于预训练Transformer model是必不可少的。此外进一步证实了前置任务随机查询图像块检测可能会削弱预训练CNN的特征辨别能力定位和分类具有不同的特征偏好[26]、[27]、[28]。 表6冻结CNN的消融研究和AP50预训练模型的特征重建。实验在150个epoch的PASCAL VOC上进行微调。
图5绘制了DETR和四个不同的预训练模型的AP50学习曲线其中图5中的模型一对一地对应于表6中的模型。如图5所示dUP-DETR模型通过特征重建在早期训练阶段实现更快的收敛速度。实验结果表明随机查询图像块检测是对比学习的补充可以获得更好的视觉表示。前者用于位置嵌入的空间定位后者用于实例或聚类分类。值得注意的是具有冻结CNN和特征重建的UP-DETR严重依赖于预先训练的CNN模型例如SwAV CNN。因此我们认为将随机查询图像块检测和对比学习结合起来进一步研究UP-DETR从头开始预训练整个DETR模型是一个有前途的方向。 图5DETR的学习曲线AP50和用150个时期训练的PASCAL VOC上的四个不同的预训练模型。这些模型与表6中的模型一一对应。
4.5.3 注意力掩码
在下游任务微调后我们发现在有和没有注意力面具的情况下预训练的上DETR模型之间没有明显的差异。代替微调结果我们在前置任务中绘制损失曲线来说明注意力面具的有效性。如图6所示在早期训练阶段没有注意力掩模的UP-DETR具有较低的损失。然而随着模型的收敛具有注意力掩模的UP-DETR以较低的损失超过了它。这些曲线乍一看似乎很奇怪但它是合理的因为损失是通过最优二分匹配计算的。在早期训练阶段模型不收敛没有注意掩模的模型需要更多的目标查询来引起注意。直观地说由于引入了更多的目标查询该模型更容易优化。然而对于没有注意力掩码的模型查询图像块和基本事实之间存在不匹配。随着模型的收敛注意屏蔽逐渐生效屏蔽了不相关的查询图像块从而降低了丢失率。
4.6 可视化
4.6.1 预训练
为了进一步说明预训练模型的能力我们将给定图像块查询的无监督定位结果可视化。具体来说对于给定的图像我们手动裁剪几个目标图像块并对它们应用数据增强。然后我们将这些图像块作为查询提供给模型。最后我们用分类置信度大于0.9的边界框来可视化模型输出。该过程可以被视为无监督的一次性检测或基于深度学习的模板匹配。如图7所示通过随机查询图像块检测进行预训练UP-DETR成功地学习定位给定查询图像块的边界框并抑制重复的边界框。结果表明采用随机查询图像块检测的UP-DETR算法可以有效地学习目标定位能力。 图7具有UP-DETR的图像块查询的无监督定位。第一行是带有预测边界框的原始图像。第二行是通过数据增强色彩抖动和大小调整从原始图像裁剪的查询图像块。边界框左上角的值是模型置信度。如图所示在没有任何注释的情况下UP-DETR学习以无监督的方式检测给定查询的图像块。
4.6.2 微调
图8示出了目标检测和单次检测的微调模型的可视化结果。我们的微调模型在这两项任务上表现良好。对于目标检测任务该模型被微调以检测具有边界框和类的目标。这些类例如图8a中的大象、鸟、人必须存在于训练集中。不同的是对于一次性检测给定输入图像和查询图像模型只预测具有边界框和0/1标签匹配与否的相似目标。通过改变Transformer model解码器的输入这两个任务可以统一在我们的UP-DETR框架中。 图8目标检测和一次性检测微调实验的可视化结果。这两个模型用相同的UP-DETR模型进行了微调。a利用输入图像目标检测模型检测具有边界框的目标其类存在于训练集中。b给定输入图像和查询图像一次性检测模型检测与查询图像语义相似的目标具有匹配的标签而不是类名。
5.总结
我们提出了一种新的前置任务称为随机查询图像块检测以无监督地预训练DETR中的Transformer model。在无监督预训练的情况下UP-DETR在PASCAL VOC上以更高的精度和更快的收敛速度显著优于DETR。对于具有足够训练数据的挑战性COCO数据集即使训练时间表很长UP-DETR仍然超过DETR。这表明预训练Transformer model对于目标检测中不同规模的训练数据是不可或缺的。此外UP-DETR还为一次性检测提供了统一的视角。它显著提高了一次性检测任务的性能。从无监督预训练模型的角度来看预训练CNN主干和预训练Transformer model现在是分开的。最近对无监督预训练的研究主要集中在对比学习的特征辨别上而不是空间定位的专门模块。但是在UP-DETR预训练中前置任务主要是通过位置编码和可学习目标查询来设计图像块定位的。我们希望一种先进的方法可以将CNN和Transformer model预训练集成到一个统一的端到端框架中并将UP-DETR应用于更多的下游任务例如少数样本目标检测和目标跟踪。