UP-DETR 无需人工标注,随机裁剪多个 Query Patch ,并预训练 Transformer 进行目标检测 !

2024-08-08 11:22:20 浏览数 (2)

1 Introduction

Detection TRansformer (DETR) [1]

DETR是一种最近的框架,它将目标检测视为一个通过 Transformer 编码器-解码器[2]直接预测集合的问题。在没有手动设计的样本选择[3]和非最大值抑制(NMS)的情况下,DETR甚至可以达到与Faster R-CNN[4]相竞争的性能。然而,DETR在训练和优化方面存在挑战,它需要大规模的训练数据集以及即使在COCO数据集[5]上也需要极长的训练时间表。此外,研究发现,在训练数据不足且实例数量少于COCO的PASCAL VOC数据集[6]上,DETR的表现不佳。图1展示了DETR和作者提出的无监督预训练DETR(UP-DETR)在PASCAL VOC上的学习曲线。与DETR相比,UP-DETR以更高的AP值更快地收敛。

通过精心设计的预训练任务,无监督预训练模型在自然语言处理(例如GPT[7],[8]和BERT[9])和计算机视觉(例如MoCo[10],[11]和SwAV[12])方面取得了显著进展。在DETR中,卷积神经网络主干(ResNet-50[13],参数约为)已经被预训练以提取良好的视觉表征,但拥有约参数的 Transformer 模块尚未被预训练。因此,预训练DETR中的 Transformer 是一个直接的想法。

尽管无监督视觉表征学习(例如对比学习)在最近的研究中受到很多关注,现有的预训练任务不能直接应用于预训练DETR中的 Transformer 。

作者从以下两个主要角度总结了原因:

(1) 不同的架构:最近,流行的无监督学习方法是为主干(特征提取器)预训练设计的,以提取图像特征。然而,DETR由一个主干和一个 Transformer 编码器-解码器组成。DETR中的 Transformer 旨在将特征转换为一系列检测目标,而不是提取视觉表征。

(2) 不同的特征偏好:DETR中的 Transformer 主要关注空间定位学习。具体来说, Transformer 用于将图像的实例级信息转换为坐标。至于解码器中的自注意力,它执行类似于NMS的机制以抑制重复的边界框。然而,现有的预训练任务是为基于图像实例的或基于聚类的对比学习设计的。这些对比学习方法主要关注特征辨别而不是空间定位。

如上所述,作者需要构建一个与空间定位相关的任务来预训练DETR中的 Transformer 。为了实现这一想法,作者提出了一个名为随机 Query Patch 检测的新型无监督预训练任务,用于无监督预训练检测器(UP-DETR),无需任何人工标注——作者从给定的图像中随机裁剪多个 Query Patch ,并预训练 Transformer 进行目标检测,以预测这些 Query Patch 在给定图像中的边界框。在预训练过程中,作者解决了以下两个关键问题:

(1) 多任务学习:目标检测是目标分类和定位的结合。为了避免 Query Patch 检测破坏分类特征,作者引入了冻结的预训练主干和 Patch 特征重建,以保留 Transformer 的特征辨别能力。在作者的实验中,作者发现冻结预训练主干是保留预训练期间特征辨别能力最重要的步骤。

(2) 多 Query 定位:不同的目标 Query 关注不同的位置区域和边界框大小。不同的目标 Query 之间存在类似于NMS的机制。考虑到这一特性,作者提出了一个带有注意力 Mask 的多 Query Patch 检测任务。

此外,提出的UP-DETR还为目标检测和一次性检测提供了一个统一的视角。只需改变解码器的输入,作者就可以轻松地在目标检测和一次性检测上对UP-DETR进行微调。在作者的实验中,作者使用随机 Query Patch 检测任务对DETR进行预训练。与使用完全相同架构的DETR相比,作者的UP-DETR在PASCAL VOC[6]和COCO[5]目标检测数据集上表现更好,具有更快的收敛速度和更高的平均精度。此外,UP-DETR在一次性检测和全景分割方面也表现出了很好的迁移性能。

