PVT v2: Improved Baselines with Pyramid Vision Transformer

论文地址:https://arxiv.org/pdf/2106.13797.pdf
代码地址: https://github.com/whai362/PVT

一、研究背景

最近关于视觉Transformer的研究正在汇聚于主干网络,该主干网络设计用于下游视觉任务,如图像分类、目标检测、实例和语义分割。例如,Vision Transformer(ViT)首先证明了纯Transformer可以实现图像分类最先进的性能。金字塔视觉Transformer(PVT v1)表明,在密集预测任务(如检测和分割任务)中,纯Transformer主干也可以超过CNN。之后,Swin Transformer、CoaT、LeViT和Twins进一步改进了Transformer主干在分类、检测和分割的性能。
本文旨在建立基于PVT v1的更强、更可行的基线。有三种设计改进,即
(1)线性复杂度注意力层;
(2)重叠贴片嵌入,
(3)卷积前馈网络与PVT v1网络正交,当与PVT v1一起使用时,它们可以带来更好的图像分类、对象检测、实例和语义分割性能。改进的框架被称为PVT v2。

二、实现细节

PVT v1的三个主要限制如下:
(1)与ViT类似,当处理高分辨率输入(例如,短边为800像素)时,PVT v1的计算复杂度相对较大。
(2) PVT v1将图像视为非重叠块序列,这在一定程度上失去了图像的局部连续性;
(3) PVT v1中的位置编码是固定大小的,这对于任意大小的处理图像是不灵活的。这些问题限制了PVT v1在视觉任务中的性能。

一、线性空间缩减注意力

首先,为了减少注意力操作导致的高计算成本,本文提议了注意层(SRA),如下图所示。与使用卷积进行空间缩减的SRA不同,线性SRA使用平均池化来在注意力操作之前将空间维度(即h×w)缩减为固定大小(即P×P)。因此,线性SRA像卷积层一样具有线性计算和存储成本。具体而言,给定大小为h×w×c的输入,SRA和线性SRA的复杂度为:
在这里插入图片描述
其中,R是SRA的空间缩减率。P是线性SRA的池化大小,设置为7。
在这里插入图片描述

二、重叠切块嵌入

其次,为了对局部连续性信息进行建模,利用重叠切块嵌入来标记图像。如下图(a)所示,将补丁窗口放大,使相邻窗口重叠一半面积,并用零填充特征图以保持分辨率。在这项工作中,使用带零填充的卷积来实现重叠块嵌入。具体地说,给定大小为h×w×c的输入,将其馈送到步长为S的卷积中,核大小为2S− 1、的填充尺寸为S−1。核的数量为 c ′ c^{'} c输出大小为 h / S × w / S × c ′ h/S×w/S×c^{'} h/S×w/S×c
在这里插入图片描述

三、卷积前馈网络

本文移除了固定大小的位置编码,并将零填充位置编码引入PVT。如下图(b)所示。在前馈网络中的第一个全连接(FC)层和GELU之间添加了填充大小为1的3×3深度卷积。
在这里插入图片描述

四、PVT v2系列详细信息

本文通过改变超参数将PVT v2从B0扩展到B5。如下所示:
S i S_i Si:阶段i中重叠贴片嵌入的步幅;
C i C_i Ci:第i阶段输出的通道数量;
L i L_i Li:阶段i中的编码器层数;
R i R_i Ri:第i阶段SRA的缩减比;
P i P_i Pi:阶段i中线性SRA的自适应平均池化大小;
N i N_i Ni:第一阶段有效自注意力的头数;
E i E_i Ei:阶段i中前馈层的膨胀比;
下表显示了PVT v2系列的详细信息。遵循ResNet的原则
(1) 通道尺寸增加,而空间分辨率随着层的加深而收缩。
(2) 大部分计算成本被分配给阶段3。
在这里插入图片描述

五、PVT v2的优点

结合这些改进,PVT v2可以
(1)获得图像和特征图的更多局部连续性;
(2) 更灵活地处理可变分辨率输入;
(3) 具有与CNN相同的线性复杂度。

三、实验验证


在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
表6中报告了PVT v2的消融实验。所有三种设计都可以在性能、参数数量或计算开销方面改进模型。重叠切块嵌入(OPE)很重要。比较表6中的#1和#2,与具有原始补丁嵌入(PE)的模型相比,具有OPE的模型在ImageNet上获得了更好的top 1准确性(81.1%对79.8%),在COCO上获得了更高的AP(42.2%对40.4%)。OPE是有效的,因为它可以通过重叠的滑动窗口来建模图像和特征图的局部连续性。
卷积前馈网络(CFFN)很重要。与原始前馈网络(FFN)相比,CFFN包含零填充卷积层。其可以捕获输入张量的局部连续性。此外,由于OPE和CFFN中的零填充引入了位置信息,可以删除PVT v1中使用的固定大小的位置嵌入,使模型能够灵活地处理可变分辨率输入。

猜你喜欢

转载自blog.csdn.net/qq_52302919/article/details/127788991