来源:2021 IEEE/CVF International Conference on Computer Vision (ICCV)
作者:Wenhai Wang, Enze Xie, Xiang Li等
单位:Nanjing University of Science and Technology
一、引言
传统的ViT为柱状结构,输入粗图像块。虽然ViT适用于图像分类,但将其直接应用于目标检测和分割等像素级密集预测具有挑战性,因为:
(1)ViT的输出序列的长度与输入序列相同,即ViT的输出是单尺度的;
(2)由于资源有限,ViT的输入是粗粒度的(图像块大小为16或32像素),因此其输出分辨率相对较低;
(3)即使对于常见的输入图像大小其计算和内存成本相对较高。
为了解决上述限制,本工作提出了一个纯粹的Transformer主干网络PVT,通过引入一个渐进收缩金字塔和简单但有效的注意层SRA,处理高分辨率的特征图,生成多尺度的特征图,并降低计算/内存成本。它可以在许多下游任务中作为CNN主干的替代方案,包括图像级预测和像素级密集预测。
二、Pyramid Vision Transformer
与CNN骨干类似,PVT的特征金字塔有四个阶段来生成不同尺度的特征图,每个阶段由一个图像块嵌入层和一个L_i Transformer编码器层组成,使用一种渐进收缩策略,通过图像嵌入层来控制特征图的尺度。
•首先将输入特征图F_(i-1)∈R^(H_(i-1)×W_(i-1)×C_(i-1) )平均划分为(H_(i-1) W_(i-1))/(P_i^2 )图像块( P_i为第i个阶段的图像块大小)。
•然后把每个图像块变平并投影到C_i维嵌入。
•经过线性投影后,嵌入的图像块的形状变为H_(i-1)/P_i ×W_(i-1)/P_i ×C_i,其中高度和宽度是输入的P_i分之一。
以此方式可以灵活地调整每个阶段特征图的比例,构造一个特征金字塔 {F_1 、F_2 、F_3 、F_4},它们相对于输入图像的步幅分别为4、8、16和32像素。 借助特征金字塔,PVT可以很容易地应用于大多数下游任务,包括图像分类、目标检测和语义分割。
由于PVT需要处理高分辨率特征图,本文还提出了一个空间减少注意(SRA)层来取代传统编码器中的多头注意(MHA)层。与MHA类似,SRA接收一个查询Q、一个密钥K和一个值V作为输入,并输出一个改进的特征。不同的是,SRA在注意操作前,降低了K和V的空间尺度,这在很大程度上减少了计算开销。
三、实验评估
- 在图像分类中,本文设计了一系列不同尺度的PVT模型,即PVT-Tiny、-Small, -Medium,和-Large,其参数数分别与ResNet18、50、101和152相似,并遵循ViT和DeiT,在最后一个阶段的输入中添加一个可学习的分类令牌,然后使用一个全连接(FC)层在令牌之上进行分类。实验结果证明:在相似的参数数和计算预算下,PVT模型优于传统的CNN骨干。同时,在类似或更低的复杂度下,PVT模型的性能与最近提出的基于Transformer的模型相当。
- 在目标检测中,对于RetinaNet,在相同数量的参数下,基于PVT的模型显著超过了其对应模型,且在基于Mask R-CNN的实例分割实验中也得到了类似的结果。这些结果表明,PVT可以作为一个很好的替代CNN骨干的目标检测。
- 在语义分割中,当使用语义FPN时,基于PVT的模型的性能始终优于基于ResNet或ResNeXt的模型。
四、总结
本文提出的金字塔视觉Transformer(PVT)是第一个为各种像素级密集预测任务设计的纯Transformer主干。通过设计一个渐进式收缩金字塔和一个空间缩减注意层(SRA),获得了高分辨率和多尺度的特征图,减少了Transformer的资源消耗,克服了将Transformer移植到密集预测时的许多困难。在对象检测和语义分割基准上的大量实验证明,在相同数量的参数下,PVT比设计良好的CNN骨干更强。