2 Related Work

近年来,人工智能领域取得了显著进展,特别是在机器学习领域。本节将对影响作者方法发展的相关研究进行简要概述。

2.1 Object Detection

样本的正负分配是目标检测框架的重要组成部分。两阶段检测器[4]、[19]和一部分单阶段检测器[20]、[21]通过手工制作的多尺度 Anchor 框和IoU阈值以及模型置信度来构建正负样本。 Anchor-Free 框的单阶段检测器[22]、[23]、[24]通过目标中心的网格将正负样本分配给特征图。张等人证明了它们之间的性能差距是由于正负训练样本的选择[3]。DETR[1]是一种最近的目标检测框架,它在概念上更简单,没有手工制作的过程,通过直接集合预测[25]自动分配正负样本。

除了正负样本选择问题之外,目标检测中分类与定位之间的权衡也难以处理。张等人说明了分类与定位之间存在领域不对齐的问题[26]。吴等人[27]和宋等人[28]为分类和定位设计了两种 Head 结构。他们指出,这两个任务可能具有相反的特征偏好。至于作者的预训练模型,它为分类和定位共享特征。因此,在这两个任务之间取得良好的权衡是至关重要的。

2.2 Unsupervised Pre-training

无监督预训练模型通常遵循两个步骤:在大型数据集上使用预训练任务进行预训练,并在下游任务上微调参数。对于无监督预训练,预训练任务总是人为设计的,作者关注的是学习到的中间表征,而不是预训练任务的最终性能。

为了执行无监督预训练,存在各种精心设计的预训练任务。在自然语言处理中,利用离散标记间的时间序列关系,提出了 Mask 语言模型[9],排列语言模型[29]和自回归模型[7]、[8],以预训练用于语言表征的 Transformer [2]。在计算机视觉中,无监督预训练模型最近在视觉表征学习上也取得了显著进展,在下游任务中的表现甚至超过了监督学习。基于实例的判别任务[30]、[31]和基于聚类的任务[17]是近期研究中的两种典型预训练任务。基于实例的判别任务主要在维持不同大小的负样本方面有所不同,采用非参数对比学习[32]。实例判别也可以实现为参数化的实例分类[16]。此外,基于聚类的任务在离线[17]、[18]或在线聚类过程[12]方面有所变化。作者提出的随机 Query 块检测是一种新颖的无监督预训练任务,旨在基于DETR架构预训练 Transformer ,用于目标检测。

2.3 Vision Transformer

Transformer 不仅用于检测器,也被应用于 Backbone 设计。开创性工作是视觉 Transformer (ViT)[33],它将 Transformer 应用于不重叠的图像块进行图像分类。与使用非常大规模训练数据集的卷积神经网络相比,它实现了速度与准确度的权衡。基于这项工作,有许多研究对ViT架构进行了修改,以获得更好的图像分类性能。

尽管ViT和DETR都使用了 Transformer ,但它们是为不同的目的设计的。ViT使用 Transformer 来捕捉图像块之间的关系以进行图像分类,因此图像块之间存在自注意力。另一方面,DETR中有三种不同的注意力部分。DETR编码器中的自注意力与ViT相似,旨在捕捉图像块之间的全局关系。然而,DETR解码器中的交叉注意力和自注意力是为了进行边界框的集合预测而设计的。因此,现有的 Backbone 预训练任务[10],[11],[37]不能简单地应用于DETR。

3 UP-DETR

提出的UP-DETR包含了预训练和微调两个过程:

(a) 在大规模数据集(如作者实验中的ImageNet)上,无需任何人工标注,对 Transformer (transformer)进行无监督预训练;

(b) 在与原始DETR [1] 类似的下游检测相关任务(例如目标检测和一次性检测)上,用带标签的数据对整个模型进行微调。

3.1 Pre-training

在本节中,作者主要描述了如何使用随机 Query 块检测任务来预训练转换编码器和解码器。如图2所示,随机 Query 块检测的主要思想简单而有效。

