[CVPR2022|基于文本实例分割]ReSTR: Convolution-free Referring Image Segmentation Using Transformers

在这里插入图片描述

文章地址:2203.16768.pdf (arxiv.org)

个人阅读见解,欢迎大家交流讨论指正~

一、研究背景

虽然近些年语义分割有了很大的进步,但是应用到现实世界下游任务还是有局限,无法处理未定义类别。基于文本的实例分割(Referring image segmentation) 就是作者为了解决此问题而提出的任务,Referring image segmentation是一个目标类别没有预定义但在自然语言被描述的前沿的图像分割任务,通过一段自然语言表述(query)分割出实例。这个任务在人机交互、照片编辑等场景广泛应用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eq1ywrfa-1650878392324)(C:\Users\Tycoon\AppData\Roaming\Typora\typora-user-images\image-20220423140858454.png)]

二、相关工作

语义分割:FCN,CNN。但是只能对预先定义类别进行分割。

基于文本的实例分割:CNN,RNN,ConvLSTM。卷积很难获取语言表达中实体之间的长期依赖关系,并且不够灵活,无法对两种不同模式之间的交互进行建模。

Vision Transformer:对原始图片进行分块,展平成序列,输入进原始Transformer模型的编码器Encoder部分,最后接入一个全连接层对图片进行分类。

Vision Transformer整体架构

三、ReSTR

为了捕捉每个模态的远程交互,ReSTR首先通过Transformer Encoder(Fig.2.a)独立地提取视觉和语言特征。然后,它将视觉和语言特征平行输入到多模融合编码器(Fig.2.b),以捕捉这两种模态之间的细微关系。最后,用于从粗到细分割的高效解码器(Fig.2.c) 将patch-level预测转换为高分辨pixel-level预测。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5yz9309T-1650878392326)(C:\Users\Tycoon\AppData\Roaming\Typora\typora-user-images\image-20220424094323279.png)]

3.1视觉和语言特征提取

Transformer encoder由M个连续的Transformer组成,每个Transformer由Multi-headed Self-Attention (MSA), Layer Normalization (LN), and Multilayer Perceptron (MLP) blocks组成,公式为:
z ‾ i + 1 = MSA ⁡ ( LN ⁡ ( z i ) ) + z i z i + 1 = MLP ⁡ ( LN ⁡ ( z ‾ i + 1 ) ) + z ‾ i + 1 其中, Z i 是 i 层 t r a n s f o r m e r 的输出 \begin{gathered} \overline{\mathbf{z}}_{i+1}=\operatorname{MSA}\left(\operatorname{LN}\left(\mathbf{z}_{i}\right)\right)+\mathbf{z}_{i} \\ \mathbf{z}_{i+1}=\operatorname{MLP}\left(\operatorname{LN}\left(\overline{\mathbf{z}}_{i+1}\right)\right)+\overline{\mathbf{z}}_{i+1} \end{gathered}\\ 其中,\mathbf{Z}_{i}是i层transformer的输出 zi+1=MSA(LN(zi))+zizi+1=MLP(LN(zi+1))+zi+1其中,Ziitransformer的输出

MSA由k个 Self-Attention (SA) 组成,公式为:

MSA ⁡ ( z ) = [ S A 1 ( z ) , S A 1 ( z ) , ⋯   , S A k ( z ) ] W M S A SA ⁡ ( z ) = A v A = softmax ⁡ ( q k ⊤ / D h ) 其中, W M S A 是一个线性映射 \begin{gathered} \operatorname{MSA}(\mathbf{z})=\left[\mathrm{SA}_{1}(\mathbf{z}), \mathrm{SA}_{1}(\mathbf{z}), \cdots, \mathrm{SA}_{k}(\mathbf{z})\right] \mathbf{W}_{\mathrm{MSA}} \\ \operatorname{SA}(\mathbf{z})=A \mathbf{v} \\ A=\operatorname{softmax}\left(\mathbf{q k}^{\top} / \sqrt{D_{h}}\right) \end{gathered} 其中,\mathrm{W}_{MSA}是一个线性映射 MSA(z)=[SA1(z),SA1(z),,SAk(z)]WMSASA(z)=AvA=softmax(qk/Dh )其中,WMSA是一个线性映射
作者分别用Transformer提取Vision和Language特征:

