论文阅读|HRFormer

HRFormer: High-Resolution Transformer for DensePrediction

目录

Abstract

Introduction

Related work

Vision Transformers 

High-Resolution CNN for Dense Prediction

High-Resolution Transformer

Multi-resolution parallel transformer

Local-window self-attention

FFN with depth-wise convolution

Representation head designs

Instantiation

Analysis

Experiments

4.1 Human Pose Estimation

训练设置

Results

4.2 Semantic Segmentation

4.3 ImageNet Classification

4.4 Ablation Experiments

Influence of 3 ×3 depth-wise convolution within FFN

Influence of shifted window scheme & 3×3 depth-wise convolution within FFN based on Swin-T

Shifted window scheme v.s. 3×3 depth-wise convolution within FFN based on HRFormer-T

Comparison to ViT, DeiT & Swin on pose estimation

Comparison to HRNet

Conclusion

Abstract

我们提出了一种高分辨率Transformer(HRFormer),它可以为密集的预测任务学习高分辨率表示,而不是像原始的Vision Transformer那样,原始Vision Transformer产生低分辨率表示,具有较高的内存和计算成本。我们利用了高分辨率卷积网络(HRNet)中引入的多分辨率并行设计,以及在不重叠的小的图像窗口上执行局部窗口自注意 (local-window self-attention),以提高内存和计算效率。此外,我们还在FFN种引入卷积,以便在不连通的图像窗口间交换信息。我们证明了高分辨率Transformer在人体姿态估计和语义分割任务上的有效性,例如,在COCO姿态估计上,HRFormer比Swin Transformer多1.3 AP,参数减少50%,FLOPs减少30%。

Introduction

Vision Transformer (ViT)在ImageNet分类任务上表现出了良好的性能。后续的许多工作通过知识蒸馏(DeiT)、采用更深层次的架构(Cait)、直接引入卷积运算(Levit, Cvt)、重新设计输入图像tokens(T2T ViT)等方法提高了分类精度。此外,一些研究试图将Transformer扩展到更广泛的视觉任务,如对象检测[4]、语义分割[63,37]、姿态估计[Transpose,PRTR]、视频理解[61,2,30]等。本文主要研究用于密集预测任务的Transformer,包括姿态估计和语义分割。

Vision Transformer将一幅图像分割成大小为16 x 16的图像块序列,提取每个图像块的特征表示。因此,Vision Transformer的输出表示失去了精确密集预测所必需的细粒度空间细节。Vision Transformer只输出单尺度的特征表示,因此缺乏处理多尺度变化的能力。为了减轻特征粒度的损失,并对多尺度变化进行建模,我们提出了包含更丰富空间信息的High-ResolutionTransformer (HRFormer),并构造了密集预测的多分辨率表示

HRFormer是按照HRNet中采用的多分辨率并行设计构建的。首先,HRFormer在stem和第一阶段都采用了卷积,因为一些同时进行的研究[11,50]也表明卷积在早期表现更好。其次,HRFormer在整个过程中保持高分辨率流,并使用并行的中分辨率和低分辨率流帮助提高高分辨率表示。HRFormer具有不同分辨率的特征图,能够对多尺度变化进行建模。第三, HRFormer通过多尺度融合模块换多分辨率特征信息,实现近程和长程注意力的融合。

每种分辨率下,采用局部窗口自注意机制(local-window self-attention)来降低内存和计算复杂度。我们将表示图(representation map)划分为一组不重叠的小图像窗口,并在每个图像窗口执行自注意。这就减少了内存和计算复杂度,从二次到线性的空间大小。我们进一步将3 x 3深度卷积引入到跟随局部窗口自注意的前馈网络(FFN)中,以在局部窗口自注意过程中断开的图像窗口之间交换信息。这有助于扩大感受野,对于密集的预测任务是必不可少的。图1显示了HRFormer块的详细信息。