编码器。首先,给定一个输入图像,使用卷积神经网络(CNN) Backbone 网络提取视觉表征,特征为 ,其中 是通道维度, 是特征图的大小。在这里,可以将图像视为由CNN提取器构建的长度为 的标记序列。然后,将特征 加入二维位置编码并通过多层转换编码器,这与DETR完全相同。

解码器。与DETR不同,在作者的预训练过程中,作者从输入图像中随机裁剪块作为 Query ,并记录 Query 的相应坐标、宽度和高度作为真实值。因此,作者的预训练过程可以在无监督/自监督的范式下进行。具体来说,对于随机裁剪的 Query 块,使用全局平均池化(GAP)的CNN Backbone 网络提取块特征 ,将其展平并补充目标 Query 后,传递到转换解码器中。最终,训练解码器预测输入图像中随机 Query 块位置的边界框。在预训练期间,将 Query 块特征添加到多个目标 Query 中,这些 Query 被送入解码器。请注意, Query 块是指从输入图像裁剪的块,而目标 Query 是指位置嵌入。可以将其理解为要求模型通过这些可能的位置(作为目标 Query 嵌入)来找到 Query 块。此外,在整个模型中,输入图像和 Query 块共享CNN参数。

多 Query 块。为了微调目标检测任务,每个图像中都有多个目标实例(例如,在COCO数据集中的平均每图像7.7个目标实例)。换句话说,解码器转换中的自注意力模块在训练期间学习了一种类似NMS的机制。为了使预训练和微调之间保持一致,UP-DETR需要构建一个可调整的边界框抑制比例的不同目标 Query 之间的竞争。幸运的是,UP-DETR可以很容易地扩展到多 Query 块检测。假设通过随机裁剪有 个 Query 块和 个目标 Query ,作者将 个目标 Query 划分为 个组,其中每个 Query 块分配给 个目标 Query 。在图2中,作者展示了单 Query 块检测和多 Query 块检测。在默认的预训练实验中,作者采用 和 。

匹配。模型使用固定集合 {left{ {widehat{y}}{i}right} }{i = 1}^{N} 对应于 N 个目标( N > M )。换句话说,作者对这 M 个块得到了 N {widehat{y}}{widehat{sigma }left( iright) } 与真实值 {y}{i} 之间的相同匹配成本,其中 widehat{sigma }left( iright) 是通过最优二分匹配计算出的 {y}_{i}

损失。在损失计算中,预测结果 {widehat{y}}{i} = left( {{widehat{c}}{i} in }right. left. {{mathbb{R}}^{2},{widehat{b}}{i} in {mathbb{R}}^{4},{widehat{p}}{i} in {mathbb{R}}^{C}}right) 由三个元素组成: {widehat{c}}{i} 是针对每个目标匹配块( {c}{i} = 1 )或不匹配( {c}{i} = 0 )的二分类; {widehat{b}}{i} 是定义边界框中心坐标及其宽度和高度的向量 { x, y, w, h} ,相对于图像大小进行重新缩放; {widehat{p}}_{i} C = 2048 。根据上述定义,所有匹配对的匈牙利损失定义如下:

在这里, {mathcal{L}}{cls} 是针对两个类别(匹配 {vs} 和不匹配)的交叉熵损失,类别平衡权重 {lambda }{left{ {c}{i} = 1right} } = 1 和 {lambda }{left{ {c}{i} = 0right} } = M/N 。 {mathcal{L}}{text{box }} 是 {ell }{1} 损失和广义损失的一种线性组合,其权重超参数与中相同。 {mathcal{L}}{text{rec }} 是本文提出的重建损失,仅在预训练期间使用。它旨在在预训练期间平衡分类和定位的特征偏好,这一部分将在3.1.2节中进一步讨论。

3.1.1 Frozen Pre-training Backbone

