SETR(CVPR 2021,复旦大学)

paper:Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers

official implementation:https://github.com/fudan-zvg/SETR

third-party implementation:https://github.com/open-mmlab/mmsegmentation/tree/main/configs/setr

背景

现有的大多数语义分割方法采用基于全卷积网络(FCN)的编码器-解码器架构。编码器逐渐减少空间分辨率并学习更抽象的视觉概念。尽管这种方法在图像理解中表现良好,但在处理长距离依赖信息方面存在局限性。

出发点

作者认为现有的基于FCN的架构在处理长距离依赖信息时存在局限性,这是因为感受野仍然有限。为了克服这一限制,作者提出将语义分割视为序列到序列的预测任务,并使用纯Transformer(不包含卷积和分辨率降低)来编码图像。

解决了什么问题

该方法解决了传统FCN编码器在长距离依赖信息建模方面的局限性。通过使用全局自注意力机制,Transformer编码器能够在每一层对全局上下文进行建模,提供更优的特征表示。

创新点

其实就是将backbone换成了ViT,其它没了!

  • 模型设计:提出了纯Transformer编码器替代传统卷积层,重新定义了图像语义分割问题,将其视为序列到序列学习问题。
  • 特征表示:通过将图像分解为固定大小的patch,并将其转换为特征嵌入序列,利用Transformer框架实现全注意力特征表示编码。
  • 解码器设计:介绍了三种不同复杂度的解码器设计,进一步验证了自注意力特征表示的效果。

方法介绍

网络的整体结构如图1所示,编码器部分就是Vision Transformer(具体介绍见https://blog.csdn.net/ooooocj/article/details/139183309,其中包括一个patch merging层,然后是多个Transformer block,每个block中包含一个self-attention和一个feed-forward network,FFN由一个两层MLP构成,此外还有residual connection和Layer Normalization)。

整个encoder部分除了patch merging层将输入分辨率从 \(H\times W\) 变成 \(\frac{H}{16}\times \frac{W}{16}\),剩余部分都保持分辨率不变。

然后作者设计了三种不同复杂度的decoder,Naive、PUP、MLA。

Naive Upsampling(Naive)就是一个简单的两层网络将特征图的分辨率还原为原始输入分辨率:1x1 conv + BN + ReLU + 1x1 conv,然后通过双线性插值上采样还原原始输入分辨率。最后是一个classification layer(也是一个1x1卷积输出通道为类别数)和交叉熵损失。

Progressive UPsampling(PUP)和Naive一步将分辨率还原回去的方式不同,PUP是通过渐进式的上采样还原输入分辨率,其中每次上采样比率为2,因此对于 \(\frac{H}{16}\times \frac{W}{16}\) 的特征图需要进行4次上采样。

Multi-Level feature Aggregation(MLA)是一种多层级的特征聚合方法,和特征金字塔类似,具体来说就是将编码器部分不同stage的输出特征图拼接起来,然后上采样得到原始输入分辨率大小的特征图。

实验结果

作者首先进行了三种decoder的消融实验,结果如表2所示,其中PUP的精度最高。其中MLA将只是将不同阶段的特征图拼接得到最终的特征图,上采样还是Naive一步到位的方式,如果采用PUP的上采样方式,效果应该会更好

和其它SOTA模型在ADE20K、Pascal Context、Cityscapes三个数据集上的性能对比如表4、5、6所示

 

 

 

  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

00000cj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值