**本文内容仅代表个人理解,如有错误,欢迎指正**???????
1. Problem
本篇论文主要解决的问题:将query编码成一个holistic sentence embedding,忽略了每个词对于Visual grounding框选的重要性,从而降低了模型的performance。
之前的方法(一阶段或两阶段)大多都将Language query编码成一个holistic sentence embedding,这种情况下,所生成的embedding可能会对query中的word没有那么敏感/没有强调每个词的重要性。(而且,之前的一些pre-trained language model在训练时,如果是生成sentence-level的embedding,更多的会去关注名词、动词等的语义特征,冠词、介词等的语义特征可能会被忽略,而在Visual grounding task中,冠词、介词等也有可能是决定框选目标的critical word.) 如图一(a),在将句子"Cat sitting under the chair"中的"under"替换成"on"时,对embedding的影响并不是太大,所以在利用这个embedding进行框选时,可能会产生偏差。
图一
2. Points
1. 提取query中每个word的embedding而非将query编码成一个holistic sentence?embedding。
2. 构建word to pixel attention,不断调整word与pixel之间的关系,使得每一个词都可以对模型框选产生影响。
3. Main Components
*本文的主要工作可以分为三个部分 1) Visual Encoding Branch 2) Word to Pixel Attention Branch 3) Targets Prediction
图二
1) Visual Encoding Branch
Visual encoding主要由两部分组成,
1) CNN backbone: 主要用来提取visual feature
2) A stack of transformer encoder layers: 对提取出来的visual feature进行编码
- 可以从图二中看到,给定一张图片,首先使用CNN backbone提取Visual features,然后在spatial方向上进行flatten,形成一系列的vector,作为Transformer encoder的输入。因为transformer中的self-attention是忽略了input sequence的顺序的,所以添加了Spatial positional encoding用来得到sequence之间的空间位置关系。然后输入到a stack of?transformer?encoder进行编码,得到visual representation,记作F_{v}。(具体的Transformer中Multi-head attention的操作,可以去看原论文)
2) Word to Pixel Attention Branch
1. 给定一个句子,通过Pre-trained BERT得到每个词的word embedding,再加上Positional encoding作为Transformer decoder的sequential输入,记作F_{l}。上述这种处理方式,一是可以保证每个词的重要性,即都可以对后续grounding产生影响;二是通过添加positional encoding可以保证词与词之间的序列关系。
2. 对F_{l}进行self-attention操作,得到具有上下文感知(context-aware)的特征,记作F‘_{l}。
3. 对F‘_{l}与F_{v}进行cross-attention操作,得到输出结果F^{M}_{l}[CLS]作为后续Prediction的输入。
3) Targets Prediction?
- 这个模型不仅做了bbox regression,还对referent object的类别(80个类)和属性(50个属性)进行了预测。但其实,我不是非常理解为什么要对类别和属性进行预测,一方面文中也提到“The ground truth attribute labels is very sparse where the value of most labels is zero for one object, thus the attribute loss is dominated by negative samples. We implement a mean averaged attribute loss to balance the positive and negative labels” 另一方面,从图三的消融实验可以看出,类别loss和属性loss没有让模型有太大的提升。
?图三
从loss来看,Total loss一共有四个部分。依次分别对应预测类别、属性、bbox regression、gIoU。
?4. Experimental Results
- 本文Word2Pix属于一阶段的visual grounding模型,相较于之前的一阶段模型有一定的提升,但本文所提出的模型使用的Backbone是ResNet-101,其网络深度更深(相较于之前一阶段模型所采用的Darknet-53),个人感觉这样比较不是非常公平。相比于两阶段中同采用ResNet-101的模型,更能体现出本文的创新点Word to Pixel的有效性。
?图四
- 图五的对比实验,还蛮有意思的,主要是证明word-embedding更适合Visual grounding task。
其中,Word embedding(Learnt)是指在训练时从数据集的字典里学来的embedding,这当然比不过Pre-trained BERT在大量文本上预训练习得的word embedding,所以第二行相比于第三行会有所降低,合理。
第一行,同样是在pre-trained BERT上得到的sentence-level的embedding,效果比同样在pre-trained BERT上得到的word-level的embedding差,可以理解,文章开头就说了word-level的embedding比sentence-level的embedding更适合visual grounding task,也合理,并且感觉这样对比就足够说明问题了。
但第一行,同样是在pre-trained BERT上得到的sentence-level的embedding,效果居然比Word embedding(Learnt)还要差,就感觉单纯是来拉仇恨的,疯狂鞭尸。
?图五
- 图六的对比实验主要体现了一阶段的模型,相比于两阶段的模型,更适合Visual grounding task。文中有提到,"the visual?feature extractor or detector cannot be fine-tuned with visual grounding supervision signals. Instead, their weights are fixed during the training of grounding networks. However, visual features suitable for object classification and detection task may need to be refined for language guided visual grounding task." (大概意思就是说,两阶段的模型里的视觉特征提取器或检测器都不能(为啥不能?)visual grounding训练的时候微调,都fixed住了,然而适合于目标检测或分类的视觉特征如果要用于visual grounding task的话是需要被refined的。)
?图六
- 从图七中可以看出,Word2Pix相比于FAOA和ReSC而言,更能捕捉到query中细小word的变化,并且正确框选出目标。其实,这三个模型在对query的处理上,有递进的意味。在FAOA中,编码为一个holistic sentence embedding;在ReSC中,不断生成Sub-query;在Word2Pix中,直接利用word embedding。
?图七
- 图八是一个Cross-Attention的可视化图,可以看到注意力部分是随着层数的增加更加精准的。
图八
- 图九就正常的实验结果图,下面的图片注释太欢乐了,有点绕,自己看看吧。
图九
?
?
|