在作者的实验中,作者发现卷积神经网络(CNN)的主干网络对 Transformer (transformer)的预训练有严重影响。换句话说,如果作者从零开始一起预训练CNN主干网络和 Transformer ,同时随机检测 Query 块,模型将无法良好地收敛并且表现不佳。这个问题在原始的DETR中也有出现。此外,目标检测是目标分类和定位的耦合,这两个任务总是有不同的特征偏好。

然而,作者的预训练任务只关注定位而不是特征分类。因此,在作者的实验中,在 Transformer 预训练期间作者冻结了预训练的CNN主干网络。

稳定的主干网络参数有利于 Transformer 的预训练,并加速模型预训练过程。在4.5.2节中,作者将通过实验分析和验证它们必要性。

作者认为,冻结的预训练主干网络是UP-DETR成功的关键步骤。

3.1.2 Tricks

在作者的初步实验中,作者尝试将一些技巧与作者关于随机 Query Patch 检测的先验知识结合起来。在这里,作者讨论了预训练过程中的两个技巧,这些技巧是合理的,但并非对UP-DETR成功至关重要。

Patch 特征重建。作者的预训练任务只关注定位而非特征分类。换句话说,缺少一个明确的分类任务分支。因此,在冻结的预训练 Backbone 网络上,作者提出了一种特征重建损失项 {mathcal{L}}{rec} {mathcal{L}}{rec} 是由提取的 {ell }_{2} -归一化 Patch 特征之间的均方误差,定义如下:

在冻结的CNN Backbone 网络下, Patch 特征重建略微提高了微调性能,如第4.5.2节所示。

注意力 Mask 。所有的 Query Patch 都是从图像中随机裁剪的,因此它们是相互独立的,没有任何关系。例如,第一次裁剪的边界框回归与第二次裁剪无关。为了满足 Query Patch 之间的独立性,作者使用一个注意力 Mask 矩阵来控制不同目标 Query 之间的交互。 Mask 矩阵 被添加到解码器中自注意力机制的softmax层[2],形式为 softmax ,其中 ,它们指代解码器中同一组目标 Query 表示。与UniLM [38]中的标记 Mask 类似,注意力 Mask 定义如下:

在同一组中否则

其中 {X}{i, j} 决定了目标 {q}{i} 是否参与与目标 {q}_{j} 的交互。为了直观理解,图中的注意力以和对应于中的和 - infty 。注意力 Mask 也略微导致了更低的损失,如第4.5.3节所示。

3.2 Fine-tuning

UP-DETR提供了一种统一的方法来处理与检测相关的任务。通过改变模型输入,它可以轻松地微调为目标检测或一次性检测。图3展示了在目标检测和一次性检测上的微调过程。对于目标检测和一次性检测任务,卷积神经网络(CNN)、 Transformer 编码器-解码器以及物体 Query 完全相同,它们都从预训练过程中初始化。整个模型的权重通过标注数据来进行微调。这两个下游任务在架构上的唯一区别是 Transformer 解码器的输入。需要注意的是,在微调过程中从未使用特征重构损失。

目标检测。给定一个输入图像,模型需要预测一组带有边界框和相应类别的物体。因此,UP-DETR的微调过程与DETR的训练过程完全相同。这里使用了多个物体 Query (可学习嵌入)作为输入到解码器中。不同的物体 Query 学习不同的空间特化和区域偏好。得益于物体 Query 的设计,模型可以并行预测多个物体。使用监督目标检测数据,作者计算模型预测与标注的真实边界框之间的匹配成本。

一次性检测。给定一个输入图像和一个 Query 图像,模型需要预测带有边界框的物体。这些物体在语义上应与 Query 图像相似。通常, Query 图像是由同一类别不同图像的块构建的。对于一次性检测, Query 图像通过CNN提取(与输入图像共享),并将块特征添加到所有物体 Query 中。在一次性检测中,作者只关心边界框的匹配结果(即是否与 Query 匹配),而不是目标检测中的具体类别。因此,在损失和匹配成本计算中,一次性检测中有一个二分类输出,而不是目标检测中的多类别分类。

4 EXPERIMENTS

