RIS 系列 Locate Then Segment: A Strong Pipeline for Referring Image Segmentation 论文阅读笔记

写在前面

  一篇 21 年的文章,为啥还要继续写篇博客呢,因为 21 年基本上都是在搞大模型,这篇文章还算正常点。

一、Abstract

  Referring image segmentation (RIS) 的定义。之前的方法未能显式地建模指代实例的定位信息,而通常聚焦于设计隐式的特征交互机制,融合视觉特征从而直接生成最后的分割 mask。本文通过另外一个角度,将其解耦合为 “Locate-Then-Segment” (LTS) 定位-分割” 的计划。LTS 首先提取和融合视觉-文本特征,得到一个跨模态表示。然后在视觉-文本特征上应用一个跨模特交互来定位到指代目标,最后采用一个轻量化的分割网络生成 mask。实验结果表明本文提出的方法很有效。

二、引言

  本文研究语言引导的目标分割任务,旨在根据一个自然语言表达式分割出图像上特定目标的 mask。应用很广泛。接下来是一些难点的介绍。

  给定图像和指代句子,有两个影响模型性能的关键因素:首先模型必须突出图像上最显著的关联目标;模型必须生成一个最好的分割结果。现有的方法大致总结如下:利用一个 CNN 和 RNN 来表示图像特征和文本特征;利用跨模态注意力和循环的 LSTM 来融合生成一个粗糙的 mask,利用 Dense CRF (DCRF) 进一步后处理从而得到最终精炼 mask。

  之前的工作主要关注如何融合图像和语言特征,直接的解决方法是利用拼接-卷积的方法,然而未能有效对齐视觉-语言模态。于是一些方法提出跨模特注意力机制,自适应地融合图像中的重要区域以及语言表达式中的关键词。最近一些工作利用不同类型的信息词来学习对齐的多模态表示,要么通过表达式感知所有的实体,要么利用语言结构作为一个引导来分割指代目标。相应的问题就是:算法越来越复杂,使得算法分析和比较更加困难。此外,这些方法未能显式地定位到由语言表达式引导的目标,仅仅利用耗时的后处理操作来生成最终分割的 mask。

  于是本文从其它维度来解决这一问题,将 RIS 任务划分为两个子任务:指代目标位置预测+目标分割 mask 的生成。具体来说,首先融合视觉和语言特征得到跨模态特征,然后提出一个定位模块来直接获得与表达式相关的视觉内容,这一目标先验可以用于后续分割模块的视觉位置引导。接下来拼接目标先验与跨模态特征,然后应用一个轻量化的 ConvNets 得到最终的分割 mask。

三、相关工作

3.1 目标分割

  基于全卷积的分割网络:DeepLab、PSPNet,以及 Mask R-CNN、FCNs 系列。

3.2 指代定位与分割

  指代定位是指用 bounding box 定位到语言表达式所指图像中的特定目标,然后是一些工作的列举。

3.3 跨模态交互

  最近,注意力机制表明在提取与语言表达式相关的视觉内容时效果很好。

  相关滤波算法可以视为注意力机制的一种简单方式,在计算机视觉任务中被广泛使用,目标追踪用的比较多,目标分类任务也使用这个。而在本文,利用基于语言的条件相关滤波来得到相关的热力图,其中高回应值被视为相关的目标先验。

  除滤波外,很多跨模态注意力模型提出自适应地关注图像中的重要区域,和语言表达式中的关键词。而本文提出利用统一的基于注意力的 building block Transformer 来得到跨模态相关的注意力,去除了复杂注意力模型的设计。

四、提出的方法

  首先,引入视觉和文本表示的提取过程,之后描述下两个包含滤波(或者基于 Transformer 的定位模块)和基于分割的轻量化 ConvNets 网络。最后,给出模型学习过程的细节。

4.1 视觉和语言特征提取

在这里插入图片描述
  如上图所示,模型的输入由图像 I I I 和指代表达式 X X X 组成。首先采用 ConvNets 和 GRU 分别提取图像和文本特征。

视觉特征

  对于输入的图像 I ∈ R H × W × 3 I\in\mathbb{R}^{H\times W\times 3} IRH×W×3,利用视觉 Backbone 提取多层级的视觉特征 F v 1 ∈ R H 32 × W 32 × d 1 F_{v_{1}}\in\mathbb{R}^{\frac{H}{32}\times\frac{W}{32}\times d_{1}} Fv1R32H×32W×d1 F v 2 ∈ R H 16 × W 16 × d 2 F_{v_{2}}\in\mathbb{R}^{\frac{H}{16}\times\frac{W}{16}\times d_{2}} Fv2R16H×16W×d2 F v 3 ∈ R H 8 × W 8 × d 3 F_{v_{3}}\in\mathbb{R}^{\frac{H}{8}\times\frac{W}{8}\times d_{3}} Fv3R8H×8W×d3,其中 d d d 为特征通道的维度, H H H W W W 分别是图像的高和宽。

