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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> [CVPR2022基于文本实例分割]ReSTR: Convolution-free Referring Image Segmentation Using Transformers -> 正文阅读

[人工智能][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?))+zi?zi+1?=MLP(LN(zi+1?))+zi+1??Zi?itransformer

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)]WMSA?SA(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} ?zv?RNv?×Dv?,zl?RNl?×Dl?,es?R1×DNv?=H/P×W/P,Ppatch_size线zv?zl?class_seed_embedding?es?D(es?)visual?linguisticencoderzv?zl?patchZv?RNv?×DVision?attendedZl?RNl?×D:[zv?,zl?]=Transformers([zv?,zl?];θvl?)Zl?es?linguistic?seedencoderes?=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} ?patch?levely^?p?RNv?×1:y^?p?=σ(D ?zv?es???)σsigmoidD ?patch?levely^?p?:maskedzmasked??RNv?×Dzmasked??=zv??y^?p??Dzmasked??RNv?×D[zv?,zmasked??]RNv?×2DK(K=logP)channel线线reshapepixel?levelY^m?RH×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架构将是一个很有前途的研究方向,将其留给未来的工作。

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

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:19:34  更:2022-04-27 11:21:50 
 
开发: 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年11日历 -2024/11/26 8:47:45-

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