【论文讲解】SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers

SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers

Enze Xie1 Wenhai Wang2 Zhiding Yu3∗Anima Anandkumar3,4 Jose M. Alvarez3 Ping Luo1 1The University of Hong Kong 2Nanjing University 3NVIDIA 4Caltech

35th Conference on Neural Information Processing Systems (NeurIPS 2021)


目录

0 Abstract

1 Introduction

2 Related Work

3 Method

 3.1 分层的Transformer编码器

 3.2 轻量级All-MLP解码器

 3.3 与SETR的关系

4 Experiments

4.1 Experimental Settings

4.2 Ablation Studies

5 Conclusion


0 Abstract

SegFormer是一个简单,高效但强大的语义分割框架,它将Transformer与轻量级MLP解码器统一起来。 主要特点: 1)一个新的层次结构的Transformer编码器,它输出多尺度特征。它不需要位置编码,从而避免了位置码的插值,当测试分辨率与训练不同时,会导致性能下降。 2)避免了复杂的解码器。所提出的MLP解码器聚合了来自不同层的信息,从而结合了局部注意和全局注意,呈现出强大的表示能力。

 作者证明,这种简单和轻量级的设计是Transformer高效分割的关键。作者对SegFormer进行扩展,获得了从SegFormer-B0到SegFormer-B5的一系列模型,达到了比以前的模型更好的性能和效率。 SegFormer-B4以64M的参数在ADE20K上达到50.3%的mIoU,比之前的最佳方法小5倍,好2.2%。最佳模型SegFormer-B5在CitySpaces验证集上达到了84.0%的mIoU,并在CitySpaces-C上显示出良好的zero-shot鲁棒性。

1 Introduction

Transformer最先在NLP领域取得成功,后来多索维茨基等人开创性地提出了ViT将Transformer用于CV领域,取得了和CNN相当的效果。在语义分割中,Zheng等人提出了SETR来证明使用Transformer的可行性。 SETR采用ViT作为骨干,并合并了几个CNN解码器来扩大特征分辨率。尽管ViT具有良好的性能,但它有两个重要的限制: 1) ViT输出单尺度的低分辨率特征,而不是多尺度的特征; 2)它在大图像上具有非常高的计算成本。SETR架构图如下。

 为了解决这些限制,Wang等人提出了一种金字塔视觉Transformer(PVT),这是一种具有金字塔结构的ViT的自然扩展,用于密集预测。PVT在目标检测和语义分割方面比ResNet有相当大的改进。然而,与其他新兴的方法如Swin Transformer和Twins一起,这些方法主要考虑了Transformer编码器的设计,而忽略了解码器对进一步改进的贡献。PVT架构图如下。

 本文提出的SegFormer,是一个尖端的语义分割Transformer框架,同时考虑了效率、准确性和鲁棒性。与以前的方法相比,本文的框架重新设计了编码器和解码器。主要创新点如下: 一种新的无位置编码的分层Transformer编码器 一种可以产生一个强大的表示且没有复杂的和计算要求的模块的轻量级的All-MLP解码器设计。

2 Related Work

语义分割

语义分割可以看作是图像分类从图像级到像素级的一种扩展。在深度学习时代,FCN是语义分割的基本工作,这是一个完全卷积的网络,以端到端的方式进行像素到像素的分类。在此之后,研究人员从不同的方面重点改进FCN,如:扩大感受野、细化上下文信息、引入边界信息、设计各种注意模块、或使用AutoML技术。这些方法以引入许多经验模块为代价,显著提高了语义分割的性能,使得所得到的框架计算要求高且复杂。最近的方法已经证明了基于Transformer的架构对语义分割的有效性。然而,这些方法仍然需要计算量。

Transformer骨干网络

ViT是第一个证明纯Transformer可以在图像分类中达到最先进的性能的工作。ViT将每幅图像视为一系列token,然后将它们输入多个Transformer层以进行分类。随后,DeiT 进一步探索了一种数据高效的训练策略和一种蒸馏方法。最近的方法,如T2T ViT 、CPVT、TNT 、CrossViT和LocalViT,对ViT进行了量身定制的更改,以进一步提高图像分类性能。 除了分类之外,PVT是第一个在Transformer中引入金字塔结构的工作,展示了与CNN相比,纯Transformer骨干在密集预测任务中的潜力。之后,Swin 、CvT、CoaT、LeViT和Twins等方法增强了特征的局部连续性,去掉了固定大小的位置嵌入,提高了Transformer在密集预测任务中的性能。

用于特定任务的Transformer

DETR是第一个使用Transformer的端到端目标检测框架,没有非最大抑制(NMS)。其他工作也在跟踪、超分辨率、re-id、着色、检索和多模态学习等任务中使用了Transformer。在语义分割方面,SETR采用ViT作为骨干来提取特征,取得了令人印象深刻的性能。然而,这些基于Transformer的方法的效率非常低,因此很难在实时应用程序中部署。

