[论文阅读:姿态识别&Transformer] 2110 HRFormer: High-Resolution Transformer for Dense Prediction

[论文阅读:姿态识别&Transformer] 2110 HRFormer: High-Resolution Transformer for Dense Prediction

文章目录

  • [论文阅读:姿态识别&Transformer] 2110 HRFormer: High-Resolution Transformer for Dense Prediction
      • 摘要:
      • 1.Introduction
      • 2. 相关工作
      • 3. High-Resolution Transformer
        • 3.1. Multi-resolution parallel transformer
        • 3.2. Local-window self-attention
        • 3.3. FFN with depth-wise convolution.
        • 3.4. Representation head designs.
      • 4. 实验结果
        • 4.1. 人体姿态识别
        • 4.2. 语义分割
        • 4.3. 图像分类
        • 4.4. 消融实验
      • 5. 结论

来自中国科学院大学、北大、微软亚研院

paper https://arxiv.org/abs/2110.09408

github https://github.com/HRNet/HRFormer

摘要:

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

1.Introduction

Vision Transformer (ViT)在ImageNet分类任务上显示了良好的性能。后续的许多工作通过知识蒸馏(DeiT)、采用更深层次的架构(Cait)、直接引入卷积运算(Levit, Cvt)、重新设计输入图像tokens(T2T ViT)等方法提高了分类精度。此外,一些研究试图将Transformer扩展到更广泛的视觉任务,如对象检测[4]、语义分割[63,37]、姿态估计[51,23]、视频理解[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)来降低内存和计算复杂度。我们将表示映射划分为一组不重叠的小图像窗口,并分别对每个图像窗口执行自注意。这就减少了内存和计算复杂度,从二次到线性的空间大小。我们进一步将3 x 3深度卷积引入到跟随局部窗口自注意的前馈网络(FFN)中以在局部窗口自注意过程中断开的图像窗口之间交换信息。这有助于扩大感受野,对于密集的预测任务是必不可少的。图1显示了HRFormer块的详细信息。

图1. HRFormer block的说明。HRFormer块由 (a)局部窗口自注意local-window self-attention(b)带深度卷积的前馈网络(FFN) 组成。local-window自注意方案的灵感来自于交错稀疏自注意([56 Ocnet,21])。

我们在图像分类姿态估计语义分割任务上进行了实验,并在各种基准上取得了竞争性能。例如,HRFormer-BDeiT-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略多。

2. 相关工作

Vision Transformer 随着Vision Transformer (ViT)和data-efficient image Transformer (DeiT)的成功,人们提出了各种技术来提高Vision Transformer的ImageNet分类精度。在最近的进步中,社区已经验证了几个有效的改进,如多尺度特征层次结构包含卷积

例如,并行工作MViTPVTSwin在遵循ResNet-50等典型卷积体系结构的空间配置的Transformer中引入了多尺度特征层次。与他们不同的是,我们的HRFormer通过利用受HRNet启发的多分辨率并行设计融合了多尺度的特征层次CvTCeiTLocalViT提出通过在自注意或FFN中插入深度卷积来增强Transformer的局部性。在HRFormer中插入的卷积的目的是不同的,除了增强局部性外,它还确保了非重叠窗口之间的信息交换

之前的一些研究也提出了类似的局部自注意图像分类方案。它们在步进stride卷积后构造重叠的局部窗口,导致计算量大。与Swin Transformer相似,我们提出采用local-window自注意方案将输入特征图划分为不重叠的窗口。然后我们在每个窗口内独立地应用了自我注意,从而大大提高了效率。

有几个同时的作品[63,37]使用Vision Transformer来解决密集的预测任务,如语义分割。他们已经表明,增加视觉Transformer输出的表示的空间分辨率对语义分割是重要的。我们的HRFormer通过利用多分辨率并行Transformer方案,为解决视觉Transformer的低分辨率问题提供了一种不同的途径。

