1、Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers
简介
主页:https://fudan-zvg.github.io/SETR/
在提交当天,在ADE20K测试服务器排行榜上取得了第一的位置。
多数语义分割方法都采用有编码器-解码器结构的全卷积网络(FCN)。编码器逐步降低空间分辨率,学习更抽象/语义视觉概念与更大的接受域。由于上下文建模对分割至关重要,研究集中在通过扩展卷积或插入注意模块来增加接受域。基于编码器-解码器的FCN架构保持不变。
论文提供另一种视角,将语义分割视为序列到序列的预测任务,提出一个纯transformer的编码器(即,没有卷积)来将图像编码为一系列补丁。在transformer的每一层中对全局上下文进行建模,该编码器可以与简单的解码器相结合,以提供一个强大的分割模型,称为SEgmentation TRansformer (SETR)。
论文关键是在空间分辨率上没有下采样,而是在编码器转换器的每一层进行全局上下文建模,从而为语义分割问题提供了一个全新的视角。
类似论文的区别:Axial-deeplab: Standalone axial-attention for panoptic segmentation. In ECCV, 2020
- Axial-deeplab完全消除了卷积(SETR也是如此),但他们的模型仍然遵循传统的FCN设计,特征图的空间分辨率逐渐降低。序列到序列预测模型自始至终保持相同的空间分辨率,因此代表了模型设计的阶梯式变化
- 为了最大化现代硬件加速器上的可扩展性并便于使用,SETR坚持标准的self-attention设计。相反,Axial-deeplab采用专门设计的axial-attention这是更少的可伸缩的标准计算设施。
贡献
- 从序列到序列学习的角度重新表述了图像语义分割问题,为目前主导的编码器-解码器FCN模型设计提供了一种替代方案。
- 作为一个实例,利用transformer框架来实现全注意特征表示编码器通过对图像进行排序。
- 为了更广泛地研究自关注特性表示,进一步介绍了三种不同的解码器设计,它们具有不同的复杂性。
实现流程
SETR:(a)首先将图像分割成固定大小的小块,线性嵌入每个小块,添加位置嵌入,并将得到的向量序列输入标准的Transformer编码器。
解码器:(b)渐进上采样(产生名为SETRPUP的变体); ( c) 多层次特征聚合(一种称为SETR-MLA的变体)。
将FCN与注意机制相结合能有效学习上下文信息,这些方法由于其二次复杂度w.r.t特征张量的像素数,将注意力学习限制在更高层和更小的输入尺寸。这意味着缺乏对低层次特征张量的依赖学习,导致次优表示学习。为了克服这一限制,提出了一种纯粹的基于自注意的编码器,称为SETR
Image to sequence
如上图 a 所示,接受特征嵌入的一维序列 Z∈RL×CZ∈R^{L×C}Z∈RL×C 作为输入,L 为序列长度,C 为隐藏通道大小,对图像进行序列化,将输入图像 x∈RH×W×3x∈R^{H×W ×3}x∈RH×W×3 转换为 Z
考虑到用于语义分割的典型编码器会将二维图像 x∈RH×W×3x∈R^{H×W ×3}x∈RH×W×3 下采样为特征图 xf∈RH16×W16×Cx_f∈R^{ \frac{H}{16} × \frac{W}{16} ×C}xf∈R16H×16W×C,因此将transformer输入序列长度 L 设为 H16×W16=HW256\frac{H}{16} × \frac{W}{16} = \frac{HW}{256}16H×16W=256HW,从而可以简单地将变压器的输出序列重塑为目标特征映射 xfx_fxf
为了得到 HW256\frac{HW}{256}256HW 长的输入序列,将图像 x∈RH×W×3x∈R^{H×W ×3}x∈RH×W×3 均匀地分成H16×W16\frac{H}{16} × \frac{W}{16}16H×16W小块的网格,然后将该网格平展成序列。
通过使用线性投影函数 f 将每个向量化的补丁 p 映射到潜在的 c 维嵌入空间,得到了图像 x 的一维补丁嵌入序列。
为了对补丁空间信息进行编码,对每个位置 i 学习一个特定的嵌入 pip_ipi,并将其添加到 eie_iei 中,形成最终序列输入E={e1+p1,e2+p2,⋅⋅⋅,eL+pL}E = \{e_1 + p_1, e_2 + p_2,···,e_L + p_L\}E={e1+p1,e2+p2,⋅⋅⋅,eL+pL}。从而,尽管 transformer 具有无秩序的自我注意特性,空间信息仍然被保留。
transformer
以一维嵌入序列 E 为输入,采用基于纯 transformer 的编码器学习特征表示。这意味着每个transformer 层都有一个全局接收场,一劳永逸地解决了现有FCN编码器接收场有限的问题。变压器编码器由 LeL_eLe 层的多头自注意(MSA)和多层感知器(MLP)块组成。在每一层 l 上,自我注意的输入是由输入 Zl−1∈RL×CZ^{l−1}∈R^{L×C}Zl−1∈RL×C 计算出来的(query、key、value)三元组
其中 WQ/WK/WV∈RC×dW_Q/W_K /W_V∈R^{C×d}WQ/WK/WV∈RC×d 为三线性投影层的可学习参数,d 为(query、key、value)的维数。自我注意(SA)被表述为
**多头自注意(MSA)**是一个扩展,它具有 m 个独立的 SA 操作,并投影它们的连接输出: MSA(Zl−1)=[SA1(Zl−1);SA2(Zl−1);⋅⋅⋅;SAm(Zl−1)]WOMSA(Z^{l−1})= [SA_1(Z^{l−1});SA_2 (Z^{l−1});···;SA_m(Z^{l−1})]W_OMSA(Zl−1)=[SA1(Zl−1);SA2(Zl−1);⋅⋅⋅;SAm(Zl−1)]WO,其中 WO∈Rmd×CW_O∈R^{md×C}WO∈Rmd×C 。d 通常设置为 C/m。然后将 MSA 的输出由一个带有剩余跳过的MLP块作为层输出转换为:
层范数应用在MSA和MLP块之前。将{Z1,Z2,⋅⋅⋅,ZLe}\{Z^1, Z^2,···,Z^{L_e}\}{Z1,Z2,⋅⋅⋅,ZLe}表示为变压器层的特征
Decoder designs
解码器的目标是在原始二维图像空间(H × W)中生成分割结果,需要将编码器的特征(在解码器中使用)Z从二维形状HW256×C\frac{HW}{256} × C256HW×C重塑为标准的三维特征图H16×W16×C\frac{H}{16} × \frac{W}{16}× C16H×16W×C
普通解码器(SETR-Naive)
这个简单的解码器首先将transformer特征 ZLeZ^{L_e}ZLe投影到类别编号的维度上。这里采用了一个简单的2层网络结构:1 × 1 conv + sync batch norm (w/ ReLU) + 1 × 1 conv。
简单地双线性上采样输出到完整的图像分辨率,然后是一个具有像素级交叉熵损失的分类层。
Progressive UPsampling(SETR-PUP)
一种交替转换层和上采样操作的渐进上采样策略。为了最大限度地缓解对抗效应,将上采样限制在2×以内。从尺寸为 H16×W16\frac{H}{16} × \frac{W}{16}16H×16W 的 ZLeZ^{L_e}ZLe 中获得全分辨率总共需要4个操作,如上图b。
Multi-Level feature Aggregation (MLA)(SETR-MLA)
MLA特点是多层次特征聚合(上图(c )),与特征金字塔网络相似,但是,论文的decoder 是不同的,因为每个SETR层的特征表示 ZlZ^lZl 共享相同的分辨率,没有金字塔形状
具体来说,取 m 个层的特征表示 {Zm}(m∈{Lem,2Lem,⋅⋅⋅,mLem})\{Z^m\} (m∈\{ \frac{L_e}{m}, 2\frac{L_e}{m},···,m\frac{L_e}{m}\}){Zm}(m∈{mLe,2mLe,⋅⋅⋅,mmLe}) 作为输入,这些层均匀分布,步长 Lem\frac{L_e}{m}mLe 到解码器。
在每个流中,首先将编码器的特征 ZlZ^lZl 从二维形状 HW256×C\frac{HW}{256} × C256HW×C 重塑为三维特征映射H16×W16×C\frac{H}{16} × \frac{W}{16} × C16H×16W×C ,采用3层(核大小为1 × 1,3 × 3和3 × 3)网络,特征通道在第一层和第三层分别减半,在第三层之后通过双线性运算将空间分辨率提升4倍。
为了增强不同流之间的交互,通过在第一层之后添加元素引入了自上而下的聚合设计。一个额外的3 × 3 conv应用在按元素添加的特征之后,在第三层之后,通过通道级联从所有流中获得融合特征,然后双线性上采样4×到全分辨率
效果
消融实验中,使用基于ResNet-50的FCN编码器并将其输出特征输入SETR来设置混合基线hybrid。为了解决GPU内存的限制和公平的比较,在Hybrid中只考虑“T-Base”,并设置FCN的输出步长为1/16。也就是说,Hybrid是ResNet-50和SETR-Naive-base的组合。
“Pre”为transformer部件的预训练。“R”表示随机初始化变压器部分
在ADE20K值和城市景观值集上与不同预训练的FCN进行单尺度推理的比较。
可以观察到以下几点:
(i)逐步对特征地图进行上采样,SETR-PUP在cityscape上的所有变体中取得了最好的性能。SETR-MLA性能较差的一个可能原因是,不同变压器层的特征输出不具有特征金字塔网络(FPN)中分辨率金字塔的好处。然而,SETR-MLA的性能略好于SETR-PUP,并大大优于变体SETR-Na avi,该变体在ADE20K val集上对变压器输出特征进行了16倍的单次采样。
(ii)SETR-MLA和SETR-Naive)优于它们的“T-Base”对应的,即SETR-MLA- base和SETR-Naive - base,正如预期的那样。
(iii)虽然SETR-PUP - base(76.71)比Hybrid-Base(76.76)表现差,但当训练次数更多(80k)时,它表现出色(78.02)。结果表明,FCN编码器设计可以替代语义分割,进一步验证了模型的有效性。
(iv)预训练对模型至关重要。随机初始化SETR-PUP在城市景观上只给出42.27%的mIoU。在ImageNet-1K上使用DeiT预训练的模型在cityscape上的性能最好,略好于在ImageNet-21K上使用ViT预训练的对应模型。
(v)为了研究预训练的力量并进一步验证提出的方法的有效性,对预训练策略进行了消融研究。为了与FCN基线进行公平的比较,首先在Imagenet-21k数据集上使用分类任务预训练ResNet-101,然后在ADE20K或cityscape上使用预训练的权值进行扩展FCN训练,用于语义分割任务。与ImageNet-1k预训练的变体相比,使用ImageNet-21k预训练的FCN基线有明显改善。然而,方法在很大程度上优于FCN方法,验证了我们方法的优势主要来自于所提出的序列对序列建模策略,而不是更大的训练前数据。
SETR的Z1、Z9、Z17、Z24层输出特征
1、Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers相关推荐
- Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers
Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers Abstract ...
- 【论文笔记】Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspectivewith Transformers
声明 不定期更新自己精度论文,通俗易懂,初级小白也可以理解 涉及范围:深度学习方向,包括 CV.NLP.Data Fusion.Digital Twin 论文题目: Rethinking Semant ...
- Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspectivewith Transformers
重新思考语义分割范式--SETR 转载from:https://zhuanlan.zhihu.com/p/348418189 请多支持原创 一.论文信息 标题:<Rethinking Sem ...
- 论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers
最近在阅读一些关于transformer的论文,在此记录是为了看看到底天天学了些什么.目前阅读这些论文感觉还是似懂非懂的阶段,还需要时间细细斟酌,共勉! Rethinking Semantic Seg ...
- 【论文翻译】SETR:Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformer
SETR 摘要 介绍 相关工作 语义分割 Transformer 模型设计 FCN-based semantic segmentation Segmentation transformers (SET ...
- (SETR翻译)Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers
作者:Sixiao Zheng et al.(复旦大学 & 牛津大学 & 萨里大学 & 腾讯优图 & 脸书) 论文:https://arxiv.org/abs/2012 ...
- 论文阅读 CVPR2022《Rethinking Semantic Segmentation:A Prototype View》
回顾一下语义分割,其实可以分为两种.一种是参数化的softmax投射,另一种是部分transformer的方法--query based的方法. 再回到论文的题目 关于prototype的类似定义,可 ...
- 【Lawin Transformer2022】Lawin Transformer: Improving Semantic Segmentation Transformer with Multi-Sc
Lawin Transformer: Improving Semantic Segmentation Transformer with Multi-Scale Representations via ...
- 【论文笔记】PSEUDOSEG: DESIGNING PSEUDO LABELS FOR SEMANTIC SEGMENTATION
论文笔记 1.论文题目 2.作者及研究单位 3.摘要 4.简介 (1)这篇论文针对什么问题展开的研究 (2)已有工作是如何解决这些问题的(已有工作存在什么不足) (3)这篇论文是如何做的(如何弥足已有 ...
最新文章
- HTML5 localStorage本地儲存
- HDOJ 5373 The shortest problem 【数论】
- Attention Is All You Need (transformer)
- springboot-异常处理使用与原理解析
- java多线程实现端口扫描,使用Java开发多线程端口扫描工具
- 一篇文章搞懂腾讯云AI平台的人工智能IDE:TI-ONE
- 表达式中常用到的运算符
- day1作业:登录接口
- Visual Studio下的 JS CSS 压缩和编辑插件
- java文件字节流和文件字符流的使用
- Android UI:使用矢量图,抛弃PNG
- Spark源码之存储体系简介及缓存cache源码流程图
- mbp网速很慢_macbook上网速度慢(mac网速慢解决方案)
- cubemx stm32 afm3000模块 气体流量传感器 驱动代码
- uniapp js 金额与星星**符号互转
- 地球物理中的有限单元法-第二类边界条件-三角剖分-线性插值 matlab编程实现
- Request请求转发与URL编码
- 海康威视摄像机的实时读取篇一(OpenCV开发环境配置)
- Redis高可用架构
- 《Unity5.x从入门到精通》读书笔记(二)