摘要
论文提出了一种方法,通过掩蔽图像建模(MIM)预训练的普通视觉Transformer(ViT)来高效且有效地进行目标检测。作者基于两个新颖的观察结果:(i) 即使是随机采样的部分观察结果(例如25%到50%的输入序列),MIM预训练的ViT编码器也能在具有挑战性的物体级别识别场景中表现出色;(ii) 为了构建目标检测的多尺度表示,随机初始化的紧凑卷积Stem(ConvStem)取代了预训练的大核补丁化Stem(PatchStem),其中间特征可以直接作为特征金字塔的高分辨率输入,无需上采样。预训练的ViT仅被视为检测器的第三阶段的骨干网络,而不是整个特征提取器,从而形成了ConvNet-ViT混合架构。所提出的检测器,名为MIMDET,在COCO数据集上的表现超过了分层Swin Transformer,且在微调时收敛速度更快。
拟解决的问题
传统的ViT在目标检测任务中直接处理高分辨率图像存在挑战,因为全局注意力的计算和内存成本随着输入分辨率的增加而呈二次方增长。此外,普通ViT缺乏用于视觉识别任务的多尺度特征层次结构。
创新之处
- 提出了一种新颖的方法,仅使用部分输入序列(25%至50%)来训练ViT编码器,这在目标检测任务中是前所未有的。
- 引入了一个随机初始化的紧凑卷积Stem(ConvStem),以替代预训练的大核补丁化Stem,为特征金字塔提供高分辨率输入。
- 提出了ConvNet-ViT混合架构,将ViT作为骨干网络的一部分,而不是整个特征提取器。
方法
- 使用MIM预训练的ViT编码器,通过随机采样的方式仅处理部分输入序列。
- 引入ConvStem来构建多尺度特征表示,并通过特征金字塔网络(FPN)提供给检测器。
- 通过最小化对现有ViT架构的改动,实现了与现有视觉识别研究的遗产的兼容。
4.1 You Only Look at One Partial Sequence
目标检测任务通常需要高分辨率输入,这比图像分类任务的输入尺寸要大得多。传统ViT在计算全局注意力时,其计算和内存成本与输入分辨率的平方成正比,这使得直接使用完整输入集进行微调变得非常低效。
技术细节:
- 随机采样:在训练过程中,不是将整个图像分割成多个小块(patches)后全部输入ViT,而是随机选择一部分小块作为输入。
- 学习掩码(Learnable Mask):对于未采样的部分,使用可学习的掩码(mask)来补充信息,这样ViT编码器的输出序列片段就可以通过一个小的解码器来恢复完整的特征表示。
- 解码器:解码器由预训练的MAE(Masked Autoencoder)的ViT解码器组成,用于处理编码器的输出序列片段,以重建完整的图像特征。
理论基础:
- 视觉信号的冗余性:自然视觉信号在空间上具有高度的冗余性,这使得即使只有部分输入,ViT也能够基于强大的预训练表示来理解全局上下文。
- MIM预训练:在MIM预训练中,ViT已经学会了如何从可见的部分输入中恢复缺失的上下文信息,这表明在预训练阶段ViT已经理解了上下文。
4.2 You Only Pre-train the Third Stage
传统的视觉识别任务,如目标检测,通常需要多尺度特征输入来处理不同尺寸和比例的目标。普通ViT在预训练阶段通常只处理单尺度的特征,这限制了其在需要多尺度特征的任务中的应用。为了解决普通ViT缺乏多尺度特征层次结构的问题,作者提出了使用一个随机初始化的紧凑卷积Stem(ConvStem)来替代原有的预训练patchify Stem。
ConvStem的算法:
技术细节:
- ConvStem的作用:ConvStem不仅为ViT编码器提供高分辨率的中间特征,而且这些特征可以直接作为特征金字塔网络(FPN)的输入,无需额外的上采样操作。
- FPN构建:通过选择ConvStem的中间特征作为FPN的前两个阶段的输入,以及使用ViT编码器的输出作为FPN的第三阶段的输入,构建了一个多尺度的特征金字塔。
- ConvNet-ViT混合架构:作者提出将ViT仅作为检测器BackBone结构的第三阶段,而ConvStem作为前两个阶段,形成了ConvNet和ViT的混合架构。