SegFormer

SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers

https://arxiv.org/abs/2105.15203

E Xie, W Wang, Z Yu, A Anandkumar, J M. Alvarez, P Luo

[The University of Hong Kong & Nanjing University & NVIDIA]

一作的其它工作:

https://github.com/xieenze

Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions

PVTv2: Improved Baselines with Pyramid Vision Transformer

PolarMask: Single Shot Instance Segmentation with Polar Representation

PolarMask++: Enhanced Polar Representation for Single-Shot Instance Segmentation and Beyond

Unsupervised Pretraining for Object Detection by Patch Reidentification

DetCo: Unsupervised Contrastive Learning for Object Detection

OneNet: Towards End-to-End One-Stage Object Detection

Differentiable Hierarchical Graph Grouping for Multi-Person Pose Estimation

摘要:我们提出了一个简单、高效、但功能强大的语义分割框架SegFormer,它将Transformers与轻量级多层感知(MLPs)解码器结合起来。SegFormer有两个吸引人的特点:1)SegFormer包含一个新的层次结构的Trandformer编码器,输出多尺度特征。它不需要位置编码,这样就不用对位置编码做插值(当测试分辨率不同于训练分辨率时,性能就会下降It does not need positional encoding, thereby avoiding the interpolation of positional codes which leads to decreased performance when the testing resolution differs from training.)。2)SegFormer避免了复杂的解码器。所提出的MLP解码器从不同的层聚集信息,从而结合局部注意和全局注意来呈现强大的表示。我们表明,这种简单而轻量级的设计是用Transformer高效地做分割的关键。我们扩展了我们的方法,得到了一系列不同大小型号的模型,从SegFormer-B0 到 SegFormer-B5,比先前的模型达到更好的性能和效率。例如,SegFormer-B4在ADE20K上以64M参数实现了50.3%的mIoU,比以前的最佳方法小5倍,好2.2%。我们的最佳模型SegFormer-B5在Cityscapes验证集上实现了84.0%的mIoU,并且在Cityscapes-C上显示出极好的零样本鲁棒性。代码将发布在:github.com/NVlabs/SegFormer

1. 引言

语义分割是计算机视觉中的一项基本任务,为许多下游应用提供了可能。它与图像分类有关,而它产生每像素类别预测而不是图像级预测。在一项开创性的工作[1]中,作者指出并系统地研究了这种关系,其中作者将全卷积网络(FCNs)用于语义分割任务。从那时起,FCN激发了许多后续工作,并成为密集预测的主要设计选择。

由于分类和语义分割之间有着密切的联系,许多最先进的语义分割框架都是ImageNet上流行的图像分类体系结构的变体。因此,主干结构的设计一直是语义分割的一个活跃领域。事实上,从使用VGGs的早期方法[1,2],到具有更深和更强大主干的最新方法[3],主干的演变极大地推动了语义分割的性能边界。除了主干架构之外,另一项工作将语义分割描述为一个结构化的预测问题,并着重设计能够有效捕获上下文信息的模块和操作。这方面的一个典型例子是扩张卷积[4,5],它通过用孔洞“膨胀”卷积核来增加感受野。

随着自然语言处理(NLP)的巨大成功,最近人们对将Transformers引入视觉任务产生了极大的兴趣。Dosovitskiy等人[6]提出了用于图像分类的视觉变换器(ViT)。根据NLP中的Transformers设计,作者将一幅图像分割成多个线性嵌入的图块,并将它们输入到带有位置嵌入(PE)的标准Transformer中,从而在ImageNet上获得了令人印象深刻的性能。在语义分割方面,Zheng等人[7]提出了SETR来证明在这个任务中使用Transformers的可行性。

SETR采用ViT作为主干,并结合多个CNN解码器来提高特征分辨率。尽管ViT具有良好的性能,但它也有一些局限性:1)ViT输出单尺度低分辨率特征,而不是多尺度特征。2) 在大图像上计算量大。为了解决这些局限性,Wang等人[8]提出了一种金字塔视觉变换器(PVT),它是一种具有金字塔结构的ViT的自然扩展,用于密集预测。PVT在目标检测和语义分割方面比ResNet有很大的改进。然而,与其他新兴方法如Swin-Transformer[9]和Twins[10]一起,这些方法主要考虑变压器编码器的设计,而忽略了解码器对进一步改进的贡献。