我们在图像分类、姿态估计和语义分割任务上进行了实验,并在各种基准上取得了竞争性能。例如,HRFormer-B比DeiT-B[42]在ImageNet分类中获得+1.0%的top-1准确度,参数减少40%,FLOPs减少20%。在COCO val姿态识别数据集下,HRFormer-B比HRNet-W48[41]获得0.9%的AP,参数减少32%,FLOPs减少19%。在PASCAL - Context测试集和COCO-Stuff测试集中,HRFormer-B + OCR 比 HRNet-W48 + OCR[55]获得+1.2%和+2.0% mIoU,参数减少25%,FLOPs略多。

Related work

Vision Transformers 

随着ViT和DeiT的成功,人们提出了各种技术来提高Vision Transformer(ConViT,CvT,LeViT,Tokens-to-Token ViT,Cross ViT,Swin等)。在最近的进步中,社区已经验证了一些有效的改进,例如多尺度特征层次结构和合并卷积(incorporating convolutions)。

例如,并行工作 MViT [14]、PVT [46] 和 Swin [27] 按照典型卷积架构(如 ResNet-50)的空间配置将多尺度特征层次结构引入到 Transformer 中。 与它们不同的是,我们的 HRFormer 通过利用受 HRNet 启发的多分辨率并行设计,结合了多尺度特征层次结构。 CvT [47]、CeiT [52] 和 LocalViT [25] 建议通过在 self-attention 或 FFN 中插入深度卷积来增强 Transformer 的局部性。 在我们的 HRFormer 中插入卷积的目的是不同的,除了增强局部性外,它还确保了跨非重叠窗口的信息交换

有几个同时开发的作品 [61, 36] 使用 Vision Transformer 来解决密集预测任务,例如语义分割。 他们已经表明,提高 Vision Transformer 输出的表示的空间分辨率对于语义分割很重要。 我们的 HRFormer 通过利用多分辨率并行变压器方案为解决 VisionTransformer 的低分辨率问题提供了不同的途径。

High-Resolution CNN for Dense Prediction

高分辨率卷积方案在姿态估计和语义分割任务上都取得了巨大的成功。 在高分辨率卷积神经网络的开发中,社区已经开发了三个主要路径:(i)应用扩张卷积去除一些下采样层 [6, 51],(ii)使用解码器从低分辨率表示中恢复高分辨率表示并且 (iii) 在整个网络中保持高分辨率表示。我们的 HRFormer 属于第三条路径,同时保留vision transformer和 HRNet 的优点。

High-Resolution Transformer

Multi-resolution parallel transformer

我们遵循HRNet设计,从高分辨率的卷积stem开始作为第一阶段,逐步添加高分辨率到低分辨率的流作为新阶段。多分辨率流并行连接。主体由一系列的阶段组成。在每个阶段中,每个分辨率流的特征表示通过多个Transformer块独立更新,并通过卷积多尺度融合模块重复交换分辨率间的信息

图2说明了整个HRFormer体系结构。卷积多尺度融合模块的设计正是遵循了HRNet。我们在下面的讨论中说明了Transformer块的细节,更多的细节如图1所示。

*图1:HRFormer结构图:HRFormer由以下组成:(a)局部窗口自注意力模块(b)FFN

局部窗口自注意方案的灵感来自交错稀疏自注意力

*图2: HRFormer的结构:多分辨率并行的transformer模块用浅蓝色标记,每个模块有多个连续的多分辨率的并行transformer模块。第一阶段用卷积块构建,剩下的三个阶段用transformer块构建。

Local-window self-attention

我们将特征图X\in \mathbb{R}^{N\times D}分成一系列的不重叠的小的窗口:X\rightarrow \left \{ X_{1},X_{2},...,X_{p} \right \},每个窗口的尺寸是K\times K。我们在每个窗口独立地执行多头自注意力(multi-head self attention)。在第P个窗口上的多头自注意力的计算公式是:

H代表头的数量,D代表通道数,N代表输入分辨率,\hat{X_{p}}代表MHSA输出表示 。我们还应用了T5模型[Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer]中引入的相对位置嵌入方案,将相对位置信息合并到局部窗口自关注中

