SegFormer:使用Transformer进行语义分割的简单高效设计

前言

将 Transformer 与轻量级多层感知 (MLP) 解码器相结合,表现SOTA!性能优于SETR、Auto-Deeplab和OCRNet等网络,代码即将开源!

注1:文末附【视觉Transformer】交流群

想看更多CVPR 2021论文和开源项目可以点击:

CVPR2021-Papers-with-Code

SegFormer

SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers
SegFormer:使用Transformer进行语义分割的简单高效设计

  • 作者单位:香港大学, 南京大学, NVIDIA, Caltech
  • 代码:https://github.com/NVlabs/SegFormer
  • 论文:https://arxiv.org/abs/2105.15203

我们提出了 SegFormer,这是一种简单、高效但功能强大的语义分割框架,它将 Transformer 与轻量级多层感知 (MLP) 解码器相结合。

SegFormer:使用Transformer进行语义分割的简单高效设计

SegFormer 有两个吸引人的特性:

  1. SegFormer 包含一个新颖的分层结构的 Transformer 编码器(Hierarchical Transformer Encoder),它输出多尺度特征。它不需要位置编码,从而避免了在测试分辨率与训练不同时导致性能下降的位置编码插值。

SegFormer:使用Transformer进行语义分割的简单高效设计

  1. SegFormer 避免了复杂的解码器。所提出的 MLP 解码器(Lightweight All-MLP Decoder)聚合来自不同层的信息,从而结合局部注意力和全局注意力来呈现强大的表示。我们表明,这种简单轻巧的设计是 Transformer 上有效分割的关键。
    SegFormer:使用Transformer进行语义分割的简单高效设计

主要创新:
SegFormer:使用Transformer进行语义分割的简单高效设计

实验结果

我们扩大我们的方法以获得从 SegFormer-B0 到 SegFormer-B5 的一系列模型,与以前的同类产品相比,性能和效率显著提高。

SegFormer:使用Transformer进行语义分割的简单高效设计

例如,SegFormer-B4 在具有 64M 参数的 ADE20K 上实现了 50.3% 的 mIoU,比之前的最佳方法小 5 倍和 2.2%。我们最好的模型 SegFormer-B5 在 Cityscapes 验证集上实现了 84.0% 的 mIoU,并在 Cityscapes-C 上显示了出色的zero-shot鲁棒性。
SegFormer:使用Transformer进行语义分割的简单高效设计
SegFormer:使用Transformer进行语义分割的简单高效设计
SegFormer:使用Transformer进行语义分割的简单高效设计
SegFormer:使用Transformer进行语义分割的简单高效设计

CVer-视觉Transformer交流群

建了CVer-Transformer交流群!想要进Transformer学习交流群的同学,可以直接加微信号:CVer9999。加的时候备注一下:Transformer+学校/公司+昵称,即可。然后就可以拉你进群了。

强烈推荐大家关注CVer知乎账号和CVer微信公众号,可以快速了解到最新优质的CV论文。

SegFormer:使用Transformer进行语义分割的简单高效设计

上一篇:Vision MLP 之 S2-MLP V1&V2 : Spatial-Shift MLP Architecture for Vision


下一篇:TensorFlow学习笔记(2)——TensorFlow实现MLP