本文介绍了SegFormer,一个综合考虑了效率、准确性和鲁棒性的用于语义分割的前沿Transformer框架。与以前的方法不同,我们的框架重新设计了编码器和解码器。我们的方法的关键创新点是:

•    一种新颖的无位置编码分层变压器编码器。

•    轻量级全MLP解码器设计,无需复杂和计算要求高的模块即可产生强大的表示。

•    如图1所示,SegFormer在三个公开可用的语义分割数据集的效率、准确性和鲁棒性方面创下了最新水平。

图1:ADE20K上的性能和效率。所有结果均采用单模型和单尺度推理。SegFormer实现了最新的51.0%mIoU,同时比以前的方法效率更高。

首先,当测试分辨率不同于训练分辨率时,该编码器没有对位置编码做插值。因此,我们的编码器可以很容易地适应任意的测试分辨率而不影响性能。此外,分层部分使编码器能够生成高分辨率的高质量特征和低分辨率的粗特征,这与ViT只能生成具有固定分辨率的单个低分辨率特征图不同。其次,我们提出了一个轻量级的MLP解码器,其核心思想是利用由Transformer推导的特性,其中较低层的注意力倾向于关注局部,而最高层的注意力具有高度的非局部特性。通过聚合不同层的信息,MLP解码器将局部和全局注意力结合起来。因此,我们得到一个简单而直接的解码器,呈现强大的表示。

我们在三个公开的数据集上展示了 SegFormer 在模型大小、运行时间和准确性方面的优势:ADE20K、Cityscapes和COCO等。在Citysapces上,我们的轻量级模型 SegFormer-B0达到48 FPS和71.9%mIoU(没有使用加速器如TensorRT),与ICNet[11]相比,分别在延迟和性能上分别提高了60%和4.2%。我们最大的型号SegFormer-B5的产量为84.0%,相比SETR[7]提升1.8%的mIoU并且快5倍。在ADE20K上,该模型达到51.8%mIoU的最先进水平并且比SETR小4倍。此外,我们的方法比现有方法对常见的腐蚀和扰动更为鲁棒,因此适合于safety-critical 应用。代码将公开使用。

2 相关工作

语义分割。    语义分割可以看作是图像分类从图像层次到像素级的延伸。在深度学习时代[12–16],FCN[1]是语义分割的基础工作,它是一个全卷积网络,它以端到端的方式进行像素到像素的分类。之后,研究人员从不同的方面对FCN进行了改进,如:扩大感受野[17-19,5,2,4,20];细化上下文信息[21–29];引入边界信息[30–37];设计各种注意力模块[38–46];或者使用AutoML技术[47–51]。这些方法在引入大量经验模块的基础上,显著提高了语义分割性能,使得框架计算量大,复杂。最近的方法证明了基于Transformers的语义分割体系结构的有效性[7,46]。然而,这些方法在计算上仍然很苛刻。

Transformers主干。    ViT[6]是第一个证明纯Transformers在图像分类中能达到最先进性能的工作。ViT将每个图像视为一系列tokens,然后将它们反馈到多个Transformers层以进行分类。随后,DeiT[52]进一步探索了ViT的数据高效培训策略和蒸馏方法。更新的方法,如T2T ViT[53]、CPVT[54]、TNT[55]、CrossViT[56]和LocalViT[57]等,引入了针对ViT的定制更改,以进一步提高图像分类性能。

除了分类之外,PVT[8]是第一个在Transformers中引入金字塔结构的工作,它显示了纯Transformers主干相比CNN在密集预测任务中的潜力。之后,Swin[9]、CvT[58]、CoaT[59]、LeViT[60]和Twins[10]等方法增强了特征的局部连续性,消除了固定尺寸的位置嵌入,提高了变压器在密集预测任务中的性能。

特定任务的Transformers。    DETR[52]是第一个使用变压器构建无最大抑制(NMS)的端到端目标检测框架的工作。其他作品也在各种任务中使用Transformers,例如跟踪[61,62]、超分辨率[63]、ReID[64]、着色[65]、检索[66]和多模式学习[67,68]。在语义分割方面,SETR[7]采用ViT[6]作为骨干提取特征,取得了令人印象深刻的性能。然而,这些基于Transformers的方法效率很低,因此难以在实时应用中部署。

3    方法