作者使用ImageNet [39]数据集对模型进行预训练,并在PASCAL VOC [6]和COCO [5]数据集上对参数进行微调。在所有实验中,作者实现了具有ResNet-50 Backbone 网络的UP-DETR模型(41.3M参数),包括6层 Transformer 编码器、宽度为256的6层解码器,以及8个注意力头。参考DETR的开源代码,作者在提出的UP-DETR和作者的DETR复现中使用了相同的超参数。作者用R50和R101简写ResNet-50和ResNet-101。需要注意的是,UP-DETR和DETR具有完全相同的模型架构、匹配成本和损失计算方式。因此,它们具有完全相同的FLOPs、参数和运行帧率。

预训练设置。UP-DETR在未使用任何ImageNet标签的 ImageNet训练集上进行无监督预训练。CNN Backbone 网络(ResNet-50)也采用SwAV策略[12]进行无监督预训练,并且在 Transformer 预训练期间其参数被冻结。由于ImageNet输入图像相对较小,作者将图像大小调整到最短边在像素内,最长边不超过600像素。对于给定的图像,作者随机裁剪 Query 块,并调整其大小为像素,然后采用SimCLR风格[14]进行变换(不包括水平翻转),包括随机颜色失真和高斯模糊。在工作的早期阶段,作者针对不同的采样策略(如网格采样和具有不同超参数的随机采样)进行了实验。然而,作者注意到不同的采样策略之间没有显著差异。因此,作者使用随机采样来说明作者方法的泛化能力。此外,作者使用AdamW [40]来优化UP-DETR,初始学习率为,权重衰减为。作者在八个Nvidia V100 GPU上使用256的小批量大小来训练模型,共60个周期,并在40周期时将学习率乘以0.1。

微调设置。模型使用预训练的UP-DETR参数进行初始化,并在PASCAL VOC和COCO数据集上对所有参数(包括CNN)进行微调。作者以 Transformer 和CNN Backbone 网络的初始学习率微调模型,其他设置与在八个V100 GPU上每个GPU四张图像的DETR [1]相同。模型根据短/长周期分别微调个周期,并在100/200周期时将学习率乘以0.1。

预训练与微调之间的差距。目标 Level 的预训练可以提升目标检测任务[41]的微调性能,但这种方法通常需要目标先验知识,例如在预训练期间使用选择性搜索算法获取目标建议。在作者的工作中,作者基于ImageNet数据集在 Patch Level 上预训练模型,这是将预训练从ImageNet转移到COCO或VOC数据集[10],[37]中的常见做法。然而,预训练与微调之间的差距始终存在。例如,ImageNet图像大多只包含一个目标,而COCO图像总是包含多个目标。ImageNet图像的大小相对较小,而COCO图像的大小较大。

此外,本研究中的预训练任务是在 Patch Level 上采用随机采样进行的,而微调任务则是在标注数据上进行的监督学习。尽管无法消除预训练与微调之间的上述差距,但作者的方法通过随机采样策略在没有先验知识的情况下展现出了良好的泛化能力。

4.1 PASCAL VOC Object Detection

设置. 模型在PASCAL VOC trainval07 12(约16.5千张图像)上进行微调,并在2007年的测试集上进行评估。作者报告COCO风格的指标,包括AP、(默认的VOC指标)和。为了进行全面的比较,作者还报告了使用R50-C4 Backbone 网络的Faster R-CNN[12]的结果,其性能比R50(C5阶段)[42]要好得多。使用R50-C4的DETR与R50相比显著增加了计算成本,因此作者使用R50 Backbone 网络对UP-DETR进行微调。尽管如此,UP-DETR仍然表现出色。为了强调预训练模型的有效性,作者报告了DETR(从随机初始化的 Transformer 开始)和UP-DETR(从预训练的 Transformer 开始)分别进行150和300个周期的结果。

