论文:SETR(Transformer 语义分割)

本文深入探讨了SETR模型,一种基于Transformer的语义分割方法,旨在解决传统FCN架构的局限性。SETR通过Transformer编码器捕获全局上下文,而不需要牺牲分辨率或增加特征图深度。实验表明,SETR在多个数据集上取得了优秀的分割性能,证实了Transformer在语义分割领域的潜力。
摘要由CSDN通过智能技术生成

摘要

现有的语义分割模型都是基于Encoder-Decoder结构的FCN,包括一些使用空洞卷积或者注意力模块的语义分割模型。而SETR将Encoder看作为一个seq2seq(序列到序列),seq2seq问题使用transformer。

FCN编码器使用CNN提取特征,即增加特征图深度、牺牲分辨率的方式提取特征。而SETR使用的transformer即不增加特征图深度、也不牺牲分辨率。

论文:https://arxiv.org/abs/2012.15840
代码:https://github.com/fudan-zvg/SETR

相关阅读:更多


1. 导论

1.1. Encoder

从FCN开始,Encoder(编码器)使用CNNs(卷积神经网络)。

CNNs通过降低空间分辨率从局部到全局逐步学习图像特征。它有两个优点:平移不变性和局部性平移不变性使得网络具有一定的泛化能力,而局部性通过参数共享降低了模型复杂度。

从局部到全局难以学习局部信息之间的长期依赖关系,而这种关系对语义分割至关重要。

一些研究者为了解决这个问题:

  • 修改卷积:更大的卷积核、空洞卷积、图像/特征金字塔等;
  • 引入注意力模块,对特征图中各个像素进行全局上下文信息建模。

作者为了解决这个问题:

  • 使用transformer作为Encoder

使用注意力捕获全局上下文。

1.2. Decoder

为了广泛地研究自注意力(self-attentive)关注特性的介绍,我们进一步介绍了三种不同的Decoder设计,它们具有不同的复杂性

2. 相关工作

通过去除全连接层,全卷积网络(FCN)能够实现像素级预测。虽然FCN的预测是相对粗糙的,几种基于CRF/MRF(条件随机场/马尔可夫随机场)的方法可用于细化粗糙的预测。为了解决语义和位置之间的内在紧张关系,需要为Encoder和Decoder聚合粗层和细层。这就导致了多层特征融合的Encoder-Decoder结构的不同变体。

一些研究者为解决FCN中有限的感受野/上下文建模问题。
对于扩大感受野

  • DeepLab和dilation使用了更大的卷积核

对于上下文建模

  • PSPNet提出了PPM模块来获取不同区域的上下文信息。
  • DeepLabV2开发了采用不同膨胀率的金字塔膨胀卷积的ASPP模块。分解的大内核也用于上下文捕获。
  • PSANet开发了逐点空间注意模块,用于动态捕获长期上下文。
  • DANet同时嵌入了 spatial 注意力 和 channel 注意力 。
  • CCNet的另一个重点是通过充分的空间关注来节省大量的计算预算。
  • DGMN为场景建模构建了动态图消息传递网络,可显著降低计算复杂度。

这些方法都是基于FCN架构,其中特征编码和提取部分基于CNN,如VGGResNet


transformer自注意模型已经彻底改变了机器翻译和自然语言处理。近年来,对transformer结构在图像识别中的应用也进行了一些探索。

  • Non-local network将transformer的attention附加到卷积主干上。
  • AANet混合了卷积和self-ateention用于主干的训练。
  • LRNet和stand- alone networks探索局部自注意,以避免全局自注意带来的繁重计算。
  • SAN探索了两种self-attention模块。Axial-Attention 将全局空间注意分解为两个单独的axial attentions ,从而大大减少了计算量。
  • cnn -transformer混合模型。
  • DETR和以下变形版本利用transformer进行目标检测,transformer被附加在检测头内。
  • STTR和LSTR分别采用transformer进行视差估计和车道形状预测。
  • ViT是第一个证明纯transformer图像分类模型可以达到最先进水平的工作。它为在语义分割模型中开发基于纯transformer的编码器设计提供了直接的启发。

