代码编织梦想


写在前面

  最近一直在看 Arxiv,好像已经没有多少关于实例分割框架了。目前以跨模态,多模态的 Zero-shot 居多,这也是个发展趋势,大家都在整大模型了。这次的论文笔记是挑选一篇这两天放出来的 Arxiv 文章,关于参考表达式分割。

一、Abstract

  首先表明 Referring Expression Segmentation (RES) 的定义,指出现有的缺陷:现实世界场景中,无法确定语言描述的目标是否真实存在于当前的图像内。于是本文提出 Group-wise Referring Expression Segmentation (GRES),即分组参考图像分割:将 RES 拓展到一组相关图像中,同时表达式只描述这组子集图像内的目标。相应地,引入一个新数据集 Grouped Referring Dataset (GRD),包含输入表达式对应目标的完整标注。同时提出一个 Baseline 方法 Grouped Referring Segmenter (GRSer)。

二、引言

在这里插入图片描述
  如上图所示,在一堆搜集好的图像中分割用语言描述的目标是个基本需求但是被忽视的能力。Referring Expression Segmentation (RES) 有解决这个问题的潜力,但其设置过于理想化。因为 RES 旨在分割单个图像中描述的目标物,而目前需要在一堆图像中分割出表达式所指代的目标。
  本文引入一种新的设置,Group-wise Referring Expression Segmentation (GRES):从一组相关图像中分割出语言表达式所描述的目标。从两个方面建立 GRES:Grouped Referring Segmenter (GRSer) 模型;Group Referring Dataset (GRD) 数据集。
  GRSer 同时处理多个输入图像,也能同时产生所有被描述目标的分割 mask。其中 Triphasic Query Module (TQM) 通过语言特征和组内视觉特征来检索目标。在提出的热力图分层器上,通过组内视觉检索出来的热力图并基于其置信度来打分,之后对其排序从而来预测分割 mask。此外,提出一种镜像训练策略和三元组损失来学习反表达式特征,使得 GRSer 能够理解图像背景和负样本。
  引入的 GRD 数据集,部分例子如下图所示:

在这里插入图片描述
GRD 数据集总共包含 16480 个正样本目标-表达式对,41231 个可信的负样本图像-表达式对,另外的一些负样本在每个组别中都不存在。

本文贡献如下:

  • 在 RES 任务上引入了一种 Group-wise Referring Expression Segmentation (GRES) 设置,提高了特定用户的目标分割体验,以朝着现实应用推进;
  • 提出了一个 GRD 数据集;
  • 大量实验充分表明了 GRSer 的泛化性和有效性,同时在 GRES、Co-Salient Object Detection、RES 任务上表现很好。

三、相关工作

3.1 Referring Expression Segmentation (RES)

  RES 旨在根据输入的语言表达式从对应的图像中分割出相应的目标 mask。
  一般的方法采用先提取视觉和语言特征然后融合的办法。早期的融合方法是简单的拼接这两种模态的特征,最近开始用 Transformer 以及注意力机制来实现更好的融合。另外有一些方法采用相关的任务来解决 RES,例如视觉定位、zero/one-shot 分割、交互分割、统一分割、参考表达式生成等。
  数据集:Ref-Clef、RefCOCO、RefCOCO+、RefCOCOg(G-Ref)、PhraseCut。

3.2 CoSalient Object Detection (CoSOD)

  CoSOD 是最近的研究热点,旨在发现一组相关图像中的共同语义目标。
  利用获得的公共目标的共同表示来引导分割,方法有:特征拼接、线性求和、通道变换、图神将网络、迭代进化;使用成对的相似度图、动态卷积、组仿射变换、transformers;数据增强、训练策略、对抗攻击等。
  数据集:iCoseg、MSRC、CoSal2015、CoSOD3k、CoCA。

四、提出的方法

4.1 概述

  

  输入为一组图像和一个指向特定目标的表达式,输出为对应目标的像素 mask。对于负样本来说,输出 mask 为 0 mask。GRSer 包含四个模块:多模态编码器、三相 query 模块、热力图分层器、mask 预测器。