结果. 表1展示了在PASCAL VOC数据集上的目标检测结果。作者发现DETR在PASCAL VOC上的表现较差,所有指标上都比Faster R-CNN差很多。由于VOC中的数据规模相对较小,UP-DETR的预训练 Transformer 显著提升了DETR的性能,无论是短期还是长期调度:对于150和300个周期,分别高达 6.2 ( 3.1) AP,和。此外,UP-DETR(R50)在与Faster R-CNN(R50-C4)相当的AP结果上取得了可比的性能。作者发现UP-DETR和DETR在和上稍微比Faster R-CNN表现得差一点。这可能是由于特征图的比例不同(Faster R-CNN使用C4)以及没有NMS后处理(NMS降低AP但略微改善)。

图4a展示了在VOC上的AP(COCO风格)学习曲线。UP-DETR显著加快了模型的收敛速度。在学习率降低后,UP-DETR显著提升了DETR的性能,AP有了很大的提高。值得注意的是,UP-DETR在150个周期后获得了56.1 AP,然而,其对应的DETR(从零开始训练的 Transformer )在300个周期后仅获得54.1 AP,即使训练时间更长也没有赶上。这表明在训练数据不足的情况下(即在VOC上的约16.5千张图像),预训练 Transformer 是不可或缺的。

4.2 COCO Object Detection

设置. 模型在COCO train2017(约118k张图像)上进行微调,并在val2017上进行评估。COCO数据集中包含大量小目标,在这些目标上,DETR的表现不佳[1]。因此,作者报告了全面的比较结果,包括、、、、和。此外,作者还报告了经过高度优化的Faster R-CNN与特征金字塔网络(FPN)的短期(3倍)和长期(9倍)训练计划的结果,这些计划已知能提升性能[46]。为了避免监督式CNN引入额外信息,作者在没有人类标注的情况下,使用SwAV预训练的CNN作为UP-DETR的主干网络。

结果. 表2展示了在COCO数据集上的目标检测结果。在150个周期的训练计划下,UP-DETR比DETR(SwAV CNN)高出0.8个,并且与Faster R-CNN(R50-FPN)(3倍计划)的性能相当。在300个周期的训练计划下,UP-DETR在COCO上获得了43.1的AP,这比DETR(SwAV CNN)高出1.0个,比Faster R-CNN(R50-FPN)(倍计划)高出1.1个。总体而言,UP-DETR在短周期和长周期训练计划下,全面超越了DETR在小、中、大目标上的检测性能。遗憾的是,由于缺乏FPN-like架构[43],UP-DETR在上仍然略逊于Faster R-CNN。

图4b展示了在COCO上的AP学习曲线。对于150和300周期的训练计划,UP-DETR的表现均优于DETR,且收敛速度更快。在学习率降低之前,性能提升更为明显。降低学习率之后,UP-DETR仍然领先于DETR,约高出1.0个。这表明,即使在充足的训练数据(例如COCO上的约118K图像)下,预训练的Transformer仍然是不可或缺的。

4.3 One-Shot Detection

设置. 对于一个 Query 图像块,其类别标签未包含在训练数据中,一shot检测旨在在目标图像中检测到所有同一类别的实例。一shot检测是一个有前景的研究方向,能够检测未见实例。通过将 Query 块馈送到解码器,UP-DETR天然地与一shot检测任务兼容。因此,一shot检测也可以被视为UP-DETR的一个下游微调任务。

作者遵循与[50]相同的one-shot检测设置,将 GT 边界框裁剪为 Query 图像块。在微调过程中,对于给定的图像,作者随机采样一个存在于该图像中的已知类别的 Query 图像块,并根据 Query 图像块过滤训练的 GT 数据。在评估过程中,作者首先根据目标图像ID的特定随机种子随机打乱图像中存在的类别的 Query 图像块,然后挑选前五个 Query 图像块,并最终平均它们的AP得分。每个图像中存在的每个类别都会被评估,然后取平均值。打乱过程确保了评估结果的稳定统计。作者在VOC 2007 trainval和2012 trainval集上以300个周期训练/微调DETR/UP-DETR,并在VOC 2007测试集上进行评估。作者遵循与Li等人[51]相同的设置。