密集预测任务中的HRNet 高分辨率卷积算法在姿态估计语义分割方面都取得了很大的成功。在高分辨率卷积神经网络的发展过程中,主要发展了三条主要路径,包括: (i)应用空洞卷积去除一些下采样层,(ii)使用解码器从低分辨率表示中恢复高分辨率表示,以及 (iii)在整个网络中保持高分辨率表示。我们的HRFormer属于第三条路径,同时保留了vision transformer和HRNet的优势

图2. High-Resolution Transformer的架构。多分辨率并联Transformer模块用浅蓝色区域标记。每个模块由多个连续的多分辨率并联Transformer块组成。第一级用卷积块构造,其余三个级用transformer块构造

3. High-Resolution Transformer

3.1. Multi-resolution parallel transformer

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

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

3.2. Local-window self-attention

我们将特征图 X ∈ R N × D X\in \R^{N\times D} XRN×D分为一个不重合的小窗口的集合 X → { X 1 , X 2 , . . . , X P } X \to \{X_1,X_2,...,X_P\} X{X1,X2,...,XP}, 其中每一个窗口尺寸为K x K。我们在每个窗口中独自计算多头自注意力MHSA。在第p-th个窗口的multi-head self-attention的公式为:

H表示头数,D表示通道数,N表示输入分辨率, X ^ p \hat{X}p X^p表示MHSA的输出表示。我们还应用了在T5 model[35]中应用的相对位置嵌入将相对位置信息合并到局部窗口自注意模块中。

MHSA汇聚了每个窗口内的信息,我们合并它们来计算输出的 X M H S A X^{MHSA} XMHSA:
{ X ^ 1 , X ^ 2 , . . . , X ^ P } ⟶ M e r g e X M H S A \{\hat{X}_1,\hat{X}_2,...,\hat{X}_P\} \longrightarrow^{Merge} X^{MHSA} {X^1,X^2,...,X^P}MergeXMHSA
图1的左侧说明了局部窗口自我注意如何更新2D输入表示,其中多头自我注意在每个窗口中独立操作。

3.3. FFN with depth-wise convolution.

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

3.4. Representation head designs.

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

3.5. 实例化

我们在表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),没有在表中没有显示。

3.6. 分析

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

4. 实验结果

4.1. 人体姿态识别

训练设置 使用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方案都能取得更好的效果。

我们还报告了表4中COCO test-dev集的比较。我们的HRFormer-B在参数和FLOPs较少的情况下比HRNet-W48高出约0.7%。图4给出了一些基于COCO val集的人体姿态估计的示例结果。

4.2. 语义分割

表5. 与最近的SOTA在语义分割任务上的比较。我们报告了Cityscapes val、PASCAL-Context测试、COCO-Stuff test和ADE20K val上的mIoUs,测量了1024 × 1024的图像尺寸和19 × 1024 × 1024的输出标签图尺寸上的参数和FLOPs的数量。所有结果均采用多尺度测试进行评估。‡:在ADE20K上进行额外的预训练获得结果。

4.3. 图像分类

训练设置。我们在ImageNet-1K上进行比较。我们使用AdamW优化器,余弦衰减学习率,权值衰减为0.05,训练300个epochs的batch_size=1024的所有模型,并使用一些增强策略,包括rand augmentation[10]、mixup[60]、cutmix[58]等。HRFormer-T和HRFormer-S需要8 × 32G-V100 gpu, HRFormer-B需要32 × 32G-V100 gpu

Results。我们将HRFormer与表6中一些有代表性的CNN方法和vision transformer方法进行比较,其中所有方法仅在ImageNet-1K上进行训练。为了公平起见,不包括具有较大数据集(如ImageNet-21K)的v - large的结果。根据表6,HRFormer实现了竞争效果。例如,HRFormer-B比DeiT-B获得1.0%的收益,同时节省了近40%的参数和20%的FLOPs。

4.4. 消融实验

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 SwinT. 我们将我们的方法与表8中Swin Transformer[27]的移位窗方案进行比较。为了便于比较,我们按照和 Swin-T[27]相同的架构配置(除了我们不应用移位窗口方案)构造了一个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 HRFormerT.表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的优点(如与内容相关的动态交互)获得了更好的性能。

5. 结论

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

你可能感兴趣的:(姿态识别,Transformer,transformer,深度学习,计算机视觉)