3 Method

SegFormer由两个主要模块组成: (1)分层Transformer编码器; (2)轻量级All-MLP解码器来预测最终掩码。

 3.1 分层的Transformer编码器

 层次结构的特征表示

与ViT不同,本文的编码器在给定输入图像时生成多级多尺度特征。这些特性同时提供了高分辨率的粗特征和低分辨率的细粒度特征,从而提高了语义分割的性能。

 高效的自注意力

本文引入序列缩减过程。此过程使用还原比R来减少序列的长度如下: 新的K的维数为NR×C,因此,自注意力机制的复杂性从O(N^2)降低到O(N^2/R)。

 重叠的Patch Merging

ViT中的Patch Merging模块被设计为结合不重叠的图像或特征补丁。因此,它不能保持这些补丁周围的局部连续性。本文使用了一个重叠的patch Merging过程。为此,我们定义了K、S和P,其中K是patch size,S是两个相邻patch之间的步幅,P是填充大小。在我们的实验中,我们设置K = 7、S = 4、P = 3和K = 3、S = 2、P = 1进行重叠patch Merging,产生与非重叠过程具有相同大小的特征。

 无位置编码设计

在ViT中,PE的分辨率是固定的。因此,当测试分辨率与训练不同时,需要插值PE。这导致了精度的下降,这是不可取的,因为分辨率不匹配在语义分割中很常见。本文引入了Mix-FFN,通过在前馈网络(FFN)中直接使用3×3 Conv来考虑零填充对泄漏位置信息的影响。

 3.2 轻量级All-MLP解码器

SegFormer集成了一个只由MLP层组成的轻量级解码器,这就避免了在其他方法中通常使用的手工制作和计算要求很高的组件。实现这样一个简单的解码器的关键是,我们的分层Transformer编码器比传统的CNN编码器具有更大的有效感受野(ERF)。

 所提出的All-MLP解码器包括四个主要步骤。首先,来自MiT编码器的多级特性Fi通过一个MLP层来统一通道维度。然后,在第二步中,特征被上采样到1/4,并连接在一起。第三,采用MLP层融合连接的特征F。最后,另一层MLP层采用融合的特征,以H/4×W/4×Ncls分辨率预测分割掩模M,其中Ncls为类别数。解码器公式如左图,结构如右图。

 3.3 与SETR的关系

与SETR相比,SegFormer包含了多个更高效和更强大的设计:

  • 我们只使用ImageNet-1K进行预训练。SETR中的ViT在更大的ImageNet-22K上进行预训练。
  • SegFormer的编码器具有分层架构,比ViT小,可以捕获高分辨率的粗糙和低分辨率的精细特征。相比之下,SETR的ViT编码器只能生成单一的低分辨率特征图。
  • SegFormer删除了编码器中的Position Encoding,而SETR使用固定形状的Position Encoding,当推理时的分辨率与训练时的分辨率不同时,这降低了精度。
  • SegFormer的MLP解码器比SETR中的MLP解码器更紧凑,计算要求也更低。这导致的计算开销可以忽略不计。相比之下,SETR需要具有多个3×3卷积的heavy解码器。

4 Experiments

4.1 Experimental Settings

数据集:Cityscapes、ADE20K、COCO-Stuff 实施细节:使用mmsegmentation代码库,并在一个使用8台Tesla V100的服务器上进行了训练。作者在Imagenet-1K数据集上对编码器进行预训练,并随机初始化解码器。使用AdamW优化器,学习速率被设置为0.00006,然后使用默认的因子为1.0的“poly”LR调度。为简单起见,作者没有采用广泛使用的技巧,如OHEM、辅助损失或类平衡损失。作者报告了使用mIoU评估语义分割性能。

4.2 Ablation Studies

4.4 Robustness to natural corruptions

本实验中,作者评估了SegFormer对常见的腐败和扰动的鲁棒性。为此,遵循并生成CitySpaces-C,它扩展了CitySpaces验证集,包括16种来自噪声、模糊、天气和数字类别的算法生成的破坏。将本文的方法与DeeplabV3+和其他方法进行了比较。作者还与具有DeiT变压器主干的SETR进行了比较。 

SegFormer显著优于以前基于cnn的方法,在高斯噪声上相对提高了588%,在雪上天气上高达295%。除了一个损坏(雪)外,SegFormer的一般性能也优于SETR。结果表明SegFormer具有很强的鲁棒性,作者设想这有利于鲁棒性重要的安全关键应用。 

5 Conclusion

  • 本文提出了一种简单、干净而又强大的语义分割方法SegFormer。
  • 它包含一个无位置编码的分层Transformer编码器和一个轻量级的All-MLP解码器。
  • 它避免了以往方法中常见的复杂设计,从而实现了高效率和性能。
  • SegFormer不仅在公共数据集上取得了SOTA结果,而且显示出了很强的zero-shot鲁棒性。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值