文本 & 图像编码器

  BERT 为文本编码器,将表达式编码为语言特征 L ∈ R C l \mathbf {L}\in\mathbb{R}^{C_l} LRCl,其中 C l {C_l} Cl 为语言特征的通道数量。同时在表达式前增加一个前缀 <no> 为反表达式,编码为反特征 L a n t i ∈ R C l \mathbf {L}^{anti}\in\mathbb{R}^{C_l} LantiRCl。采用 LAVT 中的视觉编码器来编码组内每个图像 x n , n = 1 , … , N x_n, n=1,\ldots,N xn,n=1,,N 的图像特征 V n ∈ R C v × H × W \mathbf {V}_n\in\mathbb{R}^{C_v\times H\times W} VnRCv×H×W,其中 N N N 为每个组中的图像数量, C v , H , W C_v,H,W Cv,H,W 分别为图像的通道数目、高、宽。

TQM & Heatmap Hierarchizer

  TQM 旨在捕捉语言-视觉和组内视觉-视觉语义关联,并产生热力图,这反应了语言和组内视觉特征的空间联系。这些热力图在热力图分层器中根据表达式响应的重要性被重排列。

Mask 预测器

  排序好的热力图和视觉特征 V n \mathbf{V}_n Vn 拼接在一起来获得三相特征 z n \text {z}_n zn,用于区分正负样本并预测分割 mask。在推理阶段,计算正距离 d p o s = d ( z n , L ) d^{p o s}=\text{d}(\text {z}_n,\mathbf L) dpos=d(zn,L) 和负距离 d n e g = d ( z n , L a n t i ) d^{neg}=\text{d}(\text {z}_n,\mathbf L^{anti}) dneg=d(zn,Lanti),其中 d ( ⋅ ) \text{d}(\cdot) d() 为欧式距离计算公式。当 d p o s + m < d n e g d^{p o s}+m<d^{n e g} dpos+m<dneg 时,图像 x n x_n xn 为正样本,其中 m m m 为阈值,然后将 z n \text {z}_n zn 送入解码器输出分割 mask;反之为负样本,赋值 0 mask。

4.2 Triphasic Query Module (TQM)

  图 3 右上角:首先生成一个语言激活图 M n l ∈ R H × W \mathbf{M}_n^l\in\mathbb{R}^{H\times W} MnlRH×W。具体来说:计算视觉特征 V n ∈ R C v × H W \mathbf{V}_n\in\mathbb{R}^{C_v\times HW} VnRCv×HW 和语言特征 L ′ = ω l ( L ) ∈ R C v \mathbf{L}'=\omega_l(\mathbf{L})\in\mathbb{R}^{C_v} L=ωl(L)RCv 间的余弦相似度,其中 ω l \omega_l ωl 1 × 1 1\times1 1×1 卷积层, C v C_v Cv 为输出通道数量。用公式表示为:
M n l = V n T ⋅ L ′ ∥ V n ∥ ∥ L ′ ∥ \mathbf{M}_n^l=\frac{\mathbf{V}_n^T\cdot\mathbf{L}'}{\|\mathbf{V}_n\|\|\mathbf{L}'\|} Mnl=Vn∥∥LVnTL
  将 M n l \mathbf{M}_n^l Mnl V n \mathbf{V}_n Vn 做逐元素乘法,输出的特征再沿着空间维度( H × W H\times W H×W) 做 mask 平均池化生成对应于图像 x n x_n xn 的原型 p n ∈ R C v p_{n}\in\mathbb{R}^{C_{v}} pnRCv,记为:
p n = avg ( M n l ⊙ V n ) p_n=\text{avg}(\mathrm{M}_n^l\odot\mathbf{V}_n) pn=avg(MnlVn)其中 M n l \mathrm{M}_n^l Mnl 广播到 V n \mathbf{V}_n Vn 相同尺寸, ⊙ \odot 为逐元素乘法。于是以这种方式产生一组原型: { p i } i = 1 N \left\{p_{i}\right\}_{i=1}^{N} {pi}i=1N,其中每个元素对应一组图像中的一幅照片。
  接下来,在当前图像 x n x_n xn 和组内原型中执行组内检索,这些原型作为专家来提供定位热力图:通过一对一的方式产生 N N N 个视觉激活热力图 M n v = { M n i v } i = 1 N \mathbf M_{n}^{v} =\{\mathbf{M}_{ni}^v\}_{i=1}^N Mnv={Mniv}i=1N
