全景叙事定位 Towards Real-Time Panoptic Narrative Grounding by an End-to-End Grounding Network 论文阅读笔记

发布时间:2023年12月17日


写在前面

??一周时间很快,又到了周末,想想还有很多事情还没干完,但论文还是要继续读的哇。
??这篇论文是 RES 的拓展工作,后续还有一篇新的,在 arxiv v4 版本,感兴趣的可以继续阅读。

一、Abstract

??全景叙事定位 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)。贡献总结如下:

  • 提出一种实时的端到端全景叙事定位网络,通过统一的跨模态对齐和前项结构中的 mask 预测极大减少了计算消耗;
  • 提出两个设计:局部感知注意力 Locality-Perceptive Attention (LPA) 和双向语义对齐损失 bidirectional Semantic Alignment Loss (SAL),前者增强不同尺度下的视觉特征,后者通过执行像素和名词短语间的对比学习而归一化语义一致性;
  • 实验效果很好,且无需额外预训练。

三、相关工作

Panoptic Segmentation

??全景分割的定义,早期的方法:PFPN、Panoptic-DeepLab、PFCN、K-Net、Panoptic SegFormer。得益于这些方法,本文的模型利用词特征作为卷积核在多模态特征上进行卷积,从而生成相应的 masks。

Referring Expression Segmentation

??首先指代表达式分割的定义,早期的方法通过一些通用的分割模型生成一组 proposals,然后从中选择最符合给定短语的一个,缺点是分割模型的性能就是上界。之后是一些单阶段方法的提出,但是假阳性率很高。总结下,RES 是个不完全任务,忽视了 stuff 属性,以及自然语言和图像间的多对多关系,而这是在 Panoptic Narrative Grounding 中考虑到的。

Panoptic Narrative Grounding

??现有的方法采用两步,而本文提出端到端的全景叙事定位方法直接生成名词短语对应的 masks。

四、End-to-End Panoptic Narrative Grounding Network

??
在这里插入图片描述

问题定义

??将其视为一个跨模态的稠密预测任务。具体来说,给定一张图像 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)=iI??=0L?p(iI,T,n??)

多模态编码

视觉编码器

??给定图像 I ∈ R H × W × 3 \mathrm{I}\in\mathbb{R}^{H\times W\times 3} IRH×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=0T?,其中 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)} DR(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)} RjR(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)

??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} FR16H?×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+G2∣M?G?其中 M M M 为生成的 mask, G G G 是 GT,损失值在 { 0 , 1 } \{0,1\} {0,1} 之间。

??鉴于这些损失函数单为单模态任务设计,于是本文提出一种新的损失,称之为双向语义对齐损失,用于归一化模态间的语义一致性。

双向语义对齐损失 Bidirectional Semantic Alignment Loss

??首先将名词短语视为 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=0L?G+1?jG+??log(kG?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?=G1?i=0G?T+1?jT+??log(kT?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。

定量分析

与 SOTA 的比较

??
在这里插入图片描述

消融研究

??
在这里插入图片描述

RES 的 Zero-Shot

??
在这里插入图片描述

定量分析

可视化

??
在这里插入图片描述

注意力可视化

??
在这里插入图片描述

RES 的 Zero-Shot 可视化

??
在这里插入图片描述

六、结论

??本文提出一种端到端的全景叙事定位网络 End-to-End Panoptic Narrative Grounding network (EPNG) 用于实时推理。为解决像素和短语的多对多关系,提出 Local-Sensitive Attention (LPA) 和 bidirectional Semantic Alignment Loss (SAL)。实验表明方法性能很强。

写在后面

??这篇文章新颖性够达到 AAAI 的水平了,实验比较充足,中规中矩吧,也不算有特别突出的地方,但也没有明显的短板。

文章来源:https://blog.csdn.net/qq_38929105/article/details/133843010
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。