结果. 表3展示了与最先进的一shot检测方法的比较。UP-DETR在已知类别(提升了 22.8 AP )和未知类别(提升了 15.8 AP )上显著提高了DETR的性能。此外,UP-DETR在已知类别(最小提升 )和未知类别(最小提升 4.0 )的一shot检测上超过了所有比较方法。这进一步验证了作者的预训练预文本任务的有效性。

4.4 Panoptic Segmentation

DETR模型可以很容易地通过在解码器输出之上添加一个 Mask 头(mask head)来扩展到全景分割[52]。遵循与DETR[1]相同的全景分割训练架构,作者使用COCO全景分割标注(额外的物体检视标注)对仅包含边界框标注的UP-DETR进行了300个周期的微调。然后,作者冻结DETR的所有权重,并仅对 Mask 头进行25个周期的训练。作者发现,UP-DETR也提升了全景分割微调的性能。

表4展示了使用ResNet-50 Backbone 网络在全景分割方面与现有最先进方法的比较。如所示,UP-DETR比DETR 有了 、 和 1.4 的提升。

4.5 Ablations

在消融实验中,作者用学习率在第10个周期时乘以0.1的方式,训练/预训练了DETR/UP-DETR模型15个周期。接着,作者按照第4.1节中的设置,在PASCAL VOC数据集上对UP-DETR模型进行了150个周期的微调。因此,消融实验中的平均精度结果相对于第4.1节中展示的结果来说是相对较低的。

4.5.1 Single-query patch vs. Multi-query patches

作者使用单个 Query Patch (M=1)和多 Query Patch (M=10)对UP-DETR模型进行预训练。其他超参数设置如上所述。

  1. 在修复了github.com/facebookresearch/detr/issues/247中的错误后,DETR Baseline 的表现优于论文中的报告。

表5展示了单个 Query Patch 和多 Query Patch 的结果。与DETR相比,无论使用单个 Query Patch 还是多 Query Patch ,UP-DETR在所有AP指标上都大幅超过了DETR。当使用不同数量的 Query Patch 对UP-DETR进行预训练时,UP-DETR(M=10)在微调任务上的表现优于UP-DETR(M=1),尽管在PASCAL VOC上每张图像大约有2.3个实例。因此,对于PASCAL VOC和COCO,作者采用了相同的UP-DETR(M=10),而不是为不同的下游任务改变M的值。

4.5.2 Frozen CNN and Feature Reconstruction

为了说明冻结CNN主干网络和UP-DETR中的 Patch 特征重建的重要性,作者预训练了四种采用不同组合(是否冻结CNN以及是否添加特征重建)的模型。请注意,所有模型(包括DETR)都使用了在ImageNet上预训练的CNN。

表6展示了在PASCAL VOC数据集上,经过150个训练周期后,DETR和四种不同预训练模型的表现。如表6所示,并非所有预训练模型的表现都优于DETR,但预训练模型(b)和(d)的性能优于其他模型。更重要的是,在没有冻结CNN的情况下,预训练模型(a)和(c)的表现甚至不如DETR。这证实了冻结的预训练主干网络对预训练 Transformer 至关重要。此外,它进一步证实了预训练任务(随机 Query Patch 检测)可能会削弱预训练CNN的特征辨别力,而定位和分类具有不同的特征偏好[26],[27],[28]。

图5绘制了DETR和四种不同预训练模型的学习曲线,其中图5中的模型与表6中的模型是一一对应的。如图5所示,(d)UP-DETR模型在特征重建的情况下,在训练早期阶段实现了更快的收敛速度。实验结果表明,随机 Query Patch 检测与对比学习相辅相成,以获得更好的视觉表示。前者旨在通过位置嵌入实现空间定位,而后者旨在实现实例或类别分类。

值得注意的是,带有冻结CNN和特征重建的UP-DETR在很大程度上依赖于预训练的CNN模型,例如SwAV CNN。因此,作者认为进一步研究将随机 Query Patch 检测与对比学习结合在一起,从零开始预训练整个DETR模型是一个有前景的研究方向。