语言特征

  给定一个指代句子 X = [ x 1 , x 2 , … , x m ] X= [x_1,x_2,\ldots,x_m] X=[x1,x2,,xm],其中 x i x_i xi 为第 i i i 个 token。首先应用 table lookup(这是啥?)得到词 embedding。通过 Glove,embedding 初始化为一个 300 维的向量。然后使用标准的双向 Gated Recurrent Unit (GRU) 来解决初始的 embedding 文本向量:
h t → = G R U → ( x t , h t − → ) , h 0 = 0 h t ⏞ = G R U ← ( x t , h t + 1 ← ) , h m + 1 = 0 \begin{aligned}\overrightarrow{h_t}&=\overrightarrow{GRU}(x_t,\overrightarrow{h_{t-}}),h_0=0\\ \overbrace{h_t}&=\overleftarrow{GRU}(x_t,\overleftarrow{h_{t+1}}),h_{m+1}=0\\\end{aligned} ht ht =GRU (xt,ht ),h0=0=GRU (xt,ht+1 ),hm+1=0其中 G R U → \overrightarrow{GRU} GRU G R U ← \overleftarrow{GRU} GRU 分别表示前向和后向 GRUs。然后在所有词表示上执行全局平均池化:
f t e x t = a v g ( h 1 , h 2 , . . . , h m ) h t = c o n c a t ( h t → , h t ← ) , t ∈ [ 1 , 2 , . . . , m ] \begin{gathered}f_{text}=avg(h_1,h_2,...,h_m)\\h_t=concat(\overrightarrow{h_t},\overleftarrow{h_t}),t\in[1,2,...,m]\end{gathered} ftext=avg(h1,h2,...,hm)ht=concat(ht ,ht ),t[1,2,...,m]

融合

  通过融合 F v 1 F_{v1} Fv1 f t e x t f_{text} ftext 得到多模态 tensor:
f m 1 l = g ( f v 1 l W v 1 ) ⋅ g ( f t e x t W t ) f_{m_1}^l=g(f_{v_1}^lW_{v_1})\cdot g(f_{text}W_t) fm1l=g(fv1lWv1)g(ftextWt)其中 g g g 表示 Leaky ReLU, f m 1 l f_{m_1}^l fm1l f v 1 l f_{v_1}^l fv1l F m 1 F_{m_1} Fm1 F v 1 F_{v_1} Fv1 的特征向量。 W v 1 W_{v_1} Wv1 W t W_t Wt 分别是两个变形矩阵,将视觉和文本表示转变为相同的特征维度。然后获得接下来的 F m 2 F_{m_2} Fm2 F m 3 F_{m_3} Fm3
F m i − 1 ′ = U p S a m p l e ( F m i − 1 ) F m i = c o n c a t ( g ( F m i − 1 ′ W m i − 1 ) , g ( F v i W v i ) ) \begin{aligned}F_{m_{i-1}}^{'}&=UpSample(F_{m_{i-1}})\\F_{m_i}&=concat(g(F_{m_{i-1}}^{'}W_{m_{i-1}}),g(F_{v_i}W_{v_i}))\end{aligned} Fmi1Fmi=UpSample(Fmi1)=concat(g(Fmi1Wmi1),g(FviWvi))其中 i ∈ [ 2 , 3 ] i\in[2,3] i[2,3],上采样步长为 2 × 2 2\times2 2×2。在后续过程中,利用 F m 3 F_{m_3} Fm3 作为输入来生成分割 mask。之前的工作通常采用循环注意力机制来得到分割结果。本文表明定位-分割的性能更好。

4.2 定位

  为了定位到与语言表达式相关的目标,提出两种方式捕捉多模态特征间的上下文,包含相关滤波和统一的注意力 block 块 Transformer,这能避免复杂的注意力模型的设计。

相关滤波

  首先生成语言引导的内核 K = f t e x t W k K=f_{text}W_k K=ftextWk,其中 K ∈ R d k K\in\mathbb {R}^{d_k} KRdk,然后将其转化为 R d k × 1 × 1 \mathbb{R}^{d_k\times 1\times 1} Rdk×1×1 对融合的特征 F m 3 F_{m_3} Fm3 进行过滤:
H m a s k = c o n v ( K , F m 3 ) H_{mask}=conv(K,F_{m_3}) Hmask=conv(K,Fm3)其中 H m a s k ∈ R H 8 × W 8 H_{mask}\in \mathbb{R}^{\frac{H}{8}\times\frac{W}{8}} HmaskR8H×8W c o n v conv conv 表示卷积操作,热力图 H m a s k H_{mask} Hmask 为分割的粗糙 mask,其中具有最高得分的区域意味着最可能对应的语言表达式。

