IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 1、Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers -> 正文阅读

[人工智能]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

  1. Axial-deeplab完全消除了卷积(SETR也是如此),但他们的模型仍然遵循传统的FCN设计,特征图的空间分辨率逐渐降低。序列到序列预测模型自始至终保持相同的空间分辨率,因此代表了模型设计的阶梯式变化
  2. 为了最大化现代硬件加速器上的可扩展性并便于使用,SETR坚持标准的self-attention设计。相反,Axial-deeplab采用专门设计的axial-attention这是更少的可伸缩的标准计算设施。

贡献

  1. 序列到序列学习的角度重新表述了图像语义分割问题,为目前主导的编码器-解码器FCN模型设计提供了一种替代方案。
  2. 作为一个实例,利用transformer框架来实现全注意特征表示编码器通过对图像进行排序。
  3. 为了更广泛地研究自关注特性表示,进一步介绍了三种不同的解码器设计,它们具有不同的复杂性。

实现流程

在这里插入图片描述
在这里插入图片描述

SETR:(a)首先将图像分割成固定大小的小块,线性嵌入每个小块,添加位置嵌入,并将得到的向量序列输入标准的Transformer编码器。
解码器:(b)渐进上采样(产生名为SETRPUP的变体); ( c) 多层次特征聚合(一种称为SETR-MLA的变体)。

将FCN与注意机制相结合能有效学习上下文信息,这些方法由于其二次复杂度w.r.t特征张量的像素数,将注意力学习限制在更高层和更小的输入尺寸。这意味着缺乏对低层次特征张量的依赖学习,导致次优表示学习。为了克服这一限制,提出了一种纯粹的基于自注意的编码器,称为SETR

Image to sequence

如上图 a 所示,接受特征嵌入的一维序列 Z ∈ R L × C Z∈R^{L×C} ZRL×C 作为输入,L 为序列长度,C 为隐藏通道大小,对图像进行序列化,将输入图像 x ∈ R H × W × 3 x∈R^{H×W ×3} xRH×W×3 转换为 Z

考虑到用于语义分割的典型编码器会将二维图像 x ∈ R H × W × 3 x∈R^{H×W ×3} xRH×W×3 下采样为特征图 x f ∈ R H 16 × W 16 × C x_f∈R^{ \frac{H}{16} × \frac{W}{16} ×C} xf?R16H?×16W?×C,因此将transformer输入序列长度 L 设为 H 16 × W 16 = H W 256 \frac{H}{16} × \frac{W}{16} = \frac{HW}{256} 16H?×16W?=256HW?,从而可以简单地将变压器的输出序列重塑为目标特征映射 x f x_f xf?

为了得到 H W 256 \frac{HW}{256} 256HW? 长的输入序列,将图像 x ∈ R H × W × 3 x∈R^{H×W ×3} xRH×W×3 均匀地分成 H 16 × W 16 \frac{H}{16} × \frac{W}{16} 16H?×16W?小块的网格,然后将该网格平展成序列。

通过使用线性投影函数 f 将每个向量化的补丁 p 映射到潜在的 c 维嵌入空间,得到了图像 x 的一维补丁嵌入序列。

为了对补丁空间信息进行编码,对每个位置 i 学习一个特定的嵌入 p i p_i pi?,并将其添加到 e i e_i ei? 中,形成最终序列输入 E = { e 1 + p 1 , e 2 + p 2 , ? ? ? , e L + p L } 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编码器接收场有限的问题。变压器编码器由 L e L_e Le? 层的多头自注意(MSA)多层感知器(MLP)块组成。在每一层 l 上,自我注意的输入是由输入 Z l ? 1 ∈ R L × C Z^{l?1}∈R^{L×C} Zl?1RL×C 计算出来的(query、key、value)三元组
在这里插入图片描述
其中 W Q / W K / W V ∈ R C × d W_Q/W_K /W_V∈R^{C×d} WQ?/WK?/WV?RC×d 为三线性投影层的可学习参数,d 为(query、key、value)的维数。自我注意(SA)被表述为
在这里插入图片描述
**多头自注意(MSA)**是一个扩展,它具有 m 个独立的 SA 操作,并投影它们的连接输出: M S A ( Z l ? 1 ) = [ S A 1 ( Z l ? 1 ) ; S A 2 ( Z l ? 1 ) ; ? ? ? ; S A m ( Z l ? 1 ) ] W O MSA(Z^{l?1})= [SA_1(Z^{l?1});SA_2 (Z^{l?1});···;SA_m(Z^{l?1})]W_O MSA(Zl?1)=[SA1?(Zl?1);SA2?(Zl?1);???;SAm?(Zl?1)]WO?,其中 W O ∈ R m d × C W_O∈R^{md×C} WO?Rmd×C 。d 通常设置为 C/m。然后将 MSA 的输出由一个带有剩余跳过的MLP块作为层输出转换为:
在这里插入图片描述
层范数应用在MSA和MLP块之前。将 { Z 1 , Z 2 , ? ? ? , Z L e } \{Z^1, Z^2,···,Z^{L_e}\} {Z1,Z2???ZLe?}表示为变压器层的特征

Decoder designs

解码器的目标是在原始二维图像空间(H × W)中生成分割结果,需要将编码器的特征(在解码器中使用)Z从二维形状 H W 256 × C \frac{HW}{256} × C 256HW?×C重塑为标准的三维特征图 H 16 × W 16 × C \frac{H}{16} × \frac{W}{16}× C 16H?×16W?×C

普通解码器(SETR-Naive)

这个简单的解码器首先将transformer特征 Z L e Z^{L_e} ZLe?投影到类别编号的维度上。这里采用了一个简单的2层网络结构:1 × 1 conv + sync batch norm (w/ ReLU) + 1 × 1 conv。

简单地双线性上采样输出到完整的图像分辨率,然后是一个具有像素级交叉熵损失的分类层。

Progressive UPsampling(SETR-PUP)

一种交替转换层和上采样操作的渐进上采样策略。为了最大限度地缓解对抗效应,将上采样限制在2×以内。从尺寸为 H 16 × W 16 \frac{H}{16} × \frac{W}{16} 16H?×16W? Z L e Z^{L_e} ZLe? 中获得全分辨率总共需要4个操作,如上图b。

Multi-Level feature Aggregation (MLA)(SETR-MLA)

MLA特点是多层次特征聚合(上图(c )),与特征金字塔网络相似,但是,论文的decoder 是不同的,因为每个SETR层的特征表示 Z l Z^l Zl 共享相同的分辨率,没有金字塔形状

具体来说,取 m 个层的特征表示 { Z m } ( m ∈ { L e m , 2 L e m , ? ? ? , m L e m } ) \{Z^m\} (m∈\{ \frac{L_e}{m}, 2\frac{L_e}{m},···,m\frac{L_e}{m}\}) {Zm}(m{mLe??,2mLe?????mmLe??}) 作为输入,这些层均匀分布,步长 L e m \frac{L_e}{m} mLe?? 到解码器。

在每个流中,首先将编码器的特征 Z l Z^l Zl 从二维形状 H W 256 × C \frac{HW}{256} × C 256HW?×C 重塑为三维特征映射 H 16 × W 16 × C \frac{H}{16} × \frac{W}{16} × C 16H?×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层输出特征

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:15:35  更:2022-10-22 21:18:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 3:40:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计