Abstract
之前的Visual grounding任务方法主要是通过生成一些候选框或者anchors来进行的,基于这些候选框或锚点提取图像的视觉特征,最后将这些视觉特征与文本描述的嵌入向量(text embeddings)进行融合,以找到文本描述对应的图像区域。但是缺点就是在生成候选框的时候没有充分结合文本上下文信息。
本文通过建立文本条件判别特征,进行多阶段跨模态推理基于Transformer上的框架,具体来说,(1)开发了一个视觉语言验证模块,将视觉特征集中在与文本描述相关的区域,同时抑制不相关的区域。
(2)设计了语言引导特征编码器,对目标对象的视觉上下文进行聚合,提高目标对象的识别度。
(3)多级跨模态解码器,从编码的视觉特征中检索目标,迭代推测图像和文本之间的相关性,准确定位目标。
Introduction
two-stage:生成候选框,然后再结合文本信息与候选框进行匹配
one-stage:在早期将视觉特征和文本信息进行结合,结合语言查询,生成密集检测,选择置信度高的检测。
缺点:但是这些方法都是基于通用检测器,会受到预测的框的质量的影响
本论文的三个创新点:
(1)visual-linguistic verification module:将编码特征集中在与语言表达相关的区域上
(2)language-guided context encoder:聚合重要的视觉上下文以更好地识别对象。
(3)multi-stage cross-modal decoder:迭代地查询和考虑视觉和语言信息,减少推理过程中地起义
Method
The Overall Network
Visual-Linguistic Verification Module
输入图像首先经过卷积网络,然后再经过transformer encoders进行编码,得到视觉特征硬上映射Fv,Fv中包括图像中对象实例地特征,但是没有先验的语言文本信息,没有任何先验条件的情况下检索被引用对象的表示可能会被其他对象或区域分散注意力,从而导致定位结果的准确性降低。针对这个问题,就提出了visual-linguistic verification module计算视觉和文本之间的细粒度相关性,并将特征集中在与文本描述相关的区域上。
这个模块也是基于多头注意的,让Fv作为查询q,Fl作为k和v,通过多头注意力,模型会从文本嵌入中为视觉特征图中的每个视觉特征向量收集相关的语义特征,获得Fs,它与Fv具有相同的维度。接下来,将 Fv和 Fs通过线性投影和L2归一化映射到相同的语义空间,得到 Fv′ 和 Fs′。然后计算每个空间位置(x,y)的视觉和文本的相关性。
接下来进行调制视觉特征:通过将验证分数S逐像素地调制到视觉特征 Fv上,得到调制后的视觉特征图 F^v,调制后的视觉特征会自然地抑制与文本不想相关的区域,在后续阶段会更容易地识别和定位相关object。
Language-guided Context Encoder
在文本描述的指导下收集上下文特征。
也是一个基于多头注意机制的计算,将Fv作为q,Fl作为k和v,从文本嵌入中收集线管的语义信息,生成特征映射Fc作为视觉特征的相应的语言表示,基于Fc,有采用另一个多头注意力模块对视觉特征进行语言引导的自注意计算,对所涉及的视觉上下文进行编码,用Fc和Fv的总和作为qkv,计算视觉和语言表征的相关性:
得到注意力值之后与Value进行加权求和就可以得到上下文特征表示Fvc,这些特征包含了基于文本描述的、对目标对象重要的上下文信息。
为了建立更具辨识性的特征表示,将上下文特征Fvc和视觉特征Fv以及视觉-语言验证分数 S进行融合。
在最后的多阶段decoder中利用产生的判别特征表示进行目标定位与识别。
Multi-stage Cross-modal Decoder
为了减少推理中的歧义,提出了这个多阶段跨膜太解码器,迭代地考虑视觉和语言信息以区分目标物体和其他部分,并检索相关特征进行物体定位。
这个decoder有N个阶段,每一个都有相同的架构,在第一阶段,我们采用一个目标查询作为目标对象的输出表示,被送到MH Attn.中基于语言表示做视觉特征提取,然后迭代地被更新为,作为下一个阶段的输入,然后再送入到第一个MH Attn.中基于语言表示做视觉特征提取,生成C*1。(作为Q)被送入到第二个MH Attn.中与之前建立的判别特征F^v(作为K)计算相关性,然后从视觉特征图Fv(作为V)中收集感兴趣的区域,最终获得C*1。这就用来更新,更新过程如下:
LN表示层归一化,FFN是一个由两个线性投影层和 ReLU 激活函数组成的前馈网络。
基于多阶段的结构,每个阶段的目标查询都可以关注到语言描述的不同部分,步收集到更完整、更准确的目标物体特征。随着阶段的推进,目标查询的表示逐渐精细化,最终能够得到更准确的目标物体定位。在每个阶段的输出中,都会将一个三层的 MLP(多层感知机)和ReLU激活函数附加到目标查询上,生成相关目标的bounding box。每个阶段的边框预测都会被共同监督,以便进行多阶段解码器的训练。
Training Loss
不需要像传统的方法那样,进行正负样本分配(就是生成候选框,正样本就是候选框与GT重合较高的,负样本就是候选框与FT重合度低的),直接进行回归生成box,
giou就是计算生成的box和GT的重合度,L1损失计算坐标的绝对误差。
Experiments
Datasets
RefCOCO/ RefCOCO+/ RefCOCOg.