本节介绍SegFormer,我们的高效、健壮和强大的分割框架,无需手工制作和计算量大的模块。如图2所示,SegFormer由两个主要模块组成:(1)一种分层Transformers编码器,产生高分辨率粗特征和低分辨率高质量特征;以及(2)一种轻量级的全MLP解码器,将这些多层次特征融合,生成最终的语义分割掩码。

给定一张大小为H×W×3的图片,我们首先将其划分为一些大小为4×4的图块。和ViT的16×16图块不同,我们将图块分得更小,这样更适应密集预测任务。

然后,我们使用这些图块作为层次Transformers编码器的输入,以获得原始图像分辨率{1/4、1/8、1/16、1/32}的多级特征。然后,我们将这些多级特征传递给全MLP解码器,以预测尺寸为\frac{H}{4} \times \frac{W}{4} \times N_{cls} 的分割掩膜,其中N_{cls}是类别数。在本节的其余部分,我们将详细介绍所提出的编码器和解码器设计,并总结我们的方法和SETR之间的主要区别。

图2。Segmenter框架包括两个主要模块:分级Transformer编码器,用于提取大而粗、小而精的特征;以及一个轻量级的全MLP解码器来直接融合这些多层次特征并预测语义分割掩码。“FFN”表示前馈网络。

3.1 分级Transformer编码器

我们设计了一系列的Mix Transformer编码器(MiT),MiT-B0到MiT-B5,具有相同的结构,但尺寸不同。MiT-B0是我们用于快速推理的轻量级模型,而MiT-B5是用于最佳性能的最大模型。我们设计的MiT部分灵感来自ViT,但针对语义分割进行了定制和优化。

分层特征表示。    不同于ViT只能生成单一分辨率的特征图,该模块的目标是在给定输入图像的情况下,生成类似CNN的多层次特征。这些特征提供了高分辨率的粗特征和低分辨率的精细(fine-grained)特征,通常可以提高语义分割的性能。更准确地说,给定分辨率为H×W×3的输入图像,我们通过patch merging以获得一个层次化的特征图F_{i} ,其分辨率为\frac{H}{2^{i+1} } \times \frac{W}{2^{i+1} } \times C_{i} ,其中i\in \left\{ 1,2,3,4 \right\} C_{i+1} 要比C_{i} 要大。

Overlapped Patch Merging.    给定一个图像块(image patch),ViT里用到的patch merging流程是将一个N×N×3的图块unifies into 为一个1×1×C的向量。这很容易扩展为将2×2×C_{i} 图块unify into 为一个1×1×C_{i+1}的向量,以获得层次特征图。这样,我们可以将层次特征F_{1}({\frac{H}{4 } \times \frac{W}{4} \times C_{1} } ) 收缩为F_{2}({\frac{H}{8} \times \frac{W}{8} \times C_{2} } ) ,然后迭代层次结构中的任何其他特征映射。这个过程最初是设计来结合非重叠的图像块或特征块。因此,它无法保持这些块周围的局部连续性(local continuity around those patches)。相反,我们使用重叠的块合并过程。为此,我们定义了KSP,其中K是块大小,S是两个相邻块之间的步幅,P是填充大小。在我们的实验中,我们设置K=7,S=4,P=3,以及K=3,S=2,P=1来进行重叠的块合并,以产生与非重叠过程相同大小的特征。

高效的自注意力。    编码器的主要计算瓶颈是自注意力层。在原来的多头自注意过程中,每个头的Q,K,V都有相同的维数N× C、 其中N=H× W是序列的长度,自注意力的计算为:

\mathrm{Attention} (Q,K,V)=\mathrm{Softmax}(\frac{QK^T }{\sqrt{d_{head} } } )V     (1)

这个过程的计算复杂度是O(N^2 ),这对于大的图像分辨率是禁止的。相反,我们使用PVT[8]中介绍的序列缩减过程。此过程使用缩减比R来缩短序列长度,如下所示:

\hat{K}  = \mathrm{Reshape}(\frac{N}{R} ,C\cdot R)(K)

K  =\mathrm{Linear}(C\cdot R ,C)( \hat{K} )                (2)

其中K是要缩减的序列,\mathrm{Reshape}(\frac{N}{R} ,C\cdot R)(K)表示将K变形为\frac{N}{R} \times (C \cdot R)\mathrm{Linear}(C_{in} ,C_{out})(\cdot )表示输入通道数为C_{in} 、输出通道数为C_{out} 的线性层。因此,新的K的维度为\frac{N}{R} \times C。这样,自注意力的复杂度就从O(N^2 )降为O(\frac{N^2 }{R} )。在我们的实验中,我们将第一到第4阶段的R设置为[64,16,4,1]。

