一周时间很快,又到了周末,想想还有很多事情还没干完,但论文还是要继续读的哇。
这篇论文是 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∏Lp(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=L1i=0∑L∣G+∣1j∈G+∑−log(∑k∈Gexp(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∣1i=0∑∣G∣∣T+∣1j∈T+∑−log(∑k∈Texp(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=λ1LBCE+λ2LDice+λ3LSAL其中 λ 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 的水平了,实验比较充足,中规中矩吧,也不算有特别突出的地方,但也没有明显的短板。