Axial-Attention也利用注意力进行图像分割。但是他们的模型仍然遵循传统的FCN设计,即采用特征图的空间分辨率逐渐降低的编码方式。而SETR始终保持相同的空间分辨率

3. 方法

3.1. 基于 FCN 的语义分割

FCN编码器由一系列顺序连接的卷积层组成。

  • 第一层为输入图像,表示为 H × W × 3 H×W ×3 H×W×3 H × W H×W H×W 为图像大小。
  • 后续 i i i的输入是一个三维张量大小 h × w × d h×w ×d h×w×d,其中 h h h w w w 是特征图大小, d d d 是特征或通道的维度。
  • 在卷积运算中,对于相同大小的特征图,小核(核:卷积核)比大核需要平移更多的步数,因此,小核长期依赖更严重,所以为了避免长期依赖问题,应该使用更大的卷积核,但是,大的卷积核意味着更大的计算量(详细请参考AlexNet、VGG、GoogLeNet)。陷入了两难的问题,这就是FCN架构的局限性。

近年来,一些最先进的研究方法表明,将FCN与注意机制结合是一种更有效的长期语境信息学习策略。这些方法仅将注意力学习限制在较高的层次和较小的输入规模上。这意味着缺乏对低级特征张量的依赖性学习,导致次优表示学习。为了克服这一限制,我们提出了一种纯粹的基于自注意力的Encoder,称为segmentation transformer(SETR)。

3.2. SETR

图像到序列。将二维图像 H × W H×W H×W 转为一维序列 L L L。如图1(a)所示,transformer接受特征嵌入 Z ∈ R L × C Z∈\mathbb{R}^{L×C} ZRL×C 的一维序列作为输入, L L L 为序列长度, C C C 为隐藏通道大小。因此需要对输入图像 x ∈ R H × W × 3 x∈\mathbb{R}^{H×W×3} xRH×W×3 转换为 Z Z Z 进行图像序列化
在这里插入图片描述

图像序列化方法

  • 将图像像素变为一维向量。 对于480×480×3的典型图像,得到的向量长度为691200。考虑到Transformer的 self-attention 具有二次模型复杂性,这种高维向量不可能同时在空间和时间上处理。因此,标记每一个像素作为transformer的输入是不可能的。
  • 切分图像(图(a)右下)。由于典型的语义分割编码器会将2D图像经过4次下采样,将特征图的高和宽降低16倍( 2 4 2^4 24),因此,将图像切分为与特征图大小一致的图像块,即 H 16 × W 16 = H W 256 \frac{H}{16}×\frac{W}{16}= \frac{HW}{256} 16H×16W=256HW
  • 11
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vision Transformer被用于语义分割是通过结合SETR(Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspectivewith Transformers)方法来实现的。SETR是基于Transformer语义分割模型,它采用了Vision Transformer来对图像进行编码和特征提取,然后使用Transformer的解码器来生成语义分割结果。 在Vision Transformer中,图像被分割成固定大小的图块,每个图块被表示为一个向量序列。通过将图块的向量序列输入到Transformer的编码器中,Vision Transformer能够捕捉到图像中的全局和局部的特征信息。 使用Transformer的解码器来生成语义分割结果的过程是,在编码器输出的基础上,通过自注意力机制(Self-Attention)和多头自注意力机制(Multi-Head Self-Attention)对特征进行融合和调整,然后将调整后的特征映射到语义分割结果的空间中。这样,Vision Transformer可以将图像的不同区域和像素之间的语义关系进行建模,从而实现语义分割的目标。 总结起来,Vision Transformer用于语义分割的过程是通过将图像分块并使用编码器提取特征,然后使用Transformer的解码器对特征进行调整和融合,最后生成语义分割结果。这种方法结合了Transformer在序列建模方面的优势和Vision Transformer在图像编码方面的优势,能够在语义分割任务中取得较好的效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [语义分割系列26-VIT+SETR——Transformer结构如何在语义分割中大放异彩](https://blog.csdn.net/yumaomi/article/details/125676811)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值