4.5.3 Attention Mask

在下游任务微调之后,作者发现使用注意力 Mask 与不使用注意力 Mask 进行预训练的UP-DETR模型之间没有明显差异。作者没有展示微调结果,而是绘制了预训练任务中的损失曲线,以说明注意力 Mask 的有效性。

如图6所示,在训练初期,没有使用注意力 Mask 的UP-DETR具有更低的损失。然而,随着模型收敛,使用注意力 Mask 的UP-DETR以更低的损失超越了它。这些曲线初看起来可能有些奇怪,但这是合理的,因为损失是通过最优二分匹配计算的。在训练初期,模型尚未收敛,不使用注意力 Mask 的模型将更多的目标 Query 引入注意力。直观地说,由于引入了更多的目标 Query ,模型更容易被优化。然而,对于不使用注意力 Mask 的模型, Query 区域与 GT 值之间存在不匹配。随着模型收敛,注意力 Mask 逐渐发挥作用,它 Mask 了不相关的 Query 区域,从而导致了更低的损失。

4.6 Visualization

本节将介绍作者对数据可视化方法的探讨和应用。通过对研究成果的视觉呈现,作者旨在揭示数据背后的模式、趋势和关联性,从而加深对复杂数据集的理解。以下内容详细说明了作者采用的可视化技术及其在分析过程中的具体作用。

4.6.1 Pre-training

为了进一步说明预训练模型的能力,作者可视化了给定 Patch Query 的无监督定位结果。具体来说,对于给定的图像,作者手动裁剪几个目标 Patch 并对它们进行数据增强。然后,作者将这些 Patch 作为 Query 输入到模型中。最后,作者用边界框可视化模型输出,这些边界框的分类置信度大于0.9。这个过程可以被视为无监督的单次检测或基于深度学习的模板匹配。

如图7所示,通过随机 Query Patch 检测进行预训练的UP-DETR成功地学会了定位给定 Query Patch 的边界框,并抑制了重复的边界框。这表明,采用随机 Query Patch 检测的UP-DETR有效地学习了目标定位的能力。

4.6.2 Fine-tuning

图8展示了在目标检测和一次射击检测任务上微调模型的可视化结果。作者的微调模型在这两项任务上表现良好。对于目标检测任务,模型经过微调可以检测带有边界框和类别的目标。这些类别(例如图8a中的大象、鸟和人)必须在训练集中存在。而一次射击检测则不同,给定输入图像和 Query 图像,模型仅预测具有边界框和标签(匹配或不匹配)的相似目标。这两项任务可以通过改变 Transformer 解码器的输入在作者的UP-DETR框架中统一起来。

5 Conclusion

作者提出了一种新颖的预训练任务,称为随机 Query 块检测,以在DETR中无监督地预训练 Transformer 。通过无监督预训练,UP-DETR在PASCAL VOC上的表现显著优于DETR,具有更高的精确度和更快的收敛速度。对于具有充足训练数据的具有挑战性的COCO数据集,即使经过较长的训练周期,UP-DETR仍然能够超越DETR。

这表明,在目标检测中,不同规模的训练数据都需要预训练的 Transformer 。此外,UP-DETR还为一次检测提供了一种统一的视角。它在一次检测任务上的性能显著提升。

从无监督预训练模型的角度来看,目前预训练的CNN Backbone 网络和预训练的 Transformer 是分离的。

最近的无监督预训练研究主要关注通过对比学习进行特征区分,而非针对空间定位的专业模块。但在UP-DETR预训练中,预训练任务主要针对通过位置编码和学习性的目标 Query 进行块定位。

作者希望一种更先进的方法能够将CNN和 Transformer 的预训练整合到一个统一的端到端框架中,并将UP-DETR应用于更多的下游任务。

参考

[1]. Unsupervised Pre-training for Detection Transformers.

0 人点赞