利用MHSA在每个窗口内聚合信息,将它们合并以计算输出的X^{MHSA}

图1的左侧说明了局部窗口自注意如何更新2D输入表示,其中多头自我注意在每个窗口中独立操作 。

FFN with depth-wise convolution

局部窗口自注意对不重叠的窗口分别进行自注意,窗口之间没有信息交换。为了处理这个问题,我们在Vision Transformer中形成FFN的两个point-wise MLP之间添加3 × 3深度卷积:MLP(DW-Conv.(MLP()))。图1的右侧显示了一个例子,说明FFN如何通过3 × 3深度卷积更新2D输入表示。

Representation head designs

如图2所示,HRFormer的输出由四个不同分辨率的特征图组成。我们将不同任务的表示头设计细节如下:

  1. ImageNet分类,将四个不同分辨率的feature map发送到一个Bottleneck,输出通道分别为128、256、512和1024。然后利用跨步(strided)卷积对其进行融合,得到2048通道的最低分辨率特征图。最后,我们应用一个全局平均池操作,然后是最终的分类器。
  2. 姿态估计,我们只在最高分辨率的特征图上应用回归头
  3. 语义分割,将语义分割头应用于拼接表示,将所有低分辨率表示上采样到最高分辨率,然后将其拼接在一起。

Instantiation

我们在表1中说明了HRFormer的总体架构配置。我们用(M1,M2,M3,M4)和(B1, B2, B3, B4)分别表示{state1, stage2, stage3, stage4}的模块个数和块个数。我们用(C1, C2, C3, C4), (H1,H2,H3,H4)和(R1, R2, R3, R4)表示不同分辨率下Transformer块的通道数、头数和MLP膨胀比

我们保留了第一阶段不变的原始HRNet,并使用Bottleneck作为基本的构建块。我们将Transformer块应用于其他阶段,每个Transformer块由一个局部窗口自注意和一个包含3 × 3深度卷积的FFN组成。为了简单起见,我们没有在表1中包含卷积多尺度融合模块。在我们的实现中,我们默认将四个分辨率流上的窗口大小设置为(7,7,7,7)。表2展示了三个复杂程度越来越高的不同HRFormer实例的配置细节,其中MLP扩展比率(R1、R2、R3、R4)为所有模型设置为(4、4、4、4),没有在表中没有显示。

*表1:HRFormer的结构配置。LSA:局部窗口自注意力 FFN-DW:带有3×3深度卷积的FFN

(M1,M2,M3,M4):每个阶段的模块个数 (B1,B2,B3,B4):每个阶段的块数

(W1,W2,W3,W4):窗口数量  (H1,H2,H3,H4):不同分辨率下transformer头的数量

(R1,R2,R3,R4):MLP的扩展率

 *表2:HRFormer实例的配置:T,S,B分别是极小,小的和基础模型

Analysis

3×3深度卷积的好处有两个:一个是增强局部性,二是实现了跨窗口的交互。我们在图3中演示了具有深度卷积的FFN如何能够将交互扩展到非重叠的局部窗口之外,并对它们之间的关系进行建模。因此,结合局部窗口自注意和具有3 × 3深度卷积的FFN,我们可以构建HRFormer块,显著提高内存和计算效率。

Experiments

4.1 Human Pose Estimation

训练设置

COCO数据集。遵循mmpose的大多数默认训练和评估设置,并将优化器从ADAM改为AdamW。对于训练batch size,由于GPU内存有限,HRFormer-THRFormer-S选择256, HRFormer-B选择128。在COCO姿态估计任务中,每个HRFormer实验需要8× 32G-V100 GPU。

Results

表3报告了在COCO val集的比较结果。我们将HRFormer与具有代表性的卷积方法(如HRNet)和几种最新的Transformer方法(如PRTR[23]、TransPose-H-A6[51]和Tokenposse-L/D24[24])进行了比较。与输入大小为384x288的HRNet-W48相比,HRFormer-B增加0.9%,参数减少32%,FLOPs减少19%。因此,我们的HRFormer-B已经达到77.2% 在没有使用任何先进的技术,如UDP[20]和DARK[59]的情况下。我们相信我们的HRFormer-B无论采用UDP还是DARK方案都能取得更好的效果。

