PVT的提出背景和目标
为了克服传统Transformer在计算机视觉任务中的一些局限性,本文提出了一种纯粹的Transformer骨干网络,称为Pyramid Vision Transformer (PVT)。这个网络旨在替代传统的卷积神经网络(CNN)骨干,应用于各种下游任务,包括图像级预测和像素级密集预测任务。
主要设计特点
PVT克服了传统Transformer的一些困难,具体通过以下三点实现:
- 高分辨率特征表示:PVT使用细粒度的图像块(即每块4×4像素)作为输入,从而能够学习高分辨率的表示,这对于密集预测任务(如目标检测和语义分割)至关重要。
- 逐渐缩小的金字塔结构:PVT引入了一个逐渐缩小的金字塔结构,随着网络的加深,逐渐减少Transformer的序列长度,从而显著降低计算成本。
- 空间缩减注意力机制(SRA):PVT采用了一种空间缩减注意力机制,在学习高分辨率特征时进一步减少资源消耗。
PVT的优势
- 全局感受野:相比传统的CNN骨干(图1(a)),它们的局部感受野随着网络深度增加,PVT始终生成全局感受野,这使其更适合于检测和分割任务。
- 金字塔结构的灵活性:相比于Vision Transformer (ViT)(图1(b)),由于PVT的先进金字塔结构,它可以更容易地插入到许多代表性的密集预测管道中,例如RetinaNet和Mask R-CNN。
- 完全无卷积的管道:通过将PVT与其他特定任务的Transformer解码器(如PVT+DETR)结合,可以构建一个完全无卷积的对象检测管道。根据作者的说法,这是第一个完全无卷积的对象检测管道。
总结
通过以上设计,PVT不仅能够替代CNN骨干,还能在各种视觉任务中提供更好的性能,特别是在需要高分辨率和多尺度特征的任务中。
主要贡献
-
提出Pyramid Vision Transformer (PVT):
- PVT是第一个专门为各种像素级密集预测任务设计的纯Transformer骨干网络。
- 通过将PVT与DETR(Deformable DETR)结合,可以构建一个端到端的对象检测系统,不需要卷积操作和手工设计的组件(如密集锚点和非极大值抑制(NMS))。
-
克服Transformer在密集预测中的困难:
- 通过设计逐渐缩小的金字塔结构和空间缩减注意力机制(SRA),解决了将Transformer用于密集预测任务时的许多困难。
- 这些设计减少了Transformer的资源消耗,使PVT能够灵活地学习多尺度和高分辨率的特征。
-
在多种任务上的评估:
- 评估了PVT在多个不同任务上的表现,包括图像分类、目标检测、实例分割和语义分割,并与流行的ResNet和ResNeXt模型进行了比较。
- 实验结果表明,在相似参数数量下,PVT在多个任务中表现优于现有的先进方法。例如,在使用RetinaNet进行目标检测时,PVT-Small在COCO val2017数据集上取得了40.4的平均精度(AP),比ResNet50高出4.1个百分点(40.4 vs. 36.3)。此外,PVT-Large取得了42.6的AP,比ResNeXt101-64x4d高出1.6个百分点,且参数量减少了30%。
总结
通过以上贡献,PVT不仅解决了传统Transformer在密集预测任务中的困难,还在多个任务中展现出优越的性能,证明了其作为新型视觉骨干网络的潜力。PVT的设计使得其在资源消耗、灵活性和性能方面均具有显著优势。
整体架构概述
PVT模型被分为四个阶段,每个阶段由一个补丁嵌入层和若干个Transformer编码器层组成。通过逐级缩小的金字塔结构,输出分辨率从高(4-stride)逐步缩小到低(32-stride)。
输入
输入是一张尺寸为 H × W × 3 H \times W \times 3 H×W×3的图像。首先,图像被分割成小块,每块的尺寸为 4×4 像素。
第一个阶段
-
Patch Embedding(补丁嵌入):
- 输入图像被分割成 H 4 × W 4 \frac{H}{4} \times \frac{W}{4} 4H×4W个补丁,每个补丁的尺寸为4×4像素。
- 每个补丁被展平为一维向量,并通过一个线性层转换为维度为 C 1 C_1 C1的嵌入向量。
- 补丁嵌入层输出的特征图大小为 H 4 × W 4 × C 1 \frac{H}{4} \times \frac{W}{4} \times C_1 4H×4