MixFFN    ViT使用位置编码(PE)来引入位置信息。然而,PE的分辨率是固定的。因此,当测试分辨率与训练分辨率不同时,需要对位置编码进行插值,这常常导致精度下降。为了缓解这个问题,CPVT[54]使用了3×3卷积与PE一起实现数据驱动PE。我们认为,对于语义分割,位置编码实际上是没有必要的。相反,我们引入了Mix-FFN,它考虑了zero-padding对位置信息的泄露[69],在前馈网络(FFN)中直接使用3×3卷积。MixFFN可写为:

\mathrm{x}_{out} =\mathrm{MLP}(\mathrm{GELU}(\mathrm{Conv}_{3\times 3}(\mathrm{MLP}(\mathrm{x}_{in} )) ))+\mathrm{x}_{in}    (3)

其中\mathrm{x}_{in}是自注意力输出的特征。MixFFN将一个3×3卷积和MLP混入到每个FFN中。在我们的实验中,我们将证明3×3卷积足以为Transformers提供位置信息。具体地,我们使用深度卷积以减少参数量和提高计算效率。

3.2 轻量级All-MLP解码器

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

我们提出的全MLP解码器由四个主要步骤组成。首先,来自MiT编码器的多级特征F_i会通过MLP层来统一通道维度。然后,第二步,特征上采样到1/4尺寸并拼接在一起。第三步,采用MLP层融合拼接后的特征F。最后一步,另一个MLP层利用融合后的特征,预测分割掩膜M,其分辨率为\frac{H}{4} \times \frac{W}{4} \times N_{cls} ,其中N_{cls} 是类别个数。公式为:

 {\hat{F} }  _{i}   =\mathrm{Linear}(C_i ,C)( F_{i}  ),    \forall i

 {\hat{F} }  _{i}   = \mathrm{Upsample}(\frac{H}{4} \times \frac{W}{4}  )(  { \hat{ F} }  _{i}  ),    \forall i

F  =\mathrm{Linear}(4C,C)(\mathrm{Concat}(  { \hat{F } }  _{i}  )),    \forall i

M = \mathrm{Linear}(C, N_{cls} )(F),    (4)

其中M表示预测的掩码,\mathrm{Linear}(C_{in} ,C_{out})(\cdot )表示输入通道数为C_{in} 、输出通道数为C_{out} 的线性层。

有效的感受野分析。    对于语义分割,保持大的感受野以包含上下文信息是一个核心问题[5,19,20]。在这里,我们使用有效感受野(ERF)[70]作为一个工具来可视化和解释为什么我们的MLP解码器设计对Transformers如此有效。在图3中,我们展示了DeepLabv3+和SegFormer的编码器4个阶段与解码器头的ERFs。我们可以做以下观察:

•    即使在最深的第4阶段,DeepLabv3+的ERF也相对较小。

•    SegFormer的编码器在较低的阶段能够自然地产生局部的关注,类似于卷积;同时在第4阶段能够输出高度非局部的关注,有效捕获上下文。

•    如图3中的放大所示,MLP头部(蓝色框)的ERF与第4阶段(红色框)不同,除了非局部注意外,局部注意明显更强(differ from...with a significant stronger local attention besides the non-local attention)。

图3:Cityscapes的有效感受野(ERF)(在100幅图像上取平均)。上面一行:Deeplabv3+。下面一行:SegFormer。两种网络结构的编码器4阶段和解码器头的ERFs都可视化了。最好放大看。

CNN中有限的感受野要求人们求助于诸如ASPP[18]这样的上下文模块,这些模块扩大了感受野,但不可避免地变得计算量大。我们的解码器设计得益于Transformers中的非局部关注,并在不复杂的情况下获得更大的感受野。然而,同样的解码器设计在CNN主干上并不适用,因为在第4阶段,总体感受野(overall receptive filed)的上限是有限的,我们将在后面的表1d中对此进行验证。

更重要的是,我们的解码器设计基本上利用了由Transformer引出的特性,这种特性可以同时产生高度的局部和非局部关注。通过统一它们,我们的MLP解码器通过添加少量参数来呈现互补的和强大的表示。这是促使我们设计的另一个关键原因。单从第4阶段的非局部关注不足以产生良好的结果,如表1d所示。

