关注公众号,发现CV技术之美

本文分享NeurIPS 2021论文『HRFormer: High-Resolution Transformer for Dense Prediction』,HRNet又出续作啦!由国科大&北大&MSRA联合提出高分辨率Transformer《HRFormer》,代码已开源!

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2110.09408

  • 项目链接:https://github.com/HRNet/HRFormer

导言:

在本文中,作者提出了一种高分辨率 Transformer(High-Resolution Transformer ,HRT),用于学习密集预测任务的高分辨率表示,而原始的视觉Transformer 只能处理低分辨率表示,并且具有较高的显存和计算成本。

HRT利用了高分辨率卷积网络(HRNet)中引入的多分辨率并行设计,并且在非重叠的局部窗口上执行自注意,提高了显存和计算效率。此外,作者在FFN中引入卷积,以便在没有连接的图像窗口之间交换信息。

通过实验,作者证明了高分辨率Transformer 在人体姿势估计和语义分割任务上的有效性,例如,HRT在COCO姿势估计上比Swin Transformer高1.3AP,参数减少50%,FLOPs减少了30%。

      01      

Motivation

Vision Transformer(ViT)在ImageNet分类任务中表现出了良好的性能。许多后续工作通过知识蒸馏,采用更深层次的结构,直接引入卷积运算或者重新设计输入图像token等方法来提高分类精度。此外,一些研究试图扩展Transformer以解决更广泛的视觉任务,如目标检测、语义分割、姿势估计、视频理解等。本文的重点是构建用于密集预测任务的Transformer,包括姿势估计和语义分割

Vision Transformer将图像分割为大小为16×16的图像块序列,并提取每个图像块的特征表示。因此,Vision Transformer的输出表示失去了密集预测所必需的细粒度空间细节。Vision Transformer仅输出单尺度特征表示,因此缺乏处理多尺度变化的能力。为了减少特征粒度的损失并对多尺度变化进行建模,作者提出了包含更丰富空间信息的高分辨率Transformer(HRT),并为密集预测构造多分辨率表示。

高分辨率Transformer采用HRNet中采用的多分辨率并行设计。首先,HRT在stem层和第一阶段都采用卷积,因为一些研究也表明卷积在早期阶段表现更好。第二,HRT在整个过程中保持一个高分辨率流,而并行的中、低分辨率分支有助于提高高分辨率的表示。由于具有不同分辨率的特征图,因此HRT能够模拟多尺度变化。第三,HRT通过与多尺度融合模块来交换多分辨率特征信息,实现了混合了近距离和远距离的Attention。

作者将特征映射划分为一组不重叠局部窗口,并在每个图像窗口中分别进行自注意。这就减少了显存,并将计算复杂性从与空间大小的二次关系降低到线性关系。作者进一步将3×3深度卷积引入到跟随局部窗口自注意的前馈网络(FFN)中,使得自注意过程中断开的图像窗口之间能够交换信息。这有助于扩大感受野,对于密集的预测任务至关重要。上图展示了HRT中Transformer块的详细结构。

      02      

方法

2.1. Multi-resolution parallel transformer

作者遵循了HRNet的设计,从一个高分辨率卷积stem层开始作为第一阶段,逐步将高分辨率到低分辨率的流逐个添加为新阶段,多分辨率流并行连接。主体结构由一系列阶段组成,在每个阶段中,每个分辨率流的特征表示分别使用多个Transformer块进行更新,并且跨分辨率的信息通过卷积多尺度融合模块进行交换。

上图展示了整个HRT的结构。卷积多尺度融合模块的设计与HRNet相同。

2.2. Local-window self-attention

首先将特征映射划分到一组不重叠的小窗口:,其中每个窗口大小为K×K,HRT在每个窗口内独立执行多头自注意力(MHSA)。第p个窗口上的多头自注意公式如下所示:

其中,

,代表头的数量,代表通道的数量,代表输入的分辨率,代表MHSA的输出。

然后作者聚合了每个窗口的特征,如下所示:

上图的左半部分说明了局部窗口的自注意是如何更新2D输入表示的,其中多头自注意在每个窗口内独立运行。

2.3. FFN with depth-wise convolution

局部窗口的自注意在非重叠窗口上分别执行自注意,而没有跨窗口的信息交换。为了解决这个问题,作者在视觉Transformer中FFN的两个MLP之间添加了3×3深度卷积:。上图的右部分显示了FFN如何使用3×3深度卷积更新2D输入表示。

2.4. Representation head designs

