论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers

最近在阅读一些关于transformer的论文,在此记录是为了看看到底天天学了些什么。目前阅读这些论文感觉还是似懂非懂的阶段,还需要时间细细斟酌,共勉!


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

从序列到序列的角度重新思考语义分割

1、介绍

语义分割大多使用FCN(fully-convolutional network),标准的FCN具有编码器-解码器体系结构:编码器用于特征表示学习,而解码器用于编码器生成的特征表示的像素级分类。它的限制是学习远程依赖信息(对于无约束场景图像中的语义分割至关重要),感受野有限。
扩大感受野:

  • 直接操作卷积运算
  • 将注意力模块集成到FCN体系结构中,但标准编码器FCN模型架构都保持不变
  • 有人试图完全摆脱卷积,转而部署注意力单独模型。然而,即使没有卷积,它们也不会改变FCN模型结构的性质

 为了获得更大的感受野,本文部署了一个纯transformer(没有卷积和分辨率降低)取代基于堆叠卷积层的逐渐降低空间分辨率的编码器,产生一种新的模型即SEgmentation TRansformer,SETR。它把输入的图像分割成若干个patches,即可将输入看成图像序列,该序列使用全局自注意力建模对序列进行变换。

论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers_第1张图片

具体步骤如下:

  1. 首先将图像分割成固定大小的patch,形成一系列patches
  2. 将线性嵌入层应用于每个patch的摊平向量,然后获得一系列特征嵌入向量作为transformer的输入
  3. 从编码器transformer学习的特征,然后使用解码器恢复原始图像的分辨率

值得一提的是,在空间分辨率上没有向下采样,但在编码器转换器的每一层都有全局上下文建模 

本文贡献:

  • 从序列到序列的角度从新思考了语义分割,提供了一种代替主要的编码-解码FCN设计模式
  • 用transformer通过对图像进行序列化来实现我们完全关注的特征表示解码器
  • 介绍了三种不同复杂程度的解码器设计,实验表明本文所提出的SETR模型可以学习到更优越的特征表示

2、方法 

基于FCN的语义分割(需要堆叠很多层才能获得全局上下文信息,但是随着堆叠层数的增加到一定程度后效果并不明显)感受野有限,将FCN与attention机制相结合是获取全局上下文的有效策略,但是这些方法由于其特征张量的像素数的平方级复杂度,将注意力学习限制在具有较小输入尺寸的较高层次上。这意味着缺乏对低层次特征张量的依赖学习,导致次优表示学习。为了克服这个限制,我们提出了一个纯粹的基于自我注意的编码器,命名为SETR。

Segmentation Transformer(SETR):

论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers_第2张图片

1D特征序列作为transformer的输入,L为序列长度,C为隐藏通道大小。

图像序列化:480*480*3的图像需要进行下采样至原分辨率的1/16后输入transformer。所以把原始图像分割成16个patch,通过线性函数f将每个向量化的patch进一步映射到C维嵌入空间。为了对patch空间信息进行编码,对每个位置i加入一个特定的嵌入pi,并将其加入到ei中,形成最终的序列输入E = {e1 + p1, e2 + p2,···,eL + pL}。

解码器设置:

本文设计了三种解码器,解码器的目标是在原始2D图像中生成分割结果,因此需要将编码器的特征重塑为3D特征映射。

  1. Naive upsampling(Naive)简单上采样:采用一个简单的 2层网络结构将特征投射到类别编号的维度上,然后,简单地将输出双线性上采样到全图像分辨率,之后连接一个具有像素交叉熵损失的分类层。
  2. Progressive upsaming(PUP)渐进式上采样:采用交替卷积层和上采样操作,为了最大限度地减轻对抗效应,我们将上采样卷积限制在2*2,并进行了4次。如下图论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers_第3张图片
  3.  Multi-Level feature Aggregation(MLA)多级特征聚合:将特征表示从多层(M层)均匀分布到解码器,然后部署M个stream,每个stream关注特定的层。对于每个stream,先将编码器特征从2D转为3D,然后使用一个3层网络处理特征图(第一、三层特征通道减半,第三层之后通过双线性运算将空间分辨率提升4倍)。论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers_第4张图片

3、实验结果

大量实验表明,SETR在ADE20K (50.28% mIoU)、Pascal Context (55.83% mIoU)和cityscape上取得了较好的效果。特别地,在ADE20K测试服务器排行榜的第一名。

论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers_第5张图片论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers_第6张图片

论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers_第7张图片

 1、在cityscape的所有变体中,PUP获得了最好的性能。SETR-MLA性能较差的一个可能原因是,不同transformer层的特征输出不具有特征金字塔网络(FPN)的金字塔分辨率的优点(见论文图5)。

2、MLA和PUP使用T-large性能优于使用T-Base

3、虽然SETR-PUP-Base(76.71)表现不如Hybrid-Base(76.76),但在更多迭代(80k)的训练中,它表现出色(78.02)。这表明FCN编码器设计可以替代语义分割,进一步验证了模型的有效性

 论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers_第8张图片

 图2为SETR和dailted FCN在ADE20K上的定性结果。当使用默认的160000次迭代在训练+验证集上训练单个模型时,SETR在竞争激烈的ADE20K测试服务器排行榜上排名第一


 4、总结

        通过引入序列对序列的预测框架,为语义分割提供了另一种视角。现有的基于FCN的方法通常在组件级使用扩展卷积和注意模块来扩大接收域,与之相比,作者在架构级做了一步改变,完全消除了对FCN的依赖,解决了感受野有限的问题。

        用transformer来实现提出的模型,它可以在特征学习的每个阶段建模全局上下文。随着一组不同复杂性的解码器设计,建立了强大的分割模型,没有目前的方法部署的铃声和哨子。大量的实验表明,我们的模型在ADE20k、Pascal Context和Cityspaces上得到了较先进的结果。

你可能感兴趣的:(transformer,深度学习,人工智能)