3.3    与SETR的关系。

与SETR[7]相比,SegFormer包含了多种更高效、更强大的设计:

•    我们只使用ImageNet-1K进行预训练。SETR中的ViT在较大的ImageNet-22K上预训练。

•    SegFormer的编码器具有分层结构,比ViT更小,可以捕获高分辨率粗特征和低分辨率精特征。相比之下,SETR的ViT编码器只能生成单一的低分辨率特征图。

•    我们去除了编码器中的位置嵌入,而SETR使用固定尺寸的位置嵌入,当推理的分辨率与训练的分辨率不同时,会降低精度。

•    我们的MLP解码器比SETR中的更紧凑,计算要求更低。这导致了可以忽略不计的计算开销。相反,SETR需要多个3×3卷积的计算量大的解码器。

4    实验

4.1    实验设置

数据集:    我们使用了三个公开的数据集:Cityscapes[71]、ADE20K[72]和COCOStuff[73]。ADE20K是一个场景解析数据集,包含150个细粒度语义概念,由20210幅图像组成。Cityscapes是一个用于语义分割的驾驶数据集,由5000个精细注释的19类高分辨率图像组成。COCO Stuff包含172个标签,由164k张图片组成:118k用于训练,5k用于验证,20k用于test-dev,20k用于test-challenge。

实施细节:    我们使用mmsegmentation的代码基础,并在一台装有8个Tesla V100的服务器上进行训练。我们在Imagenet-1K数据集上预训练编码器,并随机初始化解码器。在训练过程中,我们做数据增强有:随机resize(比率为0.5-2.0)、随机水平翻转、随机裁剪到512×512(ADE20K)、1024×1024(Cityscapes)、512×512(COCO)。Following [9],在ADE20K上我们最大型号的模型B5的裁剪大小设置为640×640。我们使用AdamW优化器在ADE20K、Cityscapes上训练160K次迭代,在COCO上训练80K次迭代。例外的是,对于消融研究,我们训练了40K迭代的模型。我们对ADE20K和COCO使用16的批量大小,对Cityscapes使用8的批量大小。初始学习率为0.00006,使用系数为1的poly学习率衰减。为了简单起见,我们没有采用广泛使用的技巧,如OHEM,辅助损失或类别平衡损失。在评估过程中,在ADE20K和COCO上,我们将测试图像的短边缩放到训练阶段的crop size,缩放的时候保持宽高比;在Cityscapes上, using sliding window test by cropping1024×1024 windows。我们用mIoU报告性能。

4.2消融研究

模型尺寸的影响。    我们首先分析了增加编码器大小对性能和模型效率的影响。图1显示了在不同大小的编码器下,ADE20K的性能与模型效率。表1a总结了三个数据集的结果。这里首先要观察的是解码器相比编码器的大小。如图所示,对于轻量级模型,解码器只有0.4M的参数。对于MiT-B5编码器,解码器只占模型参数总数的4%。在性能方面,我们可以观察到,总的来说,增加编码器的大小会对所有数据集产生一致的改进。我们的轻量级模型SegFormer-B0在保持竞争性能的同时,结构紧凑、效率高,这表明我们的方法对于实时应用非常方便。另一方面,我们最大的型号SegFormer-B5在所有三个数据集上都取得了最先进的结果,显示了我们Transformers编码器的潜力。

MLP解码器通道维度C的影响。    我们现在分析MLP解码器中通道维度C的影响,参见第3.2节。在表1b中,我们展示了不同维度下的性能、FLOPs和参数量。我们可以观察到设置C=256提供了非常有竞争力的性能和计算成本。性能随C的增加而提高;然而,它会导致更大、效率更低的模型。有趣的是,通道数大于768后,性能的提升会饱和。考虑到这一点,我们将我们的实时模型B0和B1设置为C=256,其余模型设置为C=768

Mix-FFN vs.位置编码器(PE)。    在本实验中,我们分析了移除Transformer编码器中的位置编码而使用所提出的Mix-FFN的效果。为此,我们使用位置编码(PE)和提出的Mix-FFN训练Transformer编码器,并对具有两种不同图像分辨率的Cityscapes进行推断:768×768使用滑动窗口,1024×2048年使用整张图片。