Vision encoder: 采用了ViT的思想,将图片分成P×P个小patches加上位置编码输入到Transformers,得到输出。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fBnSores-1650878392326)(C:\Users\Tycoon\AppData\Roaming\Typora\typora-user-images\image-20220424105721644.png)]

Language encoder: 将 word embeddings加上位置编码,输入到Transformers。

上述提到的Vision encoder和Language encoder都利用了Transformer encoder,并没做出改进,可以说是本文中的别名。

3.2多模融合编码器

由两个Transformer encoder构成(visual-linguistic encoder and linguistic-seed encoder

输入: z v ∈ R N v × D v , z l ∈ R N l × D l , e s ∈ R 1 × D ( N v = H / P × W / P , P 是 p a t c h _ s i z e ) 首先,用不同的线性层调整 z v 和 z l 的通道维度至和 c l a s s _ s e e d _ e m b e d d i n g   e s 一样的 D 维 ( e s 是可训练参数,随机初始化 ) ; 然后, v i s u a l − l i n g u i s t i c e n c o d e r 将 z v 和 z l 作为输入,得到 p a t c h 的多模特征 Z v ′ ∈ R N v × D 和视觉关注( V i s i o n − a t t e n d e d )语言特征 Z l ′ ∈ R N l × D : [ z v ′ , z l ′ ] = Transformers ⁡ ( [ z v , z l ] ; θ v l ) 最后, Z l ′ 和 e s 输入到 l i n g u i s t i c − s e e d e n c o d e r : e s ′ = Transformers ⁡ ( [ z l ′ , e s ] ; θ l s ) \begin{aligned} &输入:\mathbf{z}_{v} \in \mathbb{R}^{N_{v} \times D_{v}},\mathbf{z}_{l} \in \mathbb{R}^{N_{l} \times D_{l}},\mathbf{e}_{s} \in \mathbb{R}^{1 \times D}(N_{v}=H/P \times W/P,P是patch\_size)\\ &首先,用不同的线性层调整\mathbf{z}_{v}和\mathbf{z}_{l}的通道维度至和 class\_seed\_embedding\ \mathbf{e}_{s}一样的D维(\mathbf{e}_{s}是可训练参数,随机初始化);\\ &然后,visual-linguistic encoder将\mathbf{z}_{v}和\mathbf{z}_{l}作为输入,得到patch的多模特征\mathbf{Z}_{v}^{\prime} \in \mathbb{R}^{N_{v} \times D}和视觉关注(Vision-attended)语言特征\mathbf{Z}_{l}^{\prime} \in \mathbb{R}^{N_{l} \times D}:\\ & \hspace{1cm}\left[\mathbf{z}_{v}^{\prime}, \mathbf{z}_{l}^{\prime}\right]=\operatorname{Transformers}\left(\left[\mathbf{z}_{v}, \mathbf{z}_{l}\right] ; \boldsymbol{\theta}_{v l}\right)\\ &最后,\mathbf{Z}_{l}^{\prime}和\mathbf{e}_{s}输入到linguistic-seed encoder: \\& \hspace{1cm}\mathbf{e}_{s}^{\prime}=\operatorname{Transformers}\left(\left[\mathbf{z}_{l}^{\prime}, \mathbf{e}_{s}\right] ; \boldsymbol{\theta}_{l s}\right)\\ \end{aligned} 输入:zvRNv×Dv,zlRNl×Dl,esR1×DNv=H/P×W/P,Ppatch_size首先,用不同的线性层调整zvzl的通道维度至和class_seed_embedding es一样的D(es是可训练参数,随机初始化)然后,visuallinguisticencoderzvzl作为输入,得到patch的多模特征ZvRNv×D和视觉关注(Visionattended)语言特征ZlRNl×D:[zv,zl]=Transformers([zv,zl];θvl)最后,Zles输入到linguisticseedencoderes=Transformers([zl,es];θls)

在这里插入图片描述

因为一个固定的分类器无法满足根据文本表达分割出不同目标mask,所以用 e s ′ \mathbf{e}_{s}^{\prime} es 自适应的分类器代替固定分类器,检测每一个patch是否包含一部分的目标实体。

多模融合编码器的目的就是产生自适应分类器,以满足基于文本图像分割中的以下两个需求:

  1. 由于参考图像分割的目的是分割与语言表达相对应的区域,因此自适应分类器应该理解语言表达的精细关系
  2. 由于输入图像具有与语言表达无关的区域(例如背景),直接关注视觉信息的类种子(class seed)嵌入可能会导致被无关区域损坏的自适应分类器。然而,由于语言表达式中描述的目标实体的外观可能因图像而异,因此使用视觉语言特征生成自适应分类器是有益的。
3.3由粗到精的分割解码器

计算 p a t c h − l e v e l 的预测 y ^ p ∈ R N v × 1 : y ^ p = σ ( z v ′ e s ′ ⊤ D ) 其中, σ 是 s i g m o i d 函数, D 是标准化项 分割解码器对低分辨率的 p a t c h − l e v e l 的预测 y ^ p 做补偿 : 首先,计算 m a s k e d 多模特征 z masked  ∈ R N v × D : z masked  = z v ′ ⊗ y ^ p 其中, ⊗ 为对通道维度 D 做哈达玛积(矩阵相同位置相乘),得到维度 z masked  ∈ R N v × D 然后,在前向传播到分割解码器之前,将上述得到的特征进行拼接 [ z v , z masked  ] ∈ R N v × 2 D 得到视觉语义,去指导分割解码器。分割解码器由 K ( K = l o g P ) 个序列块构成,每个序列快在上采样的同时,将 c h a n n e l 进行线性投影减少一半。 最后,从解码器的输出经过线性和 r e s h a p e 生成 p i x e l − l e v e l 的预测结果 Y ^ m ∈ R H × W × 1 。在推断模型中,这就是最后的分割结果。 \begin{aligned} &计算patch-level的预测 \hat{\mathbf{y}}_{p} \in \mathbb{R}^{N_{v} \times 1}: \\&\hspace{2cm}\hat{\mathbf{y}}_{p}=\sigma\left(\frac{\mathbf{z}_{v}^{\prime} \mathbf{e}_{s}^{\prime \top}}{\sqrt{D}}\right) \hspace{1cm}其中,\sigma是sigmoid函数,\sqrt{D}是标准化项 \\&分割解码器对低分辨率的patch-level的预测\hat{\mathbf{y}}_{p}做补偿: \\&\hspace{1cm}首先,计算masked多模特征 \mathbf{z}_{\text {masked }} \in \mathbb{R}^{N_{v} \times D}: \\&\hspace{2cm}\mathbf{z}_{\text {masked }}=\mathbf{z}_{v}^{\prime} \otimes \hat{\mathbf{y}}_{p} \hspace{1cm}其中,\otimes为对通道维度D做哈达玛积(矩阵相同位置相乘),得到维度\mathbf{z}_{\text {masked }} \in \mathbb{R}^{N_{v} \times D} \\&\hspace{1cm}然后,在前向传播到分割解码器之前,将上述得到的特征进行拼接\left[\mathbf{z}_{v}, \mathbf{z}_{\text {masked }}\right] \in \mathbb{R}^{N_{v} \times 2 D}得到视觉语义,去指导分割解码器。 分割解码器由K(K=logP)个序列块构成,每个序列快在上采样的同时,将channel进行线性投影减少一半。 \\&\hspace{1cm}最后,从解码器的输出经过线性和reshape生成pixel-level的预测结果\hat{Y}_{m} \in \mathbb{R}^{H \times W \times 1}。在推断模型中,这就是最后的分割结果。 \end{aligned} 计算patchlevel的预测y^pRNv×1:y^p=σ(D zves′⊤)其中,σsigmoid函数,D 是标准化项分割解码器对低分辨率的patchlevel的预测y^p做补偿:首先,计算masked多模特征zmasked RNv×Dzmasked =zvy^p其中,为对通道维度D做哈达玛积(矩阵相同位置相乘),得到维度zmasked RNv×D然后,在前向传播到分割解码器之前,将上述得到的特征进行拼接[zv,zmasked ]RNv×2D得到视觉语义,去指导分割解码器。分割解码器由K(K=logP)个序列块构成,每个序列快在上采样的同时,将channel进行线性投影减少一半。最后,从解码器的输出经过线性和reshape生成pixellevel的预测结果Y^mRH×W×1。在推断模型中,这就是最后的分割结果。

训练的损失函数由patch-level损失pixel-level损失两部分构成:

L ( y ^ p , y p , Y ^ m , Y m ) = λ L b ( y ^ p , y p ) + L b ( Y ^ m , Y m ) \mathcal{L}\left(\hat{\mathbf{y}}_{p}, \mathbf{y}_{p}, \hat{Y}_{m}, Y_{m}\right)=\lambda \mathcal{L}_{b}\left(\hat{\mathbf{y}}_{p}, \mathbf{y}_{p}\right)+\mathcal{L}_{b}\left(\hat{Y}_{m}, Y_{m}\right) L(y^p,yp,Y^m,Ym)=λLb(y^p,yp)+Lb(Y^m,Ym)

四、实验

4.1实验设置

数据集:ReferIt , UNC, UNC+ , and Gref

评估指标:实验选用了IoU作为评估指标,计算真实值和预测值两个集合的交集和并集之比。最后评估在IoU阈值在{0.5,0.6,0.7,0.8,0.9} 时的准确性

4.2和SoTA的比较

根据实验结果,ReSTR在当前任务上有着优异的表现。

在这里插入图片描述

在这里插入图片描述

4.3融合编码器的变体分析

作者提出了三种多模融合编码器:VME(FIg.3.a)、IME(FIg.3.b)、CME(FIg.3.c)

在这里插入图片描述

将多模融合编码器的4层Transformer记作{ f 1 , f 2 , f 3 , f 4 f_1,f_2,f_3,f_4 f1,f2,f3,f4},表格3(a)的实验数据表明:对于class-seed embedding的注意力更加偏向视觉特征(这里实验多模融合编码器采用的是VME),这样会造成不平衡,自适应分类器不能很好捕捉语言表达。而CME就较好的优化了这一缺陷 C M E † \mathrm{CME}^{\dagger} CME是CME的权重共享高效精简版。

在这里插入图片描述

五、结论

ReSTR是第一个用于基于文本图像分割的无卷积模型。ReSTR采用视觉和语言的Transformer,从特征提取中捕获全局上下文。它还包括由Transformer组成的多模融合编码器,用于对两种模态之间的精细和灵活交互进行编码。此外,多模融合编码器还计算了一个自适应分类器,用于patch级分类。此外,还提出了一种分割解码器,以从粗到精的方式将面片级预测细化为像素级预测。ReSTR在所有公共基准上都优于现有的基于文本图像分割技术。随着patch大小的减小,计算成本呈二次增长,这是我们工作的潜在局限性。 由于密集预测任务的性能在很大程度上取决于使用视觉Transformer时的patch大小,因此它在性能和计算成本之间引入了一种不希望的权衡。为了缓解这种情况,集成线性复杂Transformer架构将是一个很有前途的研究方向,将其留给未来的工作。

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

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值