??一周时间很快,又到了周末,想想还有很多事情还没干完,但论文还是要继续读的哇。
??这篇论文是 RES 的拓展工作,后续还有一篇新的,在 arxiv v4 版本,感兴趣的可以继续阅读。
??全景叙事定位 Panoptic Narrative Grounding (PNG) 旨在根据文本描述定位出图像中的相关区域。现有的方法主要基于两阶段的,计算成本非常高。于是本文提出一阶段的网络用于实时的 PNG 任务,名为 End-to-End Panoptic Narrative Grounding network (EPNG),针对指代目标直接生成 masks。具体来说,提出两种设计:局部感知注意力 Locality-Perceptive Attention (LPA) 和双向语义对齐损失 bidirectional Semantic Alignment Loss (SAL)。LPA 将局部空间先验嵌入注意力模块,即 一个像素可能属于多个尺度下的多个 masks,SAL 使用双向对比损失来归一化模态间的语义一致性。实验表明方法很有效,且 10 倍速度于两阶段模型,同时验证了 EPNG 的 zero-shot 能力。
?? 全景叙事定位 Panoptic Narrative Grounding 需要用二值像素 mask 定位到文本描述的图像目标。如下图所示:
??图 (a) 的两阶段方法,类似 PFPN。首先为给定图像提供一些候选 masks,然后这些 masks 进一步转变为卷积特征,之后进行跨模态的匹配与排序。总体而言,这些两阶段方法将 PNG 定义为一种 mask-text 的匹配问题,减少了预测难度。
??然而这一方法仍然存在两个缺陷:需要离线的特征提取,存储空间和对齐,耗时;预训练的全景分割模型需要大量的 mask 标注。此外,这些全景分割模型的性能限制了 PNG 模型的上界。
??为解决上述问题,需要设计单阶段网络,但存在两个问题:PNG 中的每个像素可以划归到多个 masks 中,这不同于全景分割,需要模型从宏观和微观的角度来捕捉视觉语义。然而现有的方法进关注于全局建模而忽视了局部的信息。其次,相比于其他的定位或分割任务,PNG 涉及了更复杂的关系。在每个样本中,一句表达式的多个名词可能对应着相同的 mask,或者一个名词可能指向多个 masks。于是本文提出一种端到端的全景叙事定位网络 End-to-End Panoptic Narrative Grounding network (EPNG)。贡献总结如下:
??全景分割的定义,早期的方法:PFPN、Panoptic-DeepLab、PFCN、K-Net、Panoptic SegFormer。得益于这些方法,本文的模型利用词特征作为卷积核在多模态特征上进行卷积,从而生成相应的 masks。
??首先指代表达式分割的定义,早期的方法通过一些通用的分割模型生成一组 proposals,然后从中选择最符合给定短语的一个,缺点是分割模型的性能就是上界。之后是一些单阶段方法的提出,但是假阳性率很高。总结下,RES 是个不完全任务,忽视了 stuff 属性,以及自然语言和图像间的多对多关系,而这是在 Panoptic Narrative Grounding 中考虑到的。
??现有的方法采用两步,而本文提出端到端的全景叙事定位方法直接生成名词短语对应的 masks。
??
??将其视为一个跨模态的稠密预测任务。具体来说,给定一张图像
I
\mathrm{I}
I 及相应的文本
T
\mathrm{T}
T,PNG 的目的是找到名词
N
=
{
n
?
}
?
=
0
L
\mathbf{N}=\{n_{\ell}\}_{\ell=0}^{L}
N={n??}?=0L? 所对应的的像素
i
i
i,其中
n
?
{n_{\ell}}
n?? 为第
?
\ell
? 个名词,
L
L
L 表示名词短语的数量。于是 mask 概率可表示为:
p
(
M
)
=
∏
i
∈
I
∏
?
=
0
L
p
(
i
∣
I
,
T
,
n
?
)
p\left(\mathrm{M}\right)=\prod_{i\in\mathrm{I}}\prod_{\ell=0}^{L}p\left(i|\mathrm{I},\mathrm{T},n_{\ell}\right)
p(M)=i∈I∏??=0∏L?p(i∣I,T,n??)
??给定图像
I
∈
R
H
×
W
×
3
\mathrm{I}\in\mathbb{R}^{H\times W\times 3}
I∈RH×W×3,首先采用一个视觉 Backbone 提取多尺度视觉特征
F
v
1
∈
R
H
8
×
W
8
×
C
1
\mathbf{F}_{v1}\in\mathbb{R}^{\frac{H}{8}\times\frac{W}{8}\times C_{1}}
Fv1?∈R8H?×8W?×C1?,
F
v
2
∈
R
H
16
×
W
16
×
C
2
\mathbf{F}_{v2}\in\mathbb{R}^{\frac{H}{16}\times\frac{W}{16}\times C_{2}}
Fv2?∈R16H?×16W?×C2?,
F
v
3
∈
R
H
32
×
W
32
×
C
3
\mathbf{F}_{v3}\in\mathbb{R}^{\frac{H}{32}\times\frac{W}{32}\times C_{3}}
Fv3?∈R32H?×32W?×C3?,最终得到视觉特征
F
v
∈
R
H
16
×
W
16
×
C
\mathbf{F}_{\mathbf{v}}\in\mathbb{R}^{\frac{H}{16}\times\frac{W}{16}\times C}
Fv?∈R16H?×16W?×C:
F
v
=
concat
[
Down
(
F
v
1
)
;
F
v
2
;
Up
(
F
v
3
)
]
\mathbf{F_v}=\text{concat}\left[\text{Down}\left(\mathbf{F_{v1}}\right);\mathbf{F_{v2}};\text{Up}\left(\mathbf{F_{v3}}\right)\right]
Fv?=concat[Down(Fv1?);Fv2?;Up(Fv3?)]其中
Up
(
?
)
\text{Up}(\cdot)
Up(?) 表示
2
x
2x
2x 上采样,
Down
(
?
)
\text{Down}(\cdot)
Down(?) 表示
2
x
2x
2x 下采样,
[
?
]
[\cdot]
[?] 表示特征拼接。
??给定文本 T \mathrm{T} T,采用预训练的 BERT 来提取 word embedding F T = { v t } t = 0 ∣ T ∣ \mathrm{F}_\mathrm{T}=\{v_t\}_{t=0}^{|T|} FT?={vt?}t=0∣T∣?,其中 v t v_t vt? 表示第 t t t 个单词的 embedding。之后根据标注滤除掉非名词部分,在每个短语上通过平均池化 word embedding 得到短语特征。这些特征然后经过一个线性层投影到与视觉特征相同的维度。最后短语 embedding 表示为 F N = { f n ? } n ? = 0 L ∈ R L × C \mathbf{F_{N}}=\{f_{n_{\ell}}\}_{n_{\ell}=0}^{L}\in\mathbb{R}^{L\times C} FN?={fn???}n??=0L?∈RL×C,其中 n ? {n_{\ell}} n?? 表示第 ? \ell ? 个名词短语, L L L 为短语的长度。
??基于视觉特征 F v \mathrm{F}_\mathrm{v} Fv? 和文本特征 F N \mathrm{F}_\mathrm{N} FN?,设计多模态通信器用于跨模态交互和融合。多模态通信器由 S S S 个独立层堆叠,每层包含两个模块:局部感知注意力 Locality-Perceptive Attention (LPA) 和跨模态注意力 Cross Attention (CA)。
??标准的自注意力平等地对待特征图上的所有 token,而局部感知注意力 LPA 强调关注每个像素的邻居信息。具体来说,在特征
F
i
\mathrm{F}^{i}
Fi 中,第
m
m
m 个和第
n
n
n 个向量的 2D 空间坐标表示为
(
x
m
,
y
m
)
(x_m,y_m)
(xm?,ym?) 和
(
x
n
,
y
n
)
(x_n,y_n)
(xn?,yn?),其中下标
i
i
i 表示第
i
i
i 层的输出特征图。然后计算这两个坐标的欧式距离:
D
m
,
n
=
(
x
m
?
x
n
)
2
+
(
y
m
?
y
n
)
2
\mathrm{D}_{m,n}=\sqrt{(x_m-x_n)^2+(y_m-y_n)^2}
Dm,n?=(xm??xn?)2+(ym??yn?)2?,其中
D
∈
R
(
H
×
W
)
×
(
H
×
W
)
\mathrm{D}\in\mathbb{R}^{(H\times W)\times(H\times W)}
D∈R(H×W)×(H×W),其值上界设为 2。之后,在经过 LPA 中的第
j
j
j 个头后,将距离矩阵转变为系数矩阵
R
j
∈
R
(
H
×
W
)
×
(
H
×
W
)
\mathbf{R}^j\in\mathbb{R}^{(H\times W)\times(H\times W)}
Rj∈R(H×W)×(H×W):
R
j
=
W
j
D
\mathbf{R}^{j}=\mathbf{W}^{j}\mathbf{D}
Rj=WjD
然后
R
j
然后\mathbf{R}^{j}
然后Rj 用于注意力的重新加权:
A
j
=
Softmax
(
(
F
i
W
Q
j
)
(
F
i
W
K
j
)
T
d
k
?
R
j
)
\mathbf{A}^j=\text{Softmax}\bigg(\frac{(\mathbf{F}^i\mathbf{W}_Q^j)(\mathbf{F}^i\mathbf{W}_K^j)^T}{\sqrt{d_k}}\otimes\mathbf{R}^j\bigg)
Aj=Softmax(dk??(FiWQj?)(FiWKj?)T??Rj)其中
W
Q
j
∈
R
d
×
d
h
\mathbf{W}_Q^j\in\mathbb{R}^{d\times\frac dh}
WQj?∈Rd×hd? 和
W
K
j
∈
R
d
×
d
h
\mathbf{W}_K^j\in\mathbb{R}^{d\times\frac dh}
WKj?∈Rd×hd? 分别是权重矩阵,
d
k
d_k
dk? 为尺度系数,下标
j
j
j 表示第
j
j
j 个头,
h
h
h 设为 8 表示头的数量。
?
\otimes
? 表示逐元素乘法。
??接下来使用头
j
j
j 的注意力结果对特征求和,然后聚合这些结果:
H
e
a
d
j
=
A
j
(
F
i
W
V
j
)
\mathrm{Head}^j=\mathbf{A}^j(\mathbf{F}^i\mathbf{W}_V^j)
Headj=Aj(FiWVj?)
L
P
A
(
F
i
,
F
i
,
F
i
)
=
c
o
n
c
a
t
(
H
e
a
d
1
,
?
?
,
H
e
a
d
h
)
W
O
\mathrm{LPA}(\mathbf{F}^i,\mathbf{F}^i,\mathbf{F}^i)=\mathrm{concat}(\mathrm{Head}^1,\cdots,\mathrm{Head}^h)\mathbf{W}_O
LPA(Fi,Fi,Fi)=concat(Head1,?,Headh)WO?其中
W
V
j
∈
R
d
×
d
h
\mathrm{W}_V^j\in\mathbb{R}^{d\times\frac dh}
WVj?∈Rd×hd? 和
W
O
∈
R
d
×
d
\mathbf{W}_O\in\mathbb{R}^{d\times d}
WO?∈Rd×d 为投影矩阵。
F
i
′
=
L
N
(
L
P
A
(
F
i
,
F
i
,
F
i
)
+
F
i
)
\mathbf{F}^{i^{\prime}}=\mathrm{LN}\left(\mathrm{LPA}\left(\mathbf{F}^i,\mathbf{F}^i,\mathbf{F}^i\right)+\mathbf{F}^i\right)
Fi′=LN(LPA(Fi,Fi,Fi)+Fi)其中
L
N
(
?
)
LN(\cdot)
LN(?) 表示 layer normalization,在 LPA 模块后应用捷径连接。
??LPA 是基于 MHA 的,但仍有明显不同。MHA 平等地对待特征图中的所有 tokens,并捕捉长范围的依赖。然而局部信息在这一过程中无法避免会被忽略,于是在每个网格内引入距离矩阵的局部先验,这些局部先验能够通过动态调整系数矩阵 R j \mathbf{R}^{j} Rj 得到。
??使用跨模态注意力用于模态间交互:
F
i
+
1
=
F
F
N
(
L
N
(
M
H
A
(
F
i
′
,
F
N
,
F
N
)
+
F
i
′
)
)
\mathbf{F}^{i+1}=\mathrm{FFN}\left(\mathrm{LN}\left(\mathrm{MHA}\left(\mathbf{F}^{i^{\prime}},\mathbf{F}_{\mathbf{N}},\mathbf{F}_{\mathbf{N}}\right)+\mathbf{F}^{i^{\prime}}\right)\right)
Fi+1=FFN(LN(MHA(Fi′,FN?,FN?)+Fi′))其中
F
F
N
(
?
)
\mathrm{FFN}(\cdot)
FFN(?) 表示前项传播网络,
F
N
\mathbf{F}_{\mathbf{N}}
FN? 为名词特征。
??经过多模态通信器后,得到融合的多模态特征
F
∈
R
H
16
×
W
16
×
C
F\in\mathbb{R}^{\frac{H}{16}\times\frac{W}{16}\times C}
F∈R16H?×16W?×C,上采样到
H
4
×
W
4
×
C
\frac H4\times\frac W4\times C
4H?×4W?×C 的 Tensor。之后,将每个名词短语特征视为卷积核去卷积
F
\mathbf{F}
F,从而获得最终的 masks:
M
=
U
p
(
S
i
g
m
o
i
d
(
F
N
?
F
)
)
\mathbf{M}=\mathrm{Up}\left(\mathrm{Sigmoid}\left(\mathbf{F_N}*\mathbf{F}\right)\right)
M=Up(Sigmoid(FN??F))其中
?
*
? 表示卷积操作,Sigmoid 将结果归一化到
(
0
,
1
)
(0,1)
(0,1)。在上采样后,为
M
\mathbf{M}
M 设置一个阈值将其归置到
{
0
,
1
}
\{0,1\}
{0,1}。
??之前分割网络中的分割损失,包含 BCE Loss 和 Dice Loss:
L
B
C
E
=
∑
y
^
i
∈
M
?
(
y
i
?
log
?
(
y
i
^
)
+
(
1
?
y
i
)
?
log
?
(
1
?
y
i
^
)
)
L_{BCE}=\sum_{\hat{y}_i\in\mathbb{M}}-(y_i\cdot\log{(\hat{y_i})}+(1-y_i)\cdot\log{(1-\hat{y_i})})
LBCE?=y^?i?∈M∑??(yi??log(yi?^?)+(1?yi?)?log(1?yi?^?))其中
y
^
i
\hat y_i
y^?i? 为第
i
i
i 个像素的预测,
y
i
y_i
yi? 为 GT。
L
D
i
c
e
=
1
?
2
∣
M
?
G
∣
∣
M
∣
+
∣
G
∣
L_{Dice}=1-\frac{2|M\bigcap G|}{|M|+|G|}
LDice?=1?∣M∣+∣G∣2∣M?G∣?其中
M
M
M 为生成的 mask,
G
G
G 是 GT,损失值在
{
0
,
1
}
\{0,1\}
{0,1} 之间。
??鉴于这些损失函数单为单模态任务设计,于是本文提出一种新的损失,称之为双向语义对齐损失,用于归一化模态间的语义一致性。
??首先将名词短语视为 anchors 来提升视觉特征的语义一致性:对于第
i
i
i 个名词短语
F
N
i
∈
R
C
\mathbf{F}_{N}^{i}\in\mathbb{R}^{C}
FNi?∈RC 和 GT
G
i
∈
{
0
,
1
}
H
×
W
G^i\in \{0,1\}^{H\times W}
Gi∈{0,1}H×W,类别为 1 的像素集视为正样本,而 0 的像素集合则为负样本。通过增加正样本集内的一致性,能够强制对齐多模态信息。聚合所有的名词,其损失定义如下:
l
v
=
1
L
∑
i
=
0
L
1
∣
G
+
∣
∑
j
∈
G
+
?
log
?
(
exp
?
(
F
n
i
?
F
j
/
τ
)
∑
k
∈
G
exp
?
(
F
n
i
?
F
k
/
τ
)
)
\begin{aligned}l_v=&\frac{1}{L}\sum_{i=0}^{L}\frac{1}{|G^+|}\sum_{j\in G^+}-\log\left(\frac{\exp\left(\mathbf{F}_n^i\cdot\mathbf{F}^j/\tau\right)}{\sum_{k\in G}\exp\left(\mathbf{F}_n^i\cdot\mathbf{F}^k/\tau\right)}\right)\end{aligned}
lv?=?L1?i=0∑L?∣G+∣1?j∈G+∑??log(∑k∈G?exp(Fni??Fk/τ)exp(Fni??Fj/τ)?)?其中
G
+
G^+
G+ 为正样本集,表示 GT 内的类别 “1”,
G
G
G 为 GT,
τ
\tau
τ 为温度系数。
??接下来将像素特征视为 anchor 来提升名词特征的语义一致性。损失定义如下:
l
t
=
1
∣
G
∣
∑
i
=
0
∣
G
∣
1
∣
T
+
∣
∑
j
∈
T
+
?
log
?
(
exp
?
(
F
i
?
F
n
j
/
τ
)
∑
k
∈
T
exp
?
(
F
i
?
F
n
k
/
τ
)
)
l_{t}=\frac{1}{|G|}\sum_{i=0}^{|G|}\frac{1}{|T^{+}|}\sum_{j\in T^{+}}-\log\left(\frac{\exp\left(\mathrm{F}^{i}\cdot\mathrm{F}_{n}^{j}/\tau\right)}{\sum_{k\in T}\exp\left(\mathrm{F}^{i}\cdot\mathrm{F}_{n}^{k}/\tau\right)}\right)
lt?=∣G∣1?i=0∑∣G∣?∣T+∣1?j∈T+∑??log(∑k∈T?exp(Fi?Fnk?/τ)exp(Fi?Fnj?/τ)?)其中
T
+
∣
T^{+}|
T+∣ 为名词集合的正样本,
T
T
T 是整个集合,其中 “1” 表示像素属于这一名词短语。组合上面两个损失即可得到 SAL 损失。
??在训练过程中,采用 Dice 损失、BCE 损失、SAL 损失的求和:
L
=
λ
1
L
B
C
E
+
λ
2
L
D
i
c
e
+
λ
3
L
S
A
L
L=\lambda_{1}L_{BCE}+\lambda_{2}L_{Dice}+\lambda_{3}L_{SAL}
L=λ1?LBCE?+λ2?LDice?+λ3?LSAL?其中
λ
1
\lambda_{1}
λ1?、
λ
2
\lambda_{2}
λ2?、
λ
3
\lambda_{3}
λ3? 为超参数。
??Panoptic Narrative Grounding dataset:13 3103 个训练图像,87 5073 和 5 6531 个分割标注。
??ResNet-101 作为视觉 Backbone,预训练在 ImageNet 上,BERT 用于文本 Backbone。在训练过程中,冻结 ResNet 层,除最后两层训练。输入图像分辨率 640 × 640 640\times640 640×640,最后三层输出的 shape 分别为 20 × 20 × 256 20\times20\times256 20×20×256, 40 × 40 × 256 40\times40\times256 40×40×256、 80 × 80 × 256 80\times80\times256 80×80×256,文本特征的维度 768 768 768,8 个注意力头,隐藏维度 2048 2048 2048,层的数量为 S = 3 S=3 S=3。 λ 1 = 2 \lambda_1=2 λ1?=2, λ 2 = 2 \lambda_2=2 λ2?=2, λ 3 = 1 \lambda_3=1 λ3?=1。初始学习率 η = 1 e ? 5 \eta=1e^{-5} η=1e?5,第 5 个 epochs 后衰减一半。在 10 个 epochs 后固定为 η = 5 e ? 7 \eta=5e^{-7} η=5e?7,4 块 RTX 3090(这个还行,能训练),总共 20 个小时,优化器 Adam。
??Average Recall。具体来说,先计算预测的 mask 和 GT 间的 Intersection over Union (IoU),然后使用完整的 IoU 曲线作为最终的指标。此外还分析 thing\stuff\single\plural。
??
??
??
??
??
??
??本文提出一种端到端的全景叙事定位网络 End-to-End Panoptic Narrative Grounding network (EPNG) 用于实时推理。为解决像素和短语的多对多关系,提出 Local-Sensitive Attention (LPA) 和 bidirectional Semantic Alignment Loss (SAL)。实验表明方法性能很强。
写在后面
??这篇文章新颖性够达到 AAAI 的水平了,实验比较充足,中规中矩吧,也不算有特别突出的地方,但也没有明显的短板。