Transformer

  为维持与相关滤波的一致性,这里并不使用 Transformer 编码器来提取文本表示,而是将全局文本表示 f t e x t f_{text} ftext 作为编码器的输出。

  解码器采用标准的 Transformer 结构,使用多头注意力机制将多模态特征 F m 3 F_{m_3} Fm3 的信息转换到激活图 H m a s k H_{mask} Hmask 上:
H m a s k = d e c o d e r ( F m 3 , f t e x t ) H_{mask}=decoder(F_{m_3},f_{text}) Hmask=decoder(Fm3,ftext)
  解码器将序列作为输入,因此展平 F m 3 F_{m_3} Fm3 的空间维度,得到一个形状为 d × H W 64 d\times\frac{HW}{64} d×64HW 的特征图。由于 Transformer 结构是输入不变的,再添加位置 embedding。

4.3 分割

在这里插入图片描述
  给定视觉目标先验,分割模块旨在生成最终的分割 mask。首先拼接原始的跨模态特征 F m 3 F_{m_3} Fm3 和视觉目标先验 H m a s k H_{mask} Hmask,利用一个分割模块来提炼粗糙的分割结果:
P m a s k = S e g ( c o n c a t ( F m 3 , H m a s k ) ) P_{\boldsymbol{mas}\boldsymbol{k}}=Seg(concat(F_{\boldsymbol{m}_3},H_{\boldsymbol{mas}\boldsymbol{k}})) Pmask=Seg(concat(Fm3,Hmask))其中 S e g Seg Seg 的主体结构为 ASPP,采用可分离卷积,上采样特征图 2 倍。于是预测的 mask 为 P m a s k ∈ R H 4 × W 4 P_{mask}\in\mathbb{R}^{\frac{H}{4}\times\frac{W}{4}} PmaskR4H×4W

4.4 训练和推理

  在训练过程中,采用 Sigmoid Binary Cross Entropy (BCE) 损失训练:
L s e g = ∑ l=1 H 4 × W 4 [ y l log ⁡ ( p l ) + ( 1 − y l ) log ⁡ ( 1 − p l ) ] \begin{aligned} L_{seg}& = \sum_{\text{l=1}}^{\frac{H}{4}\times\frac{W}{4}}[y_l\log(p_l)+(1-y_l)\log(1-p_l)] \end{aligned} Lseg=l=14H×4W[yllog(pl)+(1yl)log(1pl)]其中 y l y_l yl p l p_l pl 分别为下采样 GT mask 的元素以及预测的 mask P m a s k P_{mask} Pmask

  此外,为确保模型能够关注于相应的图像区域,添加了一个定位损失来监督位置预测:
L l o c = ∑ l = 1 H 8 × W 8 [ y l log ⁡ ( h l ) + ( 1 − y l ) log ⁡ ( 1 − h l ) ] L_{loc}=\sum_{l=1}^{\frac{H}{8}\times\frac{W}{8}}[y_l\log(h_l)+(1-y_l)\log(1-h_l)] Lloc=l=18H×8W[yllog(hl)+(1yl)log(1hl)]其中 h l h_l hl 为下采样图 H m a s k H_{mask} Hmask 中的元素。最终,定义总损失如下:
L = L s e g + λ L l o c L=L_{seg}+\lambda L_{loc} L=Lseg+λLloc其中 λ = 0.1 \lambda=0.1 λ=0.1

  在推理过程中,上采样预测的分割 mask P m a s k P_{mask} Pmask 到原始图像尺寸 H × W H\times W H×W,并以 0.25 的阈值进行二值化得到最终的结果。

五、实验

5.1 实验步骤

数据集和指标

  RefCOCO、Ref-COCO+、RefCOCOg

  intersectionover-union (IoU)、prec@X

实施细节

  Darknet53 作为视觉 Backbone,预训练在 MSCOCO 上。输入图像尺寸 416 × 416 416\times416 416×416。在 RefCOCO 和 RefCOCO+ 数据集上,句子最大长度 15;而在 RefCOOCg 上则为 20。1024 维度的双向 GRU 用于挖掘文本特征。 d k = 1024 d_k=1024 dk=1024。解码器 1 层,4 个头,1024 个隐藏单元。Adam 优化器,初始学习率 0.001 0.001 0.001,在第 30 个 epoch 时,乘 0.1。Batch_size 18,epoch 45。

5.2 主要结果

在这里插入图片描述

5.3 定量分析

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

5.4 消融实验

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

六、结论

  RIS 任务的挑战,文本提出将这一任务划分为两个子任务:指代目标预测和细粒度的目标分割生成。实验表明方法性能很好。

  尽管当前的 IoUs 大于之前的工作,但是仍低于 GT,而最近在图像分割的工作可能会带来一些进步。此外,本文仅利用简单的视觉和语言 Backbone,更复杂的结构可能有助于进一步提升性能。

写在后面

  这篇文章可以说是没赶上大模型的热潮啊,不然应该中不了的。文章提出的框架非常简单,然后创新点在当时看来也是足够的。实验很充足,就是结论部分略微偏少了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乄洛尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值