动机
这篇论文提出了一个名为SegFormer的语义分割框架,旨在解决现有方法中效率和性能之间的权衡问题。当前的语义分割方法大多基于卷积神经网络(CNN)或基于视觉Transformer,尽管这些方法取得了一定的成功,但在处理多尺度特征、推理效率和适应不同分辨率的测试图像时存在局限性。SegFormer的设计动机在于简化模型结构,提高计算效率,并在保持高性能的同时增强模型的鲁棒性。
主要贡献
-
无位置编码的分层Transformer编码器:SegFormer提出了一种新颖的分层Transformer编码器,不需要位置编码,避免了在测试分辨率与训练分辨率不同时性能下降的问题。
-
轻量级全MLP解码器:SegFormer引入了一个轻量级的全MLP解码器,通过聚合不同层次的信息,结合局部和全局注意力,生成强大的特征表示。
-
模型系列的扩展:SegFormer从B0到B5系列模型,展示了在不同规模下显著的性能和效率提升。比如,SegFormer-B4在ADE20K数据集上实现了50.3%的mIoU,参数仅为64M,比之前的最佳方法小5倍,性能提升2.2%。
-
广泛的实验验证:SegFormer在ADE20K、Cityscapes和COCO-Stuff等数据集上进行了广泛的实验,展示了其在效率、精度和鲁棒性方面的显著优势。
创新点
-
无位置编码的分层Transformer编码器:与传统的视觉Transformer不同,SegFormer的编码器不使用固定的形状位置编码,从而在不同分辨率下具有更好的适应性和鲁棒性。
-
轻量级的全MLP解码器设计:通过将Transformer生成的特征进行聚合,SegFormer避免了复杂和计算量大的解码器设计,实现了高效且强大的特征表示。
-
大有效感受野(ERF):SegFormer的解码器设计利用Transformer的非局部注意力机制,在不增加复杂度的情况下实现了更大的有效感受野,增强了模型的上下文捕捉能力。
-
实证性能和鲁棒性:在多个数据集上的实验表明,SegFormer不仅在精度上超过了现有的方法,还在处理图像扰动和变化时表现出了更强的鲁棒性,适用于安全关键的应用场景。
总结来说,SegFormer通过创新性的编码器和解码器设计,在保持高性能的同时,实现了显著的计算效率和鲁棒性提升。
Abstract
这篇论文提出了SegFormer,一种简洁、高效且功能强大的语义分割框架,该框架将Transformer与轻量级的多层感知机(MLP)解码器结合在一起。SegFormer具有两个显著特点:
-
新颖的分层Transformer编码器:这种编码器输出多尺度特征,不需要位置编码,避免了在测试分辨率与训练分辨率不同情况下因位置编码插值导致的性能下降问题。
-
避免复杂解码器:提出的MLP解码器聚合了来自不同层次的信息,结合了局部和全局注意力,从而生成了强大的特征表示。简单轻量的设计是Transformer高效分割的关键。
通过扩展这种方法,论文展示了一系列从SegFormer-B0到SegFormer-B5的模型,展示了显著优于以往方法的性能和效率。例如,SegFormer-B4在ADE20K数据集上达到了50.3%的mIoU,参数量为64M,比之前的最佳方法小5倍,性能提升2.2%。最强模型SegFormer-B5在Cityscapes验证集上达到了84.0%的mIoU,并在Cityscapes-C上展示了出色的零样本鲁棒性。代码将发布在github.com/NVlabs/SegFormer。
1. Introduction
语义分割是计算机视觉中的一个基础任务,能够实现许多下游应用。它与图像分类相关,因为它生成的是每个像素的类别预测,而不是图像级别的预测。这种关系在一个开创性的工作中被指出并系统研究,该工作使用全卷积网络(FCN)进行语义分割任务。自那以后,FCN激发了许多后续工作,并成为密集预测的主要设计选择。
由于分类和语义分割之间的紧密关系,许多最先进的语义分割框架都是流行图像分类架构的变种。因此,设计骨干网络在语义分割中一直是一个活跃的研究领域。从早期使用VGG的方法,到最近使用显著更深和更强大骨干网络的方法,骨干网络的发展极大地推动了语义分割性能的提升。除了骨干网络的设计,另一条工作路线将语义分割表述为结构化预测问题,重点设计能够有效捕获上下文信息的模块和操作,一个代表性的例子是膨胀卷积。
近年来,受自然语言处理(NLP)中Transformer成功的启发,引入Transformer到视觉任务中的兴趣激增。Dosovitskiy等人提出了视觉Transformer(ViT)用于图像分类。该方法将图像分割成多个线性嵌入的patch,然后将它们输入标准的带有位置嵌入的Transformer,取得了令人印象深刻的ImageNet性能。在语义分割中,Zheng等人提出了SETR,展示了在这一任务中使用Transformer的可行性。
SETR采用ViT作为骨干网络,并结合了几种CNN解码器以放大特征分辨率。尽管表现良好,ViT仍有一些局限性:1)ViT输出单尺度低分辨率特征,而不是多尺度特征;2)在处理大图像时计算成本高。为了解决这些问题,Wang等人提出了金字塔视觉Transformer(PVT),这是ViT的自然扩展,具有金字塔结构用于密集预测。PVT在目标检测和语义分割上展示了相对于ResNet的显著改进。然而,与其他新兴方法如Swin Transformer和Twins一样,这些方法主要关注Transformer编码器的设计,忽略了解码器的贡献。
本文介绍了SegFormer,一个前沿的Transformer框架,用于语义分割,兼顾效率、精度和鲁棒性。与以前的方法不同,我们的框架重新设计了编码器和解码器。我们的方法的关键创新点包括:
- 一种新颖的无位置编码且分层的Transformer编码器。
- 一个轻量级的全MLP解码器设计,无需复杂且计算量大的模块。
- 在三个公开可用的语义分割数据集上,SegFormer在效率、精度和鲁棒性方面设立了新的标准。
首先,提出的编码器在推理分辨率与训练分辨率不同的情况下,避免了插值位置编码的问题。因此,编码器可以轻松适应任意测试分辨率,而不影响性能。此外,分层结构使编码器能够生成高分辨率细节特征和低分辨率粗略特征,这与只能生成固定分辨率单一低分辨率特征图的ViT形成对比。其次,我们提出了一个轻量级的MLP解码器,其关键思想是利用Transformer生成的特征,其中低层次的注意力趋于局部,而高层次的注意力则是高度非局部的。通过聚合不同层次的信息,MLP解码器结合了局部和全局注意力,形成了强大的表示。
我们在三个公开数据集ADE20K、Cityscapes和COCO-Stuff上展示了SegFormer在模型大小、运行时间和精度方面的优势。在Cityscapes上,我们的轻量级模型SegFormer-B0在没有加速实现(如TensorRT)的情况下,达到了71.9%的mIoU,速度为48 FPS,相较于ICNet,性能和延迟分别提高了60%和4.2%。我们的最大模型SegFormer-B5达到了84.0%的mIoU,相较于SETR提高了1.8%的mIoU,同时速度快了5倍。在ADE20K上,该模型设置了51.8%的mIoU新记录,且比SETR小4倍。此外,我们的方法对常见的扰动和干扰表现出显著的鲁棒性,适用于安全关键的应用场景。代码将公开发布。
2. Related Work 内容
语义分割
语义分割可以被看作是从图像级别扩展到像素级别的图像分类任务。在深度学习时代,Fully Convolutional Network(FCN)是语义分割领域的基础工作,能够端到端地进行像素级分类。此后,研究人员从不同方面改进了FCN,包括:
- 扩大感受野:如膨胀卷积、空洞卷积等。
- 优化上下文信息:设计能够捕获更广泛上下文的模块和操作。
- 引入边界信息:许多工作通过结合边界检测来提高分割精度。
- 各种注意力模块的设计:增强模型对不同特征的关注能力。
- 使用AutoML技术:通过自动化机器学习技术优化分割模型的设计。
这些方法显著提升了语义分割性能,但也引入了大量经验模块,使得框架复杂且计算量大。近期的研究证明了基于Transformer的架构在语义分割中的有效性,但这些方法仍然计算量大,难以用于实时应用。
Transformer骨干网络
Vision Transformer(ViT)是首个证明纯Transformer可以在图像分类中达到最先进性能的工作。ViT将每张图像处理为一系列tokens,然后输入多个Transformer层进行分类。之后,DeiT进一步探索了数据高效训练策略和蒸馏方法来优化ViT。更多近期的方法如T2T ViT、CPVT、TNT、CrossViT和LocalViT,通过针对性的改进进一步提升了图像分类性能。
在分类任务之外,Pyramid Vision Transformer(PVT)是第一个在Transformer中引入金字塔结构的工作,展示了纯Transformer骨干网络在密集预测任务中相对于CNN的潜力。随后,Swin Transformer、CvT、CoaT、LeViT和Twins等方法通过增强局部特征连续性和移除固定大小位置嵌入,提升了Transformer在密集预测任务中的性能。
针对特定任务的Transformer
DETR是第一个使用Transformer构建的端到端目标检测框架,无需非极大值抑制(NMS)。其他工作也将Transformer用于各种任务,如跟踪、超分辨率、ReID、图像上色、检索和多模态学习。在语义分割中,SETR采用ViT作为骨干网络来提取特征,取得了令人印象深刻的性能。然而,这些基于Transformer的方法效率较低,难以部署在实时应用中。
小结
这一节详细回顾了语义分割的发展,特别是从早期的FCN到近期的基于Transformer的方法。尽管Transformer在语义分割中展示了潜力,但其计算效率仍然是一个挑战。本文提出的SegFormer通过创新的编码器和解码器设计,试图在效率和性能之间找到更好的平衡。
3. Method
图2: SegFormer框架结构解释
这张图展示了SegFormer框架的整体结构,包含两个主要模块:分层Transformer编码器和轻量级全MLP解码器。以下是对图中各部分的详细解释:
编码器部分
-
Overlap Patch Embedding(重叠patch嵌入):
- 输入图像首先被划分为 4 × 4 4 \times 4 4×4 大小的patch。相比于ViT使用的 16 × 16 16 \times 16 16×16 大小的patch,这样的划分有助于密集预测任务。
-
Transformer Block 1 - 4:
- Block 1:包含Efficient Self-Attn(高效自注意力)和Mix-FFN(混合前馈网络)模块。这些模块帮助处理输入的patch并生成特征。
- Block 2 - 4:每个块后续处理特征,并通过Overlap Patch Merging(重叠patch合并)过程生成不同分辨率的多层次特征。
- 输出分辨率和通道数分别为 H 4 × W 4 × C 1 \frac{H}{4} \times \frac{W}{4} \times C_1 4H×4W×C1、 H 8 × W 8 × C 2 \frac{H}{8} \times \frac{W}{8} \times C_2 8H×8W×C2、 H 16 × W 16 × C 3 \frac{H}{16} \times \frac{W}{16} \times C_3 16H×16W×C3、 H 32 × W 32 × C 4 \frac{H}{32} \times \frac{W}{32} \times C_4 32H×32W×C4。
-
Efficient Self-Attention:
- 用于减少自注意力机制的计算复杂度,保持特征的局部和全局信息。
-
Mix-FFN:
- 结合 3 × 3 3 \times 3 3×3 卷积和MLP,避免了位置嵌入的使用,使模型对不同分辨率的测试图像具有鲁棒性。
解码器部分
-
MLP Layer:
- 将来自不同分辨率的多层次特征通过MLP层统一通道维度。
-
Upsample(上采样):
- 将特征上采样到原图分辨率的四分之一,并进行拼接。
-
MLP Layer:
- 将拼接后的特征通过另一层MLP进行融合。
-
MLP:
- 最后一层MLP生成最终的语义分割掩码,分辨率为 H 4 × W 4 × N c l s \frac{H}{4} \times \frac{W}{4} \times N_{cls} 4H×4W×Ncls,其中 N c l s N_{cls} Ncls 为类别数。
总结
SegFormer框架通过分层Transformer编码器生成多尺度特征,这些特征被轻量级的全MLP解码器融合,最终生成高效且准确的语义分割掩码。这种设计避免了复杂的解码器结构,提高了模型的计算效率和性能。
内容解释
这段内容介绍了SegFormer,一种高效、鲁棒且强大的分割框架,不需要手工设计和计算量大的模块。具体而言,SegFormer由两个主要模块组成:
- 分层Transformer编码器:该编码器生成高分辨率粗特征和低分辨率细特征。
- 轻量级全MLP解码器:该解码器将这些多层次特征融合,生成最终的语义分割掩码。
具体步骤如下:
- 图像分割:给定大小为 H × W × 3 H \times W \times 3 H×W×3 的图像,首先将其划分为大小为 4 × 4 4 \times 4 4×4 的patch。这与ViT使用大小为 16 × 16 16 \times 16 16×16 的patch不同,使用较小的patch有利于密集预测任务。
- 特征提取:然后将这些patch输入到分层Transformer编码器,以获得原始图像分辨率的 { 1 / 4 , 1 / 8 , 1 / 16 , 1 / 32 } \{1/4, 1/8, 1/16, 1/32\} {1/4,1/8,1/16,1/32} 多层次特征。
- 解码:将这些多层次特征传递给全MLP解码器,预测出分辨率为 H 4 × W 4 × N c l s \frac{H}{4} \times \frac{W}{4} \times N_{cls} 4H×4W×Ncls 的分割掩码,其中 N c l s N_{cls} Ncls 是类别数。
最后,这一部分说明了将在接下来的部分详细介绍编码器和解码器设计,并总结SegFormer与SETR之间的主要区别。
3.1 Hierarchical Transformer Encoder
Overview
在这一部分,论文介绍了分层Transformer编码器的设计,称为Mix Transformer(MiT)。MiT系列包括从MiT-B0到MiT-B5的不同规模的模型。这些模型具有相同的架构但不同的大小,MiT-B0是轻量级模型用于快速推理,而MiT-B5是最大的模型以获得最佳性能。MiT的设计部分受到ViT的启发,但经过调整和优化以适应语义分割任务。
分层特征表示
与ViT只能生成单一分辨率特征图不同,MiT的目标是生成类似于CNN的多层次特征。这些特征提供了高分辨率粗特征和低分辨率细粒度特征,通常可以提升语义分割性能。具体来说,给定一个分辨率为 H × W × 3 H \times W \times 3 H×W×3 的输入图像,通过patch合并过程得到一个分层特征图 F i F_i Fi,其分辨率为 H 2 i + 1 × W 2 i + 1 × C i \frac{H}{2^{i+1}} \times \frac{W}{2^{i+1}} \times C_i 2i+1H×2i+1W×Ci,其中 i ∈ { 1 , 2 , 3 , 4 } i \in \{1, 2, 3, 4\} i∈{1,2,3,4} ,并且 C i + 1 C_{i+1} Ci+1 比 C i C_i Ci 更大。
重叠patch合并
给定一个图像patch,ViT使用的patch合并过程将一个 N × N × 3 N \times N \times 3 N×N×3 的patch统一为一个 1 × 1 × C 1 \times 1 \times C 1×1×C 向量。这可以很容易地扩展到将一个 2 × 2 × C i 2 \times 2 \times C_i 2×2×Ci 特征路径统一为一个 1 × 1 × C i + 1 1 \times 1 \times C_{i+1} 1×1×Ci+1 向量以获得分层特征图。使用这种方法,可以将分层特征从 F 1 ( H 4 × W 4 × C 1 ) F_1 (\frac{H}{4} \times \frac{W}{4} \times C_1) F1(4H×4W×C1) 缩小到 F 2 ( H 8 × W 8 × C 2 ) F_2 (\frac{H}{8} \times \frac{W}{8} \times C_2) F2(8H×8W×C2),然后依次迭代任何其他层次的特征图。该过程最初设计用于组合不重叠的图像或特征patch,因此未能保持这些patch的局部连续性。相反,论文使用了重叠的patch合并过程。为此,定义了 K K K(patch大小)、 S S S(两个相邻patch之间的步长)和 P P P(填充大小)。在实验中,设定 K = 7 K=7 K=7、 S = 4 S=4 S=4、 P = 3 P=3 P=3 和 K = 3 K=3 K=3、 S = 2 S=2 S=2、 P = 1 P=1 P=1 以进行重叠patch合并,产生与非重叠过程相同大小的特征。
高效自注意力
为了减少自注意力机制的计算复杂度,论文采用了一种序列缩减过程。这个过程使用缩减比率 R R R 来减少序列长度,使自注意力机制的复杂度从 O ( N 2 ) O(N^2) O(N2) 降低到 O ( N 2 R ) O(\frac{N^2}{R}) O(RN2)。具体来说,使用一个线性层将序列的维度从 N × C N \times C N×C 缩减到 N R × C \frac{N}{R} \times C RN×C。
Mix-FFN
ViT使用位置编码(PE)引入位置信息,但由于PE的分辨率是固定的,当测试分辨率不同于训练分辨率时,需要插值位置编码,往往会导致精度下降。为缓解这一问题,论文引入了Mix-FFN,通过直接在前馈网络(FFN)中使用一个 3 × 3 3 \times 3 3×3 卷积,Mix-FFN考虑了零填充的效果,以泄露位置信息。Mix-FFN可以表示为 x out = MLP ( GELU ( Conv3×3 ( MLP ( x in ) ) ) ) + x in x_{\text{out}} = \text{MLP}(\text{GELU}(\text{Conv3×3}(\text{MLP}(x_{\text{in}})))) + x_{\text{in}} xout=MLP(GELU(Conv3×3(MLP(xin))))+xin其中 x in x_{\text{in}} xin 是来自自注意力模块的特征。Mix-FFN将 3 × 3 3 \times 3 3×3 卷积和MLP混合到每个FFN中。在实验中,使用深度卷积来减少参数数量并提高效率。
这部分内容展示了SegFormer中分层Transformer编码器的详细设计,旨在通过多层次特征表示和高效自注意力机制来提升语义分割任务的性能和效率。
3.2 Lightweight All-MLP Decoder 内容总结
概述
这一部分介绍了SegFormer的轻量级解码器,它完全由MLP(多层感知机)层组成,避免了其他方法中常见的手工设计和计算量大的组件。能够实现如此简单解码器的关键在于我们的分层Transformer编码器具有比传统CNN编码器更大的有效感受野(ERF)。
解码器设计步骤
提出的全MLP解码器包含四个主要步骤:
- 统一通道维度:来自MiT编码器的多层次特征 F i F_i Fi 通过MLP层统一通道维度。
- 上采样和拼接:特征被上采样到原图分辨率的四分之一并进行拼接。
- 特征融合:采用MLP层融合拼接的特征 F F F。
- 生成分割掩码:另一层MLP采用融合后的特征来预测分辨率为 H 4 × W 4 × N c l s \frac{H}{4} \times \frac{W}{4} \times N_{cls} 4H×4W×Ncls 的分割掩码,其中 N c l s N_{cls} Ncls 为类别数。
解码器公式化描述如下:
F
^
i
=
Linear
(
C
i
,
C
)
(
F
i
)
,
∀
i
\hat{F}_i = \text{Linear}(C_i, C)(F_i), \forall i
F^i=Linear(Ci,C)(Fi),∀i
F
^
i
=
Upsample
(
H
4
×
W
4
)
(
F
^
i
)
,
∀
i
\hat{F}_i = \text{Upsample}(\frac{H}{4} \times \frac{W}{4})(\hat{F}_i), \forall i
F^i=Upsample(4H×4W)(F^i),∀i
F
=
Linear
(
4
C
,
C
)
(
Concat
(
F
^
i
)
)
,
∀
i
F = \text{Linear}(4C, C)(\text{Concat}(\hat{F}_i)), \forall i
F=Linear(4C,C)(Concat(F^i)),∀i
M
=
Linear
(
C
,
N
c
l
s
)
(
F
)
M = \text{Linear}(C, N_{cls})(F)
M=Linear(C,Ncls)(F)
有效感受野分析
为了理解MLP解码器在Transformer上的有效性,论文使用了有效感受野(ERF)工具来进行可视化和解释。比较了DeepLabv3+和SegFormer在Cityscapes数据集上的四个编码器阶段和解码器头的ERF:
- DeepLabv3+的ERF相对较小,即使在最深的阶段也是如此。
- SegFormer的编码器在较低阶段自然生成类似卷积的局部注意力,同时在较高阶段能够输出高度非局部的注意力,有效捕捉上下文。
- MLP头的ERF表现出比Stage-4更强的局部注意力,除了非局部注意力之外。
CNN中有限的感受野需要通过上下文模块(如ASPP)来扩大感受野,但这不可避免地变得复杂。SegFormer的解码器设计利用了Transformer中的非局部注意力,导致更大的感受野而不复杂。这种设计在CNN骨干网络上效果较差,因为总的感受野受限于Stage-4中的有限感受野。
更重要的是,解码器设计利用了Transformer生成的特征,这些特征同时产生高度局部和非局部的注意力。通过统一它们,MLP解码器通过增加少量参数呈现出互补且强大的表示。仅使用Stage-4的非局部注意力不足以产生良好的结果,需要结合低级局部特征和高级非局部特征。
图3: Cityscapes数据集上的有效感受野(ERF)
这张图展示了DeepLabv3+和SegFormer在Cityscapes数据集上的有效感受野(ERF)。ERF表示的是模型在特征图上的感受野范围,能够反映模型在不同层次捕获上下文信息的能力。以下是对图中各部分的详细解释:
上排: DeepLabv3+
- Stage-1 到 Stage-4:从左到右分别展示了DeepLabv3+模型在四个不同阶段的有效感受野。
- 可以看到,随着阶段的深入,感受野逐渐增大,但总体上仍然相对较小。
- 尤其是在Stage-4(最深层),其感受野仍然有限,不能充分捕获全局上下文信息。
- Head:展示了DeepLabv3+解码器头部的有效感受野。
- 尽管在解码器头部有一定程度的感受野扩展,但与SegFormer相比,仍然不够广泛。
下排: SegFormer
- Stage-1 到 Stage-4:从左到右分别展示了SegFormer模型在四个不同阶段的有效感受野。
- 在较低的Stage(如Stage-1和Stage-2),SegFormer的感受野已经较大,能够捕获更多的上下文信息。
- 在较深的Stage(如Stage-3和Stage-4),感受野进一步扩大,特别是Stage-4能够覆盖大部分图像区域。
- Head:展示了SegFormer解码器头部的有效感受野。
- SegFormer的解码器头部具有更广泛的感受野,能够同时捕获局部和全局的上下文信息。
主要观察
- 局部与全局信息:SegFormer在较低层次的感受野类似于卷积操作,主要集中在局部区域;而在较高层次,其感受野显著扩大,能够捕获全局上下文信息。
- 解码器头部:SegFormer的解码器头部相比DeepLabv3+有更大的感受野,结合了局部和全局注意力,使得分割效果更好。
总结
这张图展示了SegFormer在不同阶段和解码器头部的有效感受野明显优于DeepLabv3+。SegFormer在捕获上下文信息方面表现更好,这也是其在语义分割任务中性能优越的原因之一。
小结
轻量级全MLP解码器是SegFormer设计中的一个关键组件,通过有效地利用Transformer编码器的多层次特征和更大的有效感受野,实现了高效且强大的语义分割性能 .
3.3 Relationship to SETR
在这一部分,论文对比了SegFormer和SETR的方法和性能,强调了SegFormer的几个重要优势:
-
预训练数据集:SegFormer仅使用ImageNet-1K进行预训练,而SETR中的ViT使用了更大的ImageNet-22K进行预训练。这表明,SegFormer在较小的数据集上也能实现卓越的性能。
-
编码器架构:SegFormer的编码器采用了分层结构,能够捕获高分辨率的粗特征和低分辨率的细特征。相较之下,SETR的ViT编码器只能生成单一低分辨率特征图。
-
位置嵌入:SegFormer的编码器移除了位置嵌入,而SETR使用了固定形状的位置嵌入。当推理时的分辨率与训练时不同,固定形状的位置嵌入会降低精度。
-
解码器设计:SegFormer的MLP解码器更加紧凑,计算需求更低,几乎没有额外的计算开销。相比之下,SETR需要多个3×3卷积的重型解码器,计算量较大。
这些改进使得SegFormer在效率和性能上都有显著提升。例如,SegFormer-B4在ADE20K数据集上达到了50.3%的mIoU,参数量仅为64M,比SETR的小5倍,同时性能提升了2.2%。
结论
通过引入分层Transformer编码器和轻量级的全MLP解码器,SegFormer不仅在性能上超过了SETR,而且在计算效率和模型大小上也有显著优势。特别是在预训练数据集、编码器架构、位置嵌入和解码器设计上的创新,使得SegFormer在多个公开数据集上都设立了新的性能基准。
这些对比和分析展示了SegFormer在语义分割任务中的高效性、精确性和鲁棒性,为未来的研究和应用提供了重要参考。
4.1 Experimental Settings
数据集
研究使用了三个公开可用的数据集进行实验:
- ADE20K:这是一个场景解析数据集,包含150个细粒度的语义概念,共有20210张图像。
- Cityscapes:这是一个用于语义分割的驾驶数据集,包含5000张高分辨率的精细标注图像,覆盖19个类别。
- COCO-Stuff:该数据集涵盖172个标签,包括164k张图像,其中118k用于训练,5k用于验证,20k用于测试开发,20k用于测试挑战。
实现细节
- 代码库:使用mmsegmentation代码库进行实验。
- 训练设备:在配备8个Tesla V100显卡的服务器上进行训练。
- 预训练:编码器在ImageNet-1K数据集上预训练,解码器随机初始化。
- 数据增强:训练过程中应用数据增强,包括随机调整尺寸(比例为0.5-2.0)、随机水平翻转和随机裁剪。裁剪尺寸为ADE20K 512×512、Cityscapes 1024×1024、COCO-Stuff 512×512。对于最大的模型B5,ADE20K的裁剪尺寸设为640×640。
- 优化器:使用AdamW优化器。在ADE20K和Cityscapes上训练160K次迭代,在COCO-Stuff上训练80K次迭代。消融实验中,训练40K次迭代。
- 批量大小:ADE20K和COCO-Stuff的批量大小为16,Cityscapes的批量大小为8。
- 学习率:初始学习率设为0.00006,并使用“poly”学习率调度,默认因子为1.0。
- 评估:在评估过程中,将图像的短边缩放到训练裁剪尺寸,并保持长宽比。对于Cityscapes,使用滑动窗口测试法裁剪1024×1024的窗口进行推理。
- 性能指标:使用平均交并比(mIoU)评估语义分割性能。
总结
这一部分详细介绍了实验的设置,包括使用的数据集、实现细节以及具体的训练和评估方法。通过这些详细设置,确保了实验的可重复性和结果的可靠性。
4.2 Ablation Studies 内容总结
模型大小的影响
首先,研究了编码器大小对性能和模型效率的影响。图1显示了ADE20K数据集上性能与模型效率的关系,表1a总结了三个数据集的结果。主要观察如下:
- 解码器与编码器的大小对比:轻量级模型的解码器只有0.4M参数。对于MiT-B5编码器,解码器仅占模型总参数的4%。
- 性能提升:总体上,增加编码器的大小在所有数据集上都带来了稳定的性能提升。轻量级模型SegFormer-B0紧凑且高效,适合实时应用,而最大的模型SegFormer-B5在所有三个数据集上都达到了最先进的结果。
MLP解码器通道维度C的影响
分析了MLP解码器中通道维度C的影响(参见第3.2节)。表1b展示了性能、FLOPS和参数随通道维度变化的结果。主要发现如下:
- 最佳通道维度:设置C=256提供了非常有竞争力的性能和计算成本。性能随着C的增加而增加,但模型也变得更大,效率更低。当通道维度超过768时,性能趋于平稳。因此,选择C=256用于实时模型SegFormer-B0、B1,选择C=768用于其他模型。
Mix-FFN与位置编码(PE)的对比
进行了实验以分析去除Transformer编码器中的位置编码(PE)并使用Mix-FFN的效果。表1c展示了实验结果:
- Mix-FFN的优势:使用Mix-FFN的编码器在不同分辨率下的性能明显优于使用位置编码的编码器。使用位置编码时,低分辨率下性能下降了3.3%,而使用Mix-FFN时性能下降仅为0.7%。
有效感受野(ERF)评估
为了量化有效感受野(ERF)对MLP解码器设计的影响,实验比较了MLP解码器在CNN编码器(如ResNet或ResNeXt)和Transformer编码器(如MiT)的性能。表1d展示了实验结果:
- ERF的影响:结合CNN编码器的MLP解码器性能显著低于结合Transformer编码器的性能。这是因为CNN的感受野比Transformer小,MLP解码器不足以进行全局推理。相反,结合Transformer编码器和MLP解码器带来了最佳性能。
总结来看,消融研究展示了SegFormer设计的各个组成部分对性能和效率的影响,验证了编码器大小、解码器通道维度和去除位置编码对模型性能的重要性。这些研究结果为进一步优化和应用SegFormer提供了重要的参考。
Appendix A: Details of MiT Series
在这个部分,作者列出了一些重要的超参数,这些超参数用于MiT(Mix Transformer)编码器。通过调整这些参数,能够轻松扩展编码器从B0到B5。具体参数如下:
- Ki: 重叠patch嵌入的patch大小。
- Si: 重叠patch嵌入的步长。
- Pi: 重叠patch嵌入的填充大小。
- Ci: 每个阶段输出的通道数。
- Li: 每个阶段的编码器层数。
- Ri: 每个阶段高效自注意力的缩减比率。
- Ni: 每个阶段高效自注意力的头数。
- Ei: 每个阶段前馈层的扩展比率。
这些详细参数帮助读者理解并复现MiT系列编码器的设计。
Appendix B: More Qualitative Results on Mask Predictions
作者在图5中展示了Cityscapes、ADE20K和COCO-Stuff数据集上的更多定性结果,与SETR和DeepLabV3+进行对比。主要观察如下:
- 相比SETR:SegFormer预测的掩码在物体边界附近具有显著更精细的细节,因为其Transformer编码器能够捕获更高分辨率的特征,保留更多细节信息。
- 相比DeepLabV3+:SegFormer减少了长距离错误,这得益于其Transformer编码器比卷积网络(ConvNet)具有更大的有效感受野(ERF)。
Appendix C: More Visualization on Effective Receptive Field
图6选择了一些代表性图像并展示了DeepLabV3+和SegFormer的有效感受野(ERF)。主要观察如下:
- 较大的ERF:相比DeepLabV3+,SegFormer的ERF更大,对图像上下文更加敏感。
- 模式学习:SegFormer的ERF学习到了道路、汽车和建筑的模式,而DeepLabV3+的ERF显示了相对固定的模式。这表明SegFormer的Transformer编码器在特征提取能力上比卷积网络更强。
Appendix D: More Comparison of DeepLabV3+ and SegFormer on Cityscapes-C
这一部分详细展示了与DeepLabV3+在Cityscapes-C数据集上对比的零样本鲁棒性。主要发现如下:
- 实验设置:根据参考文献【77】生成了Cityscapes-C,扩展了Cityscapes验证集,包括16种算法生成的噪声、模糊、天气和数字类别的扰动。
- 性能对比:SegFormer在所有腐蚀/扰动和所有严重程度下的表现都显著优于DeepLabV3+,显示了卓越的零样本鲁棒性 。
这些附录部分提供了更详细的实验和可视化结果,支持SegFormer的设计选择和性能优势。