HRT的输出由四个不同分辨率的特征图组成。不同任务的表示头设计如下所示:

  • ImageNet分类中,作者将四分辨率特征映射送到bottleneck中,输出通道分别更改为128,256,512和1024。然后,作者用卷积对它们进行融合,并输出2048个通道的最低分辨率特征图。最后,用一个全局平均池化操作,然后是最终的分类器。

  • 姿势估计中,作者只在最高分辨率的特征图上应用回归头。

  • 语义分割中,作者将语义分割头应用于concat之后的特征表示(首先将所有低分辨率表示向上采样到最高分辨率,然后将它们concat在一起)。

2.6. Instantiation

上表中展示了HRT的总体结构。使用(M1,M2,M3,M4)和(B1,B2,B3,B4)分别表示{state1,stage2,stage3,stage4}的module数和block数;使用(C1、C2、C3、C4)、(H1、H2、H3、H4)和(R1、R2、R3、R4)表示与不同分辨率相关的Transformer块中的通道数、头数和MLP扩展比。

第一阶段和HRNet的模块相同,在其他阶段应用Transformer块,每个Transformer块由一个局部窗口自注意和一个具有3×3深度卷积的FFN组成。

在实现中,默认情况下,四个分辨率流上的窗口大小设置为(7,7,7)。上表说明了三种不同HRT实例的配置细节,这些实例的复杂性不断增加,其中MLP扩展比(R1、R2、R3、R4)在所有模型中均设置为(4,4,4,4)。

2.7. Analysis

3×3深度卷积的好处有两个:一个是增强局部性,另一个是支持跨窗口的交互。如上图所示,具有深度卷积的FFN能够充分建模非重叠的局部窗口。因此,基于局部窗口自注意和具有3×3深度卷积的FFN的组合,作者构建了HRT的Transformer块,从而显著提高显存和计算的效率。

      03      

实验

3.1 Human Pose Estimation

上表展示了 COCO val set上人体姿态估计任务的实验结果。

上表展示了 COCO test-dev set上人体姿态估计任务的实验结果。

上图展示了COCO上人体姿态估计的一些定性实验结果。

3.2 Semantic Segmentation

上表展示了不同数据集上,本文方法和其他方法进行语义分割的实验结果。

上图展示了不同数据集上,本文方法进行语义分割的定性实验结果。

3.3 ImageNet Classification

上表展示了分类任务上,本文方法的实验结果。

3.4 Ablation Experiments

Influence of 3×3depth-wise convolution within FFN

上表展示了FFN中3x3卷积的必要性。

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

上表展示了Swin Transformer中,FFN中3x3卷积的必要性。

Comparison to ViT, DeiT & Swin on pose estimation

上表展示了其他Transformer网络在姿态估计上的实验结果。

Comparison to HRNet

上表展示了HRNet和HRT的实验结果对比,可以看出HRT的性能比HRNet还要好。

      04      

总结

在本文中,作者提出了高分辨率Transformer(HRT),这是一种简单但有效的Transformer架构,用于密集的预测任务,包括姿势估计和语义分割。该网络设计的关键是HRT transformer块,它将局部窗口自注意和带深度卷积的FFN相结合,以提高显存和计算效率。此外,HRT的优异性能还得益于在早期阶段采用卷积,并将短程和远程注意力与多尺度融合的方案相结合。

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

END

加入「Transformer交流群