*表3:COCO 姿态估计验证集的比较。 姿势估计网络的参数数量和 FLOP 的测量既不考虑人体检测也不考虑关键点分组。 所有结果均基于 ImageNet 预训练。 - 表示原始论文中未提供数字。

 *表4:COCO测试集比较结果:

4.2 Semantic Segmentation

4.3 ImageNet Classification

4.4 Ablation Experiments

Influence of 3 ×3 depth-wise convolution within FFN

我们基于表7中的HRFormer-T研究FFN中3 × 3深度卷积的影响。我们观察到,在FFN中应用3 × 3深度卷积显著提高了多个任务的性能,包括ImageNet分类、PASCAL-Context分割和COCO姿态估计。例如,HRFormer-T + FFN w/ 3× 3深度卷积在ImageNet、PASCAL-Context和COCO上分别比HRFormer-T + FFN w/o 3× 3深度卷积的性能好0.65%、2.9%和4.04%

Influence of shifted window scheme & 3×3 depth-wise convolution within FFN based on Swin-T

我们将我们的方法与表8中Swin Transformer的移位窗方案进行比较。为了便于比较,我们按照和 Swin-T相同的架构配置(除了我们不应用移位窗口方案)构造了一个Intra-Window Transformer架构 。我们看到,在FFN中应用3×3深度卷积可以改善Swin-T和IntrawinT。令人惊讶的是,将3× 3深度卷积应用于FFN时,Intrawin-T甚至优于Swin-T。

Shifted window scheme v.s. 3×3 depth-wise convolution within FFN based on HRFormer-T

表9中,我们将FFN方案中的3 × 3深度卷积与基于HRFormer-T的移位窗口方案进行了比较。根据结果,我们看到在FFN中应用3×3深度卷积显著优于在所有不同的任务中应用移位窗口方案

Comparison to ViT, DeiT & Swin on pose estimation

我们在表10中报告了基于ViT- Large[13]、DeiT-B[42]和Swin-B[27]两种知名Transformer模型的COCO姿态估计结果。值得注意的是,ViT-Large和Swin-B都是在ImageNet21K上预先进行训练,然后在ImageNet1K上进行微调,分别达到了85.1%和86.4%的top-1准确率。DeiT-B在ImageNet1K上训练1000个epoch,达到85.2%的top-1准确率。我们应用SimpleBaseline[49]的方式,使用反卷积模块对三个方法之后的编码器输出表示进行上采样。参数和FLOPs的数量列在表10的第四和第五列中。根据表10中的结果,我们看到HRFormer-B比所有三个参数和FLOPs更少的方法获得了更好的性能。

Comparison to HRNet

我们将HRFormer与几乎相同架构配置的卷积HRNet进行了比较,方法是将所有的Transformer模块替换为由两个3 - 3卷积组成的传统基本模块。表11显示了ImageNet、PASCAL-Context和COCO的对比结果。我们观察到HRFormer在各种配置下以更少的模型和计算复杂度显著优于HRNet。例如,HRFormer-T在三个任务上的表现分别比HRNet-T好2.0%、1.5%和1.6%,而只需要大约50%的参数和FLOPs。总之,HRFormer通过利用Transformer的优点(如与内容相关的动态交互)获得了更好的性能。

Conclusion

在这项工作中,我们提出了高分辨率 Transformer (HRFormer),一种简单而有效的 Transformer 架构,用于密集预测任务,包括姿势估计和语义分割。关键点是将HRFormer块卷积HRNet的多分辨率并行设计相结合,该块将局部窗口自注意和包含深度卷积的FFN相结合,以提高内存和计算效率。此外,HRFormer还受益于在早期采用卷积并将短期和长期注意与多尺度融合方案混合。实验验证了该算法在姿态估计和语义分割任务上的有效性。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值