又是一周周末,估计这周大家已经开学了。那就继续凎论文吧,早点毕业咯~
指代图像分割 Referring image segmentation (RIS) 旨在产生高质量的 mask,现有的方法总是需要采用迭代学习的方法,依赖于 RNNs 或堆叠的注意力层来提炼视觉-语言特征。但基于 RNN 的方法依赖于特定的编码器,基于注意力的方法收益很低。于是本文引入渐进式地学习多模态特征的方法,核心 idea 是利用一个持续更新的 query 作为目标的表示,并在每个迭代步中加强与 qeury 相关的多模态特征而弱化不相关的特征,因此能够逐渐从定位中心转移到分割中心。提出的方法还可以直接插入一些 SOTA 的框架中,实验表明达到了 SOTA 的效果。
首先介绍下指代图像分割 Referring image segmentation (RIS) 定义、应用,与传统语义/实例分割的区别。
目前有一些基于全卷积结构的方法,设计跨模态特征融合模块,在公共空间内对齐语言和视觉线索。然而语言和视觉输入可能会存在大量的冗余噪声,于是迭代学习方法出现了:在一些迭代次数内,逐渐地建立跨模态特征对齐和精炼,从而达到更准确的分割精度。
现有的 SOTA 方法通常通过循环神经网络 (RNNs) 或堆叠的注意力层来执行迭代学习,而基于 Transformer 的语言模型能够反复整合多尺度视觉语言特征,然而并未直接解决跨模态对齐。有一些方法引入级联分组注意力的方法,提炼整个图像的跨模态特征,但是缺乏先验信息来关注那些需要关注的区域,特别是目标间经常遮挡时的局部区域。
于是本文提出语言感知的动态定位和细化方法 semantics-aware dynamic localization and refinement (SADLR),其中一个语言感知动态卷积模块,在更新的目标表示 (query) 上执行条件卷积,通过逐渐地加强目标信息从而抑制背景噪声。为辅助定位,首先用输入表达式的语言特征向量来初始化 query,然后在多模态特征图上预测一个卷积核。在接下来的每一步中,采用上一步池化的目标上下文来更新 query,并再一次执行动态卷积。
实验表明将本文的方法应用在三个 SOTA 方法 (LTS、VLT、LAVT) 时,效果很好。
之前基于 CNN 的方法关注于跨模态特征融合,最近一些方法利用 Transformer 结构来聚合视觉-语言表示。为了缓解跨模态上下文建模的一些困难,一些方法采用迭代式学习和跨模态特征精炼的设计,这些方法主要从视觉特征中捕捉多模态语言信息。本文的工作与 CGAN 最相关,利用级联的多头注意力层迭代优化整个图像的跨模态映射图。不同的是,CGAN 不寻求利用预测作为先验来帮助提炼更重要的区域。实验表明级联注意力模型对那些基于传统模型 (非 Transformer) 的结构更有效。下图是几种方法的对比图:
本文提出的方法相较于上面这些方法有两点优势:不依赖于特定语言编码器或多模态特征编码计划的选择;能够泛化到到大量的 SOTA 模型上。
动态卷积的应用非常广泛,一开始在短范围天气预测中被提出,最近则是在一些基于 query 的目标检测方法中流行。在这些模型中,设置一组可学习的 embedding 作为潜在的目标特征,于是根据这些 queries,利用动态的权重进行定位和分类目标。相比之下,本文利用动态卷积来解决自然语言的分割问题。
在那些解决指代视频目标分割的方法中,动态卷积/过滤指的是预测出相同通道数量的分类权重,从而作用于特征图。相比之下,本文旨在生成一组信息丰富的特征图,突出与动态 query 有关的语义。
多模态推理包含大尺度预训练、通用的 Transformer 模型、MDETR。
如图 3 所示,由一幅图像和一句表达式组成输入。首先利用一个语言编码器,例如 BERT 或 RNN 从输入的表达式中提取一组语言特征 L ∈ R C l × N L\in \mathbb{R}^{C_l\times N} L∈RCl×N,其中 C l C_l Cl 表示通道数量, N N N 为单词的个数。接着将输入的图像和语言特征 L L L 送入一个多模态特征编码器网络中,确保语言特征和视觉特征共同在单个特征空间中,以至捕捉到对齐的信息。将此多模态特征图记为 Y ∈ R C × H × W Y\in \mathbb{R}^{C\times H\times W} Y∈RC×H×W,其中 C C C 为通道的数量, H H H、 W W W 分别是图像的高和宽。
在后续处理中,通过语义感知动态卷积模块来迭代地提炼多模态特征。此模块每一层都从输入特征向量中预测一个卷积核,然后对多模态特征图卷积。本文称这种生成核的特征向量为 “query”。
假设在提炼过程中有 n n n 次迭代,将动态 query 在每次迭代过程 i ∈ { 1 , 2 , … , n } i\in \{1,2,\ldots,n\} i∈{1,2,…,n} 中表示为 Q i ∈ R C Q_i\in \mathbb{R}^{C} Qi∈RC。在每次迭代过程中,将 query Q i Q_i Qi 和多模态特征图 Y Y Y (来源于编码阶段) 送入语义感知动态卷积模块中,其中每个卷积核来源于 Q i Q_i Qi 和 Y Y Y 的卷积。语义感知动态卷积模块的输出为一组与 Q i Q_i Qi 相关的特征图,表示为 Z i ∈ R C × H × W Z_i\in \mathbb{R}^{C\times H\times W} Zi∈RC×H×W,接下来使用 1 × 1 1\times1 1×1 卷积将 Z i Z_i Zi 投影到粗糙的得分图上,表示为 R i ∈ R 2 × H × W R_i\in \mathbb{R}^{2\times H\times W} Ri∈R2×H×W,其中 0 0 0 表示背景, 1 1 1 表示目标类别。在 R i R_i Ri 上应用 argmax 得到二值化后的目标 mask M i ∈ R H × W M_i\in \mathbb{R}^{H\times W} Mi∈RH×W。
在不同的迭代次数内,使用不同类型的 queries 来强调不同类型的特征。首先,在第一次迭代时,用句子特征向量
S
∈
R
S\in \mathbb{R}
S∈R 来初始化
Q
1
Q_1
Q1。其中通过对语言编码器的输出
L
L
L 加个平均池化和通道维度的线性投影得到
S
S
S 。由于
Q
1
Q_1
Q1 包含纯粹的语言信息,语义感知动态卷积模块的输出
Z
1
Z_1
Z1 就能突出指代定位的信息。在第
i
i
i 次迭代时,利用
M
i
−
1
M_{i-1}
Mi−1 得到新的
Q
i
Q_i
Qi,而
Q
i
−
1
Q_{i-1}
Qi−1 的更新则源自
Y
Y
Y 中池化后的目标特征向量
O
i
−
1
O_{i-1}
Oi−1。这一过程如下:
O
i
−
1
=
A
v
g
P
o
o
l
(
M
i
−
1
,
Y
)
Q
i
=
Q
i
−
1
+
O
i
−
1
默认采用 LAVT 作为多模态特征编码网络,利用级联的视觉 Transformer 来嵌入视觉和语言信息。在视觉 Backbone 的每个阶段中,一个像素-单词注意力用于对齐每个空间位置上的语言特征和视觉特征,一个语言路径直接整合多模态线索到视觉 Backbone 的下个阶段。尽管如此,本文的方法不受限于特定的多模态特征编码网络。
如上图 4 所示,语义感知动态卷积模块由两层动态卷积组成。在每次 SADLR 迭代时,给定 query
Q
i
Q_i
Qi,首先应用线性投影层产生动态核
K
i
∈
R
C
×
C
′
K_i\in\mathbb{R}^{C\times C^{\prime}}
Ki∈RC×C′,其中
C
C
C 和
C
′
C^{\prime}
C′ 分别为输入和输出的通道数。之后输入的特征图
Y
Y
Y 和动态核
K
i
K_i
Ki 相乘,后面跟着一个层归一化和 ReLU 非线性激活。另外一个卷积核
K
i
′
∈
R
C
′
×
C
K_i^{\prime}\in\mathbb{R}^{C^{\prime}\times C}
Ki′∈RC′×C通过第二个线性投影在
Q
i
Q_i
Qi 上产生。类似的,在前一层的输出和
K
i
′
K^{\prime}_i
Ki′ 间进行矩阵乘法,后接一个层正则化及 ReLU 非线性激活层。
通过上采样将粗糙的得分图
R
i
R_i
Ri 调整到输入图像的分辨率上,再使用 argmax 沿着通道维度即可得到预测的 masks。损失函数如下:
L
=
λ
1
L
1
+
λ
2
L
2
+
.
.
.
+
λ
n
L
n
L=\lambda_{1}L_{1}+\lambda_{2}L_{2}+...+\lambda_{n}L_{n}
L=λ1L1+λ2L2+...+λnLn其中
L
i
L_i
Li 表示第
i
i
i 次迭代的单个损失,
λ
i
\lambda_i
λi 为损失的平衡权重。每个损失采用平均 Dice 损失计算目标类别和背景类别。在推理过程中,最后一次的迭代 mask 用于预测。
RefCOCO、RefCOCO+、G-Ref。
准确度 precision@K (P@K),其中 K 表示 IoU阈值;mean IoU (mIoU);overall IoU (oIoU)。
大多数训练和推理设置与 LAVT 相同。BERT-base 为语言编码器,Swin-B 为 Backbone 网络。BERT 权重来源于 HuggingFace,Swin 初始化的权重来源于预训练在 ImageNet-22K 上的权重,剩余的参数随机初始化。端到端训练,AdamW 优化器,初始学习率 5 e − 5 5e-5 5e−5,权重衰减 2 2 2,“poly” 学习率计划。通道数 C l = 3 C_l=3 Cl=3, C = 512 C=512 C=512。默认的迭代次数 n = 3 n=3 n=3,于是权重超参数 λ 1 \lambda_1 λ1、 λ 2 \lambda_2 λ2、 λ 3 \lambda_3 λ3 分别设为 0.15,0.15,0.7(在确保整体权重为 1 时,给最后的迭代施以最大的权重值 (≥0.5),剩下的平分)。训练 40 epochs,batch_size 32。输入图像尺寸 480 × 480 480\times480 480×480,句子长度 20。
上表 4 ( b )。
上表 4 ( c )。
本文提出语义感知动态定位和提炼方法用于 RIS,基于聚合的目标上下文迭代地提炼多模态特征图。实验表明方法的泛化性和效果很好。
写在后面
这篇文章就提出了一个动态卷积结构和迭代方法,看着消化下就好。论文中反复出现对参数的描述,看样子这不是人能犯的错误呀。结合致谢一部分,有的是 AI 写的,这就不奇怪了。 另外,图 1,2 均未在论文中引用,需要注意。