摘要
我们提出了SegFormer,这是一个简单、高效且强大的语义分割框架,它将Transformer与轻量级多层感知机(MLP)解码器相结合。SegFormer具有两个吸引人的特点:1)SegFormer包含一个新颖的层次结构Transformer编码器,该编码器能够输出多尺度特征。它不需要位置编码,从而避免了当测试分辨率与训练分辨率不同时,位置编码的插值导致性能下降的问题。2)SegFormer避免了复杂的解码器。所提出的MLP解码器从不同层聚合信息,从而结合了局部注意力和全局注意力,以产生强大的表示。我们证明,这种简单且轻量级的设计是实现Transformer高效分割的关键。我们扩展了我们的方法,得到了一系列从SegFormer-B0到SegFormer-B5的模型,与之前的同类模型相比,显著提高了性能和效率。例如,SegFormer-B4在ADE20K上达到了50.3%的mIoU,具有6400万个参数,比之前的最佳方法小5倍,性能好2.2%。我们的最佳模型SegFormer-B5在Cityscapes验证集上达到了84.0%的mIoU,并在Cityscapes-C上显示出优异的零样本鲁棒性。代码将在GitHub上发布:http://github.com/NVlabs/SegFormer
1. 引言
语义分割是计算机视觉中的一项基础任务,支持许多下游应用。它与图像分类相关,因为它产生的是逐像素类别预测,而不是图像级别的预测。这一关系在开创性工作[1]中被指出并系统地进行了研究,作者在该工作中使用了全卷积网络(FCN)进行语义分割任务。自那以后,FCN激发了众多后续研究,并成为密集预测任务的主要设计选择。由于分类和语义分割之间存在很强的联系,因此许多最先进的语义分割框架都是ImageNet上流行分类架构的变体。因此,设计骨干架构在语义分割领域一直是一个活跃的研究方向。事实上,从早期使用VGGs[1, 2]的方法,到最新的具有更深更强大骨干的方法[3],骨干架构的演进极大地推动了语义分割性能边界的扩展。除了骨干架构外,另一类工作将语义分割表述为一个结构化预测问题,并专注于设计模块和操作,以有效捕获上下文信息。这一领域的代表性例子是空洞卷积[4, 5],它通过“膨胀”卷积核来增加感受野。
见证了在自然语言处理(NLP)中的巨大成功,最近出现了将Transformer引入视觉任务的浓厚兴趣。Dosovitskiy等人[6]提出了用于图像分类的视觉Transformer(ViT)。遵循NLP中的Transformer设计,作者将图像分割成多个线性嵌入的补丁,并将它们与位置嵌入(PE)一起输入到标准Transformer中,从而在ImageNet上取得了令人印象深刻的性能。在语义分割领域,Zheng等人[7]提出了SETR,以证明在该任务中使用Transformer的可行性。SETR采用ViT作为骨干,并结合了几个卷积神经网络(CNN)解码器来扩大特征分辨率。尽管性能良好,但ViT存在一些局限性:1)ViT输出的是单尺度低分辨率特征,而不是多尺度特征;2)在处理大图像时计算成本较高。为了解决这些局限性,Wang等人[8]提出了金字塔视觉Transformer(PVT),这是ViT的自然扩展,具有金字塔结构,适用于密集预测。PVT在目标检测和语义分割任务上相对于ResNet模型表现出了显著的改进。然而,与其他新兴方法(如Swin Transformer[9]和Twins[10])一样,这些方法主要考虑了Transformer编码器的设计,而忽视了解码器对进一步改进的贡献。
本文介绍了SegFormer,这是一个用于语义分割的尖端Transformer框架,它综合考虑了效率、准确性和鲁棒性。与以前的方法不同,我们的框架重新设计了编码器和解码器。我们方法的关键创新点包括:
• 一个无需位置编码且具有层次结构的Transformer编码器。
• 一个轻量级的全多层感知机(MLP)解码器设计,它无需复杂且计算量大的模块即可产生强大的表示。
如图1所示,SegFormer在三个公开可用的语义分割数据集上在效率、准确性和鲁棒性方面均达到了最新水平。
首先,所提出的编码器在执行与训练分辨率不同的图像的推理时,避免了位置编码的插值。因此,我们的编码器可以轻松适应任意测试分辨率,而不会影响性能。此外,层次化部分使编码器能够生成高分辨率的精细特征和低分辨率的粗略特征,这与只能生成具有固定分辨率的单个低分辨率特征图的ViT形成对比。
其次,我们提出了一个轻量级的MLP解码器,其核心思想是利用Transformer诱导的特征,其中较低层的注意力往往保持局部性,而最高层的注意力则高度非局部。通过聚合来自不同层的信息,MLP解码器结合了局部注意力和全局注意力。因此,我们获得了一个简单直接的解码器,能够生成强大的表示。
我们在三个公开可用的数据集ADE20K、Cityscapes和COCO-Stuff上展示了SegFormer在模型大小、运行时间和准确性方面的优势。