NeurIPS2021 HRFormer:HRNet又出续作啦!国科大北大MSRA提出高分辨率Transformer,开源!...相关推荐

  1. 火遍日本 IT 界的「鱼书」终出续作,原来进阶深度学习竟然那么简单

    在日本,有一本书在 AI 领域的影响力超越了实力派的"花书",长期位列日亚"人工智能"类图书榜首,众多五星好评.它被众多高校名师为 AI 入门教材,如果你也是 ...

  2. 送书 | 火遍日本 IT 界的「鱼书」终出续作!!!!

    (文末查看送书规则) 在日本,有一本书在 AI 领域的影响力超越了实力派的"花书",长期位列日亚"人工智能"类图书榜首,众多五星好评.它被众多高校名师作为 AI ...

  3. 空之轨迹sc存档_《空之轨迹》:一部优秀到让续作也无法超越的经典单机游戏!...

    如果说有什么单机游戏让小编想吹爆的话,那么毫无疑问是这部单机游戏--<空之轨迹>. <空之轨迹>是一款RPG游戏,分为三部,分别是空之轨迹FC.空之轨迹SC.空之轨迹3rd.主 ...

  4. 百万册热销书《考试脑科学》续作!每个家长都应该买的一本书

    人即便闭着双眼,也能将饭菜送入口中:即便在视线中总能看见鼻梁,也不会感觉鼻子挡住了视线. 也许会有人说:"这不是常识嘛!"事实上,这些现象非常奇妙.毕竟人用筷子夹不同的食物,手部的 ...

  5. 2021最新番剧有哪些?续作扎堆,神仙打架

    2020年已经过去,去年的作品中有着像<咒术回战>这样的漫改大作,作为当红辣子鸡的五条悟也成为了日本周边出得最疯狂的角色.但是除此之外,开局震撼赛博朋克画风的<全员恶玉>顺利扑 ...

  6. 《热血传奇》续作MIR4介绍,它成了地地道道的区块链游戏

    传奇这款游戏想必大家并不陌生,以前走进一个网吧,人人都在玩传奇,好比现在的英雄联盟,可以说在那个时候风光无限.今天要介绍的MIR4(传奇4)算得上是热血传奇的续作,同样是由WeMade这家公司所研发. ...

  7. Java魂斗罗1234合集_《魂斗罗》正统续作1234部介绍,别再搞错喽!

    原标题:<魂斗罗>正统续作1234部介绍,别再搞错喽! 说到<魂斗罗>相信大部分玩家最早接触到的都是FC游戏,也就是我们说的小霸王游戏.红白机 但其实<魂斗罗>最早 ...

  8. 1月书单 2月新书预告 | 百万册畅销书全新续作来啦

    幸福而忙碌的 1 月一溜烟就跑走了,我们已经来到 2 月的第 1 天.最近,公司楼下售卖咖啡的地方,总是排着长长的队--想必不少小伙伴还在找状态. 图灵君先带大家回忆一下 1 月我们上新了哪些书. 0 ...

  9. gta5虚拟服务器,画质炸裂的《GTA5》重制版,虚拟现实的混合体,堪比续作!

    画质炸裂的GTA5长什么样子呢?想必在座的各位都想了解一下,这不官方重制版GTA5马上就要在本年度的11月11日与我们见面了,此次重制与往日的DLC不同,这对于主机玩家来讲,可是一款全新的游戏,而且只 ...

最新文章

  1. mysql int 做排序_Mysql数据库按照varchar字符串类型排序和按照int整型类型排序的区别和注意点及解决方案...
  2. 深度神经网络对基于EEG的情绪识别的关键频带和通道的研究
  3. linux c 用户态 调试追踪函数 调用堆栈 定位段错误
  4. ps -aux返回超过100%
  5. 【freemarker】渲染列表一系列操作
  6. ES6-3 let进阶、const、全部变量与顶层对象
  7. 机器学习降维算法一:PCA (Principal Component Analysis)
  8. 要不要做独立站系统?做了有什么用?
  9. PHP动态生成select标签
  10. 系统分析师论文通用格式
  11. python写接口调用模型_基于Python开发的SWMM模型调用接口
  12. 【直播礼物特效】vapxtool简介(一)(企鹅电竞)
  13. Intel 系统级架构概述
  14. c++中MFC消息机制,UI线程和工作线程,模式对话框原理
  15. laravel框架的下载与安装
  16. 第一周学习总结与体会
  17. gRPC-拦截器简单使用
  18. 渗透测试漏洞利用入门总结
  19. 多变量干扰事件发生下的地铁客流预测
  20. linux 软件包的安装,linux安装软件包的方法

热门文章

  1. Cocos2d x 2 0 从HelloWorld入手
  2. 数据竞赛入门-金融风控(贷款违约预测)四、建模与调参
  3. 线性代数【1】线性代数是什么【2】行列式计算【3】行列式性质【特殊行列计算】【4】克莱姆法则
  4. 小程序 - 腾讯云 - wafer - PHP - 数据库接口的应用和研究 - 01 - DB::insert
  5. 双光子荧光成像_在不影响分辨率的情况下,成功将双光子显微镜成像速度提高5倍!...
  6. oracle rac启动关闭,Oracle RAC启动及关闭步骤
  7. html body最小高度,CSS网页布局中的最小高度问题的解决方法
  8. java 规则引擎_【java规则引擎】java规则引擎搭建开发环境(示例代码)
  9. matlab矩阵的低秩分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...
  10. kali linux工具pyrit,在Kali Linux上安装cuda、pyritcuda以及optimus -电脑资料