M n i v = V n T ⋅ p i ∥ V n ∥ ∥ p i ∥ \mathrm M_{ni}^v=\frac{\mathrm V_n^T\cdot p_i}{\|\mathrm V_n\|\|p_i\|} Mniv=Vn∥∥piVnTpi其中 n n n 为组内图像的索引, i i i 为组内原型的索引。

4.3 Heatmap Hierarchizer

  由于 TQM 生成的视觉激活热力图包含很多的负样本,且质量不太行,于是提出基于评估策略置信度的热力图分层器对热力图进行重排列。如下图所示:

在这里插入图片描述

  基于多模态的距离表示来定义评分标准:计算组内每个原型 { p i } i = 1 N \left\{p_{i}\right\}_{i=1}^{N} {pi}i=1N 和语言特征 L \mathbf L L 的欧式距离来得到正分数 { s i p o s } i = 1 N \{s_i^{pos}\}_{i=1}^N {sipos}i=1N 与 范语言特征的负分数 { s i n e g } i = 1 N \{s_i^{neg}\}_{i=1}^N {sineg}i=1N。于是,最小的 s i p o s s_i^{pos} sipos 表示原型 p i p_i pi 最接近目标,这意味着对应的热力图 M n i v \mathbf{M}_{ni}^v Mniv 最可靠,而最小的 s i n e g s_i^{neg} sineg 表示原型 p i p_i pi 最符合背景。然后分别根据相应的正负分数 s i p o s s_i^{pos} sipos s i n e g s_i^{neg} sineg 得到 N N N 个视觉主动激活图的正排行 R p o s R^{pos} Rpos 和负排行 R n e g R^{neg} Rneg。最后对 R p o s R^{pos} Rpos R n e g R^{neg} Rneg 求和得到最终的排行,并对 M n \mathbf{M}_n Mn 进行重排列:
M ‾ n v = rearrange ( M n v ∣ R p o s + R n e g ) \overline{\mathbf{M}}_n^v=\text{rearrange}\left(\mathbf{M}_n^v|R^{pos}+R^{neg}\right) Mnv=rearrange(MnvRpos+Rneg)其中 rearrange ( ⋅ ) \text{rearrange}(\cdot) rearrange() 表示逐元素或逐通道堆叠热力图。最后,这些热力图和视觉特征 V n \mathbf{V}_n Vn 拼接后得到三相特征 z n \mathbf{z}_n zn 用于 mask 的预测。

4.4 训练目标

负样本训练

  每组中设置正样本 x p o s x^{pos} xpos、负样本 x n e g x^{neg} xneg,比例为 1 : 1 1:1 1:1,训练目标有两项:三重阈值损失来强化模型识别负样本的能力;Cross-entropy 损失来优化模型的分割性能。

三重阈值损失

  三重阈值损失旨在使得锚框与正样本更加接近,与负样本更加远离。对于正样本 x p o s x^{pos} xpos 来说,三相特征 z n \text z_n zn 视为 anchor,语言特征 L \mathbf L L L a n t i \mathbf L^{anti} Lanti 被视为正样本和负样本。而对于负样本 x n e g x^{neg} xneg 来说, L a n t i \mathbf L^{anti} Lanti L \mathbf L L 分别被视为正样本和负样本。于是三重阈值损失构建如下:
L t r i = { max ⁡ ( d ( z n , L ) − d ( z n , L a p t i ) + m , 0 ) for x p o s max ⁡ ( d ( z n , L a n t i ) − d ( z n , L ) + m , 0 ) for x n e g g \mathcal{L}_{tri}=\begin{cases}\max\big(\mathrm{d}(\mathrm{z}_n,\mathrm{L})-\mathrm{d}(\mathrm{z}_n,\mathrm{L}^{apti})+m,0\big)&\text{for}x^{pos}\\ \max\big(\mathrm{d}(\mathrm{z}_n,\mathrm{L}^{anti})-\mathrm{d}(\mathrm{z}_n,\mathrm{L})+m,0\big)&\text{for}x^{negg}\end{cases} Ltri={max(d(zn,L)d(zn,Lapti)+m,0)max(d(zn,Lanti)d(zn,L)+m,0)forxposforxnegg

镜像训练策略

  在训练阶段,增加一组 L \mathbf L L L a n t i \mathbf L^{anti} Lanti 的映射,相应的 Ground truth(GT) 替代为背景 1 − Y 1-\mathbf Y 1Y Y \mathbf Y Y。Cross-entropy 损失应用在镜像训练上,用 L c e m i r r \mathcal{L}_{ce}^{mirr} Lcemirr 表示。

目标函数

  仅有正样本 x p o s x^{pos} xpos 用于计算 Cross-entropy 损失,而所有的正负样本都要用于计算三重阈值损失,于是总损失如下:
L = L c e ( Y ^ , Y ) + λ L c e m i r r ( Y ^ a n t i , 1 − Y ) + t T L t r i \mathcal{L}=\mathcal{L}_{ce}(\hat{\mathbf{Y}},\mathbf{Y})+\lambda\mathcal{L}^{mirr}_{ce}(\hat{\mathbf{Y}}^{anti},1-\mathbf{Y})+\frac{t}{T}\mathcal{L}_{tri} L=Lce(Y^,Y)+λLcemirr(Y^anti,1Y)+TtLtri其中 t t t T T T 为当前训练和总共训练的 epochs 数量; λ \lambda λ 为平衡镜像训练策略重要性的权重超参数, Y ^ \hat{\mathbf{Y}} Y^ 为表达式预测的 mask, Y ^ a n t i \hat{\mathbf{Y}}^{anti} Y^anti 为镜像训练策略中反表达式所指向的预测 mask。

五、提出的数据集

5.1 数据集亮点

  
在这里插入图片描述

5.2 构建步骤

  一方面从 Flickr 数据集中收集图像;另一方面,将目标关键词与场景词汇结合来输入到搜索引擎中爬取相关图像。之后对于每一个分组的图像,根据相关表达式进行标注。每个标注大概 3 分钟。

5.3 数据统计

  GRD 数据集包含图像:10578,106 个场景(组),每个组 100 张图像及 3 个表达式。总计316 个表达式,平均 5.9 个单词,31524 个正样本或负样本图像-文本对。

六、实验

6.1 数据和指标

  GRD、Co-SOD、RefCOCO、RefCOCO+、RefCOCOg。考虑到不同图像可能对应相同的句子,于是重构数据模式为:“one sentence vs. a group of referred images”,即 G-RefC, G-RefC+, and G-RefCg,都是随机从其他组的负样本中进行采样得到。重建后的数据集有 8717、8020、2451 个图像组,训练推理时的正负样本比例均为 1 : 1 1:1 1:1
  指标:mean intersection-over-union (mIoU)、mean absolute error (MAE)、maximum F-measure( F m a x F_{max} Fmax)、S-measure( S α S_{\alpha} Sα)、mean E-measur( S ξ S_{\xi} Sξ)。

6.2 实施细节

  Transformer 视觉编码器 Swin Transformer 初始化在 ImageNet-22K 预训练权重上,12 层的语言编码器 BERT,特征维度 C l = 768 C_l=768 Cl=768 C v = 512 C_v=512 Cv=512,AdamW 优化器,权重衰减 0.01,初始学习率 0.00005,80 epochs,batch_size=4,输入图像尺寸 416 × 416 416\times416 416×416,无数据增强,输入图像的组数 N = 8 N=8 N=8,三重阈值损失中的阈值 m = 1 m=1 m=1

6.3 与 SOTA 方法的比较

在 GRES 设置上的结果

在这里插入图片描述

在 RES 设置上的结果

  同上表 2。

在 Co-SOD 设置上的结果

在这里插入图片描述

6.4 消融实验

Triphasic Query Module (TQM)

在这里插入图片描述

Heatmap Hierarchizer (HMapHier)

在这里插入图片描述

Mirror Training (MirrorT)

  上表 5。

Triplet Margin Loss (TriLoss)

  上表 5。

七、结论

  本文提出基于 RES 的设置 Group-wise Referring Expression Segmentation (GRES),将 RES 拓展到一组关联图像上,引入了 GRD 数据集,提出了 Baseline 模型 GRSer,大量的实验表明文本提出的方法在 GRES、RES、Co-SOD 数据集上实现了 SOTA 的性能。

写在后面

  这篇文章并未落入之前的 RES 内,而是开拓了一种更加实用的数据集,就看中稿之后能不能推广开来了~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38929105/article/details/130844971