表1c显示了本实验的结果。如图所示,对于给定的分辨率,使用Mix-FFN的方法明显优于使用位置编码的方法。此外,我们的方法对测试分辨率的差异不太敏感:当测试分辨率低时,使用位置编码,准确率下降3.3%。相比之下,使用Mix-FFN,性能下降仅为0.7%。从这些结果,我们可以得出结论,使用Mix-FFN比使用位置编码导致更好和更鲁棒的编码器。

有效的感受野评估。    在第3.2节中,我们认为我们的MLP解码器得益于Transformers相比CNN有更大有效感受野。为了量化这种影响,在本实验中,我们比较了MLP解码器与基于CNN的编码器(如ResNet或ResNeXt)的性能。如表1d所示,将我们的MLP解码器与基于CNN的编码器耦合,与将其与Transformers编码器耦合相比,产生显著更低的精度。直观地说,由于CNN的感受野比Transformers小(见第3.2节的分析),MLP解码器 is not enough for global reasoning。相比之下,耦合我们的Transformers编码器与MLP解码器导致最佳性能。此外,对于Transformers编码器,需要将低层局部特征和高层非局部特征相结合,而不是只使用高层特征。

4.3    与最新方法的比较

我们现在将我们的结果与ADE20K[72]、Cityscapes[71]和COCO Stuff[73]数据集上的现有方法进行比较。

ADE20K和Cityscapes:表2总结了我们的结果,包括ADE20K和Cityscapes的参数、FLOPs、延迟和准确性。在表的顶部,我们报告了实时方法,其中包括最先进的方法和使用MiT-B0轻量级编码器的结果。在底部,我们关注性能,并报告我们的方法和使用更强编码器的相关工作的结果。

如图所示,在ADE20K上,SegFormer-B0仅使用380万个参数和8.4G的浮点运算就产生了37.4%的mIoU,在参数、浮点运算和延迟方面优于所有其他实时对应的运算。例如,与DeeplabV3+(MobileNetV2)相比,SegFormer-B0的帧速率为7.4fps,速度更快,mIoU性能提高了3.4%。此外,SegFormer-B5优于所有其他方法,包括以前最好的SETR,并建立了一个新的最先进的51.8%,比SETR好1.6%,同时效率显著提高。

如表2所示,我们的结果也适用于Cityscapes。SegFormer-B0产生15.2fps和76.2%的mIoU(输入图像的短边为1024),相比DeeplabV3+,mIoU改善了1.3%,并且有2×的加速。此外,当输入图像的短边为512时,SegFormer-B0以47.6fps的速度运行,产生71.9%的mIoU,比ICNet快17.3fps,性能好4.2%。SegFormer-B5有84.0%的最佳IoU,比所有现有方法至少高出1.8%的mIoU,并且它相比SETR[7],运行快5倍,模型小4倍。

在Cityscapes测试集上,我们遵循通用设置[20],将验证图像合并到训练集,并使用Imagenet-1K预训练,并且也使用Mapillary Vistas[76]。如表3所示,仅使用Cityscapes精细数据和Imagenet-1K预训练,我们的方法比所有其他方法(包括使用Imagenet-22K预训练和额外的Cityscapes粗数据的SETR)的mIoU性能好,达到82.2%。利用Mapillary预训练,我们取得了83.1%mIoU的最新成绩。图4显示了城市景观的定性结果,SegFormer比SETR提供了更好的细节,比DeeplabV3+提供了更平滑的预测。

COCO-Stuff    最后,我们在完整的COCO-Stuff数据集上评估SegFormer。为了进行比较,由于现有方法无法提供此数据集的结果,因此我们复制了最具代表性的方法,如DeeplabV3+、OCRNet和SETR。在本例中,此数据集上的flops与ADE20K报告的flops相同。如表4所示,SegFormer-B5在参数仅为84.7M的情况下达到46.7%的mIoU,比SETR好0.9%,模型小4倍。综上所述,这些结果证明了SegFormer在语义分割的准确性、计算量和模型大小方面的优越性。

图4:Cityscapes的定性结果。与SETR相比,我们的SegFormer预测的掩模在物体边界附近具有更精细的细节。与DeeplabV3+相比,SegFormer减少了远程错误,以红色突出显示。最好在屏幕上观看。

4.4 对自然腐蚀的鲁棒性

