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

一直以来,分割都是在 FCN 的基础上搭建 Encoder-Decoder 进行的,基于 CNN 的缺点,虽然有设计方法取增大感受野、引入注意力机制,但还是没有背离这个规则。SETR 以 transformer 替代 CNN 的 Encoder 部分,将 2D 图片问题转为序列注意力构建问题,能在保持分辨率不变的情况下进行特征学习,最后使用 CNN 类似的金字塔结构还原分辨率

什么是 SETR?

  • 一直以来,分割都是在 FCN 的基础上搭建 Encoder-Decoder 进行的,基于 CNN 的缺点,虽然有设计方法取增大感受野、引入注意力机制,但还是没有背离这个规则
  • SETR 以 transformer 替代 CNN 的 Encoder 部分,将 2D 图片问题转为序列注意力构建问题,能在保持分辨率不变的情况下进行特征学习,最后使用 CNN 类似的金字塔结构还原分辨率

SETR 的模型结构?

  • 输入:图像 (B, C,H, W),需要对图像进行 Patch 化,然后加入 Position embedding,得到 (B, S, L)
  • Encoder:以 tansformer block 搭建,输入 (B, S, L),输出也是 (B, S, L)
  • Decoder:将 Encoder 输出 (B, S, L)转为 4D 数据 (B, H/16, W/16, C),然后使用 3 种分辨率上采样方法验证 Decoder 效果

SETR 的 Decoder 设计?

  • Encoder 输出 (B, H/16, W/16, C)数据, SETR 设计了三种解码器上采样方法还原分辨率,实验证明 PUP 效果更好,最终采样该方法
  • 最原始上采样 (Naive upsampling):通过简单的1x1卷积加上双线性插值来实现图像像素恢复
  • 渐进式上采样 (Progressive UPsampling, PUP):一步到位式的上采样可能会产生大量的噪声,渐进式上采样则可以缓解这种问题。每一次上采样只恢复上一步图像的2倍,这样经过4次操作就可以回复原始图像
  • 多层次特征加总 (Multi-Level feature Aggregation, MLA):这种设计跟特征金字塔网络类似

SETR 的注意力可视化?

  • 第一张图:可视化 Encoder 的某些 tansformer block 的输出,可以看出在低层的 tansformer block 已经构建全局注意力关系
  • 第二张图:可视化一个固定点 (patch)与其他点 (patch)的注意力关系,可以看出,tansformer block 确实构建了目标的注意力关系

参考:

  1. 重新思考语义分割范式——SETR - 知乎