模型鲁棒性对于许多安全关键任务非常重要,例如自动驾驶[77]。在这个实验中,我们评估了SegFormer对常见的腐蚀和扰动的鲁棒性。为此,我们遵循[77]并生成Cityscapes-C,它将Cityscapes验证集扩展为16种算法生成的损坏,包括噪声、模糊、天气和digital类别。我们将我们的方法与DeeplabV3+的变体以及[77]中报告的其他方法进行了比较。这个实验的结果总结在表5中。

我们的方法明显优于以前的方法,在高斯噪声和降雪天气下的相对改善率分别高达588%和295%。结果表明,SegFormer具有很强的鲁棒性,我们认为这将有利于鲁棒性非常重要的安全关键应用。

5 结论

在本文中,我们提出了一个简单,优雅,但功能强大的语义分割方法SegFormer,它包含一个不用位置编码、层次Transformer编码器和一个轻量级All-MLP解码器。它避免了以往方法中常见的复杂设计,从而提高了效率和性能。SegFormer不仅在常规数据集上获得了最新的结果,而且具有很强的零样本鲁棒性。我们希望我们的方法能为语义分割提供一个坚实的基础,并推动进一步的研究。一个限制是,尽管我们最小的3.7M参数模型比已知的CNN模型小,但它是否能在一个只有100k内存的边缘设备芯片上工作还不清楚。我们把它留给以后的工作。

更广泛的影响

效率、准确性和健壮性是人工智能模型的基本方面,特别是对于安全关键应用。我们的工作在这三个方面极大地推动了语义分割模型的发展。我们设想这项工作将有利于涉及感知和识别的广泛应用,例如自动驾驶和机器人导航。所提出的方法提高了这些应用程序的“in-the-wild”鲁棒性,最终导致更好的安全性。此外,由于我们提出了一套更紧凑的模型,训练计算更少,从而减少了碳足迹。我们目前没有预见到明显的不良道德/社会影响。

附录

A    MiT系列的细节

在这一节中,我们列出了混合Transformer编码器MiT的一些重要的超参数。通过改变这些参数,我们可以很容易地将编码器从B0扩展到B5。

我们MiT的超参数如下:

•    K_i:第i阶段的有重叠图块嵌入的大小(the patch size of the overlapping patch embedding);

•    S_i:第i阶段有重叠图块嵌入的步幅;

•    P_i:第i阶段有重叠图块嵌入的填充大小(padding size);

•    C_i:第i阶段输出的通道数;

•    L_i:第i阶段的编码层数;

•    R_i:第i阶段高效自注意力的缩减率;

•    N_i:第i阶段高效自注意力的头数;

•    E_i:第i阶段前馈层[78]的膨胀率;

表6显示了MiT系列的详细信息。为了便于高效的讨论,我们将MiT编码器取名为B0到B5,其中B0是设计用于实时的最小模型,而B5是设计用于高性能的最大模型。

B    更多关于掩模预测的定性结果

在图5中,与SETR和DeepLabV3+相比,我们给出了有关Cityscapes、ADE20K和COCO的更多定性结果。

与SETR相比,我们的SegFormer可以在物体边界附近预测具有更精细细节的掩模,因为我们的Transformer编码器可以捕获比SETR更高分辨率的特征,从而保留更详细的纹理信息。与DeepLabV3+相比,SegFormer由于变压器编码器比ConvNet具有更大的有效感受野,减少了长程误差。

C    有效感受野的可视化

在图6中,我们选择了一些有代表性的图像的DeepLabV3+和SegFormer的有效感受野(ERF)。除了ERF更大,SegFormer的ERF对图像的上下文更为敏感。我们看到SegFormer的ERF学习了道路、汽车和建筑物的模式,而DeepLabV3+的ERF显示了相对固定的模式。实验结果也表明我们的Transformer编码器比ConvNets具有更强的特征提取能力。

D    在Cityscapes-C上DeeplabV3+和SegFormer的更多的比较

在本节中,我们详细介绍了与SegFormer和DeepLabV3+相比的零样本鲁棒性。Following [77],we test 3 severities for 4 kinds of “Noise” and 5 severities for the rest 12 kinds of corruptions and perturbations

如图7所示,随着严重性的增加,DeepLabV3+显示出相当大的性能下降。相比之下,SegFormer的性能相对稳定。此外,SegFormer在所有腐蚀/扰动和所有严重性方面都比DeepLabV3+具有显著优势,表现出出色的零样本鲁棒性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339

推荐阅读更多精彩内容